:root{--red:#c8212b;--red2:#8f1018;--ink:#18212f;--muted:#6b7280;--line:#e5e7eb;--bg:#f5f7fb;--ok:#159947}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(145deg,#f6f8fc,#edf1f7);color:var(--ink)}
.hero{background:radial-gradient(circle at 90% 0,#ef5360 0,transparent 34%),linear-gradient(135deg,var(--red2),var(--red));color:#fff;padding:34px 18px 78px}.hero-in{max-width:980px;margin:auto}.brand{font-weight:900;letter-spacing:.08em}.hero h1{font-size:clamp(28px,5vw,48px);margin:18px 0 8px}.hero p{max-width:650px;opacity:.9;margin:0;line-height:1.6}
.container{max-width:980px;margin:-48px auto 50px;padding:0 16px}.card{background:#fff;border:1px solid rgba(255,255,255,.7);border-radius:20px;box-shadow:0 20px 55px rgba(25,35,52,.12);overflow:hidden}.progress{height:6px;background:#f1f1f1}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff7780,var(--red));transition:.25s}.section{padding:28px;border-bottom:1px solid #eef0f4}.section:last-child{border:0}.section h2{margin:0 0 6px;font-size:22px}.section .lead{margin:0 0 22px;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-weight:700;font-size:14px}.req{color:var(--red)}input,select,textarea{width:100%;border:1px solid #d8dde6;border-radius:12px;padding:13px 14px;font:inherit;outline:none;background:#fff;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(200,33,43,.10)}.help{font-size:12px;color:var(--muted)}.validation{font-size:12px;min-height:18px}.validation.ok{color:var(--ok)}.validation.bad{color:#d11d2a}.is-ok{border-color:var(--ok)!important;box-shadow:0 0 0 3px rgba(21,153,71,.1)!important}.is-bad{border-color:#d11d2a!important}
.options{display:grid;gap:10px}.options.cols{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.choice:hover{border-color:#f0a2a8;background:#fffafa}.choice input{width:auto;margin-top:3px}.actions{display:flex;justify-content:flex-end;padding:24px 28px;background:#fafbfc}.btn{border:0;border-radius:12px;padding:13px 20px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:linear-gradient(135deg,var(--red2),var(--red));color:#fff;box-shadow:0 10px 25px rgba(200,33,43,.25)}.btn-light{background:#f0f2f5;color:#222}.alert{padding:12px 14px;border-radius:12px;margin-bottom:16px}.alert-error{background:#fff0f1;color:#a6121b;border:1px solid #ffc7cb}.thankyou{text-align:center;padding:50px 24px}.check{width:76px;height:76px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:#e8f8ee;color:var(--ok);font-size:38px;font-weight:900}
.admin-wrap{max-width:1250px;margin:auto;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.05)}.stat b{display:block;font-size:28px;margin-top:7px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;background:#fff;padding:16px;border-radius:16px;border:1px solid var(--line);margin:18px 0}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px}.table{width:100%;border-collapse:collapse;min-width:1000px}.table th,.table td{padding:13px;border-bottom:1px solid #edf0f3;text-align:left;font-size:13px}.table th{background:#fafbfc;position:sticky;top:0}.login{max-width:430px;margin:10vh auto;padding:16px}.login .card{padding:28px}
@media(max-width:760px){.grid,.options.cols{grid-template-columns:1fr}.section{padding:22px 18px}.stats{grid-template-columns:repeat(2,1fr)}.hero{padding-top:28px}.topbar{align-items:flex-start;flex-direction:column}.actions .btn{width:100%}}

/* Patch v1.1: pemisah antar pertanyaan agar lebih rapi */
.question-block{padding:22px 0 28px;margin:0;border-bottom:1px solid #e8ebf0;gap:11px}
.question-block:first-of-type{padding-top:4px}
.question-block:last-child{border-bottom:0;padding-bottom:4px}
.question-block>label{font-size:15px;line-height:1.55;margin-bottom:2px}
.question-block .options{gap:11px}
.question-block .choice{padding:13px 14px;min-height:48px;background:#fff}
.question-block .choice span{line-height:1.45}
@media(max-width:760px){.question-block{padding:20px 0 25px}.question-block>label{font-size:14px}}


/* Patch v1.4: Admin Form Editor */
.admin-nav{display:flex;flex-wrap:wrap;gap:9px}.alert-success{background:#eaf8ef;color:#126a34;border:1px solid #bfe8cc}.editor-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin:0 0 18px;box-shadow:0 8px 24px rgba(0,0,0,.04)}.editor-card h2{margin-top:0}.editor-head{display:flex;align-items:end;justify-content:space-between;margin:28px 0 12px}.editor-head h2{margin:0 0 5px}.editor-head p{margin:0;color:var(--muted)}.question-editor{display:grid;gap:16px}.editor-question-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid #edf0f3}.editor-question-head>div:first-child{display:flex;align-items:center;gap:10px}.field-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#f1f3f6;border-radius:8px;padding:6px 8px;color:#555}.order-field{width:110px}.options-editor{font-family:inherit;line-height:1.6;resize:vertical}.sticky-save{position:sticky;bottom:14px;display:flex;justify-content:flex-end;padding:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 35px rgba(0,0,0,.12);z-index:10}
@media(max-width:760px){.admin-nav{width:100%}.admin-nav .btn{flex:1}.editor-card{padding:18px}.editor-question-head{align-items:flex-start}.sticky-save .btn{width:100%}}
