:root{
  --bg:#f5f7fb;--panel:#fff;--text:#121826;--muted:#6b7280;--line:#e6e9ef;
  --accent:#111827;--accent-soft:#eef2ff;--danger:#b42318;--success:#067647;
  --radius:18px;--shadow:0 12px 36px rgba(18,24,38,.06)
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
body{margin:0;min-height:100vh}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;padding:4px 8px 24px}
.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--accent);color:#fff;font-weight:800}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{padding:10px 12px;border-radius:10px;color:#4b5563;font-weight:600;font-size:14px}
.nav a:hover{background:#f3f4f6;color:#111827}
.nav-caption{margin:22px 12px 6px;color:#9ca3af;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.12em}
.logout{margin-top:auto}
.main{padding:30px clamp(20px,4vw,56px) 24px;min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.topbar h1{margin:2px 0 0;font-size:30px;letter-spacing:-.035em}
.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:800;color:#8a93a3}
.user-chip{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;font-size:13px}
.grid{display:grid;gap:16px}
.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.card h2{margin:6px 0 12px;font-size:19px;letter-spacing:-.02em}
.metric{min-height:150px;display:flex;flex-direction:column}
.metric-label{font-size:13px;color:var(--muted);font-weight:700}
.metric strong{font-size:28px;letter-spacing:-.04em;margin:auto 0 4px}
.metric span:last-child,.metric a{font-size:12px;color:var(--muted)}
.metric a{color:#334155;font-weight:700}
.section-gap{margin-top:16px}
.card-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.card-heading h2{margin-bottom:0}
.right{text-align:right;display:flex;flex-direction:column;gap:4px}
.current-plan{display:flex;justify-content:space-between;align-items:center}
.formula{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f8fafc;border:1px solid var(--line);padding:12px;border-radius:12px}
.key-preview,.copy-row code{display:block;background:#0b1020;color:#dbeafe;padding:14px;border-radius:12px;overflow:auto}
.muted{color:var(--muted);font-size:13px}
.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.price-card{display:flex;flex-direction:column;gap:16px}
.price{font-size:38px;font-weight:800;letter-spacing:-.05em}
.price span{font-size:14px;color:var(--muted);font-weight:600;letter-spacing:0}
.credits{font-weight:700}
.btn{appearance:none;border:0;border-radius:10px;padding:10px 14px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.btn:disabled{cursor:not-allowed;opacity:.45}
.btn-primary{background:#111827;color:#fff}
.btn-secondary{background:#f1f5f9;color:#1e293b;border:1px solid #e2e8f0}
.btn-danger{background:#fff1f0;color:var(--danger);border:1px solid #fecdca}
.btn-ghost{background:transparent;color:#475569}
.btn-small{padding:7px 10px;font-size:12px}
.btn-block{width:100%}
.button-row{display:flex;flex-wrap:wrap;gap:8px}
.stack{display:flex;flex-direction:column;gap:14px}
label{display:flex;flex-direction:column;gap:6px;color:#374151;font-size:13px;font-weight:700}
input,select,textarea{width:100%;border:1px solid #d8dde7;border-radius:10px;padding:10px 11px;background:#fff;color:#111827;outline:none}
input:focus,select:focus,textarea:focus{border-color:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.18)}
.check{flex-direction:row;align-items:center;font-weight:500}
.check input{width:auto}
.input-small{min-width:96px}
.validation{color:var(--danger);font-size:13px}
.alert{padding:12px 14px;border-radius:12px;margin-bottom:16px;font-size:13px;font-weight:650}
.alert.success{background:#ecfdf3;color:var(--success);border:1px solid #abefc6}
.alert.error{background:#fef3f2;color:var(--danger);border:1px solid #fecdca}
.auth-wrap{max-width:480px;margin:7vh auto}
.auth-card{padding:30px}
.payment-help{font-size:12px;color:#64748b;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:6px}
.payment-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
details summary{list-style:none}
details summary::-webkit-details-marker{display:none}
.steps{padding-left:20px;display:grid;gap:12px;color:#475569}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}
.status.pending{background:#fffaeb;color:#b54708}
.status.approved{background:#ecfdf3;color:#067647}
.status.rejected{background:#fef3f2;color:#b42318}
.list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.preserve{white-space:pre-wrap}
.search{display:flex;gap:8px}
.search input{min-width:240px}
.admin-actions{display:grid;gap:8px;min-width:180px}
.admin-actions form{display:grid;gap:6px}
.code-example{margin-top:20px}
pre{margin:0;background:#0b1020;color:#dbeafe;padding:16px;border-radius:12px;overflow:auto;font-size:12px;line-height:1.55}
.copy-row{display:flex;gap:10px;align-items:stretch}
.copy-row code{flex:1}
.invoice{max-width:900px;margin:0 auto}
.invoice-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:24px}
.invoice-brand{padding:0}
.invoice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:24px 0}
.invoice-grid div{display:flex;flex-direction:column;gap:5px}
.invoice-line,.invoice-total{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line)}
.invoice-total{font-size:20px}
.footer{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);color:#64748b;font-size:12px}
.footer a{text-decoration:underline}

.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.compact-stack{justify-content:center}
.button-row-between{justify-content:space-between;align-items:center}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media(max-width:1100px){
  .cards-4,.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .shell{grid-template-columns:1fr}
  .sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}
  .nav{display:grid;grid-template-columns:repeat(2,1fr)}
  .logout{margin-top:14px}
  .main{padding:22px 16px}
  .cards-4,.cards-2,.pricing-grid,.invoice-grid,.form-grid,.form-grid-3{grid-template-columns:1fr}
  .topbar,.card-heading,.current-plan,.invoice-head{align-items:flex-start;flex-direction:column}
  .right{text-align:left}
  .search{width:100%}.search input{min-width:0}
}
@media print{
  .sidebar,.topbar,.footer,.no-print,.alert{display:none!important}
  .shell{display:block}
  .main{padding:0}
  body{background:#fff}
  .card{box-shadow:none;border:0}
}

/* Management lists and dedicated CRUD pages */
.management-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.management-header h2{margin-bottom:6px}
.management-header p{margin:0}
.compact-header{align-items:center}
.page-actions{margin-bottom:14px}
.back-link{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:13px;font-weight:750}
.back-link:hover{color:#111827}
.form-card{max-width:980px}
.narrow-form-card{max-width:720px}
.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:4px}
.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.search-field{display:flex;align-items:center;gap:8px;flex:1;max-width:620px}
.search-field input{min-width:260px}
.page-size{flex-direction:row;align-items:center;gap:8px;white-space:nowrap}
.page-size select{width:auto;min-width:72px;padding:8px 28px 8px 10px}
.data-table-wrap{border:1px solid var(--line);border-radius:12px}
.data-table th,.data-table td{padding:13px 14px}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:#fafbfc}
.actions-col{width:1%;white-space:nowrap}
.row-actions{display:flex;justify-content:flex-end;gap:7px;white-space:nowrap}
.cell-truncate{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cell-truncate.wide{max-width:420px}
.empty-state{text-align:center!important;padding:34px!important;color:var(--muted)}
.table-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:14px}
.pagination{display:flex;align-items:center;gap:8px}
.page-link,.page-current{border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:12px;font-weight:750;background:#fff}
.page-link:hover{background:#f8fafc}
.page-link.disabled{pointer-events:none;opacity:.45}
.page-current{color:#64748b;background:#f8fafc}
.metric-inline{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.metric-inline strong{font-size:20px}
.empty-panel{padding:24px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc}
.empty-panel p{margin:6px 0 14px}
.danger-card{border-color:#fecdca;background:#fffdfd}
.danger-card h2{color:#7a271a}
.delete-summary{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px;margin:18px 0 24px;padding:16px;border-radius:12px;background:#fff;border:1px solid #fee4e2;word-break:break-word}
.btn-danger-solid{background:var(--danger);color:#fff;border:1px solid var(--danger)}
.btn-danger-solid:hover{filter:brightness(.96)}

@media(max-width:760px){
  .management-header,.table-toolbar,.table-footer{align-items:stretch;flex-direction:column}
  .search-field{max-width:none;width:100%;flex-wrap:wrap}
  .search-field input{min-width:0;flex:1 1 180px}
  .page-size{align-self:flex-start}
  .pagination{justify-content:space-between;width:100%}
  .form-actions{justify-content:stretch}
  .form-actions .btn{flex:1}
  .metric-inline{align-items:flex-start}
}

/* Provider model discovery */
.model-source-panel{padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc;display:grid;gap:10px}
.model-catalog-status{display:flex;align-items:center;gap:7px;min-height:20px}
.model-catalog-status.is-loading::before{content:"";width:13px;height:13px;border:2px solid #cbd5e1;border-top-color:#475569;border-radius:50%;animation:model-spin .75s linear infinite;flex:0 0 auto}
.model-catalog-status.is-warning{color:#b54708}
.model-catalog-status.is-success{color:#067647}
.form-section-divider{display:flex;align-items:center;gap:10px;margin:2px 0;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.form-section-divider::before,.form-section-divider::after{content:"";height:1px;background:var(--line);flex:1}
@keyframes model-spin{to{transform:rotate(360deg)}}

/* Subscription checkout wizard */
.subscription-wizard-card{overflow:hidden}
.subscription-wizard{display:grid;gap:24px}
.wizard-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f8fafc}
.wizard-progress li{position:relative;display:flex;align-items:center;gap:10px;padding:14px 16px;color:#94a3b8;background:#f8fafc}
.wizard-progress li+li{border-left:1px solid var(--line)}
.wizard-progress li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;font-size:12px;font-weight:800;flex:0 0 auto}
.wizard-progress li div{display:flex;flex-direction:column;gap:1px;min-width:0}
.wizard-progress li strong{font-size:13px;color:#64748b}
.wizard-progress li small{font-size:11px;color:#94a3b8}
.wizard-progress li.is-active,.wizard-progress li.is-complete{background:#fff;color:#111827}
.wizard-progress li.is-active>span{background:#111827;border-color:#111827;color:#fff}
.wizard-progress li.is-complete>span{background:#ecfdf3;border-color:#abefc;color:#067647}
.wizard-progress li.is-active strong,.wizard-progress li.is-complete strong{color:#111827}
.subscription-wizard.is-enhanced .wizard-step{display:none}
.subscription-wizard.is-enhanced .wizard-step.is-active{display:block}
.wizard-step{min-width:0}
.wizard-step-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.wizard-step-heading h3{margin:4px 0 0;font-size:20px;letter-spacing:-.02em}
.wizard-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.wizard-payment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.wizard-choice-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:150px;padding:17px;border:1px solid #d8dde7;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.wizard-choice-card:hover{border-color:#aab3c2;transform:translateY(-1px)}
.wizard-choice-card:has(input:checked){border-color:#111827;box-shadow:0 0 0 2px rgba(17,24,39,.08)}
.wizard-choice-card input[type=radio]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.choice-check{position:absolute;top:14px;right:14px;width:19px;height:19px;border:1px solid #cbd5e1;border-radius:50%;background:#fff}
.wizard-choice-card:has(input:checked) .choice-check{border:5px solid #111827}
.wizard-price{font-size:29px;font-weight:850;letter-spacing:-.04em;color:#111827}
.wizard-price small{margin-left:3px;font-size:12px;font-weight:650;color:#64748b;letter-spacing:0}
.payment-choice{min-height:170px}
.payment-choice .preserve{padding-right:22px;line-height:1.45}
.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.wizard-error{margin-top:12px;padding:9px 11px;border-radius:9px;background:#fef3f2;border:1px solid #fecdca;color:#b42318;font-size:12px;font-weight:700}
.wizard-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wizard-review-card{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.wizard-review-card strong{font-size:17px}
.wizard-note{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:13px 14px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}
.section-gap-small{margin-top:14px}

@media(max-width:760px){
  .wizard-progress{grid-template-columns:1fr}
  .wizard-progress li+li{border-left:0;border-top:1px solid var(--line)}
  .wizard-step-heading{align-items:flex-start;flex-direction:column;gap:6px}
  .wizard-review-grid{grid-template-columns:1fr}
  .wizard-actions .btn{flex:1}
}
.money-input{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.money-input>span{display:flex;align-items:center;padding:0 12px;background:#f8fafc;border-right:1px solid var(--line);font-weight:800;color:#475569}.money-input input{border:0!important;border-radius:0!important;min-width:0;flex:1}.currency-badge{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:#f8fafc;font-size:11px;font-weight:800}

/* Plan currency pricing / monthly credits editor */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.plan-form-card{max-width:860px}
.plan-currency-table-wrap{border:1px solid var(--line);border-radius:12px;background:#fff}
.plan-currency-table{min-width:620px}
.plan-currency-table th{padding:11px 14px;background:#f8fafc}
.plan-currency-table td{padding:12px 14px;vertical-align:middle}
.plan-currency-table tbody tr:last-child td{border-bottom:0}
.currency-cell{display:flex;flex-direction:column;gap:2px;min-width:145px}
.currency-cell strong{font-size:13px;color:#111827}
.currency-cell span{font-size:11px;color:#64748b;font-weight:500}
.table-field{gap:4px;margin:0;min-width:180px}
.table-field input{min-width:0}
.table-field .validation:empty{display:none}

/* Credit economics + margin-based plan calculator */
.plan-editor-card{max-width:1180px}
.plan-page-intro{margin:-4px 0 18px;max-width:760px}
.plan-editor{display:grid;gap:18px}
.credit-strategy-panel{display:grid;gap:15px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfcfe}
.credit-strategy-copy h3,.settings-section-heading h3{margin:4px 0 5px;font-size:17px;letter-spacing:-.02em}
.credit-strategy-copy p,.settings-section-heading p{margin:0}
.credit-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.credit-mode-card{position:relative;display:flex;flex-direction:row;align-items:flex-start;gap:11px;padding:14px;border:1px solid #d8dde7;border-radius:13px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.credit-mode-card:hover{border-color:#aab3c2}
.credit-mode-card.is-selected{border-color:#111827;box-shadow:0 0 0 2px rgba(17,24,39,.07);background:#fff}
.credit-mode-card>span:last-child{display:flex;flex-direction:column;gap:3px}
.credit-mode-card strong{font-size:13px;color:#111827}
.credit-mode-card small{font-size:11px;line-height:1.45;color:#64748b;font-weight:500}
.credit-mode-radio{padding-top:1px}
.credit-mode-radio input{width:16px;height:16px;margin:0}
.margin-calculator-panel{display:grid;gap:13px;padding:15px;border:1px solid #dbe5f2;border-radius:13px;background:#f8fbff}
.margin-control{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.margin-control>label{min-width:190px;max-width:240px}
.input-with-suffix,.input-with-prefix{display:flex;align-items:stretch;border:1px solid #d8dde7;border-radius:10px;overflow:hidden;background:#fff}
.input-with-suffix:focus-within,.input-with-prefix:focus-within{border-color:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.18)}
.input-with-suffix input,.input-with-prefix input{border:0!important;border-radius:0!important;box-shadow:none!important;min-width:0}
.input-with-suffix>span,.input-with-prefix>span{display:flex;align-items:center;justify-content:center;min-width:42px;padding:0 10px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:800}
.input-with-suffix>span{border-left:1px solid var(--line)}
.input-with-prefix>span{border-right:1px solid var(--line)}
.calculator-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.calculator-summary>div{display:flex;flex-direction:column;gap:3px;padding:10px 11px;border:1px solid #e5eaf2;border-radius:10px;background:#fff}
.calculator-summary span{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.calculator-summary strong{font-size:12px;line-height:1.35}
.formula-compact{padding:9px 11px;font-size:11px;line-height:1.45}
.plan-currency-calculator-table{min-width:920px}
.plan-currency-calculator-table th:nth-child(1){width:17%}
.plan-currency-calculator-table th:nth-child(2){width:22%}
.plan-currency-calculator-table th:nth-child(3){width:22%}
.plan-currency-calculator-table th:nth-child(4){width:39%}
.compact-money-input>span{padding:0 9px;min-width:42px}
.credit-preview{display:flex;flex-direction:column;gap:3px;min-width:230px;padding:9px 10px;border:1px solid #e7ebf1;border-radius:10px;background:#fafbfc}
.credit-preview strong{font-size:12px;color:#111827}
.credit-preview span{font-size:10.5px;color:#64748b;line-height:1.4}
input.is-calculated{background:#f4f7fb;color:#334155;font-weight:750}
.plan-form-note{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid #abefc6;border-radius:11px;background:#ecfdf3;color:#067647;font-size:12px}
.plan-form-note strong{white-space:nowrap}
.plan-form-note span{color:#3f6f5e}
[hidden]{display:none!important}

/* Plans list summary */
.plan-list-settings-strip{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;margin-bottom:16px}
.plan-list-settings-strip>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.plan-list-settings-strip span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;font-weight:800}
.plan-list-settings-strip strong{font-size:12px;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-list-settings-strip>a{font-size:12px;font-weight:800;color:#334155;white-space:nowrap}
.plan-list-table{min-width:1020px}
.plan-name-cell,.plan-currency-summary,.plan-strategy-cell{display:flex;flex-direction:column;gap:3px}
.plan-name-cell strong{font-size:13px}
.plan-name-cell span,.plan-currency-summary span,.plan-strategy-cell small{font-size:10.5px;color:#64748b;line-height:1.35}
.plan-currency-summary strong{font-size:12px}
.plan-strategy-cell{min-width:190px;align-items:flex-start}
.plan-strategy-cell>strong{font-size:11.5px;color:#334155}
.strategy-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:850}
.strategy-badge.auto{background:#eef4ff;color:#3538cd}
.strategy-badge.manual{background:#f2f4f7;color:#475467}

/* Credit settings workspace */
.credit-settings-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}
.credit-settings-hero h2{margin:5px 0 6px;font-size:22px;letter-spacing:-.03em}
.credit-settings-hero p{margin:0;max-width:760px}
.credit-settings-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.credit-metric-card{min-height:126px;display:flex;flex-direction:column;gap:5px;padding:18px}
.credit-metric-card>span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#8a93a3;font-weight:800}
.credit-metric-card>strong{margin-top:auto;font-size:24px;letter-spacing:-.035em}
.credit-metric-card small{color:#64748b;font-size:11px;line-height:1.4}
.credit-settings-card{padding:0;overflow:hidden}
.credit-settings-form{gap:0}
.settings-section{padding:22px;border-bottom:1px solid var(--line)}
.settings-section-heading{display:flex;justify-content:space-between;gap:18px;margin-bottom:16px}
.settings-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);gap:16px;align-items:start}
.settings-fields{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.settings-fields label>.muted{font-weight:500;line-height:1.4}
.settings-preview-card{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid #dbe5f2;border-radius:14px;background:#f8fbff}
.settings-preview-card h4{margin:2px 0 0;font-size:13px}
.settings-preview-number{font-size:25px;font-weight:850;letter-spacing:-.04em;color:#111827}
.settings-preview-breakdown{display:grid;gap:6px;margin:9px 0 5px}
.settings-preview-breakdown>div{display:flex;justify-content:space-between;gap:10px;padding-top:6px;border-top:1px solid #e3eaf4;font-size:11px}
.settings-preview-breakdown span{color:#64748b}
.settings-currency-table-wrap{border:1px solid var(--line);border-radius:12px}
.settings-currency-table{min-width:760px}
.settings-currency-table th{background:#f8fafc}
.settings-currency-table tbody tr:last-child td{border-bottom:0}
.settings-inline-field{margin-top:13px;max-width:430px}
.weight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.weight-card{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.weight-card>span{font-size:12px;color:#334155}
.weight-card small{font-size:10.5px;color:#64748b;font-weight:500}
.settings-formula-preview{margin-top:12px;font-size:11.5px}
.settings-save-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px;background:#fafbfc}
.settings-save-bar>div{display:flex;flex-direction:column;gap:2px}
.settings-save-bar>div>strong{font-size:12px}

@media(max-width:1050px){
  .settings-layout{grid-template-columns:1fr}
  .settings-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-list-settings-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-list-settings-strip>a{justify-self:start}
}
@media(max-width:760px){
  .credit-mode-grid,.calculator-summary,.credit-settings-metrics,.settings-fields,.weight-grid,.plan-list-settings-strip{grid-template-columns:1fr}
  .credit-settings-hero,.settings-save-bar{align-items:stretch;flex-direction:column}
  .margin-control{align-items:stretch;flex-direction:column}
  .margin-control>label{max-width:none;width:100%}
  .plan-form-note{flex-direction:column;gap:3px}
  .plan-form-note strong{white-space:normal}
  .settings-save-bar .btn{width:100%}
}

/* Dynamic currency / locality admin tables */
.table-input{width:100%;min-width:105px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:inherit}
.table-input.compact{min-width:76px;max-width:150px}
.inline-create-row td{background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%)}
.inline-create-row .table-input{border-style:dashed}
@media(max-width:900px){.data-table .table-input{min-width:120px}}

/* ========================================================================
   2026 application shell — inspired by the interaction and visual patterns
   of a compact modern API dashboard, implemented for this Razor app.
   ======================================================================== */
:root{
  --bg:#f7f8fa;
  --panel:#ffffff;
  --panel-2:#fbfbfc;
  --text:#171717;
  --text-strong:#0a0a0a;
  --muted:#737373;
  --muted-2:#a3a3a3;
  --line:#e8e8e8;
  --line-strong:#d9d9d9;
  --accent:#3b82f6;
  --accent-hover:#2563eb;
  --accent-soft:#eff6ff;
  --accent-text:#1d4ed8;
  --danger:#dc2626;
  --danger-soft:#fef2f2;
  --success:#16a34a;
  --success-soft:#f0fdf4;
  --warning:#d97706;
  --warning-soft:#fffbeb;
  --radius:12px;
  --radius-sm:8px;
  --shadow:0 1px 2px rgba(0,0,0,.025);
  --header-h:52px;
  --sidebar-w:244px;
  --sidebar-collapsed-w:68px;
}
html[data-theme="dark"]{
  --bg:#1f1f1f;
  --panel:#252525;
  --panel-2:#292929;
  --text:#e8e8e8;
  --text-strong:#fafafa;
  --muted:#a3a3a3;
  --muted-2:#737373;
  --line:#373737;
  --line-strong:#484848;
  --accent:#4f8ff7;
  --accent-hover:#6aa0fa;
  --accent-soft:#203452;
  --accent-text:#9ac0ff;
  --danger:#f87171;
  --danger-soft:#402727;
  --success:#4ade80;
  --success-soft:#20392a;
  --warning:#fbbf24;
  --warning-soft:#41361e;
  color-scheme:dark;
}
html{background:var(--bg);color:var(--text);scrollbar-color:var(--line-strong) transparent}
body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}
a{transition:color .15s ease,background-color .15s ease,border-color .15s ease,opacity .15s ease}
svg{display:block}

/* Global header */
.app-header{
  position:sticky;top:0;z-index:60;height:var(--header-h);display:flex;align-items:center;
  justify-content:space-between;gap:16px;padding:0 14px;background:color-mix(in srgb,var(--panel) 94%,transparent);
  border-bottom:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
.header-brand-zone,.header-actions{display:flex;align-items:center;gap:8px;min-width:0}
.header-brand-zone{width:calc(var(--sidebar-w) - 14px)}
.brand{display:flex;align-items:center;gap:9px;min-width:0;padding:0;font-weight:700;letter-spacing:-.015em}
.brand-mark{width:29px;height:29px;border-radius:8px;background:var(--text-strong);color:var(--panel);font-size:13px;box-shadow:none;flex:0 0 auto}
html[data-theme="dark"] .brand-mark{background:#f4f4f5;color:#18181b}
.brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1.05}
.brand-copy strong{font-size:13px;color:var(--text-strong);white-space:nowrap}
.brand-copy small{margin-top:3px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.header-context{font-size:12px;color:var(--muted);padding-right:3px}
.icon-button{
  width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;
  background:transparent;color:var(--muted);cursor:pointer;padding:0
}
.icon-button:hover{background:var(--panel-2);border-color:var(--line);color:var(--text-strong)}
.icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-icon-moon{display:none}
html[data-theme="dark"] .theme-icon-sun{display:none}
html[data-theme="dark"] .theme-icon-moon{display:block}
.user-chip{max-width:250px;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:3px 6px 3px 3px;border-radius:8px;font-size:12px}
.user-chip:hover{background:var(--panel-2)}
.user-avatar{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);font-size:11px;font-weight:800;color:var(--text-strong);flex:0 0 auto}
.user-chip-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.user-chip-copy strong{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--text)}
.user-chip-copy small{margin-top:2px;color:var(--muted);font-size:9.5px}

/* Sidebar + page frame */
.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:calc(100vh - var(--header-h));transition:grid-template-columns .18s ease}
.sidebar{
  position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));padding:7px 8px 8px;
  border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;z-index:50;overflow:hidden
}
.sidebar-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 0 10px;scrollbar-width:thin}
.nav{display:flex;flex-direction:column;gap:1px}
.nav-caption{margin:15px 10px 5px;color:var(--muted-2);text-transform:none;font-size:10px;font-weight:700;letter-spacing:.035em;white-space:nowrap}
.nav-caption:first-child{margin-top:5px}
.nav a,.nav-signout{
  min-height:36px;width:100%;display:flex;align-items:center;gap:10px;padding:7px 9px;border:0;border-radius:8px;
  background:transparent;color:var(--muted);font-size:12.5px;font-weight:560;text-align:left;cursor:pointer;white-space:nowrap
}
.nav a:hover,.nav-signout:hover{background:var(--panel-2);color:var(--text-strong)}
.nav a.is-active{background:var(--accent-soft);color:var(--accent-text);font-weight:650}
.nav-icon{width:18px;height:18px;display:grid;place-items:center;flex:0 0 18px}
.nav-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nav-label{overflow:hidden;text-overflow:ellipsis}
.sidebar-footer{margin-top:auto;padding-top:7px;border-top:1px solid var(--line)}
.logout{margin:0}
.nav-signout{color:var(--muted)}
.sidebar-scrim{display:none}
body.sidebar-collapsed .shell{grid-template-columns:var(--sidebar-collapsed-w) minmax(0,1fr)}
body.sidebar-collapsed .header-brand-zone{width:calc(var(--sidebar-collapsed-w) - 14px)}
body.sidebar-collapsed .header-brand-zone .brand{display:none}
body.sidebar-collapsed .nav-caption,body.sidebar-collapsed .nav-label{display:none}
body.sidebar-collapsed .nav a,body.sidebar-collapsed .nav-signout{justify-content:center;padding-left:0;padding-right:0}
body.sidebar-collapsed .sidebar{padding-left:8px;padding-right:8px}

.main{min-width:0;padding:0;background:var(--bg)}
.content-container{width:min(100%,1540px);margin:0 auto;padding:24px clamp(18px,2.8vw,36px) 26px}
.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:19px}
.page-header h1{margin:2px 0 0;color:var(--text-strong);font-size:23px;line-height:1.2;letter-spacing:-.025em;font-weight:680}
.eyebrow{color:var(--muted);font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.085em;font-weight:750}
.footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px;padding:17px 2px 0;border-top:1px solid var(--line);color:var(--muted);font-size:10.5px;font-weight:500}
.footer a{color:var(--text);text-decoration:none}.footer a:hover{text-decoration:underline}

/* Cards and dashboard */
.grid{gap:12px}
.section-gap{margin-top:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.card h2{margin:5px 0 10px;color:var(--text-strong);font-size:16px;font-weight:650;letter-spacing:-.018em}
.card-heading{margin-bottom:12px}
.metric{min-height:122px;padding:16px}
.metric-label{font-size:11px;color:var(--muted);font-weight:600}
.metric strong{margin:auto 0 2px;color:var(--text-strong);font-size:23px;font-weight:680;letter-spacing:-.035em}
.metric span:last-child,.metric a{font-size:10.5px;color:var(--muted)}
.metric a{color:var(--accent-text);font-weight:600}
.metric-inline{display:flex;align-items:baseline;gap:7px;margin-top:18px}.metric-inline strong{font-size:24px;letter-spacing:-.035em}.metric-inline span{font-size:11px;color:var(--muted)}
.muted{color:var(--muted);font-size:12px}

/* Buttons */
.btn{min-height:34px;border:1px solid transparent;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:600;line-height:1.2;box-shadow:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn-secondary{background:var(--panel);border-color:var(--line-strong);color:var(--text)}.btn-secondary:hover{background:var(--panel-2);border-color:var(--line-strong);color:var(--text-strong)}
.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover{background:var(--panel-2);color:var(--text)}
.btn-danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 22%,var(--line));color:var(--danger)}
.btn-small{min-height:29px;padding:5px 9px;font-size:11px}
.button-row{gap:7px}
.back-link{color:var(--muted);font-size:11.5px}.back-link:hover{color:var(--text-strong)}

/* Forms */
.stack{gap:12px}
label{gap:5px;color:var(--text);font-size:11.5px;font-weight:600}
input,select,textarea,.table-input{
  min-height:36px;border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px;background:var(--panel);color:var(--text);outline:none;font-size:12px
}
textarea{min-height:96px}
input::placeholder,textarea::placeholder{color:var(--muted-2)}
input:hover,select:hover,textarea:hover,.table-input:hover{border-color:color-mix(in srgb,var(--line-strong) 70%,var(--text) 30%)}
input:focus,select:focus,textarea:focus,.table-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
.check{font-weight:500}.check input{min-height:0;accent-color:var(--accent)}
.form-grid{gap:10px}.form-actions{gap:8px}.form-card{max-width:1040px}.narrow-form-card{max-width:760px}
.validation{font-size:11px;color:var(--danger)}
.input-with-suffix,.input-with-prefix{border-color:var(--line-strong);border-radius:8px;background:var(--panel)}
.input-with-suffix>span,.input-with-prefix>span{background:var(--panel-2);color:var(--muted);border-color:var(--line);font-size:11px}
.input-with-suffix:focus-within,.input-with-prefix:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}

/* Alerts and badges */
.alert{padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:11.5px;font-weight:550}
.alert.success{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,var(--line))}
.alert.error{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--line))}
.status{padding:3px 7px;border-radius:999px;font-size:9.5px;font-weight:700;letter-spacing:.005em}
.status.pending{background:var(--warning-soft);color:var(--warning)}.status.approved{background:var(--success-soft);color:var(--success)}.status.rejected{background:var(--danger-soft);color:var(--danger)}
.strategy-badge{padding:3px 7px;font-size:9.5px;font-weight:700}.strategy-badge.auto{background:var(--accent-soft);color:var(--accent-text)}.strategy-badge.manual{background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}

/* Data surfaces */
.table-wrap{scrollbar-width:thin}
.data-table-wrap,.plan-currency-table-wrap,.settings-currency-table-wrap{border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:none}
table{font-size:11.5px}
th,td{padding:10px 11px;border-bottom:1px solid var(--line)}
th{background:var(--panel-2);color:var(--muted);font-size:9.5px;text-transform:none;letter-spacing:.02em;font-weight:650;white-space:nowrap}
.data-table th,.data-table td{padding:10px 12px}.data-table tbody tr:hover{background:color-mix(in srgb,var(--panel-2) 76%,transparent)}
.data-table tbody tr:last-child td{border-bottom:0}
.table-toolbar{gap:10px;padding:0 0 12px;border-top:0}.search-field{max-width:680px}.search-field input{min-width:260px}
.page-size{font-size:10.5px;color:var(--muted)}.page-size select{min-height:32px}
.table-footer{padding-top:11px}.pagination{gap:6px}.page-link,.page-current{border-color:var(--line);border-radius:7px;padding:6px 9px;background:var(--panel);color:var(--muted);font-size:10.5px}.page-link:hover{background:var(--panel-2);color:var(--text)}
.empty-state{padding:38px!important}
.row-actions{gap:5px}

/* Management page headers */
.management-header{gap:18px;margin-bottom:15px}.management-header h2{margin:3px 0 4px;font-size:17px}.management-header p{max-width:760px}
.page-actions{margin-bottom:11px}

/* Code surfaces */
.formula{background:var(--panel-2);border-color:var(--line);color:var(--text);border-radius:8px}
.key-preview,.copy-row code,pre{background:#171717;color:#e5e7eb;border:1px solid #2f2f2f;border-radius:8px}
html[data-theme="dark"] .key-preview,html[data-theme="dark"] .copy-row code,html[data-theme="dark"] pre{background:#151515;border-color:#393939;color:#e5e5e5}

/* Pricing and subscription cards */
.pricing-grid{gap:12px}.price-card{gap:12px}.price{color:var(--text-strong);font-size:32px;font-weight:680}.price span{font-size:11px;color:var(--muted)}.credits{font-size:12px}
.current-plan{gap:12px}

/* Plan editor + credit settings: normalize previous hard-coded surfaces */
.credit-strategy-panel,.margin-calculator-panel,.credit-mode-card,.calculator-summary>div,.credit-preview,
.plan-list-settings-strip,.settings-preview-card,.weight-card,.settings-save-bar,.payment-help{
  background:var(--panel-2);border-color:var(--line);color:var(--text)
}
.credit-mode-card{background:var(--panel)}.credit-mode-card:hover{border-color:var(--line-strong)}.credit-mode-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent);background:var(--accent-soft)}
.credit-mode-card strong,.credit-preview strong,.currency-cell strong,.settings-preview-number{color:var(--text-strong)}
.credit-mode-card small,.credit-preview span,.currency-cell span,.weight-card small,.settings-preview-breakdown span{color:var(--muted)}
.margin-calculator-panel,.settings-preview-card{background:color-mix(in srgb,var(--accent-soft) 45%,var(--panel))}
.calculator-summary>div,.credit-preview{background:var(--panel);border-color:var(--line)}
.plan-form-note{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 28%,var(--line));color:var(--success)}.plan-form-note span{color:var(--success)}
input.is-calculated{background:var(--panel-2);color:var(--text);font-weight:650}
.plan-list-settings-strip{border-radius:10px;margin-bottom:12px}.plan-list-settings-strip span{color:var(--muted-2);font-size:9px}.plan-list-settings-strip strong,.plan-list-settings-strip>a{color:var(--text);font-size:10.5px}
.plan-currency-table th,.settings-currency-table th{background:var(--panel-2)}
.credit-settings-hero{margin-bottom:12px}.credit-settings-hero h2{font-size:19px;color:var(--text-strong)}
.credit-settings-metrics{gap:12px}.credit-metric-card{min-height:110px;padding:15px}.credit-metric-card>span{font-size:9.5px;color:var(--muted)}.credit-metric-card>strong{font-size:21px;color:var(--text-strong)}
.credit-settings-card{background:var(--panel)}.settings-section{padding:18px;border-color:var(--line)}.settings-section-heading{margin-bottom:13px}.settings-section-heading h3{font-size:15px;color:var(--text-strong)}
.settings-save-bar{padding:13px 18px;background:var(--panel-2)}
.table-input{background:var(--panel);color:var(--text)}.inline-create-row td{background:color-mix(in srgb,var(--accent-soft) 38%,var(--panel))}

/* Auth pages */
.auth-header{padding-left:18px;padding-right:18px}.auth-main{min-height:calc(100vh - var(--header-h));padding:24px;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent-soft) 40%,var(--bg)),var(--bg) 42%)}
.auth-wrap{max-width:420px;margin:7vh auto}.auth-card{padding:24px}.auth-card h1,.auth-card h2{color:var(--text-strong)}

/* Misc existing components */
.payment-help{color:var(--muted)}.steps{color:var(--muted)}
.invoice-head,.invoice-line,.invoice-total{border-color:var(--line)}
.list-row{border-color:var(--line)}

/* Responsive */
@media(max-width:1100px){
  .content-container{padding-left:20px;padding-right:20px}
  .header-context{display:none}
}
@media(max-width:760px){
  :root{--header-h:50px}
  .app-header{padding:0 10px}.header-brand-zone{width:auto}.brand-copy small{display:none}.user-chip-copy{display:none}.user-chip{padding:2px}.user-avatar{width:30px;height:30px}
  .shell,body.sidebar-collapsed .shell{display:block;min-height:calc(100vh - var(--header-h))}
  .sidebar{
    position:fixed;top:var(--header-h);left:0;bottom:0;width:min(82vw,280px);height:auto;transform:translateX(-105%);
    transition:transform .2s ease;box-shadow:8px 0 30px rgba(0,0,0,.10);padding:8px;z-index:55
  }
  body.sidebar-open .sidebar{transform:translateX(0)}
  body.sidebar-collapsed .nav-caption,body.sidebar-collapsed .nav-label{display:block}
  body.sidebar-collapsed .nav a,body.sidebar-collapsed .nav-signout{justify-content:flex-start;padding:7px 9px}
  .sidebar-scrim{position:fixed;inset:var(--header-h) 0 0 0;z-index:54;border:0;background:rgba(0,0,0,.35);backdrop-filter:blur(1px)}
  body.sidebar-open .sidebar-scrim{display:block}
  .content-container{padding:18px 13px 22px}.page-header{margin-bottom:14px}.page-header h1{font-size:21px}
  .main{padding:0}.card{padding:15px}.metric{min-height:108px}
  .management-header{align-items:stretch;flex-direction:column}.management-header>.btn{align-self:flex-start}
  .footer{align-items:flex-start;flex-direction:column;gap:5px}
  .table-toolbar{align-items:stretch;flex-direction:column}.search-field{max-width:none}.search-field input{min-width:0}.page-size{align-self:flex-start}
}
@media print{
  .app-header,.sidebar,.sidebar-scrim,.page-header,.footer{display:none!important}
  .shell{display:block}.content-container{padding:0;max-width:none}.main{background:#fff}.card{border:0;box-shadow:none}
}

/* Remaining legacy component surfaces normalized to theme tokens */
.empty-panel,.model-source-panel,.wizard-progress,.wizard-progress li,.wizard-review-card,.wizard-note,.money-input,.currency-badge{background:var(--panel-2);border-color:var(--line);color:var(--text)}
.danger-card{background:var(--panel);border-color:color-mix(in srgb,var(--danger) 28%,var(--line))}.danger-card h2{color:var(--danger)}
.delete-summary{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 22%,var(--line));border-radius:10px}
.model-catalog-status.is-warning{color:var(--warning)}.model-catalog-status.is-success{color:var(--success)}.form-section-divider{color:var(--muted)}
.wizard-progress{border-radius:10px}.wizard-progress li{color:var(--muted-2)}.wizard-progress li strong{color:var(--muted)}.wizard-progress li small{color:var(--muted-2)}
.wizard-progress li>span{background:var(--panel);border-color:var(--line-strong)}
.wizard-progress li.is-active,.wizard-progress li.is-complete{background:var(--panel);color:var(--text)}
.wizard-progress li.is-active>span{background:var(--accent);border-color:var(--accent);color:#fff}.wizard-progress li.is-complete>span{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 30%,var(--line));color:var(--success)}
.wizard-progress li.is-active strong,.wizard-progress li.is-complete strong{color:var(--text-strong)}
.wizard-step-heading h3{color:var(--text-strong);font-size:17px}
.wizard-choice-card{min-height:140px;padding:15px;border-color:var(--line);border-radius:10px;background:var(--panel);color:var(--text)}
.wizard-choice-card:hover{border-color:var(--line-strong);transform:none;background:var(--panel-2)}.wizard-choice-card:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent);background:var(--accent-soft)}
.choice-check{background:var(--panel);border-color:var(--line-strong)}.wizard-choice-card:has(input:checked) .choice-check{border-color:var(--accent)}
.wizard-price{color:var(--text-strong);font-size:25px;font-weight:680}.wizard-price small{color:var(--muted);font-size:11px}.wizard-error{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 28%,var(--line));color:var(--danger)}
.wizard-note{background:color-mix(in srgb,var(--accent-soft) 38%,var(--panel));border-color:color-mix(in srgb,var(--accent) 20%,var(--line))}
.money-input{border-color:var(--line-strong);border-radius:8px;background:var(--panel)}.money-input>span{background:var(--panel-2);border-color:var(--line);color:var(--muted);font-size:11px}.currency-badge{background:var(--panel-2);color:var(--text);font-size:10px}

/* User profile — usage/activity layout, fully driven by the current theme tokens. */
.profile-identity{display:flex;align-items:center;gap:13px;margin:2px 0 16px;padding:0 2px}
.profile-avatar{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--text-strong);font-size:14px;font-weight:800;letter-spacing:-.02em;box-shadow:var(--shadow)}
.profile-identity-copy{min-width:0}.profile-identity-copy h1{margin:0;color:var(--text-strong);font-size:18px;line-height:1.2;letter-spacing:-.02em;font-weight:700}.profile-identity-copy p{margin:2px 0 0;color:var(--muted);font-size:11.5px}
.profile-identity-meta{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:6px;color:var(--muted);font-size:10px}.profile-identity-meta span{position:relative}.profile-identity-meta span+span:before{content:"";position:absolute;left:-7px;top:50%;width:2px;height:2px;border-radius:50%;background:var(--muted-2)}
.profile-usage-card,.profile-keys-card{padding:17px}.profile-card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.profile-toolbar-left{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.profile-card-toolbar h2{margin:0;font-size:13px;font-weight:700;color:var(--text-strong);letter-spacing:-.01em}
.profile-period-pill{display:inline-flex;align-items:center;min-height:29px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:var(--panel-2);color:var(--muted);font-size:9.5px;font-weight:650}
.profile-segmented{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.profile-segmented button{min-height:24px;padding:3px 9px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:9.5px;font-weight:650;cursor:pointer}.profile-segmented button:hover{color:var(--text)}.profile-segmented button.is-active{background:var(--panel);color:var(--accent-text);box-shadow:0 0 0 1px var(--line)}
.profile-text-link{color:var(--muted);font-size:10px;font-weight:650}.profile-text-link:hover{color:var(--text-strong)}
.profile-usage-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.9fr);gap:0;min-height:250px}.profile-usage-main{min-width:0;padding-right:18px}.profile-top-models{min-width:0;padding-left:18px;border-left:1px solid var(--line)}
.profile-total{color:var(--text-strong);font-size:28px;line-height:1;font-weight:700;letter-spacing:-.04em}.profile-total-caption{margin-top:5px;color:var(--muted);font-size:10px}
.profile-chart{margin-top:14px}.profile-chart-plot{height:165px;display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:10px;padding:6px 4px 0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 40px,var(--line) 41px,transparent 42px)}.profile-chart-day{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 20px;gap:6px;min-width:0}.profile-chart-bar-track{height:100%;display:flex;align-items:flex-end;justify-content:center}.profile-chart-bar{width:min(28px,58%);height:var(--usage-height,0%);min-height:0;border-radius:5px 5px 2px 2px;background:var(--accent);opacity:.88;transition:height .22s ease,opacity .15s ease}.profile-chart-bar[data-has-value="true"]{min-height:4px}.profile-chart-day span{text-align:center;color:var(--muted);font-size:9px;white-space:nowrap}
.profile-subheading{display:flex;align-items:baseline;gap:5px;margin-bottom:16px}.profile-subheading strong{color:var(--text-strong);font-size:11px}.profile-subheading span{color:var(--muted);font-size:9.5px}.profile-model-list{display:grid;gap:13px}.profile-model-row{display:grid;gap:6px}.profile-model-line{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.profile-model-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:10.5px}.profile-model-line strong{flex:0 0 auto;color:var(--text-strong);font-size:10px;font-variant-numeric:tabular-nums}.profile-model-bar-track{height:4px;overflow:hidden;border-radius:999px;background:var(--panel-2)}.profile-model-bar-track span{display:block;width:var(--model-width,0%);height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}.profile-empty{padding:20px 0;color:var(--muted);font-size:10.5px}
.profile-activity-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.profile-activity-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-activity-heading h3{margin:0 0 2px;color:var(--text-strong);font-size:11px}.profile-activity-heading .muted{font-size:9.5px}.profile-activity-unit{color:var(--muted);font-size:9.5px;font-weight:650}
.profile-activity-stats{display:flex;align-items:stretch;gap:0;margin:11px 0 10px}.profile-activity-stats>div{min-width:105px;padding:0 19px;border-right:1px solid var(--line)}.profile-activity-stats>div:first-child{padding-left:0}.profile-activity-stats>div:last-child{border-right:0}.profile-activity-stats span,.profile-key-stats span{display:block;color:var(--muted);font-size:9px}.profile-activity-stats strong,.profile-key-stats strong{display:block;margin-top:2px;color:var(--text-strong);font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}
.activity-scroll{overflow-x:auto;padding:2px 0 1px;scrollbar-width:thin}.activity-calendar{width:max-content;min-width:100%}.activity-month-row,.activity-grid-row{display:grid;grid-template-columns:22px max-content;gap:5px}.activity-months,.activity-weeks{display:grid;grid-template-columns:repeat(53,11px);gap:3px}.activity-months{height:16px;align-items:end}.activity-months span{height:14px;color:var(--muted);font-size:8px;white-space:nowrap;overflow:visible}.activity-day-labels{display:grid;grid-template-rows:repeat(7,11px);gap:3px;color:var(--muted);font-size:7px;line-height:11px}.activity-day-labels span{text-align:left}.activity-week{display:grid;grid-template-rows:repeat(7,11px);gap:3px}.activity-cell{display:block;width:11px;height:11px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:3px;background:var(--panel-2)}.activity-cell.level-1{background:color-mix(in srgb,var(--accent) 22%,var(--panel));border-color:color-mix(in srgb,var(--accent) 12%,var(--line))}.activity-cell.level-2{background:color-mix(in srgb,var(--accent) 42%,var(--panel));border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}.activity-cell.level-3{background:color-mix(in srgb,var(--accent) 68%,var(--panel));border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}.activity-cell.level-4{background:var(--accent);border-color:var(--accent)}.activity-cell.is-future{opacity:.3}.activity-legend{display:flex;align-items:center;justify-content:flex-start;gap:3px;margin:8px 0 0 27px;color:var(--muted);font-size:8px}.activity-legend span:first-child{margin-right:2px}.activity-legend span:last-child{margin-left:2px}
.profile-heading-count{margin-left:3px;color:var(--muted);font-size:10px;font-weight:600}.profile-key-stats{display:flex;align-items:stretch;margin:3px 0 13px}.profile-key-stats>div{min-width:120px;padding:0 24px;border-right:1px solid var(--line)}.profile-key-stats>div:first-child{padding-left:0}.profile-key-stats>div:last-child{border-right:0}.profile-keys-table{border-radius:8px}.profile-key-code{padding:2px 5px;border-radius:5px;background:var(--panel-2);color:var(--text);font-size:10px}
@media(max-width:980px){.profile-usage-layout{grid-template-columns:1fr}.profile-usage-main{padding-right:0}.profile-top-models{margin-top:18px;padding:17px 0 0;border-left:0;border-top:1px solid var(--line)}.profile-model-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px}}
@media(max-width:760px){.profile-identity{align-items:flex-start}.profile-identity-meta{gap:4px 10px}.profile-identity-meta span+span:before{display:none}.profile-usage-card,.profile-keys-card{padding:14px}.profile-card-toolbar{align-items:flex-start}.profile-toolbar-left{align-items:flex-start}.profile-segmented{order:3;width:100%}.profile-segmented button{flex:1}.profile-chart-plot{gap:5px;height:150px}.profile-chart-bar{width:58%}.profile-model-list{grid-template-columns:1fr}.profile-activity-stats,.profile-key-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-activity-stats>div,.profile-key-stats>div{min-width:0;padding:0;border-right:0}.profile-keys-card .profile-card-toolbar{flex-direction:column}.profile-keys-card .btn{width:100%}}

/* Super Admin command center and business reports */
.report-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}
.report-toolbar h2{margin:.25rem 0 .35rem}
.report-alert{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.report-alert p{margin:.2rem 0 0}
.report-alert-warning{border-left:4px solid #d97706}
.report-alert-danger{border-left:4px solid #dc2626}
.report-alert-ok{border-left:4px solid #16a34a}
.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.kv-grid>div{padding:.85rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.kv-grid span{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.25rem}
.kv-grid strong{font-size:1.05rem}
.section-gap-small{margin-top:1rem}
@media (max-width:760px){.kv-grid{grid-template-columns:1fr}.report-alert{align-items:flex-start;flex-direction:column}}


.profile-usage-inline-summary {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  margin-top: .55rem;
  color: var(--muted, #6b7280);
  font-size: .9rem;
}
.profile-usage-inline-summary strong { color: var(--text, inherit); }

/* UI consistency and responsive admin cleanup */
:root{
  --surface:var(--panel);
  --surface-2:var(--panel-2);
  --border:var(--line);
}

.admin-page-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 16px;padding:2px 2px 0;
}
.admin-page-head h1{margin:3px 0 4px;color:var(--text-strong);font-size:23px;line-height:1.2;letter-spacing:-.025em;font-weight:680}
.admin-page-head p{margin:0;max-width:780px}
.admin-page-head-meta{align-self:center;color:var(--muted);font-size:11px;font-weight:650;white-space:nowrap}
.card-heading h1{margin:3px 0 4px;color:var(--text-strong);font-size:20px;line-height:1.25;letter-spacing:-.02em;font-weight:680}

.report-alert{border-color:var(--line);background:var(--panel-2)}
.kv-grid>div{border-color:var(--line);background:var(--panel-2)}

.report-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
.report-filter-grid label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:10.5px;font-weight:650}
.report-filter-grid input,.report-filter-grid select{width:100%;min-width:0}
.report-filter-actions{align-self:end;min-height:36px}
.report-filter-actions .btn{white-space:nowrap}
.admin-log-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:10px;scrollbar-width:thin}
.admin-log-table{min-width:2280px}
.admin-log-table th,.admin-log-table td{white-space:nowrap}
.admin-log-table thead th{position:sticky;top:0;z-index:1;background:var(--panel-2)}
.admin-log-table .num{text-align:right;font-variant-numeric:tabular-nums}
.admin-log-table .empty-cell{text-align:center;padding:64px 24px;white-space:normal}
.admin-log-table tbody tr:hover{background:color-mix(in srgb,var(--panel-2) 76%,transparent)}
.admin-log-pagination{justify-content:flex-end;align-items:center}
.nowrap{white-space:nowrap}

/* Dense admin actions should wrap instead of forcing the whole page wider. */
.row-actions{flex-wrap:wrap;white-space:normal}
.row-actions form{margin:0}
.provider-key-table{min-width:900px}
.provider-key-table td:nth-child(3),.provider-key-table td:nth-child(4){min-width:180px;white-space:normal}
.provider-key-table td:nth-child(5){min-width:150px;white-space:nowrap}

.admin-credit-form{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(190px,1.25fr) auto;align-items:center;gap:7px;min-width:430px}
.admin-credit-form input{min-width:0}
.admin-credit-form .btn{white-space:nowrap}

/* Keep long identifiers from breaking cards while preserving table scrolling. */
.card code,.card .muted,.report-alert p{overflow-wrap:anywhere}
.table-wrap{max-width:100%}
.table-wrap table{min-width:max-content}
.table-wrap table:not(.admin-log-table){min-width:100%}

@media(max-width:900px){
  .admin-page-head{align-items:stretch;flex-direction:column;gap:10px}
  .admin-page-head-meta{align-self:flex-start}
  .report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .admin-page-head{margin-bottom:13px;padding:0}
  .admin-page-head h1{font-size:21px}
  .admin-page-head>.btn{align-self:flex-start}
  .report-filter-grid{grid-template-columns:1fr}
  .report-filter-actions{width:100%}
  .report-filter-actions .btn{flex:1}
  .admin-log-pagination{justify-content:space-between}
  .provider-key-table{min-width:820px}
  .admin-credit-form{grid-template-columns:1fr;min-width:260px}
  .admin-credit-form .btn{width:100%}
  .table-footer{align-items:flex-start;flex-direction:column}
  .pagination{width:100%;justify-content:space-between}
}

/* Shared system pagination */
.system-pagination{margin-top:2px}
.pagination-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pagination-summary .page-size{display:inline-flex}
.page-number{min-width:32px;text-align:center}
.page-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:18px;color:var(--muted);font-size:11px}
@media(max-width:760px){
  .system-pagination{gap:10px}
  .pagination-summary{width:100%;justify-content:space-between}
  .pagination .page-number,.pagination .page-ellipsis{display:none}
}

/* Account security */
.bot-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px}
.auth-row>a{color:var(--accent-text);font-weight:650}
.auth-help{margin:-3px 0 2px;font-size:10px;line-height:1.45}
.captcha-wrap{min-height:65px;display:flex;align-items:center;overflow:hidden}
.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.security-card{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:150px}
.security-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.security-card-head h2,.security-form-card h2{margin:0 0 5px;color:var(--text-strong);font-size:17px}
.security-card-head p{margin:0}
.content-narrow{max-width:680px;margin:0 auto}
.security-form-card{padding:22px}
.security-steps{margin:14px 0;padding-left:20px;color:var(--text);font-size:12px;line-height:1.65}
.secret-key{margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);text-align:center}
.secret-key code{font-size:15px;font-weight:700;letter-spacing:.08em;word-break:break-all}
.security-details{margin-top:10px;color:var(--muted);font-size:11px}
.security-details summary{cursor:pointer;font-weight:650;color:var(--text)}
.break-all{display:block;margin-top:8px;padding:9px;border-radius:7px;background:var(--panel-2);word-break:break-all;white-space:normal}
.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.recovery-code-grid code{display:block;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--panel-2);text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em}
@media(max-width:760px){.security-grid{grid-template-columns:1fr}.security-card-head{flex-direction:column}.recovery-code-grid{grid-template-columns:1fr}.captcha-wrap{overflow-x:auto}}

.two-factor-qr-wrap{margin:16px 0 18px;text-align:center}
.two-factor-qr{display:block;width:216px;height:216px;max-width:100%;margin:0 auto 8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;image-rendering:pixelated}
.two-factor-manual{margin:8px 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2)}
.two-factor-manual>summary{font-size:12px}
.two-factor-manual p{margin:10px 0 6px;color:var(--muted);font-size:12px}
@media (max-width:480px){.two-factor-qr{width:190px;height:190px}}

/* ==========================================================================
   New API-inspired interface layer
   Visual adaptation only: compact gateway console, neutral surfaces, blue
   accent, dense data tooling, responsive sidebar, and charcoal dark mode.
   ========================================================================== */
:root{
  --bg:#f7f8fa;
  --panel:#ffffff;
  --panel-2:#f9fafb;
  --panel-3:#f3f4f6;
  --text:#18181b;
  --text-strong:#09090b;
  --muted:#71717a;
  --muted-2:#a1a1aa;
  --line:#e4e4e7;
  --line-strong:#d4d4d8;
  --accent:#4d9cf8;
  --accent-hover:#3b82f6;
  --accent-soft:#edf6ff;
  --accent-text:#2563eb;
  --danger:#dc2626;
  --danger-soft:#fef2f2;
  --success:#16a34a;
  --success-soft:#f0fdf4;
  --warning:#d97706;
  --warning-soft:#fffbeb;
  --radius:13px;
  --radius-sm:9px;
  --shadow:0 1px 2px rgba(15,23,42,.025),0 1px 3px rgba(15,23,42,.025);
  --header-h:48px;
  --sidebar-w:252px;
  --sidebar-collapsed-w:60px;
  --content-max:1600px;
}
html[data-theme="dark"]{
  --bg:#303030;
  --panel:#393939;
  --panel-2:#343434;
  --panel-3:#404040;
  --text:#ededed;
  --text-strong:#fafafa;
  --muted:#b5b5b5;
  --muted-2:#858585;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.15);
  --accent:#4e8fe8;
  --accent-hover:#62a0f2;
  --accent-soft:#31455f;
  --accent-text:#a8ccff;
  --danger:#fb7185;
  --danger-soft:#4b3035;
  --success:#4ade80;
  --success-soft:#294235;
  --warning:#fbbf24;
  --warning-soft:#4b412b;
  --shadow:0 1px 2px rgba(0,0,0,.12);
}
html{font-family:"Public Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{font-size:13px;letter-spacing:-.004em}

/* Top app chrome */
.app-header{
  height:var(--header-h);padding:0 12px;gap:10px;
  background:color-mix(in srgb,var(--panel) 96%,transparent);
  border-bottom:1px solid var(--line);box-shadow:none
}
.header-brand-zone{width:calc(var(--sidebar-w) - 12px);gap:6px}
.sidebar-toggle{width:32px;height:32px;border-radius:8px}
.brand{gap:8px}
.brand-mark{
  width:28px;height:28px;border-radius:8px;color:#fff;
  background:linear-gradient(145deg,#63b3ff 0%,#3b82f6 58%,#6366f1 100%);
  box-shadow:0 1px 2px rgba(37,99,235,.22)
}
.brand-mark svg{width:15px;height:15px;fill:currentColor;stroke:none}
html[data-theme="dark"] .brand-mark{background:linear-gradient(145deg,#63b3ff 0%,#3b82f6 58%,#6366f1 100%);color:#fff}
.brand-copy strong{font-size:12.5px;font-weight:720;letter-spacing:-.02em}
.brand-copy small{margin-top:2px;font-size:8.5px;letter-spacing:.075em;color:var(--muted-2)}
.header-topnav{display:flex;align-items:center;gap:2px;margin-left:2px}
.header-topnav a{padding:5px 9px;border-radius:7px;color:var(--muted);font-size:11.5px;font-weight:600}
.header-topnav a:hover{background:var(--panel-2);color:var(--text-strong)}
.header-actions{margin-left:auto}
.header-context{font-size:10.5px;color:var(--muted-2);padding:0 5px}
.icon-button{width:32px;height:32px;border-radius:8px}
.icon-button:hover{background:var(--panel-2);border-color:var(--line)}
.user-chip{padding:2px 5px 2px 2px;border-radius:8px;gap:7px}
.user-avatar{width:28px;height:28px;border-radius:8px;background:var(--panel-2);font-size:10.5px}
.user-chip-copy strong{font-size:10.5px;font-weight:650}.user-chip-copy small{font-size:9px}

/* Sidebar */
.shell{min-height:calc(100vh - var(--header-h));grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
.sidebar{
  top:var(--header-h);height:calc(100vh - var(--header-h));padding:7px 7px 8px;
  background:color-mix(in srgb,var(--panel) 96%,var(--bg));border-right:1px solid var(--line)
}
.sidebar-scroll{padding:1px 0 10px}
.nav{gap:1px}
.nav-caption{margin:14px 10px 5px;font-size:9px;font-weight:720;letter-spacing:.055em;color:var(--muted-2);text-transform:uppercase}
.nav-caption:first-child{margin-top:6px}
.nav a,.nav-signout{
  min-height:34px;gap:9px;padding:6px 9px;border-radius:8px;color:var(--muted);font-size:11.5px;font-weight:560
}
.nav a:hover,.nav-signout:hover{background:var(--panel-2);color:var(--text-strong)}
.nav a.is-active{
  background:var(--accent-soft);color:var(--accent-text);font-weight:660;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)
}
.nav-icon{width:17px;height:17px;flex-basis:17px}.nav-icon svg{width:16px;height:16px;stroke-width:1.75}
.sidebar-footer{padding-top:6px;border-top:1px solid var(--line)}
body.sidebar-collapsed .header-brand-zone{width:calc(var(--sidebar-collapsed-w) - 12px)}
body.sidebar-collapsed .sidebar{padding-left:6px;padding-right:6px}
body.sidebar-collapsed .nav a,body.sidebar-collapsed .nav-signout{min-height:36px;border-radius:9px}

/* Main page composition */
.main{background:var(--bg)}
.content-container{width:min(100%,var(--content-max));padding:20px clamp(16px,2.2vw,30px) 26px}
.page-header{align-items:center;margin-bottom:16px;min-height:36px}
.page-header h1,.admin-page-head h1{font-size:20px;font-weight:690;letter-spacing:-.03em;color:var(--text-strong)}
.page-header .eyebrow,.admin-page-head .eyebrow{font-size:9px;letter-spacing:.075em;color:var(--muted-2)}
.admin-page-head{margin-bottom:16px}
.admin-page-head p{margin-top:4px;max-width:760px}
.admin-page-head-meta{padding:5px 9px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--muted);font-size:10px;font-weight:650}
.footer{margin-top:24px;padding-top:14px;font-size:10px}

/* Cards */
.grid{gap:11px}.section-gap{margin-top:11px}.section-gap-small{margin-top:10px}
.card{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);padding:16px
}
.card:hover{border-color:color-mix(in srgb,var(--line) 80%,var(--line-strong) 20%)}
.card h2{font-size:14.5px;font-weight:670;letter-spacing:-.02em;margin:4px 0 9px}
.card-heading{margin-bottom:10px}
.metric{min-height:112px;padding:15px;position:relative;overflow:hidden}
.metric::after{content:"";position:absolute;right:-26px;top:-31px;width:82px;height:82px;border-radius:50%;background:color-mix(in srgb,var(--accent) 6%,transparent);pointer-events:none}
.metric-label{font-size:10.5px;font-weight:600;color:var(--muted)}
.metric strong{font-size:21px;font-weight:690;margin:auto 0 1px;color:var(--text-strong)}
.metric span:last-child,.metric a,.metric small{font-size:9.5px;line-height:1.45}
.metric a{color:var(--accent-text)}
.cards-4{gap:11px}.cards-2{gap:11px}

/* Buttons + controls */
.btn{min-height:32px;border-radius:8px;padding:6px 11px;font-size:11px;font-weight:630}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn-secondary{background:var(--panel);border-color:var(--line-strong);color:var(--text)}
.btn-secondary:hover{background:var(--panel-2);border-color:color-mix(in srgb,var(--line-strong) 75%,var(--text) 25%)}
.btn-ghost{color:var(--muted)}.btn-small{min-height:27px;padding:4px 8px;font-size:10px}
.button-row{gap:6px}
label{font-size:10.5px;font-weight:620;color:var(--text)}
input,select,textarea,.table-input{min-height:34px;border-radius:8px;padding:6px 9px;font-size:11px;background:var(--panel);border-color:var(--line-strong)}
input:focus,select:focus,textarea:focus,.table-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}
.form-grid{gap:9px}.stack{gap:10px}

/* Tables, filters and pagination */
.table-wrap,.table-scroll,.data-table-wrap{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:auto}
.card>.table-wrap:first-child,.card>.table-scroll:first-child{margin:-1px}
table{font-size:11px}
th,td{padding:9px 10px;border-bottom:1px solid var(--line)}
th{
  background:var(--panel-2);color:var(--muted);font-size:9px;font-weight:720;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap
}
tbody tr{transition:background-color .12s ease}tbody tr:hover{background:color-mix(in srgb,var(--panel-2) 70%,transparent)}
.data-table th,.data-table td{padding:9px 10px}
.data-table tbody tr:last-child td,table tbody tr:last-child td{border-bottom:0}
.table-toolbar{padding:10px 0;border-top:0;gap:10px}.table-footer{padding-top:10px}
.search-field{max-width:560px}.search-field input{min-width:210px}
.page-link,.page-current{border-radius:7px;padding:5px 8px;font-size:10px;background:var(--panel);border-color:var(--line)}
.page-link:hover{background:var(--panel-2)}.page-current{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 18%,var(--line));color:var(--accent-text)}
.report-filter-grid{padding:1px;gap:9px}.report-filter-actions{align-self:end}
.admin-log-table-wrap{max-height:calc(100vh - 285px);border-radius:10px}
.admin-log-table thead th{position:sticky;top:0;z-index:2;background:var(--panel-2);box-shadow:0 1px 0 var(--line)}
.admin-log-table td{white-space:nowrap}.admin-log-table td:nth-child(2),.admin-log-table td:nth-child(3),.admin-log-table td:nth-child(4){max-width:220px;overflow:hidden;text-overflow:ellipsis}

/* Status, alerts and operational surfaces */
.status{padding:3px 7px;font-size:9px;border-radius:999px;font-weight:720}
.alert{padding:9px 11px;margin-bottom:11px;border-radius:9px;font-size:10.5px}
.report-alert{border-radius:9px!important;padding:10px!important}
.kv-grid>div{border-radius:9px!important;background:var(--panel-2)!important;border-color:var(--line)!important}
.empty-panel,.model-source-panel,.wizard-review-card,.wizard-note,.credit-strategy-panel,.margin-calculator-panel,.settings-preview-card,.weight-card,.credit-preview{border-radius:10px!important;background:var(--panel-2)!important;border-color:var(--line)!important}

/* Auth screens */
.auth-main{min-height:calc(100vh - var(--header-h));display:grid;place-items:start center;padding:0 16px 40px;background:
  radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 38%),var(--bg)}
.auth-wrap{width:min(100%,420px);margin:8vh auto 0}
.auth-card{padding:24px;border-radius:15px;box-shadow:0 12px 32px rgba(15,23,42,.06)}
html[data-theme="dark"] .auth-card{box-shadow:0 12px 32px rgba(0,0,0,.18)}
.auth-card h2{font-size:20px;margin:5px 0 18px}.auth-card .btn-primary{width:100%}
.auth-row{font-size:10.5px}.auth-help{font-size:10px}
.bot-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Profile and settings density */
.profile-usage-card,.profile-keys-card{padding:15px}.profile-identity{margin-bottom:13px}.profile-avatar{width:42px;height:42px;border-radius:10px;background:var(--accent-soft);color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 15%,var(--line))}
.profile-segmented{border-radius:7px}.profile-segmented button{border-radius:5px}
.profile-total{font-size:25px}.profile-chart-bar{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 80%,#fff),var(--accent))}
.profile-model-bar-track span{background:var(--accent)}

/* Give large admin pages more of a console/table feel. */
.management-header{margin-bottom:14px}.management-header h2{font-size:17px;margin:2px 0 4px}.management-header p{font-size:10.5px}
.plan-list-settings-strip{background:var(--panel-2);border-color:var(--line);border-radius:10px}
.settings-section{padding:18px}.settings-save-bar{background:var(--panel-2)}

@media(max-width:1180px){
  .header-topnav{display:none}
  .content-container{padding-left:18px;padding-right:18px}
}
@media(max-width:760px){
  :root{--header-h:48px}
  .app-header{padding:0 8px}.header-brand-zone{width:auto}.header-context{display:none}
  .sidebar{width:min(84vw,284px);padding:7px}.nav a,.nav-signout{min-height:36px;font-size:12px}
  .content-container{padding:15px 11px 20px}.page-header{margin-bottom:12px}.page-header h1,.admin-page-head h1{font-size:19px}
  .card{padding:13px;border-radius:11px}.metric{min-height:104px}
  .table-wrap,.table-scroll,.data-table-wrap{border-radius:9px}
  .admin-log-table-wrap{max-height:none}
  .auth-main{padding-left:12px;padding-right:12px}.auth-wrap{margin-top:6vh}.auth-card{padding:20px}
}

/* User overview command center */
.overview-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:2px 0 4px}.overview-actions>div:first-child{display:flex;flex-direction:column;gap:3px}.overview-status-line{display:flex;align-items:center;gap:7px;color:var(--text-strong);font-size:13px}.overview-status-dot{width:8px;height:8px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 13%,transparent)}.overview-status-dot.is-ready{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 13%,transparent)}
.overview-notices{display:grid;gap:7px}.overview-notice{min-height:55px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);text-decoration:none}.overview-notice:hover{border-color:var(--line-strong);background:var(--panel-2)}.overview-notice>span:nth-child(2){display:flex;flex-direction:column;gap:1px;min-width:0}.overview-notice strong{font-size:11.5px;color:var(--text-strong)}.overview-notice small{font-size:10px;color:var(--muted)}.overview-notice-arrow{color:var(--muted);font-size:15px}.overview-metric small{display:block;margin-top:2px}.overview-main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.7fr);gap:12px}.overview-secondary-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:12px}.overview-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.overview-card-heading h2{margin-bottom:0}.overview-inline-stats{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.overview-inline-stats span{display:flex;flex-direction:column;align-items:flex-end;color:var(--muted);font-size:9.5px}.overview-inline-stats strong{color:var(--text-strong);font-size:12px}
.overview-chart{height:188px;display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));align-items:end;gap:8px;padding:13px 4px 2px;border-top:1px solid var(--line)}.overview-chart-day{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto auto;align-items:end;gap:4px;text-align:center;min-width:0}.overview-chart-track{height:100%;display:flex;align-items:flex-end;justify-content:center;border-radius:7px;background:linear-gradient(to top,color-mix(in srgb,var(--accent) 3%,transparent),transparent)}.overview-chart-bar{display:block;width:min(32px,70%);min-height:2px;border-radius:6px 6px 3px 3px;background:color-mix(in srgb,var(--accent) 76%,#fff);transition:height .2s ease}.overview-chart-bar.level-0{height:2px;background:var(--line)}.overview-chart-bar.level-1{height:10%}.overview-chart-bar.level-2{height:20%}.overview-chart-bar.level-3{height:30%}.overview-chart-bar.level-4{height:40%}.overview-chart-bar.level-5{height:50%}.overview-chart-bar.level-6{height:60%}.overview-chart-bar.level-7{height:70%}.overview-chart-bar.level-8{height:80%}.overview-chart-bar.level-9{height:90%}.overview-chart-bar.level-10{height:100%}.overview-chart-day>strong{font-size:9px;color:var(--text);overflow:hidden;text-overflow:ellipsis}.overview-chart-day>span{font-size:9px;color:var(--muted)}.overview-usage-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:11px;border-top:1px solid var(--line);font-size:10.5px;color:var(--muted)}.overview-usage-footer strong{color:var(--text)}.overview-usage-footer a{color:var(--accent-text);font-weight:600;text-decoration:none}
.overview-setup-card{display:flex;flex-direction:column}.overview-checklist{display:grid;gap:5px;margin-bottom:12px}.overview-checklist>div{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:9px;padding:7px 8px;border-radius:8px}.overview-checklist>div:hover{background:var(--panel-2)}.overview-checklist>div>span{width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:7px;color:var(--muted);font-size:10px;font-weight:700}.overview-checklist>div.is-complete>span{border-color:color-mix(in srgb,var(--success) 28%,var(--line));background:var(--success-soft);color:var(--success)}.overview-checklist p{display:flex;flex-direction:column;margin:0;line-height:1.25}.overview-checklist strong{font-size:11px;color:var(--text-strong)}.overview-checklist small{margin-top:2px;color:var(--muted);font-size:9.5px}.overview-endpoint{display:flex;flex-direction:column;gap:5px;padding:9px 10px;margin-top:7px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.overview-endpoint>span{font-size:9.5px;color:var(--muted)}.overview-endpoint code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px}.overview-full-button{width:100%;margin-top:auto}
.overview-model-list{display:grid;gap:12px}.overview-model-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.overview-model-title,.overview-model-values{display:flex;align-items:baseline;gap:8px;min-width:0}.overview-model-title strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-strong)}.overview-model-title span,.overview-model-values span{font-size:9.5px;color:var(--muted)}.overview-model-values{justify-content:flex-end}.overview-model-values strong{font-size:10.5px;color:var(--text)}.overview-model-track{grid-column:1/-1;height:4px;border-radius:99px;background:var(--panel-2);overflow:hidden}.overview-model-track>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.overview-model-track>span.level-0{width:0}.overview-model-track>span.level-1{width:10%}.overview-model-track>span.level-2{width:20%}.overview-model-track>span.level-3{width:30%}.overview-model-track>span.level-4{width:40%}.overview-model-track>span.level-5{width:50%}.overview-model-track>span.level-6{width:60%}.overview-model-track>span.level-7{width:70%}.overview-model-track>span.level-8{width:80%}.overview-model-track>span.level-9{width:90%}.overview-model-track>span.level-10{width:100%}.overview-empty{display:grid;place-items:center;min-height:130px;color:var(--muted);font-size:11px;border:1px dashed var(--line);border-radius:9px;background:var(--panel-2)}
.overview-quick-links{display:grid;gap:4px}.overview-quick-links>a{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border-radius:8px;color:var(--text);text-decoration:none}.overview-quick-links>a:hover{background:var(--panel-2)}.overview-quick-icon{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--accent-text);font-weight:700}.overview-quick-links>a>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.overview-quick-links strong{font-size:10.5px;color:var(--text-strong)}.overview-quick-links small{font-size:9.5px;color:var(--muted)}.overview-quick-links b{color:var(--muted);font-weight:500}.overview-recent-table table{min-width:980px}.overview-recent-table code{font-size:10px}.overview-recent-table .status{white-space:nowrap}.nowrap{white-space:nowrap}
@media(max-width:1100px){.overview-main-grid,.overview-secondary-grid{grid-template-columns:1fr}.overview-setup-card{min-height:auto}.overview-full-button{margin-top:10px}}
@media(max-width:760px){.overview-actions{align-items:stretch;flex-direction:column}.overview-actions .button-row{display:grid;grid-template-columns:1fr 1fr}.overview-actions .button-row .btn:first-child{grid-column:1/-1}.overview-inline-stats{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.overview-inline-stats span{align-items:flex-start}.overview-card-heading{flex-direction:column;align-items:stretch}.overview-chart{gap:4px;height:160px}.overview-chart-day>strong{display:none}.overview-notice{grid-template-columns:auto minmax(0,1fr)}.overview-notice-arrow{display:none}}
@media(max-width:500px){.overview-chart{height:140px;padding-left:0;padding-right:0}.overview-chart-bar{width:70%}.overview-inline-stats{gap:7px}.overview-actions .button-row{grid-template-columns:1fr}.overview-actions .button-row .btn:first-child{grid-column:auto}.overview-model-row{grid-template-columns:minmax(0,1fr);gap:3px}.overview-model-values{justify-content:flex-start}.overview-model-track{grid-column:1}}
.status.warning{background:var(--warning-soft);color:var(--warning)}
