*{box-sizing:border-box}html{background:#0b0d10;color:#f4f6f8;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;min-height:100vh;background:#0b0d10}body.locked{overflow:hidden}button,input,select,textarea{font:inherit}input,select,textarea{font-size:16px}button{cursor:pointer}[hidden]{display:none!important}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;padding:20px 14px;background:#101317;border-right:1px solid #262a30;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;font-weight:700;padding:0 8px 24px}.brand img{width:38px;height:38px;border-radius:8px}.nav{display:grid;gap:4px}.nav button{border:0;border-radius:8px;background:transparent;color:#8e98a4;text-align:left;padding:13px}.nav button.active,.nav button:hover{background:#1b2026;color:#fff}.local-note{margin-top:auto;color:#6d7782;font-size:11px;padding:10px}.main{grid-column:2;padding:12px 30px 80px;min-width:0}.topbar{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #242930;margin-bottom:24px}.topbar h1,.section-head h2{margin:0}.eyebrow{color:#87919d;font-size:10px;letter-spacing:.14em;font-weight:800;margin:0 0 5px}.top-actions,.section-head,.filterbar,.drawer-actions,.modal-actions{display:flex;align-items:center;gap:10px}.section-head{justify-content:space-between;margin-bottom:16px}.top-actions input{width:285px}.button,.close-button{border:1px solid #39414b;border-radius:8px;background:#191e24;color:#f4f6f8;padding:10px 13px;text-decoration:none;display:inline-block}.button.primary{background:#8ecae6;border-color:#8ecae6;color:#10151a;font-weight:750}.button.danger{border-color:#824752;color:#ffb9c1}.file-label{cursor:pointer}.view{display:none}.view.active-view{display:block}.pipeline-board{display:block;overflow-x:visible;padding-bottom:15px}.home-overview{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;margin-bottom:14px;border:1px solid #2a323b;border-radius:14px;background:linear-gradient(135deg,#151b21,#101419)}.home-overview h2{margin:0 0 5px;font-size:21px}.home-overview p:not(.eyebrow){margin:0;color:#87919d;font-size:13px}.home-overview>strong{display:flex;align-items:baseline;gap:5px;color:#8ecae6;font-size:28px}.home-overview>strong span{color:#8f9aa5;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.work-queue{display:grid;gap:12px}.pipeline-column{background:#11151a;border:1px solid #242a31;border-radius:12px;padding:13px;min-height:0}.pipeline-column header{display:flex;justify-content:space-between;align-items:center;padding:2px 3px 11px}.pipeline-column h2{font-size:13px;margin:0}.pipeline-column header span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:12px;background:#202730;color:#8ecae6;font-size:11px;font-weight:800}.pipeline-jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.pipeline-jobs .job-card{margin-bottom:0}.job-card,.job-row,.customer-card{width:100%;border:1px solid #2c333c;border-radius:9px;background:#181d23;color:#f4f6f8;text-align:left}.job-card{padding:12px;margin-bottom:8px;display:grid;gap:7px}.job-card.priority-urgent{border-left:3px solid #f0737f}.card-top{display:flex;justify-content:space-between;font-size:11px}.card-top span{color:#8f9aa5}.job-card small,.job-row small,.muted{color:#87919d}.job-list{display:grid;gap:8px;margin-top:15px}.job-row{padding:13px;display:grid;grid-template-columns:150px 1fr 180px 90px;gap:12px;align-items:center}.job-row span{display:grid;gap:4px}.filterbar{flex-wrap:wrap}.customer-search{margin-bottom:16px}.customer-search input{max-width:520px}.customer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.customer-card{padding:17px;display:grid;gap:6px}.customer-card h2{margin:2px 0;font-size:19px}.customer-card small{color:#8ecae6}.panel,.quick-card{background:#12161b;border:1px solid #272d35;border-radius:10px;padding:18px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-grid article{display:grid;align-content:start;gap:10px}.settings-grid h2{margin:0}.settings-grid label{display:grid;gap:6px}.empty-state{color:#69747f;text-align:center;padding:25px 8px}.empty-state.large{background:#12161b;border:1px dashed #323a44;border-radius:10px;padding:60px 20px}.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.76);z-index:40}.modal{position:absolute;top:3vh;left:50%;transform:translateX(-50%);width:min(850px,94vw);max-height:94vh;overflow:auto;background:#11151a;border:1px solid #343b45;border-radius:12px;padding:20px}.modal.small{width:min(650px,94vw)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.modal-head h2{margin:0}.form-section{border-top:1px solid #292f37;padding:17px 0}.form-section h3{margin:0 0 13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label,.photo-inputs label{display:grid;gap:6px;font-size:13px}.span-2{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #37404a;border-radius:7px;background:#0d1014;color:#fff;padding:10px;min-height:42px}textarea{resize:vertical}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.check-grid label,.service-check{display:flex;align-items:center;gap:8px}.check-grid input[type=checkbox],.service-check input{width:20px;min-height:20px}.item-row{display:grid;grid-template-columns:2fr 70px 1fr 1.3fr 1.3fr 40px;gap:7px;padding:10px 0;border-bottom:1px solid #282e35}.item-row label{font-size:11px;color:#8e98a3}.icon-button,.text-button{border:0;background:transparent;color:#8ecae6;padding:9px}.photo-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-strip,.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:12px}.photo-strip figure,.gallery figure{margin:0;background:#0d1014;padding:7px;border-radius:8px}.photo-strip img,.gallery img{width:100%;height:110px;object-fit:cover;border-radius:5px}.photo-strip input{font-size:16px}.delete-photo{border:0;background:transparent;color:#ff9daa}.form-error,.warning,.banner{border-radius:8px;padding:11px}.form-error{background:#402127;color:#ffd4d8}.warning{background:#3b311c;color:#ffe7a6;margin-top:12px}.modal-actions{justify-content:flex-end;position:sticky;bottom:-20px;background:#11151a;padding:14px 0}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(560px,100vw);background:#11151a;border-left:1px solid #343b45;z-index:50;padding:20px;overflow:auto;transform:translateX(102%);transition:.18s}.drawer.open{transform:none}.drawer section{border-top:1px solid #282e35;padding:15px 0}.drawer-actions{flex-wrap:wrap}.gallery figcaption{font-size:11px;color:#9aa4ad}.banner{background:#233141;color:#cce7ff}.quick-view{max-width:760px;margin:auto}.quick-card{margin-top:15px}.toast{position:fixed;left:50%;bottom:85px;transform:translate(-50%,20px);background:#eaf6fb;color:#101519;border-radius:8px;padding:11px 16px;opacity:0;pointer-events:none;z-index:80;transition:.18s}.toast.show{opacity:1;transform:translate(-50%,0)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #2a3037}.mobile-nav{display:none}#printZone{display:none}
@media(max-width:760px){body{padding-bottom:78px}.shell{display:block}.sidebar{display:none}.main{padding:max(12px,env(safe-area-inset-top)) 12px 35px}.topbar{min-height:92px;margin-bottom:16px}.top-actions input,.top-actions #newCustomerBtn{display:none}.top-actions{gap:6px}.topbar .button{padding:9px;font-size:12px}.home-overview{padding:16px;margin-bottom:10px}.home-overview h2{font-size:19px}.home-overview p:not(.eyebrow){max-width:210px}.home-overview>strong{font-size:24px}.work-queue{gap:9px}.pipeline-column{padding:11px}.pipeline-jobs{grid-template-columns:1fr}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:30;background:rgba(14,17,21,.98);border-top:1px solid #303740;padding:5px 3px max(5px,env(safe-area-inset-bottom))}.mobile-nav button{border:0;background:transparent;color:#7f8a95;min-height:58px;font-size:12px;font-weight:700}.mobile-nav button.active{color:#fff}.job-row{grid-template-columns:1fr 1fr}.job-row>span:nth-child(3),.job-row>span:nth-child(4){font-size:12px}.customer-grid,.settings-grid{grid-template-columns:1fr}.modal{top:0;width:100%;max-height:100vh;min-height:100vh;border-radius:0;padding-top:max(20px,calc(env(safe-area-inset-top) + 12px))}.form-grid,.photo-inputs,.check-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.item-row{grid-template-columns:1fr 64px}.item-row label:nth-child(n+3){grid-column:1/-1}.drawer{width:100%;padding-top:max(20px,calc(env(safe-area-inset-top) + 12px))}}
.enrolment-qr{display:grid;place-items:center;margin:14px 0;padding:14px;background:#fff;border-radius:14px;max-width:300px}.enrolment-qr svg{display:block;width:100%;height:auto;max-width:260px}@media print{body>*:not(#printZone){display:none!important}#printZone{display:grid!important;grid-template-rows:148mm 148mm;width:210mm;height:296mm;background:#fff;color:#000}.job-sheet{height:148mm;padding:9mm 11mm;border-bottom:1px dashed #777;overflow:hidden}.job-sheet.blank{border-bottom:0}.job-sheet header{display:flex;justify-content:space-between;align-items:center}.job-sheet header strong{font-size:22pt}.job-sheet h1{font-size:20pt;margin:5mm 0}.sheet-grid{display:grid;grid-template-columns:1fr 34mm;gap:5mm}.sheet-qr svg{width:32mm;height:32mm}.service-boxes{display:flex;flex-wrap:wrap;gap:5mm;font-size:12pt;margin-top:4mm}.notes-space{height:40mm;border:1px solid #555;margin-top:5mm;padding:3mm;font-size:10pt}@page{size:A4 portrait;margin:0}}