/* Mobile billing records and points ledger; shared theme tokens keep dark mode in sync. */
.phone .finance-records-page{padding:20px 20px 30px;min-width:0;color:var(--color-text-primary)}
.phone .finance-records-page .fn-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;min-width:0}
.phone .finance-records-page .fn-search{display:flex;align-items:center;flex:1;gap:8px;min-width:0;min-height:44px;padding:0 0 0 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.phone .finance-records-page .fn-search>.ico{flex:0 0 17px;width:17px;height:17px;color:var(--color-text-tertiary)}
.phone .finance-records-page .fn-search input{flex:1;min-width:0;width:100%;height:44px;padding:0;border:0;outline:0;background:transparent;color:var(--color-text-primary);font-size:var(--font-size-caption)}
.phone .finance-records-page .fn-search input::placeholder{color:var(--color-text-tertiary)}
.phone .finance-records-page .fn-search button{display:grid;place-items:center;flex:0 0 44px;width:44px;min-height:44px;padding:0;border-radius:var(--radius-sm);color:var(--color-link)}
.phone .finance-records-page .fn-search button>.ico{width:18px;height:18px}
.phone .finance-records-page .fn-search:focus-within{border-color:var(--color-link);box-shadow:var(--shadow-focus)}
.phone .finance-records-page .fn-search>.search{display:flex;align-items:center;flex:1;min-width:0;gap:8px;height:44px;padding:0;margin:0;border:0;border-radius:0;background:transparent}
.phone .finance-records-page .fn-search>.search>.ico{width:17px;height:17px;flex:0 0 17px;color:var(--color-text-tertiary)}
.phone .finance-records-page .fn-search>.fn-filter-btn{border:0;background:transparent}
.phone .finance-records-page .fn-filter-btn{display:grid;place-items:center;position:relative;flex:0 0 44px;width:44px;min-height:44px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary)}
.phone .finance-records-page .fn-filter-btn>.ico{width:19px;height:19px}
.phone .finance-records-page .fn-filter-btn.active,.phone .finance-records-page .fn-filter-btn[aria-pressed="true"]{background:var(--color-primary-soft);border-color:var(--color-link);color:var(--color-link)}
.phone .finance-records-page .fn-count{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 12px;color:var(--color-text-tertiary);font-size:var(--font-size-caption)}
.phone .finance-records-page .fn-count b{color:var(--color-link);font-weight:var(--font-weight-semibold)}
.phone .finance-records-page .fn-list{display:grid;gap:12px;min-width:0}
.phone .finance-records-page article.fn-card{margin:0;padding:16px;min-width:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.phone .finance-records-page .fn-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.phone .finance-records-page .fn-card-head>div{min-width:0;flex:1}
.phone .finance-records-page .fn-card-head h3{margin:0;color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:1.55;overflow-wrap:anywhere}
.phone .finance-records-page .fn-card-head>.pill{flex-shrink:0;max-width:45%;white-space:normal;text-align:center;overflow-wrap:anywhere}
.phone .finance-records-page .fn-meta{display:block;margin-top:5px;color:var(--color-text-tertiary);font-size:var(--font-size-caption);line-height:1.6;overflow-wrap:anywhere}
.phone .finance-records-page .fn-type{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:1.6;overflow-wrap:anywhere}
.phone .finance-records-page .fn-amount{display:block;margin:14px 0 3px;color:var(--color-text-primary);font-size:18px;font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;line-height:1.5;overflow-wrap:anywhere}
.phone .finance-records-page .fn-amount.positive{color:var(--color-success-text)}
.phone .finance-records-page .fn-amount.negative{color:var(--color-text-primary)}
.phone .finance-records-page .fn-amount small{font-size:var(--font-size-caption);font-weight:var(--font-weight-regular)}
.phone .finance-records-page .fn-amount{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.phone .finance-records-page .fn-amount>small{display:block;color:var(--color-text-tertiary);font-size:11px}
.phone .points-ledger-page .fn-card-head>.fn-amount{flex:0 1 auto;align-items:flex-end;margin:0;text-align:right}
.phone .points-ledger-page .fn-card-head>.fn-type{flex:1}
.phone .finance-records-page .fn-balance{display:block;color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:1.6;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.phone .finance-records-page .fn-balance{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}
.phone .finance-records-page .fn-balance>span{color:var(--color-text-tertiary)}
.phone .finance-records-page .fn-balance>strong{min-width:0;text-align:right;font-weight:600}
.phone .finance-records-page .fn-kv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);align-items:start;gap:8px 14px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--color-border);font-size:var(--font-size-caption);line-height:1.7}
.phone .finance-records-page .fn-kv>:is(dt,label,span:first-child){min-width:0;margin:0;color:var(--color-text-tertiary);overflow-wrap:anywhere}
.phone .finance-records-page .fn-kv>:is(dd,b,span:last-child){min-width:0;margin:0;color:var(--color-text-secondary);text-align:right;font-weight:var(--font-weight-regular);overflow-wrap:anywhere}
.phone .finance-records-page .bill-item-name{min-width:0;color:var(--color-text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}
.phone .finance-records-page .bill-order-no{display:block;min-width:0;margin-top:6px;color:var(--color-text-tertiary);font-size:var(--font-size-caption);line-height:1.6;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.phone .finance-records-page .bill-card-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--color-border)}
.phone .finance-records-page .bill-card-foot button{display:inline-flex;justify-content:center;align-items:center;min-width:72px;min-height:44px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-link);font-size:var(--font-size-caption);overflow-wrap:anywhere}
.phone .finance-records-page .fn-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:16px 0 0;color:var(--color-text-tertiary);font-size:var(--font-size-caption)}
.phone .finance-records-page .fn-pager button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-link);font-size:var(--font-size-caption);overflow-wrap:anywhere}
.phone .finance-records-page .fn-pager button>.ico{width:15px;height:15px;flex-shrink:0}
.phone .finance-records-page .fn-pager button:disabled{color:var(--color-text-disabled);background:var(--color-surface-subtle);cursor:default}
.phone .finance-records-page .fn-pager>span{text-align:center;min-width:0;overflow-wrap:anywhere}
.phone .finance-records-page .fn-active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;min-width:0}
.phone .finance-records-page .fn-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:44px;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-link);font-size:var(--font-size-caption);line-height:1.5;overflow-wrap:anywhere}
.phone .finance-records-page .fn-chip>.ico{flex:0 0 14px;width:14px;height:14px}
.phone .finance-records-page .empty{padding:48px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.phone .finance-records-page button:focus-visible,.phone .sheet:has(.fn-filter-form) button:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}
.phone .finance-records-page [hidden]{display:none!important}
.phone .sheet:has(.fn-filter-form){background:var(--color-surface);color:var(--color-text-primary)}
.phone .sheet:has(.fn-filter-form) .sheet-header>button{min-width:44px;min-height:44px}
.phone .fn-filter-form{min-width:0}
.phone .fn-filter-form .fn-filter-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0 12px;min-width:0}
.phone .fn-filter-form .field{min-width:0;margin-bottom:16px}
.phone .fn-filter-form .field>:is(input,select){width:100%;max-width:100%;min-width:0;min-height:44px;color:var(--color-text-primary);background:var(--color-surface-subtle);border-color:var(--color-border)}
.phone .sheet:has(.fn-filter-form) :is(.sheet-footer,.form-actions){display:flex;gap:10px}
.phone .sheet:has(.fn-filter-form) :is(.sheet-footer,.form-actions)>button{flex:1;min-width:0;min-height:44px;overflow-wrap:anywhere}
.phone .sheet:has(.fn-filter-form) .sheet-footer>.fn-filter-grid{display:flex;gap:10px;width:100%}
.phone .sheet:has(.fn-filter-form) .sheet-footer>.fn-filter-grid>button{flex:1;min-width:0}
.phone .fn-filter-form>.button-row{position:sticky;bottom:-1px;z-index:2;padding:12px 0 0;background:var(--color-surface)}
@media(max-width:360px){
  .phone .finance-records-page{padding-left:16px;padding-right:16px}
  .phone .finance-records-page article.fn-card{padding:14px}
  .phone .finance-records-page .fn-card-head{gap:8px}
  .phone .finance-records-page .fn-kv{column-gap:10px}
}
