@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@600;700&display=swap');
:root{--ink:#10284b;--blue:#1478b8;--cyan:#36a9df;--bg:#f4f7fb;--line:#dce5ef;--muted:#66768b;--green:#16804c;--red:#b83b4b}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:var(--blue)}.portal-shell{min-height:100vh;display:flex}.sidebar{width:270px;background:linear-gradient(180deg,#10284b,#0c1d37);color:#fff;padding:26px 18px;display:flex;flex-direction:column;position:fixed;height:100vh}.portal-brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:700;font-size:20px;padding:0 8px 26px}.portal-brand img{width:45px;height:45px;object-fit:contain;background:#fff;border-radius:12px}.portal-brand small{display:block;font-size:11px;font-weight:400;color:#aac3dc}.sidebar nav{display:grid;gap:5px}.sidebar nav a{color:#c9d8e8;padding:12px 14px;border-radius:10px}.sidebar nav a:hover,.sidebar nav a:first-child{background:rgba(255,255,255,.1);color:#fff}.sidebar hr{border:0;border-top:1px solid rgba(255,255,255,.1);width:100%;margin:15px 0}.side-bottom{margin-top:auto;padding:16px 12px;background:rgba(255,255,255,.06);border-radius:12px}.side-bottom strong,.side-bottom span{display:block}.side-bottom span{font-size:12px;color:#a8bed2;text-transform:capitalize;margin:3px 0 12px}.side-bottom a{color:#fff;font-size:14px}.portal-main{margin-left:270px;width:calc(100% - 270px);padding:32px;max-width:1500px}.portal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.portal-top h1{font-family:'Space Grotesk';margin:0;font-size:30px}.portal-top p{margin:6px 0;color:var(--muted)}.profile-chip{background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:30px}.mobile-menu{display:none}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:24px;box-shadow:0 8px 30px rgba(20,45,75,.04)}.hero-card{background:linear-gradient(125deg,#10284b,#1478b8);color:#fff;display:flex;justify-content:space-between;align-items:center}.hero-card h2{font-size:34px;margin:8px 0}.hero-card p{color:#d9ecfa}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stats>div{background:#fff;border:1px solid var(--line);padding:22px;border-radius:18px}.stats span{display:block;color:var(--muted);font-size:14px}.stats strong{font-size:30px;font-family:'Space Grotesk';margin-top:8px;display:block}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700;color:var(--cyan)}.hero-card .eyebrow{color:#80d5ff}.btn{display:inline-block;border:0;border-radius:10px;padding:12px 18px;font-weight:700;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff}.hero-card .btn{background:#fff;color:var(--ink)}.program-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.program-card{background:#fff;border:1px solid var(--line);padding:24px;border-radius:18px;display:flex;flex-direction:column}.program-card h3{font-size:22px;margin:12px 0}.program-card p{color:var(--muted);line-height:1.6}.program-card ul{padding:0;list-style:none;color:var(--muted);line-height:1.9}.program-card .btn{margin-top:auto;text-align:center}.price{font-size:28px;margin:14px 0}.badge{display:inline-block;padding:5px 10px;border-radius:20px;font-size:12px;background:#edf3f8;color:var(--ink)}.badge.active,.badge.paid,.badge.issued{background:#e5f7ee;color:var(--green)}.badge.created,.badge.pending{background:#fff5d8;color:#8a6500}.badge.failed,.badge.blocked{background:#fde8ea;color:var(--red)}.progress{height:8px;background:#eaf0f5;border-radius:20px;overflow:hidden;margin-top:auto}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px;text-transform:uppercase}td small{display:block;color:var(--muted)}.empty{text-align:center;padding:35px;color:var(--muted)}.checkout-layout,.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.total-card{text-align:center}.total-card h2{font-size:42px;margin:5px 0}.payment-box{max-width:600px;text-align:center;margin:30px auto}.clean-list{list-style:none;padding:0;line-height:2}.form-grid{display:grid;gap:14px}.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}.form-grid textarea{min-height:90px}.form-grid label{font-weight:600}.form-grid label input{margin-top:6px}.profile-form{max-width:650px}.alert{padding:14px 16px;border-radius:12px;margin:0 0 18px}.alert.success{background:#e8f7ef;color:var(--green)}.alert.error{background:#fdecef;color:var(--red)}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.admin-tabs a{background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:9px;color:var(--ink)}.admin-tabs a.active{background:var(--ink);color:#fff}.list-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.list-row small{display:block;color:var(--muted);margin-top:4px}.auth-body{min-height:100vh;background:linear-gradient(135deg,#eef6fb,#e8eef7);display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,500px);background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:0 20px 60px rgba(16,40,75,.1)}.auth-logo{width:68px;height:68px;object-fit:contain}.auth-card h1{font-family:'Space Grotesk';margin:16px 0 5px}.auth-card>p{color:var(--muted)}.center{text-align:center}.back-link{display:block;text-align:center;margin-top:18px;color:var(--muted)}.verify-box{max-width:650px;margin:auto;text-align:center;padding:50px 20px}.verify-box form{display:flex;gap:10px;margin:25px 0}.verify-box input{flex:1;padding:14px;border:1px solid var(--line);border-radius:10px}.verify-box button{border:0;background:var(--blue);color:#fff;padding:0 22px;border-radius:10px}.verify-result{padding:18px;border-radius:14px;text-align:left}.valid{background:#e8f7ef}.invalid{background:#fdecef}.section{padding:60px 0}.container{width:min(1120px,92%);margin:auto}@media(max-width:900px){.sidebar{transform:translateX(-100%);z-index:20;transition:.25s}.sidebar.open{transform:translateX(0)}.portal-main{margin-left:0;width:100%;padding:20px}.mobile-menu{display:inline-block;border:0;background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px;margin-right:10px}.portal-top>div:first-of-type{flex:1}.stats{grid-template-columns:repeat(2,1fr)}.checkout-layout,.two-col{grid-template-columns:1fr}.hero-card{display:block}.hero-card .btn{margin-top:15px}.profile-chip{display:none}}@media(max-width:520px){.stats{grid-template-columns:1fr}.portal-top h1{font-size:24px}.auth-card{padding:24px}.verify-box form{flex-direction:column}.verify-box button{padding:14px}}

.admin-badge{display:inline-block;margin:0 auto 8px;padding:6px 10px;border-radius:999px;background:#e8f5fb;color:#0876b5;font-size:10px;font-weight:800;letter-spacing:1.2px}.admin-auth-card{border-top:4px solid #0876b5}

/* Distinct administrator workspace */
.admin-mode .sidebar{background:linear-gradient(180deg,#18172d,#292347)}
.admin-mode .portal-brand small{color:#c9c3ec}
.admin-mode .sidebar nav a{color:#d8d4ec}
.admin-mode .sidebar nav a:hover,.admin-mode .sidebar nav a:first-child{background:rgba(255,255,255,.12);color:#fff}
.admin-mode .portal-main{background:#f7f7fb}
.admin-mode .portal-top{background:#fff;border:1px solid var(--line);padding:18px 22px;border-radius:18px}
.admin-mode .portal-top h1{color:#25203e}
.admin-mode .admin-tabs{background:#fff;padding:10px;border:1px solid var(--line);border-radius:16px}
.admin-mode .admin-tabs a{color:#5c5577;border-radius:10px}
.admin-mode .admin-tabs a:hover,.admin-mode .admin-tabs a:first-child{background:#292347;color:#fff}
.admin-mode .stats>div{border-top:3px solid #7569b7}
.admin-mode .card h2{color:#292347}
.admin-badge{font-size:11px;font-weight:800;letter-spacing:1.5px;background:#292347;color:#fff;padding:10px 14px;border-radius:999px}

.table-wrap td small{display:block;color:#718294;font-size:11px;margin-top:3px}.profile-verification{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 14px;border:1px solid #dce8ef;border-radius:10px;background:#f8fbfd}.profile-verification small{width:100%;color:#718294}

/* V6 registration and private verification */
.auth-card.register-card{width:min(100%,920px);padding:34px 40px}.registration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.registration-grid .full{grid-column:1/-1}.registration-grid label{display:block;font-size:13px;color:var(--ink)}.registration-grid label input,.registration-grid label select{margin-top:7px}.register-submit{width:100%;font-size:15px}.verification-card{display:flex;align-items:center;gap:24px}.verify-status-big{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:#e5f7ee;color:var(--green);font-size:36px;font-weight:800;flex:0 0 auto}.verify-status-big.pending{background:#fff5d8;color:#8a6500}@media(max-width:700px){.auth-card.register-card{padding:24px 18px}.registration-grid{grid-template-columns:1fr}.registration-grid .full{grid-column:auto}.verification-card{align-items:flex-start}}

/* Admin export/action header */
.admin-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.admin-section-head h2{margin:0 0 4px}
.admin-section-head p{margin:0}
.admin-section-head .btn{white-space:nowrap}
