:root{--bg:#fff;--bg-subtle:#f8faf8;--bg-card:#fff;--bg-card-hover:#f0f7f0;--bg-selected:#e8f5e8;--bg-row:#f0f7f0;--bg-row-hover:#e8f5e8;--bg-row-selected:#d8edd8;--badge-bg:#3a7d44;--badge-bg-selected:#1a3d22;--fg:#111;--muted:#6b7280;--border:#b2d9b2;--border-strong:#9dbf9d;--border-muted:#d8edd8;--accent:#3a7d44;--accent-hover:#2d5a35;--accent-soft:#e8f5e8;--accent-text:#fff;--shadow-card:0 2px 6px #3a7d441f;--shadow-card-selected:0 4px 12px #3a7d4433;--danger:#b91c1c;--danger-soft:#fef2f2;--danger-border:#fecaca;--danger-strong:#991b1b;--danger-border-strong:#fca5a5;--danger-bg-strong:#fee2e2;--warning:#92400e;--warning-soft:#fef3c7;--warning-border:#fcd34d;--success:#166534;--success-soft:#dcfce7;--success-border:#86efac;--info:#1e40af;--info-soft:#eff6ff;--info-border:#bfdbfe;--status-system:#3730a3;--status-system-soft:#e0e7ff;--status-custom:#6b21a8;--status-custom-soft:#f3e8ff;--fg-secondary:#374151;--border-neutral:#e5e7eb;--disabled-fg:#cbd5e1}.row-hover{transition:background-color .12s,border-color .12s,box-shadow .12s}.row-hover:hover{background:var(--bg-row-hover);border-color:var(--accent);box-shadow:var(--shadow-card-selected)}.menu-item{transition:background-color .12s}.menu-item:hover:not(:disabled){background:var(--accent-soft)}.outline-btn{transition:background-color .12s,border-color .12s,color .12s}.outline-btn:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.primary-btn{transition:background-color .12s,border-color .12s}.primary-btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ghost-btn{transition:background-color .12s,color .12s}.ghost-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}input,select,textarea{border-color:var(--border)}*{box-sizing:border-box}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled=true]{opacity:.55;cursor:not-allowed}html,body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.field-chip{color:#3730a3;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;margin:0 .15em;padding:.05em .55em;font-size:.92em;font-weight:500;display:inline-block}.field-chip[data-selected=true],.ProseMirror .field-chip.ProseMirror-selectednode{outline:2px solid var(--accent);outline-offset:1px}.tt-editor .ProseMirror{outline:none;min-height:220px;font-size:.9375rem;line-height:1.55}.tt-editor .ProseMirror p{margin:.5em 0}.tt-editor .ProseMirror h2{margin:.8em 0 .4em;font-size:1.125rem}.tt-editor .ProseMirror ul,.tt-editor .ProseMirror ol{margin:.4em 0;padding-left:1.5em}.tt-editor .ProseMirror blockquote{border-left:3px solid var(--border);color:var(--muted);margin:.5em 0;padding-left:.8em}.letter-preview .letter{color:#111;font-family:Aptos Narrow,Aptos,Segoe UI,-apple-system,system-ui,sans-serif;font-size:11pt;line-height:1.45}.letter-preview .letter p{margin:.5em 0}.letter-preview .letter h2,.letter-preview .letter .letter-section-heading,.letter-preview .letter .letter-appendix-heading{margin:1.2em 0 .4em;font-size:14pt;font-weight:600}.letter-preview .letter h3,.letter-preview .letter .letter-step-heading{margin:1em 0 .3em;font-size:12pt;font-weight:600}.letter-preview .letter .letter-section+.letter-section,.letter-preview .letter .letter-section+.letter-step,.letter-preview .letter .letter-step+.letter-step{margin-top:1em}.letter-preview .letter ul,.letter-preview .letter ol{margin:.3em 0;padding-left:1.4em}.letter-preview .letter .letter-table{border-collapse:collapse;width:100%;margin:.6em 0 1em;font-size:10pt}.letter-preview .letter .letter-table caption{text-align:left;margin-bottom:.25em;font-weight:600}.letter-preview .letter .letter-table th,.letter-preview .letter .letter-table td{text-align:left;border:1px solid #d4d4d4;padding:.3em .5em}.letter-preview .letter .letter-table th{background:#f3f3f3;font-weight:600}.letter-preview .letter .letter-step-additional{margin-top:.5em}.letter-preview .letter .letter-appendix{page-break-before:always;margin-top:2.5em}
