:root{--surface-page:#f3f4f1;--surface-card:#fff;--surface-inset:#f8f9f6;--surface-raised:#eef0ec;--surface-overlay:#fff;--border-subtle:#e7e9e4;--border-default:#d9ddd6;--border-strong:#b4bcb7;--border-focus:#1b8a55;--text-primary:#0f1512;--text-body:#26302b;--text-secondary:#56605a;--text-muted:#6b746e;--text-placeholder:#8a928d;--text-link:#167346;--accent:#1b8a55;--accent-hover:#167346;--accent-active:#125e3a;--accent-fill:#1b8a551a;--accent-text:#167346;--danger:#c42f37;--danger-fill:#e5484d1a;--warning:#8a5a00;--warning-fill:#e2a3362e;--info:#2a5bc4;--info-fill:#4f8cff1f;--success:#167346;--success-fill:#1b8a551a;--gray-700:#dfe3e0;--text-on-accent:#fff;--shadow-card:0 1px 2px #1018140a, 0 8px 24px -16px #1018141a;--shadow-card-hover:0 2px 4px #1018140d, 0 16px 32px -18px #10181438;--shadow-focus:0 0 0 3px #1b8a5547;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}.theme-dark-panel{--surface-page:#0b0c0c;--surface-card:#141615;--surface-inset:#181a19;--surface-raised:#1f2120;--surface-overlay:#0b0c0c;--border-subtle:#232625;--border-default:#2c2f2e;--border-strong:#3a3e3c;--text-primary:#fff;--text-body:#d4d6d5;--text-secondary:#9da3a0;--text-muted:#6f7572;--accent:#22a05f;--accent-hover:#2cb56e;--accent-fill:#22a05f29;--accent-text:#60d090;--warning:#f0c674;--warning-fill:#e2a33624;--danger:#ff8787;--gray-700:#2c2f2e}.theme-fintruck{--surface-page:#181818;--surface-card:#202020;--surface-inset:#1d1d1d;--surface-raised:#262626;--surface-overlay:#101010;--border-subtle:#303030;--border-default:#383838;--border-strong:#484848;--text-primary:#fff;--text-body:#c8c8c8;--text-secondary:#b0b0b0;--text-muted:#8a8a8a;--text-placeholder:#6e6e6e;--accent:#22a05f;--accent-hover:#2cb56e;--accent-active:#1b8a55;--accent-text:#60d090;--accent-fill:#22a05f24;--danger:#ff8787;--danger-fill:#ff87871f;--warning:#f0c674;--warning-fill:#e2a33621;--info:#4f8cff;--info-fill:#4f8cff1f;--gray-700:#303030}*,:before,:after{box-sizing:border-box}html,body{background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;margin:0}button{-webkit-tap-highlight-color:transparent;font-family:inherit}.app{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative}.hdr{border-bottom:1px solid var(--border-subtle);background:var(--surface-page);z-index:3;align-items:center;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.hdr-btn{color:var(--accent-text);cursor:pointer;text-align:left;background:0 0;border:none;min-width:56px;padding:0;font-size:15px;font-weight:500}.hdr-title{flex-direction:column;flex:1;align-items:center;font-size:15px;font-weight:600;line-height:1.2;display:flex}.hdr-title small{color:var(--text-muted);font-size:11px;font-weight:400}.hdr-more{text-align:right;min-width:56px;color:var(--text-muted);letter-spacing:2px;font-size:18px}.seed{z-index:4;font:600 10.5px var(--font-mono);letter-spacing:.08em;color:var(--warning);background:var(--warning-fill);border-radius:6px;padding:2px 6px;position:fixed;top:60px;right:12px}.body{padding:calc(14px + var(--tg-viewport-content-safe-area-inset-top,0px) + var(--tg-viewport-safe-area-inset-top,0px)) 16px calc(24px + var(--tg-viewport-safe-area-inset-bottom,0px));flex-direction:column;flex:1;gap:14px;animation:.22s ease-out fade;display:flex}.state .btn{min-width:200px}.who,.hero{align-items:center;gap:12px;display:flex}.hero{background:linear-gradient(135deg, var(--accent-fill), transparent 60%), var(--surface-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);border-radius:18px;padding:14px}.hero h1{font-size:19px}.avatar{background:linear-gradient(145deg, var(--accent), var(--accent-hover));color:#fff;letter-spacing:.02em;width:46px;height:46px;box-shadow:0 6px 16px -8px var(--accent);border-radius:14px;flex:none;place-items:center;font-size:15px;font-weight:800;display:grid}.mini-avatar{background:var(--surface-raised);width:34px;height:34px;color:var(--text-secondary);border-radius:10px;flex:none;place-items:center;font-size:11.5px;font-weight:700;display:grid}.av-yuqori{background:var(--danger-fill);color:var(--danger)}.av-o‘rta{background:var(--warning-fill);color:var(--warning)}.av-past{background:var(--success-fill);color:var(--success)}.who-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.who-main h1{white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.who-sub{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:flex;overflow:hidden}.chip{background:var(--surface-raised);height:20px;color:var(--text-body);border-radius:6px;flex:none;align-items:center;padding:0 7px;font-size:11.5px;font-weight:600;display:inline-flex}.icon-btn{border:1px solid var(--border-subtle);background:var(--surface-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:10px;flex:none;place-items:center;display:grid}.icon-btn:active{transform:scale(.94)}.icon-btn.spin svg{animation:.8s linear infinite spin}.greet small,.muted{color:var(--text-muted);font-size:13px}.small{font-size:12px}h1{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:700}.cap{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11.5px;font-weight:700}.sec-row{justify-content:space-between;align-items:baseline;display:flex}.sec-row .count{color:var(--accent-text);background:var(--accent-fill);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.card{background:var(--surface-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);border-radius:16px}.kpis{grid-template-columns:1fr 1fr;gap:10px;display:grid}.kpi{flex-direction:column;gap:4px;min-width:0;padding:12px 12px 12px 14px;display:flex;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--accent);opacity:.7;border-radius:3px;width:3px;position:absolute;top:12px;bottom:12px;left:0}.kpi-danger:before{background:var(--danger)}.kpi-ico{opacity:.55;font-size:15px;position:absolute;top:8px;right:10px}.kpi small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.kpi b{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:19px;font-weight:800}.danger{color:var(--danger)!important}.ok{color:var(--accent-text)!important}.list{flex-direction:column;display:flex;overflow:hidden}.row{border:none;border-top:1px solid var(--border-subtle);color:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:14px;transition:background .12s;display:flex}.row:first-child{border-top:none}.row:active{background:var(--surface-raised)}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-main>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.row-main small{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.dot{background:var(--text-muted);border-radius:50%;flex:none;width:7px;height:7px}.dot-yuqori{background:var(--danger)}.dot-o‘rta{background:var(--warning)}.dot-past{background:var(--success)}.num{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.chev{color:var(--text-muted);font-size:18px;line-height:1}.quote{cursor:default}.quote.selected{background:var(--accent-fill)}.quote.selected .row-main>span:first-child{color:var(--accent-text);font-weight:600}.empty{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:4px;padding:22px 16px;font-size:13.5px;display:flex}.empty b{color:var(--text-primary);font-size:14px}.empty small{color:var(--text-muted);font-size:12.5px}.empty .glyph{margin-bottom:4px;font-size:26px}.ai-card{border:1px solid var(--info-fill);background:linear-gradient(135deg, var(--info-fill), var(--surface-card));cursor:pointer;color:inherit;text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.ai-card .glyph{background:var(--surface-raised);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.ai-card .row-main b{font-size:14px}.ai-card .go{color:var(--info);white-space:nowrap;font-size:13px;font-weight:600}.callout{color:var(--text-body);border-left:3px solid;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px 12px 16px;font-size:13px;display:flex}.callout b{color:var(--text-primary);font-size:13.5px}.callout-danger{background:var(--danger-fill);color:var(--danger)}.callout-danger b{color:var(--danger)}.callout-danger span{color:var(--text-body)}.callout-warning{background:var(--warning-fill);color:var(--warning)}.callout-warning b{color:var(--warning)}.callout-warning span{color:var(--text-body)}.callout-info{background:var(--info-fill);color:var(--info)}.callout-info b{color:var(--info)}.callout-info span{color:var(--text-body)}.dhero{background:linear-gradient(160deg, var(--accent-fill), transparent 55%), var(--surface-card);flex-direction:column;gap:8px;padding:16px;display:flex}.dhero.tone-danger{background:linear-gradient(160deg, var(--danger-fill), transparent 55%), var(--surface-card)}.dhero.tone-warning{background:linear-gradient(160deg, var(--warning-fill), transparent 55%), var(--surface-card)}.dhero.tone-info{background:linear-gradient(160deg, var(--info-fill), transparent 55%), var(--surface-card)}.stack-8{flex-direction:column;gap:8px;display:flex}.badges{flex-wrap:wrap;gap:6px;display:flex}.badge{background:var(--surface-raised);height:22px;color:var(--text-body);border-radius:6px;align-items:center;gap:6px;width:fit-content;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.badge i{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-danger{background:var(--danger-fill);color:var(--danger)}.badge-warning{background:var(--warning-fill);color:var(--warning)}.badge-info{background:var(--info-fill);color:var(--info)}.badge-neutral{color:var(--success)}.title{text-wrap:balance;font-size:20px}.amount{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:800}.status{font-size:13px;font-weight:600}.status-approved{color:var(--accent-text)}.status-rejected{color:var(--danger)}.done{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:22px 14px;display:flex}.done .check{background:var(--success-fill);width:56px;height:56px;color:var(--success);border-radius:50%;place-items:center;font-size:26px;animation:.35s cubic-bezier(.2,.9,.3,1.4) pop;display:grid}.done.rejected .check{background:var(--danger-fill);color:var(--danger)}.done b{font-size:16px}.done small{color:var(--text-muted);font-size:12.5px}.kv{padding:4px 14px}.kv>div{border-top:1px solid var(--border-subtle);justify-content:space-between;gap:12px;padding:9px 0;font-size:13.5px;display:flex}.kv>div:first-child{border-top:none}.kv>div>span:first-child{color:var(--text-muted);flex:none}.kv>div>span:last-child{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}.kv .total{border-top:1px solid var(--border-strong)}.table{padding:4px 14px;font-size:13px}.table>div{border-top:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;padding:8px 0;display:grid}.table>div>span:not(:first-child){text-align:right}.table .th{color:var(--text-muted);border-top:none;font-size:12px}.receipt{border:1px dashed var(--border-strong);background:var(--surface-inset);height:140px;color:var(--text-muted);border-radius:12px;place-items:center;font-size:13px;display:grid}.rec{background:var(--accent-fill);color:var(--text-primary);text-wrap:pretty;border-radius:12px;padding:12px 14px;font-size:13px}.hist{color:var(--text-secondary);border-left:2px solid var(--border-subtle);flex-direction:column;gap:0;padding-left:14px;font-size:12.5px;display:flex}.hist span{padding:4px 0;position:relative}.hist span:before{content:"";background:var(--border-strong);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;left:-19px}.hist span:last-child:before{background:var(--accent)}.field{flex-direction:column;gap:6px;font-size:13px;display:flex}.field input{border:1px solid var(--border-default);background:var(--surface-inset);height:42px;color:var(--text-primary);font:inherit;border-radius:10px;outline:none;padding:0 12px;font-size:14px;transition:border-color .12s}.field input:focus{border-color:var(--accent)}.field small{color:var(--text-muted);font-size:12px}.field-err input{border-color:var(--danger)}.field-err small{color:var(--danger)}.frames{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;margin:0 -16px;padding:0 16px;display:flex;overflow-x:auto}.frames::-webkit-scrollbar{display:none}.frame{scroll-snap-align:center;aspect-ratio:16/9;border:1px solid var(--border-subtle);cursor:zoom-in;background:#0e0e0e;border-radius:14px;flex:0 0 100%;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.frame img{object-fit:contain;width:100%;height:100%;display:block}.frame-fail{color:#9a9a9a;text-align:center;padding:12px;font-size:12.5px}.frames-meta{color:var(--text-secondary);justify-content:space-between;margin-top:-6px;font-size:12px;display:flex}.lightbox{z-index:20;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:10px;animation:.15s fade;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:100%;max-height:85vh}.lightbox-cap{color:#cfcfcf;font:500 12px var(--font-mono)}.video-empty{text-align:center;color:#bdbdbd;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:16px;display:flex}.video-empty .glyph{font-size:26px}.video-empty b{color:#fff;font-size:14px}.video-empty small{color:#9a9a9a;max-width:300px;font-size:12px}.video{background:linear-gradient(135deg,#2a2a2a,#121212);border-radius:14px;height:190px;position:relative;overflow:hidden}.video-top{font:500 11px var(--font-mono);color:#d0d0d0;justify-content:space-between;display:flex;position:absolute;top:8px;left:10px;right:10px}.bbox{border:2px solid #ff8787;border-radius:4px;width:34%;height:46%;position:absolute;top:30%;left:34%}.bbox span{color:#1a0000;font:600 10.5px var(--font-mono);white-space:nowrap;background:#ff8787;border-radius:3px;padding:1px 6px;position:absolute;top:-20px;left:-2px}.play{background:#0009;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;display:grid;position:absolute;bottom:10px;left:12px}.bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface-page);border-top:1px solid var(--border-subtle);flex-direction:column;gap:8px;margin:auto -16px -24px;display:flex;position:sticky;bottom:0}.bar-note{text-align:center;color:var(--text-muted);font-size:12px}.btn{cursor:pointer;border:none;border-radius:12px;height:40px;padding:0 16px;font-size:14px;font-weight:600;transition:transform .1s,opacity .1s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6}.btn-lg{width:100%;height:48px;font-size:15px}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;box-shadow:0 8px 20px -10px var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{color:#fff;background:#e03131}.state .btn+.btn{margin-top:-2px}.btn-secondary{background:var(--surface-raised);color:var(--text-primary)}.btn-ghost{color:var(--danger);background:0 0;width:100%}.state{text-align:center;color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:48px 16px;font-size:14px;display:flex}.state b{color:var(--text-primary);font-size:15px}.state small{color:var(--text-muted);max-width:300px;font-size:12.5px}.state .glyph{font-size:30px}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.sk{background:linear-gradient(90deg, var(--surface-card) 25%, var(--surface-raised) 50%, var(--surface-card) 75%);background-size:200% 100%;border-radius:8px;animation:1.2s linear infinite shimmer}.sk-line{height:12px}.sk-title{width:60%;height:18px}.sk-card{border-radius:14px;height:72px}.sk-row{border-radius:0;height:54px}.toast{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));background:var(--surface-overlay);color:var(--text-primary);border:1px solid var(--border-default);z-index:9;box-shadow:var(--shadow-card);white-space:nowrap;border-radius:10px;padding:9px 14px;font-size:13px;animation:.2s ease-out fade;position:fixed;transform:translate(-50%)}.face-scrim{z-index:10;background:#0009;place-items:center;animation:.15s fade;display:grid;position:fixed;inset:0}.face-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:180px;height:180px;font-size:15px;font-weight:600;display:flex}.pulse{animation:1.1s ease-in-out infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45;transform:scale(.94)}}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.pulse,.spinner,.sk,.body,.toast,.done .check{animation:none}}
