:root{--navy:#0b1f3a;--navy2:#153f73;--gold:#e89a22;--bg:#f3f6fa;--text:#172033;--muted:#667085;--line:#dbe3ec;--ok:#16803b;--soft:#eef4fb}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.top{background:var(--navy);color:#fff;padding:14px 20px}.topin{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.brandlink,.topin>.brandlink{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}.logo{width:46px;height:46px;border-radius:50%;background:#fff;object-fit:cover}.brand h1{font-size:17px;margin:0}.brand p{font-size:11px;margin:3px 0 0;color:#d8e4f2}.toplogout{color:#fff;text-decoration:none;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.25);padding:8px 11px;border-radius:9px}.beta{background:#fff3df;color:#7e4d00;text-align:center;padding:8px 12px;font-size:12px;border-bottom:1px solid #f1d4a5}.shell{max-width:1180px;margin:24px auto;display:grid;grid-template-columns:230px 1fr;gap:22px;padding:0 18px}.side{background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;height:max-content;position:sticky;top:16px}.side a{display:block;text-decoration:none;padding:10px 11px;border-radius:9px;font-size:13px;font-weight:700;color:#344054}.side a:hover{background:var(--soft);color:var(--navy)}.main{min-width:0}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.pagehead h2{margin:5px 0 5px;font-size:28px}.eyebrow{font-size:11px;font-weight:900;color:var(--gold);letter-spacing:.09em;text-transform:uppercase}.sub{color:var(--muted);line-height:1.5;margin:0}.studentchip{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 13px;font-size:12px;font-weight:800;text-align:right}.studentchip span{display:block;color:var(--muted);font-weight:600;margin-top:3px}.hero,.panel,.stat,.tile,.focusbox,.listcard,.subjectcard,.profilebox,.section,.card{background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px rgba(15,31,58,.05)}.hero{border-radius:18px;padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#fff,#f4f8fd)}.hero h3{font-size:24px;margin:9px 0 7px}.hero p{color:var(--muted);margin:0;line-height:1.55;max-width:650px}.hero.simple{display:block}.pill{display:inline-block;background:#fff1d8;color:#895500;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900}.btn,button{display:inline-block;border:0;border-radius:10px;padding:12px 16px;background:var(--navy);color:#fff;font-weight:800;text-decoration:none;cursor:pointer}.btn.gold{background:var(--gold);white-space:nowrap}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.stat{border-radius:13px;padding:15px}.stat span{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.stat strong{display:block;font-size:18px;margin-top:5px}.focusbox{border-radius:16px;padding:18px;margin:16px 0;display:flex;justify-content:space-between;gap:20px;align-items:center}.focusbox h3{margin:4px 0}.focusbox p{margin:0;color:var(--muted);font-size:13px}.focuschips{display:flex;gap:8px;flex-wrap:wrap}.focuschips a{background:var(--navy);color:#fff;text-decoration:none;padding:8px 11px;border-radius:999px;font-size:11px;font-weight:800}.tilegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:16px}.tile{text-decoration:none;border-radius:15px;padding:18px;min-height:130px;display:flex;flex-direction:column;gap:7px}.tile b{font-size:22px;color:var(--gold)}.tile strong{font-size:15px}.tile span{font-size:12px;color:var(--muted);line-height:1.45}.tile:hover{transform:translateY(-1px);border-color:#b9c9db}.tile.accent{background:#0b1f3a;color:#fff}.tile.accent span{color:#d9e4f0}.privacy,.notice,.warning,.msg{margin-top:16px;padding:14px 15px;border-radius:12px;font-size:12px;line-height:1.55}.privacy,.notice{background:#f8fafc;border:1px solid var(--line);color:var(--muted)}.warning{background:#fff7e8;border:1px solid #ecd4ac;color:#7f4d00}.msg.err{background:#fff1f1;color:#a12626;border:1px solid #f0caca}.msg.ok{background:#eefaf1;color:#176b35;border:1px solid #c8ead1}.subjectgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.subjectcard{border-radius:14px;padding:16px;text-decoration:none;display:flex;gap:13px;align-items:center}.subjecticon{width:46px;height:46px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.subjectcard strong,.subjectcard span,.subjectcard em{display:block}.subjectcard span{font-size:11px;color:var(--gold);font-weight:800;margin-top:3px}.subjectcard em{font-size:11px;color:var(--muted);font-style:normal;margin-top:5px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel,.section{border-radius:15px;padding:18px}.panel h3,.section h3{margin:6px 0 8px}.panel p{color:var(--muted);line-height:1.55}.bigscore{font-size:42px;font-weight:900;margin:8px 0}.bigscore small{font-size:16px;color:var(--muted)}.progressbar{height:9px;background:#e8eef5;border-radius:999px;overflow:hidden}.progressbar i{display:block;height:100%;background:var(--gold)}.textlink{font-size:12px;color:var(--navy2);font-weight:800}.section{margin-top:15px}.minirow{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.minirow>div,.minirow>a{border:1px solid var(--line);border-radius:11px;padding:13px;text-decoration:none}.minirow strong,.minirow span{display:block}.minirow span{font-size:11px;color:var(--muted);margin-top:4px}.listcards{display:grid;gap:12px}.listcard{border-radius:14px;padding:17px}.listcard h3{margin:8px 0 5px}.listcard p{margin:0;color:var(--muted);line-height:1.55;font-size:13px}.listcard.compact{display:grid;grid-template-columns:110px 1fr;align-items:center}.listcard.compact h3{margin:0}.marktablewrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:13px}.marktable{width:100%;border-collapse:collapse}.marktable th,.marktable td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.marktable th{font-size:11px;text-transform:uppercase;color:var(--muted);background:#f8fafc}.marktable tr:last-child td{border-bottom:0}.resulthead{display:flex;justify-content:space-between;align-items:center;padding:17px 0}.resulthead h3{margin:5px 0}.resultpill{padding:7px 11px;border-radius:999px;font-size:11px;font-weight:900}.resultpill.pass{background:#eaf8ef;color:#176b35}.resultpill.support{background:#fff1e8;color:#a4470b}.scoregrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:14px}.scorebox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.scorebox span{display:block;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.scorebox strong{display:block;font-size:22px;margin-top:4px}.supportnote,.successnote{margin-top:14px;padding:14px;border-radius:12px;font-size:12px;line-height:1.5}.supportnote{background:#fff7ed;border:1px solid #f3d2b4;color:#8a3f12}.successnote{background:#eefaf1;border:1px solid #c8ead1;color:#176b35}.profilebox{border-radius:15px;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.profilebox span,.profilebox strong{display:block}.profilebox span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:900}.profilebox strong{margin-top:5px}.wrap{max-width:980px;margin:36px auto;padding:0 18px}.card{border-radius:18px;padding:26px}.login{max-width:500px;margin:auto}.login h2{font-size:28px;margin:7px 0}.login label{display:block;font-size:12px;font-weight:800;margin:14px 0 6px}.login input,select,textarea{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:10px;font:inherit;background:#fff}.login .full{width:100%;margin-top:16px}.loginfeatures{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px;font-size:11px;color:var(--muted)}form label{display:block;font-size:12px;font-weight:800;margin:12px 0 6px}textarea{min-height:150px;resize:vertical}form button{margin-top:12px}.footer{text-align:center;color:var(--muted);font-size:10px;padding:18px 10px 28px}
@media(max-width:860px){.shell{grid-template-columns:1fr}.side{position:static;display:flex;overflow-x:auto;white-space:nowrap}.side a{flex:0 0 auto}.tilegrid{grid-template-columns:repeat(2,1fr)}.statgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.shell{margin-top:14px;padding:0 12px}.pagehead{display:block}.studentchip{text-align:left;margin-top:10px}.hero{display:block}.hero .btn{margin-top:15px}.tilegrid,.subjectgrid,.twocol,.minirow,.profilebox,.scoregrid,.statgrid{grid-template-columns:1fr}.focusbox{display:block}.focuschips{margin-top:12px}.listcard.compact{grid-template-columns:1fr}.loginfeatures{grid-template-columns:1fr}.pagehead h2{font-size:23px}}

.more-sheet{display:none}

/* v6 mobile-first navigation */
.mobile-more{display:none}
@media(max-width:860px){
 body{padding-bottom:78px}
 .top{padding:10px 12px}.topin{gap:8px}.logo{width:40px;height:40px}.brand h1{font-size:15px;line-height:1.15}.brand p{font-size:10px}.toplogout{padding:7px 9px}
 .beta{font-size:10px;padding:6px 8px;line-height:1.3}
 .shell{display:block;margin:14px auto;padding:0 12px}
 .side{position:fixed;z-index:1000;left:0;right:0;bottom:0;top:auto;height:68px;border-radius:16px 16px 0 0;border-width:1px 0 0;padding:5px 7px;display:grid;grid-template-columns:repeat(5,1fr);overflow:visible;white-space:normal;box-shadow:0 -6px 24px rgba(11,31,58,.12)}
 .side a{display:none;text-align:center;padding:7px 2px;font-size:10px;line-height:1.15;min-width:0}
 .side a:nth-child(1),.side a:nth-child(2),.side a:nth-child(3),.side a:nth-child(4){display:flex;align-items:center;justify-content:center}
 .mobile-more{display:flex!important;align-items:center;justify-content:center;border:0;background:transparent;font:inherit;font-weight:800;color:#344054;padding:7px 2px;font-size:10px;line-height:1.15;cursor:pointer}
 .more-sheet{display:none;position:fixed;z-index:1100;left:10px;right:10px;bottom:76px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 12px 35px rgba(11,31,58,.22);max-height:68vh;overflow:auto}
 .more-sheet.open{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .more-sheet a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:11px;padding:12px;font-size:12px;font-weight:750;background:#fff}
 .pagehead{margin-bottom:14px}.pagehead h2{font-size:25px;line-height:1.12}.sub{font-size:14px}
 .hero{padding:18px}.hero h3{font-size:22px}.btn,button{min-height:46px;padding:13px 16px}
 .tile,.subjectcard,.panel,.section,.listcard{min-height:48px}
 .footer{padding-bottom:88px}
}
@media(max-width:380px){.brand h1{font-size:13px}.brand p{font-size:9px}.logo{width:36px;height:36px}.toplogout{font-size:10px}.side a,.mobile-more{font-size:9px}.shell{padding:0 9px}}


/* v6.3 — refined Student Workspace sidebar */
@media(min-width:861px){
  .shell{grid-template-columns:255px 1fr;gap:24px}
  .side{
    overflow:hidden;
    padding:0 10px 12px;
    border-radius:20px;
    border:1px solid #dbe3ec;
    box-shadow:0 14px 34px rgba(11,31,58,.08);
    background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
  }
  .side-profile{
    margin:0 -10px 12px;
    padding:17px 15px;
    display:flex;
    align-items:center;
    gap:11px;
    color:#fff;
    background:linear-gradient(135deg,var(--navy),var(--navy2));
  }
  .side-profile-icon{
    width:42px;height:42px;border-radius:12px;
    display:grid;place-items:center;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.18);
    font-size:20px;flex:0 0 auto;
  }
  .side-profile small{display:block;font-size:9px;letter-spacing:.12em;color:#ffd28c;font-weight:900}
  .side-profile strong{display:block;font-size:13px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
  .side-profile span{display:block;font-size:10px;color:#dbe7f4;margin-top:2px}
  .side-label{
    margin:12px 10px 5px;
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
    color:#98a2b3;
  }
  .side a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 10px;
    margin:2px 0;
    border-radius:11px;
    font-size:12px;
    font-weight:750;
    color:#344054;
    transition:.16s ease;
  }
  .side a .nav-icon{
    width:29px;height:29px;border-radius:9px;
    display:grid;place-items:center;
    flex:0 0 auto;
    background:#f1f5f9;
    color:var(--navy);
    font-size:14px;
    font-weight:900;
  }
  .side a:hover{
    background:#f3f7fc;
    color:var(--navy);
    transform:translateX(2px);
  }
  .side a.active{
    color:#fff;
    background:linear-gradient(135deg,var(--navy),#174a83);
    box-shadow:0 7px 16px rgba(11,31,58,.16);
  }
  .side a.active .nav-icon{
    background:var(--gold);
    color:#fff;
  }
}

/* keep the existing mobile bottom navigation unchanged in behaviour */
@media(max-width:860px){
  .side-profile,.side-label{display:none}
  .side a{margin:0}
  .side .nav-main{
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    text-align:center;
    padding:6px 2px;
    font-size:10px;
    line-height:1.05;
  }
  .side .nav-main .nav-icon,
  .mobile-more .nav-icon{
    display:block;
    width:auto;height:auto;
    background:transparent;
    color:inherit;
    font-size:15px;
    line-height:1;
  }
  .side a:not(.nav-main){display:none!important}
  .mobile-more{
    flex-direction:column;
    gap:3px;
  }
  .side .nav-main.active{
    color:var(--navy);
    background:#eef4fb;
    border-radius:10px;
  }
}
