*{box-sizing:border-box}
body{margin:0;background:#F3F5F7;color:#14202B;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}
a{color:#0B5FD9}
.top{background:#14202B;color:#fff;padding:10px 20px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}
.top .brand{font-weight:700;font-size:17px}
.top nav{display:flex;flex-wrap:wrap;gap:4px;flex-grow:1}
.top nav a{color:#C9D3DC;text-decoration:none;padding:10px 12px;border-radius:8px;font-weight:500}
.top nav a.on{background:#2B3A48;color:#fff;font-weight:600}
.top .who{font-size:13px;color:#C9D3DC}
.top .who a{color:#fff}
main{max-width:1180px;margin:0 auto;padding:22px 20px 60px}
h1{font-size:26px;margin:0 0 16px}
h2{font-size:17px;margin:0 0 10px}
.card{background:#fff;border:1px solid #DDE2E8;border-radius:12px;padding:16px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}
.stat{background:#fff;border:1px solid #DDE2E8;border-radius:12px;padding:14px 16px}
.stat b{display:block;font-size:28px}
.stat span{font-size:13px;color:#52606D}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:#52606D;font-size:12px;padding:8px 10px;border-bottom:1px solid #DDE2E8}
td{padding:10px;border-bottom:1px solid #E9EDF1;vertical-align:top}
.scroll{overflow-x:auto}
label{display:block;font-size:13px;font-weight:600;margin:10px 0 4px}
input,select,textarea{width:100%;max-width:420px;height:42px;border:1px solid #C3CCD5;border-radius:8px;padding:0 10px;font:inherit;background:#fff;color:#14202B}
textarea{height:auto;padding:8px 10px}
button,.btn{display:inline-block;height:42px;padding:0 16px;border:0;border-radius:8px;background:#0B5FD9;color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;line-height:42px}
button.alt,.btn.alt{background:#fff;color:#14202B;border:1px solid #C3CCD5}
button.sm{height:34px;padding:0 12px;line-height:34px;font-size:13px}
.inline{display:inline}
.inline input{width:140px;height:34px}
.flash{padding:10px 14px;border-radius:10px;margin-bottom:14px;font-weight:600}
.flash.ok{background:#E3F4EA;color:#17683F}
.flash.err{background:#FCE8E6;color:#A8261A}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:#E9EDF1;color:#44505C}
.pill.biru{background:#E1ECFB;color:#0A4FB5}
.pill.hijau{background:#E3F4EA;color:#17683F}
.pill.kuning{background:#FFF1CC;color:#7A4B00}
.pill.merah{background:#FCE8E6;color:#A8261A}
.muted{color:#52606D;font-size:13px}
.loginbox{max-width:380px;margin:12vh auto;background:#fff;border:1px solid #DDE2E8;border-radius:14px;padding:26px}
.loginbox input{max-width:none}
.loginbox button{width:100%;margin-top:16px}
