:root{font:16px system-ui,sans-serif;color:#14233b;background:#f3f6fb}*{box-sizing:border-box}body{margin:0}main{max-width:1700px;margin:auto;padding:28px}header,.toolbar,.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}header{margin-bottom:24px}.brand{color:#2465b3;font-weight:700;letter-spacing:.12em;font-size:14px}h1{font-size:32px;margin:5px 0}h2{font-size:19px}h3{font-size:16px}h4{font-size:14px;margin:10px 0}button,input,select,textarea{font:inherit}button{border:1px solid #1d518c;background:#2465b3;color:white;border-radius:6px;padding:9px 13px;cursor:pointer;touch-action:manipulation}button.secondary{background:white;color:#24476d;border-color:#c2d0e2}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #44a2e4;outline-offset:2px}label{display:grid;gap:6px;font-size:14px}input,select,textarea{padding:10px;border:1px solid #b8c8db;border-radius:6px;background:white;color:#14233b;max-width:100%;width:100%}form{display:grid;gap:14px}.toolbar{justify-content:start;margin:16px 0}.toolbar label{min-width:160px}#account{display:flex;gap:12px;align-items:center}#sync{font-size:14px;color:#53647c}#lanes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:start}.lane{background:#e6edf6;border-radius:12px;padding:16px;display:grid;gap:12px}.lane-heading{display:flex;justify-content:space-between;align-items:center}.lane-heading h2{margin:0}.card{background:white;border:1px solid #d5dfec;border-radius:9px;padding:13px;display:grid;gap:10px}.card-open{background:transparent;border:0;color:inherit;text-align:left;padding:0;overflow-wrap:anywhere;width:100%}.card-open h3{margin:7px 0}.card p{font-size:14px;margin:4px 0;white-space:pre-wrap;color:#455670}.card .person{color:#2465b3;font-size:14px}.card .audit{font-size:12px;color:#617086}.card.overdue{border:2px solid #c63732;background:#fff0ee}.card .due{font-weight:600}.card.overdue .due{color:#a72020}.empty{color:#63728a;font-size:14px}.callback-heading{border-top:1px solid #bdcbe0;padding-top:14px;display:flex;gap:8px;align-items:center;justify-content:space-between}#overdue-alert,#error,#edit-error{padding:16px;background:#ffe9e5;color:#972b24;border-radius:8px;margin:12px 0}#notice{padding:12px;background:#e2f3eb;border-radius:8px}#login{max-width:440px;margin:50px auto;background:white;padding:28px;border-radius:12px}#login p{font-size:14px}dialog{border:1px solid #c0ccdc;border-radius:12px;padding:24px;max-width:550px;width:calc(100% - 32px);max-height:90vh;overflow:auto;color:#14233b}dialog::backdrop{background:#10243a80}#callback-hours{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#history{font-size:14px;color:#53647c}#user-list>div{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:12px 0}#users-dialog p{font-size:14px}details{font-size:14px}summary{cursor:pointer;margin:12px 0}#invite-output{margin-top:20px;overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:1150px){#lanes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){main{padding:16px}#lanes{grid-template-columns:1fr}h1{font-size:26px}.toolbar{align-items:start}.toolbar label{width:100%}}

#staff-totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:20px 0 24px}.staff-total{background:#fff;border:1px solid #d5dfec;border-top:4px solid #2465b3;border-radius:10px;padding:16px}.staff-total h2{margin:0 0 12px;font-size:17px}.staff-counts{display:flex;gap:22px;flex-wrap:wrap}.staff-counts>div{display:grid;gap:3px}.staff-counts strong{font-size:28px;line-height:1.1;color:#143f73}.staff-counts span{font-size:14px;color:#52647c}.staff-total.staff-urgent{border-top-color:#c63732;background:#fff0ee}.staff-urgent-note{color:#a72020;font-size:14px;font-weight:600;margin:10px 0 0}.callback-age{font-size:14px}.card.overdue .due{font-size:15px}.lane-heading h2{overflow-wrap:anywhere}#callback-hours{font-size:14px;color:#53647c}@media(max-width:1150px){#staff-totals{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){#staff-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}

.job-stage{font-weight:700;color:#215b9c!important}#source-details{overflow-wrap:anywhere}#source-details p{white-space:pre-wrap;font-size:14px}#source-details a{color:#215b9c}.imported-comment{border-left:3px solid #c2d0e2;padding-left:12px}

.brand{text-decoration:none;display:inline-block}.brand:hover{text-decoration:underline;color:#143f73}.nav-link,.primary-link{display:inline-block;padding:9px 13px;border:1px solid #c2d0e2;border-radius:6px;color:#24476d;background:white;text-decoration:none}.nav-link:hover{background:#e6edf6}.primary-link{background:#2465b3;color:white}#lanes{grid-template-columns:repeat(4,minmax(0,1fr))}#archive-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}#home-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:30px 0}.home-stat{display:grid;gap:10px;background:white;border:1px solid #d5dfec;border-radius:12px;padding:24px;text-decoration:none;color:#14233b}.home-stat strong{font-size:38px;color:#2465b3}.home-stat:hover{border-color:#2465b3}.intro{color:#53647c;font-size:18px}@media(max-width:1150px){#lanes,#archive-list{grid-template-columns:repeat(2,minmax(0,1fr))}#home-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){#lanes,#archive-list{grid-template-columns:1fr}#home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

button.parts-button{background:#218346;border-color:#176434;color:white}.card .job-stage.awaiting-parts{color:#19723b!important}.card .parts-summary{color:#19723b}#parts-wrap{display:grid;gap:14px}

#lanes{grid-template-columns:repeat(5,minmax(0,1fr))}#mail-status{font-size:13px;color:#53647c;max-width:280px}#home-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1150px){#lanes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#lanes,#home-stats{grid-template-columns:1fr}}

button.staff-count-link{display:grid;gap:3px;text-align:left;background:transparent;color:inherit;border:0;padding:4px;border-radius:5px}button.staff-count-link:hover{background:#e8f0fa}button.staff-count-link span{text-decoration:underline;text-underline-offset:3px}#staff-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;margin-top:16px}#staff-list-view{scroll-margin-top:20px}@media(max-width:1150px){#staff-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#staff-list{grid-template-columns:1fr}}

main{position:relative;z-index:1}.brand{display:inline-flex;align-items:center;line-height:0}.brand-logo{width:230px;height:auto;display:block;mix-blend-mode:multiply}header h1{margin-top:14px}#login-watermark{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0;overflow:hidden}#login-watermark img{width:94vw;height:85vh;object-fit:contain;opacity:.07;mix-blend-mode:multiply}#login{position:relative;background:rgba(255,255,255,.96);box-shadow:0 14px 50px #14233b12;border:1px solid #dce4ef}@media(max-width:650px){.brand-logo{width:180px}#login-watermark img{width:125vw;max-width:none}}

.brand{mix-blend-mode:multiply}

.brand{background:#f3f6fb;isolation:isolate}

.brand{display:inline;color:#2465b3;font-weight:700;letter-spacing:.12em;font-size:14px;line-height:normal;background:transparent;mix-blend-mode:normal;isolation:auto;text-decoration:none}.brand:hover{text-decoration:underline}.header-right{display:flex;align-items:center;gap:28px;flex-wrap:wrap;justify-content:flex-end}#board-logo{width:230px;background:#f3f6fb;isolation:isolate}#board-logo img{display:block;width:100%;height:auto;mix-blend-mode:multiply}@media(max-width:650px){.header-right{gap:14px}#board-logo{width:180px}}

.card.attention-yellow{border:2px solid #d5af19;background:#fffbea}.card.attention-orange{border:2px solid #df851e;background:#fff3e5}.card.attention-red{border:2px solid #c63732;background:#fff0ee}.attention-yellow .attention-note{color:#816400}.attention-orange .attention-note{color:#995200}.attention-red .attention-note{color:#a72020}.card .attention-note{font-weight:700}.staff-yellow{border-top-color:#d5af19;background:#fffbea}.staff-orange{border-top-color:#df851e;background:#fff3e5}.staff-red{border-top-color:#c63732;background:#fff0ee}.staff-level-yellow{color:#816400;font-size:13px;font-weight:600}.staff-level-orange{color:#995200;font-size:13px;font-weight:600}.staff-level-red{color:#a72020;font-size:13px;font-weight:700}

body.callback-escalation{background:#ffd7d3}body.callback-escalation #board-logo{background:#ffd7d3}body.callback-escalation #overdue-alert{border:2px solid #b92a25;background:#fff0ee}

/* Compact staff summary keeps outstanding jobs near the top. */
#staff-totals{gap:10px;margin:10px 0 14px}.staff-total{padding:10px 12px;border-radius:8px;border-top-width:3px}.staff-total h2{font-size:15px;margin:0 0 6px}.staff-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.staff-counts strong{font-size:21px}.staff-counts span{font-size:12px;line-height:1.2}button.staff-count-link{padding:3px 0;gap:2px}.staff-total p[class^="staff-level-"]{margin:4px 0 0;font-size:12px;line-height:1.25}#overdue-alert{padding:8px 12px;margin:6px 0;font-size:13px;line-height:1.3}header{margin-bottom:14px}.toolbar{margin:10px 0}

#callback-outcome-wrap{display:grid;gap:12px}#callback-outcome-help{font-size:13px;color:#53647c}#callback-archive-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}@media(max-width:1150px){#callback-archive-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#callback-archive-list{grid-template-columns:1fr}}

/* Header navigation leaves the board space for jobs. */
header{align-items:center;margin-bottom:10px}.account-tools{display:grid;gap:8px;justify-items:end}#header-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}#header-tools #overdue-alert{margin:0;padding:5px 9px;font-size:12px;max-width:340px}#workshop-menu{position:relative;font-size:14px}#workshop-menu>summary{list-style:none;margin:0;border:1px solid #c2d0e2;border-radius:6px;padding:8px 12px;background:white;color:#24476d;font-weight:600}#workshop-menu>summary::-webkit-details-marker{display:none}#workshop-menu>summary::after{content:' ▾'}#workshop-menu[open]>summary{background:#e6edf6}#workshop-menu>summary:focus-visible{outline:3px solid #44a2e4;outline-offset:2px}.workshop-menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:10;width:300px;max-width:calc(100vw - 32px);padding:14px;display:grid;gap:9px;background:white;border:1px solid #c2d0e2;border-radius:10px;box-shadow:0 12px 35px #14233b24}.workshop-menu-panel .nav-link,.workshop-menu-panel button{width:100%;text-align:left}.workshop-menu-panel label{margin-bottom:5px}.workshop-menu-panel #mail-status,.workshop-menu-panel #sync{font-size:12px;max-width:none}.header-right{gap:20px}#staff-totals{margin-top:8px}@media(max-width:650px){.header-right{width:100%;justify-content:space-between;gap:10px}#board-logo{width:130px}#account{font-size:13px;gap:8px}#header-tools #overdue-alert{max-width:230px}}

#lanes{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.lane{padding:12px}.lane-heading h2{font-size:17px}.lane>button{font-size:14px;padding:8px 10px}@media(max-width:1250px){#lanes{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){#lanes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#lanes{grid-template-columns:1fr}}

#vehicle-action-wrap{display:grid;gap:8px}#vehicle-action-help{font-size:13px;color:#53647c}

.vehicle-email-guide{margin:0;font-size:11px;line-height:1.4;color:#617086;overflow-wrap:anywhere}.vehicle-email-guide a{color:#2465b3;text-decoration:none}.vehicle-email-guide a:hover{text-decoration:underline}.vehicle-email-guide span{display:block;margin-top:3px}

.quote-create{background:#1763bc;color:white;width:100%;margin:8px 0}.quote-buttons{display:flex;gap:8px;flex-wrap:wrap}#quote-dialog{width:min(600px,90vw);max-height:88vh;overflow:auto}#quote-form label{display:block;margin:12px 0}#quote-form input,#quote-form textarea,#quote-form select{display:block;width:100%;box-sizing:border-box;margin-top:5px}#quote-feedback{color:#164e82}

.confirmed-quote{border:2px solid #148254;background:#eefaf3}.confirmed-quote h3{color:#09633e}

.quote-buttons{align-items:end}#quote-form .confirmed-job-field{width:200px;margin:0}#quote-form .confirmed-job-field[hidden]{display:none}
