:root{font-family:ui-rounded,Avenir Next,Avenir,Segoe UI,system-ui,sans-serif;color:#17364b;background:#edf8fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(135deg,#f6fcfd,#e4f6f8)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #f3ab48;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{max-width:1380px;margin:auto;padding:0 38px 80px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cdd6ca}.wordmark{font:500 18px DM Mono,monospace;letter-spacing:.14em}.wordmark i{font-style:normal;font-size:10px;letter-spacing:0;background:#d9f58a;padding:5px 7px;margin-left:6px}.topbar-note{font-size:12px;color:#66766a}.page-intro{max-width:780px;padding:47px 0 30px}.eyebrow{font:500 11px DM Mono,monospace;letter-spacing:.16em;text-transform:uppercase;color:#426d54;margin:0 0 14px}.page-intro h1{font-size:clamp(34px,5vw,60px);line-height:1.05;letter-spacing:-.055em;margin:0 0 17px}.page-intro>p:last-child{font-size:16px;line-height:1.65;color:#5c6b60;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-bottom:1px solid #cdd6ca;padding-bottom:18px}.steps button{display:flex;align-items:center;gap:11px;text-align:left;border:1px solid #cbd4ca;background:#fff;border-radius:9px;padding:14px 17px;color:#41584a;font-weight:700}.steps button span{font:500 12px DM Mono}.steps button.current{background:#174b31;color:#fff;border-color:#174b31}.step-content{padding:32px 0}.section-title{margin:0 0 18px}.section-title h2,.results-intro h2{font-size:25px;letter-spacing:-.035em;margin:0 0 5px}.section-title p,.results-intro p{font-size:13px;color:#647268;margin:0}.form-card,.group-panel,.month-card,.individual-view{background:#fff;border:1px solid #d5ddd3;border-radius:12px;box-shadow:0 4px 16px #16362109}.form-card{padding:24px}.form-card h3{margin:0 0 5px}.form-card>p{color:#69776c;font-size:13px;margin:0 0 20px}.field-pair,.exception-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field-pair{max-width:700px}label{display:block;font-size:12px;font-weight:700;color:#284636}input:not([type=checkbox]):not([type=color]),select,textarea{display:block;width:100%;margin-top:7px;padding:10px 12px;border:1px solid #bacbbb;border-radius:7px;background:#fff;color:#173027;min-height:43px}input[type=color]{width:54px;height:43px;padding:2px;border:1px solid #bacbbb;border-radius:7px;background:#fff;margin-top:7px}textarea{resize:vertical;line-height:1.45}.form-help{font-size:12px;color:#6a786d;margin:15px 0 0}.step-content>.section-title:not(:first-child){margin-top:36px}.date-add{display:flex;align-items:end;gap:10px}.date-add label{flex:1}.date-add button,.secondary-action,.print-button{border:1px solid #a9beb0;border-radius:7px;background:#fff;color:#174b31;padding:11px 15px;font-weight:700;font-size:12px}.date-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.date-list button{border:1px solid #d4ddd1;border-radius:20px;background:#eef3ea;color:#214632;padding:7px 11px;font-size:11px}.date-list b{margin-left:8px;font-size:15px}.notice{padding:13px 16px;border-left:4px solid #b76036;background:#fff0e8;color:#733b20;border-radius:5px;font-size:13px}.primary-action{display:flex;align-items:center;justify-content:space-between;gap:45px;margin-top:28px;border:0;border-radius:8px;background:#174b31;color:#fff;padding:14px 18px;font-weight:800}.primary-action span{font-size:20px;line-height:1}.group-panel{padding:24px;margin:0 0 19px;border-top:5px solid #ce593f}.group-heading,.group-heading>div{display:flex;align-items:center;gap:12px}.group-heading{justify-content:space-between;margin-bottom:22px}.group-heading h3{font-size:22px;margin:0;letter-spacing:-.035em}.group-index{display:grid;place-items:center;color:#fff;font-weight:800;width:35px;height:35px;border-radius:8px}.text-action{border:0;background:none;color:#994737;font-size:12px;text-decoration:underline}.group-basics{display:grid;grid-template-columns:1.5fr 100px 1fr 1fr 1fr;gap:13px}.group-basics.lower{grid-template-columns:minmax(260px,1fr) minmax(360px,1.2fr);margin-top:18px}.weekday-field,.mini-weekdays{border:0;padding:0;margin:0;min-width:0}.weekday-field legend,.mini-weekdays legend{font-size:12px;font-weight:700;color:#284636;margin-bottom:7px}.weekday-field>div{display:flex;gap:5px;flex-wrap:wrap}.weekday-field label{position:relative;text-align:center}.weekday-field input{position:absolute;opacity:0}.weekday-field span{display:grid;place-items:center;width:37px;height:37px;border:1px solid #bdcdbd;border-radius:7px;color:#45624d}.weekday-field input:checked+span{background:#174b31;color:#fff;border-color:#174b31}.weekday-field input:focus-visible+span{outline:3px solid #ea9b43}.weekday-field small{display:block;font-size:9px;font-weight:500;margin-top:4px}.staffing-summary{display:grid;gap:3px;margin:20px 0;padding:15px;background:#eaf2e6;border-radius:8px;font-size:12px}.staffing-summary strong{font-size:15px}.staffing-summary .danger{color:#a13c2d;font-weight:700}.advanced{border-top:1px solid #e0e6de;padding:15px 0}.advanced summary,.result-details summary{cursor:pointer;font-weight:700;font-size:13px}.advanced[open] summary{margin-bottom:18px}.checkline{display:flex;align-items:center;gap:8px;margin:12px 0}.checkline input{accent-color:#174b31}.zone-edit{display:grid;grid-template-columns:1fr 110px 35px 35px 35px;gap:7px;align-items:end;margin-bottom:8px}.zone-edit button{height:43px;border:1px solid #c4d1c3;background:#fff;border-radius:6px}.teacher-edit,.restriction-edit{display:grid;grid-template-columns:150px 110px 1fr;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #e2e9e0}.restriction-edit{grid-template-columns:150px 1fr 1fr}.teacher-edit strong,.restriction-edit strong{font-size:12px}.mini-weekdays{display:flex;align-items:center;gap:9px}.mini-weekdays legend{float:left;margin:0 12px 0 0}.mini-weekdays label{font:12px DM Mono}.mini-weekdays input{accent-color:#174b31}.add-group{margin-top:5px}.result-toolbar,.results-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.segmented{display:inline-flex;border:1px solid #b9cabc;border-radius:8px;background:#fff;padding:3px}.segmented button{border:0;background:transparent;border-radius:5px;padding:9px 13px;font-size:12px;font-weight:700;color:#415b48}.segmented button.selected{background:#174b31;color:#fff}.segmented.small button{padding:7px 11px}.print-button{background:#174b31;color:#fff;border-color:#174b31}.calendar-legend{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 21px}.calendar-legend span{font-size:11px;background:#fff;border:1px solid #d7e0d4;border-radius:6px;padding:8px 10px}.calendar-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}.months{display:grid;gap:22px}.month-card{padding:18px}.month-card h3{text-transform:capitalize;margin:0 0 16px;font-size:21px;letter-spacing:-.03em}.month-scroll{overflow-x:auto}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));min-width:826px;border-top:1px solid #d5ddd3;border-left:1px solid #d5ddd3}.weekday-head{padding:9px;font:500 11px DM Mono;text-align:center;background:#e8efe7;border-right:1px solid #d5ddd3;border-bottom:1px solid #d5ddd3}.day-cell{min-height:108px;padding:7px;border-right:1px solid #d5ddd3;border-bottom:1px solid #d5ddd3;background:#fff}.day-cell.outside{background:#f1f3ef}.day-cell.no-playground{background:#f7eae2}.day-cell.special{background:#edf3df}.day-cell time{display:block;font:700 12px DM Mono;margin-bottom:6px}.day-status{display:block;font-size:10px;font-weight:800;margin:5px 0;color:#713b25}.special .day-status{color:#3a602c}.calendar-assignment{border-left:4px solid #326a9b;background:#f1f5f1;padding:5px 6px;margin:4px 0;border-radius:3px;font-size:10px;line-height:1.35;overflow-wrap:anywhere}.calendar-assignment b{display:block}.calendar-assignment span{font:500 11px DM Mono}.calendar-assignment small{display:block;margin-top:4px}.result-details{background:#fff;border:1px solid #d5ddd3;border-radius:9px;padding:17px 19px;margin-top:17px}.result-details>p{font-size:12px;color:#647268}.detail-line{display:flex;flex-wrap:wrap;gap:12px;padding:8px 0;border-top:1px solid #e0e7df;font-size:11px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;padding:9px;border-bottom:1px solid #d9e1d7;font-size:11px;vertical-align:top}th{background:#eef3ea}.individual-view{padding:24px}.individual-view>label{max-width:350px}.individual-summary{margin:22px 0;padding:19px;background:#eaf2e6;border-radius:8px}.individual-summary h2{margin:0 0 5px}.individual-summary p{font-size:12px;color:#506657}.individual-list>div{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:10px;border-bottom:1px solid #dce5da;padding:12px 0;font-size:12px}.individual-list p{font-size:13px;color:#5e6b60}@media (max-width:900px){.app-shell{padding:0 20px 60px}.group-basics{grid-template-columns:repeat(3,1fr)}.group-basics.lower{grid-template-columns:1fr}.teacher-edit,.restriction-edit{grid-template-columns:1fr 1fr}.teacher-edit strong,.restriction-edit strong{grid-column:1/-1}}@media (max-width:620px){.topbar{height:60px}.topbar-note{display:none}.page-intro{padding:28px 0 24px}.steps{gap:4px}.steps button{display:block;padding:9px;font-size:10px;min-height:60px}.steps button span{display:block;margin-bottom:4px}.field-pair,.exception-grid{grid-template-columns:1fr}.group-panel,.form-card,.individual-view{padding:17px}.group-basics{grid-template-columns:1fr 1fr}.group-basics label:first-child{grid-column:1/-1}.group-basics.lower{grid-template-columns:1fr}.zone-edit{grid-template-columns:1fr 80px repeat(3,30px)}.result-toolbar,.results-intro{align-items:stretch;flex-direction:column}.individual-list>div{grid-template-columns:1fr 1fr}.month-card{padding:12px}}@media print{@page{size:A4 portrait;margin:11mm}:root{background:#fff;color:#000}body{background:#fff}.app-shell{max-width:none;padding:0}.topbar,.page-intro,.steps,.result-toolbar,.result-details,.primary-action,.secondary-action,.print-button{display:none!important}.step-content{padding:0}.results-step>.notice{display:block}.print-general .individual-view,.print-individual .results-intro,.print-individual .calendar-legend,.print-individual .months,.print-individual .result-details{display:none!important}.print-individual .individual-view{display:block!important;border:0;box-shadow:none;padding:0}.print-general .results-intro,.print-general .calendar-legend,.print-general .months,.months{display:block}.month-card{box-shadow:none;border:0;border-radius:0;padding:0;margin:0 0 8mm;break-inside:avoid;page-break-inside:avoid}.month-card h3{font-size:15px;margin:0 0 4mm}.month-scroll{overflow:visible}.month-grid{min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}.day-cell{min-height:22mm;padding:2mm}.calendar-assignment{font-size:7pt;padding:1mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}.calendar-assignment span{font-size:7pt}.calendar-assignment small{font-size:6pt}.day-status{font-size:7pt}.weekday-head{font-size:8pt}.calendar-legend span{display:inline-block;margin:0 2mm 2mm 0;font-size:8pt}.individual-summary{border:1px solid #777;background:#fff}.individual-list>div{break-inside:avoid;border-color:#888}.day-cell,.weekday-head{border-color:#888}.calendar-assignment{border-left-color:#333!important;border:1px solid #777;border-left-width:3px!important;background:#fff!important}.no-playground{background:#eee!important}.special{background:#f6f6f6!important}}.app-shell{position:relative;isolation:isolate}.app-shell>*{position:relative;z-index:1}.app-shell:before,.app-shell:after{content:"";position:fixed;z-index:0;pointer-events:none;opacity:.09;background-repeat:no-repeat;background-size:contain}.app-shell:before{width:245px;height:245px;top:110px;left:-65px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%232a9fa6' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M59 31l75 75-27 27-75-75z'/%3E%3Cpath d='M45 45l-16 35 35-16' fill='%23f5c65d'/%3E%3Cpath d='M149 55c18-21 50-23 70-5 20 19 18 51-3 70-21 18-52 16-70-5'/%3E%3Cpath d='M151 155h61v43h-61zM164 155v43M198 155v43'/%3E%3C/g%3E%3C/svg%3E")}.app-shell:after{width:280px;height:280px;right:-80px;bottom:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 280'%3E%3Cg fill='none' stroke='%23ed8266' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='189' cy='75' r='33'/%3E%3Cpath d='M189 19v-13M189 144v-13M245 75h13M120 75h13M229 35l9-9M140 124l9-9M229 115l9 9M140 26l9 9'/%3E%3Cpath d='M37 142h85v70H37zM37 142l42 34 43-34M44 211l36-35 36 35'/%3E%3Cpath d='M154 183c10-21 32-31 53-23 21 7 34 29 29 51-4 21-25 37-47 34-25-3-43-27-35-62z' fill='%2359bcc2'/%3E%3C/g%3E%3C/svg%3E")}.topbar{border-color:#bcdde0}.wordmark{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#19677b}.wordmark i{background:#f8d477;color:#294050;border-radius:999px}.topbar-note{color:#518092}.page-intro h1{color:#173d5a}.page-intro>p:last-child{color:#4b7181}.eyebrow{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#218c95}.steps{border-color:#bcdde0}.steps button{border-color:#bfdde0;background:#ffffffd1;color:#356777;box-shadow:0 3px 12px #1d73890d}.steps button.current{background:#247e96;border-color:#247e96}.form-card,.group-panel,.month-card,.individual-view{background:#ffffffe8;border-color:#c3e0e3;box-shadow:0 8px 22px #18677b14}label{color:#275a69}input:not([type=checkbox]):not([type=color]),select,textarea{border-color:#bcd9dc;background:#fff;color:#163a4a}.form-help,.section-title p,.results-intro p{color:#5b7e8a}.date-add button,.secondary-action{border-color:#8bc8ce;color:#16727c;background:#f5fcfc}.date-list button{border-color:#efd29b;background:#fff7df;color:#71551a}.notice{border-color:#e48065;background:#fff1ea;color:#874231}.primary-action,.print-button{background:#247e96;border-color:#247e96;box-shadow:0 6px 16px #247e9633}.group-panel{border-top-color:#ef886d}.group-index{background:#49aeb5!important}.text-action{color:#c65743}.staffing-summary{background:#e6f6f4;color:#265a61}.staffing-summary .danger{color:#b64e3e}.advanced{border-color:#d6e8e7}.checkline input,.mini-weekdays input{accent-color:#288b94}.weekday-field legend,.mini-weekdays legend{color:#275a69}.weekday-field span{border-color:#b8d9db;color:#33777e}.weekday-field input:checked+span{background:#2d98a0;border-color:#2d98a0}.zone-edit button{border-color:#bcdddd}.segmented{border-color:#b7d9dc;background:#f8fdfd}.segmented button{color:#37717c}.segmented button.selected{background:#2d98a0}.calendar-legend span{border-color:#c7e1e3;background:#fcffff;color:#315a64}.month-card h3{color:#24546b}.month-grid{border-color:#c8e2e4}.weekday-head{background:#dff3f3;border-color:#c8e2e4;color:#286b77}.day-cell{border-color:#d3e9e9;background:#ffffffeb}.day-cell.outside{background:#f1f8f7}.day-cell.no-playground{background:#fff0e8}.day-cell.special{background:#fff8d7}.day-status{color:#a65740}.special .day-status{color:#857025}.calendar-assignment{background:#eef8f8;color:#214c5a;border-radius:5px}.result-details{border-color:#c6e1e2;background:#ffffffeb}.individual-summary{background:#e4f5f4;color:#215965}.individual-list>div{border-color:#d6e8e8}.day-cell time{color:#205870}@media print{.app-shell:before,.app-shell:after{display:none!important}.topbar,.page-intro,.steps,.result-toolbar,.result-details,.primary-action,.secondary-action,.print-button,.app-footer{display:none!important}}.app-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:38px;padding-top:18px;border-top:1px solid #bcdde0;color:#5b7e8a;font-size:11px;line-height:1.6}.app-footer a{color:#247e96;text-decoration:none}.app-footer a:hover,.app-footer a:focus-visible{text-decoration:underline}@media (max-width:620px){.app-footer{align-items:flex-start;flex-direction:column;gap:6px}}:root{color:#102f4a;background:#dff3f7}body{background:linear-gradient(145deg,#f4fbfd,#dff4f6 54%,#d4eef3)}.topbar{height:88px;border-color:#8fcbd5}.wordmark{gap:14px!important;color:#075c86;font-size:23px;font-weight:800;letter-spacing:.17em}.wordmark img{width:64px!important;height:64px!important;border-radius:15px!important;box-shadow:0 6px 18px #00529138}.wordmark i{background:#ffd166;color:#173a57;padding:6px 9px;box-shadow:0 2px 8px #c68e0029}.topbar-note{color:#286a83;font-size:13px;font-weight:700}.page-intro h1{color:#0e3858}.page-intro>p:last-child{color:#315f72}.eyebrow{color:#007f93;font-weight:800}.steps button{border-color:#96cbd4;background:#fffffff0;color:#20566d;box-shadow:0 4px 13px #005c8214}.steps button.current{background:#087fa3;border-color:#087fa3;box-shadow:0 7px 18px #087fa340}.form-card,.group-panel,.month-card,.individual-view{background:#fffffff5;border-color:#a9d6dc;box-shadow:0 10px 25px #0854741a}label{color:#164e67}input:not([type=checkbox]):not([type=color]),select,textarea{border-color:#8fc8d2;color:#12384d}.form-help,.section-title p,.results-intro p{color:#416e7d}.date-add button,.secondary-action{border-color:#28a9ad;color:#08777d;background:#f5ffff}.date-list button{border-color:#e9bd52;background:#fff4c9;color:#6a4a00}.primary-action,.print-button{background:#087fa3;border-color:#087fa3;box-shadow:0 7px 18px #087fa33d}.notice{border-color:#f06f59;background:#fff0eb;color:#843726}.staffing-summary,.individual-summary{background:#dff6f2;color:#174f5b}.weekday-field input:checked+span,.segmented button.selected{background:#079ba1;border-color:#079ba1}.weekday-field span{border-color:#8dcbd0;color:#176a74}.segmented{border-color:#8fcbd2;background:#f6ffff}.calendar-legend span,.result-details{border-color:#a8d5da;background:#fffffff5}.weekday-head{background:#cdeff0;color:#155f71}.day-cell.outside{background:#e8f3f4}.day-cell.no-playground{background:#ffe6de}.day-cell.special{background:#fff0b5}.calendar-assignment{background:#e2f5f4;color:#173f54}.app-footer{border-color:#8fcbd5;color:#416e7d}.app-footer a{color:#087fa3;font-weight:700}.app-shell:before,.app-shell:after{position:fixed;opacity:.16;background-size:contain;background-position:center;background-repeat:no-repeat}.app-shell:before{width:285px;height:385px;left:-74px;top:155px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 380'%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='100' cy='78' r='53' fill='%23ffd166' stroke='%23087fa3' stroke-width='7'/%3E%3Cpath d='M55 50c30 11 59 39 78 72M52 109c33-22 67-28 101-19M100 25c-10 35-7 70 10 104' stroke='%23087fa3' stroke-width='6'/%3E%3Cpath d='M41 213c45-61 132-55 174 4 31 44 17 101-27 119-39 16-79-7-71-42 6-27 40-37 63-20' stroke='%23ef7058' stroke-width='9'/%3E%3Cpath d='M35 206l15 5-5 15M221 209l-15 5 5 15' stroke='%23ef7058' stroke-width='7'/%3E%3C/g%3E%3C/svg%3E")}.app-shell:after{width:300px;height:480px;right:-82px;bottom:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 480'%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg stroke='%23079ba1' stroke-width='7'%3E%3Cpath d='M82 34h92v62H82zM94 112h68v55H94zM100 183h56v51h-56zM104 250h48v47h-48z'/%3E%3Cpath d='M128 96v16M128 167v16M128 234v16'/%3E%3C/g%3E%3Cg stroke='%23ef7058' stroke-width='7'%3E%3Cpath d='M54 414h72l-25-88H79z' fill='%23ffd166'/%3E%3Cpath d='M68 368h45M173 424h72l-25-88h-22z' fill='%23ffd166'/%3E%3Cpath d='M187 378h45'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}@media (max-width:620px){body{background:linear-gradient(150deg,#f7fcfd,#ddf2f5)}.topbar{height:72px}.wordmark{gap:10px!important;font-size:18px;letter-spacing:.13em}.wordmark img{width:52px!important;height:52px!important;border-radius:12px!important}.app-shell:before{width:145px;height:195px;left:-76px;top:175px;opacity:.12}.app-shell:after{width:150px;height:240px;right:-82px;bottom:110px;opacity:.12}}@media print{.app-shell:before,.app-shell:after{display:none!important}}.pause-range-card{margin-bottom:18px}.range-add{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin-top:18px}.range-add button{border:1px solid #28a9ad;border-radius:7px;background:#f5ffff;color:#08777d;padding:11px 15px;font-weight:700;font-size:12px}.range-error{color:#a13c2d!important;font-size:12px;font-weight:700}.range-list{margin-top:12px}.exception-mode{margin:16px 0 18px;width:max-content}.combined-date-list span{display:inline-block;border-radius:999px;background:#dff1f4;color:#0b7480;font-size:10px;font-weight:800;margin-right:5px;padding:2px 6px}.combined-date-list button{display:flex;align-items:center;gap:2px}@media (max-width:620px){.range-add{grid-template-columns:1fr 1fr}.range-add button{grid-column:1/-1}}
