:root{color-scheme:light;--bg:#f5f8fc;--surface:#fff;--surface-soft:#f8fbfe;--surface-blue:#eef8ff;--line:#dce6f0;--line-strong:#cbd8e6;--text:#172033;--muted:#69778c;--primary:#079ce5;--primary-dark:#087fc2;--primary-soft:#e3f5ff;--success:#13a665;--success-soft:#e8f8ef;--warning:#e9941e;--warning-soft:#fff4df;--danger:#df4f5e;--danger-soft:#fff0f2;--shadow:0 10px 28px rgba(35,69,104,.08);--shadow-soft:0 4px 14px rgba(35,69,104,.06);--radius:14px;--sidebar:248px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--primary-dark);text-decoration:none}a:hover{color:var(--primary)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(1.7rem,3vw,2.25rem);line-height:1.16;letter-spacing:-.025em}h2{font-size:1.08rem;margin-bottom:12px}h3{font-size:.95rem}.muted{color:var(--muted)}.small-text{font-size:.82rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{display:block;color:var(--primary);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;margin-bottom:5px}.required{color:var(--danger)}.brand{display:flex;align-items:center;gap:10px;color:var(--text)}.brand:hover{color:var(--text)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:linear-gradient(145deg,#0bb7e9,#078ad9);color:#fff;font-size:1.65rem;font-weight:900;box-shadow:0 7px 20px rgba(7,156,229,.2)}.brand>span:last-child{display:flex;flex-direction:column;line-height:1.05}.brand strong{font-size:1.35rem;letter-spacing:-.03em}.brand small{margin-top:4px;color:var(--muted);font-size:.73rem;letter-spacing:.035em}.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:20px 16px;border-right:1px solid var(--line);background:rgba(255,255,255,.96);display:flex;flex-direction:column;z-index:10}.sidebar .brand{padding:1px 5px 20px}.sidebar-nav{display:grid;gap:4px;margin-top:6px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:#52617a;font-weight:550}.nav-item:hover{background:#f3f8fc;color:var(--text)}.nav-item.active{background:linear-gradient(90deg,#e5f6ff,#f2faff);color:#087fca;box-shadow:inset 3px 0 0 var(--primary)}.nav-icon{width:22px;text-align:center;font-size:1.05rem}.sidebar-section{border-top:1px solid var(--line);margin-top:18px;padding:18px 4px 0}.sidebar-label{display:block;color:var(--muted);font-size:.78rem;margin-bottom:8px}.environment-pill{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.status-dot.success{background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}.sidebar-help{margin-top:auto;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);box-shadow:var(--shadow-soft)}.sidebar-help p{font-size:.78rem;color:var(--muted);margin:5px 0 12px}.sidebar-footer{display:flex;justify-content:space-between;padding:18px 4px 0;color:var(--muted);font-size:.72rem}.app-workspace{min-width:0}.app-header{height:76px;padding:0 clamp(20px,3.5vw,46px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.9);backdrop-filter:blur(12px);position:sticky;top:0;z-index:8}.header-search{width:min(390px,42vw);height:40px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:#8996a9}.header-actions{display:flex;align-items:center;gap:10px}.header-version-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 10px;border:1px solid #cbe9f8;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:.74rem;font-weight:800;white-space:nowrap}.header-version-chip:hover{background:#d5f1ff;border-color:#9edaf5}.header-version-chip small{display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:#087fca;font-size:.64rem}.header-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#607189}.header-icon:hover{background:var(--primary-soft)}.user-chip{display:flex;align-items:center;gap:9px;padding-left:8px;border-left:1px solid var(--line)}.user-chip>span:last-child{display:flex;flex-direction:column}.user-chip strong{font-size:.8rem}.user-chip small{color:var(--muted);font-size:.68rem}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dff5ff;color:#0784ca;font-weight:800}.app-main{padding:30px clamp(20px,3vw,42px) 50px;max-width:1540px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.page-heading p{color:var(--muted);margin-bottom:0}.version-pill,.status-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700}.version-pill{background:var(--primary-soft);color:var(--primary-dark)}.panel,.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft);padding:20px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard{display:grid;gap:20px}.dashboard-grid,.two-column-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-soft)}.kpi-card .kpi-label{color:var(--muted);font-size:.8rem}.kpi-card strong{display:block;font-size:1.7rem;line-height:1.2;margin:5px 0}.kpi-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:1.1rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px}.data-table{width:100%;border-collapse:collapse;min-width:690px}.data-table th,.data-table td{padding:12px 13px;border-bottom:1px solid #eaf0f5;text-align:left;vertical-align:middle}.data-table th{background:#fbfdff;color:var(--muted);font-size:.75rem;font-weight:700}.data-table tr:last-child td{border-bottom:0}.status-success{background:var(--success-soft);color:#087e4c}.status-warning{background:var(--warning-soft);color:#a76308}.status-danger{background:var(--danger-soft);color:#b53241}.status-info{background:var(--primary-soft);color:#087fca}.summary-list{margin:0}.summary-list>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #eaf0f5}.summary-list>div:last-child{border-bottom:0}.summary-list dt{color:var(--muted)}.summary-list dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}.activity-list{display:grid}.activity-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #eaf0f5}.activity-item:last-child{border-bottom:0}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 16px;border:1px solid transparent;border-radius:9px;font:700 .88rem/1.1 inherit;cursor:pointer;text-decoration:none;transition:.15s ease}.button.primary,button.primary,button:not(.secondary):not(.ghost){background:linear-gradient(135deg,#0aaae6,#078ee0);color:#fff;box-shadow:0 7px 16px rgba(7,156,229,.18)}.button.primary:hover,button.primary:hover{background:linear-gradient(135deg,#069bd6,#087dca);color:#fff}.button.secondary,button.secondary{background:var(--surface);border-color:var(--line);color:var(--text);box-shadow:none}.button.ghost{background:transparent;color:var(--primary-dark)}.button.full,button.full{width:100%}.notice,.error{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;margin:12px 0}.notice-info{background:#eff9ff;border-color:#b8e5fb;color:#185a79}.notice-success{background:var(--success-soft);border-color:#bdebd3;color:#126a45}.notice-error,.error{background:var(--danger-soft);border-color:#f3c9cf;color:#9c2d39}.notice-warning{background:var(--warning-soft);border-color:#f5d9aa;color:#87550f}.stack-form{display:grid;gap:15px;margin-top:18px}label{display:grid;gap:6px;color:#35445a;font-size:.84rem;font-weight:650}input,select,textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--text);font:inherit}input[readonly]{background:#f7fafc;color:#586981}input:focus,select:focus,textarea:focus{outline:3px solid rgba(7,156,229,.12);border-color:#60bfe9}.field-help{margin:-8px 0 0;color:var(--muted);font-size:.76rem}.installer-body{background:#f7fafe}.installer-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.installer-brand-panel{padding:28px 24px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column}.installer-brand-copy{margin-top:80px}.installer-brand-copy h2{font-size:1.55rem;line-height:1.2}.installer-brand-copy p,.installer-security-note p{color:var(--muted)}.installer-security-note{margin-top:auto;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);font-size:.8rem}.installer-main{padding:34px clamp(24px,4vw,58px);max-width:1280px;width:100%;margin:0 auto}.installer-page-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.installer-page-heading p{color:var(--muted)}.installer-stepper{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:18px 10px;margin:0 0 18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-soft)}.installer-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;color:#8a96a8;text-align:center}.installer-step:not(:last-child)::after{content:"";position:absolute;top:16px;left:calc(50% + 22px);right:calc(-50% + 22px);height:2px;background:#dce6f0;z-index:0}.installer-step.is-complete:not(:last-child)::after{background:#45c38a}.installer-step-number{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line-strong);border-radius:50%;background:#fff;font-weight:750}.installer-step.is-current{color:var(--primary-dark)}.installer-step.is-current .installer-step-number{border:2px solid var(--primary);background:#eaf8ff;color:var(--primary-dark)}.installer-step.is-complete{color:var(--success)}.installer-step.is-complete .installer-step-number{border-color:#5bce98;background:var(--success-soft);color:var(--success)}.installer-step-label{font-size:.76rem;font-weight:650}.installer-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(270px,.9fr);gap:16px}.installer-side-stack{display:grid;gap:16px;align-content:start}.installer-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.preparation{min-height:260px;margin:24px 0;padding:24px;border:1px dashed var(--line-strong);border-radius:14px;background:var(--surface)}.preparation p{color:var(--muted)}.requirements-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.8fr);gap:18px}.workflow{display:flex;align-items:flex-start;gap:8px}.workflow-step{flex:1;text-align:center;position:relative}.workflow-step::before{content:"";position:absolute;top:18px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0}.workflow-step:first-child::before{display:none}.workflow-dot{position:relative;z-index:1;margin:0 auto 8px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-strong);background:#fff}.workflow-step.complete .workflow-dot{background:var(--success-soft);border-color:#5bce98;color:var(--success)}.workflow-step.active .workflow-dot{background:var(--primary-soft);border:2px solid var(--primary);color:var(--primary)}.error-code{font-size:4rem;margin:24px 0 0;color:var(--primary);font-weight:800}.error-page{text-align:center}.guest{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.guest>.card{width:min(100%,430px)}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.two-column-grid,.requirements-grid,.installer-grid{grid-template-columns:1fr}.installer-shell{grid-template-columns:220px 1fr}.installer-step-label{display:none}}@media(max-width:760px){.kpi-grid{grid-template-columns:1fr 1fr}.installer-shell{display:block}.installer-brand-panel{height:auto;padding:16px 20px;display:block}.installer-brand-copy,.installer-security-note{display:none}.installer-main{padding:20px 14px}.installer-stepper{overflow:auto;grid-template-columns:repeat(7,minmax(75px,1fr))}.installer-step-label{display:block}.page-heading,.installer-page-heading{flex-direction:column}.workflow{overflow:auto}.workflow-step{min-width:110px}}@media(max-width:480px){.header-icon{display:none}.header-version-chip{font-size:.66rem}.avatar{width:34px;height:34px}.kpi-grid{grid-template-columns:1fr}.installer-actions{flex-direction:column-reverse}.installer-actions .button{width:100%}}

/* Updater: Control Center-inspired progress UI */
.update-page{max-width:980px}.update-heading{align-items:stretch}.update-version-card{min-width:210px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#f7fbff,#eef8ff);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.update-version-label{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.update-version-card strong{font-size:1.25rem;line-height:1.25;margin-top:3px}.update-version-card small{color:var(--muted);margin-top:2px}.update-overview-panel{margin:18px 0}.update-availability{margin-top:16px}.update-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 10px}.update-history-heading h2{margin:0}.update-version-route{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin-bottom:18px}.update-version-route>div{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.update-version-route span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:750}.update-version-route strong{display:block;margin-top:3px;font-size:1.05rem}.update-route-arrow{font-size:1.35rem!important;color:var(--primary)!important;text-align:center}.update-process-panel{margin:18px 0;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.update-process-status{display:flex;align-items:center;gap:14px}.update-process-status-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark);font-size:1.4rem;font-weight:900}.update-process-status-copy{min-width:0;flex:1}.update-process-status-copy strong{display:block;font-size:1.05rem;line-height:1.3}.update-process-status-copy p{margin:3px 0 0;color:var(--muted)}.update-process-percent{margin-top:14px;font-size:1.18rem}.update-progress-track{height:7px;margin-top:8px;border-radius:999px;background:#e7edf4;overflow:hidden}.update-progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#1b82ff);transition:width .25s ease}.update-process-panel[data-state="success"] .update-process-status-icon{background:var(--success-soft);color:var(--success)}.update-process-panel[data-state="error"] .update-process-status-icon{background:var(--danger-soft);color:var(--danger)}.update-process-panel[data-state="working"] .update-process-status-icon{background:var(--warning-soft);color:var(--warning)}.update-process-details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.update-process-details summary{cursor:pointer;color:#56657a;font-weight:750}.update-step-list{display:grid;gap:10px;margin-top:14px}.update-step-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);transition:.15s ease}.update-step-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong);background:#fff;color:#7d8998;font-weight:900}.update-step-copy strong{display:block}.update-step-copy p{margin:2px 0 0;color:var(--muted);font-size:.82rem}.update-step-state{font-size:.78rem;font-weight:800;color:#7b8797;white-space:nowrap}.update-step-error{padding:8px 10px!important;margin-top:7px!important;border-radius:8px;background:var(--danger-soft);color:#9c2d39!important}.update-step-card[data-status="running"]{border-color:#e5bb70;background:#fffaf0;box-shadow:0 0 0 2px rgba(233,148,30,.08)}.update-step-card[data-status="running"] .update-step-icon{border-color:#efb653;background:var(--warning-soft);color:var(--warning)}.update-step-card[data-status="running"] .update-step-state{color:#a76308}.update-step-card[data-status="success"]{border-color:#b8e6cf;background:#f5fcf8}.update-step-card[data-status="success"] .update-step-icon{border-color:#6fd0a0;background:var(--success-soft);color:var(--success)}.update-step-card[data-status="success"] .update-step-state{color:#087e4c}.update-step-card[data-status="error"]{border-color:#efb8c0;background:#fff7f8}.update-step-card[data-status="error"] .update-step-icon{border-color:#e77380;background:var(--danger-soft);color:var(--danger)}.update-step-card[data-status="error"] .update-step-state{color:#b53241}.update-step-card[data-status="skipped"]{opacity:.72}.update-step-card[data-status="skipped"] .update-step-state{color:var(--muted)}.notice.success{background:var(--success-soft);border-color:#bdebd3;color:#126a45}.notice.danger{background:var(--danger-soft);border-color:#f3c9cf;color:#9c2d39}
@media(max-width:760px){.update-heading{gap:12px}.update-version-card{width:100%;min-width:0}.update-process-panel{padding:15px}.update-step-card{grid-template-columns:38px minmax(0,1fr)}.update-step-state{grid-column:2;justify-self:start;margin-top:-5px}.update-version-route{grid-template-columns:1fr}.update-route-arrow{transform:rotate(90deg)}}

/* Updater 1.0 — visual parity with Control Center */
.header-version-chip{min-height:34px;padding:6px 11px;letter-spacing:.01em}
.header-version-chip span{display:block}
.update-page{max-width:980px}
.update-process-panel{margin-top:14px;padding:14px 16px;border-radius:18px;box-shadow:0 8px 22px rgba(31,58,95,.06)}
.update-process-status{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center}
.update-process-status-icon{width:32px;height:32px;flex:0 0 32px;font-size:1rem}
.update-process-status-copy strong{font-size:15px}
.update-process-status-copy p{font-size:12px;line-height:1.35}
.update-process-percent{grid-column:3;grid-row:1;margin:0;font-size:15px;white-space:nowrap;align-self:center}
.update-progress-track{height:8px;margin:10px 0 2px}
.update-process-details{margin-top:8px;padding-top:8px}
.update-process-details summary{font-size:12px;list-style:none}
.update-process-details summary::-webkit-details-marker{display:none}
.update-process-details summary::after{content:' ▾'}
.update-process-details[open] summary::after{content:' ▴'}
.update-step-list{gap:6px;margin-top:10px}
.update-step-card{grid-template-columns:30px minmax(0,1fr);gap:10px;padding:8px 10px;border-radius:12px;background:rgba(100,116,139,.025)}
.update-step-icon{position:relative;width:24px;height:24px;border:0;background:#e5e7eb;color:#64748b;font-size:12px}
.update-step-copy strong{font-size:13px}
.update-step-copy p{font-size:12px;line-height:1.3}
.update-step-state{grid-column:2;justify-self:start;margin-top:-2px;font-size:11px}
.update-step-card[data-status="success"]{border-color:rgba(34,197,94,.22);background:rgba(34,197,94,.04)}
.update-step-card[data-status="success"] .update-step-icon{border:0;background:#16a34a;color:#fff}
.update-step-card[data-status="running"]{border-color:rgba(245,158,11,.32);background:rgba(245,158,11,.05);box-shadow:none}
.update-step-card[data-status="running"] .update-step-icon{border:0;background:conic-gradient(from 0deg,#f59e0b,#fde68a,#f59e0b);color:transparent;animation:update-workflow-spin .9s linear infinite}
.update-step-card[data-status="running"] .update-step-icon::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--surface)}
.update-step-card[data-status="error"]{border-color:rgba(220,38,38,.28);background:rgba(220,38,38,.05)}
.update-step-card[data-status="error"] .update-step-icon{border:0;background:#dc2626;color:#fff}
.update-step-card[data-status="pending"] .update-step-icon{background:#e5e7eb;color:#64748b}
.update-step-card[data-status="skipped"]{opacity:.68}
.update-process-panel[data-state="working"]{border-color:rgba(245,158,11,.38)}
.update-process-panel[data-state="working"] .update-process-status-icon{background:conic-gradient(from 0deg,#f59e0b,#fde68a,#f59e0b);color:transparent;animation:update-workflow-spin .9s linear infinite}
.update-process-panel[data-state="success"]{border-color:rgba(34,197,94,.32);background:linear-gradient(135deg,var(--surface),rgba(34,197,94,.04))}
.update-process-panel[data-state="success"] .update-process-status-icon{background:#16a34a;color:#fff}
.update-process-panel[data-state="error"]{border-color:rgba(220,38,38,.38);background:linear-gradient(135deg,var(--surface),rgba(220,38,38,.04))}
.update-process-panel[data-state="error"] .update-process-status-icon{background:#dc2626;color:#fff}
.update-execute-form[hidden],[data-update-finished][hidden]{display:none!important}
@keyframes update-workflow-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){
 .update-process-status{grid-template-columns:34px minmax(0,1fr)}
 .update-process-percent{grid-column:2;grid-row:2;justify-self:start;margin-top:2px}
 .update-step-card{grid-template-columns:28px minmax(0,1fr);padding:8px}
 .update-version-card{padding:11px 13px}
 .update-version-card strong{font-size:1rem}
}


/* App navigation — distinct blue/green/orange product identity */
:root{
 --nav-blue:#0b95df;
 --nav-blue-soft:#e8f6ff;
 --nav-green:#16a66a;
 --nav-green-soft:#eaf8f1;
 --nav-orange:#ef9526;
 --nav-orange-soft:#fff3e3;
 --nav-teal:#0a9a9a;
 --nav-teal-soft:#e8f8f7;
}

.app-primary-nav{gap:7px}
.nav-item,.nav-group{
 --nav-accent:var(--nav-blue);
 --nav-soft:var(--nav-blue-soft);
}
.nav-item,.nav-group>summary{
 min-height:44px;
 border:1px solid transparent;
 border-radius:12px;
 transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease,color .12s ease;
}
.nav-accent-blue{--nav-accent:var(--nav-blue);--nav-soft:var(--nav-blue-soft)}
.nav-accent-green{--nav-accent:var(--nav-green);--nav-soft:var(--nav-green-soft)}
.nav-accent-orange{--nav-accent:var(--nav-orange);--nav-soft:var(--nav-orange-soft)}
.nav-accent-teal{--nav-accent:var(--nav-teal);--nav-soft:var(--nav-teal-soft)}
.nav-item:hover,.nav-group>summary:hover{background:var(--nav-soft);color:var(--nav-accent);border-color:color-mix(in srgb,var(--nav-accent) 20%,transparent)}
.nav-item.active,.nav-group>summary.active{background:var(--nav-soft);color:var(--nav-accent);box-shadow:inset 3px 0 0 var(--nav-accent);border-color:color-mix(in srgb,var(--nav-accent) 16%,transparent)}
.nav-item:active,.nav-group>summary:active{transform:translateY(2px) scale(.985);box-shadow:inset 0 3px 7px rgba(23,32,51,.12)}
.nav-group{border-radius:12px}
.nav-group>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:10px 12px;color:#52617a;font-weight:650;cursor:pointer;user-select:none}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group .nav-chevron{margin-left:auto;width:auto;font-size:.9rem;transition:transform .15s ease}
.nav-group[open] .nav-chevron{transform:rotate(180deg)}
.nav-submenu{display:grid;gap:3px;margin:5px 0 2px 34px;padding-left:10px;border-left:2px solid color-mix(in srgb,var(--nav-accent) 24%,#dce6f0)}
.nav-submenu a{display:flex;align-items:center;min-height:34px;padding:6px 9px;border-radius:9px;color:#69778c;font-size:.79rem;font-weight:650;transition:transform .12s ease,background .12s ease,color .12s ease}
.nav-submenu a:hover,.nav-submenu a.active{background:var(--nav-soft);color:var(--nav-accent)}
.nav-submenu a:active{transform:translateY(1px) scale(.985)}

.button,button,.header-version-chip,.header-icon{
 transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background .12s ease,border-color .12s ease;
}
.button:active,button:active,.header-version-chip:active,.header-icon:active{
 transform:translateY(2px) scale(.985);
 box-shadow:inset 0 3px 7px rgba(23,32,51,.14);
}
.button.primary,button.primary,button:not(.secondary):not(.ghost):not(.mobile-tab){
 background:linear-gradient(135deg,var(--nav-blue),#087fc8);
 box-shadow:0 7px 16px rgba(11,149,223,.18);
}

.mobile-tabbar,.mobile-nav-sheet,.mobile-nav-scrim{display:none}

@media(max-width:760px){
 :root{--sidebar:0px}
 .app-shell{display:block;min-height:100vh}
 .sidebar{display:none!important}
 .app-workspace{width:100%;min-width:0}
 .app-header{
  height:72px;
  padding:0 14px;
  padding-top:env(safe-area-inset-top);
 }
 .header-search{display:none}
 .header-actions{width:100%;justify-content:flex-end;gap:7px}
 .header-version-chip{margin-right:auto;padding:6px 9px;font-size:.72rem}
 .user-chip{border-left:0;padding-left:2px}
 .user-chip>span:last-child{display:none}
 .app-main{
  padding:20px 14px calc(112px + env(safe-area-inset-bottom));
  max-width:none;
 }
 .mobile-tabbar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  position:fixed;
  left:12px;
  right:12px;
  bottom:calc(10px + env(safe-area-inset-bottom));
  z-index:50;
  padding:7px;
  border:1px solid rgba(203,216,230,.9);
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 34px rgba(35,69,104,.18);
  backdrop-filter:blur(18px);
 }
 .mobile-tab{
  --tab-accent:var(--nav-blue);
  --tab-soft:var(--nav-blue-soft);
  min-width:0;
  min-height:58px;
  padding:7px 4px;
  border:1px solid transparent;
  border-radius:14px;
  background:transparent;
  color:#718096;
  box-shadow:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  font:700 .66rem/1.15 inherit;
  text-align:center;
  cursor:pointer;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease,color .12s ease,border-color .12s ease;
 }
 button.mobile-tab.mobile-tab-trigger:not(.secondary):not(.ghost){
  background:transparent;
  color:#718096;
  box-shadow:none;
 }
 .mobile-tab-blue{--tab-accent:var(--nav-blue);--tab-soft:var(--nav-blue-soft)}
 .mobile-tab-green{--tab-accent:var(--nav-green);--tab-soft:var(--nav-green-soft)}
 .mobile-tab-orange{--tab-accent:var(--nav-orange);--tab-soft:var(--nav-orange-soft)}
 .mobile-tab-teal{--tab-accent:var(--nav-teal);--tab-soft:var(--nav-teal-soft)}
 .mobile-tab.active,
 button.mobile-tab.mobile-tab-trigger.active:not(.secondary):not(.ghost){
  background:var(--tab-soft);
  color:var(--tab-accent);
  border-color:color-mix(in srgb,var(--tab-accent) 18%,transparent);
  box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--tab-accent) 55%,transparent);
 }
 .mobile-tab:active,
 button.mobile-tab.mobile-tab-trigger:active:not(.secondary):not(.ghost){
  transform:translateY(3px) scale(.96);
  box-shadow:inset 0 4px 8px rgba(23,32,51,.14);
 }
 .mobile-tab-icon{font-size:1.2rem;line-height:1}
 .mobile-nav-scrim{
  position:fixed;
  inset:0;
  z-index:40;
  background:rgba(23,32,51,.22);
  backdrop-filter:blur(2px);
 }
 .mobile-nav-scrim:not([hidden]){display:block}
 .mobile-nav-sheet{
  --sheet-accent:var(--nav-blue);
  --sheet-soft:var(--nav-blue-soft);
  position:fixed;
  left:12px;
  right:12px;
  bottom:calc(88px + env(safe-area-inset-bottom));
  z-index:45;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--sheet-accent) 22%,#dce6f0);
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 44px rgba(35,69,104,.22);
 }
 .mobile-nav-sheet:not([hidden]){display:block}
 .mobile-nav-sheet-green{--sheet-accent:var(--nav-green);--sheet-soft:var(--nav-green-soft)}
 .mobile-nav-sheet-teal{--sheet-accent:var(--nav-teal);--sheet-soft:var(--nav-teal-soft)}
 .mobile-nav-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
 .mobile-nav-sheet-head>div{display:flex;flex-direction:column}
 .mobile-nav-sheet-kicker{color:var(--sheet-accent);font-size:.67rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
 .mobile-nav-sheet-head strong{font-size:1.05rem}
 .mobile-sheet-close{width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;font-size:1.25rem}
 .mobile-nav-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .mobile-sheet-link{
  min-height:46px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  color:#52617a;
  font-weight:700;
  display:flex;
  align-items:center;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease,color .12s ease,border-color .12s ease;
 }
 .mobile-sheet-link:hover,.mobile-sheet-link.active{background:var(--sheet-soft);color:var(--sheet-accent);border-color:color-mix(in srgb,var(--sheet-accent) 25%,#dce6f0)}
 .mobile-sheet-link:active{transform:translateY(2px) scale(.98);box-shadow:inset 0 3px 7px rgba(23,32,51,.12)}
 body.mobile-nav-open{overflow:hidden}
}

@media(max-width:430px){
 .mobile-tabbar{left:8px;right:8px;gap:3px;padding:6px}
 .mobile-tab{min-height:56px;font-size:.62rem}
 .mobile-nav-sheet{left:8px;right:8px}
 .mobile-nav-sheet-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
 .nav-item,.nav-group>summary,.nav-submenu a,.button,button,.header-version-chip,.header-icon,.mobile-tab,.mobile-sheet-link{transition:none!important}
}


/* Mobile dashboard KPI density */
@media(max-width:760px){
 .dashboard-kpi-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
 }
 .dashboard-kpi-grid .kpi-card{
  grid-column:span 2;
  min-width:0;
  padding:12px 10px;
  border-radius:14px;
 }
 .dashboard-kpi-grid .kpi-card:nth-last-child(2):nth-child(3n + 1),
 .dashboard-kpi-grid .kpi-card:last-child:nth-child(3n + 2){
  grid-column:span 3;
 }
 .dashboard-kpi-grid .kpi-card:last-child:nth-child(3n + 1){
  grid-column:1 / -1;
 }
 .dashboard-kpi-grid .kpi-icon{
  width:32px;
  height:32px;
  border-radius:9px;
  font-size:.9rem;
 }
 .dashboard-kpi-grid .kpi-label{
  display:block;
  margin-top:7px;
  font-size:.69rem;
  line-height:1.2;
 }
 .dashboard-kpi-grid .kpi-card strong{
  margin:4px 0;
  font-size:1.45rem;
  line-height:1.05;
 }
 .dashboard-kpi-grid .muted{
  display:block;
  font-size:.66rem;
  line-height:1.25;
  overflow-wrap:anywhere;
 }
}


/* Guided site creation wizard */
.site-wizard{max-width:980px;margin:0 auto}
.site-wizard-heading{margin-bottom:18px}
.site-wizard-heading h1{margin:.2rem 0 .45rem}
.site-wizard-heading p:last-child{color:var(--muted);max-width:720px}
.site-wizard-form{display:grid;gap:16px}
.site-destination-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.site-choice-card{position:relative;display:grid;gap:8px;min-height:170px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 10px 24px rgba(35,69,104,.08);cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}
.site-choice-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--nav-blue) 32%,var(--line));box-shadow:0 14px 30px rgba(35,69,104,.12)}
.site-choice-card:active{transform:translateY(2px) scale(.99)}
.site-choice-card input{position:absolute;inset:14px 14px auto auto;width:20px;height:20px}
.site-choice-card:has(input:checked){border-color:color-mix(in srgb,var(--nav-green) 45%,var(--line));background:color-mix(in srgb,var(--nav-green-soft) 68%,var(--surface));box-shadow:inset 0 -4px 0 color-mix(in srgb,var(--nav-green) 40%,transparent),0 12px 28px rgba(35,69,104,.1)}
.site-choice-icon{font-size:2rem;color:var(--nav-blue)}
.site-choice-card strong{font-size:1.18rem;color:var(--text)}
.site-choice-card small{color:var(--muted);font-size:.9rem}
.site-wizard-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}
.ns-panel{background:linear-gradient(135deg,var(--surface-soft),color-mix(in srgb,var(--success-soft) 45%,var(--surface)))}
.ns-value{display:inline-flex;margin:5px 8px 5px 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--nav-blue) 22%,var(--line));border-radius:12px;background:var(--surface)}
.ns-value code{font-size:.95rem;font-weight:800;color:var(--text)}
.registrar-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.registrar-help ol{margin:.7rem 0 0;padding-left:1.25rem}
.registrar-help li{margin:.5rem 0;color:var(--muted)}
.dns-watch-card{display:grid;gap:18px}
.dns-watch-time{display:flex;align-items:end;justify-content:space-between;gap:12px}
.dns-watch-time strong{font-size:2.2rem;line-height:1;color:var(--nav-blue)}
.dns-watch-state{font-weight:800;color:var(--text)}
.dns-watch-progress{height:10px;border-radius:999px;background:var(--surface-soft);overflow:hidden}
.dns-watch-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--nav-blue),var(--nav-green));border-radius:inherit;transition:width .3s ease}
.confirmation-card .summary-list dd{max-width:65%;overflow-wrap:anywhere}
.result-card{display:grid;gap:12px}
.result-card .status-badge{justify-self:start}
.site-stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.site-stat{padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.site-stat small{display:block;color:var(--muted);font-size:.68rem}
.site-stat strong{display:block;margin-top:2px;font-size:1.05rem}
.platform-name{display:block;font-weight:850;color:var(--text)}
.platform-description{display:block;margin-top:3px;color:var(--muted);font-size:.82rem;line-height:1.35}

@media(max-width:760px){
 .site-wizard{max-width:none}
 .site-destination-grid,.registrar-help-grid{grid-template-columns:1fr}
 .site-choice-card{min-height:136px;padding:18px}
 .site-wizard-actions{position:relative;display:grid;grid-template-columns:1fr 1fr}
 .site-wizard-actions .button,.site-wizard-actions form,.site-wizard-actions form .button{width:100%}
 .dns-watch-time strong{font-size:1.9rem}
 .confirmation-card .summary-list dd{max-width:58%}
}


/* Destructive platform deletion */
.button.danger,button.danger{background:linear-gradient(135deg,#dc3545,#b42332)!important;border-color:#b42332!important;color:#fff!important;box-shadow:0 7px 16px rgba(180,35,50,.18)!important}
.button.danger:hover,button.danger:hover{filter:brightness(.97)}
.platform-delete-modal[hidden]{display:none!important}
.platform-delete-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px}
.platform-delete-scrim{position:absolute;inset:0;background:rgba(17,24,39,.58);backdrop-filter:blur(3px)}
.platform-delete-dialog{position:relative;z-index:1;width:min(520px,100%);padding:24px;border:1px solid color-mix(in srgb,var(--danger) 42%,var(--line));border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px rgba(17,24,39,.28)}
.platform-delete-dialog h2{margin:.45rem 0 .8rem;line-height:1.25}
.delete-warning-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--danger-soft);color:#b42332;font-size:1.35rem;font-weight:900}
body.platform-delete-open{overflow:hidden}
.delete-danger-panel{border-color:color-mix(in srgb,var(--danger) 42%,var(--line));background:color-mix(in srgb,var(--danger-soft) 64%,var(--surface))}
.delete-final-card{max-width:620px;margin:7vh auto 0;padding:28px;border:1px solid color-mix(in srgb,var(--danger) 42%,var(--line));border-radius:22px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px rgba(17,24,39,.14)}
.delete-final-card h1{margin:.45rem 0 .8rem}
@media(max-width:760px){.platform-delete-dialog,.delete-final-card{padding:20px}.delete-final-card{margin-top:2vh}.platform-delete-dialog .site-wizard-actions{grid-template-columns:1fr 1fr}}


/* ZIP antivirus processing feedback */
.antivirus-progress-modal[hidden]{display:none!important}
.antivirus-progress-modal{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:18px}
.antivirus-progress-scrim{position:absolute;inset:0;background:rgba(17,24,39,.46);backdrop-filter:blur(3px)}
.antivirus-progress-dialog{position:relative;z-index:1;width:min(520px,100%);padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px rgba(17,24,39,.24);text-align:center}
.antivirus-progress-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark);font-size:1.35rem;animation:antivirus-progress-pulse 1.2s ease-in-out infinite}
.antivirus-progress-dialog h2{margin:0 0 8px}
.antivirus-progress-dialog p{margin:0;color:var(--muted)}
.antivirus-progress-dialog small{display:block;margin-top:12px;color:var(--muted);line-height:1.4}
.antivirus-progress-track{position:relative;height:9px;margin-top:18px;border-radius:999px;background:var(--surface-soft);overflow:hidden}
.antivirus-progress-track span{position:absolute;inset:0 auto 0 -38%;width:38%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--nav-green));animation:antivirus-progress-slide 1.15s ease-in-out infinite}
body.antivirus-progress-open{overflow:hidden}
button[aria-disabled="true"]{cursor:wait;opacity:.76}
@keyframes antivirus-progress-slide{0%{left:-38%}100%{left:100%}}
@keyframes antivirus-progress-pulse{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:1}}
@media(prefers-reduced-motion:reduce){
 .antivirus-progress-icon,.antivirus-progress-track span{animation-duration:2.4s}
}


