:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#183e35;background:#f4f6f2;line-height:1.6;font-size:16px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{background:#153e34;color:white;padding:32px 0}.wrap{max-width:1440px;margin:auto;padding:0 28px}.brand{font-size:.8rem;letter-spacing:.06em}.badge{background:#d9e8b2;color:#284a2e;border-radius:20px;padding:4px 10px;display:inline-block}h1{font-size:clamp(1.7rem,4vw,2.6rem);margin:16px 0}h2{font-size:1.4rem;margin:10px 0}h3{font-size:1.08rem}.annotation{margin:8px 0;font-size:.94rem}.notice{margin:24px 0;background:#fff2d2;border-left:4px solid #a57925;padding:16px;font-size:.9rem}.tabs{display:flex;gap:10px;border-bottom:1px solid #bdcfc1;padding-bottom:14px;margin-bottom:24px}.tabs button[aria-pressed=true]{background:#1c5a46;color:white}.tabs button[aria-pressed=false]{background:white;color:#1b4e3d}button,input,select,textarea{font:inherit}button{border:1px solid #1c5a46;background:#1c5a46;color:white;padding:10px 16px;min-height:44px;border-radius:6px;font-weight:600;cursor:pointer}button.secondary{background:white;color:#1c5a46;border-color:#9ab3a6}button:disabled{opacity:.5;cursor:default}button:hover:enabled{filter:brightness(.94)}:focus-visible{outline:3px solid #b88017;outline-offset:3px}label{font-size:.9rem;font-weight:600;display:block}input:not([type=checkbox]),select,textarea{display:block;max-width:100%;width:100%;min-width:0;border:1px solid #9db5a7;background:white;color:#183e35;border-radius:5px;padding:10px;min-height:44px;margin-top:6px}textarea{resize:vertical;line-height:1.6}input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:6px;flex-shrink:0}.section-head,.toolbar,.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.section-head{justify-content:space-between}.toolbar{margin:20px 0;align-items:end}.toolbar label{min-width:130px}.eyebrow{color:#537c62;font-weight:700;font-size:.75rem;letter-spacing:.08em}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.metric{background:white;border:1px solid #d2dfd2;border-radius:8px;padding:14px 18px}.metric strong{display:block;font-size:1.7rem}.muted,footer{font-size:.84rem;color:#526b5a}.filter{margin:16px 0}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:16px 0 28px}.day{min-width:0;border:1px solid #c9d8c9;background:white;border-radius:8px;overflow:hidden}.day h3{background:#e8efe5;padding:10px;margin:0}.day.outside{opacity:.65}.slot{padding:10px;font-size:.8rem;border-top:1px solid #e2e9df;overflow-wrap:anywhere}.slot strong{display:block}.low{display:block;color:#9b4114;background:#fff0df;padding:3px 5px;border-radius:4px}.good{color:#27663d;display:block}.person{display:block;margin-top:5px;padding:3px 5px;background:#eef4eb;border-radius:4px}.problem{background:#fff0df;color:#923913}.blank{min-height:30px}.panel{background:white;border:1px solid #d1ddcd;border-radius:10px;padding:24px;margin:26px 0}.fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.selection{background:#eff4ea;padding:12px}.consent{padding:16px;background:#f4f6ec;margin:16px 0;display:flex;align-items:start}.error{color:#9b381b;white-space:pre-line}.checks{display:flex;gap:8px;flex-wrap:wrap}.checks label{border:1px solid #cad8c5;border-radius:5px;padding:10px;min-height:44px;display:flex;align-items:center}fieldset{border:1px solid #c4d4c3;border-radius:6px;margin:20px 0;padding:14px}.registration-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.staff-card{background:white;border:1px solid #cddbcc;padding:16px;border-radius:8px;overflow-wrap:anywhere}details{margin:14px 0}summary{cursor:pointer;font-weight:600}.actions{margin:18px 0}#result{white-space:pre-line}#status{font-weight:600;white-space:pre-line;margin:20px 0}footer{padding:20px 0 36px}dialog{width:calc(100% - 32px);max-width:560px;border:1px solid #799b7c;border-radius:10px;color:#183e35;padding:24px}dialog p{white-space:pre-line}dialog::backdrop{background:#183d3499}@media(min-width:601px) and (max-width:1000px){.calendar{grid-template-columns:repeat(3,minmax(0,1fr))}.blank{display:none}}@media(max-width:600px){.wrap{padding:0 16px}header{padding:24px 0}.tabs{display:grid;grid-template-columns:1fr 1fr}.tabs button{padding:10px 6px;font-size:.84rem}.calendar{grid-template-columns:minmax(0,1fr)}.blank{display:none}.fields,.registration-list{grid-template-columns:minmax(0,1fr)}.panel{padding:16px}.metrics{gap:6px}.metric{padding:10px 8px;font-size:.75rem}.metric strong{font-size:1.35rem}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar label{min-width:0}.toolbar label:first-of-type{grid-column:span 2;grid-row:1}.toolbar button{width:100%}.day h3{padding:10px 14px}.slot{font-size:.9rem}.actions{align-items:stretch}.actions button{flex:1}.consent{padding:12px}.checks{gap:6px}h1{line-height:1.4}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.creation-summary{background:#edf5e9;border:2px solid #6b9866;border-radius:9px;padding:18px;margin:20px 0 0}.creation-summary h3{font-size:1.15rem;margin:0 0 14px}.comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.comparison-card{background:white;border-radius:7px;padding:14px;min-width:0}.comparison-card span{display:block;font-size:.85rem}.comparison-card strong{font-size:1.45rem;display:block;overflow-wrap:anywhere}.creation-summary:focus{outline:3px solid #a57a20;outline-offset:3px}#generate{font-size:1.1rem;min-width:220px;min-height:52px}#remaining-shortages{padding-left:22px}#result{white-space:normal}@media(max-width:600px){.comparison{grid-template-columns:minmax(0,1fr);gap:8px}.comparison-card{display:flex;justify-content:space-between;align-items:center;gap:12px}.comparison-card strong{font-size:1.35rem}.creation-summary{padding:14px}#generate{min-width:0;width:100%}}

.screen-switch{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 28px}.screen-switch-label{font-size:.8rem;color:#566a7b}.screen-switch .tabs{margin:0;padding:5px;gap:4px;border:1px solid #cbd5df;border-radius:9px;background:#edf1f5}.screen-switch .tabs button{font-size:.85rem;font-weight:500;min-height:38px;padding:7px 13px;background:transparent;color:#43596d;border:1px solid transparent}.screen-switch .tabs button[aria-selected=true]{background:white;color:#244a72;border-color:#a3b6c7;box-shadow:0 1px 3px #203b4d20}#generate{background:#1c5a46;color:white;font-weight:700}#continuity-notes{font-size:.88rem;color:#73521e}@media(max-width:600px){.screen-switch{justify-content:flex-end;gap:6px}.screen-switch-label{width:100%;text-align:right}.screen-switch .tabs{display:flex}.screen-switch .tabs button{font-size:.8rem;padding:7px 9px}}
