:root{--bg: #f4f6f8;--surface: #ffffff;--border: #d8dde2;--text: #1f2937;--muted: #6b7280;--primary: #2563eb;--primary-hover: #1d4ed8;--error-bg: #fee2e2;--error-text: #991b1b}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;font-size:14px;background:var(--bg);color:var(--text)}button{font-family:inherit;font-size:14px;padding:.5rem 1rem;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;border-radius:4px}button:hover:not(:disabled){background:#f9fafb}button:disabled{opacity:.5;cursor:not-allowed}button.active,form button[type=submit]{background:var(--primary);color:#fff;border-color:var(--primary)}form button[type=submit]:hover:not(:disabled){background:var(--primary-hover)}input,select,textarea{font-family:inherit;font-size:14px;padding:.5rem;border:1px solid var(--border);border-radius:4px;background:#fff;width:100%}textarea{font-family:ui-monospace,SF Mono,Monaco,monospace;resize:vertical}label{display:block;margin-bottom:1rem;font-weight:500}label>input,label>select,label>textarea{margin-top:.25rem;font-weight:400}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;background:#fff;border-bottom:1px solid var(--border);padding:.75rem 1.5rem;gap:1.5rem}.brand{font-weight:600;font-size:16px}.topbar nav{display:flex;gap:.5rem;flex:1}.topbar nav button{background:transparent;border:1px solid transparent}.topbar nav button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.user{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:13px}.main{padding:1.5rem;max-width:1100px;width:100%;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1.5rem}.card h2{margin:0 0 1rem;font-size:18px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header h2{margin:0}.actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.error{background:var(--error-bg);color:var(--error-text);padding:.75rem;border-radius:4px;margin:1rem 0;font-size:13px}.hint{background:#fef3c7;color:#78350f;padding:.75rem;border-radius:4px;margin:1rem 0;font-size:13px;border-left:4px solid #f59e0b}.add-form{background:#f9fafb;padding:1.5rem;border-radius:6px;margin-bottom:1.5rem;border:1px solid var(--border)}table{width:100%;border-collapse:collapse;margin-top:1rem}th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--border);font-size:13px;vertical-align:top}th{background:#f9fafb;font-weight:600}td code{font-size:12px;background:#f3f4f6;padding:.1rem .3rem;border-radius:3px}td small{color:var(--muted);font-size:12px}.row-actions{display:flex;gap:.4rem}.recipient-fieldset{border:1px solid var(--border);border-radius:4px;padding:.5rem .75rem .75rem;margin:0}.recipient-fieldset legend{font-size:12px;color:var(--muted);padding:0 .4rem}.checkbox-row{display:flex;align-items:center;gap:.4rem;margin-top:.3rem}.checkbox-row input{width:auto}.muted{color:var(--muted);font-style:italic}button.link{background:transparent;border:none;padding:0;color:var(--primary);text-align:left;text-decoration:underline;cursor:pointer}button.link:hover:not(:disabled){background:transparent;color:var(--primary-hover)}.modal-overlay{position:fixed;inset:0;background:#11182780;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;overflow-y:auto;z-index:100}.modal{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;max-width:720px;padding:1.5rem;box-shadow:0 10px 40px #00000040}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.modal-header h3{margin:0;font-size:16px;word-break:break-word}.modal-header button{border:none;background:transparent;font-size:16px;line-height:1;color:var(--muted);padding:.25rem .5rem}.modal-meta{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0 0 1rem;font-size:13px}.modal-meta dt{color:var(--muted);font-weight:600}.modal-meta dd{margin:0;word-break:break-word}.modal-meta code{font-size:12px;background:#f3f4f6;padding:.1rem .3rem;border-radius:3px;word-break:break-all}.modal-body{background:#f9fafb;border:1px solid var(--border);border-radius:4px;padding:1rem;font-family:ui-monospace,SF Mono,Monaco,monospace;font-size:13px;white-space:pre-wrap;word-break:break-word;max-height:50vh;overflow-y:auto;margin:0}
