/* ═══════════════════════════════════════════════
   INTERNATIONAL ACCAD – Shared Stylesheet v3
   ═══════════════════════════════════════════════ */
:root{
  --gold:#c9a84c; --gold-lt:#f0d080; --gold-dk:#8a6820;
  --dark:#0d0d1a; --darker:#07070f; --panel:#111128;
  --card:#181830; --card2:#1e1e3c; --border:#2a2a4a; --border2:#1e1e38;
  --accent:#4f8ef7; --accent2:#a259f7;
  --green:#2ecc71; --red:#e74c3c; --orange:#f39c12; --teal:#14b8a6; --purple:#8b5cf6;
  --text:#e8e8f0; --muted:#8888aa;
  /* Domain accent colors */
  --it:#3b82f6; --biz:#f59e0b; --voc:#14b8a6; --lang:#f97316; --adv:#8b5cf6;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--darker);color:var(--text);min-height:100vh;}
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:#3a3a5a;border-radius:3px;}

/* ── LOGO ── */
.logo-wrap{display:flex;align-items:center;gap:10px;}
.logo-wrap img{width:38px;height:38px;border-radius:8px;object-fit:contain;}
.logo-wrap .brand{font-size:1.05rem;font-weight:900;color:var(--gold);letter-spacing:1px;line-height:1.1;}
.logo-wrap .brand small{display:block;font-size:.6rem;color:var(--muted);font-weight:400;letter-spacing:.5px;}

/* ── TOP NAV ── */
.top-nav{background:linear-gradient(90deg,#080818 0%,#10102a 100%);border-bottom:2px solid var(--gold);padding:10px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:200;}
.nav-links{display:flex;gap:8px;flex-wrap:wrap;}
.nav-btn{background:transparent;border:1px solid var(--border);color:var(--muted);padding:6px 14px;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .18s;text-decoration:none;display:inline-flex;align-items:center;gap:5px;}
.nav-btn:hover{border-color:var(--gold);color:var(--gold);}
.nav-btn.active{background:var(--gold);color:#000;border-color:var(--gold);font-weight:700;}
.nav-btn.danger{border-color:#e74c3c44;color:#e74c3c;}
.nav-btn.danger:hover{background:#e74c3c;color:#fff;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:8px;border:none;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .18s;text-decoration:none;font-family:inherit;}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-dk));color:#000;}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(201,168,76,.3);}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--muted);}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}
.btn-green{background:#1a4a1a;color:var(--green);border:1px solid #2e6a2e;}
.btn-green:hover{background:var(--green);color:#000;}
.btn-red{background:#3a0a0a;color:var(--red);border:1px solid #6a1a1a;}
.btn-red:hover{background:var(--red);color:#fff;}
.btn-blue{background:#0a1a3a;color:var(--accent);border:1px solid #1a2a5a;}
.btn-blue:hover{background:var(--accent);color:#fff;}
.btn-teal{background:#003a30;color:var(--teal);border:1px solid #005a48;}
.btn-teal:hover{background:var(--teal);color:#000;}
.btn-purple{background:#1a0a3a;color:var(--purple);border:1px solid #3a1a6a;}
.btn-purple:hover{background:var(--purple);color:#fff;}
.btn-wa{background:#128c7e;color:#fff;border:none;}
.btn-wa:hover{background:#25d366;}
.btn-sm{padding:5px 12px;font-size:.73rem;}
.btn-lg{padding:12px 32px;font-size:.92rem;}

/* ── CARDS ── */
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px 22px;}
.card-gold{border-color:var(--gold);}
.card-green{border-color:var(--green);}
.card-teal{border-color:var(--teal);}
.card-purple{border-color:var(--purple);}

/* ── BADGES ── */
.badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;padding:3px 10px;border-radius:20px;font-weight:700;letter-spacing:.4px;white-space:nowrap;}
.badge-gold{background:#2a1e08;color:var(--gold);border:1px solid var(--gold-dk);}
.badge-green{background:#1a3a1a;color:var(--green);border:1px solid #2e6a2e;}
.badge-red{background:#3a0a0a;color:var(--red);border:1px solid #6a1a1a;}
.badge-blue{background:#0a1a3a;color:var(--accent);border:1px solid #1a2a6a;}
.badge-teal{background:#003a30;color:var(--teal);border:1px solid #005a48;}
.badge-purple{background:#1a0a3a;color:var(--purple);border:1px solid #3a1a6a;}
.badge-orange{background:#2a1500;color:var(--orange);border:1px solid #6a3a00;}
.badge-muted{background:#1e1e30;color:var(--muted);border:1px solid var(--border);}
.level-vocational{background:#1a1a00;color:#f0c040;border:1px solid #5a4a00;}
.level-semi{background:#001a1a;color:#40d0d0;border:1px solid #005a5a;}
.level-academic{background:#0a001a;color:#c080f0;border:1px solid #3a006a;}

/* ── FORMS ── */
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:.76rem;font-weight:700;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px;}
.form-control{width:100%;background:#1e1e3c;border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:.85rem;outline:none;transition:border-color .2s;font-family:inherit;}
.form-control:focus{border-color:var(--gold);}
.form-control option{background:var(--card);}
textarea.form-control{resize:vertical;min-height:80px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
@media(max-width:640px){.form-row,.form-row-3{grid-template-columns:1fr;}}

/* ── HOBBY / INTEREST CHECKBOXES ── */
.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:6px;}
.pick-item{display:flex;align-items:center;gap:8px;background:var(--card2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;cursor:pointer;transition:all .15s;font-size:.78rem;color:var(--muted);}
.pick-item input[type=checkbox]{accent-color:var(--gold);width:14px;height:14px;flex-shrink:0;}
.pick-item.checked{border-color:var(--gold);background:#1a1408;color:var(--gold);}
.pick-limit-note{font-size:.7rem;color:var(--muted);margin-top:4px;}

/* ── TABLES ── */
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:.79rem;}
table th{background:#1a1a30;color:var(--gold);padding:10px 12px;text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border);white-space:nowrap;}
table td{padding:9px 12px;border-bottom:1px solid var(--border2);color:#ccd;vertical-align:middle;}
table tr:hover td{background:#1a1a30;}
.actions{display:flex;gap:5px;}

/* ── STATS ── */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-bottom:22px;}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center;}
.stat-card .num{font-size:1.9rem;font-weight:900;color:var(--gold);}
.stat-card .lbl{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:3px;}
.stat-card .sub{font-size:.7rem;color:var(--muted);margin-top:4px;}

/* ── TABS ── */
.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:22px;overflow-x:auto;}
.tab-btn{padding:10px 16px;background:transparent;border:none;color:var(--muted);font-size:.79rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:all .18s;font-family:inherit;}
.tab-btn:hover{color:var(--text);}
.tab-btn.active{color:var(--gold);border-bottom-color:var(--gold);}
.tab-pane{display:none;}
.tab-pane.active{display:block;}

/* ── ALERTS ── */
.alert{padding:11px 15px;border-radius:8px;font-size:.81rem;margin-bottom:14px;line-height:1.5;}
.alert-success{background:#0d2a0d;color:var(--green);border:1px solid #1a5a1a;}
.alert-danger{background:#2a0d0d;color:var(--red);border:1px solid #5a1a1a;}
.alert-info{background:#0d1a2a;color:var(--accent);border:1px solid #1a3a6a;}
.alert-gold{background:#1a1000;color:var(--gold);border:1px solid var(--gold-dk);}
.alert-teal{background:#001a14;color:var(--teal);border:1px solid #004a3a;}
.alert-purple{background:#0e001a;color:var(--purple);border:1px solid #3a006a;}

/* ── SECTION HEADER ── */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:10px;}
.section-title{font-size:.95rem;font-weight:800;color:var(--gold);}
.section-sep{font-size:.72rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:20px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border);}

/* ── MODALS ── */
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:1000;align-items:center;justify-content:center;padding:20px;}
.modal-backdrop.open{display:flex;}
.modal{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:26px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;position:relative;}
.modal-lg{max-width:820px;}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.modal-title{font-size:.98rem;font-weight:800;color:var(--gold);}
.modal-close{background:transparent;border:none;color:var(--muted);font-size:1.4rem;cursor:pointer;line-height:1;}
.modal-close:hover{color:var(--red);}

/* ── MISC ── */
.hidden{display:none!important;}
.text-gold{color:var(--gold);} .text-muted{color:var(--muted);} .text-green{color:var(--green);} .text-red{color:var(--red);}
.text-teal{color:var(--teal);} .text-purple{color:var(--purple);}
.text-center{text-align:center;}
.mt-1{margin-top:8px;} .mt-2{margin-top:16px;} .mt-3{margin-top:24px;}
.mb-1{margin-bottom:8px;} .mb-2{margin-bottom:16px;} .mb-3{margin-bottom:24px;}
.flex{display:flex;} .flex-center{display:flex;align-items:center;}
.gap-1{gap:8px;} .gap-2{gap:16px;} .flex-wrap{flex-wrap:wrap;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:700px){.two-col{grid-template-columns:1fr;}}
.divider{border:none;border-top:1px solid var(--border);margin:18px 0;}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
.filter-bar input,.filter-bar select{background:var(--card2);border:1px solid var(--border);border-radius:7px;padding:7px 12px;color:var(--text);font-size:.77rem;outline:none;font-family:inherit;}
.filter-bar input:focus,.filter-bar select:focus{border-color:var(--gold);}

/* ═══════════════════════════════════════════════
   CATALOGUE SIDEBAR – Domain Color System
   ═══════════════════════════════════════════════ */
/* Package header by domain */
.pkg-hdr[data-domain="Professional IT"]{border-left:3px solid var(--it);}
.pkg-hdr[data-domain="Professional IT"] .pkg-ico{background:#0d1a3a;color:#60a5fa;}
.pkg-hdr[data-domain="Professional IT"] .pkg-name{color:#93c5fd;}
.pkg-hdr[data-domain="Professional IT"]:hover,.pkg-hdr[data-domain="Professional IT"].open{background:#0a1428;}
/* Business – amber */
.pkg-hdr[data-domain="Business"]{border-left:3px solid var(--biz);}
.pkg-hdr[data-domain="Business"] .pkg-ico{background:#1a1000;color:#fbbf24;}
.pkg-hdr[data-domain="Business"] .pkg-name{color:#fcd34d;}
.pkg-hdr[data-domain="Business"]:hover,.pkg-hdr[data-domain="Business"].open{background:#1e1200;}
/* Vocational Training – TEAL (distinct!) */
.pkg-hdr[data-domain="Vocational Training"]{border-left:4px solid var(--voc);}
.pkg-hdr[data-domain="Vocational Training"] .pkg-ico{background:#003328;color:#2dd4bf;}
.pkg-hdr[data-domain="Vocational Training"] .pkg-name{color:#5eead4;}
.pkg-hdr[data-domain="Vocational Training"]:hover,.pkg-hdr[data-domain="Vocational Training"].open{background:#003d30;}
.pkg-hdr[data-domain="Vocational Training"] .pkg-dom{color:#99f6e4;}
/* Languages – orange */
.pkg-hdr[data-domain="Languages"]{border-left:3px solid var(--lang);}
.pkg-hdr[data-domain="Languages"] .pkg-ico{background:#1a0800;color:#fb923c;}
.pkg-hdr[data-domain="Languages"] .pkg-name{color:#fdba74;}
.pkg-hdr[data-domain="Languages"]:hover,.pkg-hdr[data-domain="Languages"].open{background:#200d00;}
/* Advanced Vocational – PURPLE (clearly distinct!) */
.pkg-hdr[data-domain="Advanced Vocational"]{border-left:4px solid var(--adv);}
.pkg-hdr[data-domain="Advanced Vocational"] .pkg-ico{background:#110830;color:#a78bfa;}
.pkg-hdr[data-domain="Advanced Vocational"] .pkg-name{color:#c4b5fd;}
.pkg-hdr[data-domain="Advanced Vocational"]:hover,.pkg-hdr[data-domain="Advanced Vocational"].open{background:#160a38;}
.pkg-hdr[data-domain="Advanced Vocational"] .pkg-dom{color:#ddd6fe;}

/* Course items – domain-tinted (different from pkg header); stronger contrast when list is open */
.course-group[data-domain="Professional IT"]  .c-item{color:#bae6fd;background:#12264a;border:1px solid rgba(96,165,250,.22);}
.course-group[data-domain="Professional IT"]  .c-item:hover,.course-group[data-domain="Professional IT"] .c-item.active{background:#1a3a6e;color:#e0f2fe;border-left:3px solid #60a5fa;border-color:rgba(96,165,250,.35);}
.course-group[data-domain="Business"]         .c-item{color:#fef08a;background:#261a00;border:1px solid rgba(251,191,36,.22);}
.course-group[data-domain="Business"]         .c-item:hover,.course-group[data-domain="Business"] .c-item.active{background:#3d2800;color:#fffbeb;border-left:3px solid #fbbf24;border-color:rgba(251,191,36,.35);}
.course-group[data-domain="Vocational Training"] .c-item{color:#ccfbf1;background:#004a3d;border:1px solid rgba(45,212,191,.25);}
.course-group[data-domain="Vocational Training"] .c-item:hover,.course-group[data-domain="Vocational Training"] .c-item.active{background:#006656;color:#ecfeff;border-left:3px solid #2dd4bf;border-color:rgba(45,212,191,.4);}
.course-group[data-domain="Languages"]        .c-item{color:#ffedd5;background:#281000;border:1px solid rgba(251,146,60,.22);}
.course-group[data-domain="Languages"]        .c-item:hover,.course-group[data-domain="Languages"] .c-item.active{background:#3d1800;color:#fff7ed;border-left:3px solid #fb923c;border-color:rgba(251,146,60,.35);}
.course-group[data-domain="Advanced Vocational"] .c-item{color:#ede9fe;background:#1c0d45;border:1px solid rgba(167,139,250,.25);}
.course-group[data-domain="Advanced Vocational"] .c-item:hover,.course-group[data-domain="Advanced Vocational"] .c-item.active{background:#281260;color:#f5f3ff;border-left:3px solid #a78bfa;border-color:rgba(167,139,250,.4);}

/* Domain section dividers in sidebar */
.domain-divider{font-size:.6rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:10px 14px 4px;margin-top:6px;}
.domain-divider.voc{color:var(--teal);border-top:1px solid #003328;}
.domain-divider.adv{color:var(--purple);border-top:1px solid #2a0a5a;}

/* ═══════════════════════════════════════════════
   COURSE DETAIL – right panel
   ═══════════════════════════════════════════════ */
.hero-banner{position:relative;border-radius:14px;overflow:hidden;height:200px;margin-bottom:20px;background:#1a1a3a;}
.hero-banner img{width:100%;height:100%;object-fit:cover;filter:brightness(.65) saturate(1.2);}
.hero-ov{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 20%,rgba(7,7,15,.9) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px 24px;}
.hero-title{font-size:1.4rem;font-weight:900;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.8);margin-bottom:4px;}
.hero-sub{font-size:.77rem;color:var(--gold);font-weight:600;}

.meta-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px;}
.why-box{border:1px solid var(--gold);border-radius:12px;padding:16px 18px;margin-bottom:18px;background:linear-gradient(135deg,#1a1008,#0d0d20);}
.why-box h3{font-size:.82rem;font-weight:800;color:var(--gold);margin-bottom:8px;text-transform:uppercase;letter-spacing:.7px;}
.why-box p{font-size:.81rem;color:#ccc;line-height:1.75;}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;}
@media(max-width:680px){.info-grid{grid-template-columns:1fr;}}
.info-box{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;}
.info-box h3{font-size:.77rem;font-weight:800;color:var(--gold);margin-bottom:10px;text-transform:uppercase;letter-spacing:.7px;}
.info-box ul{list-style:none;}
.info-box ul li{font-size:.79rem;color:#ccd;padding:5px 0;border-bottom:1px solid var(--border2);display:flex;align-items:flex-start;gap:5px;line-height:1.4;}
.info-box ul li:last-child{border:none;}
.info-box ul li::before{content:'▸';color:var(--gold);flex-shrink:0;}
.outcomes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:9px;margin-bottom:18px;}
.out-chip{background:#12122a;border:1px solid var(--border);border-radius:9px;padding:11px 13px;font-size:.76rem;color:#ccd;display:flex;gap:7px;align-items:flex-start;line-height:1.4;}
.cert-row{background:linear-gradient(135deg,#0a2010,#050f08);border:1px solid var(--green);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.cert-row .ci{font-size:2rem;}
.cert-row h4{font-size:.85rem;font-weight:800;color:var(--green);margin-bottom:3px;}
.cert-row p{font-size:.75rem;color:#9dbd9d;line-height:1.5;}
.enrol-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:24px;}
.price-tag{font-size:1.6rem;font-weight:900;color:var(--gold);}
.price-sub{font-size:.7rem;color:var(--muted);}

/* Level strip for advanced vocational */
.level-strip{display:flex;border-radius:9px;overflow:hidden;border:1px solid var(--border);margin-bottom:18px;}
.ls-item{flex:1;padding:7px 4px;text-align:center;font-size:.63rem;font-weight:700;border-right:1px solid var(--border);cursor:default;}
.ls-item:last-child{border-right:none;}
.ls-item.ls-voc{background:#1a1a00;color:#f0c040;}
.ls-item.ls-semi{background:#001a1a;color:#40d0d0;}
.ls-item.ls-acad{background:#0a001a;color:#c080f0;}
.ls-item.ls-cur{outline:2px solid var(--gold);outline-offset:-2px;}

/* ═══════════════════════════════════════════════
   CERTIFICATE SAMPLE
   ═══════════════════════════════════════════════ */
.cert-sample{
  background:linear-gradient(135deg,#fff8e8 0%,#fff3d0 50%,#fff8e8 100%);
  border:3px solid var(--gold);border-radius:16px;
  padding:40px 50px;text-align:center;color:#1a1000;
  position:relative;overflow:hidden;min-width:560px;
}
.cert-sample::before{
  content:'';position:absolute;inset:8px;border:1px solid var(--gold-dk);
  border-radius:12px;pointer-events:none;opacity:.4;
}
.cert-corner{position:absolute;font-size:2.5rem;opacity:.15;}
.cert-corner.tl{top:14px;left:14px;}
.cert-corner.tr{top:14px;right:14px;}
.cert-corner.bl{bottom:14px;left:14px;}
.cert-corner.br{bottom:14px;right:14px;}
.cert-logo-wrap{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px;}
.cert-logo-wrap img{width:52px;height:52px;border-radius:8px;}
.cert-inst{font-size:1.5rem;font-weight:900;color:#6a3a00;letter-spacing:2px;text-transform:uppercase;}
.cert-tagline{font-size:.72rem;color:#8a5a20;letter-spacing:1px;text-transform:uppercase;margin-bottom:20px;}
.cert-title{font-size:1.6rem;font-weight:900;color:#8a3a00;letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;font-style:italic;}
.cert-presents{font-size:.82rem;color:#5a3a10;margin-bottom:18px;}
.cert-name{font-size:2.2rem;font-weight:900;color:#3a1a00;font-family:'Georgia',serif;border-bottom:2px solid var(--gold-dk);display:inline-block;padding:0 30px 6px;margin-bottom:18px;}
.cert-text{font-size:.84rem;color:#5a3a10;line-height:1.7;margin-bottom:14px;}
.cert-course{font-size:1.15rem;font-weight:800;color:#6a2a00;margin-bottom:20px;padding:6px 20px;background:rgba(201,168,76,.15);border-radius:6px;display:inline-block;}
.cert-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:28px;gap:20px;flex-wrap:wrap;}
.cert-sig{text-align:center;flex:1;}
.cert-sig-line{border-top:1px solid #8a5a20;width:140px;margin:0 auto 4px;}
.cert-sig-name{font-size:.72rem;color:#5a3a10;font-weight:700;}
.cert-sig-role{font-size:.65rem;color:#8a5a20;}
.cert-seal{width:70px;height:70px;border:3px solid var(--gold-dk);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto;background:rgba(201,168,76,.1);}
.cert-number{font-size:.65rem;color:#8a5a20;margin-top:20px;letter-spacing:1px;}

/* ── PAGE WRAPPERS ── */
.page-wrap{max-width:1360px;margin:0 auto;padding:24px;}
.login-center{min-height:calc(100vh - 57px);display:flex;align-items:center;justify-content:center;padding:24px;}

/* ── ADMIN SIDEBAR ── */
.adm-side{width:210px;min-width:210px;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;}
.adm-profile{padding:16px 12px;border-bottom:1px solid var(--border);text-align:center;}
.adm-profile img{width:44px;height:44px;border-radius:9px;margin-bottom:7px;object-fit:contain;}
.adm-profile .adm-name{font-size:.8rem;font-weight:800;color:var(--text);}
.adm-profile .adm-role{font-size:.66rem;color:var(--muted);margin-top:2px;}
.adm-menu{padding:6px 0;}
.adm-link{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:.78rem;color:var(--muted);cursor:pointer;transition:all .15s;border-left:3px solid transparent;user-select:none;}
.adm-link:hover{color:var(--text);background:var(--card2);}
.adm-link.active{color:var(--gold);background:#1a1a2e;border-left-color:var(--gold);}
.adm-link .ico{font-size:.95rem;width:18px;text-align:center;}
.adm-sep{font-size:.6rem;color:var(--muted);padding:9px 14px 3px;text-transform:uppercase;letter-spacing:1px;opacity:.4;}
.new-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;border-radius:9px;background:var(--red);color:#fff;font-size:.58rem;font-weight:900;padding:0 4px;margin-left:auto;}

/* Student portal cards */
.course-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .15s;}
.course-card:hover{border-color:var(--gold);}
.course-card img{width:100%;height:120px;object-fit:cover;filter:brightness(.7);}
.course-card .cc-body{padding:14px;}
.course-card .cc-domain{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
.course-card .cc-name{font-size:.82rem;font-weight:700;color:var(--text);margin-bottom:6px;line-height:1.3;}
.course-card .cc-desc{font-size:.73rem;color:var(--muted);line-height:1.4;margin-bottom:10px;}
.course-card .cc-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;}
.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}

/* ── ACCAD toasts (accadNotify) ── */
.accad-toast-root{
  position:fixed;bottom:20px;right:20px;left:20px;z-index:99999;
  display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none;
  max-width:420px;margin-left:auto;
}
.accad-toast-root .accad-toast{pointer-events:auto;}
.accad-toast{
  width:100%;max-width:400px;border-radius:12px;padding:12px 14px;font-size:.8rem;line-height:1.45;
  box-shadow:0 12px 40px rgba(0,0,0,.55);border:1px solid var(--border);
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  animation:accadToastIn .28s ease-out;
}
@keyframes accadToastIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.accad-toast-out{opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;}
.accad-toast-msg{flex:1;min-width:0;word-break:break-word;}
.accad-toast-close{
  flex-shrink:0;background:transparent;border:none;color:inherit;opacity:.75;cursor:pointer;font-size:1.2rem;line-height:1;padding:0 4px;font-family:inherit;
}
.accad-toast-close:hover{opacity:1;}
.accad-toast--danger{background:#2a1010;border-color:#6a2020;color:#f5c2c2;}
.accad-toast--warning{background:#2a1a08;border-color:#5a3a10;color:#f0d8a8;}
.accad-toast--success{background:#0a1e14;border-color:#1e4a2e;color:#9de0b4;}
.accad-toast--info{background:#0a1528;border-color:#1a2a5a;color:#b8c8f0;}
