:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#192f33;background:#f5f7f8;font-synthesis:none;--green:#176b59;--border:#e3e9e9;--muted:#79898e}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:7px;background:white;color:#344f55;padding:9px 14px;font-size:13px;transition:.15s}button:hover{border-color:#96b7ac;background:#f2f8f5}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#105443;color:white}.quiet{border:0;background:transparent}.shell{display:flex;min-height:100vh}aside{width:224px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);padding:32px 20px;display:flex;flex-direction:column;position:fixed;height:100vh}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--green);font-size:35px;font-weight:800;padding:0 12px}.brand>span{font-size:17px;letter-spacing:2px;color:#193c33}.brand-sub{display:block;font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:4px;font-weight:500}.nav-item{margin-top:50px;padding:13px 16px;background:#edf5f1;color:var(--green);border-radius:7px;font-size:14px;font-weight:600}.nav-item span{margin-right:12px}.aside-note{margin-top:auto;padding:20px 12px 0;font-size:12px;color:#48685e}.aside-note p{font-size:11px;color:var(--muted);margin-top:14px}.aside-note small{font-size:10px;color:var(--muted)}.dot{display:inline-block;width:6px;height:6px;background:#398f72;border-radius:50%;margin-right:8px}main{margin-left:224px;width:calc(100% - 224px);padding:0 44px 30px;max-width:1800px}header{height:81px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.breadcrumb{font-size:12px;color:#637a7f}.breadcrumb span{margin:0 15px;color:#bac6c8}.heading{display:flex;justify-content:space-between;align-items:center;padding:37px 0 28px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green)}h1{font-size:29px;letter-spacing:-.6px;margin:10px 0}h2{font-size:15px;margin:0;font-weight:650}p{font-size:13px;color:var(--muted);line-height:1.8;margin:8px 0}.actions{display:flex;gap:10px}.card{border:1px solid var(--border);border-radius:10px;background:white;box-shadow:0 2px 3px #163e2e02}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats .card{padding:20px 23px}.stats span{display:block;font-size:12px;color:#678087}.stats strong{display:block;font-size:30px;margin:13px 0 9px;font-weight:600;letter-spacing:-1px}.stats small{font-size:11px;color:#94a1a4}.source-line{display:flex;align-items:center;gap:5px;margin:24px 0 15px;font-size:11px;color:#71868a}.source-line code{margin-left:8px;color:#37594d}.source-detail{margin-left:auto}.table-card{overflow:hidden}.section-title{display:flex;align-items:center;justify-content:space-between;padding:21px 23px}.count{display:inline-block;background:#f0f4f3;color:#658079;font-size:10px;border-radius:4px;padding:3px 7px;margin-left:6px;vertical-align:middle}.muted{color:#91a0a4;font-size:11px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#f9fafb;border-top:1px solid #eef1f1;border-bottom:1px solid #eef1f1;color:#7f9297;font-size:11px;font-weight:500;padding:13px 20px}td{padding:19px 20px;font-size:12px;border-bottom:1px solid #edf1f1}tbody tr:last-child td{border-bottom:0}.table-main{font-size:13px;font-weight:600}.sub{display:block;color:#92a0a3;font-size:10px;margin-top:7px;max-width:190px;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-block;padding:4px 8px;border-radius:5px;font-size:10px;background:#eff4f3;color:#55736b}.badge.succeeded{background:#eaf5ef;color:#267755}.badge.failed{background:#fff0eb;color:#b8583d}.badge.running,.badge.queued{background:#edf3fc;color:#4b78ae}.badge.full{background:#f1eef9;color:#81709d}.row-actions{display:flex;gap:4px}.row-actions button{padding:5px 8px;font-size:11px}.text-button{padding:0;color:var(--green);background:transparent;border:0;font-size:11px}.history{margin-top:24px}.footnote{font-size:11px;margin-top:18px;line-height:1.8}.empty{text-align:center;padding:45px 20px 48px}.empty-icon{font-size:29px;color:#85a99a;margin-bottom:12px}.empty h3{font-size:15px;font-weight:500}.empty p{font-size:12px;margin-bottom:22px}.login{max-width:500px;margin:100px auto;padding:38px}.login h1{font-size:25px}.login form{margin-top:30px}.login button{width:100%;display:flex;justify-content:space-between;margin-top:20px;padding:12px}.login small{display:block;font-size:10px;color:#96a6a8;line-height:1.8;margin-top:20px}label{font-size:12px;color:#4b686d;display:block;margin:0 0 18px}input:not([type=checkbox]),select{width:100%;border:1px solid #dce5e3;border-radius:6px;padding:10px 12px;margin-top:8px;font-size:13px;background:#fff;color:#25463f;outline:none}input:focus,select:focus{border-color:#488c76;box-shadow:0 0 0 3px #176b5910}input:disabled,select:disabled{background:#f4f6f6;color:#99a5a6}dialog{border:1px solid var(--border);border-radius:13px;width:580px;max-width:calc(100vw - 28px);padding:28px;color:#193b32;box-shadow:0 20px 100px #123b3320}dialog::backdrop{background:#183d3555;backdrop-filter:blur(3px)}.dialog-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.dialog-title h2{font-size:20px;margin-top:9px}.dialog-title button{font-size:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hint{font-size:11px;color:#889b97;line-height:1.8;margin:0 0 20px}.schedule-box{display:flex;align-items:center;justify-content:space-between;background:#f5f8f7;padding:17px;border:1px solid #e9eeec;border-radius:7px;margin:22px 0 13px}.schedule-box label{margin:0;display:flex;align-items:center;gap:7px;font-size:11px}.schedule-box input[type=number]{width:70px;margin:0;padding:6px}.toggle-label input{accent-color:var(--green)}.schema-info{font-size:11px;color:#7e9690;line-height:1.8;border-top:1px solid #edf1ef;padding-top:14px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}pre{font-size:11px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;max-height:65vh;overflow:auto;background:#f5f8f7;padding:16px;border-radius:7px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#1c4036;color:white;padding:13px 22px;border-radius:8px;font-size:13px;box-shadow:0 7px 25px #123b3325;max-width:90vw;z-index:100}.toast.error{background:#9b4e3b}.hidden{display:none!important}@media(min-width:1550px){main{padding-left:65px;padding-right:65px}}@media(max-width:1050px){aside{width:180px;padding:25px 12px}main{margin-left:180px;width:calc(100% - 180px);padding:0 22px 25px}.source-detail{display:none}.stats{gap:10px}.stats .card{padding:18px}.section-title>.muted{display:none}}@media(max-width:720px){aside{display:none}main{margin-left:0;width:100%;padding:0 17px 25px}header{height:60px}.heading{padding:25px 0;align-items:flex-start}.heading h1{font-size:25px}.heading p{font-size:11px}.heading .actions{flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}.stats strong{font-size:26px}.source-line{overflow:hidden;white-space:nowrap}.form-grid{grid-template-columns:1fr;gap:0}.schedule-box{align-items:flex-start;gap:15px;flex-direction:column}dialog{padding:22px}.login{margin:40px auto;padding:27px}.section-title{padding:18px}td,th{padding-left:16px;padding-right:16px}}

