:root { --dark:#111; --gold:#f5b400; --light:#f6f6f6; --border:#ddd; --green:#157a3b; --red:#b00020; }
* { box-sizing: border-box; }
body { margin:0; font-family: Arial, Helvetica, sans-serif; background:var(--light); color:#1b1b1b; }
.app-header { display:flex; align-items:center; gap:14px; padding:18px; background:var(--dark); color:white; position:sticky; top:0; z-index:10; box-shadow:0 2px 8px rgba(0,0,0,.2); }
.logo-badge { background:var(--gold); color:#111; font-weight:900; border-radius:14px; padding:12px 10px; letter-spacing:.5px; }
.app-header h1 { margin:0; font-size:1.25rem; }
.app-header p { margin:3px 0 0; opacity:.85; }
main { max-width:920px; margin:0 auto; padding:16px; }
.card { background:white; border:1px solid var(--border); border-radius:16px; padding:16px; margin-bottom:16px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.hero { border-left:6px solid var(--gold); }
h2 { margin:0 0 12px; }
h3 { margin:0 0 10px; }
.grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:12px; }
label { display:block; font-weight:700; margin-bottom:5px; }
input, select, textarea { width:100%; padding:12px; border:1px solid #bbb; border-radius:10px; font:inherit; background:white; }
textarea { min-height:90px; resize:vertical; }
.section-title { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.line { border:1px solid #e2e2e2; border-radius:14px; padding:14px; margin-bottom:12px; background:#fafafa; }
.btn, button { border:0; border-radius:12px; padding:12px 14px; font-weight:800; cursor:pointer; background:#222; color:white; }
.btn.secondary { background:#444; }
.btn.success { background:var(--green); }
.btn.danger { background:var(--red); }
.small-btn { padding:9px 12px; white-space:nowrap; }
.checkbox-row { display:flex; align-items:center; gap:10px; margin:8px 0 12px; }
.checkbox-row input { width:auto; transform:scale(1.2); }
.checkbox-row label { margin:0; }
.hidden { display:none; }
.small { font-size:.9rem; color:#555; }
.status { margin-top:12px; font-weight:700; }
.status.ok { color:var(--green); }
.status.err { color:var(--red); }
.success-screen { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:24px; }
.success-screen .check { width:86px; height:86px; border-radius:50%; background:var(--green); color:white; display:grid; place-items:center; font-size:56px; font-weight:900; }
.success-screen button { margin-top:18px; }
