.school-context[data-v-e2b7c9ee]{display:flex;align-items:center;gap:6px;padding:4px 12px;background:#ffffff1a;border-radius:var(--radius-pill);font-size:var(--fs-base);color:#ffffffe6;font-weight:var(--fw-medium);max-width:200px}.school-context__icon[data-v-e2b7c9ee]{display:flex;align-items:center;flex-shrink:0}.school-context__name[data-v-e2b7c9ee]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bell-btn[data-v-7b83b852]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ffffffb3;cursor:pointer;transition:var(--transition)}.bell-btn[data-v-7b83b852]:hover{background:#ffffff1a;color:#fff}.notification-panel__header[data-v-7b83b852]{padding:12px 16px;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center}.notification-panel__title[data-v-7b83b852]{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--color-text)}.notification-panel__count[data-v-7b83b852]{font-size:var(--fs-base);color:var(--color-primary)}.notification-panel__body[data-v-7b83b852]{max-height:360px;overflow-y:auto}.notification-item[data-v-7b83b852]{padding:10px 16px;border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:var(--transition)}.notification-item[data-v-7b83b852]:hover{background:var(--color-bg-alt)}.notification-item--unread[data-v-7b83b852]{border-left:3px solid var(--color-primary)}.notification-item__title[data-v-7b83b852]{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--color-text);margin-bottom:2px}.notification-item__summary[data-v-7b83b852]{font-size:var(--fs-base);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-item__time[data-v-7b83b852]{font-size:var(--fs-sm);color:var(--color-text-muted);margin-top:4px}.notification-empty[data-v-7b83b852]{padding:24px 16px;text-align:center;color:var(--color-text-muted);font-size:var(--fs-base)}.role-switcher[data-v-6c2582e6]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:var(--transition)}.role-switcher[data-v-6c2582e6]:hover{background:#ffffff1a}.role-switcher__avatar[data-v-6c2582e6]{width:38px;height:38px;border-radius:50%;background:#ffffff26;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-semibold);font-size:var(--fs-base);color:#fff;flex-shrink:0;transition:var(--transition)}.role-switcher:hover .role-switcher__avatar[data-v-6c2582e6]{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.role-switcher__info[data-v-6c2582e6]{display:flex;flex-direction:column;min-width:0}.role-switcher__name[data-v-6c2582e6]{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:#fffffff2;line-height:var(--lh-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-switcher__role[data-v-6c2582e6]{font-size:var(--fs-base);color:#fff9;line-height:var(--lh-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.app-header[data-v-0d548862]{position:static;flex:0 0 64px;width:100%;height:64px;background:var(--surface-header-gradient);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:none;z-index:auto;display:grid;grid-template-columns:minmax(280px,auto) 1fr auto;align-items:center;gap:24px;padding:0 32px;color:#fff}.app-header__left[data-v-0d548862]{display:flex;align-items:center;gap:14px;min-width:0}.app-header__brand[data-v-0d548862]{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:0}.app-header__logo[data-v-0d548862]{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:#f4da4c26;box-shadow:0 4px 16px #f4da4c33;flex-shrink:0}.app-header__logo img[data-v-0d548862]{width:30px;height:30px;display:block}.app-header__title[data-v-0d548862]{font-size:19px;font-weight:var(--fw-heavy);color:#fff;letter-spacing:-.02em;white-space:nowrap}.app-header__nav[data-v-0d548862]{justify-self:center;display:flex;align-items:center;gap:3px;max-width:100%;padding:4px;border-radius:var(--radius-pill);background:#ffffff0f;border:1px solid rgba(255,255,255,.07);overflow:hidden}.app-header__nav-item[data-v-0d548862]{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 24px;border-radius:var(--radius-pill);color:#838093;font-size:15px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;transition:color .15s ease,background-color .15s ease,box-shadow .2s ease}.app-header__nav-item[data-v-0d548862]:hover{color:#bbb8cc}.app-header__nav-item--active[data-v-0d548862]{background:var(--color-accent);color:var(--color-bg-deep);font-weight:700;box-shadow:0 2px 12px #f4da4c4d}.app-header__right[data-v-0d548862]{display:flex;align-items:center;gap:16px}.app-header__search[data-v-0d548862]{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:15px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#838093;transition:var(--transition)}.app-header__search[data-v-0d548862]:focus-within,.app-header__search[data-v-0d548862]:hover{background:#ffffff17;color:#bbb8cc}.search-icon[data-v-0d548862]{flex-shrink:0}.search-input[data-v-0d548862]{border:none;outline:none;background:transparent;font-size:15px;color:#ffffffe6;width:132px;font-family:inherit}.search-input[data-v-0d548862]::placeholder{color:#ffffff80}[data-v-0d548862] .school-context{min-height:34px;padding:0 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#ffffffb8;font-size:13px}[data-v-0d548862] .bell-btn{width:40px;height:40px;border-radius:12px;color:#838093}[data-v-0d548862] .bell-btn:hover{background:#ffffff0f;color:#bbb8cc}[data-v-0d548862] .role-switcher{border-radius:12px;padding:0}[data-v-0d548862] .role-switcher:hover{background:transparent}[data-v-0d548862] .role-switcher__avatar{width:42px;height:42px;border:none;background:var(--color-accent);color:var(--color-bg-deep);font-size:15px;font-weight:800;box-shadow:0 3px 12px #f4da4c40}@media(max-width:1180px){.app-header[data-v-0d548862]{grid-template-columns:minmax(220px,auto) auto}.app-header__nav[data-v-0d548862]{display:none}}@media(max-width:860px){.app-header[data-v-0d548862]{grid-template-columns:minmax(0,1fr) auto;padding-right:16px;padding-left:16px;gap:12px}.app-header__search[data-v-0d548862],[data-v-0d548862] .school-context{display:none}}.sidebar[data-v-cfe1e2e6]{width:250px;background:linear-gradient(180deg,#09061b,#0d0a1f);border-right:none;transition:width .2s ease-out;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;color:#ffffffd9}.sidebar--collapsed[data-v-cfe1e2e6]{width:68px}.sidebar__toggle[data-v-cfe1e2e6]{display:flex;align-items:center;justify-content:center;height:40px;margin:8px;border-radius:var(--radius-sm);cursor:pointer;color:#fff9;transition:var(--transition);border-bottom:1px solid rgba(255,255,255,.06)}.sidebar__toggle[data-v-cfe1e2e6]:hover{background:#ffffff1a;color:#fff}.sidebar__nav[data-v-cfe1e2e6]{flex:1;padding:0 8px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nav-item[data-v-cfe1e2e6]{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:var(--radius-sm);color:#ffffffc7;text-decoration:none;font-size:15px;font-weight:var(--fw-medium);transition:var(--transition);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid transparent}.nav-item[data-v-cfe1e2e6]:hover:not(.nav-item--active){background:#ffffff0f;color:#fffffff2}.nav-item--active[data-v-cfe1e2e6]{background:var(--color-sidebar-active);color:var(--color-bg-deep);font-weight:700;box-shadow:0 2px 12px #f4da4c40;border-radius:var(--radius-sm);border-left-color:transparent}.nav-item--child[data-v-cfe1e2e6]{padding:8px 16px 8px 48px;font-size:14px;border-left:none}.nav-item--child.nav-item--active[data-v-cfe1e2e6]{border-left:none;color:var(--color-bg-deep);background:var(--color-sidebar-active);font-weight:700}.nav-item__icon[data-v-cfe1e2e6]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.nav-item__label[data-v-cfe1e2e6]{overflow:hidden;text-overflow:ellipsis}.nav-group[data-v-cfe1e2e6]{margin-top:4px}.nav-group__header[data-v-cfe1e2e6]{display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:var(--radius-sm);color:#ffffffd9;font-size:15px;font-weight:var(--fw-semibold);cursor:pointer;transition:var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none}.nav-group__header[data-v-cfe1e2e6]:hover{background:#ffffff1a;color:#fff}.nav-group__header--active[data-v-cfe1e2e6]{color:#fff}.nav-group__label[data-v-cfe1e2e6]{flex:1;overflow:hidden;text-overflow:ellipsis;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;font-weight:600}.nav-group__arrow[data-v-cfe1e2e6]{flex-shrink:0;transition:transform .2s ease;opacity:.5}.nav-group__arrow--open[data-v-cfe1e2e6]{transform:rotate(180deg)}.nav-group__children[data-v-cfe1e2e6]{overflow:hidden}.slide-enter-active[data-v-cfe1e2e6],.slide-leave-active[data-v-cfe1e2e6]{transition:opacity .2s ease,max-height .2s ease}.slide-enter-from[data-v-cfe1e2e6],.slide-leave-to[data-v-cfe1e2e6]{opacity:0;max-height:0}.sidebar--collapsed .nav-item[data-v-cfe1e2e6]{justify-content:center;padding:10px;border-left-width:0}.sidebar--collapsed .nav-item--active[data-v-cfe1e2e6]{border-left-width:0;border-bottom:2px solid var(--color-sidebar-active)}.sidebar--collapsed .nav-group__header[data-v-cfe1e2e6]{justify-content:center;padding:10px}.ai-fab[data-v-f99cfff2]{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));right:calc(24px + env(safe-area-inset-right));width:48px;height:48px;border-radius:50%;background:var(--color-primary);color:var(--color-bg, #fff);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg);transition:var(--transition);z-index:var(--z-overlay)}.ai-fab[data-v-f99cfff2]:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);background:var(--color-primary-light)}.ai-panel-overlay[data-v-3752896c]{position:fixed;inset:0;z-index:var(--z-modal);background:#00000026}.ai-panel[data-v-3752896c]{position:absolute;top:0;right:0;width:400px;max-width:100vw;height:100dvh;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-3752896c]{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-3752896c]{font-size:16px;font-weight:var(--fw-semibold);color:var(--color-text)}.ai-panel-actions[data-v-3752896c]{display:flex;align-items:center;gap:8px}.ai-panel-expand[data-v-3752896c],.ai-panel-close[data-v-3752896c]{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-3752896c]:hover,.ai-panel-close[data-v-3752896c]:hover{background:var(--color-bg-alt);color:var(--color-text)}.ai-panel-body[data-v-3752896c]{flex:1;overflow-y:auto;display:flex;align-items:center;justify-content:center}.ai-panel-placeholder[data-v-3752896c]{text-align:center;color:var(--color-text-secondary)}.ai-panel-placeholder-text[data-v-3752896c]{margin-top:12px;font-size:var(--fs-base);font-weight:var(--fw-medium)}.ai-panel-placeholder-hint[data-v-3752896c]{margin-top:8px;font-size:16px;opacity:.7}.ai-panel-placeholder-hint a[data-v-3752896c]{color:var(--color-primary);text-decoration:none}.ai-panel-placeholder-hint a[data-v-3752896c]:hover{text-decoration:underline}.ai-panel-footer[data-v-3752896c]{padding:16px 20px;border-top:1px solid var(--color-border-light);flex-shrink:0}.ai-panel-input[data-v-3752896c]{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:16px;outline:none;cursor:not-allowed}.slide-right-enter-active[data-v-3752896c],.slide-right-leave-active[data-v-3752896c]{transition:transform .3s ease,opacity .3s ease}.slide-right-enter-active .ai-panel[data-v-3752896c],.slide-right-leave-active .ai-panel[data-v-3752896c]{transition:transform .3s ease}.slide-right-enter-from[data-v-3752896c],.slide-right-leave-to[data-v-3752896c]{opacity:0}.slide-right-enter-from .ai-panel[data-v-3752896c],.slide-right-leave-to .ai-panel[data-v-3752896c]{transform:translate(100%)}.app-shell[data-v-8860d2f3]{min-height:100dvh;padding:28px 24px;background:var(--surface-page-gradient);display:flex;align-items:flex-start;justify-content:center}.app-body[data-v-8860d2f3]{width:min(1610px,100%);height:calc(100dvh - 56px);display:flex;gap:20px;min-width:0}.app-stage[data-v-8860d2f3]{flex:1 1 auto;max-width:1340px;min-width:0;display:flex;flex-direction:column;background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-stage);overflow:hidden}.app-main[data-v-8860d2f3]{flex:1;min-height:0;overflow-y:auto;padding:28px 36px 40px;background:#fff}.app-shell--workspace .app-stage[data-v-8860d2f3]{max-width:none}.app-shell--workspace .app-main[data-v-8860d2f3]{padding:0;overflow:hidden}[data-v-8860d2f3] .sidebar{height:100%;border-radius:var(--radius-xl);box-shadow:0 18px 50px #09061b1f}@media(max-width:1180px){.app-shell[data-v-8860d2f3]{padding:20px 16px}.app-body[data-v-8860d2f3]{height:calc(100dvh - 40px);gap:16px}[data-v-8860d2f3] .sidebar{width:68px!important}[data-v-8860d2f3] .sidebar .nav-item__label,[data-v-8860d2f3] .sidebar .nav-group__label{display:none!important}}@media(max-width:860px){.app-shell[data-v-8860d2f3]{padding:0}.app-body[data-v-8860d2f3]{width:100%;height:100dvh;gap:0}.app-stage[data-v-8860d2f3],[data-v-8860d2f3] .sidebar{border-radius:0;box-shadow:none}.app-stage[data-v-8860d2f3]{max-width:none}}:root{--color-primary: #644CF0;--color-primary-dark: #4F3EC9;--color-primary-light: #7B68F5;--color-accent: #F4DA4C;--color-accent-hover: #E8CF40;--color-bg: #F4F5F9;--color-bg-alt: #EDEDF3;--color-bg-card: #ffffff;--color-text: #09061B;--color-text-secondary: #5a5a68;--color-text-muted: #A0A0A8;--color-border: #E8E8EF;--color-border-light: #F1F2F6;--color-success: #22C55E;--color-danger: #dc2626;--color-warning: #ED9A51;--color-info: #8B7AF5;--color-bg-deep: #09061B;--color-primary-hover: #7B68F5;--color-primary-pressed: #4F3EC9;--color-success-hover: #16A34A;--color-success-pressed: #15803D;--color-warning-hover: #D4842E;--color-warning-pressed: #B86E1A;--color-info-hover: #A196F8;--color-info-pressed: #6C5CE0;--surface-success: #dcfce7;--surface-success-light: #f0fdf4;--surface-accent: #fef5d0;--surface-accent-light: #fffbeb;--surface-danger: #fee2e2;--surface-danger-light: #fef2f2;--surface-primary: #ede9fe;--surface-primary-light: #f5f3ff;--surface-info: #e8e4fd;--surface-info-light: #f5f3ff;--surface-stat-yellow: #faf2d0;--surface-stat-purple: #ebe7fd;--surface-stat-orange: #fde9d6;--surface-stat-ink: #e8e8f0;--surface-ink-soft: #12102a;--surface-page-gradient: radial-gradient(ellipse 900px 600px at 12% 18%, rgba(100, 76, 240, .08), transparent), radial-gradient(ellipse 700px 500px at 88% 80%, rgba(244, 218, 76, .06), transparent), linear-gradient(155deg, #eceaf2 0%, #F4F5F9 40%, #F4F5F9 60%, #f0eee8 100%);--surface-header-gradient: linear-gradient(180deg, #09061B 0%, #12102a 100%);--macaron-mint: var(--color-accent);--macaron-mint-light: var(--surface-stat-yellow);--macaron-yellow: var(--color-accent);--macaron-yellow-light: var(--surface-stat-yellow);--macaron-coral: var(--color-warning);--macaron-coral-light: var(--surface-stat-orange);--macaron-purple: var(--color-primary);--macaron-purple-light: var(--surface-stat-purple);--macaron-blue: var(--color-info);--macaron-blue-light: var(--surface-stat-ink);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-pill: 999px;--shadow-sm: 0 2px 8px rgba(9, 6, 27, .04);--shadow-md: 0 4px 16px rgba(9, 6, 27, .06);--shadow-lg: 0 18px 46px rgba(9, 6, 27, .09);--shadow-xl: 0 32px 64px rgba(9, 6, 27, .12);--shadow-stage: 0 30px 80px rgba(9, 6, 27, .1), 0 10px 30px rgba(9, 6, 27, .05), 0 0 0 1px rgba(0, 0, 0, .03);--shadow-card: 0 2px 8px rgba(9, 6, 27, .03);--shadow-card-hover: 0 4px 16px rgba(9, 6, 27, .05);--shadow-stat-yellow: 0 6px 20px rgba(244, 218, 76, .18);--shadow-stat-yellow-hover: 0 12px 32px rgba(244, 218, 76, .28);--shadow-stat-purple: 0 6px 20px rgba(100, 76, 240, .15);--shadow-stat-purple-hover: 0 12px 32px rgba(100, 76, 240, .22);--shadow-stat-orange: 0 6px 20px rgba(237, 154, 81, .15);--shadow-stat-orange-hover: 0 12px 32px rgba(237, 154, 81, .22);--shadow-stat-ink: 0 6px 20px rgba(9, 6, 27, .1);--shadow-stat-ink-hover: 0 12px 32px rgba(9, 6, 27, .16);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--transition: transform .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, .2, 1), background-color .15s ease, border-color .15s ease, color .15s ease;--z-sidebar: 90;--z-header: 100;--z-overlay: 200;--z-modal: 300;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-base: 16px;--fs-lg: 18px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 32px;--fs-display: 48px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-heavy: 800;--lh-tight: 1.05;--lh-snug: 1.3;--lh-normal: 1.5;--lh-relaxed: 1.6;--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-full: 999px;--text-primary: #09061B;--text-secondary: #5a5a68;--text-tertiary: #A0A0A8;--text-disabled: #C0C0C8;--text-placeholder: #C0C0C8;--text-inverse: #ffffff;--color-success-bg-subtle: #f0fdf4;--color-success-bg: #dcfce7;--color-success-border: #4ADE80;--color-success-text: #166534;--color-danger-bg-subtle: #fef2f2;--color-danger-bg: #fee2e2;--color-danger-border: #fca5a5;--color-danger-text: #b91c1c;--color-warning-bg-subtle: #fffbeb;--color-warning-bg: #fef5d0;--color-warning-border: #F4DA4C;--color-warning-text: #9A5E20;--color-info-bg-subtle: #f5f3ff;--color-info-bg: #ede9fe;--color-info-border: #8B7AF5;--color-info-text: #4F3EC9;--color-table-header: #ffffff;--color-table-hover: #FAFAFA;--color-sidebar-bg: #09061B;--color-sidebar-active: #F4DA4C;--primary-color: var(--color-primary);--primary-color-hover: var(--color-primary-hover);--border-color: var(--color-border);--body-color: var(--color-bg);--card-color: var(--color-bg-card);--text-color-1: var(--color-text);--text-color-2: var(--color-text-secondary);--text-color-3: var(--color-text-muted);--success-color: var(--color-success);--warning-color: var(--color-warning);--font-serif-display: "Playfair Display", "Noto Serif SC", "Songti SC", Georgia, serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:16px;color:var(--color-text);background:var(--surface-page-gradient);line-height:var(--lh-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"tnum" 1,"cv02" 1,"cv03" 1,"cv04" 1}a{color:var(--color-primary);text-decoration:none}.page-container{max-width:1280px;margin:0 auto;padding:var(--space-8) var(--space-8)}.page-header{margin-bottom:var(--space-8)}.page-title{font-size:var(--fs-3xl);font-weight:var(--fw-heavy);color:var(--color-text);line-height:var(--lh-tight);letter-spacing:-.02em;text-wrap:balance;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-subtitle{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--fw-bold);color:var(--color-text-muted);margin-top:var(--space-2);text-wrap:pretty}.btn-pill{border-radius:var(--radius-pill)!important}.stat-card{padding:26px 28px;border-radius:var(--radius-lg);border:none;background:var(--surface-stat-yellow);box-shadow:var(--shadow-stat-yellow);transition:var(--transition)}.stat-card:hover{box-shadow:var(--shadow-stat-yellow-hover)}.stat-card:nth-child(4n+2){background:var(--surface-stat-purple);box-shadow:var(--shadow-stat-purple)}.stat-card:nth-child(4n+2):hover{box-shadow:var(--shadow-stat-purple-hover)}.stat-card:nth-child(4n+3){background:var(--surface-stat-orange);box-shadow:var(--shadow-stat-orange)}.stat-card:nth-child(4n+3):hover{box-shadow:var(--shadow-stat-orange-hover)}.stat-card:nth-child(4n+4){background:var(--surface-stat-ink);box-shadow:var(--shadow-stat-ink)}.stat-card:nth-child(4n+4):hover{box-shadow:var(--shadow-stat-ink-hover)}.stat-card .stat-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);box-shadow:inset 0 0 0 1px #ffffff59}.stat-card .stat-value{font-size:34px;font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:0;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-suffix{margin-left:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-muted)}.stat-card .stat-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);text-transform:none;letter-spacing:0;color:var(--color-text-muted);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-mint{background:var(--surface-success);color:#166534}.tag-yellow{background:var(--surface-accent);color:#9a5e20}.tag-coral{background:var(--surface-danger);color:var(--color-danger-text)}.tag-purple{background:var(--surface-primary);color:#4f3ec9}.tag-blue{background:var(--surface-info);color:#4f3ec9}.tabular-nums{font-variant-numeric:tabular-nums}.chart-height-sm{height:260px}.chart-height-md{height:300px}.chart-height-lg{height:380px}.chart-height-xl{height:440px}@media(max-width:768px){.chart-height-sm{height:220px}.chart-height-md{height:240px}.chart-height-lg{height:300px}.chart-height-xl{height:340px}}@keyframes floatSlow{0%,to{transform:translate(0)}33%{transform:translate(15px,-20px)}66%{transform:translate(-10px,15px)}}.text-uppercase{text-transform:uppercase;letter-spacing:.08em}.text-eyebrow{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.text-kpi{font-size:34px;font-weight:700;line-height:1;letter-spacing:0;color:var(--color-text)}.text-kpi-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}.empty-state{text-align:center;padding:48px 24px;color:var(--color-text-muted)}.empty-state__icon{font-size:48px;margin-bottom:16px;opacity:.4}.empty-state__title{font-size:18px;font-weight:700;color:var(--color-text);margin-bottom:8px}.empty-state__text{font-size:15px;color:var(--color-text-muted);max-width:360px;margin:0 auto}.n-card{border-radius:var(--radius-lg)!important;border:1px solid var(--color-border-light)!important;box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.n-card:hover{box-shadow:var(--shadow-card-hover)}.n-card>.n-card-header{padding-bottom:10px}.n-card .n-card-header__main{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--color-text);letter-spacing:-.02em}.n-button{border-radius:14px!important;font-weight:var(--fw-bold)!important;letter-spacing:0;transition:var(--transition)!important}.n-button:not(.n-button--text-type):not(.n-button--disabled){box-shadow:0 2px 8px #09061b0f}.n-button:not(.n-button--text-type):not(.n-button--disabled):hover{transform:translateY(-1px)}.n-button--primary-type:not(.n-button--disabled){box-shadow:0 4px 14px #644cf033}.n-button--primary-type:not(.n-button--disabled):hover{box-shadow:0 6px 18px #644cf04d}.n-button--warning-type:not(.n-button--disabled){box-shadow:0 4px 14px #ed9a5133}.n-button--warning-type:not(.n-button--disabled):hover{box-shadow:0 6px 18px #ed9a514d}.n-tag{border-radius:var(--radius-pill)!important;font-weight:var(--fw-semibold)}.n-data-table{border-radius:var(--radius-lg)!important;overflow:hidden}.n-data-table-th{font-size:13px!important;text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-semibold)!important;color:var(--color-text-muted)!important;background:var(--color-bg-card)!important;border-bottom:2px solid var(--color-border-light)!important}.n-data-table-td{padding:14px 12px!important;color:var(--color-text-secondary)!important;border-bottom:1px solid var(--color-bg)!important}.n-data-table-tr:hover .n-data-table-td{background:#fafafa!important}table{width:100%;border-collapse:collapse;font-size:15px}thead th{text-align:left;padding:12px 14px;font-size:13px;font-weight:var(--fw-semibold);color:var(--color-text-muted);border-bottom:2px solid var(--color-border-light);text-transform:uppercase;letter-spacing:.04em}tbody td{padding:14px;border-bottom:1px solid var(--color-bg);color:var(--color-text-secondary)}tbody tr:hover{background:#fafafa}.app-main .stat-delta{margin-top:8px;font-size:13px;font-weight:600;color:var(--color-primary)}.app-main .stat-delta.warn{color:var(--color-warning)}.app-main .toggle{display:inline-flex;padding:3px;border-radius:var(--radius-pill);background:var(--color-bg);gap:2px}.app-main .toggle__item{border:0;border-radius:var(--radius-pill);padding:7px 18px;background:transparent;color:var(--color-text-muted);font-size:14px;font-weight:600;cursor:pointer;transition:color .15s ease,background-color .15s ease,box-shadow .15s ease;font-family:inherit}.app-main .toggle__item.active{background:var(--color-bg-deep);color:var(--color-accent);box-shadow:0 2px 6px #09061b26}.app-main .prog-track{height:7px;background:var(--color-bg);border-radius:var(--radius-pill);overflow:hidden}.app-main .prog-fill{height:100%;border-radius:inherit}.app-main .n-progress .n-progress-graph-line-rail{height:7px;border-radius:var(--radius-pill);background:var(--color-bg)}.app-main .n-progress .n-progress-graph-line-fill{border-radius:var(--radius-pill)}.app-main .prog-fill--yellow{background:linear-gradient(90deg,#f8d850,#f4da4c)}.app-main .prog-fill--purple{background:linear-gradient(90deg,#6850f8,#644cf0)}.app-main .prog-fill--orange{background:linear-gradient(90deg,#f09c50,#ed9a51)}.app-main .entry{position:relative;display:block;overflow:hidden;border-radius:var(--radius-lg);padding:24px;border:none;cursor:pointer;text-decoration:none;transition:box-shadow .3s ease}.app-main .entry:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-main .entry:after{content:"";position:absolute;right:-30px;bottom:-30px;width:100px;height:100px;border-radius:50%;opacity:.1}.app-main .entry--dark{background:linear-gradient(145deg,#12102a,#09061b);color:#fff;box-shadow:0 6px 20px #09061b26}.app-main .entry--dark:hover{box-shadow:0 12px 30px #09061b40}.app-main .entry--dark:after{background:#f4da4c}.app-main .entry--yellow{background:linear-gradient(145deg,#f8d850,#f4da4c);color:#09061b;box-shadow:0 6px 20px #f4da4c33}.app-main .entry--yellow:hover{box-shadow:0 12px 30px #f4da4c4d}.app-main .entry--yellow:after{background:#fff}.app-main .entry--purple{background:linear-gradient(145deg,#7058f8,#644cf0);color:#fff;box-shadow:0 6px 20px #644cf033}.app-main .entry--purple:hover{box-shadow:0 12px 30px #644cf04d}.app-main .entry--purple:after{background:#f4da4c}.app-main .entry__icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.app-main .entry__title{font-size:19px;font-weight:700;line-height:1.3;margin-bottom:4px}.app-main .entry__sub{font-size:14px;opacity:.55;margin-bottom:16px}.app-main .entry__bottom{display:flex;justify-content:space-between;align-items:center}.app-main .entry__date{font-size:13px;opacity:.45;display:flex;align-items:center;gap:4px}.app-main .entry__btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 20px;border-radius:var(--radius-pill);font-size:14px;font-weight:700;border:none;cursor:inherit;transition:box-shadow .2s ease;font-family:inherit}.app-main .entry__btn--dark{background:#09061b;color:#f4da4c;box-shadow:0 2px 8px #09061b33}.app-main .entry__btn--dark:hover{box-shadow:0 4px 14px #09061b4d}.app-main .entry__btn--light{background:#fff3;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-main .entry__btn--light:hover{background:#ffffff4d}.app-main .entry__btn--yellow{background:#f4da4c;color:#09061b;box-shadow:0 2px 8px #f4da4c4d}.app-main .entry__btn--yellow:hover{box-shadow:0 4px 14px #f4da4c66}.app-main .friend{display:flex;align-items:center;gap:12px;padding:11px 0}.app-main .friend+.friend{border-top:1px solid var(--color-border-light)}.app-main .friend__avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}.app-main .friend__avatar--yellow{background:#f4da4c;color:#09061b}.app-main .friend__avatar--purple{background:#644cf0}.app-main .friend__avatar--orange{background:#ed9a51}.app-main .friend__name{flex:1;font-size:15px;font-weight:500;color:var(--color-text-secondary)}.app-main .friend__score{font-size:26px;font-weight:800;color:var(--color-text);font-variant-numeric:tabular-nums}.app-main .friend__unit{font-size:15px;color:var(--color-text-muted);font-weight:500}.app-main .tag-x{background:var(--color-bg);color:var(--color-text-muted)}.app-main .divider{height:1px;background:var(--color-border-light);margin:28px 0}.app-main .page-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.app-main .filter-bar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.app-main .filter-bar .n-input,.app-main .filter-bar .n-select{min-height:40px}.app-main .stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px}.app-main .stats-row .stat-card{min-height:auto;padding:20px 22px}.app-main .card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.app-main .action-buttons{display:flex;gap:10px;flex-wrap:wrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
