@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--bg:#f4f6fa;--card:#fff;--ink:#182230;--muted:#718096;--line:#e7ebf1;--blue:#315efb;--blue-dark:#244bd1;--green:#16865d}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}button,input{font:inherit}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100% - 1120px)/2),24px)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}.brand>span:last-child{display:grid;gap:2px}.brand small{font-size:11px;color:var(--muted)}.brand-mark{width:48px;height:48px;border-radius:15px;background:#eaf0ff;color:var(--blue);display:grid;place-items:center;font:800 17px Manrope}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:13px}.logout{color:var(--muted);text-decoration:none;font-size:13px}.container{max-width:1120px;margin:42px auto;padding:0 24px}.hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--blue)}h1,h2{font-family:Manrope,sans-serif;margin:6px 0}h1{font-size:32px;letter-spacing:-1px}h2{font-size:19px}.muted{color:var(--muted);font-size:13px;line-height:1.6}.hero-icon{width:62px;height:62px;border-radius:20px;background:#eaf0ff;color:var(--blue);display:grid;place-items:center;font-size:30px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:22px}.tab{border:0;background:none;padding:13px 17px;color:var(--muted);cursor:pointer;font-weight:600;border-bottom:2px solid transparent}.tab.active{color:var(--blue);border-color:var(--blue)}.hidden{display:none!important}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:17px;box-shadow:0 5px 22px #18223008}.stat{padding:19px 21px;display:grid;gap:8px}.stat span{color:var(--muted);font-size:12px}.stat strong{font:800 27px Manrope}.content-card{padding:24px;margin-bottom:18px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.section-head p{margin:5px 0 0}.search{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:11px;outline:none;margin-bottom:12px}.search:focus,input:focus{border-color:#9aafff;box-shadow:0 0 0 3px #315efb12}.service{padding:15px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:170px 1fr;gap:18px}.service>div:first-child{display:grid;align-content:start;gap:4px}.service>div:first-child small,.driver-chips small{color:var(--muted);font-size:11px}.driver-chips{display:flex;flex-wrap:wrap;gap:7px}.driver-chips span{background:#f1f4f9;border-radius:9px;padding:7px 10px;font-size:12px;display:grid;gap:3px}.empty{padding:25px;text-align:center;color:var(--muted);font-size:13px}.dropzone{border:1.5px dashed #cbd4e2;border-radius:14px;padding:35px 20px;display:grid;justify-items:center;gap:8px;cursor:pointer;background:#fafbfe}.dropzone.drag{border-color:var(--blue);background:#f1f5ff}.dropzone small{color:var(--muted)}.upload-icon{width:42px;height:42px;background:#eaf0ff;color:var(--blue);border-radius:13px;display:grid;place-items:center;font-size:25px}.status{min-height:20px;margin:12px 0 0}.step{font-size:10px;letter-spacing:1px;color:var(--muted);font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:440px}th{text-align:left;color:var(--muted);font-size:11px;font-weight:600;padding:10px;border-bottom:1px solid var(--line)}td{padding:7px 6px;border-bottom:1px solid var(--line)}td input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;font-size:13px;min-width:100px}.icon-btn{border:0;background:#fff0f0;color:#c44;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:19px}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.primary,.secondary{border:0;border-radius:10px;padding:12px 17px;font-weight:700;cursor:pointer}.primary{background:var(--blue);color:white}.primary:hover{background:var(--blue-dark)}.primary:disabled{opacity:.5}.secondary{background:#eef1f6;color:#344054}.full{width:100%;margin-top:18px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login{width:min(420px,100%);padding:35px}.login h1{font-size:27px}.login label{display:grid;gap:8px;font-size:12px;font-weight:600;margin-top:24px}.login input{padding:13px;border:1px solid var(--line);border-radius:10px}.alert{padding:10px;border-radius:9px;font-size:12px}.error{background:#fff0f0;color:#b42318}footer{text-align:center;color:var(--muted);font-size:11px;padding:30px}footer span{padding:0 7px}
@media(max-width:650px){.container{margin:25px auto;padding:0 15px}.topbar{padding:0 16px}.hero h1{font-size:26px}.hero-icon{width:48px;height:48px}.stats{gap:8px}.stat{padding:13px}.stat strong{font-size:22px}.stat span{font-size:10px}.content-card{padding:17px}.service{grid-template-columns:1fr;gap:9px}.actions{flex-direction:column-reverse}.actions button{width:100%}.section-head{gap:10px}}

