:root{color-scheme:light;--planner-brand-green: #7cc68d;--planner-brand-teal: #b7d5d3;--planner-brand-yellow: #d6cc85;--planner-brand-clay: #ddbdac;--planner-brand-green-dark: #3f704a;--planner-brand-green-hover: #345f3e;--planner-brand-green-soft: #eaf4eb;--planner-brand-green-pale: #f2f7f1;--planner-brand-teal-soft: #e1eeed;--planner-brand-yellow-soft: #f6f2dd;--planner-brand-clay-soft: #f1e4dc;--planner-page-bg: #faf9f6;--planner-surface: #fff;--planner-text: #333;--planner-muted: #666;--planner-border: #e8e2db;--planner-border-strong: #d7cfc7;--planner-danger: #9d3939;--planner-danger-soft: #ffebe8;--planner-danger-soft-hover: #ffe3df;--planner-warning-text: #756119;font-family:Cabin,Segoe UI,sans-serif;color:var(--planner-text);background:var(--planner-page-bg)}h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:400}body{min-width:320px;min-height:100vh;margin:0;background:var(--planner-page-bg)}app-root>main{box-sizing:border-box;width:100%;margin:0;padding:0 clamp(.75rem,1.5vw,1.5rem) 2rem}app-root .page-header{margin:0 0 .75rem;padding-top:1rem}app-root .page-header .eyebrow{margin:0 0 .5rem;color:var(--planner-brand-green-dark);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}app-root .page-header h1{margin:0 0 .25rem;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.04em}app-root .page-header .intro{margin:0;color:var(--planner-muted)}app-root .main-navigation{display:flex;position:sticky;z-index:20;top:0;align-items:center;gap:1rem;min-height:3.8rem;margin:0 calc(-1*clamp(.75rem,1.5vw,1.5rem));padding:.45rem clamp(.75rem,1.5vw,1.5rem);border-bottom:1px solid var(--planner-border);background:color-mix(in srgb,var(--planner-page-bg) 94%,transparent);box-shadow:0 3px 14px #23352712;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}app-root .nav-brand{display:inline-flex;flex:0 0 auto;align-items:center;gap:.55rem;color:var(--planner-brand-green-dark);font-weight:750;text-decoration:none}app-root .nav-brand-mark{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.65rem;color:var(--planner-surface);background:var(--planner-brand-green-dark);font-family:inherit;font-size:1.35rem}app-root .nav-links{display:flex;flex:1 1 auto;align-items:center;gap:.25rem;overflow-x:auto}app-root .active-year-control{display:flex;flex:0 0 auto;align-items:center;gap:.4rem;margin:0}app-root .active-year-control label{display:block;margin:0}app-root .active-year-control select{width:7rem}app-root .app-version{flex:0 0 auto;border:1px solid var(--planner-border);border-radius:999px;padding:.3rem .55rem;color:var(--planner-muted);background:var(--planner-surface);font-size:.72rem;font-variant-numeric:tabular-nums}app-root .main-navigation .nav-links a{display:inline-flex;align-items:center;min-height:2.35rem;border:0;border-radius:.6rem;padding:.45rem .8rem;color:var(--planner-muted);background:transparent;font:inherit;font-size:.9rem;font-weight:650;text-decoration:none}app-root .main-navigation .nav-links a:hover{color:var(--planner-brand-green-dark);background:var(--planner-brand-green-soft)}app-root .main-navigation .nav-links a.active{color:var(--planner-surface);background:var(--planner-brand-green-dark)}@media(max-width:760px){app-root .main-navigation{flex-wrap:wrap;gap:.5rem;padding-top:.5rem;padding-bottom:.5rem}app-root .nav-links{order:3;flex-basis:100%}app-root .active-year-control{margin-left:auto}}@media(max-width:480px){app-root .main-navigation .nav-links a{flex:0 0 auto;padding-right:.6rem;padding-left:.6rem;font-size:.82rem}}app-root .midwife-accordion{grid-column:1 / -1;border-top:1px solid var(--planner-border)}app-root .midwife-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem 0;font-weight:700;cursor:pointer}app-root .midwife-accordion summary:after{content:"+";color:var(--planner-brand-green-dark);font-size:1.1rem}app-root .midwife-accordion[open]>summary:after{content:"-"}.general-page,.generator-page{grid-template-columns:minmax(0,1fr)}.schedule-page{grid-template-columns:minmax(0,1fr);grid-template-areas:"calendar" "workload" "editor";align-items:start}.schedule-page .workload-panel{grid-area:workload}.schedule-page .calendar-panel{grid-area:calendar}.schedule-page .item-editor{grid-area:editor}.schedule-page .item-editor .item-form{grid-template-columns:minmax(0,1fr)}.workload-controls{display:flex;align-items:end;flex-wrap:wrap;gap:.65rem;margin-bottom:.55rem}.workload-date-control{display:grid;width:16rem;gap:.25rem;margin-bottom:.55rem}.workload-date-control input{width:100%}.general-settings-form{display:grid;gap:.85rem}.general-setting-group{border-bottom:1px solid var(--planner-border);padding-bottom:.75rem}.general-setting-group h4,.settings-subheading h5{margin:0 0 .55rem;color:var(--planner-brand-green-dark);font-size:.92rem}.settings-field-list{display:grid;gap:.65rem}.settings-field-row,.settings-subheading{display:grid;grid-template-columns:minmax(14rem,24rem) minmax(9rem,12rem) minmax(14rem,1fr);align-items:center;gap:.9rem;max-width:80rem}.settings-field-row>label{display:block;color:var(--planner-text);font-size:.82rem;font-weight:600}.settings-help{margin:0;color:var(--planner-muted);font-size:.78rem;font-weight:400}.settings-unit{display:flex;align-items:center;gap:.5rem}.settings-unit input{width:8rem}.settings-subheading{margin:.9rem 0 .5rem}.settings-subheading h5{grid-column:1}.settings-subheading>span{grid-column:2}.settings-subheading h5{margin-bottom:0}.general-setting-group>.button{margin-top:.65rem}.workload-table{width:100%;min-width:740px;table-layout:fixed;border-collapse:collapse;color:var(--planner-text);font-size:.78rem}.workload-table th:nth-child(1){width:17%}.workload-table th:nth-child(2){width:5%}.workload-table th:nth-child(3){width:8%}.workload-table th:nth-child(4){width:8%}.workload-table th:nth-child(5),.workload-table th:nth-child(6){width:22%}.workload-table th:nth-child(7){width:18%}.weekday-count-table{min-width:760px;table-layout:auto}.weekday-count-table th:nth-child(1){width:22%}.weekday-count-table th:nth-child(n+2){width:9.75%;text-align:center}.weekday-count-table tbody td{text-align:center}.weekday-count-total{font-weight:700;background:var(--planner-brand-teal-soft)}.weekday-count-table tbody th small{display:block;color:var(--planner-muted);font-size:.68rem;font-weight:500}.weekday-report{margin-top:1.5rem}.weekday-report h4{margin:0 0 .65rem;color:var(--planner-text)}.workload-table-wrap{max-width:100%;overflow-x:auto}.workload-table th,.workload-table td{padding:.42rem .55rem;border-bottom:1px solid var(--planner-border);text-align:left;overflow-wrap:normal;vertical-align:middle}.workload-table thead th{color:var(--planner-brand-green-dark);background:var(--planner-brand-teal-soft);font-size:.72rem;vertical-align:bottom}.workload-table tbody th{font-weight:700;overflow-wrap:normal;white-space:nowrap}.generation-progress{margin-top:1rem}.generation-progress p{margin:0 0 .4rem;color:var(--planner-brand-green-dark);font-size:.85rem}.progress-track{height:.65rem;overflow:hidden;border-radius:999px;background:var(--planner-brand-clay-soft)}.progress-fill{height:100%;border-radius:inherit;background:var(--planner-brand-green);transition:width .25s ease}.workload-table tfoot th,.workload-table tfoot td{border-top:2px solid var(--planner-border-strong);background:var(--planner-brand-teal-soft);font-weight:750}.workload-table td>span:not(.workload-score){color:var(--planner-muted)}.workload-score{display:inline-block;border-radius:999px;margin-left:.15rem;padding:.18rem .45rem;font-size:.72rem;font-weight:750}.score-good{color:var(--planner-brand-green-dark);background:var(--planner-brand-green-soft)}.score-bad{color:var(--planner-danger);background:var(--planner-danger-soft)}.workload-score-note{margin:0 0 .45rem;color:var(--planner-muted);font-size:.74rem}.calendar-controls{display:flex;align-items:end;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem}.scheduler-alert-link{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:1px solid var(--planner-danger);border-radius:50%;color:var(--planner-danger);background:var(--planner-danger-soft);font-size:1.15rem;line-height:1;text-decoration:none}.scheduler-alert-link:hover,.scheduler-alert-link:focus-visible{background:var(--planner-danger-soft-hover)}.week-navigation{display:flex;align-items:end;gap:.25rem}.view-mode-control{display:flex;align-items:center;gap:.25rem;color:var(--planner-muted);font-size:.78rem}.scheduler-row-filters{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;padding:.25rem .45rem;border:1px solid var(--planner-border);border-radius:.4rem;color:var(--planner-muted);font-size:.78rem}.scheduler-row-filters label{display:inline-flex;align-items:center;gap:.22rem;margin:0;white-space:nowrap;cursor:pointer}.scheduler-row-filters input[type=checkbox]{width:auto;margin:0;accent-color:var(--planner-brand-green-dark)}.scheduler-settings-menu{position:relative;align-self:end}.scheduler-settings-toggle{display:flex;width:2.2rem;height:2.2rem;align-items:center;justify-content:center;list-style:none;cursor:pointer}.scheduler-settings-toggle::-webkit-details-marker{display:none}.scheduler-settings-panel{position:absolute;top:calc(100% + .35rem);right:0;z-index:20;display:grid;min-width:15rem;gap:.7rem;padding:.75rem;border:1px solid var(--planner-border-strong);border-radius:.55rem;background:var(--planner-surface);box-shadow:0 .45rem 1.1rem #00000029}.scheduler-settings-panel .view-mode-control{justify-content:space-between}.scheduler-settings-panel .scheduler-row-filters{flex-direction:column;align-items:flex-start;gap:.4rem;padding:0;border:0}.calendar-window.compact-scheduler .calendar-event{gap:0;padding:.2rem .3rem}.calendar-window.compact-scheduler .calendar-cell{min-height:0}.consultation-event-group{display:contents}.calendar-window.compact-scheduler .compact-consultation-group{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:start;gap:.18rem}.active-week-control{width:4.25rem}.weeks-to-show-control{width:8.5rem;font-size:.78rem}.active-week-control input{text-align:center}.calendar-window{box-sizing:border-box;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;border:1px solid var(--planner-border);border-radius:.65rem;background:var(--planner-surface)}.calendar-grid{width:100%;min-width:680px}.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:100px repeat(7,minmax(0,1fr))}.calendar-weekdays{border-bottom:1px solid var(--planner-border-strong);background:var(--planner-brand-teal-soft);color:var(--planner-brand-green-dark);font-size:.82rem;font-weight:700;text-align:center}.calendar-weekdays>div{padding:.4rem .25rem}.calendar-week{border-bottom:1px solid var(--planner-border)}.calendar-date,.calendar-cell{min-width:0;border-right:1px solid var(--planner-border);border-bottom:1px solid var(--planner-border);background:var(--planner-surface)}.calendar-date{display:flex;min-height:1.65rem;align-items:center;justify-content:center;padding:.2rem .12rem;color:var(--planner-brand-green-dark);font-size:.84rem;font-weight:700;text-transform:capitalize}.calendar-cell{display:grid;min-height:2.1rem;align-content:start;gap:.18rem;padding:.2rem}.days-off-cell,.calendar-holiday-cell{display:flex;min-height:1.55rem;flex-wrap:wrap;align-content:center;align-items:center;gap:.15rem;padding:.12rem .18rem}.calendar-holiday-badge{max-width:100%;overflow:hidden;border-radius:999px;padding:.1rem .32rem;color:var(--planner-warning-text);background:var(--planner-brand-yellow-soft);font-size:.62rem;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.calendar-holiday-form{display:grid;grid-template-columns:minmax(9rem,.7fr) minmax(12rem,1.3fr) auto;align-items:end;gap:.55rem}.calendar-holiday-actions{display:flex;flex-wrap:wrap;gap:.4rem}.calendar-holiday-list-header{display:flex;align-items:end;justify-content:space-between;gap:.7rem;margin:.7rem 0 .4rem}.calendar-holiday-list{display:grid;max-height:19rem;gap:.3rem;overflow:auto}.calendar-holiday-row{display:grid;grid-template-columns:8rem minmax(8rem,1fr) auto auto;align-items:center;gap:.45rem;border-radius:.45rem;padding:.35rem .45rem;background:var(--planner-brand-green-pale);font-size:.82rem}.calendar-holiday-row time{color:var(--planner-muted);white-space:nowrap}.day-off-badge{display:inline-block;max-width:100%;overflow:hidden;border-radius:999px;padding:.1rem .32rem;font-size:.62rem;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.calendar-week-row-label{display:flex;align-items:flex-start;padding:.25rem .12rem;border-right:1px solid var(--planner-border);border-bottom:1px solid var(--planner-border);color:var(--planner-muted);background:var(--planner-brand-green-pale);font-size:.6rem;letter-spacing:.02em;text-transform:uppercase}.consultation-week-label{flex-direction:column;gap:.2rem}.weekly-consultation-total{color:var(--planner-brand-green-dark);font-size:.58rem;font-weight:600;letter-spacing:0;text-transform:none;white-space:nowrap}.calendar-row-spacer{align-items:center;justify-content:center;text-transform:none;background:var(--planner-brand-teal-soft)}.calendar-row-spacer.active-week-number{color:var(--planner-surface);background:var(--planner-brand-green-dark)}.calendar-day-empty{background:var(--planner-page-bg)}.calendar-weekdays>div.calendar-weekend,.calendar-date.calendar-weekend,.calendar-cell.calendar-weekend{background-color:#f4f1eb}.calendar-date.focus-day{color:var(--planner-surface);background:var(--planner-brand-green-dark)}.calendar-date.missing-duty-date{color:var(--planner-danger);background:var(--planner-danger-soft)}.calendar-date.focus-day.missing-duty-date{color:var(--planner-surface);background:var(--planner-danger)}.calendar-cell.missing-duty-cell{background:var(--planner-danger-soft)}.calendar-event{position:relative;display:grid;gap:.15rem;border-radius:.35rem;padding:.3rem;font-size:.72rem;overflow-wrap:anywhere}.calendar-event>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event:hover>strong,.calendar-event:focus-within>strong{padding-right:2.75rem}.event-time{color:inherit;opacity:.85;font-size:.7rem}.empty-lane{color:var(--planner-muted);font-size:.7rem}.missing-duty-cell .empty-lane{color:var(--planner-danger);font-weight:700}.calendar-actions{position:absolute;top:.2rem;right:.2rem;display:flex;gap:.25rem;opacity:0;pointer-events:none;transition:opacity .12s ease}.calendar-event:hover .calendar-actions,.calendar-event:focus-within .calendar-actions{opacity:1;pointer-events:auto}.calendar-actions .button{display:inline-flex;width:1.35rem;min-width:1.35rem;height:1.35rem;min-height:1.35rem;align-items:center;justify-content:center;padding:0;font-size:.8rem;line-height:1}.ultrasound-warning{justify-self:end;border-radius:.2rem;padding:.05rem .25rem;color:#7f1d1d;background:var(--planner-surface);font-size:.65rem;font-weight:650;text-align:right}.fields label.checkbox-field{display:flex;align-items:center;align-self:end;gap:.45rem;min-height:2.3rem}.fields label.checkbox-field input{width:1rem;min-height:1rem;height:1rem;margin:0;accent-color:var(--planner-brand-green-dark)}.observer-details h3{margin:0}.observer-details small{color:var(--planner-muted)}@media(hover:none){.calendar-actions{opacity:1;pointer-events:auto}.calendar-event>strong{padding-right:2.75rem}}@media(max-width:800px){.settings-field-row,.settings-subheading{grid-template-columns:1fr}.calendar-holiday-form{grid-template-columns:repeat(2,minmax(8rem,1fr))}.calendar-holiday-actions{grid-column:1 / -1}.calendar-holiday-row{grid-template-columns:minmax(7rem,auto) minmax(6rem,1fr) auto}.calendar-holiday-row button:last-child{grid-column:3}}@media(prefers-reduced-motion:reduce){.calendar-actions{transition:none}}
