:root{--bg:#eef3fb;--bg-elevated:#dfe8f5;--surface:#fff;--surface-muted:#f6f8fc;--surface-subtle:#edf2f8;--surface-strong:#dce6f2;--border:#0f172a14;--border-light:#d7e0ec;--input-border:#c3d0e0;--text:#122033;--text-muted:#5c6d82;--accent:#3b82f6;--accent-hover:#2563eb;--header-bg:#ffffffe6;--app-background:linear-gradient(160deg, #f5f8fc 0%, #e5edf7 45%, #d5e0ee 100%);--table-head-bg:#dbe7f4;--table-head-text:#304256;--table-section-bg:#eef4fa;--table-section-text:#4f647a;--table-series-bg:#dff0ff;--table-series-text:#0b5e90;--table-divider:#c6d4e4;--radius:12px;--radius-sm:8px;--shadow:0 4px 24px #0f172a14;--shadow-lg:0 20px 50px #0f172a1f;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:15px;line-height:1.45}html[data-theme=dark]{--bg:#0f1724;--bg-elevated:#162133;--surface:#1b2738;--surface-muted:#111a27;--surface-subtle:#223246;--surface-strong:#2b4059;--border:#ffffff14;--border-light:#31465f;--input-border:#3d536d;--text:#e5eef8;--text-muted:#9fb0c5;--accent:#7cc4ff;--accent-hover:#9bd1ff;--header-bg:#121a27e6;--app-background:linear-gradient(160deg, #08111b 0%, #0f1a29 45%, #152539 100%);--table-head-bg:#243447;--table-head-text:#d7e3f0;--table-section-bg:#1d2a39;--table-section-text:#b9c9da;--table-series-bg:#133247;--table-series-text:#8ad4ff;--table-divider:#31465f;--shadow:0 4px 24px #00000047;--shadow-lg:0 20px 50px #00000061}*{box-sizing:border-box}body{background:var(--app-background);min-height:100vh;margin:0}#app{min-height:100vh}.employee-plan-page{--employee-green:#9eea45;--employee-green-strong:#62c936;--employee-ink:#f4fff1;--employee-muted:#adc6b3;--employee-line:#9fea453d;isolation:isolate;width:100%;max-width:100%;min-height:100vh;color:var(--employee-ink);background:radial-gradient(circle at 14% 2%,#16ad5c6b,#0000 33%),radial-gradient(circle at 88% 34%,#0767424d,#0000 36%),linear-gradient(145deg,#022f21 0%,#001d16 52%,#00140f 100%);margin:0 auto;padding:28px 20px 56px;position:relative;overflow-x:clip}.employee-plan-page:before{z-index:-1;content:"";pointer-events:none;background:linear-gradient(138deg,#0000 0 32%,#52de7d0f 32.2% 32.5%,#0000 32.7%),radial-gradient(circle at 50% 100%,#50be571f,#0000 45%);position:absolute;inset:0}.employee-plan-header{border-bottom:1px solid #9be0a929;width:min(100%,920px);margin:0 auto 28px;padding:18px 4px 30px}.employee-plan-header h1,.employee-plan-header p{margin:0}.employee-plan-header h1{overflow-wrap:anywhere;color:#fff;letter-spacing:-.045em;text-shadow:0 8px 24px #00000047;min-width:0;font-size:clamp(2.35rem,8vw,4.8rem);font-weight:800;line-height:.98}.employee-plan-header .employee-plan-kicker{color:var(--employee-green);letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;font-weight:800}.employee-plan-header-top{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.employee-plan-header-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.employee-plan-language-switch{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0223197a;border:1px solid #a9ef853d;border-radius:999px;padding:3px;display:inline-flex}.employee-plan-language-switch button{min-width:35px;color:var(--employee-muted);font:inherit;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:900}.employee-plan-language-switch button.is-active{color:#fff;background:linear-gradient(#8bd73e,#4d9d2d);box-shadow:0 3px 10px #3b913457}.employee-plan-contacts-button{color:#e4ffd0;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2871416b;border:1px solid #a9ef854d;border-radius:999px;padding:7px 12px;font-size:.76rem;font-weight:800}.employee-plan-contacts-button:hover{border-color:var(--employee-green);background:#44974c80}.employee-plan-identity{align-items:center;gap:clamp(18px,4vw,34px);display:flex}.employee-plan-identity-copy{flex-direction:column;align-items:flex-start;gap:12px;min-width:0;display:flex}.employee-plan-status-pill{color:#dcfce7;letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14532d9e;border:1px solid #bbf7d047;border-radius:999px;align-items:center;min-height:28px;padding:5px 12px;font-size:.75rem;font-weight:800;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff1f}.employee-plan-status-pill--krank{color:#fee2e2;background:#991b1ba8;border-color:#fecaca59}.employee-plan-status-pill--urlaub{color:#dbeafe;background:#1e40af9e;border-color:#bfdbfe59}.employee-plan-status-pill--lehrling{color:#ede9fe;background:#5b21b6a3;border-color:#ddd6fe61}.employee-plan-avatar{aspect-ratio:1;color:#fff;letter-spacing:-.04em;background:linear-gradient(145deg,#2ab868d1,#125236eb);border:1px solid #adffbe47;border-radius:50%;flex:none;place-items:center;width:clamp(76px,18vw,124px);font-size:clamp(1.75rem,6vw,3.4rem);font-weight:800;display:grid;box-shadow:0 18px 36px #00000047,inset 0 1px #ffffff29}.employee-plan-content,.employee-plan-days,.employee-plan-item-list{gap:12px;display:grid}.employee-plan-content{gap:20px;width:min(100%,920px);margin:0 auto}.employee-plan-content,.employee-plan-section,.employee-plan-days,.employee-plan-day,.employee-plan-item-list,.employee-plan-item{min-width:0;max-width:100%}.employee-plan-section>h2{color:#fff;letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(1.15rem,4vw,1.55rem)}.employee-plan-day{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#21563994,#07281ec7);border:1px solid #a7e59838;border-radius:18px;padding:16px;box-shadow:0 14px 34px #00000029,inset 0 1px #ffffff0d}.employee-plan-day>h3{color:var(--employee-green);letter-spacing:.08em;text-transform:uppercase;margin:0 0 13px;font-size:.8rem}.employee-plan-item{background:linear-gradient(135deg,#204f36d1,#0b2f23eb);border:1px solid #93cd8b24;border-radius:14px;padding:16px 16px 15px 20px;position:relative;overflow:hidden;box-shadow:0 10px 26px #0000002e}.employee-plan-item:before{content:"";background:linear-gradient(#b8f84d,#68d53e);width:5px;position:absolute;inset:0 auto 0 0}.employee-plan-item-head{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:9px;display:flex}.employee-plan-item-head h3{overflow-wrap:anywhere;color:#fff;flex:1;min-width:0;margin:0;font-size:1.03rem}.employee-plan-card-marker-stack{flex-direction:column;flex:none;align-items:flex-end;gap:5px;margin-left:auto;display:flex}.employee-plan-item-time,.appointment-marker-pill{color:#d9f6bd;text-align:right;white-space:nowrap;word-break:normal;background:#74b26d21;border:1px solid #a7ee8b1a;border-radius:999px;flex:none;padding:5px 10px;font-size:.82rem;font-weight:700}.employee-plan-item-time{max-width:45%}.appointment-marker-pills{white-space:nowrap;justify-content:flex-end;align-items:center;gap:5px;min-width:0;display:inline-flex}.appointment-marker-pills .employee-plan-item-time{max-width:none}.appointment-marker-pill{justify-content:center;align-items:center;gap:4px;display:inline-flex}.appointment-marker-pill--overnight{color:#d9f6bd}.appointment-marker-pills--compact{gap:4px}.appointment-marker-pills--compact .appointment-marker-pill{padding:3px 7px;font-size:.7rem;line-height:1}.employee-plan-item dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0;display:grid}.employee-plan-item dl>div{min-width:0}.employee-plan-customer-name{font-weight:750;display:block}.employee-plan-address{color:#e0f5dbc7;overflow-wrap:anywhere;align-items:center;gap:7px;min-width:0;margin-top:4px;font-size:.78rem;font-weight:550;line-height:1.35;display:flex}.employee-plan-item>.employee-plan-address{margin:-2px 0 10px}.employee-plan-navigation-link{color:#d9f6bd;background:#74b26d21;border:1px solid #a7ee8b38;border-radius:8px;flex:none;justify-content:center;align-items:center;width:25px;height:25px;font-size:.72rem;line-height:1;text-decoration:none;display:inline-flex}.employee-plan-navigation-link:hover,.employee-plan-navigation-link:focus-visible{background:#74b26d3d;border-color:#a7ee8b8c;outline:none}.employee-plan-item dt{color:var(--employee-green);text-transform:uppercase;font-size:.68rem;font-weight:700}.employee-plan-item dd{overflow-wrap:anywhere;color:#f6fff3;margin:2px 0 0;font-size:.9rem}.employee-plan-coworker-list{flex-wrap:wrap;gap:5px;display:flex}.employee-plan-coworker-button{color:#f1ffe8;font:inherit;cursor:pointer;background:#4f92482e;border:1px solid #9eea4542;border-radius:999px;padding:3px 7px;font-size:.82rem}.employee-plan-coworker-button:hover{border-color:var(--employee-green);background:#66b14b47}.employee-plan-item-remark{border-top:1px solid #a1dd9924;grid-column:1/-1;padding-top:10px}.employee-plan-item-remark dd{white-space:pre-wrap}.employee-plan-table-wrap{border:1px solid var(--employee-line);background:#05251bb8;border-radius:14px;overflow-x:auto;box-shadow:0 14px 32px #0000002e}.employee-plan-table{border-collapse:collapse;width:100%;min-width:600px;color:var(--employee-ink);font-size:.82rem}.employee-plan-table th,.employee-plan-table td{text-align:left;vertical-align:top;border-bottom:1px solid #9ddb9221;padding:9px 10px}.employee-plan-table th{color:var(--employee-green);text-transform:uppercase;white-space:nowrap;background:#3a794338;font-size:.68rem;font-weight:700}.employee-plan-table tbody tr:last-child td{border-bottom:0}.employee-plan-table td.employee-plan-table-number{text-align:center}.employee-plan-overview-toggle{color:#f8ffed;width:100%;font:inherit;cursor:pointer;background:linear-gradient(#83cf37,#4f9c28);border:1px solid #beff6861;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:10px 12px;font-size:.84rem;font-weight:700;display:flex;box-shadow:0 10px 26px #32962b40,inset 0 1px #ffffff40}.employee-plan-overview-toggle:hover{background:linear-gradient(#94dc44,#5aaa2e);border-color:#d2ff86}.employee-plan-mobile-overview{gap:8px;min-width:0;max-width:100%;margin-top:8px;display:grid}.employee-plan-overview-card{border:1px solid #95dc8433;border-left:4px solid var(--employee-green);background:linear-gradient(135deg,#1b4b33d1,#06271ce6);border-radius:14px;min-width:0;padding:10px 11px;box-shadow:0 12px 28px #00000029}.employee-plan-overview-card dl{gap:7px;margin:0;display:grid}.employee-plan-overview-card dl>div{grid-template-columns:minmax(108px,.8fr) minmax(0,1.2fr);align-items:start;gap:10px;display:grid}.employee-plan-overview-card dt{color:var(--employee-green);text-transform:uppercase;font-size:.67rem;font-weight:700}.employee-plan-overview-card dd{overflow-wrap:anywhere;color:#f4fff0;text-align:right;min-width:0;margin:0;font-size:.84rem}.employee-plan-status,.employee-plan-error,.employee-plan-empty{margin:0;width:min(100%,920px);color:var(--employee-muted);background:#083023b8;border:1px solid #9de09133;border-radius:14px;margin-inline:auto;padding:14px}.employee-plan-error{color:#ffb4b4;border-color:#ff7e7e73}.employee-contacts-backdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000e0ab8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.employee-contacts-sheet{width:min(100%,560px);max-height:min(720px,100vh - 40px);color:var(--employee-ink);background:linear-gradient(145deg,#10462dfa,#022319fc);border:1px solid #9eea454d;border-radius:20px;padding:18px;overflow-y:auto;box-shadow:0 28px 80px #00000085,inset 0 1px #ffffff14}.employee-contacts-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.employee-contacts-head p,.employee-contacts-head h2{margin:0}.employee-contacts-head p{color:var(--employee-green);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:800}.employee-contacts-head h2{color:#fff;margin-top:3px;font-size:1.35rem}.employee-contacts-head button{aspect-ratio:1;color:#eaffdc;width:34px;font:inherit;cursor:pointer;background:#55955229;border:1px solid #b7f4973d;border-radius:50%;place-items:center;padding:0;font-size:1.35rem;display:grid}.employee-contacts-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.employee-contact-row{background:#062b1e9e;border:1px solid #9bdc8b29;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:11px 12px;display:flex}.employee-contact-row>div{min-width:0;display:grid}.employee-contact-row strong,.employee-contact-row span{overflow-wrap:anywhere}.employee-contact-row>div span{color:var(--employee-muted);font-size:.76rem}.employee-contact-row a{color:#fff;background:linear-gradient(#8bd73e,#56a82d);border-radius:999px;flex:none;padding:7px 12px;font-size:.78rem;font-weight:800;text-decoration:none}.employee-contact-missing,.employee-contacts-state,.employee-contacts-error{color:var(--employee-muted);font-size:.76rem}.employee-contact-missing{text-align:right;max-width:140px}.employee-contacts-state,.employee-contacts-error{background:#05271c9e;border-radius:12px;margin:0;padding:12px}.employee-contacts-error{color:#ffb4b4}@media (width<=520px){.employee-plan-page{padding:18px 10px 42px}.employee-plan-item dl{gap:10px 12px}.employee-plan-header{padding-top:8px}.employee-plan-header-top{align-items:flex-start}.employee-plan-header-actions{flex-wrap:wrap}.employee-plan-day{border-radius:15px;padding:12px}.employee-plan-item{padding:14px 13px 13px 17px}.employee-plan-item-head{gap:8px}.employee-plan-item-time{padding-inline:8px;font-size:.75rem}.employee-plan-overview-card dl>div{grid-template-columns:minmax(102px,.9fr) minmax(0,1.1fr)}.employee-contacts-backdrop{align-items:end;padding:0}.employee-contacts-sheet{width:100%;max-height:min(78vh,680px);padding-bottom:max(18px, env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:22px 22px 0 0}.employee-contact-row{align-items:flex-start}}.app-shell{background:var(--surface-muted);width:100%;max-width:none;height:100vh;min-height:100vh;box-shadow:var(--shadow-lg);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(260px,300px) minmax(0,1fr);margin:0;display:grid}.app-shell--config,.app-shell--wide{grid-template-columns:minmax(0,1fr)}.app-shell--config .app-main,.app-shell--wide .app-main{grid-column:1/-1}@media (width<=960px){.app-shell{grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr}.app-sidebar{border-right:none;border-bottom:1px solid var(--border-light)}}.app-header{background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);z-index:50;flex-direction:column;grid-column:1/-1;align-items:stretch;gap:0;padding:8px 18px;display:flex;position:sticky;top:0}.app-header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;width:100%;display:flex}.app-header-search{flex:200px;min-width:160px;max-width:380px}.app-header-search-input{border:1px solid var(--input-border);border-radius:var(--radius-sm);width:100%;font:inherit;background:var(--surface);color:var(--text);padding:6px 10px;font-size:.875rem}.app-header-search-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.appointment-search-panel{border-top:1px solid var(--border-light);width:100%;margin-top:12px;padding-bottom:4px;animation:.2s ease-out appointment-search-open}@keyframes appointment-search-open{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.appointment-search-scroll{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);max-height:min(440px,58vh);overflow:auto;box-shadow:0 4px 18px #0f172a0f}.appointment-search-empty{color:var(--text-muted);margin:0;padding:16px 14px;font-size:.875rem}.appointment-search-table{border-collapse:collapse;width:100%;font-size:.8125rem}.appointment-search-table thead th{z-index:1;text-align:left;background:var(--table-head-bg);color:var(--table-head-text);border-bottom:1px solid var(--border-light);padding:10px 12px;font-weight:700;position:sticky;top:0}.appointment-search-section-label{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--table-section-text);background:var(--table-section-bg);border-bottom:1px solid var(--border-light);padding:8px 12px;font-size:.68rem;font-weight:800}.appointment-search-section--series .appointment-search-section-label{background:var(--table-series-bg);color:var(--table-series-text)}.appointment-search-divider td{background:var(--table-divider);border:none;height:2px;padding:0;font-size:0;line-height:0}.appointment-search-row{cursor:pointer;transition:background .12s}.appointment-search-row:focus{outline:2px solid var(--accent);outline-offset:-2px}.appointment-search-row:focus:not(:focus-visible){outline:none}.appointment-search-row td{border-bottom:1px solid var(--border-light);vertical-align:top;padding:10px 12px}.appointment-search-row--single:hover{background:#3b82f612}.appointment-search-row--series:hover{background:#0ea5e917}.appointment-search-row--series td:first-child{border-left:3px solid var(--accent);padding-left:9px}.app-header-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.app-header h1{letter-spacing:-.02em;text-align:center;min-width:160px;margin:0;font-size:1.12rem;font-weight:700}.view-switch{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-muted);align-items:center;gap:2px;padding:2px;display:inline-flex}.view-switch-btn{min-height:30px;box-shadow:none;background:0 0;border-color:#0000;padding:0 10px;font-size:.78rem}.view-switch-btn--active{border-color:var(--accent);color:var(--accent-hover);background:#3b82f61f}.btn-today{color:#15803d;background:#16a34a1a;border-color:#16a34a73;min-height:30px;padding:0 12px;font-size:.78rem;font-weight:700}.btn-today:hover{background:#16a34a2b;border-color:#16a34a}.app-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.app-header-menu{position:relative}.app-header-menu-trigger{appearance:none;list-style:none}.app-header-action-btn{box-sizing:border-box;white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:.8rem;font-weight:650;line-height:1;display:inline-flex}.app-header-icon-only{place-items:center;gap:0;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;line-height:0;display:grid}.app-header-icon-only:after{display:none}.app-header-action-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px;width:17px;height:17px;margin:0;display:block}.app-header-action-icon-fill{fill:currentColor;stroke:none}.app-header-logout-btn{min-width:74px}.app-header-menu-trigger::-webkit-details-marker{display:none}.app-header-menu-trigger::marker{content:""}.app-header-menu-trigger:after{content:"";margin:0}.app-header-menu[open] .app-header-menu-trigger:after{content:""}.app-header-menu-panel{z-index:80;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:180px;box-shadow:var(--shadow-lg);flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.app-header-info-panel{width:320px;color:var(--text-muted);gap:8px;padding:12px 14px;font-size:.8rem;line-height:1.45}.app-header-info-panel p{margin:0}.app-header-info-panel strong{color:var(--text)}.btn-menu-item{text-align:left;justify-content:flex-start;width:100%;padding:7px 10px;display:flex}.menu-select-field{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;flex-direction:column;gap:5px;padding:8px 10px;font-size:.72rem;font-weight:700;display:flex}.menu-select-field select{border:1px solid var(--input-border);background:var(--surface);width:100%;color:var(--text);font:inherit;letter-spacing:0;text-transform:none;border-radius:6px;padding:6px 8px;font-size:.8rem;font-weight:600}.app-sidebar{background:var(--surface);border-right:1px solid var(--border-light);overscroll-behavior:contain;flex-direction:column;gap:16px;min-height:0;padding:20px;display:flex;overflow-y:auto}.app-sidebar h2{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin:0 0 4px;font-size:.7rem;font-weight:700}.sidebar-hint{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.4}.sidebar-hint strong{color:var(--text)}.app-main{background:linear-gradient(#eef2f7 0%,#e8edf4 100%);flex-direction:column;gap:12px;min-height:0;padding:20px 24px 28px;display:flex;overflow:hidden}.app-main-view{flex:1;min-height:0;display:flex;overflow:auto}.app-shell--employee-drag .app-main-view,.app-shell--employee-drag .calendar-root,.app-shell--employee-drag .calendar-week-merge,.app-shell--employee-drag .week-detail-view{overscroll-behavior:none;overflow:hidden}.published-tomorrow{border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface);flex:none;padding:12px 14px;box-shadow:0 2px 10px #0f172a0f}.published-tomorrow-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.published-day-navigation{align-items:center;gap:6px;display:flex}.published-day-navigation .btn{min-width:34px;padding:5px 9px}.published-day-navigation input{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--surface);min-height:31px;color:var(--text);font:inherit;padding:4px 7px;font-size:.76rem}.published-tomorrow-header h2{color:var(--text);margin:0;font-size:.96rem}.published-tomorrow-published-at,.published-tomorrow-state,.published-tomorrow-success,.published-tomorrow-error{margin:5px 0 0;font-size:.78rem}.published-tomorrow-published-at,.published-tomorrow-state{color:var(--text-muted)}.published-tomorrow-success{color:#15803d;font-weight:700}.published-tomorrow-error{color:#b91c1c;font-weight:700}.published-tomorrow-body{max-height:170px;overflow:auto}.published-tomorrow-table-wrap{border:1px solid var(--border-light);border-radius:var(--radius-sm);margin-top:10px;overflow-x:auto}.published-tomorrow-table{border-collapse:collapse;width:100%;min-width:620px;color:var(--text);font-size:.76rem}.published-tomorrow-table th,.published-tomorrow-table td{border-bottom:1px solid var(--border-light);text-align:left;vertical-align:top;padding:7px 9px}.published-tomorrow-table th{background:var(--surface-muted);color:var(--text-muted);text-transform:uppercase;white-space:nowrap;font-size:.68rem;font-weight:700}.published-tomorrow-table tbody tr:last-child td{border-bottom:0}.published-tomorrow-table td.published-tomorrow-number{text-align:center}.notification-outbox{border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface);flex:none;padding:12px 14px;box-shadow:0 2px 10px #0f172a0f}.notification-outbox h2{color:var(--text);margin:0;font-size:.96rem}.notification-outbox-hint,.notification-outbox-state,.notification-outbox-error{margin:5px 0 0;font-size:.78rem}.notification-outbox-hint,.notification-outbox-state{color:var(--text-muted)}.notification-outbox-error{color:#b91c1c;font-weight:700}.notification-outbox-items{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;max-height:170px;margin-top:10px;display:grid;overflow:auto}.notification-outbox-item{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-muted);padding:9px 10px}.notification-outbox-item h3,.notification-outbox-item p{margin:0}.notification-outbox-item h3{font-size:.86rem}.notification-outbox-item p{color:var(--text);margin-top:5px;font-size:.78rem}.notification-outbox-item dl{flex-wrap:wrap;gap:6px 18px;margin:8px 0 0;display:flex}.notification-outbox-item dt{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-weight:700}.notification-outbox-item dd{margin:1px 0 0;font-size:.76rem}.btn{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;color:var(--text);padding:8px 16px;font-size:.8125rem;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #0f172a0a}.btn:hover{background:#f8fafc;border-color:#cbd5e1}.btn-ghost{box-shadow:none;color:var(--accent);background:0 0;border-color:#0000}.btn-ghost:hover{background:#3b82f614;border-color:#0000}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-small{flex-shrink:0;padding:4px 10px;font-size:.75rem}.toggle-label{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.8rem;display:flex}.btn-theme-toggle{border-color:var(--input-border);background:var(--surface);min-width:124px;color:var(--text);font-weight:600}.btn-theme-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-subtle)}.btn-danger{color:#dc2626;border-color:#dc2626}.btn-danger:hover{background:#dc262614}.employee-list{flex-direction:column;gap:4px;display:flex}.sidebar-filter-row label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.sidebar-filter-select{border-radius:var(--radius-sm);border:1px solid var(--border-light);background:var(--surface-muted);width:100%;color:var(--text);margin-top:4px;padding:8px 10px;font-size:.875rem}.sidebar-filter-hint{margin-top:6px!important;font-size:.72rem!important}.employee-block-header{align-items:flex-start;gap:6px;display:flex}.employee-block-header .employee-card{flex:1;min-width:0}.btn-employee-edit{align-self:center;min-height:24px;padding:3px 8px;font-size:.7rem}.employee-card{background:var(--surface-muted);border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:grab;touch-action:none;border-left-width:4px;border-left-color:#cbd5e1;align-items:center;gap:7px;min-height:30px;padding:4px 8px;transition:box-shadow .15s,border-color .15s;display:flex}.employee-card--st-verfuegbar{background:linear-gradient(90deg, #16a34a4d 0%, var(--surface-muted) 58%);border-color:#22c55e #22c55e #22c55e #16a34a}.employee-card--st-krank{background:linear-gradient(90deg, #dc26264d 0%, var(--surface-muted) 58%);border-color:#ef4444 #ef4444 #ef4444 #dc2626}.employee-card--st-urlaub{background:linear-gradient(90deg, #2563eb4d 0%, var(--surface-muted) 58%);border-color:#3b82f6 #3b82f6 #3b82f6 #2563eb}.employee-card--apprentice{border-color:#8b5cf6 #8b5cf6 #8b5cf6 #7c3aed}.employee-card--external{background:linear-gradient(90deg, #eab3084d 0%, var(--surface-muted) 58%);border-color:#eab308 #eab308 #eab308 #ca8a04}.employee-card:hover{box-shadow:var(--shadow)}.employee-card--planned,.employee-card--planned:hover{box-shadow:0 0 0 2px #0ea5e94d,0 4px 12px #0e74901f}.employee-planned-badge{color:#0e7490;white-space:nowrap;background:#0ea5e921;border:1px solid #0e749040;border-radius:999px;flex:none;padding:2px 6px;font-size:.62rem;font-weight:800;line-height:1.2}.employee-card:active{cursor:grabbing}.planning-drag-overlay{z-index:600;pointer-events:none}.employee-card--drag-overlay{cursor:grabbing;box-shadow:var(--shadow-lg);max-width:min(300px,92vw)}.employee-card .avatar{color:#fff;box-sizing:border-box;background:linear-gradient(135deg,#64748b,#475569);border-radius:50%;place-items:center;width:22px;height:22px;padding-top:1px;font-size:.72rem;font-weight:700;line-height:1;display:grid}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 1px #fffc}.status-verfuegbar{background:#22c55e}.status-krank{background:#ef4444}.status-urlaub{background:#2563eb}.status-external{background:#eab308}.legend{color:var(--text-muted);background:var(--surface-muted);border-radius:var(--radius-sm);border:1px solid var(--border-light);padding:12px;font-size:.75rem;line-height:1.7}.calendar-root{border-radius:var(--radius);scroll-snap-type:y mandatory;width:100%;height:100%;min-height:0;box-shadow:var(--shadow);--cal-ribbon-bg:#f3f6fb;--cal-ribbon-bg-top:#fafcfe;--cal-ribbon-hover:#deecf9;--cal-ribbon-border:#b8c6dc;--cal-ribbon-border-hover:#6ba3d9;--cal-ribbon-text:#242424;--cal-ribbon-font:"Segoe UI", "Segoe UI Variable Text", system-ui, -apple-system, sans-serif;--cal-inner-scrollbar-gutter:9px;background:#e2e8f0;border:1px solid #cbd5e1;flex-direction:column;gap:3px;scroll-padding-top:26px;display:flex;overflow:auto}.calendar-dow-row{z-index:20;box-sizing:border-box;padding-right:var(--cal-inner-scrollbar-gutter);flex:0 0 23px;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid;position:sticky;top:0}.calendar-dow{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:#334155;background:linear-gradient(#f1f5f9,#e2e8f0);border-bottom:1px solid #cbd5e1;padding:4px 6px;font-size:.68rem;font-weight:800;line-height:1.1}.calendar-week-block{scroll-snap-align:start;scroll-snap-stop:always;background:#e2e8f0;flex-direction:column;flex:0 0 calc(25% - 8.75px);gap:3px;min-height:185px;display:flex;position:relative;overflow:hidden}.calendar-root--two-weeks .calendar-week-block{flex-basis:calc(50% - 14.5px)}.calendar-root--four-weeks .calendar-week-block{flex-basis:calc(25% - 8.75px)}.calendar-week-head-row{box-sizing:border-box;padding-right:var(--cal-inner-scrollbar-gutter);grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.calendar-week-head-cell{background:var(--surface);-webkit-user-select:none;user-select:none;cursor:pointer;border:1px solid #94a3b8;border-radius:6px 6px 0 0;min-height:38px;padding:0;transition:background .12s;overflow:hidden;box-shadow:0 1px #0f172a0f}.calendar-week-head-cell:hover{background:#fafbfc}.calendar-week-head-cell:hover .day-head-ribbon{background:linear-gradient(#f1f5f9,#e2e8f0)}.calendar-week-head-cell .avail{color:#475569;padding:3px 8px 5px;font-size:.66rem;font-weight:600;line-height:1.3}.day-head-meta{justify-content:space-between;align-items:center;gap:6px;display:flex}.day-head-availability{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.day-head-add{width:18px;height:18px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:.86rem;font-weight:800;line-height:1;display:inline-flex}.day-head-add:hover,.day-head-add:focus-visible{background:#3b82f61a;border-color:#3b82f647;outline:none}.calendar-week-head-cell--muted{background:var(--surface-subtle);opacity:.7;border-color:var(--border-light);min-height:38px}.day-head-ribbon{background:linear-gradient(#f8fafc,#eef2f7);border-bottom:1px solid #cbd5e1;align-items:center;gap:6px;min-height:29px;padding:5px 8px 4px;display:flex}.day-weekday{text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-size:.68rem;font-weight:700;line-height:1.2}.day-num{font-variant-numeric:tabular-nums;color:#0f172a;letter-spacing:-.02em;text-align:right;z-index:2;font-size:1rem;font-weight:800;line-height:1.05;position:absolute;right:0}.day-date-holiday-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;width:100%;min-width:0;display:grid;position:relative}.day-week-label{color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;justify-self:start;font-size:.68rem;font-weight:800}.day-assignment-override-icon{color:var(--accent);justify-self:start;margin-left:36px;font-size:.72rem;line-height:1}.day-holiday-label{color:#9a3412;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;text-align:center;grid-column:2;justify-self:center;max-width:100%;font-size:.55rem;font-weight:700;line-height:1;overflow:hidden}.calendar-week-head-cell--feiertag .day-head-ribbon{background:linear-gradient(#fff7ed,#ffedd5);border-bottom:1px solid #fb923c}.calendar-week-head-cell--feiertag .day-weekday{color:#9a3412;font-weight:800}.calendar-week-head-cell--feiertag .day-num{color:#7c2d12}.calendar-week-head-cell--feiertag .day-holiday-label{color:#7c2d12;text-transform:uppercase;letter-spacing:.05em;background:#fb923c47;border:1px solid #ea580c73;border-radius:5px;padding:2px 5px;font-size:.55rem;font-weight:800;line-height:1;box-shadow:0 1px 2px #7c2d1214}@keyframes cal-feiertag-mit-termine-pulse{0%,to{box-shadow:0 0 0 2px #ea580ceb,0 0 16px #f9731659}50%{box-shadow:0 0 0 5px #fb923c59,0 0 26px #ea580c8c}}.calendar-week-head-cell--feiertag-mit-termine{z-index:3;animation:2s ease-in-out infinite cal-feiertag-mit-termine-pulse;position:relative}.calendar-cell--feiertag-mit-termine{z-index:2;animation:2s ease-in-out infinite cal-feiertag-mit-termine-pulse;position:relative}.calendar-week-head-cell--staff-shortage.calendar-week-head-cell--feiertag-mit-termine,.calendar-cell--staff-shortage.calendar-cell--feiertag-mit-termine{animation:2s ease-in-out infinite cal-feiertag-mit-termine-pulse}.calendar-week-head-cell.calendar-cell--selected .day-head-ribbon{background:linear-gradient(#f8fafc,#e8f0fe);border-bottom-color:#93c5fd}.calendar-week-head-cell.calendar-cell--selected .day-num{color:#1e40af}.calendar-week-head-cell.calendar-cell--range:not(.calendar-cell--selected) .day-head-ribbon{background:linear-gradient(#fafbfc,#f0f9ff);border-bottom-color:#cbd5e1}.calendar-week-head-cell--staff-shortage{background:#fef2f2;border-color:#f87171}.calendar-week-head-cell--staff-shortage .day-head-ribbon{background:linear-gradient(#fee2e2,#fecaca);border-bottom-color:#f87171}.calendar-week-head-cell--staff-shortage .day-num{color:#b91c1c}.calendar-week-head-cell--staff-shortage .avail{color:#991b1b}.calendar-week-head-cell--staff-shortage .avail-deficit{white-space:nowrap;font-weight:800}.calendar-week-head-cell.calendar-cell--selected.calendar-week-head-cell--staff-shortage .day-head-ribbon{background:linear-gradient(#fecaca,#fca5a5);border-bottom-color:#ef4444}.calendar-week-head-cell.calendar-cell--selected.calendar-week-head-cell--staff-shortage .day-num{color:#7f1d1d}.calendar-week-head-cell--feiertag.calendar-cell--selected:not(.calendar-week-head-cell--staff-shortage) .day-head-ribbon{background:linear-gradient(#ffedd5,#fed7aa);border-bottom-color:#ea580c}.calendar-week-head-cell--feiertag.calendar-cell--selected:not(.calendar-week-head-cell--staff-shortage) .day-num{color:#7c2d12}.calendar-week-merge{background:var(--surface);scrollbar-gutter:stable;overscroll-behavior:contain;flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;position:relative;overflow:hidden auto}.calendar-week-merge::-webkit-scrollbar{width:9px}.calendar-week-merge::-webkit-scrollbar-track{background:#e2e8f0}.calendar-week-merge::-webkit-scrollbar-thumb{background:#94a3b8;border:2px solid #e2e8f0;border-radius:999px}.calendar-week-merge::-webkit-scrollbar-thumb:hover{background:#64748b}.calendar-week-bar-layer{left:0;right:0;top:var(--cal-week-bar-top,0px);z-index:2;pointer-events:none;position:absolute}.calendar-week-bar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 3px;display:grid}.calendar-week-bar-span{pointer-events:auto;box-sizing:border-box;min-width:0;padding-inline:4px}.calendar-week-drop-layer{z-index:5;pointer-events:none;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid;position:absolute;inset:0}.calendar-week-drop-cell{min-width:0;min-height:100%}.calendar-week-cells-row{padding-top:var(--cal-week-bar-height,0px);z-index:1;background:var(--surface);grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;min-height:100%;display:grid;position:relative}.calendar-week-grid-lines{z-index:4;pointer-events:none;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid;position:absolute;inset:0}.calendar-week-grid-line-cell{border-left:1px solid #94a3b8e6;border-right:1px solid #94a3b8e6;min-width:0}.calendar-week-selection-lines{top:0;right:var(--cal-inner-scrollbar-gutter);z-index:6;pointer-events:none;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid;position:absolute;bottom:0;left:0}.calendar-week-selection-cell{border:2px solid #0000;border-radius:6px;min-width:0}.calendar-week-selection-cell--active{border-color:var(--accent);background:#3b82f61f;box-shadow:inset 0 0 0 1px #3b82f624}.calendar-cell--pad{min-height:120px}.calendar-cell-body--under-bars{flex:1}.calendar-cell{background:var(--surface);-webkit-user-select:none;user-select:none;border:1px solid #94a3b8;border-top:none;border-radius:0 0 6px 6px;flex-direction:column;height:100%;min-height:0;padding:8px;transition:background .12s;display:flex;position:relative;box-shadow:inset 0 0 0 1px #fff9}.calendar-cell:hover{background:#fafbfc}.calendar-cell--muted{background:var(--surface-subtle);opacity:.72;border-color:var(--border-light)}.calendar-cell-head--muted{color:var(--text-muted)}.calendar-cell--selected{outline:2px solid var(--accent);outline-offset:-2px;z-index:1;background:#3b82f60a}.calendar-week-head-cell.calendar-cell--selected,.calendar-week-cells-row .calendar-cell.calendar-cell--selected{outline:none}.calendar-cell--range{background:#3b82f61a}.calendar-cell--staff-shortage{background:linear-gradient(#fff1f2 0%,#ffe4e6 100%);border-color:#f87171;box-shadow:inset 0 0 0 1px #f8717133}.calendar-cell--staff-shortage:hover{background:linear-gradient(#ffe4e6 0%,#fecdd3 100%)}.calendar-cell--staff-shortage.calendar-cell--selected{background:linear-gradient(#fee2e2f2,#fca5a566);outline-color:#dc2626}.calendar-cell--staff-shortage.calendar-cell--range{background:linear-gradient(#fecaca80,#fca5a559)}.week-detail-view{width:100%;min-height:0;overflow:auto}.week-detail-grid{grid-template-columns:repeat(7,minmax(170px,1fr));align-items:stretch;gap:10px;min-width:1120px;display:grid}.week-detail-day{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;min-height:calc(100vh - 142px);display:flex;overflow:hidden;box-shadow:0 1px 4px #0f172a0d}.week-detail-day-head{border-bottom:1px solid var(--border-light);background:linear-gradient(180deg, var(--surface-muted), var(--surface-subtle));justify-content:space-between;align-items:center;gap:8px;padding:10px;display:flex}.week-detail-day-head strong{color:var(--text);font-size:.9rem;display:block}.week-detail-day-staff{color:var(--text);background:#3b82f61f;border:1px solid #3b82f652;border-radius:999px;align-items:center;margin-top:6px;padding:3px 7px;font-size:.84rem;font-weight:850;line-height:1.1;display:inline-flex}.week-detail-weekday{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-weight:800;display:block}.week-detail-card-list{flex-direction:column;flex:1;gap:10px;padding:10px;display:flex;overflow:auto}.week-detail-card{border:1px solid var(--border-light);border-left:4px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface-muted);gap:10px;padding:12px;display:grid;box-shadow:0 2px 8px #0f172a0f}.week-detail-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.week-detail-card-titleblock{min-width:0}.week-detail-card-titleblock h3{color:var(--text);margin:2px 0 0;font-size:.98rem;line-height:1.2}.week-detail-card-category{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:800}.week-detail-meta{color:var(--text-muted);flex-wrap:wrap;gap:5px;font-size:.73rem;display:flex}.week-detail-meta span{background:var(--surface);border:1px solid var(--border-light);border-radius:999px;padding:2px 6px}.week-detail-employees{gap:6px;display:grid}.week-detail-employee{border-radius:var(--radius-sm);background:var(--surface);min-height:24px;color:var(--text);align-items:center;gap:7px;padding:3px 6px;font-size:.82rem;font-weight:600;display:flex}.week-detail-employee .avatar-tiny{flex:0 0 24px}.week-detail-employee>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.week-detail-empty,.week-detail-empty-day,.week-detail-hint,.week-detail-card-actions{color:var(--text-muted);font-size:.76rem}.week-detail-empty-day{text-align:center;margin:0;padding:14px 8px}.week-detail-hint{font-weight:700}.week-detail-warning{border-radius:var(--radius-sm);color:#9a3412;background:#fff7ed;border:1px solid #fdba74;align-items:flex-start;gap:6px;padding:7px 8px;font-size:.76rem;font-weight:700;line-height:1.35;display:flex}.week-detail-note{color:var(--text);gap:5px;font-size:.78rem;font-weight:700;display:grid}.week-detail-note textarea{resize:vertical;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:72px;color:var(--text);font:inherit;padding:8px;font-size:.82rem;font-weight:500}.week-detail-card-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.week-detail-save-error{color:#b91c1c;font-weight:700}.calendar-cell-head{cursor:pointer;flex-shrink:0}.calendar-cell-head .day-head-ribbon{border-radius:0;margin:-8px -8px 8px}.calendar-cell-body{flex-direction:column;flex:1;min-height:0;display:flex}.calendar-cell .avail{color:#475569;margin-bottom:6px;font-size:.7rem;font-weight:600}.appointment-stack{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow:auto}.appt-hover-wrap{border-radius:3px;width:100%;position:relative}.appt-hover-wrap:hover .appt-bar:not([class*=appt-bar--kat-]),.appt-hover-wrap--open .appt-bar:not([class*=appt-bar--kat-]){background:linear-gradient(180deg, #f0f7fc 0%, var(--cal-ribbon-hover) 100%);border-color:var(--cal-ribbon-border-hover);box-shadow:0 1px 2px #005a9e1f,inset 0 1px #ffffffd9}.appt-hover-wrap--open .appt-bar:not([class*=appt-bar--kat-]){box-shadow:0 0 0 1px #0078d459,0 2px 8px #005a9e2e,inset 0 1px #ffffffe6}.appt-hover-wrap:hover .appt-bar--kat-vorgetrage{filter:brightness(.97);box-shadow:0 1px 3px var(--appt-category-shadow,#ea580c33)}.appt-hover-wrap:hover .appt-bar--kat-hessen{filter:brightness(.97);box-shadow:0 1px 3px var(--appt-category-shadow,#7c3aed33)}.appt-hover-wrap:hover .appt-bar--kat-sud{filter:brightness(.97);box-shadow:0 1px 3px var(--appt-category-shadow,#16a34a33)}.appt-hover-wrap:hover .appt-bar--kat-geblockt{filter:brightness(.97);box-shadow:0 1px 3px var(--appt-category-shadow,#db277733)}.appt-hover-wrap--open .appt-bar--kat-vorgetrage,.appt-hover-wrap--open .appt-bar--kat-hessen,.appt-hover-wrap--open .appt-bar--kat-sud,.appt-hover-wrap--open .appt-bar--kat-geblockt{box-shadow:0 0 0 1px #0f172a1f,0 2px 8px #0f172a14}.appt-bar{width:100%;min-height:22px;font-family:var(--cal-ribbon-font);letter-spacing:.02em;color:var(--cal-ribbon-text);cursor:default;border:1px solid var(--cal-ribbon-border);background:linear-gradient(180deg, var(--cal-ribbon-bg-top) 0%, var(--cal-ribbon-bg) 100%);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:3px;align-items:center;gap:6px;padding:4px 8px 4px 9px;font-size:12px;font-weight:600;line-height:1.25;transition:background .14s,border-color .14s,box-shadow .14s;display:flex;box-shadow:inset 0 1px #ffffffbf,0 1px 1px #0f172a0f}.appt-bar-drag-handle{cursor:grab;touch-action:none;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.appt-bar-drag-handle:active{cursor:grabbing}.appt-bar--continuation{color:#605e5c;background:linear-gradient(#f7f9fc 0%,#eceff5 100%);border-color:#c5cedd;font-style:normal;font-weight:500}.appt-bar--continuation.appt-bar--kat-vorgetrage,.appt-bar--continuation.appt-bar--kat-hessen,.appt-bar--continuation.appt-bar--kat-sud,.appt-bar--continuation.appt-bar--kat-geblockt{border-left-width:3px}.appt-bar--kat-vorgetrage{border-left:3px solid var(--appt-category-accent,#ea580c);background:linear-gradient(180deg, var(--appt-category-bg-top,#fff7ed), var(--appt-category-bg,#ffedd5));border-color:var(--appt-category-border,#fdba74);border-left-color:var(--appt-category-accent,#ea580c);color:var(--appt-category-text,#7c2d12);padding-left:7px}.appt-bar--kat-hessen{border-left:3px solid var(--appt-category-accent,#7c3aed);background:linear-gradient(180deg, var(--appt-category-bg-top,#f5f3ff), var(--appt-category-bg,#ede9fe));border-color:var(--appt-category-border,#c4b5fd);border-left-color:var(--appt-category-accent,#7c3aed);color:var(--appt-category-text,#4c1d95);padding-left:7px}.appt-bar--kat-sud{border-left:3px solid var(--appt-category-accent,#16a34a);background:linear-gradient(180deg, var(--appt-category-bg-top,#f0fdf4), var(--appt-category-bg,#dcfce7));border-color:var(--appt-category-border,#86efac);border-left-color:var(--appt-category-accent,#16a34a);color:var(--appt-category-text,#14532d);padding-left:7px}.appt-bar--kat-geblockt{border-left:3px solid var(--appt-category-accent,#db2777);background:linear-gradient(180deg, var(--appt-category-bg-top,#fdf2f8), var(--appt-category-bg,#fce7f3));border-color:var(--appt-category-border,#f9a8d4);border-left-color:var(--appt-category-accent,#db2777);color:var(--appt-category-text,#831843);padding-left:7px}.appt-bar--span{border-radius:4px;min-height:24px}.appt-bar--drop{outline-offset:1px;outline:2px solid #0078d4;background:#e5f1fb!important;border-color:#0078d4!important}.appt-bar.appt-bar--understaffed:not(.appt-bar--drop){outline-offset:0;outline:2px solid #dc2626d1;box-shadow:0 0 0 1px #f8717159,inset 0 1px #ffffffbf,0 1px 1px #0f172a0f}.appt-bar--span.appt-bar--understaffed:not(.appt-bar--drop){outline-offset:0}.appt-bar.appt-bar--staffed:not(.appt-bar--drop){outline-offset:0;outline:2px solid #16a34ac7;box-shadow:0 0 0 1px #4ade8061,inset 0 1px #ffffffbf,0 1px 1px #0f172a0f}.appt-bar--span.appt-bar--staffed:not(.appt-bar--drop){outline-offset:0}.appt-bar-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.appt-bar-assignees{flex-shrink:0;align-items:center;gap:2px;max-width:68px;display:flex;overflow:visible}.appt-bar-assignee-more{box-sizing:border-box;color:#fff;background:#475569e6;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 2px;font-size:9px;font-weight:800;line-height:1;display:flex}.appt-bar-day-override{color:var(--accent);flex-shrink:0;font-size:.72rem;line-height:1}.appt-bar-overnight-icon{flex:none;font-size:.66rem;line-height:1}.dispatcher-appointment-markers{align-items:center;gap:7px;display:inline-flex}.dispatcher-start-time{color:inherit;font:inherit;white-space:nowrap;font-weight:650}.appt-bar-initials{color:#fff;cursor:grab;touch-action:none;background:linear-gradient(135deg,#64748b,#475569);border:1px solid #ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-weight:700;line-height:1;display:flex;box-shadow:0 0 0 1px #0f172a14}.appt-bar-hint{color:#605e5c;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;font-size:10px;font-weight:600}.appt-bar-warn{color:#d83b01;flex-shrink:0;font-size:12px;line-height:1}.appt-bar-warn--external{color:#b45309;filter:drop-shadow(0 0 2px #ffffffe6)}.appt-popover-warning{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:4px;align-items:flex-start;gap:7px;margin-bottom:10px;padding:8px 9px;font-weight:700;display:flex}.appt-popover{font-family:var(--cal-ribbon-font);color:#323130;background:#fff;border:1px solid #c8c6c4;border-radius:4px;padding:14px 16px;font-size:13px;line-height:1.45;animation:.15s ease-out appt-popover-in;box-shadow:0 6px 22px #00000024,0 0 1px #00000014}@keyframes appt-popover-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.appt-popover-header{border-bottom:1px solid #edebe9;flex-direction:column;gap:6px;margin-bottom:12px;padding-bottom:10px;display:flex}.appt-popover-header strong{letter-spacing:-.01em;color:#242424;font-size:15px;font-weight:600}.appt-popover-range{letter-spacing:.02em;color:#0078d4;text-transform:uppercase;font-size:11px;font-weight:600}.appt-popover-body{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.appt-popover-row{grid-template-columns:88px 1fr;align-items:baseline;gap:10px;font-size:12px;display:grid}.appt-popover-label{color:#605e5c;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.appt-popover-value{color:#323130;font-weight:400}.appt-popover-staffbar{margin-top:2px;margin-bottom:0}.appt-popover-staff{flex-direction:column;gap:8px;display:flex}.appt-popover-staff-line{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.appt-popover-staff-line .appt-popover-label{text-transform:uppercase}.appt-popover-assignees{gap:5px;display:grid}.appt-popover-assignee{color:#323130;width:100%;min-width:0;font:inherit;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;align-items:center;gap:7px;padding:5px 7px;display:flex}.appt-popover-assignee--removable{cursor:pointer}.appt-popover-assignee--removable:hover{background:#f1f5f9;border-color:#cbd5e1}.appt-popover-assignee-name{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.appt-popover-assignees-empty{color:#64748b;padding:6px 1px;font-size:12px;font-style:italic}.employee-type-badge{border-radius:999px;flex:none;padding:2px 6px;font-size:9px;font-weight:800;line-height:1.35}.employee-type-badge--apprentice{color:#6d28d9;background:#ede9fe}.employee-type-badge--external{color:#92400e;background:#fef3c7}.appt-popover-edit{border-radius:4px;width:100%;margin-top:4px;font-weight:600}.appt-popover .btn-primary{background:#0078d4;border-color:#0078d4}.appt-popover .btn-primary:hover{background:#106ebe;border-color:#106ebe}.btn-sm{padding:5px 12px;font-size:.75rem}.appointment-card{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;min-height:76px;padding:8px 10px;font-size:.72rem;transition:box-shadow .15s,border-color .15s;box-shadow:0 1px 3px #0f172a0f}.appointment-card:hover{box-shadow:var(--shadow);border-color:#cbd5e1}.appointment-card.is-over{border-color:var(--accent);background:#3b82f61a}.appointment-card h3{margin:0 0 4px;font-size:.82rem;font-weight:700;line-height:1.25}.appointment-range-badge{color:var(--accent);margin-top:2px;font-size:.65rem;font-weight:600}.appointment-meta{color:var(--text-muted);margin:3px 0;font-size:.68rem}.staff-bar{background:#e2e8f0;border-radius:100px;height:5px;margin-top:8px;overflow:hidden}.staff-bar-fill{border-radius:100px;height:100%}.staff-bar-fill.ok{background:linear-gradient(90deg,#22c55e,#16a34a)}.staff-bar-fill.partial{background:linear-gradient(90deg,#eab308,#ca8a04)}.staff-bar-fill.conflict{background:linear-gradient(90deg,#f87171,#ef4444)}.staff-count{justify-content:space-between;align-items:center;gap:4px;margin-top:6px;display:flex}.avatars{flex-wrap:wrap;gap:3px;display:flex}.avatar-tiny{color:#fff;cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#94a3b8,#64748b);border:none;border-radius:50%;place-items:center;width:24px;height:24px;padding:1px 0 0;font-size:.65rem;font-weight:600;line-height:1;display:grid}.avatar-tiny:hover{transform:scale(1.05)}.employee-card .avatar.employee-avatar--apprentice,.avatar-tiny.employee-avatar--apprentice,.appt-bar-initials.employee-avatar--apprentice{color:#fff;background:linear-gradient(135deg,#a78bfa,#6d28d9);border-color:#ede9fee6;box-shadow:0 0 0 2px #7c3aed2e}.employee-card .avatar.employee-avatar--external,.avatar-tiny.employee-avatar--external,.appt-bar-initials.employee-avatar--external{color:#fff;background:linear-gradient(135deg,#fbbf24,#b45309);border-color:#fef3c7e6;box-shadow:0 0 0 2px #d9770629}.warn-icon{color:#ef4444;font-size:.9rem}.appointment-continuation{border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(90deg,#eef2ff,#f8fafc);border:1px solid #e0e7ff;align-items:stretch;gap:8px;padding:6px 8px;font-size:.68rem;transition:border-color .15s,background .15s;display:flex}.appointment-continuation:hover{background:#eef2ff;border-color:#c7d2fe}.appointment-continuation.is-over{border-color:var(--accent);background:#3b82f61f}.appointment-continuation-bar{background:var(--accent);border-radius:4px;flex-shrink:0;width:4px}.appointment-continuation.visual-partial .appointment-continuation-bar{background:#ca8a04}.appointment-continuation.visual-conflict .appointment-continuation-bar{background:#ef4444}.appointment-continuation.visual-ok .appointment-continuation-bar{background:#22c55e}.appointment-continuation-text{color:var(--text);flex:1;font-weight:600;line-height:1.35}.appointment-continuation-dates{color:var(--text-muted);font-weight:500}.app-footer{border-top:1px solid var(--border-light);min-height:44px;color:var(--text);background:#f8fafc;grid-column:1/-1;padding:12px 24px;font-size:.875rem}.app-footer-hint-text{color:var(--text-muted)}.app-message-toast{z-index:10000;border-radius:var(--radius-sm);border:1px solid var(--border-light);max-width:min(560px,100vw - 48px);padding:14px 20px;font-size:.9rem;line-height:1.4;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #0f172a2e}.app-message-toast--warn{color:#b91c1c;background:#fef2f2fa;border-color:#fecaca;font-weight:600}.app-message-toast--info{color:#1e40af;background:#eff6fffa;border-color:#bfdbfe;font-weight:500}.sidebar-unassign-zone{border-radius:var(--radius-sm);flex-direction:column;gap:16px;transition:outline .15s,background .15s;display:flex}.sidebar-unassign-zone--active{outline:2px dashed var(--accent);outline-offset:4px;background:#3b82f60f}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);border-radius:16px;padding:28px;overflow:auto}.modal h2{margin:0 0 20px;font-size:1.25rem;font-weight:700}.modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.modal-header h2{flex:1;min-width:0;margin:0;line-height:1.3}.modal-close-x{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-6px -8px 0 0;padding:0;font-size:1.5rem;line-height:1;display:flex}.modal-close-x:hover{background:var(--surface-muted);color:var(--text)}.modal-employee{max-width:560px}.employee-modal-fieldset{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#f8fafc;margin:18px 0;padding:14px 16px}.employee-modal-fieldset legend{padding:0 6px;font-size:.85rem;font-weight:700}.employee-modal-fieldset .form-hint{margin-bottom:12px}.employee-external-day-entry{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.employee-external-day-entry label{grid-column:1/-1;font-size:.85rem;font-weight:600}.employee-external-day-entry input{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);min-width:0;font:inherit;padding:8px 10px}.employee-external-day-list{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.employee-external-day-chip{border:1px solid var(--border-light);background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:5px 6px 5px 10px;font-size:.85rem;display:inline-flex}.employee-external-days-empty{margin:12px 0 0}.employee-link-warning{color:var(--text)}.employee-link-active-status{margin:0 0 12px;font-weight:600}.employee-link-print-card{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);text-align:center;justify-items:center;gap:10px;padding:18px;display:grid}.employee-link-print-card h3,.employee-link-print-card p{margin:0}.employee-link-print-name{font-weight:700}.employee-link-qr-code{width:220px;max-width:100%;height:220px;image-rendering:pixelated}.employee-link-print-hint{color:var(--text-muted);font-size:.82rem}.employee-link-value{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:9px 10px}.employee-link-status,.employee-link-error{margin:10px 0 0;font-size:.82rem}.employee-link-status{color:var(--text-muted)}.employee-link-error{color:#b91c1c}.employee-link-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.internal-board-link-warning{max-width:70ch;line-height:1.5}.internal-board-link-card{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:180px minmax(0,1fr);align-items:center;gap:18px;margin:14px 0;padding:16px;display:grid}.internal-board-link-card img{background:#fff;border-radius:10px;width:180px;height:180px;padding:8px}.internal-board-link-card input{width:100%;min-width:0}.internal-board-page{padding-top:14px;padding-bottom:24px}.internal-board-header{margin-bottom:10px;padding-top:8px;padding-bottom:12px}.internal-board-header h2{color:#dfffd1;overflow-wrap:anywhere;text-align:center;margin:0;font-size:clamp(1.35rem,4vw,2.3rem)}.internal-board-navigation{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:10px;display:flex}.internal-board-navigation button,.internal-board-navigation input{color:#f4fff1;min-height:38px;font:inherit;background:#022319b8;border:1px solid #a9ef8552;border-radius:12px;font-weight:800}.internal-board-navigation button{cursor:pointer;min-width:50px}.internal-board-navigation input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:0 12px}.internal-board-content{width:min(100%,1120px);margin:0 auto}.internal-board-grid{grid-template-columns:minmax(0,1fr);gap:7px;display:grid}.internal-board-columns,.internal-board-values{grid-template-columns:minmax(150px,1.1fr) minmax(90px,.45fr) minmax(250px,1.7fr) 230px;align-items:center;gap:12px;display:grid}.internal-board-columns{color:var(--employee-green);letter-spacing:.07em;text-transform:uppercase;padding:0 16px 5px 20px;font-size:.68rem;font-weight:800}.internal-board-item{padding:8px 14px 8px 18px}.internal-board-time-cell{justify-content:flex-end;justify-self:end;min-width:230px;display:flex}.internal-board-time-pill{overflow-wrap:normal;white-space:nowrap;word-break:normal;text-align:center;justify-self:end;min-width:104px;padding:3px 9px;font-size:.78rem;position:static;transform:none}.internal-board-marker-pills{width:100%}.internal-board-values{color:#f6fff3;font-size:.98rem;font-weight:650}.internal-board-values>div{overflow-wrap:anywhere;min-width:0}.internal-board-staff-count{font-size:1.08rem;font-weight:850}.internal-board-employee-chips{flex-wrap:wrap;gap:4px;display:flex}.internal-board-employee-chip{color:#e9ffd9;overflow-wrap:anywhere;background:#74b26d29;border:1px solid #a7ee8b2e;border-radius:999px;padding:3px 8px;font-size:.79rem;font-weight:750;line-height:1.15;display:inline-flex}.internal-board-employee-chip--empty{color:var(--employee-muted)}@media (orientation:landscape) and (width>=701px) and (width<=1200px){.internal-board-item{padding-block:6px}}@media (width<=700px){.internal-board-link-card,.internal-board-grid{grid-template-columns:1fr}.internal-board-link-card img{justify-self:center}.internal-board-navigation{justify-content:space-between}.internal-board-navigation input{width:100%;min-width:0}.internal-board-columns{display:none}.internal-board-values{grid-template-columns:minmax(0,1fr) auto;gap:5px}.internal-board-customer{grid-area:1/1}.internal-board-time-cell{grid-area:2/1/auto/-1;justify-content:flex-start;justify-self:stretch;min-width:0}.internal-board-staff-count{grid-area:3/1}.internal-board-employee-chips{grid-area:4/1/auto/-1}.internal-board-marker-pills{justify-content:flex-start}}@media print{body *{visibility:hidden}.employee-link-print-card,.employee-link-print-card *{visibility:visible}.employee-link-print-card{color:#000;width:100%;box-shadow:none;border:0;position:fixed;inset:0 auto auto 0}.employee-link-print-card .employee-link-value{color:#000;text-align:center;border:0}}.employee-range-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.employee-range-row input[type=date]{border:1px solid var(--border-light);border-radius:var(--radius-sm);min-width:132px;font:inherit;background:var(--surface);flex:1;padding:8px 10px}.employee-range-sep{color:var(--text-muted);flex-shrink:0;font-size:.8rem}.form-row{margin-bottom:14px}.form-row-dates{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.form-row-dates{grid-template-columns:1fr}}.form-hint{color:var(--text-muted);margin:-6px 0 14px;font-size:.78rem}.daily-staff-grid{overscroll-behavior:contain;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-muted);gap:7px;max-height:340px;padding:10px;display:grid;overflow-y:auto}.daily-staff-row{color:var(--text-muted);grid-template-columns:96px 76px minmax(0,1fr);align-items:start;gap:10px;font-size:.82rem;display:grid}.daily-staff-date{color:var(--text);padding-top:7px;font-weight:700}.daily-staff-row input{width:100%}.daily-staff-assignees{gap:6px;min-width:0;display:grid}.daily-staff-assignees select{width:100%}.daily-assignee-chips{margin-top:0}.daily-assignee-empty{color:var(--text-muted);font-size:.76rem;font-style:italic}.form-row label{color:var(--text-muted);margin-bottom:6px;font-size:.78rem;font-weight:600;display:block}.form-row input,.form-row select,.form-row textarea{border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;font:inherit;background:#f8fafc;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--accent);background:var(--surface);outline:none;box-shadow:0 0 0 3px #3b82f633}.form-row textarea{resize:vertical;min-height:72px}.modal-banner-error{border-radius:var(--radius-sm);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;margin:-8px 0 16px;padding:10px 12px;font-size:.875rem}.modal-backdrop-nested{z-index:1080}.modal-confirm{max-width:400px}.modal-confirm-title{margin:0 0 12px;font-size:1.1rem;font-weight:700}.modal-confirm-text{color:var(--text-muted);margin:0 0 18px;font-size:.9rem;line-height:1.45}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.modal-actions-column{flex-direction:column;align-items:stretch}.modal-actions-column .btn{justify-content:center;width:100%}.app-config-page{width:min(100%,960px);margin:0 auto;padding:22px}.app-config-page-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.app-config-page-head h2{color:var(--text);margin:0;font-size:1.35rem}.app-config-layout{gap:14px;display:grid}.app-config-section{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-muted);gap:10px;padding:12px;display:grid}.app-config-section h3{color:var(--text);margin:0;font-size:.95rem}.app-config-layout>.notification-outbox{border-radius:var(--radius-sm);background:var(--surface-muted);box-shadow:none}.app-config-layout .notification-outbox-item{background:var(--surface)}.app-config-actions,.appointment-field-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.app-config-actions .btn{justify-content:center}.app-config-checkbox{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);min-height:34px;color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:7px 9px;font-size:.84rem;font-weight:600;display:flex}.app-config-field{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);gap:6px;padding:7px 9px;font-size:.84rem;font-weight:600;display:grid}.app-config-field select{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--surface);min-height:34px;color:var(--text);font:inherit;padding:0 10px}.category-settings-list{gap:10px;display:grid}.category-settings-row{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:28px minmax(150px,1fr) 92px 80px;align-items:end;gap:10px;padding:10px;display:grid}.category-settings-swatch{border:1px solid var(--border-light);border-radius:999px;width:22px;height:22px;margin-bottom:9px;box-shadow:inset 0 1px #ffffff73}.category-settings-row label{min-width:0;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;gap:5px;margin:0;font-size:.72rem;font-weight:700;display:grid}.category-settings-row input{border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text);font:inherit;letter-spacing:0;text-transform:none;background:#f8fafc;padding:8px 9px;font-size:.86rem;font-weight:600}.category-settings-row input[type=color]{height:36px;padding:4px}@media (width<=640px){.category-settings-row{grid-template-columns:28px minmax(0,1fr)}.category-settings-row label{grid-column:2}}.series-move-backdrop{z-index:1100}.modal-series-move{max-width:420px}.modal-series-move h3{margin:0 0 12px;font-size:1.1rem}.series-move-text{color:var(--text-muted);margin:0 0 18px;font-size:.9rem;line-height:1.45}.blacklist-select{margin-bottom:10px}.tag-chip-list{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.tag-chip{color:var(--text);background:#e8eef7;border:1px solid #c5d4e8;border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:.8rem;font-weight:500;display:inline-flex}.tag-chip-remove{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:#0f172a14;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:flex}.tag-chip-remove:hover{color:#b91c1c;background:#ef444433}.form-fieldset-series{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#f8fafc;margin:0 0 14px;padding:14px 16px}.form-row-checkbox{cursor:pointer;align-items:center;gap:10px;margin:0;font-size:.9rem;font-weight:600;display:flex}.form-row-checkbox input{width:auto}.series-options{border-top:1px solid var(--border-light);margin-top:14px;padding-top:12px}.series-repeat-row,.series-end-row{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.series-repeat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.72rem;font-weight:700}.series-radio{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;font-weight:500;display:flex}.series-radio-block{width:100%}.series-radio input[type=radio]{flex-shrink:0;width:auto}.series-interval-input,.series-count-input{width:64px!important;padding:6px 8px!important}.series-until-input{min-width:140px;width:auto!important}.form-hint-inline{color:var(--text-muted);font-size:.72rem;font-weight:400}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--surface);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:2rem}.login-card-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.login-card h1{margin:0 0 .5rem;font-size:1.5rem}.login-mode-switch{gap:.75rem;margin:1rem 0 .75rem;display:flex}.login-mode-switch .btn{flex:1 1 0}.login-lead{color:var(--text-muted);margin:0 0 1.25rem;font-size:.95rem}.login-form .form-row{margin-bottom:1rem}.login-form label{margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.login-form input{border:1px solid var(--border-light);border-radius:var(--radius-sm);width:100%;font:inherit;padding:.5rem .65rem}.login-error{color:#b91c1c;border-radius:var(--radius-sm);background:#fef2f2;margin-bottom:1rem;padding:.65rem .75rem;font-size:.9rem}.login-submit{width:100%;margin-top:.5rem}.login-switch{width:100%;margin-top:1rem;font-size:.85rem}.admin-shell{background:var(--surface-muted);min-height:100vh;color:var(--text)}.admin-header{background:var(--header-bg);border-bottom:1px solid var(--border-light);z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 2rem;display:flex;position:sticky;top:0}.admin-header h1{margin:0 0 .3rem}.admin-header p{color:var(--text-muted);margin:0}.admin-header-actions{flex-wrap:wrap;gap:.75rem;display:flex}.admin-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:1.25rem;padding:1.5rem 2rem 2rem;display:grid}.admin-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.admin-card-wide{grid-column:1/-1}.admin-card h2,.tenant-card h3,.tenant-create-user h4{margin-top:0}.admin-sublist,.admin-tenants,.tenant-user-list{flex-direction:column;gap:.75rem;display:flex}.admin-list-row,.tenant-user-row,.tenant-user-edit,.tenant-card-head,.tenant-card-actions,.tenant-create-user{gap:.75rem;display:flex}.admin-list-row,.tenant-user-row,.tenant-card{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface-subtle)}.admin-list-row,.tenant-user-row{justify-content:space-between;align-items:center;padding:.85rem 1rem}.tenant-card{flex-direction:column;padding:1rem}.tenant-card-head{justify-content:space-between;align-items:flex-start}.tenant-card-head p{color:var(--text-muted);word-break:break-all;margin:.2rem 0}.tenant-card-actions{flex-wrap:wrap;justify-content:flex-end}.tenant-user-edit,.tenant-create-user{flex-wrap:wrap;align-items:center}.tenant-user-edit input,.tenant-user-edit select,.tenant-create-user input,.tenant-create-user select,.tenant-card-head input,.admin-card input,.admin-card select{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:.55rem .7rem}.tenant-create-user{border-top:1px solid var(--border-light);padding-top:.75rem}@media (width<=960px){.admin-grid{grid-template-columns:1fr;padding:1rem}.admin-header{flex-direction:column;padding:1rem}.tenant-card-head,.tenant-user-row{flex-direction:column;align-items:stretch}.tenant-card-actions{justify-content:flex-start}}.calendar-week-bar-span,.calendar-week-bar-span .appt-hover-wrap{height:100%}.appt-bar--span{box-sizing:border-box;height:100%;box-shadow:none!important;background:0 0!important;border:0!important;align-items:stretch!important;padding:0!important;display:flex!important}.appt-bar-segments-container{align-items:stretch;width:100%;height:100%;display:flex}.appt-bar-segment{box-sizing:border-box;border:1px solid var(--cal-ribbon-border);background:linear-gradient(180deg, var(--cal-ribbon-bg-top) 0%, var(--cal-ribbon-bg) 100%);min-width:0;height:100%;color:var(--cal-ribbon-text);border-radius:3px;flex:1;justify-content:space-between;align-items:center;padding:0 8px;display:flex;position:relative;box-shadow:inset 0 1px #ffffffbf,0 1px 1px #0f172a0f}.appt-bar-segment--first{border-left-width:3px}.appt-bar--kat-vorgetrage .appt-bar-segment{background:linear-gradient(180deg, var(--appt-category-bg-top,#fff7ed), var(--appt-category-bg,#ffedd5));border-color:var(--appt-category-border,#fdba74);border-left-color:var(--appt-category-accent,#ea580c);color:var(--appt-category-text,#7c2d12)}.appt-bar--kat-geblockt .appt-bar-segment{background:linear-gradient(180deg, var(--appt-category-bg-top,#fdf2f8), var(--appt-category-bg,#fce7f3));border-color:var(--appt-category-border,#f9a8d4);border-left-color:var(--appt-category-accent,#db2777);color:var(--appt-category-text,#831843)}.appt-bar--kat-hessen .appt-bar-segment{background:linear-gradient(180deg, var(--appt-category-bg-top,#f5f3ff), var(--appt-category-bg,#ede9fe));border-color:var(--appt-category-border,#c4b5fd);border-left-color:var(--appt-category-accent,#7c3aed);color:var(--appt-category-text,#4c1d95)}.appt-bar--kat-sud .appt-bar-segment{background:linear-gradient(180deg, var(--appt-category-bg-top,#f0fdf4), var(--appt-category-bg,#dcfce7));border-color:var(--appt-category-border,#86efac);border-left-color:var(--appt-category-accent,#16a34a);color:var(--appt-category-text,#14532d)}.appt-bar-segment-handle{cursor:grab;flex:1;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.appt-bar-segment-handle:active{cursor:grabbing}.appt-bar-segment--drop{background:#0078d42e!important;box-shadow:inset 0 0 0 2px #0078d4!important}.appt-bar-segment--understaffed{box-shadow:inset 0 -2px #dc2626b3}.appt-bar-segment--staffed{box-shadow:inset 0 -2px #16a34a99}
