.schedule-intro .help,.schedule-intro .info-list{font-size:1.05rem;color:#263f36;line-height:1.45;font-weight:550}
.schedule-intro .help p{margin:7px 0}
.schedule-intro .help .schedule-read-note{margin:18px 0 10px;color:#105d3d}
.schedule-description-list{margin:0;padding-left:24px;list-style:disc}
.schedule-description-list li{margin:7px 0;padding-left:2px}
.schedule-gap-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border:1px solid #cbded2;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 20px 65px rgba(15,35,28,.25)}
.schedule-gap-dialog::backdrop{background:rgba(15,35,28,.5)}
.schedule-gap-dialog h2{margin:0 0 18px;font-size:1.35rem}
.schedule-gap-dialog p{font-size:1.05rem;line-height:1.65;margin:12px 0}
#schedule-gap-ranges{color:#105d3d;overflow-wrap:anywhere}
.gap-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}
.gap-dialog-actions .button{min-width:100px}
.question>fieldset+.parent-grid{margin-top:24px}
.screening-service-emphasis{text-decoration:underline;text-underline-offset:3px}
.schedule-instructions{margin-top:20px;padding:18px 22px;border:1px solid #cbded2;border-radius:14px;background:#edf5f0}
.schedule-instructions h2{margin:0 0 9px;font-size:1.1rem;color:#105d3d}
.schedule-instructions .info-list{margin:0;padding-left:22px}
.day-badge{display:inline-block;padding:9px 16px;border-radius:9px;background:#dbf2e5;color:#105d3d;font-size:1.25rem;font-weight:850}
.weekend .day-badge{background:#e6e8fc;color:#353c86}
/* Clip horizontal overflow without creating a scroll container above sticky headers. */
html:has(body.wide-survey),body.wide-survey{overflow-x:clip;overflow-y:visible}
.wide-survey .grid-head{background:#eef4f0}
.has-floating-header>.grid-head{position:static}
.schedule-fixed-head{position:fixed;top:0;z-index:30;display:grid;pointer-events:none;user-select:none;background:#eef4f0;box-shadow:0 3px 6px rgba(23,49,42,.18)}
.schedule-fixed-head[hidden]{display:none}
.schedule-fixed-head>.grid-head{position:static;min-width:0}
.service-description{font-size:.8rem;line-height:1.45;user-select:text}
.service-description summary{cursor:pointer;color:#154c72;text-decoration:underline;padding:5px 0}
.service-description p{max-width:25rem;margin:4px 0}
.kindergarten-note{display:block;font-size:.65rem;line-height:1.5;letter-spacing:-.035em;white-space:normal;word-break:keep-all;color:#304b40}
@media(max-width:900px){.kindergarten-note{font-size:.6rem}}
[data-category="영유아 대상 서비스"]{--category-bg:#fff5e4}
[data-category="초등생 대상 서비스"]{--category-bg:#eaf3ff}
[data-category="사교육 서비스"]{--category-bg:#f5edff}
[data-category="개별 돌봄 서비스"]{--category-bg:#e9f7ee}
[data-category="그 외"]{--category-bg:#fff0f1}
.service-cell,.edge-time-cell{background:var(--category-bg,#fff)}
.service-cell .usage label,.service-cell .usage.compact,.service-cell .usage-fixed{background:var(--category-bg,#fff)}
.time-cell:not(.is-disabled):not(.is-selected){background:#fff}
.time-cell.is-selected{background:#19724d}
.child-toggle{display:block;margin-top:8px;font-weight:650;white-space:nowrap}
[data-child-row].inactive td{opacity:.45}
.edge-interval{width:100%;display:grid;gap:5px;font-size:.65rem}
.edge-interval input[type=time]{min-width:0;min-height:32px;font-size:.7rem;padding:3px;margin:0}
.edge-interval select{min-width:0;width:100%;min-height:34px;font-size:.72rem;padding:3px;margin:0}
.time-parts{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1px;align-items:center;width:100%}
.time-parts>span{font-weight:700;color:#40564f}
.edge-interval input:disabled{opacity:.45;background:#e8ece9}
.admin-edit-banner{padding:18px;border:2px solid #ac7520;border-radius:12px;background:#fff5de;margin:12px 0;line-height:1.6}
