:root { --ink:#102a43; --muted:#627d98; --line:#d9e2ec; --surface:#fff; --soft:#f0f4f8; --accent:#0f766e; --accent-dark:#115e59; --danger:#b42318; }
* { box-sizing:border-box; }
body { margin:0; background:#edf2f7; color:var(--ink); font:16px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.shell { width:min(100%, 760px); margin:auto; padding:24px 16px 48px; }
.topbar { display:flex; align-items:center; gap:14px; padding:12px 4px 22px; }
.brand-mark { display:grid; place-items:center; flex:0 0 auto; width:42px; height:42px; background:var(--ink); color:white; border-radius:12px; font-weight:800; font-size:22px; }
h1,h2,p { margin-top:0; } h1 { font-size:clamp(1.4rem, 5vw, 1.85rem); line-height:1.15; } h2 { font-size:1.1rem; margin-bottom:15px; } .eyebrow { margin:0 0 4px; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; font-weight:750; }
.notice { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:16px; padding:11px 14px; color:#075e54; background:#d9f0ec; border-radius:9px; font-size:.86rem; }
.card { background:var(--surface); border:1px solid var(--line); border-radius:14px; box-shadow:0 1px 2px #102a4308; padding:20px; margin-bottom:16px; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; } label { display:grid; gap:6px; color:#334e68; font-size:.86rem; font-weight:650; } .wide { grid-column:1 / -1; }
input,textarea { width:100%; padding:11px 12px; border:1px solid #bcccdc; background:#fff; border-radius:8px; color:var(--ink); font:inherit; font-size:16px; } input:focus,textarea:focus { outline:3px solid #14b8a633; border-color:var(--accent); } textarea { resize:vertical; }
.security-note { margin:12px 0 0; color:var(--muted); font-size:.82rem; }.password-check { padding:12px; border-radius:8px; background:#f0fdfa; color:#134e4a; }.declaration p { color:#486581; font-size:.91rem; }.fee-warning { margin:16px 0; padding:14px; border:1px solid #f3c78a; border-left:4px solid #c56a00; border-radius:8px; background:#fff8eb; color:#6b3a00; font-size:.9rem; }.fee-warning p { margin:5px 0 0; color:inherit; }.check { grid-template-columns:auto 1fr; align-items:start; gap:10px; margin-top:16px; }.check input { width:19px; height:19px; margin-top:1px; accent-color:var(--accent); }
.signature-heading { display:flex; justify-content:space-between; align-items:start; gap:12px; }.signature-heading p { margin-bottom:0; color:var(--muted); font-size:.86rem; }.signature-box { position:relative; height:180px; margin-top:16px; border:2px dashed #9fb3c8; border-radius:10px; background:#fafcfe; overflow:hidden; }.signature-box canvas { width:100%; height:100%; display:block; touch-action:none; position:relative; z-index:1; }.signature-box span { position:absolute; inset:0; display:grid; place-items:center; color:#9fb3c8; pointer-events:none; }.signature-box.signed span { display:none; }.signatory { margin-top:16px; }
button { min-height:44px; border:0; cursor:pointer; font:inherit; font-weight:750; border-radius:8px; }.primary { width:100%; padding:12px 16px; background:var(--accent); color:#fff; }.primary:hover { background:var(--accent-dark); }.secondary { padding:10px 14px; background:#e6fffa; color:#075e54; }.text-button { padding:7px; min-height:auto; color:#0f766e; background:transparent; text-decoration:underline; }.form-error { min-height:1.25rem; margin:0 0 10px; color:var(--danger); font-size:.9rem; }.small-print { margin:15px 0; text-align:center; color:var(--muted); font-size:.76rem; }.small-print a { color:inherit; }
dialog { width:min(92vw, 480px); border:0; border-radius:16px; padding:0; box-shadow:0 24px 80px #102a4366; }dialog::backdrop { background:#102a4377; }.dialog-content { padding:28px; }.dialog-content h2 { font-size:1.4rem; }.success-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:16px; color:#fff; background:var(--accent); border-radius:50%; font-weight:900; }.dialog-actions { display:grid; gap:10px; margin-top:20px; }.dialog-actions .text-button { justify-self:center; }
@media (max-width:540px) { .shell { padding:14px 12px 32px; }.card { padding:16px; }.grid { grid-template-columns:1fr; }.wide { grid-column:auto; }.notice { align-items:start; flex-direction:column; gap:2px; }.signature-heading { flex-direction:column; }.signature-heading .text-button { padding-left:0; } }
@media print { body { background:#fff; }.shell { max-width:none; padding:0; }.topbar { padding-top:0; }.primary,.text-button,.notice,.small-print,.security-note { display:none; }.card { box-shadow:none; break-inside:avoid; }.signature-box { height:135px; border-style:solid; } }
