.school-context[data-v-a605f794]{display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--macaron-mint-light);border-radius:var(--radius-pill);font-size:13px;color:var(--color-primary);font-weight:500;max-width:200px}.school-context__icon[data-v-a605f794]{display:flex;align-items:center;flex-shrink:0}.school-context__name[data-v-a605f794]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bell-btn[data-v-2c8b5cf7]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition)}.bell-btn[data-v-2c8b5cf7]:hover{background:var(--color-bg-alt);color:var(--color-primary)}.notification-panel__header[data-v-2c8b5cf7]{padding:12px 16px;border-bottom:1px solid var(--color-border-light)}.notification-panel__title[data-v-2c8b5cf7]{font-size:14px;font-weight:600;color:var(--color-text)}.notification-panel__body[data-v-2c8b5cf7]{padding:8px 0}.notification-empty[data-v-2c8b5cf7]{padding:24px 16px;text-align:center;color:var(--color-text-muted);font-size:13px}.role-switcher[data-v-4c110b67]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:var(--transition)}.role-switcher[data-v-4c110b67]:hover{background:var(--color-bg-alt)}.role-switcher__avatar[data-v-4c110b67]{width:38px;height:38px;border-radius:50%;background:var(--macaron-mint-light);border:2px solid var(--macaron-mint);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:var(--color-primary);flex-shrink:0;transition:var(--transition)}.role-switcher:hover .role-switcher__avatar[data-v-4c110b67]{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.role-switcher__info[data-v-4c110b67]{display:flex;flex-direction:column;min-width:0}.role-switcher__name[data-v-4c110b67]{font-size:13px;font-weight:600;color:var(--color-text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-switcher__role[data-v-4c110b67]{font-size:11px;color:var(--color-text-muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.app-header[data-v-320bda13]{position:fixed;top:0;left:0;right:0;height:68px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.app-header__left[data-v-320bda13]{display:flex;align-items:center;gap:16px}.app-header__brand[data-v-320bda13]{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.app-header__logo[data-v-320bda13]{display:flex;align-items:center;flex-shrink:0}.app-header__title[data-v-320bda13]{font-size:18px;font-weight:800;color:var(--color-primary);letter-spacing:-.02em;white-space:nowrap}.app-header__right[data-v-320bda13]{display:flex;align-items:center;gap:12px}.app-header__search[data-v-320bda13]{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--color-bg-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text-muted)}.search-icon[data-v-320bda13]{flex-shrink:0}.search-input[data-v-320bda13]{border:none;outline:none;background:transparent;font-size:13px;color:var(--color-text-muted);width:120px;cursor:not-allowed;font-family:inherit}.search-input[data-v-320bda13]::placeholder{color:var(--color-text-muted)}.sidebar[data-v-0665e477]{width:220px;background:var(--color-bg);border-right:1px solid var(--color-border-light);transition:width .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.sidebar--collapsed[data-v-0665e477]{width:64px}.sidebar__toggle[data-v-0665e477]{display:flex;align-items:center;justify-content:center;height:40px;margin:8px;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);transition:var(--transition)}.sidebar__toggle[data-v-0665e477]:hover{background:var(--color-bg-alt);color:var(--color-primary)}.sidebar__nav[data-v-0665e477]{flex:1;padding:0 8px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nav-item[data-v-0665e477]{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:var(--radius-sm);color:var(--color-text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:var(--transition);white-space:nowrap;border-left:3px solid transparent}.nav-item[data-v-0665e477]:hover{background:var(--color-bg-alt);color:var(--color-primary)}.nav-item--active[data-v-0665e477]{color:var(--color-primary);background:var(--color-bg-alt);border-left-color:var(--color-primary);font-weight:600}.nav-item__icon[data-v-0665e477]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.nav-item__label[data-v-0665e477]{overflow:hidden;text-overflow:ellipsis}.sidebar--collapsed .nav-item[data-v-0665e477]{justify-content:center;padding:10px;border-left-width:0}.sidebar--collapsed .nav-item--active[data-v-0665e477]{border-left-width:0;border-bottom:2px solid var(--color-primary)}.ai-fab[data-v-88abe534]{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg);transition:var(--transition);z-index:1100}.ai-fab[data-v-88abe534]:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);background:var(--color-primary-light)}.ai-panel-overlay[data-v-5a1d5927]{position:fixed;inset:0;z-index:1200;background:#00000026}.ai-panel[data-v-5a1d5927]{position:absolute;top:0;right:0;width:400px;max-width:100vw;height:100vh;background:var(--color-bg);border-left:1px solid var(--color-border-light);box-shadow:var(--shadow-xl);display:flex;flex-direction:column}.ai-panel-header[data-v-5a1d5927]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.ai-panel-title[data-v-5a1d5927]{font-size:16px;font-weight:700;color:var(--color-text)}.ai-panel-actions[data-v-5a1d5927]{display:flex;align-items:center;gap:8px}.ai-panel-expand[data-v-5a1d5927],.ai-panel-close[data-v-5a1d5927]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition);text-decoration:none}.ai-panel-expand[data-v-5a1d5927]:hover,.ai-panel-close[data-v-5a1d5927]:hover{background:var(--color-bg-alt);color:var(--color-text)}.ai-panel-body[data-v-5a1d5927]{flex:1;overflow-y:auto;display:flex;align-items:center;justify-content:center}.ai-panel-placeholder[data-v-5a1d5927]{text-align:center;color:var(--color-text-secondary)}.ai-panel-placeholder-text[data-v-5a1d5927]{margin-top:12px;font-size:15px;font-weight:500}.ai-panel-placeholder-hint[data-v-5a1d5927]{margin-top:8px;font-size:13px;opacity:.7}.ai-panel-placeholder-hint a[data-v-5a1d5927]{color:var(--color-primary);text-decoration:none}.ai-panel-placeholder-hint a[data-v-5a1d5927]:hover{text-decoration:underline}.ai-panel-footer[data-v-5a1d5927]{padding:16px 20px;border-top:1px solid var(--color-border-light);flex-shrink:0}.ai-panel-input[data-v-5a1d5927]{width:100%;padding:10px 14px;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-alt);color:var(--color-text-secondary);font-size:14px;outline:none;cursor:not-allowed}.slide-right-enter-active[data-v-5a1d5927],.slide-right-leave-active[data-v-5a1d5927]{transition:all .3s ease}.slide-right-enter-active .ai-panel[data-v-5a1d5927],.slide-right-leave-active .ai-panel[data-v-5a1d5927]{transition:transform .3s ease}.slide-right-enter-from[data-v-5a1d5927],.slide-right-leave-to[data-v-5a1d5927]{opacity:0}.slide-right-enter-from .ai-panel[data-v-5a1d5927],.slide-right-leave-to .ai-panel[data-v-5a1d5927]{transform:translate(100%)}.app-shell[data-v-c0b70062]{min-height:100vh;display:flex;flex-direction:column}.app-body[data-v-c0b70062]{display:flex;flex:1;margin-top:68px;min-height:calc(100vh - 68px)}.app-main[data-v-c0b70062]{flex:1;overflow-y:auto;padding:24px;background:var(--color-bg-alt)}
