@import url('/fonts.css');
:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#173049;background:#f3f6fa;font-size:16px;--navy:#0b233b;--teal:#087f82;--line:#dce4eb;--muted:#657689;--blue:#2254a3}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}a{color:var(--teal)}button{border:1px solid var(--line);background:white;color:var(--navy);border-radius:8px;padding:10px 15px;font-size:.875rem;font-weight:600;transition:.15s}button:hover{background:#eff7f8;border-color:#9abfc3}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary:hover{background:#06686c;color:white}.danger{color:#b12c40;background:#fff6f7}.quiet{background:transparent;border-color:transparent;color:var(--muted)}.small{padding:6px 9px;font-size:.8rem}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#d2e0ec;padding:30px 18px 18px;position:fixed;inset:0 auto 0 0;width:238px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;color:white;padding:0 12px 28px;font-weight:700;font-size:1.35rem;letter-spacing:-.6px}.brand img{width:32px;height:32px}.brand small{display:block;font-size:.7rem;font-weight:400;letter-spacing:1.6px;color:#8ba5bb;margin-top:4px}.navlabel{font-size:.7rem;letter-spacing:1.4px;color:#7f9bb4;margin:18px 14px 10px}.navitem{display:flex;align-items:center;width:100%;gap:11px;padding:11px 13px;color:#b8ccdd;border:0;background:transparent;text-align:left;margin:3px 0;font-weight:500}.navitem.active{background:#16445a;color:#75e6d7}.navitem:hover{background:#14354f}.navicon{display:inline-flex;width:20px;height:20px}.navicon svg{width:19px;height:19px}.navcount{margin-left:auto;font-size:.75rem;padding:2px 7px;background:#ffffff13;border-radius:5px}.sidebarfoot{margin-top:auto;padding:22px 12px 5px;font-size:.8rem;color:#8ba5bb}.localdot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#58d4b7;margin-right:7px}.main{grid-column:2}.topbar{height:78px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px}.workspace{display:flex;align-items:center;gap:14px}.workspace select{border:0;font-weight:650;background:transparent;max-width:260px;font-size:.95rem;padding:8px}.pill{background:#edf4fa;color:#49647a;border:1px solid #e0e9f0;padding:4px 8px;font-size:.7rem;border-radius:5px;white-space:nowrap}.userbar{display:flex;align-items:center;gap:10px;font-size:.85rem}.avatar{border-radius:50%;background:#dceef0;color:#087478;width:34px;height:34px;display:grid;place-items:center;font-weight:700}.content{max-width:1540px;margin:auto;padding:34px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-size:.7rem;font-weight:700;color:var(--teal);margin-bottom:8px}h1{font-size:1.85rem;letter-spacing:-.8px;margin:0 0 7px}h2{font-size:1.08rem;margin:0 0 6px;letter-spacing:-.25px}h3{font-size:.95rem;margin:0 0 14px}p{line-height:1.55;margin:5px 0 14px}.muted{color:var(--muted);font-size:.875rem}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:11px;padding:21px;min-width:0}.statlabel{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.8rem;margin-bottom:17px}.statvalue{font-size:1.8rem;font-weight:650;letter-spacing:-.8px;white-space:nowrap}.statfoot{font-size:.75rem;color:var(--muted);margin-top:9px}.stat.dark{background:var(--navy);border-color:var(--navy);color:white}.stat.dark .statlabel,.stat.dark .statfoot{color:#b1cadb}.accent{color:#0b8576}.panel{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:22px}.panelhead{padding:21px 23px;display:flex;justify-content:space-between;align-items:center;gap:15px}.panelbody{padding:23px}.split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:22px}.pipeline{display:grid;grid-template-columns:repeat(6,1fr);padding:4px 23px 22px;gap:9px}.pipe{padding:15px 10px;border-radius:7px;background:#f5f8fb;border-top:3px solid #c6d7e5;text-align:left}.pipe strong{display:block;font-size:1.35rem;margin:10px 0 5px}.pipe span{font-size:.75rem;color:var(--muted)}.pipe.active{border-color:var(--teal);background:#e9f6f4}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.875rem}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600;background:#f7f9fc;padding:13px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 20px;border-bottom:1px solid #edf1f5;vertical-align:middle}tr:last-child td{border-bottom:0}.rowlink{cursor:pointer}.rowlink:hover{background:#f7fbfc}.vehiclecell{display:flex;align-items:center;gap:12px}.caricon{width:43px;height:39px;display:grid;place-items:center;border-radius:7px;background:#edf2f7;color:#688095;flex-shrink:0}.caricon svg{width:26px}.vehiclecell strong{display:block;white-space:nowrap;font-size:.9rem}.sub{display:block;color:var(--muted);font-size:.75rem;margin-top:5px}.money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:550}.right{text-align:right}.badge{display:inline-block;border-radius:5px;padding:5px 8px;font-size:.7rem;font-weight:600;white-space:nowrap;background:#edf2f7;color:#537086}.badge.teal{background:#e0f4ef;color:#147767}.badge.blue{background:#e7efff;color:#325cac}.badge.amber{background:#fff2d9;color:#9b6714}.badge.red{background:#fce9ed;color:#ab3c4e}.taskrow{display:flex;align-items:center;gap:12px;border-top:1px solid #edf1f5;padding:15px 22px}.taskrow strong{display:block;font-size:.875rem}.taskrow button{margin-left:auto}.tasknum{width:30px;height:30px;display:grid;place-items:center;background:#fff3dd;border-radius:7px;color:#976212;font-size:.8rem}.empty{text-align:center;padding:44px 24px;color:var(--muted);font-size:.9rem}.empty strong{display:block;color:#37536a;margin-bottom:8px;font-size:1rem}.search{width:280px;max-width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:7px;background:white;font-size:.875rem}.filters{display:flex;padding:0 23px 20px;gap:10px;align-items:center;flex-wrap:wrap}.filters select{width:auto;max-width:230px}.notice{padding:13px 16px;border:1px solid #cae5e6;background:#edf9f8;border-radius:8px;color:#30646a;font-size:.85rem;margin-bottom:20px;line-height:1.5}.notice.warning{background:#fff8e9;border-color:#f0dfb6;color:#846227}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:.8rem;font-weight:600;color:#425a6f}.field input,.field select,.field textarea,select,input[type=date]{width:100%;border:1px solid #cfdbe5;border-radius:7px;padding:10px 11px;background:white;color:#173049;font-size:.875rem;min-width:0}.field textarea{resize:vertical;min-height:85px}.field.full{grid-column:1/-1}.check{display:flex;gap:9px;align-items:flex-start;font-size:.875rem;line-height:1.45;padding:6px 0}.check input{margin-top:3px;accent-color:var(--teal)}.formactions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px;padding-top:18px;border-top:1px solid var(--line)}.backdrop{position:fixed;inset:0;background:#081b3290;z-index:30;display:flex;justify-content:flex-end;backdrop-filter:blur(2px)}.drawer{background:#f3f6fa;width:min(980px,94vw);height:100%;overflow:auto;box-shadow:-15px 0 70px #07152833}.drawerhead{padding:25px 28px 0;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.drawertitle{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.drawertitle h2{font-size:1.5rem}.close{font-size:1.2rem;padding:4px 10px}.tabs{display:flex;gap:20px;margin-top:23px;overflow:auto}.tab{white-space:nowrap;border:0;border-radius:0;background:none;padding:11px 0 15px;color:var(--muted);border-bottom:3px solid transparent}.tab.active{border-color:var(--teal);color:var(--teal)}.drawerbody{padding:25px 28px}.drawer .stats{gap:10px}.drawer .stat{padding:16px}.drawer .statvalue{font-size:1.25rem}.drawer .statlabel{font-size:.75rem;margin-bottom:10px}.drawer td,.drawer th{padding:13px 15px}.modalwrap{position:fixed;inset:0;background:#081b3290;z-index:40;display:grid;place-items:center;padding:25px;backdrop-filter:blur(2px)}.modal{background:white;border-radius:12px;width:min(680px,100%);max-height:90vh;overflow:auto;padding:27px;box-shadow:0 25px 80px #07152840}.modalheader{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modalheader h2{font-size:1.3rem}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.authaside{background:var(--navy);color:white;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.authaside .brand{padding:0}.authaside h1{font-size:3rem;line-height:1.13;max-width:520px;letter-spacing:-1.5px}.authaside p{color:#a8c2d5;max-width:430px}.authart{display:flex;gap:12px;margin:40px 0}.authart div{border-top:3px solid #30bbab;flex:1;padding:18px 0;font-size:.875rem;color:#9ebccc}.authform{display:flex;align-items:center;justify-content:center;padding:45px}.authbox{width:min(460px,100%)}.authbox h2{font-size:1.7rem;margin-bottom:12px}.authbox form{margin-top:28px}.authbox .field{margin-bottom:17px}.authbox .primary{width:100%;margin-top:15px}.error{color:#b12c40;background:#fff1f3;padding:12px;border-radius:6px;font-size:.875rem;margin:12px 0}.loading{padding:80px;text-align:center;color:var(--muted)}#toasts{position:fixed;bottom:24px;right:24px;z-index:100;display:grid;gap:10px}.toast{padding:14px 20px;background:#143c48;color:white;border-radius:9px;box-shadow:0 8px 35px #122d3330;font-size:.9rem;max-width:460px}.toast.error{background:#9d293c}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.inlineform{display:flex;gap:10px;align-items:flex-end}.inlineform .field{flex:1}.summaryline{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf1f5;font-size:.9rem}.summaryline.total{font-size:1.15rem;font-weight:700;color:var(--teal)}.sectiontitle{margin:26px 0 14px}.settingsgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.settingsgrid .panel{margin:0}.settingsgrid .wide{grid-column:1/-1}.hint{font-size:.75rem;color:var(--muted);font-weight:400;line-height:1.5}.linkbutton{color:var(--teal);text-decoration:none;font-weight:600;font-size:.85rem;white-space:nowrap}.mobilebrand{display:none}.stack{display:grid;gap:14px}.timeline{border-left:2px solid #cbdce8;padding-left:18px;margin-left:8px}.event{margin:0 0 20px}.event strong{font-size:.85rem}.event p{font-size:.8rem;color:var(--muted)}.progresssteps{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.progresssteps span{font-size:.7rem;background:#e9eff5;padding:6px 9px;border-radius:4px}.progresssteps .current{background:#d7eee8;color:#086e61;font-weight:700}.printonly{display:none}@media(min-width:1500px){.statvalue{font-size:2rem}}@media(max-width:1100px){.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px}.content{padding:25px}.topbar{padding:0 25px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.pipeline{grid-template-columns:repeat(3,1fr)}.statvalue{font-size:1.5rem}.settingsgrid{grid-template-columns:1fr}.settingsgrid .wide{grid-column:1}}@media(max-width:750px){.shell{display:block}.sidebar{position:static;width:auto;padding:15px;display:block}.brand{padding:0 5px 15px}.sidebar nav{display:flex;overflow:auto;gap:5px}.navitem{width:auto;white-space:nowrap;padding:9px 12px}.navlabel,.sidebarfoot,.navcount{display:none}.topbar{height:auto;min-height:66px;padding:13px 17px;flex-wrap:wrap}.userbar .username{display:none}.workspace select{max-width:185px}.content{padding:22px 16px}.heading{align-items:flex-start;flex-wrap:wrap}h1{font-size:1.6rem}.stats{gap:10px}.stat{padding:16px}.statvalue{font-size:1.25rem}.statlabel{font-size:.75rem}.panelhead{padding:17px}.pipeline{padding:0 17px 17px}.formgrid{grid-template-columns:1fr}.field.full{grid-column:1}.drawer{width:100vw}.drawerhead{padding:19px 17px 0}.drawerbody{padding:20px 16px}.tabs{gap:17px}.auth{grid-template-columns:1fr}.authaside{padding:28px}.authaside h1,.authaside p,.authart,.authaside footer{display:none}.authform{padding:30px 22px}.photos{grid-template-columns:repeat(2,1fr)}.inlineform{flex-wrap:wrap}.toolbar{gap:7px}.modalwrap{padding:10px}.modal{padding:20px}.statfoot{font-size:.7rem}.drawer .statvalue{font-size:1.1rem}}@media print{.sidebar,.topbar,.toolbar,.filters,button,#overlay{display:none!important}.shell{display:block}.content{padding:0}.panel{break-inside:avoid}.printonly{display:block}}

