:root{--navy:#071a4a;--blue:#0b4ea2;--green:#098b61;--teal:#0ea6b5;--gold:#f5b622;--light:#f5f9ff;--text:#17213a}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:linear-gradient(135deg,#eef7ff,#f7fff9)}a{text-decoration:none}.hero{padding:22px 7vw 48px;background:radial-gradient(circle at 80% 20%,rgba(14,166,181,.30),transparent 28%),linear-gradient(135deg,#061a46,#0b4ea2 55%,#098b61);color:white;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-90px;top:20px;width:420px;height:420px;border:45px solid rgba(255,255,255,.08);border-radius:50%}.nav,.admin-nav{display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.brand img{width:54px;height:54px;object-fit:contain;background:white;border-radius:50%;padding:4px}.nav-link,.admin-nav a{color:white;border:1px solid rgba(255,255,255,.4);padding:10px 16px;border-radius:999px}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:center;margin-top:52px}.label{display:inline-block;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-weight:700;text-transform:uppercase;letter-spacing:.06em}h1{font-size:clamp(42px,7vw,82px);line-height:.98;margin:22px 0 18px;letter-spacing:-.04em}.lead{font-size:20px;max-width:760px;color:#e8f7ff}.btn{border:0;border-radius:15px;padding:14px 22px;font-weight:800;display:inline-block;cursor:pointer}.primary{background:linear-gradient(135deg,var(--gold),#ffdc68);color:#10204b}.ghost{background:white;color:var(--navy);border:1px solid #dce7f7}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.card{background:white;border-radius:26px;box-shadow:0 18px 45px rgba(5,26,64,.14);padding:28px}.event-card{color:var(--text)}.event-card h3,.card h2{margin-top:0;color:var(--navy)}.info{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:12px 0;border-bottom:1px dashed #d5e1ef}.info b{color:var(--green)}.section{max-width:1180px;margin:0 auto;padding:38px 20px}.logos{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}.logos p{font-weight:800;color:var(--navy)}.logos img{height:58px;max-width:180px;object-fit:contain;background:white;border-radius:14px;padding:8px;box-shadow:0 8px 25px rgba(0,0,0,.08)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.timeline{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:18px;border-left:5px solid var(--green);background:#f4fbff;border-radius:16px;margin:12px 0}.timeline b{color:var(--blue)}.facilities{list-style:none;padding:0;margin:0}.facilities li{padding:18px 18px 18px 52px;margin:12px 0;border-radius:16px;background:#f4fbff;position:relative;font-weight:800}.facilities li:before{content:"✓";position:absolute;left:18px;top:16px;background:var(--green);color:white;border-radius:50%;width:24px;height:24px;text-align:center;line-height:24px}.facilities small{display:block;color:#52617b;font-weight:600}.form-section{padding-top:10px}.form-card{max-width:760px;margin:auto}.form{display:grid;gap:16px}.form label{font-weight:700}.form input{width:100%;margin-top:8px;border:1px solid #d5e1ef;border-radius:14px;padding:14px;font-size:16px}.inline-form{grid-template-columns:1fr auto;align-items:end}.alert{padding:14px;border-radius:14px;margin:12px 0}.success{background:#e8fff4;color:#087143}.error{background:#fff0f0;color:#a51b1b}footer{text-align:center;padding:30px;color:#62708a}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--green))}.login-card{width:min(420px,92vw);background:white;border-radius:28px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.login-card img{width:86px;display:block;margin:auto}.admin-nav{background:var(--navy);color:white;padding:16px 28px}.admin-main{padding:28px}.admin-top{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap}.admin-top form{display:flex;gap:10px}.admin-top input{padding:12px;border-radius:12px;border:1px solid #d5e1ef}.table-wrap{overflow:auto;background:white;border-radius:22px;box-shadow:0 12px 36px rgba(0,0,0,.08)}table{width:100%;border-collapse:collapse;min-width:1000px}th,td{padding:14px;border-bottom:1px solid #edf2f7;text-align:left}th{background:#f3f8ff;color:var(--navy)}.pill{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.pill.ok{background:#dff8ee;color:#087143}.pill.wait{background:#fff3d6;color:#946500}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions a{background:#eef6ff;padding:8px 10px;border-radius:10px;color:var(--blue);font-weight:700}.muted{color:#8b95a7;font-size:12px}@media(max-width:820px){.hero-grid,.two-col{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr}.logos img{height:48px}h1{font-size:46px}}

.admin-menu{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-menu a{color:white;border:1px solid rgba(255,255,255,.35);padding:9px 14px;border-radius:999px;font-weight:700}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-card label{display:block;font-weight:800;margin:14px 0;color:var(--navy)}.settings-card input,.settings-card textarea{width:100%;margin-top:7px;border:1px solid #d5e1ef;border-radius:14px;padding:13px;font-size:15px;font-family:inherit}.full-span{grid-column:1/-1}.logo-setting{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center}.logo-setting img,.partner-box img{max-height:82px;max-width:160px;object-fit:contain;background:#fff;border:1px solid #e5edf8;border-radius:14px;padding:10px}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.partner-box{border:1px solid #e5edf8;border-radius:18px;padding:16px;background:#f8fbff}.save-row{text-align:right;margin-bottom:40px}@media(max-width:900px){.settings-grid,.partner-grid{grid-template-columns:1fr}.logo-setting{grid-template-columns:1fr}.admin-nav{align-items:flex-start;flex-direction:column}}

/* Perbaikan klik tombol admin dan field dropdown */
.hero:after{pointer-events:none}.nav{position:relative;z-index:3}.nav-link{position:relative;z-index:4}.form select{width:100%;margin-top:8px;border:1px solid #d5e1ef;border-radius:14px;padding:14px;font-size:16px;background:white;color:var(--text);font-family:inherit}.settings-card .muted{margin-top:-8px;margin-bottom:14px;display:block}


/* V4: peserta, pagination, daftar hadir, notifikasi */
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0;flex-wrap:wrap}.toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.btn.danger,.danger{background:#ffe5e5!important;color:#a51b1b!important;border:1px solid #ffc6c6!important}.delete-link{background:#fff0f0!important;color:#a51b1b!important}.pagination{display:flex;gap:8px;justify-content:center;align-items:center;margin:22px 0;flex-wrap:wrap}.pagination a{padding:10px 14px;border-radius:12px;background:white;color:var(--navy);box-shadow:0 5px 18px rgba(0,0,0,.06);font-weight:800}.pagination a.active{background:var(--navy);color:white}.success-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(135deg,#061a46,#0b4ea2 55%,#098b61)}.success-card{max-width:760px;text-align:center}.success-card img{height:86px;object-fit:contain}.success-card h1{font-size:44px;line-height:1.1;color:var(--navy);margin:14px 0}.lead-dark{font-size:19px;line-height:1.6;color:#263554}.success-detail{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;text-align:left}.success-detail div{background:#f4fbff;border:1px solid #d8e8f5;border-radius:16px;padding:14px}.success-detail b{display:block;color:var(--green);margin-bottom:4px}.center-actions{justify-content:center}@media(max-width:700px){.success-detail{grid-template-columns:1fr}.toolbar-actions{width:100%}.toolbar-actions .btn{width:100%;text-align:center}}


/* V5: Profil Admin */
.profile-grid{max-width:980px}
.password-field{display:flex;align-items:center;margin-top:8px;border:1px solid #d5e1ef;border-radius:14px;background:white;overflow:hidden}
.password-field input{border:0!important;margin:0!important;border-radius:0!important;flex:1}
.password-field button{border:0;background:#eef6ff;color:var(--navy);font-size:18px;padding:0 14px;height:48px;cursor:pointer}
.login-card .password-field{margin-top:8px}
.qr-mini-box{margin:22px auto;padding:18px;border:1px dashed #0a8f64;border-radius:18px;background:#f8fffc;text-align:center;max-width:360px}.qr-mini-box h3{margin:0 0 6px;color:#08204c}.qr-mini-box p{margin:0 0 12px;color:#4c5a72}.qr-mini-box img{display:block;margin:0 auto 14px;width:180px;height:180px}.qr-card .big-qr{width:260px;height:260px;display:block;margin:18px auto;padding:10px;background:white;border:1px solid #dbe8f5;border-radius:18px}.validation-card .success-detail{max-width:760px}.danger-box{background:#ffecec;border:1px solid #ffb3b3;color:#8a1111;border-radius:14px;padding:14px;margin:14px 0}.scanner-card{max-width:760px;margin:auto}.scanner-card #reader{width:100%;max-width:520px;margin:18px auto;border:1px solid #dbe8f5;border-radius:18px;overflow:hidden;background:white}.manual-scan{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:18px}.manual-scan input{flex:1;min-width:260px;padding:13px;border:1px solid #d7e3f0;border-radius:12px}.toolbar-actions .primary{background:#0a8f64;color:#fff}
@media print{.qr-mini-box .btn,.qr-card .hero-actions{display:none}}
.empty-preview{height:70px;display:flex;align-items:center;justify-content:center;border:1px dashed #b7c6d8;border-radius:12px;color:#64748b;background:#f8fafc;font-size:13px;text-align:center}.signature-settings .partner-box img{max-height:70px;object-fit:contain}.settings-card textarea{font-family:inherit}
