@font-face{font-family:Geologica;font-weight:700;font-display:swap;src:url(fonts/geologica-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:Geologica;font-weight:700;font-display:swap;src:url(fonts/geologica-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Geologica;font-weight:800;font-display:swap;src:url(fonts/geologica-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:Geologica;font-weight:800;font-display:swap;src:url(fonts/geologica-cyrillic-800-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-weight:400;font-display:swap;src:url(fonts/golos-text-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"Golos Text";font-weight:400;font-display:swap;src:url(fonts/golos-text-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-weight:500;font-display:swap;src:url(fonts/golos-text-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"Golos Text";font-weight:500;font-display:swap;src:url(fonts/golos-text-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-weight:600;font-display:swap;src:url(fonts/golos-text-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"Golos Text";font-weight:600;font-display:swap;src:url(fonts/golos-text-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

html[data-theme]{--f-head:Geologica,"Segoe UI",system-ui,sans-serif;--f-body:"Golos Text","Segoe UI",system-ui,sans-serif;--brand:#2b50ff;--accent:#2b50ff;--green:#0f9f78;--orange:#c98200;--red:#d6334f;--r:12px}
html[data-theme=light]{color-scheme:light;--bg:#f2f4f8;--panel:#fff;--panel2:#f7f8fb;--line:#d9deea;--text:#0d1626;--muted:#55607a;--side:#0b1326;--hover:#0d162610;--shadow:0 1px 2px #0d16260d,0 8px 24px #0d162610;--okbg:#dff5ec;--okfg:#0a6e53;--wbg:#fdf0d2;--wfg:#7a4e00;--badbg:#fde4e8;--badfg:#a3213a;--neu:#e8ebf3;--neufg:#3d4864}
html[data-theme=dark]{color-scheme:dark;--bg:#0b1326;--panel:#111c37;--panel2:#0e1730;--line:#26345a;--text:#eef2ff;--muted:#a9b4d3;--side:#080f1f;--hover:#ffffff0d;--shadow:0 1px 2px #0006,0 10px 30px #0004;--okbg:#10382f;--okfg:#6fe3bc;--wbg:#3a2e12;--wfg:#ffd27a;--badbg:#44202b;--badfg:#ffabb9;--neu:#1b2a4f;--neufg:#c3cdea;--green:#2fd1a0;--orange:#f2a413;--red:#ff7a92;--accent:#5b7bff}

html[data-theme] body{font:14px/1.5 var(--f-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
html[data-theme] h1,html[data-theme] h2,html[data-theme] h3,html[data-theme] .brand,html[data-theme] .stat .v{font-family:var(--f-head);letter-spacing:-.015em}
html[data-theme] :focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:6px}
html[data-theme] .muted{color:var(--muted)}

/* сайдбар всегда тёмно-синий, как шапка-«navy» на сайте */
html[data-theme] .side{background:var(--side);border-right:1px solid #ffffff14;color:#eef2ff;padding:14px 10px}
html[data-theme] .app{grid-template-columns:232px minmax(0,1fr)}
html[data-theme] .brand{display:flex;align-items:center;gap:10px;padding:6px 8px 16px;font-size:16px;font-weight:800;color:#fff}
html[data-theme] .brand .mk{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--brand);color:#fff;font:800 17px var(--f-head);font-style:normal;flex:none}
html[data-theme] .brand .bt{display:flex;flex-direction:column;line-height:1.15}
html[data-theme] .brand small{font:400 11px var(--f-body);color:#a9b4d3;margin-top:2px}
html[data-theme] .nav{gap:2px;overflow-y:auto;scrollbar-width:thin}
html[data-theme] .nav-group{font:600 11px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:#7d8bb3;padding:14px 10px 5px}
html[data-theme] .nav-group:first-child{padding-top:2px}
html[data-theme] .nav button{color:#b9c3e0;border:1px solid transparent;border-radius:10px;padding:9px 10px;font-weight:500;font-size:14px;box-shadow:none}
html[data-theme] .nav button:hover{background:#ffffff12;color:#fff}
html[data-theme] .nav button.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 18px #2b50ff55}
html[data-theme] .status{border-color:#ffffff1a;background:#ffffff08;color:#eef2ff;border-radius:12px}
html[data-theme] .status .muted{color:#a9b4d3}

/* шапка */
html[data-theme] .main{padding:18px 26px 40px}
html[data-theme] .top{height:auto;min-height:64px;padding:6px 0 12px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}
html[data-theme] .top h1{font-size:24px;font-weight:800;margin:1px 0}
html[data-theme] .eyebrow{color:var(--brand);font:600 11px var(--f-body);letter-spacing:.06em;text-transform:uppercase}
html[data-theme] .top .muted{font-size:13px}
html[data-theme] .actions{flex-wrap:wrap;gap:8px}

/* кнопки */
html[data-theme] .btn{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:8px 13px;font:600 13px var(--f-body);transition:transform .12s,background .12s,border-color .12s;min-height:36px}
html[data-theme] .btn:hover{background:var(--hover);border-color:var(--muted);transform:translateY(-1px)}
html[data-theme] .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 8px 20px #2b50ff3a}
html[data-theme] .btn.primary:hover{filter:brightness(1.08)}
html[data-theme] .btn.danger{background:var(--badbg);border-color:transparent;color:var(--badfg)}
html[data-theme] .btn.active,html[data-theme] .tab.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:none}
html[data-theme] .tab{background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:7px 12px;font-weight:600}
html[data-theme] .tab:hover{color:var(--text)}

/* карточки и метрики */
html[data-theme] .card,html[data-theme] .stat,html[data-theme] .ops-widget,html[data-theme] .shift-strip,html[data-theme] .game-admin-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
html[data-theme] .card{padding:16px}
html[data-theme] .stat{padding:14px 16px}
html[data-theme] .stat:after{display:none}
html[data-theme] .stat .v{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}
html[data-theme] .toolbar h2,html[data-theme] .toolbar h3{font-size:16px;font-weight:700}
html[data-theme] .shift-metric,html[data-theme] .ops-item,html[data-theme] .empty{background:var(--panel2);border-color:var(--line)}

/* ПК-плитки */
html[data-theme] .pc{background:var(--panel);border:1.5px solid var(--line);border-radius:12px;padding:11px;transition:transform .12s,border-color .12s}
html[data-theme] .pc:hover{border-color:var(--brand);transform:translateY(-2px)}
html[data-theme] .pc h3{font-size:14px}

/* таблицы */
html[data-theme] .table{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
html[data-theme] table{font-variant-numeric:tabular-nums}
html[data-theme] th{position:sticky;top:0;background:var(--panel2);color:var(--muted);font:600 12px var(--f-body);text-transform:none;padding:11px 12px;border-bottom:1px solid var(--line);z-index:1}
html[data-theme] td{padding:11px 12px;border-bottom:1px solid var(--line)}
html[data-theme] tbody tr:hover td{background:var(--hover)}

/* статусы */
html[data-theme] .pill{background:var(--neu);color:var(--neufg);font:600 11px var(--f-body);padding:3px 9px;border-radius:99px}
html[data-theme] .pill.green,html[data-theme] .ops-count.good{background:var(--okbg);color:var(--okfg)}
html[data-theme] .pill.orange,html[data-theme] .ops-count{background:var(--wbg);color:var(--wfg)}
html[data-theme] .pill.red,html[data-theme] .ops-count.bad{background:var(--badbg);color:var(--badfg)}

/* поля */
html[data-theme] input,html[data-theme] select,html[data-theme] textarea,html[data-theme] .search{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 11px;min-height:38px}
html[data-theme] input::placeholder,html[data-theme] .search::placeholder{color:var(--muted);opacity:.75}
html[data-theme] input:focus,html[data-theme] select:focus,html[data-theme] textarea:focus,html[data-theme] .search:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2b50ff30;outline:none}
html[data-theme] .form label,html[data-theme] .login-card label{color:var(--muted);font-weight:600;font-size:12.5px}
html[data-theme] .form input[type=file]{background:var(--panel2);border-color:var(--line)}
html[data-theme] .form input[type=file]::file-selector-button{background:var(--brand);border:0;color:#fff;border-radius:8px;padding:6px 12px;margin-right:10px}

/* модальные окна, уведомления, быстрый переход */
html[data-theme] .dialog,html[data-theme] .command-box,html[data-theme] .notifications-panel,html[data-theme] .toast{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px #0b132655}
html[data-theme] .command-overlay,html[data-theme] .modal{background:#0b132699;backdrop-filter:blur(3px)}
html[data-theme] .command-item:hover,html[data-theme] .command-item:focus-visible{background:var(--hover);border-color:var(--brand)}
html[data-theme] .notification-item{background:var(--panel2);border-color:var(--line)}

/* таймлайн броней */
html[data-theme] .reservation-timeline,html[data-theme] .timeline-head{background:var(--panel2)}
html[data-theme] .timeline-row,html[data-theme] .timeline-hours span{border-color:var(--line)}
html[data-theme] .timeline-lane{background:var(--hover)}
html[data-theme] .timeline-booking{background:var(--brand);border-color:var(--brand);color:#fff}
html[data-theme] .timeline-booking.confirmed{background:var(--orange);border-color:var(--orange);color:#2b1c00}
html[data-theme] .timeline-booking.arrived{background:var(--green);border-color:var(--green);color:#fff}
html[data-theme] .photo-thumb,html[data-theme] .photo-empty,html[data-theme] .image-preview,html[data-theme] .game-admin-cover{background:var(--panel2);border-color:var(--line)}

/* баннер сайта в админке остаётся тёмным */
html[data-theme] .banner-preview{background:#111c37;color:#eef2ff}

/* вход */
html[data-theme] .login{background:radial-gradient(900px 500px at 50% -10%,#2b50ff33,transparent 60%),var(--bg)}
html[data-theme] .login-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px #0b132633;padding:28px;color:var(--text)}
html[data-theme] .login-card .brand{color:var(--text);padding:0 0 16px}
html[data-theme] .login-card .brand small{color:var(--muted)}
html[data-theme] .login-card h2{font-size:22px;margin:0 0 4px}

/* мобильная версия: меню сверху горизонтальной лентой */
@media(max-width:800px){
  html[data-theme] .app{display:flex;flex-direction:column}
  html[data-theme] .side{height:auto;position:sticky;top:0;z-index:20;padding:8px 10px;flex-direction:row;align-items:center;gap:8px;overflow:hidden}
  html[data-theme] .brand{padding:0}html[data-theme] .brand .bt{display:none}
  html[data-theme] .nav{display:flex;flex:1;gap:4px;overflow-x:auto;scrollbar-width:none}
  html[data-theme] .nav::-webkit-scrollbar{display:none}
  html[data-theme] .nav-group,html[data-theme] .status{display:none}
  html[data-theme] .nav button{white-space:nowrap;flex:none;padding:8px 11px}
  html[data-theme] .main{padding:12px 14px 32px;height:auto;overflow:visible}
  html[data-theme] body{overflow:auto}
}
@media(prefers-reduced-motion:reduce){html[data-theme] *{transition:none!important}}
html[data-theme] .btn.primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
html[data-theme] .btn{border-radius:10px}
html[data-theme] .actions .btn{min-height:34px;padding:6px 11px;font-size:12.5px}
html[data-theme] .top{position:sticky;top:-18px}
html[data-theme] #clubAccentColor{border-radius:6px}
html[data-theme] .brand .bt,html[data-theme] .brand span.bt{color:#fff}
html[data-theme] .login-card .brand .bt{color:var(--text)}
@media(min-width:801px){html[data-theme] .nav button{padding:7px 10px}html[data-theme] .nav-group{padding-top:10px}}
@media(max-width:800px){html[data-theme] .actions{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;scrollbar-width:none}html[data-theme] .actions::-webkit-scrollbar{display:none}html[data-theme] .actions .btn,html[data-theme] .actions label{flex:none;white-space:nowrap}html[data-theme] .top{position:static}}

/* v65.16: удобная шапка, навигация и рабочие экраны */
html[data-theme] .top{position:sticky;top:-18px;height:auto;min-height:64px;padding:10px 0 14px;margin-bottom:16px;flex-wrap:nowrap;align-items:flex-end;z-index:25}
html[data-theme] .top h1{font-size:26px}
html[data-theme] .eyebrow{font-size:12px;letter-spacing:0;text-transform:none;color:var(--muted);font-weight:500}
html[data-theme] .actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:flex-end}
html[data-theme] #pcPollingState{font-size:12px;white-space:nowrap;padding-right:4px}
html[data-theme] .actions .btn,html[data-theme] .actions summary{min-height:38px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px}
html[data-theme] .more{position:relative}
html[data-theme] .more summary{list-style:none;cursor:pointer}
html[data-theme] .more summary::-webkit-details-marker{display:none}
html[data-theme] .more summary::after{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);margin-left:2px}
html[data-theme] .more[open] summary{border-color:var(--brand)}
html[data-theme] .more .menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:270px;padding:8px;display:grid;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px #0d162633}
html[data-theme] .more .menu .btn{width:100%;justify-content:flex-start;border-color:transparent;background:transparent;box-shadow:none;transform:none}
html[data-theme] .more .menu .btn:hover{background:var(--hover)}
html[data-theme] .more .menu label.btn{justify-content:space-between}
html[data-theme] .more .menu #logout{color:var(--badfg)}
html[data-theme] .mgroup{font:600 11px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px 3px}
html[data-theme] .mgroup:first-child{padding-top:2px}
html[data-theme] #notificationBadge{margin-left:2px}
/* показатели */
html[data-theme] .stat{padding:16px 18px;border-radius:14px}
html[data-theme] .stat .muted{font-size:12.5px}
html[data-theme] .stat .v{font-size:28px;line-height:1.1;margin-top:6px}
html[data-theme] #pcAttention{color:var(--orange)}
/* таблицы: сортировка и читаемость */
html[data-theme] table{border-collapse:separate;border-spacing:0}
html[data-theme] th{font-size:12px;padding:11px 12px}
html[data-theme] th[aria-sort]{cursor:pointer;user-select:none}
html[data-theme] th[aria-sort]:hover{color:var(--text)}
html[data-theme] th[aria-sort=ascending]::after{content:" ▲";font-size:9px;color:var(--brand)}
html[data-theme] th[aria-sort=descending]::after{content:" ▼";font-size:9px;color:var(--brand)}
html[data-theme] td{padding:11px 12px;font-size:13.5px}
html[data-theme] tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--panel2) 60%,transparent)}
html[data-theme] tbody tr:hover td{background:var(--hover)}
html[data-theme] .table{max-height:calc(100vh - 190px)}
/* пустые состояния подсказывают следующий шаг */
html[data-theme] .pcgrid:empty::before{content:"Компьютеров пока нет. Добавьте их в разделе «Залы и ПК».";grid-column:1/-1;padding:32px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}
html[data-theme] .empty{padding:32px 20px;border-radius:12px}
/* поля и кнопки */
html[data-theme] .btn,html[data-theme] .tab{min-height:36px}
html[data-theme] .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
html[data-theme] input,html[data-theme] select,html[data-theme] textarea{min-height:40px;font-size:14px}
html[data-theme] .btn.primary{box-shadow:none}
/* боковое меню: свернуть до иконок */
html[data-theme] .side-toggle{display:flex;align-items:center;gap:10px;margin-top:8px;padding:9px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#a9b4d3;font:500 13px var(--f-body)}
html[data-theme] .side-toggle:hover{background:#ffffff12;color:#fff}
html[data-theme] .side-toggle span{width:17px;text-align:center;font-size:16px}
html[data-theme] .side-toggle em{font-style:normal}
@media(min-width:801px){
  html[data-theme] .app.compact{grid-template-columns:72px minmax(0,1fr)}
  html[data-theme] .app.compact .brand .bt,html[data-theme] .app.compact .nav-group,html[data-theme] .app.compact .status,html[data-theme] .app.compact .side-toggle em{display:none}
  html[data-theme] .app.compact .brand{justify-content:center;padding-inline:0}
  html[data-theme] .app.compact .nav button{font-size:0;justify-content:center;padding:11px 0}
  html[data-theme] .app.compact .nav button .ico{width:20px;height:20px}
  html[data-theme] .app.compact .side-toggle{justify-content:center}
}
@media(max-width:800px){html[data-theme] .side-toggle{display:none}}
@media(max-width:1180px){html[data-theme] #pcPollingState{display:none}}
@media(max-width:900px){
  html[data-theme] .top{flex-direction:column;align-items:stretch;gap:12px;position:static}
  html[data-theme] .actions{flex-wrap:wrap;justify-content:flex-start;overflow:visible}
  html[data-theme] .actions .btn,html[data-theme] .actions summary{flex:1 1 auto;justify-content:center}
  html[data-theme] .more{flex:1 1 auto}
  html[data-theme] .more .menu{right:auto;left:0;max-width:calc(100vw - 28px)}
}

/* v65.19: знак Tizgin вместо буквы N */
.brand .mk{background:#0D1220 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96'%3E%3Cpath d='M14 40 Q48 6 82 40' fill='none' stroke='%23C8F03C' stroke-width='11' stroke-linecap='round'/%3E%3Cpath d='M48 30 V84' fill='none' stroke='%23C8F03C' stroke-width='11' stroke-linecap='round'/%3E%3Ccircle cx='14' cy='58' r='6.5' fill='%23fff'/%3E%3Ccircle cx='82' cy='58' r='6.5' fill='%23fff'/%3E%3C/svg%3E") center/66% no-repeat!important;color:transparent!important;font-size:0!important;box-shadow:inset 0 0 0 1px #ffffff1f}

/* v65.23: сумма и «₸» всегда в одну строку (карточка «Пополнения сегодня» и остальные счётчики) */
html[data-theme] .stat .v{white-space:nowrap;font-size:clamp(20px,1.9vw,26px)}
html[data-theme] .finance-stats .v{font-size:clamp(15px,1.3vw,18px)}
