:root {
  --blue:#2F6BFF; --pressed:#1E56E0; --green:#16A34A; --amber:#D97706; --red:#DC2626;
  --ink:#111827; --muted:#6B7280; --faint:#9CA3AF; --line:#E5E7EB; --canvas:#F7F8FA;
  --paper:#FFFFFF; --head:#F9FAFB; --hover:#FAFBFF; --side:208px;
  font-family:-apple-system,"Segoe UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;
  color:var(--ink); background:var(--canvas); font-size:14px; line-height:1.6; color-scheme:light;
}
* { box-sizing:border-box }
body { margin:0 }
[hidden] { display:none!important }
button,input,select,textarea { font:inherit; color:inherit }
button,a,input,select { -webkit-tap-highlight-color:transparent }
button { cursor:pointer }
button:disabled,input:disabled { cursor:not-allowed }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {
  outline:2px solid var(--blue); outline-offset:2px;
}
a { color:var(--blue); text-decoration:none }
a:hover { text-decoration:underline }
h1,h2,h3,p { margin:0 }
h1 { font-size:20px; line-height:1.3; font-weight:600 }
h2,h3 { font-size:15px; line-height:1.4; font-weight:600 }
button, a, span, p, td, th { overflow-wrap:break-word }
.ui-icon,.icon { width:20px; height:20px; flex:none; vertical-align:middle }
.skip-link { position:fixed; z-index:60; top:-100px; left:12px; padding:8px 16px; background:white;border:1px solid var(--blue) }
.skip-link:focus { top:8px }
.side { position:fixed; inset:0 auto 0 0; width:var(--side); display:flex; flex-direction:column; background:var(--ink); color:white; z-index:8; }
.side-heading { padding:24px 20px 20px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; border-bottom:1px solid var(--muted) }
.shell-brand { display:inline-flex; align-items:center; gap:12px; color:inherit; font-size:20px; font-weight:600; line-height:1.3; }
.shell-brand:hover {text-decoration:none}
.shell-mark { width:32px; height:32px; display:inline-grid; place-items:center; position:relative; border-radius:8px; background:var(--blue); flex:none }
.shell-mark i { position:relative; width:17px; height:11px; border-radius:65% 50% 50% 65%; background:var(--paper); transform:rotate(-12deg); }
.shell-mark i:before {content:"";position:absolute;width:6px;height:9px;left:-4px;top:1px;clip-path:polygon(0 0,100% 50%,0 100%);background:var(--paper)}
.shell-mark i:after {content:"";position:absolute;width:3px;height:3px;right:3px;top:3px;border-radius:50%;background:var(--blue)}
.side-role { font-size:12px; color:var(--faint);padding-left:44px; margin-top:-8px }
.side-nav { flex:1; overflow-y:auto; padding:20px 12px; scrollbar-width:thin;min-height:0 }
.nav-group+.nav-group { margin-top:24px }
.nav-group-label { display:block; padding:0 12px; margin-bottom:8px; color:var(--faint);font-size:12px; }
.nav-item { position:relative;display:flex;align-items:center; gap:12px; width:100%; height:40px; padding:0 12px; margin-bottom:4px; background:transparent; border:0; border-radius:6px; color:var(--line);font-size:14px;text-align:left;white-space:nowrap }
.nav-item .ui-icon { width:18px; height:18px; color:var(--faint) }
.nav-item:hover,.side-foot:hover { color:white;text-decoration:underline }
.nav-item[aria-current=page] { background:var(--blue); color:white; font-weight:600 }
.nav-item[aria-current=page]:before { content:"";position:absolute;left:-12px;height:20px;width:3px;background:var(--blue); }
.nav-item[aria-current=page] .ui-icon { color:white }
.side-foot { display:flex;align-items:center;gap:12px;padding:16px 24px;color:var(--line);font-size:13px;border-top:1px solid var(--muted) }
.side-foot .ui-icon {width:16px;height:16px}
.workspace { margin-left:var(--side); min-height:100vh;min-width:0 }
.topbar { height:56px; display:flex;align-items:center;justify-content:space-between;gap:16px;background:white;border-bottom:1px solid var(--line);padding:0 24px }
.crumb,.account { display:flex;align-items:center;gap:12px;min-width:0 }
.crumb {color:var(--muted)} .crumb i {font-style:normal;color:var(--faint)} .crumb strong {color:var(--ink);font-weight:500}
.account {font-size:13px}.account a {display:inline-flex;align-items:center;gap:4px;color:var(--muted)}
.account .ui-icon {width:16px;height:16px}
.static-status {font-size:12px;color:var(--muted);margin-right:4px}.static-status:before {content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-right:8px;vertical-align:middle}
.account-name {font-weight:600}
.main { width:100%;max-width:1180px;margin:0 auto;padding:20px 24px 32px }
.page-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.page-heading p {color:var(--muted);font-size:13px;margin-top:4px}
.muted,.metric-foot {color:var(--muted)}
.num,.metric-value,td,th,time,.amount {font-variant-numeric:tabular-nums}
.metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}
.metric,.panel {min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:10px}
.metric { padding:20px; display:flex; flex-direction:column;align-items:flex-start;gap:8px }
.metric-label {color:var(--muted);font-size:13px;font-weight:500}
.metric-value {font-size:20px;line-height:1.2;font-weight:600;color:var(--ink)}
.metric-foot {font-size:12px;line-height:1.5}
.panel {padding:20px;margin-bottom:16px}
.panel-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.panel-head h2,.panel-head h3 {font-size:15px}
.panel-body {min-width:0}
.two-col {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:16px}
.two-col>* {min-width:0}
.btn {height:34px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:500;font-size:14px;line-height:1;white-space:nowrap;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;text-decoration:none}
.btn:hover {text-decoration:none;border-color:var(--muted)}
.btn.primary {background:var(--blue);border-color:var(--blue);color:white}
.btn.primary:hover,.btn.primary:active {background:var(--pressed);border-color:var(--pressed)}
.btn.danger {color:var(--red)} .btn.text {border-color:transparent;color:var(--blue);background:transparent}
.btn:disabled {color:var(--faint);background:var(--head);border-color:var(--line)} .btn .ui-icon {width:16px;height:16px}
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea {
  max-width:100%;height:34px;padding:0 12px;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:14px }
