:root{
  --navy:#071f4d;
  --navy2:#0a3270;
  --blue:#1167d8;
  --blue2:#2695f4;
  --green:#1f9b45;
  --green2:#7acb24;
  --gold:#dda51a;
  --gold2:#ffca22;
  --ink:#122033;
  --muted:#667085;
  --line:#e4e9f1;
  --soft:#f5f8fc;
  --white:#fff;
  --danger:#b42318;
  --success:#067647;
  --shadow:0 18px 45px rgba(16,38,74,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f7f9fc;color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(1200px,calc(100% - 32px));margin:auto}
.topbar{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(17,58,120,.1);box-shadow:0 5px 20px rgba(10,49,109,.05)}
.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:12px;min-width:320px}
.brand img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 4px 7px rgba(14,71,150,.12))}
.brand-copy{display:grid;line-height:1.1}
.brand-copy strong{font-size:1.18rem;color:var(--navy);letter-spacing:.1px}
.brand-copy strong span{color:var(--gold)}
.brand-copy small{font-size:.75rem;color:#52647d;margin-top:6px;font-weight:700}
.brand em{font-style:normal;font-size:.68rem;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--blue),var(--navy2));padding:4px 7px;border-radius:999px}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{color:#344054;padding:10px 9px;border-radius:9px;font-weight:750;font-size:.88rem;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{background:#edf5ff;color:var(--blue)}
.nav-links .nav-register{color:var(--blue);border:1px solid #b9d7ff;padding-inline:15px}
.nav-links .btn-nav{background:linear-gradient(135deg,var(--blue),var(--navy2));color:#fff;padding-inline:17px;box-shadow:0 9px 20px rgba(17,103,216,.18)}
.nav-links .btn-nav:hover{background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff}
.nav-toggle{display:none;background:none;border:0;color:var(--navy);font-size:1.55rem;padding:8px}
.flash{margin-top:14px;padding:13px 16px;border-radius:11px;transition:.4s;position:relative;z-index:20}
.flash-success{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.flash-warning{background:#fffaeb;color:#b54708;border:1px solid #fedf89}
.flash-danger{background:#fef3f2;color:var(--danger);border:1px solid #fecdca}
.flash.fade{opacity:0;transform:translateY(-8px)}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fbff 0%,#fff 42%,#eef5ff 100%);padding:68px 0 75px;border-bottom:1px solid #e5edf8}
.hero:before{content:"";position:absolute;width:630px;height:630px;border-radius:50%;right:-220px;top:-260px;background:radial-gradient(circle,rgba(31,117,223,.19),rgba(31,117,223,0) 68%)}
.hero:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;left:-210px;bottom:-260px;background:radial-gradient(circle,rgba(122,203,36,.14),rgba(122,203,36,0) 70%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#eef5ff;border:1px solid #c8dfff;padding:8px 13px;border-radius:999px;color:var(--blue);font-weight:850;font-size:.81rem;letter-spacing:.02em;text-transform:uppercase}
.eyebrow.gold{background:#fff9e8;border-color:#f4d88a;color:#8a5c00}
.hero h1{font-size:clamp(2.45rem,5.2vw,4.85rem);line-height:1.04;margin:18px 0 18px;color:var(--navy);letter-spacing:-.04em}
.hero h1 span{display:block;color:var(--blue)}
.hero p{font-size:1.08rem;color:#52647d;max-width:680px;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:12px;padding:12px 20px;font-weight:850;cursor:pointer;transition:.2s;min-height:46px}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--navy2));color:#fff;box-shadow:0 12px 26px rgba(17,103,216,.23)}
.btn-primary:hover{background:linear-gradient(135deg,#0e5fc7,var(--navy))}
.btn-secondary{background:#fff;color:var(--navy);border:1px solid #cbd8e7;box-shadow:0 8px 18px rgba(16,38,74,.06)}
.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#172033;box-shadow:0 12px 24px rgba(217,165,42,.24)}
.btn-outline{background:#fff;border:1px solid #ccd5e1;color:var(--ink)}
.btn-danger{background:#fee4e2;color:var(--danger)}
.btn-success{background:#dcfae6;color:var(--success)}
.hero-points{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:24px;color:#40536d;font-size:.91rem;font-weight:700}
.hero-points span:before{content:"✓";display:inline-grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e8f8df;color:var(--green);margin-right:7px;font-weight:900}
.hero-visual{position:relative;background:#fff;border:1px solid #dce7f4;border-radius:26px;padding:12px;box-shadow:0 25px 70px rgba(9,55,120,.18);transform:rotate(-1deg)}
.hero-visual img{border-radius:18px;width:100%;aspect-ratio:16/9;object-fit:cover}
.hero-visual .visual-badge{position:absolute;left:-18px;bottom:24px;background:#fff;border:1px solid #d9e5f3;border-radius:15px;padding:11px 14px;box-shadow:0 12px 28px rgba(10,49,109,.17);font-weight:850;color:var(--navy)}
.hero-visual .visual-badge small{display:block;color:var(--success);font-weight:800}
.stats{position:relative;z-index:4;margin-top:-30px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e2eaf4;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.stat{padding:23px;text-align:center;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat strong{display:block;font-size:1.9rem;color:var(--navy);line-height:1.2}
.stat span{color:var(--muted);font-size:.88rem}
.section{padding:72px 0}
.section.alt{background:#fff;border-block:1px solid #e9eef5}
.section.compact{padding:48px 0}
.section-head{text-align:center;max-width:790px;margin:0 auto 38px}
.section-head .kicker{display:block;color:var(--blue);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.section-head h2{font-size:clamp(1.9rem,3.4vw,2.85rem);line-height:1.14;margin:0 0 12px;color:var(--navy)}
.section-head p{color:var(--muted);margin:0}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.feature-card,.card,.program-card,.info-card{background:#fff;border:1px solid #e2e9f2;border-radius:19px;box-shadow:0 10px 30px rgba(16,40,82,.055)}
.feature-card{padding:24px;position:relative;overflow:hidden;transition:.22s}
.feature-card:hover,.program-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(16,40,82,.1);border-color:#c6daf4}
.feature-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#edf5ff,#dcecff);color:var(--blue);font-size:1.4rem;font-weight:900}
.feature-card:nth-child(2) .feature-icon{background:linear-gradient(135deg,#eefbed,#ddf6d4);color:var(--green)}
.feature-card:nth-child(3) .feature-icon{background:linear-gradient(135deg,#fff8e5,#ffedb7);color:#9a6700}
.feature-card:nth-child(4) .feature-icon{background:linear-gradient(135deg,#f5efff,#e8ddff);color:#6f43c0}
.feature-card h3{margin:16px 0 7px;color:var(--navy)}
.feature-card p{margin:0;color:var(--muted);font-size:.93rem}
.program-card{padding:0;overflow:hidden;transition:.22s}
.program-card .program-top{padding:24px;color:#fff;background:linear-gradient(135deg,var(--navy2),var(--blue));position:relative}
.program-card.green .program-top{background:linear-gradient(135deg,#167c3a,var(--green2))}
.program-card.orange .program-top{background:linear-gradient(135deg,#bd6a00,var(--gold2))}
.program-card.purple .program-top{background:linear-gradient(135deg,#5433a6,#8f68e8)}
.program-top .program-code{display:inline-flex;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:900}
.program-top h3{font-size:1.45rem;margin:18px 0 5px}
.program-top p{margin:0;color:rgba(255,255,255,.84);font-size:.9rem}
.program-body{padding:22px}
.program-body ul{padding:0;margin:0;list-style:none;display:grid;gap:10px;color:#4d5e75;font-size:.92rem}
.program-body li:before{content:"✓";color:var(--success);font-weight:900;margin-right:9px}
.program-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:16px 22px;font-size:.87rem;color:var(--muted)}
.program-footer strong{color:var(--navy)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
.step{background:#fff;border:1px solid #e1e9f4;border-radius:18px;padding:23px;position:relative;counter-increment:step}
.step:before{content:counter(step);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--navy2));color:#fff;font-weight:900;margin-bottom:15px;box-shadow:0 9px 18px rgba(17,103,216,.18)}
.step h3{color:var(--navy);margin:0 0 8px}
.step p{color:var(--muted);margin:0;font-size:.91rem}
.trust-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;background:linear-gradient(135deg,var(--navy),#0b4c9c);color:#fff;border-radius:26px;padding:40px;box-shadow:0 24px 60px rgba(7,31,77,.18)}
.trust-panel h2{font-size:clamp(1.8rem,3vw,2.65rem);margin:0 0 12px;line-height:1.15}
.trust-panel p{color:#d9e8fa;margin:0}
.trust-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.trust-item{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);padding:15px;border-radius:14px}
.trust-item strong{display:block;color:#fff}
.trust-item span{font-size:.82rem;color:#dbe7f7}
.cta{background:linear-gradient(135deg,#fff7dc,#fff);border:1px solid #f0d48a;border-radius:24px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cta h2{margin:0 0 6px;color:var(--navy)}
.cta p{margin:0;color:var(--muted)}
.page-hero{position:relative;overflow:hidden;padding:48px 0 38px;background:linear-gradient(135deg,var(--navy),#0d4d9b);color:#fff}
.page-hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-130px;top:-250px;background:radial-gradient(circle,rgba(255,202,34,.25),rgba(255,202,34,0) 70%)}
.page-hero .container{position:relative;z-index:2}
.page-hero .page-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:#bcd7ff;font-weight:900}
.page-hero h1{margin:6px 0 7px;font-size:clamp(2rem,4vw,3rem)}
.page-hero p{margin:0;color:#d9e7f8;max-width:760px}
.content-wrap{padding:45px 0 74px}
.card{padding:26px}
.card h2,.card h3{color:var(--navy)}
.form-card{max-width:800px;margin:auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-weight:800;color:#344054}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid #cfd8e4;border-radius:11px;background:#fff;outline:none;color:var(--ink)}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(17,103,216,.12)}
.hint{font-size:.84rem;color:var(--muted)}
.alert{padding:14px 16px;border-radius:11px;margin-bottom:18px}
.alert ul{margin-bottom:0}
.alert-danger{background:#fef3f2;color:var(--danger);border:1px solid #fecdca}
.alert-info{background:#eff8ff;color:#175cd3;border:1px solid #b2ddff}
.alert-success{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.profile-panel{display:grid;grid-template-columns:290px 1fr;gap:24px}
.profile-card{text-align:center}
.profile-avatar{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;font-size:2rem;font-weight:900}
.profile-card h2{margin:0}
.profile-card p{color:var(--muted);margin:3px 0}
.profile-code{margin-top:14px;padding:10px;border-radius:10px;background:#edf5ff;color:var(--blue);font-weight:900;font-size:.9rem}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.dash-stat{background:#fff;border:1px solid #e3eaf3;border-radius:16px;padding:20px;box-shadow:0 9px 24px rgba(16,40,82,.05)}
.dash-stat small{display:block;color:var(--muted);margin-bottom:8px}
.dash-stat strong{font-size:1.7rem;color:var(--navy)}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.quick-card{border:1px solid #dce6f2;border-radius:15px;padding:18px;background:#fafdff}
.quick-card strong{display:block;color:var(--navy);margin-bottom:5px}
.quick-card span{color:var(--muted);font-size:.88rem}
.exam-summary{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.exam-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.meta-box{background:#f8fafc;border:1px solid #e5ebf3;padding:15px;border-radius:12px}
.meta-box small{display:block;color:var(--muted);font-size:.78rem}
.meta-box strong{color:var(--navy)}
.exam-toolbar{position:sticky;top:94px;z-index:30;background:#fff;border:1px solid #dfe7f1;border-radius:15px;padding:13px 17px;box-shadow:0 12px 28px rgba(16,40,82,.1);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-bottom:18px}
.exam-toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.timer{font-size:1.28rem;font-weight:950;color:var(--danger);font-variant-numeric:tabular-nums}
.progress-wrap{display:flex;align-items:center;gap:10px;margin-top:7px}
.progress-track{height:8px;background:#e8edf3;border-radius:999px;overflow:hidden;flex:1}
.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--green2));transition:.2s}
.progress-text{font-size:.8rem;color:var(--muted);white-space:nowrap}
.question-nav{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px;padding:14px;background:#fff;border:1px solid #e1e8f1;border-radius:14px}
.question-nav button{width:36px;height:36px;border:1px solid #d4deea;border-radius:9px;background:#fff;color:var(--navy);font-weight:850}
.question-nav button.answered{background:#eaf8e1;border-color:#a8da83;color:#26700d}
.question-card{background:#fff;border:1px solid #dfe6ef;border-radius:17px;padding:22px;margin-bottom:16px;scroll-margin-top:185px;box-shadow:0 7px 20px rgba(16,40,82,.035)}
.question-number{display:inline-flex;padding:5px 9px;border-radius:8px;background:#eef5ff;color:var(--blue);font-size:.76rem;font-weight:900;margin-bottom:11px}
.question-title{font-weight:850;margin-bottom:16px;color:#20324b}
.option{display:flex;gap:11px;padding:12px 13px;border:1px solid #dfe6ef;border-radius:11px;margin-top:9px;cursor:pointer;transition:.16s}
.option:hover{border-color:#7fb5f4;background:#f5faff}
.option:has(input:checked){border-color:var(--blue);background:#edf5ff;box-shadow:0 0 0 2px rgba(17,103,216,.08)}
.option input{margin-top:4px;accent-color:var(--blue)}
.result-score{font-size:4.7rem;line-height:1;font-weight:950;color:var(--navy)}
.result-badge{display:inline-flex;border-radius:999px;padding:7px 14px;font-weight:850;font-size:.81rem}
.passed{background:#dcfae6;color:#067647}
.failed{background:#fee4e2;color:#b42318}
.certificate{width:100%;max-width:1040px;min-height:700px;margin:0 auto;background:#fff;border:13px solid var(--navy2);outline:4px solid var(--gold);outline-offset:-24px;padding:48px 60px;text-align:center;position:relative;box-shadow:var(--shadow);overflow:hidden}
.certificate:before,.certificate:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(17,103,216,.13),rgba(17,103,216,0));z-index:0}
.certificate:before{top:-45px;left:-45px}.certificate:after{right:-45px;bottom:-45px}
.certificate>*{position:relative;z-index:2}
.cert-logo{width:92px;margin:0 auto}
.certificate h1{font-family:Georgia,serif;font-size:3rem;color:var(--navy);letter-spacing:4px;margin:7px 0 0}
.certificate .subtitle{letter-spacing:3px;color:#9a6700;font-weight:850;font-size:.84rem}
.certificate .recipient{font-family:Georgia,serif;font-size:2.45rem;color:#8a5c00;margin:18px 0 8px;border-bottom:1px solid #c8a551;display:inline-block;padding:0 36px 7px}
.certificate .cert-text{max-width:760px;margin:16px auto;color:#475467}
.cert-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:710px;margin:17px auto 0;text-align:left;background:#f8fafc;border:1px solid #e6eaf0;border-radius:12px;padding:13px 18px;font-size:.9rem}
.cert-footer{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:45px}
.signature{padding-top:43px;border-top:1px solid #344054;font-weight:800}
.verification-seal{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;margin:17px auto 0;background:linear-gradient(135deg,var(--gold2),var(--gold));border:6px double #fff;box-shadow:0 0 0 3px var(--gold);color:#fff;font-size:2rem;font-weight:900}
.search-row{display:flex;gap:10px}.search-row input{flex:1}
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px 13px;border-bottom:1px solid #e7ebf1;text-align:left;white-space:nowrap}
.table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#667085;background:#f8fafc}
.empty{text-align:center;padding:44px;color:var(--muted)}
.material-list{display:grid;gap:16px}
.material-item{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid #e1e9f2;border-radius:16px;padding:18px}
.material-icon{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:1.35rem;background:linear-gradient(135deg,var(--blue),var(--navy2))}
.material-item:nth-child(2) .material-icon{background:linear-gradient(135deg,#158942,var(--green2))}
.material-item:nth-child(3) .material-icon{background:linear-gradient(135deg,#d46c00,#ff8b1f)}
.material-item:nth-child(4) .material-icon{background:linear-gradient(135deg,#5d3db6,#9677e8)}
.material-item h3{margin:0 0 4px;color:var(--navy)}
.material-item p{margin:0;color:var(--muted);font-size:.9rem}
.tag{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef5ff;color:var(--blue);font-size:.74rem;font-weight:900}
.accordion{display:grid;gap:12px}
details{background:#fff;border:1px solid #dfe7f1;border-radius:14px;padding:0 18px}
summary{cursor:pointer;font-weight:850;color:var(--navy);padding:17px 0}
details p{color:var(--muted);margin:0 0 17px}
.footer{background:#061a3d;color:#cbd5e1;padding-top:44px}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:40px;padding-bottom:34px}
.footer-brand{display:flex;gap:15px;align-items:flex-start}
.footer-brand img{width:74px;height:74px;object-fit:contain;background:#fff;border-radius:14px;padding:4px}
.footer h4{margin:0 0 13px;color:#fff}
.footer p{max-width:520px;color:#9fb1c9;margin:7px 0 0}
.footer-links{display:grid;gap:9px}.footer-links a{color:#b8c7da;font-size:.91rem}.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.09);padding:18px 0;color:#91a5bf;font-size:.84rem}
@media(max-width:1080px){.brand{min-width:auto}.brand-copy small{display:none}.nav-links a{font-size:.84rem;padding-inline:7px}.hero-grid{gap:30px}.grid-4{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:74px;left:16px;right:16px;background:#fff;border:1px solid #dfe6ef;padding:12px;border-radius:15px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a{text-align:center;padding:11px}}
@media(max-width:900px){.hero-grid,.exam-summary,.trust-panel,.profile-panel{grid-template-columns:1fr}.hero-visual{max-width:680px;margin:auto}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.grid-3{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.certificate{min-height:auto;padding:45px 28px}.certificate h1{font-size:2.2rem}.cert-footer{gap:34px}.dashboard-grid,.quick-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.container{width:min(100% - 22px,1200px)}.nav-wrap{min-height:72px}.brand img{width:48px;height:48px}.brand-copy strong{font-size:1rem}.brand em{display:none}.hero{padding:46px 0 64px}.hero h1{font-size:2.55rem}.hero-visual{transform:none}.hero-visual .visual-badge{left:8px;bottom:8px;font-size:.78rem}.stats{margin-top:-20px}.stats-grid,.grid-4,.grid-2,.form-grid,.exam-meta,.steps,.dashboard-grid,.quick-grid,.trust-list{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.section{padding:55px 0}.cta{align-items:flex-start;flex-direction:column}.form-card,.card{padding:20px}.material-item{grid-template-columns:52px 1fr}.material-item .tag{grid-column:1/-1;justify-self:start}.material-icon{width:50px;height:50px}.exam-toolbar{top:80px;grid-template-columns:1fr}.exam-toolbar-head{align-items:flex-start;flex-direction:column}.question-card{scroll-margin-top:240px}.certificate{border-width:8px;outline-offset:-16px;padding:37px 16px}.certificate .recipient{font-size:1.7rem;padding-inline:10px}.cert-info,.cert-footer{grid-template-columns:1fr}.cert-footer{margin-top:32px}.search-row{flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}.page-hero h1{font-size:1.9rem}}
@media print{body{background:#fff}.no-print{display:none!important}.content-wrap{padding:0}.container{width:100%;max-width:none}.certificate{box-shadow:none;max-width:none;min-height:190mm;page-break-inside:avoid}@page{size:A4 landscape;margin:10mm}}

/* V1.2 */
.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:10px;background:#fff;border:1px solid #e0e7f0;border-radius:15px;box-shadow:0 8px 24px rgba(16,40,82,.05)}
.admin-nav a{padding:10px 14px;border-radius:10px;font-size:.88rem;font-weight:850;color:#475467}
.admin-nav a:hover,.admin-nav a.active{background:linear-gradient(135deg,var(--blue),var(--navy2));color:#fff}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.toolbar h2,.toolbar h3{margin:0}
.toolbar-actions{display:flex;gap:9px;flex-wrap:wrap}
.status-open{background:#dcfae6;color:#067647}.status-upcoming{background:#eef5ff;color:#175cd3}.status-closed{background:#f2f4f7;color:#475467}.status-pending{background:#fff4cc;color:#8a5c00}
.schedule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.schedule-card{background:#fff;border:1px solid #e0e8f2;border-radius:18px;padding:23px;box-shadow:0 10px 28px rgba(16,40,82,.055);position:relative;overflow:hidden}
.schedule-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--blue),var(--green2))}
.schedule-card h3{color:var(--navy);margin:12px 0 7px}
.schedule-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}
.schedule-meta div{background:#f8fafc;border:1px solid #e6ebf2;border-radius:11px;padding:11px}
.schedule-meta small{display:block;color:var(--muted);font-size:.76rem}.schedule-meta strong{color:var(--navy);font-size:.9rem}
.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.74rem;font-weight:900}
.badge-blue{background:#eef5ff;color:#175cd3}.badge-green{background:#dcfae6;color:#067647}.badge-gold{background:#fff7d6;color:#8a5c00}.badge-red{background:#fee4e2;color:#b42318}.badge-gray{background:#f2f4f7;color:#475467}
.inline-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline-form .field{min-width:170px;flex:1}
.filter-bar{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:10px;align-items:end;margin-bottom:18px;padding:15px;background:#f8fafc;border:1px solid #e5eaf1;border-radius:14px}
.mini-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}
.mini-card{background:#fff;border:1px solid #e2e8f0;border-radius:15px;padding:17px;box-shadow:0 7px 20px rgba(16,40,82,.04)}
.mini-card small{display:block;color:var(--muted);margin-bottom:7px}.mini-card strong{font-size:1.55rem;color:var(--navy)}
.split-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
.sticky-card{position:sticky;top:104px}
.code-box{font-family:Consolas,monospace;background:#061a3d;color:#d7e7ff;padding:12px;border-radius:10px;overflow:auto}
.upload-box{border:2px dashed #bcd1ea;border-radius:15px;padding:20px;background:#f8fbff;text-align:center}
.rubric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rubric-grid .field input{text-align:center;font-size:1.1rem;font-weight:850}
.activity-list{display:grid;gap:9px}.activity-item{display:grid;grid-template-columns:130px 1fr auto;gap:12px;padding:11px 13px;background:#f8fafc;border:1px solid #e7ebf1;border-radius:11px;font-size:.86rem}
.activity-item strong{color:var(--navy)}
.monitor-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:12px;padding:12px 14px;margin-bottom:15px}
.fullscreen-panel{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#eef5ff;border:1px solid #c9dfff;border-radius:13px;padding:13px 15px;margin-bottom:15px}
.text-answer{width:100%;min-height:90px;border:1px solid #dfe6ef;border-radius:11px;padding:12px;resize:vertical}
.file-pill{display:inline-flex;align-items:center;gap:8px;background:#eef5ff;color:var(--blue);border-radius:999px;padding:8px 12px;font-weight:800;font-size:.83rem}
.score-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.score-box{padding:17px;border-radius:13px;background:#f8fafc;border:1px solid #e4e9f1;text-align:center}.score-box small{display:block;color:var(--muted)}.score-box strong{font-size:1.65rem;color:var(--navy)}
.qr-box{width:128px;height:128px;margin:12px auto;background:#fff;padding:8px;border:1px solid #d8dee8;border-radius:9px;display:grid;place-items:center}.qr-box img,.qr-box canvas{max-width:100%;height:auto!important}
.cert-layout{display:grid;grid-template-columns:1fr 150px;gap:20px;align-items:center;max-width:790px;margin:16px auto}.cert-layout .cert-info{margin:0;max-width:none}.cert-qr small{display:block;color:#667085;font-size:.7rem;margin-top:5px}
.chart-bars{display:grid;gap:12px}.chart-row{display:grid;grid-template-columns:180px 1fr 75px;gap:12px;align-items:center}.chart-track{height:13px;background:#edf1f5;border-radius:999px;overflow:hidden}.chart-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--green2));border-radius:999px}
.kpi-alert{border-left:4px solid var(--gold);padding:12px 14px;background:#fff9e8;border-radius:10px;color:#6b4c00}
@media(max-width:1050px){.mini-card-grid{grid-template-columns:repeat(3,1fr)}.split-layout{grid-template-columns:1fr}.sticky-card{position:static}.filter-bar{grid-template-columns:repeat(2,1fr)}.filter-bar .btn{width:100%}}
@media(max-width:760px){.schedule-grid,.rubric-grid,.score-stack{grid-template-columns:1fr}.mini-card-grid{grid-template-columns:1fr 1fr}.activity-item{grid-template-columns:1fr}.cert-layout{grid-template-columns:1fr}.chart-row{grid-template-columns:1fr}.schedule-meta{grid-template-columns:1fr}.admin-nav{flex-direction:column}.admin-nav a{text-align:center}}
@media(max-width:500px){.mini-card-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.fullscreen-panel{align-items:flex-start;flex-direction:column}}

.steps.five{grid-template-columns:repeat(5,1fr)}
@media(max-width:1080px){.steps.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.steps.five{grid-template-columns:1fr}}

/* =========================================================
   V1.2.1 RESPONSIVE EDITION
   ========================================================= */
:root{--header-height:82px}
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{min-width:280px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,.container,.nav-wrap,.hero-grid,.exam-summary,.trust-panel,.profile-panel,.split-layout,.cert-layout,
.grid-2,.grid-3,.grid-4,.dashboard-grid,.quick-grid,.schedule-grid,.mini-card-grid,.steps,.form-grid,
.card,.feature-card,.program-card,.schedule-card,.question-card,.toolbar,.filter-bar{min-width:0}
.hero-grid>*,.exam-summary>*,.trust-panel>*,.profile-panel>*,.split-layout>*,.cert-layout>*,
.grid-2>*,.grid-3>*,.grid-4>*,.dashboard-grid>*,.quick-grid>*,.schedule-grid>*,.mini-card-grid>*,.steps>*{min-width:0}
h1,h2,h3,h4,p,span,strong,small,a,td,th,label,summary,.badge,.file-pill,.question-title,.question-number{overflow-wrap:anywhere}
pre,code,.code-box{max-width:100%;white-space:pre-wrap;word-break:break-word}
iframe,video,canvas,svg{max-width:100%}
input,select,textarea,button{max-width:100%}
input[type="file"]{min-width:0;overflow:hidden}
select{min-width:0;text-overflow:ellipsis}
.btn,.nav-toggle,.question-nav button{min-height:44px}
.btn{white-space:normal;text-align:center;line-height:1.25}
.brand,.brand-copy{min-width:0}
.brand-copy strong,.brand-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-wrap{position:relative}
.topbar{padding-top:env(safe-area-inset-top)}
.topbar,.exam-toolbar,.admin-nav{scroll-margin-top:calc(var(--header-height) + env(safe-area-inset-top))}
.option.is-checked{border-color:var(--blue);background:#edf5ff;box-shadow:0 0 0 2px rgba(17,103,216,.08)}
.table-wrap{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table{min-width:100%}
.table td,.table th{vertical-align:top}
.file-pill{max-width:100%;white-space:normal;word-break:break-all}
.exam-submit-row{display:flex;justify-content:flex-end;margin-top:18px}

/* Grid fluid: bekerja mulus di antara breakpoint, bukan hanya ukuran tertentu. */
.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}
.dashboard-grid,.quick-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.mini-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.schedule-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}
.steps,.steps.five{grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr))}

@media(max-width:1050px){
  body.nav-open{overflow:hidden}
  .nav-toggle{display:grid;place-items:center;flex:0 0 44px;border-radius:12px;background:#eef5ff;border:1px solid #d2e4fb;color:var(--navy);line-height:1}
  .nav-links{display:flex!important;position:fixed!important;top:calc(var(--header-height) + env(safe-area-inset-top) + 8px)!important;left:max(12px,env(safe-area-inset-left))!important;right:max(12px,env(safe-area-inset-right))!important;max-height:calc(100dvh - var(--header-height) - env(safe-area-inset-top) - 24px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #dfe6ef;padding:12px;border-radius:16px;flex-direction:column;align-items:stretch;box-shadow:0 24px 70px rgba(7,31,77,.22);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px) scale(.985);transform-origin:top right;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:100}
  .nav-links.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .nav-links a{display:flex;align-items:center;justify-content:center;min-height:46px;text-align:center;padding:11px 14px!important;border:1px solid transparent}
  .nav-links a.active{border-color:#d8e8fb}
  .toolbar{align-items:stretch}
  .toolbar>.field{flex:1 1 260px;min-width:0!important}
  .split-layout{grid-template-columns:1fr!important}
  .sticky-card{position:static}
  .filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .filter-bar>.btn{width:100%}
}

@media(max-width:820px){
  :root{--header-height:74px}
  .container{width:min(100% - 24px,1200px)}
  .section{padding:58px 0}
  .content-wrap{padding:34px 0 58px}
  .hero{padding:48px 0 62px}
  .hero-grid,.exam-summary,.trust-panel,.profile-panel{grid-template-columns:1fr!important}
  .hero-copy{text-align:left}
  .hero-visual{width:100%;max-width:680px;margin-inline:auto;transform:none}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{border-bottom:1px solid var(--line)}
  .stat:nth-child(2n){border-right:0}
  .stat:nth-last-child(-n+2){border-bottom:0}
  .trust-panel{padding:30px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .admin-nav{display:flex!important;flex-direction:row!important;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;gap:7px;padding:8px;scrollbar-width:thin}
  .admin-nav a{flex:0 0 auto;white-space:nowrap;text-align:center;scroll-snap-align:start}
  .rubric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .activity-item{grid-template-columns:minmax(100px,130px) minmax(0,1fr)}
  .activity-item>*:last-child{grid-column:2}
  .chart-row{grid-template-columns:minmax(120px,160px) minmax(0,1fr) 60px}
}

@media(max-width:720px){
  .card,.form-card{padding:20px}
  .form-grid,.exam-meta,.rubric-grid,.score-stack,.cert-info,.cert-footer,.cert-layout,.schedule-meta,.trust-list{grid-template-columns:1fr!important}
  .field.full{grid-column:auto}
  .inline-form{align-items:stretch;flex-direction:column}
  .inline-form .field{min-width:0;width:100%}
  .toolbar{flex-direction:column;align-items:stretch}
  .toolbar-actions{width:100%}
  .toolbar-actions .btn{flex:1 1 150px}
  .toolbar .field{width:100%;min-width:0!important}
  .filter-bar{grid-template-columns:1fr!important}
  .filter-bar .field,.filter-bar .btn{min-width:0;width:100%}
  .fullscreen-panel{align-items:flex-start;flex-direction:column}
  .fullscreen-panel .btn{width:100%}

  /* Tabel menjadi kartu data di ponsel. */
  .table-wrap{overflow:visible}
  .responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}
  .responsive-table{border-collapse:separate;border-spacing:0;background:transparent}
  .responsive-table thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .responsive-table tbody{display:grid;gap:13px}
  .responsive-table tbody tr{border:1px solid #dfe7f1;border-radius:15px;padding:7px 10px;background:#fff;box-shadow:0 7px 20px rgba(16,40,82,.045);overflow:hidden}
  .responsive-table tbody td{display:grid;grid-template-columns:minmax(105px,38%) minmax(0,1fr);gap:12px;align-items:start;padding:10px 2px;border-bottom:1px dashed #e2e8f0;white-space:normal!important;min-width:0!important;text-align:right}
  .responsive-table tbody td:last-child{border-bottom:0}
  .responsive-table tbody td::before{content:attr(data-label);font-size:.72rem;line-height:1.35;text-transform:uppercase;letter-spacing:.045em;color:#667085;font-weight:900;text-align:left}
  .responsive-table tbody td[colspan]{display:block;text-align:center;padding:20px 8px}
  .responsive-table tbody td[colspan]::before{display:none}
  .responsive-table tbody td>*{max-width:100%;justify-self:end}
  .responsive-table tbody td .btn{width:100%;justify-self:stretch}
  .responsive-table tbody td br+small{display:inline-block;margin-top:3px}

  .exam-toolbar{position:static;top:auto;grid-template-columns:1fr;padding:12px;margin-bottom:12px}
  .exam-toolbar .btn{width:100%}
  .exam-toolbar-head{align-items:flex-start;flex-direction:column;gap:4px}
  .progress-wrap{align-items:flex-start;flex-direction:column}
  .progress-track{width:100%;flex:none}
  .progress-text{white-space:normal}
  .question-nav{position:sticky;top:calc(var(--header-height) + env(safe-area-inset-top) + 4px);z-index:24;flex-wrap:nowrap;overflow-x:auto;padding:9px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;box-shadow:0 8px 20px rgba(16,40,82,.08)}
  .question-nav button{flex:0 0 42px;width:42px;height:42px;scroll-snap-align:center}
  .question-card{padding:18px;scroll-margin-top:calc(var(--header-height) + 72px)}
  .question-number{display:flex;line-height:1.4}
  .option{align-items:flex-start;padding:13px 12px}
  .option input{flex:0 0 auto;width:20px;height:20px;margin-top:1px}
  .text-answer{font-size:16px}
  .exam-submit-row .btn{width:100%}

  .certificate{min-height:auto;border-width:8px;outline-width:3px;outline-offset:-15px;padding:34px 16px}
  .certificate h1{font-size:clamp(1.55rem,8vw,2.2rem);letter-spacing:clamp(1px,1vw,3px)}
  .certificate .subtitle{letter-spacing:1.5px}
  .certificate .recipient{font-size:clamp(1.4rem,7vw,1.85rem);padding-inline:8px;max-width:100%}
  .cert-footer{gap:32px;margin-top:34px}
  .signature{padding-top:34px}
  .cert-layout{max-width:100%}
  .cert-qr{order:-1}
  .qr-box{width:112px;height:112px}

  .material-item{grid-template-columns:52px minmax(0,1fr)}
  .material-item .tag{grid-column:1/-1;justify-self:start}
  .material-icon{width:50px;height:50px}
  .search-row{flex-direction:column}
  .search-row .btn{width:100%}
  .cta{align-items:stretch;flex-direction:column;padding:26px}
  .cta .hero-actions{width:100%}
  .cta .hero-actions .btn{flex:1 1 170px}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
  .footer-bottom{align-items:flex-start;flex-direction:column}
  .activity-item{grid-template-columns:1fr}
  .activity-item>*:last-child{grid-column:auto}
  .chart-row{grid-template-columns:1fr}
  .chart-row span{text-align:right}
}

@media(max-width:520px){
  :root{--header-height:70px}
  .container{width:min(100% - 20px,1200px)}
  .nav-wrap{min-height:70px;gap:8px}
  .brand{gap:8px;max-width:calc(100% - 52px)}
  .brand img{width:44px;height:44px;flex:0 0 44px}
  .brand-copy strong{font-size:.95rem}
  .brand-copy small{display:none}
  .brand em{display:none}
  .nav-links{top:calc(var(--header-height) + env(safe-area-inset-top) + 6px)!important;left:max(8px,env(safe-area-inset-left))!important;right:max(8px,env(safe-area-inset-right))!important;max-height:calc(100dvh - var(--header-height) - env(safe-area-inset-top) - 16px)}
  .hero{padding:38px 0 52px}
  .hero h1{font-size:clamp(2rem,11vw,2.65rem)}
  .hero p{font-size:1rem}
  .hero-actions{display:grid;grid-template-columns:1fr;width:100%}
  .hero-actions .btn{width:100%}
  .hero-points{display:grid;gap:10px}
  .hero-visual{padding:7px;border-radius:18px}
  .hero-visual img{border-radius:13px}
  .hero-visual .visual-badge{position:static;margin-top:8px;border-radius:11px;box-shadow:none;text-align:center}
  .stats{margin-top:-16px}
  .stats-grid{grid-template-columns:1fr}
  .stat,.stat:nth-child(n){border-right:0;border-bottom:1px solid var(--line)}
  .stat:last-child{border-bottom:0}
  .section{padding:46px 0}
  .section.compact{padding:34px 0}
  .section-head{margin-bottom:26px}
  .page-hero{padding:36px 0 30px}
  .page-hero h1{font-size:clamp(1.65rem,9vw,2.05rem)}
  .content-wrap{padding:28px 0 48px}
  .card,.form-card,.feature-card,.schedule-card{padding:16px}
  .trust-panel{padding:23px 17px;border-radius:19px}
  .cta{padding:22px 17px;border-radius:18px}
  .program-footer{align-items:flex-start;flex-direction:column;gap:7px}
  .result-score{font-size:3.6rem}
  .badge{white-space:normal}
  .responsive-table tbody td{grid-template-columns:minmax(90px,36%) minmax(0,1fr);gap:8px}
  .footer-brand{align-items:center}
  .footer-brand img{width:58px;height:58px;flex:0 0 58px}
  .footer{padding-top:34px}
}

@media(max-width:360px){
  .container{width:min(100% - 16px,1200px)}
  .brand img{width:40px;height:40px;flex-basis:40px}
  .brand-copy strong{font-size:.84rem}
  .nav-toggle{flex-basis:42px;width:42px;min-height:42px}
  .eyebrow{font-size:.7rem;padding:7px 9px}
  .btn{padding:11px 14px}
  .card,.form-card,.feature-card,.schedule-card,.question-card{padding:14px}
  .responsive-table tbody td{display:block;text-align:left}
  .responsive-table tbody td::before{display:block;margin-bottom:4px}
  .responsive-table tbody td>*{justify-self:start}
  .certificate{padding:30px 11px}
  .cert-logo{width:72px}
  .verification-seal{width:72px;height:72px}
}

@media(max-height:520px) and (orientation:landscape) and (max-width:1050px){
  :root{--header-height:60px}
  .nav-wrap{min-height:60px}
  .brand img{width:40px;height:40px}
  .brand-copy small,.brand em{display:none}
  .nav-links{max-height:calc(100dvh - 72px);display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-links .btn-nav,.nav-links .nav-register{grid-column:auto}
  .question-nav{top:64px}
}

/* iOS Safari: cegah zoom otomatis ketika fokus pada field. */
@media(max-width:820px){
  .field input,.field select,.field textarea,.text-answer{font-size:16px}
}

/* Cetak tetap memakai layout sertifikat A4 landscape penuh. */
@media print{
  html,body{overflow:visible!important;max-width:none!important}
  .certificate{border-width:13px;outline-width:4px;outline-offset:-24px;padding:48px 60px;min-height:190mm}
  .certificate h1{font-size:3rem;letter-spacing:4px}
  .certificate .subtitle{letter-spacing:3px}
  .certificate .recipient{font-size:2.45rem;padding:0 36px 7px}
  .cert-info{grid-template-columns:1fr 1fr!important}
  .cert-footer{grid-template-columns:1fr 1fr!important;gap:90px;margin-top:45px}
  .cert-layout{grid-template-columns:1fr 150px!important;max-width:790px}
  .cert-qr{order:initial}
}

/* V1.2.2 - Pendaftaran peserta dan permintaan sertifikat */
.registration-hero{padding-bottom:42px}
.registration-shell{max-width:1080px}
.service-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:880px;margin:-6px auto 24px;padding:8px;background:#eaf1fa;border:1px solid #d9e4f1;border-radius:18px;box-shadow:0 12px 30px rgba(16,40,82,.06)}
.service-tab{display:flex;align-items:center;gap:13px;padding:15px 17px;border-radius:13px;color:#4d6078;transition:.2s;min-width:0}
.service-tab:hover{background:rgba(255,255,255,.72);color:var(--navy)}
.service-tab.active{background:#fff;color:var(--navy);box-shadow:0 8px 22px rgba(16,40,82,.11)}
.service-tab-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:#dce9f9;color:var(--blue);font-weight:900}
.service-tab.active .service-tab-icon{background:linear-gradient(135deg,var(--blue),var(--navy2));color:#fff}
.service-tab span:last-child{display:grid;min-width:0}
.service-tab strong{font-size:.98rem;line-height:1.25}
.service-tab small{color:var(--muted);font-size:.78rem;margin-top:3px}
.form-card-wide{max-width:900px}
.form-heading{display:flex;align-items:flex-start;gap:14px;padding-bottom:19px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.form-heading.compact{padding-bottom:15px;margin-bottom:18px}
.form-heading-icon{width:48px;height:48px;flex:0 0 48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#edf5ff,#d9eaff);font-size:1.35rem}
.form-heading-icon.gold{background:linear-gradient(135deg,#fff8df,#ffe9a0)}
.form-heading h2{margin:0;color:var(--navy);font-size:1.42rem;line-height:1.25}
.form-heading p{margin:5px 0 0;color:var(--muted);font-size:.91rem}
.form-section-title{display:flex;align-items:center;gap:11px;margin:27px 0 16px;padding:11px 13px;border-radius:12px;background:#f3f7fc;border:1px solid #e1e9f3}
.form-section-title:first-of-type{margin-top:0}
.form-section-title>span{width:33px;height:33px;flex:0 0 33px;display:grid;place-items:center;border-radius:10px;background:#fff;color:var(--blue);font-size:.75rem;font-weight:900;box-shadow:0 4px 10px rgba(16,40,82,.08)}
.form-section-title>div{display:grid}
.form-section-title strong{color:var(--navy);line-height:1.25}
.form-section-title small{color:var(--muted);font-size:.78rem;margin-top:2px}
.password-field{position:relative;display:flex;align-items:stretch}
.password-field input{padding-right:82px}
.password-toggle{position:absolute;right:6px;top:6px;bottom:6px;min-width:65px;border:0;border-radius:8px;background:#edf4fd;color:var(--blue);font-size:.76rem;font-weight:850}
.password-toggle:hover{background:#dcecff}
.consent-option{margin:0;align-items:flex-start;background:#fbfcfe}
.consent-option input{width:21px;height:21px;flex:0 0 21px;margin:1px 0 0}
.btn-block{width:100%}
.text-link{color:var(--blue);font-weight:850}
.hint{display:block;color:var(--muted);font-size:.82rem;margin-top:7px}
.notice-panel{margin:-4px 0 22px;padding:15px 17px;border:1px solid #f0d487;border-left:4px solid var(--gold);border-radius:12px;background:#fffbeb;color:#6f4d00}
.notice-panel strong{display:block;color:#805b00;margin-bottom:3px}
.notice-panel p{margin:0;font-size:.87rem}
.certificate-request-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
.certificate-request-layout .form-card{max-width:none;margin:0}
.request-status-card{position:sticky;top:104px;padding:22px}
.status-form{display:grid;gap:14px}
.request-status-result{margin-bottom:18px;padding:14px;border-radius:13px;background:#f4f8fd;border:1px solid #dce7f4}
.request-status-head{display:grid;gap:3px;padding-bottom:12px;margin-bottom:9px;border-bottom:1px solid #dce5f0}
.request-status-head span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}
.request-status-head strong{color:var(--navy);overflow-wrap:anywhere}
.request-status-result dl{margin:0;display:grid;gap:0}
.request-status-result dl div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:9px;padding:9px 0;border-bottom:1px dashed #dce5ef}
.request-status-result dl div:last-child{border-bottom:0}
.request-status-result dt{font-size:.76rem;color:var(--muted);font-weight:800}
.request-status-result dd{margin:0;font-size:.84rem;color:var(--ink);overflow-wrap:anywhere}

@media(max-width:940px){
  .certificate-request-layout{grid-template-columns:1fr}
  .request-status-card{position:static;max-width:900px;width:100%;margin-inline:auto}
}
@media(max-width:720px){
  .service-tabs{grid-template-columns:1fr;gap:8px;padding:7px}
  .service-tab{padding:12px 13px}
  .form-heading{gap:11px}
  .form-heading-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px}
  .form-section-title{align-items:flex-start}
  .request-status-result dl div{grid-template-columns:1fr;gap:2px}
}
@media(max-width:420px){
  .service-tab-icon{width:34px;height:34px;flex-basis:34px}
  .form-heading h2{font-size:1.22rem}
  .form-section-title small{display:none}
  .password-toggle{min-width:58px;font-size:.7rem}
  .password-field input{padding-right:72px}
}

/* V1.2.2 - Pengelolaan permintaan sertifikat */
.admin-request-details{margin-top:9px;min-width:240px}
.admin-request-details summary{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:9px;background:#edf5ff;color:var(--blue);font-size:.8rem;font-weight:850;cursor:pointer;list-style:none}
.admin-request-details summary::-webkit-details-marker{display:none}
.admin-request-form{display:grid;gap:11px;margin-top:10px;padding:13px;border:1px solid #dce6f2;border-radius:12px;background:#f8fbff;text-align:left}
.admin-request-form .field{min-width:220px}
.admin-request-form textarea{min-height:74px}
@media(max-width:720px){
  .admin-request-details{min-width:0;width:100%}
  .admin-request-details summary{width:100%}
  .admin-request-form .field{min-width:0}
}


/* V1.2.3 - Paket pelatihan dan biaya */
.pricing-section{background:linear-gradient(180deg,#f7faff 0%,#eef4fb 100%)}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.pricing-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid #dbe6f2;border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(16,40,82,.08);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.pricing-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(16,40,82,.13)}
.pricing-card.recommended{border:2px solid var(--blue);box-shadow:0 22px 48px rgba(19,94,190,.17)}
.pricing-ribbon{position:absolute;top:0;right:0;padding:9px 15px;border-radius:0 0 0 14px;background:linear-gradient(135deg,var(--blue),var(--navy2));color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.pricing-head{padding-bottom:19px;border-bottom:1px solid var(--line)}
.pricing-label{display:inline-flex;margin-bottom:11px;padding:6px 9px;border-radius:999px;background:#edf4fd;color:var(--blue);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.pricing-card h3{margin:0 0 9px;color:var(--navy);font-size:1.45rem}
.pricing-price{color:var(--navy);font-size:clamp(1.8rem,3vw,2.35rem);font-weight:950;letter-spacing:-.04em;line-height:1}
.pricing-head small{display:block;margin-top:7px;color:var(--muted)}
.pricing-description{min-height:72px;margin:19px 0 15px;color:var(--muted)}
.pricing-features{display:grid;gap:10px;margin:0 0 24px;padding:0;list-style:none;flex:1}
.pricing-features li{position:relative;padding-left:25px;color:var(--ink);font-size:.9rem}
.pricing-features li::before{content:'✓';position:absolute;left:0;top:0;color:#16965c;font-weight:950}
.pricing-note{max-width:900px;margin:24px auto 0;padding:15px 18px;border:1px solid #dbe6f2;border-radius:13px;background:#fff;color:var(--muted);text-align:center;font-size:.88rem}
.pricing-note strong{color:var(--navy)}
.package-comparison{margin-top:28px}
.package-comparison .table td:first-child{font-weight:850;color:var(--navy)}
.package-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
.package-faq details{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.package-faq summary{color:var(--navy);font-weight:900;cursor:pointer}
.package-faq p{margin:10px 0 0;color:var(--muted)}
.package-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.package-choice{position:relative;display:block;min-width:0;cursor:pointer}
.package-choice input{position:absolute;opacity:0;pointer-events:none}
.package-choice-body{display:flex;flex-direction:column;min-height:100%;padding:17px;border:2px solid #dce6f2;border-radius:15px;background:#fff;transition:.2s}
.package-choice:hover .package-choice-body{border-color:#9cbde8;transform:translateY(-2px)}
.package-choice input:checked+.package-choice-body{border-color:var(--blue);background:#f3f8ff;box-shadow:0 10px 24px rgba(19,94,190,.12)}
.package-choice-top{display:flex;flex-wrap:wrap;align-items:center;gap:7px;justify-content:space-between}
.package-choice-top strong{color:var(--navy)}
.package-choice-top em{padding:4px 7px;border-radius:999px;background:var(--gold);color:#5c4100;font-size:.58rem;font-style:normal;font-weight:950;text-transform:uppercase}
.package-choice-price{margin:12px 0 8px;color:var(--blue);font-size:1.25rem;font-weight:950}
.package-choice small{color:var(--muted);font-size:.78rem;line-height:1.45;flex:1}
.package-choice-check{margin-top:13px;color:#75869a;font-size:.75rem;font-weight:850}
.package-choice input:checked+.package-choice-body .package-choice-check{color:var(--blue)}
.package-choice input:checked+.package-choice-body .package-choice-check::before{content:'✓ ';font-weight:950}
.package-choice-help{margin:11px 0 0;color:var(--muted);font-size:.82rem}
.profile-package{display:grid;gap:3px;margin-top:16px;padding:13px;border-radius:12px;background:#f1f7ff;border:1px solid #d9e7f8;text-align:left}
.profile-package small{color:var(--muted);font-weight:800}
.profile-package strong{color:var(--navy)}
.profile-package span{color:var(--blue);font-weight:950}
.package-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}
.package-admin-stat{padding:19px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(16,40,82,.06)}
.package-admin-stat small,.package-admin-stat span{display:block;color:var(--muted)}
.package-admin-stat strong{display:block;margin:5px 0;color:var(--navy);font-size:1.8rem}
@media(max-width:940px){.pricing-grid{grid-template-columns:1fr}.pricing-description{min-height:0}.package-choice-grid{grid-template-columns:1fr}.package-admin-grid{grid-template-columns:1fr}}
@media(max-width:720px){.pricing-card{padding:22px}.package-faq{grid-template-columns:1fr}.pricing-ribbon{position:static;align-self:flex-start;margin:-22px -22px 18px;padding:8px 12px;border-radius:0 0 12px 0}.pricing-card.recommended{padding-top:22px}}
