:root{--text:oklch(46% .015 270);--text-h:oklch(25.5% .02 270);--page:#f4f5f7;--bg:#fff;--panel:#fff;--border:oklch(88% .008 90);--code-bg:#eef0f3;--accent:oklch(30.5% .075 255);--accent-bg:oklch(30.5% .075 255/.1);--accent-border:oklch(30.5% .075 255/.4);--sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--shadow-card:0 1px 3px 0 #00000014, 0 1px 2px -1px #0000000f;font:15px/1.45 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--page);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:var(--page);margin:0}h1,h2{color:var(--text-h);font-weight:600}p{margin:0}.app{max-width:1200px;margin:0 auto;padding:24px}header h1{margin:0 0 6px;font-size:24px}.muted{color:var(--text);opacity:.8}.conn-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.conn{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);font:inherit;border-radius:8px;padding:7px 10px;font-weight:600}.conn-row .spacer{flex:1}.modes{border:1px solid var(--border);border-radius:8px;gap:0;display:flex;overflow:hidden}.mode{background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border:none;padding:7px 12px}.mode.on{background:var(--accent-bg);color:var(--accent);font-weight:600}.modes.small .mode{padding:4px 10px;font-size:12px}.login-wrap{justify-content:center;align-items:center;min-height:90vh;display:flex}.login{border:1px solid var(--border);background:var(--panel);width:300px;box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;gap:10px;padding:28px;display:flex}.login h1{margin:0;font-size:28px}.login input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;border-radius:8px;padding:9px 11px}.login .run{margin:4px 0 0}.login code{font-family:var(--mono);background:var(--code-bg);border-radius:4px;padding:1px 5px;font-size:12px}.user-chip{color:var(--text-h);font-size:12px}.linkbtn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:12px}.result-head{align-items:center;gap:12px;margin-bottom:6px;display:flex}.result-head .modes{margin-left:auto}.chart-wrap{border:1px solid var(--border);background:var(--panel);border-radius:8px;margin-top:8px;padding:12px}.add-any{border:1px dashed var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:6px;margin-top:8px;padding:7px 9px;font-size:12px}.sql-editor{flex-direction:column;gap:10px;display:flex}.sql-input{resize:vertical;border:1px solid var(--border);background:var(--code-bg);width:100%;min-height:180px;color:var(--text-h);font-family:var(--mono);border-radius:8px;padding:12px;font-size:13px;line-height:1.5}.subject-list{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);font:inherit;border-radius:6px;margin-top:6px;font-size:13px}.subject-list option{padding:3px 6px}.dossier h2{margin:0 0 2px;font-size:18px}.section-card{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-card);border-radius:8px;margin-bottom:8px}.section-card>summary{cursor:pointer;color:var(--text-h);align-items:center;gap:8px;padding:8px 12px;font-weight:500;list-style:none;display:flex}.section-card>summary::-webkit-details-marker{display:none}.section-card .badge{background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.section-card .grid-wrap{max-height:300px;margin:0 8px 8px}.layout{grid-template-columns:320px 1fr;align-items:start;gap:20px;margin-top:20px;display:grid}@media (width<=860px){.layout{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:10px;flex-direction:column;gap:16px;padding:16px;display:flex}.block{flex-direction:column;gap:6px;display:flex}.label{text-transform:uppercase;letter-spacing:.06em;color:var(--text);font-size:12px}select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);font:inherit;border-radius:6px;padding:8px 10px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:13px}.chip.on{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.fields{flex-direction:column;gap:2px;max-height:220px;padding-right:4px;display:flex;overflow:auto}.field{cursor:pointer;align-items:center;gap:8px;padding:2px 0;font-size:13px;display:flex}.field .type{opacity:.6;font-size:11px;font-family:var(--mono);margin-left:auto}.run{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);font:inherit;cursor:pointer;border-radius:8px;margin-top:4px;padding:10px;font-weight:600}.run:disabled{opacity:.45;cursor:not-allowed}.results{min-width:0}.sql{background:var(--code-bg);border:1px solid var(--border);font-family:var(--mono);color:var(--text-h);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:0 0 8px;padding:12px;font-size:12.5px}.error{color:#e05656;font-family:var(--mono);background:#dc28281a;border:1px solid #dc282866;border-radius:8px;padding:12px;font-size:13px}.builder{flex-direction:column;gap:16px;margin-bottom:18px;display:flex}.section{flex-direction:column;gap:8px;display:flex}.small{font-size:12px}.pills{flex-direction:column;gap:6px;display:flex}.pill{background:var(--panel);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.pill .grip{cursor:grab;opacity:.5;touch-action:none;-webkit-user-select:none;user-select:none}.pill-name{color:var(--text-h);font-family:var(--mono);font-size:12.5px}.pill select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;border-radius:5px;margin-left:auto;padding:3px 6px;font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.row select,.row input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;border-radius:6px;padding:6px 8px;font-size:13px}.row input{width:140px}.x{color:var(--text);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.x.mini{text-transform:none;letter-spacing:0;opacity:.7;margin-left:8px;font-size:11px}.add{border:1px dashed var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:5px 10px;font-size:12px}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.actions .spacer{flex:1}.ghost{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;cursor:pointer;border-radius:8px;padding:9px 12px;font-weight:500}.ghost:disabled{opacity:.45;cursor:not-allowed}.actions .name{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;border-radius:8px;width:130px;padding:8px 10px}.actions .load{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;border-radius:8px;padding:8px}.actions .run{margin:0}.warn{color:#c98a2b;background:#d28c141f;border:1px solid #d28c1466;border-radius:8px;margin-bottom:8px;padding:10px 12px;font-size:13px}.grid-wrap{border:1px solid var(--border);border-radius:8px;max-height:520px;margin-top:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:7px 12px}th{background:var(--panel);color:var(--text-h);font-weight:600;position:sticky;top:0}td{color:var(--text-h)}.null{opacity:.4;font-style:italic}
