:root{--bg:#f5f7fb;--surface:#fff;--ink:#14243d;--muted:#56667c;--line:#dce4ef;--accent:#2055e5;--accent-dark:#1643c4;--soft:#edf2ff;--danger:#b3313c;--radius:10px}
.analytics-section{padding:24px;margin-top:24px}.analytics-section .actions,dialog .actions{flex-wrap:wrap;align-items:center}.analytics-list{margin:18px 0}.analytics-entry{border:1px solid var(--line);border-radius:12px;padding:18px;margin:12px 0;overflow-wrap:anywhere}.analytics-entry h3{margin-top:0}.analytics-entry p{font-size:13px;margin-bottom:8px}.analytics-entry .actions button{font-size:12px;padding:8px 11px}.base-choice{display:flex;align-items:center;gap:10px;overflow-wrap:anywhere;font-weight:400}.base-choice input{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}#profile-form fieldset{border:1px solid var(--line);border-radius:10px;margin:20px 0;padding:12px}#profile-form legend{font-size:13px;padding:0 6px}#analytics-base{font:inherit;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}#result-dialog{width:min(1060px,calc(100vw - 30px))}.result-scroll{overflow:auto;max-height:50vh;border:1px solid var(--line);border-radius:8px}.result-scroll table{border-collapse:collapse;min-width:100%;font-size:12px;text-align:left}.result-scroll th,.result-scroll td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top;min-width:100px;max-width:420px;overflow-wrap:anywhere}.result-scroll th{position:sticky;top:0;background:var(--soft)}.result-scroll details{min-width:180px;max-width:400px}.result-scroll details p{white-space:pre-wrap}.result-scroll summary{cursor:pointer}#result-source,#result-definition{overflow-wrap:anywhere}a.secondary{display:inline-block;background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:10px 15px;text-decoration:none;font-size:13px}
button.token-rotate{color:var(--danger);padding-left:0}#secrets-dialog .actions{flex-wrap:wrap}#secret-notice{color:var(--accent);font-weight:600}
.check-message{font-size:13px;margin:16px 0}.check-message[data-state=success]{color:var(--accent)}.check-message[data-state=error]{color:#7b5b22}#check-result{border-top:1px solid var(--line);padding-top:10px}
.history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin:18px 0}.history-toolbar p{margin:0}.history-toolbar button{font-size:12px;flex-shrink:0}#history-state[data-state=error]{color:var(--danger)}.history-list{list-style:none;padding:0;margin:0}.history-entry{border:1px solid var(--line);border-radius:10px;padding:14px;margin:10px 0}.history-entry-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:13px}.job-status{font-size:11px;color:var(--muted)}.job-status[data-state=completed]{color:var(--accent)}.job-status[data-state=failed],.job-status[data-state=expired],.job-status[data-state=interrupted]{color:#7b5b22}.job-id{display:block;overflow-wrap:anywhere;font-size:10px;color:var(--muted);margin-top:6px}.job-timing,.job-detail{font-size:12px;color:var(--muted);margin:7px 0 0}
#connection-summary .dot{background:var(--muted)}#connection-summary.has-online .dot{background:#20a577}.sync-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-8px 0 22px;font-size:13px}.sync-bar p{margin:0}.sync-bar small{color:var(--muted)}.sync-bar button{flex-shrink:0;font-size:12px}#connection-sync-state[data-state=error],#connection-sync-state[data-state=stale]{color:#7b5b22}.connection-readiness{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:13px;margin-top:18px;font-size:13px}.connection-readiness[data-tone=positive]{background:var(--soft);border-color:#bad8c8}.connection-readiness[data-tone=positive] strong{color:var(--accent)}.connection-readiness[data-tone=warning]{background:#fff8e9;border-color:#e7d6ac}.connection-readiness[data-tone=warning] strong{color:#7b5b22}.readiness-hint{font-size:12px;color:var(--muted);margin:5px 0 0}.queue-state{display:block;color:var(--muted);font-size:11px;margin-top:9px}
@media(max-width:600px){.sync-bar{align-items:flex-start;flex-direction:column}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 "Segoe UI",Arial,sans-serif}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}a{color:var(--accent);text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:34px;letter-spacing:-1px;line-height:1.2;margin-bottom:14px}h2{font-size:22px;line-height:1.3;letter-spacing:-.4px;margin-bottom:10px}h3{font-size:17px;margin-top:24px;margin-bottom:12px}button{border:0;border-radius:9px;padding:11px 17px;font-weight:600;transition:background .15s}button.primary{background:var(--accent);color:white}button.primary:hover{background:var(--accent-dark)}button.secondary{background:#eef2ef;color:var(--ink);border:1px solid var(--line)}button.text-button{background:transparent;color:var(--muted);padding:8px 10px}button.text-button:hover{background:var(--soft);color:var(--accent)}button.danger{background:var(--danger);color:#fff}.full-width{width:100%}.header{height:88px;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-weight:700;font-size:25px;line-height:1.1;letter-spacing:-.7px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:2px;margin-top:5px}.brand-mark{display:grid;place-items:center;background:var(--accent);color:white;width:42px;height:42px;border-radius:12px;font-size:28px}.header-right{display:flex;gap:18px;align-items:center;font-size:13px}.local-badge{border:1px solid var(--line);border-radius:30px;padding:5px 12px;color:var(--muted)}main{max-width:1220px;margin:0 auto;padding:48px 36px 70px;min-height:calc(100vh - 155px)}.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;max-width:1040px;margin:32px auto}.intro h1{font-size:46px;letter-spacing:-1.6px;line-height:1.12}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--accent);margin-bottom:16px}.lead{font-size:17px;color:var(--muted);max-width:450px}.onboarding{list-style:none;padding:0;margin:30px 0}.onboarding li{display:flex;gap:17px;margin:20px 0}.onboarding li>span{color:var(--accent);font-size:12px;font-weight:700;border:1px solid var(--line);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.onboarding p{font-size:13px;color:var(--muted);margin:3px 0}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.auth-card{padding:30px;box-shadow:0 18px 50px #14241b06}.tabs{display:flex;background:var(--bg);padding:4px;border-radius:10px;margin-bottom:30px}.tab{flex:1;background:transparent;color:var(--muted)}.tab.active{background:#fff;color:var(--ink);box-shadow:0 1px 5px #0000000d}.muted{color:var(--muted)}label{display:block;font-weight:600;font-size:13px;margin:18px 0 7px}input:not([type=checkbox]),textarea{display:block;width:100%;border:1px solid #ccd7d1;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink)}input:focus,textarea:focus{outline:2px solid #126a5433;border-color:var(--accent)}input[readonly],textarea[readonly]{background:#f6f8f7;color:#345348;font-family:Consolas,monospace;font-size:12px}textarea{resize:vertical}.hint,.fine{color:var(--muted);font-size:12px;line-height:1.6}.hint{margin:7px 0 20px}.fine{margin-top:22px;margin-bottom:0}.error{color:var(--danger);font-size:13px;margin:10px 0}.notice{position:sticky;top:12px;z-index:10;padding:12px 18px;margin-bottom:20px;border-radius:10px;background:var(--soft);border:1px solid #bad8c8;color:var(--accent)}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.workspace-heading p:last-child{margin:0}.summary{display:flex;align-items:center;flex-wrap:wrap;gap:25px;padding:17px 0;margin-bottom:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.summary a{margin-left:auto}.summary strong{color:var(--ink)}.dot{display:inline-block;background:#20a577;width:7px;height:7px;border-radius:50%;margin-right:4px}.empty{text-align:center;padding:55px 20px}.empty-symbol{display:inline-block;border:1px solid var(--line);border-radius:13px;padding:14px 22px;color:var(--accent);font-weight:700;margin-bottom:20px}.empty p{color:var(--muted)}.connections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.connection{padding:24px}.connection-heading{display:flex;gap:12px;align-items:center;margin-bottom:22px}.database-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:var(--soft);border-radius:11px;color:var(--accent);font-weight:700}.connection-title{min-width:0;flex:1}.connection-title h2{font-size:18px;overflow-wrap:anywhere;margin:0 0 3px}.connection-id{font-size:10px;color:var(--muted);margin:0;overflow-wrap:anywhere}.status{font-size:11px;padding:4px 9px;background:#f0f2f1;border-radius:20px;white-space:nowrap;color:var(--muted)}.status.online{background:var(--soft);color:var(--accent)}dl{margin:0}dl>div{display:flex;justify-content:space-between;gap:16px;margin:10px 0;font-size:12px}dt{color:var(--muted);flex-shrink:0}dd{margin:0;text-align:right;overflow-wrap:anywhere}.endpoint{display:block;background:var(--bg);padding:10px;border-radius:8px;font:11px/1.5 Consolas,monospace;overflow-wrap:anywhere}.connection-actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:17px;border-top:1px solid var(--line);padding-top:12px}.connection-actions button{font-size:11px;padding:7px}.connection-actions .remove{margin-left:auto;color:var(--danger)}.help-note{margin-top:30px;max-width:900px;font-size:13px}.help-note p{color:var(--muted);margin:6px 0}.help-note code{font-size:12px}dialog{border:1px solid var(--line);border-radius:18px;background:white;padding:28px;width:min(460px,calc(100vw - 30px));box-shadow:0 30px 90px #102a2133;color:var(--ink);max-height:90vh;overflow:auto}dialog::backdrop{background:#122b2466;backdrop-filter:blur(2px)}.wide-dialog{width:min(700px,calc(100vw - 30px))}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.dialog-heading .eyebrow{margin-bottom:7px}.warning{border:1px solid #e7d6ac;background:#fff8e9;color:#7b5b22;border-radius:10px;padding:13px 15px;font-size:12px;margin:14px 0 20px}.copy-row{display:flex;gap:8px}.copy-row input{min-width:0}.copy-row button{font-size:12px}.actions{display:flex;gap:10px;margin-top:12px}.checkbox-row{display:flex;gap:10px;align-items:center;margin:25px 0 15px}.checkbox-row input{accent-color:var(--accent);width:16px;height:16px}footer{border-top:1px solid var(--line);padding:20px 5vw;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:15px}
@media(max-width:850px){.auth-layout{gap:35px}.intro h1{font-size:36px}.header-right{gap:8px}.local-badge{display:none}.connections{grid-template-columns:1fr}main{padding:30px 22px}.summary{gap:15px}.summary a{margin-left:0}.workspace-heading h1{font-size:28px}}
@media(max-width:600px){.auth-layout{display:flex;flex-direction:column-reverse;margin:0;gap:35px}.auth-card{width:100%;padding:22px}.intro h1{font-size:30px}.intro .lead{font-size:15px}.intro{width:100%}.onboarding{margin:15px 0}.header{height:76px;padding:0 20px}#user-email{max-width:140px;overflow:hidden;text-overflow:ellipsis}.workspace-heading{align-items:stretch;flex-direction:column}.copy-row{flex-wrap:wrap}.copy-row input{flex-basis:100%}.connection{padding:18px}.status{align-self:flex-start}.summary span:nth-child(3){display:none}dialog{padding:22px}.connection-actions button{font-size:12px}footer{flex-direction:column}dl>div{gap:10px}}
.sso-login{margin-top:18px;text-align:center;border-top:1px solid var(--line);padding-top:18px}.sso-login>span{display:block;color:var(--muted);font-size:11px;margin:-28px auto 12px;background:var(--surface);width:42px}.sso-login .hint{margin-bottom:0}.sso-login .button-link{width:100%}
