:root{--bg: #fafaf9;--surface: #ffffff;--surface-tint: #f4f4f1;--border: #e2e1dc;--text: #1f1f1d;--muted: #6b6b66;--primary: #2f5c3a;--primary-dark: #1f3f27;--warning: #9a5a00;--warning-soft: #fff1d6;--danger: #b03030;--danger-soft: #fde7e7;--radius: 6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:13px;line-height:1.45}.root{display:flex;flex-direction:column;gap:10px;padding:12px;min-height:100vh}.hdr{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding-bottom:8px}.hdr-title{display:inline-flex;align-items:center;gap:8px}.brand{font-weight:700;font-size:15px;color:var(--primary)}.badge{font-size:10px;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-tint);border:1px solid var(--border);padding:2px 6px;border-radius:999px;color:var(--muted)}.hdr-meta{display:inline-flex;gap:6px;color:var(--muted);font-size:11px}.banner{padding:8px 10px;border-radius:var(--radius);background:var(--surface-tint);color:var(--muted);font-size:12px}.banner.warn{background:var(--warning-soft);color:var(--warning)}.card{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.card.error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.card h2{margin:0;color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.actions{flex-direction:row;flex-wrap:wrap}select,button{font:inherit}select{width:100%;padding:7px 8px;border:1px solid var(--border);border-radius:4px;color:var(--text);background:var(--surface)}button{padding:7px 10px;border:1px solid var(--border);border-radius:4px;color:var(--text);background:var(--surface);cursor:pointer}button:hover:not(:disabled){border-color:var(--primary)}button.primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}button:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--muted)}.small{font-size:11px}.rule-row{display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--border);border-radius:var(--radius)}.draft-body{white-space:pre-wrap;margin:0;color:var(--text)}.ftr{padding:6px 2px}
