*{box-sizing:border-box}body{font-family:system-ui,Segoe UI,Roboto,sans-serif;background:#f3f5f4;color:#1b2a22;margin:0;line-height:1.5}
.kartu{max-width:720px;margin:24px auto;background:#fff;padding:24px;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
h1{margin:0 0 4px;font-size:1.5rem}.sub{color:#4b5e54;margin:0 0 16px}h2{font-size:1.05rem;margin:24px 0 8px;border-bottom:1px solid #dfe6e2;padding-bottom:4px}
.field{margin:12px 0}label{display:block;font-weight:600;margin-bottom:4px}.req{color:#b3261e}
input[type=text],input[type=email],input[type=date],select,textarea{width:100%;padding:10px;border:1px solid #b7c4bd;border-radius:6px;font:inherit}
.pilihan label{font-weight:400;display:block;margin:4px 0}.err{color:#b3261e;margin:4px 0 0;font-size:.9rem}
.galat{background:#fdecea;border:1px solid #f5c2be;padding:10px 14px;border-radius:6px;margin-bottom:12px}
.info{background:#eef6f1;border:1px solid #cfe3d7;padding:12px 14px;border-radius:6px;font-size:.92rem}
button{background:#1f6f4a;color:#fff;border:0;padding:12px 24px;border-radius:6px;font:inherit;font-weight:600;cursor:pointer;margin-top:16px}
@media(max-width:600px){.kartu{margin:0;border-radius:0}}
