*{box-sizing:border-box}body{margin:0;background:#f3f5f2;color:#172018;font:14px Inter,Arial,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:245px;background:#132319;color:#dce8df;padding:22px 14px;display:flex;flex-direction:column}.logo{display:flex;gap:12px;align-items:center;padding:0 10px 24px}.logo>b,.brand{display:grid;place-items:center;background:#77b255;color:#102116;border-radius:12px;width:42px;height:42px;font-size:17px}.logo span{font-size:18px;font-weight:800}.logo small,.user small{display:block;font-size:11px;color:#91a397;font-weight:400}nav{display:grid;gap:3px}nav a{color:#b8c7bd;text-decoration:none;padding:11px 12px;border-radius:9px;display:flex;gap:12px;align-items:center}nav a:hover,nav a.on{background:#263b2d;color:white}nav a.on{box-shadow:inset 3px 0 #7fbd5c}.user{margin-top:auto;border-top:1px solid #304238;padding:18px 10px}.user a{display:block;color:#8ea395;font-size:11px;margin-top:8px}main{margin-left:245px;padding:28px 34px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}h1{margin:0;font-size:25px}header p{margin:5px 0;color:#758077}.pill,.badge{background:#e4f1df;color:#39752c;border-radius:20px;padding:7px 11px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.stats div,.card{background:#fff;border:1px solid #e1e5df;border-radius:14px;padding:20px;box-shadow:0 2px 10px #1720180a}.stats small,.stats em{display:block;color:#7c877f;font-style:normal}.stats b{display:block;font-size:30px;margin:8px 0}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.card h2{margin-top:0}.empty{text-align:center;color:#89928c;padding:35px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick a,button{border:0;background:#315e3b;color:white;padding:11px 14px;border-radius:9px;text-decoration:none;cursor:pointer}.toolbar{text-align:right;margin-bottom:12px}.table{padding:0;overflow:hidden}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:14px 18px;border-bottom:1px solid #edf0eb}th{background:#fafbf9;color:#778078;font-size:12px}.login{min-height:100vh;display:grid;place-items:center;background:#17271c}.auth{width:min(420px,92vw);text-align:center}.auth input,.modal input,.modal textarea,.modal select{width:100%;padding:12px;border:1px solid #d7ddd5;border-radius:8px;margin:6px 0;background:white}.auth button{width:100%;margin-top:8px}.auth .brand{margin:auto}.alert{background:#fee5e3;color:#922;padding:10px;border-radius:8px;margin:10px 0}.modal{width:420px;max-width:85vw}.modal textarea{min-height:80px}.secondary{background:#e7ebe5;color:#344038}dialog{border:0;border-radius:14px;box-shadow:0 20px 70px #0004}.driver{max-width:650px;margin:auto}.eyebrow{font-size:11px;letter-spacing:2px;color:#6a796e}.big{width:100%;font-size:18px;padding:18px;margin-top:30px}.mapfake{height:520px;background:linear-gradient(135deg,#e7ede4,#d9e2d4);display:grid;place-items:center;align-content:center;border-radius:10px}.mapfake span{font-size:55px;color:#48764e}.modulelist{display:flex;gap:8px;flex-wrap:wrap}.modulelist span{background:#eef3eb;padding:9px 12px;border-radius:8px}@media(max-width:850px){aside{position:static;width:100%;height:auto}nav{grid-template-columns:repeat(2,1fr)}.user{display:none}main{margin:0;padding:18px}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.logo{padding-bottom:12px}}@media(max-width:500px){.stats{grid-template-columns:1fr}header{align-items:flex-start}.pill{display:none}nav a{font-size:12px}}
.success{background:#e6f4e1;color:#2f6d27;padding:10px 14px;border-radius:9px;margin:-10px 0 18px}.sub{display:block;color:#7c877f;margin-top:4px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal.wide{width:650px}.modal label{font-size:12px;color:#66736a}.modal label input{display:block}.priority{padding:5px 9px;border-radius:15px;background:#edf0eb;font-size:11px}.priority.hoch{background:#fff0c9;color:#805d00}.priority.dringend{background:#ffe0dc;color:#9b2e22}.jobline{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0eb}.jobline small{display:block;color:#7c877f;margin-top:4px}.dispatchboard{display:grid;gap:10px}.dispatchcard{background:white;border:1px solid #e1e5df;border-radius:13px;padding:14px;display:flex;gap:16px;align-items:center}.dispatchdate{width:58px;text-align:center;font-size:18px;font-weight:800}.dispatchdate small{display:block;font-size:12px;color:#758077}.grow{flex:1}.grow>span,.grow>small{display:block;color:#758077;margin-top:3px}.grow p{margin:8px 0 0}.instructions{background:#f0f4ed;padding:14px;border-radius:9px;margin:18px 0}.buttonlink{display:inline-block;background:#315e3b;color:white;padding:11px 14px;border-radius:9px;text-decoration:none}@media(max-width:650px){.formgrid{grid-template-columns:1fr}.dispatchcard{align-items:flex-start}.table{overflow:auto}table{min-width:720px}}
.drivercard h2{font-size:28px;margin:12px 0 18px}.driverstatus{display:flex;justify-content:space-between;align-items:center;color:#758077;margin-top:12px}.driverfacts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.driverfacts div{background:#f5f7f3;border-radius:10px;padding:12px}.driverfacts small{display:block;color:#7c877f;margin-bottom:4px}.driverbuttons{display:grid;gap:10px;margin-top:18px}.navbutton{display:block;text-align:center;background:#e8efe5;color:#254d2d;padding:14px;border-radius:10px;text-decoration:none;font-weight:700}.driverbuttons .big{margin:0}.pause{background:#8a6b22}.finish{background:#315e3b}.gpsbox{margin-top:20px;border-top:1px solid #e5e9e3;padding-top:16px;display:grid;gap:8px}.gpsbox span{color:#758077}.gpsbox button{width:max-content}.big:disabled{opacity:.5;cursor:wait}@media(max-width:520px){.driverfacts{grid-template-columns:1fr}.drivercard{padding:16px}.drivercard h2{font-size:24px}}
/* V1.3 Live map */
.live-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:18px}.live-map{height:620px;border-radius:18px;overflow:hidden;background:#e9efe9;position:relative}.live-map iframe{width:100%;height:100%;border:0}.vehicle-list{display:flex;flex-direction:column;gap:10px}.vehicle-item{border:1px solid #dfe6df;border-radius:14px;padding:13px;cursor:pointer}.vehicle-item:hover{background:#f5f8f5}.vehicle-item b,.vehicle-item span,.vehicle-item small{display:block}.online{color:#17803d}.offline{color:#9b3d3d}.mapfilters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.mapfilters select{max-width:230px}.mapstats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.mapstats div{background:#f5f8f5;padding:12px;border-radius:12px}.mapstats b,.mapstats small{display:block}.track-table{margin-top:18px}@media(max-width:900px){.live-layout{grid-template-columns:1fr}.live-map{height:480px}.mapstats{grid-template-columns:1fr}}

/* V6.1: Sidebar bleibt sichtbar, Menü scrollt unabhängig vom Inhalt */
aside{height:100vh;max-height:100vh;overflow:hidden;display:flex!important;flex-direction:column}
aside .logo{flex:0 0 auto}
aside nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:18px;scrollbar-width:thin}
aside .user{flex:0 0 auto;background:inherit}
.managebody{display:block!important;overflow:auto!important}.managewrap{max-width:1500px;margin:0 auto;padding:24px}.managewrap main{margin:0}.manageactions{display:flex;gap:7px;align-items:center}.manageactions form{margin:0}.smallbtn,.small{display:inline-block;padding:8px 10px;border-radius:8px;text-decoration:none;font-size:12px}.smallbtn{background:#263b2d;color:#fff}.danger{background:#9d3939!important;color:#fff!important}.managewrap textarea{width:100%;min-height:42px;resize:vertical}

/* V6.3 Flächenkarte */
.mapdialog{width:min(1100px,96vw);max-width:none;padding:0;border:0;border-radius:16px}.mapbox{padding:16px}.maphead,.mapfoot,.mapactions{display:flex;align-items:center;gap:12px;justify-content:space-between}.maphead h2{margin:0}.maphead small{display:block;margin-top:4px}.mapdialog #fieldMap{height:min(68vh,680px);margin:14px 0;border-radius:12px;overflow:hidden;background:#ddd}.mapfoot{flex-wrap:wrap}.mapactions{margin-left:auto}.mapdialog::backdrop,#confirmBoundary::backdrop{background:rgba(0,0,0,.55)}@media(max-width:700px){.mapdialog #fieldMap{height:58vh}.maphead,.mapfoot,.mapactions{align-items:stretch;flex-direction:column}.mapactions{margin-left:0;width:100%}.mapactions button{width:100%}}

/* V6.3.1 Kartenanzeige-Fix */
dialog.mapdialog{box-sizing:border-box!important;overflow:auto!important}
dialog.mapdialog .mapbox{display:block!important;width:auto!important;min-height:560px!important}
dialog.mapdialog #fieldMap{display:block!important;width:100%!important;height:620px!important;min-height:420px!important;position:relative!important;z-index:1!important}
dialog.mapdialog .leaflet-container{font:12px/1.5 "Helvetica Neue",Arial,Helvetica,sans-serif!important}
dialog.mapdialog .maphead,dialog.mapdialog .mapfoot{position:relative!important;z-index:2!important}
@media(max-width:700px){dialog.mapdialog #fieldMap{height:55vh!important;min-height:380px!important}}

/* V6.5 */
@media(max-width:700px){.mapactions{gap:8px}.mapactions button{white-space:normal}}

/* V6.9 Verwaltungsseiten */
.managehead{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:14px}.managehead h1{margin:.5rem 0 0}.addbtn{font-size:15px;padding:11px 15px;white-space:nowrap}.manageform{max-width:760px;margin:14px 0 20px}.manageform label{display:grid;gap:6px;margin:10px 0}.manageform input,.manageform textarea,.manageform select{width:100%;box-sizing:border-box;padding:11px;border-radius:9px}.modalhead{display:flex;justify-content:space-between;align-items:center}.modalx{font-size:30px;text-decoration:none;padding:2px 10px}.formactions{display:flex;gap:10px;align-items:center;margin-top:15px}.cancelbtn{padding:10px 14px}.managebody th{text-transform:none}
@media(max-width:700px){.managehead{align-items:stretch;flex-direction:column}.addbtn{text-align:center}.formactions{align-items:stretch;flex-direction:column}.cancelbtn{text-align:center}}
