:root{--navy:#071a33;--navy2:#0d2d53;--gold:#c99122;--ink:#172033;--muted:#66758a;--line:#e4e9ef;--soft:#f6f8fb;--white:#fff;--shadow:0 18px 45px rgba(7,26,51,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#fff;color:var(--ink);line-height:1.55}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 36px));margin:auto}.topbar{background:var(--navy);color:#d8e4f0;font-size:.84rem;padding:7px 0}.topbar .container{display:flex;justify-content:space-between;gap:18px}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:70px;height:52px;object-fit:contain}.brand strong{display:block;color:var(--navy);font-family:Georgia,serif;font-size:1.18rem}.brand span{display:block;color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.12em;margin-top:4px}nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}nav a{text-decoration:none;font-weight:750;color:#314258;font-size:.92rem}nav a:hover{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:11px 20px;font-weight:800;text-decoration:none;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-gold{background:var(--gold);color:#fff}.btn-navy{background:var(--navy);color:#fff}.btn-light{background:#fff;border-color:#dce3eb;color:var(--navy)}.btn-sm{padding:7px 12px;font-size:.84rem}.hero{background:linear-gradient(130deg,var(--navy),var(--navy2));color:#fff;padding:72px 0}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:48px}.hero h1{font-family:Georgia,serif;font-size:clamp(2.6rem,5.6vw,5rem);line-height:1.03;margin:12px 0 18px}.hero h1 span{color:#efc96f}.hero p{color:#d8e4f0;font-size:1.12rem;max-width:720px}.eyebrow{color:var(--gold);font-weight:900;letter-spacing:.15em;text-transform:uppercase;font-size:.76rem}.hero-card{background:#fff;border-radius:30px;padding:28px;box-shadow:0 28px 70px rgba(0,0,0,.25)}.hero-card img{max-height:310px;margin:auto;object-fit:contain}.section{padding:72px 0}.section.soft{background:var(--soft)}.section-head{max-width:780px;margin-bottom:34px}.section-head h1,.section-head h2{font-family:Georgia,serif;color:var(--navy);font-size:clamp(2rem,4vw,3.2rem);margin:7px 0 12px;line-height:1.08}.section-head p{color:var(--muted);font-size:1.04rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 8px 25px rgba(7,26,51,.04)}.card h3{font-family:Georgia,serif;color:var(--navy);margin:0 0 9px}.card p{color:var(--muted);margin:0}.icon{width:48px;height:48px;border-radius:14px;background:#fff4d9;color:#9c6b0e;display:grid;place-items:center;font-weight:900;margin-bottom:14px}.form-shell{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.form-top{background:linear-gradient(130deg,var(--navy),#143a64);color:#fff;padding:28px}.form-top h1,.form-top h2{font-family:Georgia,serif;margin:0 0 8px;font-size:2rem}.form-top p{margin:0;color:#d8e4f0}.form-body{padding:30px}.form-section{padding:25px 0;border-bottom:1px solid #edf0f3}.form-section:first-child{padding-top:0}.form-section:last-child{border-bottom:0;padding-bottom:0}.form-section h3{font-family:Georgia,serif;color:var(--navy);font-size:1.35rem;margin:0 0 18px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}label{font-weight:800;font-size:.86rem;color:#3b4b61}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d8e0e8;border-radius:11px;outline:none;background:#fff;color:#172033}textarea{min-height:105px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,145,34,.10)}.help{font-size:.78rem;color:var(--muted)}.checkrow{display:flex;gap:10px;align-items:flex-start}.checkrow input{width:auto;margin-top:5px}.notice{border-radius:14px;padding:14px 16px;background:#fff7df;border:1px solid #efdca9;color:#6f4d10;margin:16px 0}.alert{border-radius:13px;padding:13px 15px;margin-bottom:16px}.alert-success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.alert-error{background:#fff1f0;color:#b42318;border:1px solid #ffd1cc}.alert-info{background:#eff6ff;color:#1d4e89;border:1px solid #bfdbfe}.portal-bg{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#eef3f8)}.login-wrap{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:50px 18px}.login-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.login-logo{width:150px;margin:0 auto 16px}.login-card h1{font-family:Georgia,serif;color:var(--navy);text-align:center;margin:0 0 8px}.login-card .sub{text-align:center;color:var(--muted);margin-bottom:22px}.dashboard{display:grid;grid-template-columns:250px 1fr;min-height:100vh;background:#f5f7fa}.sidebar{background:var(--navy);color:#d9e5f1;padding:24px 18px;position:sticky;top:0;height:100vh}.sidebar .logo{background:#fff;border-radius:16px;padding:9px;margin-bottom:24px}.sidebar .logo img{max-height:100px;margin:auto}.sidebar a{display:block;text-decoration:none;padding:11px 12px;border-radius:10px;margin:5px 0;color:#d9e5f1;font-weight:700}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.10);color:#fff}.dash-main{padding:28px}.dash-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:24px}.dash-head h1{font-family:Georgia,serif;color:var(--navy);margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.stat span{display:block;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.stat strong{display:block;color:var(--navy);font-size:2rem;margin-top:6px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:20px}.panel h2,.panel h3{font-family:Georgia,serif;color:var(--navy);margin:0 0 16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:780px}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid #edf0f3;font-size:.9rem;vertical-align:top}th{color:#516177;background:#f8fafc;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:800;background:#eef2f7;color:#3b4b61}.badge.submitted{background:#eff6ff;color:#1d4e89}.badge.review{background:#fff7df;color:#8a5b00}.badge.accepted{background:#ecfdf3;color:#166534}.badge.rejected{background:#fff1f0;color:#b42318}.badge.registered{background:#eef2ff;color:#3730a3}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filters input,.filters select{width:auto;min-width:180px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.detail{padding:13px;border:1px solid #edf0f3;border-radius:12px}.detail span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.detail strong{display:block;margin-top:4px}footer{background:#041326;color:#b9c8da;padding:34px 0}footer .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}@media(max-width:980px){.hero-grid,.grid-3,.dashboard{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.sidebar{position:relative;height:auto}.stats{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}}@media(max-width:680px){.topbar{display:none}.nav{align-items:flex-start;padding:14px 0;flex-direction:column}nav{width:100%}.hero{padding:56px 0}.cards,.grid-2,.stats{grid-template-columns:1fr}.form-body{padding:20px}.dash-main{padding:18px}.dash-head{align-items:flex-start;flex-direction:column}}

.balance-box{min-width:190px;background:linear-gradient(135deg,#071a33,#123a65);color:#fff;border-radius:16px;padding:15px 18px;text-align:right}.balance-box span{display:block;color:#d9e5f1;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.balance-box strong{display:block;color:#f0c96d;font-size:1.55rem;margin-top:3px}.stats .stat strong{word-break:break-word}

/* --- V3 admissions / student centre additions --- */
.nav-apply{background:var(--gold);color:#fff!important;padding:8px 14px;border-radius:999px}
.nav-apply:hover{background:#ae7817;color:#fff!important}
.status-strip{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}
.status-pill{padding:7px 11px;border-radius:999px;background:#eef2f7;color:#415269;font-size:.8rem;font-weight:800}
.status-pill.ok{background:#ecfdf3;color:#166534}.status-pill.pending{background:#fff7df;color:#8a5b00}.status-pill.no{background:#fff1f0;color:#b42318}
.locked{position:relative;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;border-radius:18px;padding:24px}
.locked h3{color:#334155;margin-top:0}.locked .lock-icon{font-size:2rem;margin-bottom:8px}
.action-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.checklist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.check-item{border:1px solid #e5eaf0;border-radius:14px;padding:14px;background:#fff}
.check-item strong{display:block;color:var(--navy);margin-bottom:4px}.check-item .state{font-size:.8rem;font-weight:900}
.state.yes{color:#166534}.state.no{color:#9a6700}
.timeline{display:grid;gap:0;margin-top:16px}.timeline-step{display:grid;grid-template-columns:28px 1fr;gap:12px;min-height:60px}.timeline-dot{width:18px;height:18px;border-radius:50%;background:#d8e0e8;border:4px solid #fff;box-shadow:0 0 0 2px #d8e0e8;margin-top:3px}.timeline-step.done .timeline-dot{background:var(--gold);box-shadow:0 0 0 2px var(--gold)}.timeline-step .line{position:absolute}.timeline-step strong{color:var(--navy)}
.center-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.center-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 7px 20px rgba(7,26,51,.04);transition:.2s}.center-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.center-card h3{font-family:Georgia,serif;color:var(--navy);margin:4px 0 8px}.center-card p{color:var(--muted);font-size:.9rem;margin:0}.center-icon{font-size:1.6rem}
.student-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.student-nav a{text-decoration:none;padding:9px 13px;border-radius:10px;background:#fff;border:1px solid var(--line);font-weight:800;font-size:.86rem;color:#405169}.student-nav a.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.card-id{width:min(720px,100%);aspect-ratio:1.586/1;background:linear-gradient(135deg,#071a33,#0d2d53);border-radius:28px;color:#fff;padding:30px;position:relative;overflow:hidden;box-shadow:0 28px 70px rgba(7,26,51,.25)}.card-id:after{content:"HSC";position:absolute;right:-15px;bottom:-55px;font-family:Georgia,serif;font-size:12rem;color:rgba(255,255,255,.05);font-weight:900}.card-id-head{display:flex;align-items:center;gap:15px}.card-id-head img{width:85px;background:#fff;border-radius:12px;padding:5px}.card-id-body{display:grid;grid-template-columns:130px 1fr;gap:22px;align-items:center;margin-top:24px}.card-photo{width:125px;height:150px;border-radius:16px;background:#fff;color:var(--navy);display:grid;place-items:center;font-size:2.4rem;font-weight:900;overflow:hidden}.card-photo img{width:100%;height:100%;object-fit:cover}.card-id h2{color:#fff;font-family:Georgia,serif;margin:0}.card-id small{color:#d6e3f2}.card-no{color:#f0c76c;font-size:1.15rem;font-weight:900;letter-spacing:.06em}.card-id-footer{position:absolute;left:30px;right:30px;bottom:24px;display:flex;justify-content:space-between;gap:14px;font-size:.8rem;color:#d6e3f2}
.quiz-option{display:flex;gap:10px;align-items:flex-start;border:1px solid #e1e7ee;border-radius:12px;padding:12px;margin:8px 0}.quiz-option input{width:auto;margin-top:5px}.question{padding:20px 0;border-bottom:1px solid #edf0f3}.question:last-child{border-bottom:0}
.message-bubble{padding:12px 14px;border-radius:14px;margin:8px 0;max-width:82%}.message-bubble.student{background:#eef5ff;margin-left:auto}.message-bubble.staff{background:#fff6df}.message-meta{font-size:.72rem;color:#6b7b90;margin-top:5px}
.balance-box{background:#071a33;color:#fff;border-radius:15px;padding:14px 18px;min-width:180px}.balance-box span{display:block;color:#cbd8e6;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.balance-box strong{font-size:1.55rem}
@media(max-width:900px){.checklist-grid,.center-grid{grid-template-columns:1fr 1fr}.card-id{aspect-ratio:auto;min-height:430px}.card-id-body{grid-template-columns:100px 1fr}.card-photo{width:95px;height:120px}}
@media(max-width:620px){.checklist-grid,.center-grid{grid-template-columns:1fr}.card-id-body{grid-template-columns:1fr}.card-photo{width:100px;height:120px}.card-id-footer{position:static;margin-top:20px;flex-direction:column}.card-id{min-height:620px}}
@media print{.no-print,header,.topbar,footer,.sidebar,.student-nav{display:none!important}.dash-main{padding:0}.dashboard{display:block}.card-id{box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}}


/* V5 portal authentication and required-field refinements */
.required-star{color:#b42318;font-weight:900;margin-left:3px}
.mandatory-note{font-size:.85rem;color:#526176;margin:0 0 18px}.mandatory-note strong{color:#b42318}
.auth-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.auth-brand img{width:84px;height:62px;object-fit:contain}
.auth-nav{margin-left:auto}.auth-nav a{padding:8px 3px}
.portal-login-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.portal-login-actions .btn{width:100%}.portal-login-actions .btn:first-child{grid-column:1/-1}
.id-help{font-size:.78rem;color:#5f6e82;margin-top:4px}
.id-valid{color:#166534}.id-invalid{color:#b42318}
@media(max-width:680px){.auth-header .nav{flex-direction:column;align-items:center}.auth-nav{margin-left:0;justify-content:center}.portal-login-actions{grid-template-columns:1fr}.portal-login-actions .btn:first-child{grid-column:auto}}

/* V6 logo + login/register refinements */
.login-logo{width:180px;max-height:150px;object-fit:contain;margin:0 auto 18px}
.auth-brand img{width:96px;height:70px;object-fit:contain}
.portal-login-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* SCM / Supplier additions */
.btn-danger{background:#fff1f0;border-color:#ffd1cc;color:#b42318}.btn-danger:hover{background:#ffe5e2}

/* Clean stakeholder portal */
.stakeholder-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.stakeholder-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 10px 28px rgba(7,26,51,.06);transition:.2s}
.stakeholder-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#e1c27a}
.stakeholder-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:#fff4d9;font-size:1.6rem;margin-bottom:16px}
.stakeholder-card h2{font-family:Georgia,serif;color:var(--navy);margin:0 0 8px}
.stakeholder-card p{color:var(--muted);margin:0 0 16px}
.stakeholder-card span{font-weight:800;color:#9a6700}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.module-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;color:inherit}
.module-card:hover{border-color:#d8b45a;box-shadow:0 8px 24px rgba(7,26,51,.06)}
.module-card h3{color:var(--navy);margin:8px 0}
.module-card p{color:var(--muted);font-size:.9rem}
.module-card .mini{color:#9a6700;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:820px){.stakeholder-grid,.module-grid{grid-template-columns:1fr}}

/* Clean 2027 role-rights / finance navigation */
.rights-table td,.rights-table th{vertical-align:middle}
.rights-table input[type=checkbox]{width:18px;height:18px;accent-color:#c99122}
.sidebar a{margin-bottom:2px}
.sidebar .logo{margin-bottom:8px}

/* Enterprise pagination + explicit rights */
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.pagination span{color:var(--muted);font-size:.88rem;font-weight:700}
.rights-table input[type=radio]{width:18px;height:18px;accent-color:#c99122}


/* HSC staff navigation — scrollable sidebar + mobile menu + top logout */
.sidebar{
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.sidebar-topbar{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  align-items:center;
  gap:9px;
  margin:-6px 0 12px;
  padding:6px 0 10px;
  background:var(--navy);
}
.sidebar-menu-button,
.sidebar-top-logout{
  min-height:42px;
  border-radius:11px;
  font-weight:850;
  font-family:inherit;
  font-size:.88rem;
}
.sidebar-menu-button{
  display:none;
  flex:1;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
}
.sidebar-menu-button:hover{background:rgba(255,255,255,.14)}
.sidebar-top-logout{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  text-decoration:none;
  color:#fff!important;
  background:#b42318;
  border:1px solid rgba(255,255,255,.12);
  margin:0!important;
  white-space:nowrap;
}
.sidebar-top-logout:hover{background:#941b13!important;color:#fff!important}
.sidebar-label{
  padding:0 12px 12px;
  color:#90a4bd;
  font-size:.71rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.sidebar-divider{
  height:1px;
  background:rgba(255,255,255,.12);
  margin:12px 8px;
}
.sidebar-menu-wrap{display:block}
.sidebar-menu-links{display:block}
.sidebar-menu-links a{display:block}

@media(max-width:980px){
  .dashboard{display:block;min-height:100vh}
  .sidebar{
    position:sticky;
    top:0;
    z-index:60;
    height:auto;
    max-height:100vh;
    padding:12px 14px;
    box-shadow:0 7px 22px rgba(7,26,51,.18);
  }
  .sidebar-topbar{
    margin:0;
    padding:0;
    min-height:48px;
  }
  .sidebar-menu-button{display:flex}
  .sidebar-top-logout{min-width:94px}
  .sidebar-menu-wrap{
    display:none;
    max-height:calc(100vh - 72px);
    overflow-y:auto;
    overflow-x:hidden;
    padding:12px 2px 6px;
    overscroll-behavior:contain;
  }
  .sidebar.menu-open .sidebar-menu-wrap{display:block}
  .sidebar .logo{
    max-width:230px;
    margin:0 auto 12px;
  }
  .sidebar-label{text-align:center;padding-bottom:8px}
  .sidebar-menu-links a{
    padding:12px 14px;
    margin:3px 0;
  }
  .dash-main{padding-top:18px}
}

@media(min-width:981px){
  .sidebar-menu-wrap{display:block!important}
  .sidebar-topbar{justify-content:flex-end}
  .sidebar-top-logout{width:100%}
}


/* =========================================================
   HSC ORDERLY RESPONSIVE MANAGEMENT NAVIGATION — FINAL OVERRIDE
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
.dashboard{
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  width:100%;
  min-width:0;
  min-height:100vh;
  background:#f5f7fa;
}
.sidebar{
  position:sticky;
  top:0;
  align-self:start;
  width:270px;
  min-width:270px;
  height:100vh;
  max-height:100vh;
  padding:14px;
  overflow-y:auto;
  overflow-x:hidden;
  background:var(--navy);
  color:#d9e5f1;
  z-index:50;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.25) transparent;
}
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:20px}
.dash-main{
  min-width:0;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
.panel,.stat,.module-card,.form-shell{min-width:0}
.table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{max-width:none}

.hsc-nav-top{
  position:sticky;
  top:-14px;
  z-index:80;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:10px 0 12px;
  margin-bottom:10px;
  background:var(--navy);
  border-bottom:1px solid rgba(255,255,255,.10);
}
.hsc-nav-identity{
  display:none;
  min-width:0;
  align-items:center;
  gap:10px;
}
.hsc-nav-identity img{
  width:42px;
  height:42px;
  object-fit:contain;
  padding:3px;
  border-radius:10px;
  background:#fff;
}
.hsc-nav-identity strong{
  display:block;
  color:#fff;
  font-size:.92rem;
  line-height:1.15;
}
.hsc-nav-identity span{
  display:block;
  color:#9eb0c6;
  font-size:.70rem;
  margin-top:3px;
}
.hsc-nav-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.sidebar-menu-button,
.sidebar-top-logout{
  min-height:42px;
  border-radius:10px;
  font:inherit;
  font-size:.84rem;
  font-weight:850;
  text-decoration:none!important;
  box-shadow:none!important;
  transform:none!important;
}
.sidebar-menu-button{
  display:none;
  flex:1;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
}
.sidebar-menu-button:hover{background:rgba(255,255,255,.14)}
.sidebar-top-logout{
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%;
  margin:0!important;
  padding:0 14px!important;
  background:#b42318!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
}
.sidebar-top-logout:hover{background:#941b13!important;color:#fff!important}

.sidebar-desktop-brand{display:block}
.sidebar .logo{
  width:100%;
  padding:10px;
  margin:0 0 10px;
  border-radius:16px;
  background:#fff;
}
.sidebar .logo img{
  width:100%;
  max-width:220px;
  height:96px;
  max-height:96px;
  margin:auto;
  object-fit:contain;
}
.sidebar-label{
  padding:4px 10px 10px;
  color:#91a6bf;
  font-size:.70rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.sidebar-menu-wrap{display:block}
.sidebar-menu-links{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.sidebar-menu-links a{
  display:flex!important;
  align-items:center;
  width:100%;
  min-height:44px;
  padding:10px 12px!important;
  margin:0!important;
  border-radius:10px;
  color:#d9e5f1!important;
  font-size:.88rem;
  line-height:1.25;
  font-weight:750;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
.sidebar-menu-links a:hover,
.sidebar-menu-links a.active{
  background:rgba(255,255,255,.11)!important;
  color:#fff!important;
}
.sidebar-menu-links a.active{
  box-shadow:inset 3px 0 0 var(--gold);
}
.sidebar-divider{
  width:100%;
  height:1px;
  margin:8px 0;
  background:rgba(255,255,255,.12);
}

/* Compact top navigation for laptops, tablets and phones.
   This prevents the sidebar from squeezing/covering the dashboard. */
@media(max-width:1240px){
  .dashboard{
    display:block!important;
    width:100%;
    min-height:100vh;
  }
  .sidebar{
    position:sticky!important;
    top:0!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    padding:10px 14px!important;
    overflow:visible!important;
    box-shadow:0 6px 20px rgba(7,26,51,.16);
  }
  .hsc-nav-top{
    position:relative;
    top:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    margin:0;
    padding:0;
    border-bottom:0;
  }
  .hsc-nav-identity{display:flex}
  .hsc-nav-actions{
    justify-content:flex-end;
    flex-wrap:nowrap;
  }
  .sidebar-menu-button{
    display:flex!important;
    flex:none;
    min-width:92px;
  }
  .sidebar-top-logout{
    width:auto!important;
    min-width:92px;
  }
  .sidebar-menu-wrap{
    display:none!important;
    position:absolute;
    top:68px;
    left:14px;
    right:14px;
    z-index:100;
    max-height:calc(100vh - 88px);
    overflow-y:auto;
    overflow-x:hidden;
    padding:10px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:0 0 16px 16px;
    background:var(--navy);
    box-shadow:0 18px 36px rgba(7,26,51,.25);
  }
  .sidebar.menu-open .sidebar-menu-wrap{display:block!important}
  .sidebar-desktop-brand{display:none}
  .sidebar-menu-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .sidebar-menu-links a{
    min-height:46px;
    border:1px solid rgba(255,255,255,.07);
    background:rgba(255,255,255,.035);
  }
  .sidebar-divider{grid-column:1/-1}
  .dash-main{
    width:100%;
    min-width:0;
    padding:20px!important;
  }
}

@media(max-width:700px){
  .sidebar{padding:8px 10px!important}
  .hsc-nav-top{grid-template-columns:minmax(0,1fr) auto}
  .hsc-nav-identity img{width:38px;height:38px}
  .hsc-nav-identity strong{font-size:.84rem}
  .hsc-nav-identity span{font-size:.65rem}
  .hsc-nav-actions{gap:6px}
  .sidebar-menu-button,
  .sidebar-top-logout{
    min-width:76px;
    min-height:40px;
    padding:0 10px!important;
    font-size:.78rem;
  }
  .sidebar-menu-wrap{
    top:58px;
    left:10px;
    right:10px;
    max-height:calc(100vh - 72px);
  }
  .sidebar-menu-links{grid-template-columns:1fr}
  .dash-main{padding:14px!important}
  .dash-head{gap:10px}
}

@media(max-width:430px){
  .hsc-nav-identity strong{max-width:120px}
  .hsc-nav-identity span{display:none}
  .sidebar-menu-button span:last-child{display:none}
  .sidebar-menu-button{min-width:46px;width:46px;padding:0!important}
  .sidebar-top-logout{min-width:72px;padding:0 8px!important}
}


/* =========================================================
   HIGHERLIFE PROFESSIONAL LMS — 2026 FINAL LAYER
   ========================================================= */
:root{
  --lms-navy:#071a33;
  --lms-blue:#123b67;
  --lms-gold:#c99122;
  --lms-soft:#f6f8fb;
  --lms-line:#e5eaf0;
  --lms-green:#177245;
  --lms-red:#a12b24;
}
.dash-main{background:linear-gradient(180deg,#f6f8fb 0%,#ffffff 460px);min-height:100vh}
.panel{box-shadow:0 12px 34px rgba(7,26,51,.055)}
.lms-feature-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(201,145,34,.36)!important;
  background:linear-gradient(135deg,#fffaf0,#fff)!important;
}
.lms-feature-card::after{
  content:"";
  position:absolute;
  right:-26px;
  top:-26px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:rgba(201,145,34,.09);
}
.lms-hero{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:26px;
  align-items:center;
  background:
    radial-gradient(circle at 92% 10%,rgba(201,145,34,.15),transparent 30%),
    linear-gradient(135deg,#fff,#fbfcfe);
}
.lms-hero h2{font-size:2.4rem;margin:8px 0 12px}
.lms-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.lms-stat{
  padding:18px 14px;
  border:1px solid var(--lms-line);
  border-radius:16px;
  background:#fff;
  text-align:center;
}
.lms-stat strong{display:block;color:var(--lms-navy);font-size:1.55rem}
.lms-stat span{display:block;color:#708097;font-size:.76rem;margin-top:4px}
.progress-track{
  width:100%;
  height:10px;
  border-radius:999px;
  background:#e9edf3;
  overflow:hidden;
}
.progress-track>span{
  display:block;
  height:100%;
  min-width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--lms-gold),#e7b949);
}
.lms-course-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.lms-course-card{
  display:flex;
  min-width:0;
  min-height:250px;
  flex-direction:column;
  padding:22px;
  border:1px solid var(--lms-line);
  border-radius:20px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 12px 30px rgba(7,26,51,.05);
  transition:.2s ease;
}
.lms-course-card:hover{
  transform:translateY(-3px);
  border-color:rgba(201,145,34,.55);
  box-shadow:0 18px 42px rgba(7,26,51,.10);
}
.lms-course-top,.lms-course-meta,.lms-course-footer{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.course-code{
  color:var(--lms-gold);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.lms-course-card h3{font-size:1.28rem;margin:14px 0 8px}
.lms-course-card p{color:#66758a;font-size:.9rem;flex:1}
.lms-course-meta{margin-top:12px;color:#68788e;font-size:.76rem}
.lms-course-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--lms-line);font-size:.78rem}
.lms-course-footer span{color:#6f7f93}
.lms-course-footer strong{color:var(--lms-navy)}
.admin-course{min-height:215px}
.subject-overview{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
  align-items:start;
}
.subject-kpis{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.subject-kpis>div{
  padding:16px;
  border:1px solid var(--lms-line);
  border-radius:15px;
  background:#fbfcfe;
}
.subject-kpis strong{display:block;color:var(--lms-navy);font-size:1.35rem}
.subject-kpis span{display:block;color:#718197;font-size:.75rem;margin-top:4px}
.lesson-list{display:flex;flex-direction:column;gap:10px}
.lesson-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:15px 16px;
  border:1px solid var(--lms-line);
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.lesson-row:hover{border-color:rgba(201,145,34,.55);background:#fffdf8}
.lesson-step{
  display:flex;
  width:42px;height:42px;
  align-items:center;justify-content:center;
  border-radius:13px;
  background:#f7eedc;
  color:#9f6c0f;
  font-size:.76rem;font-weight:900;
}
.lesson-row h3{font-size:1rem;margin:3px 0}
.lesson-row p{margin:0;color:#6d7b8f;font-size:.84rem}
.lesson-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.lesson-side small{color:#7b899b}
.badge-success{background:#e8f7ee!important;color:#17643f!important}
.badge-danger{background:#fff0ef!important;color:#992e28!important}
.status-complete{background:#e8f7ee!important;color:#17643f!important}
.status-in-progress{background:#fff7e8!important;color:#9b690f!important}
.status-not-started{background:#eef2f6!important;color:#607087!important}
.lms-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.compact-item{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 0;border-bottom:1px solid var(--lms-line)
}
.compact-item:last-child{border-bottom:0}
.compact-item strong{display:block;color:var(--lms-navy)}
.compact-item span{display:block;color:#77869a;font-size:.78rem;margin-top:3px}
.lesson-content{max-width:980px}
.lesson-lead{font-size:1.08rem;color:#4f6075}
.rich-copy{line-height:1.75;color:#28384f}
.rich-copy h2,.rich-copy h3{margin-top:1.5em}
.lesson-complete{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:980px}
.discussion-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.discussion-post{
  padding:14px 16px;border:1px solid var(--lms-line);border-radius:14px;background:#fbfcfe
}
.discussion-post strong{color:var(--lms-navy)}
.discussion-post span{display:block;color:#8190a2;font-size:.72rem;margin-top:2px}
.discussion-post p{margin:10px 0 0}
.discussion-original{font-size:1.02rem;color:#35475e}
.discussion-admin{
  border:1px solid var(--lms-line);
  border-radius:14px;
  margin-bottom:10px;
  background:#fff;
}
.discussion-admin summary{padding:14px 16px;cursor:pointer}
.discussion-body{padding:0 16px 16px}
.lms-progress-list{display:flex;flex-direction:column;gap:12px}
.progress-person{
  display:grid;
  grid-template-columns:minmax(280px,1.2fr) minmax(160px,.8fr) 56px;
  align-items:center;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid var(--lms-line)
}
.progress-person:last-child{border-bottom:0}
.progress-person strong{display:block;color:var(--lms-navy)}
.progress-person span{display:block;color:#748397;font-size:.78rem;margin-top:3px}
.progress-person b{text-align:right;color:var(--lms-navy)}
.empty-state{
  grid-column:1/-1;
  padding:28px;
  border:1px dashed #cfd8e3;
  border-radius:18px;
  background:#fafbfd;
  text-align:center;
}
.empty-state h3{margin-top:0}
@media(max-width:1180px){
  .lms-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .lms-hero,.subject-overview,.lms-two-col{grid-template-columns:1fr}
  .lms-stat-grid{grid-template-columns:repeat(3,1fr)}
  .lesson-row{grid-template-columns:46px minmax(0,1fr)}
  .lesson-side{grid-column:2;justify-content:flex-start}
  .progress-person{grid-template-columns:1fr}
  .progress-person b{text-align:left}
}
@media(max-width:620px){
  .lms-course-grid{grid-template-columns:1fr}
  .lms-stat-grid{grid-template-columns:1fr}
  .subject-kpis{grid-template-columns:1fr 1fr}
  .lesson-complete{align-items:flex-start;flex-direction:column}
}


/* HSC clean portal refinement — Inselecon Projects */
.sidebar-designer{
  margin-top:4px!important;
  font-size:.72rem!important;
  line-height:1.35!important;
  color:#d9b85d!important;
  border:1px solid rgba(217,184,93,.18)!important;
  background:rgba(255,255,255,.025)!important;
}
.sidebar-designer:hover{background:rgba(217,184,93,.08)!important;color:#f2d37a!important}
.designer-credit{color:#c99122!important;font-weight:800;text-decoration:none}
.designer-credit:hover{text-decoration:underline}
.stakeholder-entry-wrap{align-items:flex-start;padding-top:46px;padding-bottom:50px}
.stakeholder-entry{width:min(1040px,100%)}
.stakeholder-intro{width:100%;text-align:center;margin-bottom:18px}
.clean-stakeholder-grid{gap:14px}
.clean-stakeholder-grid .stakeholder-card{min-height:230px;padding:24px;border-radius:18px}
.stakeholder-code{display:inline-flex;align-self:flex-start;color:#9b6b13;font-size:.7rem;font-weight:900;letter-spacing:.1em}
.stakeholder-open{margin-top:auto!important;color:#071a33!important;font-weight:900!important}
.verification-partner{display:flex;align-items:center;gap:24px}
.verification-partner img{width:180px;height:90px;object-fit:contain}
.verification-partner p{margin:4px 0 0;color:#68788d}
@media(max-width:700px){
  .verification-partner{align-items:flex-start;flex-direction:column}
  .verification-partner img{width:150px}
}


/* HSC portal deduplication refinement */
.student-centre-entry-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:22px;
  align-items:center;
}
.student-centre-progress{
  min-width:190px;
  text-align:right;
}
.student-centre-progress span{
  display:block;
  color:#718096;
  font-size:.76rem;
  text-transform:uppercase;
  font-weight:800;
}
.student-centre-progress strong{
  display:block;
  color:#071a33;
  font-size:2rem;
  margin:2px 0 10px;
}
.compact-stats{margin-bottom:18px}
.service-hub-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.service-hub-card{
  border:1px solid #e1e7ee;
  border-radius:18px;
  padding:20px;
  background:#fff;
}
.service-hub-card h3{margin:8px 0 7px}
.service-hub-card p{color:#6b7a8f;min-height:54px}
.service-hub-icon{
  display:inline-flex;
  width:38px;height:38px;
  border-radius:12px;
  align-items:center;justify-content:center;
  background:#071a33;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
}
.service-link-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.service-link-row a{
  text-decoration:none;
  border:1px solid #d7e0e8;
  border-radius:999px;
  padding:6px 10px;
  font-size:.74rem;
  font-weight:800;
  color:#071a33;
}
.overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.overview-row{
  padding:16px 18px;
  border:1px solid #e3e8ee;
  border-radius:14px;
  background:#fbfcfe;
}
.overview-row strong{display:block;color:#071a33}
.overview-row span{display:block;color:#6f7f92;margin-top:4px;font-size:.86rem}
.academic-hub-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.academic-tool-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.academic-tool{
  display:block;
  text-decoration:none;
  padding:16px;
  border:1px solid #e1e7ee;
  border-radius:14px;
  background:#fbfcfe;
}
.academic-tool strong{display:block;color:#071a33}
.academic-tool span{display:block;color:#6c7a8d;font-size:.82rem;margin-top:4px}
@media(max-width:980px){
  .service-hub-grid,.academic-hub-grid,.academic-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .student-centre-entry-grid{grid-template-columns:1fr}
  .student-centre-progress{text-align:left}
}
@media(max-width:650px){
  .service-hub-grid,.academic-hub-grid,.academic-tool-grid,.overview-grid{grid-template-columns:1fr}
}
