.calendar-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.calendar-heading{min-width:0}.calendar-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.calendar-title-row h1{color:#202124;letter-spacing:-.04em;margin:0;font-size:30px;font-weight:700}.calendar-description{color:#64748b;margin:8px 0 0;font-size:14px;line-height:1.6}.calendar-description-mobile{display:none}.admin-mode-badge{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;align-items:center;min-height:27px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.calendar-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.calendar-header-actions button{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe3ea;border-radius:12px;height:40px;padding:0 14px;font-size:12px;font-weight:700}.calendar-header-actions button:hover{background:#f8fafc}.calendar-header-actions .plan-button{color:#174ea6;background:#e8f0fe;border-color:#d2e3fc}.calendar-header-actions .plan-button:hover{background:#d2e3fc}.calendar-header-actions .admin-button{color:#b45309;background:#fffbeb;border-color:#fde68a}.calendar-header-actions .admin-button:hover,.calendar-header-actions .admin-button.active{color:#fff;background:#d97706;border-color:#d97706}.month-control{align-items:center;gap:6px;display:flex}.calendar-header-actions .month-arrow{width:38px;padding:0;font-size:22px}.month-label{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #dbe3ea;border-radius:12px;justify-content:center;align-items:center;min-width:126px;height:40px;font-size:13px;font-weight:700;display:flex}@media (max-width:900px){.calendar-header{flex-direction:column;align-items:flex-start}.calendar-header-actions{justify-content:flex-start;width:100%}}@media (max-width:640px){.calendar-header{gap:14px;margin-bottom:14px}.calendar-title-row h1{font-size:24px}.desktop-calendar-action,.admin-mode-badge{display:none!important}.calendar-description-desktop{display:none}.calendar-description-mobile{margin-top:5px;font-size:12px;display:block}.calendar-header-actions{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.calendar-header-actions .today-button{width:58px;padding:0}.month-control{width:100%;min-width:0}.month-label{flex:1;min-width:0}}@media (max-width:380px){.calendar-header-actions{grid-template-columns:1fr}.calendar-header-actions .today-button{width:100%}}
.calendar-panel{background:#fff;border:1px solid #eef1f4;border-radius:26px;padding:24px;position:relative;overflow:hidden;box-shadow:0 10px 28px #1e3a8a14}.desktop-calendar-view{display:block}.mobile-calendar-view{display:none}.dragging-notice{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:center;gap:5px;margin-bottom:12px;padding:10px 13px;font-size:12px;display:flex}.dragging-notice strong{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.calendar-scroll{width:100%;overflow-x:auto}.calendar-content{min-width:760px}.calendar-month-week-header{grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;width:100%;height:42px;min-height:42px;margin:0 0 10px;padding:0;display:grid;overflow:hidden}.calendar-month-week-day{color:#64748b;text-align:center;justify-content:center;align-items:center;height:42px;min-height:0;margin:0;padding:0 10px;font-size:13px;font-weight:700;line-height:1;display:flex;background:0 0!important;border:0!important}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.day-cell{box-sizing:border-box;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;outline:none;flex-direction:column;min-width:0;height:100%;min-height:190px;padding:12px;transition:border-color .12s,box-shadow .12s,transform .12s,background .12s;display:flex;position:relative;overflow:hidden}.day-cell:hover{border-color:#cbd5e1;transform:translateY(-1px)}.day-cell:focus-visible{box-shadow:0 0 0 3px #bfdbfe}.expanded-day-cell{height:auto;max-height:430px}.sunday-cell,.saturday-cell{background:#fff7f7}.today-cell{background:#eff6ff;border:2px solid #2563eb;box-shadow:0 0 0 3px #bfdbfe}.selected-cell{outline-offset:1px;outline:3px solid #bfdbfe}.drag-over-cell{background:#dbeafe;border-color:#2563eb;transform:translateY(-2px);box-shadow:inset 0 0 0 2px #60a5fa,0 8px 22px #2563eb29}.day-top{align-items:center;gap:6px;min-height:27px;margin-bottom:8px;display:flex}.day-number{color:#334155;font-size:14px;font-weight:700}.today-number{color:#2563eb;font-size:18px}.today-label{color:#fff;background:#2563eb;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.sunday-text{color:#dc2626}.saturday-text{color:#2563eb}.inline-add-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:999px;width:26px;height:26px;margin-left:auto;padding:0;font-size:16px;font-weight:700}.inline-add-button:hover{background:#1d4ed8}.event-list{flex-direction:column;flex:1;gap:4px;min-width:0;min-height:0;display:flex;overflow:hidden}.expanded-day-cell .event-list{scrollbar-width:thin;padding-right:2px;overflow:hidden auto}.event-chip{text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid;border-radius:10px;flex-direction:column;flex:none;justify-content:center;gap:2px;width:100%;min-width:0;min-height:42px;padding:5px 7px;transition:opacity .12s,box-shadow .12s,transform .12s;display:flex;overflow:hidden}.event-chip:hover{filter:brightness(.97)}.manageable-event-chip{cursor:grab;touch-action:manipulation}.manageable-event-chip:active{cursor:grabbing}.dragging-event-chip{opacity:.42;transform:scale(.98)}.highlighted-event-chip{box-shadow:0 0 0 3px #fbbf24,0 6px 16px #f59e0b33}.event-title-row{pointer-events:none;align-items:center;gap:5px;width:100%;min-width:0;display:flex}.event-title,.event-detail{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;width:100%;min-width:0;display:block;overflow:hidden}.event-title{flex:1;font-size:12px;font-weight:700;line-height:1.25}.event-detail{opacity:.74;font-size:11px;font-weight:500;line-height:1.3}.duplicate-badge{color:#92400e;pointer-events:none;background:#fef3c7;border-radius:5px;flex-shrink:0;padding:2px 4px;font-size:8px;font-weight:800;line-height:1.2}.drop-guide{z-index:5;color:#1d4ed8;pointer-events:none;background:#dbeafedb;border:2px dashed #60a5fa;border-radius:14px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex;position:absolute;inset:5px}.drag-ghost{z-index:2500;color:#1e3a8a;pointer-events:none;background:#eff6fff5;border:1px solid #93c5fd;border-radius:11px;align-items:center;gap:7px;max-width:260px;padding:9px 12px;font-size:12px;font-weight:750;display:flex;position:fixed;box-shadow:0 12px 30px #1e40af38}.drag-ghost-icon{color:#2563eb;flex-shrink:0;font-size:15px}.drag-ghost-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.more-events-button{color:#64748b;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex-shrink:0;width:fit-content;max-width:100%;margin-top:auto;padding:1px 2px;font-size:11px;font-weight:650;line-height:1.4;overflow:hidden}.expanded-day-cell .more-events-button{margin-top:4px}.more-events-button:hover{color:#2563eb;text-decoration:underline}.more-events-button:focus-visible{outline-offset:1px;border-radius:4px;outline:2px solid #93c5fd}.loading-text{color:#94a3b8;font-size:10px}.context-menu-backdrop{z-index:1998;background:0 0;position:fixed;inset:0}.event-context-menu{z-index:1999;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:190px;padding:6px;position:fixed;box-shadow:0 16px 45px #0f172a33}.event-context-menu button{color:#334155;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;min-height:40px;padding:0 11px;font-size:12px;font-weight:700;display:flex}.event-context-menu button:hover{color:#1d4ed8;background:#eff6ff}.event-context-menu button+button{border-top:1px solid #f1f5f9;margin-top:3px}.event-context-menu button.danger-menu-item{color:#b91c1c}.event-context-menu button.danger-menu-item:hover{color:#991b1b;background:#fef2f2}.event-context-menu button:disabled{cursor:not-allowed;opacity:.55}.context-menu-icon{color:#2563eb;text-align:center;flex:0 0 18px;width:18px;font-size:16px}.danger-menu-item .context-menu-icon{color:#dc2626}@media (max-width:640px){.calendar-panel{border-radius:18px;padding:14px}.desktop-calendar-view{display:none}.mobile-calendar-view{display:block}}
.calendar-mobile-month{width:100%;min-width:0}.calendar-mobile-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;margin-bottom:6px;display:grid}.calendar-mobile-weekday{color:#64748b;text-align:center;min-width:0;padding:4px 0;font-size:11px;font-weight:800;line-height:1}.calendar-mobile-sunday-text{color:#dc2626}.calendar-mobile-saturday-text{color:#2563eb}.calendar-mobile-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:48px;gap:4px;width:100%;display:grid}.calendar-mobile-day{color:#334155;width:100%;min-width:0;height:48px;font:inherit;text-align:center;cursor:pointer;appearance:none;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:10px;outline:none;flex-direction:column;justify-content:flex-start;align-items:center;gap:5px;margin:0;padding:6px 3px 4px;transition:background .12s,border-color .12s,box-shadow .12s;display:flex;position:relative}.calendar-mobile-day:hover{background:#f8fafc}.calendar-mobile-day:focus-visible{border-color:#93c5fd;box-shadow:0 0 0 2px #bfdbfe}.calendar-mobile-today{background:#eff6ff;border-color:#93c5fd}.calendar-mobile-selected{background:#dbeafe;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.calendar-mobile-day-number{color:#334155;font-size:13px;font-weight:800;line-height:1;display:block}.calendar-mobile-today .calendar-mobile-day-number{color:#1d4ed8}.calendar-mobile-event-lines{justify-content:center;align-items:center;gap:2px;width:100%;min-width:0;min-height:3px;display:flex;overflow:hidden}.calendar-mobile-event-line{border-radius:999px;flex:0 0 4px;width:4px;height:4px}.calendar-mobile-day-empty,.calendar-mobile-day-list{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:14px}.calendar-mobile-day-empty{color:#64748b;text-align:center;font-size:12px;line-height:1.6}.calendar-mobile-day-list{min-width:0}.calendar-mobile-day-list-header{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;margin-bottom:10px;display:flex}.calendar-mobile-day-list-header>div{min-width:0}.calendar-mobile-day-list-header h3{color:#0f172a;margin:0;font-size:15px;font-weight:850;line-height:1.35}.calendar-mobile-day-list-header p{color:#64748b;margin:3px 0 0;font-size:11px;font-weight:650;line-height:1.4}.calendar-mobile-no-class-badge{color:#b91c1c;text-overflow:ellipsis;white-space:nowrap;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;flex-shrink:0;max-width:48%;padding:4px 8px;font-size:10px;font-weight:800;line-height:1.3;overflow:hidden}.calendar-mobile-list-message{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:18px 10px;font-size:12px;line-height:1.5}.calendar-mobile-event-list{flex-direction:column;gap:8px;display:flex}.calendar-mobile-event-item{color:#334155;width:100%;min-width:0;font:inherit;text-align:left;cursor:pointer;appearance:none;box-sizing:border-box;border:1px solid #94a3b859;border-left:4px solid;border-radius:12px;outline:none;flex-direction:column;gap:5px;margin:0;padding:10px 11px;transition:transform .12s,box-shadow .12s,filter .12s;display:flex}.calendar-mobile-event-item:hover{filter:brightness(.98);transform:translateY(-1px)}.calendar-mobile-event-item:focus-visible{box-shadow:0 0 0 3px #bfdbfe}.calendar-mobile-event-item-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.calendar-mobile-event-item-top strong{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:800;line-height:1.35;overflow:hidden}.calendar-mobile-event-source{color:#64748b;background:#ffffffb8;border-radius:999px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:750;line-height:1.3}.calendar-mobile-event-detail{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.4;overflow:hidden}@media (max-width:390px){.calendar-mobile-grid{grid-auto-rows:44px;gap:3px}.calendar-mobile-day{border-radius:9px;height:44px;padding-top:5px}.calendar-mobile-day-number{font-size:12px}.calendar-mobile-day-list-header{flex-direction:column;align-items:stretch;gap:7px}.calendar-mobile-no-class-badge{width:fit-content;max-width:100%}}
.learning-support{--ls-ink:#0f172a;--ls-muted:#64748b;--ls-soft:#94a3b8;--ls-line:#e2e8f0;--ls-line-soft:#edf2f7;--ls-panel:#fff;--ls-bg:#f8fafc;--ls-blue:#2563eb;--ls-indigo:#4f46e5;--ls-violet:#7c3aed;color:var(--ls-ink);padding:2px;position:relative;min-height:620px!important}.learning-support:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 10% 20%,#dbeafeb8,#0000 34%),radial-gradient(circle at 88% 8%,#ede9fec7,#0000 30%);height:240px;position:absolute;inset:-18px -20px auto}.learning-support *{letter-spacing:-.025em}.learning-support .learning-support-content{margin-top:18px!important}.learning-support .learning-support-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:100%;background:#ffffffd1!important;border:1px solid #e2e8f0eb!important;border-radius:999px!important;gap:6px!important;width:fit-content!important;padding:6px!important;box-shadow:0 10px 24px #0f172a0b,inset 0 0 0 1px #ffffff9e!important}.learning-support .learning-support-tab{color:#64748b!important;border-radius:999px!important;flex:none!important;min-width:138px!important;height:39px!important;padding:0 19px!important;font-size:12px!important;font-weight:850!important}.learning-support .learning-support-tab.active{color:#3730a3!important;background:linear-gradient(#fff,#eef2ff)!important;box-shadow:0 9px 18px #4f46e51f,inset 0 0 0 1px #c7d2fee6!important}.learning-support .support-overview{gap:20px!important}.learning-support .overview-hero-card{position:relative;overflow:hidden;background:radial-gradient(circle at 8% 10%,#dbeafedb,#0000 31%),linear-gradient(135deg,#fff 0%,#f8fafc 58%,#f5f3ff 100%)!important;border:1px solid #e2e8f0eb!important;border-radius:24px!important;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)!important;gap:22px!important;padding:22px 24px!important;box-shadow:0 18px 42px #0f172a0e,inset 0 0 0 1px #ffffffad!important}.learning-support .overview-hero-card:after{content:"";opacity:.75;background:linear-gradient(135deg,#dbeafed1,#ede9fec7);border-radius:30px;width:88px;height:88px;position:absolute;top:18px;right:18px;transform:rotate(10deg)}.learning-support .overview-title-row{z-index:1;position:relative;align-items:center!important}.learning-support .overview-title-row span{color:#4f46e5!important;font-size:11px!important;font-weight:950!important}.learning-support .overview-title-row h2{color:#0f172a!important;letter-spacing:-.065em!important;margin-top:6px!important;font-size:28px!important;font-weight:950!important}.learning-support .overview-title-row p{max-width:520px;color:#64748b!important;margin-top:8px!important;font-size:13px!important;font-weight:700!important}.learning-support .overview-stat-grid{z-index:1;position:relative;gap:10px!important}.learning-support .overview-stat-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd1!important;border:1px solid #e2e8f0db!important;border-radius:18px!important;grid-template-columns:42px minmax(0,1fr)!important;gap:11px!important;padding:15px!important;box-shadow:0 10px 20px #0f172a0b,inset 0 0 0 1px #ffffffb3!important}.learning-support .overview-stat-card strong{color:#0f172a!important;font-size:20px!important;font-weight:950!important}.learning-support .program-schedule{background:#fff;border:1px solid #e2e8f0f2;border-radius:24px;padding:20px 20px 18px;position:relative;box-shadow:0 18px 38px #0f172a0e;gap:11px!important}.learning-support .program-schedule:before{content:"";pointer-events:none;border-radius:inherit;opacity:.55;background:linear-gradient(90deg,#eff6ffeb,#0000 30%,#f5f3ffe6);position:absolute;inset:0}.learning-support .program-schedule>*{z-index:1;position:relative}.learning-support .schedule-heading{padding:0!important}.learning-support .schedule-heading span{color:#4f46e5!important;font-size:10px!important;font-weight:950!important}.learning-support .schedule-heading h2{color:#0f172a!important;letter-spacing:-.055em!important;font-size:21px!important;font-weight:950!important}.learning-support .schedule-heading p{color:#64748b!important;font-size:11px!important;font-weight:700!important}.learning-support .schedule-toolbar{padding:2px 0 4px;justify-content:space-between!important;align-items:center!important;gap:10px!important}.learning-support .program-legend{justify-content:flex-start!important;gap:7px!important}.learning-support .program-legend-item{box-shadow:inset 0 0 0 1px #ffffff8a;border:1px solid var(--program-border)!important;background:var(--program-bg)!important;border-radius:999px!important;max-width:235px!important;padding:6px 10px!important}.learning-support .program-legend-item strong{color:#0f172a!important;font-size:10px!important;font-weight:950!important}.learning-support .week-navigation{height:34px;box-shadow:0 8px 18px #2563eb13;background:#fffffff2!important;border-color:#dbeafe!important;padding:3px!important}.learning-support .week-navigation button{color:#475569!important;height:28px!important;font-size:11px!important;font-weight:900!important}.learning-support .week-navigation button:disabled{color:#2563eb!important;background:#dbeafe!important}.learning-support .schedule-table-wrap{box-shadow:inset 0 0 0 1px #ffffffb3;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:20px!important;overflow:auto!important}.learning-support .schedule-table-wrap thead th{background:#f8fafc!important;height:38px!important}.learning-support .schedule-table-wrap th,.learning-support .schedule-table-wrap td{border-color:#edf2f7!important}.learning-support .schedule-table-wrap tbody th{background:#fbfdff!important;width:96px!important;padding:4px 6px!important}.learning-support .schedule-table-wrap tbody th strong{color:#334155!important;font-size:10px!important;font-weight:950!important}.learning-support .schedule-table-wrap tbody th span{color:#94a3b8!important;font-size:8px!important;font-weight:750!important}.learning-support .period-column{width:96px!important}.learning-support .schedule-table-wrap td{height:38px!important;padding:4px 6px!important}.learning-support .schedule-cell{gap:5px!important;min-height:27px!important}.learning-support .neis-subject{color:#475569!important;min-width:30px!important;max-width:60px!important;font-size:10px!important;font-weight:900!important}.learning-support .schedule-entry-card{box-shadow:inset 0 0 0 1px #ffffff9e;border-radius:999px!important;max-width:132px!important;min-height:20px!important;padding:2px 7px!important}.learning-support .schedule-entry-card strong{font-size:9.5px!important;font-weight:950!important}.learning-support .student-card-section-header{margin-top:2px;padding:0 4px!important}.learning-support .student-card-section-header h3{color:#0f172a!important;letter-spacing:-.055em!important;font-size:20px!important;font-weight:950!important}.learning-support .student-card-section-header p{color:#64748b!important;font-size:12px!important;font-weight:700!important}.learning-support .student-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}.learning-support .student-card-grid .support-student-card{position:relative;overflow:hidden;background:linear-gradient(#fff 0%,#fbfdff 100%)!important;border:1px solid #e2e8f0f0!important;border-radius:22px!important;gap:13px!important;padding:17px!important;box-shadow:0 14px 32px #0f172a0e,inset 0 0 0 1px #ffffffbf!important}.learning-support .student-card-grid .support-student-card:before{content:"";background:linear-gradient(135deg,#dbeafecc,#ede9fed1);border-radius:38px;width:112px;height:112px;position:absolute;top:-34px;right:-28px;transform:rotate(15deg)}.learning-support .support-student-card>*{z-index:1;position:relative}.learning-support .support-student-card:hover{border-color:#c7d2fe!important;transform:translateY(-4px)!important;box-shadow:0 22px 44px #4f46e51c,inset 0 0 0 1px #ffffffc7!important}.learning-support .student-avatar{box-shadow:inset 0 0 0 1px #c7d2fecc;color:#3730a3!important;background:#eef2ff!important}.learning-support .student-name-row h3{color:#0f172a!important;font-weight:950!important}.learning-support .chip{min-height:22px!important;padding:0 8px!important;font-weight:900!important}.learning-support .mini-schedule-preview{background:#f8fafc!important;border-radius:16px!important}.learning-support .mini-schedule-grid{grid-auto-rows:16px!important}.learning-support .info-preview span{color:#4f46e5!important;font-weight:950!important}.learning-support .support-assessment-section,.learning-support .support-program-section,.learning-support .support-observation-section,.learning-support .ai-support-summary{min-width:0}.learning-support .assessment-section-heading,.learning-support .program-section-heading,.learning-support .observation-section-heading,.learning-support .ai-summary-heading{border-bottom:1px solid #edf2f7;padding-bottom:10px}.learning-support .assessment-section-title,.learning-support .program-section-title,.learning-support .observation-section-title,.learning-support .ai-summary-title{color:#0f172a!important;letter-spacing:-.045em!important;font-size:18px!important;font-weight:950!important}.learning-support .program-workspace{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.learning-support .program-list-panel,.learning-support .program-schedule-panel{background:#fbfdff!important;border-radius:17px!important;padding:15px!important}.learning-support .program-table-wrap,.learning-support .assessment-table-wrap,.learning-support .observation-list{border-radius:15px!important}.learning-support .student-program-schedule{gap:10px!important}.learning-support .student-program-schedule .schedule-table-wrap td,.learning-support .student-program-schedule td{height:36px!important}.learning-support .student-schedule-table-wrap{overflow:hidden!important}.learning-support .student-schedule-table-wrap table{table-layout:fixed!important;min-width:0!important}.learning-support .student-schedule-table-wrap td{height:58px!important}.learning-support .support-program-overlay{border-color:var(--program-border,#cbd5e1)!important;background:var(--program-bg,#f1f5f9)!important;max-width:100%!important}.learning-support .support-program-overlay.color-peach{--program-bg:#fff1e7;--program-border:#fed7aa}.learning-support .support-program-overlay.color-yellow{--program-bg:#fef9c3;--program-border:#fde68a}.learning-support .support-program-overlay.color-violet{--program-bg:#f3e8ff;--program-border:#ddd6fe}.learning-support .support-program-overlay.color-blue{--program-bg:#eff6ff;--program-border:#bfdbfe}.learning-support .support-program-overlay.color-green{--program-bg:#ecfdf5;--program-border:#bbf7d0}.learning-support .support-program-overlay.color-rose{--program-bg:#fff1f2;--program-border:#fecdd3}.learning-support .support-program-overlay.color-gray{--program-bg:#f8fafc;--program-border:#cbd5e1}@media (max-width:1280px){.learning-support .overview-hero-card{grid-template-columns:1fr!important}.learning-support .student-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:1180px){.learning-support .program-workspace{grid-template-columns:1fr!important}}@media (max-width:760px){.learning-support .learning-support-tabs{width:100%!important}.learning-support .learning-support-tab{flex:1 1 0!important;min-width:0!important}.learning-support .overview-title-row h2{font-size:22px!important}.learning-support .overview-stat-grid,.learning-support .student-card-grid{grid-template-columns:1fr!important}.learning-support .schedule-toolbar{flex-direction:column!important;align-items:stretch!important}.learning-support .program-legend{justify-content:flex-start!important}.learning-support .program-schedule{padding:16px!important}}.learning-support .observation-heading{border-bottom:1px solid #edf2f7!important;padding-bottom:10px!important}.learning-support .observation-heading h3,.learning-support .ai-support-summary h3{color:#0f172a!important;letter-spacing:-.045em!important;font-size:18px!important;font-weight:950!important}.learning-support .ai-support-summary{background:linear-gradient(135deg,#fff 0%,#f5f3ff 100%)!important;border-radius:18px!important}.learning-support .learning-support-tabs{border-radius:24px!important;gap:8px!important;width:100%!important;max-width:100%!important;padding:7px!important;display:flex!important}.learning-support .learning-support-tab{flex:1 1 0!important;min-width:0!important;height:46px!important;font-size:13px!important}.learning-support .overview-hero-card{border-radius:22px!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;padding:20px 24px!important}.learning-support .overview-hero-card:after{opacity:.45!important;width:64px!important;height:64px!important}.learning-support .overview-title-row h2{font-size:26px!important}.learning-support .overview-title-row p{max-width:100%!important}.learning-support .overview-stat-grid{grid-template-columns:repeat(2,minmax(132px,160px))!important;justify-content:end!important}.learning-support .overview-stat-card{grid-template-columns:38px minmax(0,1fr)!important;min-height:74px!important;padding:13px 14px!important}.learning-support .overview-stat-icon{border-radius:14px!important;width:38px!important;height:38px!important}.learning-support .program-schedule{border-radius:18px!important;padding:16px 18px 14px!important}.learning-support .program-schedule:before{display:none!important}.learning-support .schedule-heading{justify-content:space-between!important;align-items:center!important;gap:14px!important;min-width:0!important;padding:0 0 4px!important;display:flex!important}.learning-support .schedule-heading h2{color:#0f172a!important;letter-spacing:-.045em!important;flex:none!important;margin:0!important;font-size:17px!important;font-weight:950!important}.learning-support .schedule-heading span,.learning-support .schedule-heading p{display:none!important}.learning-support .schedule-toolbar{flex:auto!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;min-width:0!important;padding:0!important;display:flex!important}.learning-support .program-legend{flex:auto!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important;min-width:0!important;padding:1px 0!important;display:flex!important;overflow-x:auto!important}.learning-support .program-legend-item{border-radius:999px!important;max-width:190px!important;min-height:24px!important;padding:4px 10px!important}.learning-support .program-legend-item strong{font-size:10px!important}.learning-support .week-navigation{flex:none!important;height:30px!important;padding:2px!important}.learning-support .week-navigation button{min-width:28px!important;height:25px!important;padding:0 9px!important;font-size:10.5px!important}.learning-support .schedule-table-wrap{border-radius:15px!important}.learning-support .schedule-table-wrap table{min-width:960px!important}.learning-support .schedule-table-wrap thead th{background:#f8fafc!important;height:32px!important;padding:0 8px!important}.learning-support .weekday-heading{justify-content:center!important;align-items:center!important;gap:4px!important;display:flex!important}.learning-support .weekday-heading strong{color:#334155!important;white-space:nowrap!important;font-size:11px!important;font-weight:950!important}.learning-support .weekday-heading span{display:none!important}.learning-support .schedule-table-wrap tbody th,.learning-support .period-column{width:86px!important}.learning-support .schedule-table-wrap tbody th{padding:4px 6px!important}.learning-support .schedule-table-wrap tbody th strong{font-size:10px!important;display:block!important}.learning-support .schedule-table-wrap tbody th span{margin:2px 0 0!important;font-size:8px!important;display:block!important}.learning-support .schedule-table-wrap td{vertical-align:middle!important;height:38px!important;padding:4px 8px!important}.learning-support .schedule-cell{justify-content:space-between!important;align-items:center!important;gap:8px!important;width:100%!important;min-height:28px!important;display:flex!important}.learning-support .neis-subject{text-align:left!important;color:#334155!important;white-space:nowrap!important;flex:auto!important;min-width:0!important;max-width:none!important;font-size:10.5px!important;font-weight:850!important}.learning-support .empty-slot{color:#cbd5e1!important;flex:auto!important;justify-content:flex-start!important;font-size:10px!important}.learning-support .schedule-entry-list{flex-direction:column!important;flex:0 132px!important;align-items:stretch!important;gap:3px!important;min-width:84px!important;max-width:142px!important;display:flex!important}.learning-support .schedule-entry-card{border-radius:5px!important;width:100%!important;max-width:none!important;min-height:19px!important;padding:2px 7px!important}.learning-support .schedule-entry-card strong{font-size:9.5px!important;line-height:1.2!important}@media (max-width:980px){.learning-support .overview-hero-card{grid-template-columns:1fr!important}.learning-support .overview-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-content:stretch!important}.learning-support .schedule-heading{flex-direction:column!important;align-items:stretch!important}.learning-support .schedule-toolbar{justify-content:space-between!important}}.learning-support .overview-hero-card{border-radius:22px!important;grid-template-columns:minmax(0,1fr) minmax(420px,520px)!important;align-items:center!important;gap:20px!important;min-height:118px!important;padding:16px 22px!important}.learning-support .overview-title-row h2{margin-top:5px!important;font-size:25px!important;line-height:1.16!important}.learning-support .overview-title-row p{margin-top:7px!important;font-size:12.5px!important;line-height:1.4!important}.learning-support .overview-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-content:stretch!important;gap:12px!important;width:100%!important;display:grid!important}.learning-support .overview-stat-card{border-radius:17px!important;grid-template-columns:42px minmax(0,1fr)!important;gap:11px!important;min-height:66px!important;padding:11px 14px!important}.learning-support .overview-stat-card span:not(.overview-stat-icon){white-space:nowrap!important;font-size:10px!important;line-height:1.15!important}.learning-support .overview-stat-card strong{margin-top:1px!important;font-size:21px!important;line-height:1.05!important}.learning-support .overview-stat-card p{display:none!important}.learning-support .program-schedule{border-radius:18px!important;gap:12px!important;padding:15px 18px!important}.learning-support .schedule-heading{grid-template-columns:max-content minmax(0,1fr)!important;align-items:center!important;gap:16px!important;min-height:38px!important;padding:0 0 2px!important;display:grid!important}.learning-support .schedule-heading h2{white-space:nowrap!important;margin:0!important;font-size:18px!important;line-height:1!important}.learning-support .schedule-toolbar{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;width:100%!important;min-width:0!important;padding:0!important;display:grid!important}.learning-support .program-legend{justify-content:flex-start!important;align-items:center!important;gap:8px!important;min-width:0!important;padding:0!important;display:flex!important;overflow-x:auto!important}.learning-support .program-legend-item{max-width:230px!important;min-height:26px!important;padding:5px 11px!important}.learning-support .week-navigation{align-self:center!important;height:31px!important}.learning-support .schedule-table-wrap td{text-align:left!important;height:40px!important;padding:4px 8px!important}.learning-support .schedule-cell{text-align:left!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important;width:100%!important;min-height:30px!important;display:flex!important}.learning-support .schedule-cell.has-entries{justify-content:space-between!important}.learning-support .neis-subject{color:#334155!important;text-align:left!important;text-overflow:ellipsis!important;white-space:nowrap!important;flex:auto!important;min-width:0!important;max-width:none!important;font-size:10.5px!important;font-weight:850!important;line-height:1.3!important;display:block!important;overflow:hidden!important}.learning-support .schedule-entry-list{flex-direction:column!important;flex:0 0 138px!important;align-items:stretch!important;gap:3px!important;min-width:98px!important;max-width:146px!important;margin-left:auto!important;display:flex!important}.learning-support .schedule-entry-card{border-radius:6px!important;justify-content:center!important;width:100%!important;min-height:20px!important;padding:2px 8px!important}.learning-support .schedule-entry-card strong{text-align:center!important}.learning-support .empty-slot{text-align:left!important;justify-content:flex-start!important;width:100%!important}.learning-support .student-card-grid .support-student-card{border-color:#cbd5e1eb!important;border-radius:24px!important;box-shadow:0 16px 36px #0f172a11,inset 0 0 0 1px #ffffffd1!important}.learning-support .student-card-grid .support-student-card:before{opacity:.72!important}.learning-support .student-avatar{background:linear-gradient(135deg,#dbeafe,#ede9fe)!important}.learning-support .mini-schedule-preview{background:#f8fafcd1!important;border-color:#e2e8f0!important}.learning-support .mini-schedule-grid .has-preview.peach{--preview-bg:#ffedd5;--preview-border:#fdba74}.learning-support .mini-schedule-grid .has-preview.green{--preview-bg:#dcfce7;--preview-border:#86efac}.learning-support .mini-schedule-grid .has-preview.violet{--preview-bg:#ede9fe;--preview-border:#c4b5fd}.learning-support .mini-schedule-grid .has-preview.blue{--preview-bg:#dbeafe;--preview-border:#93c5fd}@media (max-width:1120px){.learning-support .overview-hero-card{grid-template-columns:1fr!important}.learning-support .overview-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.learning-support .schedule-heading{grid-template-columns:1fr!important;align-items:stretch!important}}.learning-support .schedule-table-wrap,.learning-support .schedule-table-wrap table,.learning-support .schedule-table-wrap tbody,.learning-support .schedule-table-wrap tr,.learning-support .schedule-table-wrap td{overflow:visible!important}.learning-support .schedule-cell{position:relative!important;overflow:visible!important}.learning-support .schedule-cell.has-neis{justify-content:space-between!important}.learning-support .schedule-cell.no-neis.no-entries,.learning-support .schedule-cell.no-neis.has-entries{justify-content:center!important}.learning-support .schedule-cell.no-neis.has-entries .schedule-entry-list{flex:0 168px!important;max-width:180px!important;margin:0 auto!important}.learning-support .schedule-cell.no-neis.has-entries .schedule-entry-card{min-height:20px!important}.learning-support .schedule-entry-list{overflow:visible!important}.learning-support .schedule-entry-card{cursor:help!important;transition:transform .15s,box-shadow .15s,border-color .15s!important;position:relative!important;overflow:visible!important}.learning-support .schedule-entry-card:hover,.learning-support .schedule-entry-card:focus-visible{z-index:20!important;border-color:var(--program-accent)!important;outline:none!important;transform:translateY(-1px)!important;box-shadow:0 8px 18px #0f172a1f,inset 0 0 0 1px #ffffffb8!important}.learning-support .schedule-entry-tooltip{z-index:999;pointer-events:none;opacity:0;transform-origin:100% 100%;color:#0f172a;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;border:1px solid #cbd5e1eb;border-radius:13px;width:max-content;min-width:178px;max-width:240px;padding:10px 11px;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(5px)scale(.98);box-shadow:0 18px 38px #0f172a2e,inset 0 0 0 1px #ffffffbf}.learning-support .schedule-entry-tooltip:after{content:"";background:#fffffff7;border-bottom:1px solid #cbd5e1eb;border-right:1px solid #cbd5e1eb;width:10px;height:10px;position:absolute;bottom:-6px;right:18px;transform:rotate(45deg)}.learning-support .schedule-entry-card:hover .schedule-entry-tooltip,.learning-support .schedule-entry-card:focus-visible .schedule-entry-tooltip{opacity:1;transform:translateY(0)scale(1)}.learning-support .schedule-entry-tooltip dl{gap:7px;margin:0;display:grid}.learning-support .schedule-entry-tooltip div{grid-template-columns:54px minmax(0,1fr);align-items:start;gap:8px;display:grid}.learning-support .schedule-entry-tooltip dt{color:#64748b;white-space:nowrap;font-size:10px;font-weight:900;line-height:1.3}.learning-support .schedule-entry-tooltip dd{color:#0f172a;word-break:keep-all;min-width:0;margin:0;font-size:10.5px;font-weight:850;line-height:1.35}.learning-support .student-card-overview-panel{background:radial-gradient(circle at 96% 0,#dbeafe8f,#0000 28%),linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #e2e8f0f2;border-radius:22px;gap:15px;padding:18px 18px 20px;display:grid;box-shadow:0 18px 38px #0f172a0e,inset 0 0 0 1px #ffffffbf}.learning-support .student-card-overview-panel .student-card-section-header{margin:0!important;padding:0 2px 2px!important}.learning-support .student-card-overview-panel .student-card-section-header h3{font-size:21px!important;line-height:1.25!important}.learning-support .student-card-overview-panel .student-card-section-header p{display:none!important}.learning-support .student-card-overview-panel .student-card-grid{margin-top:0!important}.learning-support .student-card-grid .support-student-card:nth-child(6n+1){background:radial-gradient(circle at 100% 0,#c7d2fe94,#0000 34%),linear-gradient(#fff 0%,#f8fbff 100%)!important}.learning-support .student-card-grid .support-student-card:nth-child(6n+2){background:radial-gradient(circle at 100% 0,#bbf7d07a,#0000 34%),linear-gradient(#fff 0%,#f8fffb 100%)!important}.learning-support .student-card-grid .support-student-card:nth-child(6n+3){background:radial-gradient(circle at 100% 0,#fed7aa7a,#0000 34%),linear-gradient(#fff 0%,#fffaf6 100%)!important}.learning-support .student-card-grid .support-student-card:nth-child(6n+4){background:radial-gradient(circle at 100% 0,#bfdbfe85,#0000 34%),linear-gradient(#fff 0%,#f8fbff 100%)!important}@media (max-width:760px){.learning-support .student-card-overview-panel{padding:16px!important}.learning-support .schedule-entry-tooltip{transform-origin:bottom;right:50%;transform:translate(50%,5px)scale(.98)}.learning-support .schedule-entry-card:hover .schedule-entry-tooltip,.learning-support .schedule-entry-card:focus-visible .schedule-entry-tooltip{transform:translate(50%)scale(1)}}.learning-support .program-schedule .schedule-heading h2,.learning-support .student-card-overview-panel .student-card-section-header h3{letter-spacing:-.035em!important;font-size:18px!important;font-weight:850!important;line-height:1.2!important}.learning-support .student-card-overview-panel{gap:14px!important}.learning-support .student-card-overview-panel .student-card-section-header{align-items:center!important;min-height:30px!important}.learning-support .mini-schedule-preview{background:#f8fafcdb!important;border-color:#e2e8f0f0!important;padding:8px 9px!important}.learning-support .mini-schedule-head{grid-template-columns:26px repeat(5,minmax(0,1fr))!important;gap:3px!important}.learning-support .mini-schedule-grid{grid-template-columns:26px repeat(5,minmax(0,1fr))!important;grid-auto-rows:13px!important;gap:3px!important}.learning-support .mini-period-label{color:#94a3b8!important;background:0 0!important;border-color:#0000!important;place-items:center!important;font-size:8px!important;font-weight:850!important;display:grid!important}.learning-support .mini-slot{background:#ffffffe0!important;border:1px solid #eef2f7!important;border-radius:4px!important;place-items:center!important;min-width:0!important;display:grid!important}.learning-support .mini-slot.has-preview{border-color:var(--preview-border)!important;background:var(--preview-bg)!important;box-shadow:inset 0 0 0 1px #ffffff85!important}.learning-support .mini-slot em{color:#334155!important;font-size:8px!important;font-style:normal!important;font-weight:900!important}.learning-support .student-avatar-frame,.student-avatar-frame{border-radius:999px;flex:none;line-height:1;position:relative;overflow:hidden;color:#0000!important;background:linear-gradient(135deg,#eff6ff,#f5f3ff)!important;place-items:center!important;display:inline-grid!important}.learning-support .student-avatar-frame:after,.student-avatar-frame:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffffd6,inset 0 -10px 18px #0f172a0a}.learning-support .student-avatar-image,.student-avatar-image{object-fit:cover;border-radius:inherit;-webkit-user-select:none;user-select:none;display:block;width:100%!important;height:100%!important}.learning-support .student-avatar-sm,.student-avatar-sm{width:38px;height:38px}.learning-support .student-avatar-md,.student-avatar-md{width:42px;height:42px}.learning-support .student-avatar-lg,.student-avatar-lg{width:68px;height:68px}.learning-support .student-avatar-boy,.student-avatar-boy{background:linear-gradient(135deg,#dbeafe,#eff6ff)!important}.learning-support .student-avatar-girl,.student-avatar-girl{background:linear-gradient(135deg,#fce7f3,#f5f3ff)!important}.learning-support .student-avatar-neutral,.student-avatar-neutral{background:linear-gradient(135deg,#e0f2fe,#eef2ff)!important}
