:root{--bg:#161b22;--bg-panel:#1c232c;--bg-elevated:#232b35;--border:#2c3542;--text:#e7ecf2;--text-dim:#8b97a6;--accent:#4fd1c5;--accent-dim:#2f6e68;--red:#e0654a;--green:#5fbf6f;--mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--sans:Inter, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--sans);margin:0}button,textarea{font:inherit}.upper-filter{border-bottom:1px solid var(--border);background:var(--bg-elevated);align-items:center;gap:10px;padding:10px 12px;display:flex}.app-shell{grid-template-columns:300px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--bg-panel);border-right:1px solid var(--border);max-height:100vh;padding:20px 16px;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;margin-bottom:24px;display:flex}.brand-mark{color:var(--accent);font-size:22px}.brand-title{font-size:15px;font-weight:700}.brand-sub{color:var(--text-dim);font-size:11px}.panel{margin-bottom:26px}.panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0 0 10px;font-size:11px}.loading-note{color:var(--text-dim);font-size:12px}.schema-list,.examples-list{flex-direction:column;gap:6px;display:flex}.schema-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;transition:border-color .15s}.schema-item:hover{border-color:var(--accent-dim)}.schema-item-head{cursor:pointer;font-family:var(--mono);justify-content:space-between;align-items:baseline;padding:8px 10px;font-size:12.5px;list-style:none;display:flex}.schema-item-head::-webkit-details-marker{display:none}.schema-item-head .count{color:var(--text-dim);font-size:11px}.schema-cols{color:var(--text-dim);font-size:11px;font-family:var(--mono);padding:0 10px 8px;line-height:1.6}.column-type{opacity:.58}.example-item{text-align:left;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;border-radius:6px;width:100%;padding:9px 10px;transition:border-color .15s,transform .1s}.example-item:hover{border-color:var(--accent);transform:translate(1px)}.ex-title,.ex-desc{display:block}.ex-title{margin-bottom:3px;font-size:12.5px;font-weight:600}.ex-desc{color:var(--text-dim);font-size:11.5px}.main-content{flex-direction:column;gap:22px;min-width:0;max-width:1400px;padding:28px 36px;display:flex}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.topbar h1{margin:0 0 6px;font-size:22px}.topbar-sub{color:var(--text-dim);max-width:620px;margin:0;font-size:13px}.page-button{background:0 0}.status{font-family:var(--mono);white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:11px}.status.connected{color:var(--green);border:1px solid var(--green)}.status.disconnected{color:var(--red);border:1px solid var(--red)}.editor-block,.results-block{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.editor-toolbar{border-bottom:1px solid var(--border);background:var(--bg-elevated);align-items:center;gap:10px;padding:10px 12px;display:flex}.btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:7px 14px;font-size:12.5px}.btn:hover:not(:disabled){border-color:var(--text-dim)}.btn:disabled{opacity:.55;cursor:wait}.btn-primary{background:var(--accent);color:#0a1210;border-color:var(--accent);font-weight:700}.btn-primary:hover:not(:disabled){background:#63ded1}.btn kbd{font-family:var(--mono);opacity:.75;font-size:10.5px}.run-info{font-family:var(--mono);color:var(--text-dim);margin-left:auto;font-size:11.5px}#sql-editor{background:var(--bg-panel);width:100%;min-height:180px;color:var(--text);font-family:var(--mono);resize:vertical;border:0;outline:0;padding:16px;font-size:13.5px;line-height:1.6;display:block}.error-box{color:#ffb4a3;font-family:var(--mono);background:#3a1f1c;border-top:1px solid #5a2c26;padding:10px 14px;font-size:12.5px}.results-block{flex:1;min-height:300px;padding:16px}.results-header{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.results-header h2{margin:0;font-size:13px}.result-meta{color:var(--text-dim);font-family:var(--mono);font-size:11.5px}.table-wrap{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:12px}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:9px 10px}th{color:var(--text-dim);background:var(--bg-elevated);position:sticky;top:0}tbody tr:hover{background:#4fd1c50a}.empty-state{min-height:230px;color:var(--text-dim);place-items:center;font-size:13px;display:grid}.badge-high{color:#ff8c73;font-weight:700}.badge-medium{color:#e0a94a;font-weight:700}.badge-low{color:#72ce80;font-weight:700}@media (max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);max-height:none;position:static}.main-content{padding:20px 16px}}.dialog-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050a0fb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;width:min(100%,620px);max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 24px 80px #00000080,0 0 0 1px #ffffff05}.dialog-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px;display:flex}.dialog-header h2{margin:0;font-size:17px}.dialog-header p{color:var(--text-dim);margin:5px 0 0;font-size:12.5px}.dialog-close{width:34px;height:34px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;place-items:center;font-size:24px;line-height:1;display:grid}.dialog-close:hover:not(:disabled){color:var(--text);border-color:var(--border);background:var(--bg-panel)}.dialog-close:disabled{opacity:.5;cursor:wait}.dialog-panel form{padding:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-field{flex-direction:column;gap:6px;min-width:0;display:flex}.form-field-wide{grid-column:1/-1}.form-field label{color:var(--text-dim);font-size:12px;font-weight:600}.form-input{border:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--text);font-family:var(--sans);border-radius:6px;outline:none;padding:9px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4fd1c51f}.form-input:disabled{opacity:.6;cursor:wait}.form-input.input-error{border-color:var(--red)}.form-input.input-error:focus{box-shadow:0 0 0 3px #e0654a1f}.field-error{color:#ff9a84;font-size:11.5px}.form-submit-error{color:#ffb4a3;background:#3a1f1c;border:1px solid #5a2c26;border-radius:6px;margin-top:16px;padding:10px 12px;font-size:12.5px}.dialog-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;display:flex}@media (max-width:600px){.dialog-overlay{padding:10px}.dialog-panel{max-height:calc(100vh - 20px)}.form-grid{grid-template-columns:1fr}.form-field-wide{grid-column:auto}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}}.auth-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}