/* Platform deletion progress */
.delete-progress-modal[hidden]{display:none!important}
.delete-progress-modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:18px}
.delete-progress-scrim{position:absolute;inset:0;background:rgba(17,24,39,.52);backdrop-filter:blur(3px)}
.delete-progress-dialog{position:relative;z-index:1;width:min(520px,100%);padding:26px;border:1px solid color-mix(in srgb,var(--danger) 42%,var(--line));border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px rgba(17,24,39,.28);text-align:center}
.delete-progress-spinner{display:block;width:48px;height:48px;margin:0 auto 16px;border:5px solid #f1c8ce;border-top-color:#b42332;border-radius:50%;animation:site-delete-spin .9s linear infinite}
.delete-progress-dialog h2{margin:0 0 8px}
.delete-progress-dialog p{margin:0;color:var(--muted)}
.delete-progress-dialog small{display:block;margin-top:12px;color:var(--muted);line-height:1.45}
body.site-delete-progress-open{overflow:hidden}
@keyframes site-delete-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.delete-progress-spinner{animation-duration:1.8s}}


/* DNS ready state */
[data-dns-ready][hidden],
[data-dns-timeout][hidden],
[data-dns-next][hidden],
[data-dns-retry][hidden],
[data-dns-waiting-card][hidden]{display:none!important}
.dns-ready-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #bdebd3;border-radius:14px;background:var(--success-soft);color:#126a45}
.dns-ready-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:var(--surface);color:var(--success);font-size:1.55rem;font-weight:900;box-shadow:0 6px 18px rgba(19,166,101,.13)}
.dns-ready-card strong{display:block;font-size:1.05rem}
.dns-ready-card p{margin:3px 0 0;color:color-mix(in srgb,var(--success) 72%,var(--text))}