.connection-status{margin-top:20px;padding:12px 16px;border:1px solid #ead8ad;background:#fff9ec;color:#87682e;font-size:12px;line-height:1.7;border-radius:8px}


/* Unified dropdowns; native selects remain the form's data source. */
.select-field{min-width:0;margin-bottom:18px}.select-field>label{margin:0 0 8px}
.select-control{position:relative;min-width:0}.select-control.is-open{z-index:12}
.select-control select.select-native{position:absolute;width:1px;height:1px;padding:0;margin:0;border:0;opacity:0;pointer-events:none;overflow:hidden}
.select-trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:10px 12px;text-align:left;background:#fff;border:1px solid #dce5e3;border-radius:7px;color:#25463f;outline:none}
.select-trigger:hover{border-color:#a7c3b8;background:#fafcfb}.select-trigger:focus-visible,.is-open>.select-trigger{border-color:#488c76;box-shadow:0 0 0 3px #176b5910}
.select-trigger[aria-invalid=true]{border-color:#bd725b}.select-trigger:disabled{background:#f4f6f6;color:#99a5a6;cursor:not-allowed;opacity:1}
.select-value{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.select-arrow{display:flex;flex-shrink:0;width:18px;height:18px;color:#729286;transition:transform .15s}.is-open .select-arrow{transform:rotate(180deg)}
.select-popup{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:0;padding:5px;background:#fff;border:1px solid #d8e5de;border-radius:10px;box-shadow:0 10px 30px #153d321a,0 2px 5px #153d3208}
.select-search{display:flex;align-items:center;gap:8px;padding:4px 8px 8px;margin-bottom:4px;border-bottom:1px solid #edf2ef}
.select-search>svg{width:17px;height:17px;flex-shrink:0;color:#83a295}.select-search input[type=search]{width:100%;min-width:0;margin:0;padding:6px 0;border:0;border-radius:0;box-shadow:none;background:transparent;font-size:12px;color:#264d40}.select-search input::placeholder{color:#92a79f}
.select-options{max-height:min(222px,32vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c7d9d0 transparent}
.select-option{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:9px 9px;border:0;border-radius:5px;background:transparent;text-align:left;font-size:12px;color:#45655a;outline:none}
.select-option:hover,.select-option.is-active{background:#f2f7f4}.select-option[aria-selected=true]{background:#eaf4ee;color:#176b59;font-weight:600}
.select-option-text{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.55}.select-option-detail{font-size:10px;white-space:nowrap;color:#8a9e95;font-weight:400}.select-check{display:flex;width:16px;height:16px;flex-shrink:0;opacity:0;color:#277956}.select-option[aria-selected=true] .select-check{opacity:1}
.select-empty{padding:23px 8px;text-align:center;color:#8b9e96;font-size:12px}.select-footer{padding:9px 9px 4px;margin-top:5px;border-top:1px solid #eef3f0;color:#93a69e;font-size:10px}
@media(max-width:720px){.select-trigger{min-height:44px}.select-option{min-height:40px}.select-options{max-height:190px}}

.table-filters{display:flex;align-items:flex-end;gap:12px;padding:0 24px 20px;flex-wrap:wrap}.table-filters label{margin:0;flex:1;min-width:160px;max-width:300px;font-size:12px}.table-filters input{margin-bottom:0}.table-filters button{min-height:40px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-top:1px solid #edf1ef;font-size:12px;color:#7e9690}.row-number{color:#8a9e95;font-variant-numeric:tabular-nums}.filter-empty td{text-align:center;padding:30px}@media(max-width:720px){.table-filters{padding:0 16px 16px}.table-filters label{max-width:none;min-width:calc(50% - 12px)}.pagination{padding:16px;flex-wrap:wrap}}

.main-nav{margin-top:50px;display:flex;flex-direction:column;gap:8px}.main-nav .nav-item{margin:0;width:100%;text-align:left;border:0;background:transparent;color:#71868a}.main-nav .nav-item.active{background:#edf5f1;color:var(--green)}
.data-picker{padding:24px}.data-picker .select-field{max-width:460px}.data-picker .hint{margin:14px 0 0;overflow-wrap:anywhere}.data-grid{max-height:520px}.data-grid th{position:sticky;top:0}.data-grid td{max-width:420px;min-width:100px;white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top;padding:14px 20px}.sql-card{overflow:hidden}.sql-card form{padding:0 24px 20px}.sql-card label{margin-bottom:8px}.sql-card textarea{width:100%;resize:vertical;min-height:125px;padding:14px;border:1px solid #dce5e3;border-radius:7px;background:#f9fbfa;color:#25463f;font:13px/1.7 ui-monospace,SFMono-Regular,monospace}.sql-card textarea:focus{outline:2px solid #96b7ac}.sql-actions{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:12px}.sql-actions p{font-size:11px}.sql-actions button{flex-shrink:0}
@media(max-width:720px){aside{display:flex;position:static;width:100%;height:auto;padding:14px 17px;border-right:0;border-bottom:1px solid var(--border)}.shell{display:block}.brand,.aside-note{display:none}.main-nav{margin:0;flex-direction:row}.main-nav .nav-item{width:auto}.data-picker{padding:18px}.sql-card form{padding:0 16px 16px}.sql-actions{align-items:flex-start;flex-direction:column}}

.table-filters .filter-select{margin:0;flex:0 0 140px;min-width:120px}.table-filters .filter-select>label{min-width:0;margin-bottom:8px}.history:has(#run-filters){overflow:visible}.history:has(#run-filters)>.table-wrap{border-radius:0 0 10px 10px}.data-grid td{white-space:nowrap;vertical-align:middle}.cell-preview{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-grid td.row-number{min-width:64px;width:64px;color:#8a9e95}.section-title .actions{align-items:center}@media(max-width:720px){.table-filters .filter-select{flex:1;min-width:120px}.section-title .actions>.muted{display:none}.cell-preview{max-width:220px}}
