/* ШТАБ · единый слой оформления 4.0 (вместо hud.css). Цветовые токены --c-*, светлая и тёмная тема, сетка, типографика, телефон.
   Подключается последним. Старые файлы стилей ссылаются на эти токены. Откат: вернуть <link> на hud.css и убрать этот. */

/* ---------- Токены ---------- */
:root{
  color-scheme:dark;
  --c-bg:#0b0f0b;--c-inset:#0e130e;--c-surface:#131913;--c-surface-2:#192119;--c-surface-3:#212a20;
  --c-border:#263024;--c-border-strong:#374534;
  --c-text:#e9efe1;--c-text-2:#c4cdba;--c-muted:#97a38d;--c-faint:#6a7762;
  --c-accent:#c3e87a;--c-accent-ink:#121c06;--c-info:#8db8e6;--c-warn:#eab463;--c-danger:#ec8473;--c-violet:#b9a5df;
  --c-accent-soft:color-mix(in srgb,var(--c-accent) 12%,transparent);
  --c-shadow:0 1px 0 color-mix(in srgb,var(--c-text) 4%,transparent) inset,0 12px 28px -20px #000;
  --c-focus:0 0 0 3px color-mix(in srgb,var(--c-accent) 35%,transparent);
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;
  --r-sm:6px;--r-md:8px;--r-lg:12px;
  --gap:16px;--pad:20px;
  --f-xs:11px;--f-sm:12px;--f-md:13px;--f-base:14px;--f-lg:16px;--f-xl:20px;--f-2xl:26px;
  --font-sans:Golos,'Golos Text',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--font-mono:Plex,'IBM Plex Mono',ui-monospace,monospace;
  /* старые имена переменных → токены */
  --bg:var(--c-bg);--surface:var(--c-surface);--surface2:var(--c-surface-2);--panel:var(--c-surface);--panel-dark:var(--c-inset);
  --border:var(--c-border);--text:var(--c-text);--muted:var(--c-muted);--faint:var(--c-faint);--dim:var(--c-faint);
  --lime:var(--c-accent);--mint:var(--c-accent);--green:var(--c-accent);--amber:var(--c-warn);--red:var(--c-danger);--violet:var(--c-violet);--blue:var(--c-info);
  --font:var(--font-sans);--mono:var(--font-mono);
}
:root[data-theme=light]{
  color-scheme:light;
  --c-bg:#f2f4ee;--c-inset:#eef1e8;--c-surface:#ffffff;--c-surface-2:#f6f8f2;--c-surface-3:#e9eee1;
  --c-border:#dde3d4;--c-border-strong:#c3ccb7;
  --c-text:#182015;--c-text-2:#2f3a2a;--c-muted:#5b6852;--c-faint:#88937e;
  --c-accent:#4f7d12;--c-accent-ink:#ffffff;--c-info:#2d68a6;--c-warn:#9a6208;--c-danger:#b5422f;--c-violet:#6a50a5;
  --c-shadow:0 1px 2px #1a24120d,0 8px 24px -18px #1a241240;
}
@media (prefers-color-scheme:light){
  :root:not([data-theme]){
    color-scheme:light;
    --c-bg:#f2f4ee;--c-inset:#eef1e8;--c-surface:#ffffff;--c-surface-2:#f6f8f2;--c-surface-3:#e9eee1;
    --c-border:#dde3d4;--c-border-strong:#c3ccb7;
    --c-text:#182015;--c-text-2:#2f3a2a;--c-muted:#5b6852;--c-faint:#88937e;
    --c-accent:#4f7d12;--c-accent-ink:#ffffff;--c-info:#2d68a6;--c-warn:#9a6208;--c-danger:#b5422f;--c-violet:#6a50a5;
    --c-shadow:0 1px 2px #1a24120d,0 8px 24px -18px #1a241240;
  }
}

