@font-face{font-family:Leaf Sans;src:url('/fonts/leaf-ui.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--paper:#f6f5f0;--surface:#fff;--surface-soft:#f0f3e9;--surface-warm:#f4ece3;--ink:#293a32;--muted:#68746c;--line:#d9ddd2;--line-strong:#c5ccbf;--green:#315744;--green-hover:#264a39;--on-green:#fff;--danger:#994b40;--warning:#8b672d;--success:#3c7456;--shadow-menu:0 18px 48px rgba(39,58,49,.14);--radius:16px;color-scheme:light}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'Leaf Sans','Noto Sans TC','Microsoft JhengHei',sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}p,td{overflow-wrap:anywhere;text-wrap:pretty}h1{font-size:clamp(30px,4vw,42px);line-height:1.24;letter-spacing:-1.2px;font-weight:750}h2{font-size:20px;line-height:1.45;font-weight:700}h3{font-size:15px}a{color:inherit}
button,input,select,textarea{font:inherit}button,a,input,textarea,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(49,87,68,.28);outline-offset:3px}
button{border:1px solid transparent;border-radius:10px;padding:10px 17px;min-height:44px;cursor:pointer;background:var(--green);color:var(--on-green);font-weight:650;transition:background .16s ease,border-color .16s ease,transform .16s ease}
button:hover:not(:disabled){background:var(--green-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.secondary:hover:not(:disabled){background:var(--surface-soft);border-color:var(--line-strong)}.quiet,.text-button{background:transparent;color:var(--muted);font-weight:600}.quiet:hover:not(:disabled),.text-button:hover:not(:disabled){background:var(--surface-soft);color:var(--ink)}.danger{color:var(--danger)!important}.full{width:100%}
.brand{font-size:34px;line-height:1;font-weight:650;letter-spacing:-2px;text-decoration:none;display:flex;align-items:center;gap:14px;white-space:nowrap}.brand span{font-size:11px;line-height:1.2;font-weight:600;letter-spacing:1.6px;color:var(--muted)}
.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:750;color:var(--muted);margin-bottom:10px}.muted,.caption{color:var(--muted)}.caption{font-size:12px;line-height:1.75;margin-top:11px}.intro{font-size:17px;line-height:1.9;color:var(--muted);margin-top:22px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.skip{position:fixed;top:-60px;left:12px;z-index:100;background:var(--surface);padding:10px}.skip:focus{top:12px}
label{display:block;font-size:13px;font-weight:650;margin-bottom:20px;color:var(--ink)}input,select,textarea{display:block;width:100%;min-height:46px;padding:11px 13px;margin-top:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink);font-weight:400}textarea{resize:vertical}input[type=checkbox]{display:inline;width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--green)}.check{display:flex;gap:10px;align-items:flex-start;margin:20px 0;font-weight:400}.check input{margin-top:4px;flex-shrink:0}

/* Login and account entry */
.auth-view{min-height:100vh;display:flex;flex-direction:column}.auth-header,.auth-footer{width:min(1180px,100%);margin:auto;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.auth-kicker{font-size:12px;font-weight:700;letter-spacing:1.2px;color:var(--muted)}.auth-layout{width:100%;max-width:1080px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:76px;align-items:center;padding:44px 32px 72px}.auth-story h1{font-size:clamp(36px,4.2vw,56px);line-height:1.42;letter-spacing:-1px}.plan-preview{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);padding-top:28px;margin-top:40px}.plan-preview strong{font-size:15px}.plan-preview p{font-size:13px;color:var(--muted);margin:9px 0 0 18px}.dot{display:inline-block;width:8px;height:8px;background:var(--green);border-radius:50%;margin-right:10px}.dot.oat{background:#ae9266}.auth-card{background:var(--surface);border:1px solid var(--line);padding:38px;border-radius:20px}.auth-card h2{font-size:28px;margin-bottom:8px}.auth-card form{margin-top:28px}.auth-note{font-size:12px;color:var(--muted);text-align:center;border-top:1px solid var(--line);padding-top:22px;margin-top:12px}.auth-footer,.app-footer{font-size:11px;color:var(--muted)}

/* Global navigation */
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,245,240,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-main{width:min(1200px,100%);min-height:74px;margin:auto;padding:13px 28px;display:flex;align-items:center;gap:24px}.menu-toggle{display:none;margin-left:auto;padding:8px 12px}.menu-toggle>span:first-child{position:relative;width:19px;height:2px;background:currentColor;display:inline-block;margin-right:8px;vertical-align:middle}.menu-toggle>span:first-child::before,.menu-toggle>span:first-child::after{content:"";position:absolute;left:0;width:19px;height:2px;background:currentColor}.menu-toggle>span:first-child::before{top:-6px}.menu-toggle>span:first-child::after{top:6px}.account-wrap{position:relative;margin-left:auto}.account-button{background:var(--surface);color:var(--ink);border-color:var(--line);min-width:220px;padding:8px 10px;display:flex;align-items:center;gap:10px;text-align:left}.account-button:hover:not(:disabled){background:var(--surface-soft);border-color:var(--line-strong)}.account-copy{display:grid;min-width:0;line-height:1.3;flex:1}.account-copy strong{font-size:12px}.account-copy>span{max-width:150px;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:var(--muted)}.account-chevron{font-size:16px;color:var(--muted);transform:translateY(-2px)}.avatar{width:34px;height:34px;background:var(--surface-warm);border-radius:50%;display:grid;place-items:center;font-weight:750;flex:0 0 auto}.account-menu{position:absolute;right:0;top:calc(100% + 9px);width:260px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-menu)}.account-menu button{width:100%;justify-content:flex-start;text-align:left;background:transparent;color:var(--ink);border:0}.account-menu button:hover{background:var(--surface-soft)}.account-menu .menu-divider{height:1px;background:var(--line);margin:6px 4px}
#navigation{width:min(1200px,100%);margin:auto;padding:0 28px 12px;display:flex;align-items:center;gap:5px}#navigation>button,#navigation summary{min-height:40px;padding:8px 13px;border-radius:9px;border:0;background:transparent;color:var(--muted);font-weight:650;font-size:13px;white-space:nowrap;list-style:none;cursor:pointer}#navigation summary::-webkit-details-marker{display:none}#navigation>button:hover,#navigation summary:hover{background:var(--surface);color:var(--ink)}#navigation button[aria-current=page],#navigation details.current>summary{background:var(--surface-soft);color:var(--green)}.nav-group{position:relative}.nav-group summary::after{content:'\2304';font-size:12px;margin-left:7px}.nav-popover{position:absolute;top:calc(100% + 7px);left:0;z-index:60;min-width:210px;padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-menu)}.nav-popover button{width:100%;text-align:left;background:transparent;color:var(--ink);border:0;font-size:13px}.nav-popover button:hover{background:var(--surface-soft)}.nav-scrim{display:none}

/* Page structure */
.workspace{min-height:calc(100vh - 127px);display:flex;flex-direction:column}.content{width:min(1200px,100%);margin:0 auto;padding:34px 28px 58px;flex:1}.context-row{display:flex;justify-content:space-between;gap:16px;margin-bottom:24px;font-size:11px;font-weight:700;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.context-date{text-transform:none;letter-spacing:0}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.page-heading .muted{margin-top:8px;font-size:14px;max-width:680px}.refresh-button{flex:0 0 auto}.app-footer{width:min(1200px,100%);margin:auto;padding:22px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}
.panel{border:1px solid var(--line);background:var(--surface);padding:26px;border-radius:var(--radius);margin-bottom:22px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.panel>.muted+.actions,.panel>.caption+button{margin-top:18px}
.iap-provider{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.iap-provider>.panel-head{flex-wrap:wrap;gap:10px}.iap-provider>.panel-head>.badge{white-space:normal}.iap-settings{margin-bottom:22px}.iap-settings fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}.iap-settings legend{font-size:13px;font-weight:650}.iap-settings .check{margin:13px 0}.iap-settings .split{gap:16px}.iap-pricing-note{margin:18px 0 0}.iap-pricing-note p{margin-top:8px}
.payment-reliability-detail{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;min-width:0}.payment-reliability-detail>summary{cursor:pointer;font-weight:650;min-height:44px;padding:8px 0}.payment-reliability-detail>.caption{margin:0 0 12px}

/* Overview dashboards */
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:20px;min-height:150px;display:flex;flex-direction:column}.metric-card.primary{background:var(--surface-soft);border-color:transparent}.metric-card.warm{background:var(--surface-warm);border-color:transparent}.metric-label{font-size:12px;font-weight:700;color:var(--muted)}.metric-value{margin-top:auto;font-size:clamp(25px,3vw,34px);line-height:1.2;font-weight:760;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.metric-note{font-size:11px;color:var(--muted);margin-top:8px}.overview-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:22px}.overview-stack{display:grid;gap:22px}.overview-stack>.panel{margin:0}.balance-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}.balance-hero strong{font-size:clamp(34px,5vw,50px);line-height:1;font-weight:760;font-variant-numeric:tabular-nums}.balance-hero small{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);margin:22px 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.fact{background:var(--surface);padding:16px}.fact small,.fact strong{display:block}.fact small{font-size:11px;color:var(--muted);margin-bottom:6px}.fact strong{font-size:14px;font-variant-numeric:tabular-nums}.insight-list{display:grid}.insight-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:15px 0;border-bottom:1px solid var(--line)}.insight-row:last-child{border-bottom:0}.insight-row strong{display:block;font-size:14px}.insight-row small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.status-dot{width:9px;height:9px;margin-top:7px;border-radius:50%;background:var(--success)}.status-dot.warn{background:var(--warning)}.status-dot.danger{background:var(--danger)}.insight-value{font-size:12px;font-weight:700;text-align:right}.section-link{display:inline-flex;margin-top:16px;font-size:12px;font-weight:700;color:var(--green);background:transparent;padding:0;min-height:32px}.section-link:hover:not(:disabled){background:transparent;color:var(--green-hover)}.data-list{display:grid}.data-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}.data-row:last-child{border-bottom:0}.data-row strong{display:block;font-size:13px}.data-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.data-value{text-align:right;font-size:12px;font-weight:700}.meter{height:7px;border-radius:99px;background:#e2e6df;overflow:hidden;margin-top:13px}.meter>span{display:block;height:100%;background:var(--green);border-radius:inherit}.settings-grid{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:22px}.identity-card{background:var(--surface-soft)}.identity-card .avatar{width:52px;height:52px;font-size:19px;margin-bottom:24px}.identity-card h2{font-size:24px}.identity-card .account-email{margin-top:5px;color:var(--muted);word-break:break-word}.security-note{padding:14px 16px;border-radius:12px;background:var(--surface-soft);font-size:12px;color:var(--muted);margin-bottom:20px}

/* Existing detail pages */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat{padding:24px}.stat strong{display:block;font-size:30px;letter-spacing:-.8px;line-height:1.4;font-weight:750;font-variant-numeric:tabular-nums}.stat.tint{background:var(--surface-soft);border-color:transparent}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.plan-card{padding:30px}.plan-card.pro{background:var(--surface-soft)}.plan-card h2{font-size:27px}.price{font-size:38px;font-weight:700;letter-spacing:-1px;margin:20px 0}.price span{font-size:13px;letter-spacing:0;font-weight:400;color:var(--muted)}.feature-list{padding:0;list-style:none;margin:24px 0}.feature-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.badge{display:inline-block;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:650;background:var(--surface-soft);color:var(--green);white-space:nowrap}.badge.neutral{background:var(--surface-warm);color:var(--ink)}.inline-form,.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline-form label,.filters label{flex:1;min-width:140px;margin:0}.filters{margin-bottom:24px}.filters label{font-size:12px}.tableWrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}th{background:#f7f7f3;color:var(--muted);font-weight:650;font-size:11px;white-space:nowrap;text-align:left}td,th{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}td{min-width:95px}td small{display:block;color:var(--muted);font-size:10px;margin-top:4px}td button{font-size:11px;padding:6px 10px;min-height:36px}td input,td select{min-width:90px;font-size:12px;margin:0}td input[type=checkbox]{min-width:18px}tr:hover td{background:#fafaf7}.mono{font-family:ui-monospace,Consolas,monospace;font-size:10px;overflow-wrap:anywhere;max-width:230px}.negative{color:var(--danger)}.positive{color:var(--success)}.pager{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:20px;font-size:12px;color:var(--muted)}.pager button{min-height:36px;font-size:12px}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:15px;font-weight:650;margin-bottom:8px}.model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.model-card{margin:0}.model-card h2{font-size:18px;margin:12px 0}.model-prices{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:13px}.model-prices small{display:block;color:var(--muted)}.ticket-card{display:flex;width:100%;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:18px 0;text-align:left;gap:12px;justify-content:space-between;font-weight:400}.ticket-card:hover:not(:disabled){background:#fafaf7}.ticket-card small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.row strong{font-variant-numeric:tabular-nums}.message{padding:16px;margin-bottom:14px;background:var(--paper);border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.message.support{background:var(--surface-soft)}.message small{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.messages{max-height:330px;overflow:auto;margin:20px 0}.announcement-item{padding:20px 0;border-bottom:1px solid var(--line)}.announcement-item:first-child{padding-top:0}.announcement-item .message{max-height:300px;overflow:auto;margin-bottom:8px}.announcement-item .actions{margin-top:14px}
dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:32px;width:min(600px,calc(100vw - 32px));max-height:88vh;box-shadow:var(--shadow-menu)}dialog::backdrop{background:rgba(28,43,35,.34)}dialog h2{margin-bottom:24px}.close{position:absolute;top:12px;right:12px;background:none;color:var(--muted);font-size:24px;padding:4px 12px}.loading{padding:60px;text-align:center;color:var(--muted)}.session-loading{min-height:70vh;display:grid;place-items:center;color:var(--muted);font-size:14px}#notice{position:fixed;z-index:100;bottom:24px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);background:var(--ink);color:var(--surface);padding:14px 22px;border-radius:12px;box-shadow:var(--shadow-menu);font-size:13px;white-space:pre-wrap}#pageContent{animation:page-in .18s ease-out}@keyframes page-in{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:980px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.header-main{padding-inline:22px}#navigation{padding-inline:22px}.content{padding-inline:22px}.app-footer{padding-inline:22px}.account-button{min-width:190px}.account-copy>span{max-width:120px}}
@media(max-width:760px){.auth-header,.auth-footer{padding:23px 22px}.auth-layout{display:flex;flex-direction:column;gap:32px;padding:20px 22px 48px;align-items:stretch;max-width:520px}.auth-story h1{font-size:36px}.auth-story .intro{font-size:14px;margin-top:12px}.plan-preview{margin-top:24px;padding-top:20px;gap:16px}.auth-story .eyebrow{display:none}.auth-card{padding:28px 24px}.auth-footer span{display:none}.header-main{min-height:70px;padding:12px 18px;gap:10px}.brand{font-size:31px}.brand span{display:none}.menu-toggle{display:block}.menu-label{font-size:12px}.account-wrap{margin-left:0}.account-button{min-width:0;width:46px;height:46px;padding:5px;border-radius:50%}.account-copy,.account-chevron{display:none}.account-menu{position:fixed;right:16px;top:65px;width:min(280px,calc(100vw - 32px))}#navigation{display:none;position:fixed;z-index:55;inset:70px auto 0 0;width:min(350px,88vw);margin:0;padding:18px;background:var(--surface);border-right:1px solid var(--line);box-shadow:var(--shadow-menu);overflow:auto;align-items:stretch;flex-direction:column}.nav-open #navigation{display:flex}.nav-open .nav-scrim{display:block;position:fixed;z-index:52;inset:70px 0 0;background:rgba(28,43,35,.28)}#navigation>button,#navigation summary{width:100%;text-align:left;min-height:46px;padding:11px 13px;color:var(--ink)}.nav-group{width:100%}.nav-popover{position:static;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;margin:3px 0 7px 12px;padding:2px 0 2px 8px}.nav-popover button{min-height:42px}.workspace{min-height:calc(100vh - 70px)}.content{padding:23px 18px 42px}.context-row{margin-bottom:18px}.context-date{display:none}.page-heading{align-items:flex-start;margin-bottom:25px}.page-heading h1{font-size:30px}.page-heading .muted{font-size:12px}.refresh-button{font-size:0;width:44px;padding:0}.refresh-button::before{content:'\21bb';font-size:21px}.summary-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{min-height:132px;padding:17px}.metric-value{font-size:25px}.overview-grid{gap:16px}.quick-facts{grid-template-columns:1fr}.balance-hero{display:block}.balance-hero .actions{margin-top:18px}.panel{padding:21px 18px}.split,.stats{grid-template-columns:1fr;gap:0}.app-footer{padding:20px 18px;flex-wrap:wrap}.filters label{min-width:120px}.inline-form>button{width:100%}.filters>button{flex:1}.panel-head{gap:8px}.panel-head h2{font-size:18px}.panel-head button{font-size:11px;padding:8px}.price{font-size:32px}dialog{padding:28px 22px}}
@media(max-width:430px){.summary-grid{grid-template-columns:1fr}.metric-card{min-height:118px}.metric-value{margin-top:24px}.plan-preview{grid-template-columns:1fr}.auth-story h1{font-size:32px}.quick-facts{margin-top:18px}.data-row{grid-template-columns:1fr}.data-value{text-align:left}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.member-meter{display:block;width:100%;height:7px;margin-top:14px;border:0;border-radius:99px;background:#e2e6df;overflow:hidden}.member-meter::-webkit-meter-bar{background:#e2e6df;border:0;border-radius:99px}.member-meter::-webkit-meter-optimum-value{background:var(--green);border-radius:99px}.member-meter::-moz-meter-bar{background:var(--green);border-radius:99px}.identity-facts{margin-top:24px}.spaced-actions{margin-top:16px}
@media(max-width:760px){.site-header{backdrop-filter:none}.nav-open .nav-scrim{z-index:45}}
.queue-actions{flex-wrap:nowrap;gap:4px}.queue-actions button{min-height:30px;padding:5px 9px;font-size:12px;white-space:nowrap}
.fin-statement{margin:0 0 22px}.fin-statement h3{margin:0 0 12px}.fin-statement .data-list{margin-bottom:14px}.fin-total{border-top:2px solid var(--line-strong)}.fin-total .data-value{color:var(--green);font-weight:700}
.fin-chart{margin:0 0 16px}.fin-chart figcaption{font-size:14px;color:var(--muted);margin-bottom:8px}.fin-chart figcaption strong{color:var(--ink);margin-right:6px}
.fin-bars{display:block;width:100%;height:180px;border-bottom:1px solid var(--line)}
.fin-hit{fill:transparent}.fin-bars g:hover .fin-hit{fill:var(--surface-soft)}/* Product colours (validated categorical slots 1-3); a 1px surface stroke keeps stacked segments apart. */
.fin-seg{stroke:var(--surface);stroke-width:1;vector-effect:non-scaling-stroke}.fin-seg.classic{fill:#2a78d6}.fin-seg.plus{fill:#eb6834}.fin-seg.topup{fill:#1baf7a}.fin-below{opacity:.55}.fin-base{stroke:var(--line-strong);stroke-width:1;vector-effect:non-scaling-stroke}
.fin-axis{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:4px}
.fin-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fin-key{display:inline-block;width:12px;height:12px;border-radius:3px;margin-left:8px}.fin-key.classic{background:#2a78d6}.fin-key.plus{background:#eb6834}.fin-key.topup{background:#1baf7a}
.setup-steps{display:grid;gap:14px;margin-bottom:6px}.setup-step{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--surface)}.setup-step.done{background:var(--surface-soft)}
.setup-step-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.setup-step-head h3{margin:0;flex:1 1 auto;font-size:16px}
.setup-num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-warm);color:var(--ink);font-weight:700;flex:none}.setup-step.done .setup-num{background:var(--green);color:var(--on-green)}
.setup-guide{padding-left:1.4em;display:grid;gap:8px;line-height:1.7}.setup-step details{margin:10px 0}.setup-step summary{cursor:pointer;color:var(--green);font-weight:600}
.copy-field{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0;padding:10px 12px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--paper)}.copy-field .mono{flex:1 1 220px;overflow-wrap:anywhere}
input[type=radio]{display:inline;width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--green)}
fieldset.choice-group{display:block;border:0;padding:0;margin:8px 0 14px;grid-template-columns:none}.choice-group legend{font-weight:600;margin-bottom:2px;padding:0}.choice-group .check{margin:10px 0}
button.secondary[aria-pressed="true"]{background:var(--green);color:var(--on-green);border-color:var(--green)}
/* App-link sessions: who is signed in, always, with a sign-out (no inline styles: CSP style-src 'self'). */
.handoff-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 8px;padding:6px 16px;background:var(--surface-warm);border-bottom:1px solid var(--line);color:var(--ink);font-size:13px;line-height:1.4;text-align:center}.handoff-banner[hidden]{display:none}.handoff-banner .handoff-logout{min-height:32px;padding:4px 8px;background:transparent;color:var(--danger);border:0;font-weight:700;text-decoration:underline;text-underline-offset:3px}.handoff-banner .handoff-logout:hover:not(:disabled){background:var(--surface-soft)}
.handoff-error{min-height:80vh;display:grid;place-items:center;padding:24px 16px}.handoff-error[hidden]{display:none}.handoff-error .panel{max-width:520px;width:100%}.handoff-error h2{font-size:24px;margin:8px 0 12px}.handoff-error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px}.handoff-home{color:var(--green);font-weight:650}
/* Negative AI wallet (usage above the reservation): owed until the next top-up. */
.metric-card.debt .metric-value,.balance-hero strong.negative,.stat strong.negative{color:var(--danger)}.badge.debt{background:var(--surface-warm);color:var(--danger)}.security-note.wallet-debt{color:var(--danger);border:1px solid currentColor}
body.billing-page main.panel{max-width:960px;margin:24px auto}
/* Phones: each table row becomes a card, every value under its column name
   (data-label, from table() and billing.js); no sideways scrolling. The
   member directory has its own card layout (experience.css). */
