:root{--bg: #f6f7f9;--panel: #ffffff;--border: #e2e5ea;--text: #1c2330;--muted: #6b7280;--accent: #2563eb;--accent-d: #1d4ed8;--danger: #dc2626;--ok: #16a34a;--warn: #d97706}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;padding:7px 14px;font-size:14px}button:hover{background:var(--accent-d)}button:disabled{opacity:.5;cursor:not-allowed}button.link{background:none;border:none;color:var(--accent);padding:2px 6px}button.link:hover{background:none;text-decoration:underline}button.link.danger{color:var(--danger)}input,select{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:#fff}label{display:block;margin:8px 0;font-size:13px;color:var(--muted)}label input,label select{margin-top:3px}label.check{display:flex;align-items:center;gap:7px;color:var(--text)}label.check input{width:auto;margin:0}label.inline{display:inline-flex;align-items:center;gap:6px;margin:0}label.inline select{width:auto}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px}.muted{color:var(--muted)}.small{font-size:12px}.center{display:flex;align-items:center;justify-content:center;min-height:60vh;text-align:center}.error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 10px;margin:8px 0}.topbar{display:flex;align-items:center;gap:18px;background:var(--panel);border-bottom:1px solid var(--border);padding:10px 20px}.brand{font-weight:700;font-size:16px}.topbar nav{display:flex;gap:14px}.topbar nav a{color:var(--muted);padding:4px 2px}.topbar nav a.active{color:var(--text);border-bottom:2px solid var(--accent)}.spacer{flex:1}.user{display:flex;align-items:center;gap:10px}main{padding:20px;max-width:1280px;margin:0 auto}.login{width:320px;display:flex;flex-direction:column}.login h1{margin:0}.records{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:start}.filters h3{margin-top:0}.filters fieldset{border:1px solid var(--border);border-radius:6px;margin:8px 0;padding:8px 10px}.filters legend{color:var(--muted);font-size:12px;padding:0 4px}.tagbox{max-height:180px;overflow:auto}.results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.results-head h2{margin:0}.meta{display:flex;align-items:center;gap:12px;color:var(--muted)}.groups{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.chip{background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:3px 10px;font-size:12px}.chip.removed{background:#fef2f2;border-color:#fecaca;color:var(--danger)}table.grid{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}table.grid th,table.grid td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top}table.grid th{background:#fafbfc;color:var(--muted);font-weight:600;font-size:12px}table.grid tr:last-child td{border-bottom:none}tr.removed td{opacity:.55}.tag{display:inline-block;background:#f1f5f9;border:1px solid var(--border);border-radius:4px;padding:1px 6px;margin:1px 3px 1px 0;font-size:11px}.actions{white-space:nowrap}.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px}.pager button{background:var(--panel);color:var(--text);border:1px solid var(--border)}.detail h1{margin:8px 0}.badges{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.detail .card{margin:14px 0}.docs{margin:0;padding-left:18px}dl.kv>div{display:grid;grid-template-columns:200px 1fr;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}dl.kv dt{color:var(--muted);font-weight:600}dl.kv dd{margin:0}dl.kv pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 16px}.form-actions{display:flex;gap:10px;margin-top:10px}.form-row{margin-bottom:16px}.runs section{margin-bottom:24px}.status{border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}.status-pending{background:#fef9c3;color:var(--warn)}.status-running{background:#dbeafe;color:var(--accent-d)}.status-done{background:#dcfce7;color:var(--ok)}.status-error{background:#fee2e2;color:var(--danger)}.status-cancelled{background:#f3e8ff;color:#7c3aed}.error-text{color:var(--danger)}@media (max-width: 820px){.records{grid-template-columns:1fr}}
