:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#18202a;background:#f4f6f8}body{margin:0}header{background:#14213d;color:white;padding:18px 28px;display:flex;justify-content:space-between;align-items:center}header h1{margin:0;font-size:26px}header span{opacity:.8}header a{color:white}main{max-width:1450px;margin:24px auto;padding:0 18px}.grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(430px,1fr);gap:18px}.card{background:white;border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 8px 22px #0001}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}label{font-weight:650;font-size:13px}input,select{width:100%;box-sizing:border-box;padding:9px;border:1px solid #ccd3dd;border-radius:8px;margin-top:4px}button{background:#1f6feb;color:white;border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.summary{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:8px}.kpi{border:1px solid #e4e9f0;border-radius:10px;padding:10px;white-space:nowrap}.kpi b{display:block;font-size:20px}.pill{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.gruen{background:#d8f5dd;color:#116329}.gelb{background:#fff4c2;color:#7a4d00}.rot{background:#ffd8d8;color:#8c1d18}.zones{display:flex;gap:6px;align-items:stretch;margin-top:12px}.zone{flex:1;border:1px solid #cfd6df;border-radius:10px;padding:12px;text-align:center;min-height:70px}.zone.front{background:#eaf3ff}.zone.mid{background:#ecf8ee}.zone.rear{background:#fff1df}.hint,.muted{color:#637083}.toolbar{display:flex;gap:12px;margin-bottom:12px}.toolbar input{max-width:360px}.items-table{width:100%;border-collapse:collapse}.items-table th,.items-table td{border-bottom:1px solid #e6ebf1;padding:8px;text-align:left}.items-table th{font-size:12px;text-transform:uppercase;color:#607084}.items-table input,.items-table select{margin:0;padding:6px}.items-table input[type="checkbox"]{width:auto;transform:scale(1.15)}.active-cell{text-align:center}.delete-cell{width:48px;text-align:center}.delete-cell .icon{opacity:0;transition:opacity .15s}.items-table tr:hover .delete-cell .icon,.items-table tr:focus-within .delete-cell .icon{opacity:1}.icon{padding:6px 8px;background:transparent;color:#b42318;border:1px solid transparent}.icon:hover{background:#ffe9e7;border-color:#ffcdc7}.item-stats{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 14px}.item-stats span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:7px 12px;font-weight:700;color:#334155}.table-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:14px}.items-table input[type="text"]{min-width:80px}.login{display:grid;place-items:center;min-height:100vh}.login-card{background:white;padding:30px;border-radius:16px;box-shadow:0 8px 30px #0002;width:min(380px,90vw)}.warn{background:#ffe0e0;color:#8c1d18;padding:10px;border-radius:8px;margin-bottom:10px}@media(max-width:900px){.grid,.formgrid{grid-template-columns:1fr}.zones{flex-direction:column}}
.danger{background:#b42318}@media(max-width:900px){.items-table{display:block;overflow-x:auto}.table-footer{align-items:flex-start;flex-direction:column}}
/* V1.9.0 Fahrzeugvisualisierung und Dashboard */
.summary .wide{grid-column:1/-1}.dash-card{border:1px solid #e4e9f0;border-radius:10px;padding:10px;background:#fff;white-space:nowrap}.dash-card>div:first-child{display:flex;justify-content:space-between;gap:10px}.dash-card b{font-size:15px}.dash-card span{color:#607084;font-weight:700}.bar{height:10px;background:#edf2f7;border-radius:999px;overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;border-radius:999px}.bar i.gruen{background:#41a85f}.bar i.gelb{background:#f0b429}.bar i.rot{background:#d64545}.bar i.neutral{background:#94a3b8}.vehicle-viz{margin:16px 0}.camper{position:relative;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;border:3px solid #334155;border-radius:18px 36px 24px 18px;padding:34px 12px 22px;background:linear-gradient(#fff,#f8fafc);min-height:92px}.camper-label{position:absolute;top:8px;font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase}.camper-label.left{left:16px}.camper-label.right{right:18px}.viz-zone{background:#f8fafc;color:#0f172a;border:1px solid #cbd5e1;border-radius:10px;padding:12px 6px;min-height:62px}.viz-zone b{display:block;font-size:17px}.viz-zone small{display:block;margin-top:4px;font-size:11px}.viz-zone.gruen{background:#dcfce7}.viz-zone.gelb{background:#fef3c7}.viz-zone.rot{background:#fee2e2}.axle{position:absolute;bottom:-16px;font-size:26px;color:#0f172a}.rear-axle{left:28%}.front-axle{right:28%}.centerline{margin:28px 4px 8px;color:#64748b;font-size:13px}.centerline div{position:relative;height:6px;background:#cbd5e1;border-radius:99px;margin-top:8px}.centerline i{position:absolute;top:50%;width:18px;height:18px;margin-left:-9px;margin-top:-9px;border-radius:50%;background:#14213d;box-shadow:0 0 0 4px #fff}.zone-details{margin-top:10px}.zone-details ul{margin:6px 0 0 18px;padding:0}.zone-details li{margin:2px 0}@media(max-width:900px){.camper{grid-template-columns:repeat(4,1fr)}.axle{display:none}}

/* V3.1.3 Hintergrundbild entfernt: schematische Darstellung */
.camper-photo{overflow:hidden;min-height:170px;background:linear-gradient(#ffffffd9,#f8fafcd9);isolation:isolate}
.camper-photo::before{content:none}
.camper-photo .viz-zone{background:rgba(248,250,252,.72);backdrop-filter:blur(1px)}
.camper-photo .viz-zone.gruen{background:rgba(220,252,231,.78)}
.camper-photo .viz-zone.gelb{background:rgba(254,243,199,.82)}
.camper-photo .viz-zone.rot{background:rgba(254,226,226,.86)}
.axle{transform:translateX(-50%);text-align:center;line-height:1}
.axle small{display:block;font-size:10px;font-weight:800;color:#334155;margin-top:2px}

/* V2.0.1 Leergewicht-Korrektur */
.correction-box{grid-column:1/-1;border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:12px;margin-top:8px}
.correction-box h3{margin:0 0 4px;font-size:16px}.correction-box p{margin:0 0 10px}
.corr-row{display:grid;grid-template-columns:auto 1fr 120px auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid #e2e8f0}
.corr-row:first-of-type{border-top:0}.corr-row input[type="checkbox"]{width:auto;margin:0}.corr-row input[type="number"]{margin:0}
@media(max-width:700px){.corr-row{grid-template-columns:auto 1fr}.corr-row input[type="number"]{grid-column:2/3}}

/* V2.0.3 Fahrzeuggeometrie: Breite und manuelle Ueberhaenge */
.geometry-info{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 12px}
.geometry-info span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:7px 12px;color:#334155;font-weight:650}
.overhang-marker{position:absolute;top:12px;height:24px;border-top:2px dashed #64748b;color:#334155;font-size:11px;font-weight:800;text-align:center;pointer-events:none;text-shadow:0 1px 0 #fff}
.overhang-marker.front{border-color:#2563eb}.overhang-marker.rear{border-color:#64748b}
.vehicle-manager{border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin-bottom:14px;background:#f8fafc}
.vehicle-select-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.vehicle-select-row label{display:flex;flex-direction:column;gap:4px;font-weight:600;min-width:220px}
.vehicle-select-row select{padding:9px;border:1px solid #cbd5e1;border-radius:8px;background:white}

.button-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.button-link{display:inline-block;padding:.65rem 1rem;border-radius:8px;background:#1f6feb;color:white;text-decoration:none;font-weight:600}.button-link:hover{filter:brightness(.95)}

/* V3.1.4 Datenbank-Backup und Wiederherstellung */
.topnav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.topnav a{color:white;text-decoration:none;font-weight:700}.topnav a:hover{text-decoration:underline}.restore-card{max-width:720px;margin-left:auto;margin-right:auto}.success{background:#d8f5dd;color:#116329;padding:10px;border-radius:8px;margin-bottom:10px}.button-link.secondary{background:#64748b}


/* V3.1.5 Datensicherung/Wiederherstellung in einem Dialog */
.hidden{display:none!important}.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}.modal-card{position:relative;background:white;color:#18202a;width:min(640px,94vw);border-radius:16px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.modal-card h2{margin-top:0}.modal-card hr{border:0;border-top:1px solid #e2e8f0;margin:18px 0}.modal-close{position:absolute;right:14px;top:12px;background:transparent;color:#334155;border:0;font-size:28px;line-height:1;padding:4px 8px}.backup-actions{margin:12px 0}.button-secondary{background:#64748b}.warn.small{font-size:13px;margin:8px 0 12px}

.mode-indicator{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#1e3a8a;font-weight:600;font-size:.9rem}
.mode-indicator.guest{background:#fff7ed;color:#9a3412}
.guest-box{border:1px solid #fed7aa;background:#fff7ed;color:#7c2d12;border-radius:12px;padding:10px 12px;margin-bottom:12px}
.inline-form{display:inline-block;margin:0 .35rem .25rem 0}.inline-form select{padding:.35rem .5rem;border:1px solid #cbd5e1;border-radius:.45rem;background:#fff}.items-table td .pill{white-space:nowrap}
.ok{background:#dcfce7;color:#166534;border:1px solid #86efac;padding:.75rem;border-radius:.65rem;margin:.75rem 0}