@media(max-width:640px){:not(.member-directory)>.tableWrap{overflow:visible}:not(.member-directory)>.tableWrap :is(table,tbody,tr,td){display:block;width:100%}:not(.member-directory)>.tableWrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:not(.member-directory)>.tableWrap tr{padding:14px 16px;border-bottom:1px solid var(--line)}:not(.member-directory)>.tableWrap tr:last-child{border-bottom:0}:not(.member-directory)>.tableWrap td{border:0;padding:3px 0;min-width:0;max-width:none;white-space:normal;overflow-wrap:anywhere}:not(.member-directory)>.tableWrap td[data-label]:not([data-label=""])::before{content:attr(data-label);display:block;font-size:11px;line-height:1.5;color:var(--muted)}:not(.member-directory)>.tableWrap td :is(input,select,textarea){min-width:0;max-width:100%}.tableWrap .mono{max-width:none}.queue-actions{flex-wrap:wrap}body.billing-page main.panel{margin:16px}}
/* Plans page: Free, Classic and Plus side by side; one column on narrow screens. */
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch;margin-bottom:16px}.plan-grid .plan-card{display:flex;flex-direction:column}.plan-grid .plan-card>button{margin-top:auto}
@media(max-width:980px){.plan-grid{grid-template-columns:1fr}}
