*{box-sizing:border-box}body{margin:0;background:#071927;color:#e8f6fb;font:15px/1.55 Inter,system-ui,Segoe UI,sans-serif}.shell{display:flex;min-height:100vh}.sidebar{width:270px;flex:none;background:#081522;border-right:1px solid #234456;padding:27px 18px;display:flex;flex-direction:column;gap:12px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:8px;color:white;text-decoration:none;font-weight:800;font-size:17px;line-height:1.15}.brand img{width:35px;height:35px;object-fit:contain}.brand em{color:#50d7e6;font-style:normal}.env{font-size:10px;letter-spacing:.12em;color:#7eb8c7;margin:18px 8px}.dot{color:#34e0a4}.navtitle{font-size:10px;letter-spacing:.15em;color:#648398;margin:20px 12px 4px}.side-nav{display:grid;gap:5px}.side-nav a{padding:12px 14px;text-decoration:none;color:#9cbdcd;border-radius:9px;display:flex;gap:12px;align-items:center}.side-nav a:hover,.side-nav a.active{background:#113b4b;color:#8df6ff}.aside-note{margin-top:auto;border-top:1px solid #234456;padding-top:18px;font-size:11px;color:#7b9aad}.main{width:100%;max-width:1500px;margin:auto;padding:36px clamp(18px,4vw,65px)}.topbar,.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.topbar{margin-bottom:28px}.eyebrow{letter-spacing:.16em;color:#63cbd7;font-weight:700;font-size:10px;margin:0 0 7px}h1,h2,h3{margin:0 0 10px;color:#f4fbff}h1{font-size:clamp(26px,3vw,38px)}h1 span{color:#51d8e5}h2{font-size:23px}h3{font-size:17px}.sub,.muted{color:#94b3c5}.sub{margin:0}.pill{border:1px solid #297b7b;border-radius:28px;color:#66e7c5;padding:8px 12px;font-size:12px;white-space:nowrap}.connect,.card,.kpi{border:1px solid #244b60;border-radius:15px;background:#0d2738}.connect{padding:22px;margin-bottom:26px}.connect h2{font-size:17px}.connect-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.connect-controls input{flex:1;min-width:240px}input,select{background:#102f43;border:1px solid #345e73;border-radius:9px;color:white;font:inherit;padding:11px 12px;max-width:100%;width:100%}input:focus,select:focus{outline:2px solid #58c8d8}button,.buttonlink{background:#21a6b7;color:#002835;border:0;border-radius:9px;padding:11px 15px;font:inherit;font-weight:750;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.buttonlink:hover{filter:brightness(1.12)}button.ghost{background:#173e4e;color:#b7e2ed}#status{margin-top:12px;color:#84d9e9;font-size:13px;overflow-wrap:anywhere}.panel{display:grid;gap:20px}.panel[hidden]{display:none}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi{padding:20px}.kpi p{margin:0;color:#9bb8c7;font-size:13px}.kpi strong{font-size:clamp(23px,2.8vw,33px);font-weight:800;display:block;margin:8px 0 2px;overflow-wrap:anywhere}.kpi small{color:#83a6b7;font-size:11px}.duo{display:grid;grid-template-columns:1.15fr 1fr;gap:16px}.card{padding:22px;min-width:0}.metricrow{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #234456}.metricrow span{color:#9bb8c7}.metricrow b,.metricrow code{text-align:right;overflow-wrap:anywhere}.bars{margin-top:20px;display:grid;gap:14px}.barlabel{display:flex;justify-content:space-between;color:#b9dce8;font-size:13px}.track{height:9px;background:#193a4c;border-radius:99px;overflow:hidden}.fill{height:100%;background:linear-gradient(90deg,#228a9b,#5ee7db);border-radius:99px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px;min-width:630px}th,td{text-align:left;padding:13px 11px;border-bottom:1px solid #22485d}th{color:#83a9bb;font-size:11px;font-weight:700}td{color:#d7eef7}td a{color:#75deea}.status{display:inline-block;padding:3px 9px;background:#233e52;border-radius:99px;font-size:11px;color:#dbeef8}.status.paid,.status.confirmed{background:#164b42;color:#80ecd1}.status.pending,.status.awaiting_transfer{background:#51452b;color:#f6d482}.status.submitted{background:#21446c;color:#add7ff}.filters,.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.filters{align-items:end}.fields label,.filters label{display:block;font-size:12px;color:#a8c2ce;margin-bottom:5px}.feedback{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:15px;color:#a8e6ed;font-size:13px}.feedback:empty{display:none}footer{margin:35px 0 0;color:#6c92a4;font-size:11px}a{color:#6fdfef}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.duo{grid-template-columns:1fr}}@media(max-width:750px){.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:14px}.side-nav{display:flex;flex-wrap:wrap}.side-nav a{padding:8px}.navtitle,.aside-note{display:none}.main{padding:20px}.topbar{display:block}.pill{display:inline-block;margin-top:14px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.filters,.fields{grid-template-columns:1fr}.connect-controls{display:grid}.connect-controls input{min-width:0}}

/* v0.7.0: prevent section eyebrow labels and headings from overlapping card borders */
.panel{position:relative;min-width:0;padding-top:18px;overflow:visible}
.panel>.eyebrow,.panel>.section-head,.panel>h2{position:static;margin:0 0 14px;transform:none}
.section-head{position:relative;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:22px}
.section-head .eyebrow{position:static;margin:0 0 7px}
.section-head h2{margin:0;line-height:1.3}
.main>.panel{padding-top:24px}
@media(max-width:750px){.section-head{align-items:flex-start}.section-head .buttonlink{max-width:100%}}

.panel{padding:24px;}.panel .section-head{margin:0 0 18px}.panel .eyebrow{line-height:1.4;margin:0 0 8px}.panel .section-head h2{margin:0;line-height:1.3}.panel .card{width:100%}

.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px}.analytics-grid article{background:#092537;border:1px solid #28556e;border-radius:12px;padding:14px}.analytics-grid pre{white-space:pre-wrap;word-break:break-word;font-size:12px}
body:has(#recoverEmail){display:block!important}body:has(#recoverEmail) .auth{margin:5vh auto 12px}body:has(#recoverEmail)>section{margin:12px auto 5vh!important}

/* v0.10.0 */
.status.canceled,.status.expired{background:#3a2a33;color:#f0b8c4}
.status.active,.status.completed{background:#164b42;color:#80ecd1}.status.past_due,.status.incomplete{background:#51452b;color:#f6d482}.status.canceled,.status.expired{background:#4a2a36;color:#ffc4d2}

/* v0.19: users, merchants and Treasury live as panels of the one console */
.action-dialog{max-width:min(460px,calc(100vw - 32px));width:100%;padding:24px;border:1px solid #345e73;border-radius:16px;background:#0d2738;color:#e8f6fb;box-shadow:0 18px 80px #0008}.action-dialog::backdrop{background:#010e17ba;backdrop-filter:blur(3px)}.action-dialog label{display:block;margin:14px 0}.action-dialog label[hidden]{display:none}.action-dialog input{display:block;margin-top:7px}.action-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}.action-dialog #actionError{color:#ffb4ab}.action-dialog button{min-width:100px}
#panel-users .card+.card,#panel-merchants .card+.card{margin-top:20px}
#panel-merchants .checklist{list-style:none;padding:0;margin:8px 0}#panel-merchants .checklist li{margin:7px 0}
#panel-merchants .pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700}#panel-merchants .pill.ok{background:#164b42;color:#80ecd1}#panel-merchants .pill.warn{background:#51452b;color:#f6d482}#panel-merchants .pill.bad{background:#4a2630;color:#f6b4c0}#panel-merchants .pill.mute{background:#1d3a4c;color:#a9c7d8}
#panel-merchants .row-actions button{margin:2px 6px 2px 0;padding:6px 10px;font-size:13px}
.secret-box,#u-enrollment{width:100%;min-height:110px;background:#102f43;color:#fff;border:1px solid #345e73;padding:12px;font:13px ui-monospace,Consolas,monospace}
#panel-merchants pre.payload{white-space:pre-wrap;overflow-wrap:anywhere;background:#0b2232;border:1px solid #234456;border-radius:10px;padding:12px;max-height:360px;overflow:auto;font-size:12.5px}
#panel-merchants .filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}#panel-merchants .filters label{display:flex;flex-direction:column;gap:6px}
.treasury{max-width:1140px;margin:3rem auto;padding:0 20px;color:#ecf9ff;font:15px system-ui}.treasury header{display:flex;align-items:center;gap:20px;justify-content:space-between;flex-wrap:wrap}.treasury a{color:#62d8e0}.treasury h1{font-size:clamp(29px,4vw,46px)}.t-panel{background:#102b3c;border:1px solid #245367;border-radius:16px;padding:22px;margin:18px 0}.t-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.t-card{background:#091f2e;padding:18px;border-radius:12px}.t-card b{display:block;font-size:25px;color:#60d5dc;margin:8px 0;word-break:break-word}.t-card small{color:#aac6d1}.treasury input{background:#071b29;color:white;border:1px solid #336277;padding:12px;border-radius:9px;width:100%;box-sizing:border-box}.treasury button{background:#60d5dc;color:#002333;font-weight:700;border:0;border-radius:9px;padding:12px 20px;cursor:pointer}.treasury button:disabled{opacity:.4}.t-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.t-table{width:100%;border-collapse:collapse}.t-table td,.t-table th{padding:12px;border-bottom:1px solid #29485a;text-align:left}.t-scroll{overflow-x:auto}.t-muted{color:#a6c1ce}.t-warning{border-left:3px solid #d6a96d;padding-left:14px}.mono{font-family:ui-monospace,monospace;overflow-wrap:anywhere}.t-status{white-space:pre-wrap;color:#75e4d5}
.panel .treasury{max-width:none;margin:0;padding:0}
/* v0.19.1: the sidebar is pinned to the full window height and does not scroll with the page */
@media(min-width:751px){body .shell{max-width:none;margin:0;padding:0;display:block}.shell>.sidebar{position:fixed;top:0;left:0;bottom:0;height:100vh;overflow-y:auto;z-index:5}.shell>.main{margin:0 0 0 270px;width:auto;max-width:none}}
#panel-cabinet .checklist{list-style:none;padding:0;margin:8px 0}#panel-cabinet .checklist li{margin:7px 0;overflow-wrap:anywhere}#panel-cabinet .checklist li.ok::before{content:'✓ ';color:#80ecd1}#panel-cabinet .checklist li.todo::before{content:'• ';color:#f6d482}#panel-cabinet .connect-controls{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
