:root{color-scheme:dark;--bg:#0e1117;--sidebar:#11151d;--panel:#151a23;--raised:#1a202c;--line:#272f3c;--text:#eff2f8;--muted:#97a4b8;--accent:#C04BFF;--accent-bg:rgba(192,75,255,.14);--green:#82d9b0;--red:#f6a1ab;--amber:#e8c586;--radius:12px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 "Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;border:1px solid transparent;border-radius:7px;background:var(--accent);color:#19142d;padding:10px 15px;font-size:12px;font-weight:650;line-height:1.5;transition:background .15s,border-color .15s}button:hover{background:var(--accent)}button:disabled{opacity:.48;cursor:not-allowed}button.ghost{color:#d1d9e7;border-color:#364153;background:transparent}button.ghost:hover{background:var(--raised);border-color:#536179}button.danger{color:#ffb2bb;background:#362029;border-color:#673744}button.mini{font-size:11px;padding:5px 9px}button.text-button{padding:3px 0;background:none;color:var(--accent);border:0}button.text-button:hover{text-decoration:underline}button.icon-button{background:none;color:var(--muted);border-color:var(--line);padding:8px;display:inline-grid;place-items:center}button.icon-button:hover{color:var(--text);background:var(--raised)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}
.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 18px 18px;z-index:30}.brand{display:flex;gap:12px;align-items:center;padding:0 10px;color:var(--text);font-size:18px;font-weight:750;letter-spacing:3px}.brand small{font-size:8px;letter-spacing:1.5px;color:var(--muted);display:block;margin-top:1px;font-weight:550}.mark{position:relative;display:grid;place-items:center;background:var(--accent);width:34px;height:37px;border-radius:9px;color:#19152c;font-size:24px;font-weight:650;letter-spacing:-2px;padding-right:2px}.mark span{position:absolute;width:6px;height:6px;background:var(--sidebar);right:7px;bottom:9px;border-radius:1px}.nav-caption{margin:44px 12px 13px;font-size:9px;letter-spacing:1.7px;color:#73839a;font-weight:650}nav{display:flex;flex-direction:column;gap:5px}.nav-link{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;background:transparent;color:var(--muted);text-align:left;font-size:13px;font-weight:500}.nav-link:hover{background:#1b222d;color:var(--text)}.nav-link[aria-current=page]{background:var(--accent-bg);color:var(--accent)}.nav-link svg{flex-shrink:0}.sidebar-bottom{margin-top:auto;padding-top:30px}.workspace-label{display:flex;align-items:center;gap:10px;padding:17px 7px;border-top:1px solid var(--line)}.avatar{width:31px;height:31px;border:1px solid #394359;border-radius:9px;background:#202838;display:grid;place-items:center;color:#c4cde0;font-size:10px;font-weight:700;flex-shrink:0}.workspace-label strong{display:block;font-size:11px;max-width:124px;overflow:hidden;text-overflow:ellipsis}.workspace-label small{display:block;color:var(--muted);font-size:10px}.workspace-label>.status-dot{margin-left:auto}.status-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;flex-shrink:0}.status-dot.unused{background:var(--accent)}.status-dot.stopped{background:var(--amber)}button.signout{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 11px;background:none;border:1px solid var(--line);color:var(--muted);font-weight:500;font-size:11px}button.signout:hover{color:var(--text);background:var(--raised)}
main{margin-left:232px;padding:0 34px 25px;max-width:1800px;min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumbs,.topbar-actions{display:flex;gap:15px;align-items:center;font-size:11px;color:var(--muted)}.breadcrumbs strong{color:#dce3f0;font-weight:500}.divider{color:#485368}.role-tag,.currency-tag,.subtle-tag{font-size:10px;letter-spacing:.4px;color:var(--muted)}.role-tag{border:1px solid var(--line);border-radius:5px;padding:4px 9px}.page-header{display:flex;justify-content:space-between;align-items:center;padding:30px 0 26px;gap:16px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--accent);font-weight:650;margin-bottom:7px}h1{font-size:29px;line-height:1.25;letter-spacing:-.8px;font-weight:650;margin:0 0 9px}h2{font-size:15px;letter-spacing:-.2px;font-weight:650;margin:0 0 4px}p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.currency-tag{white-space:nowrap}.currency-tag span{color:#566278;margin:0 5px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:23px;margin-bottom:20px;min-width:0}.section-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:22px}.section-heading p{font-size:11px}.subtle-tag{font-size:8px;letter-spacing:1px;white-space:nowrap}.count-label{font-size:11px;color:var(--muted);white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px}.stat{padding:20px 22px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);min-width:0}.stat>span{display:block;color:#a5b1c3;font-size:11px}.stat strong{display:block;font-size:28px;letter-spacing:-.8px;font-weight:600;margin:11px 0 6px;overflow-wrap:anywhere}.stat small{font-size:10px;color:#798aa1}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.status-bars{display:flex;flex-direction:column;gap:18px;padding:6px 0 3px}.status-bars>div{display:grid;grid-template-columns:1fr auto;gap:9px;font-size:11px}.status-bars span{color:#b7c2d4;display:flex;gap:8px;align-items:center}.status-bars strong{font-size:12px;font-weight:550}progress{grid-column:1/-1;width:100%;height:5px;border:0;border-radius:8px;background:#252d39;overflow:hidden;accent-color:var(--accent)}progress::-webkit-progress-bar{background:#252d39;border-radius:8px}progress::-webkit-progress-value{background:var(--accent);border-radius:8px}#progress-active{accent-color:#4ADE80}#progress-active::-webkit-progress-value{background:#4ADE80}#progress-stopped{accent-color:#FB7185}#progress-stopped::-webkit-progress-value{background:#FB7185}
.split-layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:20px;align-items:start}.side-stack{min-width:0}.align-start{align-self:start}.purchase-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:20px;max-width:1100px}.compact-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.compact-card h2{font-size:13px}.compact-card p{font-size:11px}.stack-form{display:flex;flex-direction:column;gap:8px;margin-top:20px}.stack-form label{margin:5px 0 0}.stack-form small{font-size:10px;color:var(--muted);line-height:1.65}.stack-form>button,.stack-form>.actions{margin-top:10px}.form-grid{display:grid;grid-template-columns:minmax(180px,2fr) minmax(70px,.65fr) minmax(90px,.8fr) minmax(65px,.5fr) auto;gap:12px;align-items:end}.form-grid input,.form-grid select{width:100%}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-fields input,.two-fields select{width:100%;margin-top:8px}.field{min-width:0}label{display:block;color:#b5c0d2;font-size:11px;font-weight:500;margin-bottom:7px}input,select,textarea{width:100%;min-width:0;max-width:100%;padding:10px 11px;border:1px solid #343e4e;border-radius:6px;background:#101620;color:var(--text);outline:none;font-size:12px;line-height:1.6}input::placeholder,textarea::placeholder{color:#6b7c94}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #C04BFF12}select{cursor:pointer}textarea{font:11px/1.8 Consolas,monospace;resize:vertical}input:disabled,select:disabled{opacity:.45}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.issued{border-color:#C04BFF55}.issued textarea{margin:15px 0}.table-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:14px}.table-toolbar input{max-width:320px}.table-toolbar select{max-width:165px}.table-wrap{overflow-x:auto;min-width:0}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-weight:500;color:#8d9db4;font-size:10px;padding:10px 10px 12px;border-bottom:1px solid var(--line)}td{font-size:11px;padding:16px 10px;border-bottom:1px solid #252d39;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td:first-child{min-width:120px}td .actions{max-width:218px;min-width:165px;gap:6px}.identifier{display:block;font:10px/1.7 Consolas,monospace;color:#8192ac;margin-top:3px;max-width:240px;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-block;font-size:10px;line-height:1.4;padding:4px 8px;border-radius:5px;color:var(--accent);background:var(--accent-bg);border:1px solid #C04BFF55}.badge.active{color:#4ADE80;background:rgba(74,222,128,.14);border-color:rgba(74,222,128,.33)}.badge.expired{color:#FB7185;background:rgba(251,113,133,.14);border-color:rgba(251,113,133,.33)}.badge.unused{color:var(--accent);background:var(--accent-bg);border-color:#C04BFF55}.empty{text-align:center;color:var(--muted);padding:46px 15px;font-size:12px;white-space:normal}.positive{color:var(--green)}.negative{color:var(--accent)}.mono{font-variant-numeric:tabular-nums}.footnote{font-size:10px;color:#8495ad;margin-top:18px;max-width:960px}.account-summary{display:flex;gap:12px;align-items:center;padding:3px 0 18px}.account-summary strong{font-size:15px;display:block;overflow-wrap:anywhere}.account-summary span:not(.avatar):not(.badge){display:block;font-size:10px;color:var(--muted)}.account-summary>.badge{margin-left:auto}.avatar.large{width:42px;height:42px;font-size:12px}.plan-preview>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.plan-preview>div:last-child{border-bottom:0}.plan-preview strong{display:block;font-size:12px;font-weight:550}.plan-preview small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.plan-preview button{background:none;color:var(--accent);font-weight:550;padding:8px 0}.order-total{margin-top:12px;padding:20px 0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:12px}.order-total strong{font-size:26px;letter-spacing:-.5px}.order-total small{display:block;font-size:10px;margin-top:5px;color:var(--muted)}.purchase-notes{list-style:none;counter-reset:step;padding:0;margin:24px 0 0}.purchase-notes li{position:relative;padding:0 0 23px 36px;counter-increment:step}.purchase-notes li:before{content:counter(step);position:absolute;left:0;top:0;display:grid;place-items:center;font-size:10px;width:23px;height:23px;background:var(--accent-bg);color:var(--accent);border-radius:50%}.purchase-notes strong{display:block;font-size:12px;font-weight:550;margin-bottom:5px}.purchase-notes span{display:block;font-size:11px;color:var(--muted);line-height:1.75}.help-text{font-size:11px}details summary{cursor:pointer;color:#bac6d8;font-size:12px;font-weight:550}details[open] summary{margin-bottom:14px}
#message:empty{display:none}#message{margin:16px 0;padding:12px 16px;background:#172c25;border:1px solid #315344;color:#a3e6c3;border-radius:8px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}#message.error{background:#322029;border-color:#67404d;color:#f5b2be}footer{padding:10px 0 0;color:#7f8fa8;font-size:10px;letter-spacing:.4px}footer span{padding:0 7px}dialog{max-width:470px;width:calc(100% - 32px);background:var(--panel);border:1px solid #45516a;border-radius:12px;padding:28px;color:var(--text);box-shadow:0 30px 100px #0008}dialog::backdrop{background:#04070dc9;backdrop-filter:blur(3px)}dialog h2{font-size:20px;margin:8px 0 16px}dialog p{margin:14px 0}dialog .actions{justify-content:flex-end;margin-top:22px}dialog .stack-form{margin:0}.signed-out main{margin:0;padding:36px 24px;max-width:none;min-height:100vh}.signed-out footer{text-align:center}.signed-out #message{max-width:420px;margin:20px auto}.login-screen{max-width:420px;margin:5vh auto 30px}#login .login-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;margin-bottom:24px;text-align:center}#login .login-brand-logo{display:block;width:176px;height:176px;object-fit:contain;flex:none;margin-bottom:-14px}#login .login-brand-wordmark{display:block;font-size:44px;line-height:1;letter-spacing:10px;text-indent:10px;font-weight:750;color:var(--text)}#login .login-brand-tagline{display:block;margin-top:12px;font-size:12px;line-height:1.4;letter-spacing:10px;text-indent:10px;font-weight:400;color:var(--muted)}.login{padding:34px}.login h1{font-size:27px;margin-top:9px}.login>p{font-size:12px}.login form{display:flex;flex-direction:column;gap:10px;margin-top:26px}.login form>button{margin-top:12px}.login-note{border-top:1px solid var(--line);padding-top:20px;margin-top:24px!important;font-size:10px!important;line-height:1.8}.nav-overlay{position:fixed;inset:0;z-index:25;border:0;border-radius:0;background:#040810b3!important}#menu-toggle{display:none}
@media(min-width:1700px){main{padding-left:46px;padding-right:46px}.card{padding:27px}.split-layout{grid-template-columns:minmax(0,1fr) 360px}}
@media(max-width:1200px){.sidebar{width:208px;padding-left:13px;padding-right:13px}main{margin-left:208px;padding:0 24px 25px}.stats{gap:12px}.stat{padding:17px}.stat strong{font-size:25px}.split-layout{grid-template-columns:minmax(0,1fr)}.split-layout>.side-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.split-layout>.side-stack>.card{margin:0}.split-layout>.side-stack>.card:last-child{grid-column:1/-1;margin-bottom:20px}.split-layout>.align-start{max-width:540px;width:100%}.form-grid{grid-template-columns:2fr 1fr 1fr 1fr}.form-grid>button{grid-column:1/-1;justify-self:end}.overview-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:860px){.sidebar{width:224px;transform:translateX(-100%);transition:transform .18s}.menu-open .sidebar{transform:translateX(0)}main{margin-left:0;padding:0 22px 24px}#menu-toggle{display:inline-grid}.topbar{height:66px}.page-header{padding-top:26px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-layout{grid-template-columns:1fr}.currency-tag{font-size:9px}.role-tag{display:none}}
@media(max-width:560px){main{padding:0 16px 20px}.page-header{padding:24px 0 21px;align-items:flex-start}.page-header h1{font-size:25px}.page-header p{font-size:11px;max-width:280px}.currency-tag{display:none}.card{padding:18px;margin-bottom:16px}.section-heading{margin-bottom:18px;align-items:flex-start}.section-heading .subtle-tag{display:none}.stats{gap:10px;margin-bottom:16px}.stat{padding:15px}.stat strong{font-size:24px}.stat small{font-size:9px}.overview-grid{grid-template-columns:1fr;gap:0}.overview-grid>.card{margin-bottom:16px}.form-grid{grid-template-columns:1fr 1fr}.form-grid>.wide{grid-column:1/-1}.form-grid>button{justify-self:stretch}.split-layout{gap:0}.split-layout>.side-stack{display:block}.split-layout>.side-stack>.card{margin-bottom:16px}#view-resellers .split-layout>.side-stack>.card:last-child{margin-bottom:16px}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar input,.table-toolbar select{max-width:none}.section-heading>button{font-size:10px;padding:8px 10px}.compact-card{align-items:flex-start;flex-direction:column}.signed-out main{padding:24px 18px}.login-screen{margin-top:4vh}.login{padding:26px}.account-summary>.badge{font-size:9px}.topbar-actions{gap:8px}.breadcrumbs{gap:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

.file-picker{display:flex;align-items:center;gap:12px;position:relative}.file-picker-input{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}.file-picker:focus-within{outline:1px solid currentColor;outline-offset:4px}#i-file-names{overflow-wrap:anywhere}

/* License viewer uses this panel's existing palette and geometry. */
#key-dialog .license-code-block{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:12px;align-items:start;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:#101620;min-width:0}
#key-dialog .license-code{margin:0;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all;font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--text)}
#key-dialog #key-value{display:block;min-width:0;user-select:text;cursor:text;outline-offset:4px}
#key-dialog .license-copy{display:grid;place-items:center;width:32px;height:32px;min-width:32px;padding:6px;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer}
#key-dialog .license-copy:hover{background:var(--raised);color:var(--text)}
#key-dialog .license-copy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#key-dialog .copied-glyph{display:none}
#key-dialog .license-copy[data-copied="true"] .copy-glyph{display:none}
#key-dialog .license-copy[data-copied="true"] .copied-glyph{display:block;color:var(--accent)}

/* License-only dismissal controls; preserve the developer panel palette and size. */
#key-dialog h2{padding-right:40px}
#key-dialog .license-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:32px;height:32px;min-width:32px;aspect-ratio:1;padding:6px;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer}
#key-dialog .license-close:hover{background:var(--raised);color:var(--text)}
#key-dialog .license-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Shared developer controls; keep the existing palette, navigation and dialog hierarchy. */
:root{--admin-ui-font:"Segoe UI",Arial,sans-serif;--admin-control-size:12px;--admin-control-weight:650}
button{font-family:var(--admin-ui-font)}
button.mini,button.text-button,.section-heading>button{font-size:var(--admin-control-size);font-weight:var(--admin-control-weight);line-height:1.5}
button.mini{padding:6px 10px}
.section-heading>button{padding:10px 15px}
.badge,.account-summary>.badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--admin-ui-font);font-size:10px;font-weight:500;line-height:1.4;height:24px;padding:0 8px;white-space:nowrap}
.card h2,.compact-card h2{font-family:var(--admin-ui-font);font-size:15px;font-weight:650;line-height:1.55;letter-spacing:-.2px;margin:0 0 4px}

/* Single page heading row: no duplicate breadcrumb strip. */
.brand{display:flex;align-items:center;gap:8px;padding:0 4px;margin-bottom:24px}
.brand-logo{display:block;flex:0 0 36px;width:36px;height:36px;aspect-ratio:1;object-fit:contain}
.brand .brand-name{font-size:36px;font-weight:700;line-height:36px;letter-spacing:1px;height:36px}
.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0 0;margin:0 0 28px;border:0}
.page-heading{display:flex;align-items:center;gap:12px;min-width:0}
.page-heading h1{margin:0}.page-header>#refresh{flex-shrink:0}

/* Compact dashboard summary: two-by-two cards beside a half-width overview. */
.dashboard-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px;align-items:stretch}
.dashboard-summary>.stats{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:14px;margin:0}
.dashboard-summary .stat{display:flex;flex-direction:column;justify-content:center;padding:18px 20px}
.dashboard-summary .stat strong{font-size:26px;line-height:1.2;margin:9px 0 0}
.dashboard-summary>.overview-card{margin:0;padding:18px 22px}
.dashboard-summary>.overview-card .section-heading{margin-bottom:8px}
.dashboard-summary .status-bars{gap:8px;padding:0 0 1px}
.dashboard-summary .status-bars>div{gap:5px}
.status-dot.uploaded{background:#fff}
#progress-uploaded{accent-color:#fff}
#progress-uploaded::-webkit-progress-value{background:#fff}
#progress-uploaded::-moz-progress-bar{background:#fff}
@media(max-width:760px){
 .dashboard-summary{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:16px}
 .dashboard-summary>.stats{gap:12px}
 .dashboard-summary .stat{padding:17px 18px}
 .dashboard-summary>.overview-card{padding:20px}
}
@media(max-width:420px){.dashboard-summary>.stats{gap:10px}.dashboard-summary .stat{padding:15px}.dashboard-summary .stat strong{font-size:24px}}

/* Activity indicators: distinct panel heartbeat and product authorization lease. */
.account-activity{display:flex;gap:12px;align-items:center;margin-top:6px;font-size:12px;color:var(--muted,#94a3b8)}
.activity-signal{display:inline-flex;gap:5px;align-items:center;white-space:nowrap}
.activity-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#64748b;flex:none}
.activity-signal[data-online="true"] .activity-dot{background:#4ade80;box-shadow:0 0 5px #4ade8040}
.activity-signal[data-online="unknown"] .activity-dot{background:#9ca3af}

/* Scoped operator status editor; existing developer theme and pages retained. */
#view-astro-status .status-editor{max-width:420px}
#astro-status-message{margin-top:14px;color:var(--muted)}

/* Status editor only; existing developer theme retained. */
#astro-status-preview{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 16px;margin-bottom:18px;border-radius:8px;background:var(--bg);color:var(--status-preview-color,#C04BFF);font-weight:600;overflow-wrap:anywhere}
.astro-status-preview-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 14%,transparent)}

#astro-status-input{margin-bottom:16px}

/* Login-only password eye. Preserve the developer panel geometry and dark theme. */
#login .password-field{position:relative;width:100%;min-width:0}
#login .password-field>input{padding-right:48px}
#login .password-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;padding:6px;border:0;border-radius:5px;background:transparent;color:var(--muted)}
#login .password-eye:hover{color:var(--accent);background:var(--accent-bg)}
#login .password-eye:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#login .password-eye .eye-slash{display:none}
#login .password-eye[aria-pressed="true"] .eye-slash{display:block}

/* English native-constraint guidance: overlay only; does not shift forms. */
#panel-input-guidance{position:fixed;inset:auto;margin:0;z-index:2147483647;box-sizing:border-box;width:max-content;max-width:min(360px,calc(100vw - 16px));padding:10px 12px;border:1px solid #686273;border-radius:6px;background:#211D2B;color:#EDEAF3;font:13px/1.45 Arial,sans-serif;letter-spacing:normal;text-transform:none;overflow-wrap:anywhere;box-shadow:0 4px 16px #0005;pointer-events:none}
#panel-input-guidance[hidden]{display:none}

/* Approved Emerald + Rose license-state palette; unrelated credit, error and action colors stay intact. */
.status-bars .status-dot:not(.unused):not(.stopped):not(.uploaded){background:#4ADE80}
.status-bars .status-dot.stopped{background:#FB7185}
#progress-active::-moz-progress-bar{background:#4ADE80}
#progress-stopped::-moz-progress-bar{background:#FB7185}

/* Keep form focus on its existing border edge, not a second outer rectangle. */
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:-2px}

/* Shared navigation glyph; retain the developer button theme and behavior. */
button.text-button .forward-glyph{width:16px;height:16px;vertical-align:middle}

/* Same 1px --line separator as the Transactions table header. */
.overview-card .status-bars>.overview-separator{display:block;width:calc(100% + 44px);min-height:1px;height:1px;flex:0 0 1px;border:0;background:var(--line);opacity:1;margin:6px -22px}
@media(max-width:760px){.overview-card .status-bars>.overview-separator{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px}}

/* Remove the title own bottom margin: heading-to-status gap equals both separator gaps. */
.dashboard-summary>.overview-card .section-heading h2{margin:0}

/* Resellers only: avoid stretching short account rows across a wide workspace. */
#view-resellers>.split-layout{max-width:1080px}
#view-resellers .table-wrap>table{table-layout:auto;min-width:640px}
#view-resellers .table-wrap>table th:nth-child(1){width:auto}
#view-resellers .table-wrap>table th:nth-child(2){width:1%}
#view-resellers .table-wrap>table th:nth-child(3){width:1%}
#view-resellers .table-wrap>table th:nth-child(4){width:1%}
#view-resellers td .actions{min-width:0;max-width:none;width:max-content;flex-wrap:nowrap;white-space:nowrap}
#view-resellers td .actions>button{flex:0 0 auto;white-space:nowrap}

/* Reseller credit dialog: same native modal/backdrop and close glyph as License viewer. */
#credit-dialog h2{padding-right:40px}
#credit-dialog .credit-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:32px;height:32px;min-width:32px;aspect-ratio:1;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted)}
#credit-dialog .credit-close:hover{background:var(--raised);color:var(--text)}
#credit-dialog .credit-message:empty{display:none}
#credit-dialog .credit-message{color:var(--red);overflow-wrap:anywhere}
#credit-dialog .credit-account-summary{display:flex;flex-direction:column;gap:6px;margin:5px 0 8px}
#credit-dialog #credit-account-label{font-size:11px;color:var(--muted)}
#credit-dialog #credit-account-name{font-size:13px;color:var(--text);overflow-wrap:anywhere}
/* The single reseller form uses one compact column at the intermediate breakpoint. */
@media(min-width:561px) and (max-width:1200px){#view-resellers .side-stack{grid-template-columns:minmax(0,1fr);max-width:560px}#view-resellers .side-stack>.card:last-child{grid-column:1/-1}}

/* Reseller password reset uses the same modal shell as credit and License dialogs. */
#reseller-password-dialog h2{padding-right:40px}
#reseller-password-dialog .password-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:32px;height:32px;min-width:32px;aspect-ratio:1;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted)}
#reseller-password-dialog .password-close:hover{background:var(--raised);color:var(--text)}
#reseller-password-dialog .password-message:empty{display:none}
#reseller-password-dialog .password-message{color:var(--red);overflow-wrap:anywhere}
#reseller-password-dialog .password-account-summary{display:flex;flex-direction:column;gap:6px;margin:5px 0 8px}
#reseller-password-dialog #password-account-label{font-size:11px;color:var(--muted)}
#reseller-password-dialog #password-account-name{font-size:13px;color:var(--text);overflow-wrap:anywhere}
/* All row actions remain on one line; the existing table wrapper scrolls on narrow screens. */

/* Compact column layout shared by the other developer-panel tables.
   Keep text/buttons intact; the existing table wrapper scrolls when needed. */
#view-dashboard>.card,#view-licenses,#view-transactions,#view-inventory,#view-customers{max-width:1080px}
#view-pricing>.split-layout{width:max-content;max-width:100%;grid-template-columns:fit-content(560px) 325px;justify-content:start}
@media(min-width:1700px){#view-pricing>.split-layout{grid-template-columns:fit-content(560px) 360px}}
@media(max-width:1200px){#view-pricing>.split-layout{max-width:min(100%,560px);grid-template-columns:minmax(0,1fr)}#view-pricing .split-layout>.align-start{max-width:560px}}
:is(#view-dashboard,#view-licenses,#view-pricing,#view-transactions,#view-inventory,#view-customers) .table-wrap>table{table-layout:auto;min-width:640px}
:is(#view-dashboard,#view-licenses,#view-pricing,#view-transactions,#view-inventory,#view-customers) .table-wrap>table th{width:1%}
:is(#view-licenses,#view-inventory,#view-customers) .table-wrap>table th:first-child{width:auto}
#view-dashboard .table-wrap>table th:nth-child(2){width:auto}
:is(#view-dashboard,#view-licenses,#view-pricing,#view-transactions,#view-inventory,#view-customers) td .actions{min-width:0;max-width:none;width:max-content;flex-wrap:nowrap;white-space:nowrap}
:is(#view-dashboard,#view-licenses,#view-pricing,#view-transactions,#view-inventory,#view-customers) td .actions>button{flex:0 0 auto;white-space:nowrap}

/* Fit these cards and their columns to content; long tables scroll inside the card. */
#view-dashboard>.card,#view-transactions>.card:not(.compact-card){width:max-content;max-width:min(100%,1080px)}
:is(#view-pricing,#view-transactions,#view-dashboard) .table-wrap>table{width:max-content;min-width:0}
:is(#view-pricing,#view-transactions,#view-dashboard) .table-wrap>table th{width:auto}
:is(#view-pricing,#view-transactions,#view-dashboard) .table-wrap>table td:first-child{min-width:0}

/* Client password reset follows the existing reseller native dialog. */
#customer-password-dialog h2{padding-right:40px}
#customer-password-dialog .customer-password-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:32px;height:32px;min-width:32px;aspect-ratio:1;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted)}
#customer-password-dialog .customer-password-close:hover{color:var(--text);background:var(--raised)}
#customer-password-dialog .customer-password-message:empty{display:none}
#customer-password-dialog .customer-password-message{color:var(--red);overflow-wrap:anywhere}
#customer-password-dialog .customer-account-summary{display:flex;flex-direction:column;gap:6px;margin:5px 0 8px}
#customer-password-dialog #customer-account-label{font-size:11px;color:var(--muted)}
#customer-password-dialog #customer-account-name{font-size:13px;color:var(--text);overflow-wrap:anywhere}

/* Upload action uses its label width instead of stretching across the form. */
#i-upload>button[type="submit"]{align-self:flex-start;width:auto;max-width:100%}

/* Inventory mirrors the dashboard stock row at 1x type, dot, gap and bar height. */
#view-inventory .inventory-stock{padding:0;margin:0 0 24px}
#view-inventory .inventory-stock>div{font-size:11px;gap:5px}
#view-inventory .inventory-stock span{gap:8px}
#view-inventory .inventory-stock strong{font-size:12px}
#view-inventory .inventory-stock .status-dot{width:6px;height:6px}
#progress-inventory-stock{height:5px;border-radius:8px;accent-color:#fff}
#progress-inventory-stock::-webkit-progress-value{background:#fff}
#progress-inventory-stock::-moz-progress-bar{background:#fff}
#view-inventory .inventory-upload-card{width:100%;max-width:560px}
#view-inventory .inventory-upload-card .file-picker{flex-wrap:wrap}
#view-pricing .pricing-table-card{width:auto;max-width:560px}

/* ACCOUNT_COLUMN_W16_20261029: match the actual 16-W account text, not 16ch (zero width). */
.table-wrap>table:has(>tbody#b-accounts),.table-wrap>table:has(>tbody#i-customer-rows),.table-wrap>table:has(>tbody#b-recent),.table-wrap>table:has(>tbody#b-ledger),.table-wrap>table:has(>tbody#i-rows){width:max-content;min-width:0;table-layout:auto}
.table-wrap>table:has(>tbody#b-accounts)>thead>tr>th:nth-child(1),.table-wrap>table:has(>tbody#i-customer-rows)>thead>tr>th:nth-child(1),.table-wrap>table:has(>tbody#b-recent)>thead>tr>th:nth-child(2),.table-wrap>table:has(>tbody#b-ledger)>thead>tr>th:nth-child(2),.table-wrap>table:has(>tbody#i-rows)>thead>tr>th:nth-child(3),#b-accounts>tr>td:nth-child(1):not([colspan]),#i-customer-rows>tr>td:nth-child(1):not([colspan]),#b-recent>tr>td:nth-child(2):not([colspan]),#b-ledger>tr>td:nth-child(2):not([colspan]),#i-rows>tr>td:nth-child(3):not([colspan]){width:1px;min-width:0;max-width:none;white-space:normal;overflow-wrap:anywhere}
.table-wrap>table:has(>tbody#b-accounts)>thead>tr>th:nth-child(1)::before,.table-wrap>table:has(>tbody#i-customer-rows)>thead>tr>th:nth-child(1)::before,.table-wrap>table:has(>tbody#b-recent)>thead>tr>th:nth-child(2)::before,.table-wrap>table:has(>tbody#b-ledger)>thead>tr>th:nth-child(2)::before,.table-wrap>table:has(>tbody#i-rows)>thead>tr>th:nth-child(3)::before{content:"WWWWWWWWWWWWWWWW";display:block;height:0;visibility:hidden;white-space:pre;text-transform:none;letter-spacing:normal;font:400 11px/1.55 "Segoe UI",Arial,sans-serif}

/* LICENSE_ACTIONS_PLAN_DIALOG_20261029: preserve one-line actions, use available workspace and wrap long metadata. */
#view-licenses{max-width:none}
#view-licenses>.card:not(:has(#rows)){max-width:1080px}
#view-licenses .table-wrap>table{width:100%;min-width:0;table-layout:auto}
#view-licenses .table-wrap>table th{width:auto}
#rows>tr>td:first-child{min-width:80px;max-width:220px;white-space:normal;overflow-wrap:anywhere}
#rows>tr>td:nth-child(3){max-width:140px;white-space:normal;overflow-wrap:anywhere}
#rows>tr>td:nth-child(5),#rows>tr>td:nth-child(6){white-space:normal}
#plan-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}
#plan-dialog h2{padding-right:40px}
#plan-dialog .plan-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:32px;height:32px;min-width:32px;padding:6px;border:0;border-radius:4px;background:transparent;color:var(--muted)}
#plan-dialog .plan-close:hover{background:var(--raised);color:var(--text)}
#plan-dialog .plan-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#plan-dialog .plan-message:empty{display:none}
#plan-dialog .plan-message{color:var(--red);overflow-wrap:anywhere}

#view-licenses .license-table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* REVENUE_SAMPLE_EDIT_ONLY_20261029: illustration only, deliberately disconnected from all account/ledger data. */
#view-pricing>.split-layout{grid-template-columns:minmax(0,1fr);width:max-content;max-width:100%}
.dashboard-summary>.revenue-preview{margin:0;padding:18px 22px;display:flex;flex-direction:column;min-width:0}
.revenue-preview .section-heading{margin-bottom:8px;align-items:center}
.revenue-preview .section-heading h2{margin:0}
.revenue-demo-tag{font-size:10px;font-weight:500;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:3px 7px;white-space:nowrap}
.revenue-chart{margin:8px 0 0;display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0}
.revenue-chart svg{display:block;width:100%;height:auto;max-height:190px;overflow:visible}
.revenue-grid{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}
.revenue-axis{fill:var(--muted);font:10px var(--admin-ui-font)}
.revenue-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.revenue-last-point{fill:var(--accent);stroke:var(--panel);stroke-width:2}
.revenue-chart figcaption{margin-top:7px;font-size:10px;color:var(--muted);text-align:right}
