:root {
  --bg: #03070c;
  --surface: #09121b;
  --surface-2: #101d29;
  --surface-3: #172838;
  --line: rgba(255,255,255,.08);
  --line-strong: rgba(255,255,255,.14);
  --text: #f4f8f5;
  --muted: #91a7b8;
  --green: #45dc8a;
  --green-soft: rgba(69,220,138,.13);
  --blue: #89d7ff;
  --blue-soft: rgba(137,215,255,.13);
  --yellow: #ffd452;
  --red: #ff5f6d;
  --radius: 22px;
  --shadow: 0 22px 70px rgba(0,0,0,.48);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { background: var(--bg); min-height: 100%; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 70% -10%, rgba(91,184,235,.22), transparent 34%), radial-gradient(circle at 0 45%,rgba(40,102,148,.1),transparent 30%), var(--bg); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.eyebrow { color: var(--blue); font-weight: 800; letter-spacing: .16em; font-size: .7rem; }
.offline { position: fixed; z-index: 100; top: 0; left: 0; right: 0; padding: 8px 16px; text-align: center; font-size: .78rem; font-weight: 700; color: #171100; background: var(--yellow); }
.impersonation { min-width:0; display:flex; align-items:center; gap:5px; padding:8px 11px; border:1px solid rgba(137,215,255,.2); border-radius:12px; background:var(--blue-soft); color:var(--muted); font-size:.72rem; white-space:nowrap; }
.impersonation b { color:var(--text); max-width:160px; overflow:hidden; text-overflow:ellipsis; }
.impersonation .link-button { color:var(--blue); }
.link-button { border:0;background:transparent;color:inherit;text-decoration:underline;font-weight:800;cursor:pointer;padding:0; }

.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(calc(100vw - 32px), 420px); padding: 42px 32px 32px; border: 1px solid var(--line); border-radius: 30px; background: linear-gradient(155deg, rgba(18,35,49,.96), rgba(4,9,15,.98)); box-shadow: var(--shadow); position: relative; overflow: hidden; }
.login-card::before { content: ""; width: 260px; height: 260px; border-radius: 50%; position: absolute; right: -140px; top: -150px; background: var(--blue); filter: blur(85px); opacity: .18; }
.login-card h1 { font-size: 2.7rem; margin: 12px 0 4px; letter-spacing: -.055em; }
.login-copy { margin: 0 0 34px; line-height: 1.55; max-width: 300px; }
label { display: block; color: #c3ccc7; font-size: .78rem; font-weight: 700; margin: 0 0 8px; }
input, select, textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: 14px; background: #07111a; color: var(--text); padding: 14px 15px; outline: none; transition: .2s; }
input:focus, select:focus, textarea:focus { border-color: rgba(137,215,255,.7); box-shadow: 0 0 0 3px rgba(137,215,255,.1); }
.login-hint { color: var(--muted); font-size: .75rem; text-align: center; margin: 20px 0 0; }

.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg, #b5eaff, #54bcec); color: #032033; box-shadow: 0 8px 24px rgba(91,190,237,.22); font-size:1.22rem;line-height:1; }
.brand-mark span { display:block;line-height:1; }
.brand-mark.large { width: 58px; height: 58px; font-size: 1.8rem; border-radius: 18px; }
.app-shell { min-height: 100vh; }
.topbar { height: 72px; max-width: 1180px; margin: auto; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; background: rgba(3,9,15,.82); backdrop-filter: blur(22px); }
.brand { display: flex; align-items: center; gap: 11px; border: 0; background: none; padding: 0; cursor: pointer; text-align: left; }
.brand b { display: block; font-size: 1rem; letter-spacing: -.02em; }
.brand small { display: block; color: var(--muted); font-size: .68rem; margin-top: 2px; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.icon-btn, .avatar { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line); background: var(--surface); border-radius: 13px; cursor: pointer; position: relative; }
.avatar { border-radius: 50%; background: linear-gradient(145deg,#214d68,#102b3e); color: var(--blue); font-weight: 800; }
.bell { position: absolute; font-size: .42rem; color: var(--blue); top: 8px; right: 9px; }
.count { position: absolute; right: -4px; top: -5px; min-width: 18px; height: 18px; border-radius: 9px; padding: 0 5px; background: var(--red); color: #fff; font-size: .65rem; font-style: normal; display: grid; place-items: center; }

.view { width: min(100%, 1180px); margin: 0 auto; padding: 28px 22px 112px; animation: fade .24s ease; }
@keyframes fade { from { opacity: 0; transform: translateY(5px); } }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.page-head h1 { font-size: clamp(1.75rem, 5vw, 2.5rem); margin: 2px 0 0; letter-spacing: -.05em; }
.page-head p { margin: 7px 0 0; color: var(--muted); }
.section-title { display: flex; align-items: center; justify-content: space-between; margin: 30px 0 14px; }
.section-title h2 { font-size: 1.05rem; margin: 0; letter-spacing: -.02em; }
.section-title button { border: 0; background: none; color: var(--blue); font-size: .8rem; cursor: pointer; }

.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.home-metrics { grid-template-columns: repeat(3, 1fr); }
.metric { min-height: 132px; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; background: linear-gradient(145deg, rgba(17,34,48,.96), rgba(5,12,20,.97)); position: relative; overflow: hidden; }
.metric-action { width:100%;color:inherit;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,filter .2s; }
.metric-action:hover { transform:translateY(-2px);border-color:rgba(137,215,255,.36);filter:brightness(1.06); }
.metric-action:disabled { cursor:default;opacity:.72;transform:none; }
.metric::after { content: ""; width: 80px; height: 80px; border-radius: 50%; position: absolute; right: -30px; bottom: -35px; background: var(--accent,var(--blue)); filter: blur(30px); opacity: .18; }
.metric.blue { --accent: var(--blue); }
.metric.yellow { --accent: var(--yellow); }
.metric-label { color: var(--muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.metric-value { font-size: clamp(1.5rem, 3vw, 2.05rem); font-weight: 800; letter-spacing: -.045em; margin: 18px 0 4px; }
.metric-value.order-value { font-size: clamp(1.25rem, 2.6vw, 1.85rem); white-space: nowrap; }
.metric-foot { color: #a7b2ac; font-size: .74rem; }
.trend.up { color: var(--green); }.trend.down { color: var(--red); }

.quick-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.quick { text-align: left; cursor: pointer; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); padding: 18px; min-height: 102px; transition: .2s; }
.quick:hover { transform: translateY(-2px); border-color: rgba(137,215,255,.34); }
.quick-icon { display: block; color: var(--blue); font-size: 1.3rem; margin-bottom: 16px; }
.quick b { display: block; font-size: .88rem; }.quick small { display:block; color: var(--muted); margin-top: 5px; }

.exit-list { display: grid; gap: 10px; }
.grouped-exit-list { gap: 9px; }
.month-divider { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 5px;padding:14px 16px;border:1px solid rgba(137,215,255,.2);border-radius:16px;background:linear-gradient(135deg,rgba(87,177,232,.13),rgba(17,34,48,.86)); }
.month-divider:first-child { margin-top:0; }
.month-divider div { display:grid;gap:3px; }
.month-divider b { text-transform:capitalize;font-size:.94rem; }
.month-divider small { color:#b9cfdd;font-size:.9rem;font-weight:800;line-height:1.25; }
.month-divider strong { color:#d8f2ff;font-size:1rem;white-space:nowrap; }
.exit-card { width: 100%; display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 14px; padding: 13px 15px; border-radius: 18px; border: 1px solid var(--line); background: linear-gradient(110deg,var(--surface),rgba(8,19,30,.82)); text-align: left; cursor: pointer; transition: .2s; }
.exit-card:hover { border-color: var(--line-strong); background: var(--surface-2); }
.date-box { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; background: var(--green-soft); color: var(--green); font-weight: 800; font-size: .83rem; line-height: 1.05; text-align:center; }
.date-box.blue { background: var(--blue-soft); color: var(--blue); }
.exit-main b { display: block; font-size: .9rem; }.exit-main small { display: block; color: var(--muted); margin-top: 5px; font-size: .75rem; }
.exit-value { text-align: right; }.exit-value b { display:block; font-size: .92rem; }.exit-value small { display:block; margin-top:5px; }
.status { display: inline-flex; align-items: center; gap: 5px; font-size: .68rem; font-weight: 800; }
.status::before { content:""; width:6px; height:6px; border-radius:50%; background: currentColor; }
.status.paid { color: var(--green); }.status.unpaid { color: var(--yellow); }.status.missing { color: var(--red); }
.status.adjustment { color:var(--blue); }.status.adjustment.negative { color:#ff9da5; }.status.adjustment.positive { color:#9bdcff; }
.exit-warnings { display:flex;flex-wrap:wrap;gap:5px;margin-top:7px; }
.exit-warning { display:inline-flex;align-items:center;gap:5px;color:#ff727c;font-size:.7rem;font-weight:850;line-height:1.25; }
.exit-warning::before { content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto; }
.feed-quality-alert { color:#ff727c;font-weight:850; }
.settlement-line { display:block!important;margin-top:5px!important;color:#a8c3d4!important; }
.outstanding-list { display:grid;gap:8px; }
.outstanding-group { margin-top:18px; }
.outstanding-summary { display:grid;grid-template-columns:1.65fr 1fr;gap:8px;margin-bottom:9px; }
.outstanding-summary > div { padding:14px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,rgba(27,58,78,.72),rgba(7,18,28,.82)); }
.outstanding-summary small,.outstanding-summary b,.outstanding-summary span { display:block; }
.outstanding-summary small { color:var(--muted);font-size:.67rem; }.outstanding-summary b { margin-top:7px;font-size:1.16rem; }.outstanding-summary span { color:#7896a9;font-size:.61rem;margin-top:5px; }
.outstanding-group:nth-of-type(3) .outstanding-summary > div { border-color:rgba(137,215,255,.2); }
.compact-empty { padding:16px;margin:0; }
.outstanding-row { width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:rgba(5,14,22,.72);color:var(--text);text-align:left;cursor:pointer; }
.outstanding-row:hover { border-color:rgba(137,215,255,.35);background:var(--surface-2); }
.outstanding-row > span:last-child { text-align:right; }
.outstanding-row b,.outstanding-row small { display:block; }.outstanding-row small { color:var(--muted);font-size:.69rem;margin-top:4px; }
.outstanding-row.positive { border-color:rgba(137,215,255,.26);background:rgba(79,172,222,.09); }
.outstanding-row.negative { border-color:rgba(255,95,109,.3);background:rgba(255,95,109,.08); }
.control-alert { width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;margin:0 0 14px;padding:13px 15px;border:1px solid rgba(255,95,109,.72);border-radius:17px;background:linear-gradient(135deg,rgba(255,95,109,.12),rgba(31,15,24,.8));color:var(--text);text-align:left;cursor:pointer;box-shadow:0 10px 36px rgba(255,40,70,.08);transition:.2s; }
.control-alert:hover { border-color:var(--red);background:linear-gradient(135deg,rgba(255,95,109,.18),rgba(31,15,24,.9));transform:translateY(-1px); }
.control-alert-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(255,95,109,.16);color:var(--red);font-size:1.15rem;font-weight:950; }
.control-alert b,.control-alert small { display:block; }.control-alert b { font-size:.84rem; }.control-alert small { color:#c7a4aa;font-size:.69rem;margin-top:4px; }.control-alert i { color:#ff9da5;font-size:.72rem;font-style:normal;font-weight:850;white-space:nowrap; }

.bottom-nav { position: fixed; z-index: 25; bottom: 0; left: 50%; transform: translateX(-50%); width: min(100%,700px); min-height: 72px; padding: 8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)); background: rgba(5,13,21,.93); border: 1px solid var(--line); border-bottom: 0; border-radius: 22px 22px 0 0; backdrop-filter: blur(24px); display: flex; justify-content: space-around; box-shadow: 0 -12px 40px rgba(0,0,0,.36); }
.nav-item { border: 0; background: none; color: #717d76; min-width: 62px; padding: 5px 8px; border-radius: 12px; cursor: pointer; font-size: .64rem; font-weight: 700; }
.nav-item span { display: block; font-size: 1.1rem; height: 25px; }.nav-item.active { color: var(--blue); background: var(--blue-soft); }

.btn { border: 1px solid var(--line); border-radius: 14px; min-height: 46px; padding: 0 17px; background: var(--surface-2); color: var(--text); font-weight: 750; cursor: pointer; transition: .2s; }
.btn:hover { filter: brightness(1.12); }.btn.primary { background: linear-gradient(145deg,#aee8ff,#61c2ee); border-color: #8edcff; color: #032236; }.btn.danger { color: #ff9da5; background: rgba(255,95,109,.1); }.btn.ghost { background: transparent; }.btn.wide { width:100%; margin-top:14px; display:flex; justify-content:space-between; align-items:center; }.btn.small { min-height:36px; padding:0 12px; font-size:.76rem; }.btn.tiny { min-height:30px;padding:0 9px;font-size:.68rem;border-radius:10px; }
.segmented { padding: 4px; display:inline-flex; gap:3px; background:var(--surface); border:1px solid var(--line); border-radius:13px; overflow-x:auto; max-width:100%; }
.segmented button { white-space:nowrap; min-height:34px; border:0; border-radius:9px; background:transparent; color:var(--muted); padding:0 12px; cursor:pointer; font-size:.76rem; font-weight:700; }.segmented button.active { background:var(--surface-3); color:var(--text); }
.month-picker { min-width:230px; display:grid; grid-template-columns:40px 1fr; align-items:center; gap:11px; padding:10px 12px; border:1px solid rgba(137,215,255,.38); border-radius:16px; background:linear-gradient(145deg,rgba(137,215,255,.16),rgba(13,31,45,.92)); box-shadow:0 10px 34px rgba(65,164,214,.1); }
.month-picker-icon { width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:var(--blue);color:#032236;font-size:.78rem;font-weight:900; }
.month-picker-control label { margin:0 0 2px;color:var(--blue);font-size:.62rem;text-transform:uppercase;letter-spacing:.09em; }
.month-select { width:100%; min-width:170px; border:0; border-radius:0; background:transparent; padding:2px 26px 2px 0; color:var(--text); font-weight:800; box-shadow:none; cursor:pointer; }
.month-select:focus { border:0;box-shadow:none; }

.warehouse-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.day-tile { min-height:92px; padding:14px; text-align:left; border:1px solid var(--line); border-radius:17px; background:var(--surface); cursor:pointer; position:relative; }
.day-tile b { font-size:1.15rem; display:block; }.day-tile small { color:var(--muted); display:block; margin-top:5px; }.day-tile i { position:absolute; right:12px; top:12px; width:8px; height:8px; border-radius:50%; background:var(--red); }.day-tile.complete i { background:var(--green); }.day-tile.new::after { content:"НОВЫЙ"; position:absolute; right:8px; bottom:8px; padding:3px 5px; border-radius:5px; color:#032236; background:var(--blue); font-size:.51rem; font-weight:900; }

.chart { height:220px; display:flex; align-items:flex-end; gap:8px; padding:28px 16px 10px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(180deg,var(--surface),rgba(5,8,6,.7)); overflow:hidden; }
.bar-wrap { flex:1; min-width:14px; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:7px; }.bar { width:100%; max-width:32px; min-height:3px; border-radius:7px 7px 3px 3px; background:linear-gradient(180deg,#a9e7ff,#368fc1); box-shadow:0 0 20px rgba(137,215,255,.13); }.bar.paid-bar { background:linear-gradient(180deg,#72efa9,#22945a); }.bar-label { color:var(--muted); font-size:.57rem; }

.sheet-backdrop { position:fixed; z-index:80; inset:0; padding:18px; background:rgba(0,4,9,.7); backdrop-filter:blur(7px); display:flex; align-items:center; justify-content:center; }
.sheet { width:min(100%,720px); max-height:min(90vh,900px); overflow:auto; border:1px solid var(--line-strong); background:linear-gradient(155deg,#102131,#060d15); border-radius:26px; padding:10px 22px 24px; box-shadow:var(--shadow); animation:sheetIn .22s ease; }
@keyframes sheetIn { from { transform:translateY(10px) scale(.97); opacity:.35; } }
.sheet-handle { width:42px; height:4px; border-radius:3px; margin:3px auto 20px; background:#36566c; }
.sheet-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:22px; }.sheet-head h2 { margin:0; font-size:1.35rem; letter-spacing:-.035em; }.close { width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);cursor:pointer; }
.exit-title-line { display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px; }
.exit-title-line > span { color:#ff727c;font-size:.72rem;font-weight:900;line-height:1.2; }
.detail-metrics { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0; }.detail-metric { background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px; }.detail-metric small { display:block;color:var(--muted);font-size:.65rem; }.detail-metric b { display:block;margin-top:8px;font-size:1rem; }
.worker-row, .notice { display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line); }.worker-row:last-child,.notice:last-child { border:0; }.worker-row small { color:var(--muted);display:block;margin-top:4px; }
.notification-item { width:100%;border-width:0 0 1px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer; }
.notification-item:hover { background:rgba(137,215,255,.045); }
.notification-item > span:first-child { min-width:0; }
.notification-item small,.notification-item time { display:block;color:var(--muted);margin-top:5px;font-size:.69rem;line-height:1.4; }
.notification-item time { color:#7996a9;font-size:.61rem; }
.notification-item.unread b::before { content:"";display:inline-block;width:7px;height:7px;margin:0 7px 1px 0;border-radius:50%;background:var(--blue);box-shadow:0 0 12px rgba(137,215,255,.55); }
.exit-quality-alerts { display:grid;gap:8px;margin:12px 0 20px; }
.exit-quality-alert { display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:12px 13px;border:1px solid rgba(255,95,109,.5);border-radius:14px;background:rgba(255,95,109,.08); }
.exit-quality-alert > span { width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,95,109,.16);color:var(--red);font-weight:950; }
.exit-quality-alert b,.exit-quality-alert small { display:block; }.exit-quality-alert b { font-size:.78rem; }.exit-quality-alert small { color:#d0a7ad;font-size:.67rem;margin-top:4px;line-height:1.4; }
.acceptance-metrics { grid-template-columns:repeat(2,1fr); }
.worker-formula-link { min-width:0;cursor:pointer;border-radius:12px;padding:7px 9px;margin:-7px 0 -7px -9px;transition:.18s; }
.worker-formula-link:hover,.worker-formula-link:focus-visible { background:var(--blue-soft);outline:1px solid rgba(137,215,255,.25); }
.formula-link-hint { color:var(--blue)!important;font-size:.66rem!important;font-weight:800; }
.formula-result-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px; }
.formula-result-grid > div { padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface); }
.formula-result-grid small,.formula-result-grid b { display:block; }.formula-result-grid small { color:var(--muted);font-size:.65rem; }.formula-result-grid b { margin-top:7px;font-size:1.05rem; }
.formula-result-grid .match b { color:var(--green); }.formula-result-grid .difference b { color:var(--yellow); }
.formula-kind { padding:14px;border:1px solid rgba(137,215,255,.22);border-radius:15px;background:var(--blue-soft); }
.formula-kind small { color:var(--blue);font-weight:850;text-transform:uppercase;letter-spacing:.07em; }.formula-kind p { margin:7px 0 0;color:#d4e7f2;font-size:.76rem;line-height:1.5; }
.formula-inputs { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }.formula-inputs > div { padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface); }.formula-inputs small,.formula-inputs b { display:block; }.formula-inputs small { color:var(--muted);font-size:.62rem; }.formula-inputs b { margin-top:6px;font-size:.82rem; }
.formula-steps { display:grid;gap:8px; }.formula-steps article { display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface); }.formula-steps article > span { width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--blue-soft);color:var(--blue);font-size:.7rem;font-weight:900; }.formula-steps small,.formula-steps code { display:block; }.formula-steps small { color:var(--text);font-size:.72rem;font-weight:800; }.formula-steps code { color:var(--muted);font-family:inherit;font-size:.67rem;margin-top:4px;white-space:normal; }.formula-steps article > b { color:var(--blue);font-size:.78rem;text-align:right; }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }.form-grid .full { grid-column:1/-1; }.field { position:relative; }.field-unit { position:absolute;right:13px;bottom:14px;color:var(--muted);font-size:.72rem;pointer-events:none; }.field input.has-unit { padding-right:42px; }
.form-actions { display:flex;gap:10px;margin-top:20px; }.form-actions .btn { flex:1; }
.switch-row { display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line); }.switch { appearance:none;width:46px;height:27px;border-radius:20px;padding:0;background:#293742;position:relative;cursor:pointer; }.switch::after { content:"";width:21px;height:21px;border-radius:50%;background:white;position:absolute;left:3px;top:3px;transition:.2s; }.switch:checked { background:var(--blue); }.switch:checked::after { transform:translateX(19px); }

.numpad-display { font-size:2rem;text-align:right;padding:18px;margin-bottom:12px;background:var(--surface);border-radius:16px;min-height:76px; }.numpad { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }.numpad button { min-height:58px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);font-size:1.15rem;cursor:pointer; }.numpad button.action { color:var(--blue); }.numpad button.zero { grid-column:span 2; }
.numpad-display small { color:var(--muted);font-size:.78rem;margin-left:8px; }
.wizard-progress { display:block;color:var(--muted);font-size:.7rem;margin-top:7px; }
.party-count-grid { display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:20px; }
.party-count { min-height:88px;border:1px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer; }
.party-count b,.party-count small { display:block; }.party-count b { font-size:1.5rem; }.party-count small { color:var(--muted);font-size:.68rem;margin-top:5px; }
.party-count.selected { border-color:var(--blue);background:var(--blue-soft); }
.party-buttons { display:grid;gap:9px; }
.party-button { width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:15px;cursor:pointer; }
.party-button b,.party-button small { display:block; }.party-button small { color:var(--muted);margin-top:5px; }.party-button i { color:var(--blue);font-style:normal;font-weight:850; }
.party-button.complete { border-color:rgba(69,220,138,.25); }.party-button.complete i { color:var(--green); }
.wizard-summary { display:grid;gap:8px; }
.wizard-summary > div,.wizard-summary > button { display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:12px 14px;text-align:left; }
.wizard-summary > button { cursor:pointer;color:var(--text); }.wizard-summary small,.wizard-summary b { display:block; }.wizard-summary small { color:var(--muted);font-size:.67rem;margin-bottom:5px; }.wizard-summary i { color:var(--blue);font-size:.7rem;font-style:normal; }
.warehouse-grid > .empty { grid-column:1/-1; }

.admin-layout { display:grid;grid-template-columns:210px 1fr;gap:18px; }.admin-menu { padding:9px;border:1px solid var(--line);border-radius:18px;background:var(--surface);align-self:start;position:sticky;top:92px; }.admin-menu button { width:100%;border:0;border-radius:11px;background:transparent;color:var(--muted);padding:11px 12px;text-align:left;cursor:pointer;font-weight:700;font-size:.8rem; }.admin-menu button.active { background:var(--blue-soft);color:var(--blue); }.panel { border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:18px;overflow:hidden; }.panel-head { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px; }.panel-head h2 { margin:0;font-size:1rem; }
.data-table-wrap { overflow:auto;max-height:62vh;border:1px solid var(--line);border-radius:13px; }.data-table { width:100%;border-collapse:collapse;font-size:.72rem;white-space:nowrap; }.data-table th { position:sticky;top:0;background:#12202b;color:#b1c3d0;text-align:left;padding:11px;border-bottom:1px solid var(--line);z-index:1; }.data-table td { padding:8px 11px;border-bottom:1px solid var(--line);max-width:230px;overflow:hidden;text-overflow:ellipsis; }.data-table tr:hover td { background:rgba(255,255,255,.018); }.data-table td[contenteditable="true"]:focus { outline:1px solid var(--blue);background:var(--blue-soft); }
.formula-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:10px; }.formula-card { border:1px solid var(--line);border-radius:15px;background:#0a151f;padding:14px; }.formula-card small { color:var(--muted); }.formula-input { display:flex;align-items:center;gap:9px;margin-top:11px; }.formula-input input { padding:10px 12px; }.formula-input span { color:var(--muted);font-size:.75rem;min-width:45px; }
.compact-metrics { grid-template-columns:repeat(2,1fr); }
.captain-tabs { margin-bottom:18px; }
.captain-metrics { grid-template-columns:repeat(3,1fr);margin-top:18px; }
.info-card { border:1px solid rgba(137,215,255,.22);background:linear-gradient(135deg,rgba(137,215,255,.11),rgba(15,31,45,.7));border-radius:18px;padding:18px;margin-top:18px; }
.info-card p { color:var(--muted);margin:8px 0 0;line-height:1.55;font-size:.82rem; }
.row-actions { display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;text-align:right; }
.field-help { display:block;color:var(--muted);font-size:.68rem;margin-top:7px;line-height:1.4; }
.exit-card.is-paid { border-color:rgba(69,220,138,.17); }
.payment-matrix-wrap { overflow:auto;border:1px solid var(--line);border-radius:17px;background:#060e16; }
.payment-matrix { border-collapse:collapse;width:100%;min-width:720px;font-size:.72rem;white-space:nowrap; }
.payment-matrix th,.payment-matrix td { padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:right; }
.payment-matrix th:first-child { position:sticky;left:0;z-index:2;text-align:left;background:#112231; }
.payment-matrix thead th { position:sticky;top:0;background:#112231;color:#cbe8f8; }
.payment-matrix td:not(:empty) { color:#c5ebff;background:rgba(67,166,255,.1); }
.matrix-hint { margin:0 0 10px;color:var(--muted);font-size:.74rem;line-height:1.45; }
.matrix-action { width:100%;min-height:34px;padding:5px 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:inherit;font-weight:800;cursor:pointer;white-space:nowrap;transition:.18s; }
.matrix-action:hover,.matrix-action:focus-visible { border-color:rgba(137,215,255,.42);background:var(--blue-soft);outline:none; }
.matrix-date-action { color:var(--blue);text-align:left; }
.matrix-worker-action { text-align:right; }
.matrix-name-action { min-width:118px;text-align:right;color:#cbe8f8; }
.matrix-name-action b,.matrix-name-action small { display:block; }
.matrix-name-action small { margin-top:4px;color:var(--muted);font-size:.61rem;font-weight:700; }
.confirm-note { color:var(--muted);font-size:.74rem;line-height:1.5;margin:16px 0 0; }
.paid-empty { border-color:rgba(69,220,138,.3);color:var(--green); }
.date-choice-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px; }
.date-choice { margin:0;cursor:pointer; }
.date-choice input { position:absolute;opacity:0;pointer-events:none; }
.date-choice span { display:block;border:1px solid var(--line);border-radius:15px;padding:14px;background:var(--surface);transition:.18s; }
.date-choice b,.date-choice small { display:block; }.date-choice small { color:var(--muted);margin-top:5px; }
.date-choice input:checked + span { border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 2px rgba(137,215,255,.08); }
.payment-total { display:grid;grid-template-columns:1fr auto;gap:6px 18px;border:1px solid rgba(137,215,255,.25);background:var(--blue-soft);border-radius:18px;padding:17px;margin-bottom:16px; }
.payment-total small { color:var(--muted); }.payment-total b { grid-row:span 2;font-size:1.55rem;align-self:center; }.payment-total span { font-size:.75rem;color:#bed5e4; }
.payment-total.paid-total { border-color:rgba(69,220,138,.28);background:var(--green-soft); }
.payment-worker { border:1px solid var(--line);border-radius:16px;background:rgba(5,14,22,.7);padding:0 14px 10px; }
.payment-worker .worker-row { border:0; }
.link-detail { border:0;background:none;color:var(--blue);padding:4px 0;cursor:pointer;font-size:.75rem;font-weight:750; }
.payment-days { margin-top:9px;border-top:1px solid var(--line);padding-top:7px; }
.payment-days.always { display:block; }
.payment-days > div { display:flex;justify-content:space-between;gap:14px;padding:9px 2px;color:var(--muted);font-size:.76rem;border-bottom:1px solid var(--line); }
.payment-days > div b { color:var(--text);white-space:nowrap; }.payment-days .payment-day-total { color:var(--text);font-weight:800;border-bottom:0; }
.payment-days > div span small { display:block;color:#91a7b8;margin-top:4px; }
.payment-days .adjustment-line { background:rgba(137,215,255,.06);padding-left:8px;padding-right:8px;border-radius:9px; }
.admin-exits { display:grid;gap:10px; }
.admin-exit { border:1px solid var(--line);border-radius:17px;background:rgba(5,14,22,.68);overflow:hidden; }
.admin-exit > summary { list-style:none;cursor:pointer;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:12px; }
.admin-exit > summary::-webkit-details-marker { display:none; }.admin-exit > summary .date-box { width:48px;height:48px; }.admin-exit > summary b,.admin-exit > summary small { display:block; }.admin-exit > summary small { color:var(--muted);margin-top:5px;font-size:.71rem; }
.admin-exit[open] { padding-bottom:14px; }.admin-exit[open] > summary { border-bottom:1px solid var(--line);margin-bottom:12px; }
.admin-exit > .worker-row,.admin-exit > .section-title,.admin-exit > .timeline-grid,.admin-exit > .raw-data { margin-left:14px;margin-right:14px; }
.timeline-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:8px; }.timeline-grid > div { border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--surface); }.timeline-grid small,.timeline-grid b { display:block;font-size:.68rem; }.timeline-grid small { color:var(--muted);margin-bottom:6px; }.timeline-grid b { font-size:.74rem; }
.raw-data { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px; }.raw-data details { border:1px solid var(--line);border-radius:12px;padding:10px; }.raw-data summary { cursor:pointer;font-size:.74rem;color:var(--blue); }.raw-data pre { overflow:auto;font-size:.65rem;color:#bad0de;white-space:pre-wrap; }
.admin-card-meta { grid-column:2/-1;display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:9px;color:var(--muted);font-size:.67rem; }
.admin-card-meta b { margin-left:auto;color:var(--blue);font-size:.7rem; }
.empty { border:1px dashed var(--line-strong);border-radius:18px;padding:38px;text-align:center;color:var(--muted); }.skeleton { background:linear-gradient(90deg,var(--surface),var(--surface-2),var(--surface));background-size:200%;animation:shimmer 1.2s infinite;height:92px;border-radius:18px; } @keyframes shimmer { to { background-position:-200% 0; } }
.toast-stack { position:fixed;z-index:110;right:18px;top:88px;display:grid;gap:8px;width:min(360px,calc(100% - 36px)); }.toast { border:1px solid var(--line-strong);border-left:3px solid var(--blue);border-radius:14px;background:#101d28;padding:13px 15px;box-shadow:var(--shadow);animation:toastIn .22s ease; }.toast.error { border-left-color:var(--red); }.toast b { display:block;font-size:.82rem; }.toast small { color:var(--muted);display:block;margin-top:4px; } @keyframes toastIn { from { transform:translateX(25px);opacity:0; } }

@media (max-width: 820px) {
  .metrics,.captain-metrics { grid-template-columns:1fr 1fr; }.quick-grid { grid-template-columns:1fr 1fr; }.warehouse-grid { grid-template-columns:repeat(3,1fr); }.admin-layout { grid-template-columns:1fr; }.admin-menu { position:static;display:flex;overflow:auto; }.admin-menu button { width:auto;white-space:nowrap; }.formula-grid { grid-template-columns:1fr; }.timeline-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 520px) {
  .topbar.viewing { height:auto;min-height:64px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px; }
  .topbar.viewing .impersonation { order:3;width:100%;justify-content:center; }
  .month-picker { width:100%; }
  .formula-result-grid { grid-template-columns:1fr; }.formula-inputs { grid-template-columns:1fr 1fr; }.formula-steps article { grid-template-columns:26px 1fr; }.formula-steps article > b { grid-column:2;text-align:left; }
  .control-alert { grid-template-columns:38px 1fr;padding:12px; }.control-alert-icon { width:38px;height:38px; }.control-alert i { grid-column:2; }
}
@media (max-width: 520px) {
  .topbar { height:64px;padding:0 16px; }.view { padding:22px 15px 105px; }.metrics,.captain-metrics { gap:8px; }.metric { min-height:116px;padding:14px;border-radius:18px; }.metric-value { margin-top:14px; }.quick-grid { grid-template-columns:1fr 1fr;gap:8px; }.quick { padding:14px;min-height:92px; }.exit-card { grid-template-columns:46px 1fr;padding:11px;gap:6px 11px; }.exit-value { grid-column:2;text-align:left;display:flex;align-items:center;gap:8px;flex-wrap:wrap; }.exit-value b,.exit-value small { display:inline;margin:0; }.date-box { width:46px;height:46px;grid-row:span 2; }.warehouse-grid { grid-template-columns:repeat(3,1fr);gap:8px; }.day-tile { min-height:82px;padding:12px; }.detail-metrics { grid-template-columns:1fr 1fr; }.form-grid { grid-template-columns:1fr; }.form-grid .full { grid-column:auto; }.sheet-backdrop { padding:12px; }.sheet { padding-left:16px;padding-right:16px;max-height:91vh;border-radius:22px; }.page-head { align-items:flex-start;flex-direction:column; }.month-select { width:100%; }.date-choice-grid { grid-template-columns:1fr 1fr; }.form-actions { flex-wrap:wrap; }.form-actions .btn { min-width:130px; }.worker-row { align-items:flex-start; }.row-actions { max-width:48%; }.raw-data { grid-template-columns:1fr; }.admin-exit > summary { grid-template-columns:46px 1fr; }.admin-exit > summary > .status { grid-column:2; }.timeline-grid { grid-template-columns:1fr; }.captain-tabs { display:flex;width:100%; }.captain-tabs button { flex:1; }.compact-metrics { grid-template-columns:1fr 1fr; }.party-count-grid { grid-template-columns:repeat(3,1fr); }.party-count { min-height:76px; }
}