input::placeholder,textarea::placeholder {color:var(--faint)}
input:focus,select:focus,textarea:focus {border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,107,255,.15)}
input[type=checkbox],input[type=radio] {accent-color:var(--blue)}
.filter-bar,.tabs {display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.table-wrap {min-width:0;max-width:100%;overflow-x:auto}
table {border-collapse:collapse;width:100%;font-size:13px;line-height:1.5;text-align:left}
th,td {padding:0 12px;border-bottom:1px solid var(--line);height:44px;vertical-align:middle}
th {background:var(--head);height:40px;color:var(--muted);font-size:12px;font-weight:500}
tbody tr:last-child td {border-bottom:0} tbody tr:hover {background:var(--hover)}
th.num,td.num,th.actions,td.actions {text-align:right}
.tag {display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;white-space:nowrap;font-weight:500}
.tag:before {content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}
.green,.positive {color:var(--green)}.amber {color:var(--amber)}.red {color:var(--red)}.blue {color:var(--blue)}.gray {color:var(--muted)}
.empty-state {padding:32px 16px;text-align:center;color:var(--muted)}
.empty-state .btn {margin-top:12px}
.notice,.alert-strip {padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--blue);background:white}
.notice.warning {border-left-color:var(--amber)}.notice.error {border-left-color:var(--red)}.notice.success {border-left-color:var(--green)}
.pagination {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px}
dialog {max-width:min(440px, calc(100% - 32px));border:1px solid var(--line);border-radius:10px;padding:24px;background:white;color:var(--ink)}
dialog::backdrop {background:rgba(17,24,39,.45)}
.app-toast {position:fixed;z-index:40;top:64px;right:16px;max-width:calc(100% - 32px);padding:12px 16px;background:white;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:8px;color:var(--ink)}
@media(max-width:1050px){.two-col{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}
@media(max-width:899px){
 .side {position:static;width:100%;display:block}.side-heading {padding:12px 16px;flex-direction:row;align-items:center;gap:12px;border-bottom:0}
 .side-role {padding:0;margin:0}.shell-mark{width:28px;height:28px}.shell-brand{font-size:18px;gap:8px}
 .side-nav {display:flex;gap:8px;overflow:auto;padding:0 12px 8px;scrollbar-width:thin}
 .nav-group {display:contents}.nav-group-label,.side-foot {display:none}.nav-item {width:auto;margin:0;flex:none;height:34px;gap:8px}
 .nav-item[aria-current=page]:before {display:none}.nav-item .ui-icon{width:16px;height:16px}
 .workspace {margin:0}.topbar{padding:0 16px}.main{padding:20px 16px 32px}.metrics{gap:12px}
}
@media(max-width:690px){
 .metrics {grid-template-columns:repeat(2,minmax(0,1fr))}.metric {padding:16px}
 .two-col {grid-template-columns:minmax(0,1fr);gap:0}.panel{padding:16px}
 .page-heading,.panel-head {flex-wrap:wrap}.table-wrap table {min-width:530px}.account-name{display:none}.crumb,.account{gap:8px}
}
@media(max-width:400px){.static-status {font-size:12px}.page-heading{gap:8px}.metric-foot {font-size:12px}}

.denied {margin:32px auto;max-width:680px;padding:32px}
.error-number {color:var(--blue);font-size:32px;font-weight:600;line-height:1.2;margin-bottom:12px}
.denied p {margin:8px 0 24px;color:var(--muted)}
.main {outline:none}
.main form,.main fieldset {min-width:0}
.main figure,.main dl,.main dd {margin:0}
.main td small,.main .metric-value small {font-size:12px;color:var(--muted)}
.main .metric:first-child {border-top:3px solid var(--blue);padding-top:18px}
.main .metric:first-child .metric-value {color:var(--pressed)}
.main textarea {min-height:64px;padding:8px 12px}
.main .panel:target {outline:2px solid var(--blue);outline-offset:2px}

.c2-page .num{text-align:right;font-variant-numeric:tabular-nums}
.c2-page .table td,.c2-page .table th{white-space:nowrap}
.c2-page .table-wrap{max-width:100%;overflow-x:auto}
.c2-page .panel-head .c2-field{display:flex;align-items:center;gap:8px}
.c2-form,.c2-field{display:grid;gap:8px}
.c2-form{gap:16px;justify-items:start}
.c2-form>.filter-bar{align-items:end}
.c2-field>label,.c2-ledger-note{font-size:12px;color:var(--muted)}
.c2-page input:not([type=checkbox]):not([type=radio]):not([type=file]),.c2-page select{height:34px;max-width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 12px}
.c2-page input[type=file]{display:block;max-width:100%;padding:4px 0}
.c2-page input[type=file]::file-selector-button{font:inherit;cursor:pointer;padding:4px 12px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;margin-right:8px}
.c2-page input[type=radio],.c2-page input[type=checkbox]{accent-color:var(--blue)}
.c2-page .filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:16px}
.c2-page .filter-bar .c2-field{flex:0 1 auto;min-width:0}
.c2-page .c2-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px}
.c2-record{border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--paper);min-width:0}
.c2-record-head,.c2-strip,.c2-actions,.c2-buy-line,.c2-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.c2-actions{justify-content:flex-start;margin-top:12px}
.c2-record-head h3{font-size:15px}
.c2-record-head small,.c2-nocode span{color:var(--muted);font-size:12px}
.c2-strip{padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-radius:8px;margin-bottom:16px}
.c2-strip .c2-field{display:flex;gap:8px;align-items:center}
.c2-facts{margin:0;display:block}
.c2-facts>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0}
.c2-facts dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.c2-facts dt{color:var(--muted)}
.c2-record .c2-facts{border-top:1px solid var(--line);margin:12px 0 8px}
.c2-flags{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.c2-switch,.c2-personflag{display:grid;grid-template-columns:auto 1fr;justify-items:start;align-items:center;gap:0 8px;position:relative;font-size:13px}
.c2-switch small,.c2-personflag small{font-size:12px;color:var(--muted)}
.c2-switch small{grid-column:2}
.c2-switch i{display:block;width:28px;height:16px;border-radius:16px;background:var(--faint);position:relative}
.c2-switch i:before{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;background:#fff;border-radius:50%}
.c2-switch input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.c2-switch input:checked+i{background:var(--blue)}
.c2-switch input:checked+i:before{left:15px}
.c2-switch input:focus-visible+i{outline:2px solid var(--blue);outline-offset:2px}
.c2-switch.blocked i{background:var(--line)}
.c2-personflag{grid-template-columns:auto 1fr;gap:4px}
.c2-personflag select{grid-column:1/-1;width:100%;padding:0 8px}
.c2-personflag select:disabled{background:var(--head);color:var(--muted)}
.c2-qrthumb,.c2-nocode{min-height:232px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--head);border:1px dashed var(--line);border-radius:8px}
.c2-qrthumb img{height:210px;max-width:100%;object-fit:contain}
.c2-nocode .ui-icon{width:32px;height:32px;color:var(--muted)}
.c2-dialog{max-width:min(90vw,420px);border:1px solid var(--line);border-radius:10px;padding:20px;color:var(--ink)}
.c2-dialog::backdrop{background:rgba(17,24,39,.45)}
.c2-dialog img{display:block;object-fit:contain;max-height:60vh;max-width:100%;margin:16px auto}
.c2-packages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border:0;padding:0;margin:0;width:100%}
.c2-pack{cursor:pointer;position:relative}
.c2-pack>input{position:absolute;right:12px;top:12px;margin:0}
.c2-pack>span{display:grid;gap:4px;border:1px solid var(--line);border-radius:8px;padding:16px}
.c2-pack>input:checked+span{border-color:var(--blue);background:var(--hover)}
.c2-pack input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.c2-pack b{font-size:20px;padding-right:12px}
.c2-pack strong{font-size:14px;font-weight:500}
.c2-pack small{color:var(--muted);font-size:12px}
.c2-buy-line{width:100%;border-top:1px solid var(--line);padding-top:16px;font-weight:600}
.c2-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.c2-pager{justify-content:flex-end;color:var(--muted);font-size:12px;margin-top:12px}
.c2-pager>span:first-child{margin-right:auto}
.c2-empty{padding:20px;text-align:center;color:var(--muted)}
@media(max-width:760px){.c2-packages{grid-template-columns:repeat(2,minmax(0,1fr))}.c2-page .two-col{grid-template-columns:1fr}.c2-page .panel-head{flex-wrap:wrap}.c2-strip .c2-field{flex-wrap:wrap}}