/* ---------- База ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{max-width:100%;overflow-x:clip}
body{background:var(--c-bg)!important;color:var(--c-text);font-family:var(--font-sans);font-size:var(--f-base);line-height:1.5;letter-spacing:0;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}
::selection{background:color-mix(in srgb,var(--c-accent) 30%,transparent);color:var(--c-text)}
*{scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent}
h1,h2,h3,h4{color:var(--c-text);text-wrap:balance}
h2{font-size:var(--f-lg);font-weight:600;letter-spacing:-.2px;line-height:1.35}
h3{font-size:var(--f-base);font-weight:600}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--c-accent)!important;outline-offset:2px}
.mono,code,kbd{font-family:var(--font-mono)}
.muted{color:var(--c-muted)}
.eyebrow{font-family:var(--font-mono)!important;font-size:var(--f-xs)!important;font-weight:500;letter-spacing:1.2px!important;text-transform:uppercase;color:var(--c-accent)!important;opacity:1;line-height:1.4}
.eyebrow.amber{color:var(--c-warn)!important}

/* ---------- Каркас ---------- */
.sidebar{background:var(--c-inset)!important;border-right:1px solid var(--c-border)!important}
.brand{letter-spacing:2px}
.brand small{color:var(--c-muted)!important;letter-spacing:1.5px}
.nav-caption{color:var(--c-faint)!important;font:500 var(--f-xs)/1.4 var(--font-mono)!important;letter-spacing:1.2px!important}
@media (min-width:801px){
.sidebar .nav-link{border-radius:var(--r-md)!important;font-size:var(--f-md)!important;color:var(--c-text-2)!important;padding:10px 12px!important;border:0!important;position:relative}
.sidebar .nav-link:hover{background:var(--c-surface-2)!important;color:var(--c-text)!important}
.sidebar .nav-link.active{background:var(--c-accent-soft)!important;color:var(--c-accent)!important;font-weight:600}
.sidebar .nav-link.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:2px;background:var(--c-accent)}
.sidebar .nav-link small{border-radius:var(--r-sm)!important;font:500 var(--f-xs)/1.4 var(--font-mono)!important;padding:1px 6px!important;color:var(--c-muted)!important;border:1px solid var(--c-border-strong)!important;background:transparent!important}
.sidebar .nav-link.active small{color:var(--c-accent)!important;border-color:color-mix(in srgb,var(--c-accent) 45%,transparent)!important}
}
.workspace-selector{border-radius:var(--r-md)!important;border:1px solid var(--c-border)!important;background:var(--c-surface)!important}
.topbar{background:color-mix(in srgb,var(--c-bg) 88%,transparent)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--c-border)!important;position:sticky;top:0;z-index:20}
.breadcrumb{font-size:var(--f-md);color:var(--c-muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.breadcrumb strong{color:var(--c-text)}
.topbar-actions{display:flex;align-items:center;gap:var(--s-3)}
.connection-indicator{font-size:var(--f-sm)!important}
.avatar{border-radius:var(--r-md)!important;box-shadow:none!important;background:var(--c-accent-soft)!important;color:var(--c-accent)!important;border:1px solid color-mix(in srgb,var(--c-accent) 30%,transparent)!important}
.status-dot{box-shadow:none!important}
#workspace{padding:var(--s-6) var(--s-7) var(--s-7)!important;max-width:1680px}

/* Заголовок страницы */
.page-heading{gap:var(--s-5)!important;margin:0 0 var(--s-6)!important;align-items:flex-end!important}
.page-heading h1{font-size:var(--f-2xl)!important;font-weight:650!important;letter-spacing:-.5px!important;text-transform:none!important;text-shadow:none!important;line-height:1.2!important;margin-top:var(--s-2)!important}
.page-heading p{color:var(--c-muted)!important;font-size:var(--f-base)!important;margin:var(--s-2) 0 0!important;max-width:640px;line-height:1.55!important}
.page-heading .eyebrow:before{content:none}
.heading-actions{display:flex;gap:var(--s-2);flex-wrap:wrap}

/* ---------- Карточки ---------- */
.card,.war-panel,.management-panel,.login-card,.roster-panel,.mission-card,.map-panel,.decision-panel,.control-panel{
  background:var(--c-surface)!important;border:1px solid var(--c-border)!important;border-radius:var(--r-lg)!important;box-shadow:var(--c-shadow)!important;min-width:0}
.card-heading{padding:var(--s-4) var(--pad)!important;gap:var(--s-3)!important;flex-wrap:wrap;border-bottom:1px solid var(--c-border)}
.card-heading h2{font-size:var(--f-lg)!important;margin:var(--s-1) 0 0!important;display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}
.card-heading>div{min-width:0}
.operations-layout,.pv-main,.pv-lower,.admin-grid,.build-grid,.fly-grid,.feedback-layout,.squad-grid{gap:var(--gap)!important}
.empty-state{color:var(--c-muted)!important;font-size:var(--f-md)!important}

/* Сводка-метрики */
.metrics{background:var(--c-surface)!important;border:1px solid var(--c-border)!important;border-radius:var(--r-lg)!important;box-shadow:var(--c-shadow)!important;margin-bottom:var(--s-6)!important;overflow:hidden}
.metric{padding:var(--s-4) var(--pad)!important;background:transparent;text-align:left;min-width:0}
.metric+.metric{border-left:1px solid var(--c-border)}
button.metric{border:0;color:inherit;font:inherit;cursor:pointer;display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start}
.metrics{align-items:stretch!important;gap:0!important}
.metric{margin:0!important;border-top:0;border-right:0!important;border-bottom:0}
button.metric:hover{background:var(--c-surface-2)!important}
.metric-label{display:flex!important;align-items:center;justify-content:space-between;gap:var(--s-2);font:500 var(--f-xs)/1.4 var(--font-mono)!important;letter-spacing:1px!important;text-transform:uppercase;color:var(--c-muted)!important}
.metric-label{min-height:18px}
.metric-label svg,.metric-label .icon{flex:none;width:15px;height:15px;color:var(--c-faint);opacity:1}
.metric>div{display:flex!important;align-items:baseline;gap:var(--s-2)!important;flex-wrap:wrap;margin-top:var(--s-2)!important}
.metric strong{font:600 28px/1.15 var(--font-sans)!important;letter-spacing:-.5px!important;color:var(--c-text)!important;text-shadow:none!important}
.metric strong.text-metric,.metric .text-metric{font-size:20px!important}
.metric strong.warm{color:var(--c-warn)!important}
.metric-comparison,.metric-note,.metric div>span{font:400 var(--f-md)/1.4 var(--font-sans)!important;color:var(--c-muted)!important;letter-spacing:0!important;max-width:none!important}
.metric small{display:block;margin-top:var(--s-1);font-size:var(--f-sm)!important;color:var(--c-faint)!important;line-height:1.45}
.metric small b{color:var(--c-text-2)}
.metric.warn strong{color:var(--c-warn)!important}

/* ---------- Кнопки ---------- */
.button,.primary-button,.square-button{clip-path:none!important;text-transform:none!important;letter-spacing:0!important;font:500 var(--f-md)/1.3 var(--font-sans)!important;
  border-radius:var(--r-md)!important;min-height:36px;padding:8px 14px;border:1px solid var(--c-border-strong)!important;background:var(--c-surface-2)!important;color:var(--c-text)!important;box-shadow:none!important;
  transition:background .15s,border-color .15s,color .15s}
.button:hover,.square-button:hover{background:var(--c-surface-3)!important;border-color:var(--c-faint)!important}
.button.primary,.primary-button{background:var(--c-accent)!important;border-color:var(--c-accent)!important;color:var(--c-accent-ink)!important;font-weight:600!important}
.button.primary:hover,.primary-button:hover{background:color-mix(in srgb,var(--c-accent) 88%,var(--c-text))!important}
.button.subtle{background:transparent!important}
.button.text,.text-button{background:none!important;border-color:transparent!important;color:var(--c-accent)!important;min-height:0;padding:4px 6px}
.button.text:hover,.text-button:hover{background:var(--c-accent-soft)!important}
.button.wide{width:100%}
.button:disabled,.primary-button:disabled{opacity:.45;cursor:not-allowed}
.button svg,.button .icon{width:16px;height:16px;flex-shrink:0}
.pv-danger:not(:disabled){color:var(--c-danger)!important}
.icon-button{border-radius:var(--r-md)!important;width:36px!important;height:36px!important;color:var(--c-muted)!important;border:1px solid transparent!important}
.icon-button:hover{background:var(--c-surface-2)!important;color:var(--c-text)!important}
.switch{border-radius:999px!important}
.switch[aria-checked=true]{background:var(--c-accent)!important;border-color:var(--c-accent)!important}
.switch[aria-checked=true] i{background:var(--c-accent-ink)!important}

/* ---------- Поля ---------- */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{
  background-color:var(--c-inset)!important;border:1px solid var(--c-border-strong)!important;border-radius:var(--r-md)!important;color:var(--c-text)!important;
  font-family:var(--font-sans)!important;font-size:max(16px,1em);min-height:36px;padding:7px 10px}
@media (min-width:801px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:var(--f-md)!important}}
input::placeholder,textarea::placeholder{color:var(--c-faint)!important;opacity:1}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--c-accent)!important;box-shadow:var(--c-focus)!important;outline:none!important}
select{appearance:none;-webkit-appearance:none;padding-right:30px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2388937e' stroke-width='1.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 11px center!important}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--c-accent)}
input[type=color]{width:64px!important;height:36px!important;padding:3px!important;border:1px solid var(--c-border-strong)!important;border-radius:var(--r-md)!important;background:var(--c-inset)!important;cursor:pointer}
input[type=color]::-webkit-color-swatch-wrapper{padding:0}
input[type=color]::-webkit-color-swatch{border:0;border-radius:5px}
label{color:var(--c-text-2)}

