.optimizer{display:grid;grid-template-columns:minmax(260px,.7fr) 1.3fr;gap:clamp(35px,6vw,90px);padding:55px 0 45px;border-top:1px solid var(--line)}
.optimizer-intro h2{font:400 clamp(2rem,4vw,4.2rem)/.95 Georgia,serif;letter-spacing:-.04em;margin:10px 0 16px}.optimizer-intro>p:not(.eyebrow){color:var(--muted);line-height:1.5;max-width:430px}.budget-control{display:flex;align-items:center;gap:8px;margin-top:25px}.budget-control label{font-size:.72rem;font-weight:700}.budget-control input{width:58px;height:40px;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:4px;padding:0 8px;font:700 1rem inherit}.budget-control button{height:40px;border:0;background:var(--ink);color:var(--paper);padding:0 16px;border-radius:4px;cursor:pointer;font-weight:700}.budget-control button:hover{background:var(--red)}
.optimizer-summary{display:flex;gap:28px;padding-bottom:18px;border-bottom:1px solid var(--line)}.summary-value{font:400 2.2rem Georgia,serif;display:block}.summary-label{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.optimizer-list{list-style:none;margin:0;padding:0}.optimizer-item{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.optimizer-rank{font:italic 1.2rem Georgia,serif;color:var(--red)}.optimizer-item h3{font:600 .9rem inherit;margin:0 0 4px}.optimizer-item p{font-size:.7rem;color:var(--muted);margin:0}.optimizer-metric{text-align:right}.optimizer-metric strong{display:block;font:400 1.4rem Georgia,serif}.optimizer-metric span{font-size:.62rem;color:var(--muted)}.optimizer-note{font-size:.66rem;color:var(--muted);margin-top:14px}.leave-highlight,.leave-highlight-primary,.leave-highlight-partner,.leave-highlight-both,.family-care-highlight{background:color-mix(in srgb,#287a5b 15%,var(--white))}.day-row.leave-highlight.weekend,.day-row.leave-highlight-primary.weekend,.day-row.leave-highlight-partner.weekend,.day-row.leave-highlight-both.weekend,.day-row.family-care-highlight.weekend{background:color-mix(in srgb,#287a5b 15%,var(--weekend))}.day-row.leave-highlight.sunday,.day-row.leave-highlight-primary.sunday,.day-row.leave-highlight-partner.sunday,.day-row.leave-highlight-both.sunday,.day-row.family-care-highlight.sunday{background:color-mix(in srgb,#287a5b 15%,var(--sunday));color:var(--sunday-ink)}.day-row.leave-highlight.holiday,.day-row.leave-highlight-primary.holiday,.day-row.leave-highlight-partner.holiday,.day-row.leave-highlight-both.holiday,.day-row.family-care-highlight.holiday{background:color-mix(in srgb,#287a5b 18%,var(--red));color:#fff}.leave-highlight:before,.leave-highlight-primary:before,.leave-highlight-partner:before,.leave-highlight-both:before,.family-care-highlight:before{content:"";position:absolute;left:1px;top:1px;width:4px;height:calc(100% - 2px);background:#287a5b}
.period-badges{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}.period-badge{display:inline-flex;align-items:center;width:max-content;padding:4px 7px;border-radius:3px;font-size:.58rem;font-weight:750;letter-spacing:.02em}.period-badge-legal{background:color-mix(in srgb,#287a5b 16%,var(--white));color:#1f654a;border-left:3px solid #287a5b}.period-badge-employer{background:color-mix(in srgb,var(--red) 14%,var(--white));color:var(--red);border-left:3px solid var(--red)}.period-badge-detail{background:color-mix(in srgb,#4b63a7 12%,var(--white));color:#344b87}.optimizer-item.period-legal{background:color-mix(in srgb,#287a5b 5%,transparent);border-left:4px solid #287a5b;padding-left:10px}.optimizer-item.mandatory-period{background:color-mix(in srgb,var(--red) 5%,transparent);border-left:4px solid var(--red);padding-left:10px}.mandatory-period .optimizer-rank{color:var(--red)}.mandatory-period .optimizer-metric strong{font:700 .72rem inherit;color:var(--red)}
.day-row.leave-highlight-partner{background:color-mix(in srgb,#4b63a7 15%,var(--white))}.day-row.leave-highlight-partner.weekend{background:color-mix(in srgb,#4b63a7 15%,var(--weekend))}.day-row.leave-highlight-both{background:color-mix(in srgb,#287a5b 50%,#4b63a7)}.day-row.leave-highlight-both.weekend{background:color-mix(in srgb,#287a5b 20%,var(--weekend))}
@media(max-width:780px){.optimizer{grid-template-columns:1fr}.budget-control{flex-wrap:wrap}.optimizer-summary{gap:18px}.summary-value{font-size:1.7rem}}
.strategies{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:25px}.strategies label{position:relative;min-height:76px;border:1px solid var(--line);border-radius:5px;padding:10px;cursor:pointer}.strategies input{position:absolute;opacity:0}.strategies strong,.strategies span{display:block}.strategies strong{font-size:.72rem;margin-bottom:5px}.strategies span{font-size:.62rem;line-height:1.35;color:var(--muted)}.strategies label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--white)}.mandatory-block{margin:0 0 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.mandatory-block summary{cursor:pointer;font-size:.76rem;font-weight:700;list-style:none}.mandatory-block summary::-webkit-details-marker{display:none}.mandatory-block summary:after{content:'+';float:right;font-size:1rem}.mandatory-block[open] summary:after{content:'−'}.mandatory-block summary span{font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-left:6px}.mandatory-block>p{font-size:.68rem;line-height:1.45;color:var(--muted);margin:10px 0}.mandatory-block .planned-list{margin-bottom:0}
@media print{.optimizer{display:none}}

@media(min-width:1051px){html,body{height:100%;overflow:hidden}main{height:calc(100svh - 54px);padding-bottom:0}.insight{display:none}footer{display:none}}
.header-actions{justify-self:end;display:flex;gap:7px}.optimize-open{height:38px;border:0;border-radius:20px;background:var(--ink);color:var(--paper);padding:0 15px;font-weight:700;cursor:pointer}.optimizer{display:none;position:fixed;z-index:50;right:0;top:0;width:min(720px,94vw);height:100svh;background:var(--paper);padding:0;box-shadow:-20px 0 60px rgba(0,0,0,.18)}.optimizer.open{display:block}.drawer-head{height:88px;display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--line)}.drawer-head h2{font:400 2rem Georgia,serif;margin:3px 0 0}.drawer-head button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:1.5rem;cursor:pointer}.optimizer-scroll{height:calc(100svh - 88px);overflow:auto;padding:26px 28px 50px}.settings h3{font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;margin:0 0 10px}.workdays{display:flex;gap:6px;margin-bottom:25px}.workdays label{cursor:pointer}.workdays input{position:absolute;opacity:0}.workdays label{border:1px solid var(--line);border-radius:18px;padding:8px 12px;font-size:.72rem}.workdays label:has(input:checked){background:var(--ink);color:var(--paper)}.leave-type{display:grid;grid-template-columns:minmax(100px,1fr) 64px 125px 125px 32px;gap:7px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid var(--line)}.leave-type input,.planned-form input,.planned-form select{height:38px;border:1px solid var(--line);background:var(--white);padding:0 9px;color:var(--ink);min-width:0}.counter-principal{grid-column:1/-1;display:flex;align-items:center;gap:7px;font-size:.66rem;color:var(--muted)}.counter-principal input{width:15px;height:15px}.remove-type{border:0;background:transparent;font-size:1.2rem;cursor:pointer}.add-line{border:0;background:transparent;color:var(--red);padding:5px 0 22px;cursor:pointer}.legal-rule{display:flex;gap:9px;line-height:1.4;font-size:.78rem;padding:15px 0 25px;border-top:1px solid var(--line)}.planned-form{display:grid;grid-template-columns:80px 1fr 1fr auto;gap:6px}.planned-form button,.calculate{border:0;background:var(--ink);color:var(--paper);padding:0 12px;cursor:pointer}.planned-list{list-style:none;padding:0;margin:8px 0 22px;font-size:.72rem}.planned-list li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line)}.calculate{height:44px;width:100%;font-weight:700;border-radius:4px}.optimizer-output{margin-top:30px}.compliance{padding:12px;margin-bottom:15px;border-left:4px solid var(--bridge);background:color-mix(in srgb,var(--bridge) 25%,transparent);font-size:.76rem}.compliance.ok{border-color:#287a5b;background:color-mix(in srgb,#287a5b 12%,transparent)}.counter-balances{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 5px}.counter-balance{border:1px solid var(--line);border-radius:18px;padding:6px 10px;font-size:.66rem}.counter-balance strong{color:var(--red)}.drawer-backdrop{position:fixed;inset:0;border:0;background:rgba(20,20,18,.28);z-index:45;opacity:0;pointer-events:none;transition:opacity .2s}.drawer-backdrop.open{opacity:1;pointer-events:auto}@media(max-width:700px){.header-actions .today{display:none}.optimize-open{font-size:.7rem;padding:0 10px}.optimizer-scroll{padding:22px 18px}.planned-form{grid-template-columns:1fr 1fr}.optimizer-summary{flex-wrap:wrap}.leave-type{grid-template-columns:1fr 72px 32px}.leave-type .type-valid-from,.leave-type .type-expires-on{grid-column:1/-1}.leave-type .remove-type{grid-column:3;grid-row:1}.counter-principal{grid-column:1/-1}}
.constraint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.constraint-grid label{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:6px 0;font-size:.66rem;color:var(--muted)}.constraint-grid input{width:74px;height:34px;border:1px solid var(--line);background:var(--white);padding:0 8px;color:var(--ink)}.constraint-grid label:last-child{grid-column:1/-1}.preference-form{grid-template-columns:90px 1fr 1fr auto}.preference-list li{align-items:center;gap:6px;justify-content:flex-start}.preference-list li button{margin-left:auto;border:0;background:transparent;font-size:1rem;cursor:pointer}.preference-kind{font-weight:700}.preference-kind.preferred{color:#287a5b}.preference-kind.avoided{color:#9a681b}.preference-kind.forbidden{color:var(--red)}.constraint-report{margin:0 0 16px;padding:12px 14px;border:1px solid var(--line);font-size:.7rem;line-height:1.4}.constraint-report:empty{display:none}.constraint-report strong{font-size:.72rem}.constraint-report ul{margin:7px 0 0;padding-left:18px}.constraint-report li+li{margin-top:4px}.constraint-error{color:var(--red)}.constraint-warning{color:#85570f}.constraint-success{color:#287a5b}.period-reason{display:inline-block;margin:5px 6px 0 0;font-size:.6rem;color:#287a5b}.period-reason:before{content:'✓ ';font-weight:700}@media(max-width:700px){.constraint-grid{grid-template-columns:1fr}.constraint-grid label:last-child{grid-column:auto}.preference-form{grid-template-columns:1fr 1fr}.preference-form select{grid-column:1/-1}.preference-form button{height:38px}}
.drawer-open,.drawer-open body{overflow:clip}.optimizer-scroll{overflow-x:hidden}@media(max-width:700px){.optimizer{width:100vw;max-width:100vw}.drawer-head{padding:18px}.drawer-head h2{font-size:1.85rem}}
.data-preferences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0 8px}.data-preferences label{display:flex;flex-direction:column;gap:6px;font-size:.62rem;line-height:1.25;color:var(--muted)}.data-preferences select{width:100%;height:36px;border:1px solid var(--line);background:var(--white);padding:0 8px;color:var(--ink)}.data-preference-note{font-size:.61rem!important;margin:6px 0 14px!important}.period-reason{display:block}@media(max-width:700px){.data-preferences{grid-template-columns:1fr}.data-preferences label{display:grid;grid-template-columns:1fr 145px;align-items:center}}
.scenario-block{margin-top:18px}.profile-name{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,1.3fr);align-items:center;gap:10px;font-size:.66rem;color:var(--muted)}.profile-name input{height:36px;min-width:0;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:0 9px}.scenario-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.scenario-actions button{min-height:36px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:7px 9px;cursor:pointer;font-size:.68rem}.scenario-actions button:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}.save-status{margin-bottom:0!important}@media(max-width:420px){.profile-name{grid-template-columns:1fr}.scenario-actions{grid-template-columns:1fr}}
.scenario-actions .scenario-save{border-color:#287a5b;color:#1f654a;background:color-mix(in srgb,#287a5b 9%,transparent)}.scenario-actions .scenario-save:hover{background:#287a5b;color:#fff}.scenario-actions .scenario-reset{border-color:color-mix(in srgb,var(--red) 55%,var(--line));color:var(--red)}.scenario-actions .scenario-reset:hover{background:var(--red);color:#fff}
[hidden]{display:none!important}.planner-mode{display:grid;grid-template-columns:1fr 1fr;margin:-4px 0 18px;border-bottom:1px solid var(--line)}.planner-mode button{height:42px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:750;cursor:pointer}.planner-mode button.active{border-color:var(--red);color:var(--ink)}.adult-name{display:grid;grid-template-columns:minmax(130px,1fr) minmax(150px,1.3fr);align-items:center;gap:10px;margin-bottom:22px;font-size:.68rem;color:var(--muted)}.adult-name input,.partner-reserve input{height:36px;min-width:0;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:0 9px}.partner-settings{margin:28px 0 8px;padding-top:24px;border-top:3px double var(--line)}.partner-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:15px}.partner-heading .eyebrow{margin:0}.partner-heading h3{font:400 1.55rem Georgia,serif;text-transform:none;letter-spacing:-.02em;margin:0}.partner-reserve{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-12px 0 20px;font-size:.68rem;color:var(--muted)}.partner-reserve input{width:78px}.couple-compliance{display:grid;gap:5px}.couple-legend{display:flex;align-items:center;gap:7px;margin:-5px 0 12px;font-size:.66rem;color:var(--muted)}.couple-legend span{width:9px;height:9px;border-radius:50%;margin-left:7px}.couple-legend span:first-child{margin-left:0}.primary-dot{background:#287a5b}.partner-dot{background:#4b63a7}.both-dot{background:linear-gradient(90deg,#287a5b 50%,#4b63a7 50%)}.counter-owner{flex-basis:100%;margin-top:7px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.empty-result{padding:18px 0;color:var(--muted);font-size:.74rem}.leave-highlight-primary:before,.leave-highlight-partner:before,.leave-highlight-both:before{content:"";position:absolute;left:1px;top:1px;width:4px;height:calc(100% - 2px);background:#287a5b}.leave-highlight-partner:before{background:#4b63a7}.leave-highlight-both:before{width:6px;background:linear-gradient(90deg,#287a5b 50%,#4b63a7 50%)}@media(max-width:700px){.adult-name{grid-template-columns:1fr}.couple-period{grid-template-columns:30px 1fr}.couple-period .optimizer-metric{grid-column:2;text-align:left}.couple-legend{flex-wrap:wrap}}
.advanced-settings{margin-top:-10px}.advanced-settings h3{margin-top:16px}.advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 16px}.advanced-grid label{display:flex;flex-direction:column;gap:5px;font-size:.64rem;color:var(--muted)}.advanced-grid input,.advanced-grid select{height:36px;min-width:0;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:0 8px}.advanced-grid .check-setting{flex-direction:row;align-items:center;line-height:1.35}.advanced-grid .check-setting input{width:16px;height:16px;flex:0 0 auto}.compact-days{gap:4px;margin-bottom:14px;flex-wrap:wrap}.compact-days label{padding:6px 9px;font-size:.64rem}.company-grid{padding-top:12px;border-top:1px solid var(--line)}@media(max-width:520px){.advanced-grid{grid-template-columns:1fr}.workdays{flex-wrap:wrap}}
.workday-note{display:flex;align-items:center;gap:7px;margin:-16px 0 24px!important;font-size:.61rem!important;color:var(--muted)}.workday-note .swatch{flex:0 0 auto}.festive-block h3{display:flex;align-items:center;justify-content:space-between}.festive-block h3 span{font-size:.56rem;color:var(--muted);letter-spacing:.08em}.festive-preferences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 25px}.festive-preferences label{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer}.festive-preferences input{width:15px;height:15px;margin:1px 0 0;accent-color:var(--red)}.festive-preferences strong,.festive-preferences small{display:block}.festive-preferences strong{font-size:.72rem;line-height:1.2}.festive-preferences small{margin-top:3px;font-size:.6rem;line-height:1.3;color:var(--muted)}.festive-preferences label:has(input:checked) strong{color:var(--red)}@media(max-width:420px){.festive-preferences{grid-template-columns:1fr;gap:2px}}
