:root{--f-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;--mono:var(--f-mono);--bg:#f3f5f8;--panel:#ffffff;--side:#ffffff;--ink:#0f172a;--muted:#4a5568;--faint:#68768a;--line:#e3e8ef;--label:#5b6678;--value:#0f172a;--money:#0f172a;--accent:#1f56d6;--accent-2:#3a6ff0;--accent-soft:#edf3ff;--accent-ink:#ffffff;--gray-soft:#f1f4f8;--ok:#15803d;--ok-soft:#e8f6ee;--warn:#b45309;--warn-soft:#fdf3e2;--bad:#c0262d;--bad-soft:#fdecec;--info:#6533c9;--info-soft:#f1ecfd;--inp-bg:#ffffff;--inp-line:#cfd7e2;--sec-bg:#f9fafc;--th-bg:#f7f9fb;--c-vt:#7c3aad;--c-cn:#0f7a6e;--c-tn:#b45309;--c-kd:#1f56d6;--s-bg:#ffffff;--s-solid:#ffffff;--s-ink:#273244;--s-muted:#738096;--s-line:#eceff4;--s-hover:#f2f5f9;--s-on:var(--accent-soft);--shadow-1:0 1px 2px rgba(15,23,42,.05);--shadow-2:0 2px 6px -1px rgba(15,23,42,.06),0 10px 24px -8px rgba(15,23,42,.10);--top-glow:none;--glass-strong:rgba(255,255,255,.92);--ring:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b111b;--panel:#121a27;--side:#0f1622;--ink:#e6ebf2;--muted:#a3aec0;--faint:#7f8ba0;--line:#223045;--label:#93a0b5;--value:#eef2f7;--money:#eef2f7;--accent:#6f9bff;--accent-2:#8fb1ff;--accent-soft:#17264a;--accent-ink:#0b1220;--gray-soft:#18222f;--ok:#5fd394;--ok-soft:#12301f;--warn:#f2b660;--warn-soft:#352610;--bad:#f58b8f;--bad-soft:#3a1719;--info:#b9a6f7;--info-soft:#251d44;--inp-bg:#0e1520;--inp-line:#33445c;--sec-bg:#101825;--th-bg:#0f1724;--c-vt:#cfa2ee;--c-cn:#5fd0c2;--c-tn:#f2b660;--c-kd:#8fb1ff;--s-bg:#0f1622;--s-solid:#0f1622;--s-ink:#cbd4e2;--s-muted:#7c889c;--s-line:#1c2738;--s-hover:#172131;--s-on:var(--accent-soft);--shadow-1:0 0 0 1px rgba(255,255,255,.02),0 1px 2px rgba(0,0,0,.35);--shadow-2:0 10px 28px rgba(0,0,0,.4);--glass-strong:rgba(18,26,39,.92);color-scheme:dark}}:root[data-theme=dark]{--bg:#0b111b;--panel:#121a27;--side:#0f1622;--ink:#e6ebf2;--muted:#a3aec0;--faint:#7f8ba0;--line:#223045;--label:#93a0b5;--value:#eef2f7;--money:#eef2f7;--accent:#6f9bff;--accent-2:#8fb1ff;--accent-soft:#17264a;--accent-ink:#0b1220;--gray-soft:#18222f;--ok:#5fd394;--ok-soft:#12301f;--warn:#f2b660;--warn-soft:#352610;--bad:#f58b8f;--bad-soft:#3a1719;--info:#b9a6f7;--info-soft:#251d44;--inp-bg:#0e1520;--inp-line:#33445c;--sec-bg:#101825;--th-bg:#0f1724;--c-vt:#cfa2ee;--c-cn:#5fd0c2;--c-tn:#f2b660;--c-kd:#8fb1ff;--s-bg:#0f1622;--s-solid:#0f1622;--s-ink:#cbd4e2;--s-muted:#7c889c;--s-line:#1c2738;--s-hover:#172131;--s-on:var(--accent-soft);--shadow-1:0 0 0 1px rgba(255,255,255,.02),0 1px 2px rgba(0,0,0,.35);--shadow-2:0 10px 28px rgba(0,0,0,.4);--glass-strong:rgba(18,26,39,.92);color-scheme:dark}body{font-family:var(--f-body);font-size:14px;line-height:1.5;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"calt" 1;text-rendering:optimizeLegibility}.kpi .v,.money,.mono,.num,td.num{font-variant-numeric:tabular-nums}.code-chip,.mono,.trip-h .code,.trk-code,.xk-code{font-family:var(--f-mono);letter-spacing:0}.mono{font-size:12.75px;font-weight:500;color:var(--value)}.inp.mono::placeholder,input.mono::placeholder{font-family:var(--f-body);letter-spacing:-.006em}.sub.mono,td .sub.mono{color:var(--muted);font-weight:400}.app .mi{font-weight:500;color:var(--s-ink)}.app .mi.on{background:var(--accent-soft);font-weight:600;box-shadow:none;position:relative}.app .mi.on,.app .mi.on svg.i{color:var(--accent)}.app .mi.on:before{display:block;content:"";position:absolute;left:-12px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.app .mi.on .badge{background:var(--accent);color:#fff}.app .grp-t{font-size:10.5px;font-weight:600;letter-spacing:.09em;color:var(--s-muted)}.brand b{font-weight:700;letter-spacing:-.015em}header.top{background:var(--glass-strong);backdrop-filter:saturate(1.4) blur(8px)}.crumb{font-weight:600;letter-spacing:-.01em}.crumb,.ph h1{color:var(--ink)}.ph h1{font-size:23px;font-weight:700;letter-spacing:-.022em}.ph h1 svg.i{background:var(--accent-soft);color:var(--accent)}.ph p{color:var(--muted)}.card h3,.panel>.hd h2{font-weight:650;letter-spacing:-.01em;color:var(--ink)}.btn{font-weight:550;border-radius:8px}.app .btn.pri,.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px rgba(15,23,42,.12)}.btn.pri:hover{background:color-mix(in srgb,var(--accent) 88%,#000);border-color:color-mix(in srgb,var(--accent) 88%,#000)}:root[data-theme=dark] .btn.pri:hover{background:var(--accent-2);border-color:var(--accent-2)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn.pri:hover{background:var(--accent-2);border-color:var(--accent-2)}}.kpi .l{font-size:12.5px;font-weight:500;color:var(--label);letter-spacing:0}.kpi .v{font-weight:700;letter-spacing:-.02em;color:var(--value)}.kpi .s{color:var(--faint)}.kpi:before{background:var(--accent);opacity:.9}.kpi.ok .v{color:var(--ok)}.kpi.warn .v{color:var(--warn)}.kpi.bad .v{color:var(--bad)}th{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--label);background:var(--th-bg)}td{color:var(--value)}td .sub{color:var(--muted)}tbody tr:hover td{background:color-mix(in srgb,var(--accent-soft) 45%,transparent)}tbody tr.click:hover td{background:var(--accent-soft)}tfoot td{color:var(--value);background:var(--th-bg)}.field label,.form label{color:var(--label);font-weight:550;font-size:12.5px;letter-spacing:0}.dl dt{color:var(--label);font-weight:500}.dl dd{color:var(--value);font-weight:550}.inp,select.inp,textarea.inp{background:var(--inp-bg);border-color:var(--inp-line);color:var(--value);border-radius:8px;transition:border-color .15s,box-shadow .15s}.inp::placeholder,textarea.inp::placeholder{color:var(--faint);opacity:1}.inp:hover{border-color:color-mix(in srgb,var(--inp-line) 60%,var(--faint))}.inp:focus,select.inp:focus,textarea.inp:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.chip{font-weight:600;letter-spacing:0}.code-chip{font-size:11.75px;font-weight:600;border-radius:5px}.tab{font-weight:550}.tab.on{color:var(--accent);border-bottom-color:var(--accent)}.tab.on .n{background:var(--accent);color:#fff}.chat-btn{background:#0f172a;border:1px solid rgba(255,255,255,.08)}:root[data-theme=dark] .chat-btn{background:#1b2638}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .chat-btn{background:#1b2638}}:root{--nav-bg:#132a52;--nav-top:#132a52;--nav-ink:#dfe7f5;--nav-muted:#93a5c6;--nav-line:rgba(255,255,255,.09);--nav-hover:rgba(255,255,255,.08);--nav-on:#2f6bff;--nav-on-ink:#ffffff;--nav-mark:#ef4136}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--nav-bg:#0f1f3f;--nav-top:#0f1f3f;--nav-ink:#d6e0f0;--nav-muted:#8394b3;--nav-line:rgba(255,255,255,.08);--nav-hover:rgba(255,255,255,.07);--nav-on:#3a6ff0;--nav-on-ink:#ffffff;--nav-mark:#ff5a4f}}:root[data-theme=dark]{--nav-bg:#0f1f3f;--nav-top:#0f1f3f;--nav-ink:#d6e0f0;--nav-muted:#8394b3;--nav-line:rgba(255,255,255,.08);--nav-hover:rgba(255,255,255,.07);--nav-on:#3a6ff0;--nav-on-ink:#ffffff;--nav-mark:#ff5a4f}.app aside.side{background:var(--nav-bg);border-right:0;box-shadow:none;color:var(--nav-ink);backdrop-filter:none;-webkit-backdrop-filter:none}.app .brand-row{border-bottom-color:var(--nav-line)}.app .brand b{color:#fff}.app .brand span,.app .side-tog{color:var(--nav-muted)}.app .side-tog{background:transparent;border-color:var(--nav-line)}.app .side-tog:hover{background:var(--nav-hover);color:#fff;border-color:rgba(255,255,255,.18)}.app .grp-t{color:var(--nav-muted)}.app.mini .grp-t{border-top-color:var(--nav-line)}.app .mi{color:var(--nav-ink)}.app .mi svg.i{color:var(--nav-muted)}.app .mi:hover{background:var(--nav-hover);color:#fff}.app .mi:hover svg.i{color:#fff}.app .mi.on{background:var(--nav-on);box-shadow:0 4px 12px -4px rgba(0,0,0,.45)}.app .mi.on,.app .mi.on svg.i{color:var(--nav-on-ink)}.app .mi.on:before{background:var(--nav-mark)}.app .mi.on .badge{background:#fff;color:var(--nav-on)}.app nav.menu{scrollbar-color:rgba(255,255,255,.18) transparent}.app .ver{border-top-color:var(--nav-line);color:var(--nav-muted)}.app .ver b{color:#ffb4ae}.app .ver small{color:var(--nav-muted)}.app header.top{background:var(--nav-top);border-bottom:1px solid var(--nav-line);color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 1px 3px rgba(15,23,42,.18)}.app header.top .crumb{color:#fff}.app header.top .crumb .muted{color:var(--nav-muted)}.app header.top .who{color:#fff}.app header.top .who small{color:var(--nav-muted)}.app header.top .avatar{background:rgba(255,255,255,.14);color:#fff}.app header.top .burger{color:#fff}.app header.top .burger,.app header.top .theme-sw{background:transparent;border-color:rgba(255,255,255,.2)}.app header.top .theme-sw button{color:var(--nav-muted)}.app header.top .theme-sw button+button{border-left-color:rgba(255,255,255,.2)}.app header.top .theme-sw button:hover{color:#fff;background:var(--nav-hover)}.app header.top .theme-sw button.on{background:var(--nav-on);color:#fff}.app header.top .btn.logout{background:transparent;border-color:rgba(255,255,255,.25);color:#fff}.app header.top .btn.logout:hover{background:var(--nav-hover);border-color:rgba(255,255,255,.4)}table.man-tbl{table-layout:fixed;min-width:1120px}table.man-tbl col.c-stt{width:52px}table.man-tbl col.c-kh{width:130px}table.man-tbl col.c-mvd{width:190px}table.man-tbl col.c-lh{width:160px}table.man-tbl col.c-tt{width:78px}table.man-tbl col.c-ten{width:200px}table.man-tbl col.c-n{width:92px}table.man-tbl col.c-img{width:210px}table.man-tbl col.c-x{width:48px}table.man-tbl td,table.man-tbl th{padding:6px 8px;vertical-align:middle}table.man-tbl td.c,table.man-tbl th.c{text-align:center}table.man-tbl .inp{width:100%;height:34px;font-size:13px}table.man-tbl .inp.num{text-align:right;font-variant-numeric:tabular-nums}.lp{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.lp-i{position:relative;display:inline-flex}.lp-i .thumb{width:36px;height:36px}.lp-x{position:absolute;top:-6px;right:-6px;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:var(--bad,#d33);color:#fff;font-size:12px;line-height:16px}.lp-add,.lp-x{cursor:pointer}.lp-add{width:36px;height:36px;border:1px dashed var(--line);border-radius:6px;background:none;color:var(--muted);font-size:18px}.lp-add:hover{border-color:var(--accent);color:var(--accent)}.pm-tabs{align-self:start;justify-self:start}.pm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.pm-grid .thumb{width:100%;height:auto;aspect-ratio:1}.pm-grid .thumb .k{position:absolute;left:4px;bottom:4px;padding:0 5px;border-radius:4px;background:rgba(0,0,0,.6);color:#fff;font-size:10px;font-weight:700}.pm-st{display:grid;gap:12px}.pm-opts{display:flex;flex-wrap:wrap;gap:8px}.pm-opt{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:13px}.pm-opt.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pm-opt.cur{opacity:.55;cursor:not-allowed}.pm-st .fl{display:grid;gap:4px}.pm-st .fl span{font-size:12px;color:var(--muted)}.lightbox .lb-bar .btn{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.35)}.lightbox .lb-bar .btn:hover{background:rgba(255,255,255,.26);color:#fff}.app .mi .badge.hot{background:#e5484d;color:#fff;box-shadow:none}.nag{position:fixed;right:18px;bottom:calc(74px + env(safe-area-inset-bottom,0px));z-index:40;width:min(340px,calc(100% - 36px));background:var(--panel);color:var(--ink);border:1px solid var(--line);border-left:4px solid #e5484d;border-radius:12px;padding:12px 14px;box-shadow:0 12px 32px rgba(10,17,34,.22);animation:nag-in .25s ease-out}.nag b{display:flex;align-items:center;gap:6px;font-size:13px}.nag b .i{width:16px;height:16px;color:#e5484d}.nag p{margin:6px 0 10px;font-size:13px;line-height:1.45}.nag-a{display:flex;gap:8px}@keyframes nag-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.top-r .wallet-btn{white-space:nowrap}.top-r .wallet-btn b{font-variant-numeric:tabular-nums}@media (max-width:720px){.top-r .wallet-btn .wl{display:none}.top-r .wallet-btn{padding-inline:8px;font-size:12px}}.anchor{scroll-margin-top:72px}.modal.xl{width:min(1180px,100%);max-height:94vh}.kd-intake .modal>.bd{gap:14px}.kd-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.kd-head .kd-cust{font-size:18px;font-weight:700;color:var(--pri,#2563eb)}.kd-head .kd-list{margin-left:auto}.kd-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:6px;border-top:1px solid var(--line)}.kd-pick{display:grid;gap:10px}.kd-open{display:grid;gap:8px}.kd-open .row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:8px 12px;border:1px dashed var(--line);border-radius:10px}.xk2{display:grid;gap:10px;padding:0 0 10px}.xk-table tr.xk-no td{background:color-mix(in srgb,var(--panel) 92%,#888 8%)}.xk-table tr.xk-open td{border-bottom-color:transparent}.xk-table .xk-acts{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.xk-table tr.xk-detail>td{background:var(--bg);padding:10px 14px 14px}.xk-dgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:12px;align-items:start}.xk-dgrid .tw{border:1px solid var(--line);border-radius:10px;background:var(--panel)}.xk-dacts{display:flex;gap:8px;align-items:center;margin-top:10px}.xk-dacts .xk-file{display:flex;gap:6px}.xk-bill2{border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:13px;overflow:hidden}.xk-bill2 .xk-bill-h{padding:8px 12px;font-weight:700;border-bottom:1px solid var(--line)}.xk-bill2 table{width:100%;min-width:0}.xk-bill2 td{padding:6px 12px;border-top:1px solid var(--line)}.xk-bill2 td .sub{display:block;font-size:12px;color:var(--muted)}.xk-bill2 .tot td{background:var(--gray-soft);font-size:14px}.xk2 .xk-bar{margin:0 12px}@media (max-width:900px){.xk-dgrid{grid-template-columns:1fr}}.chat{grid-template-rows:auto auto minmax(0,1fr);max-height:min(620px,78vh)}.chat .ai-alerts{max-height:34vh;border-bottom:1px solid var(--line)}.ai-chat{display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-height:0}.ai-chat .msgs{padding:12px;display:grid;gap:8px;overflow-y:auto;align-content:start;min-height:120px}.ai-chat.big .msgs{height:max(260px,calc(100dvh - 420px));padding:16px}.ai-chat.big .bub{max-width:min(760px,88%);font-size:14px}.ai-chat .ai-text{white-space:pre-line}.ai-chat .ai-links,.ai-chat .ai-more{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ai-chat .ai-more{align-items:center;font-size:12px}.ai-chat .ai-quick{display:flex;gap:6px;padding:8px 10px 0;overflow-x:auto;scrollbar-width:thin}.ai-chat.big .ai-quick{flex-wrap:wrap;padding:10px 16px 0}.ai-q{border:1px solid var(--line);background:var(--panel);color:inherit;border-radius:999px;padding:4px 10px;font-size:12px;white-space:nowrap;cursor:pointer}.ai-q:hover{border-color:var(--accent);color:var(--accent)}.ai-q:disabled{opacity:.5;cursor:default}.ai-chat form{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line);margin-top:8px}.ai-chat form input{flex:1}.ai-chat.big form{padding:12px 16px}.ai-body{white-space:pre-line;max-width:640px}.job-bill .jb-pend td{background:color-mix(in srgb,var(--warn-soft,#fff7e6) 60%,transparent)}.job-bill .jb-paid td:first-child{color:var(--muted)}.job-bill td .sub a{font-weight:600}.job-bill .jb-final{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-top:2px solid var(--brand);background:linear-gradient(90deg,var(--brand-soft),color-mix(in srgb,var(--brand-soft) 40%,var(--panel)))}.job-bill .jb-final .l{display:block;font-size:15px;font-weight:800;color:var(--brand);text-transform:uppercase;letter-spacing:.02em}.job-bill .jb-final .s{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}.job-bill .jb-final .s b{color:var(--ink)}.job-bill .jb-final .v{font-size:28px;line-height:1.1;font-weight:800;color:var(--brand);white-space:nowrap;font-variant-numeric:tabular-nums}@media (max-width:640px){.job-bill .jb-final{flex-direction:column;align-items:flex-start}.job-bill .jb-final .v{font-size:24px}}