@charset "UTF-8";
:root{--navy:#101e36;--navy2:#1b2c49;--blue:#2869ef;--blue-light:#edf3ff;--bg:#f4f6fa;--white:#fff;--text:#17253e;--muted:#748196;--line:#e4e9f1;--green:#0d8877;--orange:#c57c13;--red:#ce4855;--radius:14px;--shadow:0 3px 16px #152c5410}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-.8px;line-height:1.25;margin-bottom:10px}h2{font-size:17px;letter-spacing:-.3px;margin-bottom:18px}h3{font-size:14px;margin-bottom:12px}p{margin-bottom:14px}svg{width:20px;height:20px;vertical-align:middle;flex-shrink:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid #2869ef40;outline-offset:2px}input,select,textarea{display:block;width:100%;background:white;border:1px solid #dbe2ed;border-radius:8px;padding:10px 12px;color:var(--text);margin-top:6px;min-height:42px}textarea{resize:vertical}input[type=checkbox]{display:inline;width:16px;min-height:16px;vertical-align:middle;margin:0 6px 0 0}input[readonly]{background:#f6f8fc}.checkbox{display:flex;gap:4px;align-items:center;font-weight:400;margin:14px 0}label{display:block;font-size:12px;font-weight:600;color:#4c5e78;margin-bottom:15px}label small{font-weight:400}.muted{color:var(--muted)}.help{font-size:12px;color:var(--muted);margin-top:8px}.eyebrow{color:var(--blue);letter-spacing:1.8px;font-size:10px;font-weight:750;margin-bottom:12px}.inline{display:inline-flex;gap:8px;align-items:center;margin:0}.inline label{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;min-height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none}.btn:hover{background:#f5f8fd;text-decoration:none}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:#1557d8}.btn.danger{color:var(--red);background:#fff4f5;border-color:#f5d8dd}.btn.ghost{background:transparent;border-color:transparent}.btn.small{padding:5px 9px;min-height:30px;font-size:11px}.btn.big{padding:13px 20px}.btn svg{width:16px;height:16px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.badge{display:inline-block;font-size:10px;font-weight:650;line-height:1.45;padding:4px 9px;border-radius:6px;white-space:nowrap;color:#68768c;background:#eef1f6}.badge.new,.badge.quote,.badge.quoted{background:#edf3ff;color:#2869ef}.badge.in_progress,.badge.booked,.badge.busy{background:#f0edff;color:#7755b8}.badge.ticketed,.badge.issued,.badge.paid,.badge.completed,.badge.available,.badge.sent{background:#e7f6f0;color:#128368}.badge.payment_pending,.badge.awaiting_customer,.badge.unpaid,.badge.partial,.badge.high,.badge.pending{background:#fff4e3;color:#b67810}.badge.urgent,.badge.cancelled,.badge.lost,.badge.void,.badge.refunded,.badge.failed{background:#fff0f1;color:#ca4c59}.alert{padding:13px 18px;border-radius:9px;margin-bottom:20px;border:1px solid #c6e9df;background:#eaf8f2;color:#137965}.alert.error{background:#fff1f2;border-color:#f7d2d7;color:#a63142}.alert.info{background:var(--blue-light);border-color:#d4e1ff;color:#2c61bd}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:var(--navy);color:#c3ccdc;padding:27px 20px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:9px;color:#fff;margin:0 8px 36px;font-size:20px;font-weight:750;letter-spacing:-.6px}.brand svg{color:#7d9aff;width:26px;height:26px}.brand span{font-size:9px;letter-spacing:1px;line-height:1;border:1px solid #516582;color:#acbddb;border-radius:4px;padding:4px;margin-left:0}.nav-label{font-size:9px;letter-spacing:1.7px;color:#7988a3;text-transform:uppercase;margin:14px 13px 8px}.sidebar nav{overflow-y:auto}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#b6c1d4;padding:10px 13px;margin:4px 0;font-size:12px;font-weight:500;border-radius:8px}.sidebar nav a.active{background:#2869ef;color:#fff}.sidebar nav a:hover{background:#243553;color:#fff;text-decoration:none}.sidebar nav a.active:hover{background:#2869ef}.sidebar nav svg{width:18px;height:18px}.side-bottom{margin-top:auto;padding:22px 10px 0}.side-bottom small{color:#8494af;display:block;font-size:10px}.company-name{color:#dfe6f2;font-size:12px;margin-bottom:6px}.main-shell{margin-left:235px}.topbar{height:79px;background:white;border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.crumb{font-size:12px;color:#8592a7}.crumb strong{font-weight:500;color:var(--text)}.top-right{display:flex;align-items:center;gap:16px}.avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eaf0fb;color:#446bb0;font-size:11px;font-weight:700}.user-info{font-size:11px;line-height:1.35}.user-info small{color:var(--muted);display:block;font-size:9px;margin-top:3px}.availability-select{width:105px;min-height:30px;padding:5px 8px;font-size:11px;margin:0;background:#f7f9fc}.mobile-toggle{display:none}.main-content{max-width:1520px;margin:auto;padding:32px 34px 50px}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:28px}.page-header p{font-size:12px;color:var(--muted);margin:0}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;margin-bottom:22px;box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.card-header h2{margin:0}.card-header a{font-size:11px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px 20px;box-shadow:var(--shadow)}.kpi .kpi-label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.kpi .kpi-icon{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:8px;background:var(--blue-light);color:var(--blue)}.kpi .number{font-size:28px;font-weight:700;letter-spacing:-1px;line-height:1.2}.kpi small{display:block;margin-top:8px;color:var(--muted);font-size:10px}.kpi.accent{background:var(--navy);color:white;border-color:var(--navy)}.kpi.accent .kpi-label,.kpi.accent small{color:#b3c0d8}.kpi.accent .kpi-icon{background:#2a3e62;color:#a3bafc}.grid-2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:22px}.grid-even{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.full{grid-column:1/-1}.split-note{display:flex;gap:15px;align-items:center}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.45px;color:#7b8a9f;padding:11px 12px;background:#f7f9fc;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 12px;border-bottom:1px solid #edf0f5;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcff}td .muted{font-size:10px;display:block;margin-top:3px}td a strong{font-weight:600;color:#233652}.nowrap{white-space:nowrap}.right{text-align:right}.empty{text-align:center;padding:42px 20px;color:var(--muted)}.empty svg{display:block;width:33px;height:33px;color:#a4b9df;margin:0 auto 14px}.empty strong{display:block;color:#4c607e;margin-bottom:6px;font-size:14px}.empty p{font-size:12px;margin-bottom:18px}.filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:20px}.filters label{flex:1;min-width:130px;margin:0}.filters label.search{min-width:240px;flex:2}.filters input,.filters select{font-size:12px;min-height:38px}.filters .btn{min-height:38px}.pagination{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:16px;font-size:11px;color:var(--muted)}.timeline{margin-top:5px}.event{position:relative;padding:0 0 22px 27px;border-left:1px solid var(--line);margin-left:5px}.event:before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:#8fa8d2;outline:4px solid white}.event:last-child{padding-bottom:0;border-left:0}.event .event-title{font-weight:600;font-size:11px;color:#354e73;margin-bottom:3px}.event .event-meta{color:#8b97a9;font-size:10px;margin-bottom:6px}.event .event-detail{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.summary{white-space:pre-wrap;overflow-wrap:anywhere;color:#5d6c83;font-size:13px}.details-list{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:20px 0}.details-list dt{color:var(--muted);font-size:10px;margin-bottom:4px}.details-list dd{margin:0;font-weight:600;font-size:12px}.timer-panel{background:var(--navy);color:#fff;border-radius:12px;padding:22px;margin-bottom:22px}.timer-panel h2{font-size:14px;color:#cfdaef;margin-bottom:13px}.timer-clock{font-size:36px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:1px;margin:10px 0 18px}.timer-panel .help{color:#a6b9d8}.active-work{background:#edf5ff;border:1px solid #d7e5fd;border-radius:9px;padding:10px 15px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px}.active-work span{font-variant-numeric:tabular-nums;font-weight:700}.workload-row{margin:16px 0}.workload-info{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}.bar-track{height:6px;background:#eef2f8;border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:#7199ee;border-radius:4px}.board{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:18px}.board-col{padding:16px;background:#edf0f6;border-radius:12px}.board-col h2{font-size:12px;display:flex;justify-content:space-between}.board-job{background:#fff;border:1px solid #e3e8f0;border-radius:10px;padding:16px;margin:12px 0;box-shadow:var(--shadow)}.board-job p{font-size:11px;margin:9px 0;color:var(--muted)}.board-job strong{font-size:12px}.board-job .actions{margin-top:12px}.section-anchor{scroll-margin-top:20px}.finance-note{font-size:11px;border-left:3px solid var(--blue);padding:10px 14px;background:#f5f8ff;color:#5e7394;margin-bottom:20px}.stat-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.stat-row:last-child{border-bottom:0}.note-box{background:#f8fafc;border:1px solid var(--line);padding:14px;border-radius:9px;font-size:12px}.auth-body{background:#f1f5fc;min-height:100vh}.auth-shell{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:100vh;padding:60px 25px;gap:70px;align-items:center}.auth-story{padding:20px 0}.auth-story h1{font-size:44px;line-height:1.12;letter-spacing:-1.5px;max-width:460px;margin:32px 0 22px}.auth-story p{color:#6d7e98;font-size:14px;max-width:390px}.auth-brand{display:flex;gap:9px;align-items:center;color:var(--navy);font-size:22px;letter-spacing:-.5px}.auth-brand svg{color:var(--blue);width:30px;height:30px}.auth-brand span{color:#7c8da9;font-size:11px;letter-spacing:1px}.auth-form{background:white;border:1px solid var(--line);border-radius:18px;padding:35px;box-shadow:0 12px 45px #1b386012}.auth-form h2{font-size:22px}.auth-form .btn{width:100%;margin-top:10px}.auth-feature{margin-top:30px;display:flex;gap:12px;align-items:center;font-size:12px;color:#3a577f}.auth-feature svg{color:#5b83ce}.setup-shell{max-width:790px;margin:0 auto;padding:45px 24px 70px}.setup-shell .auth-brand{margin-bottom:35px}.setup-shell h1{font-size:34px}.footer-note{color:#99a3b3;font-size:10px;margin-top:24px}.invoice-body{background:#eef1f5;padding:35px 18px}.invoice-toolbar{max-width:850px;margin:0 auto 20px}.invoice-paper{background:#fff;max-width:850px;margin:auto;padding:48px;border-radius:12px;border:1px solid var(--line);box-shadow:var(--shadow)}.invoice-top{display:flex;justify-content:space-between;gap:30px;border-bottom:2px solid var(--navy);padding-bottom:28px;margin-bottom:28px}.invoice-top h1{font-size:24px;letter-spacing:-.6px}.invoice-top h2{font-size:28px;margin-bottom:8px;color:#5e7397;text-align:right}.invoice-company{max-width:390px}.invoice-meta{font-size:11px;color:#6c7c95}.invoice-address{white-space:pre-wrap;font-size:11px;color:#6a7b94}.invoice-sides{display:flex;justify-content:space-between;gap:28px;margin-bottom:30px}.invoice-label{font-size:9px;letter-spacing:1.5px;color:#8a97aa;text-transform:uppercase;margin-bottom:8px}.invoice-customer{font-size:14px;font-weight:650;margin-bottom:5px}.invoice-totals{margin:25px 0 30px auto;max-width:320px}.invoice-total{font-size:17px;font-weight:700;border-top:2px solid var(--navy);margin-top:8px}.invoice-footer{font-size:10px;color:#7c899c;border-top:1px solid var(--line);padding-top:22px;white-space:pre-wrap}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.tagline{font-size:10px;letter-spacing:1.5px;color:#7a8aa3}.status-dot{width:7px;height:7px;background:#13a891;border-radius:50%;display:inline-block;margin-right:5px}
.card,.grid-2>*,.grid-even>*,.kpi{min-width:0}.grid-2,.grid-even{align-items:start}.jobs-table{min-width:670px}.jobs-table td:first-child{min-width:165px}.jobs-table td:nth-child(2){min-width:105px}.jobs-table td:first-child a strong{display:block;max-width:225px}
@media(min-width:1500px){.main-content{padding-top:40px}.kpis{gap:22px}.kpi{padding:23px}}
@media(max-width:1100px){.sidebar{width:208px;padding:25px 15px}.main-shell{margin-left:208px}.main-content{padding:28px 24px}.topbar{padding:0 24px}.grid-2{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)}.kpis{gap:12px}.kpi{padding:16px}.kpi .number{font-size:25px}}
@media(max-width:900px){.grid-2,.grid-even{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.board{grid-template-columns:repeat(2,minmax(230px,1fr))}.top-right{gap:10px}.user-info{display:none}.auth-shell{gap:35px}.auth-story h1{font-size:35px}}
@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:235px}.sidebar.open{transform:translateX(0);box-shadow:12px 0 35px #101e3640}.main-shell{margin-left:0}.mobile-toggle{display:inline-flex}.topbar{height:64px;padding:0 17px}.main-content{padding:23px 16px 40px}.page-header{display:block;margin-bottom:23px}.page-header .actions{margin-top:15px}h1{font-size:26px}.crumb{display:none}.card{padding:18px}.form-grid,.form-grid.three{grid-template-columns:1fr}.board{grid-template-columns:1fr}.auth-shell{display:block;padding:30px 20px}.auth-story h1{font-size:30px;margin:24px 0 14px}.auth-story p,.auth-feature{display:none}.auth-brand{margin-bottom:22px}.auth-form{padding:25px}.setup-shell{padding:30px 18px}.invoice-paper{padding:24px}.invoice-top{gap:18px}.invoice-sides{display:block}.invoice-sides>div{margin-bottom:18px}.invoice-toolbar .actions{gap:6px}.active-work{align-items:flex-start}.kpi small{font-size:9px}.topbar .btn.ghost{padding:6px}.avatar{width:30px;height:30px}.filters label.search{min-width:180px}.invoice-top h2{font-size:22px}.invoice-top h1{font-size:19px}}
@media print{@page{size:A4;margin:16mm}body.invoice-body{background:#fff;padding:0}.invoice-toolbar,.no-print{display:none!important}.invoice-paper{max-width:none;padding:0;margin:0;border:0;border-radius:0;box-shadow:none}.invoice-paper table{font-size:10px}.invoice-top{break-inside:avoid}.invoice-paper tr{break-inside:avoid}.invoice-totals,.invoice-footer{break-inside:avoid}a{color:inherit;text-decoration:none}.badge{border:1px solid #ddd}thead{display:table-header-group}}
