:root{font-family:Arial,sans-serif;color:#222;background:#f4f5f7}*{box-sizing:border-box}body{margin:0}header{background:#171717;color:white;padding:16px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:28px;font-weight:900}.brand span{font-size:15px;font-weight:500;margin-left:8px}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{color:white;text-decoration:none;font-size:14px}main{max-width:1250px;margin:28px auto;padding:0 20px}.toolbar{display:flex;justify-content:space-between;align-items:center}.card,.paper{background:white;border:1px solid #d8d8d8;padding:22px;margin:16px 0;box-shadow:0 2px 8px #0000000d}.paper{max-width:1100px;margin:auto}.form-title{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;border-bottom:3px solid #222;margin-bottom:0}.form-title strong{font-size:34px}.form-title h1{text-align:center;letter-spacing:2px}.service-no{font-size:26px;text-align:center;color:#e45b48;border:0}.grid{display:grid;grid-template-columns:2fr 1fr;border-left:1px solid #888}.grid>label,.grid>div{border-right:1px solid #888;border-bottom:1px solid #888;padding:8px;font-size:12px;font-weight:700}.grid input:not([type=radio]):not([type=checkbox]),.grid textarea,.grid select{width:100%;border:0;border-top:1px solid #ddd;padding:8px;margin-top:5px;font:inherit;font-size:15px;background:white}.wide{grid-column:1/-1}.choices{display:flex;gap:18px;align-items:center}.choices label{font-weight:normal}.btn{display:inline-block;background:#222;color:white;padding:10px 16px;border:0;text-decoration:none;cursor:pointer;margin-top:15px}.secondary{background:#666}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #ddd}th{background:#f2f2f2}.pill{background:#eee;padding:4px 8px;border-radius:14px}.two{display:grid;grid-template-columns:1fr 2fr;gap:18px}.stack{display:grid;gap:10px}.stack input,.stack textarea,.stack select,.inline-form input,.inline-form select{padding:10px;border:1px solid #bbb}.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:15px}.flash{padding:12px;background:#e7f5e9;border:1px solid #9ac6a0}@media(max-width:800px){header,.toolbar{align-items:flex-start;flex-direction:column}.grid,.two{grid-template-columns:1fr}.wide{grid-column:auto}.form-title{grid-template-columns:1fr}.form-title h1{text-align:left}}
nav{align-items:center}.navbtn{background:none;border:1px solid #777;color:#fff;padding:6px 9px;cursor:pointer}.service-display{font-size:28px;text-align:center;color:#e45b48}.searchbox{padding:14px;background:#f3f3f3;position:relative}.searchbox input{width:100%;padding:10px;margin-top:6px}.customer-hit{display:block;width:100%;text-align:left;padding:10px;border:0;border-bottom:1px solid #ddd;background:white;cursor:pointer}.statusbar,.actions,.filters,.attachments{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.small{margin:0;padding:7px 10px}#sig{max-width:100%;border:2px solid #aaa;background:#fff;touch-action:none}.signature-img{max-width:300px;max-height:100px}.metrics{display:flex;gap:12px;flex-wrap:wrap}.metric{background:#fff;border:1px solid #ddd;padding:18px;min-width:130px;display:grid}.metric b{font-size:25px}.metric span{font-size:12px}.login-page{min-height:100vh;display:grid;place-items:center;background:#eee}.login-card{width:min(420px,92vw);background:white;padding:32px;box-shadow:0 5px 30px #0002}.login-card label{display:grid;gap:6px;margin:15px 0}.login-card input{padding:12px;border:1px solid #aaa}.error{background:#ffe8e8;border-color:#dd9999}.table-scroll{overflow:auto}.print-table th{width:18%}.print-table td{min-width:160px}.print-table .tall{height:100px}.print-page{background:white}.print-sheet{box-shadow:none}.filters a{font-size:13px}.attachments a{padding:8px;background:#eee}@media(max-width:800px){main{padding:0 10px;margin:14px auto}.card,.paper{padding:14px}.brand{font-size:23px}nav{width:100%}.statusbar{align-items:flex-start}.table-scroll{padding:0}.table-scroll table{min-width:720px}.actions form,.actions .btn{width:100%}.actions .btn{margin-top:0}.metric{flex:1}.grid>label,.grid>div{font-size:13px}.grid input:not([type=radio]):not([type=checkbox]),.grid textarea,.grid select{font-size:16px}.service-display{text-align:left}.form-title strong{font-size:28px}}
@media print{header,.toolbar,.btn{display:none!important}main{max-width:none;margin:0;padding:0}.paper{border:0;margin:0;padding:0}.print-sheet{max-width:none}.print-page .paper{display:block}body{background:white}}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:150px;max-height:58px;object-fit:contain;background:white}.brand>div{display:grid;line-height:1.05}.brand>div b{font-size:20px}.brand>div span{font-size:13px;font-weight:800;color:#ff3b30;margin:4px 0 0;letter-spacing:1px}.form-brand{display:grid;justify-items:start;gap:3px}.form-brand img{width:180px;max-width:100%;height:65px;object-fit:contain;object-position:left center}.form-brand span{background:#e5232d;color:#fff;font-weight:900;padding:3px 10px;letter-spacing:1px}.grid small{display:block;margin-top:5px;color:#666;font-weight:normal}.grid input[readonly]{background:#f1f3f5;color:#555}.orphan-row{display:flex;align-items:center;gap:18px;background:#fff1f1}.orphan-row label{font-size:14px}.orphan-row span{font-weight:normal;color:#555}@media(max-width:800px){.brand img{width:120px}.form-brand img{width:150px}.orphan-row{align-items:flex-start;flex-direction:column;gap:6px}}
.danger{background:#b00020!important;color:#fff!important}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.print-head{display:grid;grid-template-columns:1fr 300px;gap:20px;margin-bottom:20px}.print-logo{text-align:center}.print-logo img{max-width:250px}.print-jobno{font-size:24px;color:#c00;text-align:center}.print-boxes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.print-box{background:#eee;border-radius:12px;padding:12px;min-height:105px}.print-customer{background:#eee;border-radius:12px;padding:12px;margin:20px 0}.invoice-to{background:#fff8e8;padding:10px}
/* V2.4 dashboard and compact ENZED layout */
body{font-family:Arial,Helvetica,sans-serif;color:#1e293b}.brand{text-decoration:none;color:#fff}.primary{background:#d71920}.muted{color:#64748b;margin-top:-8px}.userbadge{color:#cbd5e1;font-size:12px}.navmenu{position:relative}.navmenu summary{cursor:pointer}.navmenu div{position:absolute;right:0;top:25px;background:#20252b;border:1px solid #444;padding:10px;min-width:170px;z-index:30;display:grid;gap:10px}.calendar-tools{display:flex;align-items:center;justify-content:center;gap:15px}.calendar-tools h2{margin:0}.legend{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.legend span,[class^="status-"]{padding:4px 8px;border-radius:5px;font-size:12px;font-weight:700}.status-new{background:#e2e8f0;color:#334155}.status-allocated{background:#dbeafe;color:#1d4ed8}.status-in-progress{background:#fef3c7;color:#92400e}.status-on-hold{background:#fce7f3;color:#9d174d}.status-completed{background:#dcfce7;color:#166534}.status-cancelled{background:#fee2e2;color:#991b1b}.calendar{display:grid;grid-template-columns:repeat(7,1fr);background:#cbd5e1;gap:1px;border:1px solid #cbd5e1}.cal-head{background:#1f2937;color:#fff;padding:8px;text-align:center;font-weight:700}.cal-day{background:#fff;min-height:125px;padding:6px}.cal-day.blank{background:#f8fafc}.cal-job{display:block;margin:5px 0;padding:5px;text-decoration:none;border-radius:4px}.cal-job small{display:block;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.filter-grid label{display:grid;gap:4px;font-size:12px;font-weight:700}.filter-grid input,.filter-grid select,.filters input,.filters select{padding:8px;border:1px solid #cbd5e1}.quick{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.service-paper{max-width:1120px;padding:18px}.service-grid{grid-template-columns:2fr 1fr}.service-grid textarea{min-height:48px}.print-one{width:190mm;margin:0 auto;font:10pt Arial;color:#111}.print-one .print-head{grid-template-columns:1fr 75mm;margin-bottom:5mm}.print-one .print-logo img{max-width:55mm}.print-one .print-logo h2{margin:2mm 0}.print-one .print-box{min-height:23mm;padding:3mm}.print-one .print-customer{margin:3mm 0;padding:3mm}.print-one .print-table th,.print-one .print-table td{padding:2mm;border:1px solid #777;font-size:9pt}.print-one .bodytext{height:18mm;vertical-align:top;white-space:pre-wrap}.print-right{float:right}.print-one .signature-img{max-height:18mm}.branch{line-height:1.35}
@media(max-width:800px){.calendar{grid-template-columns:1fr}.cal-head,.cal-day.blank{display:none}.cal-day{min-height:auto}.cal-day>b{display:block;border-bottom:1px solid #eee}.filter-grid{grid-template-columns:1fr}.navmenu div{left:0;right:auto}.service-grid{grid-template-columns:1fr}}
@media print{@page{size:A4 portrait;margin:8mm}.print-one{width:auto;height:auto}.print-one .print-head{margin-bottom:3mm}.print-one .print-boxes{gap:3mm}.print-one .print-customer{margin:2mm 0}.print-one .bodytext{height:15mm}body.print-page{margin:0}}

.muted{color:#666}.primary{background:#d71920}.navmenu{position:relative}.navmenu summary{cursor:pointer;font-size:14px}.navmenu div{position:absolute;z-index:20;right:0;top:25px;background:#222;padding:10px;min-width:170px;display:grid;gap:8px}.navmenu:not([open]) div{display:none}.userbadge{font-size:13px;color:#ddd}.calendar-tools{display:flex;align-items:center;justify-content:center;gap:18px}.calendar-tools h2{margin:0}.legend{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.legend span,.cal-job,[class^="status-"]{padding:4px 7px;border-radius:5px}.status-new{background:#dcecff}.status-allocated{background:#fff0b8}.status-in-progress{background:#ffd4a8}.status-on-hold{background:#eadcff}.status-completed{background:#d9f2dd}.status-cancelled{background:#f2d5d5}.calendar{display:grid;grid-template-columns:repeat(7,1fr);background:#ccc;gap:1px;border:1px solid #ccc}.cal-head{background:#222;color:white;padding:8px;text-align:center;font-weight:bold}.cal-day{background:white;min-height:125px;padding:7px}.cal-day.blank{background:#f4f4f4}.cal-job{display:block;margin-top:5px;text-decoration:none;color:#222;font-weight:bold;font-size:12px}.cal-job small{display:block;font-weight:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.filter-grid label{display:grid;gap:4px;font-size:12px;font-weight:bold}.filter-grid input,.filter-grid select,.filters select{padding:8px;border:1px solid #bbb}.quick{display:flex;gap:6px;flex-wrap:wrap}.service-paper{max-width:1150px}.service-grid{grid-template-columns:2fr 1fr}@media(max-width:800px){.calendar{grid-template-columns:repeat(7,minmax(110px,1fr));min-width:780px}.calendar-tools{justify-content:flex-start;flex-wrap:wrap}.calendar{overflow:auto}.filter-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-grid .wide{grid-column:auto}nav{overflow:visible}.navmenu div{left:0;right:auto}}
@media print{@page{size:A4;margin:8mm}.print-sheet{font-size:10px}.print-head{grid-template-columns:1fr 240px;gap:10px;margin-bottom:8px}.print-logo img{max-width:190px}.print-box{min-height:75px;padding:8px}.print-customer{margin:8px 0;padding:8px}.print-table th,.print-table td{padding:5px}.print-table .tall{height:55px}.signature-img{max-height:55px}}
/* V2.5 compact master data, active navigation and calendar day interaction */
nav>a.active, .navmenu.active-parent>summary{background:#d71920;color:#fff;border-radius:4px}nav>a{padding:7px 9px}.navlink{background:none;border:0;color:#fff;padding:0;cursor:pointer;font:inherit;text-align:left}.accountmenu summary{color:#fff}.narrow{max-width:560px}.narrow label{display:grid;gap:5px}.narrow input{padding:10px;border:1px solid #bbb}.add-record{padding:10px 14px}.add-record>summary{cursor:pointer;font-weight:700}.form-columns{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px;margin-top:12px}.form-columns input,.form-columns select{padding:8px;border:1px solid #bbb}.compact-table{font-size:12px;white-space:nowrap}.compact-table th,.compact-table td{padding:7px 8px;vertical-align:top}.actions-cell{white-space:nowrap}.actions-cell details,.inline-details,.inline{display:inline-block}.actions-cell summary{cursor:pointer;color:#1d4ed8}.popedit{position:absolute;z-index:40;background:#fff;border:1px solid #bbb;box-shadow:0 5px 18px #0003;padding:12px;min-width:260px}.link-danger{border:0;background:none;color:#b00020;cursor:pointer;padding:0;font:inherit}.today-cell{background:#fff7d6!important;outline:3px solid #d71920;outline-offset:-3px}.day-link{display:block;text-decoration:none;color:#111;font-weight:800;padding:2px}.today-cell .day-link span{background:#d71920;color:#fff;font-size:9px;padding:2px 5px;border-radius:8px;margin-left:4px}.cal-day:not(.blank){cursor:pointer}.dc-choice{background:#eef7ff;padding:10px}.orphan-row{background:#fff1f1}
@media(max-width:900px){.form-columns{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.form-columns{grid-template-columns:1fr}}
.login-logo{display:block;max-width:220px;width:75%;margin:0 auto 18px}.top-job-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px}.detail-grid>div{display:grid;grid-template-columns:115px 1fr;gap:7px;padding:5px 0;border-bottom:1px solid #eee}.detail-grid .wide{grid-column:1/-1}.compact-details{padding:14px 18px}.compact-details h2{margin:0 0 8px}.filterbar{display:flex;gap:8px;flex-wrap:wrap;align-items:end;padding:10px 12px}.filterbar input,.filterbar select{min-width:150px}.toolbar-actions{display:flex;gap:7px;flex-wrap:wrap}.orline{text-align:center;font-weight:700;color:#777}@media(max-width:760px){.detail-grid{grid-template-columns:1fr}.detail-grid .wide{grid-column:auto}.detail-grid>div{grid-template-columns:100px 1fr}}
/* V2.7 compact email settings */
.email-settings-grid{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:14px;align-items:start}.compact-settings{margin:0;padding:16px}.compact-settings h2{font-size:18px;margin:0 0 12px}.compact-settings label{display:grid;gap:4px;font-size:13px;font-weight:700}.compact-settings input,.compact-settings select{width:100%;padding:8px;border:1px solid #bbb;background:#fff}.compact-settings .btn{margin-top:10px}.method-help{margin:8px 0 2px;font-size:12px;line-height:1.35}.smtp-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}.smtp-grid .span2{grid-column:1/-1}.test-email-card{grid-column:2}.test-email-row{display:flex;gap:8px;align-items:center}.test-email-row input{flex:1}.test-email-row .btn{margin:0;white-space:nowrap}@media(max-width:800px){.email-settings-grid{grid-template-columns:1fr}.test-email-card{grid-column:auto}.smtp-grid{grid-template-columns:1fr}.smtp-grid .span2{grid-column:auto}.test-email-row{align-items:stretch;flex-direction:column}}
/* V2.9 email settings refinements */
.test-email-card .test-help{margin:7px 0 0;color:#64748b;font-size:12px;line-height:1.35;position:static}.provider-note{font-size:12px;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;padding:7px 9px;border-radius:4px}.compact-settings .smtp-grid{margin-top:4px}.compact-settings input[readonly]{background:#f1f5f9;color:#475569}
/* V3.1 email settings */
.email-v31{display:grid;gap:14px;max-width:1120px}.email-v31 .card{margin:0}.email-method-card{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:16px}.email-method-card h2,.provider-card h2{margin:0 0 5px;font-size:18px}.email-method-card p{margin:0}.method-controls{display:flex;gap:8px;align-items:center;min-width:480px}.method-controls select{flex:1;padding:8px;border:1px solid #bbb;background:#fff}.method-controls .btn{white-space:nowrap}.provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.provider-card{padding:16px}.provider-card>p{min-height:42px}.provider-status{display:inline-block;padding:5px 8px;background:#f1f5f9;border:1px solid #d7dee7;border-radius:4px;font-size:12px;margin:3px 0 10px}.provider-card details{border-top:1px solid #ddd;padding-top:10px}.provider-card summary{cursor:pointer;font-weight:700}.provider-card details form{margin-top:10px}.full-card{width:100%}.smtp-grid-v31{display:grid;grid-template-columns:2fr .7fr 1fr 2fr;gap:10px 12px;align-items:end}.smtp-grid-v31 label{display:grid;gap:4px}.smtp-grid-v31 input,.smtp-grid-v31 select{width:100%;min-width:0}.test-help{margin:7px 0 0!important;position:static!important}.email-v31 .test-email-row .btn{margin:0}@media(max-width:850px){.email-method-card{display:block}.method-controls{min-width:0;margin-top:12px;flex-direction:column;align-items:stretch}.provider-grid{grid-template-columns:1fr}.smtp-grid-v31{grid-template-columns:1fr 1fr}}@media(max-width:520px){.smtp-grid-v31{grid-template-columns:1fr}}
/* V3.2 uniform Microsoft/Google sign-in screens */
.email-v32{display:grid;gap:14px;max-width:1120px}.email-v32 .card{margin:0}.uniform-providers .provider-card{display:flex;flex-direction:column;min-height:190px}.uniform-providers .provider-card>p.muted{min-height:44px}.provider-signin{display:block;text-align:center;margin-top:8px}.provider-foot{margin:auto 0 0;padding-top:12px;color:#64748b;font-size:12px}.reset-status-card{padding:16px;display:flex;gap:18px;justify-content:space-between;align-items:center}.reset-status-card h2{margin:0 0 5px;font-size:18px}.connected-line{margin:0}.reset-actions{display:flex;gap:8px;align-items:center}.reset-actions form{display:flex;gap:8px;align-items:center;margin:0}.reset-actions input{min-width:260px;padding:8px;border:1px solid #bbb}.reset-actions .btn{margin:0}@media(max-width:800px){.reset-status-card{display:block}.reset-actions{margin-top:12px;align-items:stretch;flex-direction:column}.reset-actions form{align-items:stretch}.reset-actions input{min-width:0;flex:1}}
.btn.disabled{opacity:.55}.provider-card .actions{display:flex;gap:8px;align-items:center}.provider-card .actions form{margin:0}.provider-card .actions .btn{width:auto}.email-v32 .full-card{max-width:none}
/* V3.4 unified SMTP email settings */
.email-compact{max-width:1000px}.email-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.email-grid label{margin:0}.email-grid input,.email-grid select{width:100%;box-sizing:border-box}.test-email-card{max-width:1000px}.test-email-row{display:flex;gap:10px;align-items:center}.test-email-row input{flex:1}.test-email-row .btn{white-space:nowrap}@media(max-width:850px){.email-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:520px){.email-grid{grid-template-columns:1fr}.test-email-row{flex-direction:column;align-items:stretch}}
.email-settings-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(520px,1.6fr);gap:16px;align-items:start}.email-method-card,.email-smtp-card{margin:0}.email-method-card select{width:100%}.email-method-card .btn{align-self:flex-start}.email-smtp-card .email-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}@media(max-width:1000px){.email-settings-layout{grid-template-columns:1fr}.email-smtp-card .email-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:620px){.email-smtp-card .email-grid{grid-template-columns:1fr}}
.email-settings-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(520px,1.6fr);gap:16px;align-items:start}.email-method-card,.email-smtp-card{margin:0}.email-method-card select{width:100%}.email-smtp-card .email-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}@media(max-width:1000px){.email-settings-layout{grid-template-columns:1fr}.email-smtp-card .email-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:620px){.email-smtp-card .email-grid{grid-template-columns:1fr}}
/* V3.6 stacked email settings, audit retention and job archive */
.email-v36{max-width:1100px;display:grid;gap:14px}.email-v36 .card{margin:0}.email-section h2{margin:0 0 10px}.email-method-row{display:grid;grid-template-columns:minmax(320px,1fr) auto;gap:12px;align-items:end}.email-method-row label,.email-grid-v36 label{display:grid;gap:5px;font-weight:700;font-size:13px}.email-method-row select,.email-grid-v36 input,.email-grid-v36 select{width:100%;padding:9px;border:1px solid #bbb;background:#fff}.email-method-row .btn{margin:0;white-space:nowrap}.email-grid-v36{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.email-section>.btn{margin-top:10px}.audit-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:end}.audit-controls form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.audit-controls label{display:grid;gap:4px;font-size:13px;font-weight:700}.audit-controls input{padding:8px;border:1px solid #bbb}.archive-manage h2,.audit-manage h2{margin-top:0}@media(max-width:850px){.email-grid-v36{grid-template-columns:1fr 1fr}.email-method-row{grid-template-columns:1fr}}@media(max-width:520px){.email-grid-v36{grid-template-columns:1fr}.test-email-row{flex-direction:column;align-items:stretch}}
/* V3.7 layout refinements */
.top-job-actions .btn,.top-job-actions button.btn{box-sizing:border-box;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;line-height:20px;margin:0}
.email-v36{max-width:1200px}.email-section{overflow:visible}.email-method-row{align-items:end}.email-method-row+.muted{display:block;margin:12px 0 0;clear:both;line-height:1.4}.email-grid-v36{row-gap:18px}.email-grid-v36 label{min-width:0}.email-grid-v36 input,.email-grid-v36 select{box-sizing:border-box;min-height:38px}.email-grid-v36+.muted{display:block;clear:both;margin:14px 0 0;line-height:1.4}.archive-manage .inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.archive-manage .inline-form label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.archive-manage .muted{display:block;clear:both;margin:12px 0 0;line-height:1.4}.archive-manage input,.archive-manage .btn,.filterbar input,.filterbar select,.filterbar .btn{box-sizing:border-box;min-height:36px}

/* V3.9 global spacing / overlap fixes */
.audit-management-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:22px;align-items:start;margin-top:16px}.audit-control-group{display:grid;gap:8px;min-width:0}.audit-control-group>label{font-size:13px;font-weight:700}.audit-control-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.audit-control-row input{min-height:38px;padding:8px;border:1px solid #bbb;box-sizing:border-box;min-width:0}.audit-control-row input[type=number]{width:105px}.audit-control-row input[type=date]{width:150px}.audit-control-row .btn{margin:0;min-height:38px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.audit-help{position:static!important;display:block;clear:both;margin:20px 0 0!important;line-height:1.5}.audit-manage{overflow:visible}.card p.muted{line-height:1.45}.email-section .muted,.archive-manage .muted{position:static!important}.compact-table td,.compact-table th{line-height:1.35;overflow-wrap:anywhere}.actions-cell{overflow-wrap:normal}.form-help,.method-help,.test-help,.provider-note{position:static!important;display:block;clear:both;line-height:1.45}
@media(max-width:900px){.audit-management-grid{grid-template-columns:1fr}}
@media(max-width:520px){.audit-control-row{align-items:stretch;flex-direction:column}.audit-control-row input[type=number],.audit-control-row input[type=date],.audit-control-row .btn{width:100%}}
\n/* V3.13 global overlap and responsive layout hardening */\n.card,.paper,.email-section,.audit-manage,.archive-manage{min-width:0}\n.card *,.paper *{box-sizing:border-box}\n.card p,.card .muted,.card small,.paper p,.paper .muted{overflow-wrap:anywhere;word-break:normal}\nlabel{min-width:0}\ninput,select,textarea{max-width:100%}\n.email-v36,.email-v36 .card{width:100%;max-width:1200px}\n.email-method-row,.email-grid-v36{min-width:0}\n.email-method-row>* ,.email-grid-v36>*{min-width:0}\n.email-section p,.email-section .muted,.email-section .form-help{margin-top:12px!important;margin-bottom:0!important;position:static!important;line-height:1.5!important}\n.audit-management-grid>*{min-width:0}\n.audit-control-group{align-content:start}\n.audit-control-row{min-height:42px}\n.audit-help{padding-top:4px}\n.archive-manage form,.archive-manage .filterbar{min-width:0}\n.filterbar>*{min-width:0}\n.table-wrap{overflow-x:auto;max-width:100%}\ntable{max-width:100%}\nth,td{vertical-align:top;overflow-wrap:anywhere}\n.actions-cell,.actions-cell a,.actions-cell button{white-space:normal}\n.top-job-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}\n@media(max-width:900px){.email-grid-v36{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-management-grid{grid-template-columns:1fr}.filterbar{align-items:stretch}}\n@media(max-width:600px){main{padding:0 12px}.card,.paper{padding:16px}.email-method-row,.email-grid-v36{grid-template-columns:1fr}.email-method-row .btn,.email-section>.btn{width:100%}.audit-control-row{flex-direction:column;align-items:stretch}.audit-control-row input[type=number],.audit-control-row input[type=date],.audit-control-row .btn{width:100%}.top-job-actions .btn,.top-job-actions button.btn{width:100%}}\n
/* V3.14 email/OAuth layout and overlap protection */
.email-section{overflow:visible}.email-section label{min-width:0}.email-section input,.email-section select{width:100%;box-sizing:border-box}.email-grid-v36{align-items:start}.email-grid-v36>*{min-width:0}.connection-ok{padding:14px;border:1px solid #b7d8bd;background:#f3fbf4;margin:12px 0 16px;line-height:1.6;overflow-wrap:anywhere}.oauth-button{display:inline-block;padding:12px 20px}.oauth-advanced{margin-top:18px}.oauth-advanced>form{padding-top:14px}.oauth-advanced summary{cursor:pointer;line-height:1.5}.inline-email-test{display:flex;gap:10px;align-items:end;flex:1;min-width:280px}.inline-email-test label{flex:1}.email-section .muted{line-height:1.5;overflow-wrap:anywhere;margin-top:10px;margin-bottom:10px}.email-method-row{flex-wrap:wrap;row-gap:12px}.email-method-row form{margin:0}@media(max-width:760px){.inline-email-test{display:grid;grid-template-columns:1fr;min-width:100%}.email-method-row{align-items:stretch}.email-method-row .btn{width:100%}.email-grid-v36{grid-template-columns:1fr!important}}

/* V3.15 workflow, mobile and print refinements */
.service-no-red{color:#d71920}.status-update-form{display:flex;gap:10px;align-items:center}.status-update-form select{margin-right:2px}.mobile-camera-upload{display:none}.signature-heading{display:flex;justify-content:space-between;align-items:center;max-width:650px;margin-top:8px}.signature-heading label{font-weight:700}.completion-form textarea{width:100%;max-width:650px}.completion-form input[name=signature_name]{width:100%;max-width:420px}.completion-form canvas{width:100%;max-width:650px;height:180px;touch-action:none}.complete-actions{margin-top:12px}.complete-job-btn{background:#188038!important;color:#fff!important;border-color:#188038!important}.allocation-history table{width:100%}.print-preview-toolbar{display:flex;gap:8px;align-items:center;justify-content:flex-end;max-width:794px;margin:12px auto}.print-preview-toolbar a,.print-preview-toolbar button{background:#202124;color:#fff;border:0;padding:9px 16px;text-decoration:none;font:inherit;cursor:pointer}.print-preview-toolbar form{margin:0}.print-page{background:#eef0f2}.print-one{width:190mm;max-width:190mm;margin:0 auto;background:#fff;box-sizing:border-box}.print-table{width:100%;table-layout:fixed}.print-table th{width:18%}
@media(max-width:700px){.mobile-camera-upload{display:flex}.completion-form canvas{height:150px}.signature-heading{max-width:100%}.status-update-form{flex-wrap:wrap}}
@media print{@page{size:A4 portrait;margin:8mm}.print-preview-toolbar{display:none!important}.print-page{background:#fff!important;margin:0!important;padding:0!important}.print-one{width:194mm!important;max-width:194mm!important;margin:0!important;transform:none!important;zoom:1!important}.print-head,.print-boxes,.print-customer,.print-table{break-inside:avoid}.print-logo img{max-width:52mm!important}.print-table{font-size:10pt!important}.print-table th,.print-table td{padding:5px!important}.print-box,.print-customer{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* V3.16 completion + print refinements */
.completion-form{gap:18px}.completion-form>label{display:grid;gap:7px;font-weight:700}.completion-form input[name=signature_name],.completion-form textarea{width:100%;max-width:none;box-sizing:border-box;padding:11px;border:1px solid #b8bec6}.signature-heading{max-width:none;width:100%;margin-top:8px}.completion-form canvas{width:100%;max-width:none;height:180px;box-sizing:border-box}.complete-actions{margin-top:18px}.print-preview-toolbar{position:sticky;top:0;z-index:20;background:#eef0f2;padding:10px 0}
@media print{@page{size:A4 portrait;margin:7mm}.print-one{width:196mm!important;max-width:196mm!important}.print-one .print-head{grid-template-columns:1fr 72mm!important}.print-one .print-logo img{max-width:50mm!important}.print-one .print-box{min-height:20mm!important}.print-one .print-customer{margin:2mm 0!important}.print-one .bodytext{height:14mm!important}.print-one .print-table th,.print-one .print-table td{font-size:9pt!important;padding:1.6mm!important}}

/* V3.17: one centred A4 print canvas; screen preview uses the same width. */
.print-page .print-one{width:190mm;max-width:190mm;margin-left:auto!important;margin-right:auto!important;}
@media print{
 html,body.print-page{width:210mm!important;min-width:210mm!important;margin:0!important;padding:0!important;background:#fff!important;}
 body.print-page .print-one{width:190mm!important;max-width:190mm!important;margin:0 auto!important;padding:0!important;position:static!important;left:auto!important;right:auto!important;transform:none!important;}
}

/* V3.19 cleaner master-data lists and dedicated edit pages */
.record-edit-link{font-weight:700;color:#075ea8;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.record-edit-link:hover{color:#003f73}.master-edit-card{max-width:1050px;margin:0 auto}.master-edit-form{display:grid;gap:20px}.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.edit-grid label{display:grid;gap:6px;font-weight:700}.edit-grid input,.edit-grid select{width:100%;min-height:40px;padding:8px;border:1px solid #b8bec6;background:#fff}.edit-actions,.record-danger-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.record-danger-actions{border-top:1px solid #ddd;margin-top:22px;padding-top:18px}.record-danger-actions form{margin:0}.btn.warning{background:#a85d00;color:#fff;border-color:#a85d00}.btn.danger{background:#b42318;color:#fff;border-color:#b42318}@media(max-width:700px){.edit-grid{grid-template-columns:1fr}.edit-actions .btn,.record-danger-actions .btn{width:100%}.record-danger-actions form{width:100%}}

/* V3.22 DC workflow, audit overflow and archive/recycle refinements */
.audit-table,.audit-manage table{table-layout:fixed;width:100%}.audit-table th,.audit-table td,.audit-manage td{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;vertical-align:top}.audit-table td:nth-child(4),.audit-table td:nth-child(8){max-width:260px}.duplicate-banner{padding:14px 16px;margin:14px 0;background:#fff3cd;border:1px solid #e0b84f;border-left:5px solid #b7791f;border-radius:5px;overflow-wrap:anywhere}.approval-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:14px 0}.approval-grid .full{grid-column:1/-1}.approval-grid textarea{width:100%;min-height:100px}.dc-form .dc-section{display:grid;grid-template-columns:1fr 2fr;gap:16px;align-items:end;margin-bottom:18px}.check{display:flex!important;gap:8px!important;align-items:center!important}.check input{width:auto!important}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.purge-box{border-left:4px solid #b42318}.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline{display:inline-flex;margin:2px;gap:5px}.inline input[type=password]{width:130px}.warning{background:#fff3cd!important;color:#6b4e00!important;border-color:#d6a800!important}@media(max-width:700px){.approval-grid,.dc-form .dc-section,.detail-grid{grid-template-columns:1fr}.approval-grid .full{grid-column:auto}}
.existing-customer-search{display:block;max-width:620px;font-weight:700;font-size:1.05rem}.existing-customer-search select{width:100%;min-height:42px;margin-top:6px;border:2px solid #555}.dc-section{display:flex;align-items:end;gap:24px;justify-content:flex-start;flex-wrap:wrap}.dc-print-doc{max-width:820px;margin:auto;background:#fff;padding:18px}.dc-doc-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #111;padding-bottom:8px}.dc-doc-header img{max-height:62px;max-width:240px}.dc-doc-footer{margin-top:18px;border-top:1px solid #333;padding-top:5px;font-size:10px}.dc-doc-footer .row1{display:grid;grid-template-columns:1fr 1fr 1fr}.dc-doc-footer .row1 span:nth-child(2){text-align:center}.dc-doc-footer .row1 span:nth-child(3){text-align:right}.dc-doc-footer .row2{text-align:center;margin-top:4px}.dc-doc-table{width:100%;border-collapse:collapse}.dc-doc-table td,.dc-doc-table th{border:1px solid #444;padding:6px;vertical-align:top}@media print{header,.print-toolbar{display:none!important}.dc-print-doc{padding:0;max-width:none}.dc-doc-footer{position:fixed;bottom:0;left:0;right:0}}
.dc-request-no{font-size:1.65rem;font-weight:800;color:#d71920;white-space:nowrap}.dc-customer-options{display:flex;gap:30px;align-items:center;justify-content:flex-start;margin:14px 0 8px;padding:12px 14px;border:1px solid #c8c8c8;background:#f7f7f7}.prominent-option{font-size:1.05rem;font-weight:700}.dc-existing-search{max-width:650px;margin:0 0 20px 0}.dc-existing-search .existing-customer-search{max-width:none}.notification-admin-box{margin:14px 0;padding:12px 14px;border:1px solid #ccc;background:#fafafa}.warning-text{color:#9b2c2c;font-weight:700}@media(max-width:700px){.dc-customer-options{flex-direction:column;align-items:flex-start;gap:10px}.dc-request-no{font-size:1.3rem}}

/* V3.25 DC request presentation */
.dc-request-no{color:#111!important;line-height:1.15;margin-bottom:8px}.dc-request-no span{color:#111;font-weight:400}.dc-request-no strong{color:#d71920;font-weight:800}.dc-request-status{margin:0 0 18px!important;line-height:1.4}.dc-doc-header{position:relative;padding-right:150px}.dc-print-status{position:absolute;right:0;top:72px;width:145px;text-align:right}.dc-print-status strong{display:block;font-size:18px}.dc-print-status small{display:block;margin-top:4px;line-height:1.2}.dc-print-status .approved{color:#188038}.dc-print-status .review{color:#c2410c}.approval-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px 20px;align-items:start}.approval-grid .full{grid-column:1/-1}@media(max-width:800px){.approval-grid{grid-template-columns:1fr}.dc-doc-header{padding-right:0}.dc-print-status{position:static;width:auto;text-align:left;margin-top:8px}}
.settings-card{max-width:900px;margin:0 auto;padding:26px 30px}.settings-section{padding:4px 0 24px;margin-bottom:22px;border-bottom:1px solid #ddd}.settings-section:last-of-type{margin-bottom:10px}.settings-section h2{margin:0 0 18px}.settings-section label{display:block;font-weight:700;max-width:620px}.setting-input{display:flex;align-items:center;gap:10px;margin:8px 0 6px}.setting-input input{width:130px}.setting-input span{font-weight:600}.settings-section small{display:block;font-weight:400;color:#555;line-height:1.4}.settings-card .edit-actions{margin-top:20px}

.status-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-weight:800;font-size:12px;letter-spacing:.02em}.status-badge.active{background:#dff5e5;color:#137333;border:1px solid #8bd19b}.status-badge.inactive{background:#fde3e1;color:#b42318;border:1px solid #e8a29c}.status-badge.archived{background:#fff1cf;color:#8a5a00;border:1px solid #e0bd68}.customer-edit-head{align-items:flex-start}.customer-edit-head h1{margin-bottom:8px}.customer-edit-head form{margin:0}.archived-hit{display:inline-block;margin-left:8px;color:#8a5a00;background:#fff1cf;padding:2px 6px;border-radius:8px}.customer-hit{display:block;width:100%;text-align:left;padding:9px;margin:3px 0;border:1px solid #ddd;background:#fff;cursor:pointer}
/* V3.27 navigation, breadcrumb, bulk archive and recycle-bin UX */
.navmenu summary{padding:7px 10px;border-radius:4px;list-style:none}.navmenu summary::-webkit-details-marker{display:none}.hd-menu>summary{border:1px solid #d71920}.admin-menu>summary{border:1px solid #9ca3af;background:#292929}.accountmenu>summary{border:1px solid #4b5563;background:#111827}.navmenu.active-parent>summary{background:#d71920!important;color:#fff;border-color:#d71920}.navmenu div a{padding:7px 9px;border-radius:3px}.navmenu div a.active-sub{background:#d71920;color:#fff;font-weight:700}.breadcrumb{min-height:22px;margin:-12px 0 8px;font-size:12px;color:#64748b;display:flex;gap:6px;align-items:center}.breadcrumb:empty{display:none}.breadcrumb a{color:#64748b;text-decoration:none}.breadcrumb a:hover{text-decoration:underline;color:#d71920}.bulk-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.bulk-actions.top-right{justify-content:flex-end}.bulk-actions input[type=password]{padding:9px;border:1px solid #bbb}.btn.success{background:#188038}.btn.warning{background:#a16207}.recycle-layout{display:grid;grid-template-columns:210px 1fr;gap:18px}.recycle-side{background:#fff;border:1px solid #d8d8d8;padding:12px;display:grid;align-content:start;gap:4px}.recycle-side h3{margin:4px 8px 10px}.recycle-side a{padding:10px;text-decoration:none;color:#1e293b;border-radius:4px}.recycle-side a.active,.recycle-side a:hover{background:#e8f1ff;color:#0b63ce;font-weight:700}.recycle-main{min-width:0}.recycle-filter{padding:12px 16px}.recycle-filter label{display:flex;gap:12px;align-items:center;font-weight:700}.recycle-filter select{padding:9px;min-width:220px}@media(max-width:850px){.recycle-layout{grid-template-columns:1fr}.recycle-side{grid-template-columns:repeat(2,minmax(0,1fr))}.recycle-side h3{grid-column:1/-1}}
.archive-toolbar{display:flex;align-items:center;gap:14px;padding:12px 16px;flex-wrap:wrap}.archive-toolbar label{display:flex;align-items:center;gap:8px;margin:0}.archive-toolbar input{width:auto}.status-badge.pending{background:#fff0c9;color:#8a5a00}.pending-approval-card{border-left:4px solid #e6a700}.confirm-modal[hidden]{display:none}.confirm-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}.confirm-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}.confirm-dialog{position:relative;width:min(520px,calc(100vw - 32px));background:#fff;border-radius:10px;padding:34px;text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.35)}.confirm-close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:32px;color:#667;cursor:pointer}.confirm-icon{margin:0 auto 16px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#fde5e5;color:#c8102e;font-size:32px;font-weight:700}.confirm-dialog h2{margin:0 0 12px}.confirm-dialog p{font-size:16px;line-height:1.5;color:#56606d}.confirm-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}.modal-open{overflow:hidden}
.import-source-grid{display:grid;grid-template-columns:1fr 40px 2fr;gap:18px;align-items:stretch}.import-source{padding:18px;background:#f8fafc;border:1px solid #e2e7ed;border-radius:6px}.import-or{display:grid;place-items:center;font-weight:700;color:#68717c}.import-preview table{min-width:1800px}.import-result{display:inline-block;padding:4px 8px;border-radius:5px;font-weight:700}.import-result.new{background:#dcf4e5;color:#16743b}.import-result.update{background:#dceeff;color:#165d9c}.import-result.reactivate{background:#fff0c9;color:#8a5a00}.import-result.error{background:#fde0e0;color:#a41424}@media(max-width:850px){.import-source-grid{grid-template-columns:1fr}.import-or{display:none}}

/* V3.29 unified navigation, grouped admin pages and permission UI */
.hd-menu>summary,.admin-menu>summary,.accountmenu>summary{border:1px solid #5f6670!important;background:#242424!important;color:#fff!important}.navmenu.active-parent>summary{background:#d71920!important;border-color:#d71920!important}.admin-section-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:start}.admin-section-nav{background:#fff;border:1px solid #d8d8d8;padding:10px;display:grid;gap:4px;position:sticky;top:12px}.admin-section-nav h3{margin:5px 8px 8px;font-size:14px;color:#475569}.admin-section-nav a{padding:10px 12px;text-decoration:none;color:#1f2937;border-radius:4px}.admin-section-nav a:hover,.admin-section-nav a.active{background:#d71920;color:#fff;font-weight:700}.admin-section-content{min-width:0}.permission-table{width:100%;border-collapse:collapse}.permission-table th,.permission-table td{padding:8px 10px;border-bottom:1px solid #e3e6ea;vertical-align:middle}.permission-table th:not(:first-child),.permission-table td:not(:first-child){text-align:center}.permission-group td{font-weight:800;background:#f1f3f5;text-align:left!important}.permissions-card{margin-bottom:16px}.permission-info{padding:10px 12px;background:#e8f2ff;border:1px solid #b8d8ff;color:#174f88;border-radius:5px}.permission-resets{margin-top:12px}.wide-note{flex-basis:100%}.import-preview td,.import-preview th{white-space:nowrap;min-width:110px}.import-preview td:nth-child(4),.import-preview th:nth-child(4),.import-preview td:nth-child(10),.import-preview th:nth-child(10){min-width:180px;white-space:normal;overflow-wrap:anywhere}.import-source textarea{width:100%;box-sizing:border-box;min-height:120px}.table-scroll{overflow-x:auto}@media(max-width:850px){.admin-section-layout{grid-template-columns:1fr}.admin-section-nav{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-section-nav h3{grid-column:1/-1}}

/* V3.31 reversible notification banners */
.flash-with-action{display:flex;align-items:center;justify-content:space-between;gap:18px}.flash-with-action>span{min-width:0}.flash-undo-form{margin:0 0 0 auto;flex:0 0 auto}.flash-undo{border:1px solid currentColor;background:rgba(255,255,255,.7);color:inherit;border-radius:4px;padding:6px 14px;font-weight:800;cursor:pointer}.flash-undo:hover{background:#fff}.flash.error .flash-undo{display:none}

/* V3.33 consistent grouped-admin alignment and counters */
.aligned-admin-layout{align-items:start}.aligned-admin-layout>.admin-section-nav,.aligned-admin-layout>.admin-section-content{margin-top:0}.admin-section-content>.toolbar:first-child{margin-top:0;min-height:58px}.admin-section-nav{margin-top:0}.counter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.counter-card{border:1px solid #d9dde3;padding:16px;border-radius:5px;display:grid;gap:10px}.counter-card label{display:grid;gap:5px;font-weight:700}.counter-card input{padding:9px;border:1px solid #bbb}.counter-preview{padding:12px;background:#eef6f0;text-align:center;font-size:16px}.counter-preview strong{font-size:22px}.audit-table td{overflow-wrap:anywhere}@media(max-width:850px){.counter-grid{grid-template-columns:1fr}}


/* V3.34 shared Admin submenu alignment and System Settings width consistency */
.aligned-admin-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:start}
.aligned-admin-layout>.admin-section-nav,.aligned-admin-layout>.admin-section-content{align-self:start;margin-top:0!important}
.aligned-admin-layout>.admin-section-nav{top:12px}
.aligned-admin-layout>.admin-section-nav h3{margin:0 8px 10px;line-height:1.35}
.aligned-admin-layout>.admin-section-content>.toolbar:first-child{margin:0 0 12px!important;padding:0;min-height:0}
.aligned-admin-layout>.admin-section-content>.toolbar:first-child h1{margin:0 0 6px;line-height:1.35}
.aligned-admin-layout>.admin-section-content>.toolbar:first-child p{margin:0;line-height:1.45}
.aligned-admin-layout>.admin-section-content>.toolbar:first-child+.card{margin-top:0}
.admin-section-content>.settings-card{width:100%;max-width:none;margin-left:0;margin-right:0}
.admin-section-content>.settings-card+.card{width:100%;max-width:none;margin-left:0;margin-right:0}
.counter-grid{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.counter-card{width:100%;min-width:0}
@media(max-width:850px){.aligned-admin-layout{grid-template-columns:1fr}.aligned-admin-layout>.admin-section-nav{position:static}.counter-grid{grid-template-columns:1fr}}

/* V3.35 full responsive/mobile support and Outlook Helper UX */
.helper-card{max-width:720px;margin:20px auto}.helper-actions{display:flex;gap:10px;flex-wrap:wrap}.helper-install{margin-top:22px;padding:18px;border:1px solid #e3b04b;background:#fff8e5;border-radius:6px}
@media(max-width:700px){
 header{padding:10px 14px;gap:10px}.brand{width:100%;justify-content:space-between}.brand img{width:105px}.brand>div b{font-size:16px}.brand>div span{font-size:11px}
 nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}nav>a,.navmenu>summary{display:block;width:100%;padding:10px!important;text-align:center;border:1px solid #555;border-radius:5px} .navmenu{width:100%}.navmenu div{position:fixed;left:12px!important;right:12px!important;top:auto;min-width:0;max-height:65vh;overflow:auto;z-index:100}
 main{margin:10px auto;padding:0 9px}.breadcrumb{margin:0 0 8px;overflow-x:auto;white-space:nowrap}.toolbar{gap:8px}.toolbar h1{font-size:23px;margin:4px 0}.toolbar-actions,.top-job-actions,.actions,.bulk-actions,.quick,.filters,.statusbar{width:100%}.toolbar-actions .btn,.top-job-actions .btn,.top-job-actions form,.actions>.btn,.actions>form{width:100%}.top-job-actions form button,.actions form button{width:100%}
 .card,.paper{padding:12px;margin:10px 0;border-radius:5px}.form-columns,.edit-grid,.detail-grid,.filter-grid,.approval-grid,.counter-grid,.print-boxes{grid-template-columns:1fr!important}.form-columns>*{min-width:0}.wide{grid-column:auto!important}
 input,select,textarea,button{max-width:100%}input,select,textarea{font-size:16px!important}.btn{min-height:42px;padding:11px 14px;margin-top:6px}.btn.small{min-height:38px}
 .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table,.compact-table,.audit-table{min-width:760px}.import-preview table{min-width:1500px}
 .admin-section-layout,.aligned-admin-layout,.recycle-layout{grid-template-columns:1fr!important}.admin-section-nav,.recycle-side{position:static!important;display:flex!important;overflow-x:auto;gap:5px;padding:8px;white-space:nowrap}.admin-section-nav h3,.recycle-side h3{display:none}.admin-section-nav a,.recycle-side a{flex:0 0 auto;padding:9px 12px}
 .calendar-tools{justify-content:space-between;flex-wrap:wrap}.calendar{grid-template-columns:1fr!important}.cal-head,.cal-day.blank{display:none}.cal-day{min-height:auto}.cal-job{padding:9px}.metrics{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.metric{min-width:0}
 .confirm-dialog{width:calc(100vw - 20px);padding:24px 16px}.confirm-actions{flex-direction:column}.confirm-actions .btn{width:100%}.flash-with-action{align-items:flex-start}.flash-undo{min-height:36px}
 .helper-actions{display:grid;grid-template-columns:1fr}.helper-actions .btn{width:100%;text-align:center}
}
@media(max-width:420px){nav{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.brand>div span{display:none}}
.helper-status-note{margin:14px 0;padding:12px 14px;background:#eef6ff;border:1px solid #b9d8f5;border-radius:6px}.helper-install ol{padding-left:22px;line-height:1.6}@media(max-width:600px){.helper-actions{display:grid}.helper-actions .btn{width:100%;box-sizing:border-box;text-align:center}}
.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:16px}.health-ok{color:#188038;font-weight:700}.health-bad{color:#b3261e;font-weight:700}.health-warn{color:#b06000;font-weight:700}
.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-bottom:14px}.dash-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:14px;text-decoration:none;color:inherit;display:flex;justify-content:space-between;align-items:center}.dash-card b{font-size:26px}.nav-search input{width:150px;padding:7px 9px;border-radius:6px;border:1px solid #bbb}.notification-bell{position:relative;text-decoration:none;font-size:20px;padding:6px}.notification-bell span{position:absolute;right:-2px;top:-3px;background:#c00;color:#fff;border-radius:12px;font-size:10px;padding:2px 5px}.notification-item{border-bottom:1px solid #eee}.notification-item button{width:100%;background:none;border:0;text-align:left;padding:13px;cursor:pointer}.notification-item button span,.notification-item button small{display:block}.notification-item.unread{border-left:4px solid #d71920;background:#fff8f8}.notification-item.read{opacity:.7}.global-search-large{display:flex;gap:10px}.global-search-large input{flex:1}.search-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.search-result{display:block;padding:10px 0;border-bottom:1px solid #eee;text-decoration:none;color:inherit}.search-result span{display:block;color:#666;font-size:13px}@media(max-width:800px){.nav-search{display:none}.dashboard-cards{grid-template-columns:repeat(2,1fr)}}


/* V3.46 UI/UX refinement */
main{max-width:98%;width:98%}.wide-list-table{width:100%;box-sizing:border-box}.sticky-table thead th{position:sticky;top:0;z-index:3;background:#f1f1f1}.record-count{font-size:13px;color:#667085;margin:0 0 8px}.compact-table{width:100%;font-size:13px}.compact-table th,.compact-table td{padding:8px 7px}.compact-table th:nth-child(1),.compact-table td:nth-child(1),.compact-table th:nth-last-child(-n+2),.compact-table td:nth-last-child(-n+2){white-space:nowrap}.jobs-table{width:100%;table-layout:auto}.jobs-table th,.jobs-table td{padding:9px 10px}.jobs-table th:nth-child(2),.jobs-table td:nth-child(2),.jobs-table th:nth-child(3),.jobs-table td:nth-child(3),.jobs-table th:nth-child(6),.jobs-table td:nth-child(6),.jobs-table th:nth-child(7),.jobs-table td:nth-child(7){white-space:nowrap}.jobs-table td:nth-child(8){min-width:280px}.jobs-table [class^="status-"],.jobs-table [class*=" status-"]{white-space:nowrap;display:inline-block}.quick-status-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:10px 0 14px}.quick-status-bar span{font-weight:700}.quick-status-bar a{padding:7px 11px;border:1px solid #c9cdd2;border-radius:5px;text-decoration:none;color:#222;background:#fff}.quick-status-bar a.active,.quick-status-bar a:hover{background:#202124;color:#fff;border-color:#202124}.today-jobs{margin-bottom:14px}.today-jobs-head{display:flex;justify-content:space-between;align-items:center}.today-jobs-head h2{margin:0}.today-job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin-top:10px}.today-job-grid a{display:grid;gap:3px;padding:10px;border:1px solid #e1e4e8;border-radius:6px;text-decoration:none;color:inherit}.today-job-grid span{font-size:13px;color:#667085}.health-grid .card{border-left:5px solid #188038}.health-grid .card:has(.health-warn){border-left-color:#b06000}.health-grid .card:has(.health-bad){border-left-color:#b3261e}.health-actions{display:flex;gap:8px;flex-wrap:wrap}.notification-list{max-width:900px}.notification-item.unread button b:before{content:'● ';color:#d71920}.global-search-large input{font-size:17px;padding:11px}.search-result:hover{background:#f7f8fa}.completion-form .complete-actions{position:relative}
@media(max-width:700px){main{max-width:100%;width:auto}.quick-status-bar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.quick-status-bar a{white-space:nowrap}.today-job-grid{grid-template-columns:1fr}.completion-form .complete-actions{position:sticky;bottom:0;z-index:8;background:#fff;padding:8px 0}.completion-form .complete-job-btn{width:100%;font-size:17px}.status-update-form .btn{flex:1}.health-actions{width:100%}.health-actions .btn{flex:1}.sticky-table thead th{top:0}}
/* V3.47 compact operations UI */
.compact-heading{margin-bottom:8px}.compact-heading h1{margin-bottom:3px}.compact-heading p{margin:0}.compact-panel{background:#fff;border:1px solid #d8d8d8;margin:7px 0}.compact-panel>summary{cursor:pointer;font-weight:800;padding:8px 12px}.compact-panel[open]>summary{border-bottom:1px solid #e6e6e6}.compact-filter-grid{padding:9px 12px;margin:0;box-shadow:none;border:0;grid-template-columns:repeat(4,minmax(130px,1fr));gap:7px 10px}.compact-filter-grid label{font-size:12px}.compact-filter-grid input,.compact-filter-grid select{padding:7px}.compact-filter-grid .btn{margin-top:0}.archive-toolbar{margin:0}.jobs-action-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px}.quick-status-bar{margin:5px 0}.selection-actions{display:flex;align-items:center;gap:7px}.selection-actions .btn{margin:0}.records-card{margin:4px 0 8px;padding:12px}.pagination{display:flex;align-items:center;justify-content:center;gap:12px}.pagination .btn{margin:0}.truncate-cell{max-width:430px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.density-compact .card,.density-compact .paper{padding:12px;margin:8px 0}.density-compact th,.density-compact td{padding:7px 8px}.density-comfortable .card{padding:20px}.dashboard-cards{gap:8px;margin-bottom:7px}.dash-card{padding:8px 12px;min-height:52px}.dash-card b{font-size:22px}.compact-today{background:#fff;border:1px solid #ddd;padding:7px 12px;margin:6px 0}.compact-today .today-jobs-head h2{font-size:16px}.compact-today p{margin:3px 0}.dashboard-toolrow{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #ddd;padding:6px 10px;margin:6px 0}.dashboard-toolrow .calendar-tools{border:0;padding:0;margin:0;box-shadow:none;display:flex;align-items:center;gap:8px}.dashboard-toolrow .calendar-tools h2{font-size:19px;margin:0}.dashboard-toolrow .calendar-tools .btn,.compact-dashboard-filters .btn{margin:0}.compact-dashboard-filters{display:flex;gap:6px;align-items:center;margin:0}.compact-dashboard-filters select{padding:7px;max-width:180px}.compact-legend{margin:5px 0}.calendar{margin-top:4px}.cal-day{min-height:105px}.sticky-table thead th{top:0}.table-scroll{max-height:calc(100vh - 280px)}
@media(max-width:1100px){.compact-filter-grid{grid-template-columns:repeat(2,1fr)}.dashboard-toolrow{align-items:flex-start;flex-direction:column}.compact-dashboard-filters{flex-wrap:wrap}}
@media(max-width:800px){.compact-filter-grid{grid-template-columns:1fr}.jobs-action-row{align-items:flex-start;flex-direction:column}.selection-actions{position:sticky;bottom:0;background:#fff;padding:8px;width:100%;z-index:8}.dashboard-toolrow{padding:7px}.compact-dashboard-filters select{max-width:none;flex:1}.truncate-cell{max-width:220px}.table-scroll{max-height:none}}
/* V3.48 compact System Settings */
.compact-settings-card,.compact-counter-section{padding:14px 16px;margin:8px 0}.settings-two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-two-col h3,.compact-counters h3{margin:0 0 8px}.settings-two-col label{font-weight:700}.settings-two-col .setting-input{display:inline-flex;margin-left:8px}.settings-two-col input{width:90px;padding:5px}.reminder-settings h2{margin:10px 0}.reminder-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px 18px;align-items:end}.reminder-grid label{font-weight:700;display:grid;gap:4px}.reminder-grid label:has(input[type=checkbox]){display:flex;align-items:center;gap:7px}.reminder-grid input[type=number]{width:90px;padding:5px}.small-note{margin:8px 0 0}.compact-counter-section h2{margin:0}.compact-counter-section .counter-title p{margin:3px 0 8px}.compact-counters .counter-card{padding:10px 12px;gap:7px}.counter-fields{display:grid;grid-template-columns:120px 1fr;gap:10px}.compact-counters input{padding:6px}.counter-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eef6f0;padding:7px 10px}.counter-actions strong{font-size:18px}.counter-actions .btn{width:auto}.compact-counter-section>.small-note{margin-bottom:0}@media(max-width:900px){.settings-two-col,.reminder-grid{grid-template-columns:1fr 1fr}.counter-fields{grid-template-columns:1fr}}@media(max-width:600px){.settings-two-col,.reminder-grid{grid-template-columns:1fr}.counter-actions{align-items:flex-start;flex-direction:column}}
/* V3.48 login reminder modal */
.login-reminder-overlay{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:9998;display:flex;align-items:center;justify-content:center;padding:20px}.login-reminder-modal{background:#fff;width:min(720px,96vw);max-height:80vh;overflow:auto;border-radius:6px;padding:18px;box-shadow:0 15px 50px rgba(0,0,0,.25)}.login-reminder-modal h2{margin-top:0}.login-reminder-job{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #ddd;padding:10px 0}.login-reminder-job:first-of-type{border-top:0}.login-reminder-actions{text-align:right;margin-top:12px}
/* V3.49 operational UI */
.saved-view-bar,.active-sort,.needs-attention{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:6px 0}.saved-view-bar details{display:inline-block}.saved-view-bar summary{list-style:none}.urgent-badge{display:inline-block;background:#b3261e;color:#fff;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:800;white-space:nowrap}.needs-attention{background:#fff8e6;border:1px solid #e5b84b;padding:7px 10px}.needs-attention a{padding:3px 7px;border-left:1px solid #ddd;text-decoration:none}.completion-admin-tools{margin:8px 0}.reminder-status{margin:8px 0;padding:7px 9px;background:#f7f8fa;border-radius:5px}.jobs-table th a{color:inherit;text-decoration:none}.jobs-table th a:hover{text-decoration:underline}

/* V3.50 compact interactive refinements */
.report-filters{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.report-filter{text-decoration:none;color:inherit;cursor:pointer;transition:.15s}.report-filter:hover,.report-filter.active{border-color:#202124;box-shadow:inset 0 -3px 0 #202124}.permission-tabs{display:flex;gap:4px;margin:6px 0 0}.permission-tab{border:1px solid #cfd3d8;background:#fff;padding:9px 16px;font-weight:700;cursor:pointer}.permission-tab.active{background:#202124;color:#fff}.compact-permissions{margin-top:0}.compact-permissions .inline-form{margin:4px 0 8px}.compact-permissions .edit-actions{display:flex;justify-content:flex-end;margin:6px 0}.compact-permissions form:has(.btn.primary)>.edit-actions,.compact-permissions form:has(.btn.primary)>button.btn.primary{float:right}.helper-compact{padding:14px 16px}.helper-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.helper-top h2,.helper-top p{margin:0 0 4px}.helper-actions{display:flex;gap:7px;flex-wrap:wrap}.helper-meta{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid #e3e5e8;margin-top:10px;padding-top:9px}.helper-details{margin-top:8px}.helper-details summary{cursor:pointer;font-weight:700}.counter-fields{grid-template-columns:90px 150px!important;justify-content:start}.counter-fields input{width:100%;box-sizing:border-box}.audit-table th:nth-child(1),.audit-table td:nth-child(1),.audit-table th:nth-child(4),.audit-table td:nth-child(4),.audit-table th:nth-child(6),.audit-table td:nth-child(6){white-space:nowrap}.audit-table th:nth-child(4),.audit-table td:nth-child(4){min-width:150px}.audit-table th:nth-child(6),.audit-table td:nth-child(6){min-width:135px}.bulk-actions.top-right{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap}.quick-view-actions{display:flex;gap:5px;align-items:center}.quick-view-actions details{display:inline-block}.quick-view-actions summary{list-style:none}.toolbar-actions{display:flex;gap:7px;flex-wrap:wrap}@media(max-width:800px){.helper-top{align-items:flex-start;flex-direction:column}.counter-fields{grid-template-columns:90px 150px!important}.permission-tabs{overflow-x:auto}}
/* V3.51 Jobs saved-view controls */
.active-sort{min-height:32px}.active-sort .save-view-inline{display:inline-block;position:relative}.active-sort .save-view-inline>summary{list-style:none;cursor:pointer;color:#551a8b;text-decoration:underline;font-weight:600}.active-sort .save-view-inline>summary::-webkit-details-marker{display:none}.active-sort .save-view-form{display:flex;gap:6px;align-items:center;margin-left:4px;padding:6px 8px;border:1px solid #d7d9dc;background:#fff}.active-sort .save-view-form input[name="name"]{width:170px;min-height:30px}.link-button{border:0;background:none;padding:0;font:inherit;text-decoration:underline;cursor:pointer}.danger-link{color:#b00020}.saved-view-bar .active{background:#202124;color:#fff;border-color:#202124}
/* V3.54 compact saved views and customer add panel */
.saved-tabs-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 10px}.saved-view-tab{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border:1px solid var(--border,#d8dde3);border-radius:7px;background:#fff;text-decoration:none;font-size:.88rem;font-weight:600}.saved-view-tab.active{border-color:#b5121b;background:#fff3f3;color:#9b1017}.save-view-inline{display:inline-block}.save-view-inline summary{cursor:pointer;font-weight:700;color:#9b1017}.save-view-inline[open]{padding:5px 8px;border:1px solid #ddd;border-radius:7px;background:#fff}.customer-add-panel .legacy-add-summary{display:none}.customer-add-panel:not([open]){display:none}.customer-add-panel[open]{display:block}.add-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.add-panel-heading h2{margin:0}.form-actions.wide{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid #e6e8eb}.nowrap{white-space:nowrap}.saved-view-delete-dialog{border:0;border-radius:10px;padding:0;box-shadow:0 12px 40px rgba(0,0,0,.25)}.saved-view-delete-dialog::backdrop{background:rgba(0,0,0,.35)}.saved-view-delete-box{padding:20px;min-width:320px}.saved-view-delete-box select{width:100%;margin:10px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
/* V3.55 Backup & Restore */
.backup-top-actions,.manual-backup-row,.backup-actions,.restore-upload{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.backup-top-actions form,.backup-actions form,.manual-backup-row form{margin:0}.backup-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.backup-status-grid .card{padding:12px 14px}.backup-status-grid span{display:block;color:#667085;font-size:12px;margin-bottom:5px}.backup-status-grid b{font-size:13px}.backup-path{overflow-wrap:anywhere}.backup-settings-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.backup-settings-form label{display:grid;gap:5px}.backup-settings-form .wide{grid-column:1/-1}.backup-settings-form small{color:#667085}.backup-note{background:#f7f8fa;border:1px solid #e5e7eb;border-radius:7px;padding:9px 11px;font-size:13px;color:#475467}.backup-actions{min-width:360px}.backup-actions select,.manual-backup-row select,.restore-upload select{min-height:34px}.nowrap{white-space:nowrap}@media(max-width:900px){.backup-status-grid,.backup-settings-form{grid-template-columns:1fr 1fr}.backup-actions{min-width:280px}}@media(max-width:600px){.backup-status-grid,.backup-settings-form{grid-template-columns:1fr}.backup-settings-form .wide{grid-column:auto}}
/* V3.56 backup hardening + aligned controls */
.backup-tabs{display:flex;gap:4px;border-bottom:1px solid #d9dde3;margin:8px 0 12px}.backup-tabs a{padding:8px 14px;text-decoration:none;color:#344054;font-weight:700;border-bottom:3px solid transparent}.backup-tabs a.active{color:#a30f18;border-bottom-color:#b5121b}.backup-health{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;border:1px solid #d7dce2;border-radius:7px;margin:8px 0}.backup-health.healthy{background:#eef8f1;border-color:#9fd2aa}.backup-health.attention{background:#fff8e6;border-color:#e7c86a}.backup-health.failed{background:#fff0f0;border-color:#dc8b8b;color:#8f1118}.backup-settings-form input,.backup-settings-form select,.manual-backup-row select,.restore-upload input,.restore-upload select{height:38px;box-sizing:border-box;width:100%}.input-unit{display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:center;border:1px solid #cfd4da;border-radius:5px;overflow:hidden;background:#fff}.input-unit input{border:0!important;border-radius:0!important}.input-unit span{text-align:center;color:#667085;font-size:12px;border-left:1px solid #e0e3e7}.backup-settings-form .form-actions{display:flex;justify-content:flex-end}.manual-backup-row form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.health-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.health-check-grid span{padding:8px 10px;background:#f7f8fa;border-radius:6px}.section-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.restore-upload{display:grid;grid-template-columns:minmax(260px,1fr) 220px auto}.backup-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.backup-actions form{display:inline-flex;gap:5px;align-items:center}.backup-actions select{height:32px}@media(max-width:900px){.health-check-grid{grid-template-columns:1fr 1fr}.restore-upload{grid-template-columns:1fr 1fr}.restore-upload .btn{grid-column:1/-1}}@media(max-width:600px){.backup-health,.section-heading-row{align-items:flex-start;flex-direction:column}.backup-tabs{overflow-x:auto}.health-check-grid,.restore-upload{grid-template-columns:1fr}.restore-upload .btn{grid-column:auto}}
/* V3.58 monthly dashboard + photo carousel + consistent table filters */
.monthly-status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}.monthly-status-cards .dash-card{appearance:none;width:100%;text-align:left;cursor:pointer;border:1px solid #d9dde3;border-left:5px solid #7b8794;border-radius:10px;padding:12px 14px;background:#fff;display:flex;justify-content:space-between;align-items:center}.monthly-status-cards .dash-card b{font-size:1.45rem}.monthly-status-cards .dash-card.active{box-shadow:0 0 0 2px rgba(0,0,0,.12);transform:translateY(-1px)}.status-card-new{background:#eef7ff!important;border-left-color:#4c9fe8!important}.status-card-allocated{background:#fff9e8!important;border-left-color:#d9a514!important}.status-card-in-progress{background:#fff1e7!important;border-left-color:#e67824!important}.status-card-on-hold{background:#f7efff!important;border-left-color:#9b68c7!important}.status-card-completed{background:#edf9ef!important;border-left-color:#4e9d5c!important}.status-card-pending-dc{background:#fff0f0!important;border-left-color:#cf4040!important}.status-card-all{background:#f5f6f8!important;border-left-color:#4e5968!important}.photo-carousel{max-width:920px}.photo-stage{position:relative;background:#f4f5f7;border:1px solid #ddd;border-radius:10px;min-height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-stage img{display:none;max-width:100%;max-height:560px;object-fit:contain;cursor:zoom-in}.photo-stage img.active{display:block}.photo-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;border-radius:50%;width:42px;height:42px;background:rgba(255,255,255,.9);font-size:24px;cursor:pointer}.photo-prev{left:12px}.photo-next{right:12px}.photo-counter{position:absolute;right:12px;bottom:10px;background:rgba(0,0,0,.65);color:white;border-radius:14px;padding:4px 9px;font-size:12px}.photo-thumbs{display:flex;gap:8px;overflow:auto;padding:10px 0}.photo-thumbs img{width:74px;height:58px;object-fit:cover;border:2px solid transparent;border-radius:6px;cursor:pointer}.photo-thumbs img.active{border-color:#d71920}.photo-meta{font-size:12px;color:#666}.photo-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:9999;align-items:center;justify-content:center}.photo-lightbox.open{display:flex}.photo-lightbox img{max-width:94vw;max-height:92vh}.photo-lightbox button{position:absolute;top:18px;right:22px;font-size:34px;background:none;border:0;color:white;cursor:pointer}.universal-filterbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.universal-filterbar input,.universal-filterbar select{min-height:38px}
\n/* V3.59 completed multi-day calendar spans */
.cal-job.completed-span{margin-left:-1px;margin-right:-1px;min-height:34px;display:block;position:relative;z-index:2}
.cal-job.completed-span.span-start{border-radius:6px 0 0 6px;margin-right:-8px;padding-right:10px}
.cal-job.completed-span.span-middle{border-radius:0;margin-left:-8px;margin-right:-8px}
.cal-job.completed-span.span-end{border-radius:0 6px 6px 0;margin-left:-8px}
.cal-job.completed-span .span-continuation{display:block;min-height:24px}
/* V3.60 consolidated UX */
.monthly-status-cards .dash-card.active{outline:3px solid rgba(20,28,38,.22);outline-offset:1px;box-shadow:0 3px 9px rgba(0,0,0,.13)}
.attachment-tabs{display:flex;gap:10px;align-items:center;margin-bottom:10px}.document-list{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.document-list h3{margin:0 8px 0 0}.file-picker{display:flex;align-items:center;gap:10px;min-height:38px}.restore-upload{grid-template-columns:minmax(360px,1fr) auto}.backup-settings-form{grid-template-columns:repeat(5,minmax(140px,1fr))}.health-check-grid span{display:flex;align-items:center;min-height:38px}.calendar-tools h2{min-width:150px;text-align:center}
@media(max-width:900px){.backup-settings-form{grid-template-columns:1fr 1fr}.restore-upload{grid-template-columns:1fr}}
/* V3.61 table consistency and clearer dashboard selection */
.table-header-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 10px;min-height:42px}.table-header-bar .record-count{font-weight:700;margin:0}.table-view-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.table-view-controls .active-sort{margin:0}.customer-active-filters{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.filter-chip{display:inline-flex;align-items:center;padding:5px 9px;border-radius:14px;background:#eef1f4;border:1px solid #d6dbe0;font-size:12px}.archive-customer-panel{margin:7px 0}.archive-customer-panel .archive-toolbar{padding:10px 12px}.wide-list-table tbody tr:hover{background:#f7f9fb}.empty-state{text-align:center;padding:22px!important;color:#59636e}.sticky-table thead th{position:sticky;top:0;z-index:2}.compact-restore-upload{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;flex-wrap:wrap}.compact-restore-upload .file-picker{display:flex;align-items:center;gap:10px;margin:0}.compact-restore-upload .file-picker>span{white-space:nowrap}.compact-restore-upload .btn{margin:0!important}.monthly-status-cards .dash-card.active{outline:0!important;box-shadow:0 3px 9px rgba(0,0,0,.16)!important;transform:translateY(-1px);font-weight:800}.monthly-status-cards .status-card-all.active{background:#59636e!important;color:#fff}.monthly-status-cards .status-card-new.active{background:#4c9fe8!important;color:#071d30}.monthly-status-cards .status-card-allocated.active{background:#e5b72e!important;color:#201700}.monthly-status-cards .status-card-in-progress.active{background:#e9863b!important;color:#251000}.monthly-status-cards .status-card-on-hold.active{background:#9b68c7!important;color:#fff}.monthly-status-cards .status-card-completed.active{background:#4e9d5c!important;color:#fff}.monthly-status-cards .status-card-pending-dc.active{background:#cf4a4a!important;color:#fff}@media(max-width:760px){.table-header-bar{align-items:flex-start;flex-direction:column}.table-view-controls{justify-content:flex-start}.compact-restore-upload{align-items:flex-start!important;flex-direction:column}}
.table-pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px 12px;color:#59636e;font-size:13px}.table-pagination-bar>div{display:flex;align-items:center;gap:9px}.table-pagination-bar .btn{margin:0}@media(max-width:700px){.table-pagination-bar{flex-direction:column;align-items:flex-start}}

/* V3.62 management actions + account menu alignment */
.master-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.master-primary-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.master-add-panel{margin-top:8px}.master-add-panel>summary{display:none}.master-add-panel:not([open]){display:none}.master-add-panel[open]{display:block}.accountmenu>div{padding:8px 0!important;gap:0!important;min-width:180px}.accountmenu>div>a,.accountmenu>div>form{display:block;width:100%;box-sizing:border-box}.accountmenu>div>a{padding:10px 16px!important;border-radius:0!important}.accountmenu>div>form{margin:4px 0 0;padding:4px 0 0;border-top:1px solid #4a4f55}.accountmenu .navlink{display:block;width:100%;box-sizing:border-box;padding:10px 16px!important;line-height:1.25;text-align:left;color:#fff;background:transparent;border:0;cursor:pointer}.accountmenu .navlink:hover,.accountmenu>div>a:hover{background:#343a40}.accountmenu[open]>div{height:auto;overflow:visible}@media(max-width:700px){.master-page-toolbar{align-items:flex-start;flex-direction:column}.master-primary-actions{width:100%;margin-left:0}.master-primary-actions .btn{width:100%}}

/* V3.63 health evidence, pagination and active-state consistency */
.backup-tabs a.active{background:#c9232d!important;color:#fff!important;border-bottom-color:#c9232d!important;border-radius:4px 4px 0 0}
.backup-tabs a:hover{background:#fff0f1;color:#9b1017}.backup-tabs a.active:hover{background:#b5121b!important;color:#fff!important}
.health-check{display:flex!important;flex-wrap:wrap;align-content:center;gap:4px 6px;border:1px solid transparent}
.health-check small{display:block;flex-basis:100%;margin-left:0;color:#667085;font-size:11px;line-height:1.3}
.health-check.healthy{background:#eef8f1!important;border-color:#b9ddc1;color:#176b2c}.health-check.warning{background:#fff8e6!important;border-color:#ead080;color:#805b00}.health-check.failed{background:#fff0f0!important;border-color:#e2a0a0;color:#941a21}.health-check.not-tested{background:#f4f5f7!important;border-color:#d9dde3;color:#59636e}
.health-last-checked{font-size:12px;color:#667085;white-space:nowrap}.health-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.btn.disabled,.btn:disabled{opacity:.5;pointer-events:none;cursor:not-allowed}
.pagination-rows{display:flex;align-items:center;gap:5px;white-space:nowrap}.pagination-rows select{height:31px;border:1px solid #cfd4da;border-radius:5px;background:#fff;padding:0 24px 0 7px}.table-pagination-bar .disabled{display:inline-flex}
.flash.success{transition:opacity .25s ease}.flash.flash-fade{opacity:0}
@media(max-width:700px){.health-last-checked{white-space:normal}}

/* V3.65 permissions toolbar */
.permission-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.permission-top-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.permission-top-actions form{margin:0}.permission-selector{margin:0}.permission-role-line{margin:4px 0 12px}.compact-permissions .permission-table{margin-top:4px}@media(max-width:760px){.permission-topbar{align-items:stretch}.permission-top-actions{width:100%;margin-left:0}.permission-top-actions .btn{width:100%}.permission-top-actions form{flex:1}.permission-top-actions form .btn{width:100%}}

/* V3.67 global control alignment, compact health/audit and System Update */
.aligned-action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.aligned-action-row form,.table-actions form,.health-actions form{margin:0}.aligned-action-row input[type=file],.aligned-action-row input[type=text],.aligned-action-row input[type=password],.aligned-action-row input[type=date],.aligned-action-row select,.compact-restore-upload input[type=file],.btn{min-height:38px;box-sizing:border-box}.btn{display:inline-flex;align-items:center;justify-content:center;line-height:1.15;padding:8px 13px}.btn.small{min-height:34px;padding:6px 10px}.compact-restore-upload{gap:8px!important}.compact-restore-upload .file-picker{min-height:38px}.compact-restore-upload input[type=file]{width:auto!important;max-width:430px}.health-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px}.health-grid .card{padding:10px 12px;min-width:0}.health-grid .card h3{font-size:15px;margin:0 0 7px}.health-grid .card p{font-size:12px;margin:5px 0;line-height:1.3}.health-grid .card p:not(.muted){overflow-wrap:anywhere}.health-grid .card p b{white-space:nowrap}.health-actions .btn{min-height:38px}.audit-table{table-layout:auto;width:100%}.audit-table th,.audit-table td{padding:7px 8px}.audit-table th:nth-child(1),.audit-table td:nth-child(1){width:150px;white-space:nowrap}.audit-table th:nth-child(2),.audit-table td:nth-child(2){width:120px;white-space:nowrap}.audit-table th:nth-child(3),.audit-table td:nth-child(3){width:145px;white-space:nowrap}.audit-table th:nth-child(4),.audit-table td:nth-child(4){width:150px;white-space:nowrap}.audit-table th:nth-child(6),.audit-table td:nth-child(6){width:130px;white-space:nowrap}.audit-table th:nth-child(5),.audit-table td:nth-child(5){width:auto;overflow-wrap:anywhere}.update-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:12px}.update-summary-grid .card{padding:11px 13px}.update-summary-grid span{display:block;color:#667085;font-size:12px;margin-bottom:4px}.update-summary-grid b{font-size:16px}.table-actions{flex-wrap:nowrap}.bulk-actions,.bulk-toolbar{align-items:center!important}.bulk-actions .btn,.bulk-toolbar .btn,.bulk-actions button,.bulk-toolbar button{min-height:38px!important}.bulk-actions>*{margin-top:0!important;margin-bottom:0!important}@media(max-width:760px){.update-summary-grid{grid-template-columns:1fr 1fr}.aligned-action-row{align-items:stretch}.aligned-action-row .btn{width:100%}.compact-restore-upload input[type=file]{max-width:100%}}


/* V3.68 System Update navigation and package management */
.update-upload-row{justify-content:flex-start}.update-upload-row input[type=file]{height:38px;line-height:24px;max-width:460px}.update-package-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.update-package-heading form{margin:0}.update-status-installed{background:#eaf6ed!important;color:#176b2c!important;border-color:#b9ddc1!important}.update-status-available{background:#eaf2fb!important;color:#155b91!important;border-color:#b7d4ec!important}.update-status-old-package{background:#f2f3f5!important;color:#59636e!important;border-color:#d9dde3!important}.update-status-invalid{background:#fff0f0!important;color:#941a21!important;border-color:#e2a0a0!important}@media(max-width:760px){.update-upload-row input[type=file]{max-width:100%;width:100%}.update-package-heading{align-items:stretch}.update-package-heading form,.update-package-heading .btn{width:100%}}
/* V3.69 updater/setting consistency */
.update-upload-row{display:grid;grid-template-columns:minmax(240px,520px) auto;align-items:center;justify-content:start;column-gap:10px}.update-upload-row input[type=file]{height:38px;margin:0;padding:5px 7px;border:1px solid #c9ced6;background:#fff}.update-upload-row .btn{height:38px;margin:0}.update-progress-card{max-width:760px;margin:28px auto;text-align:center;padding:30px}.update-spinner{width:34px;height:34px;border:4px solid #ddd;border-top-color:#333;border-radius:50%;margin:22px auto;animation:enzedspin .8s linear infinite}@keyframes enzedspin{to{transform:rotate(360deg)}}.small-text{font-size:12px}.admin-section-content{min-width:0}@media(max-width:760px){.update-upload-row{grid-template-columns:1fr}.update-upload-row .btn{width:100%}}
/* V3.70 production updater */
.update-readiness-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:10px}.update-readiness-grid .health-check{min-height:58px;padding:9px 11px;border-radius:6px}.update-summary-grid small{display:block;color:#667085;font-size:11px;margin-top:3px}.release-notes summary{cursor:pointer;font-weight:700;color:#9b1017}.release-notes ul{margin:6px 0 0;padding-left:18px;min-width:220px}.update-upload-row input[type=file],.update-upload-row .btn{height:40px!important;min-height:40px!important;margin:0!important}.update-upload-row input[type=file]{padding:5px 7px!important;line-height:28px!important}.update-upload-row{align-items:center!important}
.update-readiness-grid .health-check.warning{background:#fff8e6;border:1px solid #e3c66d;color:#795900}.update-upload-row{display:flex!important;align-items:center!important;gap:10px!important}.update-upload-row input[type=file],.update-upload-row .btn{height:40px!important;min-height:40px!important;margin:0!important}.update-upload-row input[type=file]{width:450px;max-width:100%;padding:5px 7px!important}@media(max-width:760px){.update-upload-row{flex-wrap:wrap!important}.update-upload-row input[type=file],.update-upload-row .btn{width:100%!important}}
.schedule-update-form{display:flex;align-items:center;gap:6px}.schedule-update-form input[type=datetime-local]{height:34px;box-sizing:border-box}.compact-card{padding:12px 14px}.update-upload-row input[type=file]{height:40px;display:flex;align-items:center;padding:7px;box-sizing:border-box}.update-upload-row .btn{height:40px;box-sizing:border-box}
/* V3.74 admin navigation and production-control cleanup */
.production-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.production-controls-copy{min-width:260px;flex:1 1 420px}.production-controls-copy p{margin:3px 0 0;line-height:1.35}.production-control-actions{flex:0 0 auto;margin-left:auto}.production-control-actions .btn{white-space:nowrap}.admin-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.admin-option-card{display:flex;flex-direction:column;gap:5px;padding:16px;background:#fff;border:1px solid #d8d8d8;text-decoration:none;color:#1e293b;min-height:78px}.admin-option-card:hover{border-color:#d71920;box-shadow:0 2px 8px rgba(0,0,0,.08)}.admin-option-card b{font-size:16px}.admin-option-card span{font-size:13px;color:#64748b;line-height:1.35}@media(max-width:760px){.production-controls{align-items:stretch}.production-control-actions{width:100%;margin-left:0}.production-control-actions .btn{flex:1 1 180px}}

/* V3.74 header version */
.brand-title-row{display:flex;align-items:baseline;gap:7px}.brand-title-row .app-version{font-size:10px;font-weight:600;color:#cbd5e1;letter-spacing:.2px;white-space:nowrap}.brand-title-row b{line-height:1}

/* V3.76 mobile navigation and job sheet refinements */
.mobile-menu-toggle{display:none}.print-customer-grid{display:grid;grid-template-columns:58% 42%;gap:0;background:#eee;padding:10px 12px;margin-top:8px}.print-customer-info>div{display:grid;grid-template-columns:72px 1fr;line-height:1.25}.print-job-info{text-align:right}.print-job-info>div{display:flex;flex-direction:column;align-items:flex-end;margin-bottom:5px}.print-job-date span{font-size:16px;font-weight:800;color:#d71920}.job-timeline>summary{cursor:pointer;font-size:18px;padding:4px 0}.job-timeline[open]>summary{margin-bottom:10px}
@media(max-width:700px){header{flex-wrap:nowrap;align-items:center}.mobile-menu-toggle{display:block;order:-1;background:#202124;color:#fff;border:1px solid #666;border-radius:5px;font-size:22px;min-width:44px;height:44px;padding:0}.brand{width:auto;flex:1;justify-content:flex-start}.brand>div span{display:none!important}header nav{display:none;position:absolute;left:8px;right:8px;top:70px;z-index:1000;background:#202124;padding:10px;border-radius:6px;box-shadow:0 8px 24px #0006;grid-template-columns:1fr}.mobile-menu-open header nav{display:grid}.notification-bell{text-align:center}.print-customer-grid{grid-template-columns:1fr}.print-job-info{text-align:left;margin-top:8px}.print-job-info>div{align-items:flex-start}}
/* V3.77 */
.master-add-submit{width:auto!important;min-width:92px;justify-self:start}.login-details-action{display:flex;gap:10px;align-items:center;margin-top:12px}.status-badge.job-status-allocated,.status-badge.job-status-completed{background:#e8f5e9;color:#14752d;border:1px solid #a8d5b1}.status-badge.job-status-cancelled{background:#fdeaea;color:#b71c1c;border:1px solid #efb0b0}.status-badge.job-status-on-hold{background:#fff4d8;color:#8a5a00}.status-badge.job-status-in-progress{background:#e8f1fb;color:#185a9d}.value-green{color:#138a36!important;font-weight:700}.value-red{color:#c62828!important;font-weight:700}.status-edit-field{display:block;max-width:360px;margin:12px 0}.print-boxes,.print-customer-grid{gap:8px}
/* V3.78 service request + admin password */
.service-form-header{border-bottom:1px solid #d8d8d8;margin-bottom:12px;padding-bottom:10px}.service-form-header h1{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.service-top-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.service-top-actions{margin:0;display:flex;gap:8px;flex-wrap:wrap}.top-status-control,.top-status-display{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:6px 10px;border:1px solid #cfd4da;background:#f7f8fa;min-height:42px;box-sizing:border-box}.top-status-control select{font-size:15px;font-weight:700;min-width:145px;height:34px}.top-status-display span{font-size:15px;font-weight:700;min-width:70px}.service-date-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dc-orphan-box{border:1px solid #bfc5cc;background:#f8f9fa;padding:10px 12px}.dc-state-options{display:flex;gap:8px;margin:8px 0}.dc-state{border:1px solid #c9ced6;background:#fff;padding:7px 11px;font-weight:700;color:#667085}.dc-state.active{background:#e9f5ec;border-color:#72b982;color:#176b2c}.dc-state#orphan_state.active{background:#fff3e6;border-color:#d6a15e;color:#8a4d00}.customer-results{position:absolute;z-index:30;left:0;right:0;top:100%;background:#fff;border:1px solid #bbb;box-shadow:0 5px 15px #0002;max-height:260px;overflow:auto}.service-grid>label{position:relative}.customer-hit{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #eee;background:#fff;padding:9px 10px;cursor:pointer}.customer-hit:hover{background:#f3f6f9}.dc-hit{display:inline-block;margin-left:6px;padding:2px 6px;background:#e8f5e9;color:#176b2c;border-radius:10px;font-size:11px;font-weight:700}.admin-password-box{border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin-top:14px;padding:14px 0}.password-update-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin:8px 0}.password-update-row label{display:grid;gap:5px}.password-update-row input{height:40px;box-sizing:border-box}@media(max-width:760px){.service-top-controls{align-items:stretch}.service-top-actions,.service-top-actions .btn{width:100%}.top-status-control,.top-status-display{width:100%}.service-date-row,.password-update-row{grid-template-columns:1fr}.dc-state-options{flex-direction:column}}

/* V3.79 Job sheet alignment */
.print-customer-grid{background:transparent!important;padding:0!important;gap:8px!important;margin-top:8px!important;align-items:stretch}
.print-customer-info,.print-job-info{background:#eee;border-radius:12px;padding:10px 12px;box-sizing:border-box}
.print-job-info{text-align:right;display:flex;flex-direction:column;justify-content:flex-start}
.print-job-info>div{display:grid!important;grid-template-columns:minmax(112px,auto) minmax(0,1fr);align-items:center;column-gap:10px;margin-bottom:6px!important}
.print-job-info b{white-space:nowrap;text-align:left}
.print-job-info span{text-align:right;min-width:0}
.print-job-date span{font-size:14px!important;line-height:1.1;font-weight:800;color:#d71920;white-space:nowrap}
@media print{.print-customer-grid{display:grid!important;grid-template-columns:58% 42%!important;gap:3mm!important;background:transparent!important;padding:0!important}.print-customer-info,.print-job-info{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-job-date span{font-size:10.5pt!important;white-space:nowrap!important}}
/* V3.81 compact Service Request */
.service-job-number{color:#d71920!important;font-size:.78em!important;font-weight:800}.service-top-controls{align-items:stretch!important}.top-status-control,.top-status-display,.service-top-actions .btn{height:42px!important;min-height:42px!important;box-sizing:border-box!important}.top-status-control{padding:4px 9px!important}.top-status-control select{height:32px!important}.service-top-actions{align-items:stretch!important}.service-top-actions .btn{display:inline-flex;align-items:center;justify-content:center;margin:0!important}.service-compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;margin-bottom:9px}.service-compact-grid label,.service-allocation-row label{display:grid;gap:3px}.service-compact-grid input,.service-compact-grid select,.service-allocation-row input,.service-allocation-row select,.address-inline input,.map-inline input{height:36px;box-sizing:border-box}.service-id-row{grid-template-columns:minmax(280px,2fr) minmax(130px,.8fr) minmax(150px,1fr)}.service-address-block{border:1px solid #d6d9dd;background:#fafbfc;padding:8px 10px;margin:0 0 9px}.service-address-block>b{display:block;margin-bottom:5px;font-size:12px}.address-inline{display:grid;grid-template-columns:minmax(300px,3fr) minmax(150px,1.25fr) minmax(85px,.6fr);gap:8px}.service-allocation-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(190px,1.25fr) minmax(120px,.75fr) minmax(210px,1.2fr);gap:8px 10px;align-items:end;margin-bottom:9px}.invoice-to-box{height:58px;border:1px solid #cfd4da;background:#f8f9fa;padding:6px 9px;box-sizing:border-box;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.invoice-to-box>b{width:100%;font-size:11px;line-height:1}.invoice-to-box label{display:inline-flex!important;align-items:center;gap:4px;white-space:nowrap}.invoice-to-box input{height:auto!important}.compact-choice{min-height:36px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.compact-choice>b{margin-right:3px}.job-location-block{margin-top:2px}.map-inline{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end;margin-top:7px}.map-inline label{display:grid;gap:3px}.service-full-line{display:grid;gap:4px;margin:0 0 8px}.service-full-line textarea{min-height:52px;resize:vertical}.service-info-row{display:grid;grid-template-columns:1fr 1fr 1.25fr;border:1px solid #cfd4da;background:#f8f9fa;margin-top:10px}.service-info-row>div{padding:9px 11px;min-width:0}.service-info-row>div+div{border-left:1px solid #b8bec6}.service-info-row b{display:block;font-size:11px;margin-bottom:5px}.service-info-row span{font-size:13px}.service-info-row .dc-state-options{margin:0}.service-info-row .dc-state{padding:4px 7px;font-size:11px}.print-table th,.print-table td{padding:4px 7px!important}.print-table .bodytext{height:auto!important;min-height:30px!important}
@media(max-width:900px){.service-compact-grid,.service-allocation-row{grid-template-columns:1fr 1fr}.service-id-row{grid-template-columns:1fr 1fr}.service-id-row label:first-child{grid-column:1/-1}.address-inline{grid-template-columns:2fr 1fr .65fr}.map-inline{grid-template-columns:1fr}.service-info-row{grid-template-columns:1fr}.service-info-row>div+div{border-left:0;border-top:1px solid #b8bec6}}
@media(max-width:600px){.service-compact-grid,.service-allocation-row,.service-id-row,.address-inline{grid-template-columns:1fr}.service-id-row label:first-child{grid-column:auto}.service-top-controls{display:grid!important}.service-top-actions{display:grid!important;grid-template-columns:1fr}.map-inline .btn{width:100%}}
/* V3.81 compact print/PDF-equivalent table */
.compact-job-table th{white-space:nowrap}.compact-job-table .job-meta-one-row th,.compact-job-table .job-meta-one-row td{font-size:11px;padding:4px 6px!important}.compact-job-table tr:nth-child(2) .bodytext,.compact-job-table tr:nth-child(3) .bodytext{min-height:28px!important;height:34px!important}.compact-job-table a{color:#1155cc;text-decoration:underline}@media print{.compact-job-table .job-meta-one-row th,.compact-job-table .job-meta-one-row td{font-size:8pt!important;padding:2.5mm 1.5mm!important}.compact-job-table tr:nth-child(2) .bodytext,.compact-job-table tr:nth-child(3) .bodytext{height:9mm!important}.compact-job-table a{color:#0000ee!important;text-decoration:underline!important}}

/* V3.82 print/PDF compact alignment */
.print-customer-grid{grid-template-columns:minmax(0,58%) minmax(0,42%);gap:8px;background:transparent;padding:0}
.print-job-info{min-width:0}
.print-job-info>div{grid-template-columns:minmax(100px,42%) minmax(0,58%)!important;column-gap:6px!important}
.print-job-date span{font-size:12px!important;white-space:nowrap!important}
.print-po span{font-size:12px;overflow-wrap:anywhere}
.compact-job-table th,.compact-job-table td{padding:4px 7px!important;line-height:1.12;vertical-align:middle}
.compact-job-table .bodytext{height:auto;min-height:24px}
@media print{.print-job-date span{font-size:9.5pt!important}.print-job-info>div{grid-template-columns:38mm minmax(0,1fr)!important}.compact-job-table th,.compact-job-table td{padding:2.5mm 2mm!important}}


/* V3.83 Service Request visual alignment rebuild */
.service-paper{font-size:13px!important}
.service-paper label,.service-paper .compact-choice,.service-paper .invoice-to-box{font-size:12px!important}
.service-paper input,.service-paper select,.service-paper textarea{font-size:13px!important}
.service-form-header{border-bottom:0!important;margin-bottom:8px!important;padding-bottom:4px!important}
.service-form-header h1{font-size:23px!important;margin:0 0 8px!important}
.service-top-controls{display:flex!important;align-items:center!important;gap:8px!important}
.top-status-control,.top-status-display,.service-top-actions .btn{height:38px!important;min-height:38px!important}
.top-status-control{padding:3px 8px!important}.top-status-control select{height:30px!important;font-size:13px!important}
.service-top-actions{align-items:center!important}.service-top-actions .btn{padding:0 12px!important;font-size:12px!important}
.service-form-section{border:1px solid #d6d9dd;background:#fff;padding:10px 10px 9px;margin:0 0 9px;min-width:0}
.service-form-section .service-compact-grid,.service-form-section .service-allocation-row{margin-bottom:8px}
.service-form-section .service-compact-grid:last-child{margin-bottom:0}
.service-address-inline{margin:0;padding:0;border:0;background:transparent}.service-address-inline>b,.job-location-block>b{display:block;font-size:11px;margin:0 0 5px}
.service-address-block{border:0!important;background:transparent!important;padding:0!important;margin:0!important}
.service-allocation-row{align-items:end!important}
.service-allocation-row>label{align-self:end}.service-allocation-row>label>select{width:100%}
.invoice-to-box{height:52px!important;align-self:end!important;padding:5px 8px!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:10px!important}
.invoice-to-box>b{width:auto!important;margin-right:3px!important;white-space:nowrap}.invoice-to-box label{display:inline-flex!important;align-items:center!important;gap:4px!important}
.compact-choice{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;min-height:36px!important;white-space:nowrap}
.compact-choice label{display:inline-flex!important;align-items:center!important;gap:4px!important;white-space:nowrap!important;margin:0!important}
.compact-choice input[type=radio],.invoice-to-box input[type=radio]{appearance:auto!important;-webkit-appearance:radio!important;width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;margin:0!important;padding:0!important;transform:none!important}
.job-location-block{margin:3px 0 0!important;padding-top:8px!important;border-top:1px solid #e1e4e8}
.map-inline{align-items:end!important}.map-inline input,.map-inline .btn{height:36px!important;min-height:36px!important;margin:0!important}.map-inline .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 10px!important;font-size:12px!important}
.work-section .service-full-line{margin:0 0 9px!important}.work-section .service-full-line:last-child{margin-bottom:0!important}.service-full-line{font-size:12px!important}.service-full-line textarea{min-height:50px!important;border:1px solid #aaa!important}
.service-info-row{margin-top:0!important}
/* suppress legacy full-width rules that visually cut through the form */
.service-paper hr{display:none!important}

/* V3.83 print preview: equal customer/date boxes and safe text fitting */
.print-customer-grid{display:grid!important;grid-template-columns:58% 42%!important;gap:8px!important;background:transparent!important;padding:0!important;align-items:stretch!important}
.print-customer-info,.print-job-info{height:100%!important;min-height:76px!important;padding:9px 11px!important}
.print-job-info{overflow:hidden!important;justify-content:flex-start!important}
.print-job-info>div{display:grid!important;grid-template-columns:minmax(105px,42%) minmax(0,58%)!important;column-gap:5px!important;width:100%!important;margin:0 0 5px!important}
.print-job-info b{font-size:12px!important;white-space:nowrap!important}.print-job-info span{font-size:11px!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:clip!important}
.print-job-date span{font-size:11px!important;line-height:1.05!important;white-space:nowrap!important;text-align:right!important}
.compact-job-table th{width:auto!important}.compact-job-table tr:not(.job-meta-one-row)>th:first-child{width:18%!important;min-width:128px!important;white-space:nowrap!important}
.compact-job-table .job-meta-one-row th,.compact-job-table .job-meta-one-row td{font-size:10px!important;line-height:1.05!important;padding:4px 5px!important;vertical-align:middle!important}
.compact-job-table .job-meta-one-row th{white-space:normal!important}.compact-job-table .job-meta-one-row td{overflow-wrap:anywhere!important}
@media print{
 .print-customer-info,.print-job-info{min-height:20mm!important}
 .print-job-info>div{grid-template-columns:29mm minmax(0,1fr)!important;column-gap:1.5mm!important}
 .print-job-info b{font-size:8pt!important}.print-job-info span,.print-job-date span{font-size:7.8pt!important}
 .compact-job-table tr:not(.job-meta-one-row)>th:first-child{width:31mm!important;min-width:31mm!important;font-size:7.5pt!important}
 .compact-job-table .job-meta-one-row th,.compact-job-table .job-meta-one-row td{font-size:7.2pt!important;padding:1.5mm 1mm!important}
}

/* V3.84 compact operational layout + reusable customer lookup */
.service-ops-first-row{display:grid;grid-template-columns:1.45fr .72fr 1.35fr .8fr;gap:10px;align-items:end;margin-bottom:9px}
.service-ops-first-row>label{display:grid;gap:4px;margin:0}.service-ops-first-row select{width:100%;height:36px}
.service-ops-first-row .invoice-to-box{height:36px!important;min-height:36px!important;padding:0 8px!important;align-self:end!important}
.service-ops-first-row .compact-choice{height:36px!important;min-height:36px!important}
.service-allocation-four{display:grid!important;grid-template-columns:1fr 1.2fr .62fr 1.2fr!important;gap:10px!important;align-items:start!important}
.service-allocation-four>label{display:grid!important;gap:4px!important;align-self:start!important;margin:0!important}.service-allocation-four>label>select,.service-allocation-four>label>input{height:36px!important;width:100%!important}
.service-allocation-four small{min-height:0!important;margin:0!important}
.service-info-five{grid-template-columns:1.05fr 1.05fr 1.05fr .9fr 1.15fr!important}.service-info-five>div{min-width:0}.service-info-five b{font-size:10px!important}.service-info-five span{font-size:12px!important}
.customer-section .service-id-row>label:first-child{position:relative!important}.customer-results{left:0!important;right:auto!important;width:100%!important;box-sizing:border-box!important;top:calc(100% + 2px)!important;display:none}.customer-results:not(:empty){display:block!important}
.job-location-block{border-top:0!important;padding-top:4px!important}
@media(max-width:900px){.service-ops-first-row,.service-allocation-four,.service-info-five{grid-template-columns:1fr 1fr!important}}
@media(max-width:600px){.service-ops-first-row,.service-allocation-four,.service-info-five{grid-template-columns:1fr!important}}
\n/* V3.85 Service Request alignment + compact actions */
.service-ops-first-row{grid-template-columns:1.5fr .72fr 1.35fr .8fr!important;align-items:end!important}
.choice-field{display:grid;gap:4px;min-width:0}.choice-field>b{font-size:11px;line-height:1.1}.choice-box{height:36px;min-height:36px;border:1px solid #cfd4da;background:#fff;padding:0 8px;box-sizing:border-box;display:flex;align-items:center;gap:9px;white-space:nowrap;overflow:hidden}.choice-box label{display:inline-flex!important;align-items:center;gap:3px;margin:0!important;white-space:nowrap}.choice-box input[type=radio]{width:14px!important;height:14px!important;margin:0!important;flex:0 0 14px}
.service-allocation-four{grid-template-columns:minmax(155px,.9fr) minmax(210px,1.45fr) minmax(72px,.42fr) minmax(210px,1.25fr)!important;align-items:end!important}.service-allocation-four #van_wrap{min-width:72px}.service-allocation-four #van_help{display:none!important}
.service-top-actions .btn{height:38px!important;min-height:38px!important;padding:6px 11px!important;font-size:12px!important}.top-status-control,.top-status-display{height:38px!important;min-height:38px!important}.top-status-control select{height:30px!important;font-size:13px!important}.service-job-number{font-size:calc(.78em + 1pt)!important}
@media(max-width:900px){.service-ops-first-row{grid-template-columns:1fr 1fr!important}.service-allocation-four{grid-template-columns:1fr 1fr!important}.choice-box{overflow:visible;white-space:normal;flex-wrap:wrap;height:auto;min-height:36px;padding-top:5px;padding-bottom:5px}}
@media(max-width:600px){.service-ops-first-row,.service-allocation-four{grid-template-columns:1fr!important}}
\n/* V3.86 dynamic allocation row + compact read-only van */
.service-allocation-four{grid-template-columns:minmax(155px,.9fr) minmax(240px,1.55fr) minmax(68px,.34fr) minmax(220px,1.2fr)!important;align-items:end!important}
.service-allocation-four .allocation-conditional[hidden],.service-allocation-four .van-readonly[hidden]{display:none!important}
.service-allocation-four .van-readonly{min-width:68px!important;max-width:105px!important}
.service-allocation-four .van-readonly input[type=text]{background:#f5f6f7!important;color:#555!important;cursor:default!important;padding-right:7px!important}
.service-allocation-four .scheduled-field{min-width:220px!important}
.scheduled-hint{font-size:9px!important;line-height:1!important;color:#777!important;margin-top:1px!important;white-space:nowrap}
@media(max-width:900px){.service-allocation-four{grid-template-columns:1fr 1.25fr .42fr 1.1fr!important}.scheduled-hint{display:none!important}}
@media(max-width:700px){.service-allocation-four{grid-template-columns:1fr 1fr!important}.service-allocation-four .van-readonly{max-width:none!important}.service-allocation-four .scheduled-field{min-width:0!important}}
@media(max-width:500px){.service-allocation-four{grid-template-columns:1fr!important}}

/* V3.87 */
.top-status-control.status-new select{background:#eaf2ff;border-color:#7aa7e8;color:#174f91}
.top-status-control.status-allocated select,.top-status-control.status-completed select{background:#e8f5ec;border-color:#72b982;color:#176b2c}
.top-status-control.status-in-progress select{background:#e5f5f7;border-color:#67b5be;color:#17616a}
.top-status-control.status-on-hold select{background:#fff3d9;border-color:#d6a15e;color:#8a5700}
.top-status-control.status-cancelled select{background:#fdeaea;border-color:#dc7a7a;color:#a51d1d}
.customer-status-actions{display:flex;align-items:center;gap:8px;margin-top:6px}.customer-status-actions form{margin:0}

/* V3.88 customer table scroll boundary */
.wide-list-table{position:relative;overflow:auto;isolation:isolate}.wide-list-table .sticky-table{border-collapse:separate;border-spacing:0}.wide-list-table .sticky-table thead{position:relative;z-index:20}.wide-list-table .sticky-table thead th{position:sticky;top:0;z-index:21;background:#f1f1f1;box-shadow:0 1px 0 #d7d7d7,0 -40px 0 40px #fff}.wide-list-table .sticky-table tbody tr{height:40px}.inactive-customer-alert{border-left:5px solid #b3261e;background:#fff3f2}.inactive-customer-alert p{margin:6px 0 10px}
\n/* V3.89 customer table layout repair */
.customer-pagination-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:#fff;border:1px solid #ddd;padding:8px 10px;margin:6px 0 0;min-height:42px}.customer-pagination-top>div{display:flex;align-items:center;justify-content:center;gap:9px}.customer-pagination-top .pagination-rows{justify-self:end;display:flex;align-items:center;gap:5px}.customer-pagination-top select{height:32px;padding:4px 28px 4px 8px}.wide-list-table{position:relative!important;overflow:auto!important;isolation:auto!important;max-height:calc(100vh - 300px)!important;padding-top:0!important}.wide-list-table .bulk-actions{position:relative!important;top:auto!important;right:auto!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:7px!important;min-height:42px!important;padding:6px 0!important;overflow:visible!important}.wide-list-table .table-header-bar{position:relative!important;z-index:1!important;background:#fff!important;padding:5px 0 8px!important;min-height:34px!important}.wide-list-table .sticky-table{border-collapse:collapse!important;border-spacing:0!important;width:100%!important;min-width:1450px!important}.wide-list-table .sticky-table thead{position:static!important}.wide-list-table .sticky-table thead th{position:sticky!important;top:0!important;z-index:10!important;background:#f1f1f1!important;background-clip:padding-box!important;box-shadow:0 1px 0 #d7d7d7!important;white-space:nowrap!important}.wide-list-table .sticky-table tbody tr{height:auto!important}.wide-list-table .sticky-table th:nth-child(11){min-width:42px}.wide-list-table .sticky-table th:nth-child(12){min-width:70px}.wide-list-table .sticky-table th:nth-child(13){min-width:92px}@media(max-width:800px){.customer-pagination-top{grid-template-columns:1fr}.customer-pagination-top>div{justify-content:flex-start}.customer-pagination-top .pagination-rows{justify-self:start}.wide-list-table{max-height:none!important}}\n
/* V3.90 compact customer table toolbar */
.customer-table-toolbar{display:flex;align-items:center;gap:12px;padding:6px 8px;background:#fff;border-bottom:1px solid #d7d7d7;min-height:40px;white-space:nowrap}.customer-table-summary{display:flex;align-items:center;gap:8px;font-size:12px}.customer-table-pager{display:flex;align-items:center;gap:7px;margin-left:auto;font-size:12px}.customer-table-actions{display:flex;align-items:center;gap:6px;margin-left:8px}.customer-table-toolbar .btn.small{min-height:30px!important;padding:5px 8px!important}.customer-table-toolbar .pagination-rows select{height:30px}.customer-saved-view-strip{padding:4px 8px;border-bottom:1px solid #e5e7eb;background:#fafafa}.wide-list-table{max-height:calc(100vh - 235px)!important}.wide-list-table .sticky-table thead th{top:0!important}.wide-list-table .table-header-bar,.wide-list-table>.bulk-actions,.customer-pagination-top{display:none!important}@media(max-width:1150px){.customer-table-toolbar{flex-wrap:wrap;white-space:normal}.customer-table-pager{margin-left:0}.customer-table-actions{margin-left:0}}@media(max-width:700px){.customer-table-toolbar{align-items:flex-start;flex-direction:column}.customer-table-pager,.customer-table-actions{flex-wrap:wrap}}

/* V3.91 customer toolbar + map link */
.customer-table-toolbar{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:10px!important;min-height:38px!important;padding:4px 8px!important;white-space:nowrap!important}.customer-table-actions{order:1!important;margin:0!important;display:flex!important;align-items:center!important;gap:6px!important}.customer-table-right{order:2!important;margin-left:auto!important;display:flex!important;align-items:center!important;gap:12px!important}.customer-table-summary,.customer-table-pager{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important}.map-location-link{display:inline-block;max-width:100%;overflow-wrap:anywhere;word-break:break-word;font-size:12px}
@media(max-width:1100px){.customer-table-toolbar{overflow-x:auto!important}.customer-table-right{margin-left:auto!important;flex:0 0 auto!important}.customer-table-actions{flex:0 0 auto!important}}

.dc-source-mismatch{background:#fff3cd!important;color:#7a5200!important;border-color:#d9a400!important;font-weight:700}.dc-source-select{min-width:82px;padding:4px 24px 4px 7px}

/* V3.94 SMS Settings */
.sms-settings-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;align-items:start}.sms-settings-card,.sms-status-card{margin:0}.sms-settings-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.sms-settings-head h2{margin:0 0 6px}.sms-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:14px}.sms-form-grid label{display:flex;flex-direction:column;gap:5px}.sms-form-grid small{font-weight:400;color:#68727d}.toggle-line{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important}.sms-balance-config{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.sms-balance-number{font-size:2.1rem;font-weight:700;line-height:1}.sms-status-card dl{display:grid;grid-template-columns:1fr 1.25fr;gap:8px 12px;margin:18px 0}.sms-status-card dt{color:#68727d}.sms-status-card dd{margin:0;font-weight:600;overflow-wrap:anywhere}.sms-status-card form{display:inline-block;margin:0 6px 8px 0}.sms-security-note{margin-top:16px}.sms-security-note h3{margin-top:0}@media(max-width:850px){.sms-settings-grid,.sms-form-grid{grid-template-columns:1fr}.sms-settings-head{align-items:flex-start;flex-direction:column}.sms-balance-config{align-items:flex-start;flex-direction:column;gap:10px}}
/* V3.96 SMS workflow */
.credential-hint{font-size:.72rem!important;font-weight:400;color:#77818c;vertical-align:middle}.sms-status-card dl{grid-template-columns:190px minmax(180px,1fr);align-items:baseline}.sms-status-card dt,.sms-status-card dd{line-height:1.25}.sms-status-card .sms-balance-number{display:inline-block;margin-right:5px}.sms-modal-backdrop{max-width:900px;margin:20px auto}.sms-send-modal{padding:20px}.sms-preview-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;margin:14px 0}.sms-preview-meta>div{display:grid;grid-template-columns:85px 1fr;border-bottom:1px solid #e4e7ea;padding:6px 0}.sms-send-modal textarea{width:100%;font-family:inherit;font-size:1rem;line-height:1.35;margin-top:7px}.sms-counter-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.sms-counter{font-weight:700}.sms-counter.warning{color:#a86400}.resend-confirm{display:block;margin:14px 0;padding:10px;background:#fff3cd;border:1px solid #e6c76c}.sms-log-content{max-width:480px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:850px){.sms-status-card dl{grid-template-columns:1fr}.sms-preview-meta{grid-template-columns:1fr}.sms-counter-row{align-items:flex-start;gap:8px;flex-direction:column}}
/* V3.97 Service Request map and SMS action refinements */
.map-inline.map-inline-clean{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;width:100%}
.map-inline.map-inline-clean label{min-width:0;width:100%}
.map-inline.map-inline-clean #map_location{width:100%;box-sizing:border-box}
.map-inline.map-inline-clean #map_from_job{justify-self:end;white-space:nowrap}
#map_location.map-url-value{color:#0645ad;text-decoration:underline;cursor:text}
.sms-send-modal .form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sms-send-modal .form-actions .btn{margin:0;min-height:38px}
@media(max-width:700px){.map-inline.map-inline-clean{grid-template-columns:1fr}.map-inline.map-inline-clean #map_from_job{justify-self:stretch}.sms-send-modal .form-actions{gap:8px}}

/* V3.97 SMS settings polish */
.sms-settings-card .form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}
.sms-settings-card .form-actions .btn{margin:0}
.sms-status-card form{display:inline-flex;margin:0 10px 10px 0}
.sms-status-card form .btn{margin:0}

/* V3.98 Build 1 - SMS master switch */
.sms-master-toggle{display:inline-flex;align-items:center;gap:10px;font-weight:600;cursor:pointer;user-select:none}.sms-master-toggle input{position:absolute;opacity:0;pointer-events:none}.sms-switch{position:relative;width:46px;height:26px;border-radius:999px;background:#d7dce1;box-shadow:inset 0 0 0 1px #c4cbd2;transition:background .18s ease,box-shadow .18s ease}.sms-switch:after{content:"";position:absolute;width:22px;height:22px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0004;transition:transform .18s ease}.sms-master-toggle input:checked + .sms-switch{background:#28a745;box-shadow:inset 0 0 0 1px #218838}.sms-master-toggle input:checked + .sms-switch:after{transform:translateX(20px)}.sms-master-toggle input:focus-visible + .sms-switch{outline:2px solid #1a73e8;outline-offset:2px}

/* V3.98 Build 2: consistent toggle/action spacing */
.sms-balance-config .sms-master-toggle{margin-right:8px}.sms-settings-card .form-actions{gap:10px}.sms-status-card form{margin-right:10px}

/* Build 3: uninterrupted multi-day calendar segments */
.cal-job.completed-span.span-start{margin-right:-6px;border-top-right-radius:0;border-bottom-right-radius:0}.cal-job.completed-span.span-middle{margin-left:-6px;margin-right:-6px;border-radius:0}.cal-job.completed-span.span-end{margin-left:-6px;border-top-left-radius:0;border-bottom-left-radius:0}.cal-day.today-cell{position:relative;z-index:1}

/* V3.98 Build 4 — compact reminder settings layout */
.reminder-page .reminder-page-header{margin-bottom:14px}.reminder-page .reminder-page-header h1{margin:0 0 4px}.reminder-page .reminder-page-header p{margin:0}
.reminder-page .reminder-panel{padding:16px 18px;margin-bottom:12px}.reminder-page .reminder-panel h2{margin:0 0 14px}
.reminder-toggle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 22px;margin-bottom:20px}
.reminder-toggle-grid .reminder-toggle{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0;margin:0;white-space:nowrap}
.reminder-toggle-grid .reminder-toggle .sms-switch{flex-shrink:0}
.reminder-number-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;align-items:start}
.reminder-number-grid .reminder-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;font-weight:600}
.reminder-number-grid .reminder-input-row{display:flex;align-items:center;gap:8px;min-height:36px}
.reminder-number-grid input[type=number]{box-sizing:border-box;width:96px;max-width:100%;height:34px;margin:0;padding:5px 8px;font-weight:400}
.reminder-number-grid .reminder-unit{font-weight:400;white-space:nowrap}
.reminder-page .reminder-explanation{margin:14px 0 0;line-height:1.5;clear:both}
.reminder-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.reminder-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.reminder-section-head h2{margin:0!important}.reminder-section-head form{margin:0}
.reminder-monitor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.reminder-monitor-grid>div{min-width:0;padding:10px 12px;background:#f5f6f7;border:1px solid #e1e4e8;border-radius:4px}
.reminder-monitor-grid span,.reminder-monitor-grid strong{display:block;overflow-wrap:anywhere}.reminder-monitor-grid span{font-size:12px;color:#606b7a;margin-bottom:5px}.reminder-monitor-grid strong{font-size:14px}
.reminder-page .table-scroll{overflow-x:auto}.reminder-page table th,.reminder-page table td{vertical-align:middle}
@media(max-width:1050px){.reminder-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.reminder-toggle-grid,.reminder-number-grid,.reminder-monitor-grid{grid-template-columns:1fr}.reminder-section-head{align-items:stretch}.reminder-actions{justify-content:flex-start}}

/* Build 6: compact no-wrap, resizable job columns and overlap prevention */
.jobs-table{table-layout:fixed;width:100%;min-width:1180px;font-size:11px;border-collapse:collapse}
.jobs-table th,.jobs-table td{font-size:11px;padding:5px 5px;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;line-height:1.35;max-width:280px}
.jobs-table th{position:relative;overflow:visible;font-size:11px;line-height:1.3}
.jobs-table td:nth-child(9){min-width:0!important}
.jobs-table td a,.jobs-table td span{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.jobs-table .job-reminder-cell{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
.jobs-table .job-reminder-cell .btn{padding:1px 3px!important;border:0;background:transparent;font-size:12px!important;min-height:0}
.jobs-table .manual-reminder-stamp{display:inline;font-size:10px;white-space:nowrap}
.jobs-table .urgent-badge{padding:1px 3px;font-size:9px}
.job-col-resizer{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:6;touch-action:none}
.job-col-resizer:hover{background:#8fa5ba77}
.reminder-page .reminder-page-header{text-align:center;background:transparent;color:inherit;border-bottom:1px solid #e3e5e8;padding:5px 8px 10px;margin-bottom:12px}
.reminder-page .reminder-page-header h1{font-size:21px;line-height:1.3;margin:0 0 4px}
.reminder-page .reminder-page-header p{font-size:12px;line-height:1.5;margin:0}
.reminder-page .reminder-panel{min-width:0;overflow-wrap:anywhere}
.reminder-page .reminder-section-head{gap:10px;flex-wrap:wrap}
.reminder-page .reminder-section-head h2{min-width:0;font-size:18px}
.reminder-page .reminder-monitor-grid>*{min-width:0;overflow-wrap:anywhere}
.reminder-toggle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px}
.reminder-toggle-grid .reminder-toggle{justify-content:space-between;white-space:normal;gap:6px}
.reminder-number-grid{gap:10px 12px}
.reminder-history-filters{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.reminder-history-filters .active{background:#30343b;color:#fff}
.reminder-history-table{font-size:11px;min-width:720px;width:100%}
.reminder-history-table th,.reminder-history-table td{font-size:11px;padding:6px 7px;vertical-align:top;white-space:nowrap}
.reminder-history-table .reminder-ellipsis{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis}
.reminder-row-details summary{cursor:pointer;font-size:10px;color:#52677b}
.reminder-row-details small{display:block;max-width:350px;white-space:normal;overflow-wrap:anywhere}
.reminder-history-table tr[hidden]{display:none}
@media(max-width:850px){.reminder-toggle-grid,.reminder-number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.reminder-toggle-grid,.reminder-number-grid{grid-template-columns:1fr}}

/* Build 7: compact, non-overlapping reminder history and retention */
.reminder-history-table td{vertical-align:middle;max-width:300px;overflow:hidden;text-overflow:ellipsis}
.reminder-history-table .reminder-detail-expanded td{white-space:normal;overflow-wrap:anywhere;background:#f8fafc;padding:10px 12px;max-width:none}
.reminder-history-table .reminder-detail-expanded[hidden]{display:none}
.reminder-detail-button{border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#334155;padding:3px 8px;font-size:11px;cursor:pointer;white-space:nowrap}
.reminder-retention-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.reminder-retention-row .reminder-retention-toggle{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;margin:0}
.reminder-retention-number{display:inline-flex!important;align-items:center!important;gap:5px!important;white-space:nowrap;margin:0!important;font-size:12px}
.reminder-retention-number input{width:64px!important;min-width:64px!important;margin:0!important;padding:5px!important;box-sizing:border-box}
.reminder-retention-row .btn{margin:0 0 0 auto!important}
.reminder-retention-note{margin:10px 0 0!important;font-size:11px;line-height:1.5;clear:both}

/* Build 7: consistent readable desktop data tables; excludes printed job cards */
@media screen {
  .table-scroll table:not(.print-table):not(.compact-job-table),
  .wide-list-table table, .sticky-table, .audit-table, .jobs-table, .reminder-history-table {font-size:13px!important;line-height:1.4!important}
  .table-scroll table:not(.print-table):not(.compact-job-table) thead th,
  .wide-list-table table thead th, .sticky-table thead th,
  .audit-table thead th, .jobs-table thead th, .reminder-history-table thead th {font-size:12px!important;font-weight:600!important;line-height:1.4!important;white-space:nowrap!important}
  .table-scroll table:not(.print-table):not(.compact-job-table) tbody td,
  .wide-list-table table tbody td, .sticky-table tbody td,
  .audit-table tbody td, .jobs-table tbody td, .reminder-history-table tbody td {font-size:13px!important;line-height:1.4!important;white-space:nowrap!important;vertical-align:middle!important;padding:7px 8px!important}
  .jobs-table{min-width:1320px!important}
  .jobs-table .urgent-badge{font-size:11px!important}
  .jobs-table .manual-reminder-stamp{font-size:12px!important}
  .jobs-table .job-reminder-cell .btn{font-size:16px!important}
  .reminder-history-table .reminder-detail-expanded td{white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.5!important}
  .reminder-history-table .reminder-detail-expanded[hidden]{display:none!important}
  .reminder-history-table .reminder-detail-button{font-size:12px!important}
  .table-scroll{overflow-x:auto}
}

/* Build 8: readable uniform table text without shrinking to fit */
@media screen {
  .table-scroll table:not(.print-table):not(.compact-job-table),
  .wide-list-table table,.sticky-table,.audit-table,.jobs-table,.reminder-history-table,
  .compact-table {font-size:14px!important;line-height:1.45!important}
  .table-scroll table:not(.print-table):not(.compact-job-table) th,
  .wide-list-table table th,.sticky-table th,.audit-table th,.jobs-table th,
  .reminder-history-table th,.compact-table th {font-size:14px!important;font-weight:700!important;white-space:nowrap!important}
  .table-scroll table:not(.print-table):not(.compact-job-table) td,
  .wide-list-table table td,.sticky-table td,.audit-table td,.jobs-table td,
  .reminder-history-table td,.compact-table td {font-size:14px!important;line-height:1.45!important;white-space:nowrap!important;vertical-align:middle!important;padding:8px!important}
  .jobs-table{min-width:1480px!important}
  .jobs-table .urgent-badge,.jobs-table .status-badge,.jobs-table .badge{font-size:13px!important}
  .jobs-table .job-reminder-cell .btn{font-size:18px!important}
  .reminder-history-table .reminder-detail-button{font-size:13px!important}
  .table-scroll,.table-wrap{overflow-x:auto}
}
.reminder-details-dialog{width:min(520px,calc(100vw - 36px));max-height:80vh;overflow-y:auto;border:1px solid #cbd5e1;border-radius:8px;padding:20px;box-shadow:0 16px 55px #0003;color:#172235;background:#fff}
.reminder-details-dialog::backdrop{background:#0006}
.reminder-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.reminder-dialog-header h3{margin:0;font-size:18px}
.reminder-details-dialog dl{display:grid;grid-template-columns:125px minmax(0,1fr);gap:10px 12px;margin:0;font-size:14px}
.reminder-details-dialog dt{font-weight:700;color:#475569}
.reminder-details-dialog dd{margin:0;overflow-wrap:anywhere;min-width:0}

/* Build 9: legible tables and compact reminder column */
@media screen {
 .table-scroll table:not(.print-table):not(.compact-job-table),.wide-list-table table,.sticky-table,.audit-table,.jobs-table,.reminder-history-table,.compact-table{font-size:15px!important;line-height:1.45!important}
 .table-scroll table:not(.print-table):not(.compact-job-table) th,.wide-list-table table th,.sticky-table th,.audit-table th,.jobs-table th,.reminder-history-table th,.compact-table th{font-size:15px!important;font-weight:600!important}
 .table-scroll table:not(.print-table):not(.compact-job-table) td,.wide-list-table table td,.sticky-table td,.audit-table td,.jobs-table td,.reminder-history-table td,.compact-table td{font-size:15px!important;white-space:nowrap!important}
 .jobs-table [class^="status-"],.jobs-table [class*=" status-"]{font-size:14px!important}
 .jobs-table th:last-child,.jobs-table td:last-child{width:90px!important;min-width:70px!important;max-width:110px!important;text-align:center!important}
 .jobs-table .job-reminder-cell{overflow:hidden!important;text-overflow:ellipsis!important}
 .jobs-table .manual-reminder-stamp{font-size:12px!important;max-width:70px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:middle}
 .jobs-table .job-reminder-cell .btn{font-size:18px!important}
}

/* Build 10: clearly visible table column adjustment guides */
.table-scroll{overflow-x:auto}
.enzed-resizable-table{width:max-content;min-width:100%;table-layout:fixed}
.enzed-resizable-table thead th{position:relative;white-space:nowrap;border-right:1px solid #b9c6d3!important;padding-right:13px!important}
.enzed-resizable-table tbody td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.enzed-resizable-table .enzed-column-resizer{position:absolute;right:-5px;top:0;bottom:0;width:11px;z-index:9;cursor:col-resize;touch-action:none;border-right:2px solid #9aaec2;background:transparent}
.enzed-resizable-table .enzed-column-resizer:hover,.enzed-resizable-table .enzed-column-resizer:focus-visible,.enzed-resizing .enzed-column-resizer:hover{background:rgba(45,111,175,.20);border-right:3px solid #2367a5;outline:none}
.enzed-resizable-table .enzed-column-resizer:focus-visible{outline:2px solid #2367a5}
.enzed-resizing,.enzed-resizing *{user-select:none!important;cursor:col-resize!important}
.enzed-autofit-measure{position:absolute;left:-99999px;top:0;white-space:pre;font:15px Arial,sans-serif;visibility:hidden}


/* Build 16: uniform on-screen table body typography, compact URGENT label.
   Keep print/job-card styles and existing column widths untouched. */
@media screen {
  .table-scroll table:not(.print-table):not(.compact-job-table),
  .wide-list-table table, .sticky-table, .audit-table,
  .jobs-table, .reminder-history-table, .compact-table {
    font-size:13px!important;
  }
  .table-scroll table:not(.print-table):not(.compact-job-table) thead th,
  .wide-list-table table thead th, .sticky-table thead th,
  .audit-table thead th, .jobs-table thead th,
  .reminder-history-table thead th, .compact-table thead th {
    font-size:13px!important;
    font-weight:700!important;
  }
  .table-scroll table:not(.print-table):not(.compact-job-table) tbody td,
  .wide-list-table table tbody td, .sticky-table tbody td,
  .audit-table tbody td, .jobs-table tbody td,
  .reminder-history-table tbody td, .compact-table tbody td {
    font-size:13px!important;
    line-height:1.4!important;
  }
  .table-scroll table:not(.print-table):not(.compact-job-table) tbody td :is(a,span,strong,small,b,em),
  .wide-list-table table tbody td :is(a,span,strong,small,b,em),
  .sticky-table tbody td :is(a,span,strong,small,b,em),
  .audit-table tbody td :is(a,span,strong,small,b,em),
  .jobs-table tbody td :is(a,span,strong,small,b,em),
  .reminder-history-table tbody td :is(a,span,strong,small,b,em),
  .compact-table tbody td :is(a,span,strong,small,b,em) {
    font-size:13px!important;
  }
  .jobs-table tbody td .urgent-badge,
  .table-scroll table tbody td .urgent-badge,
  .wide-list-table table tbody td .urgent-badge {
    font-size:10px!important;
    font-weight:700!important;
    line-height:1.15!important;
    padding:1px 3px!important;
    vertical-align:middle;
  }
}


/* Build 17: compact Jobs rows to match Customers, regular-weight status/urgent labels. */
@media screen {
  .jobs-table tbody td,
  .table-scroll .jobs-table tbody td,
  .table-scroll table.jobs-table tbody td {
    font-size:13px!important;
    line-height:1.3!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
    vertical-align:middle!important;
  }
  .jobs-table tbody td :is(a,span,strong,small,b,em):not(.urgent-badge),
  .table-scroll .jobs-table tbody td :is(a,span,strong,small,b,em):not(.urgent-badge) {
    font-size:13px!important;
    line-height:1.3!important;
  }
  .jobs-table tbody td :is(.status-badge,.badge,[class^="status-"],[class*=" status-"]),
  .table-scroll table tbody td :is(.status-badge,[class^="status-"],[class*=" status-"]) {
    font-size:13px!important;
    font-weight:400!important;
    padding-top:2px!important;
    padding-bottom:2px!important;
    line-height:1.2!important;
  }
  .jobs-table tbody td .urgent-badge,
  .table-scroll table tbody td .urgent-badge,
  .wide-list-table table tbody td .urgent-badge,
  .urgent-badge {
    font-size:10px!important;
    font-weight:400!important;
    padding:1px 3px!important;
    line-height:1.15!important;
  }
}

/* Build 18: compact email preview handled in template; narrow Jobs columns and rows. */
@media screen {
  .wide-list-table table.jobs-table {width:100%!important;min-width:1120px!important;table-layout:fixed!important;}
  .jobs-table col.jobs-col-1{width:36px} .jobs-table col.jobs-col-2{width:100px}
  .jobs-table col.jobs-col-3{width:105px} .jobs-table col.jobs-col-4{width:115px}
  .jobs-table col.jobs-col-5{width:auto} .jobs-table col.jobs-col-6{width:110px}
  .jobs-table col.jobs-col-7{width:65px} .jobs-table col.jobs-col-8{width:95px}
  .jobs-table col.jobs-col-9{width:auto} .jobs-table col.jobs-col-10{width:100px}
  .jobs-table col.jobs-col-11{width:85px} .jobs-table col.jobs-col-12{width:75px}
  .wide-list-table table.jobs-table tbody td{padding:4px 5px!important;line-height:1.2!important;height:32px!important;box-sizing:border-box!important;vertical-align:middle!important;}
  .wide-list-table table.jobs-table thead th{padding:6px 5px!important;white-space:nowrap!important;}
  .wide-list-table table.jobs-table td:nth-child(1),.wide-list-table table.jobs-table th:nth-child(1){text-align:center!important;}
  .wide-list-table table.jobs-table td:nth-child(8) [class^=status-]{font-weight:400!important;padding:2px 5px!important;line-height:1.1!important;}
  .wide-list-table table.jobs-table td:nth-child(2){overflow:visible!important;}
  .jobs-table .job-number-wrap{display:inline-flex;align-items:flex-start;gap:1px;max-width:100%;overflow:visible!important;}
  .wide-list-table table.jobs-table .job-number-wrap .urgent-badge{display:inline-block!important;position:relative;top:-5px;vertical-align:super;line-height:1!important;font-size:8px!important;font-weight:400!important;padding:1px 2px!important;border-radius:2px;overflow:visible!important;white-space:nowrap!important;}
  .wide-list-table table.jobs-table .job-reminder-cell .btn{padding:0 2px!important;line-height:1!important;min-height:0!important;}
  .wide-list-table table.jobs-table tbody td:nth-child(5),.wide-list-table table.jobs-table tbody td:nth-child(9){overflow:hidden!important;text-overflow:ellipsis!important;}
}


/* Build 19: give Jobs customer names a predictable compact width. */
@media screen {
 .wide-list-table table.jobs-table col.jobs-col-5{width:200px!important}
 .wide-list-table table.jobs-table col.jobs-col-9{width:auto!important}
 .wide-list-table table.jobs-table tbody td:nth-child(5) {
   white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
 }
 /* Customers: fixed compact data columns; Site Address receives remaining space. */
 .wide-list-table table.customers-width-table{width:100%!important;min-width:1540px!important;table-layout:fixed!important}
 .customers-width-table col.customer-col-1{width:36px}
 .customers-width-table col.customer-col-2{width:105px}
 .customers-width-table col.customer-col-3{width:160px}
 .customers-width-table col.customer-col-4{width:120px}
 .customers-width-table col.customer-col-5{width:110px}
 .customers-width-table col.customer-col-6{width:170px}
 .customers-width-table col.customer-col-7{width:120px}
 .customers-width-table col.customer-col-8{width:110px}
 .customers-width-table col.customer-col-9{width:auto}
 .customers-width-table col.customer-col-10{width:120px}
 .customers-width-table col.customer-col-11{width:55px}
 .customers-width-table col.customer-col-12{width:85px}
 .customers-width-table col.customer-col-13{width:85px}
 .wide-list-table table.customers-width-table th{white-space:nowrap!important}
 .wide-list-table table.customers-width-table tbody td{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 .wide-list-table table.customers-width-table tbody td:nth-child(1){text-align:center!important}
}

/* Build 21: SMS test dialog and provider result notifications */
.sms-result-overlay[hidden],.sms-outcome[hidden]{display:none!important}.sms-result-overlay{position:fixed;inset:0;background:rgba(10,25,40,.48);display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px}.sms-result-dialog{width:min(100%,560px);max-height:90vh;overflow:auto;padding:20px}.sms-result-dialog label{display:block;margin:14px 0}.sms-result-dialog input,.sms-result-dialog textarea{width:100%;margin-top:5px}.sms-outcome{margin:14px 0;padding:12px;border:1px solid;border-radius:4px;overflow-wrap:anywhere}.sms-outcome-ok{background:#e4f7eb;border-color:#76c891;color:#135c32}.sms-outcome-error{background:#fde9e9;border-color:#ed9999;color:#8b1d1d}.sms-outcome-warning{background:#fff4d4;border-color:#dfbb60;color:#715000}

/* Build 23: retain horizontal operations row and prevent invoice selector shifting neighbours. */
@media(min-width:901px){
 .service-ops-first-row{align-items:start!important}
 .service-ops-first-row>.choice-field,.service-ops-first-row>label{min-width:0}
 .service-ops-first-row>.choice-field:not(.invoice-choice),.service-ops-first-row>label{padding-top:0}
 .service-ops-first-row .invoice-choice{grid-template-rows:12px 36px 39px;align-content:start}
 .service-ops-first-row .invoice-choice #invoice_service_centre_id{margin-top:3px!important;height:36px}
}

/* Build 24 draft recovery and form field settings */
.required-star{color:#c5222c;font-weight:800}.mandatory-missing{border:2px solid #c5222c!important}.mandatory-errors{padding:10px 14px;margin:8px 0;background:#fff3f3;color:#a41823;border-left:4px solid #c5222c;border-radius:5px;font-weight:600}.draft-save-status{color:#52627b;margin-left:8px}.form-field-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.form-field-setting{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border:1px solid #dbe1ea;border-radius:6px;font-size:.9rem}.service-paper label,.dc-form .edit-grid label{row-gap:3px}

/* Build 25: compact two-row Service Request operational layout. */
.service-paper .operational-section{padding-top:8px!important;padding-bottom:8px!important}
.service-paper .service-ops-first-row{display:grid!important;grid-template-columns:minmax(300px,1.45fr) minmax(150px,.72fr) minmax(310px,1.55fr)!important;align-items:end!important;gap:8px!important;margin-bottom:6px!important}
.service-paper .service-ops-first-row .invoice-choice{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(160px,.75fr);grid-template-rows:auto 36px!important;column-gap:7px;row-gap:3px;align-items:end}
.service-paper .service-ops-first-row .invoice-choice>b{grid-column:1/-1}
.service-paper .service-ops-first-row .invoice-choice .choice-box{grid-column:1;grid-row:2;min-width:0;gap:6px;padding:0 6px}
.service-paper .service-ops-first-row .invoice-choice .invoice-centre-select{grid-column:2;grid-row:2;max-width:none!important;width:100%!important;height:36px!important;margin:0!important}
.service-paper .service-ops-first-row .invoice-choice .invoice-centre-select[hidden]{display:none!important}
.service-paper .service-ops-first-row .choice-box{overflow:visible!important}
.service-paper .service-ops-first-row .choice-box.choices{flex-wrap:nowrap!important;white-space:nowrap!important;gap:6px!important}
.service-paper .service-allocation-four{display:grid!important;grid-template-columns:minmax(140px,1fr) minmax(175px,1.25fr) minmax(65px,.43fr) minmax(210px,1.2fr) minmax(130px,.75fr)!important;gap:8px!important;align-items:end!important;margin:0 0 6px!important}
.service-paper .service-allocation-four>label{min-width:0}
.service-paper .service-allocation-four>label:first-child{grid-column:1}
.service-paper .service-allocation-four>label[name=urgency]{grid-column:5}
.service-paper .service-allocation-four .scheduled-field{min-width:0!important}
.service-paper .operational-section .job-location-block{margin-top:4px!important}
@media(max-width:1150px){.service-paper .service-ops-first-row{grid-template-columns:minmax(280px,1.4fr) minmax(130px,.65fr) minmax(300px,1.5fr)!important}.service-paper .service-allocation-four{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:850px){.service-paper .service-ops-first-row{grid-template-columns:1fr!important}.service-paper .service-allocation-four{grid-template-columns:repeat(2,minmax(0,1fr))!important}.service-paper .service-allocation-four>label:first-child,.service-paper .service-allocation-four>label[name=urgency]{grid-column:auto}}
@media(max-width:520px){.service-paper .service-allocation-four{grid-template-columns:1fr!important}.service-paper .service-ops-first-row .invoice-choice{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important}.service-paper .service-ops-first-row .invoice-choice .invoice-centre-select{grid-column:1;grid-row:3}}
/* Provider status card: allow label/value wrapping without collision. */
.sms-provider-status dl,.sms-provider-status .status-rows{min-width:0}
.sms-provider-status .status-row{display:grid;grid-template-columns:minmax(165px,45%) minmax(0,1fr);gap:8px;align-items:start}
.sms-provider-status .status-row>*{min-width:0;overflow-wrap:anywhere}

/* Build 26: two fixed horizontal operations rows, no wrapped controls. */
.service-paper .service-ops-first-row{display:grid!important;grid-template-columns:minmax(255px,1.05fr) minmax(100px,.42fr) minmax(400px,2fr)!important;gap:8px!important;align-items:end!important}
.service-paper .service-ops-first-row .choice-box{height:36px!important;min-height:36px!important;overflow:visible!important;display:flex!important;flex-wrap:nowrap!important;gap:8px!important;padding:0 7px!important}
.service-paper .service-ops-first-row .choice-box label{font-size:12px!important;white-space:nowrap!important;flex:0 0 auto!important}
.service-paper .service-ops-first-row .invoice-choice{display:grid!important;grid-template-columns:minmax(325px,1fr) minmax(155px,.48fr)!important;grid-template-rows:12px 36px!important;gap:3px 7px!important}
.service-paper .service-ops-first-row .invoice-choice>b{grid-column:1/-1!important;grid-row:1!important}
.service-paper .service-ops-first-row .invoice-choice .choice-box{grid-column:1!important;grid-row:2!important;gap:6px!important}
.service-paper .service-ops-first-row .invoice-choice .invoice-centre-select{grid-column:2!important;grid-row:2!important;min-width:0!important;margin:0!important}
.service-paper .service-ops-first-row .invoice-choice .invoice-centre-select[hidden]{display:none!important}
.service-paper .service-allocation-four{display:grid!important;grid-template-columns:minmax(105px,.6fr) minmax(180px,1.35fr) minmax(110px,.85fr) minmax(85px,.5fr) minmax(205px,1.3fr)!important;gap:8px!important;align-items:end!important}
.service-paper .service-allocation-four>label{min-width:0!important;grid-column:auto!important;white-space:nowrap!important}
.service-paper .service-allocation-four>label[hidden]{display:none!important}
.service-paper .service-allocation-four select,.service-paper .service-allocation-four input{min-width:0!important;width:100%!important;box-sizing:border-box!important}
/* Horizontal scroll only on narrow displays: never stack either row. */
.service-paper .operational-section{overflow-x:auto!important}
.service-paper .service-ops-first-row{min-width:930px!important}
.service-paper .service-allocation-four{min-width:760px!important}

/* Build 26: keep mandatory asterisks on the same line as the field label. */
.field-label-caption{display:inline-block;white-space:nowrap;min-width:0}
.field-label-caption .required-star{display:inline;white-space:nowrap}

/* Build 26: completion override and combined communications alignment */
.completion-override-row{display:grid;grid-template-columns:minmax(270px,1fr) minmax(320px,1.5fr);gap:14px;align-items:start;width:100%;margin:8px 0 12px}
.completion-override-row>label{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;line-height:1.35;font-weight:600}
.completion-override-row input{width:100%;min-width:0;box-sizing:border-box;min-height:39px;padding:9px 11px;line-height:1.3}
.combined-communications{max-width:960px;margin:12px auto;padding:20px;box-sizing:border-box}
.combined-send-form{display:flex;flex-direction:column;gap:13px;min-width:0}
.combined-send-form>label:not(:has(>input[type=checkbox])),.combined-recipient-grid>label{display:flex;flex-direction:column;gap:6px;min-width:0;line-height:1.4}
.combined-send-form input:not([type=checkbox]),.combined-send-form textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;line-height:1.5;resize:vertical}
.combined-send-form textarea[name=sms_body]{min-height:135px}
.combined-send-form textarea[name=email_body]{min-height:185px}
.combined-recipient-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;width:100%}
.combined-send-form>label:has(>input[type=checkbox]){display:flex;align-items:flex-start;gap:8px;line-height:1.5}
.combined-send-form>label>input[type=checkbox]{flex:0 0 auto;margin-top:4px}
.combined-send-form .flash{position:static;width:100%;box-sizing:border-box;margin:0}
@media(max-width:640px){.completion-override-row,.combined-recipient-grid{grid-template-columns:minmax(0,1fr)}}

/* Build 26 compact completion and combined communications */
.completion-override-row{grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:14px}
.combined-communications{max-width:960px;padding:16px 20px}
.combined-send-form{gap:9px}
.combined-send-form h2{font-size:18px;margin:3px 0 0}
.combined-send-form textarea[name=sms_body]{min-height:105px}
.combined-send-form textarea[name=email_body]{min-height:135px}
.combined-channel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.combined-channel-toggles{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.combined-channel-toggles label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;margin:0}
.combined-channel-toggles input{width:auto!important;margin:0}
.combined-sms-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.combined-sms-meta .status-badge{white-space:nowrap}
.combined-sms-note{margin:0;font-size:12px}
.combined-resend-warning{margin:0!important;padding:10px 12px!important}
.combined-communications .toolbar{margin-bottom:8px}
@media(max-width:640px){.completion-override-row{grid-template-columns:minmax(0,1fr)}.combined-channel-head{align-items:flex-start}}

/* Build 26: keep completion labels and controls aligned on a single desktop row. */
.completion-override-row{grid-template-columns:280px minmax(0,1fr);align-items:end}
.completion-override-row>label{margin:0;justify-content:flex-end}
.completion-override-row>label input{height:40px;min-height:40px;margin:0}
@media(max-width:640px){.completion-override-row{grid-template-columns:minmax(0,1fr)}}

/* Build 27: navigation-only shell refresh; existing pages and forms remain unchanged. */
body.b27-sidebar-mode {padding-left:206px}
body.b27-sidebar-mode>header{position:relative;z-index:8}
body.b27-sidebar-mode header nav{display:none}
.b27-sidebar{position:fixed;z-index:7;left:0;top:0;bottom:0;width:206px;background:#172e4c;color:#f4f7fb;overflow-y:auto;padding:14px 10px;box-sizing:border-box;box-shadow:2px 0 8px #152c4215}
.b27-sidebar-heading{padding:9px 11px 19px;font-weight:800;letter-spacing:.07em;font-size:15px;color:white}
.b27-sidebar-heading span{display:block;font-size:10px;letter-spacing:.08em;color:#c9d7e7}
.b27-sidebar nav{display:flex!important;flex-direction:column;gap:3px;align-items:stretch;background:transparent;box-shadow:none;padding:0;margin:0;width:100%;position:static}
.b27-sidebar nav>a,.b27-sidebar nav details>summary,.b27-sidebar nav .navlink{display:block;width:100%;box-sizing:border-box;color:#e8f0fa!important;background:transparent!important;border:0;border-radius:5px;padding:10px 12px;font-size:13px;text-align:left;white-space:normal}
.b27-sidebar nav>a:hover,.b27-sidebar nav details>summary:hover,.b27-sidebar nav .navlink:hover,.b27-sidebar nav>a.active{background:#365879!important;color:white!important}
.b27-sidebar nav details{position:relative;display:block;width:100%;margin:0}
.b27-sidebar nav details>div{position:static!important;display:flex!important;flex-direction:column;min-width:0!important;width:100%;box-shadow:none!important;background:#223e5d!important;padding:3px!important;border-radius:5px}
.b27-sidebar nav details:not([open])>div{display:none!important}
.b27-sidebar nav details>div>a{color:#eaf1fa!important;padding:8px 10px;font-size:12px}
.b27-sidebar .nav-search{display:block;width:100%;margin-bottom:5px}
.b27-sidebar .nav-search input{width:100%;box-sizing:border-box;min-width:0}
.b27-sidebar .notification-bell{align-self:start}
.b27-sidebar-toggle{position:fixed;left:10px;bottom:14px;z-index:9;background:#345775;color:white;border:0;border-radius:6px;padding:8px 10px;cursor:pointer}
body.b27-sidebar-collapsed{padding-left:0}
body.b27-sidebar-collapsed .b27-sidebar{display:none}
body.b27-sidebar-collapsed .b27-sidebar-toggle{left:10px}
.b27-report-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:14px;margin-bottom:12px}
.b27-report-controls label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}
.b27-report-controls input,.b27-report-controls select{height:35px;min-width:115px;max-width:185px}
.b27-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;margin:10px 0}
.b27-stat{padding:14px;border-radius:8px;background:white;color:#173451;text-decoration:none;border:1px solid #dce4ef;border-top:4px solid #536c86;display:flex;flex-direction:column;gap:5px;min-height:68px}
.b27-stat b{font-size:24px}.b27-stat span{font-size:12px}.b27-stat.active{outline:2px solid #193d65}
.b27-stat.new{border-top-color:#d2a04d}.b27-stat.allocated{border-top-color:#4c89c1}.b27-stat.in-progress{border-top-color:#7b6db3}.b27-stat.on-hold{border-top-color:#bc8b49}.b27-stat.completed{border-top-color:#268b7d}.b27-stat.cancelled{border-top-color:#c75d68}.b27-stat.payments{border-top-color:#334f70}
.b27-chart-card,.b27-detail-card{padding:16px;margin-bottom:14px}.b27-card-title{font-size:17px;font-weight:700;color:#193451}.b27-card-title small{font-size:12px;color:#667a8f;font-weight:400}
.b27-chart-wrap{width:100%;overflow:hidden}.b27-chart-wrap canvas{width:100%;display:block}.b27-chart-legend{display:flex;flex-wrap:wrap;gap:13px;margin-top:5px}
.b27-key{font-size:12px}.b27-key:before{content:'';display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;background:#999}
.b27-key.b27-new:before{background:#d2a04d}.b27-key.b27-allocated:before{background:#4c89c1}.b27-key.b27-in-progress:before{background:#7b6db3}.b27-key.b27-on-hold:before{background:#bc8b49}.b27-key.b27-completed:before{background:#268b7d}.b27-key.b27-cancelled:before{background:#c75d68}
@media(max-width:850px){body.b27-sidebar-mode{padding-left:0}.b27-sidebar{width:220px;box-shadow:3px 0 20px #142d4b50}.b27-sidebar-toggle{bottom:10px}.b27-report-controls input,.b27-report-controls select{max-width:100%}}

/* Build 27 mobile navigation and job cards — only small screens */
@media(max-width:850px){
 body.b27-sidebar-mode{padding-left:0!important}
 body.b27-sidebar-mode>header{background:#142e49!important;color:white!important;position:sticky;top:0;z-index:30;min-height:58px;box-shadow:0 2px 7px #0002}
 body.b27-sidebar-mode>header .brand,body.b27-sidebar-mode>header .brand *{color:white!important}
 body.b27-sidebar-mode .mobile-menu-toggle{display:flex!important;align-items:center;justify-content:center;order:-1;background:transparent!important;border:0!important;color:white!important;min-width:44px;min-height:44px;font-size:25px}
 body.b27-sidebar-mode .b27-sidebar-toggle{display:none!important}
 body.b27-sidebar-mode .b27-sidebar{display:block!important;left:0;top:0;width:min(82vw,290px);z-index:60;transform:translateX(-105%);transition:transform .2s ease;box-shadow:4px 0 18px #142d4b35}
 body.b27-sidebar-mode.b27-mobile-nav-open .b27-sidebar{transform:translateX(0)}
 body.b27-sidebar-mode.b27-sidebar-collapsed .b27-sidebar{display:block!important}
 body.b27-sidebar-mode .b27-sidebar nav{display:flex!important;position:static!important;box-shadow:none!important;padding:0!important}
 body.b27-sidebar-mode main{max-width:100%;min-width:0;box-sizing:border-box}
 .b27-mobile-jobs{display:grid;gap:10px;margin:12px 0 16px}
 .b27-mobile-job{display:block;background:#f4f7fb;border:1px solid #e1e7ef;border-radius:12px;padding:14px;color:#18334f!important;text-decoration:none;box-shadow:0 2px 4px #0002}
 .b27-mobile-job-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
 .b27-mobile-job strong{font-size:15px}.b27-mobile-job small{display:block;margin-top:8px;color:#5d7185;font-size:13px}
 .b27-mobile-job .b27-mobile-status{font-size:12px;font-weight:700;white-space:nowrap;color:#bd4949}
 .b27-mobile-job .b27-mobile-status.completed{color:#15806b}.b27-mobile-job .b27-mobile-status.in-progress{color:#c18221}
 .b27-mobile-job .b27-mobile-status.allocated{color:#bf4141}
 .b27-mobile-job .b27-mobile-location{font-size:12px;color:#62788c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .b27-mobile-jobs-title{font-size:22px;font-weight:750;color:#18334f;margin:8px 0}
 .b27-mobile-jobs-empty{padding:14px;background:#f4f7fb;border-radius:10px}
 .b27-jobs-desktop-table{display:none!important}
}
@media(min-width:851px){.b27-mobile-jobs{display:none!important}}

/* Build 27 mobile overview and detail cards: desktop screens unchanged */
.b27-mobile-overview,.b27-mobile-job-details{display:none}
@media(max-width:850px){
 .b27-mobile-overview,.b27-mobile-job-details{display:block;color:#17324f;margin:8px 0 18px}
 .b27-mobile-overview h1,.b27-mobile-job-details h1{font-size:24px;margin:8px 0 14px}
 .b27-mobile-subtitle{font-size:12px;color:#62758a;margin:6px 0 14px}
 .b27-mobile-overview-cards{display:grid;gap:10px}
 .b27-mobile-overview-card{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:14px 18px;border-radius:12px;background:#f2f5f9;box-shadow:0 2px 4px #0002;text-decoration:none!important;color:#18334f!important}
 .b27-mobile-overview-card strong{font-size:26px;color:#dc3036}
 .b27-mobile-overview-card .b27-mobile-overview-completed{color:#18836d}
 .b27-mobile-overview-card .b27-mobile-overview-allocated{color:#4c89c1}
 .b27-mobile-overview-card .b27-mobile-overview-in-progress{color:#b18a3a}
 .b27-mobile-overview-actions,.b27-mobile-detail-actions{display:grid;gap:8px;margin:16px 0}
 .b27-mobile-overview-actions .btn,.b27-mobile-detail-actions .btn{display:block;text-align:center;min-height:44px;box-sizing:border-box}
 .b27-mobile-overview-today{display:grid;gap:8px}
 .b27-mobile-overview-today a{display:flex;justify-content:space-between;gap:8px;padding:12px;background:#f2f5f9;border-radius:10px;color:#18334f;text-decoration:none}
 .b27-mobile-back{font-size:13px;color:#365d82;text-decoration:none}
 .b27-mobile-detail-status{margin-bottom:12px}.b27-mobile-detail-status span{font-size:13px;font-weight:700;color:#c43a43}
 .b27-mobile-detail-rows{background:#f4f7fb;border-radius:12px;padding:8px 14px}
 .b27-mobile-detail-rows>div{display:grid;grid-template-columns:minmax(90px,36%) minmax(0,1fr);gap:8px;align-items:start;padding:12px 0;border-bottom:1px solid #e1e7ef}
 .b27-mobile-detail-rows>div:last-child{border-bottom:0}
 .b27-mobile-detail-rows span{font-size:13px;color:#61758b}.b27-mobile-detail-rows strong{font-size:13px;overflow-wrap:anywhere}
 .b27-mobile-completed{color:#16836c;font-weight:700;text-align:center;padding:12px}
 #b27-job-photos,#b27-job-completion,#b27-dashboard-calendar{scroll-margin-top:76px}
}

/* Build 27 final navigation: one compact header, no logo duplication, unified settings navigation. */
body.b27-sidebar-mode{padding-left:206px!important}
body.b27-sidebar-mode>header{height:64px;min-height:64px;padding:0 22px!important;background:#193451!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px;position:sticky!important;top:0;z-index:40;box-shadow:0 1px 5px #0002}
body.b27-sidebar-mode>header .b27-app-brand{display:flex!important;align-items:center;gap:14px;color:#fff!important;text-decoration:none;min-width:0;flex:0 1 auto}
body.b27-sidebar-mode .b27-wordmark{font-size:20px;line-height:1.1;letter-spacing:.025em;font-weight:800;color:white}
body.b27-sidebar-mode .b27-brand-divider{display:block;width:1px;height:30px;background:#6c8197;flex:none}
body.b27-sidebar-mode .b27-brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
body.b27-sidebar-mode .b27-brand-copy .brand-title-row{display:flex;align-items:baseline;gap:9px;white-space:nowrap;line-height:1.05}
body.b27-sidebar-mode .b27-brand-copy .brand-title-row b{font-size:17px;font-weight:700;color:white}
body.b27-sidebar-mode .b27-brand-copy .app-version{font-size:11px;font-weight:600;color:#d7e1ed;letter-spacing:0}
body.b27-sidebar-mode .b27-centre-name{display:block!important;font-size:12px!important;font-weight:700!important;line-height:1.1!important;letter-spacing:.055em!important;color:#ff767a!important;margin:0!important}
body.b27-sidebar-mode .b27-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto;flex:none}
body.b27-sidebar-mode .b27-header-actions>.notification-bell{display:flex!important;position:relative;align-items:center;justify-content:center;width:40px;height:40px;color:white!important;text-decoration:none;font-size:19px;border-radius:6px}
body.b27-sidebar-mode .b27-header-actions>.notification-bell>span{position:absolute;top:0;right:0;font-size:10px;min-width:17px;text-align:center}
body.b27-sidebar-mode .b27-header-actions .accountmenu{display:block!important;position:relative!important;margin:0!important}
body.b27-sidebar-mode .b27-header-actions .accountmenu>summary{display:flex!important;align-items:center;gap:7px;color:#fff!important;font-size:13px!important;white-space:nowrap;cursor:pointer;list-style:none;padding:8px!important;background:transparent!important;border:0!important}
body.b27-sidebar-mode .b27-header-actions .accountmenu>div{position:absolute!important;top:100%!important;right:0!important;left:auto!important;min-width:185px!important;background:#fff!important;color:#1b304e!important;box-shadow:0 8px 25px #0003!important;z-index:70!important;display:flex!important;flex-direction:column!important;border-radius:6px!important;padding:6px!important}
body.b27-sidebar-mode .b27-header-actions .accountmenu:not([open])>div{display:none!important}
body.b27-sidebar-mode .b27-header-actions .accountmenu>div a,body.b27-sidebar-mode .b27-header-actions .accountmenu>div .navlink{color:#1b304e!important;background:transparent!important;font-size:13px!important;text-align:left!important;padding:10px!important;display:block!important;text-decoration:none!important;width:100%!important}
body.b27-sidebar-mode .b27-sidebar{top:64px!important;background:#f8f9fb!important;color:#1b304e!important;border-right:1px solid #dce3eb!important;box-shadow:none!important;padding-top:12px!important}
body.b27-sidebar-mode .b27-sidebar nav>a,body.b27-sidebar-mode .b27-sidebar nav details>summary,body.b27-sidebar-mode .b27-sidebar nav .navlink{color:#193451!important;background:transparent!important;font-size:13px!important}
body.b27-sidebar-mode .b27-sidebar nav>a:hover,body.b27-sidebar-mode .b27-sidebar nav details>summary:hover,body.b27-sidebar-mode .b27-sidebar nav>a.active{background:#e5edf6!important;color:#193451!important}
body.b27-sidebar-mode .b27-sidebar nav details>div{background:#f1f4f8!important;box-shadow:none!important}
body.b27-sidebar-mode .b27-sidebar nav details>div>a{color:#193451!important}
body.b27-sidebar-mode .b27-sidebar nav details>div>a:hover,body.b27-sidebar-mode .b27-sidebar nav details>div>a.active-sub{background:#dfe9f5!important;color:#193451!important}
body.b27-sidebar-mode .b27-sidebar .notification-bell,body.b27-sidebar-mode .b27-sidebar .accountmenu{display:none!important}
body.b27-sidebar-mode .admin-section-layout.aligned-admin-layout{display:block!important}
body.b27-sidebar-mode .admin-section-layout.aligned-admin-layout>.admin-section-nav{display:none!important}
body.b27-sidebar-mode .admin-section-layout.aligned-admin-layout>.admin-section-content{width:100%!important;max-width:100%!important;min-width:0!important;flex:1!important}
@media(max-width:850px){body.b27-sidebar-mode{padding-left:0!important}body.b27-sidebar-mode>header{height:60px!important;min-height:60px!important;padding:0 10px!important;gap:5px!important}body.b27-sidebar-mode .b27-sidebar{top:60px!important}body.b27-sidebar-mode .mobile-menu-toggle{order:-1!important;min-width:36px!important;width:36px!important;font-size:21px!important}body.b27-sidebar-mode .b27-wordmark{font-size:16px!important}body.b27-sidebar-mode .b27-brand-divider{height:25px!important}body.b27-sidebar-mode>header .b27-app-brand{gap:7px!important}body.b27-sidebar-mode .b27-brand-copy .brand-title-row b{font-size:13px!important}body.b27-sidebar-mode .b27-brand-copy .app-version{font-size:9px!important}body.b27-sidebar-mode .b27-centre-name{font-size:10px!important}body.b27-sidebar-mode .b27-header-actions{gap:0!important}body.b27-sidebar-mode .b27-header-actions>.notification-bell{width:34px!important;height:38px!important}body.b27-sidebar-mode .b27-header-actions .accountmenu>summary{font-size:0!important;padding:5px!important;max-width:36px!important;overflow:hidden!important}body.b27-sidebar-mode .b27-header-actions .accountmenu>summary span{font-size:0!important}body.b27-sidebar-mode .b27-header-actions .accountmenu>summary::first-letter{font-size:19px!important}}
@media(max-width:420px){body.b27-sidebar-mode .b27-brand-divider{display:none!important}body.b27-sidebar-mode .b27-wordmark{font-size:14px!important}body.b27-sidebar-mode .b27-brand-copy .brand-title-row b{font-size:12px!important}body.b27-sidebar-mode .b27-brand-copy .app-version{font-size:9px!important}}

/* Build 27 reporting controls: compact filters and independent right-side period tabs */
.b27-report-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:12px 14px}
.b27-filter-fields{display:flex;align-items:flex-end;flex-wrap:wrap;gap:9px;min-width:0}
.b27-filter-fields label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}
.b27-filter-fields input,.b27-filter-fields select{height:35px;min-width:0;max-width:170px}
.b27-filter-fields input[type=date]{width:132px}.b27-filter-fields .btn{height:35px;display:inline-flex;align-items:center}
.b27-period-selector{border:0;padding:0;margin:0 0 1px auto;flex-shrink:0;min-width:0}
.b27-period-selector legend{font-size:12px;font-weight:700;margin-bottom:5px;color:#263b54}
.b27-period-buttons{display:flex;gap:0;border:1px solid #bdcbd9;border-radius:5px;overflow:hidden;background:#fff}
.b27-period-option{cursor:pointer!important;display:block!important;margin:0!important;font-size:12px!important;font-weight:600!important}
.b27-period-option input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.b27-period-option span{display:block;padding:9px 13px;border-right:1px solid #bdcbd9;color:#243e5c;white-space:nowrap}
.b27-period-option:last-child span{border-right:0}.b27-period-option.active span{background:#1b3655;color:#fff}
.b27-period-option:focus-within span{outline:2px solid #d52c30;outline-offset:-2px}
@media(max-width:1150px){.b27-report-controls{flex-wrap:wrap}.b27-period-selector{margin-left:auto}}
@media(max-width:650px){.b27-report-controls{align-items:stretch}.b27-filter-fields{gap:7px}.b27-filter-fields label{flex:1 1 120px}.b27-filter-fields input,.b27-filter-fields select,.b27-filter-fields input[type=date]{width:100%;max-width:none}.b27-period-selector{margin-left:0}.b27-period-buttons{width:max-content}}

/* Build 28: single server-rendered navigation, stable shared chrome */
body.b28-layout{padding-left:206px!important;background:#f3f5f8!important}
body.b28-layout>header{position:sticky!important;top:0!important;z-index:80!important;height:64px!important;min-height:64px!important;width:calc(100% + 206px)!important;margin-left:-206px!important;padding:0 20px!important;background:#193451!important;border-bottom:1px solid #344c65!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
body.b28-layout>header .b27-app-brand{display:flex!important;align-items:center!important;gap:14px!important}
body.b28-layout .b28-header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
body.b28-layout .b28-header-actions>.notification-bell{color:white;position:relative;font-size:19px;text-decoration:none;padding:8px}
body.b28-layout .b28-header-actions>.notification-bell span{position:absolute;top:0;right:0;font-size:10px;background:#d9232c;border-radius:10px;padding:1px 4px}
body.b28-layout .b28-header-actions .accountmenu{position:relative;color:#fff}
body.b28-layout .b28-header-actions .accountmenu>summary{color:#fff;cursor:pointer;list-style:none;font-size:13px;padding:10px}
body.b28-layout .b28-header-actions .accountmenu>div{position:absolute;right:0;top:100%;left:auto;display:grid;gap:3px;background:white;border:1px solid #dce3eb;box-shadow:0 8px 24px #0002;padding:8px;min-width:175px;z-index:110}
body.b28-layout .b28-header-actions .accountmenu:not([open])>div{display:none}
body.b28-layout .b28-header-actions .accountmenu>div a,body.b28-layout .b28-header-actions .accountmenu>div button{color:#193451!important;background:white!important;display:block;text-align:left;padding:9px;border:0;text-decoration:none}
body.b28-layout .b27-sidebar{display:block!important;position:fixed!important;top:64px!important;bottom:0!important;left:0!important;width:206px!important;transform:none!important;background:#f8f9fb!important;border-right:1px solid #dce3eb!important;overflow-y:auto!important;padding:12px 8px!important;z-index:50!important;box-shadow:none!important}
body.b28-layout .b27-sidebar nav{display:flex!important;flex-direction:column!important;position:static!important;gap:4px!important;padding:0!important;background:transparent!important;box-shadow:none!important;width:100%!important}
body.b28-layout .b27-sidebar nav>a,body.b28-layout .b27-sidebar nav>details>summary{display:flex!important;align-items:center!important;min-height:38px!important;border-radius:5px!important;color:#193451!important;background:transparent!important;font-size:13px!important;text-decoration:none!important;padding:9px 10px!important;border:0!important}
body.b28-layout .b27-sidebar nav>a.active,body.b28-layout .b27-sidebar nav>details.active-parent>summary{background:#e3ebf5!important;font-weight:700!important;border-left:3px solid #d9232c!important}
body.b28-layout .b27-sidebar .navmenu{position:relative!important;width:100%!important}
body.b28-layout .b27-sidebar .navmenu>summary{justify-content:space-between!important;cursor:pointer!important;list-style:none!important}
body.b28-layout .b27-sidebar .navmenu>summary::-webkit-details-marker{display:none}
body.b28-layout .b27-sidebar .navmenu .b28-parent-link{color:inherit!important;text-decoration:none!important;flex:1!important;min-height:25px!important;display:flex!important;align-items:center!important}
body.b28-layout .b27-sidebar .navmenu .b28-chevron{display:grid!important;place-items:center!important;width:30px!important;height:28px!important;cursor:pointer!important;border-radius:4px!important;border-left:1px solid #dce3eb!important}
body.b28-layout .b27-sidebar .navmenu>div{position:static!important;display:none!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:2px 0 4px 12px!important;min-width:0!important}
body.b28-layout .b27-sidebar .navmenu[open]>div{display:grid!important;gap:2px!important}
body.b28-layout .b27-sidebar .navmenu>div>a{display:block!important;padding:9px 8px!important;color:#193451!important;text-decoration:none!important;font-size:12px!important;border-radius:4px!important}
body.b28-layout .b27-sidebar .navmenu>div>a.active-sub{background:#dfe9f5!important;font-weight:700!important}
body.b28-layout .b27-sidebar .nav-search{width:100%!important}
body.b28-layout .b27-sidebar .nav-search input{width:100%!important}
body.b28-layout .b27-sidebar .notification-bell,body.b28-layout .b27-sidebar .accountmenu,body.b28-layout .b27-sidebar-toggle{display:none!important}
body.b28-layout main{margin-top:0!important;min-width:0!important;max-width:none!important;padding:22px 24px!important}
body.b28-layout .admin-section-layout.aligned-admin-layout{display:block!important}
body.b28-layout .admin-section-layout.aligned-admin-layout>.admin-section-nav{display:none!important}
body.b28-layout .admin-section-layout.aligned-admin-layout>.admin-section-content{width:100%!important;max-width:100%!important}
.b28-page-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0;color:#475569;font-size:13px}
.b28-page-controls select{padding:7px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;margin:0 5px}
.b28-pagination{display:flex!important;justify-content:flex-end;align-items:center;gap:5px;flex-wrap:wrap;margin-top:12px}
.b28-pagination a{display:inline-flex;padding:7px 11px;min-width:32px;justify-content:center;border:1px solid #cbd5e1;border-radius:4px;color:#193451;background:white;text-decoration:none;font-size:13px}
.b28-pagination a.active{background:#193451;color:white;border-color:#193451}
@media(max-width:850px){body.b28-layout{padding-left:0!important}body.b28-layout>header{width:100%!important;margin-left:0!important;height:60px!important;min-height:60px!important;padding:0 9px!important;gap:6px!important}body.b28-layout .b27-sidebar{top:60px!important;left:0!important;width:min(82vw,290px)!important;transform:translateX(-105%)!important;transition:transform .18s ease!important;box-shadow:4px 0 20px #142d4b22!important}body.b28-layout.b27-mobile-nav-open .b27-sidebar{transform:translateX(0)!important}body.b28-layout main{padding:12px!important}body.b28-layout .mobile-menu-toggle{display:block!important;order:-1!important}body.b28-layout .b28-header-actions{gap:2px!important}body.b28-layout .b28-header-actions .accountmenu>summary{font-size:0!important}body.b28-layout .b28-header-actions .accountmenu>summary::first-letter{font-size:19px!important}}

/* Build 28 mobile refinement: keep viewport fixed and scroll tables independently */
html,body{max-width:100%;overflow-x:clip}
body.b28-layout main{min-width:0;max-width:100%}
body.b28-layout .table-scroll,body.b28-layout .wide-list-table,body.b28-layout .records-card{max-width:100%;overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
body.b28-layout .table-scroll table,body.b28-layout .wide-list-table table{min-width:max-content}
#b28-connection-status{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);background:#173451;color:white;padding:10px 15px;border-radius:7px;z-index:200;box-shadow:0 4px 18px #0003;font-size:13px}
#b28-connection-status[hidden]{display:none}
.b28-mobile-filter-toggle,.b28-mobile-quick-actions,.b28-mobile-agenda{display:none}
@media(max-width:850px){
body.b28-layout>header .b27-app-brand{gap:0!important}
body.b28-layout>header .b27-wordmark{font-size:17px!important;line-height:1.1!important}
body.b28-layout>header .b27-brand-divider,body.b28-layout>header .b28-desktop-version,body.b28-layout>header .b28-desktop-centre{display:none!important}
body.b28-layout>header .b27-app-brand{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important}
body.b28-layout>header .b27-brand-copy{display:block!important}
body.b28-layout>header .b27-brand-copy .brand-title-row b{font-size:12px!important;line-height:1.1!important;font-weight:500!important}
body.b28-layout>header .b28-header-actions{flex-shrink:0}
body.b28-layout main{width:100%!important;overflow-x:clip!important;padding:12px!important}
body.b28-layout main>*{max-width:100%}
body.b28-layout .table-scroll,body.b28-layout .wide-list-table,body.b28-layout .records-card{width:100%;max-width:calc(100vw - 24px)!important;overflow-x:auto!important}
body.b28-layout .table-scroll table,body.b28-layout .wide-list-table table{width:max-content;min-width:100%}
body.b28-layout input,body.b28-layout select,body.b28-layout textarea{max-width:100%;font-size:16px}
body.b28-layout .btn,body.b28-layout button,body.b28-layout .b27-mobile-job{min-height:44px}
.b28-mobile-filter-toggle{display:flex;align-items:center;gap:10px;margin:8px 0 12px}
.b28-filter-hint{font-size:12px;color:#66768a}
body.b28-layout.b28-mobile-filters-closed .b27-jobs-desktop-table~.filters,body.b28-layout.b28-mobile-filters-closed .jobs-filters{display:none!important}
.b27-mobile-job{padding:15px!important;border-radius:12px!important;box-shadow:0 2px 6px #132b4420!important;margin-bottom:10px!important}
.b27-mobile-job-top{gap:10px!important}
.b28-mobile-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.b28-mobile-quick-actions .btn{flex:1 1 120px;text-align:center}
.b27-mobile-detail-actions .btn{min-height:48px;display:flex;align-items:center;justify-content:center}
.b28-mobile-agenda{display:block;background:#fff;border:1px solid #dce3eb;border-radius:12px;padding:14px;margin:12px 0}
.b28-agenda-switch{display:flex;gap:4px;margin-bottom:12px}
.b28-agenda-switch button{flex:1;border:1px solid #cbd5e1;background:#fff;border-radius:6px;color:#193451}
.b28-agenda-switch button.active{background:#193451;color:#fff}
.b28-agenda-day>div{display:grid;gap:8px;margin-top:10px}
.b28-agenda-day a{padding:11px;background:#f2f5f9;border-radius:6px;color:#193451;text-decoration:none}
.b28-agenda-week p{color:#64748b;font-size:13px}
}

@media(max-width:850px){.b28-collapsible-filter-form.b28-filter-hidden{display:none!important}}

/* Build 29 mobile compactness and shared calm status colours */
:root{--enz-new-bg:#EAF2FA;--enz-allocated-bg:#FAF2DA;--enz-progress-bg:#FAEDE2;--enz-completed-bg:#E6F3EA;--enz-cancelled-bg:#ECEEF1}
.status-new,.status-card-new{background-color:var(--enz-new-bg)!important;color:#426B91!important}
.status-allocated,.status-card-allocated{background-color:var(--enz-allocated-bg)!important;color:#856C2E!important}
.status-in-progress,.status-card-in-progress{background-color:var(--enz-progress-bg)!important;color:#956B4B!important}
.status-completed,.status-card-completed{background-color:var(--enz-completed-bg)!important;color:#397A53!important}
.status-cancelled,.status-card-cancelled{background-color:var(--enz-cancelled-bg)!important;color:#626B76!important}
@media(max-width:850px){html,body{max-width:100%;overflow-x:hidden}.table-scroll{display:block;max-width:100%;overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:max-content}.quick-filters,.quick-filter-row,.selection-actions,.toolbar-actions,.filter-buttons{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}.btn,button.btn{font-size:13px;padding:8px 9px;min-height:36px;max-width:100%}.reallocation-reason-wrap textarea{width:100%;max-width:100%}}

@media(max-width:850px){.app-version,.header-version,.brand-version{display:none!important}}

/* Build 29 header: single stacked brand, desktop search right, mobile search disclosure */
body.b28-layout>header .b27-app-brand{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:1px!important;flex-shrink:0!important}
body.b28-layout>header .b27-wordmark{line-height:1.08!important}
body.b28-layout>header .b27-brand-divider{display:none!important}
body.b28-layout>header .b27-brand-copy{display:block!important}
body.b28-layout>header .b27-brand-copy .brand-title-row{display:flex!important;align-items:baseline!important;gap:7px!important}
body.b28-layout>header .b27-brand-copy .brand-title-row b{font-size:13px!important;line-height:1.1!important}
body.b28-layout>header .b27-brand-copy .brand-title-row .app-version{font-size:10px!important;color:#dbe5f2!important}
body.b28-layout>header .b27-centre-name{font-size:10px!important;line-height:1.1!important}
body.b28-layout>header .b29-header-right{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-left:auto;min-width:0}
body.b28-layout>header .b28-header-actions{margin-left:0!important}
.b29-header-search{display:flex;align-items:center;gap:7px;background:#fff;border-radius:7px;padding:3px 7px 3px 10px;width:clamp(205px,25vw,380px);max-width:100%;height:36px;box-sizing:border-box}
.b29-header-search .b29-search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.b29-header-search .b29-search-symbol{color:#53667e;font-size:25px;line-height:1}
.b29-header-search input[type=search]{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#1c344d!important;min-width:0;width:100%;font-size:13px;padding:4px 0!important}
.b29-header-search input[type=search]:focus-visible{outline:2px solid #9dc5f5!important;outline-offset:2px!important}
.b29-header-search .b29-search-submit{background:#eaf0f7;color:#1b3b5c;border:0;border-radius:5px;padding:5px 9px;cursor:pointer;font-size:12px}
.b29-mobile-search-toggle,.b29-mobile-search-panel{display:none!important}
@media(max-width:850px){
 body.b28-layout>header .b29-header-right{gap:4px!important;margin-left:auto!important}
 body.b28-layout>header .b29-header-search{display:none!important}
 body.b28-layout>header .b29-mobile-search-toggle{display:flex!important;align-items:center;justify-content:center;background:transparent;border:0;color:#fff;min-width:38px;width:38px;height:44px;padding:6px;cursor:pointer}
 body.b28-layout>header .b27-centre-name,body.b28-layout>header .b28-desktop-version{display:none!important}
 body.b28-layout .b29-mobile-search-panel:not([hidden]){display:block!important}
 body.b28-layout .b29-mobile-search-panel{position:sticky;top:60px;z-index:79;background:#193451;padding:8px 10px 11px;box-sizing:border-box;width:100%;box-shadow:0 5px 10px #102b4826}
 .b29-mobile-search-panel form{display:flex;align-items:center;gap:6px;width:100%}
 .b29-mobile-search-panel input[type=search]{flex:1;min-width:0;width:100%;height:40px;border-radius:6px;border:1px solid #aab8c9;padding:7px 10px;background:#fff;color:#173451;font-size:16px}
 .b29-mobile-search-panel button{min-height:40px;border-radius:6px;border:0;padding:0 10px;background:#eaf0f7;color:#193451;font-size:13px}
 .b29-mobile-search-panel .b29-search-close{width:40px;padding:0}
}

/* Build 30 — consistent compact top-border status tiles and header */
body.b28-layout .dashboard-cards.monthly-status-cards,body.b28-layout .b27-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
body.b28-layout .dashboard-cards.monthly-status-cards .dash-card,body.b28-layout .b27-summary .b27-stat{background:#fff!important;border:1px solid #dce4ef!important;border-top:3px solid #344f7c!important;border-radius:6px!important;padding:7px 10px!important;min-height:55px!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;box-sizing:border-box;text-decoration:none}
body.b28-layout .dashboard-cards .dash-card b,body.b28-layout .b27-summary .b27-stat b{font-size:20px!important;line-height:1.05!important}
body.b28-layout .dashboard-cards .dash-card span,body.b28-layout .b27-summary .b27-stat span{font-size:11px!important;line-height:1.2!important}
body.b28-layout .status-card-new,body.b28-layout .b27-stat.new{border-top-color:#d49d43!important}
body.b28-layout .status-card-allocated,body.b28-layout .b27-stat.allocated{border-top-color:#5688ca!important}
body.b28-layout .status-card-in-progress,body.b28-layout .b27-stat.in-progress{border-top-color:#8973c2!important}
body.b28-layout .status-card-cancelled,body.b28-layout .b27-stat.cancelled{border-top-color:#cb6570!important}
body.b28-layout .status-card-completed,body.b28-layout .b27-stat.completed{border-top-color:#278b80!important}
body.b28-layout .b27-summary .b27-stat.active,body.b28-layout .dashboard-cards .dash-card.active{outline:2px solid #304b70;outline-offset:0}
body.b28-layout .b30-financial-row{display:flex;justify-content:flex-end;margin:5px 0 12px}
body.b28-layout .b30-financial-row .b27-stat{min-width:180px;max-width:280px;border-top-color:#344f7c!important}
body.b28-layout .b30-dc-filters{display:flex;flex-wrap:wrap;align-items:end;gap:8px}
body.b28-layout .b30-dc-filters label{font-size:12px;display:flex;flex-direction:column;gap:4px}
body.b28-layout .b30-dc-filters select,body.b28-layout .b30-dc-filters input{height:34px}
body.b28-layout .b30-tabs{display:flex;gap:6px;margin:10px 0}
body.b28-layout .b30-tabs a{padding:9px 13px;background:#eef2f6;border-radius:6px;color:#203554;text-decoration:none}
body.b28-layout .b30-tabs a.selected{background:#203554;color:#fff}
body.b28-layout .b30-page-size{margin:8px 0}
body.b28-layout>header .b29-brand-stack{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:0!important;line-height:1.1!important;overflow:visible!important}
body.b28-layout>header .b29-brand-stack .b29-enzed{font-size:23px!important;line-height:1.05!important}
body.b28-layout>header .b29-brand-stack .b29-service-desk{font-size:12px!important;line-height:1.2!important}
body.b28-layout>header .b29-brand-stack .b29-version{font-size:10px!important}
body.b28-layout>header .b29-brand-stack .b29-location{font-size:10px!important;line-height:1.15!important}
body.b28-layout .b28-header-actions .accountmenu>summary{background:#304b70!important;border:1px solid #547094!important;border-radius:6px!important;color:white!important;min-height:34px;box-sizing:border-box}
body.b28-layout .b28-header-actions .accountmenu>summary:hover{background:#3b5b83!important}
@media(max-width:850px){body.b28-layout .dashboard-cards.monthly-status-cards,body.b28-layout .b27-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.b28-layout>header .b29-brand-stack .b29-enzed{font-size:17px!important}body.b28-layout>header .b29-brand-stack .b29-version,body.b28-layout>header .b29-brand-stack .b29-location{display:none!important}body.b28-layout .b30-dc-filters label{flex:1 1 140px}body.b28-layout .b30-tabs a{font-size:12px}}

/* Build 30 navigation overview parity */
.admin-group-heading{font-size:14px;font-weight:700;color:#304b70;margin:18px 0 8px;line-height:1.35}
.admin-group-heading:first-of-type{margin-top:6px}
.admin-options-grid{margin-bottom:8px}
@media(max-width:700px){.admin-group-heading{margin-top:14px}}

/* Build 30 regression repair: branding fits within the fixed header on desktop/mobile. */
body.b28-layout>header{box-sizing:border-box!important;overflow:visible!important}
body.b28-layout>header .b27-app-brand{display:flex!important;align-items:center!important;min-width:140px!important;max-width:240px!important;text-decoration:none!important}
body.b28-layout>header .b30-brand-lines{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:1px!important;white-space:nowrap!important;line-height:1.05!important}
body.b28-layout>header .b30-wordmark{display:block!important;color:#fff!important;font-size:23px!important;line-height:1.05!important;letter-spacing:.02em!important;font-weight:800!important}
body.b28-layout>header .b30-brand-title{display:flex!important;align-items:baseline!important;gap:7px!important;color:#fff!important;line-height:1.1!important}
body.b28-layout>header .b30-brand-title b{font-size:12px!important;font-weight:650!important}
body.b28-layout>header .b30-version{font-size:10px!important;color:#dce5f2!important}
body.b28-layout>header .b30-centre{display:block!important;color:#ff767a!important;font-size:10px!important;line-height:1.1!important;font-weight:700!important;letter-spacing:.04em!important}
/* Preserve the old sidebar look, with Archive / Logs / Settings nested disclosure controls. */
body.b28-layout .b27-sidebar .b30-admin-submenu{display:block!important;width:100%!important;position:static!important}
body.b28-layout .b27-sidebar .b30-admin-submenu>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;cursor:pointer!important;list-style:none!important;padding:9px 8px!important;color:#193451!important;font-size:12px!important;border-radius:4px!important}
body.b28-layout .b27-sidebar .b30-admin-submenu>summary::-webkit-details-marker{display:none!important}
body.b28-layout .b27-sidebar .b30-admin-submenu>summary:hover{background:#e8edf4!important}
body.b28-layout .b27-sidebar .b30-admin-submenu[open]>summary span{transform:rotate(90deg)}
body.b28-layout .b27-sidebar .b30-admin-submenu>div{display:none!important;position:static!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:0 0 4px 12px!important;min-width:0!important}
body.b28-layout .b27-sidebar .b30-admin-submenu[open]>div{display:grid!important;gap:2px!important}
body.b28-layout .b27-sidebar .b30-admin-submenu>div>a{display:block!important;padding:8px!important;color:#193451!important;text-decoration:none!important;font-size:12px!important;border-radius:4px!important}
body.b28-layout .b27-sidebar .b30-admin-submenu>div>a:hover{background:#e8edf4!important}
/* All must remain legible even while selected; keep white top-border cards. */
body.b28-layout .monthly-status-cards .dash-card,body.b28-layout .monthly-status-cards .dash-card.active{background:#fff!important;color:#193451!important}
body.b28-layout .monthly-status-cards .dash-card span,body.b28-layout .monthly-status-cards .dash-card b{display:block!important;opacity:1!important;visibility:visible!important;color:#193451!important}
body.b28-layout .monthly-status-cards .status-card-all.active{background:#fff!important;color:#193451!important;outline:2px solid #304b70!important}
@media(max-width:850px){body.b28-layout>header .b30-wordmark{font-size:17px!important}body.b28-layout>header .b30-brand-title b{font-size:11px!important}body.b28-layout>header .b30-version,body.b28-layout>header .b30-centre{display:none!important}body.b28-layout>header .b27-app-brand{min-width:0!important}}

/* Build 30 focused regression fixes */
body.b28-layout .b30-report-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:4px 0 12px}
body.b28-layout .b30-report-nav a{font-size:13px;padding:8px 13px;background:#eef2f6;color:#203554;text-decoration:none;border:1px solid #d4deeb;border-radius:5px}
body.b28-layout .b30-report-nav a.selected{background:#203554;color:#fff}
body.b28-layout .b30-report-note{font-size:12px;margin:8px 0}
body.b28-layout .b30-admin-original{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px}
body.b28-layout .b30-admin-original .admin-option-card{min-height:74px}
body.b28-layout .quick-status-bar{min-width:0;max-width:100%;flex-wrap:wrap;overflow-x:visible}
body.b28-layout .jobs-action-row{flex-wrap:wrap;min-width:0}
body.b28-layout .dc-form h1{font-size:24px;line-height:1.2}
body.b28-layout .dc-form .dc-request-no{font-size:17px!important;line-height:1.25!important;color:#c82127!important;white-space:normal}
body.b28-layout .dc-form .edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
body.b28-layout .dc-form .edit-actions .btn{min-height:34px;padding:7px 12px;font-size:13px;width:auto}
body.b28-layout .edit-actions [data-save-draft],body.b28-layout .edit-actions .draft-btn{min-height:34px;padding:7px 12px;font-size:13px;width:auto}
@media(max-width:700px){
 body.b28-layout .quick-status-bar{display:flex!important;flex-wrap:wrap!important;overflow-x:visible!important;width:100%!important}
 body.b28-layout .quick-status-bar a{white-space:normal!important;font-size:12px;padding:7px 9px}
 body.b28-layout .b30-admin-original{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.b28-layout .dc-form .edit-actions .btn{width:auto!important;flex:0 1 auto}
}

/* Build 30 visual regression corrections: targeted overrides, not redesigns. */
body.b28-layout>header .b27-app-brand{align-self:center!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;flex-direction:column!important;padding:0!important;margin:0!important;min-width:155px!important}
body.b28-layout>header .b30-brand-lines{display:grid!important;grid-template-columns:max-content!important;grid-template-rows:auto auto auto!important;gap:2px!important;align-items:start!important;justify-items:start!important;margin:0!important;padding:0!important;line-height:1!important}
body.b28-layout>header .b30-wordmark{font-size:22px!important;line-height:23px!important;margin:0!important;padding:0!important;letter-spacing:.015em!important}
body.b28-layout>header .b30-brand-title{display:flex!important;align-items:baseline!important;justify-content:flex-start!important;gap:6px!important;margin:0!important;padding:0!important;line-height:14px!important}
body.b28-layout>header .b30-brand-title b{font-size:12px!important;line-height:14px!important;margin:0!important}
body.b28-layout>header .b30-version{font-size:9px!important;line-height:12px!important;margin:0!important}
body.b28-layout>header .b30-centre{font-size:9px!important;line-height:11px!important;margin:0!important;padding:0!important;letter-spacing:.03em!important}
body.b28-layout .dashboard-cards.monthly-status-cards .dash-card{border-top-color:#344f7c!important}
body.b28-layout .dashboard-cards.monthly-status-cards .status-card-new{border-top-color:#d49d43!important}
body.b28-layout .dashboard-cards.monthly-status-cards .status-card-allocated{border-top-color:#5688ca!important}
body.b28-layout .dashboard-cards.monthly-status-cards .status-card-in-progress{border-top-color:#8973c2!important}
body.b28-layout .dashboard-cards.monthly-status-cards .status-card-cancelled{border-top-color:#cb6570!important}
body.b28-layout .dashboard-cards.monthly-status-cards .status-card-completed{border-top-color:#278b80!important}
body.b28-layout .customer-add-panel .add-panel-heading{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important;min-height:54px!important;margin:0 0 12px!important}
body.b28-layout .customer-add-panel .add-panel-heading>div{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important}
body.b28-layout .customer-add-panel .add-panel-heading h2{font-size:21px!important;line-height:1.2!important;margin:0!important}
body.b28-layout .customer-add-panel .add-panel-heading p{font-size:13px!important;line-height:1.35!important;margin:0!important}
body.b28-layout .customer-add-panel .form-columns>label:not(.check){display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;white-space:nowrap!important;font-size:13px!important}
body.b28-layout .customer-add-panel .form-columns>label:not(.check) select{width:auto!important;max-width:calc(100% - 80px)!important;min-width:82px!important;flex:1 1 auto!important;margin:0!important}
body.b28-layout .customer-add-panel .form-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:8px!important;min-height:40px!important}
body.b28-layout .customer-add-panel .form-actions .btn,body.b28-layout .customer-add-panel [data-save-draft]{height:35px!important;min-height:35px!important;line-height:19px!important;padding:7px 12px!important;font-size:13px!important;min-width:0!important;width:auto!important;margin:0!important;white-space:nowrap!important}
body.b28-layout .dc-form .edit-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
body.b28-layout .dc-form .edit-actions .btn,body.b28-layout .dc-form .edit-actions [data-save-draft]{box-sizing:border-box!important;height:35px!important;min-height:35px!important;line-height:19px!important;padding:7px 12px!important;margin:0!important;width:auto!important;font-size:13px!important;vertical-align:middle!important;white-space:nowrap!important}
body.b28-layout .dc-form .dc-request-no{color:#193451!important;font-size:17px!important;line-height:1.2!important}
body.b28-layout .dc-form .dc-request-no .dc-request-number-value{color:#c82127!important}
body.b28-layout .b30-equal-tiles{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important}
body.b28-layout .b30-equal-tiles .admin-option-card{box-sizing:border-box!important;min-width:0!important;width:100%!important;min-height:86px!important;height:100%!important;padding:12px!important;display:flex!important;flex-direction:column!important;gap:5px!important}
body.b28-layout .b30-equal-tiles .admin-option-card b{font-size:14px!important;line-height:1.25!important}
body.b28-layout .b30-equal-tiles .admin-option-card span{font-size:12px!important;line-height:1.3!important}
body.b28-layout .b30-operational-summary{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important;align-items:stretch!important}
body.b28-layout .b30-operational-summary .b27-stat{min-width:0!important;min-height:57px!important;padding:7px 9px!important}
body.b28-layout .b30-operational-summary .b27-stat.payments{border-top-color:#344f7c!important}
body.b28-layout .b30-operational-summary .b27-stat.payments span{overflow-wrap:anywhere!important}
body.b28-layout .b30-report-table-scroll{overflow-x:auto!important;width:100%!important}
body.b28-layout .b30-report-records{table-layout:fixed!important;min-width:1450px!important;width:max-content!important}
body.b28-layout .b30-report-records th:nth-child(4),body.b28-layout .b30-report-records td:nth-child(4){width:250px;min-width:140px}
body.b28-layout .b30-report-records th:nth-child(5),body.b28-layout .b30-report-records td:nth-child(5){width:360px;min-width:170px}
body.b28-layout .b30-report-records th{position:relative!important;white-space:nowrap!important}
body.b28-layout .b30-report-records .enzed-column-resizer{display:block!important;visibility:visible!important;opacity:1!important;cursor:col-resize!important}
@media(max-width:1250px){
 body.b28-layout .b30-equal-tiles{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:850px){
 body.b28-layout .b30-operational-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.b28-layout .b30-equal-tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.b28-layout>header .b30-wordmark{font-size:17px!important;line-height:19px!important}
 body.b28-layout>header .b30-version,body.b28-layout>header .b30-centre{display:none!important}
 body.b28-layout .customer-add-panel .form-columns>label:not(.check){white-space:normal!important}
}

body.b28-layout .customer-add-panel .draft-save-button,body.b28-layout .dc-form .edit-actions .draft-save-button{height:35px!important;min-height:35px!important;line-height:19px!important;padding:7px 12px!important;margin:0!important;width:auto!important;font-size:13px!important;align-self:center!important}
body.b28-layout .dc-form .edit-actions .draft-save-status,body.b28-layout .customer-add-panel .form-actions .draft-save-status{align-self:center!important;font-size:11px!important}

/* Build 30 QA: unify job status colours across cards and detail badges. */
body.b28-layout{
 --enz-new-bg:#EAF2FA;--enz-new-border:#91B5D6;--enz-new-ink:#426B91;
 --enz-allocated-bg:#FAF2DA;--enz-allocated-border:#D9BF78;--enz-allocated-ink:#856C2E;
 --enz-progress-bg:#FAEDE2;--enz-progress-border:#DBAF8C;--enz-progress-ink:#956B4B;
 --enz-completed-bg:#E6F3EA;--enz-completed-border:#93BFA1;--enz-completed-ink:#397A53;
 --enz-cancelled-bg:#ECEEF1;--enz-cancelled-border:#B5BBC3;--enz-cancelled-ink:#626B76;
}
body.b28-layout .dashboard-cards.monthly-status-cards .status-card-new,
body.b28-layout .b27-summary .b27-stat.new{border-top-color:var(--enz-new-border)!important}
body.b28-layout .dashboard-cards.monthly-status-cards .status-card-allocated,
body.b28-layout .b27-summary .b27-stat.allocated{border-top-color:var(--enz-allocated-border)!important}
body.b28-layout .dashboard-cards.monthly-status-cards .status-card-in-progress,
body.b28-layout .b27-summary .b27-stat.in-progress{border-top-color:var(--enz-progress-border)!important}
body.b28-layout .dashboard-cards.monthly-status-cards .status-card-completed,
body.b28-layout .b27-summary .b27-stat.completed{border-top-color:var(--enz-completed-border)!important}
body.b28-layout .dashboard-cards.monthly-status-cards .status-card-cancelled,
body.b28-layout .b27-summary .b27-stat.cancelled{border-top-color:var(--enz-cancelled-border)!important}
body.b28-layout .status-badge.job-status-new,
body.b28-layout .status-new:not(.status-card-new){background:var(--enz-new-bg)!important;border:1px solid var(--enz-new-border)!important;color:var(--enz-new-ink)!important}
body.b28-layout .status-badge.job-status-allocated,
body.b28-layout .status-allocated:not(.status-card-allocated){background:var(--enz-allocated-bg)!important;border:1px solid var(--enz-allocated-border)!important;color:var(--enz-allocated-ink)!important}
body.b28-layout .status-badge.job-status-in-progress,
body.b28-layout .status-in-progress:not(.status-card-in-progress){background:var(--enz-progress-bg)!important;border:1px solid var(--enz-progress-border)!important;color:var(--enz-progress-ink)!important}
body.b28-layout .status-badge.job-status-completed,
body.b28-layout .status-completed:not(.status-card-completed){background:var(--enz-completed-bg)!important;border:1px solid var(--enz-completed-border)!important;color:var(--enz-completed-ink)!important}
body.b28-layout .status-badge.job-status-cancelled,
body.b28-layout .status-cancelled:not(.status-card-cancelled){background:var(--enz-cancelled-bg)!important;border:1px solid var(--enz-cancelled-border)!important;color:var(--enz-cancelled-ink)!important}
/* One restrained active indicator for all nested sidebar links, including DC and Settings. */
body.b28-layout .b27-sidebar .navmenu>div>a.active-sub,
body.b28-layout .b27-sidebar .navmenu>div .b30-admin-submenu>div>a.active-sub,
body.b28-layout .b27-sidebar .navmenu>div .b30-admin-submenu>div>a.active-sub:hover{
 background:#e3ebf5!important;color:#193451!important;
 border-left:3px solid #d9232c!important;font-weight:700!important;
 padding-left:5px!important;border-radius:5px!important;
}
body.b28-layout .b27-sidebar .navmenu>div>a:not(.active-sub),
body.b28-layout .b27-sidebar .navmenu>div .b30-admin-submenu>div>a:not(.active-sub){border-left:3px solid transparent!important;padding-left:5px!important}
body.b28-layout .b27-sidebar .navmenu>div>a.active-sub:hover{background:#dbe6f3!important}
/* Keep dynamically inserted Save as Draft inside the DC form's action region. */
body.b28-layout .paper.dc-form{box-sizing:border-box!important;overflow:visible!important;padding-bottom:22px!important}
body.b28-layout .paper.dc-form form{display:flow-root!important;min-width:0!important}
body.b28-layout .paper.dc-form .edit-actions{
 box-sizing:border-box!important;display:flex!important;flex-flow:row wrap!important;
 align-items:center!important;justify-content:flex-start!important;
 gap:8px!important;width:100%!important;min-height:50px!important;
 margin:14px 0 0!important;padding:9px 0 3px!important;
 position:static!important;clear:both!important;overflow:visible!important;
}
body.b28-layout .paper.dc-form .edit-actions>button,
body.b28-layout .paper.dc-form .edit-actions>a,
body.b28-layout .paper.dc-form .edit-actions>.draft-save-button{
 box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;
 justify-content:center!important;flex:0 0 auto!important;
 height:35px!important;min-height:35px!important;max-height:35px!important;
 line-height:1.1!important;padding:0 12px!important;margin:0!important;
 position:static!important;transform:none!important;white-space:nowrap!important;
 font-size:13px!important;width:auto!important;
}
body.b28-layout .paper.dc-form .edit-actions>.draft-save-status{
 display:inline-flex!important;align-items:center!important;flex:0 1 auto!important;margin:0!important
}
@media(max-width:700px){body.b28-layout .paper.dc-form .edit-actions{gap:7px!important}
body.b28-layout .paper.dc-form .edit-actions>button,
body.b28-layout .paper.dc-form .edit-actions>a{width:auto!important;max-width:100%!important}}

/* Build 30: one shared, accessible mobile filter toggle across pages with existing GET filters. */
.enz-mobile-filter-toggle{display:none;align-items:center;gap:9px;margin:10px 0;max-width:100%}
.enz-mobile-filter-toggle[hidden]{display:none!important}
.enz-mobile-filter-panel{min-width:0;max-width:100%}
@media(max-width:768px){
 body.b28-layout .enz-mobile-filter-toggle{display:flex!important}
 body.b28-layout .enz-mobile-filter-button{min-height:36px!important;height:36px!important;font-size:13px!important;padding:7px 12px!important}
 body.b28-layout .enz-mobile-filter-hidden{display:none!important}
 body.b28-layout .enz-mobile-filter-panel:not(.enz-mobile-filter-hidden){max-width:100%!important}
 body.b28-layout .enz-mobile-filter-panel:not(details){flex-wrap:wrap!important}
 body.b28-layout .enz-mobile-filter-panel input,
 body.b28-layout .enz-mobile-filter-panel select{max-width:100%!important;min-width:0!important}
 body.b28-layout .enz-mobile-filter-panel .filter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))!important}
 body.b28-layout .b27-mobile-job{min-width:0!important;width:100%!important;box-sizing:border-box!important;overflow:hidden!important}
 body.b28-layout .b27-mobile-job-top{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:8px!important;min-width:0!important}
 body.b28-layout .b27-mobile-job-top strong{min-width:0!important;flex:1 1 auto!important}
 body.b28-layout .b27-mobile-status{flex:0 0 auto!important;max-width:55%!important;white-space:normal!important;overflow-wrap:break-word!important;text-align:center!important;position:static!important}
 body.b28-layout .b27-mobile-job small{overflow-wrap:anywhere!important;white-space:normal!important}
}
@media(min-width:769px){
 body.b28-layout .enz-mobile-filter-toggle{display:none!important}
 body.b28-layout .enz-mobile-filter-panel.enz-mobile-filter-hidden{display:flex!important}
}

/* Build 30 shared table system: one separator, desktop drag handles, mobile table-only scroll */
body.b28-layout .table-scroll,body.b28-layout .enzed-table-viewport{
 box-sizing:border-box!important;min-width:0!important;max-width:100%!important;
 width:100%!important;overflow-x:auto!important;overscroll-behavior-x:contain;
 -webkit-overflow-scrolling:touch;
}
body.b28-layout .enzed-resizable-table{border-collapse:collapse!important;border-spacing:0!important;table-layout:fixed!important;min-width:max-content}
body.b28-layout .enzed-resizable-table thead th{
 position:relative!important;box-sizing:border-box!important;
 border-left:0!important;border-right:1px solid #cbd5e1!important;
 box-shadow:none!important;background-image:none!important;
 background-clip:padding-box!important;padding-right:13px!important;
}
body.b28-layout .enzed-resizable-table thead th:first-child{border-left:0!important}
body.b28-layout .enzed-resizable-table thead th::before,
body.b28-layout .enzed-resizable-table thead th::after{content:none!important;display:none!important}
body.b28-layout .enzed-resizable-table .enzed-column-resizer{
 position:absolute!important;right:-5px!important;top:0!important;bottom:0!important;
 width:10px!important;border:0!important;background:transparent!important;
 cursor:col-resize!important;z-index:12!important;touch-action:none!important
}
body.b28-layout .enzed-resizable-table .enzed-column-resizer:hover,
body.b28-layout .enzed-resizable-table .enzed-column-resizer:focus-visible{
 background:rgba(40,96,160,.16)!important;outline:1px solid #7d9cc1!important
}
body.b28-layout .enzed-resizable-table tbody td{white-space:nowrap}
body.b28-layout .customer-table-toolbar,
body.b28-layout .customer-table-actions,
body.b28-layout .customer-table-right,
body.b28-layout .customer-table-pager,
body.b28-layout .selection-actions,
body.b28-layout .table-pagination-bar,
body.b28-layout .b28-page-controls{box-sizing:border-box;min-width:0;max-width:100%}
body.b28-layout .b27-mobile-job .b27-mobile-status.new,
body.b28-layout .b27-mobile-job .b27-mobile-status.allocated,
body.b28-layout .b27-mobile-job .b27-mobile-status.in-progress,
body.b28-layout .b27-mobile-job .b27-mobile-status.completed,
body.b28-layout .b27-mobile-job .b27-mobile-status.cancelled{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 border-radius:999px!important;padding:3px 8px!important;font-size:11px!important;
 line-height:1.3!important;max-width:48%!important;flex:0 0 auto!important;
 white-space:normal!important;overflow-wrap:normal!important
}
body.b28-layout .b27-mobile-job .b27-mobile-status.new{background:#EAF2FA!important;color:#426B91!important;border:1px solid #91B5D6!important}
body.b28-layout .b27-mobile-job .b27-mobile-status.allocated{background:#FAF2DA!important;color:#856C2E!important;border:1px solid #D9BF78!important}
body.b28-layout .b27-mobile-job .b27-mobile-status.in-progress{background:#FAEDE2!important;color:#956B4B!important;border:1px solid #DBAF8C!important}
body.b28-layout .b27-mobile-job .b27-mobile-status.completed{background:#E6F3EA!important;color:#397A53!important;border:1px solid #93BFA1!important}
body.b28-layout .b27-mobile-job .b27-mobile-status.cancelled{background:#ECEEF1!important;color:#626B76!important;border:1px solid #B5BBC3!important}
@media(max-width:768px){
 html,body,body.b28-layout main{max-width:100%!important;overflow-x:clip!important}
 body.b28-layout .table-scroll,body.b28-layout .enzed-table-viewport{overflow-x:auto!important;touch-action:pan-x pan-y}
 body.b28-layout .enzed-column-resizer{display:none!important;pointer-events:none!important}
 body.b28-layout .customer-table-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;white-space:normal!important;gap:8px!important;overflow:visible!important}
 body.b28-layout .customer-table-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important;width:100%!important}
 body.b28-layout .customer-table-right{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;width:100%!important;margin:0!important}
 body.b28-layout .customer-table-pager{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:4px!important;width:100%!important}
 body.b28-layout .customer-table-pager .btn{padding:5px 7px!important;min-height:32px!important;white-space:nowrap!important}
 body.b28-layout .customer-table-summary{flex-wrap:wrap!important;gap:5px!important}
 body.b28-layout .pagination,body.b28-layout .table-pagination-bar>div,
 body.b28-layout .b28-pagination{flex-wrap:nowrap!important;justify-content:center!important;gap:5px!important}
 body.b28-layout .table-pagination-bar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important}
 body.b28-layout .table-pagination-bar>div{width:100%!important;min-width:0!important}
 body.b28-layout .b28-page-controls{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important}
 body.b28-layout .b28-pagination{overflow-x:auto!important;max-width:100%!important}
 body.b28-layout .pagination .btn,body.b28-layout .table-pagination-bar .btn{padding:5px 7px!important;font-size:12px!important;min-height:32px!important}
 body.b28-layout .selection-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
}

/* Build 30 report-width correction: fit all ten columns on a normal desktop. */
@media(min-width:1100px){
 body.b28-layout .b30-report-table-scroll{width:100%!important;max-width:100%!important;overflow-x:auto!important}
 body.b28-layout .b30-report-records{width:100%!important;min-width:0!important;max-width:none!important;table-layout:fixed!important}
 body.b28-layout .b30-report-records[data-resize-started="1"]{width:var(--report-resized-width,auto)!important}
 body.b28-layout .b30-report-records th:nth-child(4),body.b28-layout .b30-report-records td:nth-child(4),
 body.b28-layout .b30-report-records th:nth-child(5),body.b28-layout .b30-report-records td:nth-child(5){width:auto!important;min-width:0!important}
 body.b28-layout .b30-report-records th,body.b28-layout .b30-report-records td{box-sizing:border-box!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
}
@media(max-width:1099px){body.b28-layout .b30-report-records{min-width:1100px!important;width:1100px!important}}

/* Archive/Logs: active nested menu and consistent resizable headers */
.b27-sidebar .b30-admin-submenu a.active-sub,
.b27-sidebar .b30-admin-submenu a[aria-current="page"]{
 background:#e6edf5!important;color:#173f70!important;border-left:3px solid #c5222d!important;
 font-weight:700!important;
}
body.b28-layout .table-wrap{max-width:100%!important;min-width:0!important;overflow-x:auto!important}
body.b28-layout .table-scroll table.enzed-resizable-table,
body.b28-layout .table-wrap table.enzed-resizable-table,
body.b28-layout .enzed-table-viewport table.enzed-resizable-table{
 min-width:100%!important;table-layout:fixed!important;
}
body.b28-layout .enzed-resizable-table thead th{overflow:visible!important}

/* Build 30 SMS-specific layout fixes: scoped to avoid affecting other pages */
body.b28-layout .sms-log-panel{display:block!important;min-width:0!important;width:100%!important;max-width:100%!important;padding:14px!important;margin-top:14px!important;background:#fff!important;border:1px solid #d9e0e7!important;border-radius:5px!important;box-sizing:border-box!important;box-shadow:0 1px 3px rgba(20,36,58,.06)!important}
body.b28-layout .sms-log-filters{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;margin:0 0 14px!important;padding:0!important;max-width:100%!important;min-height:38px!important}
body.b28-layout .sms-log-filters input[name=q]{width:clamp(210px,32%,400px)!important;flex:1 1 210px!important;min-width:0!important;height:36px!important;padding:7px 10px!important}
body.b28-layout .sms-log-filters select{flex:0 1 165px!important;min-width:130px!important;height:36px!important;padding:5px 9px!important}
body.b28-layout .sms-log-filters .btn,body.b28-layout .sms-log-filters button{width:auto!important;min-width:70px!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:6px 13px!important;line-height:22px!important;white-space:nowrap!important;margin:0!important;box-sizing:border-box!important}
body.b28-layout .sms-log-table{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;margin:0!important}
body.b28-layout .sms-log-table table{width:100%!important;max-width:none!important;min-width:980px!important;margin:0!important}
body.b28-layout .sms-log-table th,body.b28-layout .sms-log-table td{vertical-align:middle!important}
body.b28-layout .sms-log-table .sms-log-content{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:0!important}
body.b28-layout .sms-status-card{min-width:0!important;overflow:hidden!important}
body.b28-layout .sms-status-card .sms-balance-summary{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;margin:14px 0 18px!important;min-width:0!important}
body.b28-layout .sms-status-card .sms-balance-summary .sms-balance-number{display:block!important;position:static!important;float:none!important;margin:0!important;padding:0!important;height:auto!important;min-height:0!important;line-height:1.15!important;font-size:34px!important;font-weight:750!important}
body.b28-layout .sms-status-card .sms-balance-summary>.muted{display:block!important;position:static!important;margin:0!important;padding:0!important;line-height:1.45!important;font-size:13px!important}
body.b28-layout .sms-status-card dl{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)!important;gap:10px 12px!important;margin:0 0 16px!important;min-width:0!important}
body.b28-layout .sms-status-card dt,body.b28-layout .sms-status-card dd{min-width:0!important;line-height:1.4!important;overflow-wrap:anywhere!important}
@media(max-width:600px){body.b28-layout .sms-log-filters input[name=q]{flex-basis:100%!important;width:100%!important}body.b28-layout .sms-log-filters select{flex:1 1 120px!important}body.b28-layout .sms-log-panel{padding:10px!important}body.b28-layout .sms-status-card dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}}

/* Build 30: SMS settings proportionate controls; one balanced desktop low-credit row. */
body.b28-layout #smsSettings .sms-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important}
body.b28-layout #smsSettings .sms-form-grid>label{min-width:0!important;width:100%!important;box-sizing:border-box!important;gap:6px!important}
body.b28-layout #smsSettings .sms-form-grid input:not([type=checkbox]),
body.b28-layout #smsSettings .sms-form-grid select{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;padding:7px 10px!important;font-size:14px!important;border:1px solid #bcc7d3!important;border-radius:4px!important;background:#fff!important}
body.b28-layout #smsSettings .sms-balance-config{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:30px!important;min-width:0!important;margin:12px 0 18px!important}
body.b28-layout #smsSettings .sms-balance-config .sms-master-toggle{display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;gap:12px!important;margin:0!important;white-space:nowrap!important}
body.b28-layout #smsSettings #smsLowThresholdLabel{display:inline-flex!important;flex:0 1 auto!important;flex-direction:row!important;align-items:center!important;gap:12px!important;min-width:0!important;margin:0!important;white-space:nowrap!important;font-weight:500!important}
body.b28-layout #smsSettings #smsLowThresholdLabel .input-unit{display:grid!important;grid-template-columns:minmax(100px,140px) 66px!important;align-items:stretch!important;width:206px!important;height:38px!important;min-width:0!important;flex:0 0 206px!important;overflow:hidden!important}
body.b28-layout #smsSettings #smsLowThreshold{box-sizing:border-box!important;width:100%!important;min-width:0!important;height:36px!important;min-height:36px!important;padding:6px 10px!important;font-size:14px!important;line-height:24px!important}
body.b28-layout #smsSettings #smsLowThresholdLabel .input-unit>span{display:flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;padding:0 5px!important;font-size:12px!important}
@media(max-width:900px){body.b28-layout #smsSettings .sms-balance-config{gap:14px!important;flex-wrap:wrap!important}body.b28-layout #smsSettings #smsLowThresholdLabel{flex-wrap:wrap!important}}
@media(max-width:650px){body.b28-layout #smsSettings .sms-form-grid{grid-template-columns:minmax(0,1fr)!important}body.b28-layout #smsSettings .sms-balance-config{flex-direction:column!important;align-items:flex-start!important}body.b28-layout #smsSettings #smsLowThresholdLabel{white-space:normal!important}}

/* Archive/log shared table resize: compact select column, single visible handles */
body.b28-layout .enzed-resizable-table.enzed-select-first th:first-child,
body.b28-layout .enzed-resizable-table.enzed-select-first td:first-child:not([colspan]){
 width:40px!important;min-width:40px!important;max-width:40px!important;
 padding-left:7px!important;padding-right:7px!important;text-align:center!important;
}
body.b28-layout .enzed-resizable-table.enzed-select-first th:first-child input[type=checkbox],
body.b28-layout .enzed-resizable-table.enzed-select-first td:first-child input[type=checkbox]{margin:0!important}
@media(min-width:769px){
 body.b28-layout .enzed-resizable-table .enzed-column-resizer{
  display:block!important;visibility:visible!important;opacity:1!important;
  position:absolute!important;right:-5px!important;top:0!important;bottom:0!important;
  width:10px!important;cursor:col-resize!important;touch-action:none!important;z-index:20!important
 }
}

/* Build 30: SMS Log mobile has a readable, horizontally scrollable table.
   Do not shrink all nine columns to the mobile viewport. */
@media(max-width:768px){
 body.b28-layout .sms-log-panel{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
 body.b28-layout .sms-log-table{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain}
 body.b28-layout .sms-log-table table,
 body.b28-layout .sms-log-table table.enzed-resizable-table{display:table!important;width:1320px!important;min-width:1320px!important;max-width:none!important;table-layout:fixed!important}
 body.b28-layout .sms-log-table colgroup col:nth-child(1){width:155px!important}
 body.b28-layout .sms-log-table colgroup col:nth-child(2){width:140px!important}
 body.b28-layout .sms-log-table colgroup col:nth-child(3){width:130px!important}
 body.b28-layout .sms-log-table colgroup col:nth-child(4){width:135px!important}
 body.b28-layout .sms-log-table colgroup col:nth-child(5){width:145px!important}
 body.b28-layout .sms-log-table colgroup col:nth-child(6){width:95px!important}
 body.b28-layout .sms-log-table colgroup col:nth-child(7){width:105px!important}
 body.b28-layout .sms-log-table colgroup col:nth-child(8){width:65px!important}
 body.b28-layout .sms-log-table colgroup col:nth-child(9){width:350px!important}
 body.b28-layout .sms-log-table th,body.b28-layout .sms-log-table td{box-sizing:border-box!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:none!important;min-width:0!important;padding:8px 9px!important;font-size:12px!important}
 body.b28-layout .sms-log-table th{padding-right:12px!important}
 body.b28-layout .sms-log-table td.sms-log-content{max-width:350px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 body.b28-layout .sms-log-filters{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
 body.b28-layout .sms-log-filters input[name=q]{flex:0 0 100%!important;width:100%!important;max-width:100%!important}
 body.b28-layout .sms-log-filters select{flex:1 1 120px!important;min-width:0!important;width:auto!important}
 body.b28-layout .sms-log-filters button,body.b28-layout .sms-log-filters .btn{flex:0 0 auto!important;min-width:60px!important;padding:6px 10px!important}
}

/* Build 30: three-panel reminder configuration, compact history (scoped) */
.reminder-page .reminder-config-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;margin:0 0 12px}
.reminder-page .reminder-config-group{display:flex;flex-direction:column;gap:12px;min-width:0;background:#f3f5f7;border:1px solid #d9e0e7;border-radius:7px;padding:14px 15px}
.reminder-page .reminder-config-group h3{font-size:14px;line-height:1.35;color:#213954;margin:0 0 2px;font-weight:700;border-bottom:1px solid #d9e0e7;padding-bottom:9px}
.reminder-page .reminder-config-group .reminder-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:29px;margin:0!important;white-space:normal}
.reminder-page .reminder-config-group .reminder-toggle .sms-switch{flex-shrink:0}
.reminder-page .reminder-config-group .reminder-field{display:flex;flex-direction:column;gap:5px;margin:0!important;min-width:0;font-size:13px;font-weight:600}
.reminder-page .reminder-config-group .reminder-input-row{display:flex;align-items:center;gap:8px;min-width:0}
.reminder-page .reminder-config-group input[type=number]{box-sizing:border-box;width:100px;max-width:100%;height:35px;margin:0;padding:5px 8px;font-weight:400}
.reminder-page .reminder-config-group .reminder-unit{font-weight:400;font-size:12px}
.reminder-page .reminder-history-panel{padding:12px 15px!important}
.reminder-page .reminder-history-panel .reminder-section-head{margin:0 0 8px!important;min-height:34px}
.reminder-page .reminder-history-panel .reminder-section-head h2{margin:0!important}
.reminder-page .reminder-history-panel .reminder-history-filters{margin:0 0 8px!important;gap:5px}
.reminder-page .reminder-history-panel .reminder-history-filters .btn{padding:6px 10px!important;min-height:32px!important}
.reminder-page .reminder-history-panel .table-scroll{margin:0!important;padding:0!important}
.reminder-page .reminder-history-panel .reminder-history-table th,.reminder-page .reminder-history-panel .reminder-history-table td{padding:6px 8px!important}
.reminder-page .reminder-retention{padding:12px 15px!important}
@media(max-width:1000px){.reminder-page .reminder-config-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.reminder-page .reminder-config-panels{grid-template-columns:minmax(0,1fr)}.reminder-page .reminder-config-group{padding:12px}.reminder-page .reminder-history-panel{padding:10px!important}}

/* Reminder scheduler and compact desktop numeric rows */
.reminder-page .reminder-inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.reminder-page .reminder-inline-fields .reminder-field{min-width:0}
.reminder-page .reminder-inline-fields input[type=number]{width:85px}
.reminder-scheduler-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.reminder-scheduler-grid label,.reminder-closure-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}
.reminder-scheduler-grid input,.reminder-closure-form input{max-width:100%;min-height:36px;box-sizing:border-box}
.reminder-scheduler-frequency strong{font-weight:500;margin-top:9px}
.reminder-days{display:flex;flex-wrap:wrap;gap:15px;margin:12px 0}
.reminder-closure-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:10px;margin:12px 0}
.reminder-closure-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #e5e7eb;padding:9px 0}
.cal-holiday,.cal-closure{font-size:11px;line-height:1.3;padding:3px 5px;border-radius:4px;margin:3px 0;overflow-wrap:anywhere}
.cal-holiday{background:#eee5fa;color:#58318b}.cal-closure{background:#e5e7eb;color:#374151}
@media(max-width:750px){.reminder-scheduler-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reminder-closure-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.reminder-page .reminder-inline-fields{grid-template-columns:1fr}.reminder-scheduler-grid,.reminder-closure-form{grid-template-columns:1fr}}

.reminder-scheduler-grid>label{min-width:0}.reminder-scheduler-grid input{width:100%;min-width:0}.reminder-scheduler-options{display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0}.reminder-scheduler-options label{display:inline-flex;align-items:center;gap:7px;font-weight:500}.reminder-sync-status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;background:#f4f5f7;border:1px solid #e0e3e8;border-radius:7px;margin:14px 0}.reminder-sync-status p{margin:4px 0 0}@media(max-width:950px){.reminder-scheduler-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.reminder-scheduler-grid{grid-template-columns:1fr}.reminder-sync-status{align-items:flex-start;flex-direction:column}}

/* Reminder scheduler: separate start date, workday hours and single-line frequency. */
.reminder-scheduler-date-row{display:flex;margin:14px 0 12px}
.reminder-scheduler-date-row label,.reminder-scheduler-workday-row label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;min-width:0}
.reminder-scheduler-date-row label{width:min(100%,340px)}
.reminder-scheduler-date-row input,.reminder-scheduler-workday-row input{width:100%;min-width:0;box-sizing:border-box;min-height:36px}
.reminder-scheduler-workday-row{display:grid;grid-template-columns:repeat(2,minmax(0,340px));gap:14px;margin-bottom:14px}
.reminder-frequency-field{margin:12px 0 16px}
.reminder-frequency-title{font-weight:600;font-size:13px;margin-bottom:9px}
.reminder-frequency-line{display:flex;align-items:center;gap:18px;white-space:nowrap;overflow-x:auto;padding:4px 0 8px}
.reminder-frequency-line label{display:inline-flex;align-items:center;gap:5px;font-weight:500;flex:0 0 auto;cursor:pointer}
.reminder-frequency-line input[type=number]{width:78px;min-width:78px;min-height:34px;box-sizing:border-box}
.reminder-frequency-line>span{margin-left:-12px}
@media(max-width:560px){.reminder-scheduler-workday-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
