:root{
    --green:#0f6b4f;
    --green-dark:#0a4f3a;
    --gold:#c9a646;
    --bg:#f5f7f1;
    --text:#1f2d2a;
    --muted:#6f7f79;
    --border:#dfe7df;
    --white:#ffffff;
}
*{box-sizing:border-box}
body{
    margin:0;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:
        radial-gradient(circle at top left, rgba(201,166,70,.20), transparent 28rem),
        linear-gradient(135deg,#f7faf5,#edf4ee);
    color:var(--text);
}
a{color:inherit;text-decoration:none}
.container{width:min(1080px,92%);margin:auto}
.hero{
    padding:34px 0 22px;
    text-align:center;
}
.badge{
    display:inline-flex;align-items:center;gap:8px;
    padding:8px 13px;border-radius:999px;
    background:rgba(15,107,79,.10);color:var(--green-dark);
    font-weight:700;font-size:13px;
}
.hero h1{margin:16px 0 8px;font-size:clamp(26px,6vw,42px);line-height:1.12;color:var(--green-dark)}
.hero p{margin:0 auto;max-width:620px;color:var(--muted);font-size:15px;line-height:1.7}
.card{
    background:rgba(255,255,255,.92);
    border:1px solid var(--border);
    border-radius:24px;
    box-shadow:0 20px 60px rgba(12,60,45,.10);
    overflow:hidden;
}
.form-card{margin:18px auto 46px;max-width:880px}
.section-title{
    display:flex;align-items:center;gap:10px;
    margin:0 0 18px;color:var(--green-dark);font-size:18px;
}
.section-title span{width:9px;height:26px;border-radius:9px;background:linear-gradient(var(--gold),var(--green))}
.form-section{padding:24px;border-bottom:1px solid #edf1ed}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
label{font-size:13px;font-weight:700;color:#314842}
.required{color:#b4432c}
input,select,textarea{
    width:100%;border:1px solid var(--border);border-radius:14px;
    padding:13px 14px;font-size:15px;background:#fff;color:var(--text);outline:none;
    transition:.2s ease;
}
textarea{min-height:95px;resize:vertical}.full{grid-column:1/-1}
input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(15,107,79,.10)}
.hint{font-size:12px;color:var(--muted)}
.captcha-box{
    display:flex;align-items:center;gap:12px;flex-wrap:wrap;
    padding:14px;border:1px dashed rgba(15,107,79,.35);border-radius:16px;background:#f8fbf7;
}
.captcha-question{font-weight:800;color:var(--green-dark)}
.actions{padding:22px 24px;background:#fbfcfa;display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.btn{
    border:0;border-radius:14px;padding:13px 18px;font-weight:800;font-size:14px;cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
}
.btn-primary{background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;box-shadow:0 12px 24px rgba(15,107,79,.22)}
.btn-secondary{background:#eef4ef;color:var(--green-dark)}
.btn-danger{background:#b4432c;color:#fff}.btn-sm{padding:9px 12px;font-size:13px;border-radius:10px}
.footer{text-align:center;color:var(--muted);font-size:13px;padding:0 0 28px}
.alert{padding:13px 15px;border-radius:14px;margin-bottom:14px;font-size:14px}.alert-danger{background:#fff1ee;color:#93321f;border:1px solid #ffd5cc}.alert-success{background:#edf9f1;color:#0f6b4f;border:1px solid #c9efd5}
.admin-wrap{min-height:100vh;display:flex}.sidebar{width:255px;background:linear-gradient(180deg,var(--green-dark),#083728);color:#fff;padding:22px;position:fixed;inset:0 auto 0 0}.brand{font-weight:900;font-size:21px;margin-bottom:6px}.brand-sub{color:rgba(255,255,255,.68);font-size:13px;margin-bottom:26px}.nav a{display:block;padding:12px 13px;border-radius:13px;margin-bottom:8px;color:rgba(255,255,255,.9)}.nav a.active,.nav a:hover{background:rgba(255,255,255,.13)}.main{margin-left:255px;width:calc(100% - 255px);padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{padding:18px;border-radius:20px;background:#fff;border:1px solid var(--border);box-shadow:0 10px 30px rgba(12,60,45,.06)}.stat b{display:block;font-size:28px;color:var(--green-dark)}.stat span{font-size:13px;color:var(--muted)}.table-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:0 10px 30px rgba(12,60,45,.06)}.filter{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;margin-bottom:14px}.table-responsive{overflow:auto}table{width:100%;border-collapse:collapse;min-width:980px}th,td{padding:12px;border-bottom:1px solid #edf1ed;text-align:left;font-size:13px;vertical-align:top}th{background:#f5f8f5;color:#40534f;white-space:nowrap}.pill{display:inline-flex;border-radius:999px;padding:5px 9px;font-weight:800;font-size:12px}.pill.baru{background:#eef4ff;color:#2452a3}.pill.diterima{background:#eaf8ef;color:#0f6b4f}.pill.ditolak{background:#fff0ed;color:#a73322}
.login-page{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{width:min(420px,94%);padding:28px}.login-card h1{margin:0;color:var(--green-dark)}.login-card p{color:var(--muted);margin:8px 0 22px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{background:#f8faf8;border:1px solid #edf1ed;border-radius:14px;padding:12px}.detail-item small{display:block;color:var(--muted);font-weight:700;margin-bottom:4px}.detail-item b{font-size:14px}.mt{margin-top:16px}
@media(max-width:760px){.grid,.detail-grid{grid-template-columns:1fr}.form-section{padding:20px}.actions{justify-content:stretch}.btn{width:100%}.admin-wrap{display:block}.sidebar{position:relative;width:100%;inset:auto}.main{margin-left:0;width:100%;padding:16px}.stats{grid-template-columns:repeat(2,1fr)}.filter{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:10px;flex-direction:column}.hero{padding-top:24px}}
