*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f4f6;color:#111827;font:15px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}header{position:sticky;top:0;z-index:10;background:#111827;color:#fff;padding:11px max(14px,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:center;gap:12px}h1{font-size:21px;margin:0}h2{font-size:20px;margin:0 0 12px}h3{font-size:17px;margin:0 0 9px}.sub,.meta{color:#6b7280;font-size:13px}.header-actions{display:flex;gap:6px}main{max-width:1250px;margin:auto;padding:14px 14px 60px}.card,.subcard{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:15px;margin-bottom:14px;box-shadow:0 1px 2px #00000008}.subcard{background:#f9fafb}.hidden{display:none!important}.row{display:flex;gap:10px;align-items:center}.between{justify-content:space-between}.grid{display:grid;gap:12px}.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-bottom:14px}.stat{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:13px}.stat span{display:block;color:#6b7280;font-size:13px}.stat b{font-size:24px;display:block;margin-top:4px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.span2{grid-column:span 2}label{display:block;font-weight:600;font-size:13px;margin-bottom:10px}input,select,textarea,button{font:inherit}input,select,textarea{display:block;width:100%;margin-top:5px;border:1px solid #d1d5db;border-radius:9px;padding:10px;background:#fff}textarea{min-height:80px;resize:vertical}input[type=checkbox]{display:inline;width:auto;margin:0 7px 0 0;vertical-align:middle}button{border:0;border-radius:9px;padding:10px 13px;background:#111827;color:#fff;font-weight:650;cursor:pointer;margin:3px}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#eef2f7;color:#111827}.danger{background:#fee2e2;color:#991b1b}.tabs{display:flex;gap:6px;overflow:auto;padding:4px 0 10px;position:sticky;top:64px;background:#f3f4f6;z-index:8}.tabs button{white-space:nowrap;background:#e5e7eb;color:#111827}.tabs button.active{background:#111827;color:#fff}.userbar{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 9px}.badge,.pill{display:inline-block;background:#e5e7eb;border-radius:999px;padding:4px 8px;font-size:12px}.toolbar,.filters,.history-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}.filters input{flex:1;min-width:220px}.vehicle,.listrow{border:1px solid #e5e7eb;border-radius:11px;padding:12px;margin:8px 0;background:#fff}.vehicle h3{margin:0 0 4px}.actions{display:flex;gap:4px;flex-wrap:wrap}.msg{min-height:20px;margin:8px 0;color:#b91c1c}.msg.ok{color:#047857}.status-inline{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.inspection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.inspection{padding:10px;border-radius:10px;border:1px solid #e5e7eb}.inspection.ok{background:#ecfdf5}.inspection.warn{background:#fffbeb}.inspection.bad{background:#fef2f2}.checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:7px;margin:10px 0}.checkitem{padding:9px;border:1px solid #e5e7eb;border-radius:9px;background:#fff}.checkitem.bad{border-color:#fecaca;background:#fef2f2}.checkitem label{margin:0;font-weight:500}.modal{position:fixed;inset:0;background:#0008;z-index:30;padding:15px;overflow:auto}.modalbox{max-width:760px;margin:5vh auto;background:#fff;border-radius:15px;padding:16px}.table{width:100%;overflow:auto}.table table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:9px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.table th{background:#f9fafb}.alert{padding:10px;border-radius:9px;margin:7px 0;background:#fef2f2}.alert.warn{background:#fffbeb}.alert.info{background:#eff6ff}.alert.ok{background:#ecfdf5}.readiness{padding:11px;border-radius:10px;border:1px solid #e5e7eb}.readiness.good{background:#ecfdf5}.readiness.warn{background:#fffbeb}.readiness.bad{background:#fef2f2}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.photo-item{padding:8px;border:1px solid #e5e7eb;border-radius:9px;background:#fff}.qrbox{display:flex;justify-content:center;padding:12px;background:#fff}.small{font-size:12px}.muted{color:#6b7280}.printarea{background:#fff;padding:20px}.nowrap{white-space:nowrap}@media(max-width:700px){main{padding:10px}.tabs{top:59px}.formgrid{grid-template-columns:1fr}.span2{grid-column:auto}.actions{flex-wrap:wrap}.stat b{font-size:21px}.modalbox{margin:2vh auto}.table table{min-width:650px}}@media print{header,.tabs,.userbar,button,.toolbar,.filters,.msg{display:none!important}body,main,.card,.subcard{background:#fff!important;box-shadow:none!important;border:0!important}.tab.hidden{display:block!important}.card{page-break-inside:avoid}.printarea{display:block}}
.danger-text{color:#b91c1c}.tabs button[data-admin-only].hidden{display:none!important}.table select{margin:0;min-width:150px}.table button{white-space:nowrap}

.checklist{display:grid;gap:8px;margin:10px 0}
.checkrow{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff}
.checkrow input{width:18px;height:18px}

#tab-trips .formgrid{margin-top:10px}.full{grid-column:1/-1}

:root{--bg:#f4f7fb;--card:#fff;--ink:#172033;--muted:#667085;--line:#e3e8ef;--accent:#0b6ef3;--accent2:#0a58ca;--danger:#c62828;--shadow:0 8px 28px rgba(16,24,40,.07)}
body{background:linear-gradient(135deg,#f6f9fc 0%,#eef3f9 100%);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.card,.subcard{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;background:rgba(255,255,255,.96)}
button{border:0;border-radius:10px;padding:10px 14px;font-weight:600;transition:.15s;cursor:pointer}
button:not(.secondary){background:var(--accent);color:white}
button:not(.secondary):hover{background:var(--accent2);transform:translateY(-1px)}
.secondary{background:#eef2f6!important;color:#263244!important;border:1px solid #d8dee8!important}
.danger{color:#a51d1d!important}
.navbtn{border-radius:10px;margin:3px}
input,select,textarea{border:1px solid #d5dce6;border-radius:10px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(11,110,243,.10)}
h1,h2,h3{letter-spacing:-.02em}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin-top:16px}
.permission-item{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fafcff}
.permission-item input{width:18px;height:18px}

.status.ok{color:#198754;font-weight:700}.system-note{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafcff}

/* V9 visual refresh */
body{background:radial-gradient(circle at top left,#f8fbff 0,#eef3f9 42%,#e9eef5 100%);line-height:1.45}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(216,224,234,.85);box-shadow:0 8px 30px rgba(15,23,42,.06)}
header h1{font-size:clamp(1.25rem,2vw,1.65rem);margin-bottom:2px}.tabs{position:sticky;top:78px;z-index:15;background:rgba(244,247,251,.92);backdrop-filter:blur(12px);padding:8px;border-radius:14px;border:1px solid rgba(216,224,234,.8);margin-bottom:14px}
.tabs button{font-size:.88rem;padding:9px 11px}.tabs button.active{box-shadow:0 5px 18px rgba(11,110,243,.2)}
.stats{gap:12px}.stat{border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:var(--shadow);padding:16px}.stat b{font-size:1.55rem}
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.dashboard-mini{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.dashboard-mini span{display:block;color:var(--muted);font-size:.85rem}.dashboard-mini b{display:block;font-size:1.35rem;margin-top:4px}
.vehicle-detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:14px 0}.vehicle-detail-metrics>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.vehicle-detail-metrics span{display:block;color:var(--muted);font-size:.8rem}.vehicle-detail-metrics b{display:block;font-size:1.2rem;margin-top:4px}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:14px}.permission-item{display:flex;gap:10px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.permission-item input{width:18px;height:18px}
@media(max-width:760px){.tabs{top:64px}.tabs button{flex:1 1 auto}.formgrid{grid-template-columns:1fr!important}.span2,.full{grid-column:auto!important}.table{overflow-x:auto}.row.between{gap:8px;flex-wrap:wrap}}
@media print{header,.tabs,.userbar,button,.actions,.toolbar,.modal{display:none!important}body{background:#fff}.card,.subcard{box-shadow:none;break-inside:avoid}}

.brand-block{min-width:210px}.global-search{position:relative;flex:1;max-width:520px}.global-search input{margin:0;background:rgba(255,255,255,.96);min-height:40px}.search-results{position:absolute;left:0;right:0;top:46px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.14);padding:6px;z-index:50}.search-result{display:flex;width:100%;text-align:left;flex-direction:column;gap:2px;background:#fff!important;color:var(--ink)!important;border:0!important;border-radius:10px;padding:10px 12px;margin:2px 0}.search-result:hover{background:#f3f7fd!important}.search-result span{font-size:.78rem;color:var(--muted)}.search-empty{padding:12px;color:var(--muted)}.quick-actions{display:flex;flex-wrap:wrap;gap:3px}.quick-actions button{font-size:.8rem}.status.ok{color:#198754;font-weight:700}@media(max-width:900px){header{flex-wrap:wrap}.brand-block{flex:1}.global-search{order:3;flex-basis:100%;max-width:none}.global-search .search-results{top:45px}}

.brand-block h1{font-weight:800}.quick-actions{align-items:center}.search-results.hidden{display:none!important}.global-search{min-width:260px}.global-search input{border-radius:12px}.dashboard-mini{transition:transform .15s,box-shadow .15s}.dashboard-mini:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(15,23,42,.07)}
/* V10 Checklisten-Designer */
.designer-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}
.designer-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:16px}
.designer-sidebar,.designer-main{border:1px solid var(--line);border-radius:14px;background:#fbfdff;padding:12px}
.designer-sidebar h3{margin:4px 0 10px}
.designer-list-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid transparent;border-radius:10px;margin-bottom:6px;background:#fff;cursor:pointer}
.designer-list-item:hover{border-color:#cbd5e1}
.designer-list-item.selected{border-color:var(--accent);box-shadow:0 0 0 2px rgba(11,110,243,.08)}
.designer-main-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:14px}
.designer-group{border:1px solid var(--line);border-radius:12px;margin:10px 0;overflow:hidden;background:#fff}
.designer-cat-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;background:#f4f7fb;border-bottom:1px solid var(--line)}
.designer-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid #eef1f5}
.designer-item:last-child{border-bottom:0}
.designer-item-main{display:flex;align-items:center;gap:10px;min-width:0}
.dragnum{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#eef2f7;font-size:12px}
.designer-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.small{padding:7px 9px;font-size:12px}
.check-group{margin-bottom:12px}
.check-group-title{font-weight:700;padding:8px 10px;background:#eef4ff;border-radius:10px;margin-bottom:6px}
.check-item-label{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.required{font-size:10px;padding:2px 6px;border-radius:999px;background:#fff0f0;color:#b42318}
.unit{font-size:11px;color:var(--muted)}
.tolerance{font-size:11px;color:var(--muted)}
.checkrow-value{display:grid;grid-template-columns:1fr minmax(160px,300px);gap:14px;align-items:center}
.check-input input,.check-input textarea,.check-input select{width:100%;box-sizing:border-box}
.checkrow-bool{display:flex;align-items:center;gap:10px}
.checkrow-bool .check-state{font-size:11px;color:var(--muted)}
.check-help{font-size:11px;color:var(--muted);margin-top:4px}
@media (max-width:780px){
 .designer-layout{grid-template-columns:1fr}
 .designer-main-head{flex-direction:column}
 .checkrow-value{grid-template-columns:1fr}
}
@media print{
 .designer-toolbar,.designer-sidebar,.designer-actions{display:none!important}
}

/* =========================
   V11 – completely new layout
   ========================= */
:root{
  --v11-sidebar:#0d1b2a;
  --v11-sidebar-2:#14273c;
  --v11-accent:#1677ff;
  --v11-accent-soft:#eaf2ff;
  --v11-bg:#f4f7fb;
  --v11-card:#ffffff;
  --v11-text:#152235;
  --v11-muted:#708096;
  --v11-line:#e3e8ef;
  --v11-shadow:0 12px 32px rgba(13,27,42,.08);
}
*{box-sizing:border-box}
body{margin:0;background:var(--v11-bg);color:var(--v11-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 78% -8%,rgba(22,119,255,.08),transparent 35%)}

main{max-width:none;margin:0;padding:0}
#app{min-height:100vh}
.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--v11-sidebar) 0%,#0a1522 100%);color:#fff;padding:20px 14px;display:flex;flex-direction:column;z-index:30}
.sidebar-brand{display:flex;align-items:center;gap:11px;padding:6px 8px 22px;border-bottom:1px solid rgba(255,255,255,.09)}
.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#1a87ff,#1855a9);font-size:21px;box-shadow:0 8px 22px rgba(0,0,0,.25)}
.brand-name{font-size:16px;font-weight:800;letter-spacing:-.02em}
.brand-sub{font-size:11px;color:#a9bad0;margin-top:2px}
.sidebar-section-title{padding:18px 10px 7px;font-size:10px;font-weight:800;letter-spacing:.14em;color:#7f94aa}
.tabs{display:flex;flex-direction:column;gap:4px;overflow:auto;padding-right:2px}
.tabs button{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:#c8d4e2;padding:10px 11px;border-radius:10px;font-weight:650;font-size:13px;display:flex;align-items:center;gap:9px;white-space:nowrap}
.tabs button:hover{background:rgba(255,255,255,.07);color:#fff;transform:none}
.tabs button.active{background:linear-gradient(90deg,rgba(22,119,255,.22),rgba(22,119,255,.08));color:#fff;border-color:rgba(88,154,255,.28);box-shadow:inset 3px 0 0 #4ea0ff}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding:13px 7px 2px}
.sidebar-status{display:flex;align-items:center;gap:7px;color:#9eb2c8;font-size:11px;margin-bottom:9px}
.status-dot{width:8px;height:8px;border-radius:50%;background:#36d399;box-shadow:0 0 0 4px rgba(54,211,153,.12)}
.sidebar-settings{width:100%;background:rgba(255,255,255,.06)!important;color:#cad7e5!important;border:1px solid rgba(255,255,255,.08)!important}
.workspace{min-width:0;background:var(--v11-bg)}
.topbar{min-height:84px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--v11-line);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 28px;position:sticky;top:0;z-index:20}
.topbar-title .eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#8190a6}
.topbar-title h1{font-size:22px;margin:2px 0 0;letter-spacing:-.03em}
.topbar-tools{display:flex;align-items:center;gap:12px;min-width:0}
.topbar .global-search{position:relative;width:min(420px,42vw)}
.topbar .global-search input{height:42px;padding-left:14px;background:#f7f9fc;border:1px solid #dbe2ea;border-radius:12px}
.userbar{display:flex;align-items:center;gap:10px;border:1px solid var(--v11-line);background:#fff;border-radius:12px;padding:6px 7px 6px 11px;white-space:nowrap;box-shadow:0 4px 16px rgba(16,24,40,.05);font-size:12px}
.userbar .badge{margin-left:4px}
.userbar #logout{padding:8px 10px}
.workspace-content{padding:26px 28px 48px;max-width:1600px}
#globalMsg{margin:0 0 10px}
.tab{animation:v11fade .18s ease-out}
@keyframes v11fade{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}
.card,.subcard{background:var(--v11-card);border:1px solid var(--v11-line);border-radius:16px;box-shadow:var(--v11-shadow)}
.card{padding:20px}
.subcard{padding:16px}
.card h2{font-size:19px;margin:0 0 12px}
.card h3{font-size:15px}
.stats{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:18px}
.stat{background:#fff;border:1px solid var(--v11-line);border-radius:15px;padding:15px 14px;box-shadow:var(--v11-shadow);min-height:92px;position:relative;overflow:hidden}
.stat:after{content:"";position:absolute;right:-18px;top:-18px;width:62px;height:62px;border-radius:50%;background:var(--v11-accent-soft)}
.stat span{font-size:11px;color:var(--v11-muted);display:block;max-width:88%}
.stat b{display:block;margin-top:8px;font-size:26px;letter-spacing:-.04em;position:relative;z-index:1}
.grid.two{gap:16px}
.quick-actions{display:flex;gap:7px;flex-wrap:wrap}
button{border-radius:10px;border:0;padding:10px 14px;font-weight:700}
button:not(.secondary){background:var(--v11-accent);box-shadow:0 6px 18px rgba(22,119,255,.18)}
button:not(.secondary):hover{background:#1265d4;transform:translateY(-1px)}
.secondary{background:#f3f6fa!important;color:#304159!important;border:1px solid #dbe2eb!important;box-shadow:none!important}
.filters{gap:8px}
.table{border:1px solid var(--v11-line);border-radius:12px;overflow:auto}
.table table{border-collapse:collapse;width:100%;background:#fff}
.table th{background:#f7f9fc;color:#63728a;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.table th,.table td{padding:11px 12px;border-bottom:1px solid #edf1f5}
.table tbody tr:hover{background:#fbfdff}
input,select,textarea{border:1px solid #d5dce6;border-radius:10px;background:#fff;padding:10px 11px;color:var(--v11-text)}
input:focus,select:focus,textarea:focus{outline:none;border-color:#78aefb;box-shadow:0 0 0 3px rgba(22,119,255,.10)}
.modal{backdrop-filter:blur(7px);background:rgba(10,20,32,.42)}
.modalbox{border-radius:18px;border:1px solid var(--v11-line);box-shadow:0 30px 80px rgba(0,0,0,.22)}
.mobile-menu{display:none;background:#eef3fa!important;color:#24344b!important;border:1px solid #dbe2eb!important;padding:9px 11px}
.hidden{display:none!important}

/* Login/setup deliberately independent from the main app shell */
#setup{width:min(460px,calc(100vw - 32px));margin:12vh auto;padding:30px;border-radius:20px;box-shadow:0 24px 60px rgba(13,27,42,.12)}
#login h2,#setup h2{font-size:24px}
@media (max-width:1180px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:850px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:fixed;left:-275px;top:0;width:260px;transition:left .2s ease;height:100vh;box-shadow:14px 0 34px rgba(0,0,0,.18)}
  body.sidebar-open .sidebar{left:0}
  .mobile-menu{display:inline-flex}
  .topbar{padding:12px 16px;min-height:72px}
  .topbar-title h1{font-size:18px}
  .topbar .global-search{display:none}
  .userbar{font-size:10px}
  .workspace-content{padding:16px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .topbar-title .eyebrow{display:none}
  .userbar>div{max-width:145px;overflow:hidden;text-overflow:ellipsis}
  .userbar #logout{font-size:11px;padding:7px 8px}
  .stats{grid-template-columns:1fr 1fr}
  .card{padding:15px}
}

/* =========================================
   V13 – clean, calm desktop/mobile layout
   ========================================= */
html,body{min-height:100%;overflow-x:hidden}
body{background:#f5f7fa;color:#1f2937}
body:before{display:none!important}
#app{min-height:100vh}
.app-shell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh;background:#f5f7fa}
.sidebar{position:fixed;inset:0 auto 0 0;width:226px;height:100vh;background:#15202b;color:#e7edf4;padding:16px 12px;display:flex;flex-direction:column;z-index:50;border-right:1px solid #253442;box-shadow:8px 0 24px rgba(15,23,42,.08)}
.sidebar-brand{padding:3px 7px 16px;border-bottom:1px solid #2a3947}
.brand-mark{width:38px;height:38px;border-radius:10px;background:#223446;box-shadow:none;font-size:19px}
.brand-name{font-size:14px}
.brand-sub{font-size:10px;color:#93a6b9}
.sidebar-search{display:flex;align-items:center;gap:7px;background:#1e2d3b;border:1px solid #304353;border-radius:9px;padding:0 9px;margin:12px 1px 10px}
.sidebar-search span{font-size:18px;color:#9fb1c4}
.sidebar-search input{height:34px;background:transparent;border:0!important;box-shadow:none!important;color:#edf3f8;padding:0;width:100%;font-size:11px}
.sidebar-search input::placeholder{color:#8297aa}
.nav-group{min-height:0;flex:1;display:flex;flex-direction:column}
.nav-group-title{font-size:9px;letter-spacing:.14em;font-weight:800;color:#71879b;padding:8px 8px 7px}
.tabs{display:flex!important;flex-direction:column;gap:2px;overflow:auto;padding-right:2px}
.tabs button{display:flex!important;align-items:center;gap:9px;text-align:left;width:100%;background:transparent!important;color:#aebdcb!important;border:0!important;border-left:3px solid transparent!important;border-radius:7px!important;padding:9px 10px!important;font-size:11px!important;font-weight:650;box-shadow:none!important;transform:none!important}
.tabs button span:first-child{width:18px;display:inline-grid;place-items:center;opacity:.9}
.tabs button:hover{background:#1b2a38!important;color:#f7fafc!important}
.tabs button.active{background:#203244!important;color:#fff!important;border-left-color:#6aa7ff!important}
.tabs button.menu-filtered{display:none!important}
.sidebar-footer{border-top:1px solid #2a3947;padding:10px 1px 1px}
.sidebar-status{color:#8ea2b5;font-size:9px;margin-bottom:8px}
.sidebar-settings{background:#1d2c3a!important;color:#d4dfea!important;border:1px solid #2e4151!important;border-radius:8px!important;font-size:10px;padding:9px!important;box-shadow:none!important}
.workspace{grid-column:2;min-width:0;background:#f5f7fa}
.topbar{position:sticky;top:0;z-index:35;min-height:76px;padding:14px 24px;background:rgba(255,255,255,.96);border-bottom:1px solid #e5e9ee;display:flex;justify-content:space-between;align-items:center;gap:18px;backdrop-filter:blur(10px)}
.topbar-left{display:flex;align-items:center;gap:11px}
.topbar-title,.topbar-left>div{min-width:150px}
.topbar .eyebrow{font-size:8px;color:#91a0b1;letter-spacing:.13em;font-weight:800}
.topbar h1{font-size:20px;line-height:1.15;margin:3px 0 0;color:#172233}
.topbar-tools{display:flex;align-items:center;gap:10px;min-width:0}
.topbar .global-search{position:relative;width:min(430px,38vw);margin:0}
.topbar .global-search input{height:38px;padding-left:34px;background:#f7f9fb;border:1px solid #dfe5eb;border-radius:9px;font-size:11px}
.search-icon{position:absolute;left:12px;top:9px;color:#8391a3;font-size:17px;z-index:1}
.userbar{display:flex;align-items:center;gap:8px;border:1px solid #e1e6ec;background:#fff;border-radius:10px;padding:6px 6px 6px 7px;box-shadow:none}
.user-avatar{width:31px;height:31px;border-radius:8px;background:#edf3fb;color:#2e67aa;display:grid;place-items:center;font-size:10px;font-weight:800}
.user-summary{display:flex;flex-direction:column;line-height:1.1;min-width:85px}
.user-summary b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-summary span{font-size:8px;color:#8896a7;margin-top:3px}
.userbar #logout{font-size:9px;padding:7px 9px}
.workspace-content{padding:24px;max-width:1680px;margin:0 auto}
.msg{font-size:11px}
.tab{animation:v13fade .16s ease-out}
@keyframes v13fade{from{opacity:.4;transform:translateY(2px)}to{opacity:1;transform:none}}
.dashboard-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}
.section-kicker{font-size:8px;font-weight:800;letter-spacing:.14em;color:#8b98a8}
.dashboard-head h2{font-size:24px;line-height:1.1;margin:4px 0;color:#172233}
.dashboard-actions{display:flex;gap:7px;flex-wrap:wrap}
.dashboard-actions button{font-size:10px;padding:9px 12px}
.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}
.stat{min-height:104px;padding:16px;border:1px solid #e4e8ed;border-radius:13px;box-shadow:0 5px 18px rgba(15,23,42,.045);background:#fff}
.stat:after{display:none}
.stat span{font-size:10px;color:#7b8898;text-transform:none}
.stat b{font-size:27px;margin-top:8px}
.stat small{font-size:9px;color:#9aa6b4;display:block;margin-top:5px}
.stat-ready b{color:#1c7f4d}.stat-warning b{color:#b77709}.stat-danger b{color:#b53a43}
.dashboard-grid-main{display:grid;grid-template-columns:1.2fr 1fr .85fr;gap:12px;margin-bottom:12px}
.dashboard-card{padding:17px;border:1px solid #e4e8ed;border-radius:13px;box-shadow:0 5px 18px rgba(15,23,42,.045);background:#fff}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:13px}
.card-head h3{font-size:14px;margin:0;color:#273448}
.card-head .sub{display:block;font-size:9px;color:#97a3b1;margin-top:4px}
.card-icon{width:27px;height:27px;border-radius:8px;background:#f1f4f8;color:#6d7d90;display:grid;place-items:center;font-size:12px;font-weight:800}
.alert-list{display:grid;gap:7px}
.alert-list>*{border:1px solid #edf0f3;border-radius:9px!important;background:#fbfcfd!important;padding:10px!important}
.status-summary-list{display:grid;gap:7px}
.status-summary-list>*{border:1px solid #edf0f3;border-radius:9px!important;background:#fbfcfd!important;padding:10px!important}
.due-list{display:grid;gap:6px}
.due-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #eff2f5}
.due-item:last-child{border-bottom:0}
.due-item b,.due-item span{display:block;font-size:10px}
.due-item div span{color:#98a4b2;font-size:8px;margin-top:2px}
.due-date{color:#657487;font-weight:700}
.due-bad{color:#b83c46;font-weight:800}
.vehicle-overview-card{margin-bottom:12px}
.vehicle-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.vehicle-overview-card{background:#fff;border:1px solid #e5e9ee;border-radius:10px!important;padding:11px!important;text-align:left;display:flex;flex-direction:column;gap:4px;color:#263446!important;box-shadow:none!important}
.vehicle-overview-card:hover{border-color:#bfd0e4;transform:translateY(-1px)!important}
.vo-top{display:flex;justify-content:space-between;align-items:center}
.vehicle-type{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#9aa6b4}
.vehicle-overview-card strong{font-size:11px}
.vehicle-overview-card>span:not(.vo-top),.vehicle-overview-card small{font-size:8px;color:#8d99a7}
.readiness-dot{width:8px;height:8px;border-radius:50%;background:#98a5b4}
.readiness-dot.good{background:#32a56d}.readiness-dot.warn{background:#d49a2e}.readiness-dot.bad{background:#c34b53}
.dashboard-bottom{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}
.open-items-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.open-item{display:flex;align-items:center;gap:9px;text-align:left;background:#fbfcfd;border:1px solid #e8edf1;border-radius:9px!important;padding:11px!important;color:#263446!important;box-shadow:none!important}
.open-item:hover{border-color:#cbd7e3;transform:none!important}
.open-icon{font-size:14px}.open-item span:nth-child(2){flex:1;display:flex;flex-direction:column}.open-item b{font-size:10px}.open-item small{font-size:8px;color:#9aa6b4;margin-top:2px}.open-item strong{font-size:18px}
.cost-summary{min-height:80px}
.empty-state{padding:18px;color:#98a4b1;font-size:10px;text-align:center;border:1px dashed #dfe5ea;border-radius:9px}
.card,.subcard{box-shadow:0 5px 18px rgba(15,23,42,.045)}
.table{border-radius:10px}
.table th{font-size:9px;padding:9px 10px}
.table td{font-size:10px;padding:9px 10px}
button{border-radius:8px}
.secondary{background:#f5f7f9!important;color:#324257!important;border-color:#e1e6ec!important}
.mobile-menu{display:none;background:#f3f6f8!important;color:#334155!important;border:1px solid #dfe5eb!important}
@media (max-width:1180px){
 .dashboard-grid-main{grid-template-columns:1fr 1fr}
 .dashboard-grid-main>.dashboard-card:last-child{grid-column:1/-1}
 .vehicle-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
 .app-shell{display:block}
 .sidebar{left:-240px;transition:left .2s ease;width:226px}
 body.sidebar-open .sidebar{left:0}
 .workspace{margin-left:0}
 .mobile-menu{display:inline-flex}
 .topbar{padding:12px 15px}
 .topbar .global-search{display:none}
 .workspace-content{padding:15px}
 .dashboard-head{align-items:flex-start;flex-direction:column}
 .dashboard-actions{width:100%}
 .dashboard-actions button{flex:1}
 .dashboard-grid-main{grid-template-columns:1fr}
 .dashboard-grid-main>.dashboard-card:last-child{grid-column:auto}
 .dashboard-bottom{grid-template-columns:1fr}
 .dashboard-stats{grid-template-columns:1fr 1fr}
 .vehicle-overview-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:540px){
 .dashboard-head h2{font-size:19px}
 .dashboard-stats{grid-template-columns:1fr 1fr}
 .vehicle-overview-grid{grid-template-columns:1fr}
 .open-items-grid{grid-template-columns:1fr}
 .topbar h1{font-size:17px}
 .topbar-tools{gap:5px}
 .user-summary{display:none}
 .userbar{padding:5px}
}

/* V0.1 – Admin-Konfiguration */
.admin-tabs{display:flex;gap:7px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:15px;border-bottom:1px solid #e3e8ef}
.admin-panel-body{min-height:180px}
.admin-person-box{margin-top:15px;padding:15px;border:1px solid #e3e8ef;border-radius:12px;background:#fbfcfe}
.admin-person-box h4{margin:0 0 12px;font-size:13px}
.config-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border:1px solid #e4e8ee;border-radius:10px;background:#fff}

/* V0.1.2 audit: runtime-safe dashboard helpers */

/* V0.1.3 – echte Einzelansichten für Fahrzeuge / Fahrzeugakte */
html{scroll-behavior:auto}
.vehicle-page-view{width:100%;animation:v13fade .16s ease-out}
.vehicle-page-view.hidden{display:none!important}
.detail-nav{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:7px;margin:0 0 14px;background:rgba(255,255,255,.96);border:1px solid #e2e7ed;border-radius:12px;box-shadow:0 4px 14px rgba(15,23,42,.035);position:sticky;top:78px;z-index:20;scrollbar-width:thin}
.detail-nav-btn{white-space:nowrap;background:#f4f6f8!important;color:#5c6c80!important;border:1px solid #e1e6ec!important;border-radius:8px!important;padding:8px 11px!important;font-size:10px!important;font-weight:700!important;margin:0!important}
.detail-nav-btn:hover{background:#eaf0f6!important;color:#25364b!important;transform:none!important}
.detail-nav-btn.active{background:#203244!important;color:#fff!important;border-color:#203244!important;box-shadow:none!important}
.detail-page{animation:v13fade .14s ease-out}
.detail-page.hidden{display:none!important}
.detail-page>.subcard{margin-bottom:0}
#vehicleListView>.card,#vehicleEditorView>#editor,#vehicleDetailsView>#details{min-height:240px}
@media(max-width:900px){.detail-nav{top:64px}.detail-nav-btn{font-size:9px!important;padding:8px 10px!important}}

@media print{.detail-page.hidden{display:block!important}.detail-nav{display:none!important}.vehicle-page-view.hidden{display:block!important}}


/* V0.1.5 – every logical function is a separate in-app page */
.module-page-shell{width:100%}
.module-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:5px;background:#edf2f8;border:1px solid var(--v11-line);border-radius:14px}
.module-nav-btn{background:transparent!important;color:#58677d!important;border:1px solid transparent!important;box-shadow:none!important;padding:10px 13px!important}
.module-nav-btn:hover{background:#fff!important;color:#17263a!important;transform:none!important}
.module-nav-btn.active{background:#fff!important;color:#17263a!important;border-color:#d9e1eb!important;box-shadow:0 3px 12px rgba(15,23,42,.06)!important}
.module-page{animation:v11fade .16s ease-out}
.module-page.hidden{display:none!important}
.module-page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:2px 2px 2px}
.module-page-head h2{margin:0;font-size:19px}
.module-page>.card{margin-bottom:0}
.detail-nav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
@media(max-width:700px){.module-nav{overflow:auto;flex-wrap:nowrap}.module-nav-btn{white-space:nowrap}.module-page-head{align-items:flex-start;flex-direction:column}}

/* V0.1.5 – form actions also open as an uncluttered full-page work view */
.modal{position:fixed;inset:84px 0 0 260px;background:var(--v11-bg);z-index:40;padding:26px 28px 48px;overflow:auto}
.modalbox{width:min(1100px,100%);min-height:calc(100vh - 132px);margin:0 auto;background:var(--v11-card);border-radius:18px;border:1px solid var(--v11-line);box-shadow:var(--v11-shadow);padding:22px}
.modalbox>.row:first-child{position:sticky;top:-22px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);padding:6px 0 14px;z-index:2;border-bottom:1px solid var(--v11-line);margin-bottom:16px}
.modalbox>.toolbar{position:sticky;bottom:-22px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);padding:14px 0 6px;z-index:2;border-top:1px solid var(--v11-line);margin-top:18px}
@media(max-width:850px){.modal{inset:72px 0 0 0;padding:16px}.modalbox{min-height:calc(100vh - 104px);padding:17px}.modalbox>.row:first-child{top:-17px}.modalbox>.toolbar{bottom:-17px}}


/* =========================================
   V0.1.7 – hoher Kontrast + echtes Hell/Dunkel-Layout
   ========================================= */
:root{
  --ui-bg:#eef2f7;
  --ui-card:#ffffff;
  --ui-subcard:#f8fafc;
  --ui-text:#0f172a;
  --ui-heading:#0b1220;
  --ui-muted:#526174;
  --ui-soft:#66758a;
  --ui-line:#cbd5e1;
  --ui-line-soft:#e2e8f0;
  --ui-input:#ffffff;
  --ui-input-text:#0f172a;
  --ui-hover:#f1f5f9;
  --ui-tab:#e8eef5;
  --ui-tab-text:#34445a;
  --ui-shadow:0 8px 24px rgba(15,23,42,.08);
}
html[data-theme="dark"], body[data-theme="dark"]{
  --ui-bg:#0b1220;
  --ui-card:#121b2a;
  --ui-subcard:#182335;
  --ui-text:#e8eef7;
  --ui-heading:#f8fbff;
  --ui-muted:#b7c4d5;
  --ui-soft:#93a4ba;
  --ui-line:#334155;
  --ui-line-soft:#28364a;
  --ui-input:#0f1727;
  --ui-input-text:#eef5ff;
  --ui-hover:#1a2739;
  --ui-tab:#162337;
  --ui-tab-text:#c7d3e4;
  --ui-shadow:0 12px 30px rgba(0,0,0,.28);
}

body{background:var(--ui-bg)!important;color:var(--ui-text)!important}
.workspace,.app-shell{background:var(--ui-bg)!important}
.topbar{background:color-mix(in srgb,var(--ui-card) 96%,transparent)!important;border-bottom-color:var(--ui-line)!important}
.topbar h1,.dashboard-head h2,.card h2,.card h3,.module-page-head h2,.vehicle-overview-card strong,.card-head h3{color:var(--ui-heading)!important}
.topbar .eyebrow,.section-kicker,.card-head .sub,.vehicle-type,.meta,.sub,.muted,.stat span,.stat small,.due-item div span,.open-item small{color:var(--ui-muted)!important}
.card,.subcard,.dashboard-card,.stat,.vehicle,.listrow,.vehicle-overview-card,.open-item,.config-item,.admin-person-box,.photo-item,.checkitem,.inspection,.readiness{background:var(--ui-card)!important;border-color:var(--ui-line)!important;box-shadow:var(--ui-shadow)!important;color:var(--ui-text)!important}
.subcard{background:var(--ui-subcard)!important}
.vehicle-overview-card{color:var(--ui-text)!important}
.vehicle-overview-card:hover,.open-item:hover{background:var(--ui-hover)!important;border-color:#8fa3ba!important}
.empty-state{color:var(--ui-muted)!important;border-color:var(--ui-line)!important;background:var(--ui-subcard)!important}
.table{border-color:var(--ui-line)!important}
.table table{background:var(--ui-card)!important;color:var(--ui-text)!important}
.table th{background:var(--ui-subcard)!important;color:var(--ui-muted)!important;border-bottom-color:var(--ui-line)!important}
.table td{color:var(--ui-text)!important;border-bottom-color:var(--ui-line-soft)!important}
.table tbody tr:hover{background:var(--ui-hover)!important}
input,select,textarea{background:var(--ui-input)!important;color:var(--ui-input-text)!important;border-color:var(--ui-line)!important}
input::placeholder,textarea::placeholder{color:var(--ui-soft)!important}
input:focus,select:focus,textarea:focus{border-color:#5ea2ff!important;box-shadow:0 0 0 3px rgba(94,162,255,.16)!important}
button.secondary,.secondary{background:var(--ui-tab)!important;color:var(--ui-tab-text)!important;border-color:var(--ui-line)!important}
button.secondary:hover,.secondary:hover{background:var(--ui-hover)!important;color:var(--ui-heading)!important}
.module-nav{background:var(--ui-tab)!important;border-color:var(--ui-line)!important}
.module-nav-btn{color:var(--ui-tab-text)!important}
.module-nav-btn:hover,.module-nav-btn.active{background:var(--ui-card)!important;color:var(--ui-heading)!important;border-color:var(--ui-line)!important}
.detail-nav{background:color-mix(in srgb,var(--ui-card) 97%,transparent)!important;border-color:var(--ui-line)!important}
.detail-nav-btn{background:var(--ui-tab)!important;color:var(--ui-tab-text)!important;border-color:var(--ui-line)!important}
.detail-nav-btn.active{background:#24415f!important;color:#fff!important;border-color:#3c6794!important}
.alert{border:1px solid var(--ui-line)!important;color:var(--ui-text)!important}
.alert.warn{background:#4a3511!important;color:#ffdf9b!important;border-color:#7a5a1d!important}
.alert.info{background:#132b46!important;color:#cfe7ff!important;border-color:#24527f!important}
.alert.ok{background:#123628!important;color:#c6f5df!important;border-color:#23664e!important}
.checkitem.bad,.readiness.bad{background:#3c1d24!important;border-color:#7d3b48!important}
.inspection.ok,.readiness.good{background:#12392b!important}
.inspection.warn,.readiness.warn{background:#3f3213!important}
.qrbox{background:var(--ui-card)!important}
.modal{background:rgba(2,8,18,.72)!important}
.modalbox{background:var(--ui-card)!important;border-color:var(--ui-line)!important;box-shadow:0 28px 80px rgba(0,0,0,.48)!important}
.modalbox>.row:first-child,.modalbox>.toolbar{background:color-mix(in srgb,var(--ui-card) 96%,transparent)!important;border-color:var(--ui-line)!important}
.admin-tabs{border-bottom-color:var(--ui-line)!important}
.theme-setting-panel{display:grid;grid-template-columns:1fr 260px;gap:18px;align-items:center;margin:0 0 18px;padding:16px 17px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-subcard);box-shadow:var(--ui-shadow)}
.theme-setting-panel b{font-size:14px;color:var(--ui-heading)}
.theme-select-wrap{margin:0}
@media(max-width:700px){.theme-setting-panel{grid-template-columns:1fr}}



/* Dunkelmodus: Navigation, Formulare und Sekundärtexte bewusst kontrastreich */
body[data-theme="dark"] .sidebar{background:linear-gradient(180deg,#0a111d 0%,#07101b 100%)!important;border-right-color:#223149!important}
body[data-theme="dark"] .sidebar-search{background:#111d2d!important;border-color:#32445c!important}
body[data-theme="dark"] .tabs button{color:#c7d5e6!important}
body[data-theme="dark"] .tabs button:hover{background:#18283b!important;color:#fff!important}
body[data-theme="dark"] .tabs button.active{background:#1d3550!important;color:#fff!important;border-left-color:#76adff!important}
body[data-theme="dark"] .brand-sub{color:#a6b9ce!important}
body[data-theme="dark"] .nav-group-title{color:#91a4b8!important}
body[data-theme="dark"] .sidebar-footer{border-top-color:#25354a!important}
body[data-theme="dark"] .sidebar-settings{background:#142235!important;color:#dce7f3!important;border-color:#31465e!important}
body[data-theme="dark"] .topbar .global-search input{background:#0f1826!important;border-color:#324057!important;color:#eef5ff!important}
body[data-theme="dark"] .search-icon{color:#9fb1c7!important}
body[data-theme="dark"] .userbar{background:#121c2b!important;border-color:#334155!important;color:#e6eef9!important}
body[data-theme="dark"] .user-avatar{background:#1d3047!important;color:#b8d5ff!important}
body[data-theme="dark"] .user-summary span{color:#a7b6c8!important}
body[data-theme="dark"] .stat-ready b{color:#67d7a1}.stat-warning b{color:#f2bf5d}.stat-danger b{color:#ff7d89}
body[data-theme="dark"] .dashboard-card,.dashboard-card{color:var(--ui-text)!important}
body[data-theme="dark"] .due-date{color:#c0d2e8!important}
body[data-theme="dark"] .due-bad{color:#ff8994!important}
body[data-theme="dark"] .vehicle-type{color:#9eb0c6!important}
body[data-theme="dark"] .readiness-dot{opacity:.95}

/* Verhindert blaue Flächen mit dunkler Schrift bei Dashboard-Kacheln */
.vehicle-overview-card,.open-item{background:var(--ui-card)!important;color:var(--ui-text)!important}
.vehicle-overview-card strong,.open-item b{color:var(--ui-heading)!important}
.vehicle-overview-card>span:not(.vo-top),.vehicle-overview-card small,.open-item small{color:var(--ui-muted)!important}

/* V0.1.8 – persönliche Darstellung für jeden angemeldeten Benutzer */
.theme-toggle{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:8px 10px!important;font-size:10px!important}
.theme-toggle span:first-child{font-size:13px;line-height:1}
html[data-theme="dark"] .theme-toggle{background:var(--ui-tab)!important;color:var(--ui-tab-text)!important;border-color:var(--ui-line)!important}
html[data-theme="dark"] .theme-toggle:hover{background:var(--ui-hover)!important;color:var(--ui-heading)!important}
@media(max-width:850px){.theme-toggle{padding:7px 8px!important}.theme-toggle span:last-child{display:none}}


/* =========================================
   V0.2.2 – ausgewogene, dauerhaft lesbare Darstellung
   ========================================= */
:root{
  --read-bg:#f4f7fb;
  --read-card:#ffffff;
  --read-subcard:#f7f9fc;
  --read-text:#172033;
  --read-heading:#0b1220;
  --read-muted:#526174;
  --read-soft:#66758a;
  --read-line:#d4dde8;
  --read-line-soft:#e5eaf0;
  --read-input:#ffffff;
  --read-input-text:#0f172a;
  --read-hover:#eef4fb;
  --read-tab:#e8eef5;
  --read-tab-text:#34445a;
  --read-sidebar:#15202b;
  --read-sidebar-text:#dce6ef;
  --read-sidebar-muted:#a9bacb;
  --read-sidebar-hover:#1b2a38;
  --read-sidebar-active:#203244;
}
html[data-theme="dark"], body[data-theme="dark"]{
  --read-bg:#0b1220;
  --read-card:#121b2a;
  --read-subcard:#182335;
  --read-text:#e8eef7;
  --read-heading:#f8fbff;
  --read-muted:#b7c4d5;
  --read-soft:#9aacbf;
  --read-line:#35465d;
  --read-line-soft:#29384c;
  --read-input:#0f1727;
  --read-input-text:#eef5ff;
  --read-hover:#1a2739;
  --read-tab:#162337;
  --read-tab-text:#d1dcea;
  --read-sidebar:#0d1724;
  --read-sidebar-text:#e6eef7;
  --read-sidebar-muted:#afc0d2;
  --read-sidebar-hover:#18283b;
  --read-sidebar-active:#1d3550;
}

/* Grundflächen und Typografie */
body{background:var(--read-bg)!important;color:var(--read-text)!important}
.workspace,.app-shell{background:var(--read-bg)!important}
.topbar{background:var(--read-card)!important;border-bottom-color:var(--read-line)!important}
.topbar h1,.dashboard-head h2,.card h2,.card h3,.module-page-head h2,.card-head h3,.theme-setting-panel b{color:var(--read-heading)!important}
.topbar .eyebrow,.section-kicker,.card-head .sub,.vehicle-type,.meta,.sub,.muted,.stat span,.stat small,.due-item div span,.open-item small{color:var(--read-muted)!important}
.card,.subcard,.dashboard-card,.stat,.vehicle,.listrow,.vehicle-overview-card,.open-item,.config-item,.admin-person-box,.photo-item,.checkitem,.inspection,.readiness{background:var(--read-card)!important;border-color:var(--read-line)!important;color:var(--read-text)!important}
.subcard{background:var(--read-subcard)!important}
.vehicle-overview-card{color:var(--read-text)!important}
.vehicle-overview-card:hover,.open-item:hover{background:var(--read-hover)!important;border-color:#9fb1c7!important}
.empty-state{color:var(--read-muted)!important;border-color:var(--read-line)!important;background:var(--read-subcard)!important}

/* Formulare, Tabellen und Hilfstexte */
input,select,textarea{background:var(--read-input)!important;color:var(--read-input-text)!important;border-color:var(--read-line)!important}
input::placeholder,textarea::placeholder{color:var(--read-soft)!important;opacity:1!important}
input:focus,select:focus,textarea:focus{border-color:#5b9af5!important;box-shadow:0 0 0 3px rgba(91,154,245,.16)!important}
.table,.table table{border-color:var(--read-line)!important;background:var(--read-card)!important;color:var(--read-text)!important}
.table th{background:var(--read-subcard)!important;color:var(--read-muted)!important;border-bottom-color:var(--read-line)!important}
.table td{color:var(--read-text)!important;border-bottom-color:var(--read-line-soft)!important}
.table tbody tr:hover{background:var(--read-hover)!important}
a{color:#1769c2}
html[data-theme="dark"] a,body[data-theme="dark"] a{color:#82b8ff}

/* Buttons und Status */
button.secondary,.secondary{background:var(--read-tab)!important;color:var(--read-tab-text)!important;border-color:var(--read-line)!important}
button.secondary:hover,.secondary:hover{background:var(--read-hover)!important;color:var(--read-heading)!important}
button:disabled{opacity:.58}
.msg{color:#b42318}
.msg.ok{color:#087a55}

/* Tabs / Unterseiten */
.module-nav{background:var(--read-tab)!important;border-color:var(--read-line)!important}
.module-nav-btn{color:var(--read-tab-text)!important}
.module-nav-btn:hover,.module-nav-btn.active{background:var(--read-card)!important;color:var(--read-heading)!important;border-color:var(--read-line)!important}
.detail-nav{background:var(--read-card)!important;border-color:var(--read-line)!important}
.detail-nav-btn{background:var(--read-tab)!important;color:var(--read-tab-text)!important;border-color:var(--read-line)!important}
.detail-nav-btn:hover{background:var(--read-hover)!important;color:var(--read-heading)!important}
.detail-nav-btn.active{background:#254664!important;color:#fff!important;border-color:#4876a6!important}

/* Sidebar: immer dunkler Hintergrund, in beiden Modi mit eindeutig lesbarer Schrift.
   Wichtig: .tabs hatte zuvor selbst einen hellen Hintergrund und überdeckte die Sidebar. */
.sidebar{background:var(--read-sidebar)!important;color:var(--read-sidebar-text)!important;border-right-color:#2a3a4b!important}
.sidebar-brand{border-bottom-color:#2a3a4b!important}
.brand-name{color:#f4f8fc!important}
.brand-sub{color:var(--read-sidebar-muted)!important}
.sidebar-search{background:#1e2d3b!important;border-color:#33485a!important}
.sidebar-search span{color:#b5c5d4!important}
.sidebar-search input{background:transparent!important;color:#eef5fa!important;border:0!important;box-shadow:none!important}
.sidebar-search input::placeholder{color:#a7b8c8!important;opacity:1!important}
.nav-group-title{color:#a8bbcd!important}
.tabs{background:transparent!important}
.tabs button{background:transparent!important;color:var(--read-sidebar-text)!important}
.tabs button span:first-child{opacity:1!important}
.tabs button:hover{background:var(--read-sidebar-hover)!important;color:#ffffff!important}
.tabs button.active{background:var(--read-sidebar-active)!important;color:#ffffff!important;border-left-color:#74adff!important}
.tabs button.menu-filtered{display:none!important}
.sidebar-footer{border-top-color:#2a3a4b!important}
.sidebar-status{color:var(--read-sidebar-muted)!important}
.sidebar-settings{background:#1d2c3a!important;color:#dce7f0!important;border-color:#34495b!important}

/* Topbar / Benutzerleiste */
.topbar .global-search input{background:var(--read-input)!important;color:var(--read-input-text)!important;border-color:var(--read-line)!important}
.search-icon{color:var(--read-muted)!important}
.userbar{background:var(--read-card)!important;border-color:var(--read-line)!important;color:var(--read-text)!important}
.user-summary b{color:var(--read-heading)!important}
.user-summary span{color:var(--read-muted)!important}
.user-avatar{background:var(--read-tab)!important;color:var(--read-tab-text)!important}

/* Dashboard-Kacheln / leere Flächen */
.dashboard-card,.stat,.dashboard-mini,.vehicle-detail-metrics>div,.designer-sidebar,.designer-main{background:var(--read-card)!important;border-color:var(--read-line)!important;color:var(--read-text)!important}
.card-icon{background:var(--read-tab)!important;color:var(--read-muted)!important}
.alert-list>*,.status-summary-list>*,.open-item{background:var(--read-subcard)!important;border-color:var(--read-line-soft)!important;color:var(--read-text)!important}
.empty-state{min-height:44px}

/* Meldungen / Zustände auch im Dunkelmodus klar differenzieren */
.alert{border:1px solid var(--read-line)!important;color:var(--read-text)!important}
.alert.warn{background:#4a3511!important;color:#ffdf9b!important;border-color:#7a5a1d!important}
.alert.info{background:#132b46!important;color:#cfe7ff!important;border-color:#24527f!important}
.alert.ok{background:#123628!important;color:#c6f5df!important;border-color:#23664e!important}
.checkitem.bad,.readiness.bad{background:#3c1d24!important;border-color:#7d3b48!important;color:#ffe8ec!important}
.inspection.ok,.readiness.good{background:#12392b!important;color:#d9ffef!important}
.inspection.warn,.readiness.warn{background:#3f3213!important;color:#ffeec2!important}

/* Modal / Dialoge */
.modal{background:rgba(2,8,18,.72)!important}
.modalbox{background:var(--read-card)!important;border-color:var(--read-line)!important;color:var(--read-text)!important}
.modalbox h2,.modalbox h3,.modalbox label{color:var(--read-heading)!important}
.modalbox>.row:first-child,.modalbox>.toolbar{background:var(--read-card)!important;border-color:var(--read-line)!important}

/* Native Controls: Browser soll Text und Auswahl passend zum Theme zeichnen */
html[data-theme="dark"],body[data-theme="dark"]{color-scheme:dark}
html[data-theme="light"],body[data-theme="light"]{color-scheme:light}

/* Admin / Konfiguration */
.admin-tabs{border-bottom-color:var(--read-line)!important}
.admin-person-box,.config-item,.permission-item,.system-note{background:var(--read-card)!important;border-color:var(--read-line)!important;color:var(--read-text)!important}
.config-item b,.permission-item b,.admin-person-box h4{color:var(--read-heading)!important}
.theme-setting-panel{background:var(--read-subcard)!important;border-color:var(--read-line)!important;color:var(--read-text)!important}
.theme-setting-panel b{color:var(--read-heading)!important}

/* Kleine, aber häufig übersehene Texte */
.small{color:var(--read-muted)!important}
.badge,.pill{background:var(--read-tab)!important;color:var(--read-tab-text)!important}
.status.ok{color:#15845a!important}

@media print{
  body,main,.workspace,.app-shell,.card,.subcard{background:#fff!important;color:#111!important}
  .sidebar,.topbar,.tabs,.module-nav,.detail-nav,button,.toolbar,.filters,.msg,.modal{display:none!important}
  .card,.subcard{box-shadow:none!important;border-color:#ddd!important}
}

/* V0.3.2 – Auth-Layout ohne Überlappungen */
#login.auth-screen,#register.auth-screen{width:min(1080px,calc(100vw - 32px));margin:6vh auto 8vh;padding:8px;overflow:visible}
#login .auth-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:stretch}
#login .auth-card,#login .auth-side{min-width:0;overflow:visible}
#login .auth-card,#login .auth-side{position:relative;z-index:1}
#login .auth-links{flex-wrap:wrap}
@media(max-width:900px){
  #login.auth-screen,#register.auth-screen{width:min(760px,calc(100vw - 24px));margin:3vh auto 6vh}
  #login .auth-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  #login.auth-screen,#register.auth-screen{width:calc(100vw - 16px);padding:4px}
  #login .auth-card,#login .auth-side{padding:18px}
}

/* V0.3.0 – öffentliche Registrierung / Organisationen */
.auth-screen{width:min(1080px,calc(100vw - 32px));margin:6vh auto 8vh;padding:8px}
.auth-brand{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:0 4px}
.auth-brand .brand-mark{flex:0 0 auto}
.auth-brand .brand-name{font-size:20px;font-weight:800}
.auth-brand .brand-sub{font-size:12px;color:#708096;margin-top:2px}
.auth-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px;align-items:stretch}
.auth-card,.auth-side{background:var(--v11-card);border:1px solid var(--v11-line);border-radius:20px;box-shadow:var(--v11-shadow);padding:26px}
.auth-card h2{margin:0 0 8px;font-size:25px;letter-spacing:-.03em}
.auth-side{background:linear-gradient(145deg,#0d1b2a,#17314d);color:#fff;border-color:#28445f}
.auth-side .sub{color:#c8d6e5}
.auth-side h3{font-size:23px;line-height:1.18;margin:7px 0 14px;letter-spacing:-.03em}
.auth-features{display:grid;gap:9px;margin:18px 0}
.auth-features div{padding:11px 12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:12px;font-size:12px}
.pricing-mini{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.pricing-mini span{color:#c9d7e6;font-size:12px}
.auth-links{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:16px;font-size:12px;color:var(--v11-muted)}
.register-tabs{display:flex;gap:8px;margin:0 0 14px}
.register-tabs button{flex:1}
.register-panel{width:100%}
.org-gate{width:min(980px,calc(100vw - 32px));margin:9vh auto;padding:8px}
.org-gate-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.orgbar{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--v11-line);border-radius:12px;background:#fff;min-width:180px;max-width:280px}
.orgbar-icon{font-size:16px}
.orgbar div{min-width:0}
.orgbar b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orgbar small{display:block;font-size:9px;color:var(--v11-muted);margin-top:2px}
.org-admin-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-bottom:18px}
.org-admin-card{border:1px solid var(--v11-line);border-radius:15px;padding:16px;background:var(--v11-card)}
.org-admin-card h3{margin:6px 0 11px}
.org-code{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:12px;background:var(--v11-accent-soft);border:1px dashed #8eb8f4;margin:10px 0}
.org-code small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#5d7086}
.org-code b{font-size:21px;letter-spacing:.08em}
html[data-theme="dark"] .auth-brand .brand-sub,body[data-theme="dark"] .auth-brand .brand-sub{color:#a9b9cc}
html[data-theme="dark"] .auth-card,body[data-theme="dark"] .auth-card{background:var(--read-card,#101a28);border-color:#2c3d54}
html[data-theme="dark"] .orgbar,body[data-theme="dark"] .orgbar{background:#101a28;border-color:#2c3d54;color:#edf4fb}
html[data-theme="dark"] .orgbar small,body[data-theme="dark"] .orgbar small{color:#9fb0c4}
html[data-theme="dark"] .org-code,body[data-theme="dark"] .org-code{background:#16253a;border-color:#35567e}
html[data-theme="dark"] .org-code small,body[data-theme="dark"] .org-code small{color:#9eb5cd}
html[data-theme="dark"] .org-admin-card,body[data-theme="dark"] .org-admin-card{background:#101a28;border-color:#2c3d54}
@media(max-width:860px){.auth-grid,.org-gate-grid,.org-admin-grid{grid-template-columns:1fr}.auth-screen,.org-gate{margin-top:3vh}.topbar-tools{gap:7px}.orgbar{max-width:190px;min-width:0}}
@media(max-width:560px){.auth-screen{width:calc(100vw - 20px)}.auth-card,.auth-side{padding:18px}.auth-links{flex-wrap:wrap}.register-tabs{flex-direction:column}.orgbar{display:none!important}}
