:root{--bg:#fff;--surface:#f6f7f9;--border:#d6dae0;--text:#14171a;--muted:#5a6472;--accent:#1a5fb4;--accent-text:#fff;--edited:#fff4d6;--edited-border:#e0a800;--error:#b3261e;--note:#0f6b3f;--row-alt:#fbfcfd}@media (prefers-color-scheme:dark){:root{--bg:#14171a;--surface:#1e2227;--border:#333a42;--text:#e6e9ed;--muted:#9aa4b2;--accent:#6ba3e8;--accent-text:#10131a;--edited:#3a3320;--edited-border:#b58900;--error:#f2b8b5;--note:#7ee0a8;--row-alt:#191d21}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{padding:0 12px 48px}header{border-bottom:1px solid var(--border);background:var(--bg);z-index:2;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 0;display:flex;position:sticky;top:0}header h1{white-space:nowrap;margin:0;font-size:17px}header nav{flex-wrap:wrap;gap:4px;display:flex}.who{align-items:center;gap:8px;margin-left:auto;display:flex}.centred{text-align:center;max-width:26rem;margin:12vh auto;padding:0 16px}.centred h1{font-size:24px}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:6px;min-height:36px;padding:7px 14px}button:disabled{opacity:.45;cursor:default}button.quiet{color:var(--text);border-color:var(--border);background:0 0}button.tab{color:var(--text);background:0 0;border-color:#0000;padding:6px 10px}button.tab.active{border-color:var(--accent);color:var(--accent);font-weight:600}input,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:5px;min-width:0;padding:5px 7px}input:disabled,select:disabled{background:var(--surface);color:var(--muted)}input[type=checkbox]{width:18px;height:18px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.toolbar input[type=search]{flex:12rem}.spacer{flex:auto}.bulk{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;padding:10px 12px;display:flex}.bulk label{color:var(--muted);align-items:center;gap:6px;display:flex}.bulk .count{color:var(--text);font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.error,.note,.banner{border:1px solid;border-radius:6px;margin:0 0 10px;padding:9px 12px}.error{color:var(--error);border-color:var(--error)}.note{color:var(--note);border-color:var(--note)}.banner{color:var(--muted);border-color:var(--border);background:var(--surface)}table.records{border-collapse:collapse;width:100%;font-size:14px}table.records th,table.records td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:5px 8px}table.records thead th{background:var(--surface);z-index:1;white-space:nowrap;font-size:13px;position:sticky;top:57px}table.records th .hint{color:var(--muted);font-size:11px;font-weight:400;display:block}table.records tbody tr:nth-child(2n){background:var(--row-alt)}table.records td input[type=text],table.records td input[type=number],table.records td select{width:100%}td.id,.records td.id{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}td.readonly{color:var(--muted);white-space:nowrap}th.select,td.select{width:34px}tr.edited{background:var(--edited)!important}td.edited-cell input,td.edited-cell select{border-color:var(--edited-border);border-width:2px}@media (width<=860px){table.records thead{display:none}table.records,table.records tbody,table.records tr,table.records td{width:auto;display:block}table.records tr{border:1px solid var(--border);background:var(--bg);border-radius:8px;margin-bottom:10px;padding:6px 8px}table.records tbody tr:nth-child(2n){background:var(--row-alt)}table.records td{border:none;align-items:center;gap:10px;padding:4px 0;display:flex}table.records td:before{content:attr(data-label);color:var(--muted);flex:0 0 8rem;font-size:13px}table.records td.select:before{content:"Select"}header h1{font-size:16px}}.detail{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-bottom:12px;padding:12px 14px}.detail header{border-bottom:1px solid var(--border);background:0 0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:0 0 8px;display:flex;position:static}.detail-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px;font-weight:600}.detail section{margin-bottom:10px}.detail h3{margin:0 0 6px;font-size:14px}.detail h4{color:var(--muted);margin:8px 0 4px;font-size:13px;font-weight:600}.detail ul,.detail ol{margin:0;padding-left:18px}.detail li{margin-bottom:3px}.detail ol.trail{list-style:decimal}button.link{min-height:0;font:inherit;color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-decoration:underline}button.link:hover{text-decoration:none}td.id button.link{font-size:inherit}ul.audit{margin:0;padding:0;list-style:none}.audit-entry{border-left:3px solid var(--border);margin-bottom:8px;padding:6px 0 6px 10px}.audit-entry.failed{border-left-color:var(--error)}.audit-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}table.audit-changes{border-collapse:collapse;margin-top:4px;font-size:13px}table.audit-changes th{text-align:left;color:var(--muted);vertical-align:top;white-space:nowrap;padding:1px 10px 1px 0;font-weight:600}table.audit-changes td{vertical-align:top;overflow-wrap:anywhere;padding:1px 6px 1px 0}table.audit-changes td.was{color:var(--muted);text-decoration:line-through}table.audit-changes td.arrow{color:var(--muted);padding:0 6px}td.derived{white-space:normal;min-width:14rem;font-size:13px}.new-record{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:8px;min-width:min(30rem,92vw);max-height:86vh;padding:20px;overflow-y:auto}.new-record::backdrop{background:#00000073}.new-record h2{margin:0 0 4px;font-size:1.1rem}.new-record .field{flex-direction:column;gap:2px;margin-top:12px;display:flex}.new-record .field:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:8px}.new-record .actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}
