:root{--bg:#eef2ff;--surface:rgba(255,255,255,0.92);--surface-strong:#ffffff;--surface-muted:#f4f7ff;--surface-accent:rgba(49,46,129,0.05);--text:#0f172a;--text-muted:#56637a;--text-subtle:#7c8799;--border:rgba(124,138,186,0.24);--border-strong:rgba(67,56,202,0.18);--primary:#312e81;--primary-hover:#1e1b4b;--primary-soft:rgba(49,46,129,0.08);--accent:#f97316;--accent-soft:rgba(249,115,22,0.12);--danger:#b91c1c;--danger-bg:#fef2f2;--success:#166534;--success-bg:#f0fdf4;--radius:16px;--radius-lg:24px;--shadow:0 18px 48px rgba(15,23,42,0.08);--shadow-soft:0 10px 28px rgba(15,23,42,0.05);--ring:0 0 0 4px rgba(49,46,129,0.12)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif);color:var(--text,#0f172a);background:radial-gradient(circle at top right,rgba(49,46,129,.14),transparent 34%),radial-gradient(circle at top left,rgba(99,102,241,.1),transparent 30%),radial-gradient(circle at bottom left,rgba(249,115,22,.08),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.65),rgba(238,242,255,.92)),var(--bg,#eef2ff);line-height:1.55;min-height:100dvh}a{color:var(--primary);text-decoration:none;transition:color .16s ease}a:hover{text-decoration:underline;color:var(--primary-hover)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-headline,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif)}.page{max-width:1180px;margin:0 auto;padding:1.9rem 1.5rem 2.2rem;display:grid;grid-gap:1.15rem;gap:1.15rem}.page--narrow{max-width:520px}.layout-split{display:grid;grid-gap:1rem;gap:1rem}.page-header{display:grid;grid-gap:.55rem;gap:.55rem;padding:1.35rem 1.4rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,247,255,.92)),radial-gradient(circle at top right,rgba(49,46,129,.08),transparent 40%);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.page-header:after{content:"";position:absolute;inset:auto 1.4rem 0 auto;width:9rem;height:9rem;border-radius:999px;background:radial-gradient(circle,rgba(249,115,22,.14),transparent 68%);pointer-events:none}.brand-identity{grid-template-columns:auto 1fr;align-items:center;gap:1.05rem;padding:1.2rem 1.35rem;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,249,253,.98)),radial-gradient(circle at top right,rgba(79,70,229,.06),transparent 42%);box-shadow:0 18px 44px rgba(15,23,42,.07),inset 0 1px 0 rgba(255,255,255,.74)}.brand-copy{display:grid;grid-gap:.18rem;gap:.18rem}.brand-identity__actions{display:grid;grid-gap:.55rem;gap:.55rem;justify-items:end;align-content:center}.brand-identity__logout{display:flex;justify-content:flex-end}.brand-session-label{color:var(--text-muted);font-size:.86rem;text-align:right}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;overflow:hidden;border-radius:18px;border:1px solid rgba(129,152,255,.26);background:linear-gradient(135deg,#26347e,#3348aa 55%,#4868e8);box-shadow:0 16px 34px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.12)}.brand-mark--login{width:68px;height:68px;border-radius:20px}.brand-eyebrow{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:#4f46e5;font-weight:700}.brand-title{font-family:var(--font-headline,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif);font-size:1.14rem;font-weight:700;letter-spacing:-.02em}.brand-subtitle{color:var(--text-muted);font-size:.9rem;line-height:1.5}.brand-tagline{color:#64748b;font-size:.76rem;letter-spacing:.01em}.brand-logo{object-fit:cover}.brand-logo,.brand-logo--login{width:100%;height:100%}.page-title{font-size:clamp(1.6rem,2.2vw,2.05rem);line-height:1.08}.muted,.page-subtitle{color:var(--text-muted)}.page-header__actions,.page-header__meta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.page-header__meta{margin-top:.15rem}.actions,.row-links{display:flex;gap:.75rem;flex-wrap:wrap}.row-links a{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0 1rem;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.78);color:var(--primary);font-weight:600;text-decoration:none;box-shadow:0 8px 20px rgba(15,23,42,.04);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.row-links a:hover{text-decoration:none;transform:translateY(-1px);border-color:rgba(67,56,202,.22);background:rgba(255,255,255,.96);box-shadow:0 12px 28px rgba(15,23,42,.08)}.card{background:var(--surface);border:1px solid var(--border,#dbe2ea);border-radius:var(--button-radius,var(--radius));box-shadow:var(--shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:1.15rem}.card,.home-entry-grid{display:grid;grid-gap:.75rem;gap:.75rem}.home-entry-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.admin-home{padding-bottom:2.5rem}.admin-home-hero{gap:1.35rem;padding:1.4rem;border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(243,247,255,.94)),radial-gradient(circle at top right,rgba(79,70,229,.08),transparent 40%);box-shadow:0 22px 52px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.76)}.admin-home-hero__copy{display:grid;grid-gap:.55rem;gap:.55rem}.admin-home-entry__eyebrow,.admin-home-hero__eyebrow,.admin-home-metric__label,.admin-home-panel__eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#4f46e5;font-weight:700}.admin-home-hero__actions{display:flex;gap:.75rem;flex-wrap:wrap}.admin-home-button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:0 1.1rem;border-radius:999px;border:1px solid var(--border,#dbe2ea);background:rgba(255,255,255,.92);color:var(--text,#0f172a);font-weight:600;text-decoration:none;box-shadow:0 10px 24px rgba(15,23,42,.05);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.admin-home-button:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.08)}.admin-home-button--primary{background:linear-gradient(135deg,#233c93,#4f46e5);border-color:transparent;color:#fff}.admin-home-button:not(.admin-home-button--primary):hover{border-color:rgba(79,70,229,.28);background:rgba(255,255,255,.98)}.admin-home-grid{display:grid;grid-gap:1.1rem;gap:1.1rem}.admin-home-grid--metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.admin-home-grid--split{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.admin-home-metric{gap:.35rem;min-height:8.4rem;align-content:start;padding:1.15rem;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(245,248,252,.96));box-shadow:0 16px 36px rgba(15,23,42,.06),inset 0 1px 0 rgba(255,255,255,.72)}.admin-home-metric__value{font-size:clamp(2.1rem,3.6vw,2.75rem);font-weight:800;letter-spacing:-.04em;color:#172554}.admin-home-entry p,.admin-home-group__links a,.admin-home-metric__detail,.admin-home-panel__header p,.admin-home-spotlight__item p{color:var(--text-muted)}.admin-home-metric__detail{font-size:.92rem;line-height:1.45}.admin-home-panel__header p{max-width:38rem}.admin-home-panel{gap:.95rem;border-radius:24px;padding:1.2rem}.admin-home-panel__header{display:grid;grid-gap:.4rem;gap:.4rem}.admin-home-panel__header h2{font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.2}.admin-home-entry-list,.admin-home-spotlight{display:grid;grid-gap:.8rem;gap:.8rem}.admin-home-entry,.admin-home-spotlight__item{padding:1rem;border-radius:20px;border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,rgba(248,250,252,.98),rgba(241,245,249,.82));display:grid;grid-gap:.45rem;gap:.45rem;box-shadow:0 12px 30px rgba(15,23,42,.04)}.admin-home-entry h3,.admin-home-group h3,.admin-home-spotlight__item h3{font-size:1.02rem}.admin-home-entry a,.admin-home-group__links a,.admin-home-spotlight__item a{font-weight:700;text-decoration:none}.admin-home-entry a,.admin-home-spotlight__item a{display:inline-flex;align-items:center;justify-content:center;min-height:2.6rem;width:-moz-fit-content;width:fit-content;padding:0 .9rem;border-radius:999px;border:1px solid rgba(79,70,229,.18);background:rgba(79,70,229,.08);color:#312e81;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.admin-home-entry a:hover,.admin-home-spotlight__item a:hover{border-color:rgba(79,70,229,.3);background:rgba(79,70,229,.12);box-shadow:0 12px 26px rgba(79,70,229,.12);transform:translateY(-1px)}.admin-home-entry:hover,.admin-home-group:hover,.admin-home-spotlight__item:hover{border-color:rgba(99,102,241,.26);box-shadow:0 16px 36px rgba(15,23,42,.06)}.admin-home-group__links a{display:flex;align-items:center;justify-content:space-between;min-height:2.8rem;padding:.65rem .85rem;border-radius:14px;border:1px solid rgba(148,163,184,.2);background:rgba(255,255,255,.72);transition:border-color .16s ease,background .16s ease,transform .16s ease}.admin-home-group__links a:hover{border-color:rgba(79,70,229,.26);background:rgba(238,242,255,.72);transform:translateY(-1px)}.admin-home-groups{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.admin-home-group{padding:1rem;border-radius:20px;border:1px solid rgba(148,163,184,.22);background:rgba(248,250,252,.82);display:grid;grid-gap:.75rem;gap:.75rem;box-shadow:0 12px 30px rgba(15,23,42,.04)}.admin-home-group__links{display:grid;grid-gap:.55rem;gap:.55rem}@media (max-width:640px){.page{padding:1.15rem 1rem;gap:.95rem}.brand-identity{gap:.9rem;padding:1rem 1.05rem;border-radius:22px}.brand-mark{width:52px;height:52px;border-radius:16px}.brand-mark--login{width:60px;height:60px;border-radius:18px}.brand-title{font-size:1.02rem}.brand-subtitle{font-size:.84rem}.brand-tagline{font-size:.72rem}.admin-home{padding-bottom:1.8rem}.admin-home-hero{gap:1rem;padding:1.1rem;border-radius:24px}.admin-home-button{flex:1 1 100%}.admin-home-grid--metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.admin-home-metric{min-height:7.4rem;padding:1rem}.admin-home-metric__value{font-size:2rem}.admin-home-grid--split{grid-template-columns:1fr;gap:.9rem}.admin-home-entry,.admin-home-group,.admin-home-panel,.admin-home-spotlight__item{border-radius:18px}}.home-entry{text-decoration:none;color:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.home-entry h2{font-size:1.1rem}.home-entry p{color:var(--text-muted)}.home-entry:hover{text-decoration:none;border-color:rgba(67,56,202,.2);box-shadow:0 10px 24px rgba(15,23,42,.1);transform:translateY(-2px)}.form-grid{display:grid;grid-gap:.75rem;gap:.75rem}.form-grid--narrow{max-width:24rem}.form-grid--medium{max-width:42rem}.form-grid--wide{max-width:60rem}.section-stack{display:grid;grid-gap:1rem;gap:1rem}.section-stack--compact{gap:.75rem}.inline-form{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end}.grid-columns-2,.grid-columns-3{display:grid;grid-gap:.75rem;gap:.75rem}.grid-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.subtle-card{border:1px solid var(--border,#dbe2ea);border-radius:var(--button-radius,var(--radius));background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(244,247,255,.88)),var(--surface-muted);padding:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}.panel-header{display:grid;grid-gap:.25rem;gap:.25rem}.table-meta{color:var(--text-muted);font-size:.9rem}.checkbox-list{display:grid;grid-gap:.5rem;gap:.5rem}.checkbox-card{display:grid;grid-gap:.28rem;gap:.28rem;padding:.75rem;border:1px solid var(--border,#dbe2ea);border-radius:14px;background:rgba(255,255,255,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.checkbox-card label{font-weight:600}.section-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.field{display:grid;grid-gap:.35rem;gap:.35rem;font-weight:600;font-size:.95rem}.field--inline{display:flex;align-items:center}.field .status{margin-top:.1rem;padding:.45rem .55rem}.training-material-card legend{padding:0 .35rem;font-weight:700}.training-material-upload{padding-top:.25rem;border-top:1px dashed rgba(148,163,184,.42)}@media (min-width:980px){.layout-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}button,input,select,textarea{border-radius:var(--button-radius,10px);border:1px solid var(--border,#dbe2ea);padding:.7rem .85rem;font:inherit;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}input,select,textarea{min-height:2.9rem;background:rgba(255,255,255,.94);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.78)}textarea{min-height:7rem;resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-subtle)}a:focus-visible,button:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(67,56,202,.34);box-shadow:var(--ring)}button{cursor:pointer;min-height:2.9rem;background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;border-color:transparent;font-weight:700;box-shadow:0 14px 30px rgba(49,46,129,.18)}button:hover{background:linear-gradient(135deg,#3c3795,var(--primary));transform:translateY(-1px);box-shadow:0 18px 32px rgba(49,46,129,.22)}.button-secondary{background:rgba(255,255,255,.92);color:var(--primary);border-color:rgba(67,56,202,.18);box-shadow:0 10px 22px rgba(15,23,42,.05)}.button-secondary:hover{background:rgba(255,255,255,1);color:var(--primary-hover);box-shadow:0 14px 26px rgba(15,23,42,.08)}.button-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 14px 30px rgba(185,28,28,.18)}.button-danger:hover{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 18px 32px rgba(185,28,28,.24)}.button-compact{min-height:2.45rem;padding:.55rem .95rem}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border,#dbe2ea);border-radius:var(--button-radius,var(--radius));background:rgba(255,255,255,.9);box-shadow:var(--shadow)}.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table td,.data-table th{padding:.7rem .75rem;border-bottom:1px solid var(--border,#dbe2ea);text-align:left;vertical-align:top}.data-table th{background:rgba(49,46,129,.05);color:var(--primary);font-size:.84rem;letter-spacing:.04em;text-transform:uppercase}.data-table tbody tr{transition:background .16s ease}.data-table tbody tr:nth-child(2n){background:var(--surface-muted)}.data-table tbody tr:hover{background:rgba(49,46,129,.05)}.status{padding:.62rem .78rem;border-radius:12px;border:1px solid;font-weight:600}.status--error{color:var(--danger);background:var(--danger-bg);border-color:#fecaca}.status--success{color:var(--success);background:var(--success-bg);border-color:#bbf7d0}.status--pending{color:#155e75;background:#ecfeff;border-color:#a5f3fc}.status--warning{color:#8a4b00;background:#fff7e8;border-color:#f6c778}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .62rem;border-radius:999px;font-size:.78rem;border:1px solid var(--border-strong,var(--border));background:var(--primary-soft);color:var(--primary);font-weight:700}.badge--warning{background:#fff7e8;color:#8a4b00;border-color:#f6c778}.badge--neutral{background:var(--surface-muted);color:var(--text);border-color:var(--border)}.eyebrow{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--primary);font-weight:700}.split-card-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.info-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.info-chip{display:grid;grid-gap:.3rem;gap:.3rem;padding:.95rem 1rem;border-radius:18px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(244,247,255,.88)),var(--surface-muted);box-shadow:0 12px 24px rgba(15,23,42,.04)}.info-chip strong{font-size:1.25rem;line-height:1;color:var(--primary)}.result-summary,.result-summary__grid{display:grid;grid-gap:.75rem;gap:.75rem}.result-summary__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.result-summary__item{display:grid;grid-gap:.25rem;gap:.25rem;padding:.95rem 1rem;border-radius:18px;border:1px solid var(--border);background:rgba(255,255,255,.9)}.result-summary__item strong{font-size:1.4rem;line-height:1;color:var(--primary)}.result-list{margin:0;padding-left:1.2rem;display:grid;grid-gap:.45rem;gap:.45rem;color:var(--text-muted)}.table-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.activity-board{display:grid;grid-gap:1rem;gap:1rem}.activity-board__section{gap:.95rem}.activity-board__items{display:grid;grid-gap:.75rem;gap:.75rem}.activity-entry{display:grid;grid-gap:.8rem;gap:.8rem;padding:1rem;border-radius:18px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,247,255,.9)),var(--surface-muted);box-shadow:0 14px 30px rgba(15,23,42,.05)}.activity-entry__header{display:grid;grid-gap:.3rem;gap:.3rem}.activity-entry__title{font-size:1.08rem;line-height:1.3}.activity-entry__meta{gap:.55rem}.activity-entry__footer,.activity-entry__meta{display:flex;flex-wrap:wrap;align-items:center}.activity-entry__footer{justify-content:space-between;gap:.75rem}.action-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.7rem;padding:0 1rem;border-radius:999px;background:var(--primary-soft);border:1px solid rgba(67,56,202,.16);color:var(--primary);font-weight:700;text-decoration:none;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.action-link:hover{text-decoration:none;transform:translateY(-1px);background:rgba(49,46,129,.12);border-color:rgba(67,56,202,.24);box-shadow:0 12px 26px rgba(49,46,129,.12)}.training-embed,.training-image,.training-media{width:100%;border-radius:18px;border:1px solid rgba(67,56,202,.14);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,247,255,.92)),var(--surface-muted);box-shadow:0 14px 30px rgba(15,23,42,.06)}.training-image{display:block;object-fit:contain;max-height:32rem;padding:.35rem}.training-embed{display:block;min-height:26rem}.training-embed--pdf{height:70dvh}.training-embed--document{height:68dvh}.training-media{display:block}.training-media--video{min-height:18rem;aspect-ratio:16/9}.training-media--audio{min-height:4.5rem;padding:.85rem 1rem}@media (max-width:768px){.page{padding:1rem}.activity-entry__footer,.inline-form,.page-header__actions,.page-header__meta,.section-actions,.table-toolbar{display:grid}.brand-identity,.grid-columns-2,.grid-columns-3{grid-template-columns:1fr}.brand-identity{justify-items:start}.brand-identity__actions,.brand-identity__logout{justify-items:start;justify-content:flex-start}.brand-session-label{text-align:left}.brand-logo,.brand-mark{width:52px;height:52px}.admin-home-hero__actions{display:grid}.data-table{min-width:620px}.action-link,.row-links a,button{width:100%}.training-image{max-height:22rem}.training-embed,.training-embed--document,.training-embed--pdf{min-height:18rem;height:22rem}}