:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#182330;background:#f2f5f8}*{box-sizing:border-box}body{margin:0}header{background:#132c44;color:white}header .heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 0;flex-wrap:wrap}header strong{font-size:21px}header strong span{font-weight:400;color:#9de0e1}nav{display:flex;align-items:center;gap:15px;flex-wrap:wrap}a{color:#12647c;text-decoration:none}header a,header button.link{color:white}h1{margin:16px 0 8px}h2{margin-top:0;font-size:19px}h3{font-size:16px;margin:9px 0}.wrap{max-width:1220px;margin:auto;padding:0 18px}main{min-height:70vh;padding-top:18px;padding-bottom:30px}footer{padding:25px 12px;color:#697682;text-align:center;font-size:12px}.panel,.job{background:#fff;border:1px solid #e0e6eb;border-radius:12px;padding:20px;margin:14px 0;box-shadow:0 3px 10px #15233908}.narrow{max-width:460px;margin:40px auto}.between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:20px 0}.stat{background:white;text-align:center;border-radius:10px;padding:15px 9px;box-shadow:0 1px 4px #0001}.stat b{font-size:23px;display:block}.stat span{color:#667688;font-size:12px}.filters,.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.filters{background:white;padding:14px;border-radius:10px}.jobs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:16px}.job{margin:0;display:flex;flex-direction:column;gap:7px}.priority{font-size:12px;padding:4px 8px;border-radius:12px;background:#eaf0f3}.priority.Dringend{background:#ffdadd;color:#991b1b}.priority.Hoch{background:#fff1cf;color:#835b00}.priority.Normal{background:#dcedf8;color:#185480}.small,small{font-size:12px;color:#607181}label{display:block;font-weight:600;font-size:13px;margin:10px 0}input,textarea,select{display:block;width:100%;border:1px solid #bfcbd5;border-radius:7px;padding:10px 11px;background:white;color:#1e2b39;font:inherit;margin-top:6px}textarea{resize:vertical}button,.button{display:inline-block;background:#08758b;color:white;border:0;padding:10px 15px;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px}button:hover,.button:hover{filter:brightness(.92);color:white}.secondary{background:#e4edf3;color:#264153}.secondary:hover{color:#264153}.link{background:transparent;padding:0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.inline{display:inline}.entry{border-top:1px solid #edf0f2;padding:12px 0}.entry p{white-space:pre-wrap;margin-bottom:0}.gallery{display:flex;gap:12px;flex-wrap:wrap}.photo{width:180px}.photo img{width:180px;height:130px;object-fit:cover;border-radius:8px}.pre{white-space:pre-wrap}.audit{font-size:13px;color:#52616c}.audit li{padding:5px 0}.compact{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.compact select{width:160px}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}td,th{padding:10px;text-align:left;border-bottom:1px solid #e5edf0;font-size:13px}.alert{padding:12px;background:#fff1ce;border-radius:10px;margin:14px 0}.error-dialog{border:0;padding:0;background:transparent;color:inherit;max-width:460px;width:calc(100% - 32px)}.error-dialog::backdrop{background:#0a1b2b80}.error-dialog.error-inline{position:static;margin:40px auto}.error-popup{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:#fff;border:1px solid #f1b5b5;border-top:5px solid #c62828;border-radius:12px;padding:26px 24px;box-shadow:0 10px 30px #15233926}.error-icon{width:48px;height:48px;border-radius:50%;background:#c62828;color:white;font-size:28px;font-weight:800;display:flex;align-items:center;justify-content:center}.error-popup h1{margin:6px 0 0;font-size:20px;color:#8a1c1c}.error-popup p{margin:0;color:#4a2323;white-space:pre-wrap;overflow-wrap:anywhere}.error-popup button{margin-top:10px}.alert-error{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#fdecec;border:1px solid #f1b5b5;border-left:5px solid #c62828;border-radius:10px;color:#6b1717;margin:14px 0}.alert-error strong{display:block;margin-bottom:3px;color:#8a1c1c}.alert-error-icon{flex:0 0 26px;height:26px;border-radius:50%;background:#c62828;color:white;font-weight:800;text-align:center;line-height:26px}.mfa-wide{max-width:720px;margin:40px auto}.mfa-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.mfa-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:170px;padding:28px 18px;border:1px solid #cdd9e3;border-radius:12px;background:white;color:#183246;font-size:17px;font-weight:700;text-align:center;transition:border-color .15s,box-shadow .15s}.mfa-choice:hover{border-color:#08758b;box-shadow:0 3px 12px #08758b33;color:#08758b}.mfa-choice svg{color:#08758b}.mfa-choice small{font-weight:400;color:#607181}.qr-box{display:flex;justify-content:center;margin:14px 0}.qr-box svg{width:220px;height:220px;background:white;padding:8px;border-radius:8px}@media(max-width:700px){.mfa-choices{grid-template-columns:1fr}}@media(max-width:700px){.wrap{padding:0 12px}header strong{font-size:18px}nav{gap:10px}.panel{padding:15px}.photo,.photo img{width:145px}.photo img{height:110px}}@media print{header,footer,button,.button,form{display:none!important}.panel{box-shadow:none}body{background:white}}/* GAS theme */html[data-theme="dark"]{color-scheme:dark}
html[data-theme="dark"] body{background:#0d1420;color:#e5eef7}
html[data-theme="dark"] header{background:#0a1b2b}
html[data-theme="dark"] .panel,html[data-theme="dark"] .job,html[data-theme="dark"] .stat,html[data-theme="dark"] .filters{background:#1b293b;color:#e5eef7;border-color:#34445a}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#111d2c;color:#f3f7fb;border-color:#50627a}
html[data-theme="dark"] a{color:#81d1f4}
html[data-theme="dark"] header a{color:white}
html[data-theme="dark"] .small,html[data-theme="dark"] small,html[data-theme="dark"] footer,html[data-theme="dark"] .stat span{color:#b7c5d5}
html[data-theme="dark"] .secondary{background:#35465b;color:#fff}
html[data-theme="dark"] .entry,html[data-theme="dark"] td,html[data-theme="dark"] th{border-color:#34445a}
html[data-theme="dark"] .priority.Normal{background:#234b65;color:#cbeeff}
html[data-theme="dark"] .priority.Hoch{background:#635025;color:#ffe9a8}
html[data-theme="dark"] .priority.Dringend{background:#6e3038;color:#ffd7de}
.theme-toggle{padding:6px 10px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:15px 0}
.calendar-weekday{text-align:center;font-weight:bold;padding:8px}
.calendar-day{border:1px solid #bdccd9;border-radius:5px;min-height:96px;padding:7px;min-width:0;overflow-wrap:anywhere;background:#fff}
.calendar-day.outside{background:transparent;border-color:transparent}
.calendar-item{display:block;background:#e3f3f5;border-radius:4px;padding:5px;margin:3px 0;font-size:12px}
html[data-theme="dark"] .calendar-day{background:#1b293b;border-color:#34445a}
html[data-theme="dark"] .calendar-day.outside{background:transparent}
html[data-theme="dark"] .calendar-item{background:#25475b}
.vehicle-choice{width:100%;margin-bottom:5px;text-align:left}
.photo-upload-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.photo-upload-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px}
.photo-upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.update-available{background:#c62828;color:#fff!important;border-radius:7px;padding:7px 11px;animation:update-pulse 1.1s ease-in-out infinite}
@keyframes update-pulse{50%{background:#8e1010;box-shadow:0 0 0 4px #ef444466}}
@media(prefers-reduced-motion:reduce){.update-available{animation:none;box-shadow:0 0 0 2px #ef4444}}
.update-running:disabled{background:#68737e;color:#fff;cursor:wait;opacity:1}
.update-progress{height:8px;overflow:hidden;margin-top:12px;border-radius:99px;background:#dce3e9}
.update-progress[hidden]{display:none}
.update-progress span{display:block;width:38%;height:100%;border-radius:inherit;background:#08758b;animation:update-progress 1.4s ease-in-out infinite}
@keyframes update-progress{from{transform:translateX(-110%)}to{transform:translateX(270%)}}
html[data-theme="dark"] .update-progress{background:#35465b}
@media(prefers-reduced-motion:reduce){.update-progress span{animation:none;width:100%}}
@media(max-width:700px){.calendar-day{min-height:70px;padding:3px;font-size:11px}.calendar-item{font-size:10px;padding:2px}.calendar-grid{gap:1px}}

/* Calendar 0.3: month, week and day */
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:15px 0}.calendar-toolbar h1{margin:0;font-size:24px}.calendar-toolbar .actions{margin:0}.calendar-filter{display:flex;align-items:end;gap:12px;max-width:600px;margin:14px 0}.calendar-filter label{flex:1;margin:0}.calendar-filter button{height:41px}.calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:1px!important;background:#d3dce7;border:1px solid #d3dce7;border-radius:10px;overflow:hidden}.calendar-weekday{background:#e8eff5;padding:10px;text-align:center}.calendar-day{border:0!important;border-radius:0!important;min-height:125px;background:white!important;padding:7px!important}.calendar-day.outside{background:#f4f6f9!important;color:#8b95a1}.calendar-date{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;font-weight:700;border-radius:50%}.is-today>.calendar-date{background:#08758b;color:white}.calendar-item{background:#dff2f4!important;color:#11394a!important;padding:5px!important;border-left:3px solid #08758b;margin:4px 0;overflow:hidden;text-overflow:ellipsis;display:block}.calendar-item small{display:block;color:#43616c}.calendar-more{font-size:12px}.calendar-time-scroll{overflow-x:auto;border:1px solid #d3dce7;border-radius:10px}.calendar-time-grid{display:grid;grid-template-columns:70px repeat(var(--day-count),minmax(125px,1fr));min-width:calc(70px + var(--day-count)*125px);background:#fff}.time-corner,.calendar-column-header{position:sticky;top:0;z-index:2;background:#e8eff5;padding:13px;text-align:center;border-bottom:1px solid #cbd8e4;font-weight:700}.time-label{min-height:66px;padding:8px;text-align:right;color:#708294;border-right:1px solid #dae2eb;border-bottom:1px solid #e1e7ef;font-size:12px}.time-slot{min-height:66px;padding:4px;border-right:1px solid #e1e7ef;border-bottom:1px solid #e1e7ef}.calendar-column-header.is-today{color:#08758b}.calendar-day .calendar-item{font-size:12px}
html[data-theme=dark] :is(body,.calendar-time-grid){background:#0d1420!important;color:#edf4fc}html[data-theme=dark] :is(.calendar-grid,.calendar-time-scroll){background:#34445a;border-color:#34445a}html[data-theme=dark] :is(.calendar-weekday,.time-corner,.calendar-column-header){background:#223247;color:#e6effa}html[data-theme=dark] .calendar-day{background:#172438!important;color:#e6effa}html[data-theme=dark] .calendar-day.outside{background:#101b2b!important;color:#8da0b5}html[data-theme=dark] .calendar-item{background:#264b60!important;color:#e8f8ff!important;border-color:#2eb3cf}html[data-theme=dark] .calendar-item small{color:#c9e4ec}html[data-theme=dark] :is(.time-label,.time-slot){border-color:#33445b;color:#dbe5f2}html[data-theme=dark] .audit{color:#acbed1}html[data-theme=dark] .alert{background:#53411d;color:#ffe7a5}html[data-theme=dark] .error-popup{background:#172438;border-color:#7a3136;border-top-color:#ef5350;box-shadow:0 10px 30px #00000066}html[data-theme=dark] .error-popup h1{color:#ffb4b4}html[data-theme=dark] .error-popup p{color:#f3d4d4}html[data-theme=dark] .alert-error{background:#4a1f22;border-color:#7a3136;border-left-color:#ef5350;color:#ffd7d7}html[data-theme=dark] .alert-error strong{color:#ffb4b4}html[data-theme=dark] .mfa-choice{background:#172438;border-color:#34445a;color:#e6effa}html[data-theme=dark] .mfa-choice:hover{border-color:#2eb3cf;color:#7fd9ea}html[data-theme=dark] .mfa-choice svg{color:#7fd9ea}html[data-theme=dark] .mfa-choice small{color:#acbed1}html[data-theme=dark] :root{color-scheme:dark}@media(max-width:700px){.calendar-day{min-height:85px;padding:3px!important}.calendar-item{font-size:10px!important}.calendar-grid{gap:1px}.calendar-toolbar h1{width:100%;order:-1}}header .brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-weight:700}header .brand img{height:51px;width:85px;object-fit:contain;background:#050505;border-radius:6px}header .brand span{font-size:19px;color:#9de0e1}.danger{background:#aa2737;color:white}
@media(max-width:700px){header .brand img{height:40px;width:67px}header .brand span{font-size:15px}}

.calendar-clock{display:none} .calendar-day-strip{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid #748399;border-radius:8px;margin:10px 0}.calendar-day-strip>div{min-width:120px;flex:1}.calendar-day-strip .calendar-item{margin-top:5px}

/* v1.7: einzelne Werkstatt-Arbeitspositionen; mobil gut bedienbar */
.work-position{border:1px solid #cdd9e5;border-radius:10px;padding:14px;margin:11px 0;background:#f7fafc;display:grid;grid-template-columns:minmax(0,2fr) minmax(155px,1fr) auto;gap:10px;align-items:end}
.work-position .position-header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
.work-position>label{margin:0}.work-position>button{min-height:41px}.position-state{border-radius:6px;background:#e0edf1;padding:6px 9px;font-size:13px}
.position-add{border:2px dashed #9cb5c8;border-radius:10px;padding:14px;margin-top:16px}
.position-add label{margin-top:0}.position-add button{width:100%}
html[data-theme="dark"] .work-position{background:#142134;border-color:#3b4d65}
html[data-theme="dark"] .position-state{background:#29425b;color:#eaf3ff}
html[data-theme="dark"] .position-add{border-color:#556b85}
@media(max-width:780px){.work-position{grid-template-columns:1fr}.work-position>button{width:100%;min-height:46px}}

/* Version 1.8: Urlaub / Ausfall als eigenständige Ganztagseinträge */
.calendar-item.calendar-absence { background:#fff0d5!important; color:#634414!important; border-left:3px solid #c88618!important; }
.calendar-item.calendar-absence small { color:#735520!important; }
html[data-theme="dark"] .calendar-item.calendar-absence { background:#534026!important; color:#fff0d5!important; border-color:#e5a340!important; }
html[data-theme="dark"] .calendar-item.calendar-absence small { color:#f2d5a2!important; }
@media(max-width:700px){.calendar-day .calendar-item.calendar-absence{font-size:10px!important}}

/* Version 1.9: Geschäftsführungsmitteilungen und Live-Ereignisse */
.bulletin-panel{margin:14px 0 17px}
.bulletin-panel h2{margin:0 0 9px}
.bulletin{border:1px solid #dae4ec;border-radius:9px;padding:12px;margin-top:10px;background:#f5f9fb;overflow-wrap:anywhere}
.bulletin-body{white-space:pre-wrap;margin:9px 0;line-height:1.5}
.bulletin small{color:#627184}
.notify-link{position:relative;display:inline-flex;align-items:center;gap:4px}
#live-count{border-radius:999px;background:#b73545;color:white;font-size:12px;padding:1px 6px;min-width:18px;text-align:center}
#live-count[hidden]{display:none}
.live-region{position:fixed;top:78px;right:16px;z-index:180;display:grid;gap:9px;max-width:min(440px,calc(100vw - 32px));width:100%;pointer-events:none}
.gas-toast{display:flex;align-items:center;justify-content:space-between;gap:11px;padding:13px 14px;background:#10394b;color:#fff;border:1px solid #177990;border-radius:10px;box-shadow:0 9px 24px #0004;pointer-events:auto;font-size:14px}
.gas-toast span{flex:1;overflow-wrap:anywhere}
.gas-toast a{color:#c5f1ff;font-weight:bold}
.gas-toast button{padding:5px 9px}
html[data-theme="dark"] .bulletin{background:#142235;color:#f0f5fd;border-color:#40526a}
html[data-theme="dark"] .bulletin small{color:#b4c4d8}
@media(max-width:700px){.bulletin-panel .between{align-items:flex-start;flex-direction:column}.live-region{top:65px;right:8px;max-width:calc(100vw - 16px)}.gas-toast{padding:11px}}

.nav-toggle{display:none}
.password-wrap{display:flex;align-items:stretch;gap:6px}
.password-wrap input{flex:1;min-width:0}
.password-toggle{margin-top:6px;padding:8px 12px;min-width:46px}
fieldset{border:1px solid #bfcbd5;border-radius:7px;padding:8px 12px}
fieldset label.inline{display:inline-flex;align-items:center;gap:5px;margin:6px 10px 6px 0}
fieldset input[type=checkbox],label.inline input[type=checkbox]{width:auto;display:inline-block;margin:0}
@media(max-width:760px){
 header .heading{position:relative}
 .nav-toggle{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;margin-left:auto;min-width:44px;min-height:42px;font-size:20px}
 header nav{display:none;width:100%;align-items:flex-start;flex-direction:column;gap:10px;padding:10px 0}
 header nav.is-open{display:flex}
 header nav a,header nav form{width:100%}
 header nav form button{text-align:left}
}
html[data-theme="dark"] fieldset{border-color:#50627a}
