.schedule,.schedule-dialog{--schedule-border:#e6e6e6;--schedule-muted:#6b6b6b;--schedule-purple:#8056c2;--schedule-tint:#f4effb;color:#333;min-width:0}.schedule{display:block}.schedule button,.schedule-dialog button{touch-action:manipulation}.schedule button:disabled,.schedule-dialog button:disabled{cursor:not-allowed}.schedule :is(button,input,select):focus-visible,.schedule-dialog :is(button,input,select):focus-visible{outline:2px solid var(--schedule-purple);outline-offset:3px}.schedule :is(.primary-btn,.secondary-btn,.text-btn),.schedule-dialog :is(.primary-btn,.secondary-btn,.text-btn){min-height:44px;gap:7px;font-size:14px;line-height:1.5}.schedule :is(.primary-btn,.secondary-btn),.schedule-dialog :is(.primary-btn,.secondary-btn){padding:10px 15px}.schedule :is(.primary-btn,.secondary-btn,.text-btn) svg,.schedule-dialog :is(.primary-btn,.secondary-btn,.text-btn) svg{width:17px;height:17px;flex:none}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;margin:6px 0 22px}.schedule-heading{min-width:0}.schedule-heading h2{font-size:20px;line-height:1.5;font-weight:600;margin:0}.schedule-heading p{margin:5px 0 0;font-size:13px;color:var(--schedule-muted)}.schedule-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.schedule-actions .text-btn{padding:9px 10px}.schedule-grade{display:block;width:112px;flex:none;min-width:0}.schedule-grade .field{width:100%;min-width:0;height:44px!important;padding:9px 10px;color:#555;font-size:14px}.schedule-calendar-toolbar{margin-bottom:16px}.schedule-calendar-toolbar .schedule-nav{margin:0}.schedule-view-switch{display:inline-flex;max-width:100%;flex:none;padding:3px;gap:2px;border:1px solid var(--schedule-border);border-radius:7px;background:#ededed}.schedule-view-switch button{min-width:62px;min-height:38px;padding:7px 15px;border:0;border-radius:4px;background:transparent;font-size:14px;color:#666}.schedule-view-switch button[aria-pressed=true]{background:#fff;color:var(--schedule-purple);font-weight:600}.schedule-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px;min-width:0}.schedule-icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:10px;border:1px solid var(--schedule-border);background:#fff;color:#646464;border-radius:6px;flex:none}.schedule-icon-button svg{width:18px;height:18px}.schedule-icon-button:hover,.schedule-today:hover{background:#f3eff9;color:var(--schedule-purple)}.schedule-period{min-width:130px;margin:0;padding:5px 4px;border:0;background:transparent;color:#333;font-size:18px;font-weight:600;line-height:1.5;text-align:center;font-variant-numeric:tabular-nums}button.schedule-period{min-height:44px}.schedule-today{min-height:44px;padding:8px 13px;margin-left:4px;border:1px solid var(--schedule-border);border-radius:6px;background:#fff;color:#666;font-size:13px}.schedule-nav .schedule-view-switch{margin-left:auto}.schedule-workspace{min-width:0}.schedule-workspace.month-mode{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:18px;align-items:start}.schedule-workspace.day-mode{display:block}.schedule-calendar{min-width:0;background:#fff;border:1px solid var(--schedule-border);border-radius:8px;overflow:hidden}.schedule-month-grid,.schedule-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-weekdays{background:#fafafa;border-bottom:1px solid var(--schedule-border)}.schedule-weekdays>*{padding:12px 2px;text-align:center;color:var(--schedule-muted);font-size:12px}.schedule-day{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;min-height:101px;padding:9px 6px;border:0;border-right:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;background:#fff;color:#414141;text-align:left;font-size:13px;overflow:hidden}.schedule-day:nth-child(7n){border-right:0}.schedule-day:nth-last-child(-n+7){border-bottom:0}.schedule-day:hover{background:#faf8fd}.schedule-day.outside-month{color:#888;background:#fafafa}.schedule-day[aria-pressed=true]{background:var(--schedule-tint);box-shadow:inset 0 0 0 2px #9b7acb}.schedule-day:focus-visible{outline-offset:-4px;z-index:1}.schedule-day-number{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;font-variant-numeric:tabular-nums;flex:none}.schedule-day.is-today .schedule-day-number{background:var(--schedule-purple);color:#fff}.schedule-day[aria-pressed=true] .schedule-day-number{font-weight:700}.schedule-day-preview{display:grid;min-width:0;gap:3px}.schedule-day-preview>span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#f4f1f8;color:#6e5197;border-radius:3px;padding:1px 4px;font-size:11px;line-height:1.6}.schedule-day-count{color:var(--schedule-muted);font-size:11px;line-height:1.5;margin-top:auto;padding-left:3px}.schedule-agenda{min-width:0;background:#fff;border:1px solid var(--schedule-border);border-radius:8px}.schedule-agenda-header{padding:20px 20px 15px;border-bottom:1px solid var(--schedule-border)}.schedule-agenda-header h3{margin:0;font-size:16px;line-height:1.6;font-weight:600}.schedule-agenda-header p{margin:4px 0 0;font-size:12px;color:var(--schedule-muted)}.schedule-date-picker{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 20px 4px;font-size:14px}.schedule-date-picker label{color:#555}.schedule-date-picker input{width:auto;min-width:0;max-width:100%;min-height:44px;border:1px solid #ddd;border-radius:6px;padding:8px 12px;background:#fff;color:#444;font-size:14px}.schedule-events{list-style:none;margin:0;padding:0 18px}.schedule-event{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:17px 0;border-bottom:1px solid #efefef}.schedule-event:last-child{border-bottom:0}.schedule-check{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;margin:0 0 0 -8px;padding:11px;border:0;border-radius:6px;background:transparent;color:#929292;flex:none}.schedule-check:before{content:"";position:absolute;width:20px;height:20px;border:1px solid #bababa;border-radius:5px;background:#fff}.schedule-check svg{position:relative;width:15px;height:15px;color:#fff}.schedule-check:hover{background:#f7f5fa;color:var(--schedule-purple)}.schedule-check[aria-pressed=true]{color:#4c8157}.schedule-check[aria-pressed=true]:before{border-color:#4c8157;background:#4c8157}.schedule-event-copy{min-width:0;flex:1;padding-top:3px}.schedule-event-copy small{display:block;color:var(--schedule-muted);font-size:12px;line-height:1.7;font-variant-numeric:tabular-nums}.schedule-event-copy strong{display:block;margin:4px 0;color:#333;font-size:14px;line-height:1.65;font-weight:600;overflow-wrap:anywhere}.schedule-event-copy a{display:inline-flex;align-items:center;gap:5px;min-height:36px;color:var(--schedule-purple);font-size:12px}.schedule-event.is-done .schedule-event-copy strong{color:#737373;text-decoration:line-through;text-decoration-thickness:1px}.schedule-edit{min-width:44px;min-height:44px;padding:9px 5px;border:0;border-radius:5px;background:transparent;color:var(--schedule-purple);font-size:12px;flex:none}.schedule-edit svg{width:17px;height:17px;margin:auto}.schedule-edit:hover{background:#f7f3fb}.schedule-empty{display:flex;flex-direction:column;align-items:center;padding:40px 20px;text-align:center}.schedule-empty>svg{width:30px;height:30px;color:#8e7aa9;margin-bottom:12px}.schedule-empty h3{font-size:16px;font-weight:600;line-height:1.7;margin:0}.schedule-empty p{font-size:13px;line-height:1.8;color:var(--schedule-muted);margin:7px 0 18px}.day-mode .schedule-empty{padding:56px 24px}.day-mode .schedule-event{align-items:center}.day-mode .schedule-event-copy{display:grid;grid-template-columns:105px minmax(0,1fr);gap:2px 18px;align-items:baseline}.day-mode .schedule-event-copy>small:first-child{grid-row:1/3}.day-mode .schedule-event-copy strong{margin:0}.day-mode .schedule-event-copy>:not(:first-child){grid-column:2}.schedule-footnote{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 15px;color:var(--schedule-muted);font-size:12px;line-height:1.8;margin:16px 0 0}.schedule-error,.schedule-notice{padding:12px 14px;border-radius:6px;font-size:13px;line-height:1.8;margin:12px 0;overflow-wrap:anywhere}.schedule-notice{background:#f0f6f0;color:#45664c}.schedule-error{background:#fff1f1;color:#a43136}.schedule-undo{display:inline-flex;align-items:center;min-height:44px;margin-left:10px;padding:6px 10px;border:0;background:transparent;color:var(--schedule-purple);text-decoration:underline;text-underline-offset:3px;font-size:13px}.schedule-print-only{display:none}.schedule-dialog[data-slot=dialog-content]{width:calc(100% - 32px);max-width:520px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:24px;gap:18px;background:#fff;border:1px solid var(--schedule-border);border-radius:10px}.schedule-dialog [data-slot=dialog-header]{text-align:left}.schedule-dialog-title{padding-right:32px;font-size:19px;font-weight:600;line-height:1.5;margin:0}.schedule-dialog [data-slot=dialog-description]{color:var(--schedule-muted);font-size:13px;line-height:1.8}.schedule-dialog>[data-slot=dialog-close]{top:12px;right:12px;width:44px;height:44px;display:grid;place-items:center;border-radius:6px;color:#666;opacity:1}.schedule-dialog .schedule-dialog-close{position:absolute;top:12px;right:12px;border:0;background:transparent}.schedule-form{display:grid;gap:17px;min-width:0}.schedule-form label{display:grid;gap:7px;min-width:0;color:#505050;font-size:14px}.schedule-form .field{min-width:0;width:100%;max-width:100%;height:46px!important;padding:10px 11px;border:1px solid #dcdcdc;border-radius:6px;background:#fff;color:#333;font-size:14px;line-height:normal;font-family:inherit}.schedule-form .field::placeholder{color:#777}.schedule-form .field:disabled{background:#f5f5f5;color:#777}.schedule-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.schedule-form fieldset{border:0;margin:0;padding:0;min-width:0}.schedule-form legend{margin-bottom:9px;padding:0;font-size:14px;color:#505050}.schedule-weekday-picks{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.schedule-weekday-picks label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:61px;padding:8px 2px;border:1px solid var(--schedule-border);border-radius:5px;font-size:12px;line-height:1.3;cursor:pointer}.schedule-weekday-picks label:has(input:checked){background:var(--schedule-tint);border-color:#c4aedf;color:var(--schedule-purple)}.schedule-weekday-picks input{width:16px;height:16px;accent-color:var(--schedule-purple);margin:0}.schedule-slots{display:grid;gap:10px}.schedule-slot{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 44px;gap:8px;align-items:center;min-width:0}.schedule-slot>span{color:var(--schedule-muted);font-size:13px}.schedule-slot .schedule-icon-button{height:46px}.schedule-dialog-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:5px;padding-top:17px;border-top:1px solid var(--schedule-border)}.schedule-dialog-actions .schedule-delete{margin-right:auto}.schedule-delete{min-height:44px;padding:9px 10px;border:0;border-radius:5px;background:transparent;color:#a43136;font-size:13px}.schedule-delete:hover{background:#fff1f1}.schedule-preview{max-height:235px;overflow-y:auto;overscroll-behavior:contain;padding:4px 14px;margin:0;border:1px solid var(--schedule-border);border-radius:6px;background:#fafafa;list-style:none}.schedule-preview-item{display:flex;flex-wrap:wrap;gap:3px 12px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--schedule-border);color:#555;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.schedule-preview-item:last-child{border-bottom:0}.schedule-preview-item strong{font-weight:500;color:#333}.schedule-preview-item small{color:var(--schedule-muted);font-size:12px}.schedule-preview>strong{display:block;padding-top:10px;font-size:13px;font-weight:600;color:#444}.schedule-preview>p{margin:5px 0}.schedule-option-note,.schedule-preview>p{color:var(--schedule-muted);font-size:12px}.schedule-option-note{margin:0;line-height:1.8}.parents-planning-page .weekly-template{margin-top:25px;border-top:1px solid #e6e6e6;padding-top:10px}.parents-planning-page .weekly-template>summary{padding:12px 0;color:#6b6b6b;font-size:14px;font-weight:500;min-height:44px}.parents-planning-page .weekly-template[open]>summary{margin-bottom:12px}@media (max-width:1000px){.schedule-workspace.month-mode{grid-template-columns:minmax(0,1.45fr) minmax(250px,1fr);gap:14px}.schedule-day{padding:8px 4px}.schedule-agenda-header{padding:18px 16px 14px}.schedule-events{padding:0 14px}}@media (max-width:760px){.schedule-toolbar{align-items:flex-start;gap:14px;margin-bottom:18px}.schedule-heading h2{font-size:18px}.schedule-actions{width:100%;gap:8px}.schedule-grade{width:100%}.schedule-grade .field{max-width:160px}.schedule-actions :is(.primary-btn,.secondary-btn){flex:1;padding:10px 11px}.schedule-actions .text-btn{padding-left:5px;padding-right:5px;font-size:12px}.schedule-nav{gap:5px;margin-bottom:13px}.schedule-calendar-toolbar{gap:10px}.schedule-calendar-toolbar .schedule-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;width:100%}.schedule-calendar-toolbar .schedule-view-switch{margin-left:auto}.schedule-period{min-width:0;padding:5px 2px;font-size:16px}.schedule-today{margin-left:0;padding:8px 10px}.schedule-nav .schedule-view-switch{margin-left:auto}.schedule-view-switch button{min-width:45px;padding:7px 10px;font-size:13px}.schedule-workspace.month-mode{grid-template-columns:minmax(0,1fr);gap:16px}.schedule-weekdays>*{padding:10px 0}.schedule-day{min-height:68px;align-items:center;padding:8px 2px;gap:4px}.schedule-day-number{width:26px;height:26px}.schedule-day-preview{display:none}.schedule-day-count{padding:0;font-size:10px}.schedule-agenda-header{padding:17px 16px 13px}.schedule-events{padding:0 16px}.schedule-date-picker{margin-left:16px;margin-right:16px}.schedule-event{gap:7px}.schedule-event-copy strong{font-size:14px}.day-mode .schedule-empty,.schedule-empty{padding:34px 18px}.day-mode .schedule-event{align-items:flex-start}.day-mode .schedule-event-copy{display:block}.day-mode .schedule-event-copy strong{margin:4px 0}.schedule-footnote{font-size:11px;margin-top:13px}.schedule-dialog[data-slot=dialog-content]{padding:22px 18px 18px}.schedule-dialog-title{font-size:18px}.schedule-form .field{font-size:16px}.schedule-form-row{gap:10px}.schedule-weekday-picks{gap:4px}.schedule-weekday-picks label{min-height:59px;font-size:11px}.schedule-slot{gap:6px}.schedule-slot .field{padding-left:6px;padding-right:4px;font-size:14px}}@media (max-width:380px){.schedule-nav{gap:4px}.schedule-calendar-toolbar .schedule-period{font-size:14px}.schedule-nav .schedule-view-switch{margin-left:0}.schedule-actions{gap:6px}.schedule-actions :is(.primary-btn,.secondary-btn){font-size:13px;gap:5px}.schedule-dialog[data-slot=dialog-content]{width:calc(100% - 20px);padding:22px 14px 16px}.schedule-form-row:has(input[type=date]){grid-template-columns:minmax(0,1fr)}.schedule-form-row .field{padding-left:8px;padding-right:6px}.schedule-dialog-actions{gap:7px}.schedule-dialog-actions :is(.primary-btn,.secondary-btn){padding-left:12px;padding-right:12px}}@media print{.schedule{display:block!important;visibility:visible!important;color:#111}.schedule-date-picker,.schedule-dialog,.schedule-error,.schedule-footnote,.schedule-nav,.schedule-notice,.schedule-toolbar,.schedule-undo,.schedule-workspace{display:none!important}.schedule-print-only{display:block!important;visibility:visible!important}.schedule-print-only h2{font-size:20pt;margin:0 0 10mm;color:#111}.schedule-print-only h3{font-size:12pt;margin:6mm 0 2mm;color:#111}.schedule-print-only p{font-size:10pt;line-height:1.7;color:#333}.schedule-print-only ol,.schedule-print-only ul{margin:0;padding:0;list-style:none}.schedule-print-only li{padding:3mm 0;border-bottom:1px solid #ddd;font-size:10pt;line-height:1.8;break-inside:avoid}.schedule-print-only article,.schedule-print-only section{break-inside:auto}.schedule-print-only h3{break-after:avoid}.schedule-print-only small{color:#555;font-size:9pt}.schedule-print-only a,.schedule-print-only button{display:none!important}.schedule-print-row{display:grid;grid-template-columns:1fr;gap:2mm;padding:4mm 0;border-bottom:1px solid #ddd;break-inside:avoid;font-size:10pt;line-height:1.5}.schedule-print-row strong{font-weight:600;color:#111}.schedule-print-row span{color:#444;font-size:9pt}.parents-planning-page .weekly-template{display:none!important}body[data-plan-print=week] .schedule{display:none!important;visibility:hidden!important}body[data-plan-print=week] .parents-planning-page .weekly-template{display:block!important;border:0;margin:0;padding:0}body[data-plan-print=week] .parents-planning-page .weekly-template>summary{display:none!important}}