:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--app-header-bg: #5f6b73;--app-header-border: #738089;--app-header-text: #ffffff;--app-content-bg: #f5f3f0;--app-content-bg-image: none;--app-on-content-title: #3d4852;--app-primary-color: #8a9aa6;--app-accent-color: #8a9aa6;--app-banner-placeholder-bg: linear-gradient(135deg, #667eea 0%, #764ba2 55%, #f093fb 100%);--app-sider-bg: var(--app-header-bg);--app-layout-content-bg: var(--app-content-bg);--app-layout-content-bg-image: var(--app-content-bg-image);--app-surface-bg: #ffffff;--app-surface-head-bg: #fafafa;--app-surface-border: rgba(0, 0, 0, .06);--app-surface-text: #1f1f1f;--app-surface-text-secondary: rgba(0, 0, 0, .45);--app-text-color: var(--app-surface-text);--app-text-secondary: var(--app-surface-text-secondary);--app-profile-cover-bg: var(--app-banner-placeholder-bg);--app-avatar-bg: #ffffff;--app-avatar-icon-color: var(--app-primary-color);--app-shell-height: 100vh;--app-header-height: 64px;--app-shell-body-height: calc(var(--app-shell-height) - var(--app-header-height));--app-scroll-bottom-gap: max(24px, calc(12px + env(safe-area-inset-bottom, 0px)) )}@supports (height: 100dvh){:root{--app-shell-height: 100dvh}}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;width:100vw;height:var(--app-shell-height);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus:not(:focus-visible){outline:none}button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.ant-avatar:has(img){border:none!important;background:transparent!important}.ant-avatar img{border:none}[data-theme-mode=dark] .ant-table{background:var(--app-surface-bg);color:var(--app-surface-text)}[data-theme-mode=dark] .ant-table-wrapper .ant-table-thead>tr>th,[data-theme-mode=dark] .ant-table-wrapper .ant-table-thead>tr>td{background:var(--app-surface-head-bg)!important;color:var(--app-surface-text)!important;border-bottom-color:var(--app-surface-border)!important}[data-theme-mode=dark] .ant-table-wrapper .ant-table-tbody>tr>td{background:var(--app-surface-bg);color:var(--app-surface-text);border-bottom-color:var(--app-surface-border)}[data-theme-mode=dark] .ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td{background:color-mix(in srgb,var(--app-primary-color) 10%,var(--app-surface-bg))!important}[data-theme-mode=dark] .ant-table-wrapper .ant-table-cell-fix-left,[data-theme-mode=dark] .ant-table-wrapper .ant-table-cell-fix-right{background:var(--app-surface-bg)}[data-theme-mode=dark] .ant-table-wrapper .ant-table-thead .ant-table-cell-fix-left,[data-theme-mode=dark] .ant-table-wrapper .ant-table-thead .ant-table-cell-fix-right{background:var(--app-surface-head-bg)!important}[data-theme-mode=dark] .ant-tag,[data-theme-mode=dark] .ant-tag-default,[data-theme-mode=dark] .ant-tag-blue,[data-theme-mode=dark] .ant-tag-green,[data-theme-mode=dark] .ant-tag-red,[data-theme-mode=dark] .ant-tag-orange,[data-theme-mode=dark] .ant-tag-gold,[data-theme-mode=dark] .ant-tag-purple,[data-theme-mode=dark] .ant-tag-cyan,[data-theme-mode=dark] .ant-tag-magenta,[data-theme-mode=dark] .ant-tag-success,[data-theme-mode=dark] .ant-tag-processing,[data-theme-mode=dark] .ant-tag-error,[data-theme-mode=dark] .ant-tag-warning,[data-theme-mode=dark] .prize-quality-tag,[data-theme-mode=dark] .prize-catalog-card-class-tag,[data-theme-mode=dark] .prize-catalog-card-class-tag--bound,[data-theme-mode=dark] .prize-catalog-card-status-tag,[data-theme-mode=dark] .avatar-tag-list-item,[data-theme-mode=dark] .console-user-role-tag{color:var(--app-surface-text)!important;background:color-mix(in srgb,var(--app-primary-color) 24%,transparent)!important;border-color:color-mix(in srgb,var(--app-primary-color) 48%,transparent)!important}[data-theme-mode=dark] .ant-tag .anticon,[data-theme-mode=dark] .prize-quality-tag .anticon{color:var(--app-surface-text)!important}[data-theme-mode=dark] .ant-empty .ant-empty-image svg path,[data-theme-mode=dark] .ant-empty .ant-empty-image svg ellipse,[data-theme-mode=dark] .ant-empty .ant-empty-image svg circle,[data-theme-mode=dark] .ant-empty .ant-empty-image svg rect{fill:#ffffff38!important;stroke:#ffffff1f!important}[data-theme-mode=dark] .ant-empty-description{color:var(--app-surface-text-secondary)!important}[data-theme-mode=dark] .ant-table-placeholder .ant-empty-image svg path,[data-theme-mode=dark] .ant-table-placeholder .ant-empty-image svg ellipse,[data-theme-mode=dark] .ant-table-placeholder .ant-empty-image svg circle,[data-theme-mode=dark] .ant-table-placeholder .ant-empty-image svg rect{fill:#ffffff38!important;stroke:#ffffff1f!important}[data-theme-mode=dark] .record-detail-field__label{color:var(--app-surface-text-secondary)}[data-theme-mode=dark] .record-detail-field__value{color:var(--app-surface-text)}[data-theme-mode=dark] .ant-modal-content,[data-theme-mode=dark] .ant-modal-header{background:var(--app-surface-bg);color:var(--app-surface-text)}[data-theme-mode=dark] .ant-modal-title{color:var(--app-surface-text)}[data-theme-mode=dark] .ant-modal-close,[data-theme-mode=dark] .ant-descriptions-item-label{color:var(--app-surface-text-secondary)}[data-theme-mode=dark] .ant-descriptions-item-content{color:var(--app-surface-text)}[data-theme-mode=dark] .ant-tabs-tab-btn{color:var(--app-surface-text-secondary)}[data-theme-mode=dark] .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--app-surface-text)!important}[data-theme-mode=dark] .class-exchange-subtabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--app-surface-text)!important;font-weight:500}[data-theme-mode=dark] .class-exchange-subtabs .ant-tabs-ink-bar{background:var(--app-primary-color)}[data-theme-mode=dark] .class-random-call-mode-modal-group .ant-radio-wrapper{border-color:var(--app-surface-border);color:var(--app-surface-text)}[data-theme-mode=dark] .class-random-call-mode-modal-group .ant-radio-wrapper-checked{border-color:var(--app-primary-color);background:color-mix(in srgb,var(--app-primary-color) 18%,var(--app-surface-bg))}[data-theme-mode=dark] .ant-typography.ant-typography-secondary,[data-theme-mode=dark] .ant-typography-secondary{color:var(--app-surface-text-secondary)!important}[data-theme-mode=dark] .ant-drawer-content,[data-theme-mode=dark] .ant-drawer-header{background:var(--app-surface-bg);color:var(--app-surface-text)}[data-theme-mode=dark] .ant-drawer-title,[data-theme-mode=dark] .student-card .student-name,[data-theme-mode=dark] .classCardTitle,[data-theme-mode=dark] .schoolMemberCardName,[data-theme-mode=dark] .ant-card{color:var(--app-surface-text)}#root{width:100vw;height:var(--app-shell-height);margin:0;padding:0;overflow:hidden}.App{width:100%;height:100%}.app-route-fallback{min-height:var(--app-shell-height);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--app-content-bg, #f5f3f0);background-image:var(--app-content-bg-image);color:var(--app-surface-text-secondary, #8c8c8c);font-size:14px}.app-route-fallback__spinner{width:28px;height:28px;border:3px solid rgba(0,0,0,.08);border-top-color:var(--app-primary-color, #8a9aa6);border-radius:50%;animation:app-route-fallback-spin .75s linear infinite}@keyframes app-route-fallback-spin{to{transform:rotate(360deg)}}.app-route-fallback--message{flex-direction:column;gap:12px}.app-theme-accent{color:var(--app-primary-color)!important}.app-theme-accent-border{border-color:var(--app-primary-color)!important}.ant-card{background:var(--app-surface-bg, #ffffff);border-color:var(--app-surface-border, rgba(0, 0, 0, .06));color:var(--app-surface-text, inherit)}.ant-card-head{background:var(--app-surface-head-bg, transparent);border-bottom-color:var(--app-surface-border, rgba(0, 0, 0, .06));color:var(--app-surface-text, inherit)}.ant-card-head-title,.ant-card .ant-card-meta-title{color:var(--app-surface-text, inherit)!important}.ant-card .ant-card-meta-description,.ant-card .ant-typography-secondary{color:var(--app-surface-text-secondary, rgba(0, 0, 0, .45))!important}.ant-card .ant-divider{border-color:var(--app-surface-border, rgba(0, 0, 0, .06))}.ant-card .ant-table{background:transparent;color:var(--app-surface-text, inherit)}.ant-card .ant-table-tbody>tr>td{border-bottom-color:var(--app-surface-border, rgba(0, 0, 0, .06))}.ant-card .ant-table-tbody>tr.ant-table-row:hover>td{background:color-mix(in srgb,var(--app-primary-color) 6%,transparent)}.ant-tag-default{color:var(--app-primary-color);background:color-mix(in srgb,var(--app-primary-color) 12%,transparent);border-color:color-mix(in srgb,var(--app-primary-color) 35%,transparent)}.ant-tag-default .anticon{color:var(--app-primary-color)}[data-theme-mode=dark] ::-webkit-scrollbar-track{background:#ffffff14}[data-theme-mode=dark] ::-webkit-scrollbar-thumb{background:#ffffff38}[data-theme-mode=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff52}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.theme-effect-canvas--global{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}#root{position:relative;z-index:1}html[data-theme-effect] .ant-layout{background:transparent!important}html[data-theme-effect] .site-header.ant-layout-header,html[data-theme-effect] .site-header{background:var(--app-header-bg)!important;position:relative;z-index:10}html[data-theme-effect] .ant-layout-sider{position:relative;z-index:5}html[data-theme-effect] body{background:var(--app-effect-bg, #f5f3f0)}.theme-effect-canvas--preview{display:block;width:100%;height:100%;pointer-events:auto;cursor:crosshair}.theme-effect-canvas--preview.theme-effect-canvas--passive{pointer-events:none;cursor:default}.theme-preview-block{position:relative;flex-shrink:0}.theme-preview-block-main{position:relative;width:100%;overflow:hidden;border-radius:8px;box-shadow:inset 0 0 0 1px #00000014}.theme-preview-block-effect{position:absolute!important;inset:0;width:100%!important;height:100%!important;border-radius:inherit;pointer-events:none!important;cursor:inherit!important}.theme-preview-block--effect .theme-preview-block-swatches{z-index:1}.theme-preview-block-swatches{position:absolute;display:inline-flex;align-items:center;border-radius:6px;background:#ffffff52;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 1px 4px #00000024}.theme-preview-block-swatch{display:block;flex-shrink:0;border:1px solid rgba(0,0,0,.16);box-shadow:inset 0 0 0 1px #fff3}.theme-preview-block--compact{width:80px}.theme-preview-block--compact .theme-preview-block-main{height:52px}.theme-preview-block--compact .theme-preview-block-swatches{right:5px;bottom:5px;gap:3px;padding:3px 4px;border-radius:5px}.theme-preview-block--compact .theme-preview-block-swatch{width:10px;height:10px;border-radius:2px}.theme-preview-block--grid{width:100%}.theme-preview-block--grid .theme-preview-block-main{height:68px}.theme-preview-block--grid .theme-preview-block-swatches{right:6px;bottom:6px;gap:3px;padding:4px 5px}.theme-preview-block--grid .theme-preview-block-swatch{width:12px;height:12px;border-radius:3px}.theme-preview-block--catalog{width:100%}.theme-preview-block--catalog .theme-preview-block-main{height:92px}.theme-preview-block--catalog .theme-preview-block-swatches{right:8px;bottom:8px;gap:4px;padding:5px 6px;border-radius:7px}.theme-preview-block--catalog .theme-preview-block-swatch{width:14px;height:14px;border-radius:4px}.theme-switcher-body{display:flex;flex-direction:column;gap:18px}.theme-switcher-section-title{margin-bottom:10px;font-size:13px;font-weight:600;color:var(--app-surface-text, rgba(0, 0, 0, .88))}.theme-switcher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.theme-switcher-option{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px;border:2px solid var(--app-surface-border, #f0f0f0);border-radius:12px;background:var(--app-surface-head-bg, #fafafa);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.theme-switcher-option:hover{border-color:color-mix(in srgb,var(--app-primary-color, #1677ff) 35%,var(--app-surface-border, #d9d9d9));box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}.theme-switcher-option-selected{border-color:var(--app-primary-color, #1677ff);box-shadow:0 0 0 1px var(--app-primary-color, #1677ff)}.theme-switcher-option-locked:hover{transform:none;box-shadow:none;border-color:var(--app-surface-border, #f0f0f0)}.theme-switcher-option-locked{cursor:not-allowed;opacity:.72}.theme-switcher-badge{position:absolute;top:8px;right:8px;z-index:1;padding:2px 8px;border-radius:999px;color:#fff;font-size:11px;line-height:1.4}.theme-switcher-badge-locked{background:#0000008c}.theme-switcher-badge-privileged{background:linear-gradient(135deg,#b8860b,#d4a017);box-shadow:0 1px 4px #b8860b59}.theme-switcher-badge-hidden{background:#5a5a5ad9}.theme-switcher-name{text-align:center;color:var(--app-surface-text, #434343)}@media(max-width:576px){.theme-switcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.in-app-browser-hint{position:sticky;top:0;z-index:1100;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:#fff7e6;border-bottom:1px solid #ffe58f;color:#613400;font-size:13px;line-height:1.4}.in-app-browser-hint__text{flex:1;min-width:0}.in-app-browser-hint__actions{display:flex;align-items:center;flex-shrink:0;gap:2px}.in-app-browser-hint__actions .ant-btn-link{padding-inline:4px;height:auto;color:#d46b08}.in-app-browser-hint__close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;opacity:.75}.in-app-browser-hint__close:hover{opacity:1}.pwa-update-banner{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:1200;display:flex;align-items:flex-start;gap:12px;width:min(420px,calc(100vw - 24px));padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--app-primary, #5f6b73) 28%,transparent);background:color-mix(in srgb,var(--app-surface, #fff) 92%,var(--app-primary, #5f6b73));color:var(--app-text, #1f1f1f);box-shadow:0 10px 28px #0f172a29;transform:translate(-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pwa-update-banner__text{flex:1;min-width:0;font-size:13px;line-height:1.45}.pwa-update-banner__hint{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:color-mix(in srgb,var(--app-text, #1f1f1f) 62%,transparent)}.pwa-update-banner__demo{display:inline-block;margin-right:4px;padding:0 6px;border-radius:4px;background:color-mix(in srgb,var(--app-primary, #5f6b73) 16%,transparent);font-size:12px;color:var(--app-primary, #5f6b73)}.pwa-update-banner__actions{display:flex;align-items:center;flex-shrink:0;gap:4px;margin-top:2px}.pwa-update-banner__close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;opacity:.7}.pwa-update-banner__close:hover{opacity:1}
