/* Bootstrap 5 visual layer - modern, clean and responsive */
:root{--brand:#2563eb;--brand-dark:#0f172a;--surface:#f5f7fb;--line:#e7ebf2;--muted:#64748b}
*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--surface);color:#172033}.public-shell{min-height:100vh}.hero{color:#fff;background:radial-gradient(circle at 85% 15%,rgba(96,165,250,.28),transparent 28%),linear-gradient(135deg,#0b1220,#173b82 62%,#2563eb);overflow:hidden}.brand,.brand-dark{display:flex;align-items:center;gap:12px;color:inherit}.brand strong,.brand-dark strong{display:block}.brand small,.brand-dark small{display:block;font-size:11px;opacity:.65}.brand-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:19px}.brand-dark{color:#14213d}.brand-dark .brand-icon{background:#eaf1ff;color:#2563eb}.hero-kicker,.section-kicker{font-size:11px;letter-spacing:.13em;font-weight:800;color:#60a5fa}.hero h1{letter-spacing:-.04em}.text-gradient{background:linear-gradient(90deg,#93c5fd,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}.soft-chip{display:inline-flex;align-items:center;padding:9px 13px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);border-radius:999px;font-size:12px}.hero-card{background:rgba(255,255,255,.96);color:#172033;border-radius:25px;padding:25px;box-shadow:0 25px 70px rgba(0,0,0,.2)}.hero-card-icon{width:45px;height:45px;border-radius:14px;background:#eaf1ff;color:#2563eb;display:grid;place-items:center;font-size:20px}.process-list>div{display:flex;gap:13px;margin-top:17px}.process-list span{width:28px;height:28px;border-radius:9px;background:#eef2ff;color:#2563eb;display:grid;place-items:center;font-size:10px;font-weight:800;flex:0 0 auto}.process-list b,.process-list small{display:block}.process-list small{color:#64748b;margin-top:3px;font-size:12px}.form-card{background:#fff;border:1px solid var(--line);border-radius:25px;box-shadow:0 18px 55px rgba(15,23,42,.07);overflow:hidden}.form-card-head{padding:28px 30px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.step-badge{background:#eff6ff;color:#2563eb;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;height:max-content}.form-section{padding:28px 30px;border-bottom:1px solid var(--line)}.section-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:22px}.section-title>span{width:32px;height:32px;border-radius:10px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;font-weight:800;font-size:11px}.section-title h5{margin:0;font-weight:800}.section-title small{color:#64748b}.form-label{font-weight:700;font-size:13px}.form-label span{color:#ef4444}.form-control,.form-select,.input-group-text{border-color:#dfe5ee}.form-control:focus,.form-select:focus{border-color:#7aa7ff;box-shadow:0 0 0 .25rem rgba(37,99,235,.08)}.online-box{display:flex;align-items:center;gap:13px;border:1px solid #bfdbfe;background:#eff6ff;padding:15px;border-radius:15px}.online-icon{width:40px;height:40px;border-radius:12px;background:#2563eb;color:#fff;display:grid;place-items:center}.online-box b,.online-box small{display:block}.online-box small{color:#64748b;font-size:12px}.info-note{display:flex;gap:10px;padding:13px 15px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:13px;font-size:12px;color:#475569}.info-note>i{color:#2563eb}.upload-box{display:flex;align-items:center;gap:15px;border:1px dashed #b8c5d6;background:#fafcff;padding:17px;border-radius:15px}.upload-box>i{font-size:27px;color:#2563eb}.upload-box b,.upload-box small{display:block}.upload-box small{color:#64748b}.upload-box input{margin-left:auto;max-width:300px}.confirm-box{padding:20px 30px;background:#f8fafc}.form-footer{padding:20px 30px;display:flex;justify-content:space-between;gap:10px}.simple-page{min-height:100vh;background:radial-gradient(circle at 15% 10%,#e7efff,transparent 28%),#f6f8fc}.status-wrap,.success-card{max-width:760px;background:#fff;border:1px solid var(--line);border-radius:25px;padding:32px;box-shadow:0 18px 55px rgba(15,23,42,.07)}.big-icon,.success-icon{width:64px;height:64px;border-radius:20px;margin:auto;display:grid;place-items:center;background:#eaf1ff;color:#2563eb;font-size:27px}.success-icon{background:#dcfce7;color:#16a34a}.status-result{border-top:1px solid var(--line);padding-top:25px}.detail-box{padding:15px;background:#f8fafc;border:1px solid #e9edf3;border-radius:14px}.detail-box small,.detail-box b{display:block}.detail-box small{font-size:11px;color:#64748b;margin-bottom:4px}.detail-box b{font-size:13px}.number-card{padding:20px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#eef2ff);border:1px solid #cfe0ff;margin:22px 0}.number-card small,.number-card strong,.number-card span{display:block}.number-card small{font-size:10px;letter-spacing:.14em;color:#64748b}.number-card strong{font-size:25px;color:#1d4ed8;letter-spacing:.03em}.number-card span{color:#64748b;font-size:12px;margin-top:4px}.status-pill{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:800}.status-menunggu{background:#fef3c7;color:#92400e}.status-disetujui{background:#dcfce7;color:#166534}.status-ditolak{background:#fee2e2;color:#991b1b}.status-selesai{background:#dbeafe;color:#1e40af}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#3b82f6,transparent 25%),linear-gradient(135deg,#0b1220,#173b82);padding:20px}.login-card{width:min(450px,100%);background:#fff;border-radius:25px;padding:35px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.login-logo{width:58px;height:58px;border-radius:17px;background:#eaf1ff;color:#2563eb;display:grid;place-items:center;font-size:25px;margin-bottom:20px}.admin-shell{min-height:100vh;display:flex;background:#f5f7fb}.sidebar{width:255px;position:fixed;inset:0 auto 0 0;background:#0b1220;color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:1030}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:5px 8px 28px}.sidebar-brand .brand-icon{background:#1e3a8a}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand small{font-size:10px;color:#94a3b8}.sidebar-label{font-size:9px;letter-spacing:.14em;color:#64748b;padding:0 12px 10px;font-weight:800}.sidebar .nav-link{color:#aebbd0;border-radius:11px;padding:11px 12px;font-size:13px;display:flex;align-items:center;gap:11px}.sidebar .nav-link i{font-size:16px}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:#1d4ed8;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #1f2937;padding-top:14px}.admin-main{margin-left:255px;width:calc(100% - 255px);min-width:0}.admin-topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px}.avatar{width:39px;height:39px;border-radius:12px;background:#eaf1ff;color:#2563eb;display:grid;place-items:center;font-weight:800}.admin-content{padding:28px}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 28px rgba(15,23,42,.035);overflow:hidden}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-head h5{margin:0;font-weight:800}.panel-head small{display:block;color:#64748b;margin-top:3px}.panel .table{font-size:13px}.panel .table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#fafbfc;border-bottom:1px solid var(--line)}.panel .table td,.panel .table th{padding:15px 18px}.stat-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;gap:15px;align-items:center;box-shadow:0 8px 28px rgba(15,23,42,.035)}.stat-card.compact{justify-content:center}.stat-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:20px}.stat-card small{color:#64748b;font-size:11px}.stat-card h2{font-weight:800;margin:2px 0 0}.activity-list{padding:7px 15px}.activity-item{display:flex;align-items:center;gap:11px;padding:13px 5px;border-bottom:1px solid #eef1f5;color:#172033}.activity-item:last-child{border-bottom:0}.activity-item small{display:block;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.activity-icon{width:36px;height:36px;border-radius:11px;background:#f1f5f9;color:#2563eb;display:grid;place-items:center}.detail-list{display:grid;grid-template-columns:1fr 1fr}.detail-list>div{padding:14px 18px;border-bottom:1px solid #eef1f5}.detail-list small,.detail-list b{display:block}.detail-list small{color:#64748b;font-size:10px;margin-bottom:4px}.detail-list b{font-size:13px}.pagination{margin:0}.btn-primary{background:#2563eb;border-color:#2563eb}.btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8}@media(max-width:991.98px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.show{transform:translateX(0)}.admin-main{margin-left:0;width:100%}.admin-content{padding:20px}.page-heading{align-items:flex-start;flex-direction:column}.upload-box{align-items:flex-start;flex-direction:column}.upload-box input{max-width:none;width:100%}}@media(max-width:767.98px){.form-card-head,.form-section,.form-footer,.confirm-box{padding:22px 18px}.hero .container{padding-left:18px;padding-right:18px}.hero h1{font-size:2.35rem}.form-footer{flex-direction:column-reverse}.form-footer .btn{width:100%}.status-wrap,.success-card{padding:23px 18px}.detail-list{grid-template-columns:1fr}.admin-topbar{padding:0 15px}.admin-content{padding:15px}.panel .table td,.panel .table th{padding:12px}.stat-card{padding:14px}.stat-icon{width:40px;height:40px}.hero-card{padding:20px}}