:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#e9f1ff;background:#081322;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.app{display:flex;min-height:100vh}.sidebar{width:242px;background:#0b192d;border-right:1px solid #20334d;position:sticky;top:0;height:100vh;padding:22px 14px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;padding:6px 10px 24px}.brand img{height:48px;width:48px;border-radius:50%;object-fit:contain}.brand strong{font-size:17px}.brand small,.topbar small{display:block;color:#94a9c6;margin-top:4px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{border:0;text-align:left;background:transparent;color:#a8bad4;border-radius:10px;padding:13px 14px;display:flex;gap:12px;align-items:center}.sidebar nav button.active,.sidebar nav button:hover{background:#153c62;color:#fff}.sidebar-foot{margin-top:auto;color:#9ab0c9;text-align:center;line-height:1.8}.shell{min-width:0;flex:1}.topbar{height:82px;border-bottom:1px solid #21334c;display:flex;align-items:center;gap:15px;padding:0 30px;background:#0b192d}.topbar strong{font-size:19px}.topbar .primary{margin-left:auto}#menu{display:none}.iconbtn{border:1px solid #38506d;background:#142941;color:#fff;padding:9px 12px;border-radius:9px}main{max-width:1330px;padding:30px;margin:auto}.pagehead{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:24px}h1{font-size:27px;margin:0 0 6px}h2{font-size:18px;margin:0 0 16px}h3{font-size:15px;margin:0 0 12px}.muted{color:#9eb2cc}.pagehead p{margin:0}.primary,.secondary,.danger{border:0;border-radius:9px;padding:11px 16px;font-weight:650;color:white;background:#087de6}.primary:hover{background:#0097f7}.secondary{background:#1b3553;border:1px solid #365273}.danger{background:#71303c}.small{padding:7px 11px;font-size:12px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.card,.panel{background:#11243b;border:1px solid #28415e;border-radius:15px;padding:22px}.card small{color:#a4b8cf}.card strong{display:block;font-size:25px;margin-top:11px}.panel{margin-bottom:18px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:13px}.field label{font-weight:600;color:#c4d6ea;font-size:12px}.field input,.field select,.field textarea,.search{width:100%;min-width:0;padding:12px 13px;border:1px solid #395574;border-radius:9px;background:#0a1b30;color:#f5faff;outline:none}.field input:focus,.field textarea:focus,.search:focus{border-color:#19a8ff;box-shadow:0 0 0 2px #1599ff26}.field textarea{resize:vertical;min-height:82px}.field input[type=checkbox]{width:auto}.checks{display:flex;align-items:center;gap:10px;margin:5px 0 18px}.checks input{width:18px;height:18px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.tablewrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:610px}.table th,.table td{text-align:left;padding:13px 11px;border-bottom:1px solid #29415e}.table th{color:#9fb5d0;font-size:12px}.table td{vertical-align:middle}.table tr:last-child td{border-bottom:0}.tag{display:inline-block;border-radius:20px;padding:6px 10px;background:#24415e;color:#cbe6ff;font-size:12px;white-space:nowrap}.tag.Delivered{background:#174b3e;color:#8cf4ca}.tag.Ready{background:#4a3b18;color:#ffe8a0}.tag.Progress{background:#173f6b;color:#93d7ff}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:22px}.step{border:1px solid #36506d;border-radius:10px;padding:12px 9px;text-align:center;color:#afc1d7}.step.on{background:#15466b;color:#fff;border-color:#18a7ff}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.line{height:1px;background:#2c435d;margin:17px 0}.service-list{display:grid;gap:8px;margin:10px 0}.service-row{display:grid;grid-template-columns:minmax(0,2fr) 88px 130px 40px;gap:9px;align-items:end}.service-row .field{margin:0}.expense-row{display:grid;grid-template-columns:minmax(0,2fr) 125px 40px;gap:9px;align-items:end}.expense-row .field{margin:0}.totals{background:#0b1c30;border:1px solid #2e4a68;border-radius:12px;padding:17px}.totals .row{margin:10px 0}.totals strong{font-size:20px}.green{color:#72e6b5}.red{color:#ff9ca4}.autocomplete{position:relative}.suggestions{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow:auto;background:#193450;border:1px solid #3a658a;border-radius:9px;z-index:5;box-shadow:0 12px 24px #0007}.suggestions button{display:block;width:100%;padding:11px 12px;background:transparent;border:0;color:white;text-align:left}.suggestions button:hover{background:#23557c}.hint{font-size:12px;color:#a2b7d0}.empty{text-align:center;padding:35px;color:#a6bbd3}.callout{padding:13px 16px;background:#113b57;border-radius:9px;border:1px solid #275c7c;margin:15px 0}.split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr);gap:18px}.invoice{background:#fff;color:#142235;padding:30px;border-radius:12px;max-width:780px;margin:auto}.invoice h2{margin:0}.invoice .muted{color:#526579}.invoice img{height:80px;width:80px;object-fit:contain}.invoice table{width:100%;border-collapse:collapse}.invoice td,.invoice th{border-bottom:1px solid #d6dfe9;padding:11px;text-align:left}.invoice .row{margin:10px 0}#toast{position:fixed;bottom:20px;right:20px;background:#175c71;color:#fff;padding:13px 18px;border-radius:9px;display:none;z-index:30}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{position:fixed;left:-260px;z-index:20;transition:left .2s;box-shadow:8px 0 30px #0007}.sidebar.open{left:0}#menu{display:block}.topbar{height:68px;padding:0 15px}.topbar strong{font-size:16px}.topbar .primary{padding:9px 11px;font-size:12px}main{padding:17px}.pagehead{align-items:flex-start}h1{font-size:23px}.grid2,.grid3{grid-template-columns:1fr}.card,.panel{padding:17px}.steps{grid-template-columns:repeat(2,1fr)}.service-row{grid-template-columns:minmax(0,1fr) 65px 105px 34px;gap:5px}.service-row input,.expense-row input{padding:10px 7px}.expense-row{grid-template-columns:minmax(0,1fr) 100px 34px}.service-row .field label{font-size:10px}.cards{gap:9px}.card{padding:13px}.card strong{font-size:19px}.invoice{padding:16px}.actions button{flex:1}}@media print{body{background:white!important}.sidebar,.topbar,.pagehead,.actions,.steps,.no-print,#toast{display:none!important}main{padding:0!important;max-width:none!important}.panel{border:0!important;padding:0!important;background:white!important}.invoice{max-width:none;border-radius:0;padding:0}body *{visibility:hidden}#invoicePrint,#invoicePrint *{visibility:visible}#invoicePrint{position:absolute;left:0;top:0;width:100%}}