.s2 .s2-heading { margin-bottom: 20px; }
.s2 h1 { letter-spacing: -.015em; }
.s2 .s2-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; margin-bottom:16px; }
.s2 .s2-kpis .metric { padding:16px; justify-content:space-between; }
.s2 .s2-kpis .metric-value { font-variant-numeric:tabular-nums; white-space:nowrap; }
.s2 .s2-kpis .metric-foot { min-height:18px; }
.s2 .s2-main-kpi { border-top:3px solid var(--blue); padding-top:14px!important; }
.s2 .s2-small { color:var(--muted); font-size:12px; }
.s2 .s2-dark { color:var(--ink); font-weight:600; }
.s2 .s2-tabbar { display:flex; flex-wrap:wrap; gap:2px; align-items:center; padding:3px; border:1px solid var(--line); border-radius:8px; background:var(--head); }
.s2 .s2-tabbar button { border:0; color:var(--muted); background:transparent; border-radius:5px; padding:4px 12px; font-size:13px; }
.s2 .s2-tabbar button[aria-pressed=true] { color:var(--blue); background:var(--paper); font-weight:600; box-shadow:inset 0 0 0 1px var(--line); }
.s2 .s2-filters { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.s2 .s2-filters input { width:170px; }
.s2 .s2-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.s2 .s2-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.s2 .s2-actions { display:flex; gap:10px; align-items:center; justify-content:flex-end; flex-wrap:wrap; }
.s2 .s2-actions button, .s2 .s2-link { border:0; background:none; padding:4px 0; color:var(--blue); font-size:13px; }
.s2 .s2-actions .s2-danger { color:var(--red); }
.s2 .s2-actions button:hover, .s2 .s2-link:hover { text-decoration:underline; }
.s2 table td { white-space:nowrap; }
.s2 .s2-wrap { white-space:normal; max-width:290px; word-break:break-word; }
.s2 .s2-sub { display:block; color:var(--muted); font-size:12px; font-weight:400; }
.s2 .s2-now { color:var(--blue); font-weight:600; }
.s2 .s2-alert { color:var(--red); font-weight:600; }
.s2 .s2-form-pane { border-left:3px solid var(--blue); }
.s2 .s2-form-pane h2,.s2 .s2-form-pane h3 { margin-bottom:8px; }
.s2 .s2-form-pane p { margin:4px 0 16px; }
.s2 .s2-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; align-items:end; }
.s2 .s2-fields label { display:grid; gap:4px; font-size:13px; color:var(--muted); min-width:0; }
.s2 .s2-fields input, .s2 .s2-fields select { width:100%; color:var(--ink); }
.s2 .s2-form-actions { display:flex; align-items:center; gap:8px; margin-top:16px; }
.s2 .s2-ticks {display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin:12px 0;}
.s2 .s2-ticks label {display:inline-flex; align-items:center; gap:4px;}
.s2 .s2-steps { display:flex; gap:4px; flex-wrap:wrap; padding:0; margin:12px 0 16px; list-style:none; }
.s2 .s2-steps li { display:inline-flex; align-items:center; gap:4px; color:var(--muted); font-size:12px; }
.s2 .s2-steps li+li:before { content:"›"; margin:0 4px; color:var(--faint); }
.s2 .s2-steps li[aria-current=step] { color:var(--blue); font-weight:600; }
.s2 .s2-msg { min-height:0; color:var(--red); font-size:13px; }
.s2 .s2-pager { margin-top:12px; }
.s2 .s2-chart { width:100%; display:block; min-height:128px; max-height:180px; }
.s2 .s2-chart text { font-family:inherit; font-size:11px; fill:var(--muted); }
.s2 .s2-key { display:inline-flex; align-items:center; gap:6px; margin-left:12px; font-size:12px; color:var(--muted); }
.s2 .s2-key i { width:9px; height:9px; background:var(--blue); border-radius:2px; }
.s2 .s2-key i.cost { background:var(--faint); }
.s2 .s2-attn { display:flex; align-items:center; justify-content:space-between; padding:12px 0; gap:12px; border-top:1px solid var(--line); color:var(--ink); }
.s2 .s2-attn:first-of-type { border-top:0; }
.s2 .s2-attn b {margin-left:8px;}
.s2 .s2-details { padding:12px; background:var(--head); border-radius:8px; word-break:break-word; white-space:pre-wrap; }
.s2 .s2-override { margin-top:12px; }
.s2 .s2-override form { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:8px 0; border-top:1px solid var(--line); }
.s2 .s2-override label { display:flex; gap:12px; align-items:center; }
.s2 .s2-override select { min-width:144px; }
.s2 td.num input[type=number] { text-align:right; width:100px; }
@media(max-width:700px){
  .s2 .s2-grid { grid-template-columns:1fr; gap:0; }
  .s2 .s2-filters{width:100%;}
  .s2 .s2-filters input{width:auto; min-width:0; flex:1;}
  .s2 .s2-heading{align-items:flex-start;}
  .s2 .s2-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .s2 .s2-fields { grid-template-columns:1fr; }
}

