:root{--bg:#0f172a;--card:#1e293b;--card2:#273449;--text:#e2e8f0;--muted:#94a3b8;--accent:#38bdf8;--border:#334155;--danger:#f87171}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.center{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:360px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;gap:8px}.auth-card h1{margin:0;font-size:22px}.auth-card .sub{margin:0 0 12px;color:var(--muted);font-size:14px}.auth-card label{font-size:13px;color:var(--muted);margin-top:6px}.auth-card input{width:100%;padding:14px;font-size:16px;background:var(--card2);border:1px solid var(--border);border-radius:10px;color:var(--text)}.auth-card input:focus{outline:none;border-color:var(--accent)}.auth-card button,.cab button{margin-top:14px;padding:14px;font-size:16px;font-weight:600;background:var(--accent);color:#06283d;border:none;border-radius:10px;cursor:pointer}.auth-card button:disabled{opacity:.6}.error{margin-top:12px;color:var(--danger);font-size:14px}.cab{max-width:720px;margin:0 auto;padding:20px 16px 48px}.cab-head{justify-content:space-between;gap:12px;margin-bottom:20px}.cab-head,.cab-nav{display:flex;align-items:center;flex-wrap:wrap}.cab-nav{gap:8px}.nav-link{padding:8px 14px;border-radius:8px;border:1px solid var(--border);color:var(--muted);font-size:14px;text-decoration:none;white-space:nowrap}.nav-link:hover{color:var(--text)}.cab-head h1{margin:0;font-size:24px}.cab button.ghost{margin:0;padding:8px 14px;font-size:14px;background:transparent;color:var(--muted);border:1px solid var(--border)}.grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media (min-width:520px){.grid{grid-template-columns:1fr 1fr}}.card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px}.card-title{font-size:17px;font-weight:600}.card-hint{margin-top:4px;font-size:13px}.badge,.card-hint{color:var(--muted)}.badge{position:absolute;top:14px;right:14px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);border-radius:999px;padding:2px 8px}.msg{margin-top:24px;color:var(--muted);font-size:14px}.msg.err{color:var(--danger)}.prod{margin-bottom:26px}.group-head{display:flex;align-items:baseline;gap:10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:12px}.group-count{font-weight:600;letter-spacing:0;text-transform:none;color:var(--accent)}.prod-rows{display:flex;flex-direction:column;gap:12px}.prod-group{border:1px solid var(--border);border-radius:16px;padding:12px;margin-bottom:16px;background:hsla(0,0%,100%,.025)}.prod-group-head{display:flex;align-items:center;gap:9px;padding:4px 6px 12px}.prod-group-name{font-size:16px;font-weight:700;color:var(--text)}.prod-group-count{font-size:12px;font-weight:600;color:var(--muted);background:var(--card2);border-radius:999px;padding:2px 9px}.prod-row{background:var(--card2);border:1px solid var(--border);border-radius:14px;padding:14px 16px}.prod-bottom{display:flex;align-items:flex-start;gap:12px}.cab .prod-bottom .ext-btn{margin:0;height:24px;padding:0 12px;line-height:24px;font-size:12px;border-radius:7px}.prod-barwrap{flex:1 1;min-width:0}.ext-btn{flex-shrink:0;padding:9px 12px;font-size:13px;font-weight:700;white-space:nowrap;background:var(--accent);color:#06283d;border:none;border-radius:9px;cursor:pointer}.ext-btn:disabled{opacity:.55;cursor:default}.ext-btn:active{transform:translateY(1px)}.prod-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.prod-row.has-photo{display:flex;gap:14px}.prod-body{flex:1 1;min-width:0}.prod-photo-col{position:relative;flex:0 0 110px;align-self:stretch;min-height:96px}.prod-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:10px;background:var(--card)}@media (max-width:480px){.prod-photo-col{flex-basis:84px}.prod-row.has-photo{gap:10px}}.prod-meta{flex:1 1;min-width:0}.prod-name{font-size:15px;font-weight:600;color:var(--text);line-height:1.25}.prod-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 9px;margin-top:5px;font-size:13px;color:var(--muted)}.prod-status{font-weight:700;font-size:11px;padding:2px 9px;border-radius:999px;background:var(--card);color:var(--muted)}.prod-status[data-step="1"]{background:rgba(251,191,36,.16);color:#fbbf24}.prod-status[data-step="2"]{background:rgba(56,189,248,.16);color:#7dd3fc}.prod-status[data-step="3"]{background:rgba(167,139,250,.18);color:#c4b5fd}.prod-status[data-step="4"]{background:rgba(45,212,191,.16);color:#5eead4}.prod-status[data-step="5"]{background:rgba(52,211,153,.16);color:#6ee7b7}.prod-countdown{margin-left:auto;flex-shrink:0;font-weight:700;font-size:13px;padding:4px 12px;border-radius:999px;white-space:nowrap}.prod-countdown.green{background:rgba(99,153,34,.2);color:#a7d977}.prod-countdown.amber{background:rgba(239,159,39,.2);color:#f0b357}.prod-countdown.red{background:rgba(226,75,74,.2);color:#f5928f}.prod-track{position:relative;height:24px;background:var(--card);border-radius:7px;margin-bottom:7px}.prod-fill{position:absolute;left:0;top:0;bottom:0;border-radius:7px;min-width:3px}.prod-fill.green{background:#639922}.prod-fill.amber{background:#ef9f27}.prod-fill.red{background:#e24b4a}.prod-now{position:absolute;top:-6px;bottom:-6px;width:2px;margin-left:-1px;background:var(--text);border-radius:1px}.prod-now-label{position:absolute;top:-19px;font-size:11px;font-weight:600;color:var(--text);white-space:nowrap}.prod-dates{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.prod-dates.only-deadline{justify-content:flex-end}.prod-dates .muted{color:#64748b}.prob{margin-top:30px}.prob-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.prob-head .group-head{margin-bottom:0}.tg-btn{flex-shrink:0;padding:9px 14px;font-size:13px;font-weight:700;white-space:nowrap;background:#229ed9;color:#fff;border:none;border-radius:9px;cursor:pointer}.tg-btn:disabled{opacity:.6;cursor:default}.tg-btn:active{transform:translateY(1px)}.prob-section{margin-bottom:16px}.prob-section-head{font-size:14px;font-weight:700;color:var(--text);margin:14px 0 8px}.prob-section-count{font-size:12px;font-weight:600;color:var(--muted)}.prob-card{display:block;text-decoration:none;background:var(--card2);border:1px solid var(--border);border-left:4px solid var(--danger);border-radius:12px;padding:12px 14px;margin-bottom:8px}.prob-card:active{background:#2f3f57}.prob-name{font-size:15px;font-weight:600;color:var(--text);line-height:1.25}.prob-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:5px;font-size:13px}.prob-nakl{font-weight:600;color:var(--muted)}.prob-reason{color:#f5928f}.prob-action{margin-top:7px;font-size:13px;color:var(--accent)}.ct{margin-bottom:22px}.ct-h{font-size:18px;margin:4px 0 12px}.ct-kpi{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:14px}.ct-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center}.ct-card--alert{border-color:var(--danger)}.ct-num{font-size:26px;font-weight:600;line-height:1.1}.ct-lbl{font-size:11px;color:var(--muted);margin-top:4px}.ct-block{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:12px}.ct-block-h{font-size:13px;color:var(--muted);margin-bottom:10px}.ct-row{display:flex;align-items:center;gap:8px;margin:6px 0}.ct-row-name{flex:0 0 38%;font-size:12px}.ct-bar-wrap{flex:1 1;background:var(--card2);border-radius:6px;height:14px;overflow:hidden}.ct-bar{height:100%;background:var(--accent);border-radius:6px;min-width:2px}.ct-row-val{flex:0 0 56px;text-align:right;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ct-red{color:var(--danger)}.ns .ns-total{display:inline-block;min-width:22px;padding:1px 7px;border-radius:999px;background:var(--accent);color:#082f49;font-size:13px;font-weight:700;text-align:center}.ns-empty{background:var(--card2);border:1px solid var(--border);border-radius:10px;padding:14px;color:var(--muted);font-size:14px;text-align:center}.ns-group{margin-top:14px}.ns-group h3{margin:0 0 8px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.ns-group h3 .ns-num{min-width:20px;padding:0 6px;border-radius:999px;background:var(--card2);color:var(--muted);font-size:11px;font-weight:700;text-align:center}.ns-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ns-group li .ns-row{display:flex;align-items:center;gap:8px;background:var(--card2);border:1px solid var(--border);border-left-width:3px;border-radius:10px}.ns-group li .ns-main{flex:1 1 auto;min-width:0;display:block;text-decoration:none;color:var(--text);padding:10px 12px}.ns-group li .ns-row:active{background:#2f3f57}.ns-red li .ns-row{border-left-color:var(--danger)}.ns-gate li .ns-row{border-left-color:#fbbf24}.ns-inc li .ns-row{border-left-color:var(--accent)}.ns-row .ext-btn{flex:0 0 auto;margin-right:10px}.ns-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ns-base{flex:0 0 auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:6px;padding:1px 6px}.ns-base--tovar{color:#7dd3fc;background:rgba(56,189,248,.14);border-color:rgba(56,189,248,.4)}.ns-base--proizv{color:#c4b5fd;background:rgba(167,139,250,.16);border-color:rgba(167,139,250,.4)}.ns-base--obrazec{color:#6ee7b7;background:rgba(52,211,153,.14);border-color:rgba(52,211,153,.4)}.ns-name{flex:1 1 auto;font-size:14px;font-weight:600;min-width:0}.ns-status{flex:0 0 auto;font-size:11px;color:var(--muted)}.ns-reason{margin-top:4px;font-size:12px;color:var(--muted);line-height:1.4}.board{min-height:100vh;min-height:100dvh;background:radial-gradient(1200px 700px at 50% 0,#16233b 0,var(--bg) 70%);padding:18px 22px 40px}.board-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}.board-top h1{margin:0;font-size:22px}.board-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.board-today{font-size:14px;font-weight:600;color:var(--accent);background:rgba(96,165,250,.12);border-radius:999px;padding:2px 12px}.board-today:first-letter{text-transform:uppercase}.board-kpis{display:flex;align-items:center;gap:14px;font-size:15px;color:var(--muted)}.board-kpis .board-k-gate{color:#f0b357;font-weight:700}.board-back{color:var(--accent);text-decoration:none;font-size:14px}.board-err{color:var(--danger);margin-top:20px}.board-stage{width:100%;max-width:1400px;margin:0 auto}.board-svg{width:100%;height:auto;display:block}.board-road-base{fill:none;stroke:#1b2942;stroke-width:26;stroke-linecap:round;stroke-linejoin:round}.board-road-dash{fill:none;stroke:rgba(56,189,248,.5);stroke-width:3;stroke-linecap:round;stroke-dasharray:2 16;animation:board-flow 1.2s linear infinite}@keyframes board-flow{to{stroke-dashoffset:-18}}.board-station .board-st-title{fill:var(--text);font-size:15px;font-weight:600}.board-station .board-st-count{fill:#fff;font-size:26px;font-weight:800}.board-station:hover .board-st-count{fill:var(--accent)}.board-chip-t{fill:#fff;font-size:11px;font-weight:700}.board-chip-amber{fill:rgba(239,159,39,.95)}.board-drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:92vw;background:var(--card);border-left:1px solid var(--border);box-shadow:-12px 0 40px rgba(0,0,0,.4);display:flex;flex-direction:column;z-index:20}.board-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border);font-size:16px}.board-drawer-icon{margin-right:6px}.board-drawer-head button{background:transparent;border:none;color:var(--muted);font-size:18px;cursor:pointer}.board-drawer-list{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.board-empty{color:var(--muted);text-align:center;padding:24px}.board-card{background:var(--card2);border-left:1px solid var(--border);border:1px solid var(--border);border-left-width:3px;border-radius:10px;padding:10px 12px}.board-card.is-gate{border-left-color:#fbbf24}.board-card.is-overdue{border-left-color:var(--danger)}.board-card-name{font-size:14px;font-weight:600}.board-card-reason{margin-top:3px;font-size:12px;color:var(--muted)}.board-card-reason.is-overdue{color:#f5928f;font-weight:700;background:rgba(226,75,74,.14);border-radius:6px;padding:3px 7px;display:inline-block}.board-due{color:#fff;background:var(--danger);border-radius:5px;padding:1px 7px;font-weight:800;white-space:nowrap}.board-card-links{margin-top:8px;display:flex;gap:12px;align-items:center}.board-card-links a{color:var(--accent);text-decoration:none;font-size:13px;font-weight:600}.board-card-links .ext-btn{margin-left:auto}.board-sub-h{fill:var(--muted);font-size:11px;font-weight:600}.board-sub{fill:#1b2942;stroke:var(--border);stroke-width:1}.board-sub-on{fill:#24406a}.board-sub-gate{fill:rgba(239,159,39,.9)}.board-sub-t{fill:var(--text);font-size:11px;font-weight:600}.board-subgroup{margin-bottom:12px}.board-subgroup-h{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:4px 2px 8px}.board-subgroup-h span{background:var(--card2);border-radius:999px;padding:1px 8px;font-weight:700}.board-subblock{fill:#1b2942;stroke:var(--border);stroke-width:1}.board-subblock.is-on{fill:#22314a;stroke:#3a5680}.board-subblock.is-gate{fill:rgba(239,159,39,.16);stroke:rgba(239,159,39,.6)}.board-subblock.is-empty{opacity:.65}.board-subblock-n{fill:var(--text);font-size:16px;font-weight:800}.board-subblock-t{fill:var(--muted);font-size:9px;font-weight:600}.board-subblock-arrow{fill:var(--muted);font-size:18px;font-weight:700}.board-card-top{display:flex;gap:10px;align-items:flex-start}.board-card-photo{width:46px;height:46px;object-fit:cover;border-radius:8px;flex-shrink:0;background:var(--card)}.board-card-info{min-width:0}.board-card-client{margin-top:2px;font-size:12px;color:var(--accent)}.board-deadline{margin-left:auto;align-self:flex-start;flex-shrink:0;font-weight:700;font-size:11px;padding:2px 9px;border-radius:999px;white-space:nowrap}.board-deadline.green{background:rgba(99,153,34,.2);color:#a7d977}.board-deadline.amber{background:rgba(239,159,39,.2);color:#f0b357}.board-deadline.red{background:rgba(226,75,74,.2);color:#f5928f}.board-bar{margin-top:8px}.board-bar-track{position:relative;height:8px;background:var(--card);border-radius:6px;margin-bottom:5px}.board-bar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:6px;min-width:3px}.board-bar-fill.green{background:#639922}.board-bar-fill.amber{background:#ef9f27}.board-bar-fill.red{background:#e24b4a}.board-bar-now{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--text);border-radius:1px}.board-bar-dates{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.board-halo{fill:none;stroke-width:3;animation:board-halo-pulse 1.9s ease-in-out infinite}.board-halo.amber{stroke:#f0b357}@keyframes board-halo-pulse{0%,to{opacity:.12}50%{opacity:.6}}.board-subblock.is-gate{animation:board-sub-pulse 1.9s ease-in-out infinite}@keyframes board-sub-pulse{0%,to{opacity:1}50%{opacity:.72}}.board-photo-frame{fill:#0f1a2c;stroke:hsla(0,0%,100%,.28);stroke-width:1.5}.board-photo-img{-webkit-clip-path:inset(0 round 9px);clip-path:inset(0 round 9px);transition:opacity .7s ease-in-out}.inv-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px}.inv-tab{flex:0 0 auto;padding:8px 18px;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:15px;font-weight:600;text-decoration:none}.inv-tab.is-active{background:var(--accent);border-color:var(--accent);color:#06283d}.inv-body{margin-top:16px}.inv-steps{margin-top:12px}.inv-steps summary{cursor:pointer;font-size:14px;color:var(--accent);font-weight:600}.inv-steps ol{margin:10px 0 0;padding-left:22px}.inv-steps li{padding:6px 0;font-size:14px;color:var(--muted)}.inv-steps li>span:first-child{color:var(--text)}.inv-soon{margin-left:8px;font-size:11px;border:1px solid var(--border);border-radius:999px;padding:1px 7px;color:var(--muted);white-space:nowrap}.inv-list{margin-top:14px}.inv-count{margin-left:6px;font-size:13px;font-weight:700;background:var(--card2);border-radius:999px;padding:1px 9px;color:var(--muted)}.inv-leads{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.inv-lead{background:var(--card2);border:1px solid var(--border);border-left:3px solid #fbbf24;border-radius:10px;padding:10px 12px}.inv-lead-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.inv-nakl{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;font-weight:700;word-break:break-all}.inv-nakl.is-empty{color:var(--danger);font-family:inherit;font-size:14px}.inv-tag{flex:0 0 auto;font-size:11px;border:1px solid var(--border);border-radius:999px;padding:1px 8px;color:var(--muted);white-space:nowrap}.inv-tag.is-ok{color:#4ade80;border-color:rgba(74,222,128,.4)}.inv-lead-name{margin-top:4px;font-size:14px;font-weight:600}.inv-lead-sub{margin-top:2px}.inv-lead-meta,.inv-lead-sub{font-size:13px;color:var(--muted)}.inv-lead-meta{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 14px}.inv-lead-meta a{color:var(--accent);text-decoration:none;font-weight:600;margin-left:auto}.inv-file{display:none}.inv-lead.has-file{border-left-color:var(--accent)}.inv-drop{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:12px;padding:22px 14px;border:2px dashed var(--border);border-radius:12px;text-align:center;cursor:pointer}.inv-drop.is-drag,.inv-drop:hover{border-color:var(--accent);background:rgba(56,189,248,.08)}.inv-drop-title{font-size:16px;font-weight:600}.inv-drop-sub{font-size:13px;color:var(--muted)}.inv-drop-log{list-style:none;margin:10px 0 0;padding:0;font-size:13px}.inv-drop-log li{padding:4px 0;word-break:break-word}.inv-drop-log li.is-fail{color:#fbbf24}.inv-drop-choices{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.cab button.inv-drop-choice{margin:0;padding:6px 10px;font-size:13px;background:transparent;color:var(--accent);border:1px solid var(--accent)}.inv-lead.is-dup{border-color:var(--danger);border-left-color:var(--danger);background:hsla(0,91%,71%,.08)}.inv-tag.is-dup{color:var(--danger);border-color:hsla(0,91%,71%,.6)}.inv-lead.is-nosheet{border-left-color:#fbbf24}.inv-tag.is-nosheet{color:#fbbf24;border-color:rgba(251,191,36,.6)}.inv-nosheet-sum{color:#fbbf24}.inv-sheet--none .inv-sheet-warn{margin-top:0}.inv-lead.is-flash{box-shadow:0 0 0 2px var(--accent);transition:box-shadow .3s}.inv-attached{margin-top:10px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--accent);border-radius:8px;font-size:13px}.inv-attached-name{flex:1 1 auto;min-width:0;font-weight:600;word-break:break-all}.cab button.inv-x,.inv-attached-size{flex:0 0 auto;color:var(--muted)}.cab button.inv-x{margin:0;padding:2px 8px;font-size:14px;background:transparent;border:1px solid var(--border);border-radius:6px}.cab button.inv-confirm{width:100%;margin-top:10px;padding:11px;font-size:15px}.cab button.inv-confirm:disabled{opacity:.45;cursor:not-allowed}.inv-result{margin-top:10px;padding:10px 12px;border-radius:8px;background:var(--card);border:1px solid var(--border);font-size:13px}.inv-result.is-ok{border-color:rgba(74,222,128,.45)}.inv-result.is-fail{border-color:hsla(0,91%,71%,.55)}.inv-result .error{margin-top:0}.inv-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.inv-checks li{word-break:break-word}.inv-checks li.is-fail{color:var(--danger)}.inv-result-h{margin-top:10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.inv-result-h.is-fail{color:var(--danger);text-transform:none;letter-spacing:0;font-size:13px}.inv-plan{margin:6px 0 0;padding-left:20px}.inv-plan li{padding:3px 0;word-break:break-word}.inv-step{margin-left:8px;font-size:11px;border:1px solid var(--border);border-radius:999px;padding:1px 7px;color:var(--muted);white-space:nowrap}.inv-step--done{color:#4ade80;border-color:rgba(74,222,128,.45)}.inv-step--skip{color:var(--accent);border-color:rgba(56,189,248,.45)}.inv-step--error{color:var(--danger);border-color:hsla(0,91%,71%,.55)}.inv-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.65)}.inv-modal-box{display:flex;flex-direction:column;gap:12px;width:min(960px,100%);max-height:100%;overflow:auto;padding:14px;background:var(--card);border:1px solid var(--border);border-radius:14px}.inv-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.inv-modal-title{font-size:16px;font-weight:700;word-break:break-all}.inv-modal-img{background:#fff;border-radius:6px;overflow:auto}.inv-modal-img img{display:block;width:100%;height:auto;margin:0 auto}.inv-modal-actions{display:flex;flex-wrap:wrap;gap:8px}.cab button.inv-copy{flex:1 1 220px;margin:0;padding:12px;font-size:15px}.inv-download{flex:0 0 auto;display:inline-flex;align-items:center;padding:12px 16px;border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:15px;font-weight:600;text-decoration:none}.inv-modal .error{margin-top:0}.cab button.inv-open-img{width:100%;margin-top:10px;padding:9px;font-size:14px;background:transparent;color:var(--accent);border:1px solid var(--accent)}.inv-step--warn{color:#fbbf24;border-color:rgba(251,191,36,.55)}.inv-step--off{opacity:.75}.inv-step-link{color:var(--accent);text-decoration:none;font-weight:600;white-space:nowrap}.inv-wechat{margin-top:14px}.inv-wechat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.cab button.inv-wechat-copy{margin:0;padding:6px 12px;font-size:13px;background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:8px;white-space:nowrap}.inv-wechat-text{margin-top:6px;padding:10px 12px;background:var(--card2);border-left:3px solid var(--accent);border-radius:8px;font-size:15px;line-height:1.45;word-break:break-word;cursor:text;-moz-user-select:all;user-select:all;-webkit-user-select:all}.inv-wechat-empty{margin-top:6px;font-size:13px;color:var(--muted)}.inv-sheet{margin-top:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);font-size:13px}.inv-sheet.has-warn{border-color:rgba(251,191,36,.6)}.inv-sheet--none{color:var(--muted)}.inv-sheet-head{word-break:break-word}.inv-sheet-zh{color:var(--muted)}.inv-sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:4px 10px;gap:4px 10px;margin:6px 0 0}.inv-sheet-grid div{min-width:0}.inv-sheet-grid dt{font-size:11px;color:var(--muted)}.inv-sheet-grid dd{margin:0;font-weight:600}.inv-sheet-grid .is-total dd{color:var(--accent)}.inv-sheet-warn{margin-top:6px;color:#fbbf24;font-size:13px;word-break:break-word}.inv-list .card-hint a{color:var(--accent);text-decoration:none;font-weight:600}.inv-sheet-summary{margin-top:8px;font-size:13px;color:var(--muted);word-break:break-word}.inv-sheet-summary a{color:var(--accent);text-decoration:none;font-weight:600}.tax-body{margin-top:14px}.tax-drop{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 16px;border:2px dashed var(--border);border-radius:12px;background:var(--card2);text-align:center;cursor:pointer}.tax-drop.is-drag,.tax-drop:hover{border-color:var(--accent)}.tax-drop.has-file{border-style:solid;border-color:var(--accent)}.tax-drop-title{font-size:16px;font-weight:600;word-break:break-word}.tax-drop-sub{font-size:13px;color:var(--muted)}.tax-table-wrap{margin-top:6px;overflow-x:auto;border:1px solid var(--border);border-radius:8px}.tax-table{border-collapse:collapse;font-size:12px;min-width:100%}.tax-table td,.tax-table th{padding:5px 8px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.tax-table th{color:var(--muted);font-weight:600;background:var(--card2)}.tax-boc-head{font-size:14px;font-weight:600;margin-bottom:8px;word-break:break-word}.tax-table td.tax-in{color:#4ade80;font-weight:600}.tax-table td.tax-out{color:var(--text);font-weight:600}.tax-table td.tax-purpose{max-width:280px;overflow:hidden;text-overflow:ellipsis}.tax-plan-sub{padding-left:22px}.tax-plan-note,.tax-plan-sub{font-size:12px;color:var(--muted);word-break:break-word}.tax-plan-note{margin-top:8px}.tax-write{margin-top:10px;font-size:14px}.tax-write.is-ok{color:#4ade80}.cab button.inv-move{width:100%;margin-top:10px;padding:11px;font-size:15px;background:#22c55e;color:#052e14}.cab button.inv-move:disabled{opacity:.45;cursor:not-allowed}.inv-lbl{display:inline-block;margin-right:6px;padding:0 6px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;vertical-align:1px;color:var(--accent);background:rgba(56,189,248,.12)}.inv-client{color:var(--text);font-weight:600}.st-month{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;font-size:14px}.st-month-nav{color:var(--accent);text-decoration:none;font-weight:600}.st-month-cur{font-size:16px;text-transform:capitalize}.st-summary{margin-top:12px;display:grid;grid-gap:4px;gap:4px;font-size:14px}.st-sum-ok{color:#4ade80;font-weight:600}.st-sum-warn{color:#fbbf24;font-weight:600}.st-sum-bad{color:var(--danger);font-weight:600}.st-deals{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.st-deal{background:var(--card2);border:1px solid var(--border);border-left:3px solid #4ade80;border-radius:10px;padding:10px 12px}.st-deal.is-warn{border-left-color:#fbbf24}.st-deal.is-error{border-color:var(--danger);border-left-color:var(--danger);background:hsla(0,91%,71%,.08)}.st-deal-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.inv-tag.st-pay--china{color:var(--accent);border-color:rgba(56,189,248,.5)}.inv-tag.st-pay--onDelivery{color:#c4b5fd;border-color:rgba(196,181,253,.5)}.inv-tag.st-pay--unknown{color:var(--danger);border-color:hsla(0,91%,71%,.6)}.st-dost{margin-top:6px;font-size:13px}.st-amo-sum{color:var(--muted)}.st-issue{margin-top:4px;font-size:13px;color:#fbbf24;word-break:break-word}.st-issue.is-error{color:var(--danger)}.st-bill{margin-top:12px}.st-sheets{margin-top:4px;font-size:12px;color:var(--muted);word-break:break-word}.st-money{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:2px;color:var(--muted)}.st-money b{color:var(--text)}.home-menu{display:grid;grid-gap:10px;gap:10px;margin-top:8px}.home-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--text);text-decoration:none}.home-item:hover{border-color:var(--accent)}.home-icon{font-size:26px;line-height:1}.home-text{display:grid;grid-gap:2px;gap:2px}.home-title{font-size:16px;font-weight:600}.home-hint{font-size:13px;color:var(--muted)}.st-process{margin-top:12px}.st-process-note{margin-top:8px;font-size:13px;color:var(--muted)}.st-payplan{margin-top:10px}.st-pay-rows{list-style:none;margin:6px 0 0;padding:0;font-size:13px;display:grid;grid-gap:3px;gap:3px}.st-pay-rows li{word-break:break-word}.st-pay-rows li.is-skip{color:var(--muted)}.st-pay-sum{margin-top:8px;font-size:14px;word-break:break-word}.st-bal{margin-top:12px}.st-bal-table{margin-top:6px}.prod-groupby{display:flex;gap:8px;margin:4px 0 12px}.prod-other{color:var(--muted)}.fac-sum{border:1px solid var(--border);border-radius:16px;padding:12px;margin-bottom:14px;background:var(--card)}.fac-sum-head{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}.fac-sum-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.fac-sum-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name badge" "meta badge" "trip badge";align-items:center;grid-gap:2px 10px;gap:2px 10px;padding:8px 10px;border-radius:10px;background:var(--card2);color:var(--text);text-decoration:none}.fac-sum-row:hover{outline:1px solid var(--accent)}.fac-sum-name{grid-area:name;font-weight:600;font-size:14px}.fac-sum-meta{grid-area:meta;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fac-sum-row .prod-countdown{grid-area:badge;margin-left:0}.prod-group{scroll-margin-top:12px}.fac-sum-trip{grid-area:trip;font-size:12px;color:var(--muted)}.fac-trip-day{color:#a7d977}.fac-trip-day,.fac-trip-far{font-weight:600;white-space:nowrap}.fac-trip-far{color:#f0b357}.prod-group-city{font-weight:400;font-size:13px;color:var(--muted)}.ct-sub{font-size:11px;color:var(--muted);margin-top:2px;opacity:.8}.vk-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.cab .vk-actions button{margin-top:0;width:auto}.vk-link{display:flex;gap:8px;margin-top:8px}.vk-link input{flex:1 1;min-width:0;padding:8px 10px;border-radius:8px;border:1.5px solid var(--border);background:var(--card);color:var(--text);font-size:13px}.vk-link.is-need input{border-color:var(--danger)}.cab .vk-link button{margin-top:0;width:auto;padding:8px 12px;font-size:13px;white-space:nowrap}