:root { --ink:#edf3f8; --surface:#17212e; --canvas:#0b111a; --accent:#d52c47; --accent-dark:#a81f35; --line:#334155; --muted:#a8b6c7; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:radial-gradient(circle at top right,#651f2b55 0,transparent 32rem),radial-gradient(circle at bottom left,#1b334d 0,transparent 36rem),var(--canvas); font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; }
.shell { width:min(100% - 2rem, 560px); margin:0 auto; padding:3.5rem 0; }
.brand { margin:0 0 1.5rem; text-align:center; }
.brand-logo { display:block; width:min(100%, 440px); margin:0 auto; border-radius:.75rem; box-shadow:0 .75rem 2rem #000a; }
.card { padding:2rem; background:linear-gradient(145deg,#1b2736,#121b27); border:1px solid var(--line); border-radius:1rem; box-shadow:0 1rem 3rem #0009; }
.hidden { display:none; }.eyebrow { margin:0; color:#ff5b70; font-size:.76rem; font-weight:800; letter-spacing:.08em; }.hint { color:var(--muted); }.notice { padding:.8rem; color:#f8d7dc; background:#541c293d; border-left:4px solid var(--accent); }
form { display:grid; gap:1rem; margin-top:1.5rem; } label { display:grid; gap:.4rem; font-weight:650; } input, select { width:100%; padding:.75rem; color:var(--ink); border:1px solid #40516a; border-radius:.45rem; background:#0f1722; font:inherit; } input:focus, select:focus { outline:3px solid #d52c4740; border-color:var(--accent); }
button { padding:.78rem 1rem; border:0; border-radius:.45rem; color:#fff; background:var(--accent); cursor:pointer; font:inherit; font-weight:750; } button:hover { background:var(--accent-dark); } button:disabled { cursor:wait; opacity:.65; } button:focus-visible { outline:3px solid #fff; outline-offset:2px; }.secondary { background:#40546b; }.panel-head { display:flex; justify-content:space-between; gap:1rem; align-items:start; }.message { min-height:1.5rem; color:#ff8796; font-weight:650; }.compact { margin:-.55rem 0 0; font-size:.88rem; }.request-list { padding:0; list-style:none; }.request-list li { padding:.75rem 0; border-bottom:1px solid var(--line); }.request-list span { display:block; color:var(--muted); font-size:.9rem; }.subsection { margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--line); }.subsection h2 { margin:.2rem 0 .4rem; font-size:1.25rem; }.check { grid-template-columns:auto 1fr; align-items:start; font-size:.93rem; font-weight:500; }.check input { width:auto; margin-top:.3rem; } progress { width:100%; height:1rem; accent-color:var(--accent); }
