:root{color-scheme:light;--bg: #f4f1ea;--surface: #fffdf8;--ink: #1f1c18;--muted: #6f675c;--line: #ddd4c7;--accent: #2f5d50;--accent-soft: #e7f0ec;--danger: #8b3a32;--shadow: none;font-family:DM Sans,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}.shell{width:min(960px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem}.login{min-height:100vh;display:grid;align-content:center;gap:1.5rem}.brand h1{margin:.2rem 0 0;font-size:1.75rem;font-weight:600}.topbar h1{margin:.15rem 0 0;font-size:1.15rem;font-weight:600}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--muted)}.topbar{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.65rem}.health{margin:0 0 1.15rem;color:var(--muted);font-size:.95rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.25rem;box-shadow:var(--shadow)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.section-head h2{margin:0;font-size:1.2rem;display:flex;align-items:baseline;gap:.65rem}.section-actions{display:flex;align-items:center;gap:.5rem}.count{font-size:.92rem;font-weight:400;color:var(--muted)}.hint{margin:.35rem 0 0;color:var(--muted);font-size:.92rem}.empty{margin:0;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid var(--line)}th{font-size:.82rem;color:var(--muted);font-weight:500}td:first-child{font-weight:500}tr:last-child td{border-bottom:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.actions{display:flex;gap:.25rem;justify-content:flex-end;align-items:center}button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.55rem 1rem;cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.ghost{background:transparent}button.quiet{background:transparent;border-color:transparent;color:var(--muted);padding:.35rem .55rem}button.quiet:hover{color:var(--ink);background:var(--accent-soft)}button.danger{color:var(--danger)}.actions button.danger{background:transparent;border-color:transparent;font-size:.85rem;font-weight:400;padding:.3rem .45rem;opacity:.8}.actions button.danger:hover{opacity:1;background:transparent;text-decoration:underline}label{display:block;margin:.75rem 0 .35rem;font-size:.92rem}input,select{width:100%;border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;background:#fff}input:read-only{border-color:transparent;background:transparent;padding-left:0;color:var(--ink);opacity:1;-webkit-text-fill-color:var(--ink);box-shadow:none;cursor:default}.error{color:var(--danger);margin:.75rem 0 0}dialog{border:1px solid var(--line);border-radius:18px;padding:0;max-width:min(720px,calc(100vw - 2rem));background:var(--surface);box-shadow:var(--shadow)}dialog::backdrop{background:#1f1c1847}.dialog-body{padding:1.25rem}.dialog-body h2{margin:0 0 .5rem;font-size:1.15rem}.diff{margin:.75rem 0 1rem;padding:.75rem;max-height:18rem;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#faf7f1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;white-space:pre-wrap;word-break:break-word}.dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.dialog-actions button.danger{background:transparent;border:1px solid var(--line);font-size:inherit;padding:.55rem 1rem;opacity:1}@media(max-width:640px){.section-head,.topbar{flex-direction:column;align-items:stretch}.actions{flex-direction:column}}
