[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f5f7fb;color:#172033}button,input,select,textarea{font:inherit}.auth-layer{position:fixed;inset:0;background:#0e1726;display:grid;place-items:center;z-index:50}.auth-card{background:white;width:min(390px,92vw);padding:32px;border-radius:20px;box-shadow:0 30px 80px #0007}.auth-card input{width:100%;margin:7px 0;padding:12px;border:1px solid #d5dbe7;border-radius:10px}.auth-card button{width:100%;margin-top:10px}.gpmark{width:54px;height:54px;border-radius:16px;background:#1667d9;color:white;display:grid;place-items:center;font-weight:900;font-size:21px}.gpmark.small{width:38px;height:38px;border-radius:11px;font-size:15px}header{height:70px;background:#101a2c;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:10}.brand,.top{display:flex;align-items:center;gap:12px}.brand div{display:flex;flex-direction:column}.brand small{color:#94a3b8}.top select{background:#1f2b40;color:white;border:1px solid #42506a;border-radius:8px;padding:8px}.shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 70px)}aside{background:#142036;color:#cbd5e1;padding:18px 12px}nav{position:sticky;top:88px}nav button,nav a{width:100%;display:flex;gap:11px;align-items:center;text-align:left;color:#cbd5e1;background:transparent;border:0;text-decoration:none;padding:11px 12px;border-radius:9px;margin:2px 0;cursor:pointer}nav button.active,nav button:hover,nav a:hover{background:#203250;color:white}.sep{font-size:10px;letter-spacing:.12em;color:#718096;margin:20px 12px 7px}.road{display:grid;gap:6px;padding:5px 12px;font-size:12px;color:#7f8da5}.road span:before{content:'○ ';color:#54a0ff}main{padding:24px;min-width:0}.page{display:none}.page.active{display:block}.pagehead,.panelhead{display:flex;justify-content:space-between;align-items:center;gap:14px}.pagehead{margin-bottom:18px}.pagehead h1{margin:0;font-size:28px}.pagehead p{margin:5px 0;color:#697386}.panel{background:white;border:1px solid #e3e8f0;border-radius:14px;padding:16px;margin-bottom:18px;box-shadow:0 2px 10px #24324a0a}.cards{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-bottom:18px}.card{background:white;border:1px solid #e3e8f0;border-radius:14px;padding:16px}.card small{color:#718096}.card strong{display:block;font-size:26px;margin-top:7px}.primary,.ghost{border:0;border-radius:9px;padding:10px 14px;cursor:pointer}.primary{background:#1768d5;color:white;font-weight:700}.ghost{background:#eef3f9;color:#21324a}.top .ghost{background:#26354d;color:white;text-decoration:none}.toolbar{display:flex;gap:10px;margin-bottom:12px}.toolbar input,.toolbar select{padding:10px;border:1px solid #d8deea;border-radius:9px;background:white}.toolbar input{flex:1}.tablewrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #edf0f5;white-space:nowrap}th{font-size:12px;color:#627087;background:#fafbfd}.status{padding:4px 8px;border-radius:999px;background:#eef3f9;font-size:12px}.status.Open{background:#e7f1ff;color:#125bb5}.status.Scheduled{background:#fff2cc;color:#855d00}.status.InProgress{background:#e9e5ff;color:#5941a9}.status.Completed,.status.Closed{background:#e5f7ec;color:#18713a}.priority.Emergency{font-weight:800;color:#b42318}.statement-select{display:flex;gap:12px;align-items:end}.statement-select label{flex:1}.statement-select select{width:100%;padding:10px;border:1px solid #d8deea;border-radius:8px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.teamgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.teamcard{background:white;border:1px solid #e3e8f0;border-radius:14px;padding:16px}.teamcard .role{font-size:12px;text-transform:uppercase;color:#637088}.teamcard .perms{font-size:12px;color:#738096;margin:10px 0;max-height:55px;overflow:hidden}dialog{border:0;border-radius:16px;padding:0;width:min(980px,96vw);box-shadow:0 35px 90px #0007}dialog::backdrop{background:#0f172a99}dialog form{padding:20px;max-height:90vh;overflow:auto}.dlghead,.dlgactions{display:flex;justify-content:space-between;align-items:center;gap:12px}.dlghead button{font-size:24px;background:none;border:0}.dlgactions{justify-content:flex-end;margin-top:18px}.formgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.formgrid label{font-size:12px;color:#526176}.formgrid input,.formgrid select,.formgrid textarea{width:100%;margin-top:5px;padding:9px;border:1px solid #d6ddea;border-radius:8px;background:white}.formgrid textarea{min-height:70px}.span2{grid-column:span 2}.check{display:flex;align-items:center;gap:7px}.check input{width:auto}.joblines{margin-top:18px;border-top:1px solid #e7ebf2;padding-top:12px}.line{display:grid;grid-template-columns:90px 1fr 80px 90px 90px 40px;gap:8px;padding:8px 0;border-bottom:1px solid #edf0f4;align-items:center}.permgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.permgrid label{display:flex;align-items:center;gap:7px;background:#f7f9fc;padding:8px;border-radius:8px;font-size:12px}.error{color:#b42318;margin-top:8px}#toast{position:fixed;right:18px;bottom:18px;background:#172033;color:white;padding:10px 14px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1}.muted{color:#738096}.danger{color:#b42318}.money{font-variant-numeric:tabular-nums}@media(max-width:950px){.shell{grid-template-columns:76px 1fr}aside b,.sep,.road{display:none}nav button,nav a{justify-content:center}.cards{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:repeat(2,1fr)}.permgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){header{padding:0 10px}.brand small,.top #who,.top a{display:none}main{padding:14px}.shell{grid-template-columns:1fr}aside{display:none}.cards{grid-template-columns:1fr 1fr}.formgrid,.permgrid{grid-template-columns:1fr}.span2{grid-column:auto}.statement-select{flex-direction:column;align-items:stretch}}
.auth-secondary{width:100%;margin-top:8px}.danger{background:#b42318;color:#fff;border:0;border-radius:8px;padding:9px 12px;cursor:pointer}.grow{flex:1}.team-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

.row-actions{display:flex;gap:6px;flex-wrap:wrap}.toolbar select{min-width:180px}#page-sites .status,#page-assets .status{display:inline-block}.asset-meta{font-size:12px;color:#738096}


/* CORE4 INDUSTRIAL UI — field-service first, not office-template */
:root{--gp-bg:#0b0f14;--gp-panel:#151b22;--gp-panel2:#1b232d;--gp-line:#2b3745;--gp-text:#eef3f7;--gp-muted:#91a0af;--gp-accent:#f3a712;--gp-blue:#2986ff;--gp-danger:#ff4d4f}
body{background:linear-gradient(135deg,#0b0f14,#111821 55%,#0b0f14);color:var(--gp-text)}header{background:#090d12;border-bottom:1px solid #26303b;box-shadow:0 8px 25px #0008}.gpmark{background:linear-gradient(145deg,#ffb21a,#d98100);color:#111;border:1px solid #ffd06a;box-shadow:inset 0 0 0 2px #0003}.shell{background:transparent}aside{background:#0d1218;border-right:1px solid #29333f}nav button,nav a{color:#b9c4cf;border-left:3px solid transparent}nav button.active,nav button:hover,nav a:hover{background:#18212b;color:#fff;border-left-color:var(--gp-accent);border-radius:4px}.sep{color:#667789}.road{color:#657586}.road span:before{color:var(--gp-accent)}.pagehead h1{letter-spacing:.01em;text-transform:uppercase}.pagehead p,.muted{color:var(--gp-muted)}.panel,.card,.teamcard{background:linear-gradient(180deg,#171e26,#131920);border:1px solid var(--gp-line);box-shadow:0 10px 28px #0003;border-radius:8px}.card.rugged{border-top:3px solid var(--gp-accent)}.card small{color:#91a0af;text-transform:uppercase;letter-spacing:.06em}.card strong{color:#fff}.primary{background:linear-gradient(180deg,#ffb31f,#d88700);color:#111;border:1px solid #ffc24a;border-radius:5px;text-transform:uppercase;letter-spacing:.035em}.primary:hover{filter:brightness(1.08)}.ghost{background:#222c37;color:#e8eef5;border:1px solid #344252;border-radius:5px}.top .ghost{background:#1b242e;color:#eef3f7}.toolbar input,.toolbar select,.formgrid input,.formgrid select,.formgrid textarea,.statement-select select{background:#0f151c;color:#eef3f7;border:1px solid #344150;border-radius:5px}table{background:transparent}th{background:#10161d;color:#aeb9c5;border-bottom:1px solid #344150;text-transform:uppercase;letter-spacing:.04em}td{border-bottom:1px solid #26313c}.status{background:#26313d;color:#dbe5ee;border:1px solid #3b4857}.status.Open{background:#102b49;color:#6ab3ff}.status.Scheduled{background:#3a2d0c;color:#ffd36b}.status.InProgress{background:#2c2448;color:#b9a8ff}.status.Completed,.status.Closed{background:#133323;color:#67d59a}.priority.Emergency{color:#ff6b6d}.auth-layer{background:radial-gradient(circle at 50% 15%,#253243,#080b0f 60%)}.auth-card{background:#121820;color:#eef3f7;border:1px solid #2f3a47;border-radius:9px}.auth-card input{background:#0b1016;color:#fff;border-color:#344150}.summary{grid-template-columns:repeat(4,1fr)}dialog{background:#121820;color:#eef3f7;border:1px solid #364250;border-radius:8px}dialog::backdrop{background:#030609cc}.permgrid label{background:#10161d;color:#cbd5df}.line{grid-template-columns:90px 1fr 90px 95px 95px 40px}.line-location{display:block;color:#8c9baa;margin-top:2px}.warehouse-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.formgrid.compact{grid-template-columns:repeat(2,1fr)}.wide{width:100%}.invoice-lines{margin-top:14px;overflow:auto}.invoice-lines input{min-width:76px;width:100%;padding:7px;background:#0c1218;color:#eef3f7;border:1px solid #344150;border-radius:4px}.invoice-lines .ocr-desc{min-width:260px}.stock-available{padding:8px 10px;background:#101923;border-left:3px solid var(--gp-accent);color:#cbd7e2}.danger{background:#741f25;color:#fff}.money{color:#dbe7ef}
@media(max-width:1100px){.warehouse-grid{grid-template-columns:1fr}.summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.pagehead{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.page-actions button{flex:1}.cards{grid-template-columns:1fr 1fr}.summary{grid-template-columns:1fr 1fr}.line{grid-template-columns:70px 1fr 75px 38px}.line>span:nth-of-type(3),.line>span:nth-of-type(4){display:none}.formgrid.compact{grid-template-columns:1fr}}

/* CORE4 signature review */
.signature-review{grid-column:span 4;display:grid;grid-template-columns:1fr 1fr;gap:12px}.signature-review>div{background:#0d141b;border:1px solid #344150;padding:10px}.signature-review img{display:block;width:100%;height:120px;object-fit:contain;background:#fff;margin:8px 0;border:1px solid #4a5867}.signature-review small{color:#91a0af}@media(max-width:620px){.signature-review{grid-column:auto;grid-template-columns:1fr}}

/* CORE5 Excel import + Job Card before/after photos */
.import-panel{max-width:1200px}.import-map-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:12px 0 18px}.import-map-grid label{display:flex;flex-direction:column;gap:6px}.error-list{padding:14px;border:1px solid #7f1d1d;border-radius:12px;background:#2a1111;color:#fecaca}.job-photo-section{margin-top:18px;border-top:1px solid var(--line,#29313d);padding-top:14px}.job-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo-phase{border:1px solid var(--line,#29313d);border-radius:14px;padding:12px;background:rgba(255,255,255,.02)}.photo-phase-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.photo-upload-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #445066;border-radius:9px;cursor:pointer;font-size:12px;font-weight:700}.photo-upload-btn input{display:none}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px;min-height:80px}.photo-card{position:relative;border:1px solid #364152;border-radius:10px;overflow:hidden;background:#0f141c}.photo-card img{display:block;width:100%;height:120px;object-fit:cover;background:#111}.photo-card small{display:block;padding:6px 8px;font-size:10px;opacity:.75}.photo-delete{position:absolute;top:5px;right:5px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:18px;cursor:pointer}@media(max-width:900px){.import-map-grid{grid-template-columns:1fr}.job-photo-grid{grid-template-columns:1fr}.photo-gallery{grid-template-columns:repeat(2,minmax(100px,1fr))}}

/* CORE5 OWNER mobile full cockpit + instant invoice + Rata settings */
.rate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.rate-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#aeb9c5}.rate-grid input{padding:10px;border:1px solid #344150;border-radius:5px;background:#0f151c;color:#eef3f7}.invoice-preview-head,.invoice-preview-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.invoice-preview-head{padding:10px 0;border-bottom:2px solid #3b4857}.invoice-preview-row{padding:9px 0;border-bottom:1px solid #26313c}.invoice-tag{display:block;margin-top:4px;color:#68d59a;font-size:9px}.jobInvoiceCheck,#jobSelectAll{width:18px;height:18px;accent-color:#f3a712}
@media(max-width:620px){
  .shell{grid-template-columns:1fr}.shell aside{display:block!important;padding:8px 8px 10px;border-right:0;border-bottom:1px solid #29333f;overflow:visible}.shell aside nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.shell aside nav button,.shell aside nav a{justify-content:flex-start!important;padding:9px 8px;margin:0;min-height:42px}.shell aside nav b{display:inline!important;font-size:11px;white-space:normal}.shell aside nav .sep{display:block!important;grid-column:1/-1;margin:9px 5px 3px}.shell aside nav .road{display:none!important}.rate-grid{grid-template-columns:repeat(2,1fr)}.page-actions{display:grid;grid-template-columns:1fr 1fr}.page-actions .primary{grid-column:1/-1}.toolbar{flex-direction:column}.toolbar select{min-width:0;width:100%}}

/* CORE5.2 customer signal + diagnostics */
.customer-signal{display:inline-block;width:18px;height:18px;border-radius:4px;border:2px solid rgba(255,255,255,.18);vertical-align:middle}.customer-signal.green,.customer-signal-box.green{background:#0f6b3e}.customer-signal.yellow,.customer-signal-box.yellow{background:#8a6500}.customer-signal.red,.customer-signal-box.red{background:#8b1d27}.signal-legend{display:flex;align-items:center;gap:7px;font-size:12px;color:#b8c3cf}.signal-select{min-width:118px;padding:7px;border-radius:7px;border:1px solid #3a4654;color:#fff}.signal-select.green{background:#0f6b3e}.signal-select.yellow{background:#8a6500}.signal-select.red{background:#8b1d27}.customer-signal-box{min-height:58px;padding:9px 11px;border-radius:9px;display:grid;grid-template-columns:22px 1fr;align-items:center;gap:4px 8px;border:1px solid rgba(255,255,255,.16)}.customer-signal-box .customer-signal{grid-row:1/3}.customer-signal-box b{font-size:12px}.customer-signal-box small{font-size:10px;opacity:.85}.log-level{display:inline-block;padding:4px 7px;border-radius:5px;font-weight:800;font-size:10px}.log-level.critical,.log-level.error{background:#7f1d1d;color:#fee2e2}.log-level.warning{background:#78350f;color:#fef3c7}.log-level.info{background:#164e63;color:#cffafe}#logRows pre{max-width:500px;white-space:pre-wrap;word-break:break-word;font-size:10px}.manual-master-hint{padding:8px 10px;border-left:3px solid #f3a712;background:#161b22;color:#cbd7e2;font-size:11px}

/* CORE6 UX TEST — modern field-service workspace */
:root{
  --c6-bg:#f3f6fa;--c6-surface:#ffffff;--c6-surface2:#f8fafc;--c6-ink:#142033;--c6-muted:#68778c;
  --c6-line:#dce4ee;--c6-navy:#0f1d31;--c6-navy2:#162b47;--c6-primary:#1769e0;--c6-primary2:#0d55bd;
  --c6-accent:#00a693;--c6-warn:#e69b10;--c6-danger:#d74747;--c6-shadow:0 12px 34px rgba(24,45,75,.09)
}
html,body{background:var(--c6-bg);color:var(--c6-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:radial-gradient(circle at 80% -10%,#e6f1ff 0,transparent 32%),var(--c6-bg)}
header{background:rgba(255,255,255,.94);color:var(--c6-ink);border-bottom:1px solid var(--c6-line);box-shadow:0 5px 20px rgba(20,32,51,.05);backdrop-filter:blur(14px)}
.brand b{font-size:15px;color:var(--c6-navy)}.brand small{color:#718096}.gpmark{background:linear-gradient(145deg,#1769e0,#00a693);color:white;border:0;box-shadow:0 6px 15px rgba(23,105,224,.24)}
.top .ghost,.top a.ghost{background:#f5f8fc;color:#29384d;border:1px solid var(--c6-line)}.top select{background:white;color:#26364c;border:1px solid var(--c6-line);border-radius:10px;padding:9px 12px}
.shell{background:transparent;grid-template-columns:245px minmax(0,1fr)}aside{background:linear-gradient(180deg,var(--c6-navy),#0b1524);border-right:0;box-shadow:8px 0 28px rgba(15,29,49,.08)}
nav{padding:15px 10px}nav button,nav a{color:#b9c7d9;border-left:0;border-radius:10px;margin:3px 0;min-height:44px;position:relative}nav button span,nav a span{width:22px;text-align:center;opacity:.9}nav button.active,nav button:hover,nav a:hover{background:linear-gradient(90deg,rgba(23,105,224,.30),rgba(0,166,147,.12));color:#fff;border-left:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
nav button.active:before{content:"";width:4px;height:22px;border-radius:8px;background:#4cc9b7;position:absolute;left:0;top:50%;transform:translateY(-50%)}.sep{color:#6f88a7;margin-top:18px}.road{color:#627794}.nav-count{margin-left:auto;background:#dff7f3;color:#08796c;border-radius:999px;padding:2px 7px;font-style:normal;font-size:10px;font-weight:800}
main{padding:26px 30px 50px;max-width:1700px}.pagehead{margin-bottom:20px}.pagehead h1{font-size:28px;text-transform:none;letter-spacing:-.02em;color:var(--c6-navy)}.pagehead p{color:var(--c6-muted);font-size:14px}.page-actions{gap:9px}
.primary{background:linear-gradient(180deg,var(--c6-primary),var(--c6-primary2));color:#fff;border:0;border-radius:10px;padding:10px 16px;font-weight:750;text-transform:none;letter-spacing:0;box-shadow:0 7px 16px rgba(23,105,224,.18)}.primary:hover{filter:none;transform:translateY(-1px)}
.ghost{background:#fff;color:#314157;border:1px solid var(--c6-line);border-radius:10px;padding:9px 13px}.ghost:hover{background:#f3f7fc;border-color:#c6d4e4}
.panel,.card,.teamcard{background:var(--c6-surface);border:1px solid var(--c6-line);box-shadow:var(--c6-shadow);border-radius:16px}.panel{padding:18px}.cards{gap:14px}.card{padding:17px 18px}.card.rugged,.card.ux-card{border-top:0}.card small{color:#7a899c;text-transform:none;letter-spacing:0;font-weight:650}.card strong{color:var(--c6-navy);font-size:27px;margin-top:7px}.ux-card{position:relative;overflow:hidden}.ux-card:after{content:"";position:absolute;width:60px;height:60px;border-radius:50%;right:-16px;bottom:-22px;background:linear-gradient(145deg,#dcebff,#dff7f3)}
.toolbar{background:#fff;border:1px solid var(--c6-line);padding:10px;border-radius:14px;margin-bottom:13px;box-shadow:0 5px 14px rgba(20,32,51,.04)}.toolbar input,.toolbar select,.formgrid input,.formgrid select,.formgrid textarea,.statement-select select,.rate-grid input{background:#fff;color:var(--c6-ink);border:1px solid #d6e0eb;border-radius:10px;padding:10px 11px}.formgrid textarea{min-height:88px}.formgrid label,.rate-grid label{color:#53647a;font-weight:650}.formgrid input:focus,.formgrid select:focus,.formgrid textarea:focus,.toolbar input:focus{outline:3px solid rgba(23,105,224,.10);border-color:#7aaaf0}
.tablewrap{overflow:auto;padding:0}table{background:#fff;border-collapse:separate;border-spacing:0;width:100%}th{background:#f7f9fc;color:#6a788c;border-bottom:1px solid var(--c6-line);text-transform:none;letter-spacing:0;font-size:11px;padding:12px 14px;position:sticky;top:0}td{border-bottom:1px solid #edf1f5;color:#2d3b4f;padding:12px 14px}tbody tr:hover td{background:#f8fbff}.status{background:#eef3f8;color:#536477;border:0;border-radius:999px;padding:5px 9px;font-weight:700}.status.Open{background:#e6f1ff;color:#1769e0}.status.Assigned{background:#ede9fe;color:#6d48c5}.status.InProgress{background:#fff2d9;color:#9a6200}.status.Completed,.status.Closed,.status.Converted{background:#dff7ef;color:#08795e}.status.Cancelled{background:#f4e8e8;color:#9b4040}
.priority.Emergency{color:#c93131;font-weight:800}.priority.High{color:#b45b05;font-weight:750}.cell-note{display:block;color:#8592a4;margin-top:3px;max-width:460px}.recent-row{display:grid;grid-template-columns:minmax(200px,1fr) auto auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid #edf1f5}.recent-row>div{display:flex;flex-direction:column;gap:3px}.recent-row span{color:#768499;font-size:12px}.empty-state{padding:28px;text-align:center;color:#8492a5;background:#f8fafc;border:1px dashed #d6e0eb;border-radius:12px}
dialog{background:#fff;color:var(--c6-ink);border:0;border-radius:18px;box-shadow:0 25px 80px rgba(12,25,45,.28);max-height:92vh}dialog::backdrop{background:rgba(8,19,34,.55);backdrop-filter:blur(3px)}.dlghead{border-bottom:1px solid #e8edf3;padding-bottom:13px;margin-bottom:16px}.dlghead h2{color:var(--c6-navy)}.joblines,.job-photo-section{background:#f8fafc;border:1px solid #e4eaf1;border-radius:14px;padding:13px;margin-top:14px}.photo-phase{background:white;border-color:#dde5ee}.photo-upload-btn{background:#edf5ff;color:#155bbd;border-color:#cddff7}.line{background:#fff;border:1px solid #e1e8f0;border-radius:10px;margin-bottom:7px;padding:8px}.stock-available{background:#eef8f6;border-left-color:var(--c6-accent);color:#34655f}.manual-master-hint,.ticket-flow-note{padding:10px 12px;border-radius:10px;border:1px solid #d9e6f3;background:#f2f7fd;color:#53677d;font-size:12px}.ticket-flow-note{margin-top:12px;border-left:4px solid var(--c6-primary)}
.auth-layer{background:radial-gradient(circle at 50% 0,#1d538d,#0e1b2f 54%,#08111d)}.auth-card{background:rgba(255,255,255,.97);color:var(--c6-ink);border:0;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.33)}.auth-card h1{color:var(--c6-navy)}.auth-card input{background:#f8fafc;color:var(--c6-ink);border:1px solid var(--c6-line);border-radius:10px}
.customer-signal-box.green{background:#e7f8f0;color:#126341}.customer-signal-box.yellow{background:#fff5d9;color:#7d5a00}.customer-signal-box.red{background:#fde8e8;color:#8c2929}.customer-signal.green{background:#24a26d}.customer-signal.yellow{background:#e4a718}.customer-signal.red{background:#d94f59}.signal-select{color:#152333;border:1px solid #d3dde8}.signal-select.green{background:#e7f8f0}.signal-select.yellow{background:#fff5d9}.signal-select.red{background:#fde8e8}
.log-level.critical,.log-level.error{background:#fde8e8;color:#9f2929}.log-level.warning{background:#fff2d9;color:#8c5a00}.log-level.info{background:#e3f3ff;color:#16658c}
@media(max-width:1100px){.shell{grid-template-columns:210px minmax(0,1fr)}main{padding:20px}.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){header{height:auto;min-height:64px;flex-wrap:wrap;padding:9px 12px}.top{gap:6px}.shell{grid-template-columns:1fr}.shell aside{background:#0e1b2f;border-bottom:0;padding:8px}.shell aside nav{grid-template-columns:repeat(2,minmax(0,1fr))}.shell aside nav button,.shell aside nav a{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.04)}main{padding:15px}.pagehead h1{font-size:24px}.cards{grid-template-columns:1fr 1fr}.recent-row{grid-template-columns:1fr auto}.recent-row .ghost{grid-column:1/-1}.panel{border-radius:13px}.toolbar{align-items:stretch}.toolbar input,.toolbar select{width:100%}.formgrid{grid-template-columns:1fr}.signature-review{grid-column:auto}.job-photo-grid{grid-template-columns:1fr}}

/* CORE6.1.4 company branding/settings */
.company-header-logo{height:42px;max-width:120px;object-fit:contain;background:#fff;border-radius:9px;padding:3px}.company-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.company-logo-editor{display:flex;align-items:center;gap:18px;margin:14px 0 20px}.company-logo-preview{width:170px;height:90px;border:1px dashed #bdc9d6;border-radius:12px;background:#f8fafc;display:grid;place-items:center;color:#8a98aa;font-weight:800;overflow:hidden}.company-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.company-logo-preview.has-logo span{display:none}.file-btn{display:inline-flex;position:relative;overflow:hidden;cursor:pointer;margin-right:6px}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.email-status{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.email-status.sent{background:#e4f7ec;color:#14663a}.email-status.pending,.email-status.sending{background:#e8f1ff;color:#155bbd}.email-status.failed{background:#fde6e6;color:#9b2828}.customer-signal-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850}.customer-signal-badge:before{content:'';width:9px;height:9px;border-radius:50%}.customer-signal-badge.green{background:#e3f7ed;color:#12643b}.customer-signal-badge.green:before{background:#1aa45c}.customer-signal-badge.yellow{background:#fff1bf;color:#735100}.customer-signal-badge.yellow:before{background:#dfa500}.customer-signal-badge.red{background:#ffe2e2;color:#92222b}.customer-signal-badge.red:before{background:#d93643}
@media(max-width:900px){.company-settings-grid{grid-template-columns:1fr}}@media(max-width:620px){.company-logo-editor{align-items:flex-start;flex-direction:column}.company-logo-preview{width:100%}}


/* CORE6.1.12 - Customer master data: supplier-style readability and unmistakable editing */
.masterdata-toolbar{align-items:center}.masterdata-tablewrap{overflow-x:auto}.customer-master-table{min-width:1180px;table-layout:auto}.customer-master-table th,.customer-master-table td{vertical-align:middle}.customer-master-table th:first-child{min-width:235px}.customer-master-table th:nth-child(4){min-width:220px}.customer-master-table th:nth-child(6){min-width:165px}.customer-master-table th:last-child{min-width:300px}.customer-name-cell{white-space:normal;min-width:235px}.customer-name-cell b{display:block;color:var(--c6-navy);font-size:13px;line-height:1.3}.customer-name-cell small{display:block;color:var(--c6-muted);font-size:11px;line-height:1.35;margin-top:4px;max-width:300px}.customer-email-cell{white-space:normal;word-break:break-word;min-width:190px}.customer-actions{white-space:normal}.customer-actions .row-actions{flex-wrap:nowrap;align-items:center}.customer-edit-btn{padding:8px 13px;min-width:86px;box-shadow:none}.masterdata-dialog{width:min(980px,96vw)}.masterdata-dialog .formgrid{background:#f8fafc;border:1px solid #e4eaf1;border-radius:14px;padding:14px}.masterdata-dialog .dlgactions{position:sticky;bottom:-20px;background:#fff;border-top:1px solid #e8edf3;padding:14px 0 2px;z-index:2}
@media(max-width:900px){.masterdata-toolbar{align-items:stretch;flex-direction:column}.signal-legend{flex-wrap:wrap}.customer-master-table{min-width:1050px}}


/* CORE6.1.12 - practical master-data tables: no bottom horizontal scroll needed for Edit/Delete */
.masterdata-page .masterdata-tablewrap{position:relative;overflow:auto;max-width:100%}
.customer-master-table{min-width:900px;table-layout:fixed}
.customer-master-table th:nth-child(2),.customer-master-table td:nth-child(2){width:190px}
.customer-master-table th:nth-child(3),.customer-master-table td:nth-child(3){width:105px}
.customer-master-table th:nth-child(4),.customer-master-table td:nth-child(4){width:115px}
.customer-master-table th:nth-child(5),.customer-master-table td:nth-child(5){width:170px}
.customer-master-table th:nth-child(6),.customer-master-table td:nth-child(6){width:105px}
.customer-master-table th:nth-child(7),.customer-master-table td:nth-child(7){width:165px}
.select-col{width:42px!important;min-width:42px!important;max-width:42px!important;text-align:center!important;padding-left:8px!important;padding-right:8px!important}
.master-select{width:18px;height:18px;accent-color:#1768d5;cursor:pointer}
.sticky-actions{position:sticky!important;right:0;z-index:3;background:#fff!important;box-shadow:-8px 0 12px -12px #172033}
thead .sticky-actions{z-index:5;background:#fafbfd!important}
.customer-actions.sticky-actions{min-width:190px!important;width:190px!important}
.customer-actions .row-actions{gap:5px;flex-wrap:wrap}
.customer-actions .ghost,.customer-actions .primary{padding:7px 9px;font-size:11px}
.compact-edit{padding:7px 11px;font-size:11px;white-space:nowrap}
.wrap-cell,.customer-email-cell,.customer-name-cell{white-space:normal!important;overflow-wrap:anywhere}
.masterdata-toolbar{flex-wrap:wrap;align-items:center}
.masterdata-toolbar input{min-width:260px}
.masterdata-toolbar .select-all-btn,.masterdata-toolbar .bulk-delete-btn{white-space:nowrap}
.bulk-delete-btn{font-weight:800}
.masterdata-legend{margin:-4px 0 10px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:var(--c6-muted);font-size:12px}
.supplier-master-table,.site-master-table,.article-master-table{min-width:760px}
.supplier-master-table .sticky-actions,.site-master-table .sticky-actions,.article-master-table .sticky-actions{min-width:100px}
@media(max-width:1100px){
  .customer-master-table{min-width:820px}
  .customer-master-table th:nth-child(5),.customer-master-table td:nth-child(5){display:none}
  .customer-actions.sticky-actions{min-width:120px!important;width:120px!important}
  .customer-actions .row-actions .ghost{display:none}
}
@media(max-width:760px){
  .masterdata-toolbar{align-items:stretch;flex-direction:column}
  .masterdata-toolbar input,.masterdata-toolbar select,.masterdata-toolbar button{width:100%;min-width:0}
  .customer-master-table{min-width:700px}
  .customer-master-table th:nth-child(3),.customer-master-table td:nth-child(3),
  .customer-master-table th:nth-child(4),.customer-master-table td:nth-child(4),
  .customer-master-table th:nth-child(6),.customer-master-table td:nth-child(6){display:none}
}
.customer-master-table th:nth-child(2),.customer-master-table td:nth-child(2),
.customer-master-table th:nth-child(3),.customer-master-table td:nth-child(3),
.customer-master-table th:nth-child(4),.customer-master-table td:nth-child(4),
.customer-master-table th:nth-child(5),.customer-master-table td:nth-child(5),
.customer-master-table th:nth-child(6),.customer-master-table td:nth-child(6),
.customer-master-table th:nth-child(7),.customer-master-table td:nth-child(7){min-width:0!important}
.customer-name-cell{min-width:0!important}

.mobile-device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}.mobile-device{border:1px solid #dbe3ef;border-radius:12px;padding:12px;background:#f8fafc}.mobile-device b,.mobile-device span,.mobile-device small{display:block}.mobile-device span{margin:4px 0}.mobile-device small{color:#64748b;margin-top:3px}

/* v6.1.23 - article category search */
.article-master-search{position:relative;display:flex;align-items:center;min-width:min(420px,100%);flex:1}
.article-master-search>span{position:absolute;left:12px;font-size:24px;font-weight:900;color:#2563eb;pointer-events:none}
.article-master-search input{width:100%;padding-left:44px!important}
#articleCategoryFilter{min-width:190px}

.job-article-search{min-width:100%}.job-article-search input{width:100%}

/* v6.1.32 Job Card work clock, office review and exit flow */
#jHours[readonly]{background:#eef2f7;font-weight:900}.job-review-banner{margin:10px 0;padding:12px 14px;border-radius:10px;font-weight:800}.job-review-banner.pending{background:#fff7ed;color:#9a3412;border:1px solid #fdba74}.job-review-banner.queued{background:#eff6ff;color:#1d4ed8;border:1px solid #93c5fd}.job-review-banner.sent{background:#ecfdf5;color:#047857;border:1px solid #6ee7b7}.review-tag{display:block;margin-top:4px;font-size:10px;color:#9a3412}.review-tag.queued{color:#1d4ed8}.review-tag.sent{color:#047857}.exit-job-confirm{padding:20px;max-width:620px}.exit-job-confirm h3{margin-top:0}

/* v6.1.32 - Ticket GPS location made explicit in Owner form */
.ticket-location-admin{padding:12px 14px;border:2px solid #2563eb;border-radius:12px;background:#eff6ff}.ticket-location-admin label{font-weight:900;color:#123a70}.ticket-location-admin input{margin-top:7px}.ticket-location-admin small{display:block;margin-top:5px;color:#47617d;line-height:1.35}


/* v6.2.1 customer Job Card invoicing */
.customerInvoiceToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:12px 14px;border:1px solid #dbe4ef;border-radius:12px;background:#f8fafc}.customerInvoiceJobs{max-height:330px;overflow:auto;border:1px solid #dbe4ef;border-radius:12px;margin-bottom:16px}.ciJob{display:grid;grid-template-columns:36px 120px minmax(180px,1fr) 105px 105px 110px;gap:8px;align-items:center;padding:11px 12px;border-bottom:1px solid #e7edf4}.ciJob:last-child{border-bottom:0}.ciJob:hover{background:#f8fbff}.ciJob small{display:block;color:#64748b}.ciJob .money{text-align:right;font-weight:850}.ciJob input{width:19px;height:19px}@media(max-width:760px){.ciJob{grid-template-columns:32px 105px 1fr 95px}.ciJob .labour,.ciJob .materials{display:none}.customerInvoiceToolbar{align-items:flex-start;flex-direction:column}}
/* v6.2.1 invoice readiness diagnostics */
.ciJobBlocked{opacity:.62;background:#f8fafc}.ciJobBlocked input{cursor:not-allowed}.invoiceReady{display:block;color:#167a43;font-weight:800;margin-top:3px}.invoiceBlocked{display:block;color:#a33a2b;font-weight:800;margin-top:3px}

.quote-line{display:grid;grid-template-columns:1.15fr 2.2fr .55fr .7fr 42px;gap:8px;align-items:center;margin:8px 0}.quote-line input,.quote-line select{min-width:0}@media(max-width:800px){.quote-line{grid-template-columns:1fr 1fr}.quote-line [data-q="desc"]{grid-column:1/-1}}

/* v6.2.6 TEST PHASE - broadcast dispatch + Backup Center */
.broadcast-help{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #f2b94b;background:linear-gradient(135deg,#fff9e8,#fff3cf);border-radius:14px;color:#6f4a00}.broadcast-help b{white-space:nowrap}.broadcast-help span{font-size:13px;line-height:1.45}.broadcast-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#fff0c2;color:#744b00;border:1px solid #efc765;font-size:11px;font-weight:950;letter-spacing:.02em}.broadcast-row{background:linear-gradient(90deg,rgba(255,242,194,.48),transparent 55%)}
.backup-center{border:1px solid #bfd9d0!important;background:linear-gradient(180deg,#f7fffc,#fff)!important}.backup-shield{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#e7f8ef;color:#11613f;font-size:11px;font-weight:950;letter-spacing:.04em}.backup-grid{display:grid;grid-template-columns:1.2fr .6fr .6fr;gap:12px;align-items:end}.backup-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.backup-status{margin-top:14px;padding:14px 16px;border-radius:12px;background:#0e2138;color:#eaf4ff;display:flex;flex-direction:column;gap:4px}.backup-status b{font-size:13px;letter-spacing:.04em}.backup-status span{font-size:12px;color:#a9bdd3}.backup-list{display:grid;gap:8px;margin-top:10px}.backup-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid #dce8e4;border-radius:11px;background:#fff}.backup-item div{display:flex;flex-direction:column;gap:2px}.backup-item small{color:#6d7d88}.button-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.backup-grid .check{align-self:center}
@media(max-width:760px){.backup-grid{grid-template-columns:1fr}.backup-actions{grid-column:1}.backup-actions>*{width:100%}.broadcast-help{flex-direction:column}.backup-item{align-items:flex-start;flex-direction:column}.backup-item a{width:100%}}

/* v6.2.11 EVOLUTION — Planner, prepaid labour hours, client portal */
.planner-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.planner-kpis>div{background:#fff;border:1px solid var(--c6-line);border-radius:15px;padding:15px 17px;box-shadow:0 6px 17px rgba(20,32,51,.04)}.planner-kpis small{display:block;color:#7a899c;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.planner-kpis strong{display:block;color:var(--c6-navy);font-size:25px;margin-top:5px}.planner-shell{background:#fff;border:1px solid var(--c6-line);border-radius:18px;overflow:hidden;box-shadow:var(--c6-shadow);margin-bottom:16px}.planner-head{display:grid;grid-template-columns:205px 1fr;background:#0e1b2f;color:#fff;position:sticky;top:64px;z-index:3}.planner-tech-head{padding:14px 16px;font-size:10px;font-weight:850;letter-spacing:.09em;color:#9db0c6}.planner-days{display:grid;grid-template-columns:repeat(7,1fr)}.planner-days>div{padding:10px 8px;border-left:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center}.planner-days b{font-size:10px}.planner-days span{font-size:10px;color:#9eb2c8}.planner-row{display:grid;grid-template-columns:205px 1fr;min-height:76px;border-top:1px solid #e9eef4}.planner-tech{padding:13px 14px;display:grid;grid-template-columns:auto 1fr;gap:2px 9px;align-content:center;background:#fbfcfe}.planner-tech .tech-dot{width:9px;height:9px;background:#24ae96;border-radius:50%;grid-row:1/3;align-self:center}.planner-tech b{font-size:11px;color:#20334b}.planner-tech small{font-size:10px;color:#8290a2}.planner-track{position:relative;min-width:840px;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfdff)}.planner-day-lines{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,1fr);pointer-events:none}.planner-day-lines i{border-left:1px solid #e8edf3}.planner-event{position:absolute;top:12px;height:50px;min-width:52px;border:0;border-left:4px solid #1769e0;border-radius:9px;background:#eaf3ff;color:#164c87;padding:5px 7px;text-align:left;overflow:hidden;box-shadow:0 5px 10px rgba(29,76,129,.10);cursor:grab}.planner-event.ticket{background:#eef0ff;color:#5645a9;border-left-color:#765fd2}.planner-event.p-emergency{background:#fde8e8;color:#992c36;border-left-color:#d83a47}.planner-event.p-high{background:#fff0dd;color:#965b13;border-left-color:#e1932a}.planner-event small,.planner-event b,.planner-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planner-event small{font-size:8px;opacity:.75}.planner-event b{font-size:9px}.planner-event span{font-size:8px}.maintenance-panel{margin-top:16px}.maintenance-row{display:grid;grid-template-columns:minmax(220px,1.6fr) 120px 110px minmax(120px,.7fr) auto;gap:12px;align-items:center;padding:11px 3px;border-bottom:1px solid #edf1f5}.maintenance-row>div{display:flex;flex-direction:column}.maintenance-row b{font-size:12px}.maintenance-row span{font-size:11px;color:#738196}.prepaid-kpi strong{color:#08796c}.hours-balance{display:inline-flex;align-items:center;min-width:74px;justify-content:center;background:#dff7f1;color:#087861;border-radius:999px;padding:6px 10px;font-weight:850}.hours-balance.low{background:#fff1d6;color:#965e09}.prepaid-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:13px}.prepaid-package{display:flex;flex-direction:column;gap:7px;background:#f8fafc;border:1px solid #e3eaf1;border-radius:14px;padding:14px}.prepaid-package>div{display:flex;flex-direction:column;gap:4px}.prepaid-package strong{font-size:26px;color:#08796c}.prepaid-package small{color:#7a899c}.prepaid-preview{margin:14px 0 0;padding:14px 15px;border-radius:13px;background:linear-gradient(110deg,#0e2946,#0c665f);color:#fff;font-weight:750}.portal-link-box{display:grid;grid-template-columns:1fr auto auto;gap:8px}.portal-link-box input{min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.job-prepaid-banner{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:linear-gradient(110deg,#0c273f,#0e655f);color:#fff;padding:14px;border-radius:13px;margin-bottom:4px}.job-prepaid-banner>div{padding:5px 9px;border-right:1px solid rgba(255,255,255,.11)}.job-prepaid-banner>div:last-child{border-right:0}.job-prepaid-banner small{display:block;color:#a9c9d0;font-size:9px;letter-spacing:.08em;font-weight:850}.job-prepaid-banner strong{display:block;font-size:20px;margin-top:4px}.portal-customer-btn{border-color:#bcd7f2!important;color:#145a9e!important;background:#f2f8ff!important}
@media(max-width:1050px){.planner-kpis{grid-template-columns:repeat(2,1fr)}.planner-shell{overflow:auto}.prepaid-package-grid{grid-template-columns:1fr 1fr}.maintenance-row{grid-template-columns:1fr 110px auto}.maintenance-row>span:nth-of-type(2){display:none}}
@media(max-width:720px){.planner-kpis{grid-template-columns:1fr 1fr}.planner-head,.planner-row{grid-template-columns:150px 1fr}.planner-tech-head{padding-left:9px}.planner-tech{padding:9px}.prepaid-package-grid{grid-template-columns:1fr}.portal-link-box{grid-template-columns:1fr}.job-prepaid-banner{grid-template-columns:1fr}.job-prepaid-banner>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.10)}.job-prepaid-banner>div:last-child{border-bottom:0}}


/* v6.2.11 UI & USABILITY */
:root{--select-h:46px}
select{min-height:var(--select-h);line-height:1.25;padding-top:10px!important;padding-bottom:10px!important;padding-left:12px!important;padding-right:38px!important;max-width:100%;text-overflow:ellipsis;white-space:nowrap}
.toolbar select{min-width:min(320px,100%);flex:0 1 360px}.toolbar input{min-height:var(--select-h)}
.formgrid select,.statement-select select,.top select,dialog select{width:100%;min-width:0}option{font-size:14px;padding:6px}
.page-navline{display:flex;align-items:center;gap:11px;margin:-4px 0 18px;padding:10px 12px;background:#fff;border:1px solid var(--c6-line,#d9e2ec);border-radius:14px;box-shadow:0 5px 14px rgba(20,32,51,.04);position:sticky;top:76px;z-index:6}.page-back,.page-home{white-space:nowrap}.page-back:disabled{opacity:.42;cursor:not-allowed}.page-breadcrumb{display:flex;align-items:center;gap:9px;min-width:0;flex:1;color:#7b899b;font-size:12px}.page-breadcrumb span:after{content:'›';margin-left:9px;color:#a7b3c1}.page-breadcrumb b{color:#213650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.customer-email-book{background:#f8fafc;border:1px solid #dfe7ef;border-radius:13px;padding:12px}.email-book-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.email-book-head div{display:flex;flex-direction:column;gap:2px}.email-book-head b{color:#263a54;font-size:12px}.email-book-head small{color:#78899c;font-size:10px}.customer-email-row{display:grid;grid-template-columns:minmax(210px,1.5fr) minmax(130px,.7fr) repeat(4,auto) 38px;gap:7px;align-items:center;padding:8px 0;border-top:1px solid #e8eef4}.customer-email-row:first-child{border-top:0}.customer-email-row input[type=email],.customer-email-row select{min-height:42px!important;margin:0!important}.mini-check{display:flex!important;align-items:center;gap:4px!important;white-space:nowrap;color:#596b80!important;font-size:10px!important}.mini-check input{width:16px!important;height:16px!important;margin:0!important}.ce-remove{padding:8px 10px}.email-pill{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#52667d}.email-pill.primary{font-weight:800;color:#165fb9}.email-pill.primary:before{content:'★ ';font-size:9px}.category-picker{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:7px;margin-top:5px}.category-picker select{margin-top:0!important}.category-add{min-height:46px;padding:0;font-size:20px;font-weight:800}.field-help{display:block;margin-top:5px;color:#8492a3;font-size:10px;line-height:1.35}
@media(max-width:1050px){.customer-email-row{grid-template-columns:1fr 150px repeat(2,auto) 38px}.customer-email-row .mini-check:nth-of-type(3),.customer-email-row .mini-check:nth-of-type(4){grid-row:2}.page-navline{top:70px}}
@media(max-width:720px){.page-navline{position:static;flex-wrap:wrap}.page-breadcrumb{order:3;flex-basis:100%}.page-home{margin-left:auto}.customer-email-row{grid-template-columns:1fr 42px;padding:10px 0}.customer-email-row .ce-label{grid-column:1/2}.customer-email-row .mini-check{grid-column:1/-1!important;grid-row:auto!important}.customer-email-row .ce-remove{grid-column:2;grid-row:1}.toolbar select{width:100%;min-width:0;flex-basis:auto}}

/* v6.2.11 global select readability */
select{min-height:44px;line-height:1.25;padding-top:9px!important;padding-bottom:9px!important;padding-left:11px!important;padding-right:34px!important;max-width:100%;text-overflow:ellipsis;white-space:nowrap}
option{font-size:14px}

/* v6.2.11 - bulk article category assignment */
.bulk-category-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 6px;border:1px solid var(--line,#d9dee7);border-radius:12px;background:rgba(255,255,255,.55)}
.bulk-category-group select{min-width:210px;max-width:320px}
@media(max-width:900px){.bulk-category-group{width:100%}.bulk-category-group select{flex:1;min-width:180px}.bulk-category-group button{flex:0 0 auto}}

/* v6.2.11 WhatsApp Customer Self-Service */
.support-link-hero{display:flex;gap:14px;align-items:center;margin:14px 0;padding:14px;border:1px solid #d9e6df;background:#f5fbf7;border-radius:16px}.support-link-icon{width:50px;height:50px;border-radius:15px;background:#16a34a;color:#fff;display:grid;place-items:center;font-weight:900}.support-link-hero p{margin:4px 0 0;color:#64748b}.support-link-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.whatsapp-action{border:0;border-radius:12px;padding:11px 16px;background:#16a34a;color:white;font-weight:800;cursor:pointer}.support-flow-note{display:flex;gap:12px;padding:13px 15px;background:#0f172a;color:#fff;border-radius:14px;margin-top:12px}.support-flow-note b{color:#86efac;white-space:nowrap}.support-flow-note span{font-size:13px;line-height:1.4}.support-customer-btn{border-color:#86efac!important;color:#15803d!important}

/* v6.2.27 External Dispatch */
.external-dispatch-panel{grid-column:1/-1}.dispatch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dispatch-channel{border:1px solid var(--line,#dbe3ea);border-radius:14px;padding:16px;background:var(--panel,#fff)}.dispatch-channel label{display:block;margin:10px 0}.dispatch-channel input{width:100%}.inline-field{display:flex;gap:8px}.inline-field input{flex:1}.channel-badges{display:flex;gap:7px;margin:8px 0}.channel-badge{font-size:11px;font-weight:800;padding:4px 8px;border-radius:999px}.channel-badge.on{background:#d9f7e5;color:#116b37}.channel-badge.off{background:#eef2f5;color:#6c7780}.external-log{display:grid;gap:6px;max-height:320px;overflow:auto}.notify-log-row{display:grid;grid-template-columns:150px 70px 1fr 110px 75px;gap:8px;align-items:center;padding:8px 10px;border-radius:9px;background:#f6f8fa;font-size:12px}.notify-log-row.bad{background:#fff0f0}.notify-log-row small{grid-column:1/-1;color:#9a2525}@media(max-width:850px){.dispatch-grid{grid-template-columns:1fr}.notify-log-row{grid-template-columns:1fr 70px 1fr}}

/* v6.2.27 FIX6 - highlighted Ticket assignment */
.ticket-assigned-owner{display:flex;align-items:center;gap:12px;padding:11px 13px;border:2px solid #60a5fa;border-radius:12px;background:#eff6ff;color:#123d70}.ticket-assigned-owner>span{font-size:25px}.ticket-assigned-owner>div{display:grid;gap:2px}.ticket-assigned-owner small{font-size:10px;font-weight:950;letter-spacing:.08em;color:#4a6f98}.ticket-assigned-owner b{font-size:16px}.ticket-assigned-owner.broadcast{border-color:#f59e0b;background:#fff7ed;color:#92400e}.ticket-assigned-owner[hidden]{display:none!important}


/* v6.2.27 FIX8 Employees / Attendance */
.employee-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:16px;padding:16px}.employee-toolbar label{min-width:190px}.employee-summary{grid-template-columns:repeat(5,minmax(150px,1fr));margin-bottom:16px}.employee-summary .card b{font-size:1.35rem}.employee-summary .card span{font-weight:700}.attendance-report-panel{margin-top:18px}.attendance-table th,.attendance-table td{vertical-align:top}.attendance-table td small{display:block;color:#667085;margin-top:3px}.attendance-open{background:#fff7e8}.location-cell{max-width:260px;white-space:normal}.location-cell a{color:#175cd3;text-decoration:none}.location-cell a:hover{text-decoration:underline}
@media(max-width:900px){.employee-summary{grid-template-columns:1fr 1fr}.attendance-table{min-width:1250px}}

.payroll-panel{margin-top:18px}.payroll-summary{grid-template-columns:repeat(5,minmax(150px,1fr));margin:12px 0 16px}.payroll-table{min-width:1250px}.payroll-note{display:block;color:#667085;padding:10px 2px 0}.row-actions{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:900px){.payroll-summary{grid-template-columns:1fr 1fr}}
/* v6.2.27 Employee Mobile Portal permissions */
.employee-portal-access{padding:14px;border:1px solid #d0d5dd;border-radius:14px;background:#f8fafc}.employee-portal-access>b,.employee-portal-access>small{display:block}.employee-portal-access>small{margin-top:4px;color:#667085}.portal-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.portal-permission-grid .check{background:#fff;border:1px solid #e4e7ec;border-radius:10px;padding:10px}@media(max-width:700px){.portal-permission-grid{grid-template-columns:1fr}}

/* v6.2.27 scheduled interventions */
.planner-event.intervention{background:#e0f2fe;border-color:#0ea5e9;color:#0c4a6e}.scheduled-admin-panel{margin-top:16px}.scheduled-admin-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,1.5fr) auto;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--line,#e4e7ec)}.scheduled-admin-row:first-child{border-top:0}.scheduled-admin-row b,.scheduled-admin-row span,.scheduled-admin-row small{display:block}.scheduled-admin-row small{color:#667085}.scheduled-assignees{display:flex;gap:6px;flex-wrap:wrap}.ack-chip{display:inline-block!important;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.ack-chip.seen{background:#ecfdf3;color:#067647}.ack-chip.unseen{background:#fff4e5;color:#b54708}.portal-permission-grid{grid-template-columns:repeat(2,minmax(180px,1fr))!important}#siEmployees{min-height:130px}
@media(max-width:900px){.scheduled-admin-row{grid-template-columns:1fr}.scheduled-admin-row>div:last-child{display:flex;gap:8px;flex-wrap:wrap}}

/* FIX19 mobile Owner/Admin <-> Max */
.profile-switch-mobile{display:none}.profile-switch-mobile:not([hidden]){font-weight:900;border-color:#f1b300;background:#fff7d6;color:#704900}@media(max-width:900px){.profile-switch-mobile:not([hidden]){display:inline-flex;align-items:center;justify-content:center}}

/* v6.2.27 Cloud Email setup wizard */
.cloud-email-panel{border:1px solid rgba(16,185,129,.35);background:linear-gradient(180deg,rgba(16,185,129,.06),rgba(15,23,42,.02))}
.cloud-email-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-weight:800;font-size:12px;background:rgba(16,185,129,.13);border:1px solid rgba(16,185,129,.28)}
.email-delivery-choice{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:16px;align-items:end;margin-bottom:16px}
.email-method-state{min-height:48px;border-radius:12px;padding:10px 12px;background:rgba(15,23,42,.06);display:flex;flex-direction:column;justify-content:center}
.email-method-state b{font-size:12px;letter-spacing:.06em}.email-method-state span{font-size:13px;opacity:.78;margin-top:3px}
.cloud-email-setup{display:grid;gap:16px}
.cloud-email-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cloud-email-steps>div{display:flex;gap:12px;padding:14px;border:1px solid rgba(148,163,184,.28);border-radius:14px;background:rgba(255,255,255,.035)}
.cloud-email-steps>div>b{flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(16,185,129,.16);font-size:14px}
.cloud-email-steps span{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.cloud-email-steps strong{font-size:14px}.cloud-email-steps small{line-height:1.35;opacity:.75}
.cloud-key-grid{align-items:end}.cloud-key-state{padding:10px 12px;border-radius:10px;background:rgba(16,185,129,.08);font-weight:700}
.cloud-email-note,.smtp-advanced-notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.18)}
.cloud-email-note b,.smtp-advanced-notice b{font-size:12px;white-space:nowrap}.cloud-email-note span,.smtp-advanced-notice span{font-size:13px;line-height:1.45}
.smtp-advanced-notice{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.22)}
@media (max-width:900px){.cloud-email-steps{grid-template-columns:1fr}.email-delivery-choice{grid-template-columns:1fr}.cloud-email-steps .button-link{width:100%;text-align:center}.cloud-email-badge{margin-top:8px}}
@media (max-width:480px){.cloud-email-steps>div{padding:12px}.cloud-email-note,.smtp-advanced-notice{flex-direction:column}.cloud-email-note b,.smtp-advanced-notice b{white-space:normal}}

/* v6.2.27 Planner day/range */
#siStartDayWrap[hidden],#siEndDayWrap[hidden],#siTimedDateWrap[hidden],#siDurationWrap[hidden]{display:none!important}.planner-event.intervention[data-mode="single_day"],.planner-event.intervention[data-mode="multi_day"]{border-left-width:5px}.planner-event.intervention{min-width:44px}
/* v6.2.27 FIX23 - usability audit: search, duplicate VAT, PDF center */
.search-with-icon{display:flex;align-items:center;gap:8px;min-width:min(100%,320px);flex:1 1 320px;background:#fff;border:1px solid #d7dee8;border-radius:10px;padding:0 10px}.search-with-icon span{font-size:20px;color:#667085}.search-with-icon input{border:0!important;box-shadow:none!important;min-width:0;flex:1;padding-left:0!important}.customer-quick-search{width:100%;margin:0 0 7px 0;padding:10px 12px;border:1px solid #cfd8e4;border-radius:9px;background:#f8fafc;font-size:14px}.customer-quick-search:focus{background:#fff;border-color:#7d91ad;outline:2px solid rgba(42,95,151,.12)}
.employee-mobile-actions{display:none}.employee-action-menu{display:grid;grid-template-columns:1fr;gap:8px;padding-top:9px}.employee-action-menu button{width:100%}
.duplicate-vat-body{padding:18px;display:grid;gap:14px;max-height:68vh;overflow:auto}.duplicate-vat-group{border:1px solid #d9e1ea;border-radius:14px;padding:14px;background:#f8fafc;display:grid;gap:12px}.duplicate-vat-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.duplicate-vat-head b{font-size:16px}.duplicate-vat-head span{background:#fff3cd;border-radius:999px;padding:5px 9px;font-size:12px}.duplicate-customer-list{display:grid;gap:8px}.duplicate-customer-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1e6ed;background:#fff;padding:10px;border-radius:10px}.duplicate-customer-card>div{display:grid;gap:3px}.duplicate-customer-card span,.duplicate-customer-card small{color:#667085;font-size:12px}.pdf-center-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px}.pdf-center-toolbar select,.pdf-center-toolbar input[type=date]{min-height:42px}.pdf-center-tablewrap table{min-width:1100px}.pdf-actions{min-width:340px}

/* R8 Planner service day/range selector */
.service-day-btn{background:linear-gradient(135deg,#1f6f5c,#2f8f73)!important;border-color:#1f6f5c!important}
.si-mode-panel{padding:14px;border:1px solid #d8e2ec;border-radius:14px;background:#f8fbfd;display:flex;flex-direction:column;gap:9px}
.si-mode-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.si-mode-buttons button{min-height:48px;border:1px solid #cbd8e4;border-radius:12px;background:#fff;color:#23313f;font-weight:800;cursor:pointer;padding:8px 10px}
.si-mode-buttons button.active{background:#172433;color:#fff;border-color:#172433;box-shadow:0 4px 12px rgba(23,36,51,.18)}
#siPeriodSummary{font-weight:700;color:#4a647b}
@media(max-width:700px){.si-mode-buttons{grid-template-columns:1fr}.si-mode-buttons button{min-height:52px;font-size:15px}.service-day-btn{width:100%}}

/* Planner R9 - editable existing intervention + touch multi-person team */
.si-team-section{display:block}.si-team-actions{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 10px}.si-team-actions button{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}.si-team-actions button:hover{background:#f1f5f9}.si-team-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}.si-team-group{border:1px solid #dbe4ee;border-radius:13px;background:#f8fafc;padding:10px}.si-team-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#334155}.si-team-group-head b{font-size:11px;letter-spacing:.06em}.si-team-group-head span{font-size:10px;background:#e2e8f0;border-radius:999px;padding:3px 7px}.si-team-grid{display:grid;gap:7px}.si-person-card{display:flex!important;align-items:center;gap:9px;border:1px solid #dbe4ee;background:#fff;border-radius:10px;padding:9px 10px;cursor:pointer;min-height:48px}.si-person-card:has(input:checked){border-color:#0ea5e9;background:#eff9ff;box-shadow:0 0 0 1px rgba(14,165,233,.15)}.si-person-card input{width:19px;height:19px;flex:0 0 auto}.si-person-card span{display:flex;flex-direction:column;gap:2px}.si-person-card b{font-size:12px;color:#1e293b}.si-person-card small{font-size:10px;color:#64748b}.si-team-empty{padding:8px;font-size:11px}#siTeamSummary{display:block;margin-top:8px;font-weight:700;color:#475569}
@media(max-width:720px){.si-team-picker{grid-template-columns:1fr}.si-team-actions{display:grid;grid-template-columns:1fr 1fr}.si-team-actions button{min-height:44px}.si-person-card{min-height:54px;padding:10px 11px}.si-person-card input{width:22px;height:22px}}

/* Planner R10 existing edit/delete */
.scheduled-admin-row .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.scheduled-admin-row .danger,#deleteScheduledIntervention{background:#8f1d1d;color:#fff;border:1px solid #8f1d1d}#deleteScheduledIntervention[hidden]{display:none!important}@media(max-width:700px){.scheduled-admin-row .actions{width:100%;justify-content:stretch}.scheduled-admin-row .actions button{flex:1 1 30%;min-height:44px}}

/* R22 Job Card migration */
.migration-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.migration-warning{display:flex;gap:12px;align-items:flex-start;margin:14px 0;padding:12px 14px;border:1px solid #d7e2ef;border-radius:12px;background:#f8fbff}.migration-warning b{white-space:nowrap}.migration-warning span{font-size:13px;line-height:1.45;color:#526173}@media(max-width:900px){.migration-grid{grid-template-columns:1fr}.migration-warning{flex-direction:column;gap:4px}}