.sidebar nav{overflow-y:auto;min-height:0}.sidebar .brand{flex-shrink:0}.sidebarfoot{flex-shrink:0}@media(max-width:750px){.sidebar nav{overflow-x:auto;overflow-y:hidden}}

.global-search{display:flex;gap:10px;padding:16px 32px 0}.global-search input{flex:1;min-width:0}.logo-preview{max-width:180px;max-height:90px;object-fit:contain}.brand img{object-fit:contain;max-width:48px;max-height:48px}.brand{overflow-wrap:anywhere}

.default-cost-row{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;align-items:end;margin-bottom:12px}.default-cost-row label{display:grid;gap:5px}.default-cost-row input{width:100%;min-width:0}.default-cost-row button{margin-bottom:1px}.global-search button{white-space:nowrap}@media(max-width:750px){.global-search{padding:12px;flex-wrap:wrap}.global-search input{flex-basis:100%}.default-cost-row{grid-template-columns:1fr 1fr}.default-cost-row button{grid-column:2}}
/* Compact, consistent work surfaces and spreadsheet-style historical entry. */
.history-grid { max-height: 470px; overflow: auto; }
.history-grid input { min-width: 145px; padding: 9px; border-radius: 5px; }
.history-grid select { min-width: 135px; padding: 9px; }
.history-grid td { padding: 7px; }
.history-grid th { position: sticky; top: 0; background: #edf3f8; z-index: 2; white-space: nowrap; }
.history-grid td:first-child { position: sticky; left: 0; background: white; z-index: 1; }
#historyCsv { width: 100%; margin-top: 12px; font-family: monospace; }
#historyError:not(:empty) { color: #a42c36; padding: 16px 0; }
button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid #43bdb5; outline-offset: 2px; }
.panel { box-shadow: 0 2px 8px rgba(14,40,62,.025); }
.tablewrap tbody tr:hover { background: #f2f8fa; }
@media(min-width:1200px) { .content { max-width: 1600px; margin: 0 auto; } }

/* Dealer theme. */
:root{background:var(--theme-background,#f3f6fa)}
.main{background:var(--theme-background,#f3f6fa);color:var(--theme-background-ink,#173049)}
.sidebar{background:var(--theme-sidebar,#0b233b);color:var(--theme-sidebar-ink,#fff)}
.sidebar .brand,.sidebar .brand small,.sidebar .navlabel,.sidebar .navitem,.sidebar .sidebarfoot{color:var(--theme-sidebar-ink,#fff)}
.navitem.active,.navitem:hover{background:var(--theme-accent,#087f82);color:var(--theme-accent-ink,#fff)}
.primary,.primary:hover{background:var(--theme-accent,#087f82);border-color:var(--theme-accent,#087f82);color:var(--theme-accent-ink,#fff)}
.panel,.stat,.topbar,.tablewrap{color:#173049}
input[type=color]{width:100%;height:46px;padding:4px;cursor:pointer}
button{color:#173049}.sidebar .navitem{color:var(--theme-sidebar-ink,#fff)}.sidebar .navitem.active,.sidebar .navitem:hover,.primary,.primary:hover{color:var(--theme-accent-ink,#fff)}
