/* Shared visual system v49. No external fonts or runtime dependencies. */
:root,html[data-theme="dark"]{--bg:#090d14;--bg-soft:#101722;--panel:#111925;--panel2:#172232;--input:#0c131e;--stroke:#253245;--stroke-strong:#384962;--text:#eaf0f8;--muted:#99a9bf;--accent:#8b9dff;--accent2:#a8b5ff;--good:#64dbb3;--bad:#ff8e9c;--warn:#f1c47a;--shadow-soft:0 8px 30px #00000015;--shadow:0 14px 48px #00000020;--ui-radius:18px}
html[data-theme="light"]{--bg:#f2f5fa;--bg-soft:#f5f7fc;--panel:#fff;--panel2:#edf1f9;--input:#fff;--stroke:#dce3ef;--stroke-strong:#b9c6dc;--text:#18283f;--muted:#586b84;--accent:#4c5fd5;--accent2:#6478ea;--good:#137d63;--bad:#bf3450;--warn:#946213;--shadow-soft:0 8px 30px #223e6710;--shadow:0 14px 48px #223e6712}
html,body,body.workspace,body.landing-body,body.auth-body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.6;font-size:14px;font-weight:400;background:var(--bg);color:var(--text);font-synthesis:none;-webkit-font-smoothing:antialiased}
body :is(button,input,select,textarea){font-family:inherit}body :is(h1,h2,h3,h4){font-weight:650;letter-spacing:-.025em;line-height:1.3;text-wrap:balance}body :is(code,pre){font-family:ui-monospace,"Cascadia Code",Consolas,monospace;font-variant-numeric:tabular-nums}
.workspace .app-shell{grid-template-columns:248px minmax(0,1fr)}.workspace .sidebar{width:248px;background:var(--bg);border-right:1px solid var(--stroke);padding:28px 16px}.workspace .brand{font-size:14px;letter-spacing:.015em;padding:0 12px 32px;font-weight:700}.workspace .brand-mark{background:linear-gradient(140deg,#a7b5ff,#5869d8);box-shadow:none;border-radius:12px;width:36px;height:36px}.workspace .nav{gap:6px}.workspace .nav a{border:1px solid transparent;border-radius:10px;padding:11px 13px;font-size:13px;font-weight:500;color:var(--muted);transition:background-color .16s,color .16s,border-color .16s}.workspace .nav a:hover{background:var(--panel2);color:var(--text)}.workspace .nav a.active{background:color-mix(in srgb,var(--accent) 12%,var(--bg));border-color:color-mix(in srgb,var(--accent) 25%,var(--stroke));color:var(--accent)}.workspace .nav a.active:before{display:none}.workspace .nav-label{letter-spacing:.12em;font-size:10px;font-weight:650;margin-bottom:3px}.workspace .sidebar-bottom{border-top:1px solid var(--stroke);margin-top:26px;padding-top:18px}.workspace .support-link{font-size:12px;background:var(--panel);border-radius:10px}
.workspace .main{padding:0 36px 48px}.workspace .topbar{height:90px;border-color:var(--stroke)}.workspace .topbar h1{font-size:23px;font-weight:650}.workspace .crumb{font-size:12px}.workspace .topbar-actions{gap:16px}.workspace .avatar{border-radius:12px;background:var(--panel2);border-color:var(--stroke)}.workspace .account b{font-weight:550}.workspace .content{padding-top:28px;max-width:1440px}.workspace .theme-toggle{background:var(--panel);color:var(--muted);border:1px solid var(--stroke);box-shadow:none}
.workspace :is(.hero,.dash-hero){background:linear-gradient(115deg,var(--panel),color-mix(in srgb,var(--accent) 7%,var(--panel)))!important;border:1px solid var(--stroke);border-radius:22px;padding:32px;box-shadow:none}.workspace :is(.hero,.dash-hero) h2{font-size:clamp(25px,2.5vw,36px);font-weight:600;letter-spacing:-.035em}.workspace :is(.hero,.dash-hero) p{font-size:14px;line-height:1.8;max-width:680px}.workspace :is(.dash-eyebrow,.panel-kicker){font-size:10px;letter-spacing:.12em;color:var(--accent);font-weight:650}.workspace :is(.pulse-dot,.live-dot){box-shadow:none;animation:none}.workspace :is(.dash-orbit,.network-radar,.landing-ambient){display:none}
.workspace :is(.panel,.stat,.proxy-card,.dash-proxy,.ebay-card,.sms-assignment,.dns-card){background:var(--panel)!important;border:1px solid var(--stroke)!important;border-radius:var(--ui-radius);box-shadow:var(--shadow-soft)}.workspace .proxy-card:after{display:none}.workspace .stats{gap:16px;margin:24px 0}.workspace .stat{padding:22px}.workspace .stat .v{font-size:34px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.workspace .stat .v.date{font-size:18px;letter-spacing:-.015em}.workspace .stat .v.compact{font-size:23px}.workspace .stat .k{font-size:12px;color:var(--muted)}.workspace .stat-icon{border-radius:12px;box-shadow:none}.workspace .stat-trend{font-size:10px;font-weight:600}.workspace .panel-head{padding:22px 24px}.workspace .panel-body{padding:24px}.workspace :is(.proxy-name,.dash-proxy-name){font-size:15px;font-weight:600}.workspace .proxy-meta{gap:8px}.workspace .meta{background:var(--bg-soft);border-color:var(--stroke);padding:12px;border-radius:10px}.workspace .meta span{color:var(--muted);font-size:10px;letter-spacing:.06em}.workspace .meta b{font-size:13px;font-weight:550}.workspace :is(.proxyline,.px-copyline){background:var(--input)!important;border-color:var(--stroke)!important;border-radius:10px}.workspace .pill{font-weight:600;letter-spacing:.035em;padding:5px 9px}
.workspace :is(button,.btn,.px-btn),.landing-body :is(button,.btn){font-size:13px;font-weight:550;border-radius:10px;box-shadow:none;transition:background-color .16s,border-color .16s,color .16s,opacity .16s;min-height:40px}.workspace :is(button,.btn,.px-btn):hover,.landing-body :is(button,.btn):hover{transform:none;filter:none}.workspace :is(button,.btn,.px-btn):active{opacity:.8}.workspace :is(button,.btn,.px-btn):disabled{cursor:not-allowed;opacity:.5}.workspace :is(.btn,.px-btn):not(.secondary):not(.ghost):not(.danger){background:#6576e8;color:#fff}.workspace :is(.btn.secondary,button.secondary,.px-btn.secondary){background:var(--panel2)!important;color:var(--text)!important;border:1px solid var(--stroke)!important}.workspace :is(.btn.ghost,button.ghost){background:transparent;color:var(--muted);border-color:var(--stroke)}.workspace :is(.btn.secondary,button.secondary,.px-btn.secondary):hover{border-color:var(--stroke-strong)!important;background:color-mix(in srgb,var(--accent) 8%,var(--panel2))!important}
.workspace :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){background:var(--input)!important;border:1px solid var(--stroke)!important;border-radius:10px;color:var(--text)!important;padding:11px 13px;box-shadow:none}.workspace :is(input,select,textarea):focus{outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:2px;border-color:var(--accent)!important}.workspace label{font-weight:500}.workspace :is(th,.px-table th){font-size:11px;font-weight:600;letter-spacing:.04em;background:var(--bg-soft);color:var(--muted)}.workspace td{font-size:13px;border-color:var(--stroke)}.workspace tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,var(--panel))}.workspace .collection-tools{background:var(--panel);padding:18px;gap:14px;border-radius:14px}.workspace .getting-started{background:var(--panel);border-style:dashed;box-shadow:none}.workspace :is(.dash-plan,.dash-shortcuts>a){background:var(--panel)!important;border-color:var(--stroke)!important;box-shadow:none}
.workspace .px-card{border-radius:22px;box-shadow:none}.workspace .px-top{padding:28px}.workspace .px-name{font-size:24px!important;font-weight:600!important;letter-spacing:-.035em}.workspace .px-tabs{padding:0 24px;gap:18px}.workspace .px-tabs a{font-size:13px;font-weight:550;padding:16px 4px;color:var(--muted)!important}.workspace .px-tabs a.active{color:var(--accent)!important;border-bottom-color:var(--accent)}.workspace .px-body{padding:26px}.workspace :is(.px-iphero .ip,.sms-number){font-weight:600!important;letter-spacing:-.03em}.workspace :is(.carrier-section,.live-card,.px-info-card,.px-conn){border-radius:14px}.workspace :is(.mv-dialog,.os-dialog){border-radius:20px;box-shadow:var(--shadow)}
#reservations .reservation-card{background:var(--panel);border:1px solid var(--stroke);border-radius:14px;color:var(--text);padding:20px;box-shadow:none}#reservations .reservation-card strong{font-size:15px;font-weight:600}#reservations .reservation-card p{font-size:13px;color:var(--muted)}#reservations .reservation-filters{background:var(--bg-soft);border-color:var(--stroke);padding:18px;border-radius:14px}#reservations #reservationFeatures .reservation-feature-row>label{font-size:12px;border-color:var(--stroke);background:var(--panel)}#reservations #reservationFeatures label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel))}#reservations :is(.reservation-dialog,#reservationDialog){background:var(--panel);color:var(--text);border-color:var(--stroke-strong);border-radius:20px;box-shadow:var(--shadow)}#reservationLocations{gap:14px}#reservationLocations .reservation-card{display:flex;flex-direction:column;align-items:flex-start;min-height:250px}#reservationLocations .reservation-card button{order:5;margin-top:auto}#reservations .reservation-countdown{font-size:14px;font-weight:600}
.auth-body .auth-wrap,.landing-body .landing-auth-panel{background:var(--panel)!important;border:1px solid var(--stroke)!important;border-radius:22px!important;box-shadow:var(--shadow)!important}.landing-body .landing-copy h1{font-weight:600!important;letter-spacing:-.04em!important}.landing-body .landing-kicker{background:var(--panel2);color:var(--accent);border:1px solid var(--stroke);border-radius:100px;letter-spacing:.08em;font-weight:600}.landing-body .landing-nav{border-color:var(--stroke)}.landing-body .landing-logo{font-weight:650;letter-spacing:.025em}.landing-body .landing-grid{padding-top:60px}.landing-body .landing-facts b{font-weight:600}.landing-body .plan-card{border-radius:18px;box-shadow:none}.landing-body .auth-tab{font-weight:550!important}
@media(prefers-reduced-motion:no-preference){.workspace .content{animation:surface-enter .18s ease-out}dialog[open]{animation:surface-enter .16s ease-out}@keyframes surface-enter{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1100px){.workspace .main{padding:0 22px 32px}.workspace .stats{gap:12px}.workspace .stat{padding:18px}}
@media(max-width:760px){.workspace .app-shell{display:block}.workspace .main{padding:0 14px 28px}.workspace .sidebar{width:auto;padding:16px}.workspace.nav-ready .sidebar{width:min(300px,85vw);background:var(--bg)}.workspace .content{padding-top:18px}.workspace .topbar{height:76px}.workspace .topbar h1{font-size:20px}.workspace :is(.hero,.dash-hero){padding:22px}.workspace .stat .v{font-size:28px}.workspace .stat .v.date{font-size:15px}.workspace .px-top,.workspace .px-body{padding:18px}.workspace .px-tabs{padding:0 18px;gap:14px}.workspace .px-name{font-size:21px!important}.workspace .panel-head,.workspace .panel-body{padding:18px}.workspace :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}.landing-body .landing-grid{padding-top:24px}}

.workspace :is(.hero,.dash-hero)::before,.workspace :is(.hero,.dash-hero)::after{display:none}.workspace .dash-hero-copy{max-width:900px;width:100%}

/* Announcement contrast in light mode: opaque surfaces and readable text. */
html[data-theme="light"] .dashboard-announcement{--announcement-bg:#eef2ff;--announcement-ink:#283c85;--announcement-border:#b8c6ed;--announcement-icon-bg:#dce4ff;background:var(--announcement-bg);border-color:var(--announcement-border);color:var(--announcement-ink);box-shadow:none}
html[data-theme="light"] .dashboard-announcement.tone-success{--announcement-bg:#edf9f2;--announcement-ink:#185b39;--announcement-border:#a2d7b9;--announcement-icon-bg:#d3efde}
html[data-theme="light"] .dashboard-announcement.tone-warning{--announcement-bg:#fff8e8;--announcement-ink:#754407;--announcement-border:#e9c580;--announcement-icon-bg:#ffebbd}
html[data-theme="light"] .dashboard-announcement.tone-danger{--announcement-bg:#fff1f2;--announcement-ink:#9b2435;--announcement-border:#edb0b9;--announcement-icon-bg:#ffdce1}
html[data-theme="light"] .dashboard-announcement .announcement-track span{color:var(--announcement-ink);font-size:13px;font-weight:600;letter-spacing:0}
html[data-theme="light"] .dashboard-announcement .announcement-icon{color:var(--announcement-ink);background:var(--announcement-icon-bg);font-weight:700}
html[data-theme="light"] .dashboard-announcement .announcement-window{mask-image:none;-webkit-mask-image:none}

/* OS profile labels must inherit the active theme, not legacy pale blue. */
.workspace .os-option .os-code{color:var(--text)!important;font-size:13px;font-weight:600;letter-spacing:0;font-family:inherit}
.workspace .os-option small{font-size:12px!important;font-weight:400;line-height:1.5}
.workspace .os-option.active .os-code{color:var(--accent)!important}
html[data-theme="light"] .workspace .os-option.active{background:#eef2ff!important;border-color:#7788dd!important}
html[data-theme="light"] .workspace .os-message.ok{color:#185b39;background:#edf9f2;border-color:#a2d7b9}
html[data-theme="light"] .workspace .os-message.err{color:#9b2435;background:#fff1f2;border-color:#edb0b9}

/* Final surface polish: one calm visual language across the workspace. */
body.workspace{background:radial-gradient(circle at 88% -12%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 34%),var(--bg)}
.workspace .sidebar{background:color-mix(in srgb,var(--bg) 92%,var(--panel));backdrop-filter:blur(18px)}
.workspace .topbar{background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(16px)}
.workspace .hero,.workspace .dash-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,var(--panel),color-mix(in srgb,var(--accent) 11%,var(--panel)))!important;box-shadow:0 18px 50px color-mix(in srgb,var(--accent) 8%,transparent)}
.workspace .hero:after,.workspace .dash-hero:after{content:"";position:absolute;width:260px;height:260px;right:-100px;top:-150px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:50%;box-shadow:0 0 0 24px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 48px color-mix(in srgb,var(--accent) 2%,transparent);pointer-events:none}
.workspace :is(.panel,.stat,.proxy-card,.dash-proxy,.ebay-card,.sms-assignment,.dns-card){transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.workspace :is(.panel,.proxy-card,.dash-proxy,.ebay-card,.sms-assignment,.dns-card):hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--stroke))!important;box-shadow:0 18px 44px color-mix(in srgb,var(--accent) 8%,transparent);transform:translateY(-2px)}
.workspace .proxy-card{background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,var(--accent)),var(--panel))!important}
.workspace .proxy-grid{gap:18px}
.workspace .panel-head{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 4%,transparent),transparent)}
.workspace .pill.good{background:color-mix(in srgb,var(--good) 13%,var(--panel));color:var(--good)}
.workspace .pill.bad{background:color-mix(in srgb,var(--bad) 11%,var(--panel));color:var(--bad)}
.workspace :is(button,.btn,.px-btn):not(.secondary):not(.ghost):not(.danger){background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 94%,white),var(--accent));box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 20%,transparent)}
.workspace :is(button,.btn,.px-btn):not(.secondary):not(.ghost):not(.danger):hover{box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 30%,transparent)}
@media(prefers-reduced-motion:no-preference){.workspace .proxy-card,.workspace .panel{animation:surface-lift .28s ease both}@keyframes surface-lift{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:none}}}

