:root{--navy:#071725;--navy2:#0d2b3e;--blue:#6CABDD;--ink:#102532;--muted:#667d8c;--line:#dbe6ec;--bg:#f4f8fa;--green:#2f9d69;--amber:#c88718;--red:#b54141}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.admin-top{height:74px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 28px;color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 8px 25px rgba(0,0,0,.12)}.admin-top img{width:260px;max-width:45vw;display:block}.admin-top nav{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:800}.admin-top nav a{opacity:.86}.admin-top nav a:hover{opacity:1;color:var(--blue)}.admin-shell{width:min(1280px,calc(100% - 30px));margin:28px auto 60px}.admin-shell.narrow{width:min(680px,calc(100% - 30px))}.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.page-title h1{margin:4px 0 0;font-size:34px;letter-spacing:-.03em}.admin-kicker{font-size:11px;letter-spacing:.13em;font-weight:900;color:#4e7f9c}.admin-btn{border:0;border-radius:12px;padding:12px 16px;font:inherit;font-size:13px;font-weight:900;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px}.admin-btn.primary{background:var(--blue);color:var(--navy)}.admin-btn.dark{background:var(--navy);color:#fff}.admin-btn.ghost{background:#e9f0f4;color:var(--navy)}.admin-btn.green{background:#dff3e8;color:#176341}.admin-btn.red{background:#f7e5e5;color:#8a2d2d}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px;box-shadow:0 8px 24px rgba(7,23,37,.04)}.metric small{font-size:11px;font-weight:900;color:var(--muted);letter-spacing:.08em}.metric strong{display:block;font-size:31px;margin-top:5px}.dashboard-grid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:20px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 26px rgba(7,23,37,.045)}.queue{overflow:hidden;position:sticky;top:94px}.queue-head{padding:18px;border-bottom:1px solid var(--line)}.queue-head form{display:flex;gap:8px}.queue-head input,.queue-head select,.edit-form input,.edit-form select,.edit-form textarea{width:100%;border:1px solid #cbd9e1;background:#fbfdfe;border-radius:10px;padding:11px 12px;font:inherit;color:var(--ink);outline:none}.quote-list{max-height:calc(100vh - 250px);overflow:auto}.quote-row{display:block;padding:16px 18px;border-bottom:1px solid var(--line);transition:.16s}.quote-row:hover,.quote-row.active{background:#eef7fb}.quote-row .row-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.quote-row strong{font-size:14px}.quote-row .reg{font-size:12px;background:var(--navy);color:#fff;padding:4px 7px;border-radius:6px;letter-spacing:.05em}.quote-row p{margin:7px 0 5px;font-size:13px;color:#304956}.quote-row small{color:var(--muted);font-size:11px}.status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;margin-top:8px}.status.New{background:#e8f4fb;color:#246b96}.status.Reviewing{background:#fff0d7;color:#8a5d12}.status.Quoted,.status.Awaiting-Customer{background:#e7e8fa;color:#4b51a0}.status.Accepted,.status.Booked,.status.Completed{background:#dff3e8;color:#176341}.status.Declined{background:#f8e4e4;color:#8f3030}.editor{padding:24px}.editor-empty{padding:60px 30px;text-align:center;color:var(--muted)}.editor-head{display:flex;justify-content:space-between;gap:16px;align-items:start;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.editor-head h2{margin:3px 0 5px;font-size:27px}.editor-head p{margin:0;color:var(--muted);font-size:13px}.editor-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.info-card{border:1px solid var(--line);border-radius:14px;padding:14px}.info-card small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:5px}.info-card b{font-size:13px}.info-card p{font-size:12px;color:#425865;margin:5px 0 0;white-space:pre-line}.section-title{font-size:13px;font-weight:900;letter-spacing:.08em;color:#4e6b7c;margin:24px 0 12px}.edit-form{display:grid;gap:14px}.edit-form label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#344f5e}.form-two{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.parts-table{display:grid;gap:8px}.part-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 120px 38px;gap:8px}.part-row button{border:0;border-radius:9px;background:#f4e7e7;color:#8a2d2d;font-weight:900;cursor:pointer}.add-part{justify-self:start}.totals{margin-left:auto;width:min(100%,390px);border:1px solid var(--line);border-radius:16px;overflow:hidden}.total-row{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px}.total-row.grand{background:var(--navy);color:#fff;font-size:18px;font-weight:900}.publish-row{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #b9d7e8;background:#f0f9fd;border-radius:13px;font-size:12px}.publish-row input{width:auto;margin-top:2px}.attachments{display:flex;gap:10px;flex-wrap:wrap}.attachment img{width:100px;height:78px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.alert{padding:13px 15px;border-radius:12px;margin-bottom:18px;font-size:13px;font-weight:800}.alert.success{background:#e3f4ea;color:#1d6f49}.alert.error{background:#f8e5e5;color:#8c2f2f}.customer-link{display:flex;gap:8px}.customer-link input{font-size:11px}.admin-login-body{min-height:100vh;background:linear-gradient(135deg,#06131f,#0c2d43);display:grid;place-items:center;padding:25px}.login-card{width:min(430px,100%);background:#fff;border-radius:24px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.login-card img{width:100%;max-width:330px;margin-bottom:25px}.login-card h1{font-size:31px;margin:6px 0 8px}.login-card p{color:var(--muted);font-size:14px}.login-card form{display:grid;gap:14px;margin-top:22px}.login-card label{display:grid;gap:7px;font-size:12px;font-weight:900}.login-card input{padding:12px;border:1px solid #c9d8e1;border-radius:10px;font:inherit}.back-link{display:block;margin-top:18px;font-size:12px;color:var(--muted);font-weight:800}.small-note{font-size:11px;color:var(--muted)}@media(max-width:980px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.queue{position:static}.quote-list{max-height:420px}}@media(max-width:650px){.admin-top{padding:0 14px}.admin-top nav a:nth-child(2){display:none}.metrics,.info-grid,.form-two,.form-three{grid-template-columns:1fr}.page-title,.editor-head{align-items:stretch;flex-direction:column}.editor-actions{justify-content:flex-start}.part-row{grid-template-columns:1fr 70px 95px 36px}.editor{padding:16px}.admin-shell{width:min(100% - 18px,1280px)}}

body{min-height:100vh}.auth-wrap{min-height:calc(100vh - 130px);display:grid;place-items:center}.nav-button,.link-button{border:0;background:none;color:inherit;font:inherit;font-weight:800;cursor:pointer}.link-button{color:#4b7da1;padding:12px 0;text-align:left}.login-card{margin:30px auto}.queue-head{display:grid;grid-template-columns:1fr 150px;gap:8px}.quote-row{cursor:pointer}.quote-row button{all:unset;display:block;width:100%;cursor:pointer}.editor textarea{min-height:110px;resize:vertical}.editor .details-box{white-space:pre-wrap;background:#f6fafc;border:1px solid var(--line);border-radius:12px;padding:13px;font-size:13px}.editor .toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.part-row input{min-width:0}.attachment{display:block}.attachment img{width:130px;height:92px}.muted{color:var(--muted)}.field-help{font-size:11px;color:var(--muted);margin-top:-6px}.copyline{display:flex;gap:8px;align-items:center}.copyline input{flex:1}.danger-note{padding:12px;border-radius:12px;background:#fff6df;color:#705014;font-size:12px}.login-card .alert{margin-top:14px;margin-bottom:0}.admin-shell>.auth-wrap{width:100%}


/* V12 authentication visibility fix */
[hidden]{display:none!important}

/* V13 customer quote sending */
.send-quote-panel{margin-top:16px;padding:18px;border:1px solid #cfe0ea;border-radius:16px;background:linear-gradient(135deg,#f7fbfd,#edf7fc);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.send-quote-panel strong{display:block;margin:4px 0 4px;font-size:16px}.send-quote-panel p{margin:0;color:var(--muted);font-size:12px;max-width:620px}.send-quote-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-btn.whatsapp-send{background:#25d366;color:#073719}.admin-btn.email-send{background:#6CABDD;color:#071725}.admin-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.25)}.disabled-link{opacity:.45;pointer-events:none}.send-note{grid-column:1/-1;color:#7a5b20;background:#fff7e8;border-radius:9px;padding:8px 10px}.copyline{margin-top:10px}.copyline input{background:#fff}.toolbar{align-items:center}@media(max-width:820px){.send-quote-panel{grid-template-columns:1fr}.send-quote-actions{justify-content:flex-start}}@media(max-width:540px){.send-quote-actions .admin-btn{width:100%}}

/* V14 accept/cancel workflow */
.status.Cancelled{background:#f8e4e4;color:#8f3030}.history-box{display:grid;gap:8px;margin-bottom:18px}.history-item{display:flex;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:12px;font-size:12px}.history-item b{font-size:12px}.history-item span{text-align:right}.accepted-history{background:#e5f5ec;color:#1f6f4a}.cancelled-history{background:#fbecec;color:#7e2c2c}.cancel-panel{border-color:#efcaca;background:linear-gradient(135deg,#fffafa,#fbecec)}@media(max-width:650px){.history-item{flex-direction:column}.history-item span{text-align:left}}

/* V15 business management */
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.admin-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font:inherit;font-size:13px;font-weight:900;color:#486272;cursor:pointer}.admin-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.metrics{grid-template-columns:repeat(5,1fr)}.booking-card,.invoice-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fbfdfe}.booking-card h3,.invoice-card h3{margin:3px 0 8px}.booking-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.booking-fields label{display:grid;gap:5px;font-size:11px;font-weight:900}.booking-fields input,.booking-fields select,.booking-fields textarea,.invoice-card input,.invoice-card select,.invoice-card textarea{width:100%;border:1px solid #cbd9e1;background:#fff;border-radius:10px;padding:10px 11px;font:inherit}.booking-note{grid-column:1/-1}.booking-note textarea{min-height:72px}.invoice-status-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:12px}.invoice-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.invoice-summary div{border-radius:12px;background:#eef7fc;padding:12px}.invoice-summary small{display:block;color:var(--muted);font-size:10px;font-weight:900}.invoice-summary b{display:block;margin-top:4px;font-size:16px}.invoice-actions{display:flex;gap:8px;flex-wrap:wrap}.payment-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900}.payment-status.Paid{background:#dff3e8;color:#176341}.payment-status.Deposit-Paid,.payment-status.Part-Paid{background:#fff0d7;color:#8a5d12}.payment-status.Unpaid{background:#f8e4e4;color:#8f3030}.calendar-panel{padding:22px}.calendar-toolbar,.customer-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.calendar-toolbar h2,.customer-toolbar h2{margin:4px 0 0}.calendar-actions{display:flex;gap:8px;flex-wrap:wrap}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:11px;font-weight:900}.calendar-day{min-height:130px;border:1px solid var(--line);border-radius:14px;padding:9px;background:#fff;overflow:hidden}.calendar-day.outside{opacity:.45;background:#f6f8f9}.calendar-day.today{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.calendar-date{font-size:12px;font-weight:900;color:#526a79;margin-bottom:7px}.calendar-booking{display:block;width:100%;border:0;text-align:left;background:#e9f6fc;color:#123f59;border-radius:9px;padding:8px;margin:5px 0;cursor:pointer;font:inherit}.calendar-booking b{display:block;font-size:11px}.calendar-booking span{display:block;font-size:10px;margin-top:2px}.customer-panel{padding:22px}.customer-toolbar input{width:min(420px,100%);border:1px solid #cbd9e1;background:#fff;border-radius:10px;padding:11px 12px;font:inherit}.customer-list{display:grid;gap:12px}.customer-record{border:1px solid var(--line);border-radius:16px;overflow:hidden}.customer-head{padding:15px 16px;background:#f8fbfc;display:flex;justify-content:space-between;gap:16px;align-items:start}.customer-head h3{margin:0 0 4px}.customer-head p{margin:0;color:var(--muted);font-size:12px}.customer-jobs{display:grid}.customer-job{display:grid;grid-template-columns:1fr 120px 130px 130px;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid var(--line);font-size:12px}.customer-job button{justify-self:end}.history-mini{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}.booking-fields,.invoice-status-row{grid-template-columns:1fr 1fr}.calendar-day{min-height:110px}.customer-job{grid-template-columns:1fr 100px 110px}}
@media(max-width:760px){.metrics{grid-template-columns:1fr 1fr}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(110px,1fr))}.calendar-panel{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:800px}.calendar-toolbar,.customer-toolbar{align-items:stretch;flex-direction:column}.booking-fields,.invoice-status-row,.invoice-summary{grid-template-columns:1fr}.customer-job{grid-template-columns:1fr}.customer-job button{justify-self:start}}
@media(max-width:500px){.metrics{grid-template-columns:1fr}.admin-tabs button{flex:1}.invoice-actions .admin-btn{width:100%}}

.history-link{border:1px solid var(--line);background:#fbfdfe;border-radius:12px;padding:11px 12px;display:flex;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}.history-link:hover{background:#eef7fb}.history-link b{font-size:12px}.history-link span{font-size:11px;color:var(--muted);text-align:right}

/* V16 Stripe */
.stripe-admin-note{margin-top:12px;border-radius:14px;padding:12px 14px;display:flex;gap:8px;flex-direction:column;font-size:12px}.stripe-admin-note.enabled{background:#eef7fc;border:1px solid #cfe4f2;color:#245f84}.stripe-admin-note.disabled{background:#fff5e7;border:1px solid #efdbb9;color:#76531f}.stripe-admin-note span{font-weight:600}


/* V17 installable business app */
.network-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:900;border-radius:999px;padding:6px 9px}.network-status:before{content:"";width:7px;height:7px;border-radius:50%}.network-status.online{background:rgba(47,157,105,.16);color:#a9efca}.network-status.online:before{background:#41d08d}.network-status.offline{background:rgba(181,65,65,.22);color:#ffc3c3}.network-status.offline:before{background:#f06b6b}.install-app-btn{border:1px solid rgba(255,255,255,.18)!important;border-radius:999px!important;padding:7px 10px!important;color:#fff!important}.app-install-help{font-size:12px;color:#517083;margin:7px 0 0;max-width:620px}.mobile-app-nav{display:none}
@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:calc(76px + env(safe-area-inset-bottom))}.admin-top{height:calc(68px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.install-app-btn{display:none!important}}
@media(max-width:760px){body{padding-bottom:82px}.admin-top{height:64px;padding:0 12px}.admin-top img{width:190px;max-width:42vw}.admin-top nav{gap:8px}.admin-top nav>a{display:none}.network-status{font-size:0;padding:7px}.network-status:before{width:9px;height:9px}.install-app-btn{font-size:11px!important}.admin-shell{margin-top:18px}.page-title h1{font-size:28px}.page-title #refreshBtn{width:100%}.admin-tabs{display:none}.metrics{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric strong{font-size:24px}.mobile-app-nav{position:fixed;display:grid!important;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;z-index:100;background:rgba(7,23,37,.98);border-top:1px solid rgba(255,255,255,.10);padding:7px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.18)}.mobile-app-nav button,.mobile-app-nav a{appearance:none;border:0;background:none;color:#b9cbd7;font:inherit;font-size:10px;font-weight:800;display:grid;place-items:center;gap:2px;padding:5px;border-radius:10px;cursor:pointer}.mobile-app-nav span{font-size:20px;line-height:1}.mobile-app-nav button.active{background:rgba(108,171,221,.15);color:#6CABDD}.dashboard-grid{display:block}.queue{margin-bottom:16px}.quote-list{max-height:300px}.editor{padding:14px}.editor-head h2{font-size:23px}.send-quote-actions .admin-btn,.invoice-actions .admin-btn{min-height:44px}.calendar-panel,.customer-panel{padding:14px}}
@media(max-width:460px){.metrics{grid-template-columns:1fr 1fr}.metric:nth-child(5){grid-column:1/-1}.admin-top .brand img{max-width:48vw}.editor-actions .admin-btn{flex:1}}

/* V22 branding merge */
.admin-brand{display:flex;align-items:center;gap:10px;min-width:0}
.admin-brand img{width:52px!important;height:52px!important;max-width:none!important;object-fit:cover;border-radius:50%;box-shadow:0 0 0 1px rgba(108,171,221,.45)}
.admin-brand span{display:grid;line-height:1.05}
.admin-brand strong{font-size:13px;color:#fff}
.admin-brand small{font-size:10px;color:#9fcbe5;margin-top:4px;letter-spacing:.05em;text-transform:uppercase}
@media(max-width:760px){
  .admin-brand img{width:43px!important;height:43px!important}
  .admin-brand span{display:none}
}


/* V23 business dashboard */
.overview-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.overview-panel{padding:22px}.overview-panel h2{margin:4px 0 16px}.overview-list{display:grid;gap:10px}.overview-item{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.overview-item b{display:block}.overview-item small{display:block;color:var(--muted);margin-top:4px}.snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.snapshot{padding:15px;border-radius:14px;background:#eef6fa;border:1px solid #dcebf3}.snapshot small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em}.snapshot strong{display:block;font-size:24px;margin-top:4px}.queue-head{grid-template-columns:1fr}.queue-head select{width:100%}.vehicle-reminder-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;display:grid;gap:12px}.reminder-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.reminder-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reminder-date{padding:12px;border-radius:12px;background:#f4f8fa;border:1px solid var(--line)}.reminder-date.due{background:#fff4e3;border-color:#ecc98a}.reminder-date.overdue{background:#fdecec;border-color:#efbbbb}.reminder-date small{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.reminder-actions{display:flex;gap:8px;flex-wrap:wrap}.activity-list{display:grid;gap:9px}.activity-entry{display:grid;grid-template-columns:170px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.activity-entry time{font-size:12px;color:var(--muted)}.archive-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e9edf0;color:#536773;font-size:10px;font-weight:900}.booking-request-admin{padding:15px;border:1px solid #badbed;background:#eef8fd;border-radius:14px;margin-top:12px}.booking-request-admin b{display:block;margin-bottom:5px}.form-reminders{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-reminders .wide{grid-column:1/-1}.quick-filter-note{font-size:11px;color:var(--muted)}
@media(max-width:900px){.overview-grid{grid-template-columns:1fr}.activity-entry{grid-template-columns:1fr}.form-reminders{grid-template-columns:1fr}.form-reminders .wide{grid-column:auto}}
