:root{--bg:#f5f7f8;--panel:#fff;--dark:#121923;--muted:#89939f;--text:#24313e;--line:#e8edf1;--accent:#d8f16c;--blue:#576e88;--radius:17px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font:14px/1.55 Manrope,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text)}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1{font-size:clamp(28px,3vw,43px);line-height:1.15;letter-spacing:-1.65px;margin:8px 0 9px;font-weight:800}h2{font-size:17px;letter-spacing:-.45px;margin:0}.accent{color:#96b635}.layout{display:flex;min-height:100vh}.sidebar{width:256px;flex:none;background:#121923;color:#bdc8d2;min-height:100vh;padding:28px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;margin:0 12px 52px;color:white}.brand-icon{font-size:28px;font-weight:800;letter-spacing:-3px;background:#28323c;width:49px;height:49px;display:grid;place-items:center;border-radius:13px}.brand-icon span{color:var(--accent)}.brand strong{font-size:18px;letter-spacing:2.6px;display:block;line-height:1.2}.brand small{font-size:9px;letter-spacing:3px;color:#96a2b1;display:block;margin-top:4px}.nav-label{font-size:9px;letter-spacing:1.75px;padding:0 14px;margin-bottom:10px;color:#65707e;font-weight:700}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;gap:14px;align-items:center;padding:11px 15px;color:#aeb9c5;border-radius:10px;font-size:14px;font-weight:600;transition:background .15s}.nav-link:hover{background:#222c37;color:white}.nav-link.selected{background:#293644;color:#fff}.nav-link.selected::after{content:'';margin-left:auto;width:5px;height:5px;background:var(--accent);border-radius:50%}.nav-bottom{display:flex;align-items:center;gap:10px;margin-top:auto;padding:16px 7px 0;border-top:1px solid #313b45}.avatar{width:36px;height:36px;border-radius:11px;background:#33434f;display:grid;place-items:center;color:var(--accent);font-weight:800}.profile{min-width:0;flex:1}.profile b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:white;font-size:12px}.profile small{color:#91a0ac;font-size:10px}.icon-button{background:transparent;color:#9daab5;border:0;font-size:24px}.main{flex:1;min-width:0}.topbar{height:74px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3.3vw,55px)}.crumb{font-size:10px;letter-spacing:1.4px;font-weight:800;color:#758292}.crumb span{margin:0 10px;color:#c4cbd2}.topbar-right{display:flex;align-items:center;gap:9px;color:#798696;font-size:11px}.today{margin-right:18px;color:#435466;font-weight:700}.status-dot{width:7px;height:7px;border-radius:50%;background:#75b78b}.content{max-width:1500px;margin:auto;padding:35px clamp(20px,3.3vw,55px) 70px}.page-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:28px}.page-heading p{color:#89939f;margin:0;font-size:13px}.eyebrow{color:#90a0af;letter-spacing:2px;font-size:10px;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:10px;padding:12px 18px;font-weight:800;white-space:nowrap;transition:transform .12s,background .12s;font-size:12px}.btn:hover{transform:translateY(-1px)}.btn.primary{background:#19232d;color:white}.btn.primary:hover{background:#303f4b}.btn.secondary{background:#f0f4f5;color:#354559}.btn.secondary:hover{background:#e8edef}.btn.small{padding:8px 12px;font-size:11px}.btn.wide{width:100%}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat-card{background:white;padding:23px;border:1px solid var(--line);border-radius:var(--radius);min-height:145px;box-shadow:0 6px 24px #23303e06;transition:transform .12s}.stat-card:hover{transform:translateY(-3px)}.stat-label{display:flex;justify-content:space-between;color:#71808f;font-weight:700;font-size:12px}.stat-label span{font-size:20px;font-weight:400;color:#a3adb5}.stat-value{font-size:40px;line-height:1.2;color:#19232d;font-weight:800;letter-spacing:-2px;margin:12px 0 5px}.stat-foot{font-size:11px;color:#9ca6af}.double-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;align-items:start}.double-col.form-col{grid-template-columns:1.25fr .8fr}.panel{background:var(--panel);border-radius:var(--radius);border:1px solid var(--line);padding:23px;margin-bottom:20px;box-shadow:0 6px 24px #23303e05;min-width:0}.double-col>.panel{margin:0}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-title .eyebrow{display:block;margin-bottom:4px}.text-link{font-size:11px;font-weight:800;color:#617b92;white-space:nowrap}.text-link:hover{text-decoration:underline}.stack{display:grid}.list-row{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--line);min-width:0}.list-row:last-child{border-bottom:0}.list-row:hover .list-body strong{color:#47617a}.list-icon{width:42px;height:42px;border-radius:11px;background:#f1f4f5;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:none;font-weight:800;color:#55697c}.list-icon small{font-size:10px;font-weight:600}.list-icon.warning{background:#fff0db;color:#bf7e25}.list-body{flex:1;min-width:0}.list-body strong{display:block;font-size:12px;font-weight:800;overflow-wrap:anywhere}.list-body small{display:block;font-size:10px;color:#93a0aa;margin-top:2px;overflow-wrap:anywhere}.list-meta{display:flex;flex-direction:column;text-align:right;gap:2px;white-space:nowrap;font-size:11px;font-weight:800;color:#4b6278}.list-meta small{font-size:10px;font-weight:500;color:#9aa7b0}.empty{padding:24px 8px;color:#a1aab4;font-size:12px;text-align:center}.activity-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.activity-row:last-child{border:0}.activity-row small{margin-left:auto;color:#9eabb5}.pulse{width:7px;height:7px;background:#b5cfd8;border-radius:50%;flex:none}.form-grid{display:grid;gap:15px}.form-grid label,.login-form label{display:grid;gap:6px;color:#647385;font-size:11px;font-weight:800}.form-grid input,.form-grid textarea,.form-grid select,.search-line input,.filter-line input,.filter-line select,.service-row input,.login-form input{width:100%;border:1px solid #e4eaf0;border-radius:9px;background:#fbfcfd;padding:11px 12px;min-height:42px;outline:none;color:#24313e;font-size:12px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.search-line input:focus,.login-form input:focus{border-color:#a1bbd2;background:white;box-shadow:0 0 0 3px #c6daeb35}.fields-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.search-line,.filter-line{display:flex;gap:10px;align-items:center;margin-bottom:17px}.filter-line select{max-width:235px}.search-line input,.filter-line input{flex:1}.narrow-panel{max-width:730px}.hint{font-size:11px;color:#90a0ad;line-height:1.7;margin:4px 0 8px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px;text-align:left}td,th{padding:15px 12px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:12px}th{font-size:10px;color:#9ba8b3;letter-spacing:.7px;font-weight:800}tr:last-child td{border:0}.chip{display:inline-block;background:#eef3f5;border-radius:7px;color:#546b79;padding:6px 9px;white-space:nowrap;font-size:10px;font-weight:800}.chip.big{font-size:12px;padding:12px 16px}.service-row{display:grid;grid-template-columns:1fr 105px auto auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.service-row strong{font-size:12px}.service-row small{display:block;font-size:10px;color:#9ba6b0}.check-inline{white-space:nowrap;font-size:11px;color:#82919b}.check-inline input{width:auto;min-height:0;margin:0 5px 0 0;accent-color:#536a7a}.info-strip{display:flex;gap:18px;flex-wrap:wrap;color:#8997a2;font-size:11px}.description{padding-top:10px;white-space:pre-wrap;color:#4d6070;font-size:12px}.price-total{font-size:42px;font-weight:800;letter-spacing:-1.5px;color:#1e2c38}.price-total span{font-size:24px;color:#8da0af}.price-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:12px}.part-row{padding:16px 0;border-bottom:1px solid var(--line)}.part-row:last-child{border:0}.part-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.part-top strong{font-size:12px}.part-row .filter-line{margin:10px 0 0}.small-grey{font-size:11px;color:#8c9aa6;margin:4px 0}.task-row{display:flex;align-items:start;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.task-row:last-child{border:0}.task-check{width:34px;height:34px;background:#ecf2f3;border:0;border-radius:8px;font-size:22px;color:#7c96a4}.task-done .list-body strong{text-decoration:line-through;color:#a8b1b9}.calendar-panel{padding:22px}.calendar-heading{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:25px}.calendar-heading h2{min-width:190px;text-align:center}.month-btn{font-size:25px;width:38px;height:38px;display:grid;place-items:center;background:#f2f5f6;border-radius:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday{text-align:center;color:#9eabb6;font-size:11px;font-weight:800;padding:12px}.calendar-day{border:1px solid #edf0f2;border-radius:10px;min-height:122px;padding:10px;min-width:0}.calendar-day.outside{background:#fafbfc;color:#bcc7d0}.calendar-day.is-today{border-color:#b5c87e}.day-number{font-size:12px;font-weight:800;margin-bottom:6px}.calendar-event{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;margin:4px 0;padding:5px;background:#e9eff3;color:#40566a}.calendar-event strong{color:#263b4b}.calendar-hint{margin-left:5px}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-info{background:#121923;color:white;padding:50px clamp(30px,7vw,120px);display:flex;flex-direction:column;justify-content:space-between}.login-info .brand{margin:0}.login-head h1{font-size:clamp(54px,6vw,90px);line-height:1.05;letter-spacing:-5px;color:white;margin:24px 0}.login-head em{font-style:normal;color:var(--accent)}.login-head p{max-width:410px;color:#a4b1be;font-size:15px}.login-bottom{color:#778593;font-size:11px}.login-pane{display:grid;place-items:center;padding:35px}.login-form{max-width:370px;width:100%;display:grid;gap:19px}.login-form .mini-line{width:35px;height:5px;background:#b8d261;border-radius:99px}.login-form h2{font-size:27px;font-weight:800;letter-spacing:-.8px;margin:8px 0 -18px}.login-form p{color:#9ca8b2;margin:0 0 13px;font-size:12px}.login-form input{height:49px}.login-form small{color:#a4afb9;font-size:10px}.error-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:25px}.error-page h1{font-size:30px}.error-page p{color:#7b8b99}.error-code{font-size:95px;font-weight:800;color:#ccd8dd;line-height:1}
@media(max-width:1120px){.sidebar{width:215px}.stat-grid{grid-template-columns:repeat(2,1fr)}.content{padding:25px}.double-col.form-col{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:1fr 80px;gap:9px}.service-row button{justify-self:start}}@media(max-width:840px){.sidebar{position:relative;min-height:0;height:auto;width:auto;padding:16px;display:block}.layout{display:block}.sidebar .brand{margin:0 0 17px}.sidebar .nav-label,.sidebar .nav-bottom{display:none}.sidebar nav{display:flex;gap:4px;overflow-x:auto;padding-bottom:5px}.nav-link{flex:none;padding:9px 12px;font-size:12px}.nav-link.selected::after{display:none}.topbar{height:49px;padding:0 17px}.content{padding:24px 16px}.double-col,.double-col.form-col{grid-template-columns:1fr}.page-heading{align-items:flex-start}.topbar-right{font-size:10px}.calendar-day{min-height:90px;padding:5px}.calendar-event{font-size:9px}.weekday{font-size:10px}.login-shell{grid-template-columns:1fr}.login-info{min-height:300px;padding:35px}.login-head h1{font-size:52px;letter-spacing:-3px}.login-bottom{display:none}.login-pane{padding:60px 20px}}@media(max-width:520px){.page-heading{flex-wrap:wrap}.page-heading .btn{width:100%}.stat-grid{gap:8px}.stat-card{padding:15px;min-height:118px}.stat-value{font-size:32px}.panel{padding:17px}.stat-label{font-size:11px}.fields-2{grid-template-columns:1fr}.today{margin:0}.topbar-right{font-size:0}.topbar-right .today{font-size:10px}.calendar-panel{padding:10px}.calendar-day{min-height:66px;border-radius:5px;padding:3px}.calendar-event{font-size:8px;padding:3px}.calendar-event strong{display:block}.day-number{margin:0}.weekday{padding:8px 0}.service-row{grid-template-columns:1fr 90px}.filter-line,.search-line{flex-wrap:wrap}.filter-line select{max-width:none}.activity-row small{font-size:9px}.login-info{min-height:250px}.login-head h1{font-size:46px}}

.global-search{display:flex;align-items:center;background:#f3f6f8;border:1px solid #e6edf1;border-radius:9px;padding:1px 5px;margin-right:22px}.global-search input{width:175px;border:0;outline:none;background:transparent;padding:8px 6px;font-size:11px}.global-search button{border:0;background:transparent;font-size:23px;color:#7f95a4}.danger-link{color:#b86963;background:none;border:0;margin-bottom:12px}.service-row input{min-width:0;margin:2px 0}.service-row>div{min-width:0}@media(max-width:520px){.global-search{margin-right:7px}.global-search input{width:100px}.topbar{gap:4px}.topbar-right{gap:2px}}

.mobile-logout{display:none}.mobile-logout button{font-size:12px;background:transparent;border:1px solid #dce4e8;border-radius:8px;padding:6px 10px;color:#536879;font-weight:700}.calendar-filter{justify-content:flex-end;margin:-7px 0 14px}.calendar-filter select{flex:0 1 220px}.search-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.search-results-grid .panel{min-height:145px}.search-item{display:block;padding:11px 0;border-bottom:1px solid #e9eef0;font-weight:700}.search-item:last-child{border-bottom:0}.search-item small{display:block;color:#8996a5;font-weight:400}.search-item:hover{color:#456881}
@media(max-width:840px){.mobile-logout{display:inline-flex;margin-left:10px}.search-results-grid{grid-template-columns:1fr}.nav-bottom{display:none}}@media(max-width:520px){.calendar-filter{justify-content:stretch}.calendar-filter select{flex:1;min-width:0}}
.settings-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important;background:#f7f9fa;padding:13px;border-radius:9px;font-size:12px!important;color:#445869!important}.settings-toggle input{width:17px!important;height:17px;min-height:0!important;accent-color:#273b47}.settings-stats{grid-template-columns:1fr 1fr}
/* CRM UX revision: glanceable bookings, fewer clicks, responsive navigation. */
:root{--focus:#537f96;--shade:#f8fafb;--line:#e6ebef}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-90px;left:12px;background:#fff;padding:14px;z-index:1000;border-radius:9px}
.skip-link:focus{top:12px}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.sidebar .brand{display:flex}
.sidebar .nav-group-label{margin-top:21px}
.nav-more{margin:5px 0}.nav-more summary{list-style:none;cursor:pointer}.nav-more summary::-webkit-details-marker{display:none}.nav-more[open] summary{color:var(--accent)}.nav-more .subnav-link{font-size:12px;margin-left:24px;padding:10px 9px}
.mobile-tools,.mobile-dock{display:none}
.topbar-right .system-caption{font-size:11px;color:#617383}
.page-heading p{font-size:13px;line-height:1.5}.panel-title{gap:12px;flex-wrap:wrap}
.subtle-counter{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;min-width:27px;padding:2px 7px;border-radius:20px;color:#5a7181;background:#eaf0f3;font-size:12px}
.view-switch{display:flex;background:#f2f5f7;padding:4px;border-radius:11px;gap:3px;max-width:max-content}.view-option{padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;min-height:40px;font-weight:750;font-size:12px;border-radius:8px;color:#607281;white-space:nowrap}.view-option.active{background:#fff;box-shadow:0 2px 7px #26384612;color:#172c39}.view-option:hover{background:#fff}
.calendar-workspace{padding:22px}.schedule-toolbar,.schedule-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.schedule-toolbar{margin-bottom:21px}.schedule-controls{padding-bottom:21px}.staff-filter select{min-width:190px;max-width:260px;min-height:43px;padding:8px 12px;background:#f7f9fa;border:1px solid #e6ecf0;border-radius:9px;color:#405366}.schedule-date-control{display:flex;align-items:center;gap:15px}.schedule-date-control h2{font-size:20px;margin:0;letter-spacing:-.5px}.schedule-date-control small{color:#8a9ba7;font-size:11px}.schedule-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.schedule-days.single-day{grid-template-columns:minmax(240px,460px)}.schedule-day{background:#f8fafb;border:1px solid #e8eef1;border-radius:13px;min-width:0;overflow:hidden;display:flex;flex-direction:column}.schedule-day.today-column{background:#f5f8ec;border-color:#c2d78a}.schedule-day-head{padding:13px 10px;background:#f1f5f7;display:flex;flex-direction:column;gap:3px;align-items:center;text-align:center}.today-column .schedule-day-head{background:#eaf1cf}.schedule-day-head>a{display:flex;gap:6px;align-items:baseline}.schedule-day-head span{font-size:12px;color:#788b99}.schedule-day-head strong{font-size:16px;color:#263a48}.schedule-day-head small{font-size:10px;color:#8697a3}.schedule-day-body{padding:8px;display:flex;flex:1;flex-direction:column;gap:9px;min-height:260px}.booking-card{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #e4e9ed;border-left:4px solid #8aa3b7;border-radius:9px;padding:10px 8px;color:#243443;min-width:0;transition:box-shadow .15s}.booking-card:hover,.board-ticket:hover{box-shadow:0 5px 18px #22364816;transform:translateY(-1px)}.booking-time{font-size:13px;font-weight:800;white-space:nowrap}.booking-time span{font-weight:500;font-size:10px;color:#81929b;display:block}.booking-vehicle{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.booking-client{font-size:10px;color:#788c9b;overflow-wrap:anywhere}.booking-bottom{font-size:10px;color:#75899a;margin-top:3px}.booking-bottom .status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#859aaa;margin-right:5px}.schedule-empty{margin:auto 0;text-align:center;color:#9caab3;font-size:11px;padding:15px 3px}.schedule-add{display:block;text-align:center;border:1px dashed #bdccd4;padding:8px 4px;font-size:11px;font-weight:750;color:#536e80;border-radius:8px;margin-top:auto}.schedule-add:hover{background:white}.calendar-month-grid .day-link{display:flex;align-items:center;justify-content:space-between;min-height:26px;border-radius:6px;padding:1px 4px}.calendar-month-grid .day-link:hover{background:#f1f5f6}.day-counter:not(:empty){background:#d6e7f2;color:#2c607b;font-size:10px;font-weight:800;padding:1px 5px;border-radius:6px}.calendar-more{font-size:10px;font-weight:750;color:#536f83}
.booking-card.status-new,.status-chip.status-new{border-left-color:#7795ce}.booking-card.status-approval,.status-chip.status-approval{border-left-color:#e2a14a}.booking-card.status-booked,.status-chip.status-booked{border-left-color:#588dbb}.booking-card.status-accepted,.status-chip.status-accepted{border-left-color:#619ca8}.booking-card.status-working,.status-chip.status-working{border-left-color:#4aa987}.booking-card.status-waiting,.status-chip.status-waiting{border-left-color:#d89853}.booking-card.status-completed,.status-chip.status-completed{border-left-color:#72ad70}.booking-card.status-delivered,.status-chip.status-delivered{border-left-color:#8dabb0}.booking-card.status-cancelled,.status-chip.status-cancelled{border-left-color:#b7b7bd}.status-chip{border-left-width:3px;border-left-style:solid;font-size:10px!important}.calendar-event.status-working{background:#e2f2eb}.calendar-event.status-waiting{background:#fff0df}.calendar-event.status-completed{background:#e4f1de}
.today-agenda{margin:22px 0}.today-jobs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.today-job{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid #e4eaf0;border-left:4px solid #9eafbe;border-radius:12px}.today-job-time{font-size:15px;font-weight:850;white-space:nowrap}.today-job>div:nth-child(2){min-width:0;flex:1}.today-job strong,.today-job small{display:block;overflow-wrap:anywhere}.today-job strong{font-size:13px}.today-job small{font-size:11px;color:#8c9ca8}.today-job .chip{flex:none}.empty-state{text-align:center;padding:24px 10px;background:#f8fafb;border-radius:12px}.empty-state p{color:#8b9aa6;font-size:12px;margin:6px 0}
.activity-disclosure{margin-top:20px}.activity-disclosure summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-weight:800}.activity-disclosure summary span{font-size:12px;color:#91a0aa;font-weight:500}.activity-disclosure .stack{margin-top:10px}
.job-view-header{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-bottom:17px}.job-view-header h2{margin:0;font-size:17px}.small-switch .view-option{min-height:34px;padding:6px 12px}.job-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.board-column{background:#f5f7f9;padding:11px;border-radius:13px;min-height:170px;min-width:0}.board-column h3{font-size:12px;color:#4c6170;margin:3px 0 12px;font-weight:800;display:flex;align-items:center;justify-content:space-between}.board-column h3>span{border-radius:18px;background:#e4ebef;color:#5d7382;padding:2px 7px}.board-stack{display:grid;align-content:start;gap:9px}.board-ticket{display:flex;flex-direction:column;gap:6px;padding:12px;background:#fff;border:1px solid #e6ebef;border-radius:11px;min-width:0;transition:box-shadow .15s,transform .15s}.ticket-top,.ticket-footer{display:flex;align-items:center;justify-content:space-between;gap:7px}.ticket-top{font-size:11px;color:#7e92a0}.board-ticket>strong{font-size:13px;overflow-wrap:anywhere;line-height:1.3}.board-ticket p{font-size:11px;color:#8293a0;margin:0}.ticket-footer{margin-top:5px;font-size:10px;color:#82909d;border-top:1px solid #edf1f3;padding-top:10px}.ticket-footer span{font-weight:750;color:#3e5060;white-space:nowrap}.mobile-job-list{display:none}.job-workspace>.filter-line{margin-bottom:20px}
.quick-booking{max-width:660px}.form-step{display:flex;align-items:center;gap:12px}.form-step h2{margin:0;font-size:16px}.form-step p{font-size:11px;color:#93a0aa;margin:3px 0 0}.step-bubble{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#e6efd5;color:#546d3e;font-weight:850;flex:none}.form-help{color:#8395a2;font-size:11px;line-height:1.7;margin:0}.form-help a{color:#405e7b;text-decoration:underline;text-underline-offset:2px}.step-divider{border:0;border-top:1px solid #e9eff2;width:100%;margin:5px 0}.submit-booking{min-height:48px;font-size:13px}
@media(max-width:1200px){.job-board{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-days{grid-template-columns:repeat(7,minmax(135px,1fr));overflow-x:auto;max-width:100%;padding-bottom:8px;scroll-snap-type:x mandatory}.schedule-day{scroll-snap-align:start}}
@media(max-width:840px){.sidebar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px}.sidebar .brand{margin:0}.sidebar>.nav-label,.sidebar>nav,.sidebar .nav-bottom{display:none}.mobile-tools{display:block;position:relative;color:#fff;z-index:100}.mobile-tools summary{list-style:none;background:#27333e;border:1px solid #34444d;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:700;cursor:pointer}.mobile-tools summary::-webkit-details-marker{display:none}.mobile-tools-menu{position:absolute;right:0;top:43px;width:210px;display:grid;background:#17232e;border:1px solid #3e4b56;border-radius:11px;padding:7px;box-shadow:0 16px 38px #0003;max-height:65vh;overflow:auto}.mobile-tools-menu a{padding:10px 12px;color:#f5f7f9;border-radius:7px;font-size:13px}.mobile-tools-menu a:hover{background:#2e4150}.mobile-dock{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;justify-content:space-around;align-items:center;min-height:62px;padding:5px max(8px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fff;border-top:1px solid #e4e9ec;box-shadow:0 -2px 15px #162c3c10}.dock-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:48px;min-height:50px;font-size:10px;font-weight:700;color:#667b88}.dock-link>span{font-size:22px;line-height:1}.dock-link.selected{color:#193544}.dock-link.selected span{color:#588d82}.dock-add{background:#16252f;color:#e2f78f;font-size:29px;width:51px;height:51px;border-radius:15px;text-align:center;line-height:51px;transform:translateY(-11px);box-shadow:0 7px 15px #16252f33}.content{padding-bottom:100px}.topbar{min-height:49px}.schedule-day-body{min-height:230px}}
@media(max-width:640px){.content{padding:19px 13px 105px}.calendar-workspace{padding:12px}.schedule-toolbar{gap:10px}.schedule-date-control{gap:10px}.schedule-date-control h2{font-size:16px}.schedule-date-control small{font-size:10px}.schedule-days{display:flex;flex-direction:column;overflow:visible;padding-bottom:0}.schedule-day{width:100%;scroll-snap-align:none}.schedule-day-head{flex-direction:row;align-items:center;justify-content:space-between;text-align:left;padding:12px}.schedule-day-head a strong{font-size:14px}.schedule-day-body{min-height:0;padding:9px}.booking-card{display:grid;grid-template-columns:65px minmax(0,1fr);gap:3px 11px;padding:12px;border-left-width:4px}.booking-time{grid-row:span 3;align-self:start;font-size:15px}.booking-time span{font-size:10px}.booking-vehicle{font-size:13px}.booking-client{font-size:11px}.booking-bottom{font-size:10px}.schedule-empty{padding:5px}.schedule-add{min-height:40px;display:grid;place-items:center;margin-top:3px;font-size:12px}.schedule-controls{margin-bottom:0}.schedule-date-control{flex:1}.today-button{padding:9px 12px}.calendar-month-grid .calendar-day{min-height:65px}.calendar-month-grid .calendar-event{display:none}.calendar-month-grid .day-link{font-size:11px;align-items:flex-start}.calendar-month-grid .day-counter{display:block;font-size:10px}.view-switch{width:100%;max-width:none}.view-option{flex:1}.staff-filter,.staff-filter select{width:100%;max-width:none}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-jobs-grid{grid-template-columns:1fr}.today-job{padding:11px}.today-job .chip{font-size:9px!important}.job-board{grid-template-columns:1fr;gap:12px}.board-column{min-height:90px}.job-workspace>.filter-line{display:grid;grid-template-columns:1fr 1fr}.job-workspace>.filter-line input{grid-column:span 2}.job-workspace .table-scroll{display:none}.mobile-job-list{display:grid;gap:10px}.form-step p{line-height:1.45}.global-search input{width:100px}.topbar-right .system-caption{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.quick-customer{margin-top:22px;border-top:1px solid #e6eef2;padding-top:16px}.quick-customer summary{font-size:13px;font-weight:800;cursor:pointer;color:#435f71;list-style:none}.quick-customer summary::-webkit-details-marker{display:none}.quick-customer summary span{display:block;font-size:11px;font-weight:400;color:#98a7b1}.quick-customer-form{margin-top:17px;padding:18px;background:#f7f9fa;border-radius:12px}
.call-link{text-decoration:underline;text-decoration-color:#a6bbc8;text-underline-offset:3px;color:#365e79;font-weight:750}.call-link:hover{color:#182f42}
@media(max-width:840px){.sidebar{flex-direction:row}.sidebar .brand{flex:0 1 auto}.mobile-tools{flex:none}}
@media(max-width:520px){.topbar .crumb{display:none}.topbar{justify-content:flex-end}.topbar-right{gap:5px}.topbar-right .today{font-size:11px}.global-search input{width:128px}}

/* v1.5: resource clarity, multi-service estimates and one-page actions. */
.capacity-panel{margin:0 0 18px;padding:16px;background:#f7faf9;border:1px solid #e4ecea;border-radius:14px}
.capacity-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.capacity-title strong{font-size:13px;color:#213746}.capacity-title span{font-size:11px;color:#647888;line-height:1.5}
.capacity-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.capacity-hour{display:flex;flex-direction:column;gap:5px;min-width:0;padding:10px 8px;border:1px solid #d7e3e3;border-radius:10px;color:#213746;background:#fff;text-decoration:none}
.capacity-hour[href]:hover,.capacity-hour[href]:focus-visible{outline:2px solid #82a88e;outline-offset:1px}
.capacity-hour strong{font-size:13px}.capacity-hour small{font-size:10px;color:#5e7281}
.capacity-bars{display:flex;gap:4px}.capacity-bars i{height:6px;flex:1;border-radius:3px;background:#c7e1c9}.capacity-bars i.busy{background:#cc9259}
.capacity-full{background:#fff3ec;border-color:#efdbc9}.capacity-full small{color:#96643e}
.extra-services,.quick-reminder{border:1px solid #dfe8e9;border-radius:12px;padding:12px}
.extra-services summary,.quick-reminder summary{cursor:pointer;font-size:13px;font-weight:700;color:#2f5363}
.extra-services summary span{display:block;font-weight:400;color:#788c99;font-size:11px;margin-top:2px}
.service-options{display:grid;gap:6px;margin-top:12px;max-height:245px;overflow-y:auto}
.service-option{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:10px;border-radius:9px;background:#f5f8f8;font-size:12px}
.service-option input{width:18px;height:18px}.service-option small{color:#67808f}.service-option b{font-weight:700;white-space:nowrap}
.duration-hint,.booking-warning{font-size:12px;line-height:1.5;background:#eff6f1;border-radius:9px;padding:10px 12px;color:#375b4a}
.booking-warning{background:#fff6e9;color:#74522b}
.service-duration{font-size:11px;white-space:nowrap}.service-duration input{max-width:90px}
.reminder-inline{padding-top:14px;max-width:550px}.quick-reminder{margin-top:18px}
@media(max-width:750px){.capacity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.capacity-title{display:block}.capacity-title span{display:block;margin-top:4px}.service-option{grid-template-columns:auto 1fr auto}.service-option small{grid-column:2/4}.service-duration input{max-width:100%}}
/* Three booking cards per row on wide day calendar, matching actual capacity. */
@media(min-width:1150px){.schedule-days.single-day{grid-template-columns:minmax(0,1fr)}.schedule-days.single-day .schedule-day-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-content:start;min-height:160px}.schedule-days.single-day .schedule-add{grid-column:1/-1;margin-top:0}}
@media(min-width:751px) and (max-width:1149px){.schedule-days.single-day{grid-template-columns:minmax(0,1fr)}.schedule-days.single-day .schedule-day-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}.schedule-days.single-day .schedule-add{grid-column:1/-1;margin-top:0}}

/* Booking feedback - visible on desktop and mobile without obscuring controls */
.booking-feedback{padding:12px 14px;border-radius:10px;border:1px solid #9ba6b7;background:#f2f5f9;color:#202b3b;font-size:.92rem;line-height:1.5}
.feedback-error{background:#fff2f0;border-color:#de988c;color:#752a1e}
.feedback-success{background:#ebf7f0;border-color:#83b49b;color:#205940}

.staging-banner{position:relative;z-index:20;padding:11px 16px;text-align:center;background:#fff2d0;color:#56380a;font-weight:700;font-size:13px;border-bottom:1px solid #e9b968}

/* Financial dashboard: compact owner-only view, accessible on touch devices */
.finance-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.finance-filter label{min-width:170px;flex:1}
.finance-grid .stat-value{font-size:clamp(1.1rem,2.2vw,1.65rem);overflow-wrap:anywhere}
.finance-form{display:grid;gap:14px}
.finance-ledger{max-width:100%;overflow:auto}
.finance-ledger table{width:100%;min-width:730px;border-collapse:collapse}
.finance-ledger th,.finance-ledger td{padding:10px;text-align:left;border-bottom:1px solid var(--border, #d8dfe4);vertical-align:top}
.finance-ledger td small{display:block;color:var(--muted,#747f89)}
.finance-amount{white-space:nowrap;font-weight:700}
.finance-reverse{display:flex;gap:6px;flex-wrap:wrap}
.finance-reverse input{max-width:180px;min-width:120px}
.finance-filter select,.finance-filter input,.finance-form input,.finance-form select{min-height:42px}
@media (max-width:640px){.finance-filter>*{width:100%}.finance-ledger table{min-width:700px}.finance-reverse{min-width:180px}}

/* Eight-car booking, readable on phone and tablet. */
.capacity-bars{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;max-width:100%}
.capacity-bars i{min-width:0!important}
.workforce-table{width:100%;border-collapse:collapse;font-size:13px}
.workforce-table td,.workforce-table th{padding:9px 8px;border-bottom:1px solid #e4eaed;text-align:left}
.workforce-table td{vertical-align:middle}
@media(max-width:600px){.workforce-table{font-size:11px}.workforce-table td,.workforce-table th{padding:7px 5px}.workforce-period-form{display:flex;flex-wrap:wrap;gap:8px}}
