:root{--dark:#0e131b;--dark2:#171e29;--red:#d2092d;--red2:#ed2348;--bg:#f3f5f8;--card:#fff;--text:#141a23;--muted:#6c7788;--line:#e6eaf0;--sidebar:270px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.45}a{color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--dark);color:#fff;display:flex;flex-direction:column;z-index:50;box-shadow:10px 0 35px rgba(8,14,24,.1)}.sidebar-brand{height:88px;padding:25px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand a{text-decoration:none;font-weight:900;letter-spacing:1.2px}.sidebar-brand b{color:#fff}.sidebar-brand span{color:var(--red2)}.sidebar-brand small{display:block;color:#909bac;font-size:11px;letter-spacing:.7px;margin-top:3px}.user-panel{display:flex;gap:12px;align-items:center;padding:20px 22px;border-bottom:1px solid rgba(255,255,255,.08)}.user-panel strong,.user-panel small{display:block}.user-panel strong{font-size:14px}.user-panel small{font-size:11px;color:#9ca7b7;margin-top:2px}.avatar{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--red),var(--red2));display:grid;place-items:center;font-weight:900;overflow:hidden;flex:none}.avatar img,.profile-photo img{width:100%;height:100%;object-fit:cover}.side-nav{padding:18px 13px;display:flex;flex-direction:column;gap:5px}.side-nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:10px;text-decoration:none;color:#cbd2dc;font-weight:700;font-size:14px}.side-nav a span{width:22px;text-align:center}.side-nav a:hover,.side-nav a.active{background:rgba(210,9,45,.15);color:#fff}.side-nav a.active{box-shadow:inset 3px 0 0 var(--red2)}.nav-divider{height:1px;background:rgba(255,255,255,.08);margin:10px 8px}.sidebar-footer{margin-top:auto;padding:20px 24px;color:#778395;font-size:11px}.mobile-topbar{display:none}.menu-backdrop{display:none}.app-main{margin-left:var(--sidebar);max-width:1600px;padding:38px 42px 55px}.app-main.narrow{max-width:1050px}.container{margin-left:var(--sidebar);max-width:1500px;padding:38px 42px 55px}.container.narrow{max-width:1000px}.page-title{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:26px}.page-title h1{margin:2px 0 4px;font-size:36px;line-height:1.1}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.2px;color:var(--red);text-transform:uppercase}.muted{color:var(--muted);margin:0}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.card{background:var(--card);border:1px solid rgba(18,27,40,.04);border-radius:16px;padding:24px;margin:0 0 24px;box-shadow:0 9px 28px rgba(20,31,48,.07)}.card h2{margin-top:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:20px}.stat{background:#fff;border-radius:15px;padding:21px;box-shadow:0 8px 26px rgba(20,31,48,.07);display:flex;gap:15px;align-items:center;border:1px solid rgba(20,31,48,.04)}.stat-icon{width:46px;height:46px;border-radius:13px;background:#fff0f3;color:var(--red);display:grid;place-items:center;font-weight:900;font-size:19px;flex:none}.stat b{display:block;font-size:26px;line-height:1.1}.stat span:not(.stat-icon){display:block;color:var(--muted);margin-top:5px;font-size:13px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:24px}.quick-actions a{background:var(--dark2);color:#fff;padding:20px 22px;border-radius:14px;text-decoration:none;transition:.2s}.quick-actions a:hover{transform:translateY(-2px);background:#202a38}.quick-actions b,.quick-actions span{display:block}.quick-actions span{font-size:12px;color:#aab3bf;margin-top:6px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.dashboard-grid .card{margin:0}.span-2{grid-column:span 2}.span-3{grid-column:1/-1}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.section-head h2{margin:0;font-size:20px}.section-head p{font-size:13px;margin-top:3px}.text-link{font-size:13px;font-weight:700;color:var(--red);text-decoration:none}.empty-state{padding:38px;text-align:center;background:#f7f8fa;border:1px dashed #d9dee7;border-radius:12px;color:var(--muted)}.empty-state.compact{padding:25px}.simple-list{display:flex;flex-direction:column}.simple-list a{display:flex;gap:12px;align-items:center;padding:11px 2px;border-bottom:1px solid var(--line);text-decoration:none}.simple-list a:last-child{border:0}.simple-list b,.simple-list small{display:block}.simple-list small{color:var(--muted);font-size:12px;margin-top:2px}.list-avatar{width:38px;height:38px;border-radius:11px;background:#eef1f5;display:grid;place-items:center;font-weight:800}.grid-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px}.grid-form label,.photo-form label,.login-form label{font-weight:700;font-size:14px}.grid-form input,.grid-form select,.grid-form textarea,.inline input,.photo-form input,.login-form input,select{width:100%;margin-top:7px;border:1px solid #ced5df;border-radius:9px;padding:12px;background:#fff;font:inherit}.grid-form input:focus,.grid-form select:focus,.grid-form textarea:focus,.login-form input:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(210,9,45,.1)}.grid-form .full{grid-column:1/-1}.align-end{display:flex;align-items:end}.btn,button{display:inline-block;border:0;border-radius:9px;background:var(--red);color:#fff;text-decoration:none;font-weight:700;padding:11px 17px;cursor:pointer;font:inherit}.btn:hover,button:hover{background:#b90827}.btn.small,button.small{padding:7px 10px;font-size:13px}.btn.secondary,button.secondary,.secondary{background:#394657}.ok,.err{padding:13px 15px;border-radius:9px;margin-bottom:18px}.ok{background:#dff5e5;color:#14602c}.err{background:#fde1e5;color:#8b0b21}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}th{background:#f0f2f5;color:#3f4a59;font-size:12px;text-transform:uppercase;letter-spacing:.3px}td small{display:block;color:var(--muted);margin-top:2px}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions form{margin:0}.inline{display:flex;gap:6px;min-width:230px}.badge{display:inline-block;background:#eef1f5;padding:5px 9px;border-radius:999px;font-size:12px}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:13px;font-weight:700}.status.active{background:#dff5e5;color:#14602c}.status.inactive{background:#eceff3;color:#687486}.doc-grid{display:grid;gap:11px}.doc{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px}.doc small{display:block;color:var(--muted);margin-top:3px}.pdf{width:42px;height:48px;border-radius:9px;background:#fff0f3;color:var(--red);display:grid;place-items:center;font-size:11px;font-weight:900}.profile-layout{display:grid;grid-template-columns:280px 1fr;gap:22px}.profile-card{text-align:center;align-self:start}.profile-photo{width:118px;height:118px;border-radius:25px;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;display:grid;place-items:center;font-size:45px;font-weight:900;overflow:hidden;margin:0 auto 17px}.photo-form{border-top:1px solid var(--line);margin-top:22px;padding-top:20px;text-align:left}.photo-form button{width:100%;margin:11px 0 5px}.photo-form small{display:block;color:var(--muted);text-align:center}.back-link{font-size:13px;color:var(--red);font-weight:700;text-decoration:none}.login-page{background:radial-gradient(circle at 15% 20%,#2a3340 0,#121821 42%,#090d13 100%);min-height:100vh}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%);background:#fff;border-radius:20px;padding:34px;box-shadow:0 28px 80px rgba(0,0,0,.35)}.login-logo{font-weight:900;letter-spacing:1.2px;margin-bottom:27px}.login-logo span{color:var(--red)}.login-logo small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.login-card h1{margin:0 0 5px}.login-form{display:grid;gap:16px;margin-top:24px}.login-form button{margin-top:4px;padding:13px}.update-card{max-width:760px}.update-card h1{font-size:34px}.center-card{max-width:680px;margin:8vh auto;background:#fff;padding:28px;border-radius:16px}
@media(max-width:1150px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.span-3{grid-column:1/-1}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout{grid-template-columns:240px 1fr}}
@media(max-width:820px){.mobile-topbar{display:flex;position:sticky;top:0;height:64px;background:var(--dark);color:#fff;align-items:center;justify-content:space-between;padding:0 18px;z-index:45}.mobile-brand{text-decoration:none;font-weight:900}.mobile-brand span{color:var(--red2)}.nav-toggle{background:transparent;padding:7px;font-size:24px}.sidebar{transform:translateX(-105%);transition:.25s;width:280px}.menu-open .sidebar{transform:translateX(0)}.menu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:49}.menu-open .menu-backdrop{display:block}.app-main,.container{margin-left:0;padding:26px 18px 45px}.page-title{align-items:flex-start;flex-direction:column}.quick-actions{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.profile-layout{grid-template-columns:1fr}.profile-card{width:100%}}
@media(max-width:560px){.app-main,.container{padding:22px 12px 40px}.page-title h1{font-size:30px}.stats,.grid-form{grid-template-columns:1fr}.card{padding:17px}.stat{padding:17px}.doc{grid-template-columns:auto 1fr}.doc .btn{grid-column:1/-1;text-align:center}.actions{min-width:290px}.page-actions{width:100%}.page-actions .btn{flex:1;text-align:center}.login-card{padding:25px 20px}}

.status.pending{background:#fff1cc;color:#815d00}.filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-row input,.decision-form input{border:1px solid #ced5df;border-radius:8px;padding:8px;font:inherit}.decision-form{display:flex;gap:6px;flex-wrap:wrap;min-width:330px}.quick-actions{grid-template-columns:repeat(5,1fr)}@media(max-width:1250px){.quick-actions{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.quick-actions{grid-template-columns:1fr}.decision-form{min-width:280px}}

/* v3.0 */
.clock-card{max-width:820px;text-align:center}.clock-now{font-size:58px;font-weight:900;letter-spacing:2px;margin:4px 0 22px}.clock-form{max-width:520px;margin:0 auto;display:grid;gap:18px;text-align:left}.clock-form input{width:100%;margin-top:7px;border:1px solid #ced5df;border-radius:9px;padding:13px;font:inherit}.clock-primary{padding:15px;font-size:17px}.clock-status h2{font-size:28px;margin:16px 0 5px}.clock-status p{color:var(--muted)}.clock-actions{display:flex;justify-content:center;gap:12px;margin-top:22px}.clock-actions form{margin:0}.status.working{background:#dff5e5;color:#14602c}.status.break{background:#fff1cc;color:#815d00}.status.closed{background:#eceff3;color:#687486}.notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.notice-grid .card{margin:0}.notice h2{margin:10px 0 0}.notice-text{font-size:15px;line-height:1.65}.notice-valid{margin-top:18px;font-size:12px}.report-stats{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}.filter-row label{font-weight:700;font-size:14px}.filter-row input,.filter-row select{margin-top:6px;min-width:190px}@media(max-width:820px){.notice-grid{grid-template-columns:1fr}.clock-now{font-size:44px}.clock-actions{flex-direction:column}.clock-actions button{width:100%}.report-stats{grid-template-columns:1fr}}
/* v4 additions */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#20304a}.form-grid input,.form-grid select,.form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #d9e0ea;border-radius:10px;padding:11px 12px;font:inherit;background:#fff}.form-grid textarea{resize:vertical}.form-grid .span-2{grid-column:span 2}.form-grid .check{flex-direction:row;align-items:center;font-weight:600}.form-grid .check input{width:auto}.danger{background:#b42318!important;color:#fff!important;border-color:#b42318!important}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}
/* v5.0 additions */
.form-actions{display:flex;gap:10px;flex-wrap:wrap}.count-label{font-weight:400;color:var(--muted);font-size:13px}.warning-text{color:#b54708!important;font-weight:700}.filter-row{margin-bottom:18px}.filter-row input{min-width:240px;flex:1}.filter-row select{min-width:150px}.contract-alerts{display:grid;gap:10px}.contract-alert{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 15px;border:1px solid #f1d2a9;background:#fff8ed;border-radius:10px}.contract-alert small{display:block;color:var(--muted);margin-top:3px}@media(max-width:650px){.contract-alert{align-items:flex-start;flex-direction:column}.filter-row>*{width:100%;min-width:0!important}}


/* v6.0 Dashboard Pro + Dark Mode */
.theme-toggle{width:100%;display:flex;align-items:center;gap:12px;background:transparent;color:#c5cbd4;padding:11px 14px;border-radius:9px;font-weight:700;text-align:left}
.theme-toggle:hover{background:#18212d;color:#fff}.theme-toggle .theme-icon{width:22px;text-align:center}
.dashboard-alerts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.alert-card{display:flex;gap:13px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.alert-card:hover{transform:translateY(-1px)}.alert-card .alert-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff1f3;font-size:20px}.alert-card b,.alert-card span{display:block}.alert-card b{font-size:22px}.alert-card span{font-size:12px;color:var(--muted);margin-top:3px}
.alert-card.warning .alert-icon{background:#fff4dd}.alert-card.info .alert-icon{background:#eaf2ff}.alert-card.success .alert-icon{background:#e6f8eb}
.pro-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin-bottom:20px}.pro-grid .card{margin:0}.pro-grid.three{grid-template-columns:1fr 1fr 1fr}
.chart-bars{display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:12px;height:230px;padding:20px 8px 0;border-bottom:1px solid var(--line)}
.chart-column{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;min-width:0}.chart-value{font-size:11px;color:var(--muted);font-weight:700}.chart-bar{width:min(46px,75%);min-height:4px;background:linear-gradient(180deg,var(--red2),var(--red));border-radius:8px 8px 2px 2px}.chart-label{font-size:11px;color:var(--muted);white-space:nowrap}
.dashboard-list{display:flex;flex-direction:column}.dashboard-list-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.dashboard-list-item:last-child{border:0}.dashboard-list-item strong,.dashboard-list-item small{display:block}.dashboard-list-item small{color:var(--muted);margin-top:3px}.dashboard-list-item .right{text-align:right;white-space:nowrap}.mini-date{font-weight:800;color:var(--red)}
.today-badge{display:inline-block;background:#e6f8eb;color:#14602c;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.due-badge{display:inline-block;background:#fff1cc;color:#815d00;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.overdue-badge{display:inline-block;background:#fde1e5;color:#8b0b21;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}
html[data-theme="dark"]{--bg:#0f141c;--card:#171e28;--text:#edf1f7;--muted:#99a5b5;--line:#2b3543;--dark:#080c12;--dark2:#111923}html[data-theme="dark"] body{background:var(--bg);color:var(--text)}html[data-theme="dark"] .card,html[data-theme="dark"] .stat,html[data-theme="dark"] .alert-card{background:var(--card);border-color:var(--line);box-shadow:none}html[data-theme="dark"] .empty-state,html[data-theme="dark"] th{background:#111822}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .form-grid input,html[data-theme="dark"] .form-grid select,html[data-theme="dark"] .form-grid textarea{background:#101720;color:var(--text);border-color:#364252}html[data-theme="dark"] .badge,html[data-theme="dark"] .list-avatar{background:#25303e;color:var(--text)}html[data-theme="dark"] .quick-actions a{background:#161f2a}html[data-theme="dark"] .quick-actions a:hover{background:#202c3a}
@media(max-width:1200px){.dashboard-alerts{grid-template-columns:repeat(2,1fr)}.pro-grid.three{grid-template-columns:1fr 1fr}.pro-grid.three .card:last-child{grid-column:1/-1}}
@media(max-width:820px){.pro-grid,.pro-grid.three{grid-template-columns:1fr}.pro-grid.three .card:last-child{grid-column:auto}.dashboard-alerts{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.dashboard-alerts{grid-template-columns:1fr}.chart-bars{gap:5px;height:190px}.chart-label{font-size:9px}.alert-card{padding:13px}}


/* Phoenix ERP v7.0 – Personalnachweise & Fristen */
.dashboard-alerts{grid-template-columns:repeat(6,minmax(0,1fr))}
.alert-card.danger{border-color:#fecaca;background:#fff1f2}
.alert-card.danger .alert-icon{background:#fee2e2;color:#b91c1c}
.deadline-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(620px,1.5fr);gap:16px;align-items:start}
.deadline-stats .stat{text-decoration:none;color:inherit}
.deadline-filter{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,.55fr) minmax(150px,.45fr) auto;gap:10px;margin-bottom:16px}
.deadline-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}
.deadline-badge.active{background:#dcfce7;color:#166534}
.deadline-badge.warning{background:#fef3c7;color:#92400e}
.deadline-badge.danger,.deadline-badge.expired{background:#fee2e2;color:#991b1b}
.deadline-badge.inactive{background:#e5e7eb;color:#475569}
[data-theme="dark"] .alert-card.danger{background:#35151b;border-color:#6b2530}
[data-theme="dark"] .deadline-badge.active{background:#143623;color:#86efac}
[data-theme="dark"] .deadline-badge.warning{background:#3c2d0d;color:#fde68a}
[data-theme="dark"] .deadline-badge.danger,
[data-theme="dark"] .deadline-badge.expired{background:#451a1a;color:#fecaca}
[data-theme="dark"] .deadline-badge.inactive{background:#263241;color:#cbd5e1}
@media(max-width:1250px){
  .dashboard-alerts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .deadline-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .dashboard-alerts{grid-template-columns:1fr 1fr}
  .deadline-filter{grid-template-columns:1fr}
}


/* Phoenix ERP v7.1 – Sicherheit & Audit */
.security-stats{margin-bottom:16px}
.security-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:-4px 0 18px}
.security-tabs a{padding:12px 14px;text-decoration:none;color:var(--muted);font-weight:800;border-bottom:3px solid transparent}
.security-tabs a.active{color:var(--text);border-bottom-color:var(--red)}
.security-filter{display:grid;grid-template-columns:minmax(260px,1fr) minmax(160px,.3fr) auto;gap:10px;margin-bottom:16px}
.log-action{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:800}
.login-result{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}
.login-result.success{background:#dcfce7;color:#166534}
.login-result.failed{background:#fee2e2;color:#991b1b}
.user-agent{max-width:340px;font-size:12px;color:var(--muted)}
.pagination{display:flex;gap:6px;justify-content:center;margin-top:18px}
.pagination a{min-width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--text)}
.pagination a.active{background:var(--red);border-color:var(--red);color:#fff}
.security-cleanup{display:flex;justify-content:space-between;align-items:center;gap:20px}
.security-cleanup form{display:flex;align-items:center;gap:10px}
[data-theme="dark"] .log-action{background:#23234c;color:#c7d2fe}
[data-theme="dark"] .login-result.success{background:#143623;color:#86efac}
[data-theme="dark"] .login-result.failed{background:#451a1a;color:#fecaca}
@media(max-width:760px){
 .security-filter{grid-template-columns:1fr}
 .security-cleanup{align-items:stretch;flex-direction:column}
 .security-cleanup form{align-items:stretch;flex-direction:column}
}


/* Phoenix ERP v8.0 – Einsatzplanung Professional */
.planning-layout{display:grid;grid-template-columns:minmax(320px,.55fr) minmax(760px,1.45fr);gap:16px;align-items:start}
.shift-editor{position:sticky;top:16px}
.planning-main{min-width:0}
.planning-toolbar{gap:16px;flex-wrap:wrap}
.week-navigation{display:flex;gap:8px;flex-wrap:wrap}
.planning-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.planning-filter input,.planning-filter select{min-width:140px}
.week-board{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;overflow-x:auto;padding-bottom:6px}
.week-day{min-height:430px;border:1px solid var(--line);border-radius:12px;background:var(--soft);overflow:hidden}
.week-day.today{border:2px solid var(--red)}
.week-day>header{padding:10px 11px;background:var(--panel);border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center}
.week-day>header span{font-weight:900;color:var(--red)}
.week-day>header b{text-align:right}
.week-day>header small{grid-column:1/-1;color:var(--muted)}
.week-day-body{padding:8px;display:grid;gap:8px}
.day-empty{padding:22px 8px;text-align:center;color:var(--muted);font-size:13px}
.shift-card{border:1px solid var(--line);border-left:4px solid #64748b;border-radius:10px;padding:9px;background:var(--panel);box-shadow:0 3px 10px rgba(15,23,42,.05)}
.shift-card.status-confirmed{border-left-color:#16a34a}
.shift-card.status-completed{border-left-color:#2563eb}
.shift-card.status-cancelled{border-left-color:#dc2626;opacity:.72}
.shift-card-time{font-size:12px;font-weight:900;color:var(--red);margin-bottom:5px}
.shift-card strong,.shift-card span,.shift-card small{display:block}
.shift-card>span{font-size:13px;margin-top:4px}
.shift-card>small{color:var(--muted);margin-top:3px}
.shift-card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:9px}
.shift-card-footer a{font-size:12px;font-weight:800;text-decoration:none}
.shift-actions details{position:relative}
.shift-actions summary{list-style:none;cursor:pointer}
.shift-actions summary::-webkit-details-marker{display:none}
.shift-more{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:250px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 35px rgba(15,23,42,.18);display:grid;gap:9px}
.shift-more form{display:grid;gap:6px}
.planning-stats{margin-bottom:16px}
@media(max-width:1350px){
 .planning-layout{grid-template-columns:1fr}
 .shift-editor{position:static}
 .week-board{grid-template-columns:repeat(7,minmax(180px,1fr))}
}
@media(max-width:760px){
 .planning-filter{display:grid;grid-template-columns:1fr}
 .planning-filter input,.planning-filter select{width:100%;min-width:0}
 .week-board{grid-template-columns:repeat(7,minmax(240px,1fr))}
 .week-day{min-height:260px}
}


/* Phoenix ERP v9.0 – Mobile Einsatz & Operationszentrale */
.mobile-duty-main{max-width:860px;margin-inline:auto}
.mobile-duty-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.mobile-duty-stats>div{padding:15px;border-radius:14px;background:var(--panel);border:1px solid var(--line);text-align:center}
.mobile-duty-stats b{display:block;font-size:26px}
.mobile-duty-stats span{color:var(--muted);font-size:13px}
.mobile-duty-list{display:grid;gap:16px}
.mobile-duty-card{border-top:5px solid #64748b}
.mobile-duty-card.is-today{border-top-color:var(--red);box-shadow:0 14px 36px rgba(185,28,28,.12)}
.mobile-duty-card.is-cancelled{opacity:.72}
.mobile-duty-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mobile-duty-header h2{margin:4px 0;font-size:23px}
.mobile-duty-header p{margin:0;color:var(--muted)}
.duty-date{font-size:12px;font-weight:900;color:var(--red);letter-spacing:.04em}
.duty-time{display:flex;align-items:center;justify-content:space-between;background:var(--soft);padding:12px 14px;border-radius:11px;margin:14px 0}
.duty-time strong{font-size:21px}
.duty-time span{color:var(--muted)}
.duty-info{display:grid;grid-template-columns:90px 1fr;gap:10px;margin:10px 0}
.duty-info b{font-size:13px;color:var(--muted)}
.duty-instructions{border:1px solid var(--line);border-radius:10px;margin:12px 0}
.duty-instructions summary{padding:12px;cursor:pointer;font-weight:800}
.duty-instructions div{padding:0 12px 12px}
.mobile-nav-btn{width:100%;justify-content:center;margin:12px 0;background:#2563eb;border-color:#2563eb}
.mobile-check-form{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.gps-state{padding:10px;border-radius:9px;background:var(--soft);font-size:13px}
.gps-state.success{background:#dcfce7;color:#166534}
.gps-state.error{background:#fee2e2;color:#991b1b}
.mobile-duty-active,.mobile-duty-complete,.mobile-duty-warning{display:grid;gap:4px;margin-top:14px;padding:13px;border-radius:10px}
.mobile-duty-active{background:#dcfce7;color:#166534}
.mobile-duty-complete{background:#dbeafe;color:#1e3a8a}
.mobile-duty-warning{background:#fee2e2;color:#991b1b}
.signature-wrap{display:grid;gap:8px}
.signature-title{display:flex;justify-content:space-between;align-items:center}
.signature-canvas{width:100%;height:150px;background:#fff;border:2px dashed #94a3b8;border-radius:10px;touch-action:none}
.operations-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.operations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.operation-card{padding:15px;border:1px solid var(--line);border-left:5px solid #94a3b8;border-radius:12px;background:var(--panel)}
.operation-card.state-working{border-left-color:#16a34a}
.operation-card.state-completed{border-left-color:#2563eb}
.operation-card.is-late{border-left-color:#dc2626}
.operation-card header{display:flex;justify-content:space-between;gap:10px}
.operation-card header strong,.operation-card header span{display:block}
.operation-card header>div>span{font-size:12px;color:var(--muted)}
.operation-state{font-size:12px;font-weight:900}
.operation-card h3{margin:13px 0 4px}
.operation-card p{margin:0 0 6px;color:var(--muted)}
.operation-card>small{display:block}
.operation-times{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}
.operation-times>div{padding:9px;background:var(--soft);border-radius:9px}
.operation-times b,.operation-times span{display:block}
.operation-times b{font-size:12px;color:var(--muted)}
.operation-note{margin-top:10px;padding:9px;border-radius:9px;background:var(--soft)}
.operation-media{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.operation-media a{font-size:12px;font-weight:800}
@media(max-width:760px){
 .mobile-duty-stats{grid-template-columns:1fr 1fr 1fr}
 .mobile-duty-stats b{font-size:22px}
 .mobile-duty-header{flex-direction:column}
 .duty-info{grid-template-columns:1fr}
 .operations-filter{display:grid;grid-template-columns:1fr}
}

/* Phoenix ERP v10.0 – CRM, Faktura & PWA */
.document-layout{display:grid;grid-template-columns:minmax(420px,.8fr) minmax(620px,1.2fr);gap:16px;align-items:start}
.document-editor{position:sticky;top:16px}
.document-items{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--soft)}
.document-items-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.document-items-head h3{margin:0}
.document-item-row{display:grid;grid-template-columns:minmax(180px,1fr) 85px 75px 110px 40px;gap:7px;margin-bottom:7px}
.document-item-row input{min-width:0}
.commercial-print-page{background:#e5e7eb;color:#111827}
.print-toolbar{max-width:210mm;margin:16px auto;display:flex;gap:8px}
.commercial-document{width:210mm;min-height:297mm;margin:0 auto 30px;background:#fff;padding:18mm 18mm 16mm;box-shadow:0 15px 40px rgba(0,0,0,.15);font-family:Arial,sans-serif}
.commercial-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #991b1b;padding-bottom:16px}
.commercial-logo{font-size:25px;font-weight:900;color:#991b1b}.commercial-logo span{color:#111827}.commercial-head p{margin:4px 0;color:#64748b}
.commercial-title{text-align:right}.commercial-title h1{margin:0;font-size:34px}.commercial-title strong{font-size:15px}
.commercial-meta{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:35px 0}.commercial-meta small,.commercial-meta strong,.commercial-meta span{display:block;margin-bottom:4px}
.commercial-meta dl{display:grid;grid-template-columns:1fr 1fr;margin:0}.commercial-meta dt,.commercial-meta dd{padding:4px 0;margin:0}.commercial-meta dd{text-align:right;font-weight:700}
.commercial-items{width:100%;border-collapse:collapse;margin:24px 0}.commercial-items th{background:#991b1b;color:#fff;text-align:left;padding:9px}.commercial-items td{border-bottom:1px solid #d1d5db;padding:9px}.commercial-items th:nth-last-child(-n+2),.commercial-items td:nth-last-child(-n+2){text-align:right}
.commercial-totals{width:360px;margin-left:auto}.commercial-totals>div{display:flex;justify-content:space-between;padding:6px 0}.commercial-totals .grand-total{font-size:18px;border-top:2px solid #111827;margin-top:5px;padding-top:10px}
.commercial-notes{margin-top:35px}.commercial-notes h3{margin-bottom:6px}.commercial-document footer{margin-top:55px;padding-top:12px;border-top:1px solid #9ca3af;font-size:11px;color:#64748b}
@media(max-width:1200px){.document-layout{grid-template-columns:1fr}.document-editor{position:static}}
@media(max-width:760px){.document-item-row{grid-template-columns:1fr 1fr}.document-item-row input:first-child{grid-column:1/-1}.commercial-document{width:100%;min-height:0;padding:20px}.print-toolbar{margin:10px}}
@media print{.print-toolbar{display:none}.commercial-print-page{background:#fff}.commercial-document{box-shadow:none;margin:0;width:auto;min-height:auto;padding:10mm}@page{size:A4;margin:0}}

/* Phoenix ERP v11.1 – Profilfoto & Firmenlogo */
.employee-list-name{display:flex;align-items:center;gap:10px}.employee-list-avatar{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;display:grid;place-items:center;font-weight:900;overflow:hidden;flex:none}.employee-list-avatar img{width:100%;height:100%;object-fit:cover}.employee-photo-self{display:flex;align-items:center;gap:22px}.employee-photo-self .profile-photo{width:92px;height:92px;flex:none}.employee-photo-self h2{margin:0 0 12px}.photo-inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.company-logo-settings{max-width:780px}.company-logo-preview,.company-logo-placeholder{min-height:150px;border:2px dashed var(--line);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:24px;margin-bottom:20px;background:var(--soft)}.company-logo-preview img{max-width:420px;max-height:140px;object-fit:contain}.company-logo-placeholder{color:var(--muted)}.commercial-brand{min-width:260px}.commercial-logo-image{display:block;max-width:240px;max-height:85px;object-fit:contain;object-position:left center;margin-bottom:6px}@media(max-width:760px){.employee-photo-self{align-items:flex-start}.photo-inline-form{display:grid}.company-logo-preview img{max-width:100%}}@media print{.commercial-logo-image{max-width:210px;max-height:70px}}
/* Phoenix ERP v10.9.1 – permanente Sidebar-Scrollleiste */
.sidebar{
    height:100vh !important;
    min-height:100vh !important;
    max-height:100vh !important;
    overflow:hidden !important;
}
.sidebar-brand,
.user-panel,
.sidebar-footer{
    flex:0 0 auto !important;
}
.side-nav{
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    scrollbar-width:auto;
    scrollbar-color:#d2092d #252d39;
    -webkit-overflow-scrolling:touch;
}
.side-nav::-webkit-scrollbar{
    width:12px;
    display:block;
}
.side-nav::-webkit-scrollbar-track{
    background:#252d39;
    border-left:1px solid rgba(255,255,255,.06);
}
.side-nav::-webkit-scrollbar-thumb{
    background:#d2092d;
    border:3px solid #252d39;
    border-radius:20px;
    min-height:48px;
}
.side-nav::-webkit-scrollbar-thumb:hover{
    background:#ed2348;
}
.sidebar-footer{
    margin-top:0 !important;
    border-top:1px solid rgba(255,255,255,.08);
    background:var(--dark);
}
@media(max-width:900px){
    .sidebar{
        height:100dvh !important;
        min-height:100dvh !important;
        max-height:100dvh !important;
    }
}

/* Phoenix ERP v18.3 – Sidebar-Suche wiederhergestellt */
.sidebar-search{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:7px;
    margin:0 12px 10px;
    padding:7px 8px 7px 11px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:11px;
    background:rgba(255,255,255,.07);
    flex:0 0 auto;
}
.sidebar-search:focus-within{
    border-color:var(--red2);
    box-shadow:0 0 0 3px rgba(210,9,45,.18);
    background:rgba(255,255,255,.10);
}
.sidebar-search-icon{color:#cbd5e1;font-size:18px;line-height:1}
.sidebar-search input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    padding:7px 0;
    font:inherit;
}
.sidebar-search input::placeholder{color:#aeb8c6;opacity:1}
.sidebar-search button{
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    padding:0;
    border-radius:8px;
    background:var(--red);
    color:#fff;
    line-height:1;
}
.sidebar-search button:hover{background:var(--red2)}
@media(max-width:820px){.sidebar-search{margin-top:2px}}

/* Phoenix ERP v29.1 – Firmenverwaltung Layout Fix */
.companies-page{max-width:none;width:auto;padding-top:32px}
.companies-title{align-items:center;margin-bottom:22px}
.companies-title h1{font-size:34px;margin-bottom:7px}
.tenant-summary{min-width:150px;padding:15px 19px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-align:right}
.tenant-summary span{display:block;font-size:27px;font-weight:900;color:var(--red)}
.tenant-summary small{display:block;color:var(--muted);margin-top:2px}
.companies-layout{display:grid;grid-template-columns:minmax(650px,1.65fr) minmax(290px,.65fr);gap:20px;align-items:start}
.company-editor-card,.company-help-card{margin-bottom:20px}
.company-section-head{align-items:flex-start}
.company-section-head p{margin:4px 0 0;max-width:780px}
.company-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.company-form>label{display:flex;flex-direction:column;gap:7px;min-width:0}
.company-form>label>span{font-size:13px;font-weight:800;color:var(--text)}
.company-form>label>span b{color:var(--red)}
.company-form>label>span em{font-style:normal;font-weight:500;color:var(--muted)}
.company-form>label>small{font-size:11px;color:var(--muted);margin-top:-2px}
.company-form input{width:100%;min-width:0;border:1px solid #ced5df;border-radius:10px;padding:12px 13px;background:#fff;color:#141a23;font:inherit}
.company-form input:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(210,9,45,.11)}
.company-form-wide{grid-column:1/-1}
.company-form-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:3px;padding-top:18px;border-top:1px solid var(--line)}
.company-active-switch{display:flex!important;flex-direction:row!important;align-items:center;gap:11px!important;cursor:pointer}
.company-active-switch input{width:19px;height:19px;accent-color:var(--red);flex:none}
.company-active-switch span{display:block!important}
.company-active-switch b,.company-active-switch small{display:block}
.company-active-switch small{font-weight:400;color:var(--muted);margin-top:2px}
.company-help-card{position:sticky;top:20px;background:linear-gradient(160deg,var(--card),color-mix(in srgb,var(--card) 88%,var(--red) 12%))}
.company-help-icon{width:49px;height:49px;border-radius:14px;display:grid;place-items:center;background:rgba(210,9,45,.12);font-size:22px;margin-bottom:17px}
.company-help-card h2{margin-bottom:9px}
.company-help-card p{color:var(--muted);margin-top:0}
.company-help-card ol{padding-left:21px;margin:18px 0;display:grid;gap:11px}
.company-help-note{padding:12px 13px;border-radius:10px;background:rgba(37,99,235,.09);color:var(--text);font-size:12px;line-height:1.55}
.companies-list-card{padding-bottom:8px}
.companies-table th{white-space:nowrap}
.companies-table td{vertical-align:middle}
.company-name-cell{display:flex;align-items:center;gap:11px;min-width:190px}
.company-name-cell>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;font-weight:900;flex:none}
.company-name-cell strong,.company-name-cell small{display:block}
.company-code{display:inline-block;padding:5px 8px;border-radius:7px;background:var(--bg);color:var(--text);font-size:12px}
.tenant-status{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.tenant-status i{width:8px;height:8px;border-radius:50%}
.tenant-status.is-active{background:#dcfce7;color:#166534}.tenant-status.is-active i{background:#22c55e}
.tenant-status.is-inactive{background:#e5e7eb;color:#475569}.tenant-status.is-inactive i{background:#94a3b8}
.company-actions-col{width:235px}.company-row-actions{justify-content:flex-end;white-space:nowrap}
html[data-theme="dark"] .tenant-summary{background:var(--card)}
html[data-theme="dark"] .company-form input{background:#101720;color:var(--text);border-color:#364252}
html[data-theme="dark"] .company-code{background:#101720}
html[data-theme="dark"] .tenant-status.is-active{background:#143623;color:#86efac}
html[data-theme="dark"] .tenant-status.is-inactive{background:#263241;color:#cbd5e1}
@media(max-width:1200px){.companies-layout{grid-template-columns:1fr}.company-help-card{position:static}.companies-page{padding-right:26px;padding-left:26px}}
@media(max-width:820px){.companies-page{margin-left:0;padding:24px 17px 45px}.companies-title{align-items:flex-start}.tenant-summary{min-width:125px}.company-form{grid-template-columns:1fr}.company-form-wide{grid-column:auto}.company-form-footer{align-items:stretch;flex-direction:column}.company-form-footer .btn{width:100%;text-align:center}.companies-table{min-width:860px}}
@media(max-width:560px){.companies-title{display:block}.tenant-summary{margin-top:15px;text-align:left}.companies-title h1{font-size:29px}}

/* Phoenix ERP v30.2 – Sidebar scroll position fix */
.side-nav{overflow-anchor:none !important;scroll-behavior:auto !important;}


/* V32 Drag-and-drop Dienstplan */
.shift-card[draggable="true"]{cursor:grab;transition:opacity .18s,transform .18s,box-shadow .18s}
.shift-card[draggable="true"]:active{cursor:grabbing}
.shift-card.is-dragging{opacity:.42;transform:scale(.98)}
.shift-card.is-saving{opacity:.62;pointer-events:none}
.week-day.drag-over{outline:3px dashed #e3062c;outline-offset:-5px;background:rgba(227,6,44,.05)}
.week-day.drag-over .week-day-body{min-height:180px}
.shift-drag-toast{position:fixed;right:24px;bottom:24px;z-index:9999;background:#111827;color:#fff;padding:13px 17px;border-radius:12px;box-shadow:0 12px 35px rgba(15,23,42,.28);opacity:0;transform:translateY(18px);pointer-events:none;transition:.2s;font-weight:800}
.shift-drag-toast.show{opacity:1;transform:none}
.shift-drag-toast.error{background:#b91c1c}
@media(max-width:800px){.shift-card[draggable="true"]{cursor:default}.shift-drag-toast{left:16px;right:16px;bottom:16px;text-align:center}}


/* Phoenix Mitarbeiterportal – Mein Einsatz Layout-Fix */
body.mobile-duty-page .app-main.mobile-duty-main{
  margin-left:var(--sidebar);
  margin-right:0;
  max-width:none;
  width:auto;
  min-width:0;
  padding:38px 42px 55px;
}
body.mobile-duty-page .mobile-duty-main>.page-title,
body.mobile-duty-page .mobile-duty-main>.ok,
body.mobile-duty-page .mobile-duty-main>.err,
body.mobile-duty-page .mobile-duty-main>.mobile-duty-stats,
body.mobile-duty-page .mobile-duty-main>.empty-state,
body.mobile-duty-page .mobile-duty-main>.mobile-duty-list{
  width:min(1120px,100%);
  margin-left:auto;
  margin-right:auto;
}
body.mobile-duty-page .mobile-duty-stats>div{
  background:var(--card);
  color:var(--text);
  border-color:var(--line);
  box-shadow:0 8px 24px rgba(15,23,42,.08);
}
body.mobile-duty-page .mobile-duty-stats span{color:var(--muted)}
html[data-theme="dark"] body.mobile-duty-page .mobile-duty-stats>div{
  background:var(--card);
  color:var(--text);
  box-shadow:none;
}
body.mobile-duty-page .mobile-duty-list .card{width:100%;overflow:hidden}
@media(max-width:820px){
  body.mobile-duty-page .app-main.mobile-duty-main{
    margin-left:0;
    width:100%;
    padding:26px 18px 45px;
  }
}
@media(max-width:560px){
  body.mobile-duty-page .app-main.mobile-duty-main{padding:22px 12px 40px}
  body.mobile-duty-page .mobile-duty-stats{grid-template-columns:1fr}
}
