*{box-sizing:border-box}body{margin:0;background:#f3f4f6;color:#111827;font-family:Arial,Helvetica,sans-serif}.topbar{background:#1d1f22;color:white;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:0;z-index:20}.brand{font-weight:800;font-size:22px;letter-spacing:.04em}.subtitle{font-size:12px;color:#d1d5db}nav{display:flex;gap:12px;align-items:center}nav a,.button,button{background:#f15a24;color:white;text-decoration:none;border:0;padding:11px 14px;border-radius:8px;font-weight:700;cursor:pointer}nav a:first-child{background:transparent;border:1px solid #374151}.button-small{font-size:14px}.container{max-width:980px;margin:0 auto;padding:18px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}h1{margin:0;font-size:26px}h2{margin:0 0 12px;font-size:18px}.panel{background:white;border-radius:14px;padding:16px;margin-bottom:14px;box-shadow:0 2px 12px rgba(0,0,0,.06)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}label{display:block;font-weight:700;font-size:13px}input,select,textarea{width:100%;margin-top:6px;border:1px solid #d1d5db;border-radius:9px;padding:12px;font-size:16px}textarea{resize:vertical}.reg-input{text-transform:uppercase;font-weight:800;letter-spacing:.05em}.filters{display:grid;grid-template-columns:1fr 190px 110px;gap:10px;background:white;padding:14px;border-radius:14px;margin-bottom:16px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.job-card{background:white;padding:16px;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.06)}.job-title{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:20px}.status{font-size:12px;background:#111827;color:white;padding:5px 8px;border-radius:999px}.muted{color:#6b7280;font-size:13px}.card-actions{display:flex;gap:10px;margin-top:12px}.card-actions a{color:#f15a24;font-weight:800}.flash{background:#fff7ed;border:1px solid #fed7aa;padding:12px;border-radius:12px;margin-bottom:14px}.empty{background:white;border-radius:14px;padding:20px;color:#6b7280}.checkbox-grid,.tri-list{display:grid;gap:10px}.field-row{display:grid;grid-template-columns:1fr repeat(4,75px);gap:8px;align-items:center;padding:10px;border:1px solid #e5e7eb;border-radius:10px}.two-state .field-row{grid-template-columns:1fr repeat(3,75px)}.field-row span{font-weight:800}.field-row label{display:flex;align-items:center;gap:6px;font-weight:700}.field-row input[type=radio]{width:auto;margin:0;transform:scale(1.25)}.ride-grid{display:grid;gap:10px}.ride-row{display:grid;grid-template-columns:1fr 120px 120px;gap:10px;align-items:center}.sticky-actions{position:sticky;bottom:0;background:rgba(243,244,246,.94);backdrop-filter:blur(5px);padding:12px 0;display:flex;gap:12px;justify-content:flex-end}.secondary{background:#111827}.delete-form{margin:20px 0;text-align:right}.danger{background:#991b1b}@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column}.container{padding:12px}.page-head{flex-direction:column;align-items:stretch}.grid,.cards,.filters{grid-template-columns:1fr}.field-row,.two-state .field-row{grid-template-columns:1fr;gap:10px}.field-row label{background:#f9fafb;padding:10px;border-radius:10px}.ride-row{grid-template-columns:1fr}.sticky-actions{justify-content:stretch;flex-direction:column}.sticky-actions button,.sticky-actions a{text-align:center;width:100%}}
.nav-active{background:rgba(255,255,255,.15)!important;border-color:transparent!important}.lookup-search{padding:20px}.lookup-form{width:100%}.lookup-input-row{display:flex;gap:12px;align-items:stretch}.lookup-reg{flex:1;margin-top:0;font-size:22px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:2px solid #d1d5db;border-radius:10px;padding:14px 18px}.lookup-input-row button{margin-top:0;flex-shrink:0;padding:14px 28px;font-size:16px}.lookup-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;padding:14px 18px;margin-bottom:14px;color:#991b1b}.lookup-result{background:white;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden;margin-bottom:14px}.lookup-header{background:#1d1f22;color:white;padding:18px 22px;display:flex;align-items:center;gap:20px}.lookup-plate{background:#f5c518;color:#111;font-size:28px;font-weight:900;letter-spacing:.08em;padding:8px 20px;border-radius:8px;border:3px solid #111}.lookup-identity{font-size:22px;font-weight:800}.lookup-make{color:white}.lookup-colour{color:#9ca3af;font-weight:400;margin-left:6px}.lookup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #e5e7eb}.lookup-card{padding:18px 20px;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.lookup-card:nth-child(3n){border-right:0}.lc-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:4px}.lc-value{font-size:20px;font-weight:800;color:#111827}.lc-sub{font-size:12px;color:#6b7280;margin-top:4px}.status-ok .lc-value{color:#166534}.status-ok{background:#f0fdf4}.status-fail .lc-value{color:#991b1b}.status-fail{background:#fef2f2}.lookup-actions{padding:16px 20px;display:flex;align-items:center;gap:20px;border-top:1px solid #e5e7eb}.lookup-checked{margin:0}.lookup-hint{background:white;border-radius:14px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,.06);color:#374151}.lookup-hint ul{margin:12px 0 0;padding-left:20px;line-height:2}@media(max-width:760px){.lookup-input-row{flex-direction:column}.lookup-grid{grid-template-columns:1fr 1fr}.lookup-card:nth-child(2n){border-right:0}.lookup-card:nth-child(3n){border-right:1px solid #e5e7eb}.lookup-header{flex-direction:column;align-items:flex-start;gap:10px}}
.photos-panel{margin-top:14px}.photos-empty{padding:8px 0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:18px}.photo-thumb{position:relative;border-radius:10px;overflow:hidden;background:#f3f4f6;border:1px solid #e5e7eb;aspect-ratio:4/3}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s}.photo-thumb:hover img{opacity:.88}.photo-meta{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.55);color:white;font-size:10px;padding:4px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-delete-form{position:absolute;top:5px;right:5px;margin:0}.photo-delete-btn{background:rgba(0,0,0,.6);color:white;border:0;border-radius:50%;width:26px;height:26px;font-size:16px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.photo-thumb:hover .photo-delete-btn{opacity:1}.upload-form{display:flex;flex-direction:column;gap:10px;margin-top:4px}.upload-zone{display:block;border:2px dashed #d1d5db;border-radius:12px;padding:24px 16px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:#fafafa}.upload-zone:hover,.upload-zone-over{border-color:#f15a24;background:#fff7f5}.upload-zone-ready{border-color:#16a34a;background:#f0fdf4}.upload-zone input[type=file]{display:none}.upload-zone-inner{display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.upload-icon{font-size:28px}.upload-text{font-weight:700;font-size:15px;color:#374151}.upload-hint{font-size:12px}.upload-btn{align-self:flex-end;padding:11px 22px}.upload-btn:disabled{background:#9ca3af;cursor:not-allowed}@media(max-width:760px){.photo-grid{grid-template-columns:repeat(2,1fr)}.upload-btn{width:100%}}
@media(hover:none){.photo-delete-btn{opacity:1;background:rgba(0,0,0,.7)}}
.drive-status{padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:4px}.drive-status.ok{background:#f0fdf4;border:1px solid #86efac;color:#166534}.drive-status.fail{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}
/* DNA app design: shared with the DNA4x4 orders workspace. */
:root{--red:#ed1c24;--ink:#17191c;--muted:#6d7680;--line:#e4e7ea;--surface:#fff}
body{background:#f3f4f5;color:var(--ink);font:14px Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}a{color:var(--red)}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 16px;border:0;border-radius:8px;background:var(--red);color:#fff;font-weight:750;text-decoration:none;line-height:1.35}button:hover,.button:hover{filter:brightness(.94)}button:disabled{background:#a8adb3;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ed1c2480;outline-offset:3px}.secondary{background:#fff!important;color:#4e5761!important;border:1px solid #d8dce0!important}.danger{background:#991b1b}.text-button{background:none;color:var(--red);padding:10px 0}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;padding:24px 16px 18px;display:flex;flex-direction:column;background:#1d1f22;color:#fff;z-index:25}.brand{display:flex;align-items:center;gap:10px;padding:0 6px 26px;color:#fff;text-decoration:none;letter-spacing:0}.brand img{width:54px;height:44px;object-fit:contain}.brand strong,.brand span{display:block}.brand strong{font-size:18px}.brand span{margin-top:2px;color:#aeb3ba;font-size:13px;font-weight:400}.sidebar nav{display:grid;gap:4px}.sidebar nav small{margin:10px 12px 7px;color:#818893;font-size:10px;letter-spacing:.1em;font-weight:700}.sidebar nav a,.sidebar nav a:first-child{padding:11px 12px;border:0;border-radius:8px;background:transparent;color:#bfc4ca;text-decoration:none;font-weight:600;min-height:43px}.sidebar nav a:hover,.sidebar nav a.active{background:#33363a;color:#fff}.account-summary{margin-top:auto;padding:17px 7px 0;border-top:1px solid #34373b;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:800;flex-shrink:0}.account-summary strong,.account-summary span{display:block}.account-summary span:not(.avatar){margin-top:2px;color:#969da6;font-size:11px}.account-summary button{min-height:32px;padding:3px;background:none;color:#bcc1c7;font-size:23px}.sidebar-version{padding:15px 7px 0;color:#828a94;font-size:10px}.workspace{margin-left:236px}.workspace-header{min-height:86px;padding:17px clamp(20px,3vw,42px);display:flex;align-items:center;border-bottom:1px solid var(--line);background:#fff;gap:14px}.workspace-header small{color:#9299a0;font-size:10px;font-weight:800;letter-spacing:.12em}.workspace-header h1{margin:2px 0 0;font-size:25px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:20px}.staff-only{font-size:12px;color:#55606a;white-space:nowrap}.staff-only i{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#2baa62;box-shadow:0 0 0 4px #dcf4e7}.container{max-width:1600px;margin:0 auto;padding:25px clamp(18px,3vw,42px) 40px}.mobile-menu-button{display:none}
h1{font-size:25px}h2{font-size:17px}p{line-height:1.55}.panel{border:1px solid var(--line);box-shadow:none;border-radius:11px;padding:20px;margin-bottom:18px}.panel h2{margin:0 0 14px}.panel:target{scroll-margin-top:20px}.page-head{margin-bottom:20px}.page-head p{margin:5px 0 0}.page-head h2{font-size:23px;margin:0}.inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.grid{gap:16px}.grid>input[type=hidden]{display:none}label{font-size:12px;color:#59616a;font-weight:750}input,select,textarea{min-height:42px;margin-top:7px;padding:10px 11px;border:1px solid #d9dde1;border-radius:8px;background:#fff;color:var(--ink);font-size:14px}input[type=checkbox],input[type=radio]{min-height:0;width:auto;accent-color:var(--red)}textarea{line-height:1.6}.muted{color:var(--muted);font-size:12px}.flash{border:1px solid #c6e6d5;border-radius:8px;background:#e7f5ed;color:#236540;padding:12px 14px}.flash.error{border-color:#efb4b4;background:#fde9e9;color:#992626}.flash.info{background:#edf3fd;color:#31588b;border-color:#bfd3ef}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.stats>a{min-height:98px;padding:18px;display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:11px;background:#fff;text-decoration:none;color:var(--ink)}.stats>a:hover{border-color:#c9ced4}.stats i{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-size:22px;font-style:normal;flex-shrink:0}.amber{background:#fff3d8;color:#a86808}.blue{background:#e6f2fd;color:#2469a8}.green{background:#e2f6ec;color:#238054}.purple{background:#eee8fb;color:#6848a6}.stats span,.stats strong{display:block}.stats span{color:var(--muted);font-size:12px}.stats strong{margin-top:3px;font-size:27px}.filters{display:grid;grid-template-columns:minmax(160px,1fr) 200px 105px;gap:10px;background:transparent;padding:0;border-radius:0;margin-bottom:22px}.filters input,.filters select{margin:0;min-height:43px}.filter-clear{grid-column:1/-1;justify-self:start;font-size:12px}.results-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 13px}.results-head h2{margin:0;font-size:16px}.results-head>span{color:var(--muted);font-size:12px}.cards{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.job-card{padding:20px;border:1px solid var(--line);border-radius:11px;box-shadow:none;background:#fff;min-width:0}.job-title{font-size:18px;align-items:flex-start;flex-wrap:wrap;gap:8px}.registration{color:var(--ink);font-weight:850;letter-spacing:.03em;text-decoration:none}.job-card h3{font-size:15px;margin:15px 0 5px}.job-card h3 span{color:var(--muted);font-weight:400}.customer-name{color:#59616a;margin:0 0 18px}.job-meta{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eef0f2;padding-top:13px;font-size:11px;color:var(--muted);flex-wrap:wrap}.status{padding:5px 8px;border-radius:6px;font-size:11px;font-weight:750;background:#eceeef;color:#626b73;white-space:normal}.status-in-progress{background:#e8f3fc;color:#28628f}.status-waiting-parts{background:#fff4dc;color:#94610a}.status-ready-for-collection{background:#e3f5eb;color:#1f7950}.status-draft{background:#eee9f8;color:#6c4da0}.card-actions{display:flex;align-items:center;gap:18px;margin-top:18px}.card-actions a{font-weight:750}.card-actions form{margin:0}.empty{grid-column:1/-1;padding:50px 20px;text-align:center;border:1px dashed #cdd3d9;background:#fff}.empty p{margin:10px 0 22px}.sticky-actions{background:#f3f4f5ed;z-index:10;gap:10px;padding:14px 0;bottom:0}.field-row,.two-state .field-row{padding:12px;border:1px solid var(--line)}.field-row span{font-size:13px}.field-row label{font-size:12px}.field-row input{transform:none}.photo-delete-btn{min-height:26px}.photo-thumb .photo-delete-form input[type=hidden]{display:none}.upload-zone:hover,.upload-zone-over{border-color:var(--red);background:#fff7f7}
.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:#1d1f22}.login-card{width:min(420px,100%);padding:30px;border-radius:14px;background:#fff;box-shadow:0 20px 60px #0005}.login-brand{display:flex;align-items:center;gap:12px;background:#1d1f22;border-radius:9px;padding:14px;margin-bottom:27px;color:#fff}.login-brand img{width:60px;height:50px;object-fit:contain}.login-brand strong,.login-brand span{display:block}.login-brand strong{font-size:18px}.login-brand span{margin-top:2px;font-size:13px;color:#aeb3ba}.login-card h1{margin:0;font-size:25px}.login-card>p{margin:7px 0 22px;color:var(--muted)}.login-card form{display:grid;gap:15px}.login-card label{display:grid;gap:0}.login-card button{margin-top:5px;min-height:43px}.login-note{margin:23px 0 0!important;text-align:center;font-size:11px}.narrow-panel{max-width:650px}.stack-form{display:grid;gap:14px}.stack-form>p{margin:0}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.section-head h2{margin:0}.section-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.version-pill{padding:6px 10px;border:1px solid var(--line);background:#f7f8f9;border-radius:7px;font-size:11px;white-space:nowrap;color:#59616a}.settings-nav{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px}.settings-nav a{padding:9px 13px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#59616a;text-decoration:none;font-size:12px;font-weight:700}.update-layout{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(260px,1.15fr);gap:24px}.update-state{padding:18px;border:1px solid var(--line);border-radius:9px;background:#fafbfb;align-self:start}.update-state span,.update-state strong,.update-state small{display:block}.update-state span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.update-state strong{margin:9px 0;font-size:14px;line-height:1.5}.update-state small{color:var(--muted);font-size:11px}.update-state.failed{border-color:#efb4b4;background:#fff5f5}.update-state.completed{border-color:#abd8bd;background:#f2fbf5}.setup-note{font-size:13px;background:#fff8df;border-radius:9px;padding:17px;color:#766129}.setup-note p{margin:8px 0 0}.staff-row{display:grid;grid-template-columns:minmax(100px,.75fr) minmax(120px,1fr) 130px minmax(145px,1.2fr) 68px auto;gap:13px;align-items:end;padding:18px 0;border-top:1px solid var(--line)}.staff-identity{display:flex;align-items:center;gap:10px;align-self:center;min-width:0}.staff-identity small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.staff-row label{min-width:0}.toggle-label{display:flex;gap:6px;align-items:center;align-self:center}.toggle-label input{margin:0}.add-staff{margin-top:15px;border:1px solid var(--line);border-radius:9px;padding:15px}.add-staff summary{font-weight:750;cursor:pointer}.add-staff .grid{margin-top:20px}.integration-form{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:end;margin-top:20px}.sync-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;margin-bottom:20px}.sync-summary>div{padding:17px;border:1px solid var(--line);border-radius:8px;background:#fafbfb}.sync-summary strong,.sync-summary span{display:block}.sync-summary strong{font-size:23px}.sync-summary .last-sync{font-size:14px;min-height:28px;line-height:28px}.sync-summary span{color:var(--muted);font-size:11px;margin-top:3px}
@media(max-width:1200px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-row{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-identity{grid-column:1/-1}.cards{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{position:relative;width:100%;height:auto;padding:14px;flex-direction:row;align-items:center}.brand{padding:0}.brand img{width:45px;height:36px}.brand strong{font-size:16px}.brand span{font-size:11px}.sidebar nav{display:none}.sidebar.menu-open nav{position:absolute;top:calc(100% + 6px);left:10px;right:10px;padding:12px;display:grid;gap:4px;border:1px solid #3c3f43;border-radius:11px;background:#1d1f22;box-shadow:0 14px 35px #0006}.sidebar nav a{min-height:45px}.mobile-menu-button{width:42px;min-height:42px;margin-left:auto;padding:10px;display:grid;align-content:center;gap:5px;border:1px solid #464a4f;border-radius:8px;background:#292c30}.mobile-menu-button span{width:20px;height:2px;display:block;border-radius:2px;background:#fff}.account-summary{margin:0 0 0 10px;padding:0;border:0;display:flex}.account-summary>div{display:none}.account-summary form{display:none}.account-summary .avatar{width:31px;height:31px}.sidebar-version{display:none}.workspace{margin-left:0}.workspace-header{min-height:74px;padding:14px 16px}.workspace-header h1{font-size:22px}.staff-only{display:none}.header-actions{gap:0}.header-actions .button{font-size:12px;min-height:37px;padding:8px 11px}.container{padding:16px 12px 30px}.stats{gap:9px;margin-bottom:18px}.stats>a{min-height:83px;padding:13px;gap:9px}.stats i{width:32px;height:36px;font-size:19px}.stats span{font-size:10px}.stats strong{font-size:23px}.filters{grid-template-columns:minmax(0,1fr) auto;gap:9px}.filters input{grid-column:1/-1}.filters select{width:100%;min-width:0}.panel{padding:16px;margin-bottom:14px}.grid{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:stretch}.page-head .inline-actions{display:grid;grid-template-columns:1fr 1fr}.job-card{padding:16px}.status{font-size:10px}.registration{font-size:17px}.sticky-actions{flex-direction:row;justify-content:stretch}.sticky-actions button{width:auto;flex:1}.field-row,.two-state .field-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.two-state .field-row{grid-template-columns:repeat(3,minmax(0,1fr))}.field-row>span{grid-column:1/-1;margin-bottom:4px}.field-row label{background:#f7f8f9;padding:8px 5px;justify-content:center;font-size:11px;border-radius:6px}.ride-row{grid-template-columns:1fr 1fr}.ride-row strong{grid-column:1/-1;font-size:13px}.update-layout{grid-template-columns:1fr;gap:16px}.staff-row{grid-template-columns:1fr 1fr}.staff-row>label:nth-of-type(3){grid-column:1/-1}.staff-row button{grid-column:2}.section-head{flex-direction:column;gap:9px}.integration-form{grid-template-columns:1fr}.sync-summary{gap:8px;grid-template-columns:1fr 1fr}.sync-summary>div:last-child{grid-column:1/-1}.login-card{padding:24px}.lookup-grid{grid-template-columns:1fr 1fr}.lookup-plate{font-size:25px}.lookup-identity{font-size:20px}}

.mobile-logout{display:none}@media(max-width:760px){.mobile-logout{display:block;margin:8px 0 0}.mobile-logout button{width:100%}}

.account-summary .avatar{display:grid;place-items:center}.staff-identity>div{min-width:0}.staff-identity strong{overflow-wrap:anywhere}
