:root{--cyan:#05a9d7;--cyan2:#e8f8fc;--red:#e5232a;--nav:#132331;--nav2:#0f1d29;--text:#18212b;--muted:#71808f;--line:#e5e9ed;--bg:#f5f7f8;--white:#fff;--green:#2e9d67;--orange:#e99532;--blue:#4079d5;--radius:10px}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);font-size:14px}.app{display:flex;min-height:100vh}.sidebar{width:238px;background:var(--nav);color:#dce5eb;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10}.brand{height:82px;padding:14px 16px;background:#fff;border-right:1px solid var(--line);display:flex;align-items:center;gap:10px;color:var(--text)}.brand img{width:66px;height:52px;object-fit:contain}.brand strong{display:block;font-size:14px}.brand small{display:block;color:#75818c;margin-top:3px;font-size:11px}.sidebar nav{padding:12px 10px;overflow:auto;flex:1}.nav-item{width:100%;border:0;background:transparent;color:#b9c6cf;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:7px;text-align:left;font-size:13px;margin:2px 0;cursor:pointer}.nav-item span{flex:1}.nav-item b{background:#314555;border-radius:12px;padding:2px 7px;font-size:10px}.nav-item:hover,.nav-item.active{background:#1e3546;color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--cyan)}.nav-label{font-size:9px;letter-spacing:1.2px;color:#698091;padding:17px 12px 5px}.side-foot{padding:14px 16px;border-top:1px solid #263b4a;display:flex;gap:10px;align-items:center}.side-foot strong,.side-foot small{display:block;font-size:10px}.side-foot small{color:#7f94a3;margin-top:2px}.sync-dot{width:8px;height:8px;border-radius:50%;background:#45c786}.main{margin-left:238px;width:calc(100% - 238px)}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:8}.search{width:390px;border:1px solid #dfe4e8;background:#f8fafb;border-radius:7px;height:36px;display:flex;align-items:center;padding:0 11px;color:#8a96a1}.search input{border:0;outline:0;background:transparent;width:100%;padding-left:8px}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn{border:1px solid #e2e6ea;background:#fff;width:34px;height:34px;border-radius:50%;position:relative}.icon-btn i{position:absolute;width:6px;height:6px;background:var(--red);border-radius:50%;right:2px;top:2px}.user{display:flex;align-items:center;gap:8px;margin-left:8px}.user strong,.user small{display:block;font-size:11px}.user small{color:#85919c;margin-top:2px}.avatar{width:34px;height:34px;border-radius:50%;background:#d8eef4;color:#24758a;display:grid;place-items:center;font-weight:700;font-size:11px}.content{padding:26px 28px 50px;max-width:1580px;margin:auto}.view{display:none}.view.active{display:block}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-head h1{margin:0;font-size:23px}.page-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.primary{background:var(--cyan);border:0;color:white;border-radius:6px;padding:10px 16px;font-weight:700;cursor:pointer}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.kpis article,.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;align-items:center;gap:13px;box-shadow:0 1px 2px rgba(20,30,40,.03)}.kpi-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800}.kpi-icon.cyan{background:#dff6fb;color:#1592af}.kpi-icon.blue{background:#e6effd;color:#3e73c8}.kpi-icon.orange{background:#fff0dd;color:#d98525}.kpi-icon.green{background:#e5f5ed;color:#2d9362}.kpis span,.stat-card span{font-size:11px;color:#6e7b86;display:block}.kpis strong,.stat-card strong{font-size:22px;display:block;margin-top:2px}.kpis small,.stat-card small{font-size:10px;color:#9aa4ad;display:block;margin-top:3px}.grid-main{display:grid;grid-template-columns:1.7fr .8fr;gap:16px;margin-bottom:16px}.grid-bottom{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(20,30,40,.03);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #edf0f2}.panel-head h2,.panel>h2{font-size:14px;margin:0}.panel-head p{margin:4px 0 0;color:#8a96a0;font-size:10px}.text-btn{border:0;background:transparent;color:#168bad;font-size:11px;cursor:pointer}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:650px}th{background:#fafbfc;text-align:left;color:#7c8994;font-size:10px;font-weight:600;padding:9px 14px;border-bottom:1px solid #edf0f2}td{padding:11px 14px;border-bottom:1px solid #f0f2f4;font-size:11px}td b,td small{display:block}td small{color:#8c98a2;margin-top:3px;font-size:9px}.faces{display:flex}.faces i{font-style:normal;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#d7eef4;color:#2b7d90;font-size:8px;font-weight:700;border:2px solid #fff;margin-left:-4px}.status{display:inline-block;border-radius:14px;padding:4px 9px;font-size:9px;font-style:normal;white-space:nowrap}.status.active{background:#e8f7f1;color:#2c8e65}.status.route{background:#eaf1fc;color:#3f72bc}.status.plan{background:#fff1de;color:#c97b1e}.status.done{background:#e8f7f1;color:#2c8e65}.status.danger{background:#fdebed;color:#c84049}.people-status{display:grid;grid-template-columns:repeat(4,1fr);padding:14px 16px;border-bottom:1px solid #edf0f2}.people-status div{text-align:center;border-right:1px solid #edf0f2}.people-status div:last-child{border:0}.people-status b,.people-status small{display:block}.people-status b{font-size:17px;margin:3px}.people-status small{font-size:8px;color:#8c98a2}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.dot.green{background:#41ad79}.dot.cyan{background:#27a8c9}.dot.yellow{background:#e7a239}.dot.red{background:#db515a}.mini-list{padding:8px 16px}.mini-list>div{display:flex;align-items:center;gap:9px;padding:8px 0}.avatar.sm{width:27px;height:27px;font-style:normal;font-size:8px}.mini-list span{flex:1}.mini-list b,.mini-list small{display:block;font-size:9px}.mini-list small{color:#8c98a2;margin-top:2px}.mini-list em{font-size:8px;color:#318a63;background:#e7f5ee;border-radius:12px;padding:4px 7px;font-style:normal}.mini-list em.free{color:#168aa8;background:#e4f7fb}.alerts{padding:8px 16px}.alerts>div{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid #f0f2f3}.alerts>div:last-child{border:0}.alert-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center}.alert-icon.orange{background:#fff0dc;color:#d98a29}.alert-icon.red{background:#fde9ea;color:#d64c53}.alert-icon.cyan{background:#e2f7fb;color:#2395b0}.alerts p{margin:0;flex:1}.alerts b,.alerts small{display:block;font-size:9px}.alerts small{color:#8d98a2;margin-top:3px}.alerts button,.outline{background:#fff;border:1px solid #dfe4e8;border-radius:5px;padding:6px 9px;font-size:9px;cursor:pointer}.quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px}.quick button{background:#fff;border:1px solid #e2e7ea;border-radius:7px;padding:14px 8px;text-align:left;font-size:10px;cursor:pointer}.quick span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:5px;background:#e4f7fb;color:#158ba8;margin-right:7px}.filterbar{display:flex;gap:8px;margin-bottom:14px}.filterbar input,.filterbar select,.filterbar button,.settings-grid input{height:36px;border:1px solid #dfe4e8;border-radius:6px;background:#fff;padding:0 11px}.filterbar input{flex:1}.filterbar button{cursor:pointer}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.stat-card{display:block}.project-grid,.vehicle-grid,.role-grid,.employee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.project-grid article,.vehicle-grid article,.role-grid article,.employee-grid article{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px}.project-grid h3,.vehicle-grid h3,.role-grid h3,.employee-grid h3{margin:10px 0 5px;font-size:14px}.project-grid p,.vehicle-grid p,.role-grid p,.employee-grid p{color:#7c8994;font-size:10px;min-height:28px}.project-grid article>div{display:flex;gap:8px;align-items:baseline;margin-top:16px}.project-grid article>div b{font-size:16px}.project-grid article>div small{font-size:9px;color:#8a96a0;margin-right:10px}.tag{font-size:8px;background:#e8f7f1;color:#2c8e65;padding:4px 7px;border-radius:12px}.tag.gray{background:#eef1f3;color:#65727c}.orangeTag{background:#fff0dc;color:#c97b1e}.vehicle-top{display:flex;justify-content:space-between;align-items:center;color:#7d8993;font-size:10px}.vehicle-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.vehicle-meta span{font-size:8px;background:#f3f5f6;border-radius:4px;padding:5px 7px}.compact article{padding:12px 16px}.employee-grid article{display:flex;align-items:center;gap:12px}.employee-grid .avatar{flex:none}.employee-grid p{min-height:0;margin:3px 0}.employee-grid .emp-info{flex:1}.scheduler{overflow:auto}.toolbar{display:flex;align-items:center;gap:7px;padding:12px;border-bottom:1px solid var(--line)}.toolbar button{border:1px solid #dfe4e8;background:#fff;border-radius:5px;padding:6px 9px}.toolbar b{font-size:11px}.toolbar span{flex:1}.schedule-grid{display:grid;grid-template-columns:160px repeat(5,minmax(160px,1fr));min-width:980px}.sg-head{background:#fafbfc;padding:10px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:10px;font-weight:700}.person-cell,.day{min-height:78px;border-right:1px solid #edf0f2;border-bottom:1px solid #edf0f2;padding:9px}.person-cell b,.person-cell small{display:block;font-size:10px}.person-cell small{color:#8b97a0;margin-top:3px}.job{border-left:3px solid;padding:7px;border-radius:4px;font-size:9px;font-weight:600}.job small{display:block;font-size:8px;margin-top:3px;color:#66747f}.cyanjob{background:#e6f8fb;border-color:#17a4c7}.bluejob{background:#eaf1fc;border-color:#4779c6}.grayjob{background:#f0f2f4;border-color:#7c8994}.available{font-size:9px;color:#2e9366;border:1px dashed #91c8ad;border-radius:4px;padding:8px;text-align:center}.leave{background:#fff1dc;color:#b87522;border-left:3px solid #e5a045;border-radius:4px;padding:8px;font-size:9px}.empty-panel{background:#fff;border:1px solid var(--line);border-radius:9px;padding:50px;text-align:center;color:#8b97a0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-grid .panel{padding:18px}.settings-grid label{display:block;font-size:10px;margin-top:14px;color:#687680}.settings-grid input{display:block;width:100%;margin-top:5px}.modal{position:fixed;inset:0;background:rgba(12,24,34,.45);z-index:50;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-card{background:#fff;width:min(720px,100%);border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.2);max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:16px;margin:0}.modal-head button{border:0;background:transparent;font-size:24px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.form-grid label{font-size:10px;color:#687680}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;border:1px solid #dfe4e8;border-radius:6px;padding:9px;margin-top:5px;font:inherit}.form-grid textarea{min-height:80px}.form-grid .wide{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 18px 18px}.modal-actions button{padding:9px 14px;border-radius:6px;border:1px solid #dfe4e8;background:#fff}.modal-actions .primary{border-color:var(--cyan);background:var(--cyan)}
@media(max-width:1050px){.sidebar{width:72px}.brand{padding:10px}.brand div,.nav-item span,.nav-item b,.nav-label,.side-foot div{display:none}.brand img{width:50px}.nav-item{justify-content:center;font-size:17px}.main{margin-left:72px;width:calc(100% - 72px)}.grid-main,.grid-bottom{grid-template-columns:1fr}.project-grid,.vehicle-grid,.role-grid,.employee-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.topbar{padding:0 12px}.search{width:48px}.search input{display:none}.user div:not(.avatar),.user span{display:none}.content{padding:18px 12px}.page-head{align-items:flex-start;gap:12px}.kpis,.cards-3{grid-template-columns:1fr 1fr}.project-grid,.vehicle-grid,.role-grid,.employee-grid,.settings-grid{grid-template-columns:1fr}.filterbar{flex-wrap:wrap}.filterbar input{min-width:100%}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}

/* v0.2.0 – größere, klassische Betriebssoftware-Oberfläche */
body{font-size:16px}.sidebar{width:220px}.main{margin-left:220px;width:calc(100% - 220px)}.brand{height:88px;padding:14px 15px}.brand img{width:72px;height:58px}.brand strong{font-size:16px}.brand small{font-size:12px}.sidebar nav{padding:13px 9px}.nav-item{font-size:14px;padding:11px 12px;min-height:42px}.nav-label{font-size:10px;padding-top:19px}.side-foot strong,.side-foot small{font-size:11px}.topbar{height:70px;padding:0 24px}.search{width:min(460px,42vw);height:42px}.search input{font-size:14px}.icon-btn{width:38px;height:38px}.user strong{font-size:13px}.user small{font-size:11px}.avatar{width:38px;height:38px;font-size:12px}.content{padding:28px 30px 56px;max-width:1680px}.page-head{margin-bottom:22px}.page-head h1{font-size:27px}.page-head p{font-size:14px;margin-top:6px}.primary{font-size:14px;padding:11px 17px;min-height:42px}.kpis{gap:16px;margin-bottom:18px}.kpis article,.stat-card{padding:18px}.kpi-icon{width:44px;height:44px}.kpis span,.stat-card span{font-size:13px}.kpis strong,.stat-card strong{font-size:25px}.kpis small,.stat-card small{font-size:11px}.panel-head{padding:17px 18px}.panel-head h2,.panel>h2{font-size:16px}.panel-head p{font-size:12px}.text-btn{font-size:12px}th{font-size:11px;padding:11px 14px}td{font-size:13px;padding:13px 14px}td small{font-size:11px}.status{font-size:11px;padding:5px 9px}.people-status{padding:16px}.people-status b{font-size:19px}.people-status small{font-size:10px}.mini-list b{font-size:12px}.mini-list small{font-size:10px}.mini-list em{font-size:10px}.alerts{padding:9px 16px}.alerts>div{padding:11px 0}.alerts b{font-size:12px}.alerts small{font-size:10px}.alerts button,.outline{font-size:11px;padding:7px 10px}.quick{gap:10px}.quick button{font-size:13px;padding:14px 10px;min-height:52px}.filterbar input,.filterbar select,.filterbar button,.settings-grid input{height:42px;font-size:13px}.project-grid h3,.vehicle-grid h3,.role-grid h3,.employee-grid h3{font-size:16px}.project-grid p,.vehicle-grid p,.role-grid p,.employee-grid p{font-size:12px}.tag,.vehicle-meta span{font-size:10px}.toolbar button{font-size:12px;padding:8px 11px}.toolbar b{font-size:13px}.sg-head{font-size:12px}.person-cell b{font-size:12px}.person-cell small{font-size:10px}.job,.available,.leave{font-size:11px}.job small{font-size:9px}.settings-grid label{font-size:12px}.modal-head h2{font-size:19px}.form-grid label{font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{font-size:14px}.update-panel{grid-column:1/-1}.update-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.update-title h2{margin:0;font-size:16px}.update-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.version-badge{background:#e4f7fb;color:#168aa8;border-radius:16px;padding:6px 10px;font-size:12px;font-weight:700}.update-info,.system-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f2;font-size:13px}.update-drop{display:block!important;border:1px dashed #aab8c2;border-radius:8px;padding:18px!important;margin-top:16px!important;background:#fafcfd;cursor:pointer}.update-drop strong,.update-drop small{display:block}.update-drop strong{font-size:14px;color:var(--text)}.update-drop small{font-size:11px;color:var(--muted);margin-top:4px}.update-drop input{margin-top:12px!important;border:0!important;padding:0!important;height:auto!important}.file-name{font-size:11px;color:var(--muted);margin:9px 0}.update-btn{margin-top:5px}.update-btn:disabled{opacity:.45;cursor:not-allowed}.update-note{font-size:11px;color:var(--muted);margin:12px 0 0}.ok{color:var(--green)}
@media(max-width:1180px){.sidebar{width:82px}.brand{padding:10px 7px;justify-content:center}.brand div,.nav-item span,.nav-item b,.nav-label,.side-foot div{display:none}.brand img{width:60px}.nav-item{justify-content:center;font-size:19px}.main{margin-left:82px;width:calc(100% - 82px)}.grid-main,.grid-bottom{grid-template-columns:1fr}.project-grid,.vehicle-grid,.role-grid,.employee-grid{grid-template-columns:1fr 1fr}.content{padding:24px 22px}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.topbar{padding:0 14px}.search{width:min(360px,50vw)}.content{padding:20px 15px}.page-head{align-items:flex-start;gap:14px;flex-wrap:wrap}.page-head h1{font-size:24px}.cards-3{grid-template-columns:1fr 1fr}.project-grid,.vehicle-grid,.role-grid,.employee-grid,.settings-grid{grid-template-columns:1fr}.update-panel{grid-column:auto}.table-wrap{-webkit-overflow-scrolling:touch}.schedule-grid{min-width:900px}}
@media(max-width:600px){.sidebar{width:0;display:none}.main{margin-left:0;width:100%}.topbar{height:64px}.search{width:44px}.search input{display:none}.user div:not(.avatar),.user span{display:none}.kpis,.cards-3{grid-template-columns:1fr}.content{padding:16px 12px}.page-head h1{font-size:22px}.grid-main,.grid-bottom{gap:12px}.quick{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
/* v0.3.0 Auth & responsive polish */
.logout-link{font-size:14px;font-weight:700;color:#64748b;text-decoration:none;margin-left:10px}.logout-link:hover{color:#ef3340}
.auth-page{margin:0;min-height:100vh;background:#f3f6f8;display:grid;place-items:center;font-family:Inter,Arial,sans-serif;color:#16202c;padding:24px}.auth-card{width:min(480px,100%);background:#fff;border:1px solid #dfe6eb;border-radius:14px;padding:34px;box-shadow:0 12px 34px rgba(15,35,50,.08)}.auth-brand{display:flex;align-items:center;gap:16px;margin-bottom:32px}.auth-brand img{width:105px;height:62px;object-fit:contain}.auth-brand b{font-size:21px;display:block}.auth-brand span{font-size:15px;color:#6b7b89}.auth-card h1{font-size:30px;margin:0 0 7px}.auth-card>p{font-size:17px;color:#687887;margin:0 0 24px}.auth-form{display:grid;gap:17px}.auth-form label{font-size:15px;font-weight:700;color:#334155;display:grid;gap:7px}.auth-form input{font:inherit;font-size:17px;padding:13px 14px;border:1px solid #cfd8df;border-radius:8px;min-height:50px}.auth-form .primary{min-height:52px;font-size:17px;margin-top:5px}.auth-error,.auth-success{padding:13px 15px;border-radius:8px;margin:0 0 18px;font-size:15px}.auth-error{background:#fff0f1;color:#a51d29;border:1px solid #ffc9ce}.auth-success{background:#edf9f2;color:#17643a;border:1px solid #bfe7ce}.auth-version{display:block;text-align:center;color:#94a3b8;margin-top:22px;font-size:13px}.auth-form hr{width:100%;border:0;border-top:1px solid #e5e9ed;margin:5px 0}
@media(max-width:900px){.topbar{padding-left:18px;padding-right:18px}.content{padding:22px 18px}.page-head h1{font-size:28px}.panel h2{font-size:20px}.table-wrap table{min-width:780px}.user small{font-size:13px}.logout-link{display:none}}
@media(max-width:640px){.auth-card{padding:25px 20px}.auth-card h1{font-size:27px}.auth-brand img{width:90px}.page-head h1{font-size:26px}.page-head p{font-size:15px}.primary{min-height:48px;font-size:16px}}

/* v0.5.0 – Entwurfsnahes Layout und echte Tages-Plantafel */
:root{--sidebar-wide:238px}
body{font-size:16px}.sidebar{width:var(--sidebar-wide)}.main{margin-left:var(--sidebar-wide);width:calc(100% - var(--sidebar-wide))}.content{max-width:1760px;padding:30px 34px 60px}.brand{height:94px}.brand img{width:82px;height:64px}.brand strong{font-size:17px}.brand small{font-size:13px}.nav-item{font-size:15px;min-height:45px;padding:12px 14px}.topbar{height:72px}.search{height:44px;width:min(500px,45vw)}.search input{font-size:15px}.page-head h1{font-size:30px}.page-head p{font-size:15px}.primary{font-size:15px;min-height:44px;padding:11px 18px}.kpis article{min-height:90px}.kpis span{font-size:13px}.kpis strong{font-size:27px}.kpis small{font-size:12px}.panel-head h2,.panel>h2{font-size:18px}.panel-head p{font-size:13px}th{font-size:12px;padding:12px 15px}td{font-size:14px;padding:14px 15px}td small{font-size:11px}.status{font-size:12px}.quick button{font-size:14px}.alerts b{font-size:13px}.alerts small{font-size:11px}
.scheduler-v2{overflow:hidden}.plant-toolbar{display:flex;align-items:center;gap:9px;padding:15px 16px;border-bottom:1px solid var(--line);background:#fff}.plant-toolbar button,.plant-toolbar select{min-height:40px;border:1px solid #dce3e8;background:#fff;border-radius:7px;padding:0 13px;font:inherit;font-size:14px}.plant-toolbar button{cursor:pointer}.plant-date{font-weight:700;font-size:15px;margin-left:6px}.toolbar-spacer{flex:1}.timeline-scroll{overflow:auto;background:#fff;-webkit-overflow-scrolling:touch}.day-schedule{min-width:1120px}.timeline-header,.timeline-row{display:grid;grid-template-columns:220px 1fr}.timeline-header{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid #dfe5e9}.employee-header{padding:13px 16px;font-size:13px;font-weight:700;border-right:1px solid #e4e9ed}.hours{position:relative;height:48px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(10% - 1px),#e8ecef calc(10% - 1px),#e8ecef 10%)}.hours span{position:absolute;top:15px;transform:translateX(-50%);font-size:12px;color:#647482}.timeline-row{min-height:76px;border-bottom:1px solid #edf0f2}.timeline-row:last-child{border-bottom:0}.employee-cell{padding:13px 16px;border-right:1px solid #e4e9ed;display:flex;align-items:center;gap:11px;background:#fff}.employee-cell .avatar{flex:0 0 38px}.employee-cell b,.employee-cell small{display:block}.employee-cell b{font-size:14px}.employee-cell small{font-size:11px;color:#788794;margin-top:3px}.time-lane{position:relative;min-height:76px;background:repeating-linear-gradient(to right,#fff 0,#fff calc(10% - 1px),#edf0f2 calc(10% - 1px),#edf0f2 10%)}.time-lane.drag-over{background-color:#eefafd;box-shadow:inset 0 0 0 2px var(--cyan)}.time-job{position:absolute;top:10px;height:56px;border:1px solid #a8cbe0;border-left:4px solid #2c8ac1;border-radius:6px;background:#e9f4fb;padding:7px 9px;overflow:hidden;cursor:grab;box-shadow:0 1px 2px rgba(20,40,55,.06);min-width:62px}.time-job:active{cursor:grabbing}.time-job.in_arbeit{background:#e6f6ed;border-color:#9ed2b6;border-left-color:#2d9b67}.time-job.abgeschlossen{background:#f0f2f4;border-color:#cdd4d9;border-left-color:#7c8994}.time-job.high{box-shadow:inset 0 0 0 1px #e5a23c}.time-job b,.time-job small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-job b{font-size:12px}.time-job small{font-size:10px;color:#526473;margin-top:3px}.absence-bar{position:absolute;inset:10px 8px;height:56px;border-radius:6px;background:#fff1dd;border:1px solid #e8c387;border-left:4px solid #df9a32;padding:17px 12px;font-size:12px;font-weight:700;color:#9b651a}.absence-bar.krank{background:#fdebed;border-color:#efb5bb;border-left-color:#d54e58;color:#a7353d}.schedule-empty{padding:20px;color:#748390;font-size:13px}.schedule-loading{padding:30px;text-align:center;color:#748390}.plant-legend{display:flex;align-items:center;gap:18px;padding:13px 16px;border-top:1px solid var(--line);font-size:12px;color:#647482;flex-wrap:wrap}.plant-legend span{display:flex;align-items:center;gap:6px}.plant-legend small{margin-left:auto;font-size:11px}.legend{width:11px;height:11px;border-radius:3px;display:inline-block}.legend.planned{background:#d8edf9;border:1px solid #8ebbd4}.legend.active{background:#dff2e7;border:1px solid #8bc6a5}.legend.leave{background:#fff0d8;border:1px solid #e2b870}
@media(max-width:1280px){:root{--sidebar-wide:86px}.brand div,.nav-item span,.nav-item b,.nav-label,.side-foot div{display:none}.brand{justify-content:center;padding:8px}.brand img{width:64px}.nav-item{justify-content:center;font-size:20px}.content{padding:24px 22px}.grid-main,.grid-bottom{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.content{padding:22px 18px}.page-head h1{font-size:28px}.timeline-header,.timeline-row{grid-template-columns:180px 1fr}.day-schedule{min-width:1040px}.plant-toolbar{flex-wrap:wrap}.toolbar-spacer{display:none}.plant-date{min-width:230px}.plant-toolbar select{margin-left:auto}.plant-legend small{width:100%;margin-left:0}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){:root{--sidebar-wide:0px}.sidebar{display:none}.main{margin-left:0;width:100%}.content{padding:16px 12px}.kpis{grid-template-columns:1fr}.page-head h1{font-size:26px}.plant-toolbar select{width:100%;margin-left:0}.search{width:46px}.search input{display:none}.topbar{padding:0 12px}.timeline-header,.timeline-row{grid-template-columns:160px 1fr}.day-schedule{min-width:1000px}}
/* v0.6.0 CRUD */
.actions{display:flex;gap:8px;justify-content:flex-end;white-space:nowrap}.action-btn{border:1px solid #d8e1e8;background:#fff;border-radius:7px;padding:7px 11px;font-size:14px;font-weight:650;cursor:pointer}.action-btn:hover{background:#f4f8fa}.action-btn.danger{color:#b4232d;border-color:#f0c8cc}.action-btn.danger:hover{background:#fff2f3}.empty-state{padding:24px;color:#6b7b88;font-size:16px}.form-grid label small{display:block;margin-top:5px;color:#6d7d89}.modal-card{max-width:820px}.modal-card input,.modal-card select,.modal-card textarea{font-size:16px;min-height:44px}.modal-card textarea{min-height:100px}.modal-actions button{font-size:16px;min-height:44px}
@media(max-width:900px){.actions{justify-content:flex-start}.action-btn{padding:9px 12px}.modal-card{width:94vw}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}

/* v0.7.0 – interne Statusmeldungen und Bestätigungen */
.toast-stack{position:fixed;top:88px;right:24px;z-index:10050;display:grid;gap:12px;width:min(430px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:42px 1fr 34px;align-items:center;gap:12px;background:#fff;border:1px solid #dce4e9;border-radius:10px;padding:13px 12px 13px 14px;box-shadow:0 12px 30px rgba(22,42,57,.16);transform:translateY(-10px);opacity:0;transition:.18s ease}.toast.show{transform:translateY(0);opacity:1}.toast.leaving{transform:translateX(20px);opacity:0}.toast-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:19px;font-weight:800;background:#e8f8fb;color:#008cae}.toast.success .toast-icon{background:#e6f6ed;color:#218454}.toast.error .toast-icon{background:#fdebed;color:#b52f3b}.toast.warning .toast-icon{background:#fff1dd;color:#b56e09}.toast-copy{min-width:0}.toast-copy b,.toast-copy span{display:block}.toast-copy b{font-size:15px;color:#17212b;margin-bottom:3px}.toast-copy span{font-size:14px;line-height:1.35;color:#61717e}.toast-close{border:0;background:transparent;font-size:24px;line-height:1;color:#83919b;cursor:pointer;padding:3px}.confirm-overlay{position:fixed;inset:0;z-index:10060;background:rgba(16,31,43,.42);display:none;align-items:center;justify-content:center;padding:20px}.confirm-overlay.open{display:flex}.confirm-card{width:min(500px,100%);background:#fff;border-radius:12px;box-shadow:0 22px 55px rgba(15,30,42,.25);padding:24px;display:grid;grid-template-columns:52px 1fr;gap:16px}.confirm-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e9f7fa;color:#009bbb;font-size:22px;font-weight:800}.confirm-copy h3{font-size:21px;margin:1px 0 7px;color:#17212b}.confirm-copy p{font-size:15px;line-height:1.5;color:#647582;margin:0}.confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.confirm-actions button{min-height:44px;padding:10px 17px;border-radius:7px;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.confirm-actions .secondary{border:1px solid #d5dee4;background:#fff;color:#31424f}.danger-btn{background:#c93642!important;border-color:#c93642!important;color:#fff!important}
@media(max-width:650px){.toast-stack{top:76px;right:16px;left:16px;width:auto}.toast{grid-template-columns:38px 1fr 30px}.confirm-card{padding:20px;grid-template-columns:46px 1fr}.confirm-copy h3{font-size:19px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr}.confirm-actions button{width:100%}}
/* v0.8.0 Mitarbeiter und Abwesenheiten */
.head-actions{display:flex;gap:10px;align-items:center}.secondary-btn{min-height:44px;padding:10px 16px;border:1px solid #d9e0e5;border-radius:7px;background:#fff;color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.absence-panel{margin-bottom:18px}.absence-list{padding:0 18px 8px}.absence-item{display:grid;grid-template-columns:130px minmax(220px,1fr) auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #edf0f2}.absence-item:last-child{border-bottom:0}.absence-type{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border-radius:6px;background:#fff1dd;color:#9b651a;font-size:12px;font-weight:700}.absence-type.krank{background:#fdebed;color:#a7353d}.absence-type.schule{background:#eaf1fc;color:#426fae}.absence-type.fortbildung{background:#e8f6ee;color:#287c55}.absence-type.sonstiges{background:#eef1f3;color:#5f6e79}.absence-person b,.absence-person small{display:block}.absence-person b{font-size:14px}.absence-person small{font-size:12px;color:var(--muted);margin-top:3px}.employee-card .emp-info small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.danger-text{color:#b53b45!important}.kpis.compact article small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
@media(max-width:760px){.page-head{align-items:flex-start}.head-actions{width:100%;flex-wrap:wrap}.head-actions button{flex:1}.absence-item{grid-template-columns:1fr;gap:8px}.absence-item .actions{justify-content:flex-start}}
/* v0.9.0 Fahrzeugverwaltung */
.vehicle-number{display:block;margin:-5px 0 10px;color:var(--muted,#6b7280);font-size:13px;font-weight:700}.status.muted{background:#eef1f4;color:#5f6975}.vehicle-grid article h3{margin-bottom:6px}
