:root {
  --ink: #202239;
  --muted: #7b7f96;
  --line: #e9eaf2;
  --surface: #ffffff;
  --canvas: #f6f7fb;
  --violet: #6d63e8;
  --violet-dark: #554bc9;
  --violet-soft: #efedff;
  --coral: #ff8364;
  --coral-soft: #fff0eb;
  --green: #32b58a;
  --green-soft: #e8f8f2;
  --blue: #4798ef;
  --blue-soft: #eaf4ff;
  --danger: #e85c69;
  --shadow: 0 12px 36px rgba(42, 43, 73, .07);
  --radius: 22px;
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: var(--canvas);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--canvas); }
body { margin: 0; min-height: 100vh; background: var(--canvas); }
button, input, select, textarea { font: inherit; color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { border: 0; cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
a { color: inherit; text-decoration: none; }
svg { flex: 0 0 auto; }
h1, h2, h3, p { margin-top: 0; }

.boot-loader { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 14px; color: var(--muted); }
.boot-loader .brand-symbol { width: 54px; height: 54px; animation: breathe 1.4s ease-in-out infinite; }
@keyframes breathe { 50% { transform: scale(1.08); } }

.brand { display: flex; align-items: center; gap: 11px; min-height: 48px; }
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1.15; }
.brand b { font-size: 18px; letter-spacing: -.4px; }
.brand small { color: var(--muted); font-size: 10px; letter-spacing: 2px; margin-top: 4px; }
.brand-symbol { position: relative; width: 38px; height: 38px; border-radius: 13px; background: var(--violet); box-shadow: 0 8px 18px rgba(109,99,232,.25); display: inline-block; overflow: hidden; }
.brand-symbol i { position: absolute; display: block; border: 3px solid white; border-radius: 50%; width: 20px; height: 20px; }
.brand-symbol i:first-child { left: -3px; top: 9px; }
.brand-symbol i:last-child { right: -3px; top: 9px; }

/* Login */
.login-page { min-height: 100vh; display: grid; grid-template-columns: minmax(400px, .95fr) minmax(480px, 1.05fr); background: #fff; }
.login-story { position: relative; overflow: hidden; min-height: 100vh; padding: clamp(28px,4vw,64px); color: white; background: radial-gradient(circle at 80% 10%, rgba(255,255,255,.13), transparent 24%), linear-gradient(145deg,#5850ce 0%,#776cea 55%,#8276ed 100%); display: flex; flex-direction: column; }
.login-story::after { content:""; position:absolute; width:440px; height:440px; border:1px solid rgba(255,255,255,.1); border-radius:50%; bottom:-210px; left:-130px; }
.brand.light { color:#fff; position:relative; z-index:2; }
.brand.light .brand-symbol { background:#fff; box-shadow:none; }
.brand.light .brand-symbol i { border-color:var(--violet); }
.brand.light small { color:rgba(255,255,255,.65); }
.story-copy { position: relative; z-index: 2; max-width: 600px; margin-top: clamp(80px,12vh,150px); }
.story-tag { display:inline-flex; padding:8px 13px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); border-radius:99px; font-size:13px; letter-spacing:1px; }
.story-copy h1 { font-size:clamp(40px,4.4vw,68px); line-height:1.16; letter-spacing:-2.8px; margin:25px 0 22px; }
.story-copy p { max-width:500px; color:rgba(255,255,255,.75); line-height:1.85; font-size:16px; }
.story-foot { position:relative; z-index:2; margin:auto 0 0; font-size:11px; letter-spacing:4px; color:rgba(255,255,255,.45); }
.growth-orbit { position:absolute; width:310px; height:310px; right:-70px; bottom:50px; }
.orbit-ring { position:absolute; inset:35px; border:1px solid rgba(255,255,255,.23); border-radius:50%; }
.orbit-ring::after { content:""; position:absolute; inset:25px; border:1px dashed rgba(255,255,255,.15); border-radius:50%; }
.orbit-core { position:absolute; inset:108px; border-radius:50%; background:#fff; color:var(--violet); display:grid; place-items:center; font-size:32px; box-shadow:0 15px 40px rgba(35,27,106,.22); }
.orbit-dot { position:absolute; width:62px; height:62px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.24); font-size:12px; }
.orbit-dot.one { left:15px; top:115px; }.orbit-dot.two { right:42px; top:12px; }.orbit-dot.three { right:5px; bottom:50px; }
.login-panel { display:grid; place-items:center; padding:36px; background:linear-gradient(180deg,#fff,#fbfbfe); }
.login-box { width:min(100%,470px); }
.mobile-brand { display:none; }
.eyebrow { margin:0 0 7px; color:var(--violet); font-size:10px; line-height:1.2; font-weight:800; letter-spacing:2.3px; }
.login-box h2 { font-size:36px; letter-spacing:-1.5px; margin:0 0 8px; }
.muted { color:var(--muted); }
.demo-roles { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:30px 0 24px; }
.role-option { display:flex; align-items:center; gap:12px; text-align:left; padding:13px; background:#fafaff; border:1px solid var(--line); border-radius:16px; transition:.2s ease; }
.role-option:hover,.role-option.active { border-color:var(--violet); background:var(--violet-soft); transform:translateY(-1px); }
.role-option > span { width:40px; height:40px; display:grid; place-items:center; border-radius:13px; background:#fff; color:var(--violet); font-weight:800; box-shadow:0 4px 12px rgba(45,45,75,.06); }
.role-option div { display:flex; flex-direction:column; gap:3px; }.role-option b { font-size:14px; }.role-option small { color:var(--muted); font-size:11px; }
.divider { display:flex; align-items:center; gap:12px; color:#aaaebe; font-size:11px; margin:18px 0; }
.divider::before,.divider::after { content:""; height:1px; background:var(--line); flex:1; }
label { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:650; }
input,select,textarea { width:100%; border:1px solid var(--line); background:#fafaff; border-radius:12px; padding:12px 14px; outline:0; transition:.2s; }
input,select { min-height:46px; }
textarea { resize:vertical; line-height:1.6; }
input:focus,select:focus,textarea:focus { border-color:var(--violet); background:#fff; box-shadow:0 0 0 3px rgba(109,99,232,.1); }
#login-form { display:grid; gap:14px; }
.login-tip { text-align:center; color:#aaadbd; font-size:11px; margin:16px 0 0; }
.register-entry{margin-top:10px}.demo-roles.compact{grid-template-columns:repeat(4,1fr);margin:14px 0}.demo-roles.compact .role-option{justify-content:center;padding:8px;gap:7px}.demo-roles.compact .role-option>span{width:31px;height:31px;border-radius:10px}.demo-roles.compact .role-option b{font-size:11px}.register-box{width:min(100%,590px)}#register-form{display:grid;gap:14px;margin-top:24px}.role-selector{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.role-selector legend{font-size:13px;font-weight:650;margin-bottom:8px}.role-selector label{cursor:pointer}.role-selector input{position:absolute;opacity:0;pointer-events:none}.role-selector span{min-height:43px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fafaff;font-size:13px}.role-selector input:checked+span{border-color:var(--violet);color:var(--violet);background:var(--violet-soft);font-weight:750}.register-notice{padding:10px 12px;border-radius:11px;background:#f7f6ff;color:var(--muted);font-size:11px;line-height:1.6;margin:0}.back-login{justify-self:center}

/* Shell */
.app-shell { min-height:100vh; }
.sidebar { position:fixed; inset:0 auto 0 0; width:232px; background:#fff; border-right:1px solid var(--line); padding:24px 18px 20px; display:flex; flex-direction:column; z-index:20; }
.sidebar .brand { padding:0 10px; margin-bottom:30px; }
.side-nav { display:grid; gap:7px; }
.nav-item { width:100%; min-height:48px; display:flex; align-items:center; gap:13px; padding:0 14px; border-radius:13px; background:transparent; color:#777b91; font-size:13px; font-weight:650; text-align:left; }
.nav-item:hover { background:#f8f8fc; color:var(--ink); }
.nav-item.active { color:var(--violet); background:var(--violet-soft); }
.nav-item em { margin-left:auto; min-width:19px; height:19px; padding:0 5px; display:grid; place-items:center; background:var(--coral); color:#fff; border-radius:99px; font-size:10px; font-style:normal; }
.sidebar-user { margin-top:auto; padding:13px 10px 0; border-top:1px solid var(--line); display:flex; align-items:center; gap:10px; }
.avatar,.top-avatar { display:grid; place-items:center; flex:0 0 auto; border-radius:13px; background:linear-gradient(145deg,#ece9ff,#dcd7ff); color:var(--violet-dark); font-weight:800; }
.avatar { width:38px; height:38px; }.top-avatar { width:36px; height:36px; padding:0; border:0; cursor:pointer; }
.sidebar-user div { min-width:0; flex:1; display:flex; flex-direction:column; gap:3px; }.sidebar-user b { font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.sidebar-user small { font-size:10px; color:var(--muted); }
.icon-button { width:36px; height:36px; display:grid; place-items:center; padding:0; border-radius:11px; background:transparent; color:var(--muted); }
.icon-button:hover { background:#f4f4f8; color:var(--ink); }
.workspace { margin-left:232px; min-height:100vh; }
.topbar { height:88px; position:sticky; top:0; z-index:15; background:rgba(246,247,251,.9); backdrop-filter:blur(14px); display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,4vw,58px); border-bottom:1px solid rgba(232,233,241,.75); }
.topbar p { margin:0 0 4px; color:#a3a6b7; font-size:9px; font-weight:800; letter-spacing:2px; }.topbar h1 { font-size:20px; margin:0; letter-spacing:-.5px; }
.top-actions { display:flex; align-items:center; gap:10px; }.notification-button { position:relative; width:38px; height:38px; display:grid; place-items:center; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:12px; }.notification-button i { position:absolute; width:7px; height:7px; right:6px; top:6px; background:var(--coral); border:2px solid #fff; border-radius:50%; }
.page-content { width:min(100%,1440px); margin:0 auto; padding:32px clamp(24px,4vw,58px) 70px; }
.bottom-nav { display:none; }

/* Shared */
.button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 18px; border-radius:12px; font-size:13px; font-weight:750; transition:.2s ease; }
.button:hover:not(:disabled) { transform:translateY(-1px); }
.button.primary { color:#fff; background:var(--violet); box-shadow:0 8px 18px rgba(109,99,232,.18); }.button.primary:hover:not(:disabled){background:var(--violet-dark)}
.button.ghost { color:var(--ink); background:#fff; border:1px solid var(--line); }.button.ghost:hover { border-color:#c9c9d5; }
.button.danger-soft { color:var(--danger); background:#fff0f1; }.button.small { min-height:36px; padding:0 13px; font-size:12px; border-radius:10px; }.button.full { width:100%; }.button.disabled { color:#aaa; background:#eee; box-shadow:none; }
.text-button { display:inline-flex; align-items:center; gap:3px; background:transparent; color:var(--muted); font-size:12px; font-weight:650; padding:7px; }.text-button:hover,.text-button.strong { color:var(--violet); }
.panel { background:#fff; border:1px solid rgba(233,234,242,.9); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); }
.panel-head,.section-title { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; }.panel-head h2,.section-title h2 { margin:0; font-size:18px; letter-spacing:-.5px; }.panel-head .muted { font-size:11px; }
.status { display:inline-flex; align-items:center; white-space:nowrap; padding:5px 9px; border-radius:99px; font-size:10px; font-weight:750; color:#777b8b; background:#f2f2f6; }.status.warning{color:#cb744a;background:#fff0e7}.status.violet{color:var(--violet);background:var(--violet-soft)}.status.danger{color:var(--danger);background:#ffebee}.status.success{color:#238b68;background:var(--green-soft)}

/* Dashboard */
.welcome-card { position:relative; min-height:180px; overflow:hidden; padding:34px 38px; border-radius:26px; color:#fff; background:linear-gradient(125deg,#665ce1,#8176ed); box-shadow:0 18px 40px rgba(91,80,196,.2); display:flex; align-items:center; }
.welcome-card::after { content:""; position:absolute; width:300px; height:300px; right:-100px; top:-100px; border:1px solid rgba(255,255,255,.15); border-radius:50%; }
.welcome-card > div:first-child { position:relative; z-index:2; }.welcome-card h2 { font-size:clamp(23px,2.2vw,32px); margin:17px 0 8px; letter-spacing:-1px; }.welcome-card p { color:rgba(255,255,255,.7); margin:0; font-size:13px; }
.date-pill { display:inline-flex; padding:6px 10px; background:rgba(255,255,255,.14); border-radius:99px; font-size:11px; }
.welcome-visual { position:absolute; right:70px; width:130px; height:130px; display:grid; place-items:center; }
.welcome-visual span { position:relative; z-index:2; font-size:63px; filter:drop-shadow(0 12px 12px rgba(40,30,110,.17)); transform:rotate(-4deg); }.welcome-visual i { position:absolute; border:1px solid rgba(255,255,255,.18); border-radius:50%; }.welcome-visual i:nth-child(2){inset:0}.welcome-visual i:nth-child(3){inset:20px}
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin:20px 0; }
.stat-card { min-height:125px; padding:20px; display:flex; gap:14px; border:1px solid var(--line); background:#fff; border-radius:18px; box-shadow:0 8px 24px rgba(39,40,68,.04); }.stat-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; flex:0 0 auto; }.stat-card.coral .stat-icon{background:var(--coral-soft);color:var(--coral)}.stat-card.violet .stat-icon{background:var(--violet-soft);color:var(--violet)}.stat-card.green .stat-icon{background:var(--green-soft);color:var(--green)}.stat-card.blue .stat-icon{background:var(--blue-soft);color:var(--blue)}
.stat-card div { display:flex; flex-direction:column; }.stat-card small { color:var(--muted); font-size:11px; }.stat-card strong { margin-top:5px; font-size:25px; line-height:1.1; letter-spacing:-1px; }.stat-card p { margin:auto 0 0; color:#aaadbc; font-size:9px; }
.dashboard-columns { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr); gap:20px; }
.task-list { display:grid; }.task-row { min-height:69px; display:flex; align-items:center; gap:13px; padding:10px 4px; background:transparent; border-bottom:1px solid var(--line); text-align:left; }.task-row:last-child{border-bottom:0}.task-row:hover b{color:var(--violet)}.task-row > div { min-width:0; flex:1; display:flex; flex-direction:column; gap:5px; }.task-row b { font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.task-row small { color:var(--muted); font-size:10px; }.task-row > svg { color:#bbbcca; }
.subject-badge { width:39px; height:39px; display:grid; place-items:center; flex:0 0 auto; color:var(--subject); background:color-mix(in srgb,var(--subject) 12%,white); border-radius:12px; font-weight:800; }
.notification-list { display:grid; }.notification-row { position:relative; display:flex; align-items:flex-start; gap:12px; padding:13px 2px; border-bottom:1px solid var(--line); }.notification-row:last-child{border-bottom:0}.notice-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; color:var(--violet); background:var(--violet-soft); flex:0 0 auto; }.notice-icon.points{color:#d18c26;background:#fff5dc}.notice-icon.redemption{color:var(--coral);background:var(--coral-soft)}
.notification-row > div { min-width:0; flex:1; }.notification-row b{font-size:12px}.notification-row p{margin:4px 0;color:var(--muted);font-size:10px;line-height:1.45}.notification-row small{color:#b6b8c5;font-size:9px}.notification-row > i { width:7px;height:7px;background:var(--coral);border-radius:50%;margin-top:6px; }.notification-row.unread b{color:var(--ink)}
.today-course { margin-top:20px; }.mini-course { display:grid; grid-template-columns:120px 1fr auto; align-items:center; gap:16px; padding:14px 16px; border-left:3px solid var(--subject); background:#fafafe; border-radius:10px; }.mini-course > span:first-child{font-size:12px;color:var(--muted)}.mini-course div{display:flex;flex-direction:column;gap:4px}.mini-course b{font-size:13px}.mini-course small{font-size:10px;color:var(--muted)}

/* Homework */
.page-toolbar { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:20px; }
.filter-chips { display:flex; gap:6px; padding:4px; background:#eceef4; border-radius:12px; overflow:auto; }.filter-chips button { padding:8px 13px; white-space:nowrap; border-radius:9px; background:transparent; color:var(--muted); font-size:11px; font-weight:700; }.filter-chips button.active{background:#fff;color:var(--ink);box-shadow:0 3px 10px rgba(39,40,68,.07)}.filter-chips span{color:var(--violet);margin-left:4px}
.homework-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.homework-card { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 8px 28px rgba(40,41,70,.05); transition:.2s; }.homework-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.homework-top,.homework-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 20px; }.homework-top{border-bottom:1px solid #f1f1f5}.subject-chip{display:inline-flex;align-items:center;gap:7px;color:var(--subject);font-size:11px;font-weight:750}.subject-chip i{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--subject) 11%,white);font-style:normal}
.homework-body { padding:20px; min-height:152px; }.homework-body h3{font-size:17px;margin-bottom:10px}.homework-body>p{height:42px;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.75;margin-bottom:19px}.homework-meta{display:flex;flex-wrap:wrap;gap:15px;color:#9699aa;font-size:10px}.homework-meta span{display:flex;align-items:center;gap:5px}
.homework-foot { background:#fafafe; }.homework-foot>span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.mini-avatar{width:25px;height:25px;display:grid;place-items:center;border-radius:9px;background:#e8e5ff;color:var(--violet);font-style:normal;font-weight:800}

/* Points and rewards */
.points-hero { position:relative; overflow:hidden; min-height:180px; padding:30px 36px; color:#fff; border-radius:24px; background:linear-gradient(125deg,#2d304c,#414667); box-shadow:0 16px 34px rgba(34,36,57,.18); }.points-hero::after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-80px;top:-110px}.points-hero p{font-size:12px;color:rgba(255,255,255,.65);margin-bottom:10px}.points-hero strong{font-size:48px;letter-spacing:-2px;display:block}.points-hero span{font-size:11px;color:rgba(255,255,255,.55)}.coin-stack{position:absolute;right:70px;top:33px;width:120px;height:100px}.coin-stack i{position:absolute;width:66px;height:66px;display:grid;place-items:center;border-radius:50%;font-style:normal;color:#8e6723;background:linear-gradient(145deg,#ffe38a,#f3b84f);border:5px solid #ffd878;box-shadow:0 14px 25px rgba(0,0,0,.15)}.coin-stack i:nth-child(2){left:30px;top:30px}.coin-stack i:nth-child(3){left:65px;top:2px}
.points-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:20px; margin-top:20px; }.ledger-list{display:grid}.ledger-row{display:flex;align-items:center;gap:13px;padding:14px 2px;border-bottom:1px solid var(--line)}.ledger-row:last-child{border-bottom:0}.ledger-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;font-size:16px;font-weight:700}.ledger-icon.plus{color:var(--green);background:var(--green-soft)}.ledger-icon.minus{color:var(--coral);background:var(--coral-soft)}.ledger-row>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.ledger-row b{font-size:12px}.ledger-row small{font-size:9px;color:var(--muted)}.ledger-row>strong{font-size:14px}.positive{color:var(--green)}.negative{color:var(--coral)}.adjust-panel>h2{font-size:18px;margin-bottom:8px}.adjust-panel>p.muted{font-size:11px;line-height:1.6}.adjust-panel form{display:grid;gap:15px;margin-top:20px}
.reward-banner { position:relative; min-height:220px; display:flex; align-items:center; padding:36px 42px; overflow:hidden; border-radius:26px; background:linear-gradient(120deg,#fff1e9,#fff8e9); border:1px solid #ffe5d5; }.reward-banner h2{font-size:28px;line-height:1.35;letter-spacing:-1px;margin:10px 0}.reward-banner p:last-child{color:var(--muted);font-size:12px}.reward-banner p strong{font-size:20px;color:var(--coral);margin-left:6px}.reward-banner>span{position:absolute;right:10%;font-size:90px;filter:drop-shadow(0 14px 18px rgba(151,90,48,.14));transform:rotate(4deg)}
.section-title { margin:30px 2px 17px; }.section-title.compact{margin-top:38px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.product-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:0 7px 22px rgba(42,43,72,.04)}.product-art{height:135px;position:relative;display:grid;place-items:center;background:#f2f0ff}.product-art>span{font-size:62px;filter:drop-shadow(0 9px 10px rgba(60,50,120,.1))}.product-art small{position:absolute;left:12px;top:12px;padding:5px 8px;border-radius:99px;background:rgba(255,255,255,.75);font-size:9px;color:var(--muted)}.category-1{background:#fff0eb}.category-2{background:#edf8f4}.category-3{background:#eef3ff}.category-0{background:#fff6df}.product-info{padding:16px}.product-info h3{font-size:14px;margin-bottom:7px}.product-info>p{height:37px;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.65}.product-info>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px}.product-info strong{display:flex;align-items:center;gap:5px;color:var(--coral);font-size:14px}.product-info>small{display:block;color:#b0b2c0;font-size:9px;margin-top:9px}
.redemption-list{display:grid;gap:10px}.redemption-card{min-height:88px;display:flex;align-items:center;gap:15px;padding:15px 18px;background:#fff;border:1px solid var(--line);border-radius:17px}.reward-emoji{width:52px;height:52px;display:grid;place-items:center;background:#f7f5ff;border-radius:15px;font-size:28px}.redemption-main{min-width:0;flex:1}.redemption-main>div{display:flex;align-items:center;gap:10px}.redemption-main h3{font-size:13px;margin:0}.redemption-main p,.redemption-main small{display:block;color:var(--muted);font-size:10px;margin:7px 0 0}.redemption-main small{color:var(--danger)}.points-cost{color:var(--coral);font-size:14px}.approval-actions{display:flex;gap:8px}.approval-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;border-radius:20px;background:linear-gradient(120deg,#edeaff,#f6f3ff);border:1px solid #e1ddff}.approval-summary>div{display:flex;align-items:center;gap:14px}.approval-summary>div>span{width:48px;height:48px;display:grid;place-items:center;background:#fff;color:var(--violet);border-radius:15px}.approval-summary p{margin:0;color:var(--muted);font-size:11px}.approval-summary strong{font-size:27px}.approval-summary small{color:var(--muted)}

/* Schedule */
.calendar-strip { display:grid;grid-template-columns:repeat(7,1fr);gap:9px;padding:8px;margin-bottom:22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 22px rgba(42,43,72,.04)}.calendar-strip>div{position:relative;min-height:64px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-radius:13px;color:var(--muted)}.calendar-strip small{font-size:10px}.calendar-strip strong{font-size:16px}.calendar-strip .active{color:#fff;background:var(--violet);box-shadow:0 7px 15px rgba(109,99,232,.2)}.calendar-strip i{position:absolute;width:4px;height:4px;bottom:6px;background:#fff;border-radius:50%}
.schedule-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);gap:20px}.schedule-day{margin-bottom:28px}.schedule-day>h2{font-size:15px;margin:0 0 12px}.schedule-day>h2 span{font-size:10px;color:var(--muted);font-weight:500;margin-left:8px}.course-card{display:flex;align-items:center;gap:15px;min-height:94px;padding:16px 18px;margin-bottom:9px;background:#fff;border:1px solid var(--line);border-radius:17px}.course-time{width:50px;display:flex;flex-direction:column;gap:5px}.course-time strong{font-size:14px}.course-time small{font-size:9px;color:var(--muted)}.course-line{width:3px;height:50px;border-radius:99px;background:var(--subject)}.course-main{min-width:0;flex:1}.course-main h3{font-size:13px;margin:6px 0 5px}.course-main p{font-size:10px;color:var(--muted);margin:0}.course-type{display:inline-flex;padding:4px 7px;border-radius:6px;font-size:9px;color:var(--violet);background:var(--violet-soft)}.course-type.offline{color:#278d6c;background:var(--green-soft)}.course-teacher{display:flex;align-items:center;gap:7px}.course-teacher span{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#f0edff;color:var(--violet);font-size:10px;font-weight:800}.course-teacher small{font-size:9px;color:var(--muted)}.course-note{align-self:start;text-align:center;padding:30px 25px}.note-art{font-size:60px;display:block;margin-bottom:16px}.course-note h2{font-size:17px}.course-note>p:not(.eyebrow){font-size:11px;line-height:1.7;color:var(--muted)}.legend{display:flex;justify-content:center;gap:16px;margin-top:20px;font-size:10px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:7px;height:7px;border-radius:50%;background:var(--violet)}.legend i.offline{background:var(--green)}

.course-actions,.head-actions{display:flex;align-items:center;gap:7px}.danger-icon{color:var(--danger)}.course-card.cancelled{opacity:.58}.course-card.cancelled .course-line{background:#bbb}.schedule-toolbar{margin-bottom:12px}

/* Management */
.management-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.management-summary article{display:flex;align-items:center;gap:13px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:17px}.management-summary article>span{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;color:var(--violet);background:var(--violet-soft)}.management-summary article div{display:flex;flex-direction:column;gap:3px}.management-summary small{font-size:10px;color:var(--muted)}.management-summary strong{font-size:22px}.manage-section{margin-bottom:18px}.manage-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.responsive-table{width:100%;overflow-x:auto}.responsive-table table{width:100%;min-width:680px;border-collapse:collapse}.responsive-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);font-size:9px;color:var(--muted);letter-spacing:.5px}.responsive-table td{padding:13px 12px;border-bottom:1px solid var(--line);font-size:11px}.responsive-table tr:last-child td{border-bottom:0}.table-person{display:flex;align-items:center;gap:9px}.table-person i{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--violet-soft);color:var(--violet);font-style:normal;font-weight:800}.config-list{display:grid}.config-row{min-height:61px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.config-row:last-child{border-bottom:0}.config-row>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.config-row b{font-size:12px}.config-row small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rule-value{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:var(--green-soft);font-size:12px;font-weight:800}.rule-value.negative{background:var(--coral-soft)}.switch{position:relative;width:39px;height:22px;padding:0;border-radius:99px;background:#dcdde5;transition:.2s}.switch i{position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.2s}.switch.on{background:var(--violet)}.switch.on i{transform:translateX(17px)}.inventory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.inventory-grid article{display:flex;align-items:center;gap:11px;padding:13px;background:#fafafe;border:1px solid #f0f0f5;border-radius:14px}.inventory-grid article>span:first-child{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:#fff;font-size:23px}.inventory-grid article>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.inventory-grid b{font-size:11px}.inventory-grid small{font-size:9px;color:var(--muted)}.audit-list{display:grid}.audit-list>div{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid var(--line)}.audit-list>div:last-child{border:0}.audit-list>div>span{color:var(--muted)}.audit-list p{flex:1;margin:0;font-size:10px}.audit-list p small{display:block;color:var(--muted);margin-top:3px}.audit-list time{font-size:9px;color:var(--muted)}.credential-card{padding:18px;background:#f8f7ff;border-radius:15px}.credential-card>p{font-size:11px;color:var(--muted)}.credential-card dl{display:grid;gap:8px}.credential-card dl>div{display:flex;justify-content:space-between;padding:10px 12px;background:#fff;border-radius:10px}.credential-card dt{font-size:10px;color:var(--muted)}.credential-card dd{font-size:12px;font-weight:800;margin:0}.credential-card>small{font-size:9px;color:var(--danger)}.inventory-current{display:flex;align-items:center;gap:14px;padding:15px;background:#fafafe;border-radius:13px}.inventory-current>span{font-size:38px}.inventory-current p{margin:0;color:var(--muted);font-size:11px}.inventory-current strong{display:block;color:var(--ink);font-size:24px;margin-top:3px}

/* Relationships */
.relation-hero{min-height:135px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 31px;margin-bottom:18px;border-radius:22px;background:linear-gradient(120deg,#efedff,#f8f7ff);border:1px solid #e3e0ff}.relation-hero h2{font-size:24px;margin:0 0 9px;letter-spacing:-.7px}.relation-hero p:last-child{font-size:12px;color:var(--muted);margin:0}.relation-hero>span{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#fff;color:var(--violet);box-shadow:0 8px 20px rgba(77,65,175,.1)}.relation-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.relation-panel{align-self:start;margin-bottom:18px}.relation-list{display:grid}.relation-row{min-height:65px;display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--line)}.relation-row:last-child{border:0}.relation-row>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.relation-row b{font-size:12px}.relation-row small{font-size:10px;color:var(--muted);white-space:normal;line-height:1.5}.inline-relation-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.inline-relation-form:has(label+label){grid-template-columns:1fr 1fr auto}.form-help{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.class-connection{display:flex;align-items:center;gap:13px;padding:15px;margin-bottom:16px;border-radius:14px;background:var(--green-soft);color:var(--green)}.class-connection>div{display:flex;flex-direction:column;gap:4px}.class-connection b{font-size:13px;color:var(--ink)}.class-connection small{font-size:10px}.bind-code-card{text-align:center;padding:18px;margin-bottom:13px;border-radius:15px;background:#f8f7ff;border:1px dashed #c9c4f7}.bind-code-card small,.bind-code-card p{display:block;color:var(--muted);font-size:10px;margin:0}.bind-code-card strong{display:block;margin:8px 0 3px;color:var(--violet);font-size:34px;letter-spacing:7px}.bind-code-card .text-button{margin:7px auto 0}.class-grid{display:grid;gap:9px}.class-grid article{min-height:67px;display:flex;align-items:center;gap:11px;padding:13px;border-radius:14px;background:#fafafe;border:1px solid #f0f0f5}.class-grid article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--violet-soft);color:var(--violet)}.class-grid article>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.class-grid b{font-size:12px}.class-grid small{font-size:10px;color:var(--muted)}.class-grid em{padding:5px 8px;border-radius:99px;background:var(--green-soft);color:var(--green);font-size:9px;font-style:normal}.assignments{margin-top:17px}.pending-approvals{border-color:#f0dcc6}.invite-code-grid{display:grid;gap:9px}.invite-code-grid article{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto auto;align-items:center;gap:11px;padding:12px 14px;border-radius:14px;background:#fafafe;border:1px solid #f0f0f5}.invite-code-grid article>div{display:flex;flex-direction:column;gap:4px}.invite-code-grid b{font-size:12px}.invite-code-grid small{font-size:10px;color:var(--muted)}.invite-code-grid code{padding:9px 11px;border-radius:9px;background:var(--violet-soft);color:var(--violet-dark);font:750 13px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.5px;text-align:center}

/* Modal */
.modal-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:24px; background:rgba(25,26,43,.45); backdrop-filter:blur(5px); animation:fadeIn .18s ease; }
@keyframes fadeIn{from{opacity:0}}
.modal { width:min(100%,560px); max-height:min(90vh,900px); overflow:auto; background:#fff; border-radius:23px; box-shadow:0 28px 80px rgba(19,20,34,.26); padding:26px; animation:modalIn .22s ease; }
@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.98)}}
.modal.wide{width:min(100%,950px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:23px}.modal-head h2{font-size:21px;letter-spacing:-.7px;margin:0}.modal-form{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.check-row{flex-direction:row;align-items:center;font-weight:500}.check-row input{width:17px;min-height:17px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.detail-block{display:grid;gap:16px}.detail-block>p{font-size:13px;line-height:1.8;color:var(--muted)}.detail-block dl{margin:0;display:grid;background:#fafafe;border-radius:14px;padding:5px 15px}.detail-block dl>div{display:grid;grid-template-columns:95px 1fr;padding:12px 0;border-bottom:1px solid var(--line)}.detail-block dl>div:last-child{border:0}.detail-block dt{font-size:11px;color:var(--muted)}.detail-block dd{font-size:11px;margin:0}
.submission-intro{padding:14px;background:#fafafe;border-radius:13px;margin-bottom:17px}.submission-intro p{font-size:11px;color:var(--muted);margin:9px 0 0}.upload-zone{min-height:145px;align-items:center;justify-content:center;text-align:center;border:1.5px dashed #cecbe8;border-radius:15px;background:#faf9ff;color:var(--violet);cursor:pointer}.upload-zone b{font-size:13px}.upload-zone small{font-size:10px;color:var(--muted);font-weight:400}.upload-zone input{display:none}.preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.file-preview{position:relative;aspect-ratio:1;overflow:hidden;border-radius:11px;background:#f1f1f6;display:grid;place-items:center}.file-preview img{width:100%;height:100%;object-fit:cover}.file-preview>span{font-weight:800;color:var(--coral)}.file-preview small{position:absolute;left:4px;right:4px;bottom:4px;padding:3px;background:rgba(255,255,255,.8);border-radius:5px;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview button{position:absolute;right:4px;top:4px;width:23px;height:23px;padding:0;display:grid;place-items:center;border-radius:50%;background:rgba(30,30,45,.7);color:#fff}
.review-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px}.student-work{min-width:0}.work-heading{display:flex;align-items:center;gap:11px;margin-bottom:15px}.work-heading .mini-avatar{width:39px;height:39px}.work-heading h3{font-size:15px;margin:0 0 4px}.work-heading p{font-size:10px;color:var(--muted);margin:0}.student-work blockquote{margin:0 0 15px;padding:12px 14px;border-left:3px solid var(--violet);background:#f8f7ff;border-radius:0 10px 10px 0;color:var(--muted);font-size:11px;line-height:1.6}.work-assets{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.work-assets img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#eee}.work-assets.compact-assets{grid-template-columns:repeat(3,1fr)}.pdf-file,.no-asset{min-height:100px;display:grid;place-items:center;background:#f5f4fb;border-radius:12px;color:var(--violet);font-size:11px}.review-form{align-self:start;padding:20px;background:#fafafe;border-radius:16px;display:grid;gap:15px}.review-form h3{font-size:16px;margin:0}.score-input{display:flex;align-items:center;position:relative}.score-input input{padding-right:55px;font-size:20px;font-weight:750}.score-input span{position:absolute;right:13px;color:var(--muted);font-size:10px}.review-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:4px}
.result-card{text-align:center;padding:20px 10px}.result-mark{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 12px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:28px}.result-card p{font-size:11px;color:var(--muted);margin-bottom:6px}.result-card h3{font-size:21px;margin-bottom:6px}.result-card>strong{display:block;font-size:33px;color:var(--violet)}.result-card>strong small{font-size:11px;color:var(--muted)}.points-pill{display:inline-flex;margin-top:9px;padding:6px 10px;border-radius:99px;background:#fff5dc;color:#bd7c16;font-size:11px;font-weight:750}.teacher-feedback{padding:17px;background:#f8f7ff;border-radius:15px;margin-bottom:20px}.teacher-feedback>div{display:flex;align-items:center;gap:8px}.teacher-feedback span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--violet);color:#fff;font-size:10px}.teacher-feedback b{font-size:11px}.teacher-feedback p{margin:12px 0 0;font-size:12px;line-height:1.7;color:#62657a}.redeem-confirm{text-align:center}.redeem-confirm>span{font-size:75px}.redeem-confirm h3{font-size:19px;margin:10px 0}.redeem-confirm p{color:var(--muted);font-size:11px;line-height:1.7}.redeem-confirm strong{display:flex;justify-content:center;align-items:center;gap:5px;color:var(--coral);font-size:17px;margin:16px}.redeem-confirm small{color:#a6a9b8;font-size:10px}

/* Misc */
.empty-state{min-height:180px;display:grid;place-content:center;justify-items:center;text-align:center;color:var(--muted)}.empty-state>span{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:var(--violet-soft);color:var(--violet);margin-bottom:12px}.empty-state b{font-size:13px;color:var(--ink)}.empty-state p{font-size:10px;margin:7px 0 0}.notification-panel{padding-top:10px;padding-bottom:10px}.notification-panel .notification-row{padding:17px 5px}.notification-panel .notification-row b{font-size:13px}.notification-panel .notification-row p{font-size:11px}.toast{position:fixed;z-index:200;left:50%;top:24px;transform:translate(-50%,-20px);opacity:0;display:flex;align-items:center;gap:9px;padding:12px 16px;background:#24263d;color:#fff;border-radius:12px;box-shadow:0 14px 35px rgba(25,26,44,.24);font-size:12px;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#aa4350}.account-card{display:flex;align-items:center;gap:14px;padding:18px;background:#f8f7ff;border-radius:15px}.large-avatar{width:50px;height:50px;font-size:17px}.account-card>div{display:flex;flex-direction:column;gap:5px}.account-card b{font-size:14px}.account-card small{font-size:10px;color:var(--muted)}.account-tip{margin:16px 2px 8px;color:var(--muted);font-size:11px;line-height:1.7}

@media (max-width: 1199px) {
  .sidebar{width:84px;padding-left:12px;padding-right:12px}.sidebar .brand{padding:0;justify-content:center}.sidebar .brand>span:last-child,.nav-item span,.nav-item em,.sidebar-user>div,.sidebar-user .icon-button{display:none}.nav-item{justify-content:center;padding:0}.sidebar-user{justify-content:center;padding-left:0;padding-right:0}.workspace{margin-left:84px}.stats-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 900px) {
  .dashboard-columns,.points-layout,.schedule-layout,.manage-columns,.relation-columns{grid-template-columns:1fr}.side-panel{order:2}.course-note{display:none}.homework-grid{grid-template-columns:1fr}.review-layout{grid-template-columns:1fr}.review-form{position:static}.course-teacher{display:none}.management-summary{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 767px) {
  .login-page{display:block;background:#fff}.login-story{display:none}.login-panel{min-height:100vh;padding:24px 18px;align-items:start}.login-box{padding-top:18px}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:54px}.register-box .mobile-brand{margin-bottom:24px}.mobile-brand .brand-symbol{width:34px;height:34px}.mobile-brand b{font-size:17px}.login-box h2{font-size:30px}.demo-roles{margin-top:24px}.demo-roles.compact{margin-top:12px}.role-option{padding:11px}.role-option>span{width:36px;height:36px}.sidebar{display:none}.workspace{margin:0;padding-bottom:72px}.topbar{height:70px;padding:0 16px}.topbar p{display:none}.topbar h1{font-size:18px}.page-content{padding:18px 14px 32px}.top-avatar{display:none}.bottom-nav{position:fixed;z-index:40;inset:auto 0 0;min-height:64px;padding:6px max(4px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));display:flex;justify-content:flex-start;overflow-x:auto;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.bottom-nav button{min-width:58px;flex:1 0 58px;display:flex;flex-direction:column;align-items:center;gap:3px;background:transparent;color:#a1a4b3;font-size:8px}.bottom-nav button.active{color:var(--violet)}.welcome-card{min-height:170px;padding:25px 22px}.welcome-card h2{font-size:22px;max-width:75%}.welcome-visual{right:4px;transform:scale(.72)}.stats-grid{gap:10px;margin:14px 0}.stat-card{min-height:112px;padding:15px;display:block}.stat-icon{width:32px;height:32px;margin-bottom:9px}.stat-card div{display:block}.stat-card strong{display:block;font-size:21px;margin-top:4px}.stat-card p{display:none}.panel{padding:18px;border-radius:18px}.dashboard-columns{gap:14px}.page-toolbar{align-items:stretch}.page-toolbar>.button{width:44px;padding:0;font-size:0}.homework-top,.homework-foot{padding:14px 16px}.homework-body{padding:17px;min-height:145px}.points-hero{min-height:165px;padding:27px 24px}.points-hero strong{font-size:42px}.coin-stack{right:10px;transform:scale(.74)}.reward-banner{min-height:190px;padding:27px 22px}.reward-banner h2{font-size:23px;max-width:75%}.reward-banner>span{right:2%;font-size:67px}.product-grid{gap:10px}.product-art{height:115px}.product-art>span{font-size:50px}.product-info{padding:13px}.product-info>p{display:none}.redemption-card{align-items:flex-start;flex-wrap:wrap}.redemption-main{min-width:calc(100% - 70px)}.approval-actions{width:100%;justify-content:flex-end}.approval-summary{display:block;padding:20px}.approval-summary>p{margin-top:12px}.calendar-strip{gap:2px}.calendar-strip>div{min-height:58px}.course-card{align-items:flex-start;gap:10px;padding:14px}.course-time{width:43px}.course-main h3{font-size:12px}.course-card>.button{width:36px;padding:0;font-size:0}.relation-hero{padding:21px 19px}.relation-hero h2{font-size:20px}.relation-hero>span{width:46px;height:46px}.inline-relation-form,.inline-relation-form:has(label+label){grid-template-columns:1fr}.relation-row{flex-wrap:wrap}.relation-row>div{min-width:calc(100% - 52px)}.relation-row .button{margin-left:auto}.modal-backdrop{padding:0;align-items:end}.modal{width:100%;max-height:92vh;border-radius:23px 23px 0 0;padding:21px 17px max(21px,env(safe-area-inset-bottom))}.modal.wide{width:100%}.modal-head{margin-bottom:18px}.modal-actions{position:sticky;bottom:-21px;margin:5px -17px -21px;padding:12px 17px max(12px,env(safe-area-inset-bottom));background:rgba(255,255,255,.95);border-top:1px solid var(--line);backdrop-filter:blur(10px)}.modal-actions .button{flex:1}.form-grid{grid-template-columns:1fr}.upload-zone{min-height:130px}.preview-grid{grid-template-columns:repeat(3,1fr)}.review-layout{display:block}.review-form{margin-top:18px}.review-actions{position:sticky;bottom:-21px;margin:5px -20px -21px;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.work-assets{grid-template-columns:1fr 1fr}.mini-course{grid-template-columns:82px 1fr auto;padding:12px}.today-course{display:none}.toast{top:12px;width:calc(100% - 28px);justify-content:center}.management-summary{gap:8px}.management-summary article{padding:13px}.management-summary article>span{width:33px;height:33px}.management-summary strong{font-size:18px}.inventory-grid{grid-template-columns:1fr}.head-actions .button{padding:0 10px}.audit-list time{display:none}
}

@media (max-width: 767px) {
  .top-avatar{display:grid}
}

@media (max-width: 380px) {
  .demo-roles{grid-template-columns:1fr}.role-option{padding:9px 11px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:13px}.filter-chips button{padding:8px 10px}.product-info>div{display:block}.product-info .button{width:100%;margin-top:9px}.course-card{flex-wrap:wrap}.course-main{min-width:calc(100% - 70px)}
}

@media (max-width: 767px) {
  .invite-code-grid article{grid-template-columns:1fr auto}.invite-code-grid article>div{grid-column:1/-1}.invite-code-grid code{grid-column:1/-1;text-align:left}.invite-code-grid .text-button{justify-self:end}
}

@media (prefers-reduced-motion: reduce) { *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important} }
