:root{--ink:#10243b;--muted:#6a7787;--paper:#f5f7fa;--card:#fff;--line:#e4e9ef;--accent:#176b84;--accent-dark:#0e4b61;--success:#147a55;--danger:#b4333f;--sidebar:#0b2235}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}.shell{min-height:100vh;display:flex}.sidebar{width:258px;background:var(--sidebar);color:#d8e5ed;padding:28px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:24px;font-weight:750;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#65cae4;color:#092033;font-size:18px}.product,.eyebrow{letter-spacing:.14em;font-size:11px;font-weight:800}.product{opacity:.55;margin:20px 8px 26px}nav{display:grid;gap:6px}nav a{color:#b9cbd5;text-decoration:none;padding:12px 14px;border-radius:10px;font-weight:650}nav a:hover,nav a.active{background:#163c56;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #1c3b50;padding:18px 10px 0;display:grid;gap:8px;font-size:13px}.sidebar-bottom a{color:#8fd8eb}.main{flex:1;min-width:0;padding:38px 44px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.eyebrow{color:var(--accent);margin:0 0 6px}.topbar h1{font-size:30px;letter-spacing:-.04em;margin:0}.status{background:#e8f7ee;color:var(--success);padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700}.status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);margin-right:6px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 25px rgba(16,36,59,.04)}.card{padding:20px}.card p{margin:0;color:var(--muted);font-weight:650;font-size:13px}.card strong{display:block;margin-top:12px;font-size:30px;letter-spacing:-.04em}.panel{margin-top:20px;padding:22px}.panel h2{margin:0 0 18px;font-size:18px}.split{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:0 12px 12px}td{padding:14px 12px;border-top:1px solid var(--line)}.badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#edf4f6;color:var(--accent-dark);font-weight:750;font-size:12px}.badge.warn{background:#fff0ed;color:#b34a31}.badge.ok{background:#e8f7ee;color:var(--success)}button,.button{background:var(--accent);border:0;border-radius:9px;color:#fff;padding:10px 14px;font-weight:750;cursor:pointer;text-decoration:none;font-size:14px}.button.secondary,button.secondary{background:#eef3f7;color:var(--ink)}button.danger{background:var(--danger)}form.inline{display:inline}input,select{width:100%;border:1px solid #ced7e1;border-radius:9px;padding:10px 11px;background:#fff;font:inherit;color:var(--ink)}label{display:grid;gap:7px;font-size:13px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-actions{margin-top:16px;display:flex;gap:10px}.flash{padding:13px 16px;border-radius:10px;margin-bottom:18px;font-weight:650}.flash.success{background:#e8f7ee;color:#126b4c}.flash.error{background:#fff0f1;color:#a52e38}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0b2235,#176b84)}.login-card{width:min(420px,calc(100% - 32px));background:#fff;border-radius:18px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.28)}.login-card h1{margin:0 0 8px}.login-card p{color:var(--muted);margin:0 0 22px}@media(max-width:900px){.sidebar{width:76px;padding:22px 10px}.brand span:not(.brand-mark),.product,.sidebar nav a{font-size:0}.sidebar nav a{height:44px}.sidebar-bottom{display:none}.main{padding:26px 20px}.grid,.split{grid-template-columns:1fr 1fr}}@media(max-width:620px){.grid,.split,.form-grid{grid-template-columns:1fr}.topbar{gap:16px;flex-direction:column}}

/* Replace the prior SQL Console CSS with this file, or append it after existing console styles. */
.sql-console-panel { overflow: visible; }
.panel-heading { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.panel-heading h2 { margin:0 0 .25rem; }
.panel-heading p { margin:0; color:var(--muted); line-height:1.55; }
.sql-warning { margin:1rem 0; padding:1rem; border:1px solid rgba(191,120,0,.25); border-radius:12px; background:#fff9e8; color:#604900; line-height:1.5; }
.sql-workspace { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:1rem; margin-top:.6rem; align-items:start; }
.sql-main,.sql-sidebar,.sql-side-section { min-width:0; }
.sql-sidebar { display:grid; gap:1rem; }
.sql-side-section { padding:1rem; background:#f8fafc; border:1px solid #dce4ec; border-radius:12px; }
.sql-side-section h3 { margin:0 0 .65rem; font-size:.95rem; }
.sql-side-section select { width:100%; min-height:185px; font:inherit; border:1px solid #cbd5e1; border-radius:9px; padding:.35rem; background:#fff; }
.sql-editor-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:.45rem; gap:.75rem; }
.sql-status { border-radius:999px; padding:.28rem .6rem; font-size:.78rem; font-weight:700; white-space:nowrap; }
.sql-status.neutral { background:#e8eef5; color:#405166; }.sql-status.valid { background:#e6f6ea; color:#176b37; }.sql-status.caution { background:#fff0d4; color:#925900; }.sql-status.invalid { background:#fee8e8; color:#a12424; }
.sql-editor-shell { position:relative; min-height:350px; border:1px solid #b9c7d6; border-radius:12px; overflow:hidden; background:#10243b; box-shadow:inset 0 1px 2px rgba(0,0,0,.16); }
#sqlHighlight,#sql { position:absolute; inset:0; width:100%; height:100%; margin:0; box-sizing:border-box; padding:1rem; border:0; font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; tab-size:4; white-space:pre-wrap; overflow:auto; }
#sqlHighlight { pointer-events:none; color:#dceaf5; background:transparent; z-index:1; }
.sql-editor { width:100%; min-height: 120px; z-index:2; resize:none; color:transparent; caret-color:#fff; background:transparent; outline:none; -webkit-text-fill-color:transparent; }

.sql-commands {margin-top: 24px;}
.sql-editor::placeholder { color:#9fb2c7; -webkit-text-fill-color:#9fb2c7; }
.tok-keyword { color:#76c7ff; font-weight:700; }.tok-string { color:#a9dc76; }.tok-number { color:#ffb86c; }.tok-comment { color:#8295a9; font-style:italic; }
.sql-suggestions { position:absolute; z-index:5; left:1rem; top:3rem; min-width:250px; max-height:220px; overflow:auto; padding:.3rem; border:1px solid #b8c6d3; border-radius:10px; background:#fff; box-shadow:0 14px 30px rgba(14,29,46,.24); }
.sql-suggestions button { display:block; width:100%; border:0; border-radius:7px; background:transparent; padding:.5rem .6rem; text-align:left; font:13px ui-monospace,SFMono-Regular,Menlo,monospace; color:#19324d; cursor:pointer; }.sql-suggestions button.selected,.sql-suggestions button:hover { background:#e8f3fb; }
.sql-editor-help { margin:.55rem 0 0; color:var(--muted); font-size:.85rem;line-height: 1.5em;} kbd { padding:.08rem .35rem; border:1px solid #cdd7e2; border-radius:4px; background:#f6f8fa; font:inherit; }
.sql-column-list { max-height:245px; overflow:auto; }.sql-column { display:block; width:100%; padding:.55rem .1rem; border:0; border-bottom:1px solid #e1e8ef; background:transparent; text-align:left; cursor:pointer; color:#18324d; }.sql-column:hover { color:#0673b8; }.sql-column strong,.sql-column small { display:block; }.sql-column small { margin-top:.15rem; color:var(--muted); }
.sql-command-list { display:flex; gap:.45rem; }.sql-command-list button { width:100%; padding:.55rem .7rem; border:1px solid #cad7e3; border-radius:8px; background:#fff; color:#19324d; text-align:left; cursor:pointer; font-weight:600; }.sql-command-list button:hover { border-color:#1685c8; color:#076da9; background:#f2faff; }
.sql-form-footer { margin-top:1rem; display:flex; gap:1rem; justify-content:space-between; align-items:flex-end; }.sql-confirmation { flex:1; color:var(--muted); font-size:.9rem; line-height:1.5; }.sql-confirmation input { display:block; width:min(100%,360px); margin-top:.4rem; }.sql-results td { white-space:pre-wrap; vertical-align:top; max-width:460px; }.sql-results code,.table-wrap code { white-space:pre-wrap; overflow-wrap:anywhere; font-size:.82rem; }.sql-null { color:#8b5cf6; font-style:italic; }.sql-empty { color:var(--muted); font-style:italic; }.badge.danger { background:#ffe8e8; color:#9b1c1c; }
@media(max-width:960px){.sql-workspace{grid-template-columns:1fr}.sql-sidebar{grid-template-columns:1fr 1fr}.sql-side-section:last-child{grid-column:1/-1}.sql-side-section select{min-height:145px}}@media(max-width:760px){.panel-heading,.sql-form-footer{display:block}.sql-form-footer button{margin-top:1rem;width:100%}.sql-sidebar{grid-template-columns:1fr}.sql-side-section:last-child{grid-column:auto}.sql-editor-shell{min-height:315px}.sql-editor-toolbar{align-items:flex-start;flex-direction:column}.sql-status{white-space:normal}}
