:root{--warna:#0b2a5b;--aksen:#d4af37}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#f7f9fc;color:#1f2937}
a{color:var(--warna);text-decoration:none}
.container{max-width:1000px;margin:80px auto 40px;padding:0 16px}
.topnav{position:fixed;top:0;left:0;right:0;height:56px;background:var(--warna);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.topnav .brand{display:flex;gap:8px;align-items:center;font-weight:700}
.topnav .logo-small{width:28px;height:28px;object-fit:contain}
.topnav .menu a{color:#fff;margin:0 8px}
.topnav .menu .logout{background:var(--aksen);color:#000;padding:6px 10px;border-radius:8px}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin:16px 0;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.btn{background:var(--warna);color:#fff;padding:10px 14px;border-radius:10px;border:none;display:inline-block;cursor:pointer}
.btn:hover{filter:brightness(.95)}
.alert{background:#fff3cd;padding:10px 12px;border:1px solid #ffeeba;border-radius:8px;margin:8px 0}
input,select,textarea{width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:10px}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{border:1px solid #e5e7eb;padding:8px;text-align:left}
th{background:#f3f4f6}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stat{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;text-align:center}
.stat-num{font-size:28px;font-weight:800;color:#0b2a5b}
.actions .btn{margin:4px 6px}
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0b2a5b 0%,#143b7d 100%)}
.login-card{background:#fff;padding:24px;border-radius:16px;width:100%;max-width:420px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.login-card .brand{text-align:left;display:flex;gap:10px;align-items:center}
.login-card .logo{width:56px;height:56px;margin-bottom:0}
.qr{width:110px;height:110px}
.flex{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.grid3{grid-template-columns:1fr}.topnav .menu{display:none}}