:root{
  --primary:#4f2d7f;
  --primary-2:#6d47a6;
  --secondary:#0f8a5f;
  --secondary-2:#12a16f;
  --accent:#f4c83f;
  --ink:#16202a;
  --muted:#5d6a76;
  --bg:#f5f7fb;
  --bg-soft:#edf4ef;
  --card:rgba(255,255,255,.94);
  --line:#dce4ee;
  --shadow:0 22px 48px rgba(24,39,75,.10);
  --shadow-soft:0 10px 24px rgba(24,39,75,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(79,45,127,.12), transparent 28%),
    radial-gradient(circle at top right, rgba(15,138,95,.10), transparent 24%),
    linear-gradient(180deg, #f8fafc 0%, #f4f7fb 48%, #eef6f1 100%);
  font:15px/1.6 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.site-header{
  color:#fff;
  padding:28px 5% 34px;
  background:
    linear-gradient(135deg, rgba(8,14,31,.25), rgba(8,14,31,.05)),
    linear-gradient(135deg, var(--primary) 0%, var(--secondary) 65%, var(--accent) 135%);
  box-shadow:0 14px 35px rgba(18,31,53,.18);
}
.brand-wrap{max-width:1180px;margin:0 auto;display:flex;gap:20px;align-items:center}
.brand-logo{
  width:104px;height:104px;object-fit:contain;flex:0 0 auto;
  background:rgba(255,255,255,.16);padding:8px;border-radius:24px;
  backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.brand-copy{min-width:0}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.14);
  margin-bottom:10px;
}
.site-header h1{font-size:clamp(1.35rem,2.7vw,2.45rem);line-height:1.2;margin:0 0 8px;font-weight:800;max-width:980px}
.tagline{margin:0;opacity:.95;font-size:1rem;max-width:820px}
.page-chip{
  display:inline-block;margin-top:12px;padding:7px 13px;border-radius:999px;
  background:rgba(255,255,255,.18);font-weight:700;font-size:.92rem
}
main{max-width:1180px;margin:26px auto 48px;padding:0 16px}
.card{
  background:var(--card);
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  padding:24px;
  margin-bottom:18px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(8px);
}
.card .card{background:#fff;border-radius:18px;box-shadow:var(--shadow-soft)}
.hero-note{
  background:linear-gradient(135deg, rgba(244,200,63,.18), rgba(15,138,95,.12));
  border:1px solid rgba(244,200,63,.24);
}
h1,h2,h3{color:#122031}
h2{font-size:1.22rem;margin:0 0 12px;font-weight:800}
h3{margin:0 0 8px;font-size:1.03rem;font-weight:800}
p{margin:0 0 10px}
.muted,small{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{margin-bottom:14px}
label{font-weight:750;display:block;margin-bottom:7px;color:#173041}
input,select,textarea{
  font:inherit;width:100%;padding:12px 14px;border:1px solid var(--line);
  border-radius:14px;background:rgba(255,255,255,.98);outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, transform .08s ease;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(79,45,127,.55);
  box-shadow:0 0 0 4px rgba(79,45,127,.12);
}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--secondary)}
textarea{min-height:88px}
.btn{
  appearance:none;border:0;border-radius:14px;padding:12px 18px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  text-decoration:none;font-weight:800;letter-spacing:.01em;
  color:#fff;background:linear-gradient(135deg, var(--primary), var(--secondary));
  box-shadow:0 12px 22px rgba(36,59,104,.16);
}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn.secondary{background:linear-gradient(135deg, #334155, #64748b)}
.alert{
  background:#fff6ea;color:#7f4f10;border:1px solid #f1d39f;padding:14px 16px;
  border-radius:16px;margin:12px 0
}
.ok{background:#e8f8ee;color:#15613b;border-color:#b8e4c5}
.error{background:#ffefef;color:#8b2424;border-color:#efc4c4}
table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden}
.scroll{overflow:auto}
th,td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #e7edf5}
th{background:linear-gradient(180deg,#f8f3ff,#eef5f1);font-weight:800;color:#243647;position:sticky;top:0}
tr:hover td{background:rgba(79,45,127,.025)}
.pill{padding:6px 10px;border-radius:999px;background:#edf8f2;display:inline-block;font-size:.9rem;font-weight:700;color:#19613d}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.hide{display:none}
code{background:#f2f5f9;padding:3px 6px;border-radius:8px}
@media (max-width:860px){
  .brand-wrap{align-items:flex-start}
  .brand-logo{width:86px;height:86px;border-radius:20px}
}
@media (max-width:700px){
  .grid{grid-template-columns:1fr}
  .card{padding:18px;border-radius:20px}
  .site-header{padding:24px 16px 28px}
  .brand-wrap{flex-direction:column;align-items:flex-start}
}
@media print{
  .site-header,.btn,.noprint,form{display:none!important}
  body{background:#fff}
  .card{box-shadow:none;border:1px solid #ddd;break-inside:avoid;background:#fff}
}

.file-retained{background:#eaf8ee;color:#145d39;border:1px solid #bce3ca;border-radius:12px;padding:10px 12px;margin-bottom:9px;font-weight:650}
.file-retained small{display:block;color:#38644b;font-weight:400}

.status-card{max-width:920px;margin-left:auto;margin-right:auto}.status-result{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}.status-badge{display:inline-flex;padding:8px 14px;border-radius:999px;font-weight:800}.status-positive{background:#e4f7ed;color:#12603a}.status-negative{background:#fff0ed;color:#a52b25}.status-neutral{background:#f1edfa;color:#512d83}.status-card th{width:36%}@media(max-width:600px){.status-card th{width:42%}}


.lampiran-card{padding:0;border-radius:10px;overflow:hidden}
.lampiran-title{background:#61a9d7;color:#fff;font-weight:700;padding:10px 14px;font-size:15px}
.lampiran-warning{background:#f5efdb;border:1px solid #e6d8aa;border-left:4px solid #d6a74f;color:#8c6c23;padding:12px 14px;margin:12px 8px;border-radius:3px;font-size:14px}
.lampiran-links{text-align:center;padding:10px 0 14px;font-weight:700;color:#3e6f97}
.lampiran-links a{color:#3e6f97;text-decoration:underline}
.lampiran-links span{margin:0 10px;color:#a0aab4}
.doc-section{padding:0 8px 6px}
.doc-sep{border-top:1px dashed #9ea8b2;margin:6px 0 8px}
.doc-sep.thin{margin:10px 0}
.extra-docs h3{font-size:14px;margin:0 0 10px 0;color:#506070}
.doc-row{display:grid;grid-template-columns:250px 1fr 115px 130px 88px;column-gap:14px;align-items:center;padding:7px 6px}
.doc-label{text-align:right;font-weight:700;color:#666;line-height:1.35;padding-right:10px}
.doc-picker input[type=file]{width:100%;border:1px solid #d6dbe2;border-radius:4px;padding:8px;background:#fff}
.doc-type{font-weight:700;color:#666}
.doc-status{text-align:center;font-weight:400;font-size:13px;letter-spacing:.02em}
.doc-status.empty{color:#d83131}
.doc-status.ok{color:#d83131}
.doc-view{text-align:right}
.doc-btn{border:0;background:#2d90cf;color:#fff;font-weight:700;padding:8px 16px;border-radius:4px;cursor:pointer}
.doc-btn:hover{background:#247cb2}
@media (max-width: 980px){
  .doc-row{grid-template-columns:1fr;row-gap:6px;padding:10px 10px 14px;border-bottom:1px solid #eef1f5}
  .doc-label{text-align:left;padding-right:0}
  .doc-view{text-align:left}
}
