:root{--color-page: #f5f6f8;--color-surface: #ffffff;--color-surface-soft: #fafafa;--color-border: rgba(15, 23, 42, .08);--color-border-strong: rgba(15, 23, 42, .12);--color-text: #111827;--color-text-secondary: #475467;--color-text-muted: #667085;--color-text-placeholder: #98a2b3;--color-brand: #cf723d;--color-brand-hover: #b85f2f;--color-brand-soft: #fff4e8;--color-brand-border: #ffd6a8;--color-brand-ring: color-mix(in srgb, var(--color-brand) 14%, transparent);--color-sidebar: #0f1720;--color-sidebar-soft: #151f2c;--color-sidebar-active: #202b3a;--badge-success-bg: #ecfdf3;--badge-success-text: #027a48;--badge-success-border: #abefc6;--badge-warning-bg: #fff4e8;--badge-warning-text: #b75e1c;--badge-warning-border: #ffd6a8;--badge-danger-bg: #fef3f2;--badge-danger-text: #b42318;--badge-danger-border: #fecdca;--badge-info-bg: #eff8ff;--badge-info-text: #175cd3;--badge-info-border: #b2ddff;--badge-muted-bg: #f2f4f7;--badge-muted-text: #667085;--badge-muted-border: #d0d5dd;--radius-sm: 8px;--radius-md: 10px;--radius-popover: 12px;--radius-card: 16px;--radius-modal: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .04);--shadow-popover: 0 12px 32px rgba(16, 24, 40, .12);--font-page-title: 24px;--font-section-title: 18px;--font-body: 14px;--font-helper: 13px;--line-page-title: 32px;--line-section-title: 26px;--line-body: 22px;--line-helper: 20px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--ink: #0c1117;--ink-soft: #1a222d;--sider-bg: var(--color-sidebar);--sider-bg-elevated: var(--color-sidebar-soft);--sider-text: rgba(248, 250, 252, .88);--sider-text-dim: rgba(248, 250, 252, .52);--sider-hover: rgba(255, 255, 255, .05);--sider-active-bg: var(--color-sidebar-active);--sider-active-solid: var(--color-brand);--sider-divider: rgba(255, 255, 255, .06);--btn-primary-bg: var(--color-brand);--btn-primary-text: #ffffff;--brand: var(--color-brand);--page-bg: var(--color-page);--card-bg: var(--color-surface);--border: var(--color-border);--border-strong: var(--color-border-strong);--text: var(--color-text);--text-muted: var(--color-text-muted);--danger: var(--badge-danger-text);--link-edit: #2563eb;--topbar-h: 52px;--sider-w: 220px;--sider-w-collapsed: 72px;--overview-accent: #0c1117;--overview-muted: #94a3b8}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;background:var(--page-bg);color:var(--text)}body:has(.admin-shell){height:100%;overflow:hidden}#root:has(.admin-shell){height:100%}.admin-shell{display:flex;min-height:100vh;height:100vh;max-height:100vh;overflow:hidden}.admin-sider{width:var(--sider-w);flex-shrink:0;background:var(--sider-bg);display:flex;flex-direction:column;transition:width .18s ease;overflow:hidden;position:sticky;top:0;align-self:flex-start;height:100vh;max-height:100vh}.admin-sider.is-collapsed{width:var(--sider-w-collapsed)}.admin-sider-logo{height:52px;display:flex;align-items:center;padding:0 16px;color:#f8fafcf2;font-weight:600;font-size:14px;letter-spacing:.02em;border-bottom:1px solid var(--sider-divider);gap:8px;white-space:nowrap}.logo-mark{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:visible}.logo-mark svg{display:block;width:26px;height:26px}.logo-text-collapsed{display:none}.admin-sider.is-collapsed .logo-text-collapsed{display:inline}.admin-sider.is-collapsed .logo-text-full{display:none}.admin-nav{flex:1;padding:12px 10px;overflow-y:auto}.admin-nav-btn{position:relative;display:flex;align-items:center;width:calc(100% - 8px);margin:2px 4px;border:none;background:transparent;cursor:pointer;color:var(--sider-text-dim);padding:0 14px;min-height:42px;border-radius:11px;font-size:14px;font-weight:500;text-align:left;gap:10px;letter-spacing:.01em;transition:background .16s ease,color .16s ease}.admin-nav-btn:hover{background:var(--sider-hover);color:var(--sider-text)}.admin-nav-btn.is-active,.admin-nav-btn.is-active:hover{background:var(--sider-active-bg);color:#fff;font-weight:600}.admin-nav-btn.is-active .admin-nav-long,.admin-nav-btn.is-active .admin-nav-short{color:#fff}.admin-nav-btn.is-active:before{content:"";position:absolute;left:-4px;top:50%;width:3px;height:22px;border-radius:var(--radius-pill);background:var(--sider-active-solid);transform:translateY(-50%)}.admin-two-col-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.collection-form-panel{display:flex;flex-direction:column;gap:16px}.collection-form-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--border);background:linear-gradient(135deg,#fff,#fff7ed);border-radius:14px;padding:18px 20px;box-shadow:0 10px 26px #0f172a0f}.collection-form-hero h2{margin:4px 0 6px;font-size:19px;line-height:1.35;color:var(--text)}.collection-form-hero p{margin:0;color:var(--text-muted);font-size:13px}.collection-form-eyebrow{color:var(--brand)!important;font-weight:700;letter-spacing:.04em}.collection-form-hero__stats{min-width:96px;border-radius:14px;background:#ffffffc2;border:1px solid rgba(255,127,50,.18);padding:12px 14px;text-align:center}.collection-form-hero__stats span{display:block;font-size:24px;font-weight:750;color:var(--ink)}.collection-form-hero__stats em{display:block;margin-top:2px;color:var(--text-muted);font-size:12px;font-style:normal}.collection-form-editor{overflow:hidden}.collection-form-editor>.admin-form-stack{gap:0}.collection-form-editor__body{display:flex;flex-direction:column;gap:18px;padding:18px;background:#f8fafc}.collection-form-section,.collection-form-system-fields{border:1px solid var(--border);border-radius:14px;background:#fff;padding:18px;box-shadow:0 8px 22px #0f172a0b}.collection-form-section__head{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px}.collection-form-section__head h3{margin:0 0 4px;font-size:15px;line-height:1.35;color:var(--text)}.collection-form-section__head p{margin:0;color:var(--text-muted);font-size:12.5px;line-height:1.5}.collection-form-step{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ff7f321f;color:var(--brand);font-size:12px;font-weight:800;flex-shrink:0}.collection-form-grid{display:grid;grid-template-columns:minmax(180px,.78fr) minmax(280px,1.22fr);gap:16px}.collection-form-grid .field>span:first-child,.collection-options-field>span:first-child{font-weight:650;color:#334155}.collection-form-input,.collection-form-textarea{border-radius:10px;border-color:#d8dee8;background:#fbfdff;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.collection-form-input{min-height:42px}.collection-form-textarea{min-height:96px;resize:vertical;line-height:1.6}.collection-form-input:focus,.collection-form-textarea:focus{outline:none;border-color:#ff7f329e;background:#fff;box-shadow:0 0 0 3px #ff7f321f}.collection-form-chip-row{display:flex;flex-wrap:wrap;gap:10px}.collection-form-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(12,17,23,.08);background:#f8fafc;color:#475569;font-size:12.5px;font-weight:600}.collection-question-list{display:flex;flex-direction:column;gap:14px}.collection-question-card{position:relative;border:1px solid #dde3ec;border-radius:14px;background:linear-gradient(180deg,#fff,#fbfcfe);overflow:visible;transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease,background .18s ease}.collection-question-card.is-dragging{opacity:.42;border-color:#ff7f328f;background:#fff7ed;box-shadow:0 18px 38px #0f172a24;transform:scale(.985)}.collection-question-card.is-drag-over{border-color:#ff7f32db;background:linear-gradient(180deg,#fffaf5,#fff);box-shadow:0 0 0 4px #ff7f3224,0 16px 34px #0f172a1f;transform:translateY(-2px)}.collection-question-card.is-drop-before:before,.collection-question-card.is-drop-after:after{content:"放到这里";position:absolute;left:16px;right:16px;z-index:3;height:22px;display:flex;align-items:center;justify-content:center;border-top:4px solid var(--brand);border-radius:999px;background:#fff7edf5;color:var(--brand);font-size:11px;font-weight:800;line-height:1;box-shadow:0 0 0 4px #ff7f321f,0 6px 14px #ff7f3238}.collection-question-card.is-drop-before:before{top:-16px}.collection-question-card.is-drop-after:after{bottom:-16px}.collection-question-card__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #edf1f6;background:#fbfcfe}.collection-question-card__title,.collection-question-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.collection-question-drag-handle{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.4);border-radius:8px;background:#fff;color:#94a3b8;font-size:16px;line-height:1;letter-spacing:-4px;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #0f172a0d;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,transform .16s ease}.collection-question-drag-handle:hover:not(:disabled){border-color:#ff7f326b;background:#fff7ed;color:var(--brand);box-shadow:0 6px 14px #ff7f3229;transform:translateY(-1px)}.collection-question-drag-handle:active:not(:disabled){cursor:grabbing}.collection-question-drag-handle:disabled{opacity:.38;cursor:not-allowed}.collection-question-index{color:#0f172a;font-weight:750;font-size:14px}.collection-question-type{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:#ff7f321a;color:#c55a17;font-size:12px;font-weight:700}.collection-question-card>.collection-form-grid,.collection-question-card>.collection-options-field{padding:16px}.collection-question-card>.collection-options-field{padding:0 16px 16px}.collection-options-field__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.collection-options-field__head>span{font-weight:650;color:#334155;font-size:13px}.collection-option-list{display:flex;flex-direction:column;gap:10px}.collection-option-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center}.collection-option-row__label{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#f1f5f9;color:#64748b;font-size:12px;font-weight:700}.collection-option-add-btn{min-height:32px;padding:0 12px}.collection-option-remove-btn{min-height:32px;padding:0 10px;color:var(--danger)}.collection-option-remove-btn:disabled{opacity:.35}.collection-add-question-btn{width:100%;min-height:42px;margin-top:14px;border:1px dashed rgba(255,127,50,.45);border-radius:12px;background:#fff7ed;color:var(--brand);font-weight:750;cursor:pointer}.collection-add-question-btn:hover:not(:disabled){background:#ffedd5}.collection-add-question-btn:disabled{opacity:.5;cursor:not-allowed}.collection-summary-panel{overflow:hidden}.collection-summary-title{display:flex;align-items:center;gap:10px;color:var(--text)}.collection-summary-title strong{font-size:16px;font-weight:800}.collection-summary-title span{color:var(--text-muted);font-size:13px}.collection-summary-notice{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 16px 4px;padding:12px 14px;border:1px solid #fed7aa;border-radius:14px;background:linear-gradient(135deg,#fff7ed,#fff 68%);color:#9a3412;font-size:13px}.collection-summary-notice__label{border-radius:999px;background:#ffedd5;color:#c2410c;padding:4px 9px;font-size:12px;font-weight:800}.collection-summary-notice strong{color:#111827;font-size:14px}.collection-summary-layout{display:grid;grid-template-columns:minmax(520px,1fr) minmax(340px,.42fr);gap:16px;padding:16px;background:#f8fafc}.collection-summary-list,.collection-summary-detail{min-width:0;border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 30px #0f172a0d}.collection-summary-detail{padding:0;align-self:start;max-height:calc(100vh - 180px);overflow-y:auto}.collection-summary-detail__head{padding:18px 18px 14px;border-bottom:1px solid #edf1f6;background:linear-gradient(135deg,#fff7ed,#fff 62%)}.collection-summary-detail__head h3{margin:4px 0 8px;color:#0f172a;font-size:18px;line-height:1.3}.collection-summary-detail__head p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.6}.collection-detail-eyebrow{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;background:#ffedd5;color:var(--brand);padding:0 10px;font-size:12px;font-weight:800}.collection-summary-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 16px}.collection-summary-meta div{border:1px solid #edf1f6;border-radius:14px;background:#f8fafc;padding:10px 12px}.collection-summary-meta dt{color:var(--text-muted);font-size:12px}.collection-summary-meta dd{margin:4px 0 0;color:var(--text);font-size:13px;font-weight:650}.collection-answer-list{display:flex;flex-direction:column;gap:12px;padding:0 16px 16px}.collection-answer-card{border:1px solid #eef2f7;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfdff);padding:14px;box-shadow:0 8px 20px #0f172a0a}.collection-answer-card__title{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.collection-answer-card__title span{color:var(--brand);font-size:12px;font-weight:750}.collection-answer-card__title strong{color:#0f172a;font-size:14.5px;line-height:1.45}.collection-answer-text{margin:0;color:#334155;font-size:13.5px;line-height:1.6;white-space:pre-wrap}.collection-media-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.collection-media-list .muted{width:100%;margin:2px 0 0}.collection-media-expire{width:100%;margin:-2px 0 0;color:#94a3b8;font-size:11px;line-height:1.4;font-weight:500}.collection-media-pill{min-height:34px;border:1px solid rgba(37,99,235,.18);border-radius:999px;background:#eff6ff;color:#2563eb;padding:0 14px;font-size:12.5px;font-weight:800;cursor:pointer;box-shadow:0 6px 14px #2563eb14;transition:transform .15s ease,box-shadow .15s ease}.collection-media-pill:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #2563eb1f}.collection-media-pill--video{border-color:#7c3aed33;background:#f5f3ff;color:#7c3aed}.collection-detail-btn{min-height:30px;border:1px solid rgba(255,127,50,.28);border-radius:999px;background:#fff7ed;color:var(--brand);padding:0 13px;font-size:12px;font-weight:800;cursor:pointer}.collection-detail-btn:hover{background:var(--brand);color:#fff}.collection-summary-actions{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.collection-media-pill:disabled{border-color:#e5e7eb;background:#f8fafc;color:#94a3b8;cursor:not-allowed}.text-danger{color:var(--danger)}.collection-media-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:32px}.collection-media-modal__mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a94}.collection-media-modal__panel{position:relative;z-index:1;width:min(980px,92vw);max-height:90vh;border-radius:16px;background:#fff;box-shadow:0 24px 70px #0f172a59;overflow:hidden}.collection-media-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.collection-media-modal__head h3{margin:0;font-size:15px}.collection-media-modal__body{display:flex;align-items:center;justify-content:center;min-height:260px;max-height:calc(90vh - 64px);background:#0f172a;overflow:auto}.collection-media-image{max-width:100%;max-height:calc(90vh - 84px);object-fit:contain}.collection-media-video{width:100%;max-height:calc(90vh - 84px);background:#000}.admin-card--subtle{border:1px solid var(--border);box-shadow:none}.field-inline{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:13px}.data-table-pro tr.is-selected td{background:#ff7f3214}.btn-danger-ghost{border:1px solid var(--badge-danger-border);background:var(--color-surface);color:var(--badge-danger-text);border-radius:var(--radius-md);min-height:36px;padding:0 14px;cursor:pointer;font-size:var(--font-body);font-weight:500}.btn-danger-ghost:disabled{opacity:.55;cursor:not-allowed}.admin-pagination--footer{padding:12px 16px 16px;justify-content:flex-end}@media (max-width: 1200px){.admin-two-col-grid{grid-template-columns:1fr}}@media (max-width: 900px){.collection-form-grid{grid-template-columns:1fr}.collection-form-hero{align-items:flex-start;flex-direction:column}.collection-summary-layout{grid-template-columns:1fr}}.admin-sider.is-collapsed .admin-nav-btn{width:calc(100% - 8px);padding:0;justify-content:center}.admin-sider.is-collapsed .admin-nav-btn.is-active:before{left:2px;height:18px}.admin-nav-short{display:none;font-size:13px;font-weight:500}.admin-sider.is-collapsed .admin-nav-long{display:none}.admin-sider.is-collapsed .admin-nav-short{display:block}.admin-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.admin-topbar{height:var(--topbar-h);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 20px;gap:12px;flex-shrink:0}.admin-topbar-toggle{width:38px;height:38px;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);color:var(--color-text-secondary);display:grid;place-items:center}.admin-topbar-toggle:hover{background:#0000000a}.admin-topbar-token{display:flex;align-items:center;gap:8px;flex-shrink:0}.admin-token-label{font-size:12px;color:var(--text-muted);white-space:nowrap}.admin-token-input{width:clamp(140px,22vw,240px);height:32px;padding:0 10px;font-size:13px;border-radius:var(--radius-md);border:1px solid var(--border)}.btn-token-save{height:32px;padding:0 12px;border-radius:var(--radius-md);border:1px solid #1890ff;background:#1890ff14;color:#1890ff;font-size:13px;cursor:pointer;white-space:nowrap}.btn-token-save:hover{background:#1890ff24}.admin-topbar-fill{flex:1}.admin-topbar-user{font-size:13px;color:var(--text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--page-bg);color:var(--text-muted);font-size:14px}.admin-auth-spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--border);border-top-color:#1677ff;animation:admin-spin .75s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-login-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(207,114,61,.08),transparent 55%),var(--color-page);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.admin-login-shell__main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-6) var(--space-4)}.admin-login-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-6) var(--space-6) var(--space-5);box-shadow:var(--shadow-card)}.admin-login-card__head{margin-bottom:var(--space-5);text-align:center}.admin-login-logo{display:block;max-width:168px;width:100%;height:auto;margin:0 auto var(--space-4)}.admin-login-title{margin:0 0 6px;font-size:var(--font-section-title);line-height:var(--line-section-title);font-weight:600;text-align:center;color:var(--color-text);letter-spacing:-.02em}.admin-login-subtitle{margin:0;font-size:var(--font-helper);color:var(--color-text-muted);letter-spacing:.04em}.admin-login-error{margin:0 0 var(--space-4);padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--badge-danger-border);background:var(--badge-danger-bg);color:var(--badge-danger-text);font-size:var(--font-helper);line-height:1.5}.admin-login-values{margin:0;color:var(--color-brand);font-family:LiSu,隶书,STLiti,华文隶书,serif;font-size:clamp(28px,4vw,38px);font-weight:700;letter-spacing:.18em;line-height:1.45;text-align:center;text-shadow:0 6px 20px color-mix(in srgb,var(--color-brand) 18%,transparent);animation:admin-login-values-fade-in 2s ease .35s both}.admin-icp-footer{flex-shrink:0;text-align:center;padding:16px 24px 20px;font-size:12px;line-height:1.5;color:var(--text-muted)}.admin-icp-footer a{color:var(--text-muted);text-decoration:none}.admin-icp-footer a:hover{color:#1677ff;text-decoration:underline}.admin-main .admin-icp-footer{border-top:1px solid var(--border);background:#ffffffeb}@keyframes admin-login-values-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.admin-login-values{animation:none}}.admin-login-meta{margin:0 0 20px;font-size:12px;color:var(--text-muted);word-break:break-all}.admin-login-form{display:flex;flex-direction:column;gap:var(--space-4)}.admin-login-field>span:first-child{font-size:var(--font-helper);font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.admin-login-input,.admin-login-card .input{min-height:44px;padding:10px 14px;font-size:var(--font-body);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);transition:border-color .15s ease,box-shadow .15s ease}.admin-login-input:hover,.admin-login-card .input:hover{border-color:color-mix(in srgb,var(--color-brand) 22%,var(--color-border-strong))}.admin-login-input:focus,.admin-login-card .input:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-ring)}.admin-login-tip{margin:0;line-height:1.6;color:var(--color-text-muted);font-size:var(--font-helper)}.admin-login-tip code{font-size:12px}.admin-login-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:var(--space-2);padding:0 var(--space-4);border:none;border-radius:var(--radius-md);background:var(--color-brand);color:#fff;font-size:var(--font-body);font-weight:600;line-height:1;cursor:pointer;box-shadow:0 2px 8px color-mix(in srgb,var(--color-brand) 35%,transparent);transition:background .15s ease,box-shadow .15s ease,transform .1s ease}.admin-login-submit:hover:not(:disabled){background:var(--color-brand-hover);box-shadow:0 4px 14px color-mix(in srgb,var(--color-brand) 40%,transparent)}.admin-login-submit:active:not(:disabled){transform:translateY(1px)}.admin-login-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.admin-login-links{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.admin-login-alt{width:100%;min-height:36px;padding:6px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:var(--font-helper);line-height:1.45;text-align:center;cursor:pointer;transition:color .15s ease,background .15s ease}.admin-login-alt:hover:not(:disabled){color:var(--color-brand);background:var(--color-brand-soft)}.admin-login-alt:disabled{opacity:.5;cursor:not-allowed}.admin-modal-dialog-narrow{max-width:420px!important;width:92vw!important}.admin-modal-panel--webuser .admin-modal-head{align-items:flex-start;padding-bottom:14px}.admin-modal-panel--webuser .admin-modal-head>div:first-child{flex:1;min-width:0;padding-right:8px}.admin-modal-head__subtitle{margin:6px 0 0;font-size:12px;line-height:1.55;color:var(--text-muted);font-weight:400}.admin-modal-panel--webuser .admin-modal-body{padding:16px 20px 12px}.admin-webuser-modal{display:flex;flex-direction:column;gap:14px}.admin-webuser-modal__tip.admin-tip-card{padding:12px 14px 14px}.admin-webuser-modal__tip .admin-tip-card__title{margin-bottom:8px}.admin-webuser-modal__tip .admin-tip-card__list{font-size:12px;line-height:1.6}.admin-webuser-modal__field-wrap{border-radius:10px;border:1px solid var(--border);background:#fff;padding:16px 18px;box-shadow:0 1px 2px #0c11170a}.admin-webuser-modal__field-wrap .field span{font-size:13px;font-weight:600;color:var(--text)}.admin-webuser-modal__hint-line{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--text-muted)}.admin-webuser-modal__hint-line code.mono{font-size:11px;padding:2px 6px;border-radius:4px;background:#0c11170f;color:var(--ink-soft)}.admin-modal-ft--webuser{padding:12px 18px;gap:10px;background:#f8fafc;border-top-color:var(--border)}.admin-webuser-btn-ghost{height:34px;padding:0 16px;font-size:13px;font-weight:600}.admin-webuser-btn-create{height:36px;padding:0 22px;border-radius:8px;border:none;background:var(--btn-primary-bg);color:var(--btn-primary-text);font-size:14px;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:0 1px 3px #ff7f3259;transition:filter .15s ease}.admin-webuser-btn-create:hover:not(:disabled){filter:brightness(1.06)}.admin-webuser-btn-create:disabled{opacity:.55;cursor:not-allowed}.admin-web-accounts-section{margin-top:4px}.admin-web-accounts-section .admin-card-cap.pad{padding-top:0;padding-bottom:4px}.admin-web-accounts-lede{margin:0;max-width:52rem;line-height:1.65;font-size:13px}.btn-table-reset-pw{border:none;background:none;cursor:pointer;color:var(--color-brand, #ff7f32);font-size:13px;display:inline-flex;align-items:center;gap:4px;font-weight:500}.btn-table-reset-pw:hover:not(:disabled){text-decoration:underline}.btn-table-reset-pw:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.admin-form-stack{display:flex;flex-direction:column;gap:20px;margin-top:-4px}.modal-form-grid>.admin-form-stack--full{grid-column:1 / -1;width:100%;min-width:0}.admin-tip-card{border-radius:10px;padding:14px 16px 16px;background:linear-gradient(135deg,#fff7f0,#f0f7ff 55%,#fafafa);border:1px solid rgba(255,127,50,.22);box-shadow:0 1px 2px #00000008}.admin-tip-card__title{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text);letter-spacing:.02em}.admin-tip-card__para{margin:0;font-size:13px;line-height:1.65;color:#595959}.admin-tip-card__list{margin:0;padding-left:18px;color:#595959;font-size:13px;line-height:1.65}.admin-tip-card__list li{margin-bottom:6px}.admin-tip-card__list li:last-child{margin-bottom:0}.admin-form-section{border-radius:10px;border:1px solid var(--border);background:#fff;padding:16px 18px 18px;box-shadow:0 1px 2px #0000000a}.admin-form-section__title{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #f0f0f0;font-size:14px;font-weight:600;color:#000000e0;display:flex;align-items:center;gap:8px}.admin-form-section__title:before{content:"";width:3px;height:14px;border-radius:2px;background:linear-gradient(180deg,var(--brand),#ffb380);flex-shrink:0}.admin-form-section .field{margin-bottom:0}.admin-form-section .field+.field{margin-top:14px}.admin-form-grid-2 .field+.field{margin-top:0}.admin-form-section>.field+.admin-form-grid-2{margin-top:14px}.admin-form-section>.admin-form-grid-2+.field{margin-top:14px}.admin-form-section>.admin-form-section__title+.admin-form-grid-2{margin-top:0}.admin-form-grid-2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px 20px;align-items:start}.certificate-template-editor{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}.certificate-template-editor__form{min-width:0}.certificate-template-preview{position:sticky;top:0;padding:16px;display:flex;flex-direction:column;gap:14px;border:1px solid #eef1f5;background:linear-gradient(180deg,#fcfcfd,#f8fafc)}.certificate-template-preview__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.certificate-template-preview__actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.certificate-template-preview__head h4{margin:0;font-size:15px;font-weight:700}.certificate-template-preview__head p{margin:6px 0 0;font-size:12px;line-height:1.6;color:var(--text-muted)}.certificate-template-preview__toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #e5e7eb;color:#374151;font-size:12px;white-space:nowrap}.certificate-template-preview__print{margin:0;padding:8px 12px;border:1px solid #ffd6bf;border-radius:999px;background:#fff7f2;color:#d46b08;cursor:pointer;font-size:12px}.certificate-template-preview__print:hover:not(:disabled){background:#fff1e6}.certificate-template-preview__print:disabled{cursor:not-allowed;opacity:.6}.certificate-template-preview__meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;color:var(--text-muted)}.certificate-template-preview__stage{position:relative;width:100%;height:0;overflow:hidden;border-radius:12px;border:1px solid #eadfcf;background:linear-gradient(135deg,#fff8ec,#fff)}.certificate-template-preview__stage--fit{max-width:min(100%,920px,var(--certificate-preview-stage-max-width, 660px));margin:0 auto}.certificate-template-preview__image,.certificate-template-preview__empty{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.certificate-template-preview__image{object-fit:fill}.certificate-template-preview__empty{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;text-align:center;color:var(--text-muted)}.certificate-template-preview__empty strong{color:#111827;font-size:14px}.certificate-template-preview__field{position:absolute;z-index:2;min-width:96px;white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none}.certificate-template-preview__field.is-dragging{cursor:grabbing;z-index:4}.certificate-template-preview__text{position:relative;z-index:2;display:inline-block;text-shadow:0 1px 2px rgba(255,255,255,.45)}.certificate-template-preview__anchor{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:999px;background:#ff7f32;box-shadow:0 0 0 2px #ffffffeb}.certificate-template-preview__badge{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);padding:3px 8px;border-radius:999px;background:#111827c7;color:#fff;font-size:11px;line-height:1.4}.certificate-template-preview__guide{position:absolute;z-index:1;pointer-events:none;background:#ff7f3247}.certificate-template-preview__guide--h{left:0;right:0;height:1px}.certificate-template-preview__guide--v{top:0;bottom:0;width:1px}.certificate-template-preview__loading{position:absolute;right:12px;bottom:12px;z-index:3;padding:6px 10px;border-radius:999px;background:#111827c7;color:#fff;font-size:12px}.certificate-template-preview__error{margin:0;padding:8px 10px;border-radius:8px;border:1px solid #ffccc7;background:#fff2f0;color:#cf1322;font-size:12px}.certificate-template-preview__debug{display:flex;flex-direction:column;gap:8px}.certificate-template-preview__debug>div{display:flex;flex-direction:column;gap:4px}.certificate-template-preview__debug>div>span{font-size:12px;color:var(--text-muted)}.certificate-template-preview__debug code{padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #e5e7eb;white-space:pre-wrap;word-break:break-all;font-size:12px;color:#111827}.certificate-field-library__chips{display:flex;flex-wrap:wrap;gap:8px}.certificate-field-library__chip{margin:0;padding:6px 10px;border:1px solid #d9e6ff;border-radius:999px;background:#f5f9ff;color:#155eef;cursor:pointer;font-size:12px}.certificate-field-library__chip:hover{background:#eaf2ff}.certificate-template-field-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.certificate-template-field-card__remove{margin:0;border:1px solid #ffd6bf;border-radius:999px;background:#fff7f2;color:#d46b08;padding:4px 10px;cursor:pointer;font-size:12px}.certificate-template-field-card__remove:hover{background:#fff1e6}.certificate-issued-modal{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.certificate-issued-modal__meta{display:grid;gap:12px}.certificate-issued-modal__meta>div{padding:12px 14px;border-radius:10px;border:1px solid #eef1f5;background:#fafcff}.certificate-issued-modal__meta span{display:block;margin-bottom:6px;font-size:12px;color:var(--text-muted)}.certificate-issued-modal__meta strong{display:block;font-size:14px;color:#111827;word-break:break-word}.admin-modal-root-certificate-preview{align-items:center;padding:24px 16px;overflow:hidden}.admin-modal-dialog-certificate-preview{width:min(1180px,calc(100vw - 48px));height:calc(100vh - 48px);max-height:calc(100vh - 48px)}.admin-modal-dialog-certificate-preview.is-portrait{width:min(1180px,calc(100vw - 48px))}.admin-modal-dialog-certificate-preview .admin-modal-panel{background:#111827;height:100%;overflow:hidden}.admin-modal-body.admin-modal-body-certificate-preview{height:100%;overflow:hidden;padding:0}.certificate-image-preview{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;padding:16px;box-sizing:border-box;background:#0b1020}.certificate-image-preview__img{display:block;width:auto;max-width:100%;max-height:100%;height:auto;object-fit:contain;flex:0 1 auto}.certificate-image-preview__close{position:absolute;top:10px;right:10px;z-index:3;width:32px;height:32px;border:0;border-radius:999px;background:#111827b8;color:#fff;cursor:pointer;font-size:20px;line-height:1}.certificate-image-preview__close:hover{background:#111827e6}.certificate-image-preview__empty{min-height:240px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;color:#ffffffb8;text-align:center}.certificate-image-preview__empty strong{color:#fff}.certificate-image-preview__loading,.certificate-image-preview__error{position:absolute;left:50%;bottom:12px;z-index:3;transform:translate(-50%);padding:7px 12px;border-radius:999px;background:#111827c7;color:#fff;font-size:12px}.certificate-image-preview__error{background:#cf1322e6}@media (max-width: 640px){.admin-form-grid-2{grid-template-columns:1fr}}@media (max-width: 1080px){.certificate-template-editor{grid-template-columns:1fr}.certificate-template-preview{position:static}.certificate-issued-modal{grid-template-columns:1fr}}.admin-form-section .opts-grid{margin-top:0;gap:14px 16px}.admin-form-note{margin:0 0 12px;font-size:12px;line-height:1.55;color:var(--text-muted)}.admin-form-field-readonly .input{background:#fafafa;color:var(--text-muted);font-size:12px}.admin-no-year-datetime{position:relative;display:inline-flex;width:auto;max-width:100%}.admin-no-year-datetime__text{width:132px;border-radius:var(--radius-md) 0 0 var(--radius-md)}.admin-no-year-datetime__trigger{box-sizing:border-box;display:inline-flex;min-width:56px;min-height:40px;padding:0 12px;align-items:center;justify-content:center;border:1px solid var(--border);border-left:1px solid var(--border);border-radius:0 6px 6px 0;background:#fff;color:var(--brand);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.admin-no-year-datetime__trigger:hover{color:var(--brand);border-color:#ff7f3273;background:#ff7f320a}.admin-no-year-datetime__native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.modal-form-grid .input,.modal-form-grid select.input{box-sizing:border-box;min-height:40px;line-height:22px}.modal-form-grid select.input{padding:8px 32px 8px 12px;cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238c8c8c' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-form-grid input.input[type=number]{padding:8px 12px}.modal-form-grid .input.mono{min-height:40px;box-sizing:border-box}.admin-form-switch{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;background:#fafafa;border:1px solid #f0f0f0;cursor:pointer;transition:border-color .15s,background .15s}.admin-form-switch:hover{border-color:#ff7f3259;background:#fff}.admin-form-switch.is-disabled{cursor:not-allowed;opacity:.72;pointer-events:none}.admin-form-switch input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--brand)}.admin-form-switch__text{flex:1;min-width:0}.admin-form-switch__label{display:block;font-size:14px;font-weight:500;color:var(--text);margin-bottom:4px}.admin-form-switch__desc{font-size:12px;color:var(--text-muted);line-height:1.5}.admin-form-legacy-advanced{border-radius:8px;border:1px dashed #e8e8e8;padding:10px 12px;background:#fafafa}.admin-form-legacy-advanced summary{font-size:12px;color:var(--text-muted);cursor:pointer}.admin-form-legacy-advanced[open] summary{margin-bottom:10px}.course-cover-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:14px}.course-cover-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;background:#f5f5f5;color:#595959;border:1px solid #e8e8e8}.course-cover-chip--upload{background:#e6f7ff;color:#096dd9;border-color:#91d5ff}.course-cover-chip--frame{background:#fff7e6;color:#d46b08;border-color:#ffd591}.course-cover-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.course-btn{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s}.course-btn:disabled{opacity:.55;cursor:not-allowed}.course-btn--ghost{background:#fff;border-color:#d9d9d9;color:#000000bf}.course-btn--ghost:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.course-btn--primary{background:var(--brand);border-color:#e86812;color:#fff;box-shadow:0 2px #00000005}.course-btn--primary:hover:not(:disabled){filter:brightness(1.05)}.course-btn--danger{background:#fff;border-color:#ffccc7;color:#cf1322}.course-btn--danger:hover:not(:disabled){background:#fff1f0;border-color:#ff7875}.course-cover-preview-wrap{margin:0 0 14px}.course-cover-preview-frame{position:relative;width:min(280px,100%);aspect-ratio:16 / 9;border-radius:10px;border:1px solid #e8e8e8;background:#fafafa;overflow:hidden;display:flex;align-items:center;justify-content:center}.course-cover-preview-img{width:100%;height:100%;object-fit:cover;display:block}.course-cover-preview-empty{font-size:12px;color:var(--text-muted);text-align:center;padding:12px}.course-cover-preview-hint{margin:8px 0 0}.course-compress-banner{margin:8px 0 14px;padding:10px 12px;border-radius:8px;background:#fff7e6;border:1px solid #ffd591;color:#d46b08}.course-compress-banner__head{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:6px}.course-compress-banner__bar{width:100%;height:6px;border-radius:999px;background:#fde2c4;overflow:hidden}.course-compress-banner__bar-fill{height:100%;background:var(--brand);transition:width .18s ease}.course-cover-meta{font-size:12px;color:var(--text-muted);line-height:1.5}.course-cover-meta code{font-size:11px;background:#f5f5f5;padding:2px 6px;border-radius:4px;word-break:break-all}.course-dropzone{border:2px dashed #d9d9d9;border-radius:12px;padding:22px 18px;text-align:center;background:linear-gradient(180deg,#fafafa,#fff);transition:border-color .2s,background .2s;margin-bottom:14px}.course-dropzone:hover:not(.is-busy){border-color:#ff7f328c;background:#fffbf7}.course-dropzone.is-busy{opacity:.72;pointer-events:none}.course-dropzone__icon{font-size:28px;line-height:1;margin-bottom:8px;opacity:.85}.course-dropzone__title{font-size:14px;font-weight:600;color:var(--text);margin:0 0 6px}.course-dropzone__hint{margin:0 0 14px;font-size:12px;color:var(--text-muted);line-height:1.55}.course-format-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.course-format-tag{font-size:11px;padding:3px 10px;border-radius:var(--radius-md);background:#fff;border:1px solid #e8e8e8;color:#8c8c8c}.course-assets-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.course-asset-empty{text-align:center;padding:28px 16px;color:var(--text-muted);font-size:13px;border:1px dashed #e8e8e8;border-radius:10px;background:#fafafa}.course-asset-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.course-asset-row{border:1px solid #f0f0f0;border-radius:10px;padding:12px 14px;background:#fff;box-shadow:0 1px #00000005}.course-asset-row:hover{border-color:#e6e6e6}.course-asset-top{display:flex;align-items:flex-start;gap:12px}.course-asset-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:18px;flex-shrink:0;background:#f5f5f5;font-weight:700;line-height:1}.course-asset-icon--doc,.course-asset-icon--pdf,.course-asset-icon--ppt{font-size:10px;letter-spacing:.02em}.course-asset-icon--doc{background:#e6f4ff}.course-asset-icon--video{font-size:15px;background:#fff1e6}.course-asset-icon--pdf{background:#fff0f6}.course-asset-icon--ppt{background:#f4ffb8}.course-asset-body{flex:1;min-width:0}.course-asset-name{font-weight:600;font-size:14px;color:var(--text);word-break:break-word;line-height:1.4;margin-bottom:6px}.course-asset-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.parse-pill{font-size:11px;padding:2px 9px;border-radius:999px;font-weight:500}.parse-ok{background:#f6ffed;color:#389e0d;border:1px solid #b7eb8f}.parse-pending{background:#fffbe6;color:#d48806;border:1px solid #ffe58f}.parse-error{background:#fff2f0;color:#cf1322;border:1px solid #ffccc7}.course-asset-ops{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #f5f5f5}.course-asset-ops .course-op{height:28px;padding:0 10px;font-size:12px;line-height:1;border-radius:var(--radius-md);border:1px solid #e8e8e8;background:#fff;color:#595959;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;box-sizing:border-box;font-family:inherit}.course-asset-ops .course-op:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.course-asset-ops .course-op:disabled{opacity:.45;cursor:not-allowed}.course-asset-ops .course-op--danger{color:#cf1322;border-color:#ffccc7}.course-asset-ops .course-op--danger:hover:not(:disabled){background:#fff2f0}.course-asset-preview{margin-top:10px}.course-asset-preview summary{font-size:12px;color:#1677ff;cursor:pointer}.course-preview-pre{max-height:140px;overflow:auto;font-size:12px;background:#fafafa;border:1px solid #f0f0f0;padding:10px;border-radius:8px;white-space:pre-wrap;margin-top:8px;line-height:1.5}.err-inline{color:var(--danger);margin:8px 0 0;font-size:12px}.btn-outline-top{height:32px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;color:var(--text-muted);font-size:13px;cursor:pointer}.btn-outline-top:hover{color:var(--danger);border-color:#ff4d4f73}.admin-page-scroll{flex:1;overflow:auto;min-height:0;padding:22px 28px 28px;-webkit-overflow-scrolling:touch}.banner{margin-bottom:16px;padding:10px 14px;border-radius:8px;font-size:14px;line-height:1.45}.banner.ok{background:#f6ffed;border:1px solid #b7eb8f;color:#135200}.banner.err{background:#fff2f0;border:1px solid #ffccc7;color:#a8071a;white-space:pre-wrap;word-break:break-word}.banner-toast{position:fixed;right:24px;bottom:24px;z-index:9999;max-width:min(440px,calc(100vw - 48px));display:flex;align-items:flex-start;gap:12px;padding:14px 16px 14px 18px;border-radius:12px;font-size:14px;line-height:1.55;box-shadow:0 16px 32px #0000001f;animation:bannerToastIn .2s ease;pointer-events:auto}.banner-toast--ok{background:#f6ffed;border:1px solid #b7eb8f;color:#135200}.banner-toast--err{background:#fff2f0;border:1px solid #ffccc7;color:#a8071a}.banner-toast__text{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word;max-height:50vh;overflow-y:auto}.banner-toast__close{border:none;background:transparent;cursor:pointer;color:inherit;font-size:18px;line-height:1;opacity:.6;padding:2px 6px;margin-top:-2px}.banner-toast__close:hover{opacity:1}@keyframes bannerToastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.banner-toast{right:12px;left:12px;bottom:12px;max-width:none}}.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.admin-page-head h1{margin:0 0 6px;font-size:var(--font-page-title);line-height:var(--line-page-title);font-weight:600;letter-spacing:-.02em;color:var(--ink)}.page-desc{margin:0;color:var(--text-muted);font-size:13px;max-width:560px;line-height:1.5}.admin-page-head--wide .page-desc{max-width:720px}.admin-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-search-input{width:200px!important}.admin-exam-list-filter{display:inline-flex;align-items:center;gap:6px}.admin-exam-list-filter__label{font-size:12px;color:var(--text-muted);white-space:nowrap}.admin-exam-list-filter__select{width:auto!important;min-width:7.5rem;height:34px;padding:0 10px;font-size:13px}.admin-record-filters{margin:0 0 14px;padding:var(--space-4) var(--space-5);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm)}.admin-record-filters__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px}.admin-record-filters__field{display:inline-flex;flex-direction:column;gap:4px;min-width:8rem}.admin-record-filters__field--course{min-width:10rem}.admin-record-filters__label{font-size:12px;color:var(--text-muted)}.admin-record-filters__select{width:auto!important;min-width:8rem;height:34px;padding:0 10px;font-size:13px}.admin-record-filters__actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.admin-record-filters__users{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.admin-record-filters__users-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.admin-record-filters__users-tools{display:inline-flex;gap:10px}.btn-linkish{border:none;background:none;padding:0;font-size:12px;color:var(--link-edit);cursor:pointer}.btn-linkish:disabled{opacity:.45;cursor:not-allowed}.admin-record-filters__user-chips{display:flex;flex-wrap:wrap;gap:8px;max-height:120px;overflow-y:auto}.admin-record-filters__chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-record-filters__chip.is-on{border-color:var(--brand);background:#ff7f3214}.admin-record-filters__chip input,.admin-record-filters__empty{margin:0}.btn-add{min-height:36px;padding:0 16px;border-radius:var(--radius-md);border:none;background:var(--brand);color:#fff;font-size:var(--font-body);font-weight:500;cursor:pointer;white-space:nowrap}.btn-add:hover{filter:brightness(1.06)}.btn-query{min-height:36px;padding:0 16px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--text);font-size:var(--font-body);cursor:pointer}.btn-query:disabled{opacity:.55;cursor:not-allowed}.btn-export-csv{min-height:36px;padding:0 14px;border-radius:var(--radius-md);border:1px dashed var(--border);background:var(--card-bg);color:var(--text-muted);font-size:var(--font-helper);cursor:pointer;white-space:nowrap}.btn-export-csv:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.btn-export-csv:disabled{opacity:.55;cursor:not-allowed}.admin-card{background:var(--card-bg);border-radius:var(--radius-card);border:1px solid var(--border-strong);margin-bottom:var(--space-4);box-shadow:var(--shadow-card)}.admin-card--list{box-shadow:var(--shadow-card)}.mono{font-family:Consolas,Courier New,ui-monospace,monospace}.admin-overview{overflow:hidden;border-radius:var(--radius-card);border:1px solid var(--color-border);background:var(--card-bg);box-shadow:var(--shadow-card)}.admin-overview-inner{padding:0}.admin-overview-hero{padding:var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.admin-overview-hero__title{margin:0 0 8px;font-size:var(--font-page-title);line-height:var(--line-page-title);font-weight:600;color:var(--ink);letter-spacing:-.025em}.admin-overview-hero__sub{margin:0;max-width:48rem;line-height:1.6;color:var(--text-muted);font-size:13px}.admin-overview-insights{margin-top:18px;padding-top:16px;border-top:1px solid rgba(12,17,23,.06);display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;max-width:360px}.admin-overview-insight-card{margin:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);box-shadow:var(--shadow-sm)}.admin-overview-insight-card--err{background:#fefcfc;border-color:#dc262638}.admin-overview-insight-card__title{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.admin-overview-insight-card__metric{display:flex;align-items:baseline;gap:5px;margin:0 0 8px;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid rgba(12,17,23,.06)}.admin-overview-insight-card__num{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;color:var(--ink);letter-spacing:-.03em}.admin-overview-insight-card__unit{font-size:12px;font-weight:500;color:var(--overview-muted)}.admin-overview-insight-card__desc{margin:0;font-size:11px;line-height:1.45;color:var(--text-muted)}.admin-overview-insight-card__err{margin:0;font-size:11px;line-height:1.45;color:var(--danger)}.admin-overview-insight-card__actions{margin-top:12px;padding-top:10px;border-top:1px solid rgba(12,17,23,.06)}.admin-overview-insight-card__btn{width:100%;justify-content:center}.admin-overview-body-wrap{padding:0 var(--space-6) var(--space-6)}.admin-overview-body-wrap.is-busy{opacity:.5;pointer-events:none;transition:opacity .22s ease}.admin-overview-section{padding-top:24px}.admin-overview-section:first-of-type{padding-top:22px}.admin-overview-section__title{margin:0 0 var(--space-4);padding-left:0;border-left:none;font-size:var(--font-section-title);line-height:var(--line-section-title);font-weight:600;letter-spacing:-.01em;color:var(--color-text)}.admin-overview-grid{display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:var(--space-4)}@media (min-width: 1200px){.admin-overview-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1500px){.admin-overview-grid{grid-template-columns:repeat(4,1fr)}}.admin-overview .admin-stat-card{--stat-accent: var(--color-text)}.admin-stat-card{position:relative;display:flex;flex-direction:column;min-height:168px;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease}.admin-stat-card:before{display:none}.admin-stat-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}.admin-stat-card--err{background:#fefcfc;border-color:#dc262633}.admin-stat-card--err:before{background:linear-gradient(90deg,transparent,rgba(220,38,38,.35),transparent)}.admin-stat-card__head{display:flex;align-items:flex-start;gap:14px;margin-bottom:2px}.admin-stat-card__icon{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;font-size:15px;font-weight:600;line-height:1;border-radius:var(--radius-md);background:var(--color-brand-soft);border:1px solid var(--color-brand-border);color:var(--color-brand)}.admin-stat-card__head-text{min-width:0;flex:1}.admin-stat-card__title{margin:0 0 4px;font-size:var(--font-body);line-height:var(--line-body);font-weight:600;color:var(--color-text);letter-spacing:-.01em}.admin-stat-card__hint{margin:0;font-size:11px;line-height:1.4;word-break:break-all;color:var(--text-muted)}.admin-stat-card__metric{display:flex;align-items:baseline;gap:6px;margin:var(--space-4) 0 auto;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-soft);border:1px solid var(--color-border)}.admin-stat-card__num{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;color:var(--stat-accent);letter-spacing:-.03em}.admin-stat-card__unit{font-size:12px;font-weight:500;color:var(--overview-muted)}.admin-stat-card--err .admin-stat-card__metric{display:none}.admin-stat-card__err{margin:14px 0 auto;font-size:12px;line-height:1.5;color:var(--danger)}.btn-ink-ghost{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text-secondary);font-size:var(--font-body);font-weight:500;cursor:pointer;white-space:nowrap;transition:background .18s ease,border-color .18s ease,color .18s ease}.btn-ink-ghost:hover:not(:disabled){background:var(--color-surface-soft);border-color:color-mix(in srgb,var(--color-brand) 24%,var(--color-border));color:var(--color-brand)}.btn-ink-ghost:disabled{opacity:.4;cursor:not-allowed}.admin-stat-card__btn{margin-top:16px;width:100%}.admin-card-toolbar{padding:14px 16px 16px;border-bottom:1px solid var(--border)}.admin-card--sticky-toolbar .admin-card-toolbar{position:sticky;top:0;z-index:20;background:var(--card-bg);border-radius:var(--radius-card) var(--radius-card) 0 0;box-shadow:0 6px 16px #0c11170f}.admin-card-toolbar__row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px 20px}.admin-list-meta{margin:0;flex:1 1 200px;min-width:0;font-size:13px;line-height:1.55;color:var(--text-muted)}.admin-card-toolbar__controls{flex:0 1 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px}.admin-pagination{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:8px 12px;background:#f7f8fa;border:1px solid var(--border);border-radius:10px}.admin-pagination__size{display:inline-flex;align-items:center;gap:8px}.admin-pagination__label{font-size:13px;color:var(--text-muted);white-space:nowrap;line-height:1}select.admin-page-size-select{box-sizing:border-box;width:auto;min-width:76px;min-height:36px;height:auto;padding:6px 28px 6px 12px;margin:0;border:1px solid #d9d9d9;border-radius:8px;background-color:#fff;font-family:inherit;font-size:14px;line-height:1.4;color:var(--text);cursor:pointer;vertical-align:middle}select.admin-page-size-select:hover:not(:disabled){border-color:var(--brand)}select.admin-page-size-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #ff7f3233}select.admin-page-size-select:disabled{opacity:.55;cursor:not-allowed}.admin-pagination__nav{display:inline-flex;align-items:center;gap:6px}.admin-pagination__jump{display:inline-flex;align-items:center;gap:6px;padding-left:4px;margin-left:2px;border-left:1px solid #e8e8e8}input.admin-jump-page-input{box-sizing:border-box;width:3.25rem;min-height:36px;padding:6px 8px;margin:0;border:1px solid #d9d9d9;border-radius:8px;font-family:inherit;font-size:14px;font-variant-numeric:tabular-nums;text-align:center;line-height:1.3;color:var(--text)}input.admin-jump-page-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #ff7f3233}input.admin-jump-page-input:disabled{opacity:.55;cursor:not-allowed;background:#f5f5f5}.btn-pagination--compact{min-width:auto;padding:0 12px}.btn-pagination{box-sizing:border-box;min-height:36px;padding:0 14px;border-radius:8px;border:1px solid #d9d9d9;background:#fff;color:var(--text);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.btn-pagination:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:#fffaf6}.btn-pagination:disabled{opacity:.45;cursor:not-allowed}.admin-pagination__pos{display:inline-flex;align-items:center;justify-content:center;min-width:4.25rem;min-height:36px;padding:0 10px;border-radius:8px;background:#fff;border:1px solid #e8e8e8;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.btn-toolbar-refresh{box-sizing:border-box;min-height:36px;padding:0 14px;border-radius:8px;border:1px dashed #bfbfbf;background:#fff;color:var(--link-edit);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.btn-toolbar-refresh:hover:not(:disabled){border-color:var(--link-edit);border-style:solid;background:#1677ff0f}.btn-toolbar-refresh:disabled{opacity:.5;cursor:not-allowed}.admin-card-toolbar .muted{color:var(--text-muted);font-size:13px}.btn-text{border:none;background:none;color:var(--link-edit);font-size:13px;cursor:pointer}.btn-text:hover{opacity:.85}.admin-card-cap{padding:14px 16px 0}.admin-card-title{margin:0 0 4px;font-size:15px;font-weight:600}.admin-card.pad{padding:16px}.admin-card.pad .muted.tiny{font-size:12px;color:var(--text-muted);margin:0 0 14px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px}@media (max-width: 980px){.form-grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px;font-size:13px}.field.full{grid-column:1 / -1}.field>span:first-child{color:var(--text-muted)}.opts-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.input,.textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;font-size:14px}.textarea.sm{min-height:86px;margin:0}.textarea.lg{min-height:180px}.field.flex-row{display:flex;flex-direction:column;gap:8px}.inline-check{display:flex;align-items:flex-start;gap:10px}.field-ab{grid-column:1 / -1;margin:0}.ai-job-card{margin-bottom:18px;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f;border:1px solid #e4e9f0}.ai-job-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;background:linear-gradient(120deg,#f7f9fc,#eef3fb 45%,#f5f8ff);border-bottom:1px solid #e8edf5}.ai-job-card-head-main{min-width:0}.ai-job-title{margin:0 0 6px;font-size:18px;font-weight:600;color:#1f1f1f;letter-spacing:-.02em}.ai-job-lede{margin:0;font-size:13px;color:#595959;line-height:1.55;max-width:640px}.ai-job-pill{flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#0958d9;background:#1677ff1a;border:1px solid rgba(22,119,255,.28);padding:6px 10px;border-radius:999px}.ai-job-tip{margin:0;padding:12px 20px;font-size:13px;line-height:1.55;color:#434343;background:#fafbfc;border-bottom:1px solid var(--border)}.ai-job-details{margin:0;padding:0 20px;border-bottom:1px solid var(--border);background:#fff}.ai-job-details>summary{cursor:pointer;list-style:none;padding:10px 0 12px;font-size:13px;font-weight:500;color:#1677ff;-webkit-user-select:none;user-select:none}.ai-job-details>summary::-webkit-details-marker{display:none}.ai-job-details>summary:before{content:"▸";display:inline-block;margin-right:6px;transition:transform .15s ease;color:#8c8c8c}.ai-job-details[open]>summary:before{transform:rotate(90deg)}.ai-job-details-list{margin:0 0 14px;padding:0 0 4px 1.1rem;font-size:12px;line-height:1.65;color:#595959}.ai-job-details-list code{font-size:11px;padding:1px 5px;border-radius:4px;background:#f5f5f5}.ai-job-body{padding:4px 20px 20px;background:#fff}.ai-job-section{padding-top:18px;margin-top:4px;border-top:1px solid #f0f0f0}.ai-job-section:first-of-type{border-top:none;margin-top:0;padding-top:16px}.ai-job-section-advanced .ai-super-strip{margin-top:0}.ai-job-section-title{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8c8c8c}.ai-job-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.ai-job-grid-stack{grid-template-columns:1fr}@media (max-width: 960px){.ai-job-grid{grid-template-columns:1fr}}.ai-input-em{border-color:#dce3ed;transition:border-color .15s ease,box-shadow .15s ease}.ai-input-em:focus{outline:none;border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1f}.ai-input-number{max-width:160px}.ai-field-hint{margin-top:4px}.ai-draft-textarea{min-height:200px;line-height:1.5;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px}.ai-upload-zone{position:relative;display:block;min-height:92px;border:2px dashed #c5cdd9;border-radius:10px;background:linear-gradient(180deg,#fbfcfe,#f3f6fb);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.ai-upload-zone:hover{border-color:#1677ff;background:#f0f7ff;box-shadow:0 0 0 1px #1677ff1f}.ai-upload-zone-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2;font-size:0}.ai-upload-zone-face{position:relative;z-index:1;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px 14px;gap:4px}.ai-upload-zone-kicker{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8c8c8c}.ai-upload-zone-title{font-size:14px;font-weight:600;color:#1677ff}.ai-upload-zone-hint{font-size:12px;color:#8c8c8c;line-height:1.45;max-width:360px}.ai-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px}.btn-ai-secondary{height:34px;padding:0 16px;border-radius:8px;border:1px solid #1677ff;background:#fff;color:#1677ff;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease}.btn-ai-secondary:hover:not(:disabled){background:#e6f4ff}.btn-ai-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ai-ghost{height:34px;padding:0 12px;border:none;border-radius:8px;background:transparent;color:#1677ff;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.btn-ai-ghost:hover:not(:disabled){color:#0958d9}.btn-ai-ghost:disabled{opacity:.45;cursor:not-allowed}.btn-ai-primary{min-width:200px;height:40px;padding:0 22px;border:none;border-radius:8px;background:linear-gradient(135deg,#ff8c42 0%,var(--brand) 55%,#e86812 100%);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 6px #ff7f3259;transition:filter .12s ease,transform .08s ease}.btn-ai-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-ai-primary:active:not(:disabled){transform:translateY(1px)}.btn-ai-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.ai-inline-check{align-items:flex-start;gap:10px;font-size:13px;color:#434343;line-height:1.45}.ai-file-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ai-file-input{font-size:13px}.ai-counts-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 720px){.ai-counts-row{grid-template-columns:1fr}}.ai-job-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:18px;margin-top:8px;border-top:1px solid #f0f0f0}.ai-super-strip{grid-column:1 / -1;padding:14px 14px 12px;border:1px solid #e4e9f0;border-radius:10px;background:linear-gradient(180deg,#fafbfd,#f4f6f9)}.cell-review{white-space:nowrap}.review-actions{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.btn-review-ok{color:var(--link-edit)}.btn-review-bad{color:var(--danger)}.table-check-label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.input.mono{font-family:Consolas,Courier New,monospace}.btn-row{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}.btn-submit{height:34px;padding:0 20px;border-radius:var(--radius-md);border:none;background:var(--brand);color:#fff;font-size:14px;cursor:pointer}.btn-submit:disabled{opacity:.55;cursor:not-allowed}.btn-ghost-box{height:34px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;font-size:14px;cursor:pointer}.empty-table-hint{padding:32px;text-align:center;color:var(--text-muted);font-size:14px}.admin-card--list .admin-table-scroll{border-radius:0 0 var(--radius-card) var(--radius-card);overflow:hidden}.admin-table-scroll{overflow-x:auto;background:var(--color-surface)}.data-table-pro{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-body)}.data-table-pro th,.data-table-pro td{padding:16px 18px;border-bottom:1px solid #eef2f6;text-align:left;vertical-align:middle;line-height:1.45}.data-table-pro tbody tr{min-height:54px}.data-table-pro thead th{color:#475467;font-weight:600;font-size:13px;background:#f8fafc;border-bottom:1px solid #eef2f6;white-space:nowrap}.data-table-pro thead th:first-child{border-top-left-radius:0}.data-table-pro tbody tr:nth-child(2n){background:#fcfcfd}.data-table-pro tbody tr:hover{background:#cf723d0a}.data-table-pro tbody tr:last-child td{border-bottom:none}.data-table-pro td.mono{font-family:Consolas,Courier New,monospace;font-size:12px}.course-sort-input{box-sizing:border-box;width:72px;min-height:30px;padding:4px 8px;border:1px solid #d9d9d9;border-radius:var(--radius-md);background:#fff;color:#000000e0;font-size:13px}.course-sort-input:focus{outline:none;border-color:#ff7f32b8;box-shadow:0 0 0 2px #ff7f321f}.course-sort-input:disabled{cursor:not-allowed;opacity:.65}.course-status-select{box-sizing:border-box;min-width:88px;min-height:30px;padding:4px 26px 4px 10px;border:1px solid #d9d9d9;border-radius:999px;background:#fff;color:#000000c7;font-size:13px;font-weight:600;cursor:pointer}.course-status-select--published{border-color:#22c55e52;background:#f0fdf4;color:#15803d}.course-status-select--draft{border-color:#94a3b866;background:#f8fafc;color:#475569}.course-status-select:focus{outline:none;border-color:#ff7f32b8;box-shadow:0 0 0 2px #ff7f321f}.course-status-select:disabled{cursor:not-allowed;opacity:.65}.data-table-pro .user-name-col{min-width:72px;white-space:nowrap}.admin-user-store-filter{min-width:150px}.cell-squeeze{max-width:200px;overflow:hidden;text-overflow:ellipsis}.store-link-like{color:var(--link-edit)}.stack-dropdown-hint{margin:0 0 6px}.stack-dropdown{width:100%}.stack-dropdown-summary{list-style:none;cursor:pointer;display:flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;background:#fff;color:var(--text)}.stack-dropdown-summary::-webkit-details-marker{display:none}.stack-dropdown[open] .stack-dropdown-summary{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}.stack-dropdown-summary-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack-dropdown-panel{border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;padding:6px 4px;background:#fff;max-height:220px;overflow-y:auto}.stack-dropdown-row{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:14px;cursor:pointer;border-radius:4px}.stack-dropdown-row:hover{background:#fafafa}.stack-dropdown-row--all{margin-bottom:4px;border-bottom:1px solid var(--border);border-radius:0;font-weight:600}.stack-dropdown-row input{margin:0;flex-shrink:0}.assign-picker-ref-card{margin-bottom:14px;padding:12px 14px 14px;border-radius:10px;border:1px solid rgba(255,127,50,.18);background:linear-gradient(135deg,#fffdfb,#f7faff 45%,#fafafa);box-shadow:0 1px 2px #0000000a;border-left:3px solid var(--brand)}.assign-picker-ref-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:10px}.assign-picker-ref-card__label{font-size:12px;font-weight:600;color:#0000008c;letter-spacing:.02em}.assign-picker-ref-card__date{font-size:16px;font-weight:600;color:#000000e0;font-variant-numeric:tabular-nums;letter-spacing:.02em}.assign-picker-ref-card__badge{font-size:11px;padding:3px 10px;border-radius:999px;background:#ff7f321f;color:#b3470a;font-weight:600;border:1px solid rgba(255,127,50,.22)}.level-badge-table th:nth-child(2),.level-badge-table td:nth-child(2){width:120px}.level-badge-name{font-weight:700;color:#111827}.level-badge-preview{width:72px;height:72px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e5e7eb;overflow:hidden}.level-badge-preview img{width:64px;height:64px;object-fit:contain;display:block}.level-badge-preview span{font-size:12px;color:#9ca3af}.level-badge-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.level-badge-actions label.btn-table-edit{position:relative;overflow:hidden;cursor:pointer}.level-badge-actions label.btn-table-edit input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.level-badge-actions label.btn-table-edit.is-disabled{opacity:.6;cursor:not-allowed}.assign-picker-ref-card__list{margin:0;padding-left:18px;font-size:12px;line-height:1.65;color:#595959}.assign-picker-ref-card__list li{margin-bottom:4px}.assign-picker-ref-card__list li:last-child{margin-bottom:0}.assign-picker-ref-card__list strong{color:#000000bf;font-weight:600}.assign-picker-toolbar{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end;padding:12px;background:linear-gradient(180deg,#fafbfd,#f6f8fc);border:1px solid var(--border);border-radius:8px;margin-bottom:10px}.assign-picker-field{display:flex;flex-direction:column;gap:4px;min-width:140px}.assign-picker-field-grow{flex:1;min-width:160px}.assign-picker-field-label{font-size:12px;color:#00000085;font-weight:500}.assign-picker-select-tenure{min-width:220px}.assign-picker-store-block{margin-bottom:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff}.assign-picker-store-title{margin-bottom:8px}.assign-picker-store-grid{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.assign-picker-store-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.assign-picker-store-chip input{margin:0}.assign-picker-clear-store{margin-top:8px;padding:0;font-size:12px}.assign-picker-bulk{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;padding:6px 0;border-bottom:1px solid #f0f0f0}.assign-picker-visible-meta{margin:0}.assign-picker-bulk-btns{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.assign-picker-select-all{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:12px;color:var(--brand);background:#fff7e6;border:1px solid #ffd591;cursor:pointer;-webkit-user-select:none;user-select:none}.assign-picker-select-all input[type=checkbox]{margin:0}.assign-picker-select-all:has(input:disabled){cursor:not-allowed;opacity:.6}.assign-picker-list-wrap{max-height:280px;overflow-y:auto;padding:2px 0}.assign-picker-panel .assign-picker-list-wrap{margin-top:0}.assign-picker-row-text{flex:1;min-width:0}.assign-picker-row-meta{font-weight:400}.assign-picker-empty-filter{margin:8px 0 0;text-align:center}.assign-picker-foot-hint{margin-top:8px}.assign-picker--single .field{margin-top:4px}.stack-dropdown-panel.assign-picker-panel{max-height:min(72vh,620px);overflow-x:hidden;overflow-y:auto}.role-tags{display:flex;flex-wrap:wrap;gap:6px}.role-tag{padding:2px 8px;border-radius:4px;font-size:12px;line-height:1.4;border:1px solid transparent}.role-tag.role-employee{background:#fafafa;border-color:#d9d9d9;color:#595959}.role-tag.role-hr,.role-tag.role-manager{background:#fff7e6;border-color:#ffd591;color:#d46b08}.role-tag.role-teacher{background:#e6f4ff;border-color:#91caff;color:#0958d9}.role-tag.role-superadmin{background:#fff7e6;border-color:#ff7f3280;color:var(--brand)}.table-op-wrap{display:flex;align-items:center;gap:12px;white-space:nowrap}.btn-table-edit{border:none;background:none;cursor:pointer;color:var(--link-edit);font-size:13px;display:inline-flex;align-items:center;gap:4px}.btn-table-del{border:none;background:none;cursor:pointer;color:var(--danger);font-size:13px}.admin-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:10px 14px;margin-bottom:10px;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-md)}.admin-bulk-bar__meta{font-size:var(--font-helper);color:var(--color-text-secondary)}.admin-bulk-bar__actions{display:flex;align-items:center;gap:8px}.admin-bulk-bar__del{min-height:32px;padding:0 14px;border-radius:var(--radius-sm);background:var(--badge-danger-bg);color:var(--badge-danger-text);border:1px solid var(--badge-danger-border);cursor:pointer;font-size:var(--font-helper);font-weight:500;line-height:1;transition:background .15s ease,border-color .15s ease}.admin-bulk-bar__del:hover:not(:disabled){background:#ffe7e6;border-color:#ffa39e}.admin-bulk-bar__del:disabled{background:transparent;border-color:var(--color-border);color:var(--color-text-placeholder);cursor:not-allowed}.admin-bulk-col{width:44px;text-align:center;padding-left:8px!important;padding-right:8px!important}.admin-bulk-col{cursor:pointer}.admin-bulk-col input[type=checkbox]{width:17px;height:17px;cursor:pointer;vertical-align:middle;accent-color:var(--color-brand)}.admin-row-selected td{background:var(--color-brand-soft)!important}.btn-table-pin{color:var(--brand)}.btn-table-pin:disabled{cursor:not-allowed;color:#00000059}.btn-table-pin--unpin{color:var(--text-muted)}.assignment-pin-badge{display:inline-flex;align-items:center;margin-right:6px;padding:1px 6px;border-radius:4px;font-size:11px;line-height:1.5;background:#fff7e6;color:var(--brand);border:1px solid #ffd591;vertical-align:1px}.assignment-row-pinned{background:linear-gradient(180deg,#fffaf2,#fff)}.assignment-row-pinned td:first-child{font-weight:600}code.inline{background:#0000000a;padding:1px 5px;border-radius:4px;font-size:12px}.req-star{color:#ff4d4f;margin-right:2px;vertical-align:middle}.admin-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 24px}.admin-modal-root-centered{align-items:center;padding:24px 16px}.admin-modal-root-settings{align-items:center;padding:16px}.admin-modal-root-photo{z-index:1200}.admin-modal-root-confirm{z-index:1300}.admin-modal-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.admin-modal-dialog{position:relative;z-index:1;width:min(520px,100%);max-height:80vh;display:flex;flex-direction:column}.admin-modal-dialog-wide{width:min(760px,100%)}.admin-role-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 12px;margin-top:4px}.admin-role-module-item{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.admin-role-module-item input{flex-shrink:0}.input-compact{min-width:140px;max-width:220px;padding:6px 8px;font-size:13px}.admin-role-mgmt .admin-card--list{margin-top:0}.admin-modal-dialog-course{width:min(900px,100%)}.admin-modal-dialog-certificate{width:min(1180px,100%)}.admin-modal-dialog-settings{width:min(1080px,calc(100vw - 48px));max-height:calc(100vh - 32px)}.admin-modal-dialog-settings .admin-modal-body{padding-bottom:24px}.admin-modal-dialog-photo-preview{width:min(860px,calc(100vw - 48px));max-height:calc(100vh - 48px)}.admin-photo-preview-body{padding:12px 16px 14px;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:8px}.admin-photo-preview-button{width:100%;border:0;padding:0;margin:0;background:#f5f7fb;border-radius:8px;cursor:zoom-in;display:flex;align-items:center;justify-content:center;overflow:hidden}.admin-photo-preview-img{display:block;max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;border-radius:8px}.admin-photo-preview-body.is-zoomed{overflow:auto;align-items:flex-start;background:#111827}.admin-photo-preview-body.is-zoomed .admin-photo-preview-button{min-width:100%;width:max-content;background:#111827;cursor:zoom-out;overflow:visible}.admin-photo-preview-body.is-zoomed .admin-photo-preview-img{max-width:none;max-height:none;width:auto;height:auto}.admin-photo-preview-hint{margin:0;color:#00000073;font-size:12px}.admin-photo-preview-body.is-zoomed .admin-photo-preview-hint{color:#ffffffb8}.admin-modal-dialog-checkin-detail{width:min(960px,calc(100vw - 48px));max-height:calc(100vh - 64px)}.admin-modal-dialog-course-delete{width:min(520px,100%);max-height:calc(100vh - 48px)}.admin-modal-dialog-confirm{width:min(460px,100%);max-height:calc(100vh - 48px)}.admin-confirm-panel{border-top:3px solid rgba(255,127,50,.82)}.admin-confirm-panel--danger{border-top-color:#ef4444}.admin-confirm-head{padding-bottom:14px}.admin-confirm-title-wrap{display:flex;align-items:flex-start;gap:12px;min-width:0}.admin-confirm-icon{flex:0 0 auto;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;margin-top:-2px;background:#ff7f321f;color:#c2410c;border:1px solid rgba(255,127,50,.28);font-size:17px;font-weight:800;line-height:1}.admin-confirm-panel--danger .admin-confirm-icon{background:#ef44441a;color:#dc2626;border-color:#ef444442}.admin-confirm-body{padding-top:16px;padding-bottom:14px}.admin-confirm-copy{display:grid;gap:8px}.admin-confirm-copy p{margin:0;color:#000000b8;font-size:14px;line-height:1.65}.admin-confirm-copy p:first-child{color:#000000e0;font-weight:600}.admin-confirm-list{margin:12px 0 0;padding:10px 12px 10px 28px;border-radius:8px;background:#fff7ed;border:1px solid rgba(255,127,50,.16);color:#7c2d12;font-size:13px;line-height:1.7}.admin-confirm-panel--danger .admin-confirm-list{background:#fef2f2;border-color:#ef44442e;color:#991b1b}.question-bank-subnav{display:inline-flex;flex-wrap:wrap;gap:4px;margin:0 0 18px;padding:5px;border-radius:10px;background:#e6ebf2;border:1px solid #d6dee8;width:fit-content;max-width:100%}.question-bank-subnav button{margin:0;border:none;background:transparent;padding:9px 18px;border-radius:8px;cursor:pointer;font-size:14px;color:#595959;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.question-bank-subnav button:hover{color:#1677ff}.question-bank-subnav button.is-active{background:#fff;color:#1677ff;font-weight:600;box-shadow:0 1px 3px #00000014}.training-material-body{min-height:280px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.45}.training-material-file-row{margin-bottom:10px}.admin-modal-panel{background:var(--card-bg);border-radius:10px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px #00000014,0 9px 28px 8px #0000000d;overflow:hidden;display:flex;flex-direction:column;max-height:inherit}.admin-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.admin-modal-head h2{margin:0;font-size:16px;font-weight:600;color:#000000e0}.admin-modal-close{width:44px;height:44px;margin:-8px -12px -8px 0;border:none;background:transparent;cursor:pointer;font-size:20px;line-height:1;color:#00000073;display:grid;place-items:center;border-radius:var(--radius-md)}.admin-modal-close:hover{color:#000000d9}.admin-modal-body{padding:20px 20px 8px;overflow-y:auto;flex:1;min-height:0}.modal-form-grid.form-grid{gap:16px 20px}.plan-course-toolbar{margin-bottom:12px}.plan-course-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:#fafafa}.plan-course-table{width:100%;border-collapse:collapse;font-size:13px}.plan-course-table th,.plan-course-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.plan-course-table th{background:#fff;font-weight:600;color:var(--text-muted)}.plan-course-table tr:last-child td{border-bottom:none}.plan-course-ops{white-space:nowrap}.plan-course-ops .btn-text{margin-right:8px}.admin-modal-ft{padding:12px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px;flex-shrink:0;background:linear-gradient(180deg,#f8fafc,#fff);min-height:56px}.btn-modal-cancel{height:36px;min-width:84px;padding:0 18px;border-radius:8px;border:1px solid #d1d5db;background:#fff;font-size:14px;font-weight:500;cursor:pointer;color:#000000c7;transition:border-color .15s ease,color .15s ease,background .15s ease}.btn-modal-cancel:hover:not(:disabled){border-color:#ff7f328c;color:#c2410c;background:#fffdfb}.btn-modal-cancel:focus-visible{outline:2px solid rgba(255,127,50,.45);outline-offset:1px}.btn-modal-cancel:disabled{opacity:.55;cursor:not-allowed}.btn-modal-ok{height:36px;min-width:96px;padding:0 22px;border-radius:8px;border:none;background:var(--btn-primary-bg);color:var(--btn-primary-text);font-size:14px;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:0 1px 3px #ff7f3259;transition:filter .15s ease,box-shadow .15s ease}.btn-modal-ok:hover:not(:disabled){filter:brightness(1.07);box-shadow:0 2px 8px #ff7f326b}.btn-modal-ok:focus-visible{outline:2px solid rgba(255,127,50,.55);outline-offset:2px}.btn-modal-ok:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}.admin-user-del-loading{padding:28px 12px;text-align:center;color:var(--muted, #6b7280);font-size:14px}.admin-user-del-error{padding:14px 16px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13.5px;line-height:1.6}.admin-user-del-error-hint{margin-top:6px;color:#b45309;font-size:12.5px}.admin-user-del-list{list-style:none;margin:0;padding:0;border:1px solid var(--border, #e5e7eb);border-radius:12px;overflow:hidden;background:#fff}.admin-user-del-list>li{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;color:#000000d1;border-bottom:1px solid #f1f5f9}.admin-user-del-list>li:last-child{border-bottom:none}.admin-user-del-list>li>strong{font-weight:600;font-variant-numeric:tabular-nums;color:#111827}.admin-user-del-list__user-line{background:#fff7ed}.admin-user-del-list__user-line>strong{color:#b91c1c}.admin-user-del-confirm{height:36px;min-width:96px;padding:0 18px;border-radius:8px;border:1px solid #dc2626;background:linear-gradient(180deg,#ef4444,#dc2626);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 1px #fff6 inset,0 2px 6px #dc262647;transition:filter .15s ease,transform .05s ease}.admin-user-del-confirm:hover:not(:disabled){filter:brightness(1.05)}.admin-user-del-confirm:active:not(:disabled){transform:translateY(1px)}.admin-user-del-confirm:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.admin-course-del-panel{border:1px solid rgba(255,127,50,.16)}.admin-course-del-head{align-items:flex-start;background:linear-gradient(135deg,#fffaf6,#fff 58%,#f8fafc)}.admin-course-del-head h2{display:flex;align-items:center;gap:8px}.admin-course-del-head h2:before{content:"";width:4px;height:18px;border-radius:999px;background:linear-gradient(180deg,var(--brand),#ffb380);flex-shrink:0}.admin-course-del-body{padding-bottom:18px}.admin-course-del-target{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid var(--border)}.admin-course-del-target__label{color:var(--text-muted);font-size:12px;font-weight:600}.admin-course-del-target strong{min-width:0;color:#000000e0;font-size:13px;font-family:Consolas,Courier New,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-course-del-copy{margin:16px 0 10px;color:#000000c2;font-size:13px;font-weight:600}.admin-course-del-list{margin:0;padding:14px 16px 14px 34px;border:1px solid rgba(255,127,50,.2);border-radius:12px;background:linear-gradient(135deg,#fffdfb,#f7faff 55%,#fff);color:#4b5563;font-size:13px;line-height:1.7}.admin-course-del-list li{padding-left:2px;margin-bottom:6px}.admin-course-del-list li:last-child{margin-bottom:0}.data-table-pro tr.row-warn td{background:#fff8f3}.score-settings-form{gap:14px}.score-settings-form .admin-tip-card{margin-bottom:0}.score-rule-addbar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}.score-rule-list{display:grid;gap:12px}.score-rule-card{border:1px solid #edf0f5;border-radius:12px;background:linear-gradient(180deg,#fff,#fbfcff);box-shadow:0 1px 2px #0f172a0a;overflow:hidden}.score-rule-card__head{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #eef1f5;background:#f8fafc}.score-rule-card__head strong{flex:1;min-width:0;color:#1f2937;font-size:14px}.score-rule-toggle{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;color:var(--ink-soft);font-size:12px;white-space:nowrap}.score-rule-grid{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(150px,1fr) 96px 120px minmax(220px,1.4fr);gap:12px;padding:14px;align-items:end}.score-rule-grid .field{margin:0}.score-rule-score-field .input{text-align:center;font-weight:700}.score-rule-target-select{min-height:72px;padding-top:8px;padding-bottom:8px}.score-rule-target-select:disabled{min-height:40px}.score-rule-target-help{margin:4px 0 0}.score-rule-summary-list{display:flex;flex-wrap:wrap;gap:8px;max-width:680px}.score-rule-summary-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;border:1px solid rgba(34,197,94,.24);background:#f0fdf4;color:#166534;font-size:12px;line-height:1.4;white-space:nowrap}.score-rule-summary-chip strong{font-family:Consolas,Courier New,monospace;font-size:12px}.score-rule-summary-chip--negative{border-color:#ef44443d;background:#fef2f2;color:#991b1b}.score-rule-remark-field{grid-column:1 / -1}@media (max-width: 980px){.score-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.score-rule-target-field,.score-rule-remark-field{grid-column:1 / -1}}@media (max-width: 640px){.admin-modal-dialog-settings{width:calc(100vw - 20px);max-height:calc(100vh - 24px)}.score-rule-grid{grid-template-columns:1fr}.score-rule-target-field,.score-rule-remark-field{grid-column:auto}}.assessment-match-label{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:#222}.assessment-match-label--manual{flex-direction:column;align-items:flex-start;gap:4px}.assessment-match-repick{padding:0;font-size:12px}.assessment-match-picker{min-width:160px;max-width:220px}.assessment-publish-picker{margin:0 16px 16px;padding:12px 14px;border:1px solid rgba(255,127,50,.2);border-radius:12px;background:linear-gradient(135deg,#fffdfb,#f7faff 48%,#fafafa);box-shadow:0 8px 24px #0f172a0a;font-size:13px}.assessment-publish-picker__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.assessment-publish-picker__head strong{font-size:14px;font-weight:600}.assessment-publish-picker__head p{margin:3px 0 0;line-height:1.45}.assessment-publish-picker__actions{display:inline-flex;gap:10px;white-space:nowrap}.assessment-publish-picker__search{display:grid;grid-template-columns:minmax(180px,260px) auto 1fr;align-items:center;gap:8px;margin-bottom:10px}.assessment-publish-picker__search .input{min-height:32px}.assessment-publish-picker__search-btn{min-height:32px;padding:0 12px}.assessment-publish-picker__selected{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.assessment-publish-picker__chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid rgba(37,99,235,.18);border-radius:999px;background:#eef5ff;color:#1e3a8a;font-size:12px}.assessment-publish-picker__chip button{border:none;padding:0;background:transparent;color:inherit;cursor:pointer;line-height:1}.assessment-publish-picker__empty{margin:0 0 10px}.assessment-publish-picker__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px;max-height:220px;overflow-y:auto}.assessment-publish-picker__row{display:flex;align-items:flex-start;gap:7px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;font-size:13px}.assessment-publish-picker__row input{margin-top:3px}.assessment-publish-picker__main{display:flex;flex-direction:column;gap:3px;min-width:0}.assessment-publish-picker__defaults{margin-top:12px;border-top:1px dashed rgba(15,23,42,.14);padding-top:10px}.assessment-publish-picker__defaults summary{cursor:pointer;font-size:13px;color:#4b5563}.assessment-publish-picker__list--compact{margin-top:10px;max-height:180px}.assessment-collection-import{margin:0 16px 16px;padding:16px;border:1px solid #e8e4df;border-radius:10px;background:#faf9f7}.assessment-collection-import__lead{margin:0 0 12px;font-size:13px;color:#555;line-height:1.5}.assessment-collection-import__grid{display:grid;gap:8px;margin-bottom:16px}.assessment-collection-import__meta{margin:0}.assessment-collection-import__submissions{margin:0 0 16px;padding:12px;border:1px solid #eee2d8;border-radius:10px;background:#fff}.assessment-collection-import__submissions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.assessment-collection-import__selection-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.assessment-collection-import__submission-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;max-height:260px;overflow:auto}.assessment-collection-import__submission-row{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #f0ebe5;border-radius:9px;background:#fffaf6;cursor:pointer}.assessment-collection-import__submission-main{display:flex;min-width:0;flex-direction:column;gap:2px}.assessment-collection-import__submission-main strong{color:#222;font-size:13px}.assessment-collection-import__mapping-title{margin:0 0 4px;font-size:14px;font-weight:600;color:#222}.assessment-collection-import__mapping-help{margin:0 0 10px;color:#777;font-size:12px;line-height:1.5}.assessment-collection-import__mapping-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px}.assessment-collection-import__mapping-grid .field>span:first-child{display:block;margin-bottom:4px;font-size:13px}.assessment-collection-import__mapping-grid .req{color:#c44;font-style:normal;margin-left:2px}.assessment-collection-import__multi-select{box-sizing:border-box;display:grid;gap:6px;max-height:180px;overflow-y:auto;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.assessment-collection-import__multi-option{display:flex;align-items:flex-start;gap:8px;min-height:28px;padding:4px 6px;border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-helper);line-height:1.45;cursor:pointer}.assessment-collection-import__multi-option:hover{background:#cf723d0d}.assessment-collection-import__multi-option input{margin-top:2px;accent-color:var(--color-brand)}.assessment-collection-import__multi-clear{justify-self:start;padding:0 6px}.assessment-collection-import__actions{margin-top:16px;display:flex;gap:8px}.growth-message-manager{display:flex;flex-direction:column;gap:14px}.growth-message-settings-panel{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#fff}.growth-message-settings-panel h3{margin:0 0 4px;font-size:14px;color:var(--text)}.growth-message-settings-panel p{margin:0;color:var(--text-muted);font-size:12px}.growth-message-switch,.growth-message-frequency{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;color:var(--text)}.growth-message-frequency .input{width:150px}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:var(--font-body);transition:border-color .15s ease,color .15s ease,background .15s ease}.btn-secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-brand) 28%,var(--color-border));color:var(--color-brand);background:color-mix(in srgb,var(--color-brand) 4%,var(--color-surface))}.btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-brand-ring)}.btn-secondary:disabled{border-color:var(--badge-muted-border);background:var(--badge-muted-bg);color:var(--badge-muted-text);opacity:1;cursor:not-allowed}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid transparent;font-size:12px;font-weight:500;line-height:1.35;white-space:nowrap;max-width:100%}.status-badge--success{background:var(--badge-success-bg);color:var(--badge-success-text);border-color:var(--badge-success-border)}.status-badge--warning{background:var(--badge-warning-bg);color:var(--badge-warning-text);border-color:var(--badge-warning-border)}.status-badge--danger{background:var(--badge-danger-bg);color:var(--badge-danger-text);border-color:var(--badge-danger-border)}.status-badge--info{background:var(--badge-info-bg);color:var(--badge-info-text);border-color:var(--badge-info-border)}.status-badge--muted{background:var(--badge-muted-bg);color:var(--badge-muted-text);border-color:var(--badge-muted-border)}.row-actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap}.row-actions__primary,.row-actions__trigger{min-height:32px;padding:0 12px;border-radius:var(--radius-sm);font-size:var(--font-body);white-space:nowrap}.row-actions__more{position:relative}.row-actions__menu{position:fixed;z-index:1200;display:flex;flex-direction:column;min-width:148px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-popover)}.row-actions__menu.is-measuring{pointer-events:none}.row-actions__menu.is-positioned{animation:row-actions-menu-in .15s ease}.row-actions__menu--top.is-positioned{animation:row-actions-menu-in-top .15s ease}.row-actions__menu-item{display:flex;align-items:center;width:100%;min-height:34px;padding:0 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:var(--font-helper);text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.row-actions__menu-item:hover:not(:disabled){background:color-mix(in srgb,var(--color-brand) 6%,var(--color-surface));color:var(--color-brand)}.row-actions__menu-item--danger{color:var(--badge-danger-text)}.row-actions__menu-item--danger:hover:not(:disabled){background:var(--badge-danger-bg);color:var(--badge-danger-text)}.row-actions__menu-divider{height:1px;margin:var(--space-2) 0;background:var(--color-border)}.data-table-pro td .row-actions{min-width:max-content}@keyframes row-actions-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.toolbar-menu{display:inline-flex}.toolbar-menu__trigger{display:inline-flex;align-items:center;gap:6px}.toolbar-menu__caret{font-size:10px;line-height:1;opacity:.7}.toolbar-menu__panel{position:fixed;z-index:1200;display:flex;flex-direction:column;min-width:180px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-popover);background:var(--color-surface);box-shadow:var(--shadow-popover)}.toolbar-menu__panel.is-measuring{pointer-events:none}.toolbar-menu__panel.is-positioned{animation:row-actions-menu-in .15s ease}.toolbar-menu__item{display:flex;align-items:center;width:100%;min-height:36px;padding:0 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:var(--font-helper);text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.toolbar-menu__item:hover:not(:disabled){background:color-mix(in srgb,var(--color-brand) 6%,var(--color-surface));color:var(--color-brand)}.toolbar-menu__item:disabled{color:var(--color-text-placeholder);cursor:not-allowed}.toolbar-menu__item--danger{color:var(--badge-danger-text)}.toolbar-menu__item--danger:hover:not(:disabled){background:var(--badge-danger-bg);color:var(--badge-danger-text)}.toolbar-menu__divider{height:1px;margin:var(--space-2) 0;background:var(--color-border)}@keyframes row-actions-menu-in-top{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.admin-record-filters__advanced-toggle{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);color:var(--color-text-secondary);font-size:var(--font-helper);cursor:pointer}.admin-record-filters__advanced-toggle:hover:not(:disabled){border-color:var(--color-border-strong);color:var(--color-text)}.admin-record-filters__advanced{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.admin-record-filters__user-picker{position:relative;max-width:420px}.admin-record-filters__user-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:36px;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-body);cursor:pointer;text-align:left}.admin-record-filters__user-picker-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-brand) 24%,var(--color-border))}.admin-record-filters__user-picker-panel{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-popover)}.admin-record-filters__user-search{width:100%;min-height:36px;margin-bottom:var(--space-2);padding:0 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-body)}.admin-record-filters__user-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.admin-record-filters__user-option{display:flex;align-items:center;gap:8px;min-height:34px;padding:6px 8px;border-radius:var(--radius-sm);font-size:var(--font-helper);cursor:pointer;-webkit-user-select:none;user-select:none}.admin-record-filters__user-option:hover{background:color-mix(in srgb,var(--color-brand) 5%,var(--color-surface))}.admin-record-filters__user-option.is-on{background:var(--color-brand-soft)}.admin-record-filters__user-picker-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.admin-progress-cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:88px}.admin-progress-cell__pct{font-size:var(--font-body);font-weight:600;color:var(--color-text)}.admin-progress-bar{width:100%;height:6px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-brand) 0%,#e8a06a 100%);max-width:120px}.admin-progress-bar-wrap{width:100%;max-width:120px;height:6px;border-radius:var(--radius-pill);background:#eef2f6;overflow:hidden}.admin-progress-bar-wrap .admin-progress-bar{max-width:none;height:100%}.table-check-label--badge-only{display:inline-flex;cursor:pointer}.table-check-label--badge-only input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.page-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 24px;text-align:center}.page-state__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-pill);font-size:18px;font-weight:600}.page-state__icon--empty{color:var(--color-text-muted);background:#f2f4f7;border:1px solid #e4e7ec}.page-state__icon--error{color:var(--badge-danger-text);background:var(--badge-danger-bg);border:1px solid var(--badge-danger-border)}.page-state__spinner{width:28px;height:28px;border:2px solid #e4e7ec;border-top-color:var(--color-brand);border-radius:50%;animation:page-state-spin .7s linear infinite}@keyframes page-state-spin{to{transform:rotate(360deg)}}.page-state__title{margin:0;font-size:var(--font-section-title);line-height:var(--line-section-title);font-weight:600;color:var(--color-text)}.page-state__desc{margin:0;max-width:28rem;font-size:var(--font-helper);line-height:1.6;color:var(--color-text-muted)}.page-state__action{margin-top:8px}.admin-overview--cockpit .admin-overview-inner{padding:0}.admin-overview-hero--cockpit{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:var(--space-6);border-bottom:1px solid var(--color-border)}.admin-overview-hero__eyebrow{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand)}.admin-cockpit-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.admin-cockpit-body.is-busy{opacity:.72;pointer-events:none}.admin-cockpit-section__title{margin:0 0 14px;font-size:var(--font-section-title);line-height:var(--line-section-title);font-weight:600;color:var(--color-text)}.admin-cockpit-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 1100px){.admin-cockpit-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.admin-cockpit-kpi-grid{grid-template-columns:1fr}}.admin-cockpit-kpi{padding:18px 18px 14px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-sm)}.admin-cockpit-kpi__label{margin:0 0 8px;font-size:13px;color:var(--color-text-muted)}.admin-cockpit-kpi__metric{display:flex;align-items:baseline;gap:4px;margin-bottom:10px}.admin-cockpit-kpi__num{font-size:28px;line-height:1.1;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.admin-cockpit-kpi__num:first-letter{color:var(--color-brand)}.admin-cockpit-kpi__unit{font-size:13px;color:var(--color-text-muted)}.admin-cockpit-kpi__link{padding-left:0}.admin-cockpit-split{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}@media (max-width: 900px){.admin-cockpit-split{grid-template-columns:1fr}}.admin-cockpit-pending-list{display:flex;flex-direction:column;gap:12px}.admin-cockpit-pending{padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-soft)}.admin-cockpit-pending--warn{border-color:color-mix(in srgb,var(--color-brand) 28%,var(--color-border));background:color-mix(in srgb,var(--color-brand-soft) 55%,#fff)}.admin-cockpit-pending__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.admin-cockpit-pending__head h3{margin:0;font-size:var(--font-body);font-weight:600}.admin-cockpit-pending__count{font-size:22px;font-weight:700;color:var(--color-brand)}.admin-cockpit-pending__desc{margin:0 0 12px;font-size:13px;color:var(--color-text-muted)}.admin-cockpit-quick{display:flex;flex-wrap:wrap;gap:10px}.admin-cockpit-analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media (max-width: 1000px){.admin-cockpit-analytics-grid{grid-template-columns:1fr}}.admin-cockpit-panel{padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-sm);min-height:180px}.admin-cockpit-panel__title{margin:0 0 14px;font-size:var(--font-body);font-weight:600}.admin-cockpit-panel__empty{margin:24px 0 0;font-size:13px;color:var(--color-text-muted);text-align:center}.admin-cockpit-trend{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;min-height:110px}.admin-cockpit-trend__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.admin-cockpit-trend__bar{width:100%;max-width:36px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#e8a06a 0%,var(--color-brand) 100%)}.admin-cockpit-trend__label,.admin-cockpit-trend__val{font-size:11px;color:var(--color-text-muted)}.admin-cockpit-rank{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.admin-cockpit-rank li{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;font-size:13px}.admin-cockpit-rank__idx{color:var(--color-text-muted);font-weight:600}.admin-cockpit-rank__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-cockpit-rank__val{color:var(--color-text-muted);font-size:12px}.admin-cockpit-pass{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:8px}.admin-cockpit-pass__ring{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(closest-side,#fff 74%,transparent 76% 100%),conic-gradient(var(--color-brand) calc(var(--pct) * 1%),#eef2f6 0);font-size:20px;font-weight:700;color:var(--color-brand)}.admin-cockpit-pass__meta{margin:0;font-size:12px;color:var(--color-text-muted);text-align:center}.admin-cockpit-collections{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:12px 14px}.admin-cockpit-collections summary{cursor:pointer;font-size:13px;color:var(--color-text-muted)}.admin-cockpit-collections__body{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.admin-cockpit-collection-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#fff;font-size:12px;cursor:pointer}.admin-cockpit-collection-chip strong{color:var(--color-brand)}
