.app-icon[data-v-42275f66]{vertical-align:middle;flex:none;justify-content:center;align-items:center;line-height:0;display:inline-flex}.app-icon[data-v-42275f66] svg{width:100%;height:100%;display:block}.ask-card[data-v-f22b4d76]{background:var(--surface-glass);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-card);border-radius:18px;align-items:stretch;gap:8px;padding:6px 8px;transition:border-color .15s,box-shadow .15s;display:flex}.ask-card[data-v-f22b4d76]:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px #22d3ee24, var(--shadow-card)}.ask-icon[data-v-f22b4d76]{border:1px solid var(--border);background:var(--surface-2);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-self:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background .15s,transform .15s;display:flex}.ask-icon svg[data-v-f22b4d76]{width:16px;height:16px}.ask-icon[data-v-f22b4d76]:hover{color:var(--primary);border-color:var(--border-strong);background:var(--primary-soft)}.ask-icon[data-v-f22b4d76]:active{transform:scale(.92)}.ask-input[data-v-f22b4d76]{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:12px 2px;font-size:15px}.ask-input[data-v-f22b4d76]::placeholder{color:var(--text-muted)}.ask-send[data-v-f22b4d76]{color:#fff;cursor:pointer;opacity:0;pointer-events:none;background:linear-gradient(135deg,#22d3ee,#6366f1);border:none;border-radius:50%;flex:none;justify-content:center;align-self:center;align-items:center;width:28px;height:28px;transition:opacity .15s,transform .15s;display:flex;transform:scale(.8)}.ask-send.show[data-v-f22b4d76]{opacity:1;pointer-events:auto;transform:scale(1)}.ask-send svg[data-v-f22b4d76]{width:15px;height:15px}.ask-send[data-v-f22b4d76]:not(:disabled):active{transform:scale(.9)}.ask-voice[data-v-f22b4d76]{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-self:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex}.ask-voice svg[data-v-f22b4d76]{width:18px;height:18px}.ask-voice[data-v-f22b4d76]:hover{color:var(--primary);background:var(--primary-soft)}.ask-voice[data-v-f22b4d76]:active{transform:scale(.92)}.camera-overlay[data-v-f22b4d76]{z-index:400;background:#000;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.camera-close[data-v-f22b4d76]{z-index:3;color:#fff;cursor:pointer;background:#ffffff40;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:16px;right:16px}.camera-video[data-v-f22b4d76]{object-fit:cover;background:#000;flex:1;width:100%;height:100%;min-height:0;display:block}.camera-photo[data-v-f22b4d76]{object-fit:contain;background:#000;flex:1;width:100%;height:100%;min-height:0;display:block}.camera-idle[data-v-f22b4d76]{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.camera-idle-icon[data-v-f22b4d76]{margin-bottom:8px;font-size:42px}.camera-hint[data-v-f22b4d76]{color:#d1d5db;margin:0;font-size:13px}.camera-error[data-v-f22b4d76]{z-index:3;color:#fecaca;background:#7f1d1dd9;border-radius:8px;max-width:80%;padding:8px 12px;font-size:13px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.camera-actions[data-v-f22b4d76]{z-index:3;background:linear-gradient(#0000,#0000008c);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:20px 16px 30px;display:flex;position:absolute;bottom:0;left:0;right:0}.camera-confirm-bar[data-v-f22b4d76]{z-index:3;background:linear-gradient(#0000,#000000a6);justify-content:center;align-items:center;gap:16px;padding:20px 16px 30px;display:flex;position:absolute;bottom:0;left:0;right:0}.camera-confirm-bar .btn[data-v-f22b4d76]{justify-content:center;align-items:center;gap:6px;min-width:120px;display:inline-flex}.shutter-btn[data-v-f22b4d76]{border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:20px;display:inline-flex}.camera-pick[data-v-f22b4d76]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-body);cursor:pointer;justify-content:center;align-items:center;padding:8px 16px;font-size:14px;display:inline-flex}.camera-panel[data-v-f22b4d76]{background:linear-gradient(180deg, var(--surface), var(--bg-elev));border:1px solid var(--border-strong);width:calc(100% - 40px);max-width:420px;box-shadow:0 0 40px #22d3ee2e, var(--shadow-pop);border-radius:18px;flex-direction:column;margin:auto;display:flex;overflow:hidden}.camera-head[data-v-f22b4d76]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.camera-title[data-v-f22b4d76]{color:var(--text);align-items:center;gap:6px;font-size:15px;font-weight:600;display:inline-flex}.camera-body[data-v-f22b4d76]{padding:6px 0}.camera-panel .camera-close[data-v-f22b4d76]{width:32px;height:32px;color:var(--primary);background:#22d3ee1f;position:static}.camera-panel .camera-actions[data-v-f22b4d76]{background:0 0;padding:0 16px 18px;position:static}.camera-panel .camera-error[data-v-f22b4d76]{max-width:none;margin:0 16px 10px;position:static;transform:none}.app-header[data-v-a0c23a7f]{z-index:100;background:var(--bar-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:50px;padding:10px 16px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 6px 24px #02061799}.header-brand[data-v-a0c23a7f]{color:var(--text);text-shadow:0 0 16px #22d3ee73;cursor:pointer;align-items:center;gap:8px;min-width:0;font-size:16px;font-weight:700;display:flex}.brand-icon[data-v-a0c23a7f]{flex-shrink:0;font-size:22px}.brand-text[data-v-a0c23a7f]{text-overflow:ellipsis;white-space:nowrap;max-width:56vw;overflow:hidden}.header-user-wrap[data-v-a0c23a7f]{flex-shrink:0;position:relative}.header-user[data-v-a0c23a7f]{color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:4px 6px;font-family:inherit;transition:background .15s,border-color .15s;display:flex}.header-user[data-v-a0c23a7f]:hover,.header-user.open[data-v-a0c23a7f]{background:var(--primary-soft);border-color:var(--border-strong)}.user-caret[data-v-a0c23a7f]{border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--text-secondary);width:0;height:0;transition:transform .15s}.user-caret.up[data-v-a0c23a7f]{transform:rotate(180deg)}.user-role[data-v-a0c23a7f]{white-space:nowrap;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.role-admin[data-v-a0c23a7f]{color:#fbbf24;background:#f59e0b29;border:1px solid #f59e0b6b}.role-student[data-v-a0c23a7f]{color:#34d399;background:#10b98129;border:1px solid #10b9816b}.user-name[data-v-a0c23a7f]{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:13px;font-weight:500;overflow:hidden}.user-menu[data-v-a0c23a7f]{z-index:300;background:linear-gradient(180deg, var(--surface), var(--bg-elev));border:1px solid var(--border-strong);border-radius:12px;min-width:200px;max-height:min(70vh,560px);padding:6px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 12px 32px #020617b3}.user-menu-group-title[data-v-a0c23a7f]{letter-spacing:.06em;color:var(--text-muted);padding:6px 12px 4px;font-size:11px}.user-menu-item[data-v-a0c23a7f]{color:var(--text-body);white-space:nowrap;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;text-decoration:none;display:flex}.user-menu-item[data-v-a0c23a7f]:hover,.user-menu-item.active[data-v-a0c23a7f]{background:var(--primary-soft);color:var(--primary)}.user-menu-more[data-v-a0c23a7f]{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-family:inherit;font-size:13px;display:flex}.user-menu-more[data-v-a0c23a7f]:hover{background:var(--primary-soft);color:var(--primary)}.more-caret[data-v-a0c23a7f]{border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .15s;transform:rotate(45deg)}.more-caret.up[data-v-a0c23a7f]{transform:rotate(-135deg)}.user-menu-icon[data-v-a0c23a7f]{flex-shrink:0}.user-menu-label[data-v-a0c23a7f]{font-weight:500}.user-menu-divider[data-v-a0c23a7f]{background:var(--border);height:1px;margin:6px 4px}.user-menu-logout[data-v-a0c23a7f]{color:#f87171;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.user-menu-logout[data-v-a0c23a7f]:hover{background:#f871711f}.theme-picker[data-v-a0c23a7f]{justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.theme-picker-label[data-v-a0c23a7f]{color:var(--text-muted);white-space:nowrap;font-size:12px}.theme-swatches[data-v-a0c23a7f]{gap:8px;display:flex}.theme-dot[data-v-a0c23a7f]{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0;transition:border-color .15s,box-shadow .15s}.theme-dot.active[data-v-a0c23a7f]{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.bottom-bar[data-v-a0c23a7f]{z-index:100;width:100%;max-width:640px;padding:0 16px calc(12px + env(safe-area-inset-bottom));pointer-events:none;background:0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0}.bottom-bar[data-v-a0c23a7f] .ask-card,.bottom-bar[data-v-a0c23a7f] .capture-overlay,.bottom-bar[data-v-a0c23a7f] .camera-overlay{pointer-events:auto}.bottom-bar[data-v-a0c23a7f] .ask-card{background:var(--surface)}:root,html[data-theme=graphite]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1b2026;--bg-elev:#20272e;--surface:#232b33;--surface-2:#29323b;--surface-glass:#232b33db;--bar-bg:#1b2026e6;--primary:#34d399;--primary-strong:#10b981;--primary-soft:#34d39924;--accent:#f472b6;--accent-soft:#f472b624;--text:#eef2f6;--text-body:#ccd6e0;--text-secondary:#a1aebb;--text-muted:#78848f;--border:#a0b4c82e;--border-strong:#34d39973;--radius:14px;--radius-sm:10px;--shadow-card:0 10px 30px #080c1080;--shadow-pop:0 18px 48px #080c10a6;--glow-primary:0 0 22px #34d39947;--glow-accent:0 0 22px #f472b647;--bg-glow-1:#34d3991f;--bg-glow-2:#f472b61a;--grid-line:#a0b4c80d}html[data-theme=royal]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#144086;--bg-elev:#113a78;--surface:#0f3368;--surface-2:#1a4c9c;--surface-glass:#0f3368db;--bar-bg:#113a78eb;--primary:#38bdf8;--primary-strong:#0ea5e9;--primary-soft:#38bdf829;--accent:#fbbf24;--accent-soft:#fbbf2424;--text:#f4f8ff;--text-body:#d3e1f5;--text-secondary:#a8c1e4;--text-muted:#8199bd;--border:#a0c4f038;--border-strong:#38bdf885;--shadow-card:0 10px 30px #05142d80;--shadow-pop:0 18px 48px #05142da6;--glow-primary:0 0 22px #38bdf852;--glow-accent:0 0 22px #fbbf244d;--bg-glow-1:#38bdf824;--bg-glow-2:#fbbf2414;--grid-line:#a0c4f012}html[data-theme=space]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a1628;--bg-elev:#0d1c33;--surface:#10203a;--surface-2:#16294a;--surface-glass:#10203ac7;--bar-bg:#091528db;--primary:#22d3ee;--primary-strong:#06b6d4;--primary-soft:#22d3ee1f;--accent:#7c5cff;--accent-soft:#7c5cff24;--text:#e6f1ff;--text-body:#c2d4ec;--text-secondary:#8fa6c4;--text-muted:#647d9c;--border:#78aaff24;--border-strong:#22d3ee66;--shadow-card:0 10px 30px #030a188c;--shadow-pop:0 18px 48px #030a18b3;--glow-primary:0 0 16px #22d3ee38;--glow-accent:0 0 16px #7c5cff38;--bg-glow-1:#22d3ee21;--bg-glow-2:#7c5cff1c;--grid-line:#78aaff0d}html[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05070f;--bg-elev:#0b1120;--surface:#0e1626;--surface-2:#121c30;--surface-glass:#0e1626b8;--bar-bg:#080d1ad1;--primary:#22d3ee;--primary-strong:#06b6d4;--primary-soft:#22d3ee1f;--accent:#a855f7;--accent-soft:#a855f724;--text:#e8f3ff;--text-body:#c3d4ea;--text-secondary:#8ea6c4;--text-muted:#64809f;--border:#5eead429;--border-strong:#22d3ee61;--shadow-card:0 10px 30px #0206178c;--shadow-pop:0 18px 48px #020617b3;--glow-primary:0 0 22px #22d3ee47;--glow-accent:0 0 22px #a855f747;--bg-glow-1:#22d3ee2e;--bg-glow-2:#a855f729;--grid-line:#22d3ee0f}html[data-theme=ocean]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12395b;--bg-elev:#0f3050;--surface:#0e2c4a;--surface-2:#13395c;--surface-glass:#0e2c4adb;--bar-bg:#0b2842e6;--primary:#4cc9f0;--primary-strong:#38bdf8;--primary-soft:#4cc9f024;--accent:#fbbf24;--accent-soft:#fbbf2424;--text:#f2f8ff;--text-body:#cfe1f2;--text-secondary:#a5bed6;--text-muted:#7e9bb6;--border:#94c4e933;--border-strong:#4cc9f080;--shadow-card:0 10px 30px #04142480;--shadow-pop:0 18px 48px #041424a6;--glow-primary:0 0 22px #4cc9f04d;--glow-accent:0 0 22px #fbbf244d;--bg-glow-1:#4cc9f029;--bg-glow-2:#fbbf241a;--grid-line:#94c4e912}*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:radial-gradient(circle at 12% -8%, var(--bg-glow-1), transparent 46%), radial-gradient(circle at 88% 2%, var(--bg-glow-2), transparent 44%), var(--bg);color:var(--text);letter-spacing:-.01em;background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:44px 44px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 0,#000 0%,#0000 78%);mask-image:radial-gradient(circle at 50% 0,#000 0%,#0000 78%)}::selection{background:var(--primary-soft);color:#fff}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{background:0 0;flex-direction:column;flex:1;width:100%;max-width:640px;min-height:100vh;margin:0 auto;padding:62px 16px 80px;display:flex}.main-content.no-nav{max-width:none;min-height:100vh;margin:0;padding:0}.main-content.home-page{min-height:100dvh;padding-bottom:8px}.page-title{letter-spacing:-.02em;color:var(--text);margin-bottom:14px;font-size:20px;font-weight:650}.card{background:linear-gradient(180deg, var(--surface), var(--bg-elev));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card), inset 0 1px 0 #ffffff0a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:16px;padding:18px 20px}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-body);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--border-strong);color:var(--text);box-shadow:var(--glow-primary)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #22d3ee38}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary{color:#041018;box-shadow:var(--glow-primary);background:linear-gradient(135deg,#22d3ee,#6366f1);border-color:#0000;font-weight:600}.btn-primary:hover{color:#041018;background:linear-gradient(135deg,#67e8f9,#818cf8);box-shadow:0 0 28px #22d3ee73}.btn-success{color:#04231a;background:linear-gradient(135deg,#34d399,#10b981);border-color:#0000;font-weight:600}.btn-success:hover{color:#04231a;background:linear-gradient(135deg,#6ee7b7,#34d399);box-shadow:0 0 24px #34d39966}.btn-danger{color:#2a0707;background:linear-gradient(135deg,#f87171,#ef4444);border-color:#0000;font-weight:600}.btn-danger:hover{color:#2a0707;background:linear-gradient(135deg,#fca5a5,#f87171);box-shadow:0 0 24px #f8717166}.btn-small{padding:4px 12px;font-size:12px}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-input,.form-textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--bg-elev);padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-textarea:focus{border-color:var(--border-strong);outline:none;box-shadow:0 0 0 3px #22d3ee29}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:100px}.tag{background:var(--primary-soft);color:var(--primary);border:1px solid #22d3ee38;border-radius:6px;margin-bottom:4px;margin-right:6px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}#app,body{scrollbar-width:thin;scrollbar-color:#22d3ee47 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#22d3ee47;border-radius:3px}::-webkit-scrollbar-track{background:0 0}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state-icon{margin-bottom:16px;font-size:48px}.grid-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=768px){.grid-2{grid-template-columns:1fr}.main-content{padding:52px 12px 80px}}.login-page[data-v-51e63c22]{background:radial-gradient(700px 360px at 50% 0%, var(--bg-glow-1), transparent 70%), radial-gradient(600px 320px at 85% 92%, var(--bg-glow-2), transparent 72%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card[data-v-51e63c22]{background:linear-gradient(180deg, var(--surface), var(--bg-elev));border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:420px;box-shadow:0 0 50px #22d3ee29, var(--shadow-pop);border-radius:18px;padding:32px}.login-header[data-v-51e63c22]{text-align:center;margin-bottom:24px}.login-footer[data-v-51e63c22]{flex-direction:column;align-items:center;gap:6px;margin-top:28px;display:flex}.footer-logo[data-v-51e63c22]{object-fit:contain;width:150px;height:auto}.footer-support[data-v-51e63c22],.icp-footer[data-v-51e63c22]{color:var(--text-muted);text-align:center;font-size:12px;line-height:1.5}.icp-footer a[data-v-51e63c22]{color:var(--text-muted);text-decoration:none}.icp-footer a[data-v-51e63c22]:hover{color:var(--text-secondary);text-decoration:underline}.brand-icon[data-v-51e63c22]{margin-bottom:8px}.login-header h1[data-v-51e63c22]{color:var(--text);text-shadow:0 0 22px #22d3ee59;margin-bottom:4px;font-size:24px}.subtitle[data-v-51e63c22]{color:var(--text-secondary);font-size:13px}.tab-switch[data-v-51e63c22]{border-bottom:1px solid var(--border);gap:8px;margin-bottom:20px;padding-bottom:12px;display:flex}.tab-btn[data-v-51e63c22]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-size:15px;transition:all .15s}.tab-btn[data-v-51e63c22]:hover{color:var(--primary);background:#22d3ee14}.tab-btn.active[data-v-51e63c22]{color:#041018;box-shadow:var(--glow-primary);background:linear-gradient(135deg,#22d3ee,#6366f1);font-weight:600}.login-form[data-v-51e63c22]{flex-direction:column;gap:12px;display:flex}.form-group[data-v-51e63c22]{margin-bottom:0}.form-label[data-v-51e63c22]{color:var(--text-secondary);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.form-input[data-v-51e63c22]{border:1px solid var(--border);width:100%;color:var(--text);background:var(--bg-elev);border-radius:8px;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input[data-v-51e63c22]:focus{border-color:var(--border-strong);outline:none;box-shadow:0 0 0 3px #22d3ee29}.form-input[data-v-51e63c22]::placeholder{color:var(--text-muted)}select.form-input option[data-v-51e63c22]{color:var(--text);background:#0b1120}.pwd-wrap[data-v-51e63c22]{position:relative}.pwd-wrap .form-input[data-v-51e63c22]{padding-right:40px}.pwd-toggle[data-v-51e63c22]{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pwd-toggle[data-v-51e63c22]:hover{color:var(--primary)}.pwd-toggle svg[data-v-51e63c22]{width:18px;height:18px}.sms-row[data-v-51e63c22]{align-items:stretch;gap:8px;display:flex}.sms-row .form-input[data-v-51e63c22]{flex:1;min-width:0}.sms-btn[data-v-51e63c22]{white-space:nowrap;flex-shrink:0;padding:0 14px;font-size:13px}.sms-tip[data-v-51e63c22]{color:var(--primary);background:var(--primary-soft);word-break:break-all;border:1px solid #22d3ee4d;border-radius:6px;padding:6px 10px;font-size:12px;line-height:1.4}.role-tip[data-v-51e63c22]{color:#34d399;background:#10b9811f;border:1px solid #10b98159;border-radius:6px;padding:6px 10px;font-size:12px;line-height:1.4}.hint-text[data-v-51e63c22]{color:var(--text-muted);font-size:12px;line-height:1.4}.error-msg[data-v-51e63c22]{color:#fca5a5;text-align:center;background:#f871711f;border:1px solid #f871714d;border-radius:6px;padding:4px 8px;font-size:13px}.btn-block[data-v-51e63c22]{width:100%;padding:12px;font-size:15px}.forgot-row[data-v-51e63c22]{text-align:right;margin-top:-4px}.forgot-link[data-v-51e63c22]{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.forgot-link[data-v-51e63c22]:hover{text-decoration:underline}.success-msg[data-v-51e63c22]{color:#34d399;text-align:center;background:#10b9811f;border:1px solid #10b9814d;border-radius:6px;padding:4px 8px;font-size:13px}.reset-heading[data-v-51e63c22]{text-align:center;color:var(--text);margin-bottom:4px;font-size:18px;font-weight:600}.reset-sub[data-v-51e63c22]{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:400;display:block}.btn-ghost[data-v-51e63c22]{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost[data-v-51e63c22]:hover{color:var(--text);border-color:var(--border-strong)}.home[data-v-7db82e56]{flex-direction:column;flex:1;min-height:0;display:flex}.home-main[data-v-7db82e56]{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px 4px;display:flex}.intro[data-v-7db82e56]{text-align:center}.intro-title[data-v-7db82e56]{letter-spacing:-.02em;color:var(--text);margin:0 0 12px;font-size:30px;font-weight:750;line-height:1.3}.intro-sub[data-v-7db82e56]{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.home-dock[data-v-7db82e56]{padding-bottom:calc(10px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex}.task-bar[data-v-7db82e56]{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;gap:8px;padding:2px 2px 4px;display:flex;overflow-x:auto}.task-bar[data-v-7db82e56]::-webkit-scrollbar{display:none}.task-chip[data-v-7db82e56]{border:1px solid var(--border);background:var(--surface-glass);color:var(--text-body);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-card);-webkit-tap-highlight-color:transparent;border-radius:999px;flex:none;padding:9px 16px;font-size:13px;font-weight:500;line-height:1;transition:color .15s,border-color .15s,background .15s,transform .15s}.task-chip[data-v-7db82e56]:hover{color:var(--text);border-color:var(--border-strong)}.task-chip[data-v-7db82e56]:active{transform:scale(.95)}.loading-container[data-v-8a5c029c]{flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.loading-spinner[data-v-8a5c029c]{border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin-8a5c029c}.loading-text[data-v-8a5c029c]{color:#9ca3af;margin-top:12px;font-size:14px}@keyframes spin-8a5c029c{to{transform:rotate(360deg)}}.page-header[data-v-c1395a0c]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.page-title[data-v-c1395a0c]{color:var(--text);font-size:18px;font-weight:700}.scope-badge[data-v-c1395a0c]{color:#a5b4fc;white-space:nowrap;background:#6366f11f;border-radius:8px;padding:2px 8px;font-size:11px}.empty-state[data-v-c1395a0c]{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state-icon[data-v-c1395a0c]{margin-bottom:12px;font-size:48px}.knowledge-list[data-v-c1395a0c]{flex-direction:column;gap:12px;display:flex}.knowledge-card[data-v-c1395a0c]{background:var(--surface);box-shadow:var(--shadow-card);cursor:pointer;border-radius:14px;padding:16px}.knowledge-card[data-v-c1395a0c]:active{transform:scale(.98)}.knowledge-card.readonly[data-v-c1395a0c]{cursor:default}.knowledge-card.readonly[data-v-c1395a0c]:active{transform:none}.knowledge-header[data-v-c1395a0c]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.knowledge-title[data-v-c1395a0c]{color:var(--text);font-size:16px;font-weight:600}.knowledge-category[data-v-c1395a0c]{color:var(--text-secondary);background:#94a3b824;border-radius:8px;padding:2px 8px;font-size:11px}.knowledge-preview[data-v-c1395a0c]{color:var(--text-secondary);margin-bottom:8px;font-size:13px;line-height:1.5}.knowledge-tags[data-v-c1395a0c]{flex-wrap:wrap;gap:6px;display:flex}.tag[data-v-c1395a0c]{color:#a5b4fc;background:#6366f11f;border-radius:8px;padding:2px 8px;font-size:11px}.detail-card[data-v-c1395a0c]{background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;padding:16px}.detail-header[data-v-c1395a0c]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.detail-header h2[data-v-c1395a0c]{color:var(--text);font-size:18px;font-weight:700}.detail-content[data-v-c1395a0c]{color:var(--text-body);white-space:pre-wrap;font-size:14px;line-height:1.8}.btn-sm[data-v-c1395a0c]{padding:4px 12px;font-size:12px}.qa-page[data-v-9612de36]{flex-direction:column;height:calc(100vh - 126px);min-height:0;display:flex;overflow:hidden}@media (width<=768px){.qa-page[data-v-9612de36]{height:calc(100vh - 116px)}}.page-header[data-v-9612de36]{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.page-title[data-v-9612de36]{min-width:0;color:var(--text);white-space:nowrap;flex:1;align-items:center;gap:6px;margin:0;font-size:17px;font-weight:700;display:flex}.title-main[data-v-9612de36]{flex:none}.title-sub[data-v-9612de36]{border-left:1px solid var(--border);color:var(--text-muted);letter-spacing:.02em;flex:none;padding-left:8px;font-size:12px;font-weight:500}.header-actions[data-v-9612de36]{flex:none;align-items:center;gap:8px;display:flex}.conn-badge[data-v-9612de36]{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;line-height:1;display:inline-flex}.conn-dot[data-v-9612de36]{background:currentColor;border-radius:50%;width:6px;height:6px}.conn-ready[data-v-9612de36]{color:#34d399;background:#10b98124;border:1px solid #10b98159}.conn-sending[data-v-9612de36]{background:var(--primary-soft);color:var(--primary);border:1px solid #22d3ee59}.conn-sending .conn-dot[data-v-9612de36]{animation:1s ease-in-out infinite conn-pulse-9612de36}@keyframes conn-pulse-9612de36{0%,to{opacity:1}50%{opacity:.3}}.clear-btn[data-v-9612de36]{white-space:nowrap;padding:5px 12px;font-size:12px}@media (width<=480px){.title-sub[data-v-9612de36],.conn-text[data-v-9612de36]{display:none}.conn-badge[data-v-9612de36]{padding:6px}}.conn-error[data-v-9612de36]{color:#fca5a5;background:#f871711f;border:1px solid #f8717152;border-radius:8px;margin-bottom:10px;padding:8px 14px;font-size:13px}.chat-body[data-v-9612de36]{border:1px solid var(--border);border-radius:var(--radius);background:#080d1a8c;flex:1;min-height:0;margin-bottom:12px;padding:12px 0;overflow-y:auto;box-shadow:inset 0 0 60px #22d3ee0d}.empty-chat[data-v-9612de36]{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon[data-v-9612de36]{margin-bottom:12px;font-size:56px}.empty-tip[data-v-9612de36]{color:var(--text-muted);margin-top:6px;font-size:13px}.chat-row[data-v-9612de36]{gap:10px;margin-bottom:16px;display:flex}.chat-row.user[data-v-9612de36]{flex-direction:row-reverse}.chat-row.assistant[data-v-9612de36]{flex-direction:column;align-items:flex-start;gap:6px}.chat-system[data-v-9612de36]{color:var(--text-secondary);text-align:center;background:#22d3ee1a;border:1px solid #22d3ee38;border-radius:16px;max-width:80%;margin:6px auto;padding:6px 14px;font-size:12px}.think-tag[data-v-9612de36]{color:var(--primary);background:var(--primary-soft);border:1px solid #22d3ee3d;border-radius:10px;flex-shrink:0;align-items:center;padding:5px 10px;font-size:12px;line-height:1;display:inline-flex}.bubble[data-v-9612de36]{min-width:0;max-width:100%}.chat-row.assistant .bubble[data-v-9612de36]{max-width:100%}.chat-row.user .bubble[data-v-9612de36]{max-width:78%}.bubble-image[data-v-9612de36]{object-fit:contain;border-radius:8px;max-width:100%;max-height:260px;margin-bottom:6px;display:block}.bubble-audio[data-v-9612de36]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.bubble-audio audio[data-v-9612de36]{background:var(--bg-elev);border-radius:18px;max-width:100%;height:36px}.bubble-audio-download[data-v-9612de36]{border:1px solid var(--border-strong);background:var(--primary-soft);color:var(--primary);white-space:nowrap;border-radius:14px;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.bubble-audio-download[data-v-9612de36]:hover{box-shadow:var(--glow-primary)}.bubble-content[data-v-9612de36]{white-space:pre-wrap;word-break:break-word;color:var(--text-body);border-radius:12px;padding:10px 5px;font-size:14px;line-height:1.6}.chat-row.user .bubble-content[data-v-9612de36]{color:#041018;box-shadow:var(--glow-primary);background:linear-gradient(135deg,#22d3ee,#6366f1);border-top-right-radius:2px;padding:10px 14px;font-weight:500}.chat-row.assistant .bubble-content[data-v-9612de36]{background:var(--surface);border:1px solid var(--border);border-top-left-radius:2px;padding:10px 14px}.cursor[data-v-9612de36]{color:var(--primary);animation:1s step-start infinite blink-9612de36}.qa-markdown[data-v-9612de36]{color:var(--text-body);white-space:normal;word-break:break-word;font-size:14px;line-height:1.7}.qa-markdown[data-v-9612de36] p{margin:6px 0}.qa-markdown[data-v-9612de36] ul,.qa-markdown[data-v-9612de36] ol{margin:6px 0;padding-left:20px}.qa-markdown[data-v-9612de36] li{margin:3px 0}.qa-markdown[data-v-9612de36] strong{color:var(--text);font-weight:600}.qa-markdown[data-v-9612de36] table{border-collapse:collapse;border:1px solid var(--border);border-radius:6px;width:100%;margin:8px 0;font-size:13px;display:block;overflow-x:auto}.qa-markdown[data-v-9612de36] th,.qa-markdown[data-v-9612de36] td{border:1px solid var(--border);text-align:left;padding:6px 9px}.qa-markdown[data-v-9612de36] th{color:var(--text);background:#22d3ee1f;font-weight:600}.qa-markdown[data-v-9612de36] code{color:#67e8f9;background:#22d3ee1f;border-radius:4px;padding:1px 5px;font-size:12.5px}@keyframes blink-9612de36{50%{opacity:0}}.recommend-row[data-v-9612de36]{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.recommend-chip[data-v-9612de36]{background:var(--primary-soft);color:var(--primary);cursor:pointer;border:1px solid #22d3ee47;border-radius:14px;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.recommend-chip[data-v-9612de36]:hover{border-color:var(--border-strong);box-shadow:var(--glow-primary);background:#22d3ee33}.recommend-text[data-v-9612de36]{line-height:1}.bubble-time[data-v-9612de36]{color:var(--text-muted);margin-top:4px;font-size:11px}.chat-row.user .bubble-time[data-v-9612de36]{text-align:right}.practice-card[data-v-9612de36]{width:100%;min-width:0;padding:2px 0}.practice-head[data-v-9612de36]{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.practice-title[data-v-9612de36]{color:var(--text);font-size:14px;font-weight:700}.practice-meta[data-v-9612de36]{color:var(--primary);background:var(--primary-soft);white-space:nowrap;border:1px solid #22d3ee47;border-radius:10px;padding:2px 10px;font-size:12px}.practice-q[data-v-9612de36]{border:1px solid var(--border);background:#080d1a73;border-radius:10px;margin-bottom:10px;padding:10px 12px}.q-stem[data-v-9612de36]{color:var(--text);align-items:baseline;gap:6px;font-size:13.5px;line-height:1.6;display:flex}.q-no[data-v-9612de36]{color:var(--primary);flex:none;font-weight:700}.q-type[data-v-9612de36]{color:var(--primary);background:#22d3ee1f;border:1px solid #22d3ee42;border-radius:6px;flex:none;padding:1px 6px;font-size:11px}.q-text[data-v-9612de36]{flex:1;min-width:0}.q-options[data-v-9612de36]{flex-direction:column;gap:6px;margin-top:10px;display:flex}.q-option[data-v-9612de36]{text-align:left;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#0f172a8c;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s,background .15s,color .15s}.q-option[data-v-9612de36]:not(:disabled):hover{border-color:var(--border-strong);color:var(--text)}.q-option[data-v-9612de36]:disabled{cursor:default}.q-option.picked[data-v-9612de36]{background:var(--primary-soft);color:var(--text);border-color:#22d3ee99}.q-option.right[data-v-9612de36]{color:#6ee7b7;background:#10b98124;border-color:#10b981a6}.q-option.wrong[data-v-9612de36]{color:#fca5a5;background:#f871711f;border-color:#f8717199}.q-input input[data-v-9612de36],.q-input textarea[data-v-9612de36]{border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;box-sizing:border-box;background:#0f172a8c;border-radius:8px;margin-top:10px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5}.q-input input[data-v-9612de36]:focus,.q-input textarea[data-v-9612de36]:focus{border-color:var(--border-strong);outline:none}.q-result[data-v-9612de36]{border-top:1px dashed var(--border);margin-top:10px;padding-top:10px;font-size:12.5px;line-height:1.65}.q-verdict[data-v-9612de36]{margin-bottom:4px;font-weight:700}.q-verdict.ok[data-v-9612de36]{color:#34d399}.q-verdict.bad[data-v-9612de36]{color:#f87171}.q-line[data-v-9612de36]{color:var(--text-secondary);word-break:break-word;white-space:pre-wrap}.practice-error[data-v-9612de36]{color:#fca5a5;margin-top:8px;font-size:12.5px}.practice-summary[data-v-9612de36]{color:var(--text-secondary);background:#22d3ee14;border:1px solid #22d3ee3d;border-radius:8px;margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.65}.practice-actions[data-v-9612de36]{gap:10px;margin-top:12px;display:flex}.practice-sources[data-v-9612de36]{border:1px solid var(--border);background:#0e162680;border-radius:10px;margin-top:14px;padding:10px 12px}.practice-sources summary[data-v-9612de36]{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-size:12px}.source-item[data-v-9612de36]{border-top:1px dashed var(--border);margin-top:10px;padding-top:10px}.source-item[data-v-9612de36]:first-of-type{border-top:none}.source-title[data-v-9612de36]{color:var(--text);word-break:break-all;font-size:13px;font-weight:500}.source-cat[data-v-9612de36]{color:var(--primary);background:var(--primary-soft);border-radius:8px;margin-left:6px;padding:1px 6px;font-size:11px}.source-file[data-v-9612de36]{color:var(--text);word-break:break-all;background:#10b9811a;border:1px solid #10b98138;border-radius:8px;margin:2px 4px 2px 0;padding:2px 8px;font-size:12px;display:inline-block}.source-tags[data-v-9612de36]{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.source-tag[data-v-9612de36]{color:var(--text-muted);background:#22d3ee14;border:1px solid #22d3ee2e;border-radius:8px;padding:2px 8px;font-size:11px}.page-header[data-v-2b999f86]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.page-title[data-v-2b999f86]{color:var(--text);font-size:18px;font-weight:700}.scope-badge[data-v-2b999f86]{color:#a5b4fc;white-space:nowrap;background:#6366f11f;border-radius:8px;padding:2px 8px;font-size:11px}.empty[data-v-2b999f86]{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-icon[data-v-2b999f86]{margin-bottom:12px;font-size:48px}.exam-list[data-v-2b999f86]{flex-direction:column;gap:12px;display:flex}.exam-card[data-v-2b999f86]{background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;padding:16px}.exam-title[data-v-2b999f86]{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:600}.exam-meta[data-v-2b999f86]{color:var(--text-secondary);gap:12px;margin-bottom:6px;font-size:12px;display:flex}.exam-window[data-v-2b999f86]{color:var(--text-muted);margin-bottom:6px;font-size:12px}.exam-desc[data-v-2b999f86]{color:var(--text-muted);font-size:13px;line-height:1.4}.exam-sheet[data-v-2b999f86]{padding-bottom:20px}.exam-info[data-v-2b999f86]{border:1px solid var(--border);color:var(--text);background:linear-gradient(#6366f11f 0%,#a855f71f 100%);border-radius:12px;margin-bottom:14px;padding:18px 16px}.exam-info-title[data-v-2b999f86]{letter-spacing:-.01em;color:var(--text);margin-bottom:4px;font-size:16px;font-weight:650}.exam-info-meta[data-v-2b999f86]{color:var(--text-secondary);font-size:12px}.question-card[data-v-2b999f86]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;margin-bottom:12px;padding:16px}.question-header[data-v-2b999f86]{align-items:center;gap:8px;margin-bottom:10px;display:flex}.question-num[data-v-2b999f86]{background:var(--primary);color:#041018;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:flex}.question-type[data-v-2b999f86]{color:var(--text-secondary);background:#94a3b824;border-radius:8px;padding:2px 8px;font-size:11px}.question-score[data-v-2b999f86]{color:#fbbf24;font-size:11px;font-weight:600}.question-content[data-v-2b999f86]{color:var(--text);margin-bottom:12px;font-size:14px;line-height:1.6}.options[data-v-2b999f86]{flex-direction:column;gap:8px;display:flex}.option-item[data-v-2b999f86]{background:var(--surface);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.option-item[data-v-2b999f86]:active{background:var(--surface)}.option-item.selected[data-v-2b999f86]{background:var(--primary-soft);border:1px solid var(--primary)}.option-label[data-v-2b999f86]{background:var(--surface);border:1px solid var(--border);width:26px;height:26px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.option-label.multi[data-v-2b999f86]{border-radius:6px}.option-item.selected .option-label[data-v-2b999f86]{background:var(--primary);color:#041018;border-color:var(--primary)}.option-text[data-v-2b999f86]{color:var(--text-body);font-size:13px}.short-answer[data-v-2b999f86]{margin-top:8px}.answer-input[data-v-2b999f86]{border:1px solid var(--border);resize:none;border-radius:10px;outline:none;width:100%;padding:10px;font-family:inherit;font-size:14px}.answer-input[data-v-2b999f86]:focus{border-color:var(--border-strong)}.result-card[data-v-2b999f86]{background:var(--surface);text-align:center;box-shadow:var(--shadow-card);border-radius:14px;padding:20px}.result-score[data-v-2b999f86]{justify-content:center;align-items:baseline;gap:4px;margin-bottom:4px;display:flex}.score-num[data-v-2b999f86]{color:var(--primary);font-size:48px;font-weight:700}.score-total[data-v-2b999f86]{color:var(--text-muted);font-size:20px}.result-label[data-v-2b999f86]{color:var(--text-secondary);margin-bottom:16px;font-size:14px}.result-detail[data-v-2b999f86]{text-align:left;margin-bottom:16px}.answer-row[data-v-2b999f86]{border-radius:8px;margin-bottom:8px;padding:10px 12px;font-size:13px}.answer-row.correct[data-v-2b999f86]{color:#34d399;background:#10b9811f}.answer-row.wrong[data-v-2b999f86]{color:#fca5a5;background:#f871711f}.answer-title[data-v-2b999f86]{margin-bottom:4px;font-weight:600}.answer-info[data-v-2b999f86]{color:var(--text-secondary);flex-direction:column;gap:2px;display:flex}.correct-ans[data-v-2b999f86]{color:#34d399}.btn-block[data-v-2b999f86]{width:100%}.page-header[data-v-238f5706]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.page-title[data-v-238f5706]{color:var(--text);font-size:18px;font-weight:700}.scope-badge[data-v-238f5706]{color:#a5b4fc;white-space:nowrap;background:#6366f11f;border-radius:8px;padding:2px 8px;font-size:11px}.empty-state[data-v-238f5706]{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state-icon[data-v-238f5706]{margin-bottom:12px;font-size:48px}.empty-tip[data-v-238f5706]{margin-top:6px;font-size:13px}.mistake-list[data-v-238f5706]{flex-direction:column;gap:12px;display:flex}.mistake-card[data-v-238f5706]{background:var(--surface);box-shadow:var(--shadow-card);cursor:pointer;border-radius:14px;padding:16px}.mistake-card[data-v-238f5706]:active{transform:scale(.98)}.mistake-header[data-v-238f5706]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.mistake-subject[data-v-238f5706]{color:#fca5a5;background:#f871711f;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.review-count[data-v-238f5706]{color:var(--text-muted);font-size:11px}.mistake-title[data-v-238f5706]{color:var(--text);margin-bottom:8px;font-size:15px;font-weight:600}.mistake-wrong[data-v-238f5706]{color:#fca5a5;font-size:13px}.label[data-v-238f5706]{font-weight:600}.detail-card[data-v-238f5706]{background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;padding:16px}.detail-subject[data-v-238f5706]{color:#fca5a5;background:#f871711f;border-radius:8px;margin-bottom:8px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.detail-title[data-v-238f5706]{color:var(--text);margin-bottom:14px;font-size:17px;font-weight:700}.detail-section[data-v-238f5706]{margin-bottom:12px}.section-label[data-v-238f5706]{color:var(--text-secondary);margin-bottom:4px;font-size:12px;font-weight:600}.section-wrong[data-v-238f5706]{color:#fca5a5;background:#f871711f;border-radius:10px;padding:10px 12px;font-size:14px}.section-correct[data-v-238f5706]{color:#34d399;background:#10b9811f;border-radius:10px;padding:10px 12px;font-size:14px}.section-analysis[data-v-238f5706]{color:var(--text-body);background:var(--surface);border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.6}.btn-sm[data-v-238f5706]{padding:4px 12px;font-size:12px}.btn-block[data-v-238f5706]{width:100%}.page-header[data-v-3ba84b82]{align-items:center;gap:10px;display:flex}.scope-badge[data-v-3ba84b82]{color:#a5b4fc;white-space:nowrap;background:#6366f11f;border-radius:8px;padding:2px 8px;font-size:11px}.page-desc[data-v-3ba84b82]{color:var(--text-secondary);margin-bottom:16px;font-size:14px}.upload-card[data-v-3ba84b82]{margin-bottom:20px}.panel-title[data-v-3ba84b82]{margin-bottom:6px;font-size:16px;font-weight:600}.panel-desc[data-v-3ba84b82]{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.upload-area[data-v-3ba84b82]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.file-input[data-v-3ba84b82]{border:2px dashed var(--border);border-radius:8px;width:100%;padding:10px;font-size:13px}.camera-input[data-v-3ba84b82]{background:#10b9811f;border-color:#34d399}.btn-camera[data-v-3ba84b82]{color:#04231a;background:linear-gradient(135deg,#34d399,#10b981);border:none}.selected-file[data-v-3ba84b82]{color:var(--text);background:#6366f11f;border-radius:6px;padding:8px 12px;font-size:13px}.error-msg[data-v-3ba84b82]{color:#fca5a5;background:#f871711f;border-radius:6px;width:100%;padding:6px 12px;font-size:13px}.upload-success[data-v-3ba84b82]{color:#34d399;background:#10b9811f;border-radius:6px;margin-top:10px;padding:10px;font-size:13px}.filter-bar[data-v-3ba84b82]{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.filter-select[data-v-3ba84b82],.filter-input[data-v-3ba84b82]{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:8px;padding:8px 10px;font-size:13px}.filter-select[data-v-3ba84b82]{min-width:120px}.filter-input[data-v-3ba84b82]{flex:1;min-width:160px}.filter-select[data-v-3ba84b82]:focus,.filter-input[data-v-3ba84b82]:focus{border-color:var(--border-strong);outline:none;box-shadow:0 0 0 3px #22d3ee29}.upload-list[data-v-3ba84b82]{margin-top:20px}.pagination[data-v-3ba84b82]{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.page-btn[data-v-3ba84b82]{border:1px solid var(--border);background:var(--surface);color:var(--text-body);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px}.page-btn[data-v-3ba84b82]:hover:not(:disabled){border-color:var(--border-strong);color:var(--primary)}.page-btn[data-v-3ba84b82]:disabled{opacity:.4;cursor:not-allowed}.page-info[data-v-3ba84b82]{color:var(--text-secondary);font-size:13px}.file-card[data-v-3ba84b82]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.file-info[data-v-3ba84b82]{flex-direction:column;gap:4px;display:flex}.file-name[data-v-3ba84b82]{font-size:14px;font-weight:500}.file-meta[data-v-3ba84b82]{color:var(--text-muted);font-size:12px}.file-card.clickable[data-v-3ba84b82]{cursor:pointer;transition:border-color .15s,box-shadow .15s}.file-card.clickable[data-v-3ba84b82]:hover{border-color:var(--border-strong);box-shadow:var(--glow-primary)}.file-actions[data-v-3ba84b82]{flex-shrink:0;align-items:center;gap:10px;display:flex}.file-more[data-v-3ba84b82]{color:var(--primary);white-space:nowrap;font-size:12px}.list-empty[data-v-3ba84b82]{text-align:center;color:var(--text-muted);padding:32px 0;font-size:13px}.modal-overlay[data-v-3ba84b82]{z-index:300;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-panel[data-v-3ba84b82]{background:var(--surface);border-radius:14px;width:520px;max-width:100%;max-height:90vh;padding:20px;overflow-y:auto}.modal-title[data-v-3ba84b82]{margin-bottom:16px;font-size:18px;font-weight:600}.detail-row[data-v-3ba84b82]{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:8px 0;display:flex}.detail-label[data-v-3ba84b82]{width:84px;color:var(--text-secondary);flex-shrink:0;font-size:13px}.detail-value[data-v-3ba84b82]{min-width:0;color:var(--text);word-break:break-all;flex:1;font-size:13px}.detail-mono[data-v-3ba84b82]{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.detail-tip[data-v-3ba84b82]{color:var(--primary);background:#6366f11f;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.6}.modal-actions[data-v-3ba84b82]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.position-select[data-v-3ba84b82]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.position-label[data-v-3ba84b82]{color:var(--text-secondary);font-size:13px}.position-chip[data-v-3ba84b82]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;padding:4px 12px;font-size:12px;transition:all .15s}.position-chip.active[data-v-3ba84b82]{border-color:var(--primary);color:var(--primary);background:#6366f138}.file-tags[data-v-3ba84b82]{flex-wrap:wrap;gap:6px;display:flex}.tag-badge[data-v-3ba84b82]{color:var(--text-secondary);background:#94a3b824;border-radius:999px;padding:1px 8px;font-size:11px}.tag-position[data-v-3ba84b82]{color:var(--primary);background:#6366f129}.tag-practice[data-v-3ba84b82]{color:#34d399;background:#34d39924}.btn-tag[data-v-3ba84b82]{color:var(--primary);cursor:pointer;white-space:nowrap;background:#6366f11f;border:1px solid #6366f14d;border-radius:6px;padding:4px 10px;font-size:12px}.btn-tag[data-v-3ba84b82]:hover{background:#6366f138}.edit-position-list[data-v-3ba84b82]{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.modal-panel.modal-wide[data-v-3ba84b82]{width:720px}.markdown-body[data-v-3ba84b82]{color:var(--text-body);word-break:break-word;max-height:60vh;padding-right:4px;font-size:14px;line-height:1.75;overflow-y:auto}.markdown-body[data-v-3ba84b82] h1{color:var(--text);border-bottom:1px solid var(--border);margin:4px 0 12px;padding-bottom:6px;font-size:20px;font-weight:700}.markdown-body[data-v-3ba84b82] h2{color:var(--text);margin:20px 0 10px;font-size:17px;font-weight:700}.markdown-body[data-v-3ba84b82] h3{color:var(--text);margin:16px 0 8px;font-size:15px;font-weight:600}.markdown-body[data-v-3ba84b82] h4,.markdown-body[data-v-3ba84b82] h5,.markdown-body[data-v-3ba84b82] h6{color:var(--text);margin:14px 0 8px;font-size:14px;font-weight:600}.markdown-body[data-v-3ba84b82] p{margin:10px 0}.markdown-body[data-v-3ba84b82] ul,.markdown-body[data-v-3ba84b82] ol{margin:10px 0;padding-left:22px}.markdown-body[data-v-3ba84b82] li{margin:4px 0}.markdown-body[data-v-3ba84b82] blockquote{border-left:3px solid var(--border-strong);color:var(--text-body);background:#6366f11a;border-radius:0 6px 6px 0;margin:12px 0;padding:8px 12px}.markdown-body[data-v-3ba84b82] code{color:#fca5a5;background:#94a3b824;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.markdown-body[data-v-3ba84b82] pre{border:1px solid var(--border);background:#060b1599;border-radius:8px;margin:12px 0;padding:12px;overflow:auto}.markdown-body[data-v-3ba84b82] pre code{color:var(--text-body);background:0 0;padding:0}.markdown-body[data-v-3ba84b82] table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px;display:block;overflow-x:auto}.markdown-body[data-v-3ba84b82] th,.markdown-body[data-v-3ba84b82] td{border:1px solid var(--border);text-align:left;padding:7px 10px}.markdown-body[data-v-3ba84b82] th{color:var(--text);background:#94a3b81a;font-weight:600}.markdown-body[data-v-3ba84b82] a{color:var(--primary);text-decoration:none}.markdown-body[data-v-3ba84b82] a:hover{text-decoration:underline}.markdown-body[data-v-3ba84b82] img{max-width:100%;height:auto}.markdown-body[data-v-3ba84b82] hr{border:none;border-top:1px solid var(--border);margin:18px 0}.ai-tabs[data-v-09bb1e03]{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.tab-btn[data-v-09bb1e03]{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:10px 20px;font-size:14px;transition:all .2s}.tab-btn[data-v-09bb1e03]:hover{border-color:var(--border-strong);color:var(--primary)}.tab-btn.active[data-v-09bb1e03]{background:var(--primary);color:#041018;border-color:#0000}.panel-title[data-v-09bb1e03]{margin-bottom:6px;font-size:16px;font-weight:600}.panel-desc[data-v-09bb1e03]{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.upload-card[data-v-09bb1e03]{margin-bottom:20px}.upload-area[data-v-09bb1e03]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.file-input[data-v-09bb1e03]{border:2px dashed var(--border);border-radius:8px;width:100%;padding:10px}.selected-file[data-v-09bb1e03]{color:var(--text);background:#6366f11f;border-radius:6px;padding:8px 12px;font-size:13px}.success-msg[data-v-09bb1e03]{color:#34d399;margin-top:10px;font-size:14px}.upload-list[data-v-09bb1e03]{margin-top:20px}.file-card[data-v-09bb1e03]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.file-info[data-v-09bb1e03]{flex-direction:column;gap:4px;display:flex}.file-name[data-v-09bb1e03]{font-size:14px;font-weight:500}.file-meta[data-v-09bb1e03]{color:var(--text-muted);font-size:12px}.result-card[data-v-09bb1e03]{background:#6366f11f;margin-top:16px}.result-card h4[data-v-09bb1e03]{color:var(--primary);margin-bottom:12px}.clean-stats[data-v-09bb1e03]{color:var(--text-secondary);flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.clean-output[data-v-09bb1e03]{background:var(--surface);border-radius:8px;max-height:300px;padding:12px;overflow-y:auto}.clean-output pre[data-v-09bb1e03]{white-space:pre-wrap;word-break:break-word;color:var(--text);font-size:13px;line-height:1.6}.generated-point[data-v-09bb1e03]{background:var(--surface);border-left:3px solid var(--primary);border-radius:8px;margin-bottom:10px;padding:12px}.point-header[data-v-09bb1e03]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.point-category[data-v-09bb1e03]{color:#a5b4fc;background:#6366f11f;border-radius:4px;padding:2px 8px;font-size:12px}.point-content[data-v-09bb1e03]{color:var(--text-secondary);margin-bottom:8px;font-size:13px;line-height:1.5}.point-tags[data-v-09bb1e03]{flex-wrap:wrap;gap:4px;display:flex}.kb-head[data-v-09bb1e03]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.kb-search[data-v-09bb1e03]{flex:1;min-width:200px;max-width:360px}.kb-empty[data-v-09bb1e03]{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.kb-list[data-v-09bb1e03]{flex-direction:column;gap:10px;max-height:480px;display:flex;overflow-y:auto}.kb-item[data-v-09bb1e03]{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.kb-item-head[data-v-09bb1e03]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.kb-title[data-v-09bb1e03]{color:var(--text);font-size:14px;font-weight:600}.kb-scope[data-v-09bb1e03]{background:var(--primary-soft);color:var(--primary);white-space:nowrap;border-radius:8px;flex-shrink:0;padding:2px 8px;font-size:11px}.kb-content[data-v-09bb1e03]{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.kb-meta[data-v-09bb1e03]{flex-wrap:wrap;gap:6px;display:flex}.kb-cat[data-v-09bb1e03]{color:#a5b4fc;background:#6366f11f;border-radius:6px;padding:2px 8px;font-size:11px}.kb-tag[data-v-09bb1e03]{background:var(--surface-2);color:var(--text-secondary);border-radius:6px;padding:2px 8px;font-size:11px}.page-header[data-v-64b7a23f]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.page-title[data-v-64b7a23f]{color:var(--text);font-size:18px;font-weight:700}.scope-badge[data-v-64b7a23f]{color:#a5b4fc;white-space:nowrap;background:#6366f11f;border-radius:8px;padding:2px 8px;font-size:11px}.action-bar[data-v-64b7a23f]{gap:10px;margin-bottom:14px;display:flex}.empty[data-v-64b7a23f]{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-icon[data-v-64b7a23f]{margin-bottom:12px;font-size:48px}.exam-list[data-v-64b7a23f]{flex-direction:column;gap:12px;display:flex}.exam-card[data-v-64b7a23f]{background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;padding:16px}.exam-title[data-v-64b7a23f]{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:600}.exam-meta[data-v-64b7a23f]{color:var(--text-secondary);align-items:center;gap:12px;margin-bottom:6px;font-size:12px;display:flex}.status-tag[data-v-64b7a23f]{border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.status-tag.draft[data-v-64b7a23f]{color:#fbbf24;background:#f59e0b1f}.status-tag.published[data-v-64b7a23f]{color:#34d399;background:#10b9811f}.status-tag.closed[data-v-64b7a23f]{color:var(--text-muted);background:#94a3b824}.difficulty-tag[data-v-64b7a23f]{color:#a5b4fc;background:#6366f11f;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.window-tag[data-v-64b7a23f]{color:var(--text-muted)}.window-hint[data-v-64b7a23f]{color:var(--text-muted);margin:-4px 0 12px;font-size:12px}.exam-desc[data-v-64b7a23f]{color:var(--text-muted);margin-bottom:10px;font-size:13px}.exam-actions[data-v-64b7a23f]{flex-wrap:wrap;gap:8px;display:flex}.modal-overlay[data-v-64b7a23f]{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-body[data-v-64b7a23f]{background:var(--surface);border-radius:16px;width:100%;max-width:400px;max-height:80vh;padding:20px;overflow-y:auto}.modal-wide[data-v-64b7a23f]{max-width:640px}.form-group[data-v-64b7a23f]{margin-bottom:12px}.multi-box[data-v-64b7a23f]{border:1px solid var(--border);background:#0e162699;border-radius:8px;max-height:180px;padding:6px 8px;overflow-y:auto}.multi-box .multi-item[data-v-64b7a23f]{color:var(--text-body);cursor:pointer;border-radius:6px;align-items:center;gap:8px;margin-bottom:0;padding:5px 4px;font-size:13px;font-weight:400;display:flex}.multi-box .multi-item[data-v-64b7a23f]:hover{background:#22d3ee14}.multi-box .multi-item.disabled[data-v-64b7a23f]{opacity:.45;cursor:not-allowed}.multi-label[data-v-64b7a23f]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.multi-tag[data-v-64b7a23f]{color:var(--text-muted);border:1px solid var(--border);border-radius:8px;flex-shrink:0;padding:1px 6px;font-size:11px}.multi-empty[data-v-64b7a23f]{color:var(--text-muted);margin:8px 4px;font-size:12px}.multi-hint[data-v-64b7a23f]{color:var(--text-muted);margin:6px 0 0;font-size:12px}.form-group label[data-v-64b7a23f]{color:var(--text-body);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.form-input[data-v-64b7a23f]{border:1px solid var(--border);border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:14px}.form-input[data-v-64b7a23f]:focus{border-color:var(--border-strong)}textarea.form-input[data-v-64b7a23f]{resize:vertical;min-height:60px;font-family:inherit}.form-row[data-v-64b7a23f]{gap:12px;display:flex}.form-grow[data-v-64b7a23f]{flex:1}.checkbox-group[data-v-64b7a23f]{gap:16px;font-size:13px;display:flex}.checkbox-group label[data-v-64b7a23f]{align-items:center;gap:4px;font-weight:400;display:flex}.form-actions[data-v-64b7a23f]{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.gen-progress[data-v-64b7a23f]{margin-top:16px}.gen-progress-text[data-v-64b7a23f]{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.gen-progress-bar[data-v-64b7a23f]{background:#94a3b82e;border-radius:999px;height:6px;overflow:hidden}.gen-progress-inner[data-v-64b7a23f]{background:var(--primary);border-radius:999px;height:100%;transition:width .3s}.btn-sm[data-v-64b7a23f]{padding:4px 12px;font-size:12px}.btn-danger[data-v-64b7a23f]{color:#2a0707;background:linear-gradient(135deg,#f87171,#ef4444);border:none}.q-list[data-v-64b7a23f]{flex-direction:column;gap:8px;margin:10px 0 16px;display:flex}.q-item[data-v-64b7a23f]{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.q-item-head[data-v-64b7a23f]{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.q-item-title[data-v-64b7a23f]{color:var(--text);font-size:13px;line-height:1.5}.q-options[data-v-64b7a23f]{color:var(--text-secondary);margin-top:6px;font-size:12px}.q-answer[data-v-64b7a23f]{color:var(--text-muted);margin-top:4px;font-size:12px}.q-empty[data-v-64b7a23f]{color:var(--text-muted);border:1px dashed var(--border);text-align:center;border-radius:10px;margin:10px 0 16px;padding:12px;font-size:13px}.q-editor[data-v-64b7a23f]{border-top:1px solid var(--border);padding-top:14px}.btn-q-del[data-v-64b7a23f]{color:#f87171;cursor:pointer;white-space:nowrap;background:0 0;border:none;font-size:12px}.membership-page[data-v-0774b59f]{padding:20px 16px}.page-header[data-v-0774b59f]{align-items:center;gap:8px;margin-bottom:16px;display:flex}.page-title[data-v-0774b59f]{color:var(--text);font-size:20px;font-weight:650}.status-card[data-v-0774b59f]{border:1px solid var(--border);text-align:center;background:linear-gradient(135deg,#6366f124,#a855f724);border-radius:14px;margin-bottom:20px;padding:20px}.status-label[data-v-0774b59f]{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.status-value[data-v-0774b59f]{color:var(--text);font-size:20px;font-weight:700}.status-hint[data-v-0774b59f]{color:var(--text-muted);margin-top:8px;font-size:12px}.plans[data-v-0774b59f]{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (width<=900px){.plans[data-v-0774b59f]{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.plans[data-v-0774b59f]{grid-template-columns:1fr}}.plan-card[data-v-0774b59f]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;padding:22px 18px;display:flex;position:relative}.plan-highlight[data-v-0774b59f]{box-shadow:var(--shadow-card), 0 0 0 1px #22d3ee1f;border-color:#22d3ee80}.plan-current[data-v-0774b59f]{border-color:#10b98180}.plan-ribbon[data-v-0774b59f]{color:#041018;background:linear-gradient(135deg,#22d3ee,#6366f1);border-radius:0 14px 0 10px;padding:4px 12px;font-size:11px;font-weight:600;position:absolute;top:0;right:0}.plan-name[data-v-0774b59f]{color:var(--text);margin-bottom:12px;font-size:16px;font-weight:650}.plan-price[data-v-0774b59f]{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.price-month[data-v-0774b59f]{color:var(--text);font-size:26px;font-weight:700}.price-year[data-v-0774b59f]{color:#22d3ee;font-size:14px;font-weight:600}.plan-price em[data-v-0774b59f]{color:var(--text-muted);margin-left:2px;font-size:12px;font-style:normal}.plan-tag[data-v-0774b59f]{color:var(--primary);margin-bottom:8px;font-size:12px}.plan-desc[data-v-0774b59f]{color:var(--text-secondary);margin-bottom:14px;font-size:12px;line-height:1.5}.plan-features[data-v-0774b59f]{flex:1;margin:0 0 18px;padding:0;list-style:none}.plan-features li[data-v-0774b59f]{color:var(--text-muted);padding:4px 0 4px 16px;font-size:12px;line-height:1.4;position:relative}.plan-features li[data-v-0774b59f]:before{content:"✓";color:#34d399;font-weight:700;position:absolute;left:0}.plan-btn[data-v-0774b59f]{cursor:pointer;color:#041018;background:linear-gradient(135deg,#22d3ee,#6366f1);border:none;border-radius:10px;width:100%;padding:11px;font-size:14px;font-weight:600;transition:opacity .15s}.plan-btn[data-v-0774b59f]:disabled{cursor:not-allowed;opacity:.55}.plan-btn.btn-current[data-v-0774b59f]{color:#34d399;background:#10b9812e}.promo-page[data-v-64783071]{padding:20px 16px}.page-title[data-v-64783071]{color:var(--text);margin-bottom:4px;font-size:20px;font-weight:700}.sub-title[data-v-64783071]{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.mode-switch[data-v-64783071]{background:#94a3b824;border-radius:10px;gap:8px;margin-bottom:16px;padding:4px;display:flex}.mode-btn[data-v-64783071]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px;font-size:14px;transition:all .15s}.mode-btn.active[data-v-64783071]{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-card);font-weight:600}.company-row[data-v-64783071]{margin-bottom:16px}.company-label[data-v-64783071]{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.company-select[data-v-64783071]{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface);border-radius:8px;outline:none;padding:10px 12px;font-size:14px}.company-select[data-v-64783071]:disabled{color:var(--text-muted);cursor:not-allowed;background:#94a3b81a}.company-select[data-v-64783071]:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px #22d3ee29}.role-switch[data-v-64783071]{background:#94a3b824;border-radius:10px;gap:8px;padding:4px;display:flex}.role-btn[data-v-64783071]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px;font-size:13px;transition:all .15s}.role-btn[data-v-64783071]:disabled{opacity:.4;cursor:not-allowed}.role-btn.active[data-v-64783071]{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-card);font-weight:600}.role-hint[data-v-64783071],.company-hint[data-v-64783071]{color:var(--primary);margin-top:6px;font-size:12px;line-height:1.4}.promo-card[data-v-64783071]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;align-items:center;padding:24px 20px;display:flex}.qr-box[data-v-64783071]{border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;width:280px;height:280px;display:flex;overflow:hidden}.qr-img[data-v-64783071]{width:100%;height:100%;display:block}.qr-loading[data-v-64783071]{color:var(--text-muted);font-size:13px}.qr-tip[data-v-64783071]{color:var(--text-secondary);text-align:center;margin:16px 0 12px;font-size:14px;line-height:1.5}.highlight[data-v-64783071]{color:var(--primary)}.link-row[data-v-64783071]{gap:8px;width:100%;display:flex}.link-input[data-v-64783071]{border:1px solid var(--border);min-width:0;color:var(--text);background:var(--surface);border-radius:8px;outline:none;flex:1;padding:10px 12px;font-size:13px}.copy-btn[data-v-64783071]{color:#041018;cursor:pointer;background:linear-gradient(135deg,#22d3ee,#6366f1);border:none;border-radius:8px;flex-shrink:0;padding:0 16px;font-size:13px;font-weight:500}.copy-btn.copied[data-v-64783071]{background:linear-gradient(135deg,#34d399,#10b981)}.link-desc[data-v-64783071]{width:100%;color:var(--text-muted);margin-top:10px;font-size:12px}.no-access[data-v-64783071]{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.no-access p[data-v-64783071]{color:var(--text-secondary);margin-top:12px;font-size:14px}.page-header[data-v-f439e518]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.note-toolbar[data-v-f439e518]{margin-bottom:12px}.search-input[data-v-f439e518]{border:1px solid var(--border);background:var(--surface);border-radius:20px;outline:none;width:100%;padding:10px 14px;font-size:14px}.search-input[data-v-f439e518]:focus{border-color:var(--border-strong);background:var(--surface)}.cat-chips[data-v-f439e518]{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chip[data-v-f439e518]{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:16px;padding:6px 14px;font-size:13px}.chip.active[data-v-f439e518]{background:var(--primary);border-color:var(--primary);color:#041018}.loading-tip[data-v-f439e518]{text-align:center;color:var(--text-muted);padding:40px 0}.note-list[data-v-f439e518]{flex-direction:column;gap:12px;display:flex}.note-card[data-v-f439e518]{padding:16px}.note-head[data-v-f439e518]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.note-type[data-v-f439e518]{color:#a5b4fc;background:#6366f11f;border-radius:8px;flex-shrink:0;padding:2px 8px;font-size:11px}.note-title[data-v-f439e518]{color:var(--text);margin:0;font-size:16px;font-weight:600}.note-content[data-v-f439e518]{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-bottom:10px;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.note-content.expanded[data-v-f439e518]{-webkit-line-clamp:unset;display:block;overflow:visible}.note-toggle[data-v-f439e518]{color:var(--primary);cursor:pointer;background:0 0;border:none;margin:-6px 0 10px;padding:0;font-size:13px;font-weight:600;display:block}.note-toggle[data-v-f439e518]:hover{text-decoration:underline}.note-tags[data-v-f439e518]{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tag[data-v-f439e518]{color:#34d399;background:#10b9811f;border-radius:8px;padding:2px 8px;font-size:12px}.note-foot[data-v-f439e518]{justify-content:space-between;align-items:center;gap:8px;display:flex}.note-meta[data-v-f439e518]{color:var(--text-muted);font-size:12px}.note-actions[data-v-f439e518]{gap:8px;display:flex}.editor-page[data-v-f439e518]{z-index:300;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.editor-head[data-v-f439e518]{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:12px 16px;display:flex}.editor-title[data-v-f439e518]{color:var(--text);text-align:center;flex:1;margin:0;font-size:17px;font-weight:600}.editor-body[data-v-f439e518]{flex:1;padding:16px;overflow-y:auto}.editor-foot[data-v-f439e518]{border-top:1px solid var(--border);background:var(--surface);gap:10px;padding:12px 16px;display:flex}.editor-foot .btn[data-v-f439e518]{flex:1;justify-content:center}.form-item[data-v-f439e518]{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-item label[data-v-f439e518]{color:var(--text-secondary);font-size:13px}.form-row[data-v-f439e518]{gap:12px;display:flex}.form-row .form-item[data-v-f439e518]{flex:1}.form-input[data-v-f439e518],.form-textarea[data-v-f439e518]{border:1px solid var(--border);border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.form-input[data-v-f439e518]:focus,.form-textarea[data-v-f439e518]:focus{border-color:var(--border-strong)}.form-textarea[data-v-f439e518]{resize:vertical}.page-header[data-v-737ff891]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.video-toolbar[data-v-737ff891]{margin-bottom:12px}.search-input[data-v-737ff891]{border:1px solid var(--border);background:var(--surface);border-radius:20px;outline:none;width:100%;padding:10px 14px;font-size:14px}.search-input[data-v-737ff891]:focus{border-color:var(--border-strong);background:var(--surface)}.cat-chips[data-v-737ff891]{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chip[data-v-737ff891]{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:16px;padding:6px 14px;font-size:13px}.chip.active[data-v-737ff891]{background:var(--primary);border-color:var(--primary);color:#041018}.loading-tip[data-v-737ff891]{text-align:center;color:var(--text-muted);padding:40px 0}.video-grid[data-v-737ff891]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.video-card[data-v-737ff891]{padding:0;overflow:hidden}.video-cover[data-v-737ff891]{background:var(--surface);cursor:pointer;justify-content:center;align-items:center;height:160px;display:flex;position:relative}.cover-img[data-v-737ff891]{object-fit:cover;width:100%;height:160px}.cover-placeholder[data-v-737ff891]{opacity:.5}.cover-play[data-v-737ff891]{color:#041018;box-sizing:border-box;background:#22d3eeeb;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding-left:4px;font-size:16px;display:flex;position:absolute}.cover-duration[data-v-737ff891]{color:#fff;background:#111827b8;border-radius:4px;padding:2px 6px;font-size:11px;position:absolute;bottom:8px;right:8px}.video-body[data-v-737ff891]{padding:14px 16px 16px}.video-title[data-v-737ff891]{color:var(--text);margin:0 0 6px;font-size:16px;font-weight:600}.video-meta[data-v-737ff891]{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.video-desc[data-v-737ff891]{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 10px;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.video-foot[data-v-737ff891]{justify-content:space-between;align-items:center;gap:8px;display:flex}.video-date[data-v-737ff891]{color:var(--text-muted);font-size:12px}.video-actions[data-v-737ff891]{gap:8px;display:flex}.upload-row[data-v-737ff891]{align-items:center;gap:10px;margin-bottom:8px;display:flex}.upload-btn[data-v-737ff891]{cursor:pointer;flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.upload-btn.disabled[data-v-737ff891]{opacity:.6;cursor:not-allowed}.upload-hint[data-v-737ff891]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.video-tags[data-v-737ff891]{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.tag[data-v-737ff891]{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px}.tag-required[data-v-737ff891]{color:#fbbf24;background:#f59e0b24;border:1px solid #f59e0b66}.tag-done[data-v-737ff891]{color:#34d399;background:#10b98124;border:1px solid #10b98166}.tag-due[data-v-737ff891]{color:#f87171;background:#f871711f;border:1px solid #f8717166}.tag-stat[data-v-737ff891]{color:var(--text-secondary);border:1px solid var(--border);background:#94a3b81f}.assign-list[data-v-737ff891]{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.assign-empty[data-v-737ff891]{color:var(--text-muted);font-size:12px}.assign-item[data-v-737ff891]{border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.assign-target[data-v-737ff891]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.assign-due[data-v-737ff891]{color:var(--text-muted);font-size:12px}.assign-form[data-v-737ff891]{flex-wrap:wrap;gap:8px;display:flex}.assign-form .form-input[data-v-737ff891]{flex:1;min-width:120px}.assign-error[data-v-737ff891]{color:#f87171;margin:6px 0 0;font-size:12px}.modal-overlay[data-v-737ff891]{z-index:300;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.player-panel[data-v-737ff891]{background:var(--surface);border-radius:14px;width:720px;max-width:100%;padding:16px}.player-head[data-v-737ff891]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.player-title[data-v-737ff891]{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:600;overflow:hidden}.player-video[data-v-737ff891]{background:#000;border-radius:8px;width:100%;max-height:60vh;display:block}.player-desc[data-v-737ff891]{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.6}.modal-panel[data-v-737ff891]{background:var(--surface);border-radius:14px;width:560px;max-width:100%;max-height:90vh;padding:20px;overflow-y:auto}.modal-title[data-v-737ff891]{margin-bottom:16px;font-size:18px;font-weight:600}.form-item[data-v-737ff891]{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-item label[data-v-737ff891]{color:var(--text-secondary);font-size:13px}.form-row[data-v-737ff891]{gap:12px;display:flex}.form-row .form-item[data-v-737ff891]{flex:1}.form-input[data-v-737ff891],.form-textarea[data-v-737ff891]{border:1px solid var(--border);border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.form-input[data-v-737ff891]:focus,.form-textarea[data-v-737ff891]:focus{border-color:var(--border-strong)}.form-textarea[data-v-737ff891]{resize:vertical}.modal-actions[data-v-737ff891]{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.page-header[data-v-47963192]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.cat-chips[data-v-47963192]{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chip[data-v-47963192]{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:16px;padding:6px 14px;font-size:13px}.chip.active[data-v-47963192]{background:var(--primary);border-color:var(--primary);color:#041018}.loading-tip[data-v-47963192]{text-align:center;color:var(--text-muted);padding:40px 0}.plan-list[data-v-47963192]{flex-direction:column;gap:12px;display:flex}.plan-card[data-v-47963192]{padding:16px}.plan-head[data-v-47963192]{align-items:center;gap:8px;margin-bottom:6px;display:flex}.plan-badge[data-v-47963192]{border-radius:8px;flex-shrink:0;padding:2px 8px;font-size:11px}.status-pending[data-v-47963192]{color:var(--text-secondary);background:#94a3b824}.status-doing[data-v-47963192]{color:#a5b4fc;background:#6366f11f}.status-done[data-v-47963192]{color:#34d399;background:#10b9811f}.plan-title[data-v-47963192]{color:var(--text);margin:0;font-size:16px;font-weight:600}.plan-meta[data-v-47963192]{color:var(--text-secondary);margin-bottom:6px;font-size:12px}.plan-content[data-v-47963192]{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0 0 10px;font-size:13px;line-height:1.6}.plan-tags[data-v-47963192]{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tag[data-v-47963192]{color:#34d399;background:#10b9811f;border-radius:8px;padding:2px 8px;font-size:12px}.progress-wrap[data-v-47963192]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.progress-track[data-v-47963192]{background:#94a3b82e;border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-fill[data-v-47963192]{background:var(--primary);border-radius:3px;height:100%;transition:width .2s}.progress-text[data-v-47963192]{color:var(--text-secondary);text-align:right;min-width:38px;font-size:12px}.plan-foot[data-v-47963192]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-actions[data-v-47963192]{gap:8px;display:flex}.modal-overlay[data-v-47963192]{z-index:300;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-panel[data-v-47963192]{background:var(--surface);border-radius:14px;width:560px;max-width:100%;max-height:90vh;padding:20px;overflow-y:auto}.modal-title[data-v-47963192]{margin-bottom:16px;font-size:18px;font-weight:600}.form-item[data-v-47963192]{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-item label[data-v-47963192]{color:var(--text-secondary);font-size:13px}.form-row[data-v-47963192]{gap:12px;display:flex}.form-row .form-item[data-v-47963192]{flex:1}.form-input[data-v-47963192],.form-textarea[data-v-47963192]{border:1px solid var(--border);border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.form-input[data-v-47963192]:focus,.form-textarea[data-v-47963192]:focus{border-color:var(--border-strong)}.form-textarea[data-v-47963192]{resize:vertical}.modal-actions[data-v-47963192]{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.page-header[data-v-8f23f50e]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.page-title[data-v-8f23f50e]{color:var(--text);flex:1;min-width:0;margin:0;font-size:18px;font-weight:700}.scope-badge[data-v-8f23f50e]{color:#a5b4fc;white-space:nowrap;background:#6366f11f;border-radius:8px;flex-shrink:0;padding:2px 8px;font-size:11px}.back-btn[data-v-8f23f50e]{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.course-list[data-v-8f23f50e]{flex-direction:column;gap:10px;display:flex}.course-card[data-v-8f23f50e]{padding:14px 16px}.clickable[data-v-8f23f50e]{cursor:pointer;transition:box-shadow .15s,transform .15s}.clickable[data-v-8f23f50e]:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6366f11f}.course-name[data-v-8f23f50e]{color:var(--text);word-break:break-all;align-items:center;gap:6px;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.course-meta[data-v-8f23f50e]{color:var(--text-secondary);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.course-actions[data-v-8f23f50e]{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.open-tip[data-v-8f23f50e]{color:var(--primary);font-size:12px}.del-btn[data-v-8f23f50e]{color:#fca5a5;background:#f871711f;border-color:#f8717159;flex-shrink:0}.empty-state[data-v-8f23f50e]{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state-icon[data-v-8f23f50e]{margin-bottom:12px}.page-header[data-v-f61875f2]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.page-title[data-v-f61875f2]{color:var(--text);flex:1;min-width:0;margin:0;font-size:18px;font-weight:700}.back-btn[data-v-f61875f2]{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.meta-card[data-v-f61875f2]{margin-bottom:10px;padding:14px 16px}.detail-name[data-v-f61875f2]{color:var(--text);word-break:break-all;margin-bottom:8px;font-size:14px;font-weight:600}.detail-meta[data-v-f61875f2]{color:var(--text-secondary);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.content-card[data-v-f61875f2]{padding:16px}.plain-body[data-v-f61875f2]{white-space:pre-wrap;word-break:break-word;color:var(--text-body);font-size:13px;line-height:1.7}.markdown-body[data-v-f61875f2]{color:var(--text-body);word-break:break-word;font-size:14px;line-height:1.75}.markdown-body[data-v-f61875f2] h1{color:var(--text);border-bottom:1px solid var(--border);margin:4px 0 12px;padding-bottom:6px;font-size:20px;font-weight:700}.markdown-body[data-v-f61875f2] h2{color:var(--text);margin:20px 0 10px;font-size:17px;font-weight:700}.markdown-body[data-v-f61875f2] h3{color:var(--text);margin:16px 0 8px;font-size:15px;font-weight:600}.markdown-body[data-v-f61875f2] h4,.markdown-body[data-v-f61875f2] h5,.markdown-body[data-v-f61875f2] h6{color:var(--text);margin:14px 0 8px;font-size:14px;font-weight:600}.markdown-body[data-v-f61875f2] p{margin:10px 0}.markdown-body[data-v-f61875f2] ul,.markdown-body[data-v-f61875f2] ol{margin:10px 0;padding-left:22px}.markdown-body[data-v-f61875f2] li{margin:4px 0}.markdown-body[data-v-f61875f2] blockquote{border-left:3px solid var(--border-strong);color:var(--text-body);background:#6366f11a;border-radius:0 6px 6px 0;margin:12px 0;padding:8px 12px}.markdown-body[data-v-f61875f2] code{color:#fca5a5;background:#94a3b824;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.markdown-body[data-v-f61875f2] pre{border:1px solid var(--border);background:#060b1599;border-radius:8px;margin:12px 0;padding:12px;overflow:auto}.markdown-body[data-v-f61875f2] pre code{color:var(--text-body);background:0 0;padding:0}.markdown-body[data-v-f61875f2] table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px;display:block;overflow-x:auto}.markdown-body[data-v-f61875f2] th,.markdown-body[data-v-f61875f2] td{border:1px solid var(--border);text-align:left;padding:7px 10px}.markdown-body[data-v-f61875f2] th{color:var(--text);background:#94a3b81a;font-weight:600}.markdown-body[data-v-f61875f2] a{color:var(--primary);text-decoration:none}.markdown-body[data-v-f61875f2] a:hover{text-decoration:underline}.markdown-body[data-v-f61875f2] img{max-width:100%;height:auto}.markdown-body[data-v-f61875f2] hr{border:none;border-top:1px solid var(--border);margin:18px 0}.empty-state[data-v-f61875f2]{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state-icon[data-v-f61875f2]{margin-bottom:12px}.page-desc[data-v-6bd76019]{color:var(--text-secondary);margin-bottom:16px;font-size:14px}.camera-card[data-v-6bd76019]{margin-bottom:20px;padding:16px}.camera-stage[data-v-6bd76019]{flex-direction:column;align-items:center;gap:12px;display:flex}.camera-video[data-v-6bd76019]{object-fit:contain;background:#111827;border-radius:10px;width:100%;max-height:60vh}.camera-controls[data-v-6bd76019]{gap:10px;display:flex}.camera-idle[data-v-6bd76019]{flex-direction:column;align-items:center;gap:12px;padding:40px 16px;display:flex}.idle-icon[data-v-6bd76019]{font-size:48px}.hint[data-v-6bd76019]{color:var(--text-muted);margin:0;font-size:13px}.photo-stage[data-v-6bd76019]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.photo-preview[data-v-6bd76019]{object-fit:contain;border:1px solid var(--border);border-radius:10px;width:100%;max-height:420px}.actions[data-v-6bd76019]{flex-wrap:wrap;gap:10px;display:flex}.fallback-card[data-v-6bd76019]{margin-bottom:20px;padding:16px}.panel-title[data-v-6bd76019]{margin-bottom:6px;font-size:16px;font-weight:600}.panel-desc[data-v-6bd76019]{color:var(--text-secondary);margin-bottom:12px;font-size:13px}.file-input[data-v-6bd76019]{border:2px dashed var(--border);border-radius:8px;width:100%;padding:10px;font-size:13px}.error-msg[data-v-6bd76019]{color:#fca5a5;background:#f871711f;border-radius:6px;width:100%;margin-top:12px;padding:8px 12px;font-size:13px}.result-card[data-v-6bd76019]{padding:16px}.result-head[data-v-6bd76019]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.result-file[data-v-6bd76019]{color:var(--text-muted);font-size:12px}.result-content[data-v-6bd76019]{white-space:pre-wrap;word-break:break-word;background:var(--surface);color:var(--text);border-radius:8px;max-height:460px;margin-bottom:14px;padding:14px;font-family:inherit;font-size:13px;line-height:1.7;overflow-y:auto}.ss[data-v-35b6e936]{width:100%;position:relative}.ss-trigger[data-v-35b6e936]{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:14px;display:flex}.ss-trigger[data-v-35b6e936]:focus{border-color:var(--border-strong);outline:none;box-shadow:0 0 0 3px #22d3ee29}.ss.disabled .ss-trigger[data-v-35b6e936]{cursor:not-allowed;color:var(--text-muted);background:#94a3b81a}.ss-value[data-v-35b6e936]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ss-placeholder[data-v-35b6e936]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ss-arrow[data-v-35b6e936]{color:var(--text-muted);flex:none;font-size:10px}.ss-panel[data-v-35b6e936]{z-index:60;background:var(--surface);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow-pop);border-radius:8px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;right:0}.ss-input[data-v-35b6e936]{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;margin-bottom:6px;padding:7px 10px;font-size:13px}.ss-input[data-v-35b6e936]:focus{border-color:var(--border-strong);outline:none}.ss-list[data-v-35b6e936]{max-height:220px;overflow-y:auto}.ss-item[data-v-35b6e936]{color:var(--text-body);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:7px 10px;font-size:13px;overflow:hidden}.ss-item[data-v-35b6e936]:hover,.ss-item.active[data-v-35b6e936]{color:var(--primary);background:#22d3ee1f}.ss-empty[data-v-35b6e936]{color:var(--text-muted);padding:8px 10px;font-size:12px}.users-page[data-v-367030c7]{padding:20px 16px}.sub-title[data-v-367030c7]{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.tab-bar[data-v-367030c7]{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.tab-bar[data-v-367030c7]::-webkit-scrollbar{display:none}.tab-btn[data-v-367030c7]{white-space:nowrap;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:none;padding:8px 14px;font-size:13px;transition:all .15s}.tab-btn.active[data-v-367030c7]{color:#22d3ee;background:#22d3ee1a;border-color:#22d3ee80}.sub-tab-bar[data-v-367030c7]{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;margin-bottom:12px;display:flex;overflow-x:auto}.sub-tab-bar[data-v-367030c7]::-webkit-scrollbar{display:none}.sub-tab-btn[data-v-367030c7]{white-space:nowrap;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:none;padding:6px 12px;font-size:13px;transition:all .15s}.sub-tab-btn.active[data-v-367030c7]{color:#22d3ee;background:#22d3ee1a;border-color:#22d3ee80}.perm-panel[data-v-367030c7]{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);border-radius:12px;padding:16px}.perm-tip[data-v-367030c7]{color:var(--text-secondary);margin-bottom:12px;font-size:13px}.perm-table-wrap[data-v-367030c7]{overflow-x:auto}.perm-table[data-v-367030c7]{border-collapse:collapse;width:100%;font-size:12px}.perm-table th[data-v-367030c7],.perm-table td[data-v-367030c7]{text-align:left;border-bottom:1px solid var(--border);padding:10px 5px}.perm-table th[data-v-367030c7]{color:var(--text-secondary);white-space:normal;background:#94a3b814;font-size:12px;font-weight:600;line-height:1.25}.perm-table td[data-v-367030c7]{color:var(--text)}.td-resource[data-v-367030c7]{font-weight:600;line-height:1.3}.td-perm[data-v-367030c7]{white-space:nowrap;text-align:center!important}.perm-badge[data-v-367030c7]{border-radius:9px;padding:1px 7px;font-size:11px;font-weight:600;line-height:1.5;display:inline-block}.perm-all[data-v-367030c7]{color:#34d399;background:#10b98126}.perm-read[data-v-367030c7]{color:#22d3ee;background:#22d3ee24}.perm-exam[data-v-367030c7]{color:#60a5fa;background:#3b82f626}.perm-none[data-v-367030c7]{color:var(--text-muted);background:#94a3b81f}.scope-table-wrap[data-v-367030c7]{margin-top:8px;overflow-x:auto}.scope-table[data-v-367030c7]{border-collapse:collapse;width:100%;font-size:12px}.scope-table th[data-v-367030c7],.scope-table td[data-v-367030c7]{text-align:left;border-bottom:1px solid var(--border);padding:8px}.scope-table th[data-v-367030c7]{color:var(--text-secondary);white-space:nowrap;background:#94a3b814;font-weight:600}.scope-table td[data-v-367030c7]{color:var(--text)}.scope-role[data-v-367030c7]{font-weight:600}.perm-note[data-v-367030c7]{color:var(--text-secondary);margin-top:14px;font-size:12px;line-height:2}.search-row[data-v-367030c7]{align-items:center;gap:10px;margin-bottom:16px;display:flex}.search-input[data-v-367030c7]{border:1px solid var(--border);min-width:0;color:var(--text);background:var(--surface);border-radius:8px;flex:1;padding:10px 12px;font-size:14px}.search-input[data-v-367030c7]:focus{border-color:var(--border-strong);outline:none;box-shadow:0 0 0 3px #22d3ee29}.search-input[data-v-367030c7]::placeholder{color:var(--text-muted)}.search-select[data-v-367030c7]{flex:0 0 180px}.search-count[data-v-367030c7]{color:var(--text-secondary);flex-shrink:0;font-size:12px}.error-msg[data-v-367030c7]{color:#fca5a5;background:#f871711f;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:13px}.user-list[data-v-367030c7]{flex-direction:column;gap:12px;display:flex}.pagination[data-v-367030c7]{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.page-btn[data-v-367030c7]{border:1px solid var(--border);background:var(--surface);color:var(--text-body);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px}.page-btn[data-v-367030c7]:hover:not(:disabled){border-color:var(--border-strong);color:var(--primary)}.page-btn[data-v-367030c7]:disabled{opacity:.4;cursor:not-allowed}.page-info[data-v-367030c7]{color:var(--text-secondary);font-size:13px}.user-card[data-v-367030c7]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;padding:14px 16px}.user-head[data-v-367030c7]{justify-content:space-between;align-items:center;gap:8px;display:flex}.user-title[data-v-367030c7]{align-items:center;gap:8px;min-width:0;display:flex}.title-account[data-v-367030c7]{color:var(--text-secondary);font-size:13px}.delete-btn[data-v-367030c7]{background:var(--surface);color:#fca5a5;cursor:pointer;border:1px solid #f8717159;border-radius:8px;flex-shrink:0;align-items:center;gap:3px;padding:4px 10px;font-size:12px;transition:all .15s;display:inline-flex}.delete-btn[data-v-367030c7]:active{background:#f8717129}.delete-btn[data-v-367030c7]:disabled{border-color:var(--border);color:var(--text-muted);cursor:not-allowed}.role-badge[data-v-367030c7]{color:#fff;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.badge-group[data-v-367030c7]{background:#6366f1}.badge-admin[data-v-367030c7]{background:#f59e0b}.badge-staff[data-v-367030c7]{background:#3b82f6}.badge-student[data-v-367030c7]{background:#10b981}.user-row[data-v-367030c7]{margin-top:10px}.user-org-row[data-v-367030c7]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.org-label[data-v-367030c7]{color:var(--text-secondary);flex-shrink:0;font-size:13px}.org-select[data-v-367030c7]{flex:1;min-width:120px}.org-text[data-v-367030c7]{color:var(--text);flex:1;font-size:13px}.save-btn[data-v-367030c7]{flex-shrink:0}.self-tag[data-v-367030c7]{color:#a5b4fc;background:#6366f11f;border-radius:6px;flex-shrink:0;padding:1px 6px;font-size:11px}.user-edit[data-v-367030c7]{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.edit-select[data-v-367030c7]{border:1px solid var(--border);min-width:120px;color:var(--text);background:var(--surface);border-radius:8px;flex:1;padding:8px 10px;font-size:13px}.edit-select[data-v-367030c7]:focus{border-color:var(--border-strong);outline:none;box-shadow:0 0 0 3px #22d3ee29}.edit-select[data-v-367030c7]:disabled{color:var(--text-muted);background:#94a3b81a}@media (width<=640px){.org-label[data-v-367030c7]{flex-shrink:0}.org-select[data-v-367030c7],.position-select[data-v-367030c7]{box-sizing:border-box;flex:calc(100% - 76px);min-width:0;max-width:100%}.save-btn[data-v-367030c7]{flex:100%;width:100%}}.org-page[data-v-ff746aea]{padding:20px 16px}.page-title[data-v-ff746aea]{color:var(--text);margin-bottom:4px;font-size:20px;font-weight:700}.sub-title[data-v-ff746aea]{color:var(--text-secondary);margin-bottom:16px;font-size:13px;line-height:1.6}.error-msg[data-v-ff746aea]{color:#fca5a5;background:#f871711f;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:13px}.ok-msg[data-v-ff746aea]{color:#34d399;background:#10b9811f;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:13px}.toolbar[data-v-ff746aea]{margin-bottom:12px}.org-list[data-v-ff746aea]{flex-direction:column;gap:8px;display:flex}.org-row[data-v-ff746aea]{background:var(--surface);border:1px solid var(--border);border-left:3px solid #22d3ee59;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.org-row.leaf[data-v-ff746aea]{border-left-color:var(--primary)}.org-main[data-v-ff746aea]{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.org-indent[data-v-ff746aea]{white-space:pre;color:var(--text-muted);flex:none;font-size:12px}.toggle-btn[data-v-ff746aea]{border:1px solid var(--border);background:var(--surface);width:20px;height:20px;color:var(--text-secondary);cursor:pointer;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;font-size:10px;line-height:1;display:inline-flex}.toggle-btn[data-v-ff746aea]:hover{border-color:var(--border-strong);color:var(--primary)}.toggle-spacer[data-v-ff746aea]{flex:none;width:20px;height:20px}.org-name[data-v-ff746aea]{color:var(--text);font-size:14px;font-weight:600}.org-id[data-v-ff746aea]{color:var(--text-muted);font-size:12px}.org-tag[data-v-ff746aea]{border-radius:6px;padding:1px 6px;font-size:11px}.tag-leaf[data-v-ff746aea]{color:#a5b4fc;background:#6366f11f}.tag-branch[data-v-ff746aea]{color:var(--text-secondary);background:#94a3b824}.org-actions[data-v-ff746aea]{flex-shrink:0;gap:6px;display:flex}.mini-btn[data-v-ff746aea]{border:1px solid var(--border);background:var(--surface);color:var(--text-body);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:12px}.mini-btn[data-v-ff746aea]:hover{border-color:var(--border-strong);color:var(--primary)}.mini-btn.danger[data-v-ff746aea]:hover{color:#fca5a5;border-color:#f87171}.form-overlay[data-v-ff746aea]{z-index:200;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.form-panel[data-v-ff746aea]{background:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow-pop);border-radius:14px;padding:20px}.form-head[data-v-ff746aea]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.form-title[data-v-ff746aea]{color:var(--text);font-size:16px;font-weight:700}.form-close[data-v-ff746aea]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:16px}.form-group[data-v-ff746aea]{margin-bottom:14px}.form-label[data-v-ff746aea]{color:var(--text-body);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-hint[data-v-ff746aea]{color:var(--text-muted);font-weight:400}.form-input[data-v-ff746aea]{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface);border-radius:8px;outline:none;padding:9px 12px;font-size:14px}.form-input[data-v-ff746aea]:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px #22d3ee29}.form-input[data-v-ff746aea]:disabled{color:var(--text-muted);background:#94a3b81a}.form-textarea[data-v-ff746aea]{resize:vertical;min-height:84px;font-family:inherit;line-height:1.6}.form-actions[data-v-ff746aea]{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.page[data-v-244d00d7]{padding:8px 0}.page-head[data-v-244d00d7]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.page-title[data-v-244d00d7]{align-items:center;gap:6px;margin-bottom:0;display:flex}.back-btn[data-v-244d00d7]{color:var(--primary);background:#6366f11f;border-color:#6366f11f;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.org-intro[data-v-244d00d7]{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);box-shadow:var(--shadow-card);border-radius:12px;margin-bottom:16px;padding:14px 16px}.intro-head[data-v-244d00d7]{color:var(--text);align-items:center;gap:6px;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.intro-body[data-v-244d00d7]{color:var(--text-body);white-space:pre-wrap;font-size:13px;line-height:1.7}.notice[data-v-244d00d7]{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.list[data-v-244d00d7]{flex-direction:column;gap:10px;display:flex}.item[data-v-244d00d7]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.item-main[data-v-244d00d7]{flex:1}.item-title[data-v-244d00d7]{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:600}.item-desc[data-v-244d00d7]{color:var(--text-muted);font-size:12px;line-height:1.5}.item-tag[data-v-244d00d7]{color:#fbbf24;background:#f59e0b1f;border-radius:6px;flex:none;padding:3px 8px;font-size:11px;font-weight:500}.page[data-v-c6f5165a]{padding:8px 0}.page-head[data-v-c6f5165a]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.page-title[data-v-c6f5165a]{align-items:center;gap:6px;margin-bottom:0;display:flex}.back-btn[data-v-c6f5165a]{color:var(--primary);background:#6366f11f;border-color:#6366f11f;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.section[data-v-c6f5165a]{margin-bottom:20px}.section-title[data-v-c6f5165a]{color:var(--text);align-items:center;gap:6px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.empty-tip[data-v-c6f5165a]{color:var(--text-muted);background:var(--surface);border:1px dashed var(--border);text-align:center;border-radius:10px;padding:14px;font-size:13px}.clickable[data-v-c6f5165a]{cursor:pointer}.clickable[data-v-c6f5165a]:hover{border-color:var(--border-strong)}.tag-open[data-v-c6f5165a]{color:#22d3ee;background:#22d3ee1f}.list[data-v-c6f5165a]{flex-direction:column;gap:10px;display:flex}.item[data-v-c6f5165a]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.item-main[data-v-c6f5165a]{flex:1}.item-title[data-v-c6f5165a]{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:600}.item-desc[data-v-c6f5165a]{color:var(--text-muted);font-size:12px;line-height:1.5}.item-tag[data-v-c6f5165a]{color:#fbbf24;background:#f59e0b1f;border-radius:6px;flex:none;padding:3px 8px;font-size:11px;font-weight:500}.worklog-page[data-v-0bf143fc]{padding:20px 16px}.page-head[data-v-0bf143fc]{align-items:center;gap:10px;margin-bottom:16px;display:flex}.page-title[data-v-0bf143fc]{color:var(--text);align-items:center;gap:6px;font-size:20px;font-weight:700;display:flex}.msg[data-v-0bf143fc]{border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:13px}.msg.error[data-v-0bf143fc]{color:#fca5a5;background:#f871711f}.msg.ok[data-v-0bf143fc]{color:#34d399;background:#10b9811f}.card[data-v-0bf143fc]{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:16px}.panel-title[data-v-0bf143fc]{color:var(--text);margin-bottom:12px;font-size:15px;font-weight:600}.toolbar[data-v-0bf143fc]{margin-bottom:12px}.empty-tip[data-v-0bf143fc]{text-align:center;color:var(--text-secondary);font-size:13px;line-height:1.8}.table-wrap[data-v-0bf143fc]{overflow-x:auto}.log-table[data-v-0bf143fc]{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.log-table th[data-v-0bf143fc]{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);background:#94a3b814;padding:8px 10px;font-weight:600}.log-table td[data-v-0bf143fc]{color:var(--text-body);border-bottom:1px solid var(--border);padding:8px 10px}.ops[data-v-0bf143fc]{gap:6px;display:flex}.group-title[data-v-0bf143fc]{color:var(--primary);cursor:pointer;font-weight:600}.group-title[data-v-0bf143fc]:hover{text-decoration:underline}.detail-head[data-v-0bf143fc]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.detail-title[data-v-0bf143fc]{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;font-weight:600;overflow:hidden}.filter-bar[data-v-0bf143fc]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filter-select[data-v-0bf143fc]{flex:0 0 200px}.filter-input[data-v-0bf143fc]{flex:1;min-width:0}.range-group[data-v-0bf143fc]{flex:none;gap:6px;display:flex}.range-btn[data-v-0bf143fc]{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:7px 12px;font-size:12px}.range-btn[data-v-0bf143fc]:hover{border-color:var(--border-strong);color:var(--primary)}.range-btn.active[data-v-0bf143fc]{color:#22d3ee;background:#22d3ee1f;border-color:#22d3ee80}.form-input[data-v-0bf143fc],.filter-select[data-v-0bf143fc],.filter-input[data-v-0bf143fc]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;outline:none;padding:9px 12px;font-size:14px}.form-input[data-v-0bf143fc]{width:100%}.form-input[data-v-0bf143fc]:focus,.filter-input[data-v-0bf143fc]:focus,.filter-select[data-v-0bf143fc]:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px #22d3ee29}.modal-overlay[data-v-0bf143fc]{z-index:220;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-panel[data-v-0bf143fc]{background:var(--surface);width:100%;max-width:720px;max-height:88vh;box-shadow:var(--shadow-pop);border-radius:14px;padding:20px;overflow-y:auto}.modal-head[data-v-0bf143fc]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-title[data-v-0bf143fc]{color:var(--text);font-size:16px;font-weight:700}.modal-close[data-v-0bf143fc]{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.form-group[data-v-0bf143fc]{margin-bottom:14px}.form-group>label[data-v-0bf143fc]{color:var(--text-body);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-group em[data-v-0bf143fc]{color:#f87171;font-style:normal}.form-hint[data-v-0bf143fc]{color:var(--text-muted);margin-top:6px;font-size:12px;line-height:1.5}.checkbox-line[data-v-0bf143fc]{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.field-list[data-v-0bf143fc]{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.field-row[data-v-0bf143fc]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field-label[data-v-0bf143fc]{flex:160px}.field-type[data-v-0bf143fc]{flex:0 0 110px}.field-required[data-v-0bf143fc]{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.field-options[data-v-0bf143fc]{flex:100%}.staff-list[data-v-0bf143fc]{border:1px solid var(--border);border-radius:8px;max-height:200px;margin-top:8px;padding:8px;overflow-y:auto}.grant-grid[data-v-0bf143fc]{grid-template-columns:1.4fr 1fr;gap:12px;display:grid}.granted-col[data-v-0bf143fc]{padding-top:46px}.grant-col-title[data-v-0bf143fc]{color:var(--text-secondary);margin-bottom:4px;font-size:12px}.grant-remove[data-v-0bf143fc]{color:#fca5a5;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:12px}.grant-remove[data-v-0bf143fc]:hover{text-decoration:underline}@media (width<=640px){.grant-grid[data-v-0bf143fc]{grid-template-columns:1fr}.granted-col[data-v-0bf143fc]{padding-top:0}}.staff-item[data-v-0bf143fc]{color:var(--text-body);cursor:pointer;align-items:center;gap:8px;padding:5px 4px;font-size:13px;display:flex}.staff-name[data-v-0bf143fc]{color:var(--text)}.staff-org[data-v-0bf143fc]{color:var(--text-muted);font-size:12px}.form-actions[data-v-0bf143fc]{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.empty-state[data-v-0bf143fc]{text-align:center;color:var(--text-muted);padding:20px 0;font-size:13px}.pagination[data-v-0bf143fc]{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.page-btn[data-v-0bf143fc]{border:1px solid var(--border);background:var(--surface);color:var(--text-body);cursor:pointer;border-radius:6px;padding:5px 12px;font-size:12px}.page-btn[data-v-0bf143fc]:disabled{opacity:.45;cursor:not-allowed}.page-info[data-v-0bf143fc]{color:var(--text-secondary);font-size:12px}.fill-page[data-v-5775567f]{padding:20px 16px}.page-head[data-v-5775567f]{align-items:center;gap:10px;margin-bottom:16px;display:flex}.page-title[data-v-5775567f]{color:var(--text);align-items:center;gap:6px;font-size:20px;font-weight:700;display:flex}.msg[data-v-5775567f]{border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:13px}.msg.error[data-v-5775567f]{color:#fca5a5;background:#f871711f}.msg.ok[data-v-5775567f]{color:#34d399;background:#10b9811f}.card[data-v-5775567f]{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:16px}.panel-title[data-v-5775567f]{color:var(--text);margin-bottom:12px;font-size:15px;font-weight:600}.form-grid[data-v-5775567f]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-group.full[data-v-5775567f]{grid-column:1/-1}.form-group label[data-v-5775567f]{color:var(--text-body);margin-bottom:5px;font-size:13px;display:block}.form-group em[data-v-5775567f]{color:#f87171;font-style:normal}.form-input[data-v-5775567f]{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;outline:none;padding:9px 12px;font-size:14px}.form-input[data-v-5775567f]:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px #22d3ee29}.textarea[data-v-5775567f]{resize:vertical;font-family:inherit}.parse-tip[data-v-5775567f]{color:var(--text-muted);margin-bottom:8px;font-size:12px;line-height:1.6}.parse-actions[data-v-5775567f]{align-items:center;gap:10px;margin-top:10px;display:flex}.parse-msg[data-v-5775567f]{color:#34d399;font-size:12px}.edit-tip[data-v-5775567f]{color:#fbbf24;background:#f59e0b1f;border-radius:6px;margin-bottom:10px;padding:6px 10px;font-size:12px}.muted[data-v-5775567f]{color:var(--text-muted)}.form-actions[data-v-5775567f]{justify-content:flex-end;margin-top:14px;display:flex}.table-wrap[data-v-5775567f]{overflow-x:auto}.log-table[data-v-5775567f]{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.log-table th[data-v-5775567f]{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);background:#94a3b814;padding:8px 10px;font-weight:600}.log-table td[data-v-5775567f]{color:var(--text-body);border-bottom:1px solid var(--border);padding:8px 10px}.empty-state[data-v-5775567f]{text-align:center;color:var(--text-muted);padding:24px 0;font-size:13px}.page[data-v-ac802616]{max-width:1200px;margin:0 auto;padding:16px}.page-head[data-v-ac802616]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-title[data-v-ac802616]{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;display:flex}.filter-bar[data-v-ac802616]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.range-group[data-v-ac802616]{gap:6px;display:flex}.range-btn[data-v-ac802616]{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:7px 12px;font-size:12px}.range-btn.active[data-v-ac802616]{color:#22d3ee;background:#22d3ee1f;border-color:#22d3ee80}.date-input[data-v-ac802616]{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:6px;padding:7px 10px;font-size:13px}.sep[data-v-ac802616]{color:var(--text-muted);font-size:12px}.stats[data-v-ac802616]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.stat-card[data-v-ac802616]{border:1px solid var(--border);background:var(--surface-glass);border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.stat-label[data-v-ac802616]{color:var(--text-muted);font-size:12px}.stat-value[data-v-ac802616]{color:var(--text-primary);font-size:22px}.stat-value.muted[data-v-ac802616]{color:var(--text-secondary)}.stat-value.up[data-v-ac802616]{color:#34d399}.stat-value.down[data-v-ac802616]{color:#f87171}.chart-grid[data-v-ac802616]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.chart-card[data-v-ac802616]{border:1px solid var(--border);background:var(--surface-glass);border-radius:12px;padding:14px 16px}.chart-card.wide[data-v-ac802616]{grid-column:1/-1}.chart-title[data-v-ac802616]{color:var(--text-secondary);margin:0 0 8px;font-size:14px}.chart[data-v-ac802616]{width:100%;height:260px}.card.empty[data-v-ac802616]{color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:40px 16px;display:flex}.msg.error[data-v-ac802616]{color:#f87171;margin-bottom:12px;font-size:13px}.modal-mask[data-v-ac802616]{z-index:60;background:#020617b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal[data-v-ac802616]{border:1px solid var(--border);background:#0f172a;border-radius:14px;width:100%;max-width:640px;max-height:86vh;padding:18px;overflow:auto}.modal-head[data-v-ac802616]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-head h3[data-v-ac802616]{color:var(--text-primary);margin:0;font-size:16px}.grant-form[data-v-ac802616]{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.grant-form .form-input[data-v-ac802616]{border:1px solid var(--border);background:var(--surface);min-width:140px;color:var(--text-primary);border-radius:6px;flex:1;padding:8px 10px;font-size:13px}.viewer-list[data-v-ac802616]{flex-direction:column;gap:8px;display:flex}.viewer-item[data-v-ac802616]{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.viewer-main[data-v-ac802616]{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.viewer-name[data-v-ac802616]{color:var(--text-primary);font-size:13px}.viewer-org[data-v-ac802616],.viewer-scope[data-v-ac802616]{color:var(--text-muted);font-size:12px}.empty-tip[data-v-ac802616]{text-align:center;color:var(--text-muted);padding:20px 0;font-size:13px}@media (width<=720px){.stats[data-v-ac802616]{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid[data-v-ac802616]{grid-template-columns:minmax(0,1fr)}}.dashboard-page[data-v-c96a42e0]{padding:20px 16px}.page-head[data-v-c96a42e0]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-title[data-v-c96a42e0]{color:var(--text);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:650;display:flex}.head-actions[data-v-c96a42e0]{align-items:center;gap:10px;display:flex}.updated[data-v-c96a42e0]{color:var(--text-muted);font-size:12px}.error-msg[data-v-c96a42e0]{color:#fca5a5;background:#f871711f;border:1px solid #f871714d;border-radius:8px;margin-bottom:14px;padding:8px 12px;font-size:13px}.stat-grid[data-v-c96a42e0]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}@media (width<=900px){.stat-grid[data-v-c96a42e0]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.stat-grid[data-v-c96a42e0]{grid-template-columns:1fr}}.stat-card[data-v-c96a42e0]{background:linear-gradient(180deg, var(--surface), var(--bg-elev));border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:14px;padding:16px 18px}.stat-card.clickable[data-v-c96a42e0]{cursor:pointer;transition:border-color .15s,box-shadow .15s}.stat-card.clickable[data-v-c96a42e0]:hover{border-color:var(--border-strong);box-shadow:var(--glow-primary);transform:translateY(-1px)}.stat-label[data-v-c96a42e0]{color:var(--text-secondary);margin-bottom:8px;font-size:12px}.stat-value[data-v-c96a42e0]{color:var(--text);font-size:26px;font-weight:700;line-height:1.2}.accent-cyan[data-v-c96a42e0]{color:#22d3ee}.accent-violet[data-v-c96a42e0]{color:#a855f7}.accent-amber[data-v-c96a42e0]{color:#fbbf24}.accent-emerald[data-v-c96a42e0]{color:#34d399}.stat-sub[data-v-c96a42e0]{color:var(--text-muted);margin-top:6px;font-size:12px;line-height:1.4}.chart-grid[data-v-c96a42e0]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}@media (width<=900px){.chart-grid[data-v-c96a42e0]{grid-template-columns:1fr}}.chart-card[data-v-c96a42e0]{margin-bottom:0}.chart-head[data-v-c96a42e0]{color:var(--text);margin-bottom:8px;font-size:14px;font-weight:600}.sub-head[data-v-c96a42e0]{margin-top:18px}.chart[data-v-c96a42e0]{width:100%;height:240px}.detail-card[data-v-c96a42e0]{margin-bottom:0}.detail-list[data-v-c96a42e0]{margin:0;padding:0;list-style:none}.detail-list li[data-v-c96a42e0]{border-bottom:1px dashed #94a3b829;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:13px;display:flex}.detail-list li[data-v-c96a42e0]:last-child{border-bottom:none}.detail-name[data-v-c96a42e0]{color:var(--text-secondary)}.detail-value[data-v-c96a42e0]{color:var(--text);font-weight:600}.detail-value em[data-v-c96a42e0]{color:var(--text-muted);margin-left:8px;font-size:12px;font-style:normal;font-weight:400}.detail-tip[data-v-c96a42e0]{color:var(--text-muted);margin:8px 0 0;font-size:12px;line-height:1.5}.table-card[data-v-c96a42e0]{margin-bottom:0}.table-wrap[data-v-c96a42e0]{overflow-x:auto}.data-table[data-v-c96a42e0]{border-collapse:collapse;width:100%;min-width:520px;font-size:13px}.data-table th[data-v-c96a42e0],.data-table td[data-v-c96a42e0]{text-align:left;color:var(--text-body);white-space:nowrap;border-bottom:1px solid #94a3b824;padding:10px 12px}.data-table th[data-v-c96a42e0]{color:var(--text-secondary);background:#22d3ee0f;font-weight:500}.data-table tfoot td[data-v-c96a42e0]{color:var(--text);border-bottom:none;font-weight:600}.table-tip[data-v-c96a42e0]{color:var(--text-muted);margin:10px 0 0;font-size:12px;line-height:1.5}.row-clickable[data-v-c96a42e0]{cursor:pointer;transition:background .15s}.row-clickable:hover td[data-v-c96a42e0]{background:#22d3ee0f}.cell-user[data-v-c96a42e0]{color:var(--text);font-weight:500}.cell-strong[data-v-c96a42e0]{color:var(--primary);font-weight:600}.tag-muted[data-v-c96a42e0]{color:var(--text-muted);background:#94a3b81a;border-color:#94a3b833}.tag-active[data-v-c96a42e0]{background:var(--accent-soft);color:var(--accent);border-color:#a855f747}.cell-tags[data-v-c96a42e0]{white-space:nowrap}.drawer-mask[data-v-c96a42e0]{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#03060f99;justify-content:flex-end;display:flex;position:fixed;inset:0}.detail-drawer[data-v-c96a42e0]{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:min(560px,92vw);height:100%;animation:.22s drawer-in-c96a42e0;display:flex;box-shadow:-16px 0 40px #02061799}@keyframes drawer-in-c96a42e0{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.drawer-head[data-v-c96a42e0]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.drawer-title[data-v-c96a42e0]{color:var(--text);align-items:center;gap:8px;font-size:16px;font-weight:650;display:flex}.drawer-close[data-v-c96a42e0]{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;font-size:18px;line-height:1;transition:all .15s}.drawer-close[data-v-c96a42e0]:hover{color:var(--text);border-color:var(--border-strong)}.drawer-toolbar[data-v-c96a42e0]{align-items:center;gap:8px;padding:12px 18px;display:flex}.drawer-search[data-v-c96a42e0]{flex:1}.table-wrap[data-v-c96a42e0]{flex:1;padding:0 18px;overflow-y:auto}.detail-table[data-v-c96a42e0]{min-width:0}.detail-table th[data-v-c96a42e0],.detail-table td[data-v-c96a42e0]{white-space:nowrap}.drawer-empty[data-v-c96a42e0]{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:13px}.drawer-pager[data-v-c96a42e0]{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:12px;padding:12px 18px 16px;display:flex}.pager-info[data-v-c96a42e0]{color:var(--text-secondary);font-size:12px}.profile-page[data-v-08593c7d]{flex-direction:column;gap:14px;padding:20px 16px;display:flex}.page-title[data-v-08593c7d]{align-items:center;gap:8px;margin:0 0 2px;display:flex}.identity-card[data-v-08593c7d]{align-items:center;gap:16px;margin-bottom:0;display:flex}.avatar[data-v-08593c7d]{color:#041018;background:linear-gradient(135deg, var(--primary), var(--accent));width:64px;height:64px;box-shadow:var(--glow-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:26px;font-weight:700;display:flex}.identity-main[data-v-08593c7d]{flex-direction:column;gap:6px;min-width:0;display:flex}.identity-name[data-v-08593c7d]{color:var(--text);align-items:center;gap:8px;font-size:18px;font-weight:650;display:flex}.identity-sub[data-v-08593c7d]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.identity-username[data-v-08593c7d]{color:var(--text-muted);font-size:13px}.identity-meta[data-v-08593c7d]{color:var(--text-secondary);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.badge[data-v-08593c7d]{color:var(--primary);background:var(--primary-soft);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.badge-gold[data-v-08593c7d]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-soft)}.card-head[data-v-08593c7d]{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.card-title[data-v-08593c7d]{color:var(--text);align-items:center;gap:6px;font-size:15px;font-weight:650;display:inline-flex}.card-tip[data-v-08593c7d]{color:var(--text-muted);font-size:12px}.readonly-grid[data-v-08593c7d]{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-bottom:14px;padding:12px 14px;display:grid}@media (width<=560px){.readonly-grid[data-v-08593c7d]{grid-template-columns:1fr}}.readonly-item[data-v-08593c7d]{flex-direction:column;gap:2px;min-width:0;display:flex}.readonly-label[data-v-08593c7d]{color:var(--text-muted);font-size:12px}.readonly-value[data-v-08593c7d]{color:var(--text-body);word-break:break-all;font-size:14px}.phone-current[data-v-08593c7d]{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex}.phone-value[data-v-08593c7d]{color:var(--text);letter-spacing:.04em;font-size:15px;font-weight:600}.sms-row[data-v-08593c7d]{align-items:center;gap:8px;display:flex}.sms-row .form-input[data-v-08593c7d]{flex:1;min-width:0}.sms-btn[data-v-08593c7d]{white-space:nowrap;flex:none}.pwd-wrap[data-v-08593c7d]{position:relative}.pwd-wrap .form-input[data-v-08593c7d]{padding-right:40px}.pwd-toggle[data-v-08593c7d]{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.pwd-toggle svg[data-v-08593c7d]{width:18px;height:18px}.pwd-toggle[data-v-08593c7d]:hover{color:var(--text-secondary)}.msg[data-v-08593c7d]{border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:13px}.msg.success[data-v-08593c7d]{color:#6ee7b7;background:#10b9811f;border:1px solid #10b9814d}.msg.error[data-v-08593c7d]{color:#fca5a5;background:#f871711f;border:1px solid #f871714d}.form-hint[data-v-08593c7d]{color:var(--text-muted);margin:10px 0 0;font-size:12px;line-height:1.5}
