*{box-sizing:border-box}:root{--bg: #f4f5f7;--card: #ffffff;--border: #e2e5ea;--text: #1f2430;--muted: #6b7280;--primary: #2563eb;--danger: #dc2626;--radius: 8px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.muted{color:var(--muted)}.small{font-size:12px}.spacer{flex:1}.row{display:flex;align-items:center;gap:8px}.topbar{display:flex;align-items:center;gap:12px;padding:10px 20px;background:#1e293b;color:#e2e8f0;position:sticky;top:0;z-index:10}.topbar h1{font-size:15px;margin:0;font-weight:600}.topbar .muted{color:#94a3b8}main{max-width:960px;margin:0 auto;padding:20px}.tabs{display:flex;gap:4px;margin-bottom:16px}.tab{border:1px solid var(--border);background:var(--card);padding:6px 16px;border-radius:999px;cursor:pointer;color:var(--muted);font:inherit}.tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.proc-row{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.proc-head{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;font:inherit;color:inherit;text-align:left}.proc-head:hover{background:#f8fafc}.chevron{color:var(--muted);width:12px}.proc-body{border-top:1px solid var(--border);padding:12px 16px;display:grid;gap:12px}.item-card{display:flex;gap:16px;border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:#fafbfc}.thumbs{display:flex;gap:10px}.thumbs figure{margin:0;text-align:center}.thumbs img,.thumb-empty{width:140px;height:100px;object-fit:cover;border-radius:6px;border:1px solid var(--border);background:#eef0f3}.thumb-empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.thumbs figcaption{font-size:11px;color:var(--muted);margin-top:4px}.item-meta{display:flex;flex-direction:column;gap:6px;min-width:0}.actions{display:flex;gap:8px;margin-top:auto}.badge{padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.badge-pending{background:#fef3c7;color:#92400e}.badge-processing{background:#dbeafe;color:#1e40af}.badge-completed{background:#dcfce7;color:#166534}.badge-failed{background:#fee2e2;color:#991b1b}.badge-unknown{background:#e5e7eb;color:#374151}button{font:inherit}.btn-primary,.btn-danger,.btn-ghost,.login-card button{border:none;border-radius:6px;padding:7px 14px;cursor:pointer;font-weight:500}.btn-primary{background:var(--primary);color:#fff}.btn-danger{background:#fff;color:var(--danger);border:1px solid var(--danger)}.btn-ghost{background:transparent;color:#cbd5e1;border:1px solid #475569}.btn-primary:disabled,.btn-danger:disabled{opacity:.6;cursor:default}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:32px;width:360px;display:flex;flex-direction:column;gap:14px}.login-card h1{margin:0;font-size:20px}.login-card p{margin:0 0 6px}.login-card label{display:flex;flex-direction:column;gap:4px;font-weight:500;font-size:13px}.login-card input{border:1px solid var(--border);border-radius:6px;padding:8px 10px;font:inherit}.login-card input:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:transparent}.login-card button{background:var(--primary);color:#fff;padding:10px;margin-top:6px}.error{background:#fee2e2;color:#991b1b;border-radius:6px;padding:8px 12px;font-size:13px}.empty{color:var(--muted);text-align:center;padding:48px 0}