/* Guided wizard progress */
.wizard-progress-modal[hidden]{display:none!important}
.wizard-progress-modal{position:fixed;inset:0;z-index:155;display:grid;place-items:center;padding:18px}
.wizard-progress-scrim{position:absolute;inset:0;background:rgba(17,24,39,.46);backdrop-filter:blur(3px)}
.wizard-progress-dialog{position:relative;z-index:1;width:min(520px,100%);padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px rgba(17,24,39,.26);text-align:center}
.wizard-progress-spinner{display:block;width:48px;height:48px;margin:0 auto 16px;border:5px solid #dcecf6;border-top-color:var(--primary);border-radius:50%;animation:wizard-progress-spin .85s linear infinite}
.wizard-progress-dialog h2{margin:0 0 8px}
.wizard-progress-dialog p{margin:0;color:var(--muted)}
.wizard-progress-dialog small{display:block;margin-top:12px;color:var(--muted);line-height:1.45}
body.wizard-progress-open{overflow:hidden}
@keyframes wizard-progress-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.wizard-progress-spinner{animation-duration:1.8s}}


/* Simplified updater completion */
.update-primary-action{display:grid;gap:12px;justify-items:start;margin-top:14px}
.update-release-notes{margin-top:14px}
.update-release-notes h2{margin-top:0}
.update-error-actions[hidden],.update-success-modal[hidden]{display:none!important}
.update-error-actions{margin-top:16px}
.update-success-modal{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:18px}
.update-success-scrim{position:absolute;inset:0;background:rgba(17,24,39,.52);backdrop-filter:blur(4px)}
.update-success-dialog{position:relative;z-index:1;width:min(520px,100%);padding:30px 26px;border:1px solid color-mix(in srgb,var(--success) 42%,var(--line));border-radius:22px;background:var(--surface);color:var(--text);box-shadow:0 28px 80px rgba(17,24,39,.3);text-align:center}
.update-success-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--success-soft);color:var(--success);font-size:2rem;font-weight:900}
.update-success-dialog h2{margin:0 0 8px}
.update-success-dialog p{margin:0;color:var(--muted)}
.update-success-dialog small{display:block;margin-top:12px;color:var(--muted)}
body.update-success-open{overflow:hidden}


