:root{color-scheme:light;--bg: #f4f6f9;--panel: #ffffff;--panel-2: #f9fafb;--border: #e3e7ee;--border-strong: #7f8a9d;--text: #111827;--muted: #5b6472;--accent: #2f5fdb;--accent-hover: #2450c0;--accent-soft: #e8eefc;--ring: rgba(47, 95, 219, .28);--danger: #b42318;--danger-bg: #fee4e2;--ok-fg: #0f6b3a;--ok-bg: #dcfce7;--warn-fg: #8a5a00;--warn-bg: #fdf0d5;--info-fg: #1d4ed8;--info-bg: #dbeafe;--gray-fg: #475467;--gray-bg: #eaecf0;--radius: 10px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--control-h: 36px;--t: .15s ease}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 12px;font-weight:600;letter-spacing:-.01em;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.125rem;margin-top:28px}h3{font-size:1rem;margin-top:20px}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.page{max-width:1200px;margin:0 auto;padding:24px 24px 72px}.centered-page{max-width:400px;margin:10vh auto;padding:0 20px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;height:56px;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border)}.topbar-title{display:flex;align-items:center;gap:12px;min-width:0}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:-.01em}.brand-mark{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--accent),#6d8ff0);flex:none}.topbar-back{color:var(--muted);text-decoration:none;padding:4px 8px;border-radius:6px;transition:background var(--t),color var(--t)}.topbar-back:hover{background:var(--gray-bg);color:var(--text)}.topbar-page{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-page:before{content:"/";margin-right:12px;color:var(--border-strong)}.topbar-nav{display:flex;gap:4px;align-items:center}.topbar-nav a,.topbar-nav .link-button{color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:6px;transition:background var(--t),color var(--t)}.topbar-nav a:hover,.topbar-nav .link-button:hover{background:var(--gray-bg);color:var(--text)}.topbar-nav a[aria-current=page]{color:var(--accent);background:var(--accent-soft);font-weight:500}button,input,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h);padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--t),border-color var(--t),color var(--t),box-shadow var(--t)}button:hover{background:var(--panel-2);border-color:var(--text)}button:active{transform:translateY(.5px)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{border-color:var(--danger);color:var(--danger)}button.danger:hover{background:var(--danger-bg)}button.small{height:28px;padding:0 10px;font-size:.85rem}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.link-button{height:auto;background:none;border:none;color:var(--accent);font-weight:500;padding:4px 6px;margin:-4px -6px;border-radius:6px}.link-button:hover{background:var(--accent-soft);border:none}input:not([type=checkbox]),select{height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:0 10px;background:var(--panel);color:var(--text);min-width:0;transition:border-color var(--t),box-shadow var(--t)}input[type=file]{padding:6px 10px}input:not([type=checkbox]):focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}form .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}label{font-size:.85rem;font-weight:500;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));column-gap:16px}.error-banner{display:flex;gap:8px;align-items:flex-start;background:var(--danger-bg);color:var(--danger);border:1px solid rgba(180,35,24,.35);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:12px;font-size:.9rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.card>:first-child{margin-top:0}.toolbar{display:flex;gap:8px;align-items:center;margin:12px 0;flex-wrap:wrap}.toolbar .spacer{flex:1}.hint-box{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:.85rem;color:var(--text);margin:8px 0}.hint-box>div+div{margin-top:2px;color:var(--muted)}.muted{color:var(--muted)}.empty{padding:28px 20px;text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--border-strong);border-radius:var(--radius)}.forbidden{padding:40px 0;text-align:center;color:var(--danger)}.table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px}table{width:100%;border-collapse:collapse;background:var(--panel)}th,td{border-bottom:1px solid var(--border);text-align:left;padding:9px 10px;vertical-align:top}tbody tr:last-child td{border-bottom:none}th{background:var(--panel-2);color:var(--muted);font-weight:600;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}tbody tr{transition:background var(--t)}tbody tr:hover{background:var(--panel-2)}.num,th.num,td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tr.row-flagged{background:var(--warn-bg)}tr.row-flagged:hover{background:#fbe8bd}tr.row-selectable{cursor:pointer}tr.row-selectable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}tr.row-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}tr.row-explain,tr.row-explain:hover{background:var(--accent-soft)}tr.row-explain td{cursor:default;color:var(--text);font-size:.9rem}tr.row-explain p{margin:4px 0}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.chip-value{background:var(--ok-bg);color:var(--ok-fg)}.chip-not_visible{background:var(--gray-bg);color:var(--gray-fg)}.chip-flagged{background:var(--warn-bg);color:var(--warn-fg)}.chip-queued{background:var(--gray-bg);color:var(--gray-fg)}.chip-running{background:var(--info-bg);color:var(--info-fg)}.chip-done{background:var(--ok-bg);color:var(--ok-fg)}.chip-failed{background:var(--danger-bg);color:var(--danger)}.chip-needs_password{background:var(--warn-bg);color:var(--warn-fg)}.chip-cancelled{background:var(--gray-bg);color:var(--gray-fg)}.chip-running:before{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.2}}@media(prefers-reduced-motion:reduce){.chip-running:before{animation:none}}.list-card{padding:0;overflow:hidden}.list-card a{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border);transition:background var(--t)}.list-card a:last-child{border-bottom:none}.list-card a:hover{background:var(--panel-2);color:var(--accent)}.list-card a:after{content:"";width:8px;height:8px;border-right:2px solid var(--border-strong);border-bottom:2px solid var(--border-strong);transform:rotate(-45deg);flex:none}.summary-strip{display:flex;gap:24px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 18px;margin:12px 0 16px;font-size:.85rem;color:var(--muted)}.summary-strip strong{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.two-pane{display:flex;gap:20px;align-items:flex-start}.two-pane .photo-pane{flex:0 0 340px;position:sticky;top:72px}.two-pane .photo-pane .pane-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.85rem;color:var(--muted)}.two-pane .photo-pane img{max-width:100%;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--panel)}.two-pane .photo-pane object{display:block;width:100%;height:calc(100vh - 120px);min-height:420px;border:1px solid var(--border);border-radius:var(--radius);background:var(--gray-bg)}.two-pane .fields-pane{flex:1;min-width:0}@media(max-width:900px){.two-pane{flex-direction:column}.two-pane .photo-pane{flex:none;position:static;width:100%}.two-pane .photo-pane object{height:60vh}}.field-row{display:grid;grid-template-columns:160px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.field-row .field-name{color:var(--muted);font-size:.85rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.field-row .field-value{overflow-wrap:anywhere}.field-row .field-source{color:var(--muted);font-size:.75rem}@media(max-width:640px){.field-row{grid-template-columns:1fr auto}.field-row .field-name{grid-column:1 / -1;padding-top:4px}}.inline-edit{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.inline-edit input{height:30px}.corrected-badge{font-size:.72rem;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:1px 7px;margin-left:6px}.save-error{font-size:.8rem;color:var(--danger);margin-left:6px}td.cell-value{box-shadow:inset 3px 0 0 var(--ok-fg)}td.cell-not_visible{box-shadow:inset 3px 0 0 var(--border-strong)}td.cell-flagged{box-shadow:inset 3px 0 0 var(--warn-fg);background:var(--warn-bg)}td.num .cell-actions{justify-content:flex-end}td .cell-actions{display:flex;gap:8px;margin-top:4px;font-size:.8rem}pre.json{background:#0f172a;color:#e2e8f0;border-radius:var(--radius);padding:16px;overflow:auto;font-size:.8rem;max-height:60vh}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow-x:auto}.tab{height:auto;border:none;background:none;border-radius:0;padding:10px 14px;margin-bottom:-1px;color:var(--muted);font-weight:500;border-bottom:2px solid transparent}.tab:hover{background:none;color:var(--text);border-color:var(--border-strong)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}td .edit-affordance{opacity:.15;margin-left:6px}tr:hover .edit-affordance,tr:focus-within .edit-affordance,.field-row:hover .edit-affordance,.field-row:focus-within .edit-affordance{opacity:1}td.nowrap{white-space:nowrap}
