@font-face {
  font-family: "Manrope Variable";
  src: url("/fonts/manrope-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Manrope Variable";
  src: url("/fonts/manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191-2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  color-scheme: dark;
  --bg: #090d0a;
  --panel: #111712;
  --panel-2: #172019;
  --line: #29332b;
  --text: #f4f8f2;
  --muted: #8f9b90;
  --lime: #a8f51a;
  --lime-dim: #213710;
  --amber: #f4b84a;
  --red: #ff6b57;
  --blue: #78c93d;
  --radius: 14px;
  font-family: "Manrope Variable", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: radial-gradient(circle at 70% -20%, rgba(126, 207, 52, .12), transparent 36rem), var(--bg); color: var(--text); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.hidden { display: none !important; }
.shell { min-height: 100vh; display: grid; grid-template-columns: 238px 1fr; }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 24px 14px; overflow-y: auto; border-right: 1px solid var(--line); background: #0d120e; display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 10px 34px; font-weight: 750; letter-spacing: -.02em; }
.brand-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--lime); color: #10150d; font-weight: 900; box-shadow: 0 8px 24px rgba(168, 245, 26, .2); }
.sidebar > nav { display: grid; gap: 6px; }
.nav-section { min-width: 0; }
.nav-item { width: 100%; padding: 12px 13px; display: flex; gap: 12px; align-items: center; border: 0; border-radius: 11px; background: transparent; color: var(--muted); text-align: left; cursor: pointer; text-decoration: none; font-size: 14px; }
.nav-icon { width: 20px; color: #687169; font-weight: 800; }
.nav-label { min-width: 0; }
.mobile-label { display: none; }
.nav-item.active { background: #1c2a16; color: var(--text); }
.nav-item.active .nav-icon { color: var(--lime); }
.nav-item.disabled { cursor: default; opacity: .7; }
.nav-status { margin-left: auto; padding: 3px 6px; border: 1px solid #3a4a2f; border-radius: 999px; color: #b9d395; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.nav-subitems { margin: 2px 0 6px 45px; padding-left: 10px; display: grid; gap: 2px; border-left: 1px solid #293129; }
.nav-subitem { padding: 7px 9px; border-radius: 7px; color: #778178; text-decoration: none; font-size: 11px; line-height: 1.25; }
.nav-subitem:hover { color: var(--text); background: #131813; }
.nav-subitem.active { color: #c7ff67; background: #192714; font-weight: 750; }
.context-nav { margin: 0 0 24px; padding: 5px; display: none; gap: 4px; overflow-x: auto; border: 1px solid var(--line); border-radius: 11px; background: #0e110f; scrollbar-width: none; }
.context-nav::-webkit-scrollbar { display: none; }
.context-nav a { padding: 9px 12px; border-radius: 8px; color: var(--muted); text-decoration: none; font-size: 11px; white-space: nowrap; }
.context-nav a.active { color: #10130f; background: var(--lime); font-weight: 800; }
.sidebar-note { margin-top: auto; padding: 14px 12px 0; border-top: 1px solid var(--line); color: #687169; font-size: 11px; line-height: 1.6; text-transform: uppercase; letter-spacing: .08em; }
main { min-width: 0; padding: 34px 36px 60px; max-width: 1680px; width: 100%; margin: 0 auto; }
.topbar { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; margin-bottom: 30px; }
.eyebrow { margin: 0 0 8px; color: #737d74; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 7px; font-size: clamp(30px, 4vw, 48px); line-height: 1; letter-spacing: -.045em; }
h2 { margin-bottom: 0; font-size: 20px; letter-spacing: -.025em; }
.subtitle, .muted { color: var(--muted); }
.subtitle { margin: 0; font-size: 14px; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.period-switch { padding: 4px; display: flex; border: 1px solid var(--line); border-radius: 11px; background: #0e110f; }
.period-switch button, .refresh-button, .ghost-button { border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.period-switch button { padding: 8px 12px; color: var(--muted); font-size: 12px; }
.period-switch button.active { color: #10130f; background: var(--lime); font-weight: 750; }
.period-control { position: relative; }
.custom-period { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; min-width: 350px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #151a16; box-shadow: 0 18px 50px rgb(0 0 0 / 45%); }
.custom-period label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; }
.custom-period input { min-width: 145px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; color: var(--text); background: #0e110f; color-scheme: dark; }
.custom-period .primary-button { grid-column: 1 / -1; }
.custom-period small { grid-column: 1 / -1; color: var(--danger); }
.refresh-button { padding: 12px 15px; background: #232923; font-size: 12px; font-weight: 700; }
.refresh-button:disabled { opacity: .5; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.kpi-card, .panel, .setup-card, .error-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.kpi-card { min-height: 148px; padding: 22px; display: flex; flex-direction: column; }
.kpi-card > span { color: var(--muted); font-size: 12px; }
.kpi-card strong { margin: 20px 0 7px; font-size: clamp(25px, 2.4vw, 34px); letter-spacing: -.04em; }
.kpi-card small { color: #737d74; }
.kpi-card.lime, .kpi-card.accent { background: linear-gradient(135deg, #b5fb32, #80d419); border-color: #c8ff66; color: #11170d; box-shadow: 0 14px 40px rgba(138, 221, 28, .16); }
.kpi-card.lime > span, .kpi-card.lime small, .kpi-card.accent > span, .kpi-card.accent small { color: #30431e; }
.kpi-card.success { box-shadow: inset 0 2px 0 rgba(55, 207, 142, .75); }
.kpi-card.amber { box-shadow: inset 0 2px 0 rgba(244, 184, 74, .65); }
.kpi-card.danger { box-shadow: inset 0 2px 0 rgba(255, 107, 87, .7); }
.two-columns { display: grid; grid-template-columns: 1.1fr .9fr; gap: 12px; margin-bottom: 12px; }
.panel { min-width: 0; overflow: hidden; }
.panel-heading { min-height: 88px; padding: 20px 22px; display: flex; justify-content: space-between; gap: 16px; align-items: center; border-bottom: 1px solid var(--line); }
.counter { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: #121512; background: var(--lime); font-size: 12px; font-weight: 900; }
.actions-list { padding: 8px 20px 14px; }
.action-row { display: grid; grid-template-columns: 10px 1fr; gap: 14px; padding: 15px 2px; border-bottom: 1px solid #202520; }
.action-row:last-child { border: 0; }
.action-row strong { font-size: 13px; }
.action-row p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.action-row .ghost-button { margin-top: 9px; display: inline-flex; align-items: center; text-decoration: none; }
.action-dot { width: 7px; height: 7px; margin-top: 6px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(106, 169, 255, .09); }
.action-row.critical .action-dot { background: var(--red); box-shadow: 0 0 0 4px rgba(255, 107, 87, .09); }
.action-row.warning .action-dot { background: var(--amber); box-shadow: 0 0 0 4px rgba(244, 184, 74, .09); }
.action-row.success .action-dot { background: var(--lime); box-shadow: 0 0 0 4px rgba(184, 241, 50, .09); }
.bar-list { padding: 16px 22px 18px; }
.bar-row { margin: 11px 0; }
.bar-meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; font-size: 11px; }
.bar-meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #cbd1cb; }
.bar-meta strong { flex: none; }
.bar-track { height: 4px; overflow: hidden; border-radius: 9px; background: #242a24; }
.bar-track progress { width: 100%; height: 100%; display: block; border: 0; border-radius: inherit; overflow: hidden; appearance: none; background: transparent; }
.bar-track progress::-webkit-progress-bar { background: #242a24; }
.bar-track progress::-webkit-progress-value { border-radius: 9px; background: var(--lime); }
.bar-track progress::-moz-progress-bar { border-radius: 9px; background: var(--lime); }
.stock-panel { margin-top: 0; }
.table-heading { align-items: flex-end; }
.table-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.search { display: flex; align-items: center; gap: 8px; min-width: 190px; height: 36px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; background: #0c0f0d; color: var(--muted); }
.search input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 12px; }
select { height: 36px; padding: 0 30px 0 11px; border: 1px solid var(--line); border-radius: 9px; background: #0c0f0d; color: #c4cbc4; font-size: 12px; }
.ghost-button { height: 36px; padding: 0 12px; border: 1px solid var(--line); color: #c4cbc4; font-size: 12px; }
.primary-button { min-height: 42px; padding: 0 17px; border: 0; border-radius: 9px; background: linear-gradient(135deg, #b7fb36, #85da1c); color: #11170d; font-weight: 800; cursor: pointer; box-shadow: 0 9px 24px rgba(142, 224, 31, .18); }
.primary-button:disabled { opacity: .55; cursor: wait; }
.icon-button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 9px; background: #0c0f0d; color: var(--muted); font-size: 22px; cursor: pointer; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 940px; }
th { padding: 12px 18px; color: #6e786f; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; text-align: left; font-weight: 750; background: #0e110f; }
td { padding: 15px 18px; border-top: 1px solid #202520; color: #d7ddd7; font-size: 12px; }
td:first-child { max-width: 260px; }
td strong { display: block; color: var(--text); }
td small { display: block; margin-top: 4px; color: #707a71; }
.number { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.order-cell strong { color: var(--lime); }
.status { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 750; white-space: nowrap; }
.status-critical { color: #ff9a8c; background: #321916; }
.status-order { color: #f4c56f; background: #302515; }
.status-watch { color: #a8c9ff; background: #17243a; }
.status-loss { color: #ff9a8c; background: #321916; }
.status-discount_loss { color: #f4c56f; background: #302515; }
.status-overstock { color: #d7b3ff; background: #281a36; }
.status-dead, .status-empty { color: #aab2aa; background: #242824; }
.status-ok { color: #c8f36b; background: #1f2a14; }
.panel-footer { padding: 14px 18px; display: flex; justify-content: space-between; gap: 16px; color: #667067; border-top: 1px solid var(--line); font-size: 10px; }
.setup-card { max-width: 760px; margin: 60px auto; padding: 34px; display: grid; grid-template-columns: 54px 1fr; gap: 22px; }
.setup-icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: var(--lime); color: #111; font-size: 26px; }
.setup-card p { line-height: 1.55; }
.setup-card pre { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #090b0a; color: #c8f36b; overflow-x: auto; line-height: 1.6; }
.error-card { max-width: 760px; margin: 60px auto; padding: 24px; border-color: #4c2924; display: grid; gap: 8px; }
.error-card strong { color: #ff9a8c; }
.error-card span { color: var(--muted); font-size: 13px; line-height: 1.5; }
.loading-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.loading-grid div { height: 148px; border-radius: var(--radius); background: linear-gradient(90deg, #101310 25%, #181d18 50%, #101310 75%); background-size: 200% 100%; animation: shimmer 1.4s infinite; }
.empty-state { padding: 28px; color: var(--muted); text-align: center; font-size: 12px; }
.invoice-form-card { margin-bottom: 12px; }
.invoice-form-card form { padding: 22px; }
.form-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.form-grid label { display: grid; gap: 7px; color: var(--muted); font-size: 11px; }
.form-grid label > small { color: #687169; line-height: 1.4; }
.form-grid label > small a { color: var(--lime); }
.autocomplete-field { position: relative; }
.suggestion-menu { position: absolute; z-index: 30; top: calc(100% - 1px); left: 0; right: 0; max-height: 280px; overflow-y: auto; padding: 5px; border: 1px solid #394139; border-radius: 10px; background: #0c0f0d; box-shadow: 0 16px 36px rgba(0, 0, 0, .45); }
.suggestion-menu button { width: 100%; padding: 10px 11px; display: grid; gap: 4px; border: 0; border-radius: 7px; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.suggestion-menu button:hover, .suggestion-menu button:focus { outline: 0; background: #1a2018; }
.suggestion-menu strong { font-size: 11px; }
.suggestion-menu small { color: var(--muted); font-size: 9px; }
.form-grid input, .form-grid select, .form-grid textarea, .invoice-lines-table input, .invoice-lines-table select { width: 100%; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: #0c0f0d; color: var(--text); }
.form-grid input, .form-grid select { height: 40px; padding: 0 11px; }
.form-grid textarea { padding: 11px; resize: vertical; }
.form-grid .wide { grid-column: 1 / -1; }
.form-grid fieldset { margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
.form-grid legend { padding: 0 6px; color: var(--muted); font-size: 11px; }
.checkbox-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.checkbox-field { display: flex !important; align-items: flex-start; gap: 9px; color: var(--text) !important; }
.checkbox-field input { width: auto !important; height: auto !important; margin-top: 3px; accent-color: var(--lime); }
.checkbox-field small, .checkbox-field strong { display: block; }
.checkbox-field small { margin-top: 3px; color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.freeze-machine-list { display: grid; gap: 14px; }
.freeze-machine { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #0c0f0d; }
.freeze-machine-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.freeze-machine-head strong, .freeze-machine-head span { display: block; }
.freeze-machine-head span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.freeze-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.freeze-meta div { padding: 10px; border-radius: 8px; background: #121713; }
.freeze-meta dt { color: var(--muted); font-size: 10px; }
.freeze-meta dd { margin: 4px 0 0; font-size: 12px; overflow-wrap: anywhere; }
.freeze-command-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding-top: 14px; border-top: 1px solid var(--line); }
.freeze-command-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; }
.freeze-command-form input, .freeze-command-form select { width: 100%; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: #080b09; color: var(--text); }
.freeze-command-form .wide { grid-column: span 2; }
.error-text { margin: 0 0 14px; color: #ffadad; font-size: 12px; }
.support-body { min-height: 100vh; background: radial-gradient(circle at 10% -10%, #29453a 0, transparent 32rem), radial-gradient(circle at 100% 0, #202b4d 0, transparent 35rem), #080b0a; }
.support-main { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 28px 0 70px; }
.support-hero { position: relative; display: grid; grid-template-columns: 170px 1fr auto; gap: 26px; align-items: end; min-height: 260px; padding: 32px; overflow: hidden; border: 1px solid rgba(214, 251, 126, .23); border-radius: 22px; background: linear-gradient(135deg, rgba(35, 62, 48, .92), rgba(13, 19, 27, .92) 58%, rgba(29, 42, 73, .85)); box-shadow: 0 30px 80px rgba(0, 0, 0, .28); }
.support-hero::after { position: absolute; top: -95px; right: 80px; width: 260px; height: 260px; border: 1px solid rgba(198, 255, 105, .13); border-radius: 50%; box-shadow: 0 0 0 38px rgba(198, 255, 105, .035), 0 0 0 92px rgba(198, 255, 105, .025); content: ""; }
.support-brand { align-self: start; display: inline-flex; align-items: center; gap: 9px; color: #d5ff82; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.support-brand b { color: #fff; }
.support-mark { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; color: #0b100c; background: #d5ff82; box-shadow: 0 0 24px rgba(213, 255, 130, .42); }
.support-hero-copy { position: relative; z-index: 1; max-width: 620px; }
.support-hero h1 { margin: 8px 0 12px; font-size: clamp(36px, 5vw, 62px); letter-spacing: -.065em; line-height: .95; }
.support-hero-copy > p:last-child { max-width: 500px; margin: 0; color: #b5c0ba; font-size: 15px; line-height: 1.55; }
.support-hero-state { position: relative; z-index: 1; display: grid; gap: 5px; min-width: 180px; padding: 13px 15px; border: 1px solid rgba(214, 251, 126, .18); border-radius: 12px; background: rgba(4, 8, 6, .35); color: #eff7ef; font-size: 12px; }
.support-hero-state small { color: #84918a; font-size: 10px; }
.support-live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #c5ff67; box-shadow: 0 0 10px #c5ff67; }
.support-main .panel { margin-top: 16px; border-radius: 18px; border-color: rgba(255, 255, 255, .09); background: rgba(16, 21, 18, .78); box-shadow: 0 12px 32px rgba(0, 0, 0, .12); }
.support-login { display: grid; grid-template-columns: .9fr 1.1fr; gap: 32px; padding: 30px; }
.support-login h2, .support-overview h2, .support-panel h2 { margin: 7px 0; letter-spacing: -.035em; }
.support-login p:not(.eyebrow), .support-overview p:not(.eyebrow), .support-panel-head p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.support-login form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; }
.support-login label { display: grid; gap: 7px; color: var(--muted); font-size: 10px; }
.support-login input { height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: #090d0a; color: var(--text); }
.support-login .primary-button, .support-panel .primary-button { min-height: 42px; }
.primary-button span { margin-left: 9px; font-size: 16px; line-height: 0; }
.support-overview { display: flex; justify-content: space-between; gap: 25px; align-items: center; padding: 24px 30px; }
.support-overview > div { max-width: 720px; }
.support-panel { padding: 28px 30px; }
.support-panel-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 22px; }
.support-panel-head > div { display: flex; gap: 13px; align-items: flex-start; }
.support-index { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(207, 255, 126, .35); border-radius: 50%; color: #d7ff90; font-size: 10px; font-weight: 800; }
.support-panel .form-grid { max-width: 940px; }
.support-panel .form-grid fieldset { background: rgba(0, 0, 0, .14); }
.support-panel table { background: rgba(0, 0, 0, .12); }
.support-panel .freeze-machine { border-color: rgba(214, 251, 126, .15); background: linear-gradient(110deg, rgba(20, 30, 23, .94), rgba(13, 17, 18, .94)); }
.support-panel .freeze-machine-head strong { font-size: 15px; }
.freeze-scenario { display: grid; grid-template-columns: 1fr 180px; gap: 14px; align-items: end; margin: 18px 0; padding: 16px; border: 1px solid rgba(212, 255, 128, .16); border-radius: 11px; background: rgba(164, 217, 104, .055); }
.freeze-scenario span, .freeze-scenario strong, .freeze-scenario small { display: block; }
.freeze-scenario span { color: #b9ea76; font-size: 9px; font-weight: 800; letter-spacing: .09em; }
.freeze-scenario strong { margin-top: 4px; font-size: 13px; }
.freeze-scenario small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.freeze-scenario label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; }
.freeze-scenario select { width: 100%; height: 38px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; background: #0a0e0b; color: var(--text); }
.scenario-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.scenario-actions button { min-height: 34px; padding: 0 11px; border: 1px solid rgba(206, 255, 125, .24); border-radius: 8px; background: rgba(197, 255, 103, .1); color: #dffeb1; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.scenario-actions button:hover { background: rgba(197, 255, 103, .18); }
.scenario-actions .danger-button { border-color: rgba(255, 142, 142, .26); background: rgba(230, 92, 92, .1); color: #ffb2b2; }
.wide-field { grid-column: span 2; }
.invoice-lines-heading { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin: 28px 0 12px; }
.invoice-lines-heading h3 { margin: 0; font-size: 16px; }
.invoice-lines-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.invoice-lines-table { min-width: 1040px; }
.invoice-lines-table td { padding: 10px; }
.invoice-lines-table td:first-child { min-width: 320px; }
.recognized-source { display: block; margin-top: 6px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.unresolved-product { background: #302515; }
.unresolved-product .recognized-source { color: #f4c56f; }
.invoice-lines-table input, .invoice-lines-table select { height: 36px; padding: 0 9px; font-size: 11px; }
.remove-line { width: 30px; height: 30px; border: 0; border-radius: 8px; background: #2b1815; color: #ff9a8c; font-size: 18px; cursor: pointer; }
.invoice-bottom-grid { display: grid; grid-template-columns: 1fr 360px; gap: 18px; margin-top: 18px; }
.attachment-box { min-height: 132px; padding: 18px; border: 1px dashed #384038; border-radius: 12px; background: #0d100e; }
.attachment-box label { display: grid; gap: 6px; margin-bottom: 14px; cursor: pointer; }
.attachment-box label span, .attachment-name { color: var(--muted); font-size: 11px; }
.attachment-box input { color: var(--muted); font-size: 11px; }
.attachment-name { margin-top: 10px; }
.recognize-button { margin-top: 14px; background: #1b211b; }
.recognize-button:disabled { opacity: .45; cursor: default; }
.recognition-status { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: #171c17; color: var(--muted); font-size: 10px; line-height: 1.5; }
.recognition-status.success { color: #c8f36b; background: #1f2a14; }
.recognition-status.warning { color: #f4c56f; background: #302515; }
.recognition-status.error { color: #ff9a8c; background: #321916; }
.invoice-totals { padding: 12px 18px; border: 1px solid var(--line); border-radius: 12px; background: #0d100e; }
.invoice-totals div { display: flex; justify-content: space-between; gap: 20px; padding: 8px 0; color: var(--muted); font-size: 12px; }
.invoice-totals strong { color: var(--text); font-variant-numeric: tabular-nums; }
.invoice-totals .grand-total { margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--line); }
.invoice-totals .grand-total strong { color: var(--lime); font-size: 20px; }
.invoice-warning { margin-top: 18px; padding: 14px 16px; display: grid; grid-template-columns: 190px 1fr; gap: 18px; border-radius: 10px; background: #1e2418; color: #dbe9c0; font-size: 11px; line-height: 1.5; }
.invoice-warning span { color: #aab59f; }
.already-posted-option { margin-top: 18px; padding: 14px 16px; display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; border: 1px solid #34422a; border-radius: 10px; background: #151b12; cursor: pointer; }
.already-posted-option input { width: 17px; height: 17px; margin-top: 2px; }
.already-posted-option span { display: grid; gap: 5px; }
.already-posted-option small { color: var(--muted); line-height: 1.45; }
.recognized-supplier-card { margin-top: 18px; padding: 18px; border: 1px solid #3d4d2e; border-radius: 12px; background: #141a11; }
.recognized-supplier-heading { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.recognized-supplier-heading h3 { margin: 0; font-size: 16px; }
.recognized-supplier-card > p { margin: 10px 0 15px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.quick-supplier-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 10px; }
.quick-supplier-grid label { position: relative; display: grid; gap: 6px; color: var(--muted); font-size: 10px; }
.quick-supplier-grid input { width: 100%; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: #0c0f0d; color: var(--text); }
.quick-supplier-error { margin: 10px 0; color: #ff9a8c; font-size: 10px; }
.recognized-supplier-card > .primary-button { margin-top: 14px; }
.form-actions { display: flex; justify-content: flex-end; margin-top: 18px; }
.invoice-list { padding: 10px 20px 20px; }
.invoice-card { padding: 20px 2px; border-bottom: 1px solid var(--line); }
.invoice-card:last-child { border-bottom: 0; }
.invoice-card-main { display: grid; grid-template-columns: 1fr auto; gap: 24px; }
.invoice-title-row { display: flex; align-items: center; gap: 10px; }
.invoice-card h3 { margin: 8px 0 5px; font-size: 17px; }
.invoice-card p { margin: 0; color: var(--muted); font-size: 11px; }
.invoice-status, .vat-badge { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #252b25; color: #b8c0b8; font-size: 9px; font-weight: 800; }
.payment-badge { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; }
.payment-unverified { color: #ffd166; background: rgba(255, 209, 102, .13); }
.finance-ledger-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.finance-ledger-grid > div { display: flex; justify-content: space-between; gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.02); }
.finance-ledger-grid span { color: var(--muted); font-size: 12px; }
.finance-ledger-grid strong { font-size: 16px; text-align: right; }
.finance-ledger-grid .total { border-color: rgba(166,255,26,.35); background: rgba(166,255,26,.06); }
.finance-ledger-grid .negative { color: var(--danger); }
.payment-paid { color: #c8f36b; background: #1f2a14; }
.payment-overdue { color: #ff9a8c; background: #321916; }
.payment-soon { color: #f4c56f; background: #302515; }
.payment-scheduled { color: #a8c9ff; background: #17243a; }
.payment-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.invoice-actions { display: flex; gap: 8px; }
.invoice-status.status-draft { color: #f4c56f; background: #302515; }
.invoice-status.status-posted { color: #c8f36b; background: #1f2a14; }
.invoice-status.status-already_posted { color: #a8c9ff; background: #17243a; }
.invoice-status.status-posted_warning, .invoice-status.status-error_review { color: #ff9a8c; background: #321916; }
.invoice-card-total { min-width: 170px; display: grid; text-align: right; gap: 4px; }
.invoice-card-total span, .invoice-card-total small { color: var(--muted); font-size: 10px; }
.invoice-card-total strong { font-size: 20px; }
.invoice-goods { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0; }
.invoice-goods span { padding: 5px 8px; border-radius: 6px; background: #1b201b; color: #aeb6ae; font-size: 10px; }
.invoice-card footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.invoice-card footer > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.attachment-link { color: var(--lime); font-size: 11px; text-decoration: none; }
.vat-badge { color: #a8c9ff; background: #17243a; }
.invoice-error-note { margin: 10px 0; padding: 10px; border-radius: 8px; color: #ffb0a5; background: #251512; font-size: 11px; }
.invoice-empty { padding: 60px 20px; display: grid; gap: 8px; text-align: center; }
.invoice-empty span { color: var(--muted); font-size: 12px; }
.supplier-form-card { margin-bottom: 12px; }
.supplier-form-card form { padding: 22px; }
.public-consent { min-height: 64px; padding: 12px 14px; grid-template-columns: auto 1fr !important; align-items: start; border: 1px solid var(--line); border-radius: 10px; background: #0d100e; }
.public-consent input { width: 17px !important; height: 17px !important; margin: 2px 0 0; }
.public-consent span { display: grid; gap: 5px; color: var(--text); }
.public-consent small { color: var(--muted); line-height: 1.45; }
.supplier-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.supplier-list { padding: 6px 20px 20px; }
.supplier-card { padding: 20px 2px; border-bottom: 1px solid var(--line); }
.supplier-card:last-child { border-bottom: 0; }
.supplier-card-main { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.supplier-card h3 { margin: 0; font-size: 18px; }
.supplier-card p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.supplier-meta { margin: 18px 0 12px; display: grid; grid-template-columns: 130px 110px 130px 1fr; gap: 10px; }
.supplier-meta > span { min-height: 58px; padding: 11px 13px; display: grid; align-content: center; gap: 6px; border-radius: 9px; background: #171c17; color: #dce2dc; font-size: 12px; }
.supplier-meta small { color: #6f796f; font-size: 8px; letter-spacing: .1em; }
.supplier-legal { color: #778177; font-size: 10px; }
.community-badge { display: inline-flex; padding: 4px 7px; border-radius: 999px; color: #a8c9ff; background: #17243a; font-size: 9px; font-weight: 800; }
.public-filter { height: 36px; padding: 0 11px; display: flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); font-size: 11px; }
.inventory-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.inventory-form-card { margin-bottom: 12px; }
.inventory-form-card form { padding: 22px; }
.inventory-meta-grid { grid-template-columns: 2fr 1fr 2fr; }
.inventory-count-heading { margin: 28px 0 12px; display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.inventory-count-heading h3 { margin: 0 0 5px; font-size: 16px; }
.inventory-count-heading small { color: var(--muted); font-size: 10px; }
.inventory-table-wrap { max-height: 620px; overflow: auto; border: 1px solid var(--line); border-radius: 12px; }
.inventory-table { min-width: 980px; }
.inventory-table thead { position: sticky; z-index: 3; top: 0; }
.inventory-table td { padding-block: 11px; }
.inventory-table td:first-child { min-width: 280px; }
.inventory-actual { width: 100px; height: 36px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: #0c0f0d; color: var(--text); text-align: right; }
.inventory-actual:focus { border-color: #718f36; box-shadow: 0 0 0 3px rgba(184, 241, 50, .08); }
.inventory-row-add { background: rgba(76, 114, 34, .08); }
.inventory-row-remove { background: rgba(128, 48, 37, .08); }
.inventory-plus, .inventory-equal { color: #c8f36b; }
.inventory-minus { color: #ff9a8c; }
.inventory-pending { color: #6e786f; }
.inventory-action { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.inventory-action.add { color: #c8f36b; background: #1f2a14; }
.inventory-action.remove { color: #ff9a8c; background: #321916; }
.inventory-action.none { color: #a8c9ff; background: #17243a; }
.inventory-action.pending { color: #aab2aa; background: #242824; }
.inventory-live-summary { margin-top: 14px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.inventory-live-summary article { min-height: 104px; padding: 16px; display: grid; align-content: center; gap: 7px; border: 1px solid var(--line); border-radius: 11px; background: #0d100e; }
.inventory-live-summary span, .inventory-live-summary small { color: var(--muted); font-size: 10px; }
.inventory-live-summary strong { font-size: 20px; }
.inventory-live-summary .positive strong { color: #c8f36b; }
.inventory-live-summary .negative strong { color: #ff9a8c; }
.inventory-safety-note { margin-top: 14px; padding: 14px 16px; display: grid; grid-template-columns: 220px 1fr; gap: 18px; border-radius: 10px; background: #171c17; color: #dbe9c0; font-size: 11px; line-height: 1.5; }
.inventory-safety-note span { color: var(--muted); }
.inventory-list { padding: 6px 20px 20px; }
.inventory-card { padding: 22px 2px; border-bottom: 1px solid var(--line); }
.inventory-card:last-child { border-bottom: 0; }
.inventory-card-main { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: start; }
.inventory-card-main p { margin: 8px 0 0; color: var(--muted); font-size: 11px; }
.inventory-net { min-width: 210px; text-align: right; display: grid; gap: 5px; }
.inventory-net span { color: var(--muted); font-size: 9px; }
.inventory-net strong { font-size: 20px; }
.inventory-net.positive strong { color: #c8f36b; }
.inventory-net.negative strong { color: #ff9a8c; }
.inventory-result-grid { margin: 16px 0 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.inventory-result-grid > span { min-height: 82px; padding: 13px 14px; display: grid; align-content: center; gap: 5px; border-radius: 9px; background: #171c17; }
.inventory-result-grid small { color: #6f796f; font-size: 8px; letter-spacing: .1em; }
.inventory-result-grid strong { font-size: 17px; }
.inventory-result-grid em { color: var(--muted); font-size: 9px; font-style: normal; }
.inventory-differences { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.inventory-differences span { padding: 6px 8px; border-radius: 6px; background: #1b201b; color: #aeb6ae; font-size: 10px; }
.inventory-differences strong { display: inline; margin-left: 5px; }
.inventory-no-difference { margin-bottom: 14px; padding: 10px 12px; border-radius: 8px; background: #1f2a14; color: #c8f36b; font-size: 10px; }
.inventory-card footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; color: var(--muted); font-size: 10px; }
.inventory-actions { display: flex; gap: 8px; }
.inventory-last-kpi { position: relative; padding-bottom: 42px; }
.kpi-card-action { position: absolute; left: 18px; bottom: 14px; padding: 0; border: 0; background: transparent; color: var(--lime); font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.inventory-detail-card { margin-bottom: 12px; overflow: hidden; }
.inventory-detail-card > .panel-heading { padding-bottom: 18px; }
.inventory-detail-card .inventory-live-summary { margin: 0; padding: 0 20px; }
.inventory-detail-note { margin: 14px 20px 0; padding: 12px 14px; border-radius: 9px; background: #171c17; color: var(--muted); font-size: 11px; }
.inventory-detail-heading { padding: 0 20px; }
.inventory-detail-table-wrap { margin: 0 20px; }
.inventory-detail-table { min-width: 1180px; }
.inventory-detail-table td:nth-child(8) { min-width: 180px; max-width: 300px; white-space: normal; }
.inventory-verification { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.inventory-verification.verified { color: #c8f36b; background: #1f2a14; }
.inventory-verification.warning { color: #ffbd75; background: #352516; }
.inventory-verification.pending { color: #aab2aa; background: #242824; }
.inventory-detail-operations { margin-top: 16px; padding: 16px 20px 20px; display: grid; gap: 8px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.inventory-detail-operations strong { color: #ffbd75; }
.invoice-status.status-applying { color: #a8c9ff; background: #17243a; }
.invoice-status.status-completed { color: #c8f36b; background: #1f2a14; }
.invoice-status.status-completed_warning, .invoice-status.status-error_review { color: #ff9a8c; background: #321916; }
.control-overview { align-items: start; }
.admin-risk-list { padding: 8px 20px 20px; }
.admin-risk-row { padding: 16px 2px; border-bottom: 1px solid var(--line); }
.admin-risk-row:last-child { border-bottom: 0; }
.admin-risk-head { display: flex; justify-content: space-between; gap: 18px; align-items: start; }
.admin-risk-head > div:first-child { display: grid; gap: 5px; }
.admin-risk-head strong { font-size: 15px; }
.admin-risk-head span { color: var(--muted); font-size: 9px; }
.risk-score { min-width: 58px; text-align: right; display: grid; }
.risk-score b { font-size: 22px; line-height: 1; }
.risk-score small { color: var(--muted); font-size: 8px; }
.risk-critical .risk-score b, .risk-warning .risk-score b { color: #ff9a8c; }
.risk-watch .risk-score b { color: #f4c56f; }
.risk-ok .risk-score b { color: #c8f36b; }
.risk-meter { margin: 11px 0; height: 5px; overflow: hidden; border-radius: 9px; background: #242a24; }
.risk-meter progress { width: 100%; height: 100%; display: block; appearance: none; border: 0; background: transparent; }
.risk-meter progress::-webkit-progress-bar { background: #242a24; }
.risk-critical .risk-meter progress::-webkit-progress-value, .risk-warning .risk-meter progress::-webkit-progress-value { background: #ff6b57; }
.risk-watch .risk-meter progress::-webkit-progress-value { background: var(--amber); }
.risk-ok .risk-meter progress::-webkit-progress-value { background: var(--lime); }
.admin-risk-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.admin-risk-metrics span { min-height: 54px; padding: 9px 10px; display: grid; align-content: center; gap: 5px; border-radius: 8px; background: #171c17; font-size: 11px; }
.admin-risk-metrics small { color: #6f796f; font-size: 7px; letter-spacing: .08em; }
.admin-risk-reasons { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.admin-risk-reasons em { padding: 5px 7px; border-radius: 6px; background: #1b201b; color: var(--muted); font-size: 9px; font-style: normal; }
.risk-label { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.risk-label.critical { color: #ff9a8c; background: #321916; }
.risk-label.warning { color: #f4c56f; background: #302515; }
.risk-label.watch { color: #a8c9ff; background: #17243a; }
.risk-label.ok, .risk-label.info { color: #c8f36b; background: #1f2a14; }
.discount-breakdown { padding: 8px 20px 20px; }
.discount-breakdown article { padding: 14px 2px; display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
.discount-breakdown article:last-child { border-bottom: 0; }
.discount-breakdown article > div { display: grid; gap: 5px; }
.discount-breakdown article > div:last-child { text-align: right; }
.discount-breakdown strong { font-size: 12px; }
.discount-breakdown span, .discount-breakdown small { color: var(--muted); font-size: 9px; }
.discount-breakdown b { color: #f4c56f; font-size: 14px; }
.control-events-panel, .control-products-panel { margin-top: 12px; }
.control-events-table { min-width: 1180px; }
.control-events-table td { padding-block: 12px; }
.control-event-critical { background: rgba(128, 48, 37, .08); }
.control-loss { color: #ff9a8c; }
.discount-badge { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 850; }
.discount-badge.severity-critical { color: #ff9a8c; background: #321916; }
.discount-badge.severity-warning { color: #f4c56f; background: #302515; }
.discount-badge.severity-watch, .discount-badge.severity-info { color: #a8c9ff; background: #17243a; }
.control-products { padding: 10px 20px 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.control-products article { padding: 13px 2px; display: grid; grid-template-columns: minmax(0, 1fr) 140px auto; gap: 14px; align-items: center; border-bottom: 1px solid var(--line); }
.control-products article > div:first-child { min-width: 0; display: grid; gap: 5px; }
.control-products strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.control-products span { color: var(--muted); font-size: 8px; }
.control-products b { min-width: 82px; color: #f4c56f; text-align: right; font-size: 11px; }
.control-product-bar { height: 4px; overflow: hidden; border-radius: 8px; background: #242a24; }
.control-product-bar progress { width: 100%; height: 100%; display: block; appearance: none; border: 0; }
.control-product-bar progress::-webkit-progress-bar { background: #242a24; }
.control-product-bar progress::-webkit-progress-value { background: #f4b84a; }
.session-card { margin-top: auto; padding: 15px 12px 0; display: grid; gap: 5px; border-top: 1px solid var(--line); }
.session-release { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.session-release small { color: var(--muted); font-size: 10px; }
.session-card .environment-badge { display: inline-flex; width: fit-content; padding: 3px 7px; border-radius: 999px; font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.session-card .env-development { color: #9ed6ff; background: rgb(56 148 255 / 14%); border: 1px solid rgb(56 148 255 / 35%); }
.session-card .env-staging { color: #ffd982; background: rgb(255 184 56 / 14%); border: 1px solid rgb(255 184 56 / 35%); }
.session-card .env-production { color: #15170f; background: var(--lime); border: 1px solid var(--lime); }
.session-card strong { overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
.session-card span, .session-card small { overflow: hidden; text-overflow: ellipsis; color: var(--muted); font-size: 9px; line-height: 1.4; }
.session-card button { margin-top: 8px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: transparent; color: var(--muted); cursor: pointer; font-size: 10px; }
.login-page { min-height: 100vh; background: radial-gradient(circle at 15% 20%, rgba(184, 241, 50, .09), transparent 32%), var(--bg); }
.login-layout { min-height: 100vh; max-width: 1180px; padding: 60px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: center; }
.login-promise { max-width: 580px; }
.login-brand { padding: 0 0 70px; }
.login-promise h1 { max-width: 540px; font-size: clamp(42px, 6vw, 72px); }
.login-promise > p:not(.eyebrow) { max-width: 540px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.login-points { margin-top: 30px; display: grid; gap: 11px; color: #c8f36b; font-size: 12px; }
.login-card { padding: 34px; border: 1px solid var(--line); border-radius: 24px; background: rgba(17, 20, 17, .94); box-shadow: 0 30px 90px rgba(0, 0, 0, .32); }
.login-card > div > p:not(.eyebrow), .login-card > small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.login-card form { margin: 30px 0 18px; display: grid; gap: 16px; }
.login-card label { display: grid; gap: 8px; color: var(--muted); font-size: 11px; }
.login-card input { width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--line); border-radius: 11px; outline: 0; background: #0b0e0c; color: var(--text); }
.login-card input:focus { border-color: #718f36; box-shadow: 0 0 0 3px rgba(184, 241, 50, .08); }
.login-card .primary-button { min-height: 50px; margin-top: 8px; }
.form-error { padding: 11px 13px; border-radius: 9px; background: #321916; color: #ff9a8c; font-size: 11px; line-height: 1.45; }
.status-pill { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: #1f2a14; color: #c8f36b; font-size: 10px; font-weight: 800; white-space: nowrap; }
.handover-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 12px; align-items: start; }
.handover-primary { display: grid; gap: 12px; }
.handover-layout > aside { display: grid; gap: 12px; }
.handover-form-panel form { padding: 22px; }
.handover-checklist { display: grid; gap: 9px; }
.checklist-item { min-height: 60px; padding: 13px 15px; display: grid; grid-template-columns: auto auto 1fr; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 11px; background: #0d100e; cursor: pointer; }
.checklist-item input { width: 18px; height: 18px; accent-color: var(--lime); }
.checklist-item .checkmark { color: #4f594f; font-weight: 900; }
.checklist-item:has(input:checked) { border-color: #40552b; background: #151b12; }
.checklist-item:has(input:checked) .checkmark { color: var(--lime); }
.checklist-item strong { font-size: 12px; }
.handover-comment { position: relative; margin-top: 22px; display: grid; gap: 8px; color: var(--muted); font-size: 11px; }
.handover-comment textarea { min-height: 150px; padding: 14px; resize: vertical; border: 1px solid var(--line); border-radius: 11px; outline: 0; background: #0c0f0d; color: var(--text); line-height: 1.5; }
.handover-comment small { position: absolute; right: 10px; bottom: 10px; color: #626c63; }
.handover-form-panel .primary-button { width: 100%; margin-top: 16px; min-height: 48px; }
.handover-summary { padding: 22px; display: grid; gap: 8px; }
.handover-summary strong { font-size: 20px; }
.handover-summary span { color: var(--muted); font-size: 11px; }
.handover-history { max-height: 520px; padding: 6px 20px 20px; overflow-y: auto; }
.handover-history article { padding: 15px 2px; border-bottom: 1px solid var(--line); }
.handover-history article:last-child { border: 0; }
.handover-history article > div { display: flex; justify-content: space-between; gap: 12px; }
.handover-history strong { font-size: 11px; }
.handover-history span { color: var(--muted); text-align: right; font-size: 8px; }
.handover-history p { margin: 9px 0 0; color: #cbd1cb; font-size: 11px; line-height: 1.5; }
.cash-shift-note, .panel-note { margin: 0 20px 14px; padding: 11px 12px; border-radius: 8px; background: #151a15; color: var(--muted); font-size: 9px; line-height: 1.5; }
.cash-shift-panel .compact-list, #cash-ledger-history { max-height: 360px; overflow-y: auto; }
.access-panel { overflow: visible; }
.access-legend { padding: 15px 22px; display: flex; flex-wrap: wrap; gap: 16px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.access-legend i { width: 7px; height: 7px; display: inline-block; margin-right: 5px; border-radius: 50%; }
.access-legend .allowed { background: var(--lime); }
.access-legend .blocked { background: #566057; }
.access-workers { padding: 4px 22px 22px; }
.access-worker { padding: 22px 0; border-bottom: 1px solid var(--line); }
.access-worker:last-child { border: 0; }
.access-worker-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.access-worker-head > div { display: grid; gap: 5px; }
.access-worker-head strong { font-size: 15px; }
.access-worker-head span { color: var(--muted); font-size: 9px; }
.save-access, .secondary-button { padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; background: #1b201b; color: #d7ddd7; cursor: pointer; font-size: 10px; }
.access-feature-grid { margin-top: 15px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.access-feature { min-height: 70px; padding: 12px; display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; border: 1px solid #34422a; border-radius: 9px; background: #151b12; cursor: pointer; }
.access-feature.blocked { border-color: var(--line); background: #0d100e; opacity: .5; cursor: not-allowed; }
.access-feature input { margin-top: 2px; accent-color: var(--lime); }
.access-feature span { display: grid; gap: 4px; }
.access-feature strong { font-size: 11px; }
.access-feature small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.settings-panel { max-width: 900px; }
.account-settings-panel, .subscription-panel { max-width: 1100px; }
.settings-clubs { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; padding: 0 20px 18px; }
.settings-club { min-height: 70px; padding: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--line); border-radius: 10px; background: #0c1117; }
.settings-club.active { border-color: #2c66a7; background: #101d2b; }
.settings-club > div { display: grid; gap: 4px; }
.settings-club strong { font-size: 13px; }
.settings-club span { color: var(--muted); font-size: 10px; }
.club-active-badge { padding: 6px 8px; border-radius: 999px; background: #213710; color: #c8ff6b !important; font-weight: 800; }
.connect-club-form { margin: 0 20px 20px; border: 1px solid var(--line); border-radius: 11px; background: #0e151d; }
.connect-club-form .form-error { grid-column: 1 / -1; }
.connect-club-form small { color: var(--muted); }
.subscription-summary { margin: 0 20px 14px; padding: 17px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid #294b73; border-radius: 11px; background: linear-gradient(135deg, #122338, #0e151d); }
.subscription-summary > div { display: grid; gap: 4px; }
.subscription-summary span, .subscription-summary small { color: var(--muted); font-size: 10px; }
.subscription-summary strong { font-size: 18px; }
.subscription-period { padding: 7px 9px; border-radius: 7px; background: #17283b; color: #91bfff !important; font-weight: 750; white-space: nowrap; }
.subscription-price { margin: -5px 20px 14px; display: flex; align-items: baseline; gap: 8px; }
.subscription-price strong { font-size: 24px; }
.subscription-price span { color: var(--muted); font-size: 10px; }
.subscription-modules { padding: 0 20px 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 9px; }
.subscription-module { padding: 12px; display: flex; gap: 10px; border: 1px solid var(--line); border-radius: 9px; background: #0c1117; opacity: .55; }
.subscription-module.enabled { opacity: 1; }
.subscription-module.upcoming { opacity: .82; border-style: dashed; }
.subscription-module > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #213710; color: #c8ff6b; font-weight: 900; }
.subscription-module.upcoming > span { width: auto; padding: 0 7px; border-radius: 999px; background: #293122; color: #c5d6ac; font-size: 8px; }
.subscription-module > div { display: grid; gap: 4px; }
.subscription-module strong { font-size: 11px; }
.subscription-module small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.purchase-price-panel { margin-bottom: 18px; }
.purchase-price-lines { display: grid; gap: 8px; padding: 0 20px 20px; }
.purchase-price-line { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(95px, .7fr)); gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 9px; background: #0c1117; }
.purchase-price-line > div { display: grid; gap: 3px; }
.purchase-price-choice { display: flex !important; align-items: center; gap: 8px; }
.purchase-price-choice > span { display: grid; gap: 3px; }
.purchase-price-line span, .purchase-price-line small { color: var(--muted); font-size: 9px; }
.purchase-price-line p { grid-column: 1 / -1; margin: 0; color: #ffc27a; font-size: 10px; }
.purchase-price-line.needs_review { border-color: #6d4e24; }
@media (max-width: 760px) { .purchase-price-line { grid-template-columns: 1fr 1fr; } }
.platform-kpis { grid-template-columns: repeat(7, minmax(110px, 1fr)); }
.platform-filters { display: grid; grid-template-columns: minmax(220px, 1fr) 180px 180px; gap: 8px; padding: 0 20px 14px; }
.platform-table-wrap { overflow-x: auto; }
.platform-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.platform-table th, .platform-table td { padding: 12px 14px; text-align: left; border-top: 1px solid var(--line); font-size: 10px; }
.platform-table tbody tr { cursor: pointer; }
.platform-table tbody tr:hover { background: #172118; }
.platform-table td { vertical-align: top; }
.platform-table td strong, .platform-table td small { display: block; }
.platform-table td small { margin-top: 4px; color: var(--muted); }
.platform-risk { display: inline-flex; padding: 5px 7px; border-radius: 6px; background: #1a242d; }
.platform-risk.risk-ok { color: #83dfa8; }
.platform-risk.risk-payment, .platform-risk.risk-integration { color: #ffc27a; }
.platform-risk.risk-suspended { color: #ff8b8b; }
.platform-detail { margin-top: 18px; }
.platform-detail-statuses { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 20px 16px; }
.platform-detail-statuses span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); font-size: 9px; }
.platform-detail-grid { display: grid; grid-template-columns: minmax(320px, 1.3fr) minmax(260px, .7fr); gap: 12px; padding: 0 20px 20px; }
.platform-admin-stack { display: grid; gap: 10px; align-content: start; }
.platform-admin-form { display: grid; gap: 9px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #0c110d; }
.platform-admin-form h3, .platform-history-grid h3 { margin: 0; }
.platform-admin-form label { display: grid; gap: 5px; }
.platform-admin-form label > span { color: var(--muted); font-size: 9px; }
.platform-module-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; }
.platform-module-picker legend { color: var(--muted); font-size: 9px; }
.platform-module-picker label { display: flex; align-items: center; gap: 6px; }
.platform-module-picker label.platform-module-upcoming { opacity: .72; }
.platform-module-picker label.platform-module-upcoming span { display: flex; align-items: center; gap: 7px; }
.platform-module-picker label.platform-module-upcoming em { padding: 2px 5px; border-radius: 999px; background: #293122; color: #c5d6ac; font-size: 7px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.platform-history-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.platform-log { display: grid; gap: 7px; }
.platform-log article { display: grid; gap: 4px; padding: 9px; border: 1px solid var(--line); border-radius: 7px; background: #0c110d; }
.platform-log span, .platform-log small { color: var(--muted); font-size: 9px; }
.platform-body { background: radial-gradient(circle at 75% -20%, rgba(168, 245, 26, .13), transparent 34rem), #080c09; }
.platform-header { position: sticky; z-index: 40; top: 0; height: 72px; padding: 0 clamp(20px, 4vw, 54px); display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); background: rgba(10, 15, 11, .9); backdrop-filter: blur(18px); }
.platform-brand, .platform-login-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--text); text-decoration: none; }
.platform-brand > span:last-child, .platform-login-brand > span:last-child { display: grid; gap: 1px; }
.platform-brand strong, .platform-login-brand strong { font-size: 13px; }
.platform-brand small, .platform-login-brand small { color: var(--muted); font-size: 9px; letter-spacing: .04em; }
.platform-user { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 11px; }
.platform-main { max-width: 1640px; padding-top: 36px; }
.platform-login-body { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(circle at 50% -10%, rgba(168, 245, 26, .18), transparent 32rem), #080c09; }
.platform-login-main { width: min(440px, calc(100% - 32px)); padding: 28px 0; }
.platform-login-card { padding: 34px; display: grid; gap: 30px; border: 1px solid #31412b; border-radius: 22px; background: linear-gradient(155deg, rgba(23, 33, 24, .98), rgba(11, 16, 12, .98)); box-shadow: 0 28px 80px rgba(0, 0, 0, .36); }
.platform-login-card h1 { margin-bottom: 10px; font-size: clamp(36px, 9vw, 52px); }
.platform-login-form { display: grid; gap: 14px; }
.platform-login-form label { display: grid; gap: 7px; color: var(--muted); font-size: 10px; }
.platform-login-form input { width: 100%; height: 46px; padding: 0 13px; border: 1px solid var(--line); border-radius: 10px; outline: none; color: var(--text); background: #090d0a; }
.platform-login-form input:focus { border-color: #79ac30; box-shadow: 0 0 0 3px rgba(168, 245, 26, .08); }
.platform-login-note { margin: 0; padding-top: 18px; border-top: 1px solid var(--line); color: #738075; font-size: 9px; line-height: 1.6; }
@media (max-width: 980px) { .platform-kpis { grid-template-columns: repeat(3, 1fr); } .platform-detail-grid, .platform-history-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .platform-header { height: 64px; } .platform-brand small, .platform-user > span { display: none; } .platform-main { padding: 24px 14px 50px; } .platform-filters { grid-template-columns: 1fr; } .platform-kpis { grid-template-columns: repeat(2, 1fr); } .platform-login-card { padding: 26px 22px; } }
.mobile-account-panel { display: none; }
.settings-checklist { padding: 18px 22px; display: grid; gap: 9px; }
.settings-item { display: grid; grid-template-columns: 28px 1fr 36px; gap: 9px; align-items: center; }
.settings-item > span { color: #6e786f; text-align: center; font-size: 10px; }
.settings-item input { height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: #0c0f0d; color: var(--text); }
.settings-item button { width: 36px; height: 36px; border: 0; border-radius: 8px; background: #2b1815; color: #ff9a8c; cursor: pointer; font-size: 18px; }
.settings-actions { padding: 18px 22px; display: flex; justify-content: space-between; gap: 20px; align-items: center; border-top: 1px solid var(--line); }
.settings-actions span { color: var(--muted); font-size: 10px; }
.telegram-panel { margin-top: 12px; }
.telegram-summary { padding: 18px 22px; display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.telegram-summary > div { min-width: 0; display: grid; gap: 5px; }
.telegram-summary strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.telegram-summary span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.telegram-setup { padding: 20px 22px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .45fr); gap: 16px; border-top: 1px solid var(--line); }
.telegram-setup > label { display: grid; gap: 7px; color: var(--muted); font-size: 10px; }
.telegram-setup input[type="password"], .telegram-setup input[type="time"] { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: #0c0f0d; color: var(--text); }
.telegram-setup input[type="password"]:focus, .telegram-setup input[type="time"]:focus { border-color: #617b3e; }
.telegram-token-field { grid-column: 1; }
.telegram-token-field small { color: #6f796f; font-size: 9px; }
.telegram-options { grid-column: 1 / -1; margin: 0; padding: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; border: 1px solid var(--line); border-radius: 10px; }
.telegram-options legend { padding: 0 6px; color: var(--muted); font-size: 10px; }
.telegram-options label { min-height: 42px; padding: 10px 11px; display: flex; gap: 9px; align-items: center; border: 1px solid #2d342e; border-radius: 8px; background: #101410; color: #d6dcd6; cursor: pointer; font-size: 10px; }
.telegram-options input { width: 15px; height: 15px; flex: 0 0 auto; accent-color: var(--lime); }
.telegram-privacy { grid-column: 1 / -1; padding: 11px 12px; border-radius: 8px; background: #151a15; color: var(--muted); font-size: 9px; line-height: 1.5; }
.telegram-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.telegram-actions .ghost-button { min-height: 38px; display: inline-flex; align-items: center; text-decoration: none; }
.integration-catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.integration-card { padding: 20px; display: grid; grid-template-columns: 48px 1fr auto; gap: 14px; align-items: center; }
.integration-card .primary-button { grid-column: 2; justify-self: start; }
.integration-card h2 { margin: 3px 0 6px; }
.integration-card p, .integration-kind { color: var(--muted); font-size: 10px; line-height: 1.5; }
.integration-logo { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 12px; background: #202720; color: var(--lime); font-size: 19px; font-weight: 800; }
.diadoc-logo { background: #e8502b; color: white; }
.yandex-logo { background: #ffcc00; color: #111; }
.integration-disabled { opacity: .58; }
.integration-setup { margin-top: 14px; padding: 20px; }
.integration-steps { margin: 16px 0 20px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; counter-reset: steps; list-style: none; }
.integration-steps li { min-height: 170px; padding: 14px; display: flex; flex-direction: column; gap: 9px; border: 1px solid var(--line); border-radius: 10px; background: #101410; counter-increment: steps; }
.integration-steps li::before { content: counter(steps); width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #252c25; color: var(--muted); font-size: 10px; font-weight: 700; }
.integration-steps li.step-complete::before { content: "✓"; background: var(--lime); color: #101410; }
.integration-steps span, .integration-steps a { color: var(--muted); font-size: 9px; line-height: 1.5; }
.integration-steps a { margin-top: auto; color: var(--lime); }
.integration-steps button { margin-top: auto; }
.integration-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.integration-form > label { display: grid; gap: 7px; color: var(--muted); font-size: 10px; }
.integration-form input { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: #0c0f0d; color: var(--text); }
.integration-form .telegram-options input { width: 15px; min-height: 15px; padding: 0; }
.integration-form .telegram-options, .integration-notice, .integration-actions { grid-column: 1 / -1; }
.integration-notice { padding: 12px; border-radius: 8px; background: #171d17; color: var(--muted); font-size: 9px; line-height: 1.5; }
.registry-import { grid-column: 1 / -1; padding: 14px; display: grid; gap: 10px; border: 1px dashed #465046; border-radius: 10px; }
.registry-import > div { display: grid; gap: 4px; }
.registry-import span { color: var(--muted); font-size: 10px; line-height: 1.45; }
.registry-import textarea { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #090c0a; color: var(--text); font: 10px/1.4 monospace; resize: vertical; }
.registry-import .secondary-button { justify-self: start; }
.integration-actions { display: flex; gap: 12px; align-items: center; }
.integration-actions span { color: var(--muted); font-size: 9px; }
.club-live { margin-bottom: 12px; overflow: visible; background: linear-gradient(145deg, #121612, #0e110f); }
.club-live-heading { min-height: 76px; padding: 18px 20px; display: flex; justify-content: space-between; gap: 16px; align-items: center; border-bottom: 1px solid var(--line); }
.club-live-heading h2 { font-size: 18px; }
.club-live-heading > span { color: #69736a; font-size: 9px; }
.club-live-grid { padding: 12px; display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 8px; }
.club-live-card { min-width: 0; min-height: 158px; padding: 17px; display: flex; flex-direction: column; border: 1px solid #293029; border-radius: 13px; background: #101310; }
.club-live-card > span, .live-revenue summary > span { color: var(--muted); font-size: 10px; }
.club-live-card > strong, .live-revenue summary > strong { margin: auto 0 7px; overflow: hidden; font-size: clamp(22px, 2vw, 29px); letter-spacing: -.04em; text-overflow: ellipsis; white-space: nowrap; }
.club-live-card > small, .live-revenue summary > small { color: #727c73; font-size: 9px; line-height: 1.45; }
.club-live-card.shift-card strong { font-size: 22px; }
.club-live-card.occupancy-card strong em { color: #6f7970; font-size: .58em; font-style: normal; font-weight: 700; letter-spacing: 0; }
.occupancy-track, .month-track { height: 4px; margin: 2px 0 8px; overflow: hidden; border-radius: 999px; background: #282e28; }
.occupancy-track i, .month-track i { height: 100%; display: block; border-radius: inherit; background: var(--lime); }
.live-revenue { padding: 0; }
.live-revenue summary { min-height: 156px; padding: 17px; display: flex; flex-direction: column; cursor: pointer; list-style: none; }
.live-revenue summary::-webkit-details-marker { display: none; }
.live-revenue summary::after { content: "+"; position: absolute; top: 14px; right: 15px; color: #687269; font-size: 16px; }
.live-revenue[open] summary::after { content: "−"; }
.live-revenue summary { position: relative; }
.live-revenue[open] { grid-row: span 2; border-color: #41512d; }
.revenue-breakdown { padding: 0 17px 15px; display: grid; gap: 8px; border-top: 1px solid var(--line); }
.revenue-breakdown div { padding-top: 10px; display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 10px; }
.revenue-breakdown b { color: var(--text); font-variant-numeric: tabular-nums; }
.revenue-breakdown .refund b { color: #ff9a8c; }
.month-pace { border-color: #3b4c28; background: linear-gradient(150deg, #182013, #111510); }
.month-pace > strong { color: var(--lime); }
.month-pace > em { margin-top: 6px; color: #758168; font-size: 8px; font-style: normal; }
.club-live-warning { margin: 0 12px 12px; padding: 9px 11px; border-radius: 8px; background: #2c2414; color: #e9c477; font-size: 9px; }
.club-live-unavailable { grid-column: 1 / -1; padding: 25px; display: grid; gap: 7px; text-align: center; }
.club-live-unavailable span { color: var(--muted); font-size: 10px; }
.club-live-skeleton i { height: 158px; border-radius: 13px; background: linear-gradient(90deg, #101310 25%, #181d18 50%, #101310 75%); background-size: 200% 100%; animation: shimmer 1.4s infinite; }
.money-control { margin-bottom: 12px; background: linear-gradient(145deg, #121712, #0e110f); }
.money-control.status-gap { border-color: rgba(255, 107, 87, .55); }
.money-control.status-attention, .money-control.status-incomplete { border-color: rgba(244, 184, 74, .4); }
.money-control-heading { min-height: 82px; padding: 18px 20px; display: flex; justify-content: space-between; gap: 18px; align-items: center; border-bottom: 1px solid var(--line); }
.money-control-heading h2 { font-size: 20px; }
.money-control-heading p:last-child { margin: 6px 0 0; color: var(--muted); font-size: 10px; }
.money-status { flex: none; padding: 7px 10px; border-radius: 999px; background: #1d2716; color: var(--lime); font-size: 9px; font-weight: 800; }
.money-status.attention, .money-status.incomplete { background: #2c2414; color: #e9c477; }
.money-status.gap { background: #351c19; color: #ff9a8c; }
.money-control-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; }
.money-control-layout > div, .money-control-side { min-width: 0; padding: 12px; }
.money-control-side { border-left: 1px solid var(--line); }
.money-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.money-control-card { min-width: 0; min-height: 132px; padding: 16px; display: flex; flex-direction: column; border: 1px solid #293029; border-radius: 12px; background: #101310; }
.money-control-card > span { color: var(--muted); font-size: 9px; }
.money-control-card > strong { margin: auto 0 6px; overflow-wrap: anywhere; font-size: clamp(21px, 2vw, 28px); letter-spacing: -.04em; }
.money-control-card > small { color: #727c73; font-size: 8px; line-height: 1.45; }
.money-control-card.lime > strong { color: var(--lime); }
.money-control-card.danger > strong { color: #ff8e7f; }
.money-control-card.muted > strong { color: #a3aaa3; }
.money-control-warnings { margin-top: 8px; padding: 11px 12px; display: grid; gap: 5px; border-radius: 9px; background: #2a2114; color: #e9c477; font-size: 9px; line-height: 1.45; }
.money-expenses-heading { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.money-expenses-heading > div { display: grid; gap: 4px; }
.money-expenses-heading span { font-size: 11px; font-weight: 800; }
.money-expenses-heading small { color: var(--muted); font-size: 8px; }
.money-expenses-heading a { color: var(--lime); font-size: 9px; text-decoration: none; white-space: nowrap; }
.money-top-expenses { margin-top: 13px; display: grid; gap: 13px; }
.money-top-expenses article { min-width: 0; display: grid; gap: 6px; }
.money-top-expenses article > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 9px; }
.money-top-expenses article strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.money-top-expenses article b { flex: none; }
.money-top-expenses article small { color: var(--muted); font-size: 8px; }
.money-expense-track { height: 5px; overflow: hidden; border-radius: 999px; background: #262c26; }
.money-expense-track i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #7ecb17, var(--lime)); }
.bank-balance-editor { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.bank-balance-editor summary { color: var(--lime); font-size: 10px; font-weight: 800; cursor: pointer; }
.bank-balance-editor form { margin-top: 12px; display: grid; gap: 10px; }
.bank-balance-editor label { min-width: 0; display: grid; gap: 5px; color: var(--muted); font-size: 9px; }
.bank-balance-editor input { min-width: 0; width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #090c0a; color: var(--text); }
.bank-balance-editor p { margin: 10px 0 0; color: #707970; font-size: 8px; line-height: 1.5; }
.today-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 12px; align-items: start; }
.today-actions { padding: 6px 20px 20px; display: grid; }
.today-action { padding: 18px 2px; display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; gap: 14px; align-items: start; border-bottom: 1px solid var(--line); }
.today-action:last-child { border-bottom: 0; }
.today-action .action-dot { margin-top: 5px; }
.today-action.critical .action-dot { background: var(--red); box-shadow: 0 0 0 5px rgba(255, 107, 87, .09); }
.today-action.warning .action-dot { background: var(--amber); }
.today-action.info .action-dot { background: #7da9f7; }
.today-action-copy { display: grid; gap: 6px; }
.today-action-copy strong { font-size: 13px; }
.today-action-copy p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.today-action-copy small { color: #788278; font-size: 9px; }
.today-action-buttons { display: flex; gap: 6px; align-items: center; }
.today-action-buttons .ghost-button { min-height: 34px; display: inline-flex; align-items: center; text-decoration: none; }
.action-done { min-height: 34px; padding: 0 11px; border: 0; border-radius: 8px; background: #1f2a14; color: var(--lime); cursor: pointer; }
.today-side { display: grid; gap: 12px; }
.shortcut-grid { padding: 10px 18px 18px; display: grid; gap: 7px; }
.shortcut-grid a { padding: 13px 14px; border: 1px solid var(--line); border-radius: 9px; background: #111511; color: var(--text); font-size: 11px; text-decoration: none; }
.shortcut-grid a:hover { border-color: #536839; background: #171d14; }
.today-rule { padding: 20px; display: grid; gap: 10px; }
.today-rule strong { line-height: 1.4; }
.today-rule span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.today-content + .panel-footer a, #today-content > .panel-footer a { color: var(--lime); text-decoration: none; }
.finance-tabs { margin-bottom: 12px; display: flex; flex-wrap: wrap; gap: 7px; }
.finance-tabs a { padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); text-decoration: none; font-size: 10px; }
.finance-tabs a:hover { color: var(--text); border-color: #4b5e38; }
.finance-list { padding: 5px 20px 20px; display: grid; }
.finance-row { padding: 16px 2px; display: flex; justify-content: space-between; gap: 18px; align-items: center; border-bottom: 1px solid var(--line); }
.finance-row:last-child { border-bottom: 0; }
.finance-row.overdue { background: linear-gradient(90deg, rgba(120, 35, 25, .13), transparent); }
.finance-row > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.finance-row > div:first-child { min-width: 0; }
.finance-row strong { font-size: 12px; }
.finance-row small { flex-basis: 100%; color: var(--muted); font-size: 9px; }
.finance-row b { white-space: nowrap; }
.finance-row .ghost-button { text-decoration: none; }
.finance-columns { margin-top: 12px; align-items: start; }
.expense-category-chart { padding: 16px 20px 20px; display: grid; gap: 13px; }
.expense-category-row { display: grid; gap: 7px; }
.expense-category-row > div:first-child { display: flex; justify-content: space-between; gap: 12px; }
.expense-category-row strong { font-size: 11px; }
.expense-category-row span { color: var(--muted); font-size: 9px; text-align: right; }
.expense-category-bars { position: relative; display: grid; gap: 4px; overflow: visible; }

.money-tabs { position: sticky; z-index: 70; top: 68px; margin-bottom: 18px; padding: 5px; display: flex; gap: 5px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: rgba(14, 17, 15, .96); backdrop-filter: blur(12px); scrollbar-width: none; }
.money-tabs::-webkit-scrollbar { display: none; }
.money-tabs a { flex: 1 0 auto; padding: 11px 14px; border-radius: 8px; color: var(--muted); text-align: center; text-decoration: none; font-size: 10px; font-weight: 750; white-space: nowrap; }
.money-tabs a.active { color: #10130f; background: var(--lime); }
.money-tab-panel { display: grid; gap: 18px; }
.money-funds-summary > .panel { padding-bottom: 18px; }
.fund-account-grid { padding: 0 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.fund-account-grid article { min-width: 0; padding: 16px; display: grid; gap: 7px; border: 1px solid var(--line); border-radius: 11px; background: #0b0e0c; }
.fund-account-grid span { color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.fund-account-grid strong { font-size: clamp(18px, 2vw, 27px); }
.fund-account-grid small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.shift-money-summary { padding: 0 20px 20px; display: grid; gap: 16px; }
.shift-total { display: grid; gap: 5px; }
.shift-total > span { color: var(--muted); font-size: 10px; }
.shift-total > strong { font-size: 28px; }
.shift-total > small { color: var(--muted); font-size: 9px; }
.payment-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.payment-split span { padding: 10px; display: flex; justify-content: space-between; gap: 8px; border-radius: 8px; background: #0b0e0c; color: var(--muted); font-size: 9px; }
.payment-split b { color: var(--text); }
.money-action-grid { padding: 0 20px 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.money-action { padding: 15px; display: grid; gap: 5px; border: 1px solid var(--line); border-radius: 10px; background: #0b0e0c; color: var(--text); text-align: left; cursor: pointer; }
.money-action:hover { border-color: #668d32; transform: translateY(-1px); }
.money-action strong { font-size: 11px; }
.money-action span { color: var(--muted); font-size: 9px; line-height: 1.4; }
.cash-gap-summary { padding: 6px 20px 22px; display: grid; gap: 10px; }
.cash-gap-summary > strong { font-size: 26px; }
.cash-gap-summary p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.expense-chart-legend { padding: 0 20px 2px; display: flex; gap: 14px; color: var(--muted); font-size: 9px; }
.expense-chart-legend span::before { content: ""; width: 7px; height: 7px; margin-right: 5px; display: inline-block; border-radius: 50%; background: var(--lime); }
.expense-chart-legend .accrued::before { background: #668d32; }
.expense-chart-legend .budget::before { background: #59625a; }
.money-dialog { width: min(620px, calc(100vw - 24px)); max-height: calc(100vh - 32px); padding: 0; border: 1px solid #394438; border-radius: 16px; background: #111612; color: var(--text); box-shadow: 0 25px 80px rgba(0, 0, 0, .6); }
.money-dialog::backdrop { background: rgba(0, 0, 0, .72); backdrop-filter: blur(5px); }
.money-dialog form { padding: 22px; display: grid; gap: 18px; }
.dialog-heading { display: flex; justify-content: space-between; gap: 16px; }
.dialog-heading h2 { margin: 3px 0 7px; font-size: 22px; }
.dialog-heading p:last-child { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.dialog-close { width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 8px; background: transparent; color: var(--muted); font-size: 20px; cursor: pointer; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; }
.operation-result { padding: 12px; border: 1px solid #59752f; border-radius: 8px; background: #162011; color: #c7f585; font-size: 10px; line-height: 1.5; }

@media (max-width: 760px) {
  .money-tabs { top: 66px; }
  .fund-account-grid, .money-action-grid { grid-template-columns: 1fr; }
  .payment-split { grid-template-columns: 1fr; }
  .money-dialog form { padding: 17px; }
}
.expense-bar { width: 100%; height: 7px; overflow: hidden; appearance: none; border: 0; border-radius: 99px; background: #222822; }
.expense-bar.paid, .expense-bar.budget { height: 4px; }
.expense-bar::-webkit-progress-bar { border-radius: 99px; background: #222822; }
.expense-bar::-webkit-progress-value { border-radius: 99px; background: linear-gradient(90deg, #79c51a, var(--lime)); }
.expense-bar::-moz-progress-bar { border-radius: 99px; background: linear-gradient(90deg, #79c51a, var(--lime)); }
.expense-bar.paid::-webkit-progress-bar { background: #1b2429; }
.expense-bar.paid::-webkit-progress-value { background: linear-gradient(90deg, #3f89d9, #6bb7ff); }
.expense-bar.paid::-moz-progress-bar { background: linear-gradient(90deg, #3f89d9, #6bb7ff); }
.expense-bar.budget::-webkit-progress-bar { background: #282318; }
.expense-bar.budget::-webkit-progress-value { background: #ffca62; }
.expense-bar.budget::-moz-progress-bar { background: #ffca62; }
.budget-form { padding: 16px 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.budget-form label { display: grid; gap: 5px; color: var(--muted); font-size: 9px; }
.budget-form input { width: 100%; min-height: 36px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 7px; background: #0b0e0c; color: var(--text); }
.budget-form button { grid-column: 1 / -1; justify-self: start; }
.budget-recommendations { padding: 0 20px 20px; display: grid; gap: 8px; }
.budget-recommendations article { padding: 11px; display: grid; gap: 5px; border: 1px solid #554724; border-radius: 8px; background: #1b170d; }
.budget-recommendations article strong { color: #f4c963; font-size: 10px; }
.budget-recommendations article span { color: var(--muted); font-size: 9px; line-height: 1.45; }
.month-picker { min-width: 190px; display: grid; gap: 6px; color: var(--muted); font-size: 10px; }
.month-picker input { min-height: 38px; color-scheme: dark; }
.month-import-list { display: grid; gap: 7px; margin: 10px 0; }
.month-import-list label { display: flex; align-items: center; gap: 8px; }
.compact-form { padding: 18px 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.compact-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; }
.compact-form input, .compact-form select, .compact-form textarea { width: 100%; min-height: 40px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: #0c0f0d; color: var(--text); }
.compact-form .primary-button { justify-self: start; }
.finance-settings-form { max-width: 560px; }
.csv-import { margin: 0 20px 20px; padding: 15px; display: grid; gap: 8px; border: 1px dashed #394139; border-radius: 10px; color: var(--muted); font-size: 10px; }
.csv-import strong { color: var(--text); }
.csv-import ul { margin: 0; padding-left: 18px; line-height: 1.6; }
.order-builder { margin: 0 20px 20px; padding: 18px; border: 1px solid #394139; border-radius: 11px; background: #0c0f0d; }
.order-builder .form-grid { margin-bottom: 16px; }
.order-builder table { min-width: 900px; }
.order-builder input { width: 110px; min-height: 34px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 7px; background: #080a09; color: var(--text); }
.order-builder .order-include { width: 16px; min-height: 16px; accent-color: var(--lime); }
.inventory-reason { min-width: 210px; height: 36px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: #0c0f0d; color: var(--text); }
.control-cases-panel { margin-top: 12px; }
.payroll-manager { margin: 12px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.payroll-tool { overflow: hidden; }
.payroll-tool > summary { padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; }
.payroll-tool > summary::-webkit-details-marker { display: none; }
.payroll-tool > summary > span { min-width: 0; display: grid; gap: 5px; }
.payroll-tool > summary small { color: var(--muted); font-size: 8px; letter-spacing: .12em; }
.payroll-tool > summary strong { font-size: 14px; }
.payroll-tool > summary em { color: var(--muted); font-size: 9px; font-style: normal; line-height: 1.4; }
.payroll-tool > summary b { color: var(--lime); font-size: 10px; }
.payroll-tool[open] > summary { border-bottom: 1px solid var(--line); }
.payroll-tool[open] > summary b { font-size: 0; }
.payroll-tool[open] > summary b::after { content: "Свернуть"; font-size: 10px; }
.payroll-tool-body { background: rgba(8, 10, 9, .24); }
.payroll-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payroll-form .form-submit { display: grid; align-content: end; gap: 7px; }
.payroll-form .form-submit small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.payroll-statements-panel { margin-top: 12px; }
.payroll-statement { padding: 20px 22px; border-bottom: 1px solid var(--line); }
.payroll-statement:last-child { border-bottom: 0; }
.payroll-statement > header { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.payroll-statement > header > div { display: grid; gap: 7px; }
.payroll-statement h3 { margin: 0; font-size: 17px; }
.payroll-statement header small { color: var(--muted); }
.payroll-statement > header > strong { color: var(--lime); font-size: 25px; white-space: nowrap; }
.payroll-compact-summary { margin-top: 16px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.payroll-compact-summary > div { padding: 11px 12px; display: grid; gap: 5px; border: 1px solid var(--line); border-radius: 9px; background: #0c0f0d; }
.payroll-compact-summary span { color: var(--muted); font-size: 9px; }
.payroll-compact-summary b { font-size: 13px; }
.payroll-compact-summary .remaining b { color: #ffbd75; }
.payroll-compact-summary .paid b { color: var(--lime); }
.payroll-statement-details { margin-top: 14px; }
.payroll-statement-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.payroll-statement-details > summary span { color: var(--text); font-weight: 750; }
.payroll-statement-details > summary small { color: var(--muted); font-size: 9px; }
.payroll-statement-detail-body { padding-bottom: 4px; }
.payroll-rule-summary { margin-top: 4px; display: flex; flex-wrap: wrap; gap: 7px; }
.payroll-rule-summary span { padding: 6px 8px; border-radius: 999px; background: #1b201b; color: var(--muted); font-size: 9px; }
.payroll-breakdown { margin: 18px 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.payroll-breakdown div { padding: 12px; display: grid; gap: 7px; border: 1px solid var(--line); border-radius: 9px; background: #0c0f0d; }
.payroll-breakdown span { color: var(--muted); font-size: 9px; }
.payroll-breakdown small { color: var(--muted); font-size: 8px; line-height: 1.35; }
.payroll-period-note { margin: 16px 0 0; padding: 11px 13px; display: grid; gap: 4px; border: 1px solid #554724; border-radius: 9px; background: #1b170d; }
.payroll-period-note strong { color: #f4c963; font-size: 10px; }
.payroll-period-note span { color: var(--muted); font-size: 9px; }
.payroll-period-note.complete { border-color: #34472a; background: #11170d; }
.payroll-period-note.complete strong { color: var(--lime); }
.payroll-advance { margin: 0 0 18px; padding: 14px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; border: 1px solid #3d4e25; border-radius: 11px; background: #11170d; }
.payroll-advance > div { min-width: 0; display: grid; align-content: start; gap: 6px; }
.payroll-advance span, .payroll-advance small { color: var(--muted); font-size: 10px; }
.payroll-advance strong { font-size: 17px; }
.payroll-advance button { justify-self: start; margin-top: 4px; }
.payroll-advance .advance-paid { color: var(--lime); font-weight: 750; }
.payroll-statement details { border-top: 1px solid var(--line); }
.payroll-statement summary { padding: 13px 0; color: var(--muted); font-size: 11px; cursor: pointer; }
.payroll-statement table { min-width: 680px; }
.payroll-awards { margin: 0; padding: 0; list-style: none; }
.payroll-awards li { padding: 12px 0; display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); }
.payroll-awards li > div { display: grid; gap: 5px; }
.payroll-awards small { color: var(--muted); font-size: 9px; }

/* SmartShell-aligned application frame */
.has-app-bar .shell { padding-top: 58px; }
.has-app-bar .sidebar { top: 58px; height: calc(100vh - 58px); padding-top: 18px; }
.has-app-bar .sidebar > .brand { display: none; }
.app-bar { position: fixed; z-index: 120; top: 0; right: 0; left: 0; height: 58px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #2b3744; background: rgba(15, 22, 31, .96); backdrop-filter: blur(18px); }
.app-bar-brand { display: flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none; letter-spacing: -.025em; }
.app-bar-brand .brand-mark { width: 32px; height: 32px; }
.app-bar-tools { display: flex; align-items: center; gap: 9px; }
.club-switcher { height: 40px; min-width: 250px; padding: 0 11px; display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: center; border: 1px solid #304052; border-radius: 9px; background: #141d27; }
.club-switcher span { color: #718094; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.club-switcher select { width: 100%; height: 38px; padding: 0 24px 0 0; border: 0; background: transparent; color: #dce7f5; font-weight: 700; }
.app-bar-user { max-width: 180px; overflow: hidden; color: #9eabb9; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }

/* Login */
.login-page { background: radial-gradient(circle at 24% 20%, rgba(48, 119, 223, .22), transparent 30rem), #090f16; }
.login-layout { max-width: 1240px; min-height: 100vh; margin: 0 auto; padding: 60px; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); }
.login-promise h1 { max-width: 700px; font-size: clamp(48px, 6vw, 76px); }
.login-card { border-color: #2d3946; border-radius: 18px; background: rgba(19, 27, 36, .94); box-shadow: 0 30px 90px rgba(0, 0, 0, .32); }

/* Expense cockpit */
.soft-badge { padding: 6px 9px; border: 1px solid #33465b; border-radius: 999px; color: #9ab0c8; background: #172433; font-size: 9px; font-weight: 750; }
.money-overview-panel, .storage-panel { min-height: 430px; }
.income-expense-compare { padding: 22px; display: grid; gap: 19px; }
.money-compare-row > div { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 8px; font-size: 11px; }
.money-compare-row span { color: var(--muted); }
.money-compare-row progress { width: 100%; height: 9px; overflow: hidden; border: 0; border-radius: 999px; appearance: none; background: #222d39; }
.money-compare-row progress::-webkit-progress-bar { background: #222d39; }
.money-compare-row progress::-webkit-progress-value { border-radius: 999px; background: #428cff; }
.money-compare-row progress.accrued::-webkit-progress-value { background: #f0ad43; }
.money-compare-row progress.paid::-webkit-progress-value { background: #a875ff; }
.money-compare-row progress::-moz-progress-bar { border-radius: 999px; background: #428cff; }
.money-compare-row progress.accrued::-moz-progress-bar { background: #f0ad43; }
.money-compare-row progress.paid::-moz-progress-bar { background: #a875ff; }
.storage-choice-form { padding: 18px 22px 22px; display: grid; gap: 10px; }
.storage-choice { padding: 14px; display: flex; gap: 11px; align-items: flex-start; border: 1px solid #2a3745; border-radius: 11px; background: #111922; cursor: pointer; }
.storage-choice:has(input:checked) { border-color: #6d9e2d; background: #1a2915; box-shadow: inset 3px 0 0 var(--lime); }
.storage-choice input { margin-top: 3px; accent-color: var(--lime); }
.storage-choice span, .storage-choice strong, .storage-choice small { display: block; }
.storage-choice strong { font-size: 12px; }
.storage-choice small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.storage-google-fields { display: grid; grid-template-columns: 1.5fr .7fr; gap: 10px; padding: 12px; border-radius: 10px; background: #101720; }
.storage-google-fields label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; }
.storage-google-fields input { width: 100%; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #0b1219; color: var(--text); }
.storage-explanation { margin: 2px 0 4px; color: #8fa0b3; font-size: 10px; line-height: 1.55; }
.finance-row-action { display: grid; justify-items: end; gap: 8px; }
.finance-overview-kpis .kpi-card { min-height: 132px; }

@keyframes shimmer { to { background-position: -200% 0; } }

@media (max-width: 1100px) {
  .shell { grid-template-columns: 76px 1fr; }
  .sidebar { padding-inline: 12px; }
  .brand { padding-inline: 11px; }
  .brand > span:last-child, .nav-label { display: none; }
  .nav-item { justify-content: center; padding-inline: 0; }
  .nav-subitems { display: none; }
  .nav-icon { width: auto; font-size: 16px; }
  .sidebar-note { display: none; }
  .session-card { display: none; }
  .mobile-account-panel { max-width: 900px; margin-bottom: 12px; padding: 16px 18px; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
  .mobile-account-panel > div { min-width: 0; display: grid; gap: 4px; }
  .mobile-account-panel span, .mobile-account-panel small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-account-panel strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
  main { padding-inline: 26px; }
  .context-nav { position: sticky; z-index: 90; top: 70px; display: flex; box-shadow: 0 10px 24px rgba(0, 0, 0, .2); }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .payroll-manager { grid-template-columns: 1fr; }
  .money-control-layout { grid-template-columns: 1fr; }
  .money-control-side { border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 760px) {
  .shell { display: block; padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .has-app-bar .sidebar { top: auto; height: auto; padding-top: 7px; }
  .app-bar { padding-inline: 10px; }
  .app-bar-brand strong, .app-bar-user, .club-switcher > span { display: none; }
  .club-switcher { min-width: 0; width: min(58vw, 260px); grid-template-columns: 1fr; padding-inline: 9px; }
  .club-switcher select { padding-right: 18px; }
  .sidebar { position: fixed; z-index: 100; right: 0; bottom: 0; left: 0; top: auto; width: 100%; height: auto; padding: 7px 6px calc(7px + env(safe-area-inset-bottom)); display: block; border-top: 1px solid var(--line); border-right: 0; background: rgba(12, 15, 13, .97); backdrop-filter: blur(16px); }
  .sidebar .brand, .sidebar-note, .session-card { display: none; }
  .sidebar > nav { width: 100%; display: grid; grid-template-columns: repeat(var(--mobile-nav-count, 6), minmax(0, 1fr)); gap: 2px; }
  .nav-section { min-width: 0; }
  .nav-item { min-width: 0; min-height: 54px; padding: 6px 2px; flex-direction: column; justify-content: center; gap: 4px; border-radius: 9px; text-align: center; }
  .nav-icon { width: auto; font-size: 16px; line-height: 1; }
  .nav-label { width: 100%; display: block; overflow: hidden; font-size: 8px; font-weight: 700; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
  .desktop-label { display: none; }
  .mobile-label { display: block; }
  .context-nav { top: 66px; margin: 0 0 20px; }
  main { padding: 24px 16px 42px; }
  .topbar { display: block; }
  .header-actions { margin-top: 22px; justify-content: space-between; }
  .period-switch button { padding-inline: 9px; }
  .custom-period { position: fixed; top: auto; right: 12px; bottom: 12px; left: 12px; min-width: 0; }
  .kpi-grid, .two-columns, .today-layout { grid-template-columns: 1fr; }
  .supplier-kpis { grid-template-columns: 1fr; }
  .payment-kpis { grid-template-columns: 1fr; }
  .inventory-kpis, .inventory-live-summary, .inventory-result-grid { grid-template-columns: 1fr; }
  .kpi-card { min-height: 126px; }
  .table-heading { display: block; }
  .table-tools { margin-top: 18px; justify-content: flex-start; }
  .search { flex: 1 1 100%; }
  .setup-card { grid-template-columns: 1fr; padding: 24px; }
  .panel-footer { display: grid; }
  .invoices-topbar .primary-button { margin-top: 18px; }
  .form-grid { grid-template-columns: 1fr; }
  .support-main { width: min(100% - 24px, 1180px); padding-top: 12px; }
  .support-hero { grid-template-columns: 1fr; gap: 22px; min-height: 0; padding: 24px; }
  .support-hero-state { width: fit-content; }
  .support-hero h1 { font-size: 42px; }
  .support-login, .support-login form { grid-template-columns: 1fr; }
  .support-overview { align-items: flex-start; flex-direction: column; padding: 22px; }
  .support-panel { padding: 22px; }
  .freeze-scenario { grid-template-columns: 1fr; }
  .support-panel-head { margin-bottom: 18px; }
  .checkbox-grid, .freeze-meta, .freeze-command-form { grid-template-columns: 1fr; }
  .freeze-command-form .wide { grid-column: auto; }
  .wide-field { grid-column: auto; }
  .invoice-lines-heading { align-items: flex-start; flex-direction: column; }
  .invoice-lines-heading .ghost-button { min-height: 40px; }
  .invoice-bottom-grid { grid-template-columns: 1fr; }
  .invoice-warning { grid-template-columns: 1fr; }
  .invoice-card-main { grid-template-columns: 1fr; }
  .invoice-card-total { text-align: left; }
  .invoice-card footer { align-items: flex-start; flex-direction: column; }
  .quick-supplier-grid { grid-template-columns: 1fr; }
  .payroll-form, .payroll-breakdown, .payroll-advance, .payroll-compact-summary { grid-template-columns: 1fr; }
  .payroll-statement > header { flex-direction: column; }
  .supplier-meta { grid-template-columns: 1fr; }
  .supplier-card-main { align-items: flex-start; flex-direction: column; }
  .inventory-meta-grid { grid-template-columns: 1fr; }
  .inventory-count-heading { display: block; }
  .inventory-count-heading .table-tools { margin-top: 16px; }
  .inventory-safety-note { grid-template-columns: 1fr; }
  .inventory-card-main { grid-template-columns: 1fr; }
  .inventory-net { text-align: left; }
  .inventory-card footer { align-items: flex-start; flex-direction: column; }
  .admin-risk-metrics { grid-template-columns: 1fr; }
  .control-products { grid-template-columns: 1fr; }
  .control-products article { grid-template-columns: minmax(0, 1fr) auto; }
  .control-products article > :nth-child(2) { text-align: right; }
  .control-products article > :nth-child(3) { grid-column: 1 / -1; justify-self: start; }
  .login-layout { padding: 28px 18px; grid-template-columns: 1fr; gap: 32px; }
  .login-promise { display: none; }
  .login-card { padding: 24px; }
  .handover-layout { grid-template-columns: 1fr; }
  .access-feature-grid { grid-template-columns: 1fr; }
  .settings-actions { align-items: stretch; flex-direction: column; }
  .telegram-summary { align-items: stretch; flex-direction: column; }
  .telegram-summary button { width: 100%; }
  .telegram-setup { grid-template-columns: 1fr; }
  .telegram-token-field, .telegram-options, .telegram-privacy, .telegram-actions { grid-column: auto; }
  .telegram-options { grid-template-columns: 1fr; }
  .integration-catalog, .integration-form, .integration-steps { grid-template-columns: 1fr; }
  .integration-card { grid-template-columns: 48px 1fr; }
  .integration-card .invoice-status { grid-column: 2; justify-self: start; }
  .integration-steps li { min-height: auto; }
  .telegram-actions > * { width: 100%; justify-content: center; }
  .club-live-heading { align-items: flex-start; flex-direction: column; }
  .club-live-grid { grid-template-columns: 1fr; }
  .money-control-heading { align-items: flex-start; flex-direction: column; }
  .money-control-grid { grid-template-columns: 1fr; }
  .today-action { grid-template-columns: 10px minmax(0, 1fr); }
  .today-action-buttons { grid-column: 2; flex-wrap: wrap; }
  .compact-form { grid-template-columns: 1fr; }
  .storage-google-fields { grid-template-columns: 1fr; }
  .money-overview-panel, .storage-panel { min-height: 0; }
  .finance-row-action { justify-items: start; }
  .finance-row { align-items: flex-start; flex-direction: column; }
  .finance-ledger-grid > div { min-width: 0; align-items: flex-start; flex-direction: column; gap: 7px; }
  .finance-ledger-grid strong { max-width: 100%; text-align: left; overflow-wrap: anywhere; }
}

@media (max-width: 360px) {
  main { padding-inline: 12px; }
  .header-actions { align-items: stretch; flex-direction: column; }
  .period-switch { width: 100%; }
  .period-switch button { flex: 1 1 0; min-width: 0; padding-inline: 4px; font-size: 10px; }
  .refresh-button { min-height: 40px; }
  .panel-heading { padding-inline: 16px; }
  .money-control-layout > div, .money-control-side { padding-inline: 10px; }
  .money-expenses-heading { align-items: stretch; flex-direction: column; }
  .today-actions, .actions-list, .finance-list, .invoice-list, .supplier-list { padding-inline: 14px; }
  .mobile-account-panel { align-items: stretch; flex-direction: column; }
}

/* Load analytics · ANT-199 */
.analytics-tabs { margin: -8px 0 24px; padding: 5px; display: flex; gap: 5px; width: fit-content; border: 1px solid #2b3847; border-radius: 11px; background: #111922; }
.analytics-tabs button { min-height: 38px; padding: 0 16px; border: 0; border-radius: 8px; background: transparent; color: #8391a1; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; }
.analytics-tabs button.active { background: #263545; color: #eef5fc; box-shadow: 0 4px 14px rgba(0, 0, 0, .24); }
.load-data-note { margin-bottom: 18px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-color: #324965; background: linear-gradient(135deg, #101b28, #0d141c); }
.load-data-note > div { display: grid; gap: 6px; }
.load-data-note strong { font-size: 14px; }
.load-data-note span:not(.soft-badge) { color: var(--muted); font-size: 10px; line-height: 1.5; }
.load-overview-grid { grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); }
.load-heatmap-panel { overflow: hidden; }
.load-heatmap { padding: 4px 20px 18px; display: grid; grid-template-columns: 28px repeat(24, minmax(10px, 1fr)); gap: 3px; overflow-x: auto; }
.heatmap-corner, .heatmap-hour { min-width: 10px; color: #667586; font-size: 7px; text-align: center; }
.heatmap-day { display: grid; align-items: center; color: #8795a5; font-size: 8px; }
.heatmap-cell { min-width: 10px; aspect-ratio: 1; border-radius: 3px; background: rgba(67, 143, 255, var(--heat)); box-shadow: inset 0 0 0 1px rgba(119, 179, 255, .08); }
.heatmap-cell.empty { background: #18212b; box-shadow: inset 0 0 0 1px #202c38; }
.load-zones { padding: 0 20px 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px; }
.load-zone-card { padding: 15px; display: grid; gap: 12px; border: 1px solid #2a3745; border-radius: 11px; background: #0e151d; }
.load-zone-title { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.load-zone-title > span { width: 9px; height: 34px; border-radius: 999px; background: var(--zone-color); }
.load-zone-title > div { display: grid; gap: 4px; }
.load-zone-title strong { font-size: 12px; }
.load-zone-title small, .load-zone-period { color: var(--muted); font-size: 9px; }
.load-zone-title b { font-size: 19px; }
.load-zone-bar { height: 7px; overflow: hidden; border-radius: 999px; background: #202b36; }
.load-zone-bar span { display: block; height: 100%; border-radius: inherit; background: var(--zone-color); }
.load-zone-period { display: flex; justify-content: space-between; gap: 12px; }
.load-zone-period strong { color: var(--text); }
.load-weak-hosts, .load-experiments { padding: 0 20px 18px; display: grid; gap: 8px; }
.weak-host-row, .load-experiment-row { padding: 12px; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; border: 1px solid var(--line); border-radius: 9px; background: #0d131a; }
.weak-host-row > div, .load-experiment-row > div { display: grid; gap: 4px; }
.weak-host-row > div:last-child { justify-items: end; }
.load-experiment-status { display: flex !important; align-items: flex-end; justify-items: end; }
.load-experiment-status .ghost-button { min-height: 30px; padding: 0 9px; font-size: 8px; }
.weak-host-row strong, .load-experiment-row strong { font-size: 11px; }
.weak-host-row span, .weak-host-row small, .load-experiment-row span, .load-experiment-row small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.weak-host-row b { font-size: 16px; }
.load-experiment-create { margin: 0 20px 20px; border-top: 1px solid var(--line); }
.load-experiment-create > summary { padding: 14px 0; color: #78aff5; font-size: 10px; font-weight: 800; cursor: pointer; }
.load-experiment-create .compact-form { padding: 4px 0 0; }
.load-experiment-create textarea { min-height: 72px; resize: vertical; }
.load-experiment-create .form-error { grid-column: 1 / -1; }
.load-zone-settings { margin-top: 18px; overflow: hidden; }
.load-zone-settings > summary { padding: 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; }
.load-zone-settings > summary::-webkit-details-marker { display: none; }
.load-zone-settings > summary span { color: #7db6ff; font-size: 10px; font-weight: 800; }
.load-zone-settings-body { border-top: 1px solid var(--line); }
.load-zone-settings-body > .compact-form { border-bottom: 1px solid var(--line); grid-template-columns: minmax(240px, 1fr) 120px auto; }
.load-host-assignments { padding: 18px 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 8px; }
.load-host-assignment { padding: 11px; display: grid; grid-template-columns: minmax(0, 1fr) 130px; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 9px; background: #0d131a; }
.load-host-assignment > span { display: grid; gap: 4px; }
.load-host-assignment strong { font-size: 10px; }
.load-host-assignment small { color: var(--muted); font-size: 8px; }
.load-host-assignment select { min-width: 0; height: 36px; padding: 0 8px; border: 1px solid #344252; border-radius: 7px; background: #111a23; color: var(--text); font-size: 9px; }

@media (max-width: 1020px) {
  .load-overview-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .analytics-tabs { width: 100%; margin-top: -4px; }
  .analytics-tabs button { flex: 1; padding-inline: 8px; }
  .load-data-note { align-items: flex-start; flex-direction: column; }
  .load-zones { grid-template-columns: 1fr; padding-inline: 14px; }
  .load-heatmap { padding-inline: 14px; grid-template-columns: 24px repeat(24, 16px); }
  .load-zone-period, .weak-host-row, .load-experiment-row { align-items: flex-start; flex-direction: column; }
  .weak-host-row > div:last-child { justify-items: start; }
  .load-zone-settings-body > .compact-form { grid-template-columns: 1fr; }
  .load-host-assignments { grid-template-columns: 1fr; padding-inline: 14px; }
  .load-host-assignment { grid-template-columns: 1fr; }
}

/* Inventory audit trail */
.inventory-group-reason { margin: 0 20px 14px; padding: 12px; display: grid; grid-template-columns: minmax(190px, 1fr) minmax(220px, 1fr) minmax(220px, 1fr) auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 10px; background: #0d141c; }
.inventory-group-reason > span { color: var(--muted); font-size: 9px; font-weight: 750; }
.inventory-group-reason select, .inventory-group-reason input { min-width: 0; }
.inventory-reason-fields { min-width: 240px; display: grid; gap: 6px; }
.inventory-reason-fields.muted { opacity: .55; }
.inventory-reason-fields select, .inventory-reason-fields input { min-width: 0; height: 36px; padding: 0 9px; border: 1px solid #344252; border-radius: 7px; background: #111a23; color: var(--text); font-size: 9px; }
.inventory-review-note { color: #e0a841; font-size: 8px; }
.inventory-audit-cell { min-width: 160px; display: grid; gap: 4px; color: var(--text); font-size: 9px; }
.inventory-audit-cell small, .inventory-audit-cell em { color: var(--muted); font-size: 8px; font-style: normal; }
.inventory-audit-cell a { color: #8ec1ff; font-size: 8px; }
.page-data-context { margin: -10px 0 18px; padding: 9px 12px; display: flex; flex-wrap: wrap; gap: 8px 18px; border: 1px solid var(--line); border-radius: 9px; background: rgba(13, 20, 28, .72); color: var(--muted); font-size: 8px; }
.page-data-context b { color: var(--text); font-weight: 700; }
.loading-state { display: grid; gap: 12px; }
.loading-state > span { color: var(--muted); font-size: 9px; text-align: center; }
.state-actions { margin-top: 8px; display: flex; gap: 8px; }
.invoice-registry-filters { margin: 0 20px 18px; padding: 12px; display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 9px; border: 1px solid var(--line); border-radius: 10px; background: #0d141c; }
.invoice-registry-filters label { min-width: 0; display: grid; gap: 5px; }
.invoice-registry-filters label > span { color: var(--muted); font-size: 8px; }
.invoice-registry-filters input, .invoice-registry-filters select { min-width: 0; height: 36px; padding: 0 9px; border: 1px solid #344252; border-radius: 7px; background: #111a23; color: var(--text); font: inherit; font-size: 9px; }
.payment-proof { color: #8dc964; font-size: 8px; }
.action-dialog { width: min(680px, calc(100vw - 28px)); padding: 0; border: 1px solid #344252; border-radius: 14px; background: #101821; color: var(--text); box-shadow: 0 24px 80px rgba(0, 0, 0, .55); }
.action-dialog::backdrop { background: rgba(3, 7, 10, .76); backdrop-filter: blur(4px); }
.action-dialog .form-grid { padding: 20px; }
.action-dialog .form-actions { padding: 0 20px 20px; }
.integration-card dl { margin: 12px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.integration-card dl > div { display: grid; gap: 3px; }
.integration-card dt { color: var(--muted); font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.integration-card dd { margin: 0; color: var(--text); font-size: 8px; line-height: 1.4; }

@media (max-width: 1000px) {
  .invoice-registry-filters { grid-template-columns: repeat(3, minmax(130px, 1fr)); }
}

@media (max-width: 620px) {
  .invoice-registry-filters { grid-template-columns: 1fr 1fr; margin-inline: 14px; }
}

@media (max-width: 900px) {
  .inventory-group-reason { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .inventory-group-reason { grid-template-columns: 1fr; margin-inline: 14px; }
}

/* Procurement recommendations */
.procurement-toolbar { margin-bottom: 14px; padding: 14px 18px; display: grid; grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(150px, 190px)) auto; gap: 10px; align-items: center; }
.procurement-toolbar select { min-width: 0; height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #101721; color: var(--text); font: inherit; font-size: 9px; }
.procurement-groups { display: grid; gap: 14px; margin-bottom: 14px; }
.procurement-group .panel-heading { border-bottom: 1px solid var(--line); }
.procurement-list { display: grid; }
.procurement-row { padding: 14px 18px; display: grid; grid-template-columns: 22px minmax(260px, 1.6fr) repeat(3, minmax(110px, .7fr)) auto; gap: 14px; align-items: center; border-bottom: 1px solid rgba(50, 61, 72, .65); }
.procurement-row:last-child { border-bottom: 0; }
.procurement-check input { width: 16px; height: 16px; accent-color: var(--lime); }
.procurement-product, .procurement-metric { min-width: 0; display: grid; gap: 5px; }
.procurement-product > div { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.procurement-product strong { overflow: hidden; text-overflow: ellipsis; font-size: 10px; }
.procurement-product small, .procurement-metric small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.procurement-metric > span { color: var(--muted); font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.procurement-metric strong { font-size: 10px; }
.procurement-status { width: max-content; padding: 4px 7px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 7px; font-weight: 800; }
.procurement-status.status-urgent { border-color: #713d3a; background: #2a1515; color: #ff9f97; }
.procurement-status.status-next_order { border-color: #6b5426; background: #251e0d; color: #f4ce75; }
.procurement-status.status-planned { border-color: #466329; background: #16210e; color: #b7ec73; }
.procurement-status.status-setup { border-color: #544a69; background: #1b1723; color: #c1b3e6; }
.procurement-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.procurement-actions .ghost-button { padding: 7px 8px; }
.smart-dialog { width: min(720px, calc(100vw - 28px)); max-height: calc(100vh - 40px); overflow: auto; padding: 24px; border: 1px solid #344252; border-radius: 14px; background: #101821; color: var(--text); box-shadow: 0 24px 80px rgba(0, 0, 0, .55); }
.smart-dialog::backdrop { background: rgba(3, 7, 10, .76); backdrop-filter: blur(4px); }
.smart-dialog .dialog-close { position: sticky; z-index: 2; top: 0; float: right; }
.smart-dialog > form > h2, .smart-dialog > div > h2 { margin: 4px 0 18px; }
.smart-dialog label:not(.public-consent) { margin-top: 12px; display: grid; gap: 7px; color: var(--muted); font-size: 8px; }
.smart-dialog input, .smart-dialog select, .smart-dialog textarea { width: 100%; min-height: 40px; padding: 9px 10px; border: 1px solid #344252; border-radius: 8px; background: #0d141c; color: var(--text); font: inherit; }
.smart-dialog textarea { resize: vertical; }
.calculation-stack { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--line); }
.calculation-stack > div { padding: 11px 12px; display: flex; justify-content: space-between; gap: 16px; background: #0d141c; font-size: 9px; }
.calculation-stack span { color: var(--muted); }
.calculation-stack .total strong { color: var(--lime); }

@media (max-width: 1100px) {
  .procurement-toolbar { grid-template-columns: 1fr 1fr; }
  .procurement-row { grid-template-columns: 22px minmax(230px, 1fr) repeat(2, minmax(110px, .6fr)); }
  .procurement-row .procurement-metric:nth-of-type(4) { display: none; }
  .procurement-actions { grid-column: 2 / -1; justify-content: flex-start; }
}

@media (max-width: 700px) {
  .procurement-toolbar { grid-template-columns: 1fr; }
  .procurement-row { grid-template-columns: 22px minmax(0, 1fr); padding-inline: 14px; }
  .procurement-row .procurement-metric { grid-column: 2; }
  .procurement-row .procurement-metric:nth-of-type(4) { display: grid; }
  .procurement-actions { grid-column: 2; }
  .calculation-stack > div { flex-direction: column; gap: 5px; }
}

/* Guest CRM foundation */
.guest-data-note { margin-bottom: 18px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-color: #3b5227; background: linear-gradient(135deg, #121c12, #0d1510); }
.guest-data-note > div { display: grid; gap: 6px; }
.guest-data-note strong { font-size: 14px; }
.guest-data-note span:not(.soft-badge) { color: var(--muted); font-size: 9px; line-height: 1.5; }
.guest-segment-panel { margin-bottom: 18px; }
.guest-segments { padding: 0 20px 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.guest-segment-card { min-width: 0; padding: 14px; display: grid; gap: 5px; text-align: left; border: 1px solid var(--line); border-radius: 10px; background: #0d1412; color: var(--text); font: inherit; cursor: pointer; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.guest-segment-card:hover { transform: translateY(-1px); border-color: #58782f; }
.guest-segment-card.active { border-color: var(--lime); background: linear-gradient(145deg, #182313, #10190f); box-shadow: inset 0 0 0 1px rgba(168, 245, 26, .12); }
.guest-segment-card span { color: var(--muted); font-size: 8px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.guest-segment-card strong { font-size: 22px; }
.guest-segment-card small { color: #8c9b8c; font-size: 8px; }
.guest-registry-panel td strong, .guest-registry-panel td small { display: block; }
.guest-registry-panel td small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.guest-pagination { align-items: center; }
.guest-pagination > span { max-width: 720px; }
.guest-pagination > div { display: flex; align-items: center; gap: 8px; }
.guest-pagination .ghost-button { min-height: 32px; padding: 0 10px; }

@media (max-width: 760px) {
  .guest-data-note { align-items: flex-start; flex-direction: column; }
  .guest-segments { padding-inline: 14px; grid-template-columns: 1fr 1fr; }
  .guest-pagination { align-items: flex-start; }
}

@media (max-width: 420px) {
  .guest-segments { grid-template-columns: 1fr; }
}
