:root{color:#1a1a1a;background:#f5f6f8;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}.app{max-width:1100px;margin:0 auto;padding:24px 20px 64px}.app h1{margin:0 0 4px;font-size:20px}.app .subtitle{color:#666;margin:0 0 20px;font-size:13px}.tabs{border-bottom:2px solid #e0e2e6;flex-wrap:wrap;gap:4px;margin-bottom:24px;display:flex}.tabs button{cursor:pointer;color:#555;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 16px;font-size:14px}.tabs button.active{color:#0b6bcb;border-bottom-color:#0b6bcb;font-weight:600}.flow{background:#fff;border:1px solid #e0e2e6;border-radius:10px;padding:20px}.flow h2{margin:0 0 4px;font-size:16px}.flow .flow-help{color:#666;margin:0 0 16px;font-size:13px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}.field{flex-direction:column;gap:4px;display:flex}.field label{color:#555;font-size:12px;font-weight:500}.field input,.field select{background:#fff;border:1px solid #ccd0d5;border-radius:6px;padding:8px 10px;font-size:14px}button.run{color:#fff;cursor:pointer;background:#0b6bcb;border:none;border-radius:6px;padding:10px 18px;font-size:14px;font-weight:600}button.run:disabled{opacity:.5;cursor:default}.panels{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}@media (width<=800px){.panels{grid-template-columns:1fr}}.panel{border:1px solid #e0e2e6;border-radius:8px;overflow:hidden}.panel>header{color:#444;text-transform:uppercase;letter-spacing:.03em;background:#f0f2f5;padding:8px 12px;font-size:12px;font-weight:600}.panel .panel-body{padding:12px;overflow-x:auto}.count-badge{color:#888;text-transform:none;letter-spacing:0;font-size:12px;font-weight:400}table.rows{border-collapse:collapse;width:100%;font-size:12px}table.rows th,table.rows td{text-align:left;white-space:nowrap;border:1px solid #eceef1;padding:4px 8px}table.rows th{background:#fafbfc;position:sticky;top:0}table.rows tbody tr:nth-child(2n){background:#fafbfc}.error{color:#a11;white-space:pre-wrap;background:#fdeaea;border:1px solid #f5b5b5;border-radius:6px;margin-top:12px;padding:10px 12px;font-size:13px}.warn{color:#855;background:#fff6e5;border:1px solid #f2d492;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:12px}.empty{color:#999;padding:8px;font-size:13px;font-style:italic}.derived{color:#333;margin:4px 0;font-size:13px}.derived strong{color:#0b6bcb}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}
