:root{--ink:#153f35;--ink-2:#24594c;--sage:#dce9e1;--cream:#f7f4ed;--paper:#fff;--gold:#d3a65e;--rose:#b85f62;--muted:#66736f;--line:#dfe5e1;--shadow:0 12px 34px rgba(21,63,53,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fbfaf6,var(--cream));font-size:16px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--ink-2)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.35rem);line-height:1.05;letter-spacing:-.03em;margin-bottom:.65rem}h2{font-size:1.15rem;margin-bottom:1rem}h3{font-size:1rem}.muted{color:var(--muted)}.small{font-size:.82rem}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--gold);margin-bottom:.55rem}.skip-link{position:fixed;top:-100px;left:1rem;z-index:99;background:#fff;padding:.7rem}.skip-link:focus{top:1rem}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(1rem,calc((100vw - 1180px)/2));background:rgba(255,255,255,.9);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none}.brand span{display:grid;line-height:1.05}.brand b{font-family:Georgia,serif;font-size:1.15rem}.brand small{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:.5rem}.icon-button{width:44px;height:44px;border:0;border-radius:50%;background:var(--cream);font-size:1.35rem;cursor:pointer}.content{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 7rem;outline:0}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.6rem}.page-head p:last-child{color:var(--muted);max-width:650px;margin-bottom:0}.button{min-height:46px;border-radius:12px;padding:.7rem 1rem;border:1px solid transparent;text-decoration:none;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer}.button:disabled{opacity:.55;cursor:not-allowed}.button.primary{background:var(--ink);color:#fff}.button.secondary{background:#fff;border-color:var(--ink);color:var(--ink)}.button.ghost{background:transparent;border-color:var(--line)}.button.light{background:#fff;color:var(--ink)}.button.danger{background:var(--rose);color:#fff}.button.full{width:100%;margin-top:.8rem}.button.compact{min-height:38px;padding:.45rem .8rem;font-size:.85rem}.hero-balance{background:linear-gradient(120deg,var(--ink),#2c6254);color:white;border-radius:24px;padding:clamp(1.3rem,4vw,2.3rem);display:flex;justify-content:space-between;align-items:flex-end;box-shadow:var(--shadow);margin-bottom:1rem;position:relative;overflow:hidden}.hero-balance:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-60px;top:-120px}.hero-balance p{opacity:.8;margin-bottom:.2rem}.hero-balance strong{font-family:Georgia,serif;font-size:clamp(3rem,10vw,5.2rem);line-height:1}.hero-balance strong span{font-size:1.2rem;font-family:inherit}.hero-balance small{display:block;opacity:.7;margin-top:.5rem}.balance-card,.panel,.form-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.2rem;box-shadow:0 4px 18px rgba(21,63,53,.035);margin-bottom:1rem}.segment-bar{height:16px;background:#edf0ed;border-radius:99px;display:flex;overflow:hidden}.segment-bar span{min-width:0}.used,.dot.used{background:var(--ink)}.pending,.dot.pending{background:var(--gold)}.available,.dot.available{background:#91b7a2}.legend{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1rem;font-size:.88rem}.legend span{display:flex;align-items:center;gap:.4rem}.legend b{margin-left:.15rem}.dot{width:10px;height:10px;border-radius:50%}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.metrics.compact{grid-template-columns:repeat(4,1fr);margin:1rem 0}.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;min-width:0}.metric-card p{color:var(--muted);font-size:.82rem;margin-bottom:.45rem}.metric-card strong{font-family:Georgia,serif;font-size:1.5rem;display:block}.metric-card small{display:block;color:var(--muted);margin-top:.2rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:1rem}.list-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row p{color:var(--muted);font-size:.85rem;margin:.15rem 0 0}.list-row time{font-size:.78rem;color:var(--muted);white-space:nowrap}.row-actions{display:grid;justify-items:end;gap:.35rem}.badge{display:inline-flex;padding:.28rem .55rem;border-radius:99px;background:#edf0ed;color:#46514e;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.badge.approved{background:#dcece2;color:#276341}.badge.submitted,.badge.angefragt,.badge.under_review{background:#fff0d4;color:#765416}.badge.rejected,.badge.cancelled{background:#f8dede;color:#8c3639}.badge.cancellation_requested,.badge.question{background:#e3e4f5;color:#484b87}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.person{display:flex;align-items:center;gap:.7rem;padding:.8rem;background:var(--cream);border-radius:14px}.avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--sage);font-weight:800}.person p{font-size:.8rem;color:var(--muted);margin:0}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem}.status-dot.online{background:#4d9d69}.status-dot.away{background:var(--gold)}.form-card{max-width:780px;margin-inline:auto;padding:clamp(1rem,4vw,2rem)}label{display:grid;gap:.4rem;font-size:.88rem;font-weight:700;margin-bottom:1rem}input,textarea,select{width:100%;min-height:48px;background:#fff;border:1px solid #bdc8c3;border-radius:10px;padding:.7rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}fieldset{border:0;padding:0;margin:0 0 1rem}legend{font-weight:700;font-size:.88rem;margin-bottom:.5rem}.choice-row{display:flex;gap:.5rem}.choice-row label{display:flex;align-items:center;gap:.4rem;background:var(--cream);border:1px solid var(--line);padding:.7rem;border-radius:10px;margin:0}.choice-row input,.check input{width:18px;min-height:18px}.form-actions,.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.steps{display:flex;gap:.5rem;margin-bottom:1.4rem;color:var(--muted);font-size:.8rem}.steps span{background:var(--cream);padding:.4rem .65rem;border-radius:99px}.steps .active{background:var(--ink);color:#fff}.preview-box{background:#f1f6f2;border-left:4px solid var(--ink-2);padding:1rem;border-radius:10px;margin:1rem 0}.preview-box details p{margin:.3rem 0;font-size:.85rem}.success-text{color:#276341;font-weight:700}.warning-text{color:#80581b;font-weight:700}.positive{color:#287044}.negative{color:#a33b40}.text-button{border:0;background:none;text-decoration:underline;cursor:pointer;font-size:.8rem;padding:.2rem}.danger-text{color:var(--rose)}.approval{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}blockquote{border-left:3px solid var(--gold);padding-left:.8rem;color:var(--muted);margin-left:0}hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.offline{background:#8b3b3f;color:#fff;text-align:center;padding:.55rem;position:sticky;top:72px;z-index:19;font-size:.85rem}.toast{position:fixed;z-index:100;left:50%;bottom:100px;transform:translateX(-50%);background:#172d27;color:#fff;padding:.8rem 1rem;border-radius:12px;box-shadow:var(--shadow);width:max-content;max-width:calc(100% - 2rem)}dialog{border:0;border-radius:18px;padding:1.4rem;max-width:420px;color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(10,30,25,.5)}.loading,.empty{padding:4rem 1rem;text-align:center;color:var(--muted)}.bottom-nav{display:none}.login-page{display:grid;place-items:center;padding:1rem;background:var(--ink)}.login-shell{width:min(960px,100%);min-height:600px;background:#fff;display:grid;grid-template-columns:1fr 1fr;border-radius:28px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.25)}.brand-panel{background:linear-gradient(145deg,var(--ink),#326b5b);color:#fff;padding:clamp(2rem,6vw,4rem);display:flex;flex-direction:column;justify-content:center}.brand-panel img{margin-bottom:2rem}.brand-panel h1{font-size:3.5rem}.brand-panel>p:last-child{opacity:.75}.login-card{padding:clamp(2rem,6vw,4rem);align-self:center}.login-card h2{font-family:Georgia,serif;font-size:2.3rem;margin-bottom:.5rem}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;font-weight:500}.form-message{color:var(--rose);min-height:1.5rem;font-size:.88rem;margin-top:.5rem}
@media(max-width:800px){.content{width:min(100% - 1.25rem,680px);padding-top:1.25rem}.topbar{height:64px;padding:0 .8rem}.topbar .ghost{display:none}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:2.2rem}.hero-balance{align-items:flex-start;flex-direction:column;gap:1.2rem;border-radius:18px}.hero-balance .button{width:100%;z-index:1}.metrics,.metrics.compact{grid-template-columns:1fr 1fr;gap:.6rem}.split{grid-template-columns:1fr}.people-grid{grid-template-columns:1fr 1fr}.approval{grid-template-columns:1fr;gap:.7rem}.bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;z-index:30;background:rgba(255,255,255,.96);border-top:1px solid var(--line);padding:.4rem max(.2rem,env(safe-area-inset-right)) max(.4rem,env(safe-area-inset-bottom)) max(.2rem,env(safe-area-inset-left));backdrop-filter:blur(12px)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:54px;text-decoration:none;color:var(--muted);font-size:.65rem;font-weight:750}.bottom-nav a span{font-size:1.2rem}.bottom-nav a.active{color:var(--ink)}.bottom-nav .main-action span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;margin-top:-18px;box-shadow:0 5px 14px rgba(21,63,53,.25)}.login-shell{grid-template-columns:1fr;min-height:0}.brand-panel{padding:1.7rem}.brand-panel img{width:52px;height:52px;margin-bottom:.7rem}.brand-panel h1{font-size:2.2rem;margin-bottom:.4rem}.login-card{padding:1.5rem}.offline{top:64px}}
@media(max-width:520px){.form-grid{grid-template-columns:1fr;gap:0}.choice-row{display:grid;grid-template-columns:1fr}.people-grid{grid-template-columns:1fr}.legend{display:grid;grid-template-columns:1fr 1fr}.list-row{align-items:flex-start}.form-actions .button{flex:1 1 100%}.panel,.balance-card{border-radius:14px;padding:1rem}.metric-card strong{font-size:1.2rem}.steps{overflow:hidden}.steps span{padding:.35rem .45rem;font-size:.7rem}.brand span{display:none}}
.password-reset{margin:1rem 0}.password-reset summary{cursor:pointer;font-weight:750}.password-reset form{padding-top:1rem}.icon-link{display:grid;place-items:center;text-decoration:none;font-size:.85rem;color:var(--gold)}[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.install-top-button{min-height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:.45rem .75rem;display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.82rem;cursor:pointer}.install-top-button>span{font-size:1.2rem;line-height:1}.install-login-card{display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:#f1f6f2;border:1px solid #cbded2;border-radius:14px;padding:.8rem;margin-bottom:1rem}.install-login-card div{display:grid;gap:.1rem}.install-login-card small{color:var(--muted);font-size:.76rem}.install-guide-dialog{width:min(540px,calc(100% - 1rem));max-width:540px;padding:1.2rem}.install-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.install-dialog-head h2{font-family:Georgia,serif;font-size:1.6rem;margin-bottom:.4rem}.install-steps{list-style:none;padding:0;counter-reset:install-step;display:grid;gap:.65rem;margin:1rem 0}.install-steps li{counter-increment:install-step;display:grid;grid-template-columns:36px 1fr;column-gap:.7rem;align-items:center;background:var(--cream);border-radius:12px;padding:.7rem}.install-steps li:before{content:counter(install-step);grid-row:1/3;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:800}.install-steps span{grid-column:2;color:var(--muted);font-size:.82rem}.install-notice{background:#fff4d9;border-left:4px solid var(--gold);padding:.8rem;border-radius:8px;font-size:.84rem}.install-notice b{display:block}.install-guide-dialog .button.full{margin-top:.7rem}
@media(max-width:800px){.install-top-button{width:42px;height:42px;padding:0;justify-content:center;border-radius:50%}.install-top-button b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.install-login-card{align-items:stretch;flex-direction:column}.install-login-card .button{width:100%}}
.metric-card strong{overflow-wrap:anywhere}.list-row>div{min-width:0}.list-row b,.list-row p{overflow-wrap:anywhere}
.employee-card{border-bottom:1px solid var(--line);padding:.8rem 0}.employee-card summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;min-height:48px}.employee-card summary span:first-child{display:grid;min-width:0}.employee-card summary small{color:var(--muted);font-weight:500}.employee-card form{padding:1rem 0}.schedule-grid{display:grid;gap:.35rem;margin:1rem 0}.schedule-row{display:grid;grid-template-columns:minmax(190px,1fr) 140px 140px;gap:.6rem;align-items:center;padding:.35rem .5rem;border-radius:10px;background:var(--cream)}.schedule-row input{min-height:42px}.schedule-row input[type=hidden]{display:none}@media(max-width:600px){.schedule-row{grid-template-columns:1fr 1fr}.schedule-row span{grid-column:1/-1}.employee-card summary{align-items:flex-start}}

/* Klare Bereichs- und Formularhierarchie */
[hidden]{display:none!important}.app-shell{width:min(1480px,calc(100% - 2rem));margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:1.5rem;align-items:start}.content{width:100%;margin:0;padding:2rem 0 7rem}.side-nav{position:sticky;top:88px;max-height:calc(100vh - 104px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:.7rem;box-shadow:0 4px 18px rgba(21,63,53,.04)}.side-nav-title,.side-nav-section>p{margin:.35rem .55rem .5rem;color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.side-nav-section{border-top:1px solid var(--line);margin-top:.55rem;padding-top:.55rem}.side-nav a{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:.55rem;padding:.65rem .55rem;border-radius:12px;text-decoration:none;color:var(--ink);margin:.1rem 0}.side-nav a>span:first-child{width:34px;height:34px;display:grid;place-items:center;background:var(--cream);border-radius:10px;font-size:1.05rem}.side-nav a>span:last-child{display:grid;min-width:0}.side-nav a b{font-size:.88rem}.side-nav a small{font-size:.68rem;color:var(--muted);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav a:hover{background:#f4f7f4}.side-nav a.active{background:var(--sage);box-shadow:inset 4px 0 0 var(--ink)}.side-nav a.active>span:first-child{background:#fff}.page-context-nav{display:flex;align-items:center;gap:.45rem;margin:0 0 1rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}.page-context-nav a,.back-link{border:0;background:transparent;color:var(--ink-2);font-size:.86rem;font-weight:800;text-decoration:none;padding:.45rem .65rem;border-radius:9px;cursor:pointer}.page-context-nav a:hover,.back-link:hover{background:var(--sage)}.page-context-nav a{border-left:1px solid var(--line);border-radius:0 9px 9px 0}.panel>h2:first-child,.panel>.panel-title:first-child,.section-heading{padding-bottom:.75rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.section-heading h2{margin-bottom:.2rem}.section-heading p{margin:0;color:var(--muted);font-size:.88rem}fieldset{border:1px solid var(--line);padding:1rem;border-radius:14px;background:#fbfcfa;margin:0 0 1rem}legend{padding:0 .4rem;font-size:.9rem;color:var(--ink)}details{border:1px solid var(--line);border-radius:12px;padding:.75rem;margin:.75rem 0;background:#fbfcfa}details summary{cursor:pointer;font-weight:750}

/* Arbeitsplan: Woche > Tag > Zeitblock */
.schedule-grid{display:grid;gap:1.4rem;margin:1.2rem 0}.schedule-week{border:2px solid var(--line);border-radius:18px;padding:1rem;background:#f8fbf9}.schedule-week.week-a{border-color:#9dbdac;background:#f2f8f4}.schedule-week.week-b{border-color:#d6b77e;background:#fcf7ed}.schedule-week.week-c{border-color:#9aaad0;background:#f2f5fb}.schedule-week.week-d{border-color:#c2a0c9;background:#faf3fb}.schedule-week-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:.15rem .25rem 1rem;border-bottom:2px solid currentColor}.schedule-week.week-a .schedule-week-head{color:var(--ink-2)}.schedule-week.week-b .schedule-week-head{color:#795b28}.schedule-week.week-c .schedule-week-head{color:#405786}.schedule-week.week-d .schedule-week-head{color:#724977}.schedule-week-head h2{font-family:Georgia,serif;font-size:1.65rem;margin:0}.schedule-week-head .eyebrow{margin-bottom:.25rem}.schedule-week-head>p{margin:0;font-size:.82rem;font-weight:700;color:inherit}.copy-week-control{display:flex;align-items:end;gap:.45rem}.copy-week-control label{margin:0;font-size:.72rem}.copy-week-control select{min-height:38px;padding:.35rem 2rem .35rem .55rem}.schedule-days{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}.schedule-day{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 3px 12px rgba(21,63,53,.035)}.schedule-day>header{display:flex;align-items:center;gap:.6rem;padding:.65rem .8rem;background:#eef3ef;border-bottom:1px solid var(--line)}.week-b .schedule-day>header{background:#f6eddd}.week-c .schedule-day>header{background:#e9eef8}.week-d .schedule-day>header{background:#f3e8f5}.schedule-day>header span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:.75rem;font-weight:850}.week-b .schedule-day>header span{background:#8a682f}.week-c .schedule-day>header span{background:#405786}.week-d .schedule-day>header span{background:#724977}.schedule-day h3{margin:0;font-size:1rem}.schedule-day-blocks{padding:.7rem;display:grid;gap:.55rem}.schedule-block{display:grid;grid-template-columns:minmax(76px,.7fr) 1fr 1fr;gap:.55rem;align-items:end;padding:.65rem;border:1px solid var(--line);border-radius:11px;background:#fbfcfa}.schedule-block strong{align-self:center;font-size:.78rem}.schedule-block label{margin:0;font-size:.72rem;color:var(--muted)}.schedule-block input{min-height:42px;padding:.5rem;color:var(--ink)}

@media(max-width:1050px){.app-shell{grid-template-columns:220px minmax(0,1fr);gap:1rem}.side-nav a{grid-template-columns:30px minmax(0,1fr);padding:.58rem .45rem}.side-nav a>span:first-child{width:30px;height:30px}.schedule-days{grid-template-columns:1fr}}
@media(min-width:701px) and (max-width:800px){.bottom-nav{display:none}.app-shell{width:min(100% - 1.25rem,980px)}.content{width:100%;padding-top:1.25rem}.topbar .ghost{display:inline-flex}}
@media(max-width:700px){.app-shell{display:block;width:100%}.side-nav{display:none}.content{width:min(100% - 1.25rem,680px);margin:0 auto}.schedule-week{padding:.75rem}.schedule-week-head{align-items:flex-start;flex-direction:column;gap:.25rem}.schedule-days{grid-template-columns:1fr}.schedule-block{grid-template-columns:70px 1fr 1fr;gap:.4rem}.page-context-nav{position:sticky;top:64px;z-index:10;background:rgba(247,244,237,.96);padding-top:.45rem}.section-heading{display:block}}
@media(max-width:430px){.schedule-block{grid-template-columns:1fr 1fr}.schedule-block strong{grid-column:1/-1}.schedule-day-blocks{padding:.55rem}}

/* Inhaberübersicht und geführte Mitarbeiteranlage */
.owner-summary{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.team-status-row .badge{min-width:90px;justify-content:center}.owner-numbers{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem}.owner-numbers>div{display:grid;gap:.2rem;padding:1rem;background:var(--cream);border-radius:12px}.owner-numbers strong{font-family:Georgia,serif;font-size:2rem}.owner-numbers span{color:var(--muted);font-size:.8rem}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.onboarding-panel{padding:clamp(1rem,3vw,1.6rem)}.onboarding-panel .schedule-week-head h3{font-family:Georgia,serif;font-size:1.55rem;margin:0}.entitlement-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin:1rem 0}.entitlement-preview>div,.entitlement-preview>label{display:grid;align-content:center;gap:.25rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem;margin:0}.entitlement-preview span{color:var(--muted);font-size:.75rem}.entitlement-preview strong{font-family:Georgia,serif;font-size:1.3rem}.entitlement-preview .statutory{background:#edf7f0;border-color:#9dbdac}.entitlement-preview .total{background:var(--ink);color:#fff}.entitlement-preview .total span{color:#dce9e1}.entitlement-preview .total strong{font-size:1.55rem}.calculation-note{background:#f1f6f2;border-left:4px solid var(--ink);padding:.8rem 1rem;border-radius:8px;font-size:.85rem}.confirmation-check{padding:.85rem;background:#fff;border:1px solid var(--line);border-radius:12px}.entitlement-inline{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:.6rem;align-items:center;padding:.8rem;margin-bottom:1rem;background:#f1f6f2;border-radius:12px}.entitlement-inline>div{display:grid}.entitlement-inline span{font-size:.72rem;color:var(--muted)}.entitlement-inline a{font-size:.82rem;font-weight:750}.rollover-person{padding:.7rem 0;border-bottom:1px solid var(--line)}.rollover-person p{margin:.2rem 0 0}
@media(max-width:1050px){.entitlement-preview{grid-template-columns:repeat(3,1fr)}.owner-summary{grid-template-columns:1fr}}
@media(max-width:700px){.entitlement-preview{grid-template-columns:1fr 1fr}.entitlement-preview .total{grid-column:1/-1}.entitlement-inline{grid-template-columns:1fr 1fr}.entitlement-inline a{grid-column:1/-1}.owner-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.entitlement-preview{grid-template-columns:1fr}.entitlement-preview .total{grid-column:auto}.quick-grid,.owner-numbers{grid-template-columns:1fr}}
.entitlement-inline{grid-template-columns:.8fr 1fr .8fr minmax(190px,1.2fr)}.entitlement-inline label{margin:0}.entitlement-actions{gap:.4rem}
@media(max-width:700px){.entitlement-inline{grid-template-columns:1fr 1fr}.entitlement-actions{grid-column:1/-1}}
.conflict-box{background:#fff3dc;border:1px solid #e7c988;border-radius:10px;padding:1rem;margin:1rem 0}.conflict-box h3{color:#755018}.conflict-box p:last-child{margin-bottom:0}.message{border-left:3px solid var(--sage);padding:.75rem 1rem;margin:.75rem 0;background:var(--cream);border-radius:0 10px 10px 0}.message time{display:block;color:var(--muted);font-size:.75rem}.message p{margin:.35rem 0 0}.calendar-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-weekdays{text-align:center;margin-bottom:.4rem;color:var(--muted);font-size:.75rem}.calendar-day{min-height:118px;border:1px solid var(--line);border-radius:10px;padding:.45rem;background:#fff;overflow:hidden}.calendar-day.today{outline:2px solid var(--gold);outline-offset:-2px}.calendar-day>b{display:block;margin-bottom:.35rem}.calendar-entry{display:block;border-radius:5px;padding:.2rem .3rem;margin:.2rem 0;background:#edf0ed;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-entry.leave_approved{background:#dcece2;color:#276341}.calendar-entry.leave_open,.calendar-entry.leave_wish{background:#fff0d4;color:#765416}.calendar-entry.absent{background:#e3e4f5;color:#484b87}.calendar-entry.holiday,.calendar-entry.special_day{background:#f8dede;color:#8c3639}.empty-day{background:var(--cream);border-style:dashed}.mobile-calendar-list{display:none}
@media(max-width:800px){.calendar-actions{width:100%;justify-content:space-between}.calendar-actions .button{padding:.55rem .7rem}.calendar-panel{display:none}.mobile-calendar-list{display:block}}
.list-row.unread{background:#f1f6f2;border-left:4px solid var(--gold);padding-inline:.75rem;border-radius:8px}
.notification-bell{position:relative;text-decoration:none;font-size:1.15rem}.notification-bell.has-unread{background:#fff4df;color:var(--ink)}.notification-count{position:absolute;top:-5px;right:-6px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--rose);color:#fff;border:2px solid #fff;font-size:.65rem;line-height:1}.historical-leave-panel{border-top:5px solid var(--gold)}.historical-leave-panel>.section-heading .badge{align-self:center}.historical-leave-panel form>fieldset{background:#fffaf0;border-color:#ead7b5}
.view-switch{justify-content:flex-start;margin-top:1rem}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.week-day{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:.8rem;min-width:0}.week-day h2{font-size:.85rem}.week-day p{font-size:.75rem;overflow-wrap:anywhere}
@media(max-width:1000px){.week-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.week-grid{grid-template-columns:1fr}}
@media(max-width:520px){.list-row{flex-wrap:wrap}.list-row .row-actions{width:100%;justify-items:start}.list-row .row-actions>*{max-width:100%}}

/* Jahres- und Teamkalender */
.calendar-tabs{gap:.35rem}.calendar-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem}.calendar-toolbar label,.employee-year-picker label{margin:0;min-width:220px}.calendar-toolbar select,.employee-year-picker select{min-height:42px}.calendar-legend{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.legend-key{width:24px;height:24px;border-radius:5px;display:inline-grid;place-items:center;font-size:.68rem;font-weight:900;border:1px solid var(--line);color:var(--ink)}.legend-key.leave_approved,.timeline-cell.leave_approved,.year-cell.leave_approved{background:#318452;color:#fff;border-color:#318452}.legend-key.leave_open,.timeline-cell.leave_open,.year-cell.leave_open{background:#f3c66f;color:#5f4514;border-color:#d7a844}.legend-key.leave_wish,.timeline-cell.leave_wish,.year-cell.leave_wish{background:#ead9a6;color:#614d15;border:1px dashed #9b7c27}.legend-key.absent,.timeline-cell.absent,.year-cell.absent{background:#777d9e;color:#fff;border-color:#777d9e}.legend-key.holiday,.timeline-cell.holiday:not(.leave_approved):not(.leave_open):not(.leave_wish):not(.absent),.year-cell.holiday{background:#f6caca;color:#873d40;border-color:#eba9ab}.legend-key.day-off,.year-cell.day-off:not(.leave_approved):not(.leave_open):not(.leave_wish):not(.absent):not(.holiday){background:#d9dddb;border-color:#ccd2cf}.timeline-panel,.year-calendar-panel{padding:.8rem;overflow:hidden}.timeline-scroll,.year-scroll{overflow:auto;overscroll-behavior-inline:contain;scrollbar-color:var(--ink-2) var(--cream);padding-bottom:.45rem}.timeline-grid{display:grid;grid-template-columns:190px repeat(42,32px);width:max-content;border:1px solid var(--line);border-radius:12px;overflow:clip;background:#fff}.timeline-corner,.timeline-person{position:sticky;left:0;z-index:4;background:#f4f7f4;border-right:2px solid #bac8c1}.timeline-corner{z-index:6;padding:.6rem .7rem;font-size:.76rem;font-weight:850;display:flex;align-items:end}.timeline-day-head{height:60px;display:grid;place-items:center;border-right:1px solid var(--line);font-size:.66rem;line-height:1.05;background:#fff}.timeline-day-head b{text-transform:uppercase;color:var(--muted)}.timeline-day-head span{font-size:.78rem;font-weight:850}.timeline-day-head small{height:10px;font-size:.58rem}.timeline-day-head.weekend,.timeline-cell.weekend:not(.leave_approved):not(.leave_open):not(.leave_wish):not(.absent){background:#ecefed}.timeline-day-head.today,.timeline-cell.today,.year-cell.today{box-shadow:inset 0 0 0 2px var(--gold)}.timeline-month-band{grid-column:1/-1;padding:.35rem .7rem;background:var(--ink);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.04em}.timeline-row{display:contents}.timeline-person{height:42px;padding:.35rem .6rem;display:flex;align-items:center;gap:.45rem;border-bottom:1px solid var(--line);font-size:.76rem}.timeline-person b{max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.small-avatar{width:28px;height:28px;font-size:.65rem;flex:0 0 28px}.timeline-cell{height:42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;place-items:center;font-size:.66rem;font-weight:900;transition:opacity .15s}.timeline-cell.filtered-out{background:#f7f8f7!important;color:transparent!important;opacity:.35}.timeline-cell:focus-visible,.year-cell:focus-visible{outline:2px solid var(--gold)}
.calendar-period-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.45rem 1rem;margin:0 0 .8rem;padding:.7rem .9rem;border:1px solid #c9d8d1;border-left:5px solid var(--ink-2);border-radius:10px;background:#f1f6f3;color:var(--ink)}.calendar-period-banner span{font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.calendar-period-banner strong{font-size:1rem}.calendar-period-banner small{font-size:.78rem;font-weight:850;color:var(--ink-2);white-space:nowrap}
.employee-year-picker{display:flex;justify-content:flex-end}.year-balance{margin-top:0}.year-grid{display:grid;grid-template-columns:110px repeat(31,27px);width:max-content;border:1px solid var(--line);border-radius:12px;overflow:clip;background:#fff}.year-corner,.year-month{position:sticky;left:0;z-index:4;background:#f4f7f4;border-right:2px solid #bac8c1}.year-corner{z-index:6;padding:.5rem .65rem;font-size:.72rem}.year-day-head{height:35px;display:grid;place-items:center;border-right:1px solid var(--line);font-size:.64rem;color:var(--muted)}.year-row{display:contents}.year-month{height:31px;padding:.38rem .6rem;border-bottom:1px solid var(--line);font-size:.72rem;text-transform:capitalize}.year-cell{height:31px;display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.62rem;font-weight:900}.year-cell.outside{background:#f7f7f5}.year-cell.weekend:not(.leave_approved):not(.leave_open):not(.leave_wish):not(.absent):not(.holiday){background:#eff1f0}.mobile-scroll-hint{display:none;color:var(--muted);font-size:.75rem;margin:.7rem 0}
.calendar-navigation{display:grid;gap:.55rem}.calendar-export-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.calendar-export-actions .button{border-color:#b68a35;background:#fffaf0;color:var(--ink)}.calendar-export-actions .button:hover{background:#f8ecd3}
@media(max-width:800px){.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-toolbar label{width:100%}.calendar-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.calendar-tabs .button{width:100%;white-space:nowrap}.timeline-panel,.year-calendar-panel{margin-inline:-.25rem;padding:.55rem}.timeline-grid{grid-template-columns:145px repeat(42,38px)}.timeline-person b{max-width:88px}.year-grid{grid-template-columns:88px repeat(31,32px)}.mobile-scroll-hint{display:block}.employee-year-picker{display:block}.employee-year-picker label{width:100%}}
@media(max-width:800px){.calendar-period-banner{grid-template-columns:1fr;gap:.2rem;padding:.65rem .75rem}.calendar-period-banner small{white-space:normal}}
@media(max-width:430px){.calendar-tabs{grid-template-columns:1fr}.timeline-grid{grid-template-columns:132px repeat(42,40px)}.timeline-corner,.timeline-person{position:sticky}.year-balance{grid-template-columns:1fr 1fr}}

/* Leicht verständliche Kontexthilfe */
.has-info{position:relative;padding-right:34px}.heading-with-info{position:relative;display:flex;align-items:center;gap:.45rem;padding-right:0}.info-button{width:24px;height:24px;min-width:24px;border:1px solid #8da79c;border-radius:50%;background:#fff;color:var(--ink);font:800 .78rem Georgia,serif;display:inline-grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 2px 7px rgba(21,63,53,.08);z-index:13}.has-info>.info-button{position:absolute;right:2px;top:0}.info-button:hover,.info-button:focus-visible,.info-button[aria-expanded="true"]{background:var(--ink);color:#fff;outline:none}.info-tip{position:absolute;z-index:12;right:0;top:30px;width:min(310px,calc(100vw - 2rem));padding:.75rem .85rem;border-radius:10px;background:#173b32;color:#fff;font-size:.78rem;font-weight:500;line-height:1.45;box-shadow:0 10px 30px rgba(10,30,25,.24);text-transform:none;letter-spacing:normal}.heading-with-info>.info-tip{left:0;right:auto;top:32px}.info-tip:before{content:"";position:absolute;right:8px;top:-6px;border-width:0 6px 6px;border-style:solid;border-color:transparent transparent #173b32}.heading-with-info>.info-tip:before{left:calc(100% - 30px);right:auto}

/* Profilbild: Auswahl, Frontkamera und runder Bildausschnitt */
.avatar{overflow:hidden;flex:0 0 42px}.avatar img{width:100%;height:100%;display:block;object-fit:cover}.profile-photo-panel{display:flex;align-items:center;justify-content:space-between;gap:1.2rem}.profile-photo-current{display:flex;align-items:center;gap:1rem;min-width:0}.profile-photo-current h2{margin-bottom:.25rem}.profile-photo-current p{margin:0;color:var(--muted);max-width:650px;font-size:.86rem}.profile-avatar{width:104px;height:104px;flex-basis:104px;font-size:1.8rem;border:4px solid #fff;box-shadow:0 0 0 2px var(--sage),0 8px 24px rgba(21,63,53,.14)}.profile-photo-actions{display:flex;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.photo-editor-dialog{width:min(520px,calc(100% - 1rem));max-width:520px;padding:1.15rem}.photo-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.photo-editor-head h2{font-family:Georgia,serif;font-size:1.7rem;margin-bottom:.35rem}.photo-stage{position:relative;width:min(320px,75vw);aspect-ratio:1;margin:1rem auto;border-radius:50%;overflow:hidden;background:#dce2df;box-shadow:0 0 0 5px #fff,0 0 0 8px var(--ink),0 10px 28px rgba(21,63,53,.2);touch-action:none;user-select:none}.photo-stage canvas,.photo-stage video{width:100%;height:100%;display:block;object-fit:cover}.photo-stage video{transform:scaleX(-1)}.photo-mask{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(255,255,255,.8);pointer-events:none}.photo-zoom{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:end;margin:1.2rem 0}.photo-zoom label{margin:0;padding:0}.photo-zoom input{padding:0;min-height:38px;accent-color:var(--ink)}
@media(max-width:800px){.profile-photo-panel{align-items:stretch;flex-direction:column}.profile-photo-actions{justify-content:stretch}.profile-photo-actions .button{flex:1 1 180px}}
@media(max-width:480px){.profile-photo-current{align-items:flex-start}.profile-avatar{width:82px;height:82px;flex-basis:82px}.profile-photo-actions{display:grid;grid-template-columns:1fr}.photo-zoom{grid-template-columns:1fr}.photo-editor-dialog .dialog-actions{display:grid;grid-template-columns:1fr}.photo-editor-dialog .button{width:100%}}

/* Automatische Sondertage und geführte Entscheidung */
.decision-alert,.decision-complete{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-radius:16px;margin-bottom:1rem}.decision-alert{background:#fff3dc;border:2px solid #d9a84d}.decision-alert>div{display:flex;align-items:center;gap:.8rem}.decision-alert h2,.decision-alert p,.decision-complete p{margin:0}.decision-alert h2{font-size:1rem;color:#6c4a0d}.decision-alert p{font-size:.84rem;color:#715927;margin-top:.2rem}.decision-alert-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#d9a84d;color:#fff;font-weight:900;font-size:1.2rem;flex:0 0 38px}.decision-complete{justify-content:flex-start;background:#e8f3eb;border:1px solid #a8cbb3;color:#276341}.decision-complete span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#318452;color:#fff;font-weight:900}.special-day-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(430px,1.1fr);gap:1rem}.special-day-list{display:grid;gap:.55rem}.special-day-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.65rem;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:#fff}.special-day-card:hover,.special-day-card.selected{border-color:var(--ink);box-shadow:0 4px 14px rgba(21,63,53,.1)}.special-day-card.needs-decision{background:#fff8e9;border-color:#e2bc73}.special-day-date{width:50px;height:50px;border-radius:10px;background:var(--cream);display:grid;place-items:center;align-content:center;line-height:1;text-transform:uppercase;font-size:.62rem;color:var(--muted)}.special-day-date b{font-family:Georgia,serif;font-size:1.25rem;color:var(--ink)}.special-day-card>span:nth-child(2){display:grid;min-width:0}.special-day-card small{color:var(--muted);font-size:.72rem;white-space:normal}.special-day-editor{border-top:5px solid var(--ink)}.special-day-editor:has(.decision-note){border-top-color:#d9a84d}.decision-note{background:#fff3dc;border-left:4px solid #d9a84d;padding:.75rem;border-radius:8px;color:#715927;font-size:.82rem}.fixed-holiday{background:#f7f8f7;padding-inline:.65rem;border-radius:9px}.vertical-mobile{align-items:stretch}.vertical-mobile label{flex:1}
@media(max-width:1050px){.special-day-layout{grid-template-columns:1fr}.special-day-list-panel .section-heading{align-items:center}}
@media(max-width:650px){.decision-alert{align-items:stretch;flex-direction:column}.decision-alert .button{width:100%}.special-day-card{grid-template-columns:48px minmax(0,1fr)}.special-day-card>.badge{grid-column:2;justify-self:start}.vertical-mobile{display:grid;grid-template-columns:1fr}.special-day-list-panel .section-heading{display:grid;gap:.7rem}.special-day-list-panel .section-heading .button{width:100%}}

/* Sonntage sind im Salon grundsätzlich arbeitsfrei und werden nicht als Planungsspalte gezeigt. */
.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.week-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.timeline-grid{grid-template-columns:190px repeat(36,32px)}
.year-cell.sunday-omitted{background:#fff;border-color:#fff}
@media(max-width:1000px){.week-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.timeline-grid{grid-template-columns:145px repeat(36,38px)}}
@media(max-width:600px){.week-grid{grid-template-columns:1fr}}
@media(max-width:430px){.timeline-grid{grid-template-columns:132px repeat(36,40px)}}

/* Schlichte Benachrichtigungsglocke: grau im Ruhezustand, rot bei offenen Meldungen. */
.notification-bell{position:relative;display:grid;place-items:center;color:#777f7c;background:transparent;font-size:0;overflow:visible}
.notification-bell:hover,.notification-bell:focus-visible{color:#515957;background:#f1f3f2}
.notification-bell-icon{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.notification-bell.has-unread{color:#c9343d;background:transparent}
.notification-bell.has-unread:hover,.notification-bell.has-unread:focus-visible{color:#a9232c;background:#fff1f2}
.notification-count{top:-7px;right:-8px;min-width:18px;height:18px;padding:0 4px;background:#c9343d;border:2px solid #fff;color:#fff;font-size:.62rem;font-weight:850;line-height:1;box-shadow:0 1px 3px rgba(80,15,20,.2)}
.info-dot{display:inline-grid;place-items:center;flex:0 0 auto;width:1.55rem;height:1.55rem;border:1px solid #94a3b8;border-radius:50%;color:#475569;background:#f8fafc;font:700 .9rem/1 system-ui;cursor:help}
.task-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.task-choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;box-shadow:0 4px 18px rgba(21,63,53,.035)}.task-choice:hover,.task-choice:focus-visible{border-color:var(--ink-2);box-shadow:var(--shadow)}.task-choice h2{margin:0 0 .25rem}.task-choice p{margin:0;color:var(--muted);font-size:.88rem}.task-choice>b{white-space:nowrap}.task-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--sage);font-size:1.5rem;font-weight:800}.primary-choice{background:linear-gradient(120deg,var(--ink),#2c6254);color:#fff}.primary-choice p{color:rgba(255,255,255,.78)}.primary-choice .task-icon{background:rgba(255,255,255,.16)}.wizard-shell{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1rem,4vw,2rem);box-shadow:var(--shadow)}.wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:2rem}.wizard-progress span{display:grid;place-items:center;gap:.25rem;color:var(--muted);font-weight:800;border-top:4px solid var(--line);padding-top:.5rem}.wizard-progress span.active{color:var(--ink);border-color:var(--ink)}.wizard-progress small{font-size:.7rem}.wizard-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1.5rem}.wizard-choice{display:grid;gap:.3rem;text-align:left;min-height:88px;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--cream);cursor:pointer}.wizard-choice:hover,.wizard-choice:focus-visible{border-color:var(--ink);background:var(--sage)}.wizard-choice span{font-size:.82rem;color:var(--muted)}.wizard-summary{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.2rem}.wizard-summary div{display:grid;gap:.15rem;padding:.85rem;background:var(--cream);border-radius:12px}.wizard-summary span{font-size:.75rem;color:var(--muted)}.wizard-cancel{display:block;margin-top:1.25rem;text-align:center}
@media(max-width:700px){.task-choice-grid,.wizard-choice-grid,.wizard-summary{grid-template-columns:1fr}.task-choice{grid-template-columns:auto 1fr}.task-choice>b{grid-column:2}.wizard-progress small{font-size:.6rem}.wizard-shell{padding:1rem}.task-choice{padding:1rem}}
.feature-toggle{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:.9rem;padding:1rem;background:var(--cream);border:1px solid var(--line);border-radius:14px}.feature-toggle input{width:24px;min-height:24px}.feature-toggle span{display:grid}.feature-toggle small{color:var(--muted);font-weight:500;margin-top:.15rem}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.nav-icon{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.side-nav a>span:first-child .nav-icon{width:19px;height:19px}.mobile-menu-overlay{display:none}.bottom-nav button{border:0;background:transparent}
@media(max-width:700px){body.mobile-menu-open{overflow:hidden}.side-nav.mobile-open{display:block;position:fixed;z-index:42;top:64px;bottom:70px;left:0;width:min(88vw,360px);max-height:none;border-radius:0 18px 18px 0;padding:.8rem;box-shadow:12px 0 36px rgba(21,63,53,.2);overscroll-behavior:contain}.side-nav.mobile-open .side-nav-title{font-size:.78rem;color:var(--ink);margin-bottom:.7rem}.mobile-menu-overlay:not([hidden]){display:block;position:fixed;z-index:41;inset:64px 0 70px;background:rgba(10,30,25,.42);border:0}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;min-height:54px;padding:.15rem;color:var(--muted);font-size:.64rem;font-weight:750;line-height:1.1;text-decoration:none;cursor:pointer}.bottom-nav .nav-icon{width:22px;height:22px}.bottom-nav a.active,.bottom-nav button.active{color:var(--ink)}.bottom-nav .main-action .nav-icon{width:38px;height:38px;padding:8px;border-radius:50%;background:var(--ink);color:#fff;margin-top:-18px;box-shadow:0 5px 14px rgba(21,63,53,.25);stroke-width:2}.bottom-nav button:focus-visible,.mobile-menu-overlay:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}}
.form-end{display:flex;align-items:flex-end;padding-bottom:1rem}.form-end .button{width:100%}.mail-settings-panel fieldset[hidden]{display:none!important}
.test-phase-banner{position:sticky;top:72px;z-index:19;display:flex;justify-content:center;align-items:center;gap:.65rem;padding:.55rem 1rem;background:#fff0d4;border-bottom:1px solid #e5c176;color:#694b15;font-size:.85rem}.test-phase-banner b{letter-spacing:.08em}.test-phase-banner.reset-pending{background:#f8dede;color:#7d2f33}.test-phase-panel{border:2px solid #9dbdac}.test-phase-panel.active{border-color:#d3a65e;background:#fffdf8}.test-phase-note{padding:1rem;background:#fff7e8;border-radius:12px}.plain-steps{margin:.5rem 0 1.2rem;padding-left:1.35rem}.plain-steps li{margin:.35rem 0}
@media(max-width:800px){.test-phase-banner{top:64px;justify-content:flex-start;align-items:flex-start;flex-direction:column;gap:.05rem;padding:.5rem .8rem;font-size:.75rem}}
.account-bar{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.45rem max(1rem,calc((100vw - 1180px)/2));background:#eef4f0;border-bottom:1px solid #cbdad2}.account-bar[hidden]{display:none}.account-identity{display:grid;grid-template-columns:auto auto;column-gap:.45rem;align-items:baseline;text-decoration:none;color:var(--ink);min-width:0}.account-identity span{font-size:.75rem;color:var(--muted)}.account-identity b{font-size:.92rem}.account-identity small{grid-column:1/-1;color:var(--ink-2);font-size:.75rem;font-weight:750}.account-logout{min-height:38px;padding:.4rem .75rem;border:1px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font-weight:750;cursor:pointer;white-space:nowrap}
@media(max-width:600px){.account-bar{padding:.4rem .75rem;gap:.5rem}.account-identity{grid-template-columns:1fr}.account-identity span{display:none}.account-identity b{font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-identity small{font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-logout{min-height:36px;padding:.35rem .55rem;font-size:.73rem}}
.management-workflow[hidden]{display:none!important}.management-action-hub>h2{margin-bottom:.35rem}.management-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.management-action-grid>button{display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;column-gap:.8rem;text-align:left;align-items:center;min-height:92px;padding:1rem;border:1px solid var(--line);border-radius:15px;background:var(--cream);cursor:pointer}.management-action-grid>button:hover,.management-action-grid>button:focus-visible{border-color:var(--ink);background:var(--sage)}.management-action-grid>button>span{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#fff;color:var(--ink);font-size:1.45rem;font-weight:800}.management-action-grid>button>b{font-size:.96rem}.management-action-grid>button>small{color:var(--muted);line-height:1.3}.workflow-head>.back-link,.management-workflow>.back-link{margin-bottom:1rem}.pinned-help{display:block;padding:1rem;margin:0 0 1rem;background:#eef5f0;border-left:4px solid var(--ink-2);border-radius:10px}.pinned-help p{margin:.3rem 0 0;color:#40564f}.delegation-task-grid,.decision-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}.delegation-task-grid label,.decision-choice label{display:flex;grid-template-columns:none;align-items:flex-start;gap:.7rem;margin:0;padding:.9rem;border:1px solid var(--line);border-radius:12px;background:var(--cream);cursor:pointer}.delegation-task-grid input,.decision-choice input,.person-choice-grid input{width:20px;min-height:20px;flex:0 0 auto}.delegation-task-grid span,.decision-choice span{display:grid}.delegation-task-grid small,.decision-choice small{color:var(--muted);font-weight:500;margin-top:.15rem}.person-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:1rem;margin:1rem 0;background:var(--cream);border-radius:12px}.person-choice-grid label{display:flex;align-items:center;gap:.5rem;margin:0;padding:.45rem;background:#fff;border-radius:8px}.management-workflow fieldset[data-onboarding-step][hidden]{display:none!important}.management-workflow .schedule-week{scroll-margin-top:1rem}
.page-workflow-panel[hidden],.page-workflow-hub[hidden]{display:none!important}.page-workflow-panel{scroll-margin-top:1rem}.page-workflow-back{margin-bottom:1rem}.page-workflow-hub>p{color:var(--muted);margin-bottom:.5rem}
.split>.page-workflow-back{grid-column:1/-1;justify-self:start}
.employee-primary-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;margin:0 0 1rem;background:#eef5f0;border:1px solid #bfd3c7;border-radius:14px}.employee-primary-actions>div{display:grid}.employee-primary-actions small{color:var(--muted);margin-top:.15rem}.employee-card form>h3{margin:1.1rem 0 .8rem;padding-bottom:.45rem;border-bottom:1px solid var(--line)}
.employee-delete-panel{margin:1rem 0 0;padding:1rem;background:#fff4f2;border:2px solid #d98b82;border-radius:14px}.employee-delete-panel h3{color:#8d2118;margin-top:0}.employee-delete-panel>p{line-height:1.5}.employee-delete-panel .form-actions{margin-top:.8rem}
.team-leave-overview{margin-top:1rem}.team-leave-table{overflow:hidden;border:1px solid var(--line);border-radius:14px}.team-leave-head,.team-leave-row{display:grid;grid-template-columns:minmax(180px,1.35fr) repeat(3,minmax(115px,.85fr)) minmax(110px,.8fr) minmax(145px,1fr) minmax(150px,1.05fr);gap:.75rem;align-items:center;padding:.8rem 1rem}.team-leave-head{background:#e9efe9;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.team-leave-row{border-top:1px solid var(--line)}.team-leave-row:nth-child(odd){background:#fbfcfa}.team-leave-row>div{display:grid;gap:.15rem;min-width:0}.team-leave-row small{color:var(--muted);line-height:1.35}.team-leave-person{display:flex!important;grid-template-columns:none!important;align-items:center;gap:.6rem}.team-leave-person>div{display:grid;min-width:0}.attention-link{color:#a13a24;font-weight:750;text-decoration:underline;text-underline-offset:2px}
@media(max-width:1050px){.team-leave-head{display:none}.team-leave-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;border:0;overflow:visible}.team-leave-row{display:grid;grid-template-columns:1fr 1fr;align-content:start;border:1px solid var(--line);border-radius:14px;padding:1rem;background:#fff!important}.team-leave-row .team-leave-person{grid-column:1/-1;padding-bottom:.65rem;border-bottom:1px solid var(--line)}.team-leave-row>div:not(.team-leave-person)::before{content:attr(data-label);color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}}
@media(max-width:620px){.team-leave-table{grid-template-columns:1fr}.team-leave-row{grid-template-columns:1fr}.team-leave-row .team-leave-person{grid-column:auto}.team-leave-row>div{padding:.25rem 0}}
@media(max-width:600px){.employee-primary-actions{align-items:stretch;flex-direction:column}.employee-primary-actions .button{width:100%}}
.related-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:.65rem .8rem;margin:-.8rem 0 1rem;background:#f1f5f2;border:1px solid var(--line);border-radius:12px}.related-actions>span{font-size:.76rem;font-weight:800;color:var(--muted);margin-right:.15rem}.related-actions a{display:inline-flex;align-items:center;min-height:34px;padding:.35rem .65rem;border:1px solid #b9cbc1;border-radius:9px;background:#fff;text-decoration:none;font-size:.78rem;font-weight:750}.related-actions a:hover,.related-actions a:focus-visible{border-color:var(--ink);background:var(--sage)}
@media(max-width:600px){.related-actions{align-items:stretch}.related-actions>span{width:100%}.related-actions a{flex:1 1 auto;justify-content:center;text-align:center}}
@media(max-width:700px){.management-action-grid,.delegation-task-grid,.decision-choice,.person-choice-grid{grid-template-columns:1fr}.management-action-grid>button{min-height:82px;padding:.8rem}.management-action-grid>button>span{width:42px;height:42px}.management-workflow{padding:1rem}.management-workflow .section-heading{align-items:flex-start;flex-direction:column}}
.segment-bar{display:block;width:100%;height:16px;background:transparent;overflow:visible}.segment-bar .bar-track{fill:#edf0ed}.segment-bar .bar-used{fill:var(--ink)}.segment-bar .bar-pending{fill:var(--gold)}.segment-bar .bar-available{fill:#91b7a2}
.week-type{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:50%;font-size:9px;line-height:1;font-weight:900;border:1px solid currentColor;background:#fff;vertical-align:middle}.week-type.week-a{color:#276341;background:#e4f1e8}.week-type.week-b{color:#7b5717;background:#fff0d4}.week-type.week-c{color:#405786;background:#e9eef8}.week-type.week-d{color:#724977;background:#f3e8f5}.week-type.week-mixed{min-width:36px;border-radius:8px;color:#545f5b;background:#edf0ed}.timeline-cell,.year-cell{position:relative}.timeline-cell>.week-type,.year-cell>.week-type{position:absolute;top:2px;right:2px;z-index:2;min-width:12px;width:12px;height:12px;padding:0;font-size:7px}.year-cell>.week-type{top:1px;right:1px;min-width:10px;width:10px;height:10px;font-size:6px}.cell-status{position:relative;z-index:1}.legend-key.work-day{background:#fff}.legend-key.sunday,.timeline-day-head.sunday,.timeline-cell.sunday,.year-cell.sunday{background:#68716d!important;color:#fff!important;border-color:#68716d!important}.timeline-cell.day-off:not(.leave_approved):not(.leave_open):not(.leave_wish):not(.absent):not(.holiday):not(.sunday),.year-cell.day-off:not(.leave_approved):not(.leave_open):not(.leave_wish):not(.absent):not(.holiday):not(.sunday){background:#e2e6e3;border-color:#d1d7d3}.timeline-cell.schedule-change,.year-cell.schedule-change{box-shadow:inset 3px 0 0 var(--gold)}.timeline-cell.half-day.leave_approved,.year-cell.half-day.leave_approved{background:linear-gradient(135deg,#318452 0 50%,#fff 50%);color:#153f35}.timeline-cell.half-day.leave_open,.year-cell.half-day.leave_open{background:linear-gradient(135deg,#f3c66f 0 50%,#fff 50%)}.timeline-cell.half-day.absent,.year-cell.half-day.absent{background:linear-gradient(135deg,#777d9e 0 50%,#fff 50%);color:#153f35}.calendar-day>header,.week-day>header{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.calendar-day>header{margin-bottom:.35rem}.calendar-day>header>b{display:block}.calendar-day.sunday,.week-day.sunday{background:#68716d;color:#fff;border-color:#68716d}.calendar-day.sunday .muted,.week-day.sunday .muted{color:#eef1ef}.calendar-view-legend{justify-content:flex-end;margin-bottom:.7rem}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.timeline-grid{grid-template-columns:190px repeat(42,32px)}@media(max-width:800px){.timeline-grid{grid-template-columns:145px repeat(42,38px)}}@media(max-width:430px){.timeline-grid{grid-template-columns:132px repeat(42,40px)}}
.fixed-cycle-info{display:flex;align-items:center;gap:.75rem;min-height:48px;padding:.65rem .8rem;background:#f1f6f2;border:1px solid #b9cbc1;border-radius:10px}.fixed-cycle-info>span{display:grid;place-items:center;min-width:50px;height:32px;border-radius:99px;background:var(--ink);color:#fff;font-weight:900}.fixed-cycle-info div{display:grid;gap:.1rem}.fixed-cycle-info small{color:var(--muted);font-size:.76rem}
.calendar-week-number{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:16px;padding:0 4px;border-radius:5px;background:#e7edf1;color:#385368;border:1px solid #aebdc7;font-size:8px;line-height:1;font-weight:900;letter-spacing:.02em}.timeline-day-head{position:relative}.timeline-day-head>.calendar-week-number{position:absolute;top:2px;left:2px;min-width:12px;width:12px;height:12px;padding:0;border-radius:3px;font-size:6px}.calendar-day>header>div{display:grid;justify-items:start;gap:.12rem}.calendar-day>header>div>b{display:block}.calendar-day .calendar-week-number{height:15px;font-size:7px}.year-cell>.calendar-week-number{position:absolute;left:1px;bottom:1px;z-index:2;min-width:10px;width:10px;height:10px;padding:0;border-radius:2px;font-size:6px}

/* Bessere Lesbarkeit in den kompakten Kalenderfeldern:
   Kalenderwoche oben links, A/B/C/D-Woche oben rechts, Tagesstatus mittig. */
.timeline-grid{grid-template-columns:190px repeat(42,38px)}
.timeline-day-head{height:64px;font-size:.7rem}
.timeline-day-head span{font-size:.84rem}
.timeline-day-head>.calendar-week-number{top:3px;left:3px;min-width:18px;width:auto;height:14px;padding:0 2px;border-radius:4px;font-size:7px}
.timeline-cell,.timeline-person{height:48px}
.timeline-cell{font-size:.76rem}
.timeline-cell>.week-type{top:3px;right:3px;min-width:15px;width:15px;height:15px;font-size:8px}
.timeline-cell>.cell-status{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);font-size:.78rem;line-height:1}
.year-grid{grid-template-columns:110px repeat(31,33px)}
.year-day-head{height:38px;font-size:.7rem}
.year-cell,.year-month{height:38px}
.year-cell{font-size:.72rem}
.year-cell>.week-type{top:2px;right:2px;min-width:14px;width:14px;height:14px;font-size:7px}
.year-cell>.calendar-week-number{left:2px;top:2px;bottom:auto;min-width:16px;width:auto;height:12px;padding:0 2px;border-radius:3px;font-size:7px}
.year-cell>.cell-status{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);font-size:.76rem;line-height:1}
.year-cell>.year-weekday{position:absolute;right:2px;bottom:2px;z-index:2;min-width:14px;padding:1px 2px;border-radius:3px;background:rgba(255,255,255,.82);color:#4f5f59;font-size:7px;line-height:1;text-align:center;letter-spacing:0}
.year-cell.sunday>.year-weekday{background:rgba(255,255,255,.2);color:#fff}
.year-weekday-key{display:inline-grid;place-items:center;min-width:20px;height:16px;padding:0 3px;border:1px solid #b9c4bf;border-radius:4px;background:#fff;color:#4f5f59;font-size:8px;font-weight:900}
@media(max-width:800px){.timeline-grid{grid-template-columns:145px repeat(42,40px)}.year-grid{grid-template-columns:92px repeat(31,35px)}}
@media(max-width:430px){.timeline-grid{grid-template-columns:132px repeat(42,42px)}.year-grid{grid-template-columns:88px repeat(31,36px)}}

/* Teamkalender-Kopf: eigene Zeile für die Kalenderwoche. */
.timeline-day-head{height:78px;grid-template-rows:14px 18px 12px 18px;align-content:center;row-gap:1px;padding:4px 0}
.timeline-day-head>b{grid-row:1}
.timeline-day-head>span{grid-row:2}
.timeline-day-head>small:not(.calendar-week-number){grid-row:3;height:12px;font-size:.6rem}
.timeline-day-head>.calendar-week-number{position:static;grid-row:4;align-self:end;justify-self:center;min-width:28px;width:auto;height:16px;padding:0 4px;border-radius:5px;font-size:8px}

/* Optionale KI-Unterstützung: Violett kennzeichnet in jeder Rolle unverbindliche KI-Hilfen. */
:root{--ai:#6847b7;--ai-dark:#493080;--ai-soft:#f5f1ff;--ai-line:#cfc1ee}
.ai-settings-panel,.ai-assistant-card,.ai-quick-entry,.ai-request-draft,.ai-model-maintenance{border:1px solid var(--ai-line);border-left:5px solid var(--ai);background:linear-gradient(135deg,#fff 0%,var(--ai-soft) 100%)}
.ai-settings-panel .eyebrow,.ai-assistant-card .eyebrow,.ai-quick-entry .eyebrow,.ai-request-draft .eyebrow,.ai-model-maintenance .eyebrow{color:var(--ai)}
.ai-settings-panel .button.secondary,.ai-assistant-card .button.secondary,.ai-quick-entry .button.secondary,.ai-request-draft .button,.ai-model-maintenance .button.secondary{border-color:var(--ai);color:var(--ai-dark);background:#fff}

/* Tabellarische Kalenderansicht: am Desktop echte Tabelle, mobil klar getrennte Karten. */
.absence-list-filters .section-heading{align-items:flex-start}.absence-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.absence-filter-grid label{margin:0}.absence-list-panel .panel-title{margin-bottom:.6rem}.absence-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.absence-table{width:100%;border-collapse:collapse;min-width:820px}.absence-table th{padding:.75rem;background:#e9efe9;color:var(--muted);font-size:.76rem;text-align:left;text-transform:uppercase;letter-spacing:.03em}.absence-table td{padding:.8rem .75rem;border-top:1px solid var(--line);vertical-align:middle}.absence-table tbody tr:nth-child(even){background:#fbfcfa}.absence-table td:first-child,.absence-table td:nth-child(4){display:grid;gap:.1rem}.absence-table td small{display:block;color:var(--muted)}.absence-type-mark{display:inline-flex;align-items:center;min-height:30px;padding:.25rem .55rem;border-left:4px solid var(--ink-2);border-radius:6px;background:#eef4f0;font-size:.8rem;font-weight:750}.absence-type-mark.type-sick{border-color:#777d9e;background:#eff0f5}.absence-type-mark.type-absence{border-color:#6c7392;background:#f1f1f6}.absence-type-mark.type-private_plan{border-color:#9b7c27;background:#fbf5df}.absence-table .text-button{font-size:.85rem;font-weight:750}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.absence-filter-grid{grid-template-columns:1fr}.absence-table-wrap{overflow:visible;border:0}.absence-table{display:block;min-width:0}.absence-table thead{display:none}.absence-table tbody{display:grid;gap:.75rem}.absence-table tr{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff!important}.absence-table td{display:grid!important;gap:.12rem;padding:0;border:0}.absence-table td::before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.absence-table td:last-child{align-content:end;justify-items:end}.absence-table td:last-child::before{display:none}}
@media(max-width:460px){.absence-table tr{grid-template-columns:1fr}.absence-table td:last-child{justify-items:stretch}.absence-table .text-button{min-height:40px;border:1px solid var(--line);border-radius:9px;text-decoration:none}}
.ai-settings-panel .button.primary,.ai-model-maintenance .button.primary{background:var(--ai);border-color:var(--ai);color:#fff}
.ai-button{background:var(--ai)!important;color:#fff!important;border-color:var(--ai)!important}
.ai-button:hover,.ai-button:focus-visible{background:var(--ai-dark)!important}
.ai-quick-entry{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);gap:1.5rem;align-items:start}
.ai-quick-entry form{margin:0}
.ai-request-draft{max-width:780px;margin-inline:auto}
.ai-request-draft>div:first-child p:last-child{color:var(--muted)}
.ai-privacy-note{font-size:.78rem;color:var(--muted);margin:.75rem 0 0}
.ai-draft-ready{margin-top:1rem;padding:.85rem 1rem;border:1px solid var(--ai-line);border-radius:12px;background:#fff}
.ai-draft-ready b{color:var(--ai-dark)}
.ai-draft-ready p{margin:.25rem 0}
.ai-draft-ready small{color:var(--muted)}
.model-price-box{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(100px,.35fr));gap:.75rem;padding:1rem;border:1px solid #d9d4e8;border-radius:14px;background:#f8f6fc;margin-top:1rem}
.model-price-box>div{display:flex;flex-direction:column;gap:.2rem}
.model-price-box strong{font-size:1.25rem;color:#3d326d}
.model-price-box span{font-size:.82rem;color:var(--muted)}
.ai-result{margin-top:1rem;padding:1rem 1.1rem;border-radius:14px;background:var(--ai-soft);border:1px solid var(--ai-line);box-shadow:inset 4px 0 0 var(--ai)}
.ai-result h3,.ai-result h4{margin:.1rem 0 .55rem}
.ai-result p{margin:.4rem 0}
.ai-result ol,.ai-result ul{margin:.35rem 0 .75rem;padding-left:1.3rem}
.ai-result small{display:block;margin-top:.75rem;color:var(--muted)}
.loading-inline{color:var(--muted);font-style:italic}
.ai-model-maintenance details>summary{display:flex;flex-direction:column;gap:.2rem;cursor:pointer}
.ai-model-maintenance details>summary span{font-size:.82rem;color:var(--muted);font-weight:400}
.ai-model-maintenance .details-body{padding-top:1rem}
.model-id-cloud{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 1rem}
.model-id-chip{border:1px solid #d9d4e8;background:#f8f6fc;color:#3d326d;border-radius:999px;padding:.35rem .65rem;font:inherit;font-size:.78rem;cursor:pointer}
.model-id-chip:hover,.model-id-chip:focus-visible{background:#ebe6f7;border-color:#6f63a8}
@media(max-width:700px){.ai-quick-entry{grid-template-columns:1fr}.model-price-box{grid-template-columns:1fr 1fr}.model-price-box>div:first-child{grid-column:1/-1}}

/* Persönliche Urlaubsplanung: Blau und gestrichelt bedeutet immer privat und unverbindlich. */
:root{--private-plan:#4f6fa8;--private-plan-dark:#314f84;--private-plan-soft:#eef3fb;--private-plan-line:#9eb2d3}
.private-plan-explanation{display:grid;grid-template-columns:34px 1fr;gap:.8rem;align-items:start;margin:1rem 0;padding:1rem;border:1px solid var(--private-plan-line);border-left:5px solid var(--private-plan);border-radius:12px;background:var(--private-plan-soft)}
.private-plan-explanation>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--private-plan);color:#fff;font-family:Georgia,serif;font-weight:900}
.private-plan-explanation p{margin:.3rem 0 0;color:#43546e;font-size:.88rem}
.private-plan-button{background:var(--private-plan)!important;border-color:var(--private-plan)!important;color:#fff!important;text-decoration:none}
.private-plan-button:hover,.private-plan-button:focus-visible{background:var(--private-plan-dark)!important}
.request-decision-actions{align-items:center}.planning-calculation{padding:.65rem .8rem;border-radius:9px;background:#fff;color:var(--muted);font-size:.85rem}
.private-planning-panel{border-top:5px solid var(--private-plan)}.private-planning-panel .eyebrow{color:var(--private-plan)}
.private-plan-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.private-plan-row:last-child{border-bottom:0}.private-plan-date{display:grid;gap:.18rem}.private-plan-date span,.private-plan-date small{color:var(--muted);font-size:.84rem}
.private-plan-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.badge.private{background:var(--private-plan-soft);color:var(--private-plan-dark);border:1px dashed var(--private-plan)}
.private-plan-empty{padding:1.2rem;border:1px dashed var(--private-plan-line);border-radius:12px;background:var(--private-plan-soft);text-align:center}.private-plan-empty p{margin:.3rem 0 0;color:var(--muted)}
.legend-key.leave_private_plan,.calendar-entry.leave_private_plan,.timeline-cell.leave_private_plan,.year-cell.leave_private_plan{background:var(--private-plan-soft)!important;color:var(--private-plan-dark)!important;border:1px dashed var(--private-plan)!important}
.timeline-cell.half-day.leave_private_plan,.year-cell.half-day.leave_private_plan{background:linear-gradient(135deg,var(--private-plan-soft) 0 50%,#fff 50%)!important}
@media(max-width:700px){.request-decision-actions{align-items:stretch;flex-direction:column}.request-decision-actions .button{width:100%}.private-plan-row{align-items:stretch;flex-direction:column}.private-plan-actions{justify-content:flex-start}.private-plan-actions .button{flex:1 1 auto}}
.timeline-cell[data-calendar-date],
.calendar-day[data-calendar-date],
.week-day[data-calendar-date],
.year-cell[data-calendar-date] {
  cursor: pointer;
}

[data-calendar-entry] {
  cursor: pointer;
}

.calendar-entry[data-calendar-entry],
.calendar-list-entry {
  border: 0;
  font: inherit;
  text-align: left;
}

.calendar-list-entry {
  display: block;
  width: 100%;
  padding: .45rem;
  margin: .3rem 0;
  background: transparent;
  border-radius: .5rem;
}

.calendar-list-entry:hover,
[data-calendar-entry]:hover {
  outline: 2px solid var(--gold);
  outline-offset: 1px;
}

.calendar-selected {
  box-shadow: inset 0 0 0 3px #d49335 !important;
  background-image: linear-gradient(rgba(212,147,53,.16),rgba(212,147,53,.16));
}

.calendar-not-selectable {
  cursor: not-allowed !important;
}

.calendar-not-selectable:not([data-calendar-entry]) {
  background-image: repeating-linear-gradient(135deg,transparent 0,transparent 8px,rgba(0,49,43,.035) 8px,rgba(0,49,43,.035) 12px);
}

.calendar-action-dialog {
  width: min(94vw, 620px);
  max-height: 88vh;
  border: 0;
  border-radius: 1.25rem;
  padding: 1.5rem;
  color: var(--ink);
  box-shadow: 0 24px 80px rgba(0,40,34,.28);
}

.calendar-action-dialog::backdrop {
  background: rgba(0,31,27,.52);
  backdrop-filter: blur(2px);
}

.calendar-action-dialog form {
  position: relative;
}

.calendar-action-dialog .dialog-close {
  position: absolute;
  right: -.5rem;
  top: -.7rem;
  border: 0;
  background: transparent;
  font-size: 1.8rem;
  cursor: pointer;
}

.calendar-dialog-period {
  display: inline-block;
  padding: .45rem .7rem;
  border-radius: .7rem;
  background: var(--soft);
  font-weight: 800;
}

.calendar-range-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
  gap: .65rem;
  margin: .9rem 0 1rem;
}

.calendar-range-summary span {
  display: grid;
  gap: .15rem;
  padding: .75rem;
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: var(--soft);
}

.calendar-range-summary b {
  font-family: Georgia,serif;
  font-size: 1.25rem;
  color: var(--ink);
}

.calendar-range-summary small {
  color: var(--muted);
}

.calendar-day-choice {
  display: grid;
  gap: .45rem;
  max-height: 44vh;
  overflow: auto;
  margin: 1rem 0;
}

.calendar-day-choice[hidden] {
  display: none;
}

.calendar-day-choice label {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .55rem;
  border: 1px solid var(--line);
  border-radius: .65rem;
}

.calendar-cancel-reason {
  margin: 1rem 0;
}

.mobile-calendar-range {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: .65rem;
  align-items: end;
  margin-bottom: 1.25rem;
}

.mobile-calendar-range label {
  margin: 0;
}

.mobile-calendar-entry {
  width: 100%;
  border: 0;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.mobile-calendar-entry small {
  display: block;
  margin-top: .2rem;
}

@media(max-width:600px) {
  .mobile-calendar-range {
    grid-template-columns: 1fr;
  }
}

/* Abschließende Ausrichtungs- und Bedienkorrekturen */
.fixed-cycle-info > span {
  min-width: 74px;
  padding: 0 .7rem;
  white-space: nowrap;
  letter-spacing: .08em;
  line-height: 1;
  flex: 0 0 auto;
}

.calendar-actions-period {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  justify-content: end;
  align-items: center;
  gap: .45rem .65rem;
}

.calendar-actions-period > strong {
  grid-column: 1 / -1;
  grid-row: 1;
  text-align: center;
}

.calendar-actions-period > :first-child {
  grid-column: 1;
  grid-row: 2;
}

.calendar-actions-period > :nth-child(2) {
  grid-column: 2;
  grid-row: 2;
}

.calendar-actions-period > :last-child {
  grid-column: 3;
  grid-row: 2;
}

.task-choice,
.task-choice > div {
  min-width: 0;
}

.task-choice h2,
.task-choice p {
  overflow-wrap: anywhere;
}

.absence-more-types {
  margin: .25rem 0 1.5rem;
  padding: .8rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f7f8f6;
}

.absence-more-types summary {
  cursor: pointer;
  color: var(--ink);
  font-weight: 800;
}

.absence-more-types summary span {
  display: inline-grid;
  place-items: center;
  min-width: 1.65rem;
  min-height: 1.65rem;
  margin-left: .35rem;
  border-radius: 999px;
  background: var(--sage);
  font-size: .78rem;
}

.absence-more-types .wizard-choice-grid {
  margin: 1rem 0 0;
}

.special-reason-fieldset {
  margin-bottom: 1.25rem;
}

.special-reason-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.special-reason-choice {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: .65rem;
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--cream);
  cursor: pointer;
}

.special-reason-choice:has(input:checked) {
  border-color: var(--ink);
  box-shadow: 0 0 0 2px rgba(23, 79, 65, .1);
}

.special-reason-choice span {
  display: grid;
  gap: .25rem;
}

.special-reason-choice small {
  color: var(--muted);
  line-height: 1.35;
}

.special-reason-choice em {
  color: var(--ink);
  font-size: .76rem;
  font-style: normal;
  font-weight: 800;
}

.special-reason-choice.unavailable {
  cursor: not-allowed;
  opacity: .58;
}

@media(max-width:900px) {
  .task-choice-grid {
    grid-template-columns: 1fr;
  }

  .schedule-week-head {
    align-items: stretch;
    flex-direction: column;
    gap: .75rem;
  }

  .schedule-week-head .eyebrow {
    white-space: nowrap;
  }

  .copy-week-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
  }
}

@media(max-width:800px) {
  .form-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .calendar-actions-period {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .calendar-actions-period > .button {
    width: 100%;
    min-width: 0;
    padding-inline: .55rem;
  }
}

@media(max-width:600px) {
  .special-reason-grid {
    grid-template-columns: 1fr;
  }

  .page-context-nav a,
  .page-context-nav .back-link,
  .related-actions a,
  .panel-title > a,
  .account-identity,
  .account-logout {
    min-height: 40px;
  }

  .page-context-nav a,
  .page-context-nav .back-link,
  .panel-title > a {
    display: inline-flex;
    align-items: center;
  }

  .text-button {
    min-height: 40px;
    padding: .45rem .35rem;
  }
}

@media(max-width:430px) {
  .copy-week-control {
    grid-template-columns: 1fr;
  }

  .copy-week-control .button {
    width: 100%;
  }
}
