:root{--black:#0a0a0a;--dark:#111111;--dark2:#1a1a1a;--dark3:#222222;--yellow:#c8f000;--yellow-glow:rgba(200,240,0,.12);--white:#f0f0f0;--gray:#888;--gray2:#555;--red:#ff4040;--orange:#ff8c00;--blue:#00b4d8;--green:#39d353;--purple:#b08fff;--teal:#00d4aa;--border:rgba(200,240,0,.2);--border2:rgba(255,255,255,.07)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--black);color:var(--white);font-family:Barlow,sans-serif;min-height:100vh;overflow-x:hidden}.header{background:var(--dark);border-bottom:1px solid var(--border);padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:0;z-index:100}.logo{font-family:Barlow Condensed,sans-serif;font-weight:800;font-size:20px;letter-spacing:.05em;text-transform:uppercase}.logo span{color:var(--yellow)}.header-right{display:flex;align-items:center;gap:20px}.header-date{font-size:12px;color:var(--gray);letter-spacing:.04em}.user-selector{background:var(--dark2);border:1px solid var(--border);color:var(--white);font-family:Barlow,sans-serif;font-size:14px;padding:6px 12px;border-radius:4px;cursor:pointer;outline:none}.user-selector:focus{border-color:var(--yellow)}.layout{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 64px)}.sidebar{background:var(--dark);border-right:1px solid var(--border2);padding:24px 0;position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto}.nav-label{font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gray2);padding:16px 20px 8px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 20px;font-size:14px;color:var(--gray);cursor:pointer;transition:all .15s;border-left:3px solid transparent}.nav-item:hover{background:var(--yellow-glow);color:var(--white)}.nav-item.active{color:var(--yellow);border-left-color:var(--yellow);background:var(--yellow-glow);font-weight:600}.nav-icon{font-size:15px;width:20px;text-align:center}.main{padding:32px;overflow-y:auto}.page{display:none}.page.active{display:block}.page-title{font-family:Barlow Condensed,sans-serif;font-size:32px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.page-title span{color:var(--yellow)}.page-subtitle{font-size:13px;color:var(--gray);margin-bottom:28px}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:14px;margin-bottom:24px}.stat-card{background:var(--dark2);border:1px solid var(--border2);border-radius:6px;padding:16px 18px}.stat-label{font-size:11px;color:var(--gray);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.stat-value{font-family:Barlow Condensed,sans-serif;font-size:26px;font-weight:700}.stat-value.y{color:var(--yellow)}.stat-value.r{color:var(--red)}.stat-value.g{color:var(--green)}.stat-value.o{color:var(--orange)}.stat-value.p{color:var(--purple)}.stat-value.t{color:var(--teal)}.stat-sub{font-size:11px;color:var(--gray);margin-top:3px}.card{background:var(--dark2);border:1px solid var(--border2);border-radius:6px;padding:22px;margin-bottom:18px}.card-title{font-family:Barlow Condensed,sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--yellow);margin-bottom:16px}.form-row{display:grid;gap:14px;margin-bottom:14px}.form-row.c2{grid-template-columns:1fr 1fr}.form-row.c3{grid-template-columns:1fr 1fr 1fr}.form-row.c4{grid-template-columns:1fr 1fr 1fr 1fr}.form-row.c5{grid-template-columns:1fr 1fr 1fr 1fr 1fr}.form-group{display:flex;flex-direction:column;gap:5px}.form-label{font-size:11px;color:var(--gray);text-transform:uppercase;letter-spacing:.06em}.form-control{background:var(--dark3);border:1px solid var(--border2);color:var(--white);font-family:Barlow,sans-serif;font-size:14px;padding:9px 11px;border-radius:4px;outline:none;transition:border-color .15s}.form-control:focus{border-color:var(--yellow)}.form-control option{background:var(--dark2)}.form-control[readonly]{opacity:.7;cursor:default}.btn{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:9px 18px;border:none;border-radius:4px;cursor:pointer;transition:all .15s}.btn-primary{background:var(--yellow);color:var(--black)}.btn-primary:hover{background:#d4f520;transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--yellow);border:1px solid var(--yellow)}.btn-secondary:hover{background:var(--yellow-glow)}.btn-danger{background:transparent;color:var(--red);border:1px solid rgba(255,64,64,.4)}.btn-danger:hover{background:#ff40401a}.btn-sm{padding:5px 10px;font-size:11px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead th{background:var(--dark3);color:var(--gray);font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:9px 13px;text-align:left;border-bottom:1px solid var(--border)}tbody tr{border-bottom:1px solid var(--border2);transition:background .1s}tbody tr:hover{background:#c8f00008}tbody td{padding:9px 13px;vertical-align:middle}.badge{display:inline-block;padding:3px 7px;border-radius:3px;font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.bw{background:#00b4d826;color:var(--blue)}.bho{background:#00d4aa1f;color:var(--teal)}.bta{background:#b08fff1f;color:var(--purple)}.bu{background:#c8f0001a;color:var(--yellow)}.bk{background:#ff404026;color:var(--red)}.bp{background:#ff8c0026;color:var(--orange)}.bf{background:#39d35326;color:var(--green)}.bg{background:#8888881f;color:var(--gray)}.pbar-wrap{background:var(--dark3);border-radius:3px;height:6px;overflow:hidden;margin-top:5px}.pbar{height:100%;border-radius:3px;transition:width .4s}.info-box{background:#c8f0000a;border:1px solid var(--border);border-radius:6px;padding:14px 18px;margin-bottom:18px}.info-box h3{font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--yellow);margin-bottom:9px}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;font-size:12px}.info-item{color:var(--gray)}.info-item strong{color:var(--white)}.alert{padding:11px 15px;border-radius:4px;font-size:13px;margin-bottom:14px;display:flex;align-items:flex-start;gap:9px;line-height:1.5}.alert-info{background:#00b4d814;border:1px solid rgba(0,180,216,.25);color:var(--blue)}.alert-warn{background:#ff8c0014;border:1px solid rgba(255,140,0,.25);color:var(--orange)}.alert-ok{background:#39d35314;border:1px solid rgba(57,211,83,.25);color:var(--green)}.alert-purple{background:#b08fff14;border:1px solid rgba(176,143,255,.25);color:var(--purple)}.vac-block{display:flex;flex-direction:column;gap:7px;padding:14px 16px;background:var(--dark3);border-radius:4px}.vac-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.vac-lbl{color:var(--gray)}.vac-val{font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:700}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cal-month{font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-dh{text-align:center;font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--gray);letter-spacing:.06em;padding:5px 0}.cal-day{background:var(--dark3);border:1px solid var(--border2);border-radius:4px;min-height:68px;padding:5px;cursor:pointer;transition:all .15s}.cal-day:hover{border-color:var(--yellow)}.cal-day.empty{background:transparent;border-color:transparent;cursor:default}.cal-day.today{border-color:var(--yellow)}.cal-day.today .cal-dn{color:var(--yellow);font-weight:700}.cal-day.we .cal-dn{color:var(--gray2)}.cal-day.fday{background:#39d3530d;border-color:#39d35340}.cal-dn{font-size:12px;font-weight:500;margin-bottom:3px}.cal-entries{display:flex;flex-direction:column;gap:2px}.cal-e{font-size:9px;padding:1px 4px;border-radius:2px;font-family:Barlow Condensed,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-e.work{background:#00b4d833;color:var(--blue)}.cal-e.homeoffice{background:#00d4aa2e;color:var(--teal)}.cal-e.telearbeit{background:#b08fff2e;color:var(--purple)}.cal-e.urlaub{background:#c8f00024;color:var(--yellow)}.cal-e.krank{background:#ff404033;color:var(--red)}.cal-e.pflege{background:#ff8c0033;color:var(--orange)}.cal-e.feiertag{background:#39d35333;color:var(--green)}.cal-e.zeitausgleich{background:#8888882e;color:var(--gray)}.modal-overlay{display:none;position:fixed;inset:0;background:#000000bf;z-index:200;justify-content:center;align-items:center}.modal-overlay.show{display:flex}.modal{background:var(--dark2);border:1px solid var(--border);border-radius:8px;padding:26px;width:540px;max-width:95vw;max-height:85vh;overflow-y:auto}.modal-title{font-family:Barlow Condensed,sans-serif;font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--yellow);margin-bottom:18px}.modal-actions{display:flex;gap:10px;margin-top:18px;justify-content:flex-end}.auth-screen{position:fixed;inset:0;background:var(--black);z-index:500;display:none;align-items:center;justify-content:center;padding:20px}body.needs-auth .auth-screen{display:flex}body.needs-auth .header,body.needs-auth .layout{display:none}.auth-panel{width:420px;max-width:100%;background:var(--dark2);border:1px solid var(--border);border-radius:8px;padding:28px}.auth-panel h1{font-family:Barlow Condensed,sans-serif;font-size:28px;text-transform:uppercase;color:var(--yellow);margin-bottom:8px}.auth-panel p{font-size:13px;color:var(--gray);line-height:1.5;margin-bottom:18px}.auth-status{font-size:12px;color:var(--gray);margin-top:12px;min-height:18px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--dark)}::-webkit-scrollbar-thumb{background:var(--gray2);border-radius:3px}@media(max-width:768px){.layout{grid-template-columns:1fr}.sidebar{display:none}.form-row.c2,.form-row.c3,.form-row.c4,.form-row.c5{grid-template-columns:1fr}.main{padding:14px}}
