:root{--ink: #1e2925;--ink-soft: #55635d;--ink-ghost: #94a39c;--surface: #ffffff;--paper: #ffffff;--accent: #2c8452;--accent-dark: #1f6a41;--accent-light: #f5f8f6;--accent-mid: #b7dcc6;--sidebar-width: 220px;--topbar-height: 64px;--teal-900: #234a38;--teal-700: #2c8452;--teal-600: #3a9663;--teal-400: #62b98a;--teal-200: #b7dcc6;--teal-100: #e6eee9;--teal-50: #f5f8f6;--danger: #c0392b;--danger-light: #fef2f2;--success: #1e7e4a;--success-light: #edfaf3;--warn: #b45309;--warn-light: #fefce8;--blue: #1d6fa4;--blue-light: #e8f2fb;--purple: #5b21b6;--purple-light: #f0ebff;--cyan: #0d7377;--cyan-light: #e6f7f7;--border: #e0e7e3;--radius: 8px;--radius-sm: 5px;--max-width: 1440px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,Inter,Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.page-content{max-width:var(--max-width);margin:0 auto;padding:24px 24px 80px}._badge_1tem3_1{position:fixed;right:16px;bottom:16px;z-index:500;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 4px 16px #0000001f;display:flex;flex-direction:column;gap:2px}@media (max-width: 768px){._badge_1tem3_1{z-index:55}}._label_1tem3_22{font-size:.62rem;font-weight:600;letter-spacing:.04em;color:var(--ink-ghost)}._brandRow_1tem3_29{display:flex;align-items:center;gap:6px}._logo_1tem3_35{height:24px;width:auto;object-fit:contain}._wordmark_1tem3_41{display:flex;flex-direction:column;gap:1px;line-height:1}._wordmarkTop_1tem3_48{font-size:.8rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}._wordmarkBottom_1tem3_55{font-size:.5rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:.72}._sidebar_zcd5l_1{width:var(--sidebar-width);min-height:100vh;background:var(--paper);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden}._logo_zcd5l_17{display:flex;align-items:center;gap:10px;padding:18px 16px;border-bottom:1px solid var(--border);flex-shrink:0}._logoImg_zcd5l_26{height:28px;width:auto;object-fit:contain;flex-shrink:0}._logoText_zcd5l_33{line-height:1;min-width:0}._logoName_zcd5l_35{font-size:.85rem;font-weight:800;letter-spacing:.01em;color:var(--ink)}._logoBrand_zcd5l_42{font-size:.6rem;font-weight:500;letter-spacing:.01em;line-height:1.25;color:var(--ink-ghost);margin-top:3px}._navSection_zcd5l_52{padding:16px 0 4px;flex-shrink:0}._sectionLabel_zcd5l_57{font-size:.62rem;font-weight:700;letter-spacing:.1em;color:var(--ink-ghost);padding:0 16px 6px;text-transform:uppercase}._navLink_zcd5l_66{display:block;padding:7px 16px;font-size:.84rem;color:var(--ink-soft);text-decoration:none;position:relative;transition:background .1s,color .1s}._navLink_zcd5l_66:hover{background:var(--surface);color:var(--ink);text-decoration:none}._navLinkActive_zcd5l_82{background:var(--accent-light);color:var(--accent);font-weight:600}._navLinkActive_zcd5l_82:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--accent);border-radius:0 2px 2px 0}._classSection_zcd5l_100{padding:14px 0 4px;flex-shrink:0}._classBtn_zcd5l_105{display:block;width:100%;text-align:left;padding:6px 16px;font-size:.82rem;color:var(--ink-soft);background:none;border:none;cursor:pointer;transition:background .1s,color .1s;font-family:inherit}._classBtn_zcd5l_105:hover{background:var(--surface);color:var(--ink)}._classBtnActive_zcd5l_124{background:var(--accent-light);color:var(--accent);font-weight:600}._spacer_zcd5l_131{flex:1}._adminSection_zcd5l_134{padding:8px 16px;border-top:1px solid var(--border);flex-shrink:0}._adminLink_zcd5l_140{font-size:.8rem;color:var(--ink-soft);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;text-align:left;width:100%}._adminLink_zcd5l_140:hover{color:var(--accent)}._userSection_zcd5l_155{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}._userAvatar_zcd5l_164{width:30px;height:30px;border-radius:50%;background:var(--accent-light);color:var(--accent);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}._userInfo_zcd5l_178{flex:1;min-width:0}._userName_zcd5l_183{font-size:.78rem;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._userRole_zcd5l_192{font-size:.66rem;color:var(--ink-ghost)}._logoutBtn_zcd5l_197{background:none;border:none;color:var(--ink-ghost);font-size:1rem;cursor:pointer;padding:4px 6px;border-radius:4px;flex-shrink:0;transition:color .1s,background .1s}._logoutBtn_zcd5l_197:hover{color:var(--danger);background:var(--danger-light)}._backSection_zcd5l_215{padding:8px 16px 12px;flex-shrink:0}._backBtn_zcd5l_220{width:100%;height:34px;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:.82rem;font-weight:600;color:var(--ink-soft);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .1s,color .1s}._backBtn_zcd5l_220:hover{border-color:var(--accent);color:var(--accent)}._navScroll_zcd5l_244{flex:0 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}._menuToggle_zcd5l_252,._backdrop_zcd5l_253{display:none}@media (max-width: 768px){._menuToggle_zcd5l_252{display:flex;align-items:center;justify-content:center;position:fixed;top:10px;left:10px;z-index:60;width:40px;height:40px;font-size:1.2rem;color:var(--ink);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}._backdrop_zcd5l_253{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#1e292566}._sidebar_zcd5l_1{position:fixed;left:0;top:0;z-index:70;width:min(280px,85vw);transform:translate(-100%);transition:transform .2s ease}._sidebarOpen_zcd5l_294{transform:none;box-shadow:0 0 24px #1e292540}}._version_zcd5l_300{padding:0 16px 10px;font-size:11px;color:var(--ink-ghost);flex-shrink:0}._topbar_9hwek_1{position:sticky;top:0;z-index:100;height:var(--topbar-height);background:var(--teal-900);box-shadow:0 2px 12px #00000040}._inner_9hwek_10{max-width:var(--max-width);margin:0 auto;height:100%;display:flex;align-items:center;padding:0 24px;gap:20px}._left_9hwek_20{flex:1;display:flex;align-items:center;gap:12px;justify-content:flex-start;min-width:0}._right_9hwek_29{flex:1;display:flex;align-items:center;gap:12px;justify-content:flex-end;min-width:0}._logo_9hwek_38{display:flex;align-items:center;gap:10px;flex-shrink:0}._logoImg_9hwek_45{height:32px;width:auto;object-fit:contain}._wordmark_9hwek_51{display:flex;flex-direction:column;gap:2px;line-height:1}._wordmarkTop_9hwek_58{font-size:15px;font-weight:800;letter-spacing:.01em;color:#fff}._wordmarkBottom_9hwek_65{font-size:9px;font-weight:500;letter-spacing:.03em;color:#fff;opacity:.7;white-space:nowrap}._center_9hwek_74{flex:1;display:flex;align-items:center;justify-content:center;position:relative}._dateFull_9hwek_83{font-size:14px;font-weight:700;color:#fff;cursor:pointer;padding:4px 10px;border-radius:var(--radius);transition:background .15s;-webkit-user-select:none;user-select:none;text-align:center;letter-spacing:-.01em}._dateFull_9hwek_83:hover{background:#ffffff1a}._datePickerHidden_9hwek_100{position:absolute;opacity:0;pointer-events:none;width:0;height:0}._classSelectorWrap_9hwek_111{position:relative;display:flex;align-items:center}._classSelectorSelect_9hwek_117{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#fff;font-size:13px;font-weight:700;font-family:inherit;height:34px;padding:0 28px 0 14px;cursor:pointer;transition:background .15s}._classSelectorSelect_9hwek_117:hover,._classSelectorSelect_9hwek_117:focus{background:#ffffff26;outline:none}._classSelectorSelect_9hwek_117 option{background:var(--teal-900);color:#fff}._classSelectorChevron_9hwek_144{position:absolute;right:10px;pointer-events:none;font-size:10px;color:var(--teal-400)}._adminLink_9hwek_153{height:34px;padding:0 14px;border:1px solid rgba(255,255,255,.2);border-radius:17px;background:#ffffff14;color:#fff;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:1;letter-spacing:-.01em}._adminLink_9hwek_153:hover{background:#ffffff26;text-decoration:none;color:#fff}._adminLinkActive_9hwek_178{background:#ffffff2e;border-color:#fff6}._userMenu_9hwek_184{position:relative}._userBtn_9hwek_188{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:var(--radius);transition:background .15s}._userBtn_9hwek_188:hover{background:#ffffff14}._avatar_9hwek_204{width:34px;height:34px;border-radius:50%;background:var(--teal-600);color:#fff;border:2px solid var(--teal-400);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:-.5px}._userName_9hwek_220{font-size:13px;font-weight:600;color:#fff}._chevron_9hwek_226{font-size:9px;color:var(--teal-200);margin-left:2px}._dropdown_9hwek_233{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 20px #234a3833;z-index:200;overflow:hidden}._dropdownItem_9hwek_246{width:100%;display:flex;align-items:center;gap:10px;padding:11px 14px;background:none;border:none;cursor:pointer;font-size:13.5px;color:var(--ink);text-align:left;transition:background .1s}._dropdownItem_9hwek_246:hover{background:var(--surface)}._dropdownItemDanger_9hwek_265{color:var(--danger)}._dropdownItemDanger_9hwek_265:hover{background:var(--danger-light)}._dropdownIcon_9hwek_273{font-size:14px;width:18px;text-align:center;flex-shrink:0}._dropdownDivider_9hwek_280{height:1px;background:var(--border);margin:2px 0}._page_17a9l_1{min-height:100vh;background:var(--surface)}._main_17a9l_6{padding-bottom:60px}._loadingWrap_17a9l_11{display:flex;align-items:center;justify-content:center;height:100vh}._loadingInline_17a9l_18{display:flex;justify-content:center;padding:40px 0}._loadingDot_17a9l_24{width:12px;height:12px;background:var(--accent);border-radius:50%;animation:_pulse_17a9l_1 1s ease-in-out infinite}@keyframes _pulse_17a9l_1{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}._datePickerHidden_17a9l_37{position:absolute;opacity:0;pointer-events:none;width:0;height:0}._dateNav_17a9l_46{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 0 8px}._navBtn_17a9l_55{width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}._navBtn_17a9l_55:hover:not(:disabled){background:var(--accent-light);color:var(--accent);border-color:var(--accent-mid)}._navBtn_17a9l_55:disabled{opacity:.35;cursor:not-allowed}._dateLabel_17a9l_81{font-size:15px;font-weight:500;color:var(--ink);min-width:260px;text-align:center}._section_17a9l_90{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}._sectionTitle_17a9l_98{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:0;padding:14px 20px 12px;border-bottom:1px solid var(--border)}._tableWrap_17a9l_110{overflow-x:auto}._table_17a9l_110{width:100%;border-collapse:collapse;font-size:.875rem}._table_17a9l_110 th{padding:10px 16px;text-align:left;font-size:.78rem;font-weight:600;color:var(--ink-soft);background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap}._table_17a9l_110 td{padding:10px 16px;border-bottom:1px solid var(--border);color:var(--ink);vertical-align:top}._table_17a9l_110 tr:last-child td{border-bottom:none}._timeCell_17a9l_142{white-space:nowrap;color:var(--ink-soft);font-size:.82rem}._contentCell_17a9l_148{max-width:340px}._emptyCell_17a9l_152{text-align:center;color:var(--ink-ghost);font-style:italic;padding:24px!important}._statusPill_17a9l_160{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600;white-space:nowrap}._status_abgeschlossen_17a9l_169{background:#edfaf3;color:#1e7e4a}._status_wird_fortgesetzt_17a9l_174{background:#e8f2fb;color:#1d6fa4}._status_ausstehend_17a9l_179{background:var(--surface);color:var(--ink-soft)}._status_abgebrochen_17a9l_184{background:#fef2f2;color:#c0392b}._status_digital_17a9l_189{background:#f0ebff;color:#5b21b6}._status_pruefung_17a9l_194{background:#fefce8;color:#b45309}._status_blockbeginn_17a9l_199{background:#e6f7f7;color:#0d7377}._status_blockabschluss_17a9l_204{background:#d9f0f0;color:#085f63}._status_arbeitsauftrag_17a9l_209{background:#fff3ed;color:#c2410c}._attendanceCard_17a9l_215{padding:16px 20px;display:flex;flex-direction:column;gap:12px}._periodsRow_17a9l_222{display:flex;flex-wrap:wrap;gap:10px}._periodItem_17a9l_228{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:100px}._periodLabel_17a9l_240{font-size:.75rem;color:var(--ink-ghost);white-space:nowrap}._present_17a9l_246{font-size:.82rem;font-weight:600;color:var(--success)}._absent_17a9l_252{font-size:.82rem;font-weight:600;color:var(--danger)}._absenceRow_17a9l_258{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--ink)}._absenceLabel_17a9l_266{font-weight:500;color:var(--ink-soft)}._commentsBlock_17a9l_271{display:flex;flex-direction:column;gap:6px;font-size:.875rem}._commentList_17a9l_278{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}._commentItem_17a9l_287{padding:6px 10px;background:var(--surface);border-radius:var(--radius);color:var(--ink);font-size:.85rem}._emptyMsg_17a9l_296{text-align:center;color:var(--ink-ghost);font-style:italic;font-size:.9rem;padding:32px 0;margin:0}._tabs_17a9l_306{display:flex;border-bottom:2px solid var(--border);margin-bottom:20px;gap:0}._tab_17a9l_110{padding:10px 20px;font-size:.85rem;font-weight:500;border:none;background:transparent;color:var(--ink-soft);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .12s,border-color .12s}._tab_17a9l_110:hover{color:var(--ink)}._tabActive_17a9l_328{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}._overviewWrap_17a9l_335{display:flex;flex-direction:column;gap:24px}._statsRow_17a9l_341{display:flex;gap:12px;flex-wrap:wrap}._statCard_17a9l_347{flex:1;min-width:100px;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center}._statCardAbsent_17a9l_357{border-top:3px solid #c0392b}._statCardPartial_17a9l_358{border-top:3px solid #b45309}._statCardExcused_17a9l_359{border-top:3px solid #1e7e4a}._statValue_17a9l_361{font-size:1.6rem;font-weight:700;color:var(--ink);line-height:1}._statLabel_17a9l_368{font-size:.72rem;color:var(--ink-soft);margin-top:6px;white-space:nowrap}._absenceListWrap_17a9l_376{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}._absenceListTitle_17a9l_383{padding:12px 16px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);border-bottom:1px solid var(--border)}._absenceItems_17a9l_393{display:flex;flex-direction:column}._absenceItem_17a9l_393{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);border-left:3px solid transparent}._absenceItem_17a9l_393:last-child{border-bottom:none}._absenceItemFull_17a9l_409{border-left-color:#c0392b}._absenceItemPartial_17a9l_410{border-left-color:#b45309}._absenceItemDate_17a9l_412{font-size:.85rem;color:var(--ink)}._absenceItemTags_17a9l_417{display:flex;gap:6px}._absenceTag_17a9l_422{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px}._absenceTagFull_17a9l_429{background:#fee2e2;color:#b91c1c}._absenceTagPartial_17a9l_430{background:#fef3c7;color:#92400e}._absenceTagExcused_17a9l_431{background:#dcfce7;color:#166534;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px}._partial_17a9l_434{font-size:.82rem;font-weight:600;color:var(--warning, #b45309)}@media (max-width: 600px){._dateLabel_17a9l_81{font-size:13px;min-width:180px}._periodsRow_17a9l_222{gap:8px}._periodItem_17a9l_228{min-width:80px;padding:6px 10px}._statsRow_17a9l_341{gap:8px}._statCard_17a9l_347{min-width:80px;padding:12px 8px}._absenceItem_17a9l_393{flex-direction:column;align-items:flex-start;gap:6px}}._form_un3df_1{display:flex;flex-direction:column;gap:6px;max-width:420px}._label_un3df_8{font-size:13px;color:var(--ink-soft);margin-top:8px}._input_un3df_14{height:38px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);font:inherit;background:var(--paper);color:var(--ink)}._input_un3df_14:focus{outline:2px solid var(--accent-mid);border-color:var(--accent)}._button_un3df_29{margin-top:16px;height:38px;border:0;border-radius:var(--radius);background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}._button_un3df_29:disabled{opacity:.5;cursor:default}._error_un3df_46{margin:8px 0 0;font-size:13px;color:var(--danger)}._success_un3df_52{margin:8px 0 0;font-size:13px;color:var(--success)}._page_19tpi_1{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface);padding:24px}._card_19tpi_10{width:100%;max-width:480px;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:28px 28px 32px}._title_19tpi_19{margin:0 0 8px;font-family:var(--display);font-size:26px;color:var(--ink)}._intro_19tpi_26{margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--ink-soft)}._shell_nwxke_1{display:flex;min-height:100vh}._main_nwxke_6{flex:1;min-width:0;padding:28px 32px 60px;background:var(--surface);overflow-y:auto}._loading_nwxke_14{min-height:100vh;display:flex;align-items:center;justify-content:center}._spinner_nwxke_21{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:_spin_nwxke_21 .7s linear infinite}@keyframes _spin_nwxke_21{to{transform:rotate(360deg)}}._schoolPickerWrap_nwxke_33{max-width:560px;margin:60px auto 0}._schoolPickerTitle_nwxke_38{font-size:1.25rem;font-weight:700;color:var(--ink);margin:0 0 24px}._schoolPickerList_nwxke_45{display:flex;flex-direction:column;gap:10px}._schoolPickerCard_nwxke_51{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:16px 20px;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s,box-shadow .15s}._schoolPickerCard_nwxke_51:hover{border-color:var(--accent-mid);box-shadow:0 2px 8px #05966914}._schoolPickerName_nwxke_71{font-size:.95rem;font-weight:600;color:var(--ink)}._schoolPickerAddr_nwxke_77{font-size:.82rem;color:var(--ink-soft)}._schoolPickerEmpty_nwxke_82{color:var(--ink-ghost);font-style:italic;font-size:.9rem}@media (max-width: 768px){._main_nwxke_6{padding:64px 16px 60px}}._root_1ui2a_1{position:relative;display:inline-block}._block_1ui2a_6{display:block;width:100%}._popover_1ui2a_11{position:absolute;top:calc(100% + 6px);left:0;z-index:50;width:280px;max-width:calc(100vw - 32px);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #234a3829;padding:8px;font-weight:400;text-align:left}._popoverAbove_1ui2a_28{top:auto;bottom:calc(100% + 6px)}._search_1ui2a_33{width:100%;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;color:var(--ink);background:var(--paper)}._search_1ui2a_33:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}._list_1ui2a_50{list-style:none;margin:6px 0 0;padding:0;max-height:260px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}._option_1ui2a_60,._empty_1ui2a_61{padding:8px 10px;border-radius:var(--radius-sm);font-size:.875rem;color:var(--ink)}._option_1ui2a_60{cursor:pointer}._optionActive_1ui2a_72{background:var(--accent-light)}._optionCurrent_1ui2a_76{font-weight:700;color:var(--accent)}._empty_1ui2a_61{color:var(--ink-soft)}._fieldTrigger_1ui2a_86{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:150px;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);color:var(--ink-soft);font:inherit;font-size:.875rem;cursor:pointer}._fieldTrigger_1ui2a_86:hover:not(:disabled),._fieldTrigger_1ui2a_86[aria-expanded=true]{border-color:var(--accent)}._fieldTrigger_1ui2a_86:focus-visible{outline:2px solid var(--accent);outline-offset:2px}._fieldTrigger_1ui2a_86:disabled{opacity:.5;cursor:not-allowed}._chip_1pujx_1{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:1px 7px;border-radius:999px;border:1px solid var(--border);font-family:inherit;font-size:10px;font-weight:700;line-height:1.6;white-space:normal}._mine_1pujx_16{background:var(--teal-100);border-color:var(--teal-700);color:var(--teal-900)}._free_1pujx_17{background:var(--surface);border-style:dashed;border-color:var(--ink-ghost);color:var(--ink-soft)}._locked_1pujx_18,._submitted_1pujx_18{background:var(--surface);color:var(--ink-ghost)}._legend_1pujx_20{display:flex;flex-wrap:wrap;gap:8px;padding:8px 20px;border-bottom:1px solid var(--border)}._section_m8i4y_1{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}._headingRow_m8i4y_9{display:flex;align-items:center;border-bottom:1px solid var(--border);padding:13px 20px;background:var(--teal-50);gap:10px}._headingAccent_m8i4y_18{width:3px;height:18px;background:var(--teal-700);border-radius:2px;flex-shrink:0}._heading_m8i4y_9{font-size:11px;font-weight:700;color:var(--teal-700);text-transform:uppercase;letter-spacing:.08em;flex:1}._schoolName_m8i4y_35{font-size:12px;font-weight:500;color:var(--ink-ghost)}._headingActions_m8i4y_41{display:flex;align-items:center;gap:10px}._saveBtn_m8i4y_47{height:34px;padding:0 18px;background:var(--teal-600);border:none;border-radius:17px;font-size:12.5px;font-weight:700;color:#fff;cursor:pointer;transition:background .15s,transform .1s;letter-spacing:-.01em}._saveBtn_m8i4y_47:hover:not(:disabled){background:var(--teal-400);transform:translateY(-1px)}._saveBtn_m8i4y_47:disabled{opacity:.55;cursor:not-allowed}._statusSaving_m8i4y_71{font-size:12px;color:var(--ink-ghost)}._statusSaved_m8i4y_72{font-size:12px;color:var(--success);font-weight:600}._statusError_m8i4y_73{font-size:12px;color:var(--danger)}._tableWrapper_m8i4y_75{overflow-x:auto}._table_m8i4y_75{width:100%;min-width:1100px;border-collapse:collapse;font-size:13.5px;table-layout:fixed}._table_m8i4y_75 th:nth-child(1){width:160px}._table_m8i4y_75 th:nth-child(2){width:130px}._table_m8i4y_75 th:nth-child(3){width:180px}._table_m8i4y_75 th:nth-child(4){width:195px}._table_m8i4y_75 th:nth-child(6){width:120px}._table_m8i4y_75 th:nth-child(7){width:150px}._table_m8i4y_75 th{padding:10px 14px;text-align:center;font-size:11px;font-weight:700;color:var(--ink-ghost);text-transform:uppercase;letter-spacing:.06em;background:var(--surface);border-bottom:2px solid var(--border);border-right:1px solid var(--border);white-space:nowrap}._table_m8i4y_75 td{padding:0;height:54px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:middle}._table_m8i4y_75 th:last-child,._table_m8i4y_75 td:last-child{border-right:none}._table_m8i4y_75 tr:last-child td{border-bottom:none}._row_m8i4y_127:hover td{background:var(--teal-50)}._submitted_m8i4y_131 td{background:var(--success-light)}._lockedRow_m8i4y_135 td{background:var(--surface);opacity:.7}._timeCell_m8i4y_141{background:var(--teal-50);border-right:2px solid var(--teal-100)!important;white-space:nowrap}._timeCellInner_m8i4y_147{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;min-height:54px;justify-content:center}._timeSlotNum_m8i4y_157{font-size:10px;font-weight:700;color:var(--teal-400);text-transform:uppercase;letter-spacing:.05em}._timeSlotTime_m8i4y_165{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;color:var(--teal-700)}._table_m8i4y_75 td._timeCell_m8i4y_141,._table_m8i4y_75 td._tdPad_m8i4y_175,._table_m8i4y_75 td._teacherCell_m8i4y_176{padding:10px 14px}._lfCode_m8i4y_181{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;white-space:nowrap}._lfCell_m8i4y_193{display:flex;flex-direction:column;gap:4px}._lfDesc_m8i4y_199{font-size:11px;color:var(--ink-soft);line-height:1.3;max-width:200px}._topicText_m8i4y_206{font-size:13px;color:var(--ink);line-height:1.35}._ceTrigger_m8i4y_213{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:34px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden}._ceTrigger_m8i4y_213:hover:not(:disabled){border-color:var(--accent)}._ceTrigger_m8i4y_213:disabled{background:var(--surface);color:var(--ink-ghost);cursor:default}._select_m8i4y_236{height:34px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font-size:13px;width:100%;outline:none;transition:border-color .15s}._select_m8i4y_236:focus{border-color:var(--teal-400);box-shadow:0 0 0 3px #4db8cf26}._select_m8i4y_236:disabled{background:var(--surface);color:var(--ink-ghost)}._textInput_m8i4y_259{width:100%;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font-size:13.5px;outline:none;resize:none;transition:border-color .15s,background .15s;line-height:1.4}._textInput_m8i4y_259:focus{border-color:var(--teal-400);background:var(--teal-50)}._textInput_m8i4y_259::placeholder{color:var(--ink-ghost)}._textInput_m8i4y_259:disabled{background:transparent;color:var(--ink-soft)}._chips_m8i4y_285{display:flex;flex-wrap:wrap;gap:4px}._chip_m8i4y_285{background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100);border-radius:var(--radius-sm);padding:2px 7px;font-size:11.5px;font-weight:500;white-space:nowrap}._checkCol_m8i4y_302{text-align:center;width:60px}._checkbox_m8i4y_307{width:18px;height:18px;accent-color:var(--teal-700);cursor:pointer}._teacherCell_m8i4y_176{white-space:nowrap}._teacherName_m8i4y_318{font-size:13px;font-weight:500;color:var(--ink)}._noTeacher_m8i4y_324{color:var(--ink-ghost)}._teacherBadge_m8i4y_328{display:inline-block;background:var(--surface);color:var(--ink-soft);border:1px solid var(--border);border-radius:12px;padding:3px 8px;font-size:11px;font-weight:600;white-space:nowrap}._statusPill_m8i4y_341{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:opacity .15s}._statusPill_m8i4y_341:hover{opacity:.8}._statusAbgeschlossen_m8i4y_356{background:var(--success-light);color:var(--success)}._statusWirdFortgesetzt_m8i4y_357{background:var(--blue-light);color:var(--blue)}._statusAusstehend_m8i4y_358{background:var(--surface);color:var(--ink-ghost);border:1px solid var(--border)}._statusAbgebrochen_m8i4y_359{background:var(--danger-light);color:var(--danger)}._statusDigital_m8i4y_360{background:var(--purple-light);color:var(--purple)}._statusPruefung_m8i4y_361{background:var(--warn-light);color:var(--warn)}._statusBlockbeginn_m8i4y_362{background:var(--cyan-light);color:var(--cyan)}._statusEntfall_m8i4y_363{background:var(--surface);color:var(--ink-ghost)}._ownChip_m8i4y_366{margin-top:4px;white-space:normal}._own_mine_m8i4y_367 td{background:var(--teal-100)}._own_mine_m8i4y_367 td._timeCell_m8i4y_141{border-left:4px solid var(--teal-700)}._own_free_m8i4y_369 td._timeCell_m8i4y_141{border-left:4px dashed var(--ink-ghost)}._own_locked_m8i4y_370 td._timeCell_m8i4y_141,._own_submitted_m8i4y_370 td._timeCell_m8i4y_141{border-left:4px solid var(--border)}._section_c8tvu_1{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}._headingRow_c8tvu_9{position:relative;display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--teal-50);border-bottom:1px solid var(--border)}._headingAccent_c8tvu_19{width:3px;height:18px;background:var(--teal-700);border-radius:2px;flex-shrink:0}._heading_c8tvu_9{flex:1;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}._className_c8tvu_36{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;font-size:12px;font-weight:600;color:var(--teal-700);letter-spacing:.04em;white-space:nowrap}._stats_c8tvu_49{display:flex;align-items:center;gap:16px}._statItem_c8tvu_55{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-soft)}._statValue_c8tvu_63{font-weight:700;color:var(--teal-700)}._tableWrapper_c8tvu_69{overflow-x:auto}._table_c8tvu_69{width:100%;min-width:760px;border-collapse:collapse;font-size:13px}._table_c8tvu_69 th{padding:10px 12px;text-align:center;font-size:11px;font-weight:700;color:var(--ink-ghost);text-transform:uppercase;letter-spacing:.06em;background:var(--surface);border-bottom:2px solid var(--border);white-space:nowrap}._table_c8tvu_69 td{padding:8px 12px;text-align:center;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--ink)}._table_c8tvu_69 th:first-child,._table_c8tvu_69 td:first-child{text-align:left;position:sticky;left:0;z-index:1;min-width:190px;background:var(--paper);box-shadow:1px 0 0 var(--border)}._table_c8tvu_69 th:first-child{background:var(--surface)}._table_c8tvu_69 tr:last-child td{border-bottom:none}._row_c8tvu_121:hover td,._row_c8tvu_121:hover td:first-child{background:var(--teal-50)}._periodHead_c8tvu_127,._periodCell_c8tvu_128{min-width:112px}._periodHead_c8tvu_127{text-align:center;font-family:JetBrains Mono,Fira Code,monospace;font-size:10px;letter-spacing:0em}._periodHead_c8tvu_127 span{display:block;margin-bottom:5px}._allPresentBtn_c8tvu_144{display:inline-block;background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100);border-radius:12px;padding:4px 11px;font-size:11px;font-weight:700;font-family:Plus Jakarta Sans,sans-serif;letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}._allPresentBtn_c8tvu_144:hover{background:var(--teal-100);border-color:var(--teal-200)}._periodCell_c8tvu_128{text-align:center}._periodHeadLocked_c8tvu_169{color:var(--ink-ghost);background:var(--surface)!important}._periodCellLocked_c8tvu_174{background:var(--surface);opacity:.5}._studentCell_c8tvu_180{display:flex;align-items:center;gap:8px;white-space:nowrap}._avatar_c8tvu_187{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--teal-100),var(--teal-200));color:var(--teal-900);border:1px solid var(--teal-100);font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:-.5px;text-transform:uppercase}._studentName_c8tvu_204{font-weight:500;font-size:13.5px;color:var(--ink)}._checkbox_c8tvu_211{width:16px;height:16px;accent-color:var(--teal-700);cursor:pointer}._select_c8tvu_218{height:30px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-size:12.5px;min-width:130px;outline:none;transition:border-color .15s}._select_c8tvu_218:focus{border-color:var(--teal-400);box-shadow:0 0 0 2px var(--teal-50)}._select_c8tvu_218:disabled{background:var(--surface);color:var(--ink-ghost)}._commentCell_c8tvu_242{min-width:200px}._savedComment_c8tvu_246{padding:4px 8px;margin-bottom:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:12.5px;color:var(--ink);line-height:1.4}._authorEntry_c8tvu_257{padding:4px 0;margin-bottom:4px;min-height:26px;display:flex;align-items:center;justify-content:center}._textInput_c8tvu_266{width:100%;height:30px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-size:12.5px;outline:none;transition:border-color .15s}._textInput_c8tvu_266:focus{border-color:var(--teal-400);box-shadow:0 0 0 2px var(--teal-50)}._textInput_c8tvu_266:disabled{background:var(--surface)}._periodControl_c8tvu_289{display:flex;gap:2px;justify-content:center}._periodBtn_c8tvu_295{height:26px;padding:0 8px;border:1px solid var(--border);border-radius:4px;font-size:11px;font-weight:700;font-family:Plus Jakarta Sans,sans-serif;cursor:pointer;transition:background .12s,border-color .12s,color .12s;background:var(--surface);color:var(--ink-ghost);letter-spacing:.02em}._periodBtn_c8tvu_295:disabled{cursor:not-allowed}._periodBtn_anwesend_c8tvu_314._periodBtnActive_c8tvu_314{background:#dcfce7;border-color:#86efac;color:#166534}._periodBtn_teilweise_c8tvu_320._periodBtnActive_c8tvu_314{background:#fef9c3;border-color:#fde047;color:#854d0e}._periodBtn_abwesend_c8tvu_326._periodBtnActive_c8tvu_314{background:#fee2e2;border-color:#fca5a5;color:#991b1b}._periodBtn_anwesend_c8tvu_314:not(:disabled):hover{background:#dcfce7;border-color:#86efac;color:#166534}._periodBtn_teilweise_c8tvu_320:not(:disabled):hover{background:#fef9c3;border-color:#fde047;color:#854d0e}._periodBtn_abwesend_c8tvu_326:not(:disabled):hover{background:#fee2e2;border-color:#fca5a5;color:#991b1b}._minutesRow_c8tvu_351{display:flex;align-items:center;gap:4px;justify-content:center;margin-top:5px}._minutesInput_c8tvu_359{width:52px;height:24px;padding:0 6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-size:12px;text-align:center;outline:none;transition:border-color .15s}._minutesInput_c8tvu_359:focus{border-color:var(--teal-400);box-shadow:0 0 0 2px var(--teal-50)}._minutesLabel_c8tvu_378{font-size:11px;color:var(--ink-soft)}._minutesReadOnly_c8tvu_383{margin-top:4px;font-size:11px;color:var(--ink-soft);text-align:center}._excusedHead_c8tvu_391{text-align:center;white-space:nowrap}._excusedCell_c8tvu_396{text-align:center}._excusedCheckbox_c8tvu_400{width:16px;height:16px;accent-color:var(--teal-700);cursor:pointer}._teacherCell_c8tvu_408{white-space:nowrap;min-width:120px}._authorName_c8tvu_413{font-size:12.5px;font-weight:500;color:var(--ink)}._authorBadge_c8tvu_419{background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100);border-radius:4px;padding:2px 6px;font-size:10.5px;font-weight:700;white-space:nowrap;letter-spacing:.03em}._head_mine_c8tvu_432{border-bottom:3px solid var(--teal-700)!important}._head_free_c8tvu_433{border-bottom:3px dashed var(--ink-ghost)!important}._chip_1yb25_1{font-size:.78rem;font-weight:600;background:var(--accent-light);color:var(--accent);padding:2px 9px;border-radius:20px}._trigger_1yb25_10{border:1px solid var(--accent-mid);font-family:inherit;cursor:pointer}._trigger_1yb25_10:hover,._trigger_1yb25_10[aria-expanded=true]{background:var(--teal-100)}._trigger_1yb25_10:focus-visible{outline:2px solid var(--accent);outline-offset:2px}._page_1zugq_1{display:flex;flex-direction:column;gap:20px}._pageHeader_1zugq_8{display:flex;align-items:center;gap:16px;flex-wrap:wrap}._pageTitle_1zugq_15{font-size:1.2rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}._classChip_1zugq_24{font-size:.78rem;font-weight:600;background:var(--accent-light);color:var(--accent);padding:2px 9px;border-radius:20px}._dateNav_1zugq_33{display:flex;align-items:center;gap:6px;margin-left:auto}._dateArrow_1zugq_40{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--paper);color:var(--ink-soft);font-size:1rem;cursor:pointer;transition:border-color .1s,color .1s}._dateArrow_1zugq_40:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}._dateArrow_1zugq_40:disabled{opacity:.35;cursor:default}._dateLabel_1zugq_58{font-size:.88rem;font-weight:500;color:var(--ink);min-width:200px;text-align:center}._todayBtn_1zugq_66{height:28px;padding:0 12px;font-size:.78rem;font-weight:600;background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-mid);border-radius:6px;cursor:pointer;transition:background .1s;font-family:inherit}._todayBtn_1zugq_66:hover{background:var(--accent);color:#fff}._wocheBtn_1zugq_82{height:32px;padding:0 14px;font-size:.8rem;font-weight:500;border:1px solid var(--border);border-radius:6px;background:var(--paper);color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:border-color .1s,color .1s}._wocheBtn_1zugq_82:hover{border-color:var(--accent);color:var(--accent)}._loading_1zugq_99{text-align:center;padding:60px 20px;color:var(--ink-soft)}._spinner_1zugq_105{display:inline-block;width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:_spin_1zugq_105 .7s linear infinite}@keyframes _spin_1zugq_105{to{transform:rotate(360deg)}}._empty_1zugq_117{text-align:center;color:var(--ink-ghost);padding:80px 0;font-size:.9rem}._actions_1zugq_125{display:flex;justify-content:flex-end;padding:4px 0}._submitBtn_1zugq_131{height:40px;padding:0 28px;background:var(--accent);border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;color:#fff;cursor:pointer;font-family:inherit;transition:background .15s,opacity .15s}._submitBtn_1zugq_131:hover:not(:disabled){background:var(--accent-dark)}._submitBtn_1zugq_131:disabled{opacity:.6;cursor:not-allowed}._button_1jcp1_1{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}._button_1jcp1_1:hover{color:var(--accent)}._button_1jcp1_1:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}._arrow_1jcp1_25{display:inline-block;min-width:1em;font-size:.7em;color:var(--accent)}._pageHeader_ev0ec_1{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}._pageTitle_ev0ec_8{font-size:1.4rem;font-weight:700;color:var(--ink);margin:0}._errorMsg_ev0ec_15{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:.875rem}._filters_ev0ec_24{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}._searchInput_ev0ec_31{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;min-width:220px;background:var(--paper)}._searchInput_ev0ec_31:focus{outline:none;border-color:var(--accent)}._filterSelect_ev0ec_46{height:36px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;background:var(--paper);color:var(--ink-soft)}._filterSelect_ev0ec_46:focus{outline:none;border-color:var(--accent)}._loading_ev0ec_61{color:var(--ink-ghost);padding:40px;text-align:center}._tableWrap_ev0ec_67{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}._table_ev0ec_67{width:100%;border-collapse:collapse;font-size:.85rem}._table_ev0ec_67 th{text-align:left;padding:10px 14px;font-size:.7rem;font-weight:600;color:var(--ink-ghost);text-transform:uppercase;letter-spacing:.04em;background:var(--surface);border-bottom:1px solid var(--border)}._table_ev0ec_67 td{padding:10px 14px;color:var(--ink-soft);border-bottom:1px solid var(--surface)}._table_ev0ec_67 tbody tr:last-child td{border-bottom:none}._table_ev0ec_67 tbody tr:nth-child(2n){background:#f8fdfb}._rowInactive_ev0ec_106{opacity:.6}._emptyCell_ev0ec_110{text-align:center;color:var(--ink-ghost);padding:32px!important}._badgeActive_ev0ec_116{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--accent-light);color:var(--accent)}._badgeInactive_ev0ec_125{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--warn-light);color:var(--warn)}._badgeAccent_ev0ec_134{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:10px;background:#e8f4e8;color:var(--success)}._checkboxLabel_ev0ec_143{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--ink);cursor:pointer}._checkboxLabel_ev0ec_143 input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}._actions_ev0ec_159{display:flex;gap:6px}._btnGhost_ev0ec_164{background:none;border:1px solid var(--border);border-radius:var(--radius);padding:3px 10px;font-size:.8rem;color:var(--ink-soft);cursor:pointer}._btnGhost_ev0ec_164:hover{background:var(--surface);color:var(--ink)}._btnGhostWarn_ev0ec_176{background:none;border:1px solid var(--warn);border-radius:var(--radius);padding:3px 10px;font-size:.8rem;color:var(--warn);cursor:pointer}._btnGhostWarn_ev0ec_176:hover{background:var(--warn-light)}._btnGhostAccent_ev0ec_188{background:none;border:1px solid var(--accent);border-radius:var(--radius);padding:3px 10px;font-size:.8rem;color:var(--accent);cursor:pointer}._btnGhostAccent_ev0ec_188:hover{background:var(--accent-light)}._overlay_ev0ec_201{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}._modal_ev0ec_212{background:var(--paper);border-radius:var(--radius);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000002e}._modalHeader_ev0ec_222{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--paper)}._modalTitle_ev0ec_233{font-size:.95rem;font-weight:600;color:var(--ink)}._modalClose_ev0ec_239{background:none;border:none;font-size:1.2rem;color:var(--ink-ghost);cursor:pointer}._modalBody_ev0ec_247{padding:20px;display:flex;flex-direction:column;gap:20px}._sectionTitle_ev0ec_256{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}._formGrid_ev0ec_268{display:grid;grid-template-columns:1fr 1fr;gap:16px}._formWide_ev0ec_274{grid-column:1 / -1}._formField_ev0ec_278{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:500;color:var(--ink-soft)}._fieldHint_ev0ec_288{margin-top:2px;font-size:.75rem;font-weight:400;line-height:1.4;color:var(--ink-ghost)}._formCard_ev0ec_297{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:32px}._formCard_ev0ec_297 ._formGrid_ev0ec_268+._errorMsg_ev0ec_15,._formCard_ev0ec_297 ._errorMsg_ev0ec_15{margin-top:16px;margin-bottom:0}._formActions_ev0ec_311{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}._listHeading_ev0ec_320{margin-top:32px}@media (max-width: 600px){._formGrid_ev0ec_268{grid-template-columns:1fr}._formCard_ev0ec_297{padding:16px}}._formField_ev0ec_278 label{font-size:.8rem;font-weight:500;color:var(--ink-soft)}._input_ev0ec_340{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;color:var(--ink);background:var(--paper);width:100%;box-sizing:border-box}._input_ev0ec_340:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2db5601f}._input_ev0ec_340:disabled{background:var(--surface);color:var(--ink-ghost);cursor:not-allowed}._successMsg_ev0ec_364{background:var(--accent-light);color:var(--accent-dark);border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;font-size:.875rem}._fieldError_ev0ec_373{font-size:.8rem;color:var(--danger)}._modalFooter_ev0ec_378{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}._btnPrimary_ev0ec_385{height:34px;padding:0 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer}._btnPrimary_ev0ec_385:hover{background:var(--accent-dark)}._btnPrimary_ev0ec_385:disabled{opacity:.5;cursor:not-allowed}._btnSecondary_ev0ec_400{height:34px;padding:0 14px;background:var(--paper);color:var(--ink-soft);border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;cursor:pointer}._btnSecondary_ev0ec_400:hover{background:var(--surface)}._btnDanger_ev0ec_413{height:34px;padding:0 14px;background:var(--paper);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);font-size:.875rem;cursor:pointer}._btnDanger_ev0ec_413:hover{background:var(--danger);color:#fff}._codeCell_ev0ec_426{font-family:JetBrains Mono,monospace;font-size:.8rem;letter-spacing:.06em;color:var(--ink-soft);white-space:nowrap}._page_1x2xd_1{display:flex;flex-direction:column;gap:20px}._pageHeader_1x2xd_7{display:flex;align-items:center;gap:16px;flex-wrap:wrap}._pageTitle_1x2xd_14{font-size:1.2rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}._weekNav_1x2xd_23{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}._arrow_1x2xd_31{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--paper);color:var(--ink-soft);font-size:1rem;cursor:pointer}._arrow_1x2xd_31:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}._arrow_1x2xd_31:disabled{opacity:.35;cursor:default}._weekLabel_1x2xd_45{display:flex;align-items:center;gap:8px;min-width:190px;justify-content:center;font-size:.88rem;color:var(--ink)}._kw_1x2xd_55{font-size:.72rem;font-weight:700;background:var(--accent-light);color:var(--accent);padding:2px 8px;border-radius:20px}._thisWeek_1x2xd_64,._dayBtn_1x2xd_65{height:28px;padding:0 12px;font:inherit;font-size:.78rem;font-weight:600;border-radius:6px;cursor:pointer}._thisWeek_1x2xd_64{background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-mid)}._thisWeek_1x2xd_64:hover{background:var(--accent);color:#fff}._dayBtn_1x2xd_65{height:32px;background:var(--paper);color:var(--ink-soft);border:1px solid var(--border)}._dayBtn_1x2xd_65:hover{border-color:var(--accent);color:var(--accent)}._datePick_1x2xd_92{height:28px;padding:0 6px;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:.8rem;color:var(--ink);background:var(--paper)}._note_1x2xd_103,._empty_1x2xd_104{color:var(--ink-soft);font-size:.9rem}._error_1x2xd_109{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:12px 16px}._tableWrap_1x2xd_117{overflow-x:auto;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius)}._table_1x2xd_117{width:100%;min-width:860px;border-collapse:collapse;font-size:.85rem}._table_1x2xd_117 th,._table_1x2xd_117 td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--border);white-space:nowrap}._table_1x2xd_117 thead th{background:var(--surface);color:var(--ink-ghost);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border)}._dayDate_1x2xd_149{font-weight:500;text-transform:none;letter-spacing:0}._todayTh_1x2xd_155{color:var(--accent)!important}._weekTh_1x2xd_157{border-left:1px solid var(--border)}._weekTh_1x2xd_157~._weekTh_1x2xd_157{border-left:0}._nameCell_1x2xd_160{position:sticky;left:0;z-index:1;min-width:190px;text-align:left!important;font-weight:600;color:var(--ink);background:var(--paper);box-shadow:1px 0 0 var(--border)}._table_1x2xd_117 thead th:first-child{background:var(--surface);text-align:left;position:sticky;left:0;z-index:2}._table_1x2xd_117 tbody tr:hover td,._table_1x2xd_117 tbody tr:hover ._nameCell_1x2xd_160{background:var(--accent-light)}._warnRow_1x2xd_177 td,._warnRow_1x2xd_177 ._nameCell_1x2xd_160{background:var(--danger-light)}._table_1x2xd_117 tfoot th,._table_1x2xd_117 tfoot td{background:var(--surface);font-weight:700;border-top:2px solid var(--border);border-bottom:0}._none_1x2xd_188{color:var(--ink-ghost)}._bad_1x2xd_189{color:var(--danger);font-weight:700}._cellLink_1x2xd_191{display:inline-flex;flex-direction:column;align-items:center;gap:3px;padding:2px 6px;border-radius:6px;color:var(--ink);text-decoration:none}._cellLink_1x2xd_191:hover{background:var(--teal-100);text-decoration:none}._marks_1x2xd_204{display:flex;gap:2px}._mark_1x2xd_204{width:8px;height:8px;border-radius:2px;background:var(--border)}._mark_1x2xd_204[data-m=a]{background:var(--success)}._mark_1x2xd_204[data-m=t]{background:var(--warn)}._mark_1x2xd_204[data-m=f]{background:var(--danger)}._cellText_1x2xd_220{font-size:.78rem;font-weight:600}._cellText_1x2xd_220[data-bad=yes]{color:var(--danger)}._excusedMark_1x2xd_223{margin-left:1px;color:var(--success)}._page_1fl9f_1{display:flex;flex-direction:column;gap:20px}._pageHeader_1fl9f_8{display:flex;align-items:center;gap:16px;flex-wrap:wrap}._pageTitle_1fl9f_15{font-size:1.2rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}._classChip_1fl9f_24{font-size:.78rem;font-weight:600;background:var(--accent-light);color:var(--accent);padding:2px 9px;border-radius:20px}._statCards_1fl9f_34{display:flex;gap:12px;flex-wrap:wrap}._statCard_1fl9f_34{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:14px 20px;min-width:140px}._statCardWarn_1fl9f_48{border-color:#fbbf24;background:#fffbeb}._statLabel_1fl9f_53{font-size:.62rem;font-weight:700;letter-spacing:.08em;color:var(--ink-ghost);text-transform:uppercase;margin-bottom:4px}._statValue_1fl9f_62{font-size:1.25rem;font-weight:700;color:var(--ink);line-height:1.1}._statSub_1fl9f_69{font-size:.72rem;color:var(--ink-soft);margin-top:2px}._weekNav_1fl9f_76{display:flex;align-items:center;gap:10px}._navArrow_1fl9f_82{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;background:var(--paper);font-size:1.1rem;color:var(--ink-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .1s,color .1s}._navArrow_1fl9f_82:hover{border-color:var(--accent);color:var(--accent)}._weekLabel_1fl9f_99{display:flex;align-items:center;gap:8px}._kwPill_1fl9f_105{font-size:.7rem;font-weight:700;background:var(--accent);color:#fff;padding:2px 8px;border-radius:20px}._weekRange_1fl9f_114{font-size:.875rem;color:var(--ink-soft);white-space:nowrap}._todayBtn_1fl9f_120{height:30px;padding:0 14px;font-size:.78rem;font-weight:600;border:1px solid var(--border);border-radius:6px;background:var(--paper);color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:border-color .1s,color .1s;margin-left:4px}._todayBtn_1fl9f_120:hover{border-color:var(--accent);color:var(--accent)}._loading_1fl9f_138{display:flex;justify-content:center;padding:60px 0}._spinner_1fl9f_144{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:_spin_1fl9f_144 .7s linear infinite}@keyframes _spin_1fl9f_144{to{transform:rotate(360deg)}}._emptyState_1fl9f_155{text-align:center;color:var(--ink-soft);padding:60px 0;font-size:.9rem}._tableWrap_1fl9f_163{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}._timetableGrid_1fl9f_170{display:grid;grid-template-columns:72px repeat(var(--day-count),1fr);min-width:520px}._cornerCell_1fl9f_177{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}._dayHeader_1fl9f_183{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px;border-left:1px solid var(--border);border-bottom:2px solid var(--border);background:var(--surface);gap:2px}._dayHeaderToday_1fl9f_195{background:var(--accent-light);border-bottom-color:var(--accent)}._dayAbbr_1fl9f_200{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}._dayHeaderToday_1fl9f_195 ._dayAbbr_1fl9f_200{color:var(--accent)}._dayDate_1fl9f_210{font-size:.85rem;font-weight:500;color:var(--ink)}._slotLabel_1fl9f_217{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 6px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);gap:1px;min-height:80px}._slotNum_1fl9f_230{font-size:1rem;font-weight:700;color:var(--ink-soft);line-height:1}._slotTime_1fl9f_237{font-size:.63rem;font-weight:600;color:var(--ink-ghost)}._slotEnd_1fl9f_243{font-size:.58rem;color:var(--ink-ghost);opacity:.7}._cell_1fl9f_250{border-left:1px solid var(--border);border-bottom:1px solid var(--border);padding:6px;display:flex;flex-direction:column;gap:4px;min-height:80px}._cellToday_1fl9f_260{background:#f0fdf4}._chip_1fl9f_265{border-radius:5px;padding:5px 7px;background:var(--chip-bg);border-left:3px solid var(--chip-color);display:flex;flex-direction:column;gap:2px;position:relative;flex:1}._chipClickable_1fl9f_277{cursor:pointer;transition:opacity .1s,box-shadow .1s}._chipClickable_1fl9f_277:hover{opacity:.85;box-shadow:0 1px 6px #0000001a}._chipCancelled_1fl9f_287{opacity:.4}._chipSub_1fl9f_291{outline:1px solid #fbbf24}._chipSubject_1fl9f_295{font-size:.82rem;font-weight:700;color:var(--chip-color);line-height:1}._chipTeacher_1fl9f_302{font-size:.66rem;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}._chipRoom_1fl9f_311{font-size:.6rem;color:var(--ink-ghost)}._chipSubBadge_1fl9f_316{position:absolute;top:3px;right:4px;font-size:.55rem;font-weight:800;background:#fbbf24;color:#78350f;border-radius:3px;padding:1px 3px;line-height:1}._page_1hxya_1{min-height:100vh;background:var(--surface)}._backLink_1hxya_6{display:inline-flex;align-items:center;gap:4px;margin-bottom:20px;font-size:13px;color:var(--accent);text-decoration:none;padding:4px 0;transition:color .15s}._backLink_1hxya_6:hover{color:var(--ink)}._loadingWrap_1hxya_22{display:flex;align-items:center;justify-content:center;height:calc(100vh - 56px)}._loadingDot_1hxya_29{width:12px;height:12px;background:var(--accent);border-radius:50%;animation:_pulse_1hxya_1 1s ease-in-out infinite}@keyframes _pulse_1hxya_1{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}._content_1hxya_42{max-width:900px;margin:0 auto;padding:32px 24px 80px}._successBanner_1hxya_49,._infoBanner_1hxya_50,._pendingBanner_1hxya_51{border-radius:var(--radius);padding:14px 18px;margin-bottom:24px;display:flex;flex-direction:column;gap:10px;font-size:.875rem}._successBanner_1hxya_49{background:#edfaf3;border-left:4px solid var(--accent);color:var(--success)}._infoBanner_1hxya_50{background:#f0f5f2;border-left:4px solid var(--border);color:var(--ink-soft)}._pendingBanner_1hxya_51{background:#fefce8;border-left:4px solid var(--warn);color:#92400e}._bannerIcon_1hxya_79{margin-right:8px}._pendingBannerHeader_1hxya_83{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px}._pendingIcon_1hxya_90{margin-right:6px}._pendingBannerText_1hxya_94{color:#78350f;font-size:.85rem}._pendingList_1hxya_99{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}._pendingItem_1hxya_108{display:flex;align-items:center;gap:8px;font-size:.8rem;padding:4px 8px;background:#b453090f;border-radius:4px}._pendingLabel_1hxya_118{color:#92400e;font-weight:500;min-width:140px}._pendingArrow_1hxya_124{color:#b45309}._pendingValue_1hxya_128{color:#1c2b36;font-weight:600}._pendingActions_1hxya_133{display:flex;gap:10px;flex-wrap:wrap}._pageHeader_1hxya_140{margin-bottom:28px}._pageTitle_1hxya_144{font-size:1.4rem;font-weight:700;color:var(--ink);margin:0 0 4px}._pageSubtitle_1hxya_151{font-size:.875rem;color:var(--ink-soft);margin:0}._section_1hxya_158{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:16px}._sectionTitle_1hxya_166{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:0 0 20px;padding-bottom:10px;border-bottom:1px solid var(--border)}._fieldGrid_1hxya_178{display:flex;flex-direction:column;gap:16px}._fieldRow_1hxya_184{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:12px}._label_1hxya_191{font-size:.85rem;font-weight:500;color:var(--ink-soft);display:flex;align-items:center;gap:6px}._input_1hxya_201{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;color:var(--ink);background:var(--paper);width:100%;box-sizing:border-box;transition:border-color .15s}._input_1hxya_201:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2db5601f}._input_1hxya_201:disabled{background:var(--surface);color:var(--ink-ghost);cursor:not-allowed}._inlineGroup_1hxya_226{display:flex;gap:8px}._inputFlex_1hxya_231{flex:1}._inputShort_1hxya_235{width:90px;flex-shrink:0}._readonlyField_1hxya_241{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;color:var(--ink-soft)}._lockIcon_1hxya_254{margin-left:auto;font-size:.75rem;opacity:.5;cursor:help}._pendingTag_1hxya_262{display:inline-block;font-size:.7rem;font-weight:600;background:#fef3c7;color:#b45309;border:1px solid #fde68a;border-radius:10px;padding:1px 7px;text-transform:none;letter-spacing:0}._btnPrimary_1hxya_276{height:36px;padding:0 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}._btnPrimary_1hxya_276:hover:not(:disabled){background:var(--accent-dark, #1a9147)}._btnPrimary_1hxya_276:disabled{opacity:.5;cursor:not-allowed}._btnSecondary_1hxya_298{height:36px;padding:0 16px;background:var(--paper);color:var(--ink-soft);border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;cursor:pointer;transition:background .15s}._btnSecondary_1hxya_298:hover:not(:disabled){background:var(--surface);color:var(--ink)}._btnSecondary_1hxya_298:disabled{opacity:.5;cursor:not-allowed}._btnDanger_1hxya_320{height:36px;padding:0 16px;background:var(--paper);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);font-size:.875rem;cursor:pointer;transition:background .15s,color .15s}._btnDanger_1hxya_320:hover:not(:disabled){background:var(--danger);color:#fff}._btnDanger_1hxya_320:disabled{opacity:.5;cursor:not-allowed}._btnReset_1hxya_342{height:36px;padding:0 16px;background:none;color:var(--ink-soft);border:none;border-radius:var(--radius);font-size:.875rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}._btnReset_1hxya_342:hover{color:var(--ink)}._saveBar_1hxya_360{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 20px;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px}._saveError_1hxya_372{margin-right:auto;font-size:.85rem;color:var(--danger)}._saveNote_1hxya_378{font-size:.85rem;color:var(--ink-ghost)}._pwError_1hxya_384{font-size:.85rem;color:var(--danger);margin:10px 0 0}._pwSuccess_1hxya_390{font-size:.85rem;color:var(--success);margin:10px 0 0}._pwActions_1hxya_396{display:flex;justify-content:flex-end;margin-top:16px}@media (max-width: 600px){._content_1hxya_42{padding:16px 12px 80px}._fieldRow_1hxya_184{grid-template-columns:1fr;gap:6px}._inlineGroup_1hxya_226{flex-wrap:wrap}._inputShort_1hxya_235{width:100px}}._page_7p9x8_2{display:flex;flex-direction:column;gap:20px}._pageHeader_7p9x8_8{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}._pageTitle_7p9x8_16{font-size:1.2rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}._classChip_7p9x8_25{font-size:.78rem;font-weight:600;background:var(--accent-light);color:var(--accent);padding:2px 9px;border-radius:20px}._dateRange_7p9x8_34{font-size:.82rem;color:var(--ink-soft)}._loading_7p9x8_40{display:flex;align-items:center;justify-content:center;padding:64px 0}._spinner_7p9x8_47{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:_spin_7p9x8_47 .7s linear infinite}@keyframes _spin_7p9x8_47{to{transform:rotate(360deg)}}._emptyState_7p9x8_58{padding:48px 0;text-align:center;color:var(--ink-ghost);font-size:.9rem}._statCards_7p9x8_66{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}._statCard_7p9x8_66{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:4px}._statLabel_7p9x8_82{font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--ink-ghost)}._statValue_7p9x8_89{font-size:1.7rem;font-weight:700;color:var(--ink)}._statValueGreen_7p9x8_95{color:var(--success)}._statValueRed_7p9x8_96{color:var(--danger)}._statSub_7p9x8_98{font-size:.78rem;color:var(--ink-soft)}._chartCard_7p9x8_104{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}._cardHeader_7p9x8_111{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);background:var(--accent-light);border-bottom:1px solid var(--border);padding:13px 20px}._chart_7p9x8_104{padding:20px}._chartBars_7p9x8_126{display:flex;align-items:flex-end;gap:10px;height:160px}._barGroup_7p9x8_133{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;height:100%}._bar_7p9x8_133{width:100%;max-width:28px;flex:1;display:flex;flex-direction:column-reverse;border-radius:3px 3px 0 0;overflow:hidden;background:var(--surface)}._barSegment_7p9x8_153{width:100%;min-height:2px}._barLabel_7p9x8_158{font-size:.68rem;color:var(--ink-ghost)}._chartLegend_7p9x8_163{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:.78rem;color:var(--ink-soft)}._legendDot_7p9x8_172{width:9px;height:9px;border-radius:50%;display:inline-block}._tableCard_7p9x8_180{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}._tableCardHeader_7p9x8_187{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--accent-light);border-bottom:1px solid var(--border);padding:10px 20px}._tableCardHeader_7p9x8_187 ._cardHeader_7p9x8_111{background:none;border:none;padding:0}._searchInput_7p9x8_203{height:30px;padding:0 10px;border:1px solid var(--border);border-radius:6px;font-size:.8rem;color:var(--ink);background:var(--paper);min-width:200px}._tableWrap_7p9x8_214{overflow-x:auto}._table_7p9x8_180{width:100%;border-collapse:collapse;font-size:.8rem}._table_7p9x8_180 thead tr{border-bottom:2px solid var(--border);background:var(--surface)}._nameTh_7p9x8_229{text-align:left;padding:10px 16px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}._numTh_7p9x8_239,._barTh_7p9x8_239,._statusTh_7p9x8_239{text-align:center;padding:10px 12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}._row_7p9x8_249{border-bottom:1px solid var(--border);transition:background .1s}._row_7p9x8_249:last-child{border-bottom:none}._row_7p9x8_249:hover{background:var(--surface)}._rowAlt_7p9x8_256{background:#fafbfc}._rowAlt_7p9x8_256:hover{background:var(--surface)}._nameCell_7p9x8_259{padding:8px 16px;display:flex;align-items:center;gap:9px;white-space:nowrap}._initials_7p9x8_267{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent-mid),var(--teal-700));color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.02em}._fullName_7p9x8_282{font-size:.82rem;font-weight:500;color:var(--ink)}._numCell_7p9x8_288{text-align:center;padding:8px 12px;font-weight:600;color:var(--ink)}._numCellBad_7p9x8_295{color:var(--danger)}._barCell_7p9x8_297{padding:8px 12px;min-width:100px}._progressBar_7p9x8_302{height:6px;background:var(--surface);border-radius:3px;overflow:hidden}._progressFill_7p9x8_309{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease}._statusCell_7p9x8_316{text-align:center;padding:6px 12px}._badge_7p9x8_321{display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;border-radius:4px;padding:3px 8px;white-space:nowrap}._badge_danger_7p9x8_332{background:#fde8e6;color:var(--danger)}._badge_warn_7p9x8_333{background:#fef3e2;color:var(--warn)}@media (max-width: 700px){._statCards_7p9x8_66{grid-template-columns:1fr}._tableCardHeader_7p9x8_187{flex-direction:column;align-items:stretch}._searchInput_7p9x8_203{min-width:0}}._shell_f5rpj_1{display:flex;min-height:100vh}._loadingWrap_f5rpj_6{display:flex;align-items:center;justify-content:center;height:100vh}._loadingDot_f5rpj_13{width:12px;height:12px;background:var(--accent);border-radius:50%;animation:_pulse_f5rpj_1 1s ease-in-out infinite}@keyframes _pulse_f5rpj_1{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}._main_f5rpj_27{flex:1;min-width:0;padding:28px 32px 60px;background:var(--surface);overflow-y:auto}@media (max-width: 768px){._main_f5rpj_27{padding:64px 16px 60px}}._pageHeader_19shi_1{margin-bottom:28px}._pageTitle_19shi_5{font-size:1.4rem;font-weight:700;color:var(--ink);margin:0 0 4px}._pageSubtitle_19shi_12{font-size:.875rem;color:var(--ink-soft);margin:0}._errorMsg_19shi_18{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:12px 16px;margin-bottom:20px;font-size:.875rem}._cards_19shi_27{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:28px}._card_19shi_27{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:0 1px 3px #0000000d}._cardValue_19shi_42{font-size:2rem;font-weight:700;color:var(--accent);margin-bottom:4px}._cardLabel_19shi_49{font-size:.8rem;color:var(--ink-soft);font-weight:500}._panels_19shi_55{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}._panel_19shi_55{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:20px}._panelHeader_19shi_69{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}._panelTitle_19shi_78{font-size:.875rem;font-weight:600;color:var(--ink)}._panelBadge_19shi_84{font-size:.75rem;font-weight:600;background:var(--accent);color:#fff;border-radius:10px;padding:1px 8px}._table_19shi_93{width:100%;border-collapse:collapse;font-size:.8rem}._table_19shi_93 th{text-align:left;font-size:.7rem;font-weight:600;color:var(--ink-ghost);text-transform:uppercase;letter-spacing:.04em;padding:0 8px 8px;border-bottom:1px solid var(--border)}._table_19shi_93 td{padding:8px;color:var(--ink-soft);border-bottom:1px solid var(--surface)}._table_19shi_93 tbody tr:last-child td{border-bottom:none}._emptyNote_19shi_120{font-size:.85rem;color:var(--ink-ghost);margin:0}._toolbar_19shi_126{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}._select_19shi_134{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);color:var(--ink);font:inherit}._bigValue_19shi_143{font-size:1.8rem;font-weight:700;color:var(--accent);margin:0 0 4px}._tableWrap_19shi_150{overflow-x:auto}._warn_19shi_154{color:var(--warn);font-weight:600}._steps_19shi_159{margin:0 0 24px;padding:20px 20px 20px 36px;background:var(--accent-light);border:1px solid var(--accent-mid);border-radius:var(--radius);color:var(--ink)}._steps_19shi_159 a{color:var(--accent);font-weight:600}@media (max-width: 768px){._panels_19shi_55{grid-template-columns:1fr}}._wrap_10hnu_1{display:flex;align-items:center;gap:24px;flex-wrap:wrap}._svg_10hnu_2{width:160px;height:160px;flex-shrink:0}._legend_10hnu_3{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px}._legend_10hnu_3 li{display:flex;align-items:center;gap:8px}._swatch_10hnu_5{width:12px;height:12px;border-radius:3px;flex-shrink:0}._pct_10hnu_6{color:var(--ink-soft)}._empty_10hnu_7{color:var(--ink-soft);font-size:13px;margin:0}._loading_f7sz6_1{color:var(--ink-ghost);padding:40px;text-align:center}._pageHeader_f7sz6_7{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}._pageTitle_f7sz6_14{font-size:1.4rem;font-weight:700;color:var(--ink);margin:0}._errorMsg_f7sz6_21{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:.875rem}._layout_f7sz6_30{display:flex;gap:20px;align-items:flex-start}._classList_f7sz6_36{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:4px}._classItem_f7sz6_44{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;cursor:pointer;transition:border-color .12s;display:flex;flex-direction:column;gap:2px;position:relative}._classItem_f7sz6_44:hover{border-color:var(--accent)}._classItemActive_f7sz6_61{border-color:var(--accent);background:var(--accent-light)}._className_f7sz6_66{font-size:.875rem;font-weight:600;color:var(--ink)}._classCount_f7sz6_72{font-size:.75rem;color:var(--ink-ghost)}._classActions_f7sz6_77{position:absolute;top:10px;right:10px;display:flex;gap:4px;opacity:0;transition:opacity .12s}._classItem_f7sz6_44:hover ._classActions_f7sz6_77{opacity:1}._classDetail_f7sz6_91{flex:1;min-width:0;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:20px}._detailHeader_f7sz6_100{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}._detailTitle_f7sz6_110{font-size:1.1rem;font-weight:700;color:var(--ink);margin:0}._saveBar_f7sz6_117{display:flex;align-items:center;gap:8px;flex-shrink:0}._unsavedHint_f7sz6_124{font-size:.78rem;color:var(--warn);font-weight:500}._detailColumns_f7sz6_130{display:grid;grid-template-columns:1fr 1fr;gap:20px}._colHeader_f7sz6_138{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}._colTitle_f7sz6_145{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-ghost)}._emptyNote_f7sz6_153{font-size:.85rem;color:var(--ink-ghost);margin:0}._table_f7sz6_159{width:100%;border-collapse:collapse;font-size:.8rem}._table_f7sz6_159 th{text-align:left;font-size:.7rem;font-weight:600;color:var(--ink-ghost);padding:0 6px 6px;border-bottom:1px solid var(--border)}._table_f7sz6_159 td{padding:6px;color:var(--ink-soft);border-bottom:1px solid var(--surface)}._table_f7sz6_159 tbody tr:last-child td{border-bottom:none}._actions_f7sz6_184{display:flex;gap:4px;justify-content:flex-end}._btnPrimary_f7sz6_191{height:34px;padding:0 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer}._btnPrimary_f7sz6_191:hover{background:var(--accent-dark)}._btnPrimary_f7sz6_191:disabled{opacity:.5;cursor:not-allowed}._btnSecondary_f7sz6_206{height:34px;padding:0 14px;background:var(--paper);color:var(--ink-soft);border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;cursor:pointer}._btnSecondary_f7sz6_206:hover{background:var(--surface)}._btnDanger_f7sz6_219{height:34px;padding:0 14px;background:var(--paper);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);font-size:.875rem;cursor:pointer}._btnDanger_f7sz6_219:hover{background:var(--danger);color:#fff}._btnSmall_f7sz6_232{height:28px;padding:0 10px;background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-mid);border-radius:var(--radius);font-size:.75rem;font-weight:600;cursor:pointer}._btnSmall_f7sz6_232:hover{background:var(--accent);color:#fff}._btnGhost_f7sz6_246{background:none;border:none;cursor:pointer;font-size:.9rem;padding:2px 4px;color:var(--ink-ghost);border-radius:4px}._btnGhost_f7sz6_246:hover{background:var(--surface);color:var(--ink)}._btnGhostDanger_f7sz6_258{background:none;border:none;cursor:pointer;font-size:.9rem;padding:2px 4px;color:var(--danger);border-radius:4px;opacity:.7}._btnGhostDanger_f7sz6_258:hover{background:var(--danger-light);opacity:1}._overlay_f7sz6_272{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100}._modal_f7sz6_282{background:var(--paper);border-radius:var(--radius);width:100%;max-width:480px;box-shadow:0 8px 32px #0000002e}._modalHeader_f7sz6_290{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}._modalTitle_f7sz6_298{font-size:.95rem;font-weight:600;color:var(--ink)}._modalClose_f7sz6_304{background:none;border:none;font-size:1.2rem;color:var(--ink-ghost);cursor:pointer;line-height:1}._modalBody_f7sz6_313{padding:20px;display:flex;flex-direction:column;gap:6px}._modalFooter_f7sz6_320{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}._fieldLabel_f7sz6_327{font-size:.85rem;font-weight:500;color:var(--ink-soft)}._fieldError_f7sz6_333{font-size:.8rem;color:var(--danger);margin-top:2px}._input_f7sz6_339{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;color:var(--ink);background:var(--paper);width:100%;box-sizing:border-box}._input_f7sz6_339:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2db5601f}._pickerList_f7sz6_357{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}._pickerItem_f7sz6_365{display:flex;align-items:center;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;cursor:pointer;text-align:left;font-size:.85rem;color:var(--ink);transition:background .1s}._pickerItem_f7sz6_365:hover{background:var(--accent-light);border-color:var(--accent)}._starCell_f7sz6_385{text-align:center;width:32px;padding:0 4px}._starBtn_f7sz6_391{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:2px 4px;border-radius:4px;transition:background .12s,color .12s}._starBtn_f7sz6_391:hover{background:var(--teal-50)}._starActive_f7sz6_406{color:var(--warn)}._starInactive_f7sz6_410{color:var(--ink-ghost)}._mainBadge_f7sz6_414{display:inline-block;margin-left:8px;font-size:10px;font-weight:700;color:var(--warn);background:#fff7ed;border:1px solid #fed7aa;border-radius:4px;padding:1px 5px;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}._panel_1e9cm_1{display:flex;flex-direction:column;gap:16px}._panelHeader_1e9cm_7{display:flex;align-items:center;gap:12px}._panelTitle_1e9cm_13{font-size:15px;font-weight:600;color:var(--ink);margin:0}._saved_1e9cm_20{font-size:12px;color:var(--success);font-weight:500}._error_1e9cm_26{font-size:12px;color:var(--danger);font-weight:500}._import_1e9cm_33{margin:0 0 16px;font-size:.85rem}._import_1e9cm_33 summary{cursor:pointer;font-weight:600;color:var(--accent);padding:4px 0}._import_1e9cm_33 textarea{display:block;width:100%;margin:8px 0;height:auto;padding:10px;font-family:JetBrains Mono,Courier New,monospace}._hint_1e9cm_54{margin:4px 0 0;font-size:.78rem;color:var(--ink-soft)}._addRow_1e9cm_60{display:flex;gap:8px}._input_1e9cm_65{flex:1;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-size:13.5px}._input_1e9cm_65:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}._addBtn_1e9cm_82{height:36px;padding:0 16px;background:var(--teal-700);color:#fff;border:none;border-radius:var(--radius);font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}._addBtn_1e9cm_82:hover:not(:disabled){background:var(--teal-900)}._addBtn_1e9cm_82:disabled{opacity:.45;cursor:default}._list_1e9cm_106{display:flex;flex-direction:column;gap:8px}._empty_1e9cm_112{padding:24px;text-align:center;color:var(--ink-soft);font-size:13.5px}._subjectItem_1e9cm_119{border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);overflow:hidden}._subjectHeader_1e9cm_126{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface)}._subjectToggle_1e9cm_134{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:0;color:var(--ink);font-size:13.5px;font-weight:600}._chevron_1e9cm_147{font-size:12px;color:var(--ink-soft);width:12px}._subjectName_1e9cm_153{color:var(--ink)}._subjectTitle_1e9cm_157{color:var(--ink-soft);font-size:11.5px;font-weight:400}._removeBtn_1e9cm_163{width:26px;height:26px;border:none;border-radius:50%;background:transparent;color:var(--ink-ghost);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}._removeBtn_1e9cm_163:hover{background:var(--danger);color:#fff}._yearRows_1e9cm_184{display:flex;flex-direction:column;gap:0}._yearRow_1e9cm_184{display:flex;align-items:flex-start;gap:12px;padding:8px 14px;border-top:1px solid var(--border)}._yearLabel_1e9cm_198{font-size:12px;font-weight:700;color:var(--ink-ghost);text-transform:uppercase;letter-spacing:.04em;min-width:48px;padding-top:6px}._topicChips_1e9cm_208{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1}._topicChip_1e9cm_208{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 10px;background:var(--teal-50);border:1px solid var(--teal-200);border-radius:20px;font-size:12.5px;color:var(--teal-700);font-weight:500}._chipRemove_1e9cm_229{background:none;border:none;cursor:pointer;color:var(--teal-400);font-size:11px;padding:0;line-height:1;display:flex;align-items:center;transition:color .12s}._chipRemove_1e9cm_229:hover{color:var(--danger)}._topicInput_1e9cm_246{height:28px;padding:0 10px;border:1px dashed var(--border);border-radius:20px;background:transparent;color:var(--ink);font-size:12.5px;width:120px;transition:border-color .15s}._topicInput_1e9cm_246:focus{outline:none;border-color:var(--accent);border-style:solid}._topicInput_1e9cm_246::placeholder{color:var(--ink-ghost)}._pageHeader_1yrap_1{margin-bottom:24px}._pageTitle_1yrap_5{font-size:1.4rem;font-weight:700;color:var(--ink);margin:0}._section_1yrap_12{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:16px}._fieldGrid_1yrap_21{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}._field_1yrap_21{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:500;color:var(--ink-soft)}._field_1yrap_21 ._input_1yrap_36{flex:none;width:100%;box-sizing:border-box}._formActions_1yrap_42{display:flex;align-items:center;gap:12px;margin-top:24px}@media (max-width: 700px){._fieldGrid_1yrap_21{grid-template-columns:1fr}._section_1yrap_12{padding:16px}}._sectionHeader_1yrap_59{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}._sectionTitle_1yrap_68{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}._sectionHeader_1yrap_59 ._sectionTitle_1yrap_68{margin-bottom:0;padding-bottom:0;border-bottom:none}._infoGrid_1yrap_85{display:flex;flex-direction:column;gap:10px}._infoRow_1yrap_91{display:grid;grid-template-columns:160px 1fr;gap:12px;align-items:center}._infoLabel_1yrap_98{font-size:.85rem;color:var(--ink-soft);font-weight:500}._infoValue_1yrap_104{font-size:.875rem;color:var(--ink)}._slotList_1yrap_109{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}._slotRow_1yrap_116{display:flex;align-items:center;gap:8px}._slotIndex_1yrap_122{font-size:.8rem;color:var(--ink-ghost);min-width:20px}._input_1yrap_36{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;color:var(--ink);background:var(--paper);flex:1;min-width:0}._input_1yrap_36:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2db5601f}._inputTime_1yrap_146{flex:0 0 100px}._slotDash_1yrap_150{color:var(--ink-ghost);font-size:.875rem}._btnRemove_1yrap_155{background:none;border:none;font-size:1.1rem;color:var(--danger);cursor:pointer;opacity:.6;padding:4px 6px;border-radius:4px}._btnRemove_1yrap_155:hover{opacity:1;background:var(--danger-light)}._btnSmall_1yrap_168{height:30px;padding:0 12px;background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-mid);border-radius:var(--radius);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}._btnSmall_1yrap_168:hover{background:var(--accent);color:#fff}._btnPrimary_1yrap_183{height:36px;padding:0 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer}._btnPrimary_1yrap_183:hover{background:var(--accent-dark)}._btnPrimary_1yrap_183:disabled{opacity:.5;cursor:not-allowed}._errorMsg_1yrap_198{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:10px 14px;font-size:.85rem;margin-bottom:12px}._successMsg_1yrap_207{background:var(--accent-light);color:var(--accent);border-radius:var(--radius);padding:10px 14px;font-size:.85rem;margin-bottom:12px}._saveRow_1yrap_216{display:flex;justify-content:flex-end}._hint_1yrap_221{font-size:.82rem;color:var(--ink-ghost);margin:0 0 14px}._inlineRow_1yrap_227{display:flex;align-items:center;gap:10px}._inputNarrow_1yrap_233{flex:0 0 80px;width:80px}._unit_1yrap_238{font-size:.875rem;color:var(--ink-soft)}._inputCode_1yrap_243{flex:0 0 120px}._pageHeader_15gm0_1{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}._pageTitle_15gm0_8{font-size:1.4rem;font-weight:700;color:var(--ink);margin:0}._errorMsg_15gm0_15{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:.875rem}._loading_15gm0_24{color:var(--ink-ghost);padding:40px;text-align:center}._tableWrap_15gm0_30{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}._table_15gm0_30{width:100%;border-collapse:collapse;font-size:.85rem}._table_15gm0_30 th{text-align:left;padding:10px 14px;font-size:.7rem;font-weight:600;color:var(--ink-ghost);text-transform:uppercase;letter-spacing:.04em;background:var(--surface);border-bottom:1px solid var(--border)}._table_15gm0_30 td{padding:10px 14px;color:var(--ink-soft);border-bottom:1px solid var(--surface)}._table_15gm0_30 tbody tr:last-child td{border-bottom:none}._table_15gm0_30 tbody tr:nth-child(2n){background:#f8fdfb}._emptyCell_15gm0_69{text-align:center;color:var(--ink-ghost);padding:32px!important}._dbName_15gm0_75{font-size:.75rem;color:var(--ink-ghost);font-family:monospace}._actions_15gm0_81{display:flex;gap:6px}._btnGhost_15gm0_86{background:none;border:1px solid var(--border);border-radius:var(--radius);padding:3px 10px;font-size:.8rem;color:var(--ink-soft);cursor:pointer}._btnGhost_15gm0_86:hover{background:var(--surface);color:var(--ink)}._overlay_15gm0_99{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}._modal_15gm0_110{background:var(--paper);border-radius:var(--radius);width:100%;max-width:480px;box-shadow:0 8px 32px #0000002e}._modalHeader_15gm0_118{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}._modalTitle_15gm0_126{font-size:.95rem;font-weight:600;color:var(--ink)}._modalClose_15gm0_132{background:none;border:none;font-size:1.2rem;color:var(--ink-ghost);cursor:pointer}._modalBody_15gm0_140{padding:20px;display:flex;flex-direction:column;gap:14px}._formField_15gm0_147{display:flex;flex-direction:column;gap:4px}._fieldLabel_15gm0_153{font-size:.8rem;font-weight:500;color:var(--ink-soft)}._input_15gm0_159{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;color:var(--ink);background:var(--paper);width:100%;box-sizing:border-box}._input_15gm0_159:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2db5601f}._fieldError_15gm0_177{font-size:.8rem;color:var(--danger)}._modalFooter_15gm0_182{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}._btnPrimary_15gm0_189{height:34px;padding:0 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer}._btnPrimary_15gm0_189:hover{background:var(--accent-dark)}._btnPrimary_15gm0_189:disabled{opacity:.5;cursor:not-allowed}._btnSecondary_15gm0_204{height:34px;padding:0 14px;background:var(--paper);color:var(--ink-soft);border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;cursor:pointer}._btnSecondary_15gm0_204:hover{background:var(--surface)}._page_1elwq_1{display:flex;flex-direction:column;gap:20px}._controlsBar_1elwq_8{display:flex;align-items:center;gap:16px;flex-wrap:wrap}._weekNav_1elwq_15{display:flex;align-items:center;gap:10px}._navArrow_1elwq_21{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;background:var(--paper);cursor:pointer;font-size:1rem;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;transition:border-color .12s,color .12s}._navArrow_1elwq_21:hover{border-color:var(--accent);color:var(--accent)}._weekLabel_1elwq_38{display:flex;align-items:center;gap:8px}._kwPill_1elwq_44{font-size:.7rem;font-weight:700;background:var(--accent);color:#fff;padding:2px 7px;border-radius:20px}._weekRange_1elwq_53{font-size:.85rem;color:var(--ink-soft);white-space:nowrap}._classPicker_1elwq_59{padding:5px 10px;border:1px solid var(--border);border-radius:7px;background:var(--paper);font-size:.85rem;color:var(--ink);cursor:pointer}._hint_1elwq_69{font-size:.78rem;color:var(--ink-soft);font-style:italic;margin-left:auto}._loading_1elwq_77{display:flex;justify-content:center;padding:60px 0}._spinner_1elwq_83{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:_spin_1elwq_83 .7s linear infinite}@keyframes _spin_1elwq_83{to{transform:rotate(360deg)}}._grid_1elwq_95{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:start}._dayCol_1elwq_102{display:flex;flex-direction:column;gap:6px}._dayHeader_1elwq_108{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;border-bottom:2px solid var(--border)}._dayAbbr_1elwq_117{font-size:.76rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}._dayDate_1elwq_125{font-size:.8rem;color:var(--ink);font-weight:500}._periodList_1elwq_131{display:flex;flex-direction:column;gap:5px}._emptyDay_1elwq_137{text-align:center;padding:20px 0;color:var(--ink-muted, #b0bec8)}._periodCard_1elwq_144{position:relative;background:var(--paper);border:1px solid var(--border);border-radius:7px;overflow:hidden;display:flex;transition:box-shadow .12s,border-color .12s}._periodClickable_1elwq_154{cursor:pointer}._periodClickable_1elwq_154:hover{box-shadow:0 2px 8px #00000017;border-color:var(--period-color, var(--accent))}._periodCardSub_1elwq_163{border-left:3px solid #f59e0b}._periodAccent_1elwq_167{width:4px;flex-shrink:0;background:var(--period-color, var(--accent))}._periodBody_1elwq_173{padding:7px 8px;display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}._periodTime_1elwq_182{font-size:.68rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}._periodSubject_1elwq_188{font-size:.85rem;font-weight:700}._periodMeta_1elwq_193{font-size:.72rem;color:var(--ink-soft);font-weight:600}._periodTeacher_1elwq_199{font-size:.7rem;color:var(--ink-soft)}._periodRoom_1elwq_204{font-size:.68rem;color:var(--ink-muted, #b0bec8)}._subBadge_1elwq_209{margin-top:3px;font-size:.68rem;color:#78350f;background:#fef9c3;padding:2px 5px;border-radius:3px;border-left:2px solid #f59e0b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._emptyState_1elwq_222{text-align:center;color:var(--ink-soft);padding:48px 0;font-size:.9rem}._overlay_1elwq_230{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}._modal_1elwq_241{background:var(--paper);border-radius:12px;width:100%;max-width:480px;box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column}._modalHeader_1elwq_251{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--border);gap:12px}._modalTitle_1elwq_260{font-size:1rem;font-weight:700;color:var(--ink)}._modalSub_1elwq_266{font-size:.78rem;color:var(--ink-soft);margin-top:3px}._modalClose_1elwq_272{border:none;background:transparent;font-size:1.4rem;color:var(--ink-soft);cursor:pointer;line-height:1;padding:0 4px;flex-shrink:0}._modalClose_1elwq_272:hover{color:var(--ink)}._modalBody_1elwq_285{padding:20px;display:flex;flex-direction:column;gap:16px}._field_1elwq_292{display:flex;flex-direction:column;gap:5px}._label_1elwq_298{font-size:.78rem;font-weight:600;color:var(--ink-soft)}._originalTeacher_1elwq_304{font-size:.9rem;color:var(--ink);font-weight:500}._select_1elwq_310,._input_1elwq_311{padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:.9rem;color:var(--ink);width:100%}._select_1elwq_310:focus,._input_1elwq_311:focus{outline:none;border-color:var(--accent)}._saveError_1elwq_327{font-size:.82rem;color:#c0392b;background:#fef2f2;padding:8px 12px;border-radius:6px;border-left:3px solid #c0392b}._modalFooter_1elwq_336{padding:14px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}._footerRight_1elwq_345{display:flex;gap:8px;margin-left:auto}._btnPrimary_1elwq_351{padding:8px 18px;background:var(--accent);color:#fff;border:none;border-radius:7px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .12s}._btnPrimary_1elwq_351:hover:not(:disabled){opacity:.88}._btnPrimary_1elwq_351:disabled{opacity:.5;cursor:not-allowed}._btnSecondary_1elwq_366{padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:7px;font-size:.875rem;font-weight:500;cursor:pointer;color:var(--ink);transition:background .12s}._btnSecondary_1elwq_366:hover:not(:disabled){background:var(--border)}._btnSecondary_1elwq_366:disabled{opacity:.5;cursor:not-allowed}._btnDanger_1elwq_381{padding:8px 16px;background:transparent;border:1px solid #c0392b;border-radius:7px;font-size:.875rem;font-weight:500;cursor:pointer;color:#c0392b;transition:background .12s}._btnDanger_1elwq_381:hover:not(:disabled){background:#fef2f2}._btnDanger_1elwq_381:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 900px){._grid_1elwq_95{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){._grid_1elwq_95{grid-template-columns:1fr 1fr}._hint_1elwq_69,._weekRange_1elwq_53{display:none}}._page_edgkx_1{display:flex;flex-direction:column;gap:20px}._controlsBar_edgkx_8{display:flex;align-items:center;gap:14px;flex-wrap:wrap}._weekNav_edgkx_15{display:flex;align-items:center;gap:10px}._navArrow_edgkx_21{width:30px;height:30px;border:1px solid var(--border);border-radius:6px;background:var(--paper);cursor:pointer;font-size:1rem;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;transition:border-color .12s,color .12s}._navArrow_edgkx_21:hover{border-color:var(--accent);color:var(--accent)}._weekLabel_edgkx_38{display:flex;align-items:center;gap:8px}._kwPill_edgkx_44{font-size:.7rem;font-weight:700;background:var(--accent);color:#fff;padding:2px 7px;border-radius:20px}._weekRange_edgkx_53{font-size:.85rem;color:var(--ink-soft);white-space:nowrap}._classPicker_edgkx_59{padding:5px 10px;border:1px solid var(--border);border-radius:7px;background:var(--paper);font-size:.85rem;color:var(--ink);cursor:pointer}._hint_edgkx_69{font-size:.75rem;color:var(--ink-soft);font-style:italic;margin-left:auto}._loading_edgkx_77{display:flex;justify-content:center;padding:60px 0}._spinner_edgkx_83{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:_spin_edgkx_83 .7s linear infinite}@keyframes _spin_edgkx_83{to{transform:rotate(360deg)}}._emptyState_edgkx_94{text-align:center;color:var(--ink-soft);padding:48px 0;font-size:.9rem}._tableWrap_edgkx_102{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border)}._table_edgkx_102{width:100%;border-collapse:collapse;font-size:.85rem}._nameTh_edgkx_114{padding:10px 14px;text-align:left;font-size:.75rem;font-weight:600;color:var(--ink-soft);background:var(--surface);border-bottom:2px solid var(--border);white-space:nowrap;min-width:160px}._dayTh_edgkx_126{padding:6px 8px;text-align:center;background:var(--surface);border-bottom:2px solid var(--border);border-left:1px solid var(--border);min-width:52px}._dayThTop_edgkx_135{font-size:.7rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}._dayThBot_edgkx_143{font-size:.75rem;color:var(--ink);font-weight:500}._statTh_edgkx_149{padding:6px 8px;text-align:center;background:var(--surface);border-bottom:2px solid var(--border);border-left:1px solid var(--border);font-size:.75rem;font-weight:700;color:var(--ink-soft);min-width:36px}._studentRow_edgkx_161{transition:background .08s}._studentRow_edgkx_161:hover{background:var(--surface)}._studentRowAlt_edgkx_169{background:#fafbfc}._studentNameCell_edgkx_173{padding:8px 14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}._initials_edgkx_181{width:28px;height:28px;border-radius:50%;background:var(--accent-light, #eef4ff);color:var(--accent);font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}._fullName_edgkx_195{font-size:.85rem;color:var(--ink);white-space:nowrap}._statusCell_edgkx_201{padding:6px;text-align:center;border-bottom:1px solid var(--border);border-left:1px solid var(--border)}._pill_edgkx_209{display:inline-flex;align-items:center;justify-content:center;width:28px;height:22px;border-radius:5px;font-size:.72rem;font-weight:700;-webkit-user-select:none;user-select:none}._pill_edgkx_209[data-t=a]{background:#dcfce7;color:#166534}._pill_edgkx_209[data-t=t]{background:#fef3c7;color:#92400e}._pillAbsent_edgkx_231{background:#fee2e2;color:#b91c1c}._pillExcused_edgkx_236{background:#d1fae5;color:#065f46}._pillNone_edgkx_241{display:inline-flex;align-items:center;justify-content:center;width:28px;height:22px;color:var(--ink-muted, #c0ccd8);font-size:.85rem}._statCell_edgkx_252{padding:6px;text-align:center;font-size:.8rem;font-weight:600;color:var(--ink-soft);border-bottom:1px solid var(--border);border-left:1px solid var(--border)}._statCellBad_edgkx_262{color:#c0392b}._statCellGood_edgkx_263{color:#1e7e4a}._pageHeader_146y0_1{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}._pageTitle_146y0_8{font-size:1.4rem;font-weight:700;color:var(--ink);margin:0}._intro_146y0_15{margin:0 0 20px;color:var(--ink-soft);font-size:.875rem}._errorMsg_146y0_21{background:var(--danger-light);color:var(--danger);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:.875rem}._panel_146y0_30{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px 24px;max-width:820px}._field_146y0_41{display:flex;flex-direction:column;gap:6px}._label_146y0_47{font-size:11px;font-weight:700;color:var(--ink-ghost);text-transform:uppercase;letter-spacing:.06em}._segmented_146y0_55{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;align-self:flex-start}._seg_146y0_55,._segActive_146y0_64{height:36px;padding:0 18px;border:none;font-size:.875rem;font-weight:600;cursor:pointer;background:var(--paper);color:var(--ink-soft)}._seg_146y0_55+._seg_146y0_55,._seg_146y0_55+._segActive_146y0_64,._segActive_146y0_64+._seg_146y0_55{border-left:1px solid var(--border)}._segActive_146y0_64{background:var(--accent-light);color:var(--accent-dark)}._stepper_146y0_86{display:flex;align-items:center;gap:8px}._step_146y0_86{width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-size:1.1rem;cursor:pointer}._step_146y0_86:hover{background:var(--surface)}._stepValue_146y0_105{flex:1;min-width:0;font-size:.875rem;font-weight:600;color:var(--ink);text-align:center;text-transform:capitalize}._select_146y0_115{height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;background:var(--paper);color:var(--ink)}._select_146y0_115:focus{outline:none;border-color:var(--accent)}._actions_146y0_130{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap;padding-top:4px}._btnPrimary_146y0_138,._btnSecondary_146y0_139{height:38px;padding:0 20px;border-radius:var(--radius);font-size:.875rem;font-weight:700;cursor:pointer}._btnPrimary_146y0_138{background:var(--accent);border:1px solid var(--accent);color:#fff}._btnPrimary_146y0_138:hover:not(:disabled){background:var(--accent-dark)}._btnSecondary_146y0_139{background:var(--paper);border:1px solid var(--accent);color:var(--accent)}._btnSecondary_146y0_139:hover:not(:disabled){background:var(--accent-light)}._btnPrimary_146y0_138:disabled,._btnSecondary_146y0_139:disabled{opacity:.55;cursor:not-allowed}._legend_146y0_170{margin:14px 0 0;color:var(--ink-ghost);font-size:.8rem}
