*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--canvas:#f5f6f7;--surface:#fff;--surface-2:#fafbfc;--ink:#171b20;--muted:#6f7782;--faint:#9ca3ad;--border:#e1e4e8;--border-strong:#cfd4da;--accent:#3157d5;--accent-hover:#2748b4;--accent-soft:#edf1ff;--danger:#c33f4b;--success:#238465;--sidebar:#f1f2f4;--shadow:0 12px 40px rgba(21,27,35,.08);--radius:7px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas)}body{margin:0;min-height:100vh;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-moz-selection{background:#ccd6ff;color:#172563}::selection{background:#ccd6ff;color:#172563}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.hidden{display:none!important}.app-shell{min-height:100vh;display:grid;grid-template-columns:228px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:228px;padding:20px 14px 14px;background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:40}.brand{height:36px;display:flex;align-items:center;gap:10px;padding:0 8px;font-weight:680;letter-spacing:-.025em}.brand-mark{width:25px;height:25px;background:var(--ink);display:flex;align-items:flex-end;justify-content:center;gap:2px;padding:5px;border-radius:6px}.brand-mark span{display:block;width:3px;background:#fff;border-radius:1px}.brand-mark span:first-child{height:7px}.brand-mark span:nth-child(2){height:13px}.brand-mark span:nth-child(3){height:10px}.nav-list{margin-top:30px;display:flex;flex-direction:column;gap:3px}.nav-item{height:36px;padding:0 10px;display:flex;align-items:center;gap:10px;color:#626a75;border-radius:6px;font-size:13px;font-weight:500;transition:.15s ease}.nav-item svg{width:17px;height:17px}.nav-item:hover{background:#e9ebee;color:var(--ink)}.nav-item.active{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(25,30,36,.06);font-weight:600}.nav-item.active svg{color:var(--accent)}.sidebar-foot{margin-top:auto;position:relative}.workspace-pill{display:grid;grid-template-columns:32px minmax(0,1fr) 28px;gap:9px;align-items:center;padding:9px 6px;border-top:1px solid var(--border)}.workspace-pill small,.workspace-pill strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-pill strong{font-size:12px}.workspace-pill small{font-size:10px;color:var(--muted)}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dfe4f7;color:#2d4594;font-size:10px;font-weight:700}.icon-button{display:inline-grid;place-items:center;width:30px;height:30px;border:0;background:transparent;border-radius:5px;color:var(--muted)}.icon-button:hover{background:#e9ebee;color:var(--ink)}.icon-button svg{width:16px;height:16px}.icon-button.danger:hover{background:#fff0f1;color:var(--danger)}.user-menu{position:absolute;left:4px;right:4px;bottom:62px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);padding:5px;border-radius:7px}.user-menu a,.user-menu button{width:100%;border:0;background:none;display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;text-align:left;font-size:12px}.user-menu svg{width:14px}.user-menu a:hover,.user-menu button:hover{background:var(--surface-2)}.main-column{grid-column:2;min-width:0}.mobile-header{display:none}.content{width:min(1510px,100%);margin:0 auto;padding:38px 44px 64px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:30px}.page-head h1{font-size:27px;line-height:1.2;letter-spacing:-.045em;margin:3px 0 6px;font-weight:680}.page-head p:not(.eyebrow){margin:0;color:var(--muted)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.13em;color:#858d98;font-size:9px;font-weight:750}.eyebrow.light{color:#a7b6d7}.head-actions{display:flex;padding-top:4px}.button,.head-actions{gap:8px;align-items:center}.button{border:1px solid transparent;height:36px;padding:0 14px;border-radius:6px;display:inline-flex;justify-content:center;font-weight:600;font-size:12px;transition:.15s ease;white-space:nowrap}.button svg{width:15px;height:15px}.button.primary{background:var(--ink);color:#fff}.button.primary:hover{background:#30363e;transform:translateY(-1px)}.button.secondary{background:#fff;border-color:var(--border);color:#363d46}.button.secondary:hover{border-color:var(--border-strong);background:#fbfbfc}.button.ghost{background:transparent;color:var(--accent)}.button.full{width:100%;height:42px}.button.small{height:30px;padding:0 10px}.button.danger{color:var(--danger)}.signal-strip{display:grid;grid-template-columns:150px 150px 150px minmax(260px,1fr);background:#fff;border:1px solid var(--border);min-height:91px;margin-bottom:38px}.signal-strip>div{padding:18px 20px;border-right:1px solid var(--border);display:grid;grid-template-columns:auto 1fr;align-content:center;-moz-column-gap:9px;column-gap:9px}.signal-strip>div:last-child{border-right:0}.signal-strip span{grid-column:1/-1;color:var(--muted);font-size:11px}.signal-strip strong{font-size:22px;letter-spacing:-.03em}.signal-strip small{align-self:end;color:var(--faint);font-size:10px;padding-bottom:3px}.signal-strip .signal-message{display:flex;align-items:center;gap:12px;background:#fbfbfd}.signal-message svg{width:20px;color:var(--accent)}.signal-message p{margin:0}.signal-message strong{font-size:12px;letter-spacing:0}.signal-message span{font-size:11px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 15px}.section-heading h2{font-size:15px;margin:0 0 2px;letter-spacing:-.02em}.section-heading p{font-size:11px;color:var(--muted);margin:0}.section-heading>a{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:4px}.section-heading>a svg{width:12px}.section-heading.compact{margin-top:36px}.section-heading.compact h2{font-size:14px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-card{position:relative;background:#fff;border:1px solid var(--border);padding:12px;transition:.18s ease}.dashboard-card:hover{border-color:#cbd1da;box-shadow:0 8px 24px rgba(23,27,32,.06);transform:translateY(-2px)}.dashboard-card>div:last-of-type{padding:14px 4px 5px}.dashboard-card h3{font-size:13px;margin:0 0 3px;display:inline}.dashboard-card p{font-size:11px;color:var(--muted);margin:3px 0 12px;height:33px;overflow:hidden}.dashboard-card small{font-size:10px;color:var(--faint)}.dashboard-card>.icon-button{position:absolute;right:13px;bottom:16px}.status-dot{display:inline-block;width:6px;height:6px;background:#49a881;border-radius:50%;margin:0 5px 1px 0}.dashboard-preview{height:132px;background:#f6f7f9;border:1px solid #eceef1;position:relative;overflow:hidden}.preview-kpi{top:14px;width:68px;height:36px;background:#fff;border:1px solid #e5e8eb;box-shadow:inset 0 7px 0 #edf1fb}.preview-kpi,.preview-line{position:absolute;left:14px}.preview-line{bottom:14px;width:58%;height:62px;background:linear-gradient(160deg,transparent 49%,#5c79d4 50%,#5c79d4 52%,transparent 53%),linear-gradient(15deg,transparent 55%,#5c79d4 56%,#5c79d4 58%,transparent 59%)}.preview-bars{position:absolute;right:14px;bottom:14px;width:25%;height:72px;background:linear-gradient(0deg,#90a3d9 0 35%,transparent 35% 42%,#7188c8 42% 66%,transparent 66% 73%,#9eacd1 73%)}.overview-columns{display:grid;grid-template-columns:1fr 1fr;gap:26px}.list-card{background:#fff;border:1px solid var(--border)}.list-row{min-height:59px;display:flex;align-items:center;gap:11px;padding:9px 13px;border-bottom:1px solid #eef0f2}.list-row:last-child{border-bottom:0}.list-row:hover{background:#fafbfc}.list-row>div{min-width:0;flex:1}.list-row small,.list-row strong{display:block}.list-row strong{font-size:12px}.list-row small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row time{font-size:9px;color:var(--faint)}.list-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:5px;background:#eff2f7;color:#486085}.list-icon svg{width:15px}.list-icon.sql{background:#f0edfb;color:#6954a0}.list-icon.dashboard{background:#edf1ff;color:#3157d5}.timeline .list-row{padding-left:18px}.timeline-dot{width:7px;height:7px;border:2px solid #7188c8;border-radius:50%;margin-right:4px}.mini-empty{color:var(--muted);font-size:11px}.empty-state,.mini-empty{padding:30px;text-align:center}.empty-state{min-height:280px;background:#fff;border:1px dashed var(--border-strong);display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state>svg{width:28px;height:28px;color:#8c96a3;margin-bottom:14px}.empty-state h3{font-size:14px;margin:0 0 5px}.empty-state p{max-width:380px;color:var(--muted);font-size:11px;margin:0 0 16px}.empty-state.large{min-height:480px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.search{position:relative}.search svg{position:absolute;left:10px;top:10px;width:15px;color:var(--faint)}.search input{width:290px;height:35px;border:1px solid var(--border);background:#fff;padding:0 10px 0 34px;border-radius:6px;font-size:12px}.segmented{display:flex;background:#ebeef1;padding:3px;border-radius:6px}.segmented button{border:0;background:transparent;padding:5px 11px;border-radius:4px;color:var(--muted);font-size:11px}.segmented button.active{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.07)}.table-list{background:#fff;border:1px solid var(--border)}.table-list-row{width:100%;min-height:68px;padding:11px 14px;border:0;border-bottom:1px solid #edf0f2;background:#fff;display:flex;align-items:center;gap:13px;text-align:left}.table-list-row:last-child{border-bottom:0}.table-list-row:hover{background:#fafbfc}.table-list-row .grow{flex:1;min-width:0}.table-list-row small,.table-list-row strong{display:block}.table-list-row strong{font-size:12px}.table-list-row small{font-size:10px;color:var(--muted);margin-top:2px}.table-list-row>time{width:110px;font-size:10px;color:var(--faint)}.table-list-row>svg{width:14px;color:var(--faint)}.theme-chip{font-size:9px;text-transform:capitalize;color:#606a76;background:#f0f2f4;padding:3px 7px;border-radius:99px}.db-badge{width:34px;height:34px;display:grid;place-items:center;border-radius:5px;font-size:9px;font-weight:750}.db-badge.postgres{background:#e8f0fa;color:#31638f}.db-badge.mysql{background:#fff0dc;color:#93601f}.status{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-right:20px}.status span{width:6px;height:6px;border-radius:50%}.status.success span{background:#38a37c}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,43%) minmax(430px,57%);background:#fff}.auth-aside{position:relative;overflow:hidden;background:#151c2d;color:#fff;padding:56px clamp(34px,5vw,82px);display:flex;flex-direction:column;justify-content:space-between}.auth-aside h1{font-size:clamp(43px,5vw,76px);line-height:.98;letter-spacing:-.06em;margin:14px 0 24px;font-weight:630}.auth-aside p:not(.eyebrow){max-width:440px;color:#b3bfd5;font-size:15px}.auth-aside small{color:#8290aa}.auth-visual{position:absolute;inset:10% -20% 15% 5%;opacity:.48;background:radial-gradient(circle at 60% 45%,rgba(71,100,190,.26),transparent 32%)}.mini-chart{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#7891d3,transparent);width:90%;transform-origin:left}.line-one{top:36%;transform:rotate(-9deg)}.line-two{top:58%;transform:rotate(13deg)}.mini-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#9eb2ee;box-shadow:0 0 0 7px rgba(120,145,211,.12)}.dot-one{left:36%;top:30%}.dot-two{left:68%;top:63%}.auth-panel{display:grid;place-items:center;padding:36px}.auth-card{width:min(390px,100%)}.auth-brand{display:inline-flex;padding:0;margin-bottom:58px}.auth-copy h2{font-size:25px;letter-spacing:-.04em;margin:0 0 6px}.auth-copy p{color:var(--muted);margin:0 0 28px}.form-stack{display:flex;flex-direction:column;gap:15px}.form-grid label,.form-stack label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;color:#4e5661}.form-grid input,.form-grid select,.form-grid textarea,.form-stack input,.form-stack select,.form-stack textarea{width:100%;border:1px solid var(--border-strong);background:#fff;border-radius:5px;min-height:40px;padding:9px 11px;font-weight:400;font-size:13px}.form-grid textarea,.form-stack textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-stack input:focus{border-color:#8297d4;box-shadow:0 0 0 3px #eff2fc;outline:0}.password-wrap{position:relative}.password-wrap .password-toggle{position:absolute;right:4px;top:5px;width:31px;height:31px;border:0;background:transparent;color:var(--muted)}.password-toggle svg{width:15px}.form-row{display:flex;justify-content:space-between}.form-row .check{flex-direction:row;align-items:center;font-weight:400}.check input{width:14px;height:14px}.divider{display:flex;align-items:center;gap:12px;margin:21px 0}.divider:after,.divider:before{content:"";height:1px;background:var(--border);flex:1}.divider span{font-size:10px;color:var(--faint)}.auth-help{text-align:center;color:var(--muted);font-size:10px;margin-top:26px}.alert{padding:10px 12px;margin-bottom:18px;display:flex;gap:8px;align-items:center;border-radius:5px;font-size:11px}.alert.error{background:#fff0f1;color:#9c303a}.alert svg{width:15px}.modal-backdrop{position:fixed;inset:0;background:rgba(20,24,29,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80}.modal{position:fixed;z-index:90;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 28px));max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);padding:24px}.modal.drawer{left:auto;right:0;top:0;bottom:0;transform:none;width:min(510px,100%);max-height:none}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.modal-head h2{font-size:18px;letter-spacing:-.03em;margin:3px 0}.modal-head p:not(.eyebrow){color:var(--muted);font-size:11px;margin:0}.choice-grid{display:grid;gap:8px}.choice-grid a,.choice-grid button{border:1px solid var(--border);background:#fff;padding:15px;display:flex;align-items:center;gap:13px;text-align:left;border-radius:6px}.choice-grid a:hover,.choice-grid button:hover{border-color:#aeb9d6;background:#fafbff}.choice-grid>*>svg{width:21px;color:var(--accent)}.choice-grid small,.choice-grid strong{display:block}.choice-grid strong{font-size:12px}.choice-grid small{color:var(--muted);font-size:10px;margin-top:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span-2{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.connection-feedback{padding:10px;border-radius:5px;font-size:11px}.connection-feedback.loading{display:block;background:#f2f4f7;color:#596371}.connection-feedback.success{display:block;background:#edf8f3;color:#24765b}.connection-feedback.error{display:block;background:#fff0f1;color:#9c303a}.switch-row{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center}.switch-row small,.switch-row strong{display:block}.switch-row small{font-weight:400;color:var(--muted)}.switch-row input{width:36px;height:20px}.embed-result{background:#f7f8fa;padding:12px;border:1px solid var(--border)}.query-workspace{height:calc(100vh - 164px);min-height:620px;background:#fff;border:1px solid var(--border);display:grid;grid-template-columns:250px minmax(0,1fr);overflow:hidden}.schema-pane{border-right:1px solid var(--border);padding:14px;overflow:auto;background:#fafbfc}.pane-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px}.schema-pane>select{width:100%;height:34px;border:1px solid var(--border);background:#fff;font-size:11px;padding:0 8px;margin-bottom:15px}.schema-tree details{font-size:11px;margin:2px 0}.schema-tree summary{list-style:none;display:flex;align-items:center;gap:6px;padding:5px;cursor:pointer;border-radius:4px}.schema-tree summary:hover{background:#eef1f4}.schema-tree summary svg{width:13px}.schema-tree summary small{margin-left:auto;color:var(--faint);font-size:8px}.column-list{padding-left:20px}.column-list button{width:100%;display:flex;justify-content:space-between;border:0;background:none;padding:4px 5px;text-align:left;font-size:10px}.column-list small{color:var(--faint);font-size:8px}.query-main{display:grid;grid-template-rows:55px minmax(220px,42%) 1fr;min-width:0}.query-title-row{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--border)}.query-title-row>input{border:0;font-weight:650;font-size:13px;padding:5px;width:45%}.query-title-row>div{display:flex;align-items:center;gap:7px}.query-title-row kbd{font-size:8px;opacity:.65}.save-state{color:var(--muted);margin-right:5px}.editor-shell{min-height:0;border-bottom:1px solid var(--border);overflow:hidden}.editor-shell>.cm-editor{height:100%;font-size:12px}.result-pane{min-height:0;display:grid;grid-template-rows:40px 1fr}.result-meta{display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--border);font-size:10px}.result-meta span{color:var(--muted);flex:1}.result-table-wrap{overflow:auto}.result-table{border-collapse:collapse;width:100%;font-size:10px}.result-table th{position:sticky;top:0;background:#f7f8fa;text-transform:uppercase;letter-spacing:.06em;color:#68717d;font-size:8px;text-align:left;padding:8px 11px;border-bottom:1px solid var(--border)}.result-table td{padding:8px 11px;border-bottom:1px solid #eff1f3;white-space:nowrap}.empty-result{height:100%;display:grid;place-items:center;align-content:center;gap:8px;color:var(--faint);font-size:11px}.empty-result svg{width:25px}.empty-result.error{color:var(--danger)}.dashboard-page{position:relative}.dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.back-link{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:4px;margin-bottom:10px}.back-link svg{width:12px}.dashboard-head h1{font-size:25px;margin:0;letter-spacing:-.04em}.dashboard-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.title-edit{display:flex;align-items:center;gap:9px}.save-state{font-size:9px;padding:2px 6px;border-radius:10px}.save-state.saved{background:#eaf6f1;color:#2c775e}.save-state.saving{background:#f3f1e8;color:#8a6d28}.save-state.error{background:#fff0f1;color:var(--danger)}.dashboard-filterbar{display:flex;align-items:flex-end;gap:9px;margin-bottom:12px;min-height:1px}.dashboard-filterbar label{font-size:9px;color:var(--muted);font-weight:600}.dashboard-filterbar input,.dashboard-filterbar select{display:block;margin-top:4px;height:32px;background:#fff;border:1px solid var(--border);padding:0 9px;border-radius:5px;font-size:11px}.builder-toolbar{position:sticky;top:10px;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:hsla(0,0%,100%,.94);border:1px solid var(--border);box-shadow:0 6px 18px rgba(20,25,31,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:12px}.builder-toolbar>div{display:flex;gap:5px;align-items:center}.tool-button{height:31px;border:1px solid transparent;background:transparent;border-radius:5px;padding:0 9px;display:flex;align-items:center;gap:6px;font-size:10px}.tool-button:hover{background:#f1f3f5;border-color:var(--border)}.tool-button svg{width:14px}.builder-toolbar label{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted)}.builder-toolbar select{height:30px;border:1px solid var(--border);background:#fff;font-size:10px}.dashboard-stage{background:#eef0f3;border:1px solid #e1e4e8;padding:12px;min-height:650px}.dashboard-stage.editing{background-color:#eceff3;background-image:radial-gradient(#cbd1d9 .8px,transparent 0);background-size:12px 12px}.dashboard-stage.\!editing{background-color:#eceff3!important;background-image:radial-gradient(#cbd1d9 .8px,transparent 0)!important;background-size:12px 12px!important}.grid-stack{min-height:620px}.widget-card{background:#fff;border:1px solid #e0e3e7;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 1px rgba(22,27,32,.02)}.\!editing .widget-card{cursor:move!important}.editing .widget-card{cursor:move}.widget-card>header{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;flex:0 0 auto}.widget-card h2{font-size:11px;margin:0;font-weight:650;color:#353c45}.widget-actions{display:none}.\!editing .widget-actions{display:flex!important}.editing .widget-actions{display:flex}.widget-body{flex:1;min-height:0;padding:4px 9px 10px}.chart-loading{height:100%;min-height:90px;display:flex;align-items:center;justify-content:center;gap:5px}.chart-loading span{width:6px;height:6px;border-radius:50%;background:#aeb8cd;animation:pulse 1s infinite alternate}.chart-loading span:nth-child(2){animation-delay:.2s}.chart-loading span:nth-child(3){animation-delay:.4s}@keyframes pulse{to{opacity:.2;transform:translateY(-3px)}}.chart-state{height:100%;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:10px;padding:15px}.chart-state.error{color:var(--danger)}.kpi-value{height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 12px 10px}.kpi-value strong{font-size:clamp(22px,2.1vw,34px);letter-spacing:-.05em;font-weight:650;line-height:1.2}.kpi-value span{font-size:10px;font-weight:650;margin-top:7px}.kpi-value span.up{color:#258060}.kpi-value span.down{color:#bb4855}.kpi-value small{font-size:8px;color:var(--faint);margin-top:4px}.widget-table-wrap{height:100%;overflow:auto}.widget-table{border-collapse:collapse;width:100%;font-size:9px}.widget-table th{text-align:left;text-transform:uppercase;font-size:7px;letter-spacing:.08em;color:#8a929d;padding:7px;border-bottom:1px solid var(--border)}.widget-table td{padding:7px;border-bottom:1px solid #eef0f2}.property-panel{position:fixed;right:0;top:0;bottom:0;z-index:65;width:340px;background:#fff;border-left:1px solid var(--border);box-shadow:-10px 0 30px rgba(21,27,35,.08);padding:22px}.property-panel .modal-actions{margin-top:20px}.embed-body{background:#f7f8fa}.embed-shell{padding:18px;max-width:1800px;margin:auto}.embed-header{margin:0 0 15px}.embed-header h1{font-size:18px;letter-spacing:-.03em;margin:0}.embed-header p{font-size:10px;color:var(--muted);margin:3px 0}.embed-body .dashboard-stage{min-height:calc(100vh - 90px);border:0;background:#f7f8fa;padding:0}.embed-grid .widget-card{border-color:#e5e7ea}.toast-region{position:fixed;right:18px;bottom:18px;z-index:120;display:flex;flex-direction:column;gap:7px}.toast{background:#1d232a;color:#fff;padding:10px 13px;min-width:240px;box-shadow:var(--shadow);font-size:11px;border-left:3px solid #4ca987;animation:toastin .2s ease}.toast.error{border-left-color:#d45a65}@keyframes toastin{0%{opacity:0;transform:translateY(8px)}}.table{display:table}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.resize{resize:both}.bg-canvas{--tw-bg-opacity:1;background-color:rgb(245 246 247/var(--tw-bg-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(23 27 32/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.result-table-wrap{overflow:hidden!important}.paginated-result{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 38px}.result-scroll{overflow:auto}.pagination{border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:0 10px;color:var(--muted);font-size:9px}.pagination>span:first-child{margin-right:auto}.pagination label{display:flex;align-items:center;gap:5px}.pagination button,.pagination select{height:25px;border:1px solid var(--border);background:#fff}.pagination button{width:25px;border-radius:4px}.pagination button:disabled{opacity:.35;cursor:default}.button.danger-fill{background:var(--danger);color:#fff}.button.danger-fill:hover{background:#a8323c}@media(max-width:1050px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-strip{grid-template-columns:repeat(3,1fr)}.signal-message{grid-column:1/-1}.query-workspace{grid-template-columns:210px minmax(0,1fr)}}@media(max-width:760px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s ease;box-shadow:var(--shadow)}.sidebar.open{transform:none}.main-column{margin:0}.mobile-header{height:52px;display:flex;align-items:center;gap:10px;padding:0 14px;background:#fff;border-bottom:1px solid var(--border);font-weight:650}.content{padding:24px 15px 50px}.page-head{align-items:flex-start}.page-head h1{font-size:23px}.signal-strip{grid-template-columns:1fr 1fr}.signal-strip>div{border-bottom:1px solid var(--border)}.signal-strip>div:nth-child(2){border-right:0}.signal-strip>div:nth-child(3){grid-column:1/-1}.dashboard-grid,.overview-columns{grid-template-columns:1fr}.auth-shell{display:block}.auth-aside{display:none}.auth-panel{min-height:100vh;padding:24px}.auth-brand{margin-bottom:45px}.query-workspace{height:auto;display:block}.schema-pane{height:220px;border-right:0;border-bottom:1px solid var(--border)}.query-main{height:650px}.dashboard-head{align-items:flex-start;gap:14px}.dashboard-head .head-actions .button.secondary{display:none}.builder-toolbar{overflow:auto}.builder-toolbar>div:last-child label{display:none}.dashboard-stage{padding:4px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.modal.drawer{width:100%}.status,.table-list-row>time,.theme-chip{display:none}}.grid-stack{position:relative}.grid-stack-rtl{direction:ltr}.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack-placeholder>.placeholder-content{background-color:rgba(0,0,0,.1);margin:0;position:absolute;width:auto;z-index:0!important}.grid-stack>.grid-stack-item{position:absolute;padding:0;top:0;width:var(--gs-column-width);height:var(--gs-cell-height)}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23666" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 20 20"><path d="m10 3 2 2H8l2-2v14l-2-2h4l-2 2"/></svg>');background-repeat:no-repeat;background-position:center}.grid-stack-item>.ui-resizable-ne{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px rgba(0,0,0,.2);opacity:.8}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left 0s,right 0s,top 0s,height 0s,width 0s}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0}