:root{--bg-app: #f1f5f9;--bg-surface: #ffffff;--bg-subtle: #f8fafc;--bg-muted: #e2e8f0;--bg-nav-dark: #0f172a;--bg-nav-hover: #1e293b;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-on-dark: #f8fafc;--brand-primary: #2563eb;--brand-primary-hover: #1d4ed8;--brand-soft: #eff6ff;--brand-border: #bfdbfe;--success: #059669;--success-soft: #ecfdf5;--danger: #dc2626;--danger-soft: #fef2f2;--warning: #d97706;--warning-soft: #fffbeb;--border-light: #e2e8f0;--border-strong: #cbd5e1;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 14px 32px rgba(15, 23, 42, .16);--font-sans: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;height:100%;font-family:var(--font-sans);background:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow:hidden}button,input,select,textarea{font-family:inherit}button{cursor:pointer}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@page{size:A4 landscape;margin:8mm}@media print{html,body,#root{height:auto!important;overflow:visible!important;background:#fff!important;color:#000!important}.no-print{display:none!important}.print-only{display:block!important}}._backdrop_1n9fn_1{position:fixed;inset:0;z-index:5000;background:#0f172a8c;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:12px}._dialog_1n9fn_13{width:100%;max-height:calc(100vh - 24px);background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);display:flex;flex-direction:column;overflow:hidden}._header_1n9fn_25{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-light);background:var(--bg-subtle)}._title_1n9fn_34{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}._closeBtn_1n9fn_41{background:transparent;border:none;color:var(--text-muted);border-radius:var(--radius-sm);padding:4px;display:flex;align-items:center;justify-content:center}._closeBtn_1n9fn_41:hover{background:var(--bg-muted);color:var(--text-primary)}._body_1n9fn_57{padding:16px;overflow-y:auto;flex:1}._footer_1n9fn_63{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--border-light);background:var(--bg-subtle)}._container_1iqkp_1{display:flex;flex-direction:column;gap:10px}._controlBar_1iqkp_7{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}._undoRedoCluster_1iqkp_15{display:flex;align-items:center;gap:6px}._actionBtn_1iqkp_21{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#f8fafc;color:var(--text-primary);font-size:.8rem;font-weight:700}._actionBtn_1iqkp_21:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand-primary);color:var(--brand-primary)}._actionBtn_1iqkp_21:disabled{opacity:.42;cursor:not-allowed}._rightCluster_1iqkp_45{display:flex;align-items:center;gap:8px}._activeUserTag_1iqkp_51{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand-primary);font-size:.75rem;font-weight:700}._filterSelect_1iqkp_63{padding:6px 9px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.78rem;background:#fff}._ruleNote_1iqkp_71{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:var(--radius-sm);background:#f1f5f9;color:var(--text-secondary);font-size:.76rem}._logList_1iqkp_82{max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:2px}._emptyState_1iqkp_91{padding:26px 16px;text-align:center;color:var(--text-secondary);font-size:.83rem;background:#f8fafc;border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}._logRow_1iqkp_101{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 11px;background:#fff;display:flex;flex-direction:column;gap:4px}._logTop_1iqkp_111{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}._logActors_1iqkp_119{display:flex;align-items:center;gap:6px;flex-wrap:wrap}._typeBadge_1iqkp_126{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:999px}._badgeChange_1iqkp_133{background:#dbeafe;color:#1d4ed8}._badgeUndo_1iqkp_138{background:#fef3c7;color:#b45309}._badgeRedo_1iqkp_143{background:#d1fae5;color:#047857}._userBadge_1iqkp_148{font-size:.74rem;font-weight:700;color:#0f172a;background:#f1f5f9;padding:2px 8px;border-radius:6px}._programTag_1iqkp_157{font-size:.72rem;color:var(--text-secondary)}._timeText_1iqkp_162{font-size:.72rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}._summaryText_1iqkp_168{font-size:.81rem;color:var(--text-primary);line-height:1.35}._gateScreen_14izu_1{position:fixed;inset:0;background:radial-gradient(circle at top,#1e293b,#0f172a 75%);display:flex;align-items:center;justify-content:center;padding:14px;overflow-y:auto}._card_14izu_12{width:100%;max-width:430px;background:#fff;border-radius:16px;padding:22px;box-shadow:0 20px 45px #0000006b;display:flex;flex-direction:column;gap:12px}._headerRow_14izu_24{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}._badge_14izu_32{width:42px;height:42px;border-radius:11px;background:var(--brand-soft);color:var(--brand-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}._headerText_14izu_44{display:flex;flex-direction:column;gap:4px}._title_14izu_50{margin:0;font-size:1.12rem;font-weight:800;color:var(--text-primary)}._desc_14izu_57{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}._quickUsers_14izu_64{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}._userChip_14izu_71{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;border:1px solid var(--border-strong);background:#f8fafc;color:var(--text-primary);font-size:.76rem;font-weight:600;transition:all .14s ease}._userChip_14izu_71:hover{border-color:var(--brand-primary);background:var(--brand-soft)}._userChipActive_14izu_90{background:var(--brand-primary)!important;border-color:var(--brand-primary)!important;color:#fff!important}._error_14izu_96{background:var(--danger-soft);color:#991b1b;border:1px solid #fecaca;border-radius:var(--radius-sm);padding:7px 10px;font-size:.78rem;font-weight:600;text-align:center}._fieldsGrid_14izu_107{display:flex;flex-direction:column;gap:9px}._input_14izu_113{padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.88rem}._submitBtn_14izu_120{background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:9px 14px;font-size:.88rem;font-weight:700}@media(max-height:480px){._card_14izu_12{max-width:540px;padding:12px 16px;gap:8px}._headerRow_14izu_24{flex-direction:row;text-align:left}._badge_14izu_32{width:34px;height:34px}._title_14izu_50{font-size:.98rem}._desc_14izu_57{font-size:.74rem}._fieldsGrid_14izu_107{flex-direction:row}._input_14izu_113{flex:1;min-width:0;padding:7px 10px}._submitBtn_14izu_120{padding:7px 12px}}._overlay_7f4a3_1{display:none;position:fixed;inset:0;z-index:99999;background:radial-gradient(circle at top,#1e293b,#0f172a 75%);color:#f8fafc;padding:24px;align-items:center;justify-content:center;text-align:center}._forceVisible_7f4a3_14{display:flex}@media screen and (max-width:767px)and (orientation:portrait){._overlay_7f4a3_1{display:flex}}@media print{._overlay_7f4a3_1{display:none!important}}._card_7f4a3_30{max-width:320px;background:#1e293bd9;border:1px solid rgba(148,163,184,.24);border-radius:20px;padding:28px 22px;box-shadow:0 20px 50px #00000073}._iconStage_7f4a3_39{position:relative;width:86px;height:86px;margin:0 auto 18px;border-radius:50%;background:#38bdf824;display:flex;align-items:center;justify-content:center}._phoneIcon_7f4a3_51{color:#38bdf8;animation:_tiltLandscape_7f4a3_1 2.2s ease-in-out infinite}._rotateBadge_7f4a3_56{position:absolute;right:4px;bottom:4px;color:#f8fafc;background:#2563eb;border-radius:50%;padding:4px}@keyframes _tiltLandscape_7f4a3_1{0%,20%{transform:rotate(0)}55%,80%{transform:rotate(-90deg)}to{transform:rotate(0)}}._title_7f4a3_80{margin:0 0 10px;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}._desc_7f4a3_87{margin:0 0 18px;font-size:.9rem;line-height:1.5;color:#cbd5e1}._hintPill_7f4a3_94{display:inline-block;font-size:.78rem;color:#93c5fd;background:#2563eb38;border:1px solid rgba(96,165,250,.35);padding:6px 12px;border-radius:999px}._desktopWrapper_1s76o_2{display:flex;flex-direction:column;width:100%;height:100vh;overflow:hidden}._topBar_1s76o_10{height:54px;flex-shrink:0;background:var(--bg-nav-dark);color:var(--text-on-dark);display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:10px;border-bottom:1px solid #1e293b}._brandCluster_1s76o_23{display:flex;align-items:center;gap:9px}._logoBadge_1s76o_29{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#38bdf8,#2563eb);color:#fff;font-weight:800;font-size:.82rem;display:flex;align-items:center;justify-content:center;letter-spacing:-.03em}._brandTitle_1s76o_43{font-size:.92rem;font-weight:700;line-height:1.1}._brandSub_1s76o_49{font-size:.68rem;color:#94a3b8}._programSelectorWrap_1s76o_54{display:flex;align-items:center;gap:5px;margin-left:6px;padding-left:10px;border-left:1px solid #334155}._programSelect_1s76o_54{background:#1e293b;color:#f8fafc;border:1px solid #334155;border-radius:var(--radius-sm);padding:5px 8px;font-size:.78rem;font-weight:600;max-width:190px}._segmentedNav_1s76o_74{display:flex;align-items:center;background:#1e293b;padding:3px;border-radius:10px;border:1px solid #334155;gap:3px}._navTab_1s76o_84{display:flex;align-items:center;gap:6px;background:transparent;color:#cbd5e1;border:none;border-radius:7px;padding:6px 11px;font-size:.79rem;font-weight:600;transition:all .15s ease}._navTab_1s76o_84:hover{color:#fff;background:#ffffff0f}._navTabActive_1s76o_103{background:var(--brand-primary)!important;color:#fff!important;box-shadow:0 2px 6px #2563eb59}._rightActions_1s76o_109{display:flex;align-items:center;gap:6px}._historyGroup_1s76o_115{display:flex;align-items:center;gap:4px}._historyBtn_1s76o_121,._logBtn_1s76o_122{display:inline-flex;align-items:center;gap:4px;background:#1e293b;color:#e2e8f0;border:1px solid #334155;border-radius:var(--radius-sm);height:31px;padding:0 8px;font-size:.75rem;font-weight:600;white-space:nowrap}._historyBtn_1s76o_121:hover:not(:disabled),._logBtn_1s76o_122:hover:not(:disabled){background:#334155;color:#fff}._historyBtn_1s76o_121:disabled{opacity:.36;cursor:not-allowed}._logBtn_1s76o_122{background:#f59e0b24;border-color:#f59e0b57;color:#fcd34d}._logBtn_1s76o_122:hover{background:#f59e0b40!important;color:#fff!important}._iconActionBtn_1s76o_159{background:#1e293b;color:#cbd5e1;border:1px solid #334155;border-radius:var(--radius-sm);width:31px;height:31px;display:flex;align-items:center;justify-content:center}._iconActionBtn_1s76o_159:hover:not(:disabled){background:#334155;color:#fff}._iconActionBtn_1s76o_159:disabled{opacity:.38;cursor:not-allowed}._jsonBtn_1s76o_181{display:flex;align-items:center;gap:5px;background:#38bdf824;color:#7dd3fc;border:1px solid rgba(56,189,248,.35);border-radius:var(--radius-sm);height:31px;padding:0 9px;font-size:.76rem;font-weight:600;white-space:nowrap}._jsonBtn_1s76o_181:hover{background:#38bdf83d;color:#fff}._userPill_1s76o_201{display:flex;align-items:center;gap:4px;font-size:.73rem;padding:4px 8px;border-radius:999px;font-weight:700;background:#6366f12e;color:#c7d2fe;border:1px solid rgba(99,102,241,.36)}._syncPill_1s76o_214{display:flex;align-items:center;gap:4px;font-size:.72rem;padding:4px 8px;border-radius:999px;font-weight:600;white-space:nowrap}._syncCloud_1s76o_225{background:#10b98129;color:#6ee7b7;border:1px solid rgba(16,185,129,.32)}._syncLocal_1s76o_231{background:#94a3b826;color:#cbd5e1;border:1px solid rgba(148,163,184,.25)}._desktopMain_1s76o_237{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}._mobileLandscapeWrapper_1s76o_246{display:flex;flex-direction:row;width:100%;height:100vh;height:100dvh;overflow:hidden}._slimRail_1s76o_255{width:56px;flex-shrink:0;background:var(--bg-nav-dark);color:var(--text-on-dark);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:5px 4px;border-right:1px solid #1e293b;z-index:20}._railBrand_1s76o_269{width:36px;height:26px;border-radius:7px;background:linear-gradient(135deg,#38bdf8,#2563eb);color:#fff;font-weight:800;font-size:.74rem;display:flex;align-items:center;justify-content:center}._railNav_1s76o_282{display:flex;flex-direction:column;gap:3px;width:100%}._railBtn_1s76o_289{width:100%;background:transparent;border:none;color:#94a3b8;border-radius:8px;padding:5px 2px;display:flex;flex-direction:column;align-items:center;gap:2px}._railBtnText_1s76o_302{font-size:.56rem;font-weight:600;line-height:1}._railBtnActive_1s76o_308{background:var(--brand-primary);color:#fff}._railBottom_1s76o_313{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}._railDualRow_1s76o_321{display:flex;align-items:center;justify-content:center;gap:3px;width:100%}._railMiniBtn_1s76o_329{width:22px;height:25px;border-radius:6px;background:#1e293b;border:1px solid #334155;color:#cbd5e1;display:flex;align-items:center;justify-content:center;padding:0}._railMiniBtn_1s76o_329:disabled{opacity:.35}._railIconBtn_1s76o_346{width:47px;height:26px;border-radius:7px;background:#1e293b;border:1px solid #334155;color:#cbd5e1;display:flex;align-items:center;justify-content:center}._railIconBtn_1s76o_346:disabled{opacity:.35}._mobileMainArea_1s76o_362{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}._progForm_1s76o_371{display:flex;gap:8px}._progInput_1s76o_376{flex:1;padding:8px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.9rem}._primaryBtn_1s76o_384{background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 16px;font-weight:600}@media print{._desktopWrapper_1s76o_2,._mobileLandscapeWrapper_1s76o_246,._desktopMain_1s76o_237,._mobileMainArea_1s76o_362{height:auto!important;overflow:visible!important;display:block!important}}._pageContainer_6ps76_1{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px;overflow:hidden;position:relative}._desktopGrid_6ps76_11{flex:1;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}._mobileTabsBar_6ps76_20{display:flex;gap:6px;margin-bottom:8px;flex-shrink:0}._mTab_6ps76_27{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-secondary);font-size:.78rem;font-weight:600}._mTabActive_6ps76_42{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}._mobileSinglePane_6ps76_48{flex:1;min-height:0;display:flex;flex-direction:column}._panel_6ps76_55{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-height:0;flex:1;padding:12px 14px;gap:10px}._panelHeader_6ps76_68{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}._panelTitleRow_6ps76_75{display:flex;align-items:center;gap:8px}._panelTitleRow_6ps76_75 h3{margin:0;font-size:.92rem;font-weight:700}._panelIcon_6ps76_87{color:var(--brand-primary)}._countBadge_6ps76_91{font-size:.72rem;font-weight:700;color:var(--brand-primary);background:var(--brand-soft);border:1px solid var(--brand-border);padding:2px 8px;border-radius:999px}._formStack_6ps76_101{display:flex;flex-direction:column;gap:8px;flex-shrink:0}._rowInputs_6ps76_108{display:flex;align-items:center;gap:7px;flex-shrink:0}._branchComposer_6ps76_115{flex:1;display:flex}._input_6ps76_120,._select_6ps76_121{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.82rem;background:var(--bg-surface);color:var(--text-primary)}._input_6ps76_120:focus,._select_6ps76_121:focus{outline:2px solid rgba(37,99,235,.25);border-color:var(--brand-primary)}._capField_6ps76_138{display:flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;color:var(--text-secondary)}._capInput_6ps76_147{width:64px;padding:7px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.82rem}._addBtn_6ps76_155{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:7px 12px;font-size:.8rem;font-weight:600;white-space:nowrap}._addBtn_6ps76_155:hover{background:var(--brand-primary-hover)}._colorAndChipsRow_6ps76_174{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}._swatchList_6ps76_182{display:flex;align-items:center;gap:5px}._colorDot_6ps76_188{width:18px;height:18px;border-radius:50%;border:2px solid transparent;padding:0}._colorDotActive_6ps76_196{border-color:#0f172a;transform:scale(1.15)}._tagList_6ps76_201{display:flex;align-items:center;gap:5px;flex-wrap:wrap}._branchTag_6ps76_208{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;background:var(--brand-soft);color:var(--brand-primary);border:1px solid var(--brand-border);border-radius:999px;padding:2px 7px}._branchTag_6ps76_208 button{background:transparent;border:none;padding:0;display:flex;color:inherit}._helperBanner_6ps76_229{display:flex;align-items:center;gap:6px;font-size:.74rem;color:#047857;background:var(--success-soft);border:1px solid #a7f3d0;padding:5px 9px;border-radius:var(--radius-sm);flex-shrink:0}._studentPickGrid_6ps76_242{display:flex;flex-wrap:wrap;gap:5px;max-height:68px;overflow-y:auto}._studentChip_6ps76_250{font-size:.74rem;padding:3px 9px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-subtle);color:var(--text-secondary);font-weight:600}._studentChipActive_6ps76_260{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}._listArea_6ps76_266{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:2px}._emptyMsg_6ps76_276{color:var(--text-muted);font-size:.8rem;text-align:center;padding:16px 0}._listItem_6ps76_283{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-subtle)}._itemLeft_6ps76_294{display:flex;align-items:center;gap:8px}._itemColorBar_6ps76_300{width:5px;height:28px;border-radius:999px;flex-shrink:0}._itemName_6ps76_307{font-size:.83rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:6px}._itemMeta_6ps76_316{font-size:.73rem;color:var(--text-secondary)}._branchPills_6ps76_321{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}._miniPill_6ps76_328{font-size:.68rem;font-weight:600;background:#e2e8f0;color:#334155;padding:1px 6px;border-radius:999px}._groupTypeBadge_6ps76_337{font-size:.68rem;font-weight:600;background:#ede9fe;color:#6d28d9;padding:1px 6px;border-radius:999px}._itemActions_6ps76_346{display:flex;align-items:center;gap:4px}._iconBtn_6ps76_352{background:transparent;border:1px solid transparent;color:var(--text-muted);border-radius:var(--radius-sm);padding:4px;display:flex}._iconBtn_6ps76_352:hover{background:var(--bg-muted);color:var(--text-primary)}._dangerIcon_6ps76_366:hover{background:var(--danger-soft);color:var(--danger)}._modalForm_6ps76_371{display:flex;flex-direction:column;gap:12px}._fieldLabel_6ps76_377{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:600;color:var(--text-secondary)}._toast_6ps76_386{position:fixed;top:62px;right:18px;z-index:6000;background:#991b1b;color:#fff;font-size:.8rem;font-weight:600;padding:8px 14px;border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}._tabs_1o5hs_1{display:flex;gap:6px;margin-bottom:12px}._tabBtn_1o5hs_7{flex:1;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-subtle);color:var(--text-secondary);font-size:.82rem;font-weight:700}._tabActive_1o5hs_18{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}._copyBanner_1o5hs_24{background:var(--success-soft);color:#065f46;border:1px solid #a7f3d0;padding:7px 12px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;margin-bottom:10px}._section_1o5hs_35{display:flex;flex-direction:column;gap:10px}._aiHelperBox_1o5hs_41{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:11px 13px;display:flex;flex-direction:column;gap:8px}._aiHelperBox_1o5hs_41 strong{font-size:.84rem;color:#1e3a8a}._aiHelperBox_1o5hs_41 p{margin:4px 0 0;font-size:.76rem;color:#334155;line-height:1.4}._aiBtns_1o5hs_63{display:flex;gap:8px;flex-wrap:wrap}._aiBtn_1o5hs_63{display:inline-flex;align-items:center;gap:6px;background:#4f46e5;color:#fff;border:none;border-radius:var(--radius-sm);padding:7px 12px;font-size:.78rem;font-weight:600}._uploadBar_1o5hs_82{display:flex;align-items:center;justify-content:space-between;gap:8px}._fileLabel_1o5hs_89{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px dashed var(--brand-primary);background:var(--brand-soft);color:var(--brand-primary);border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;cursor:pointer}._linkBtn_1o5hs_103{background:transparent;border:none;color:var(--brand-primary);font-size:.76rem;font-weight:600;text-decoration:underline}._textarea_1o5hs_112{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;padding:10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#0f172a;color:#e2e8f0;resize:vertical}._validateRow_1o5hs_124{display:flex;justify-content:flex-end}._primaryBtn_1o5hs_129{display:inline-flex;align-items:center;gap:6px;background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 14px;font-size:.8rem;font-weight:600}._primaryBtn_1o5hs_129:disabled{opacity:.45;cursor:not-allowed}._secondaryBtn_1o5hs_147{display:inline-flex;align-items:center;gap:6px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 12px;font-size:.78rem;font-weight:600}._errorBox_1o5hs_160{display:flex;gap:8px;background:var(--danger-soft);color:#991b1b;border:1px solid #fecaca;padding:10px;border-radius:var(--radius-sm);font-size:.78rem}._errorBox_1o5hs_160 ul,._warnList_1o5hs_172 ul{margin:0;padding-left:18px}._previewBox_1o5hs_177{background:var(--bg-subtle);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:11px 13px;display:flex;flex-direction:column;gap:10px}._previewStats_1o5hs_187{display:flex;align-items:center;gap:8px;font-size:.8rem}._okIcon_1o5hs_194{color:var(--success);flex-shrink:0}._warnList_1o5hs_172{background:var(--warning-soft);border:1px solid #fde68a;color:#92400e;border-radius:var(--radius-sm);padding:8px 10px;font-size:.75rem}._commitActions_1o5hs_208{display:flex;justify-content:flex-end;gap:8px}._exportDesc_1o5hs_214{margin:0;font-size:.8rem;color:var(--text-secondary)}._form_n50qi_1{display:flex;flex-direction:column;gap:11px}._errorAlert_n50qi_7{background:var(--danger-soft);color:#991b1b;border:1px solid #fecaca;padding:8px 10px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600}._twoCol_n50qi_17{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}._label_n50qi_23{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:600;color:var(--text-secondary)}._input_n50qi_32{padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.84rem;background:var(--bg-surface);color:var(--text-primary)}._quickStepBar_n50qi_41{display:flex;align-items:center;justify-content:space-between;background:var(--bg-subtle);border:1px solid var(--border-light);padding:6px 10px;border-radius:var(--radius-sm)}._durationBadge_n50qi_51{font-size:.78rem;color:var(--text-secondary)}._stepBtns_n50qi_56{display:flex;gap:5px}._stepBtns_n50qi_56 button{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:5px;padding:3px 8px;font-size:.74rem;font-weight:700;color:var(--brand-primary)}._actions_n50qi_71{display:flex;align-items:center;justify-content:space-between;margin-top:4px;padding-top:10px;border-top:1px solid var(--border-light)}._deleteBtn_n50qi_80{display:inline-flex;align-items:center;gap:5px;background:var(--danger-soft);color:var(--danger);border:1px solid #fecaca;border-radius:var(--radius-sm);padding:7px 11px;font-size:.78rem;font-weight:600}._rightBtns_n50qi_93{display:flex;gap:7px}._cancelBtn_n50qi_98{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 12px;font-size:.8rem;font-weight:600}._saveBtn_n50qi_107{background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:7px 14px;font-size:.8rem;font-weight:600}._gridWrapper_b0s5b_1{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden;user-select:none;-webkit-user-select:none}._headerRow_b0s5b_14{display:grid;background:#0f172a;color:#f8fafc;border-bottom:1px solid #334155;flex-shrink:0}._cornerCell_b0s5b_22{padding:6px 4px;font-size:.7rem;font-weight:700;text-align:center;color:#94a3b8;border-right:1px solid #334155}._dayHeaderCell_b0s5b_31{padding:6px 4px;text-align:center;font-size:.78rem;font-weight:700;border-right:1px solid #1e293b}._dayShort_b0s5b_39{display:none}@media(max-width:900px){._dayFull_b0s5b_44{display:none}._dayShort_b0s5b_39{display:inline}}._scrollBody_b0s5b_52{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;position:relative}._bodyColumns_b0s5b_60{display:grid;position:relative}._timeAxis_b0s5b_65{background:var(--bg-subtle);border-right:1px solid var(--border-strong)}._timeLabelCell_b0s5b_70{display:flex;align-items:flex-start;justify-content:flex-end;padding:1px 6px 0 0;border-bottom:1px dashed #e2e8f0;line-height:1}._hourText_b0s5b_79{font-size:.71rem;font-weight:700;color:var(--text-primary);border-top:1px solid #cbd5e1}._halfText_b0s5b_86{font-size:.66rem;font-weight:600;color:var(--text-secondary)}._quarterText_b0s5b_92{font-size:.58rem;color:#94a3b8}._dayColumn_b0s5b_97{position:relative;border-right:1px solid var(--border-light);background:#fff}._slotCell_b0s5b_103{border-bottom:1px dotted #f1f5f9;width:100%}._slotHourLine_b0s5b_108{border-top:1px solid #cbd5e1}._slotHalfLine_b0s5b_112{border-top:1px dashed #e2e8f0}._slotQuickClickable_b0s5b_116:hover{background:#2563eb14;cursor:copy}._busyStripe_b0s5b_121{position:absolute;left:2px;right:2px;z-index:2;pointer-events:none;background:repeating-linear-gradient(-45deg,#dc26261a,#dc26261a 6px,#fee2e247 6px 12px);border:1px dashed rgba(220,38,38,.45);border-radius:5px;display:flex;align-items:center;justify-content:center;padding:2px 4px;overflow:hidden}._busyStripe_b0s5b_121 span{font-size:.64rem;font-weight:700;color:#991b1b;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}._ghostBlock_b0s5b_152{position:absolute;left:3px;right:3px;z-index:6;pointer-events:none;border-radius:6px;padding:4px 6px;font-size:.7rem;font-weight:700;display:flex;align-items:flex-start;overflow:hidden}._ghostValid_b0s5b_167{background:#10b98138;border:2px dashed #059669;color:#065f46}._ghostInvalid_b0s5b_173{background:#ef444438;border:2px dashed #dc2626;color:#991b1b}._lessonBlock_b0s5b_179{position:absolute;left:3px;right:3px;z-index:5;color:#fff;border-radius:6px;padding:3px 6px;box-shadow:0 2px 6px #0f172a33;border:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;justify-content:flex-start;overflow:visible;cursor:grab;touch-action:none}._lessonActiveGesture_b0s5b_197{z-index:25;opacity:.92;box-shadow:0 8px 20px #0f172a59;cursor:grabbing}._lessonInvalid_b0s5b_204{outline:2px solid #ef4444;filter:saturate(.6)}._lessonTopRow_b0s5b_209{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0}._lessonTeacher_b0s5b_217{font-size:.73rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._lessonRoomBadge_b0s5b_225{font-size:.62rem;font-weight:800;background:#0f172a61;padding:1px 5px;border-radius:4px;flex-shrink:0}._lessonMetaRow_b0s5b_234{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:.64rem;opacity:.94;white-space:nowrap;overflow:hidden}._lessonBranch_b0s5b_245{font-weight:600;overflow:hidden;text-overflow:ellipsis}._lessonTime_b0s5b_251{font-weight:700;flex-shrink:0}._floatingDeltaPill_b0s5b_256{position:absolute;top:-24px;left:0;z-index:40;background:#0f172a;color:#f8fafc;font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-md)}._floatingErrorPill_b0s5b_272{background:#b91c1c}._excelPlusHandle_b0s5b_277{position:absolute;right:-4px;bottom:-4px;width:19px;height:19px;border-radius:4px;background:#fff;color:#0f172a;border:2px solid #0f172a;font-size:.85rem;font-weight:900;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;cursor:crosshair;touch-action:none;z-index:12;box-shadow:0 2px 5px #00000047}._excelPlusHandle_b0s5b_277:after{content:"";position:absolute;inset:-9px}._excelPlusHandle_b0s5b_277:hover{transform:scale(1.14);background:#fef08a}._plannerContainer_1l0pi_1{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 10px;gap:8px;overflow:hidden;position:relative}._controlBar_1l0pi_12{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:7px 11px;flex-shrink:0;flex-wrap:wrap}._controlBarCompact_1l0pi_25{padding:4px 8px;gap:6px}._leftControls_1l0pi_30,._rightControls_1l0pi_31{display:flex;align-items:center;gap:8px;flex-wrap:wrap}._inlineField_1l0pi_38{display:flex;align-items:center;gap:5px}._fieldCaption_1l0pi_44{font-size:.75rem;font-weight:700;color:var(--text-secondary)}@media(max-height:500px){._fieldCaption_1l0pi_44{display:none}}._groupSelect_1l0pi_56,._roomSelect_1l0pi_57{padding:5px 9px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.8rem;font-weight:700;background:var(--bg-subtle);color:var(--text-primary)}._groupSelect_1l0pi_56{min-width:170px;border-color:var(--brand-primary);background:var(--brand-soft)}._drawerToggleBtn_1l0pi_73{display:inline-flex;align-items:center;gap:5px;background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:5px 10px;font-size:.76rem;font-weight:700}._quickModePill_1l0pi_86{display:inline-flex;align-items:center;gap:5px;background:#eff6ff;color:#1d4ed8;border:1px solid #93c5fd;padding:4px 8px;border-radius:999px;font-size:.73rem}._quickModePill_1l0pi_86 button{background:transparent;border:none;padding:0;display:flex;color:inherit}._hoursSummary_1l0pi_106{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;color:#065f46;background:var(--success-soft);border:1px solid #a7f3d0;padding:4px 9px;border-radius:999px}._mobileDayPager_1l0pi_119{display:flex;align-items:center;gap:4px}._dayDensityBtns_1l0pi_125{display:flex;border:1px solid var(--border-strong);border-radius:6px;overflow:hidden}._dayDensityBtns_1l0pi_125 button{background:var(--bg-surface);border:none;padding:3px 7px;font-size:.7rem;font-weight:700;color:var(--text-secondary)}._densityActive_1l0pi_141{background:var(--brand-primary)!important;color:#fff!important}._pagerArrows_1l0pi_146{display:flex;gap:2px}._pagerArrows_1l0pi_146 button{width:24px;height:24px;border-radius:5px;border:1px solid var(--border-strong);background:var(--bg-surface);display:flex;align-items:center;justify-content:center;padding:0}._pagerArrows_1l0pi_146 button:disabled{opacity:.35}._settingsBtn_1l0pi_167{display:inline-flex;align-items:center;gap:5px;background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:5px 9px;font-size:.76rem;font-weight:600}._workspaceBody_1l0pi_180{flex:1;min-height:0;display:flex;gap:10px;position:relative;overflow:hidden}._desktopSidebar_1l0pi_189{width:256px;flex-shrink:0;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden}._drawerBackdrop_1l0pi_200{position:absolute;inset:0;background:#0f172a59;z-index:30}._mobileDrawer_1l0pi_207{position:absolute;left:0;top:0;bottom:0;width:250px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:35;display:flex;flex-direction:column;overflow:hidden}._mobileDrawerHeader_1l0pi_223{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-bottom:1px solid var(--border-light);font-size:.8rem;background:var(--bg-subtle)}._mobileDrawerHeader_1l0pi_223 button{background:transparent;border:none;display:flex;padding:2px}._paletteInner_1l0pi_240{flex:1;min-height:0;display:flex;flex-direction:column;padding:9px;gap:8px}._paletteTop_1l0pi_249{display:flex;flex-direction:column;gap:6px}._searchBox_1l0pi_255{display:flex;align-items:center;gap:6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:5px 8px;background:var(--bg-subtle)}._searchIcon_1l0pi_265{color:var(--text-muted);flex-shrink:0}._searchBox_1l0pi_255 input{border:none;background:transparent;width:100%;font-size:.78rem;outline:none}._branchSelect_1l0pi_278{padding:5px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.76rem;font-weight:600}._paletteHint_1l0pi_286{font-size:.69rem;color:var(--text-secondary);background:var(--bg-subtle);padding:5px 7px;border-radius:6px;line-height:1.35}._teacherList_1l0pi_295{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:2px}._teacherCard_1l0pi_305{background:var(--bg-surface);border:1px solid var(--border-light);border-left:5px solid var(--brand-primary);border-radius:7px;padding:7px 8px;cursor:grab;touch-action:none;user-select:none;box-shadow:var(--shadow-sm)}._teacherCard_1l0pi_305:hover{border-color:#93c5fd}._teacherCardHeader_1l0pi_321{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}._teacherCardName_1l0pi_328{font-size:.8rem;font-weight:700;color:var(--text-primary)}._dragGrip_1l0pi_334{color:var(--text-muted);font-size:.76rem}._teacherBranchRow_1l0pi_339{display:flex;flex-wrap:wrap;gap:4px}._branchDragChip_1l0pi_345{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-subtle);color:var(--text-secondary);touch-action:none}._branchChipActive_1l0pi_356{color:#fff!important}._floatingDragCard_1l0pi_360{position:fixed;z-index:9000;pointer-events:none;color:#fff;padding:5px 11px;border-radius:999px;font-size:.76rem;box-shadow:var(--shadow-lg);white-space:nowrap}._toast_1l0pi_372{position:fixed;top:62px;right:16px;z-index:8000;background:#991b1b;color:#fff;padding:8px 13px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;box-shadow:var(--shadow-md);max-width:420px}._settingsForm_1l0pi_387{display:flex;flex-direction:column;gap:12px}._settingField_1l0pi_393{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:600;color:var(--text-secondary)}._settingField_1l0pi_393 input,._settingField_1l0pi_393 select{padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.84rem}._viewerContainer_1q9rb_1{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 10px;gap:8px;overflow:hidden}._toolbar_1q9rb_11{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:7px 11px;flex-shrink:0;flex-wrap:wrap}._toolbarCompact_1q9rb_24{padding:4px 8px}._leftControls_1q9rb_28,._rightControls_1q9rb_29{display:flex;align-items:center;gap:8px;flex-wrap:wrap}._modeSwitch_1q9rb_36{display:flex;background:var(--bg-subtle);padding:3px;border-radius:8px;border:1px solid var(--border-strong);gap:3px}._modeBtn_1q9rb_45{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;border-radius:6px;padding:5px 10px;font-size:.77rem;font-weight:700;color:var(--text-secondary)}._modeBtnActive_1q9rb_58{background:var(--brand-primary);color:#fff}._entitySelect_1q9rb_63{padding:5px 10px;border:1px solid var(--brand-primary);background:var(--brand-soft);border-radius:var(--radius-sm);font-size:.8rem;font-weight:700;min-width:190px}._readOnlyBadge_1q9rb_73{display:inline-flex;align-items:center;gap:4px;font-size:.71rem;font-weight:700;color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-strong);padding:4px 8px;border-radius:999px}@media(max-height:500px){._readOnlyBadge_1q9rb_73{display:none}}._totalBadge_1q9rb_92{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700;color:#065f46;background:var(--success-soft);border:1px solid #a7f3d0;padding:4px 9px;border-radius:999px}._printBtn_1q9rb_105,._pdfBtn_1q9rb_106,._bulkPdfBtn_1q9rb_107{display:inline-flex;align-items:center;gap:5px;border-radius:var(--radius-sm);padding:6px 11px;font-size:.78rem;font-weight:700}._printBtn_1q9rb_105{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-strong)}._pdfBtn_1q9rb_106{background:var(--brand-primary);color:#fff;border:none}._bulkPdfBtn_1q9rb_107{background:#0f172a;color:#fff;border:none}._printHeaderBanner_1q9rb_135{display:none}._boardCard_1q9rb_139{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}._headerRow_1q9rb_150{display:grid;background:#0f172a;color:#f8fafc;border-bottom:1px solid #334155;flex-shrink:0}._cornerCell_1q9rb_158{padding:6px 4px;font-size:.7rem;font-weight:700;text-align:center;color:#94a3b8;border-right:1px solid #334155}._dayHeaderCell_1q9rb_167{padding:6px 4px;text-align:center;font-size:.78rem;font-weight:700;border-right:1px solid #1e293b}._dayShort_1q9rb_175{display:none}@media(max-width:900px){._dayFull_1q9rb_180{display:none}._dayShort_1q9rb_175{display:inline}}._scrollArea_1q9rb_188{flex:1;min-height:0;overflow-y:auto}._bodyGrid_1q9rb_194{display:grid;position:relative}._timeAxis_1q9rb_199{background:var(--bg-subtle);border-right:1px solid var(--border-strong)}._timeCell_1q9rb_204{display:flex;align-items:flex-start;justify-content:flex-end;padding:1px 6px 0 0;border-bottom:1px dashed #e2e8f0;line-height:1}._hourText_1q9rb_213{font-size:.71rem;font-weight:700;color:var(--text-primary);border-top:1px solid #cbd5e1}._halfText_1q9rb_220{font-size:.65rem;font-weight:600;color:var(--text-secondary)}._quarterText_1q9rb_226{font-size:.58rem}._dayCol_1q9rb_230{position:relative;border-right:1px solid var(--border-light);background:#fff}._slotLine_1q9rb_236{border-bottom:1px dotted #f1f5f9}._hourLine_1q9rb_240{border-top:1px solid #cbd5e1}._halfLine_1q9rb_244{border-top:1px dashed #e2e8f0}._readOnlyBlock_1q9rb_248{position:absolute;left:3px;right:3px;z-index:4;background:#eff6ff;border:1px solid #bfdbfe;border-left:5px solid var(--brand-primary);border-radius:5px;padding:3px 6px;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;color:#0f172a}._roTop_1q9rb_265{display:flex;align-items:center;justify-content:space-between;gap:4px}._roPrimary_1q9rb_272{font-size:.73rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._roBadge_1q9rb_280{font-size:.62rem;font-weight:700;background:#e2e8f0;color:#1e293b;padding:1px 5px;border-radius:4px;flex-shrink:0}._roBottom_1q9rb_290{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:.64rem;color:#334155;white-space:nowrap;overflow:hidden}@media print{._viewerContainer_1q9rb_1{padding:0!important;overflow:visible!important;height:auto!important}._printHeaderBanner_1q9rb_135{display:flex!important;align-items:center;justify-content:space-between;border-bottom:2px solid #0f172a;padding-bottom:6px;margin-bottom:8px}._printCat_1q9rb_317{font-size:.75rem;font-weight:700;text-transform:uppercase;color:#475569}._printTitle_1q9rb_324{margin:2px 0 0;font-size:1.2rem}._printMeta_1q9rb_329{text-align:right;font-size:.82rem}._boardCard_1q9rb_139,._scrollArea_1q9rb_188{overflow:visible!important;height:auto!important;border-color:#334155!important}._readOnlyBlock_1q9rb_248{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