/* Login secure-session progress */
.login-card form{display:grid;gap:12px}
.login-progress-modal[hidden]{display:none!important}
.login-progress-modal{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:20px}
.login-progress-scrim{position:absolute;inset:0;background:rgba(17,24,39,.56);backdrop-filter:blur(5px)}
.login-progress-dialog{position:relative;z-index:1;width:min(520px,100%);padding:30px 26px;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--text);box-shadow:0 30px 90px rgba(17,24,39,.32);text-align:center}
.login-progress-dialog .eyebrow{margin-bottom:8px}
.login-progress-dialog h2{margin:0 0 9px;font-size:1.32rem}
.login-progress-dialog p:not(.eyebrow){margin:0;color:var(--muted);min-height:24px}
.login-progress-dialog small{display:block;margin-top:14px;color:var(--muted);line-height:1.45}
.login-security-mark{position:relative;width:72px;height:72px;margin:0 auto 18px;display:grid;place-items:center}
.login-security-ring{position:absolute;inset:0;border:5px solid #dcecf6;border-top-color:var(--primary);border-right-color:var(--success);border-radius:50%;animation:login-security-spin 1s linear infinite}
.login-security-lock{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(145deg,var(--primary-soft),var(--success-soft));color:var(--primary-dark);font-size:1.2rem;font-weight:900}
.login-progress-track{position:relative;height:8px;margin-top:20px;border-radius:999px;background:var(--surface-soft);overflow:hidden}
.login-progress-track span{position:absolute;inset:0 auto 0 -35%;width:35%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--success));animation:login-progress-slide 1.05s ease-in-out infinite}
body.login-progress-open{overflow:hidden}
@keyframes login-security-spin{to{transform:rotate(360deg)}}
@keyframes login-progress-slide{0%{left:-35%}100%{left:100%}}
@media(prefers-reduced-motion:reduce){
 .login-security-ring,.login-progress-track span{animation-duration:2.2s}
}