/* Official iFix Mobile invoice — screen and A4 print */
.inv-modern{max-width:980px;padding:0;overflow:hidden;background:#fff;color:#0b1d36;box-shadow:0 18px 55px #0003;font-size:14px;line-height:1.45}
.inv-modern .inv-header{display:flex;align-items:center;gap:18px;padding:22px 30px;background:linear-gradient(115deg,#07182e,#092a55);color:#fff}
.inv-modern .inv-logo{width:76px;height:76px;object-fit:contain;border-radius:50%;flex-shrink:0}
.inv-modern .inv-brand{flex:1}.inv-modern .inv-brand h2{font-size:27px;font-weight:800;margin:0}.inv-modern .inv-brand p{margin:2px 0;color:#b7d9fa}
.inv-modern .inv-shop-contact{text-align:right;font-size:13px;line-height:1.9;overflow-wrap:anywhere}
.inv-modern .inv-heading{padding:27px 30px 19px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.inv-modern .inv-heading h1{font-size:25px;letter-spacing:.015em;margin:4px 0}.inv-modern .inv-heading p{margin:0;color:#64748b}.inv-modern .inv-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#1164bd;font-weight:800}
.inv-modern .inv-ref{background:#eef5fd;border-radius:12px;padding:13px 18px;display:grid;gap:3px;min-width:205px}.inv-modern .inv-ref span{font-size:10px;font-weight:750;color:#57718d}.inv-modern .inv-ref strong{font-size:19px;color:#06428c}.inv-modern .inv-ref b{font-size:12px}
.inv-modern .inv-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 30px 24px}
.inv-modern .inv-info{border:1px solid #d5e3f3;border-radius:12px;padding:17px;min-width:0}.inv-modern .inv-info h3{margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid #e0e9f4;color:#0b4b96;font-size:15px}.inv-modern .inv-detail{display:grid;grid-template-columns:112px minmax(0,1fr);gap:8px;margin:8px 0;overflow-wrap:anywhere}.inv-modern .inv-detail span{color:#64748b;font-size:12px}.inv-modern .inv-detail strong{font-size:13px}
.inv-modern .inv-table-wrap{margin:0 30px;overflow-x:auto}.inv-modern .inv-table{width:100%;border-collapse:collapse}.inv-modern .inv-table th{background:#0b2b53;color:white;font-size:12px;text-align:left;padding:12px}.inv-modern .inv-table td{padding:13px 12px;border-bottom:1px solid #e1eaf5}.inv-modern .inv-table th:first-child{border-radius:8px 0 0 0}.inv-modern .inv-table th:last-child{border-radius:0 8px 0 0}.inv-modern .inv-center{text-align:center}.inv-modern .inv-money{text-align:right;white-space:nowrap}.inv-modern .inv-num{color:#64748b}
.inv-modern .inv-bottom{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:28px 30px}.inv-modern .inv-warranty h3{margin:0 0 12px}.inv-modern .inv-warranty-badge{display:inline-block;background:#e2efff;color:#08478e;padding:8px 16px;border-radius:9px}.inv-modern .inv-warranty p{font-size:12px;color:#64748b;max-width:270px}.inv-modern .inv-totals{display:grid;gap:7px}.inv-modern .inv-totals>div{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;background:#f2f6fb;border-radius:7px}.inv-modern .inv-totals .inv-balance{background:#0b3471;color:#fff;font-weight:800;font-size:16px}
.inv-modern .inv-footer{margin:0 30px;padding:24px 0 16px;border-top:1px solid #c7d8eb}.inv-modern .inv-sign{display:flex;justify-content:space-between;gap:20px;padding:40px 25px 12px}.inv-modern .inv-sign span{min-width:155px;border-top:1px solid #1b3654;text-align:center;padding-top:8px;font-size:12px}.inv-modern .inv-footer>p{text-align:center;color:#64748b;font-size:12px}
@media(max-width:650px){.inv-modern .inv-header{padding:15px;gap:10px}.inv-modern .inv-logo{width:52px;height:52px}.inv-modern .inv-brand h2{font-size:19px}.inv-modern .inv-shop-contact{font-size:10px}.inv-modern .inv-heading{padding:20px 16px;flex-direction:column}.inv-modern .inv-info-grid{grid-template-columns:1fr;margin:0 16px 20px}.inv-modern .inv-table-wrap{margin:0 16px}.inv-modern .inv-table{min-width:480px}.inv-modern .inv-bottom{grid-template-columns:1fr;margin:20px 16px}.inv-modern .inv-footer{margin:0 16px}.inv-modern .inv-sign{padding-left:0;padding-right:0}.inv-modern .inv-sign span{min-width:0;width:45%}}
@media print{@page{size:A4;margin:10mm}.inv-modern{box-shadow:none!important;max-width:none!important;font-size:11px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-modern .inv-header{padding:13px 18px!important}.inv-modern .inv-heading{padding:17px 18px 12px!important;flex-direction:row!important}.inv-modern .inv-info-grid{grid-template-columns:1fr 1fr!important;margin:0 18px 16px!important}.inv-modern .inv-table-wrap{margin:0 18px!important}.inv-modern .inv-table{min-width:0!important}.inv-modern .inv-bottom{grid-template-columns:1fr 1fr!important;margin:18px!important}.inv-modern .inv-footer{margin:0 18px!important;padding-top:12px!important}.inv-modern .inv-sign{padding-top:22px!important}.inv-modern .inv-logo{width:60px!important;height:60px!important}}

/* Delivery confirmation overlay — repair jobs remain unchanged */
.delivery-overlay{position:fixed;inset:0;background:rgba(2,9,21,.82);display:flex;align-items:center;justify-content:center;padding:18px;z-index:1000;backdrop-filter:blur(5px)}
.delivery-dialog{width:min(100%,520px);max-height:92vh;overflow:auto;background:#122640;color:#f5f9ff;border:1px solid #3b5d81;border-radius:20px;padding:28px;box-shadow:0 30px 90px #0009}
.delivery-symbol{display:grid;place-items:center;width:52px;height:52px;background:#124d42;border:1px solid #2f987e;color:#9ff5d9;border-radius:50%;font-size:30px;font-weight:800;margin-bottom:12px}
.delivery-dialog h2{font-size:23px;margin:0 0 10px}.delivery-dialog p{color:#b6c9e0;line-height:1.6;margin:0 0 20px}
.delivery-details{background:#0a1a2e;border:1px solid #2e4b6b;border-radius:12px;padding:12px 17px;margin-bottom:22px}
.delivery-details>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #233b55}.delivery-details>div:last-child{border:0}
.delivery-details span{color:#a7bbd3}.delivery-details strong{text-align:right;overflow-wrap:anywhere}
.delivery-buttons{display:flex;gap:10px}.delivery-buttons button{flex:1;padding:13px 12px}
@media(max-width:500px){.delivery-dialog{padding:20px}.delivery-buttons{flex-direction:column-reverse}}
@media print{.delivery-overlay{display:none!important}}

/* V4 navigation and delivered-job layout */
.nav-subtitle{display:block;font-size:10px;font-weight:500;opacity:.7;margin-top:3px}
.dashboard-link{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%;border:1px solid #2c4764}
.dashboard-link:hover,.dashboard-link:focus-visible{border-color:#26a9ff;background:#183855;outline:2px solid transparent}
.dashboard-receive{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;text-align:left;color:#e8f5ff;font:inherit;cursor:pointer}
.dashboard-receive:hover{background:#164967}
.delivered-action-panel{margin:24px 0!important;padding:23px!important;border:1px solid #2d6a8b!important;background:linear-gradient(135deg,#12344d,#11243a)!important}
.delivered-action-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:19px}
.delivered-action-head h2{margin:0 0 8px}.delivered-action-head p{margin:0}
.delivered-action-buttons{display:flex;gap:14px;margin-top:0!important;flex-wrap:wrap}
.delivered-action-buttons button{min-height:46px;padding:12px 22px}
.delivered-action-panel+.panel{margin-top:24px!important}
@media(max-width:600px){.dashboard-receive{flex-direction:column;align-items:flex-start}.delivered-action-panel{padding:17px!important}.delivered-action-head{flex-wrap:wrap}.delivered-action-buttons{flex-direction:column}.delivered-action-buttons button{width:100%}}

/* V5 navigation fixes */
.back-jobs{min-height:42px;padding:10px 20px;border-radius:10px;white-space:nowrap}
.pagehead>button[data-go]{cursor:pointer;position:relative;z-index:1}
button[data-go]{touch-action:manipulation;cursor:pointer}
@media(max-width:650px){.pagehead{gap:14px;flex-wrap:wrap}.back-jobs{width:100%}}
