
:root{color-scheme:light;--primary:#184378;--primary-hover:#154378;--primary-soft:#e3f0f7;--text:#25252b;--muted:#626272;--border:#d7d7e2;--background:#eeeef7;--surface:#fff;--surface-subtle:#f5f5fa;--success:#236e5c;--success-soft:#eaf4ef;--success-border:#bfd8cf;--warning:#995000;--warning-soft:#fff3e0;--warning-border:#ff8700;--danger:#ac080f;--danger-soft:#feeaec;--danger-border:#e99493;--shadow:#18243818;--backdrop:#17283865}
:root[data-theme="dark"]{color-scheme:dark;--primary:#94c4e2;--primary-hover:#bcdaed;--primary-soft:#233b50;--text:#f3f3f7;--muted:#b3b3c1;--border:#494953;--background:#2c2c2c;--surface:#353535;--surface-subtle:#303033;--success:#8bd4b9;--success-soft:#213d33;--success-border:#406b59;--warning:#ffb44c;--warning-soft:#49351f;--warning-border:#a96920;--danger:#ffabb0;--danger-soft:#4c272b;--danger-border:#9c555a;--shadow:#00000040;--backdrop:#00000099}
body{background:var(--background);color:var(--text)}
dialog{background:var(--surface)}
.primary-button,#submit,.brand-icon{background:var(--primary);border-color:var(--primary);color:var(--surface)}
.primary-button:hover,#submit:hover{background:var(--primary-hover)}
.appearance-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}
.appearance-controls .lang-switch{position:static}
.theme-toggle{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font:inherit;font-size:11px;font-weight:600;cursor:pointer;padding:6px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--primary)}
.theme-toggle:before{content:'☾';font-size:16px;line-height:1}
:root[data-theme="dark"] .theme-toggle:before{content:'☀'}
.theme-toggle:hover{background:var(--primary-soft)}
:is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--primary);outline-offset:3px}
input,select,textarea{color:var(--text);background:var(--surface);accent-color:var(--primary)}
.login-body{margin:0;padding:24px 0}
.login-card .appearance-controls{justify-content:flex-end;margin:-18px -14px 24px}
.login-logo,.app-brand img{background:#fff;border-radius:4px}
.login-logo.logo-dark,.app-brand .logo-dark{display:none;background:#000}
:root[data-theme="dark"] .logo-light{display:none}
:root[data-theme="dark"] .logo-dark{display:block}
.panel,.metric,.coverage-card,.config-card{box-shadow:0 2px 5px var(--shadow)}
tr:hover td{background:var(--primary-soft)}
@media(max-width:600px){.topbar{height:auto;min-height:54px;gap:10px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.appearance-controls{gap:8px}}