.manual-grid{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px}
.manual-grid label{display:grid;gap:7px;font-size:12px;font-weight:600;color:#475467}
.manual-grid select{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);outline:none}
.manual-grid select:focus{border-color:#9aafff;box-shadow:0 0 0 3px #315efb12}
.global-status{margin:0 0 16px;padding:12px 15px;border-radius:10px;background:#eaf7f0;color:#16734f;font-size:13px}
@media(max-width:700px){.manual-grid{grid-template-columns:1fr}.manual-grid button{width:100%}}

/* Import-Aktionen bleiben beim Scrollen am oberen Rand des Vorschau-Bereichs sichtbar. */
.sticky-actions{position:sticky;top:10px;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);padding:12px;border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 20px #18223012;margin:0 0 14px}

.top-actions{display:flex;align-items:center;gap:14px}.user-label{font-size:12px;color:var(--muted)}.admin-pill{font-size:10px;font-weight:700;color:#315efb;background:#eaf0ff;padding:6px 9px;border-radius:20px}.admin-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.admin-form label{display:grid;gap:7px;font-size:12px;font-weight:600;color:#475467}.admin-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px}.user-list{margin-top:15px}.user-row{display:flex;justify-content:space-between;padding:12px 4px;border-top:1px solid var(--line);font-size:13px}.user-row span{color:var(--green);font-size:11px}.danger-card{border-color:#f2cccc;display:grid;gap:14px}.danger-button{justify-self:start;border:0;border-radius:10px;padding:12px 16px;background:#b42318;color:white;font-weight:700;cursor:pointer}.danger-button:disabled{opacity:.55}
@media(max-width:700px){.admin-form{grid-template-columns:1fr}.admin-form button{width:100%}.top-actions{gap:8px}.user-label{display:none}}

.header-logo{display:block;max-width:150px;max-height:48px;width:auto;height:auto;object-fit:contain;margin-left:8px}
.logo-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.logo-form label{display:grid;gap:8px;font-size:12px;font-weight:600;color:#475467}
.logo-form input{max-width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.logo-preview{display:flex;align-items:center;gap:14px;margin-top:16px;color:var(--muted);font-size:12px}
.logo-preview img{max-width:180px;max-height:70px;object-fit:contain;background:#f7f8fa;padding:8px;border:1px solid var(--line);border-radius:9px}
@media(max-width:650px){.header-logo{max-width:82px;max-height:36px}.logo-form{align-items:stretch;flex-direction:column}.logo-form button{width:100%}}

/* Ersteinrichtung */
.setup-card { max-width: 480px; }
.setup-card form { display: grid; gap: 14px; margin-top: 22px; }
.setup-note { margin-top: 18px; font-size: .88rem; line-height: 1.5; }
.alert.success { background: #e8f7ee; color: #17663a; border: 1px solid #b9e4c9; }

/* Benutzerkonto und Benutzeraktionen */
.user-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.user-actions { display:flex; gap:8px; margin-left:auto; }
.user-actions button { padding:8px 12px; font-size:.85rem; }
#accountForm { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:end; }
#accountForm button { grid-column:1/-1; justify-self:start; }
@media(max-width:640px){#accountForm{grid-template-columns:1fr}.user-actions{width:100%;margin-left:0}}


/* Integrierter Dialog für Benutzeränderungen */
.user-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 4px;border-top:1px solid var(--line);font-size:13px}
.user-main{display:flex;align-items:center;gap:10px;min-width:130px}
.user-state{color:var(--green);font-size:11px}
.user-actions{display:flex;gap:7px;flex-wrap:wrap;margin-left:auto}
.user-actions button{padding:8px 11px;font-size:12px}
.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(16,24,40,.48);backdrop-filter:blur(4px)}
.modal-backdrop.hidden{display:none}
.modal-card{position:relative;width:min(100%,440px);padding:28px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(16,24,40,.22);animation:modalIn .16s ease-out}
@keyframes modalIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal-card h2{margin:4px 0 8px;font-size:22px}
.modal-card .eyebrow{margin:0;color:#315efb;font-size:10px;font-weight:800;letter-spacing:.14em}
.modal-close{position:absolute;right:16px;top:12px;width:34px;height:34px;border:0;border-radius:9px;background:#f2f4f7;color:#475467;font-size:23px;cursor:pointer}
#userEditForm{display:grid;gap:10px;margin-top:22px}
#userEditLabel{font-size:12px;font-weight:700;color:#344054}
#userEditValue{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;outline:none}
#userEditValue:focus{border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.12)}
.modal-error{min-height:18px;margin:0;color:#b42318;font-size:12px}
.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:8px}
.admin-toast{margin-top:16px;padding:12px 14px;border:1px solid #b9e4c9;border-radius:10px;background:#e8f7ee;color:#17663a;font-size:13px;font-weight:600}
.admin-toast.hidden{display:none}
.admin-toast.error{border-color:#f2c4c4;background:#fff0f0;color:#b42318}
@media(max-width:700px){.user-row{align-items:flex-start;flex-direction:column}.user-actions{margin-left:0;width:100%}.user-actions button{flex:1}.modal-card{padding:24px 20px}}
