:root{--bg: #f4f5f7;--card: #ffffff;--border: #e3e5ea;--text: #1c1f26;--muted: #6b7280;--brand: #2563eb;--brand-dark: #1d4ed8;--danger: #dc2626;--ok: #059669}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}.page{max-width:520px;margin:0 auto;padding:48px 20px 64px}.header{margin-bottom:24px}.brand{margin:0;font-size:26px;font-weight:650;letter-spacing:-.02em}.subtitle{margin:4px 0 0;color:var(--muted);font-size:14px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 1px 2px #1018280a,0 8px 24px #1018280d}.field{margin-bottom:18px}.field label{display:block;margin-bottom:6px;font-size:13px;font-weight:550;color:var(--muted)}.field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:inherit;font:inherit;transition:border-color .15s,box-shadow .15s}.field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #2563eb26}.field input[type=file]{padding:8px 12px;cursor:pointer}.field input[type=file]::file-selector-button{margin-right:12px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;font-size:13px;cursor:pointer}.button{width:100%;padding:11px 16px;border:none;border-radius:8px;background:var(--brand);color:#fff;font:inherit;font-weight:550;cursor:pointer;transition:background .15s}.button:hover:not(:disabled){background:var(--brand-dark)}.button:disabled{opacity:.6;cursor:not-allowed}.alert{margin-top:16px;padding:12px 14px;border-radius:8px;font-size:14px}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:var(--danger)}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d}.alert-success strong{display:block;margin-bottom:6px;color:var(--ok)}.alert-success a{color:var(--brand-dark);word-break:break-all}.footnote{margin:20px 0 0;text-align:center;font-size:12px;color:var(--muted)}.page-wide{max-width:1080px}.loading{color:var(--muted);text-align:center}.doc-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.badge{flex-shrink:0;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:550;white-space:nowrap}.badge-pending{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.badge-signed{background:#f0fdf4;border:1px solid #bbf7d0;color:var(--ok)}.sign-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);gap:20px;align-items:start}.viewer-card{padding:0;overflow:hidden}.sign-card{position:sticky;top:24px}.viewer-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;font-weight:550;color:var(--muted)}.viewer-bar a{color:var(--brand);font-weight:500;text-decoration:none}.viewer-bar a:hover{text-decoration:underline}.viewer{display:block;width:100%;height:calc(100vh - 170px);min-height:560px;max-height:1000px;border:none;background:var(--bg)}.card-title{margin:0 0 8px;font-size:17px;font-weight:600;letter-spacing:-.01em}.card-text{margin:0 0 20px;font-size:14px;color:var(--muted)}.input-otp{font-size:20px;font-weight:600;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}.link-button{margin-top:8px;padding:0;border:none;background:none;color:var(--brand);font:inherit;font-size:13px;cursor:pointer}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{color:var(--muted);cursor:default}.check{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;font-size:13px;color:var(--muted);cursor:pointer}.check input{margin:2px 0 0;width:16px;height:16px;accent-color:var(--brand);flex-shrink:0}.button-link{display:block;margin-top:16px;text-align:center;text-decoration:none}.field-hint{margin:12px 0 0;font-size:12px;color:var(--muted)}@media(max-width:860px){.sign-layout{grid-template-columns:1fr}.sign-card{position:static}.viewer{height:70vh;min-height:420px}}
