:root{color-scheme:light;--app-bg: #f6f7fb;--surface: rgba(255, 255, 255, .94);--surface-strong: #ffffff;--surface-muted: #f8fafc;--surface-accent: linear-gradient(135deg, rgba(255, 255, 255, .98) 0%, rgba(255, 245, 247, .98) 100%);--text-main: #172033;--text-muted: #667085;--text-subtle: #98a2b3;--border-soft: rgba(15, 23, 42, .08);--primary: #ff5b6e;--primary-soft: rgba(255, 91, 110, .12);--primary-strong: #ff465c;--success-soft: rgba(18, 185, 129, .14);--warning-soft: rgba(245, 158, 11, .14);--shadow-soft: 0 14px 40px rgba(15, 23, 42, .06);--shadow-hover: 0 20px 55px rgba(15, 23, 42, .1)}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top right,rgba(255,91,110,.08),transparent 22%),radial-gradient(circle at bottom left,rgba(91,132,255,.06),transparent 20%),var(--app-bg);color:var(--text-main)}a{color:inherit}.app-shell{background:transparent}.app-sidebar{display:flex;flex-direction:column;height:100%;padding:18px 14px 14px;background:#ffffffd6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-right:1px solid var(--border-soft)}.app-brand{padding:10px 12px 16px}.app-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary) 0%,#ff8894 100%);color:#fff;font-weight:700;letter-spacing:.04em;box-shadow:0 14px 30px #ff5b6e42}.app-brand-copy{margin-top:14px}.app-brand-title{margin:0;font-size:1rem;font-weight:700;color:var(--text-main)}.app-brand-subtitle{margin-top:4px;color:var(--text-muted);font-size:.875rem}.app-menu{flex:1;background:transparent!important;border-inline-end:none!important}.app-menu.ant-menu .ant-menu-item,.app-menu.ant-menu .ant-menu-submenu-title{height:44px;margin-bottom:6px;line-height:44px;font-weight:500}.app-menu.ant-menu .ant-menu-item-group-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding-inline:14px;padding-top:12px}.app-menu.ant-menu-inline-collapsed .ant-menu-item-group-title{display:none}.app-account-card{margin-top:12px;padding:14px;border:1px solid var(--border-soft);border-radius:20px;background:var(--surface-accent);box-shadow:var(--shadow-soft)}.app-account-meta{display:flex;gap:12px;align-items:center;margin-bottom:14px}.app-account-name{font-weight:700;color:var(--text-main)}.app-account-role{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:.8rem;font-weight:600}.app-account-email{color:var(--text-muted);font-size:.82rem}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;min-height:76px;background:#f6f7fbeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,23,42,.06)}.app-header-main{display:flex;align-items:center;gap:14px;min-width:0}.app-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.app-content{padding:20px 28px 28px;background:transparent!important}.page-shell{display:flex;flex-direction:column;gap:18px}.page-breadcrumb{margin-bottom:2px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.page-header-copy{max-width:740px}.page-title{margin:0!important;font-size:2rem!important;line-height:1.08!important;letter-spacing:-.03em}.page-subtitle{margin-top:8px;color:var(--text-muted);font-size:.97rem;line-height:1.6}.page-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.surface-card,.ant-card.surface-card{border:1px solid var(--border-soft);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.surface-card:hover{box-shadow:var(--shadow-hover)}.chart-shell{position:relative;margin-top:6px}.chart-tooltip{min-width:220px;padding:14px 14px 12px;border:1px solid rgba(15,23,42,.1);border-radius:18px;background:#fffffff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 20px 50px #0f172a24}.chart-tooltip-kicker{margin-bottom:6px;color:var(--text-subtle);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.chart-tooltip-title{margin-bottom:10px;color:var(--text-main);font-size:.95rem;font-weight:700}.chart-tooltip-list{display:grid;gap:8px}.chart-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.chart-tooltip-row.compact{justify-content:flex-end}.chart-tooltip-label{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.86rem}.chart-tooltip-dot{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 4px #0f172a0a}.chart-tooltip-value{color:var(--text-main);font-size:.9rem;font-weight:700;white-space:nowrap}.chart-legend-text{color:var(--text-muted);font-size:.84rem}.hero-card,.ant-card.hero-card{background:var(--surface-accent)}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:16px}.stats-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.metric-card{min-height:138px}.metric-kicker{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f3f5fa;color:var(--text-muted);font-size:.78rem;font-weight:600}.metric-value{margin-top:16px;font-size:2rem;font-weight:700;letter-spacing:-.04em;color:var(--text-main)}.metric-caption{margin-top:10px;color:var(--text-muted);font-size:.92rem;line-height:1.5}.dashboard-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.5fr) minmax(310px,.9fr)}.stack-grid{display:grid;gap:16px}.entity-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.course-card{height:100%;overflow:hidden}.course-card .ant-card-body{display:flex;flex-direction:column;height:100%}.course-cover{position:relative;height:152px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#ff5b6e24,#565dff1a);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.course-cover-badge{position:absolute;top:12px;left:12px;z-index:2;margin:0;box-shadow:0 10px 24px #0f172a1f}.course-cover-badge-right{left:auto;right:12px}.course-cover-badge-strong{border:1px solid rgba(15,23,42,.16)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.course-detail-badge{border:1px solid rgba(15,23,42,.14)!important;box-shadow:0 8px 20px #0f172a14}.course-cover img{width:100%;height:100%;object-fit:cover;display:block}.course-cover-fallback{color:var(--primary-strong);font-size:2rem}.course-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.course-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.course-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-main)}.course-description{margin-top:10px;min-height:44px;color:var(--text-muted);line-height:1.55}.course-stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto;padding-top:16px}.mini-stat{display:flex;flex-direction:column;justify-content:space-between;min-height:74px;padding:12px;border-radius:16px;background:var(--surface-muted)}.mini-stat-label{color:var(--text-subtle);font-size:.78rem}.mini-stat-value{margin-top:6px;color:var(--text-main);font-weight:700}.card-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:14px}.table-surface{overflow:hidden}.table-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.soft-list{display:grid;gap:12px}.soft-list-item{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:var(--surface-muted)}.soft-list-title{font-weight:600;color:var(--text-main)}.soft-list-text{color:var(--text-muted);line-height:1.5}.highlight-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-weight:600}.muted-text{color:var(--text-muted)}.page-grid-two{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(380px,.85fr);gap:24px;padding:24px;background:radial-gradient(circle at top left,rgba(255,91,110,.16),transparent 24%),radial-gradient(circle at bottom right,rgba(70,90,255,.12),transparent 18%),var(--app-bg)}.login-hero,.login-panel{border:1px solid var(--border-soft);border-radius:28px;background:#ffffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-soft)}.login-hero{display:flex;flex-direction:column;justify-content:space-between;padding:40px;background:linear-gradient(140deg,#fffffff5,#fff3f5eb)}.login-hero-title{margin:18px 0 0;font-size:2.4rem;line-height:1.02;letter-spacing:-.05em}.login-hero-copy{max-width:520px;color:var(--text-muted);line-height:1.75;font-size:1rem}.login-panel{display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:min(420px,100%)}.login-pill-row{display:flex;flex-wrap:wrap;gap:10px}.login-pill{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#ffffffc2;color:var(--text-main);border:1px solid var(--border-soft)}.ant-breadcrumb{color:var(--text-subtle)}.ant-table-wrapper .ant-table{background:transparent}.ant-table-wrapper .ant-table-container table>thead>tr:first-child th:first-child{border-top-left-radius:16px}.ant-table-wrapper .ant-table-container table>thead>tr:first-child th:last-child{border-top-right-radius:16px}.ant-btn{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.ant-btn:hover{transform:translateY(-1px)}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker,.ant-input-number,.ant-input-number-input-wrap{box-shadow:none!important}@media(max-width:1200px){.dashboard-grid,.page-grid-two,.login-shell{grid-template-columns:1fr}.login-hero{min-height:320px}}@media(max-width:992px){.app-header,.app-content{padding-inline:18px}.app-header{padding-block:12px;min-height:auto}.page-title{font-size:1.7rem!important}}@media(max-width:768px){.app-header{align-items:flex-start}.app-header-main,.app-header-actions{width:100%}.course-stat-row,.stats-grid,.entity-grid{grid-template-columns:1fr}.login-shell{padding:12px}.login-hero,.login-panel{padding:22px}}