/* Semantic theme contract for page-local modules. Keep legacy components on the same
   surface hierarchy as the shared workspace instead of leaking dark-only literals. */
:root,html[data-theme="dark"]{color-scheme:dark;--surface-hover:color-mix(in srgb,var(--accent) 5%,var(--panel));--overlay:rgba(2,6,12,.72);--success-surface:color-mix(in srgb,var(--good) 10%,var(--panel));--warning-surface:color-mix(in srgb,var(--warn) 10%,var(--panel));--danger-surface:color-mix(in srgb,var(--bad) 10%,var(--panel))}
html[data-theme="light"]{color-scheme:light;--surface-hover:color-mix(in srgb,var(--accent) 5%,var(--panel));--overlay:rgba(24,40,63,.28);--success-surface:color-mix(in srgb,var(--good) 9%,var(--panel));--warning-surface:color-mix(in srgb,var(--warn) 9%,var(--panel));--danger-surface:color-mix(in srgb,var(--bad) 8%,var(--panel))}

/* Shared overlays, dialogs and embedded tools. */
.workspace :is(.support-page-shell,.support-popover,.support-admin-mini,.support-mini-chat,.support-message-list,.support-compose,.os-dialog,.mv-dialog,.reservation-dialog,#reservationDialog){background:var(--panel)!important;color:var(--text)!important;border-color:var(--stroke)!important}
.workspace :is(.support-popover-head,.support-page-sidehead,.support-chat-head,.support-thread-search,.support-compose,.os-head,.os-foot,.mv-footer){background:var(--panel2)!important;border-color:var(--stroke)!important;color:var(--text)!important}
.workspace :is(.support-welcome,.support-msg.theirs .support-msg-bubble,.support-thread:hover,.support-thread.active,.support-thread-avatar,.support-mini-peer){background:var(--surface-hover)!important;color:var(--text)!important;border-color:var(--stroke)!important}
.workspace :is(.support-message-list,.support-page-chat .support-message-list){background:var(--bg-soft)!important}
.workspace :is(.support-msg-meta,.support-agent span,.support-page-sidehead span,.support-chat-head span,.support-thread-copy span,.support-thread-time,.support-empty){color:var(--muted)!important}
.workspace :is(.support-compose textarea,.support-thread-search input){background:var(--input)!important;color:var(--text)!important;border-color:var(--stroke)!important}
.workspace :is(.os-current,.os-group,.os-option,.mv-choice,.mv-debug,.px-download,.px-progress,.px-rotate-progress,.live-feature,.doc-response){background:var(--panel)!important;color:var(--text)!important;border-color:var(--stroke)!important}
.workspace :is(.os-close,.os-icon,.mv-close,.px-copybtn,.doc-copy){background:var(--panel2)!important;color:var(--text)!important;border-color:var(--stroke)!important}

/* Status surfaces stay legible in both themes. */
.workspace :is(.sms-code,.sms-wallet-low,.os-message.ok,.reservation-notice.success){background:var(--success-surface)!important;border-color:color-mix(in srgb,var(--good) 35%,var(--stroke))!important;color:var(--good)!important}
.workspace :is(.os-message.err,.reservation-notice:not(:empty)){background:var(--danger-surface)!important;border-color:color-mix(in srgb,var(--bad) 35%,var(--stroke))!important;color:var(--bad)!important}
.workspace :is(.sms-countdown,.reservation-notice.warning,#reservationLock:not(:empty)){background:var(--warning-surface);border-color:color-mix(in srgb,var(--warn) 35%,var(--stroke));color:var(--warn)}
.workspace :is(.sms-code span,.sms-message-preview,.sms-balance-meta,.sms-stock-head span,.sms-stock-item span,.sms-assignment-meta,.sms-price-note,.sms-hint,.sms-pool-policy){color:var(--muted)!important}

/* Tables and documentation blocks should never fall back to the dark palette. */
.workspace :is(.docs-nav,.doc-mini,.step,.doc-endpoint,.doc-tester,.status-row,.api-card,.scope-item,.endpoint,.quick-step){background:var(--panel)!important;color:var(--text)!important;border-color:var(--stroke)!important}
.workspace :is(.doc-code,.doc-response,.doc-tester-body,.profile-chips code,.flow span){background:var(--bg-soft)!important;color:var(--text)!important;border-color:var(--stroke)!important}
.workspace :is(.docs-nav a,.doc-section>.section-sub,.step p,.doc-endpoint-head p,.doc-block>p,.doc-footer-note,.doc-tester-keybar p,.doc-tester-head p){color:var(--muted)!important}
.workspace :is(.table-wrap table,.px-table,.doc-table) th{background:var(--bg-soft)!important;color:var(--muted)!important;border-color:var(--stroke)!important}
.workspace :is(.table-wrap table,.px-table,.doc-table) td{color:var(--text)!important;border-color:var(--stroke)!important}
.workspace .ebay-shell .state-option{min-height:0!important;background:transparent!important;border:0!important;color:var(--text)!important;box-shadow:none!important}.workspace .ebay-shell .state-option:hover,.workspace .ebay-shell .state-option.active{background:color-mix(in srgb,var(--accent) 14%,transparent)!important}.workspace .ebay-shell .state-option.active{color:var(--accent)!important}
