
:root{
  --navy:#10206f;
  --purple:#6b2fc5;
  --purple2:#8e49df;
  --pink:#ef0a8a;
  --pink2:#ff4daf;
  --green:#1fbf84;
  --orange:#ffad1f;
  --blue:#2a8df0;
  --ink:#14206b;
  --muted:#66709a;
  --line:#e5e9f3;
  --soft:#f7f9ff;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#f7f9fc;
  color:var(--ink);
}
a{text-decoration:none}
.navbar{
  min-height:72px;
  background:#fff;
  border-bottom:1px solid #edf0f6;
}
.brand{
  display:flex;align-items:center;gap:9px;
  color:var(--navy);font-weight:900;font-size:1.75rem;
  letter-spacing:-1px;
}
.brand .mark{
  width:38px;height:32px;display:grid;place-items:center;
  color:#7a30c5;font-size:1.5rem;
}
.brand span{color:var(--pink)}
.brand small{
  display:block;font-size:.52rem;letter-spacing:2px;
  color:#777da2;margin-top:-1px;font-weight:700;
}
.nav-link{font-weight:700;color:#24317d!important;font-size:.9rem;padding:.8rem 1rem!important}
.nav-link.active{color:var(--pink)!important;position:relative}
.nav-link.active:after{
  content:"";position:absolute;left:16px;right:16px;bottom:4px;height:3px;
  background:var(--pink);border-radius:4px;
}
.top-icon{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  color:#25317c;position:relative;
}
.top-icon .dot{
  position:absolute;right:2px;top:1px;width:18px;height:18px;border-radius:50%;
  background:var(--pink);color:#fff;font-size:.62rem;display:grid;place-items:center;font-weight:800;
}
.avatar{
  width:38px;height:38px;border-radius:50%;background:#7e3cc5;color:#fff;
  display:grid;place-items:center;font-weight:800;font-size:.85rem;
}

.page{padding:18px 0 55px}
.hero{
  border:1px solid #e7dff5;
  background:linear-gradient(90deg,#f6f0ff 0%,#fff 45%,#ffeaf6 100%);
  border-radius:14px;padding:22px 25px;margin-bottom:18px;overflow:hidden;
}
.hero h1{font-size:2rem;font-weight:900;margin:0 0 5px;letter-spacing:-.5px}
.hero p{margin:0;color:#46518d;font-size:.94rem}
.hero-meta{display:flex;gap:10px;align-items:center;margin-top:16px;flex-wrap:wrap}
.meta-chip{
  background:#fff;border:1px solid #ebe7f4;border-radius:8px;padding:8px 12px;
  font-size:.8rem;font-weight:700;color:#26317b;
}
.hero-boy{
  width:170px;max-width:100%;display:block;margin:auto;mix-blend-mode:multiply;
}
.quote{
  font-family:"Segoe Print","Comic Sans MS",cursive;
  font-size:1.15rem;font-weight:700;color:#14206b;line-height:1.45;
}
.rank-card{
  background:#ffdff0;border:1px solid #f5c8df;border-radius:12px;padding:18px;text-align:center;
}
.rank-card .cup{font-size:2.2rem;color:#f2a800}
.rank-card strong{display:block;font-size:1.35rem;margin-top:3px}

.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.stat-card{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 18px;
  display:flex;gap:12px;align-items:center;
}
.stat-icon{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:1.25rem;flex:0 0 46px;
}
.stat-card .label{font-size:.77rem;color:#53608f;margin-bottom:2px}
.stat-card .value{font-size:1.45rem;font-weight:900;line-height:1.1}
.stat-card .note{font-size:.7rem;color:#7c85a6;margin-top:4px}

.panel{
  background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;
}
.panel + .panel{margin-top:16px}
.panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 16px;border-bottom:1px solid var(--line);
}
.panel-title{font-size:1.05rem;font-weight:900;margin:0;display:flex;align-items:center;gap:9px}
.panel-icon{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:#f1e9ff;color:#6f32c7;
}
.panel-link{font-size:.75rem;font-weight:800;color:#6f32c7}
.panel-body{padding:14px 16px}

.performance-table{width:100%;border-collapse:separate;border-spacing:0}
.performance-table th{
  background:#f5f7ff;color:#27327b;font-size:.73rem;padding:9px;text-align:left;
}
.performance-table td{padding:11px 9px;border-bottom:1px solid #edf0f6;font-size:.8rem;vertical-align:middle}
.performance-table tr:last-child td{border-bottom:0}
.subject-name{display:flex;align-items:center;gap:8px;font-weight:700}
.subject-ico{
  width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:.84rem;
}
.progress-line{height:8px;background:#e9edf8;border-radius:999px;overflow:hidden;min-width:90px}
.progress-fill{height:100%;border-radius:999px}
.status{
  min-width:95px;text-align:center;border-radius:7px;padding:6px 8px;font-size:.7rem;font-weight:800;
}
.status.good{background:#e2f8ed;color:#0b8c59}
.status.warn{background:#fff1d7;color:#b06c00}
.status.focus{background:#ffe2ef;color:#cf1767}

.next-card{background:linear-gradient(160deg,#fff,#fff3f9);padding:18px}
.next-card .tag{
  background:#ffe2ef;color:#d30a6c;border-radius:999px;padding:5px 8px;font-size:.66rem;font-weight:800
}
.next-card h3{font-size:1.15rem;font-weight:900;margin:14px 0 4px}
.next-card p{font-size:.8rem;color:#596394}
.next-list{display:grid;gap:10px;margin:15px 0}
.next-list div{font-size:.78rem;color:#39447f}
.btn-pink{
  background:linear-gradient(90deg,#ef0a8a,#ff2a9c);border:none;color:#fff;font-weight:800;border-radius:8px;
}
.btn-pink:hover{color:#fff;opacity:.95}
.btn-outline-purple{
  border:1px solid #7f49d0;color:#5f2cb2;background:#fff;font-weight:800;border-radius:8px;
}

.recent-table{width:100%;border-collapse:collapse}
.recent-table th{background:#f5f7ff;padding:9px;font-size:.72rem;text-align:left}
.recent-table td{padding:9px;border-bottom:1px solid #edf0f6;font-size:.78rem}
.recent-table tr:last-child td{border-bottom:0}
.badge-complete{background:#dcf7e9;color:#088456;border-radius:7px;padding:5px 8px;font-size:.68rem;font-weight:800}

.help-box{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;
}
.help-img{
  width:112px;border-radius:8px;display:block;
}
.help-box h3{font-size:1rem;font-weight:900;margin:0 0 6px}
.help-box p{font-size:.78rem;color:#66709a;line-height:1.5;margin-bottom:12px}

.quote-box{
  background:#fff0f6;border:1px solid #f7dce8;border-radius:12px;padding:20px;
  text-align:center;font-family:"Segoe Print","Comic Sans MS",cursive;font-size:1rem;font-weight:700;
  line-height:1.5;
}

.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.practice-card{
  border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff;
}
.practice-card h4{font-size:.88rem;font-weight:900;margin:9px 0 9px;min-height:38px}
.practice-card .picon{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.2rem;
}
.practice-card .meta{font-size:.72rem;color:#5f6997;margin-bottom:11px}

.achievements{display:flex;justify-content:space-around;gap:10px;text-align:center}
.ach-item i{font-size:2.4rem}
.ach-item strong{display:block;font-size:.72rem;margin-top:6px}

.footer{
  margin-top:35px;background:linear-gradient(135deg,#16246e,#26377e);color:#fff;padding:42px 0 24px
}
.footer h5{font-weight:800;font-size:.9rem;margin-bottom:12px}
.footer a,.footer p{color:#d7dcf2;font-size:.76rem}
.footer-brand{font-size:1.6rem;font-weight:900}
.footer-brand span{color:#ff2e98}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:28px;padding-top:16px;font-size:.72rem;color:#c7cee9}

@media(max-width:991.98px){
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .practice-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767.98px){
  .hero{padding:18px}
  .hero h1{font-size:1.6rem}
  .stat-grid{grid-template-columns:1fr 1fr}
  .practice-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .stat-grid{grid-template-columns:1fr}
  .practice-grid{grid-template-columns:1fr}
}


/* Extracted inline styles */
.inline-dashboard-1{background:#ffe2ef;color:#e70a82}
.inline-dashboard-2{background:#ddf8ec;color:#11a76d}
.inline-dashboard-3{background:#e2f3ff;color:#1585dd}
.inline-dashboard-4{background:#fff1d3;color:#efa100}
.inline-dashboard-5{background:#ddf1ff;color:#2185dd}
.inline-dashboard-6{width:80%;background:#1fbf84}
.inline-dashboard-7{background:#e9f4ff;color:#147cd0}
.inline-dashboard-8{width:65%;background:#ffad1f}
.inline-dashboard-9{background:#ffe4ef;color:#e81779}
.inline-dashboard-10{width:72%;background:#1fbf84}
.inline-dashboard-11{background:#eee8ff;color:#7644cf}
.inline-dashboard-12{width:58%;background:#ef0a8a}
.inline-dashboard-13{background:#fff3dd;color:#e69c00}
.inline-dashboard-14{width:76%;background:#1fbf84}
.inline-dashboard-15{background:#ffe4ef;color:#e81779}
.inline-dashboard-16{background:#ffe4ef;color:#e81779}
.inline-dashboard-17{background:#fff5fa}
.inline-dashboard-18{background:#ff4aa6;color:#fff}
.inline-dashboard-19{background:#faf7ff}
.inline-dashboard-20{background:#e4d4ff;color:#6330be}
.inline-dashboard-21{background:#f3faff}
.inline-dashboard-22{background:#bfe6ff;color:#147ed2}
.inline-dashboard-23{background:#f4fff9}
.inline-dashboard-24{background:#cef5df;color:#149461}
.inline-dashboard-25{background:#ffe2ef;color:#e70a82}
.inline-dashboard-26{color:#e70a82}
.inline-dashboard-27{color:#e70a82}
.inline-dashboard-28{color:#e70a82}
.inline-dashboard-29{color:#e70a82}
.inline-dashboard-30{color:#e70a82}
.inline-dashboard-31{font-size:2rem;color:#ef0a8a;line-height:1}
.inline-dashboard-32{background:#fff1d3;color:#efa100}
.inline-dashboard-33{color:#7b39d3}
.inline-dashboard-34{color:#359cf0}
.inline-dashboard-35{color:#f1ad00}