/* Workspace */
:root {--ink:#15233b;--canvas:#f3f5f9;--line:#dfe5ee;--head:#f5f7fb;--side:218px}
.side {background:linear-gradient(158deg,#172948 0%,#12203a 62%,#0c192e 100%)}
.side-heading {border-color:#30405a;padding-top:28px;padding-bottom:23px}
.shell-brand {letter-spacing:.01em}.shell-mark {background:linear-gradient(135deg,#4d8bff,#3159e9)}
.side-role,.nav-group-label {color:#a6b6d1}.side-nav {padding-top:24px}
.nav-item {border-radius:8px;color:#d9e2f1}.nav-item:hover {background:#253852;text-decoration:none}
.nav-item[aria-current=page] {background:#325fe7;box-shadow:0 3px 12px #07152a30}.nav-item[aria-current=page]:before{display:none}
.side-foot {border-color:#33415a}.account button {font:inherit}
.topbar {height:59px;border-color:var(--line)}
.main {padding-top:27px;padding-bottom:42px}
.page-heading h1 {font-size:clamp(23px,2.2vw,30px);line-height:1.3;letter-spacing:-.035em}
.page-heading {margin-bottom:22px}.page-heading p {margin-top:6px}
.metric,.panel,.c2-record {box-shadow:0 3px 9px rgba(22,42,71,.035)}
.metric,.panel {border-radius:13px}.metric-value {font-size:clamp(20px,1.9vw,26px);letter-spacing:-.035em}
.main .metric:first-child {border:1px solid #c7d6fc;padding-top:20px;background:linear-gradient(118deg,#eff4ff,#ffffff)}
.panel-head h2 {font-size:16px}.panel-head {margin-bottom:17px}
.btn.primary {background:#285ae0;border-color:#285ae0}
.account [data-logout] {background:none;color:var(--muted);border:none;display:inline-flex;align-items:center;gap:5px;padding:4px}
.stock-alert {margin:0 0 18px;padding:13px 18px;border:1px solid;border-radius:10px}
.stock-alert.watch {background:#fff8eb;color:#88490a;border-color:#f4d69c}
.stock-alert.urgent {background:#fff0ef;color:#9c2630;border-color:#fac1c5}
.token-field {display:grid;gap:6px;font-size:12px;margin:14px 0}.token-field input {width:min(100%,590px);font-family:ui-monospace,consolas,monospace}
.price-history,.price-history-empty {display:block;margin:6px 0;color:#53637c;font-size:11px;text-align:left;white-space:normal}
.price-history summary {cursor:pointer;color:#244b9c}.price-history ol {padding-left:18px;margin:6px 0;line-height:1.7}
.price-history-empty, .price-history {max-width:260px}
html[data-page$="-home"] .page-heading {padding:26px 28px;border-radius:15px;position:relative;isolation:isolate;overflow:hidden;min-height:116px;background:linear-gradient(100deg,#102345,#172f52 70%,#10203e);color:#fff}
html[data-page$="-home"] .page-heading::before {position:absolute;content:"";z-index:-1;inset:0 0 0 40%;background:linear-gradient(90deg,#142a4a 0%,transparent 48%),url("/static/assets/ops-still.webp") no-repeat right 45% / auto 175%;opacity:.65;pointer-events:none}
html[data-page$="-home"] .page-heading p {color:#d9e4fb}
html[data-page$="-home"] .page-heading .btn {border-color:#8499b8;color:white;background:#1c3554}
html[data-page$="-home"] .page-heading .btn:hover {background:#28466f}
.app-toast {box-shadow:0 6px 24px #14274422}
.login-page {background:#eef1f6}
.login-shell {display:grid;grid-template-columns:1.08fr 1fr;min-height:100vh;min-height:100svh}
.login-photo {position:relative;isolation:isolate;min-width:0;overflow:hidden;color:white;background:#071528}
.login-photo>img {position:absolute;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:54% 50%}
.login-photo::after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,16,35,.18),transparent 42%,rgba(5,17,34,.50) 82%,rgba(4,17,34,.85))}
.login-photo-brand {position:absolute;top:clamp(26px,5vh,58px);left:clamp(25px,4.6vw,80px);display:flex;align-items:center;gap:12px;font-size:19px}
.login-photo-brand .shell-mark {width:35px;height:35px}
.login-caption {position:absolute;bottom:clamp(33px,8vh,90px);left:clamp(25px,4.6vw,80px);right:28px}
.login-caption p {font-size:14px;letter-spacing:.18em;color:#c4d8fc;margin-bottom:12px}
.login-caption h1 {font-size:clamp(27px,3.65vw,66px);letter-spacing:-.055em;font-weight:650;line-height:1.17}
.login-pane {align-self:stretch;min-width:0;display:grid;place-items:center;padding:36px;background:#f9fafc}
.login-card {width:min(100%,380px);display:grid;gap:0}
.login-eyebrow {display:flex;align-items:center;gap:10px;color:#3457a4;font-size:13px;font-weight:600;margin-bottom:13px}
.login-eyebrow::before {content:"";width:24px;height:2px;background:#426bd2}
.login-card h2 {font-size:clamp(28px,3vw,42px);font-weight:650;letter-spacing:-.06em;line-height:1.25}
.login-hint {color:#5d6980;font-size:14px;margin:12px 0 32px}
.login-card label {font-weight:600;font-size:13px;margin-bottom:7px}
.login-card input:not([type=hidden]) {width:100%;height:47px;background:white;border-radius:8px;margin-bottom:19px}
.login-card .btn {width:100%;height:47px;font-size:15px;letter-spacing:.16em;box-shadow:0 4px 12px #2558d826}
#login-error {color:#b22732;min-height:14px;margin:0 0 8px;font-size:13px}
@media(max-width:899px){.side-heading{padding:12px 16px}.side-nav{padding:0 12px 8px}.topbar{height:49px}.main{padding:19px 16px 35px}}
@media(max-width:690px){
 .login-shell{grid-template-columns:1fr;grid-template-rows:clamp(150px,27svh,225px) 1fr}
 .login-photo>img{object-position:65% 52%}.login-caption{left:24px;bottom:16px}.login-caption p{display:none}
 .login-photo-brand{left:24px;top:15px;font-size:15px;gap:8px}.login-photo-brand .shell-mark{width:26px;height:26px}
 .login-pane{place-items:start center;padding:28px 24px 38px}.login-hint{margin:9px 0 21px}
 html[data-page$="-home"] .page-heading{padding:18px;min-height:103px}html[data-page$="-home"] .page-heading::before{inset:0 0 0 32%}
 .metric{padding:15px}.main .metric:first-child{padding-top:15px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.daily-usage{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:5px 5px 0}
.day-usage{display:flex;flex-direction:column;align-items:center;gap:3px;font-variant-numeric:tabular-nums}
.day-usage svg{height:77px;width:22px;fill:#5681ec}.day-usage:last-child svg{fill:#285ae0}
.day-usage small,.day-usage b{font-size:12px;color:#647189}.day-usage b{color:#263a5a;font-weight:600}
.side-foot {cursor:default}.side-foot:hover{text-decoration:none}
.live-pip{width:7px;height:7px;border-radius:50%;background:#82b2fb}

.refresh-state{display:inline-block;margin-left:15px;padding-left:13px;border-left:1px solid #6e83a5;font-size:12px;color:#c4d4ed;font-variant-numeric:tabular-nums}
.trend-day{cursor:pointer;outline:none}.trend-day rect{fill:transparent;stroke:transparent}
.trend-day:hover rect,.trend-day[aria-pressed=true] rect{fill:#3e6bdd0c;stroke:#406bcb36}
.trend-day:focus-visible rect{fill:#2f6bff11;stroke:#2f6bff;stroke-width:1.6}
.trend-readout{display:block;color:#385178;background:#f2f5fc;border-radius:7px;padding:7px 10px;font-variant-numeric:tabular-nums;font-size:12px}
@media(max-width:690px){.refresh-state{display:block;margin:5px 0 0;padding-left:0;border:0}.trend-readout{line-height:1.65}}

html[data-page$="-home"] .page-heading::before{inset:0 0 0 auto;width:clamp(170px,31%,365px);background:url("/static/assets/ops-still.webp") center 53% / cover no-repeat;mask-image:linear-gradient(90deg,transparent,#000 57%);opacity:.73}
@media(min-width:691px){
 .login-photo{background:#081426}
 .login-photo::before{content:"";position:absolute;inset:-18px;z-index:-3;background:url("/static/assets/ops-still.webp") center / cover;filter:blur(18px) brightness(.43)}
 .login-photo>img{height:auto;top:50%;transform:translateY(-50%);object-fit:contain;object-position:center;mask-image:linear-gradient(180deg,transparent,#000 13%,#000 86%,transparent)}
}

.c2-refund{width:min(420px,calc(100vw - 32px))}.c2-refund>h2{margin-bottom:12px}.c2-refund .refund-math{margin-bottom:15px}.c2-refund form{gap:13px}.c2-refund .c2-field,.c2-refund input{width:100%}

.s2 td.num .price-history,.s2 td.num .price-history-empty{margin-left:auto;text-align:right}
.s2 td.num .price-history ol{text-align:left}.s2 input[name^="cost_"]{width:102px;text-align:right;font-variant-numeric:tabular-nums}
