:root{--ink:#18302d;--muted:#6b7c78;--paper:#f6f4ef;--card:#fffdf9;--line:#dde3de;--green:#173f3a;--green-2:#2f6d62;--sage:#d9e7df;--blue:#275dad;--clay:#c65d3b;--amber:#bd7a18;--red:#a73c3c;--shadow:0 12px 36px #1f363114}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:radial-gradient(circle at 80% 0%,#e2ebe3 0,transparent 25rem),var(--paper);margin:0;font-family:DM Sans,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;font-family:Manrope,sans-serif}h1{margin-bottom:12px;font-size:clamp(2rem,4vw,3.45rem);line-height:1.02}h2{line-height:1.15}p{line-height:1.55}.app-frame{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{z-index:30;color:#fff;background:#133934;flex-direction:column;width:250px;padding:26px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 7px 24px;display:flex}.brand-mark{color:#173f3a;background:#f4c672;border-radius:14px;place-items:center;width:43px;height:43px;display:grid}.brand strong{font:700 18px Manrope;display:block}.brand small,.sidebar-footer small{color:#b9cbc6;margin-top:2px;font-size:11px;display:block}.sidebar nav{flex-direction:column;flex:1;gap:5px;display:flex}.sidebar nav a{color:#cfddd9;border-radius:12px;align-items:center;gap:12px;padding:12px 13px;font-size:14px;font-weight:600;display:flex}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff1a}.sidebar nav a.active:after{content:"";background:#f4c672;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-footer{border-top:1px solid #ffffff1f;align-items:center;gap:10px;padding:15px 6px 2px;font-size:13px;display:flex}.content-frame{grid-column:2;min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f6f4efe0;border-bottom:1px solid #173f3a12;justify-content:flex-end;align-items:center;height:74px;padding:0 4vw;display:flex;position:sticky;top:0}.top-actions{align-items:center;gap:10px;display:flex}select,input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px}.top-actions select{width:auto;min-width:90px;padding:8px 30px 8px 10px}.page{max-width:1440px;margin:0 auto;padding:42px clamp(20px,4vw,64px) 80px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.page-heading p{color:var(--muted);max-width:720px;margin-bottom:0}.eyebrow{color:var(--green-2);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:800;display:flex}.primary,.secondary,.success-button,.danger-button{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-weight:700;display:inline-flex}.primary{background:var(--green);color:#fff;box-shadow:0 8px 20px #173f3a2b}.primary:hover{background:#22554e}.secondary{border-color:var(--line);background:#fff}.success-button{color:#205b43;background:#d9eee4}.danger-button{color:#8b3932;background:#f5dfdc}button:disabled{opacity:.45;cursor:not-allowed}.link-button{white-space:nowrap}.icon-button{cursor:pointer;background:0 0;border:0;place-items:center;padding:8px;display:grid}.menu-button,.mobile-brand,.close-menu{display:none}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.avatar.small{width:32px;height:32px;font-size:12px}.card{box-shadow:var(--shadow);background:#fffdf9eb;border:1px solid #334b461c;border-radius:20px;padding:22px}.hero-balance{color:#fff;background:linear-gradient(120deg,#173f3a,#2f6d62);border-radius:24px;justify-content:space-between;align-items:center;gap:30px;margin-bottom:22px;padding:30px 34px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 45px #173f3a2e}.hero-balance:after{content:"";border:46px solid #ffffff0f;border-radius:50%;width:270px;height:270px;position:absolute;top:-120px;right:-90px}.hero-balance .eyebrow{color:#bad9d0}.hero-balance h2{margin-bottom:8px}.hero-balance p{color:#d6e4e0;margin:0}.balance-ring{z-index:1;aspect-ratio:1;text-align:center;border:9px solid #ffffff2e;border-top-color:#f4c672;border-radius:50%;flex:0 0 130px;place-content:center;display:grid;position:relative}.balance-ring strong{font:700 29px Manrope}.balance-ring span{color:#d6e4e0;max-width:80px;font-size:10px;line-height:1.2}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.feature-card{flex-direction:column;align-items:flex-start;min-height:220px;display:flex}.feature-card h3{margin:6px 0;font-size:20px}.feature-card p{color:var(--muted);font-size:13px}.feature-card a{color:var(--green-2);align-items:center;gap:5px;margin-top:auto;font-size:13px;font-weight:700;display:flex}.card-icon{border-radius:12px;place-items:center;width:42px;height:42px;margin-bottom:20px;display:grid}.card-icon.sage{color:#2a6756;background:#dcebe2}.card-icon.blue{color:#275dad;background:#dfe8f6}.card-icon.clay{color:#a94f33;background:#f2e2dc}.card-icon.warning{color:#9d681a;background:#fae9c8}.card-icon.success{color:#27704e;background:#dceee4}.card-icon.neutral{color:#566a65;background:#eceeea}.section-block{border:1px solid var(--line);background:#ffffff73;border-radius:20px;margin-top:24px;padding:24px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title h2{margin:0}.timeline{margin-top:18px}.timeline-item{border-top:1px solid var(--line);grid-template-columns:12px 1fr auto;align-items:center;gap:12px;padding:14px 0;display:grid}.timeline-dot{background:var(--green-2);border-radius:50%;width:8px;height:8px}.timeline-item p{color:var(--muted);margin:2px 0 0;font-size:12px}.status{letter-spacing:.08em;text-transform:uppercase;background:#ecefe9;border-radius:99px;align-items:center;width:max-content;padding:5px 9px;font-size:9px;font-weight:800;display:inline-flex}.status.requested{color:#895e17;background:#fff0cd}.status.agreed,.status.official{color:#27664b;background:#dceee4}.status.rejected,.status.cancelled{color:#8b3932;background:#f5dfdc}.status.counter_proposed{color:#315e9b;background:#e1e9f6}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px 16px;margin-bottom:20px;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend-swatch{border:1px solid #00000017;border-radius:4px;width:14px;height:14px}.legend-swatch.holiday{background:repeating-linear-gradient(135deg,#dcebe2,#dcebe2 3px,#fff 3px 6px)}.legend-swatch.requested{background:#fff0cd;border-color:#bd7a18}.legend-swatch.private{background:#e8e7e2}.year-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px;display:grid}.month-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 6px 20px #1e322e0a}.month-card h2{text-transform:capitalize;margin-bottom:12px;font-size:16px}.weekday-row,.month-days{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.weekday-row span{color:#8a9895;text-align:center;padding-bottom:5px;font-size:9px;font-weight:700}.calendar-day,.empty-day{aspect-ratio:1;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;min-width:0;font-size:10px;display:flex;position:relative}.calendar-day:hover{outline:2px solid var(--green-2);z-index:2}.calendar-day.weekend{background:#f1f0ec}.calendar-day.holiday{background:repeating-linear-gradient(135deg,#e1eee6,#e1eee6 3px,#f9fbf8 3px 6px)}.calendar-day.assigned{color:#fff;background:var(--owner);box-shadow:inset 0 -3px #0000001f}.calendar-day.requested{outline:2px dashed #bc7c22}.calendar-day.selected{outline:3px solid #f1b84d;transform:scale(1.05)}.day-icons{display:flex;position:absolute;bottom:1px;right:1px}.notice{border-radius:13px;align-items:flex-start;gap:10px;margin:16px 0;padding:13px 15px;font-size:13px;display:flex}.notice p{margin:0}.notice.warning{color:#79531a;background:#fff1d7;border:1px solid #eed49f}.notice.success{color:#285f49;background:#dfefe7}.notice.danger{color:#863e38;background:#f7e0de}.notice.neutral{color:#50625e;border:1px solid var(--line);background:#edf1ef}.holiday-list,.request-list,.personal-list{gap:15px;display:grid}.holiday-card{grid-template-columns:210px 1fr;padding:0;display:grid;overflow:hidden}.holiday-date{background:#e3ece5;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:24px;display:flex}.holiday-date svg{color:var(--green-2)}.holiday-date span{color:var(--muted);font-size:12px}.holiday-body{padding:23px}.holiday-body h2{margin:10px 0 15px}.allocation-bar{background:#eceeea;border-radius:99px;gap:2px;width:100%;height:8px;display:flex;overflow:hidden}.allocation-stats{flex-wrap:wrap;gap:15px;margin-top:12px;display:flex}.allocation-stats div{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.allocation-stats strong{color:var(--ink)}.dot{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.dot.open{background:#fff;border:1px solid #9ba6a2}.source-link{color:var(--green-2);align-items:center;gap:6px;margin-top:18px;font-size:12px;font-weight:700;display:flex}.request-card header{justify-content:space-between;gap:20px;display:flex}.request-card h2{margin:9px 0 4px}.request-card p{color:var(--muted);margin:0}.request-parent{align-items:center;gap:9px;display:flex}.request-parent small{max-width:120px}.chips{gap:6px;margin:16px 0;display:flex}.chips span{background:#eff2ee;border-radius:99px;padding:5px 9px;font-size:11px}.request-actions,.settings-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-top:15px;display:flex}.counter-form{background:#f4f5f1;border-radius:12px;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin-top:13px;padding:14px;display:grid}.counter-form label,.form-grid label,.auth-card label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}summary{cursor:pointer;color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.history-item{border-bottom:1px solid #edf0ec;grid-template-columns:1fr 1fr auto;gap:12px;padding:9px 0;font-size:11px;display:grid}.balance-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:18px;display:grid}.balance-card{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--parent);box-shadow:var(--shadow);border-radius:20px;padding:24px}.balance-card header{align-items:center;gap:12px;display:flex}.balance-card h2{margin:0}.big-stat{align-items:baseline;gap:8px;margin:28px 0;display:flex}.big-stat strong{font:700 54px Manrope}.big-stat span{color:var(--muted)}.big-stat em{color:var(--parent);margin-left:auto;font-size:22px;font-style:normal;font-weight:800}.balance-card dl{margin:0}.balance-card dl div{border-top:1px solid var(--line);justify-content:space-between;padding:10px 0;display:flex}.balance-card dt{color:var(--muted)}.balance-card dd{font-weight:800}.personal-list{grid-template-columns:repeat(2,1fr)}.personal-card{align-items:center;gap:16px;display:flex}.personal-card .card-icon{margin:0}.personal-card h3,.personal-card p{margin:2px 0}.personal-card p{color:var(--muted);font-size:12px}.settings-grid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.settings-card{align-items:flex-start;gap:16px;display:flex}.settings-card>svg{color:var(--green-2)}.settings-card h2{font-size:18px}.settings-card p{color:var(--muted);margin:6px 0;font-size:13px}.settings-card a{color:var(--green-2);font-size:12px;font-weight:700}.settings-actions{border:0;margin-top:20px}.language-switch{border:1px solid var(--line);border-radius:10px;display:flex;overflow:hidden}.language-switch button{background:#fff;border:0;padding:9px}.language-switch button.active{color:#fff;background:var(--green)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b1f1c8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border-radius:22px;width:min(680px,100%);max-height:92vh;padding:27px;position:relative;overflow:auto;box-shadow:0 30px 80px #00000040}.modal-close{position:absolute;top:12px;right:12px}.modal h2{max-width:540px}.action-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0;display:grid}.choice{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:9px;padding:12px;display:flex}.choice.selected{border-color:var(--green-2);box-shadow:inset 0 0 0 1px var(--green-2);background:#e2ede7}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.form-grid fieldset{border:1px solid var(--line);border-radius:11px;margin:0;padding:12px}.form-grid legend{color:var(--muted);font-size:11px;font-weight:700}.check{grid-template-columns:auto 1fr;align-items:center;margin:5px 0;display:flex!important}.check input{width:auto}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.empty-state{text-align:center;min-height:220px;color:var(--muted);border:1px dashed #bcc8c3;border-radius:18px;align-content:center;place-items:center;padding:30px;display:grid}.empty-state h2{color:var(--ink);margin:12px 0 4px}.empty-state p{margin:0}.center-screen{text-align:center;place-content:center;gap:12px;min-height:100vh;padding:20px;display:grid}.auth-card{background:var(--card);border:1px solid var(--line);width:min(430px,100vw - 32px);box-shadow:var(--shadow);text-align:left;border-radius:24px;gap:14px;padding:34px;display:grid}.auth-card>svg{color:var(--green-2)}.auth-card h1{margin:0;font-size:30px}.auth-card p{color:var(--muted);margin:0}.muted{color:var(--muted)}.loader{border:3px solid #d7dfdb;border-top-color:var(--green);border-radius:50%;width:30px;height:30px;margin:auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scrim{display:none}@media (max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.year-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}}@media (min-width:761px) and (max-width:900px){.year-grid{grid-template-columns:1fr}}@media (max-width:760px){.app-frame{display:block}.sidebar{transition:transform .22s;transform:translate(-105%);box-shadow:20px 0 60px #0003}.sidebar.open{transform:translate(0)}.content-frame{min-width:0}.topbar{justify-content:space-between;height:62px;padding:0 14px}.menu-button,.mobile-brand,.close-menu{display:flex}.mobile-brand{align-items:center;gap:7px}.close-menu{color:#fff;margin-left:auto}.scrim{z-index:25;background:#0a191659;border:0;display:block;position:fixed;inset:0}.page{padding:28px 15px 84px}.page-heading{flex-direction:column;align-items:flex-start;margin-bottom:23px}.page-heading .primary{width:100%}.hero-balance{align-items:flex-start;padding:24px}.balance-ring{flex-basis:92px}.dashboard-grid,.balance-grid,.settings-grid,.personal-list{grid-template-columns:1fr}.feature-card{min-height:180px}.year-grid{grid-template-columns:1fr}.month-card{scroll-margin-top:72px}.holiday-card{grid-template-columns:1fr}.holiday-date{padding:17px}.request-card header{flex-direction:column}.request-parent{align-self:flex-start}.request-actions>*{flex:120px}.counter-form{grid-template-columns:1fr 1fr}.counter-form button{grid-column:1/-1}.form-grid,.action-grid{grid-template-columns:1fr}.modal{padding:23px 18px}.top-actions select[aria-label=Demo-Person]{max-width:120px}.avatar.small{display:none}}@media (max-width:440px){h1{font-size:2rem}.hero-balance{flex-direction:column}.balance-ring{width:100px}.dashboard-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:10px 1fr}.timeline-item .status{grid-column:2}.top-actions select{min-width:72px}.top-actions select[aria-label=Demo-Person]{display:none}}@media print{.sidebar,.topbar,.page-heading .primary,.settings-actions{display:none!important}.content-frame{grid-column:1}.page{max-width:none;padding:0}.year-grid{grid-template-columns:repeat(3,1fr);gap:6px}.month-card{box-shadow:none;break-inside:avoid}}.calendar-columns{grid-template-columns:24px repeat(7,1fr);gap:3px;display:grid}.weekday-row.calendar-columns{grid-template-columns:24px repeat(7,1fr)}.month-weeks{gap:3px;display:grid}.calendar-week{min-width:0}.week-number{min-width:0;color:var(--green-2);cursor:pointer;background:#edf2ef;border:0;border-radius:6px;font-size:8px;font-weight:800}.week-number:hover{outline:2px solid var(--green-2)}.calendar-day.divergent{color:var(--ink);background:repeating-linear-gradient(135deg,#dce7ef,#dce7ef 4px,#f4e2dc 4px 8px)}.calendar-day.vacation-agreed{box-shadow:inset 0 0 0 2px #fff,inset 0 -4px #0000002e}.owner-initial{font-size:7px;position:absolute;bottom:0;left:2px}.planner-toolbar{justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px;display:flex}.planner-toolbar label{color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.planner-toolbar select{min-width:180px}.planner-toolbar p{color:var(--muted);margin:0;font-size:12px}.legend-swatch.divergent{background:repeating-linear-gradient(135deg,#dce7ef,#dce7ef 3px,#f4e2dc 3px 6px)}.mobile-month-navigation{display:none}.unassigned-summary{background:var(--card);border:1px solid var(--line);border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;margin:0 0 18px;padding:18px 22px;display:grid}.unassigned-summary strong{font:700 28px Manrope,sans-serif}.unassigned-summary span{color:var(--muted)}.stacked-bar{background:#e7e9e5;border-radius:99px;grid-column:1/-1;height:9px;margin-top:9px;display:flex;overflow:hidden}.stacked-bar i{background:#d8ddd9;display:block}@media (max-width:760px){.planner-toolbar{flex-direction:column;align-items:stretch}.planner-toolbar select{min-width:0}.mobile-month-navigation{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.mobile-month-navigation strong{text-transform:capitalize}.year-grid .month-card{display:none}.year-grid .month-card.mobile-current{display:block}.calendar-day,.empty-day{aspect-ratio:auto;min-height:34px}.week-number{min-height:34px}.calendar-columns{grid-template-columns:30px repeat(7,1fr)}}@media print{.mobile-month-navigation,.planner-toolbar{display:none!important}.year-grid .month-card{display:block!important}}@media (max-width:440px){.top-actions select[aria-label=Demo-Person]{max-width:112px;display:block}.top-actions{gap:5px}.top-actions select{padding-right:20px}}.calendar-day.event-private{outline:2px dotted #6c7773}.calendar-day.event-shared{outline:2px solid #2f6d62}.legend-swatch.public-holiday{background:#f4c672;border-color:#aa7820}.calendar-day.public-holiday:after{content:"";background:#f4c672;border-radius:50%;width:4px;height:4px;position:absolute;top:1px;right:1px;box-shadow:0 0 0 1px #50370a52}.handover-list{gap:15px;display:grid}.handover-card{grid-template-columns:auto 1fr auto;align-items:start;gap:18px;display:grid}.handover-card .card-icon{margin:0}.handover-main h2{margin:3px 0 7px}.handover-main p{color:var(--muted);align-items:center;gap:6px;margin:3px 0;font-size:13px;display:flex}.handover-actions{gap:8px;display:flex}.child-balance{margin-bottom:26px}.child-allocation{gap:8px;margin-top:13px;display:grid}.public-holiday-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.public-holiday-grid>div{border:1px solid var(--line);background:var(--card);border-radius:11px;gap:3px;padding:12px;display:grid}.public-holiday-grid time{color:var(--muted);font-size:11px}.print-plan{display:none}@media (max-width:760px){.handover-card{grid-template-columns:auto 1fr}.handover-actions{grid-column:1/-1}.public-holiday-grid{grid-template-columns:1fr 1fr}}@media (max-width:440px){.handover-card{grid-template-columns:1fr}.handover-card .card-icon{display:none}.handover-actions{flex-direction:column}.public-holiday-grid{grid-template-columns:1fr}}@media print{.screen-only{display:none!important}.print-plan{color:#111;background:#fff;display:block}.print-plan header{border-bottom:2px solid #173f3a;margin-bottom:18px}.print-plan section{break-inside:avoid;margin:18px 0}.print-plan h1{font-size:28px}.print-plan h2{border-bottom:1px solid #bbb;padding-bottom:5px;font-size:17px}.print-row{border-bottom:1px solid #eee;grid-template-columns:150px 1fr;gap:12px;padding:5px 0;font-size:11px;display:grid}}.preview-entry{background:radial-gradient(circle at 80% 5%,#dcebe2 0,#0000 30rem),linear-gradient(145deg,#f8f6f1,#eef3ef);place-items:center;min-height:100vh;padding:28px;display:grid}.preview-entry-inner{width:min(1160px,100%)}.preview-entry-brand{align-items:center;gap:11px;margin-bottom:clamp(38px,7vh,80px);display:flex}.preview-entry-brand>span{background:var(--green);color:#fff;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.preview-entry-brand strong{font:800 20px Manrope,sans-serif}.preview-entry-brand small{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:99px;margin-left:auto;padding:7px 10px;font-weight:700}.preview-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);align-items:center;gap:clamp(38px,8vw,100px);display:grid}.preview-hero h1{margin-bottom:16px;font-size:clamp(3.4rem,8vw,6.8rem)}.preview-hero p{max-width:580px;color:var(--muted);font-size:clamp(1.2rem,2vw,1.65rem)}.preview-actions{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.preview-safety{color:var(--muted);align-items:center;gap:8px;margin-top:20px;font-size:12px;display:flex}.preview-year-card{background:#fffdf9e6;border:1px solid #334b4621;border-radius:28px;padding:26px;transform:rotate(1.4deg);box-shadow:0 28px 80px #1f363126}.preview-year-card>div:first-child{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.preview-year-card>div:first-child span{font:800 38px Manrope,sans-serif}.preview-year-card>div:first-child strong{color:var(--green-2)}.preview-months{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.preview-months i{color:#73817d;background:#edf1ed;border-radius:10px;place-items:center;height:52px;font-size:9px;font-style:normal;font-weight:800;display:grid}.preview-months i.active{background:linear-gradient(135deg,var(--blue),#4d78bc);color:#fff;box-shadow:inset 0 -6px #00000014}.preview-year-card footer{color:var(--muted);justify-content:center;align-items:center;gap:5px;margin-top:17px;font-size:11px;display:flex}.preview-features{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:clamp(42px,7vh,78px);display:grid}.preview-features article{border-top:1px solid #cdd8d2;grid-template-columns:auto 1fr;gap:2px 11px;padding:18px;display:grid}.preview-features svg{color:var(--green-2);grid-row:1/3}.preview-features strong{font-size:13px}.preview-features span{color:var(--muted);font-size:11px}@media (max-width:760px){.preview-entry{place-items:start center;padding:20px 17px}.preview-entry-brand{margin-bottom:45px}.preview-entry-brand small{font-size:9px}.preview-hero{grid-template-columns:1fr;gap:42px}.preview-hero h1{font-size:clamp(3.3rem,18vw,5.3rem)}.preview-hero p{font-size:1.18rem}.preview-actions>*{flex:180px}.preview-year-card{justify-self:center;width:min(430px,100%);transform:none}.preview-features{grid-template-columns:1fr;margin-top:42px}.preview-features article{padding:13px 5px}}.heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.active-mode{border-color:var(--green-2);color:var(--green);background:#e2ede7}textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:86px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:10px 12px}.wide-field{grid-column:1/-1}.modal-intro{color:var(--muted);margin:-4px 0 12px;font-size:13px}.compact-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-actions .choice{text-align:center;flex-direction:column;justify-content:center;padding:10px 6px}.compact-actions .secondary-choice{flex-direction:row;grid-column:span 2}.weekend-pattern{border:1px solid var(--line);background:#ffffff9e;border-radius:14px;margin:0 0 18px}.weekend-pattern summary{color:var(--ink);border:0;padding:12px 15px;font-size:13px}.weekend-pattern summary>span{margin-left:4px;display:grid}.weekend-pattern summary small{color:var(--muted);font-weight:500}.weekend-pattern-form{grid-template-columns:1fr 1fr 1.4fr auto;align-items:end;gap:10px;padding:0 15px 15px;display:grid}.weekend-pattern-form label{color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.school-year-tabs{gap:8px;margin:0 0 18px;padding-bottom:3px;display:flex;overflow:auto}.school-year-tabs button{white-space:nowrap;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:10px;padding:10px 14px;font-weight:750}.school-year-tabs button.active{background:var(--green);border-color:var(--green);color:#fff}.holiday-kind-legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.holiday-kind-legend span{align-items:center;gap:6px;display:flex}.holiday-kind{border-radius:3px;width:11px;height:11px;display:inline-block}.holiday-kind.school{background:#8fbaa8}.holiday-kind.public{background:#f4c672}.compact-holidays{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.compact-holidays>header,.compact-holiday-row{grid-template-columns:minmax(220px,1.4fr) 130px 130px minmax(310px,2fr);align-items:center;gap:14px;padding:12px 16px;display:grid}.compact-holidays>header{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#edf2ef;font-size:10px}.compact-holiday-row{border-top:1px solid var(--line);min-height:66px}.compact-holiday-row>div:first-child{gap:2px;display:grid}.compact-holiday-row>div:first-child small{color:var(--muted)}.row-kind{letter-spacing:.09em;color:var(--green-2);font-size:8px;font-weight:800}.public-row{box-shadow:inset 4px 0 #f4c672}.school-row{box-shadow:inset 4px 0 #8fbaa8}.compact-holiday-row time{font-variant-numeric:tabular-nums;font-size:12px}.compact-allocation>div{flex-wrap:wrap;gap:5px 12px;font-size:11px;display:flex}.compact-allocation b{width:100%}.compact-allocation span{color:var(--muted)}.compact-allocation strong{color:var(--ink)}.official-sources{flex-wrap:wrap;gap:8px 22px;display:flex}.counter-comment{grid-column:1/-1}.counter-form .counter-comment+button{grid-column:1/-1;justify-self:end}@media (max-width:900px){.weekend-pattern-form{grid-template-columns:1fr 1fr}.weekend-pattern-form .primary{grid-column:1/-1}.compact-holidays>header{display:none}.compact-holiday-row{grid-template-columns:1fr auto auto;padding:14px}.compact-holiday-row>div:first-child{grid-column:1/-1}.compact-holiday-row>.compact-allocation{border-top:1px dashed var(--line);grid-column:1/-1;padding-top:6px}}@media (max-width:760px){.heading-actions{grid-template-columns:1fr;width:100%;display:grid}.compact-actions{grid-template-columns:repeat(2,1fr)}.compact-actions .secondary-choice{grid-column:span 1}.weekend-pattern-form{grid-template-columns:1fr}.weekend-pattern-form .primary{grid-column:auto}.compact-holiday-row{grid-template-columns:1fr 1fr}.compact-holiday-row time{font-size:11px}.compact-holiday-row>time:first-of-type:before{content:"Von · ";color:var(--muted)}.compact-holiday-row>time:nth-of-type(2):before{content:"Bis · ";color:var(--muted)}.official-sources{display:grid}.counter-form{grid-template-columns:1fr}.counter-form button,.wide-field{grid-column:auto}}.official-downloads{border:1px solid var(--line);background:var(--card);border-radius:14px;align-items:center;gap:10px;margin:18px 0;padding:14px 16px;display:flex}.official-downloads>div{margin-right:auto;display:grid}.official-downloads small{color:var(--muted);margin-top:3px}.legend-swatch.neutral{background:#fff}.calendar-day{isolation:isolate}.calendar-day.holiday:before{content:"";z-index:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(135deg,#7ebea547,#7ebea547 3px,#0000 3px 7px);position:absolute;inset:0}.calendar-day>*{z-index:1;position:relative}.calendar-day.public-holiday:after{content:"★";z-index:2;width:auto;height:auto;box-shadow:none;color:#9b6811;background:0 0;border:0;font-size:10px;line-height:1;position:absolute;top:-2px;right:1px}.holiday-star{color:#9b6811;font-size:9px}.calendar-day.conflict-day{outline-offset:-2px;outline:2px solid #b5791b}.annual-print-sheet{display:none}@media (max-width:760px){.official-downloads{flex-direction:column;align-items:stretch}.official-downloads>div{margin:0}.official-downloads a{justify-content:center}}@media print{@page{size:A4 landscape;margin:7mm}.app-frame>.sidebar,.content-frame>.topbar,.screen-only,.planner-toolbar,.weekend-pattern,.legend,.notice,.year-grid,.mobile-month-navigation{display:none!important}.app-frame,.content-frame,.page{background:#fff!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;display:block!important}.annual-print-sheet{color:#142f2b;font-family:Arial,sans-serif;display:block!important}.annual-print-sheet header{border-bottom:2px solid #173f3a;justify-content:space-between;align-items:end;margin-bottom:4mm;padding-bottom:2mm;display:flex}.annual-print-sheet header h1{margin:1mm 0 0;font-size:18pt}.annual-print-sheet header p{font-size:9pt}.annual-print-grid{gap:1px;display:grid}.annual-print-days,.annual-print-month{grid-template-columns:24mm repeat(31,1fr);gap:1px;display:grid}.annual-print-days>*{text-align:center;font-size:6pt}.annual-print-days>b:first-child{text-align:left}.annual-print-month>strong{text-transform:capitalize;align-items:center;font-size:7pt;display:flex}.annual-print-month>span{background:#fff;border:1px solid #c9d1ce;height:11mm;position:relative}.annual-print-month>span.weekend{background:#eef0ef}.annual-print-month>span.owned{background:var(--print-owner);color:#fff}.annual-print-month>span.school-holiday:after{content:"";background:repeating-linear-gradient(135deg,#37917d61,#37917d61 1px,#0000 1px 3px);position:absolute;inset:0}.annual-print-month>span.invalid{background:0 0;border-color:#0000}.annual-print-month>span.divergent{background:repeating-linear-gradient(135deg,#dce7ef,#dce7ef 2px,#f4e2dc 2px 4px)}.annual-print-month>span.proposal{outline-offset:-2px;outline:1px dashed #b5791b}.annual-print-month>span.conflict{border:2px solid #9c391f}.annual-print-month span i,.annual-print-month span em,.annual-print-month span small,.annual-print-month span b,.annual-print-month span u{z-index:2;font-size:5pt;font-style:normal;text-decoration:none;position:absolute}.annual-print-month span i{color:#8a5907;top:0;right:1px}.annual-print-month span em{bottom:0;right:1px}.annual-print-month span small{top:0;left:1px}.annual-print-month span b{bottom:0;left:1px}.annual-print-month span u{place-items:center;font-size:7pt;font-weight:700;display:grid;inset:0}.annual-print-sheet footer{border-top:1px solid #bbb;flex-wrap:wrap;gap:4mm;margin-top:3mm;padding-top:2mm;font-size:7pt;display:flex}.annual-print-sheet footer span{align-items:center;gap:1mm;display:flex}.annual-print-sheet footer i{border:1px solid #777;width:3mm;height:3mm}}.planning-balance-panel{background:var(--card);border:1px solid var(--line);border-radius:18px;margin:0 0 18px;padding:20px 22px;box-shadow:0 8px 24px #1c36300d}.planning-balance-panel>header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:13px;display:flex}.planning-balance-panel h2{margin:3px 0 0;font-size:22px}.planning-balance-panel>header>strong{font:700 18px Manrope}.balance-summary-row{border-top:1px solid var(--line);grid-template-columns:90px 1fr;gap:7px 16px;padding:12px 0;display:grid}.balance-summary-row.subdued{opacity:.76}.balance-summary-values{flex-wrap:wrap;gap:8px 18px;display:flex}.balance-summary-values span{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.balance-summary-values i{border-radius:3px;width:9px;height:9px}.balance-summary-values i.open{background:#fff;border:1px solid #9ba6a2}.balance-summary-values b{color:var(--ink)}.planning-stack{background:#eceeea;border-radius:99px;grid-column:1/-1;height:11px;display:flex;overflow:hidden}.planning-stack i{display:block}.planning-stack i.open{background:#eceeea}.night-summary{color:var(--muted);grid-column:2}.ferien-balance-row{border-top:1px solid var(--line);grid-template-columns:1.25fr repeat(3,1fr);align-items:center;gap:14px;padding:14px 0;display:grid}.ferien-balance-row>div{display:grid}.ferien-balance-row small,.ferien-balance-row p,.planning-disclaimer,.balance-caveat{color:var(--muted);font-size:11px}.ferien-balance-row p{margin:0}.planning-disclaimer{margin:10px 0 0}.balance-caveat{background:#fff1d7;border-radius:8px;padding:8px 10px}.calendar-day.birthday{box-shadow:inset 0 0 0 2px #8c67b4}.calendar-day.birthday .day-icons{color:#e6d4fb}.calendar-day-details{z-index:80;color:#fff;background:#173f3a;border-radius:15px;width:min(360px,100vw - 30px);padding:16px;position:fixed;bottom:22px;right:22px;box-shadow:0 20px 50px #00000040}.calendar-day-details>button{color:#fff;position:absolute;top:7px;right:7px}.calendar-day-details h3{margin:0 28px 10px 0}.calendar-day-details p{border-top:1px solid #ffffff24;justify-content:space-between;gap:12px;margin:7px 0;padding-top:7px;font-size:12px;display:flex}.calendar-day-details small{color:#d5e7e1;align-items:center;gap:5px;margin-top:10px;display:flex}.agreement-confirmations{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.agreement-confirmations span{border-radius:99px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;display:flex}.agreement-confirmations .confirmed{color:#27664b;background:#dceee4}.agreement-confirmations .pending{color:#895e17;background:#fff0cd}@media (max-width:760px){.planning-balance-panel{padding:16px}.planning-balance-panel>header{align-items:flex-start}.balance-summary-row{grid-template-columns:1fr}.night-summary{grid-column:1}.ferien-balance-row{grid-template-columns:1fr}.calendar-day-details{width:auto;bottom:72px;left:15px;right:15px}.planning-balance-panel>header>strong{font-size:14px}}@media print{.planning-balance-panel,.calendar-day-details{display:none!important}}.day-details-popover>button{color:#fff;position:absolute;top:7px;right:7px}.day-details-popover small{color:#d5e7e1;align-items:center;gap:5px;margin-top:10px;display:flex}@media (max-width:760px){.day-details-popover{width:auto;bottom:72px;left:15px;right:15px}}@media print{.day-details-popover{display:none!important}}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.year-titlebar{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:18px;display:flex}.year-titlebar h1{margin:0;font-size:clamp(2.25rem,4vw,3.7rem)}.year-titlebar p{color:var(--muted);margin:5px 0 0;font-weight:650}.year-title-row{align-items:center;gap:14px;display:flex}.year-status{white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.year-status.historical{color:#28584f;background:#e4ece8}.year-status.planning{color:#275dad;background:#e5edf9}.planning-balance-panel.simple{margin-bottom:14px;padding:18px 20px}.planning-balance-panel.simple>header{margin-bottom:10px}.planning-balance-panel.simple>header>strong{font-size:15px}.simple-balance{border-top:1px solid var(--line);padding:10px 0 14px}.simple-balance-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;display:grid}.simple-balance-values>span,.simple-balance-values>div{color:var(--muted);grid-template-columns:11px 1fr auto auto;align-items:center;gap:6px;font-size:12px;display:grid}.simple-balance-values i{border:1px solid #18302d2e;border-radius:3px;width:10px;height:10px}.simple-balance-values strong,.simple-balance-values b{color:var(--ink);font-variant-numeric:tabular-nums}.simple-balance-values b{text-align:right;min-width:38px}.simple-balance .planning-stack{height:10px;margin-top:10px}.ferien-simple{border-top:1px solid var(--line);grid-template-columns:220px 1fr;align-items:center;gap:18px;padding-top:12px;display:grid}.ferien-simple>div:first-child{display:grid}.ferien-simple .eyebrow{margin-bottom:2px}.ferien-simple .simple-balance{border:0;padding:0}.balance-meta{justify-content:flex-end;align-items:center;gap:8px;min-height:16px;margin-top:7px;display:flex}.different-plan-note{color:#8a5d18;font-size:11px;font-weight:700}.balance-info{color:var(--muted);cursor:help;display:inline-flex}.planner-toolbar.compact{margin:0 0 10px}.historical-note{color:#45615b;background:#e8efeb;border-radius:999px;align-self:end;margin-bottom:10px;padding:6px 10px;font-size:11px;font-weight:750}.compact-legend{gap:8px 14px;margin:0 0 10px;font-size:11px}.compact-notice{margin-bottom:12px;padding:10px 13px}.compact-notice p{margin:1px 0 0;font-size:11px}.year-planner-layout{grid-template-columns:minmax(0,1fr) 235px;align-items:start;gap:14px;display:grid}.year-calendar-main{min-width:0}.year-calendar-main .year-grid{gap:10px}.year-calendar-main .month-card{border-radius:14px;padding:12px}.year-calendar-main .month-card h2{margin-bottom:7px;font-size:17px}.year-calendar-main .calendar-columns{grid-template-columns:21px repeat(7,1fr);gap:2px}.year-calendar-main .weekday-row.calendar-columns{grid-template-columns:21px repeat(7,1fr)}.year-calendar-main .calendar-day{border-radius:6px;min-height:27px;font-size:9px}.year-calendar-main .week-number{font-size:7px}.calendar-day.read-only{cursor:default}.calendar-day.sidebar-highlight{outline-offset:1px;z-index:4;transform:scale(1.04);outline:3px solid #173f3a!important}.year-holiday-sidebar{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;position:sticky;top:90px;box-shadow:0 8px 24px #1c36300d}.year-holiday-sidebar h2{margin:0 0 9px;font-size:15px}.year-holiday-sidebar ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.year-holiday-sidebar li{min-width:0}.year-holiday-sidebar button{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #edf0ed;grid-template-columns:12px 36px 1fr;align-items:start;gap:5px;width:100%;padding:7px 4px;display:grid}.year-holiday-sidebar button:hover,.year-holiday-sidebar button:focus-visible{background:#edf3ef;border-radius:7px;outline:none}.year-holiday-sidebar button>span{color:#9b6811}.year-holiday-sidebar time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.year-holiday-sidebar strong{font-size:10px;line-height:1.25}.day-details-popover{z-index:80;color:#fff;background:#173f3a;border-radius:15px;width:min(340px,100vw - 30px);padding:15px;position:fixed;bottom:22px;right:22px;box-shadow:0 20px 50px #00000040}.day-details-popover>.icon-button{color:#fff;position:absolute;top:5px;right:5px}.day-details-popover>strong{margin:0 28px 8px 0;display:block}.day-details-popover p{border-top:1px solid #ffffff24;justify-content:space-between;gap:12px;margin:6px 0;padding-top:6px;font-size:11px;display:flex}.day-details-popover p span{color:#c7d8d3}@media (max-width:1180px){.year-planner-layout{grid-template-columns:1fr}.year-holiday-sidebar{position:static}.year-holiday-sidebar ol{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.year-titlebar{flex-direction:column;align-items:stretch}.year-title-row{flex-direction:column;align-items:flex-start;gap:7px}.planning-balance-panel.simple>header{align-items:flex-start}.simple-balance-values{grid-template-columns:1fr}.ferien-simple{grid-template-columns:1fr;gap:8px}.historical-note{align-self:flex-start;margin:0}.year-holiday-sidebar ol{grid-template-columns:1fr 1fr}.year-calendar-main .calendar-day{min-height:38px;font-size:11px}.year-calendar-main .calendar-columns,.year-calendar-main .weekday-row.calendar-columns{grid-template-columns:30px repeat(7,1fr)}}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.planning-balance-panel,.year-titlebar,.year-planner-layout,.year-holiday-sidebar,.historical-note{display:none!important}.annual-print-sheet header p{font-weight:700}.annual-print-month>span{height:10.5mm}.annual-print-month>span.owned{background:var(--print-owner)!important;color:#fff!important}.annual-print-month>span.weekend:not(.owned){background:#eef0ef!important}.annual-print-month>span.school-holiday:after{background:repeating-linear-gradient(135deg,#37917d52,#37917d52 1px,#0000 1px 3px)!important}.annual-print-month span i{color:#7650a8!important}.annual-print-sheet footer{font-weight:700}}.calendar-day.public-holiday:after{color:#7650a8;text-shadow:0 1px #fff;font-size:13px;top:-3px;right:1px}.year-holiday-sidebar button>span{color:#7650a8;font-size:14px;line-height:1}.calendar-day.event-availability_only{outline:1px dotted #7b8582}.calendar-day.event-private-owner{outline-offset:-2px;outline:2px solid #b23b3b}.result-table{border-top:1px solid var(--line);display:grid}.result-table>div{color:var(--muted);grid-template-columns:12px minmax(180px,1fr) auto 52px;align-items:center;gap:8px;padding:7px 0;font-size:12px;display:grid}.result-table>div+div{border-top:1px solid #edf0ed}.result-table i{border:1px solid #18302d29;border-radius:3px;width:10px;height:10px}.result-table strong,.result-table b{color:var(--ink);font-variant-numeric:tabular-nums}.result-table b{text-align:right}.result-graph{border-top:1px solid var(--line);padding:12px 0}.result-graph h3{margin:0 0 9px;font-size:13px}.result-bar{color:var(--muted);grid-template-columns:minmax(150px,220px) 1fr 48px;align-items:center;gap:9px;margin:6px 0;font-size:11px;display:grid}.result-bar>i{background:#f1f3f1;border:1px solid #d8dedb;border-radius:99px;height:9px;overflow:hidden}.result-bar>i>b{border-radius:inherit;min-width:2px;height:100%;display:block}.result-bar>strong{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}.ferien-simple .result-table{border:0}.ferien-simple .result-table>div{grid-template-columns:12px 1fr auto 44px;padding:4px 0}@media (max-width:760px){.result-table>div{grid-template-columns:12px 1fr auto 44px}.result-bar{grid-template-columns:120px 1fr 42px}}@media print{.annual-print-sheet header{margin-bottom:2mm}.annual-print-month>span{height:8.2mm}.annual-print-result{border-top:1px solid #9ba8a3;grid-template-columns:1fr 1.25fr;gap:7mm;margin-top:2mm;padding-top:2mm;display:grid}.annual-print-result h2{margin:0 0 1mm;font-size:8pt}.annual-print-result p{grid-template-columns:1fr auto;gap:3mm;margin:.7mm 0;font-size:6pt;line-height:1.2;display:grid}.annual-print-result p strong{font-variant-numeric:tabular-nums}.annual-print-graph p{grid-template-columns:29mm 1fr 10mm;align-items:center}.annual-print-graph p>i{background:#fff;border:1px solid #77847f;border-radius:99px;height:2.4mm;overflow:hidden}.annual-print-graph p>i>b{border-radius:inherit;min-width:1px;height:100%;display:block}.annual-print-sheet footer{margin-top:1.5mm;padding-top:1mm}}
