@font-face{font-family:__Sora_35e689;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Sora_35e689;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Sora_35e689;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Sora_35e689;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Sora_35e689;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Sora_35e689;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Sora_35e689;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Sora_35e689;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Sora_Fallback_35e689;src:local("Arial");ascent-override:85.29%;descent-override:25.50%;line-gap-override:0.00%;size-adjust:113.73%}.__className_35e689{font-family:__Sora_35e689,__Sora_Fallback_35e689;font-style:normal}.__variable_35e689{--font-sora:"__Sora_35e689","__Sora_Fallback_35e689"}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}:root{--bg:#0c1524;--card:#13203a;--line:#24344a;--line-soft:#1b2a40;--text:#e9eff7;--dim:#90a2bc;--accent:#17b15c;--accent-deep:#128a47;--accent-soft:#34c878;--accent-text:#17b15c;--on-accent:#0c1524;--hover:#1a2740;--err:#f28a78;--focus-ring:rgba(23,177,92,.45);--scroll-thumb:#26374f;--scroll-thumb-hover:#35496485;--ok:#3e8e63;--info:#3e6fa8;--danger:#c24a3a;--now-line:#f2705a;--shade-nonworking:#0e1626;--shade-timeoff-bg:#33280d;--shade-timeoff-fg:#f6c453;--crew-1:#7fb5f5;--crew-1-soft:#152a44;--crew-2:#4dd7d0;--crew-2-soft:#0e2f33;--crew-3:#f6c453;--crew-3-soft:#33280d;--crew-4:#b6a4f5;--crew-4-soft:#241f3a;--crew-5:#4ce0a0;--crew-5-soft:#0d3327;--crew-6:#f28a78;--crew-6-soft:#33201c;--crew-7:#f5a3d0;--crew-7-soft:#3a1f30;--crew-8:#a3c98a;--crew-8-soft:#22301a;--crew-unassigned:#98a6bd;--crew-unassigned-soft:#1f2636;--radius:10px;--font-body:var(--font-inter,system-ui),system-ui,sans-serif;--font-display:var(--font-sora,system-ui),system-ui,sans-serif}[data-theme=light]{--bg:#f6f8fc;--card:#fff;--line:#dce3ec;--line-soft:#eaeff5;--text:#12233b;--dim:#566577;--accent:#17b15c;--accent-deep:#0e7a3c;--accent-soft:#14a052;--accent-text:#0e7a3c;--on-accent:#06210f;--hover:#eef3f9;--err:#b4291a;--focus-ring:rgba(14,122,60,.55);--scroll-thumb:#cbd4df;--scroll-thumb-hover:#b2bece;--ok:#1f7a4d;--info:#2c5e9e;--danger:#b4291a;--now-line:#c24a3a;--shade-nonworking:#eef2f7;--shade-timeoff-bg:#fbf0d2;--shade-timeoff-fg:#8a6a12;--crew-1:#2563c9;--crew-1-soft:#e4edfb;--crew-2:#0e8f88;--crew-2-soft:#dbf1ef;--crew-3:#b5820e;--crew-3-soft:#fbf0d2;--crew-4:#6e4fc9;--crew-4-soft:#ebe5fa;--crew-5:#1c915f;--crew-5-soft:#ddf3e9;--crew-6:#c24a3a;--crew-6-soft:#fbe4e0;--crew-7:#c2477f;--crew-7-soft:#fadfec;--crew-8:#5c7a3a;--crew-8-soft:#e9f0de;--crew-unassigned:#5b6b82;--crew-unassigned-soft:#edf1f6}*{box-sizing:border-box;margin:0}body{background-color:var(--bg);background-image:linear-gradient(rgba(23,177,92,.032) 1px,transparent 0),linear-gradient(90deg,rgba(23,177,92,.032) 1px,transparent 0),linear-gradient(rgba(23,177,92,.058) 1px,transparent 0),linear-gradient(90deg,rgba(23,177,92,.058) 1px,transparent 0);background-size:28px 28px,28px 28px,140px 140px,140px 140px;background-position:-1px -1px;background-attachment:fixed;color:var(--text);font:15px/1.55 var(--font-body);-webkit-font-smoothing:antialiased}[data-theme=light] body{background-image:linear-gradient(rgba(18,35,59,.028) 1px,transparent 0),linear-gradient(90deg,rgba(18,35,59,.028) 1px,transparent 0),linear-gradient(rgba(18,35,59,.045) 1px,transparent 0),linear-gradient(90deg,rgba(18,35,59,.045) 1px,transparent 0)}a{color:inherit;text-decoration:none}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}main.wide{max-width:none}nav{display:flex;gap:20px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--card)}nav,nav .brand{align-items:center}nav .brand{display:inline-flex;gap:8px;font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:-.02em;color:var(--accent-text);margin-right:12px}nav .brand svg{display:block}nav a{color:var(--dim);transition:color .15s}nav a:hover{color:var(--text)}main{max-width:1100px;margin:28px auto;padding:0 20px}h1{font-size:22px;margin-bottom:18px}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}td,th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);font-size:14px}th{color:var(--dim);font-weight:600;text-transform:uppercase;font-size:11.5px;letter-spacing:.06em}tr:last-child td{border-bottom:none}tr:hover td{background:var(--hover)}.badge{padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge.scheduled{background:#152a44;color:#7fb5f5}.badge.dispatched{background:#33280d;color:#f6c453}.badge.completed{background:#0e2f33;color:#4dd7d0}.badge.cancelled{background:#33201c;color:#f28a78}.badge.new_lead{background:#241f3a;color:#b6a4f5}.badge.qualified{background:#152a44;color:#7fb5f5}.badge.quoted{background:#33280d;color:#f6c453}.badge.won{background:#0e2f33;color:#4dd7d0}.badge.customer{background:#0d3327;color:#4ce0a0}.badge.lost{background:#33201c;color:#f28a78}.badge.draft{background:#1f2636;color:#98a6bd}.badge.sent{background:#152a44;color:#7fb5f5}.badge.accepted{background:#0e2f33;color:#4dd7d0}.badge.declined{background:#33201c;color:#f28a78}.badge.paid{background:#0e2f33;color:#4dd7d0}.badge.partial{background:#33280d;color:#f6c453}.badge.overdue{background:#33201c;color:#f28a78}.badge.void{background:#1f2636;color:#98a6bd}[data-theme=light] .badge.qualified,[data-theme=light] .badge.scheduled,[data-theme=light] .badge.sent{background:#e4edfb;color:#1e4fa6}[data-theme=light] .badge.dispatched,[data-theme=light] .badge.partial,[data-theme=light] .badge.quoted{background:#fbf0d2;color:#7e610f}[data-theme=light] .badge.accepted,[data-theme=light] .badge.completed,[data-theme=light] .badge.paid,[data-theme=light] .badge.won{background:#dbf1ef;color:#0c6e67}[data-theme=light] .badge.cancelled,[data-theme=light] .badge.declined,[data-theme=light] .badge.lost,[data-theme=light] .badge.overdue{background:#fbe4e0;color:#b4291a}[data-theme=light] .badge.new_lead{background:#ebe5fa;color:#5a3fb0}[data-theme=light] .badge.customer{background:#ddf3e9;color:#177a50}[data-theme=light] .badge.draft,[data-theme=light] .badge.void{background:#edf1f6;color:#566577}.right{text-align:right}.totals{margin-left:auto;max-width:320px;margin-top:14px}.totals .row{display:flex;justify-content:space-between;padding:4px 0}.totals .row.grand{border-top:1px solid var(--line);margin-top:6px;padding-top:8px;font-weight:700;font-size:17px}.li-input{width:100%}.li-input.num{text-align:right}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;max-width:420px}.field label{font-size:11.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}select{padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--text);font-family:var(--font-body)}.err{color:var(--err);margin:8px 0}.lt-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.lt-toolbar .search{min-width:200px}.pager{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:14px}.kpi-sub{color:var(--dim);font-size:12px;margin-top:3px}.rangebar{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.rangebar button{background:var(--card);border:1px solid var(--line);color:var(--text);font-weight:500}.rangebar button.active,.rangebar button:hover{border-color:var(--accent)}.rangebar button.active{background:var(--accent);color:var(--on-accent)}.statrow{display:flex;gap:22px;flex-wrap:wrap;margin:4px 0 8px}.statrow .s b{font-size:20px;margin-right:4px;font-family:var(--font-display)}.bars{display:flex;align-items:flex-end;gap:8px;height:150px}.bars .bar{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.bars .bar .fill{width:60%;background:linear-gradient(180deg,var(--accent-soft),var(--accent));border-radius:4px 4px 0 0;min-height:2px;transition:height .2s}.bars .bar .blabel{color:var(--dim);font-size:11px;margin-top:6px}.doc-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.doc-logo{max-height:56px;max-width:200px}.doc-name{font-family:var(--font-display);font-weight:700;font-size:22px}.doc-meta{text-align:right}.doc-title{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:.05em}.doc-billto{margin:16px 0}.doc-footer{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}@media print{.no-print,nav{display:none!important}body{background:#fff;color:#000}main{margin:0;max-width:none}.card,table{border-color:#ccc;background:#fff}}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px;margin-bottom:24px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card .num{font-family:var(--font-display);font-size:30px;font-weight:600;letter-spacing:-.01em}.card .label{color:var(--dim);font-size:13px}form.login{max-width:340px;margin:80px auto;display:flex;flex-direction:column;gap:12px}form.login h1{display:flex;align-items:center;gap:10px;justify-content:center;color:var(--accent-text);margin-bottom:8px}input{padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--text);font-family:var(--font-body)}input:focus,select:focus{outline:2px solid var(--focus-ring);outline-offset:0;border-color:var(--accent-deep)}button{padding:10px 14px;border-radius:8px;border:none;background:var(--accent);color:var(--on-accent);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background .15s}button:hover{background:var(--accent-soft)}button:active{background:var(--accent-deep)}.dim{color:var(--dim)}button.ghost{background:transparent;border:1px solid var(--line);color:var(--text);padding:5px 10px;font-weight:500;margin-left:6px}button.ghost:hover{background:transparent;border-color:var(--accent);color:var(--accent-text)}button.ghost.danger:hover{border-color:var(--err);color:var(--err)}button:disabled{opacity:.5;cursor:default}audio{vertical-align:middle}