/* ---------- Вкладки и переключатели ---------- */
.segmented{background:var(--c-inset)!important;border:1px solid var(--c-border)!important;border-radius:var(--r-md)!important;padding:3px!important;gap:2px!important;max-width:100%;overflow-x:auto;scrollbar-width:none}
.segmented button{border-radius:6px!important;font-size:var(--f-sm)!important;padding:6px 10px!important;white-space:nowrap;color:var(--c-muted)}
.segmented button[aria-pressed=true],.segmented .active{background:var(--c-surface-3)!important;color:var(--c-text)!important;box-shadow:0 1px 2px #0002}
.admin-tabs,.roster-tabs{display:flex;gap:var(--s-1)!important;border-bottom:1px solid var(--c-border)!important;overflow-x:auto;scrollbar-width:none;max-width:100%}
.admin-tabs::-webkit-scrollbar,.roster-tabs::-webkit-scrollbar,.segmented::-webkit-scrollbar{display:none}
.admin-tabs button,.roster-tabs button{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;
  padding:10px 12px!important;font:500 var(--f-md)/1.3 var(--font-sans)!important;color:var(--c-muted)!important;white-space:nowrap}
.admin-tabs button:hover,.roster-tabs button:hover{color:var(--c-text)!important}
.admin-tabs button.active,.roster-tabs button.active{color:var(--c-accent)!important;border-bottom-color:var(--c-accent)}
.admin-tabs button.active:after,.roster-tabs button.active:after{content:none!important}
.admin-tabs button .icon,.admin-tabs button svg{width:15px;height:15px}

/* Под-вкладки «Игроки»: на телефоне — прокручиваемая полоса с подписями */
.pv-subnav{gap:2px!important;padding:4px!important;border-radius:var(--r-lg)!important;background:color-mix(in srgb,var(--c-surface) 92%,transparent)!important;border:1px solid var(--c-border)!important;
  box-shadow:var(--c-shadow);top:84px!important;margin-bottom:var(--gap)!important;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.pv-subtab{border-radius:var(--r-md)!important;padding:8px 12px!important;font:500 var(--f-md)/1.3 var(--font-sans)!important;color:var(--c-muted)!important;scroll-snap-align:start}
.pv-subtab span{display:inline!important}
.pv-subtab:hover{color:var(--c-text)!important;background:var(--c-surface-2)!important}
.pv-subtab.active{background:var(--c-accent)!important;color:var(--c-accent-ink)!important;font-weight:600!important}
.pv-subcount{font:500 var(--f-xs)/1.4 var(--font-mono)!important;padding:1px 6px!important;border-radius:6px!important;background:var(--c-surface-3)!important;color:var(--c-text-2)!important}
.pv-subtab.active .pv-subcount{background:color-mix(in srgb,var(--c-accent-ink) 18%,transparent)!important;color:inherit!important}
.pv-subcount.warn{color:var(--c-warn)!important}

/* ---------- Бейджи и метки ---------- */
.badge,.pv-tag,.count-badge,.live-label{font:500 var(--f-xs)/1.3 var(--font-mono)!important;letter-spacing:.4px!important;border-radius:var(--r-sm)!important;padding:3px 7px!important;
  border:1px solid var(--c-border-strong)!important;color:var(--c-text-2)!important;background:var(--c-surface-2)!important;white-space:nowrap;text-transform:none}
.badge.lime,.badge.green,.pv-tag.pv-class{color:var(--c-accent)!important;border-color:color-mix(in srgb,var(--c-accent) 40%,transparent)!important;background:var(--c-accent-soft)!important}
.badge.amber,.pv-tag.pv-knockout{color:var(--c-warn)!important;border-color:color-mix(in srgb,var(--c-warn) 40%,transparent)!important;background:color-mix(in srgb,var(--c-warn) 10%,transparent)!important}
.badge.violet{color:var(--c-violet)!important;border-color:color-mix(in srgb,var(--c-violet) 40%,transparent)!important;background:color-mix(in srgb,var(--c-violet) 10%,transparent)!important}
.badge.red{color:var(--c-danger)!important;border-color:color-mix(in srgb,var(--c-danger) 40%,transparent)!important;background:color-mix(in srgb,var(--c-danger) 10%,transparent)!important}
.notice{border-radius:var(--r-md)!important;border:1px solid color-mix(in srgb,var(--c-warn) 35%,transparent)!important;border-left:3px solid var(--c-warn)!important;
  background:color-mix(in srgb,var(--c-warn) 8%,var(--c-surface))!important;color:var(--c-text)!important;font:400 var(--f-md)/1.5 var(--font-sans)!important;padding:10px 14px!important;margin:0 0 var(--s-4)!important}
.notice:before{content:none!important}

/* ---------- Таблицы ---------- */
table{width:100%;border-collapse:collapse;font-size:var(--f-md);color:var(--c-text-2)}
th{text-align:left;font:500 var(--f-xs)/1.4 var(--font-mono);letter-spacing:.8px;text-transform:uppercase;color:var(--c-muted);padding:8px 10px;border-bottom:1px solid var(--c-border-strong);white-space:nowrap;background:var(--c-surface-2)}
td{padding:9px 10px;border-bottom:1px solid var(--c-border);vertical-align:top}
tbody tr:hover td{background:var(--c-surface-2)}
tbody tr:last-child td{border-bottom:0}
.card table,.pv-table-wrap{display:block;overflow-x:auto;max-width:100%}
.card table>*{display:revert}

/* ---------- Списки, события ---------- */
.event-row{border-bottom-color:var(--c-border)!important}
.event-text{font-size:var(--f-md)!important;color:var(--c-text-2)!important}
.event-time,.event-source{font-size:var(--f-xs)!important;color:var(--c-faint)!important}
.roster-search input{padding-left:34px!important}
.pv-search{border:1px solid var(--c-border-strong)!important;border-radius:var(--r-md)!important;background:var(--c-inset)!important;padding:0 12px!important;gap:8px!important}
.pv-search:focus-within{border-color:var(--c-accent)!important;box-shadow:var(--c-focus)}
.pv-search input{border:0!important;background:transparent!important;box-shadow:none!important;padding:8px 0!important;min-height:38px;outline:none!important}

/* ---------- «Игроки» ---------- */
.pv-player{border-radius:var(--r-md)!important;padding:12px!important;gap:var(--s-3)!important;background:var(--c-surface-2)!important;border:1px solid var(--c-border)!important}
.pv-player:hover{border-color:var(--c-border-strong)!important}
.pv-player.selected{border-color:color-mix(in srgb,var(--c-accent) 55%,transparent)!important;background:var(--c-accent-soft)!important}
.pv-player-title{flex-wrap:wrap;row-gap:4px;min-width:0}
.pv-player-title strong{flex:0 1 auto;min-width:4ch;max-width:100%;font-size:var(--f-base)!important}
.pv-player-title .pv-tag{flex:none}
.pv-player-main>small{font-size:var(--f-sm)!important;color:var(--c-muted)!important}
.pv-list{display:grid;gap:var(--s-2)!important}
.pv-avatar,.pv-prof-avatar{border-radius:var(--r-md)!important}
.pv-tile small{font:500 var(--f-xs)/1.4 var(--font-mono)!important;letter-spacing:.8px;text-transform:uppercase;color:var(--c-muted)!important}
.pv-prof-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.pv-hint{color:var(--c-muted)!important;font-size:var(--f-sm)!important}
.pv-form{gap:var(--s-3)!important}
.pv-form label{display:grid;gap:6px;font-size:var(--f-sm)!important;color:var(--c-muted)!important}
.pv-result{font-size:var(--f-md)!important}
.pv-group-chip,.pv-eyes-pick{border-radius:var(--r-md)!important}

/* ---------- Карта и камера ---------- */
.map-card,.map-panel{overflow:hidden}
.map-tag,.map-source-status,.towny-layer-status,.coordinates,.map-zoom{border-radius:var(--r-sm)!important;font:500 var(--f-xs)/1.3 var(--font-mono)!important;letter-spacing:.4px!important;box-shadow:none!important;
  background:color-mix(in srgb,var(--c-surface) 88%,transparent)!important;color:var(--c-text-2)!important;border:1px solid var(--c-border)!important;backdrop-filter:blur(6px)}
.map-tag{color:var(--c-accent)!important}
.map-tools{border-radius:var(--r-md)!important;background:color-mix(in srgb,var(--c-surface) 92%,transparent)!important;border:1px solid var(--c-border)!important}
.map-tools button{border-radius:6px;color:var(--c-text)!important}
.map-tools button:hover{background:var(--c-surface-3)!important}
.map-footer,.map-bottom{font-size:var(--f-sm)!important;color:var(--c-muted)!important;flex-wrap:wrap}
.legend>span,.map-legend span{font-size:var(--f-sm)!important}
.map-tooltip{border-radius:var(--r-md)!important;background:var(--c-surface)!important;border-color:var(--c-border-strong)!important;color:var(--c-text)!important}
.bot-viewport,.viewer-toolbar{border-radius:var(--r-lg)!important}
.view-crosshair:before,.view-crosshair:after{background:var(--c-accent)!important}

/* ---------- Диалоги ---------- */
dialog{background:var(--c-surface)!important;color:var(--c-text)!important;border:1px solid var(--c-border-strong)!important;border-radius:var(--r-lg)!important;box-shadow:0 24px 60px -20px #000a!important;max-width:min(560px,calc(100vw - 24px))}
dialog::backdrop{background:#0008;backdrop-filter:blur(2px)}

/* ---------- Футер ---------- */
.global-footer{display:flex!important;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-5)!important;font:400 var(--f-sm)/1.5 var(--font-mono)!important;color:var(--c-faint)!important;
  border-top:1px solid var(--c-border)!important;padding:var(--s-4) 0 var(--s-5)!important;margin:0 var(--s-7)!important}
.global-footer b{color:var(--c-muted)!important}
.global-footer .button.text,#logout-button{margin-left:auto;font:500 var(--f-md)/1.3 var(--font-sans)!important;color:var(--c-muted)!important;padding:6px 10px!important;min-height:0}
.global-footer .button.text:hover,#logout-button:hover{color:var(--c-danger)!important}

/* ---------- Вход ---------- */
.login-screen{background:radial-gradient(ellipse 70% 60% at 30% 40%,var(--c-accent-soft),transparent 70%),var(--c-bg)!important}
.login-screen h1{text-transform:none!important;text-shadow:none!important;letter-spacing:-1.5px!important}
.login-form{background:var(--c-surface)!important;border:1px solid var(--c-border)!important;border-radius:var(--r-lg)!important;box-shadow:var(--c-shadow)}
.primary-button{justify-content:space-between;min-height:42px}

/* ---------- Переключатель темы ---------- */
.theme-toggle .icon-sun,.theme-toggle .icon-moon,.theme-toggle .icon-auto{display:none}
:root[data-theme=light] .theme-toggle .icon-sun,:root[data-theme=dark] .theme-toggle .icon-moon,:root:not([data-theme]) .theme-toggle .icon-auto{display:block}
.theme-toggle svg{width:18px;height:18px}

/* ---------- Адаптив ---------- */
@media (max-width:1250px){#workspace{padding:var(--s-5) var(--s-6) var(--s-7)!important}.global-footer{margin-inline:var(--s-6)!important}}
@media (max-width:800px){
  :root{--pad:16px;--gap:12px}
  #workspace{padding:var(--s-4) var(--s-4) var(--s-6)!important}
  .topbar{padding-inline:var(--s-4)!important;height:56px!important}
  .page-heading{display:block!important;margin-bottom:var(--s-5)!important}
  .page-heading h1{font-size:22px!important}
  .page-heading p{font-size:var(--f-md)!important}
  .heading-actions{padding-top:var(--s-3)!important}
  .metrics{grid-template-columns:1fr 1fr!important;margin-bottom:var(--s-5)!important}
  .metric{padding:var(--s-3) var(--s-4)!important;border-left:0!important}
  .metric:nth-child(even){border-left:1px solid var(--c-border)!important}
  .metric:nth-child(n+3){border-top:1px solid var(--c-border)!important}
  .metric strong{font-size:24px!important}
  .metric strong.text-metric,.metric .text-metric{font-size:17px!important}
  .metric-comparison,.metric-note,.metric div>span{font-size:var(--f-sm)!important}
  .card-heading{padding:var(--s-3) var(--s-4)!important}
  .pv-subnav{top:60px!important;border-radius:var(--r-md)!important}
  .pv-subtab{padding:8px 10px!important}
  .topbar-actions>.theme-toggle{display:inline-flex!important;width:32px!important;height:32px!important}
  .sidebar .nav-link{font-size:11px!important;color:var(--c-muted)!important}
  .sidebar .nav-link.active{color:var(--c-accent)!important;background:var(--c-accent-soft)!important}
  .global-footer{margin-inline:var(--s-4)!important;font-size:var(--f-xs)!important;padding-bottom:calc(var(--s-5) + 76px)!important}
  .operation-aside{grid-template-columns:1fr!important}
}
@media (max-width:540px){
  .metric strong{font-size:22px!important}
  .pv-player{grid-template-columns:auto minmax(0,1fr)!important}
  .pv-player-actions{grid-column:1/-1;justify-content:flex-end;opacity:1!important}
  .card table th,.card table td{padding:8px}
  .breadcrumb>span,.breadcrumb>b{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
