@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/6c177e25b87fd9cd-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/6c9a125e97d835e1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/4c285fdca692ea22-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/034d78ad42e9620c-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fe0777f1195381cb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eafabf029ad39a43-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/db911767852bc875-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f10b8e9d91f3edcb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8888a3826f4a3af4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/29e7bbdce9332268-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c3bc380753a8436c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0484562807a97172-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/29a4aea02fdee119-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a1386beebedccca4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b957ea75a84b6ea7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/28485c0de2075f40-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/5fb25f343c7550ca-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/7db6c35d839a711c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Poppins_Fallback_c70c06;src:local("Arial");ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.__className_c70c06{font-family:__Poppins_c70c06,__Poppins_Fallback_c70c06;font-style:normal}.__variable_c70c06{--font-poppins:"__Poppins_c70c06","__Poppins_Fallback_c70c06"}:root{color-scheme:light;--bg:#f4f7fb;--surface:#fff;--surface-alt:#f8fbff;--ink:#0f172a;--muted:#64748b;--line:#dbe4f0;--accent:#2563eb;--accent-light:#eff6ff;--green:#16a34a;--green-bg:#f0fdf4;--red:#dc2626;--red-bg:#fef2f2;--yellow:#d97706;--yellow-bg:#fffbeb;--orange:#ea580c;--orange-bg:#fff7ed;--purple:#7c3aed;--purple-bg:#f5f3ff}html{font-family:var(--font-poppins),"Poppins",system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:var(--bg);color:var(--ink);font-family:inherit;font-weight:400;letter-spacing:-.01em}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-family:inherit;letter-spacing:-.02em}a{color:var(--accent)}button,input,select,textarea{font-family:inherit}button{cursor:pointer}.page-body{padding:24px 28px;max-width:1300px}.page-header{margin-bottom:20px}.page-header h1{font-size:20px;font-weight:700;margin:0 0 4px}.page-header p{margin:0;color:var(--muted);font-size:13px}.stat-row{display:flex;gap:14px;margin-bottom:24px;flex-wrap:wrap}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 20px;min-width:130px;flex:1 1}.stat-card .label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.stat-card .value{font-size:26px;font-weight:700;color:var(--ink);line-height:1}.stat-card .sub{font-size:11px;color:var(--muted);margin-top:4px}.table-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow-x:auto}.table-card table{width:100%;border-collapse:collapse;font-size:13px}.table-card th{background:#f8fafc;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:10px 14px;text-align:left;white-space:nowrap}.table-card td,.table-card th{border-bottom:1px solid var(--line)}.table-card td{padding:11px 14px;vertical-align:top}.table-card tr:last-child td{border-bottom:none}.table-card tr:hover td{background:#fafcff}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.badge-wrap{white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.badge-green{background:var(--green-bg);color:var(--green)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-yellow{background:var(--yellow-bg);color:var(--yellow)}.badge-blue{background:var(--accent-light);color:var(--accent)}.badge-purple{background:var(--purple-bg);color:var(--purple)}.badge-grey{background:#f1f5f9;color:var(--muted)}.badge-orange{background:var(--orange-bg);color:var(--orange)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:6px;font-size:13px;font-weight:500;border:1px solid transparent;transition:opacity .15s}.btn:hover{opacity:.85}.btn-primary{background:var(--accent);color:#fff}.btn-outline{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-sm{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.field label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}input[type=text],select{border:1px solid var(--line);border-radius:6px;padding:7px 10px;font-family:inherit;font-size:13px;background:var(--surface);color:var(--ink);outline:none}input[type=text]:focus,select:focus{border-color:var(--accent)}.field input,.field select{width:100%;box-sizing:border-box}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px 16px;gap:14px 16px;align-items:start}.form-grid .field,.form-grid>label{min-width:0}.form-grid .span-2{grid-column:span 2}.form-grid .span-full{grid-column:1/-1}@media (max-width:640px){.form-grid .span-2{grid-column:span 1}}.form-actions{gap:14px;flex-wrap:wrap;margin-top:16px}.form-actions,.section-head{display:flex;align-items:center}.section-head{justify-content:space-between;margin-bottom:12px}.section-head h2{font-size:15px;font-weight:700;margin:0}.loading-msg{color:var(--muted)}.error-msg,.loading-msg{padding:40px;text-align:center;font-size:13px}.error-msg{color:var(--red)}.col-chips{display:flex;flex-wrap:wrap;gap:6px}.col-chip{background:var(--accent-light);color:var(--accent);font-size:11px;padding:3px 8px;border-radius:10px;font-weight:500}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:8px 12px;gap:8px 12px}.check-item{display:flex;align-items:flex-start;gap:8px;font-size:12px;cursor:pointer;padding:5px 6px;border-radius:6px;min-width:0;line-height:1.4}.check-item:hover{background:#f8fafc}.check-item input{cursor:pointer;flex-shrink:0;margin-top:2px}.check-item>span{min-width:0}.check-item strong,.check-item>span{overflow-wrap:anywhere;word-break:break-word}.preview-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--line);max-height:420px;overflow-y:auto}.preview-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.preview-table th{background:#f1f5f9;padding:8px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0}.preview-table td{padding:7px 12px;border-bottom:1px solid #f1f5f9}.preview-table tr:last-child td{border-bottom:none}.preview-table tr:nth-child(2n) td{background:#fafcff}.expand-panel{background:var(--surface-alt);border-top:1px solid var(--line);padding:14px 16px}.workflow-banner{background:linear-gradient(120deg,#fff,#f0f7ff 55%,#f5fffb);border:1px solid var(--line);border-radius:14px;padding:14px 16px 16px;margin-bottom:18px}.workflow-banner-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.workflow-steps{display:flex;gap:0;align-items:stretch;flex-wrap:wrap}.workflow-step-wrap{display:flex;align-items:center;flex:1 1;min-width:180px}.workflow-connector{width:18px;height:2px;background:var(--line);margin:0 4px;flex-shrink:0;position:relative;overflow:hidden}.workflow-connector.on{background:linear-gradient(90deg,#93c5fd,#86efac)}.workflow-step{display:flex;gap:10px;align-items:flex-start;text-decoration:none;color:var(--ink);padding:10px 12px;border-radius:12px;border:1px solid transparent;flex:1 1;transition:border-color .2s,background .2s,transform .2s}.workflow-step:hover{background:#fff;border-color:var(--line)}.workflow-step.active{background:#fff;border-color:#93c5fd;box-shadow:0 6px 18px rgba(37,99,235,.08);transform:translateY(-1px)}.workflow-step.past .workflow-num{background:#dcfce7;color:#15803d}.workflow-num{width:26px;height:26px;border-radius:50%;background:#e2e8f0;color:#334155;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}.workflow-step.active .workflow-num{background:var(--accent);color:#fff}.workflow-text{display:flex;flex-direction:column;gap:2px}.workflow-text strong{font-size:13px}.workflow-text span{font-size:11px;color:var(--muted);line-height:1.35}.lineage-flow-wrap{background:radial-gradient(1200px 280px at 20% 0,#eef6ff 0,#fff 45%,#f4fff8 100%);border:1px solid var(--line);border-radius:14px;padding:14px 16px 16px;overflow:hidden}.lineage-flow-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;flex-wrap:wrap}.lineage-flow-title{font-size:14px;font-weight:800}.lineage-flow-sub{font-size:12px;color:var(--muted);margin-top:2px}.lineage-flow-badge{font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:#f8fafc;color:var(--muted)}.lineage-flow-badge.is-building{background:#eff6ff;color:var(--accent);border-color:#bfdbfe}.lineage-flow-badge.is-ready{background:#f0fdf4;color:var(--green);border-color:#bbf7d0}.lineage-flow-wrap.is-compact{padding:8px 10px 10px;border-radius:10px;background:linear-gradient(180deg,#f8fbff,#fff 70%)}.lineage-flow-wrap.is-compact .lineage-flow-head{margin-bottom:2px;align-items:center}.lineage-flow-wrap.is-compact .lineage-flow-title{font-size:12px;font-weight:700}.lineage-flow-wrap.is-compact .lineage-flow-badge{font-size:10px;padding:3px 8px}.lineage-flow-wrap.is-compact .lineage-svg{min-height:0}.lineage-flow-wrap.is-compact .lane-label{font-size:8px;letter-spacing:.06em}.lineage-flow-wrap.is-compact .node-title{font-size:10px;font-weight:600}.lineage-flow-wrap.is-compact .lineage-status{margin-top:4px;font-size:11px;padding:4px 0 0}.lineage-flow-wrap.is-compact .flow-path{stroke-width:1.5}.lineage-flow-wrap.is-compact .flow-path.shimmer{stroke-width:2.5}.lane-label{fill:#94a3b8;font-size:10px;font-weight:700;letter-spacing:.08em}.node-ghost{fill:#f8fafc;stroke:#cbd5e1;stroke-width:1.5;stroke-dasharray:5 4}.node-ghost-text{fill:#94a3b8;font-size:11px;font-weight:600}.node-table{fill:#eff6ff;stroke:#2563eb;stroke-width:1.6}.node-table.has-cols{fill:#dbeafe}.node-engine{fill:#f8fafc;stroke:#94a3b8;stroke-width:1.5}.node-engine.on{fill:#f5f3ff;stroke:#7c3aed}.node-report{fill:#f8fafc;stroke:#94a3b8;stroke-width:1.5}.node-report.ready{fill:#dcfce7;stroke:#16a34a}.node-title{fill:#0f172a;font-size:12px;font-weight:700}.node-meta{fill:#64748b;font-size:10px}.flow-path{stroke-width:2}.flow-path.base-blue{stroke:#2563eb;stroke-dasharray:6 5;animation:dash-flow 1.1s linear infinite}.flow-path.base-green{stroke:#16a34a;stroke-dasharray:6 5;opacity:.55;animation:dash-flow 1.2s linear infinite}.flow-path.base-green.hot{opacity:1}.flow-path.ghost{stroke:#cbd5e1;stroke-dasharray:4 4}.flow-path.shimmer{stroke-width:3.5;stroke-linecap:round;opacity:.9;stroke-dasharray:18 40;animation:shimmer-flow .9s linear infinite;filter:drop-shadow(0 0 3px rgba(56,189,248,.55))}@keyframes dash-flow{to{stroke-dashoffset:-22}}@keyframes shimmer-flow{to{stroke-dashoffset:-58}}.flow-node-enter{animation:node-pop .35s ease-out;transform-origin:center}@keyframes node-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lineage-col-strip,.lineage-join-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.lineage-col-group{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.lineage-col-table{font-size:10px;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-right:2px}.lineage-col-chip{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600;animation:chip-in .25s ease-out}.lineage-join-chip{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe;font-size:11px;padding:3px 9px;border-radius:8px;font-weight:600}.lineage-status{margin-top:10px;font-size:12px;color:var(--muted);padding:8px 10px;background:hsla(0,0%,100%,.7);border-radius:8px;border:1px dashed var(--line)}@keyframes chip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.flow-node-enter,.flow-path.base-blue,.flow-path.base-green,.flow-path.shimmer,.lineage-col-chip{animation:none!important}}.join-path-panel h2{margin-bottom:2px}.join-path-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:8px;gap:8px;align-items:end;margin-top:12px}.join-path-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--muted)}.join-path-form select{width:100%;font-size:12px;padding:6px 8px}.join-path-add{height:32px;align-self:end}.join-path-empty{margin-top:10px;font-size:12px;color:var(--muted);padding:8px 10px;border:1px dashed var(--line);border-radius:8px;background:#fafbfd}.join-path-list{margin-top:12px;display:flex;flex-direction:column;gap:6px}.join-path-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fbff;font-size:12px}.join-path-badge{font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:#dbeafe;color:#1d4ed8}.join-path-row code{font-size:11.5px;background:#fff;border:1px solid #e2e8f0;padding:2px 6px;border-radius:5px}.join-path-eq{color:var(--muted);font-weight:700}.join-path-suggest{margin-top:12px}.join-path-suggest-label{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#94a3b8;margin-bottom:6px}.join-path-suggest-chips{display:flex;flex-wrap:wrap;gap:6px}.join-path-suggest-chip{border:1px solid #ddd6fe;background:#f5f3ff;color:#5b21b6;font-family:inherit;font-size:11px;font-weight:600;padding:4px 8px;border-radius:999px;cursor:pointer}.join-path-suggest-chip:hover{background:#ede9fe}.builder-grid{display:grid;grid-template-columns:280px 1fr;grid-gap:16px;gap:16px;align-items:start}@media (max-width:980px){.builder-grid{grid-template-columns:1fr}}.builder-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}.builder-panel h2{margin:0 0 4px;font-size:14px;font-weight:800}.builder-panel .hint{margin:0 0 12px;font-size:12px;color:var(--muted);line-height:1.4}.table-pick-list{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow:auto}.table-pick{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:10px;border:1px solid var(--line);cursor:pointer;background:#fff;transition:border-color .15s,background .15s}.table-pick:hover{border-color:#93c5fd}.table-pick.on{border-color:#2563eb;background:#eff6ff}.table-pick input{margin-top:2px}.table-pick strong{display:block;font-size:13px}.table-pick small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.sql-box{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:#0f172a;color:#e2e8f0;border-radius:10px;padding:14px;white-space:pre-wrap;line-height:1.5;min-height:120px}.step-pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.step-pill{font-size:12px;font-weight:700;padding:6px 10px;border-radius:999px;background:#f1f5f9;color:var(--muted);border:1px solid transparent}.step-pill.on{background:#eff6ff;color:var(--accent);border-color:#bfdbfe}.step-pill.done{background:#f0fdf4;color:var(--green);border-color:#bbf7d0}.workflow-compact{flex-wrap:wrap;padding:3px;background:#f1f5f9;border-radius:999px;border:1px solid #e2e8f0}.workflow-compact,.workflow-compact-item{display:inline-flex;align-items:center;gap:2px}.workflow-compact-sep{width:10px;height:1px;background:#cbd5e1;margin:0 2px}.workflow-compact-sep.on{background:#93c5fd}.workflow-compact-link{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 6px;border-radius:999px;text-decoration:none;color:#64748b;font-size:11px;font-weight:650;transition:background .15s,color .15s}.workflow-compact-link:hover{background:#fff;color:#0f172a}.workflow-compact-link.active{background:var(--accent);color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.28)}.workflow-compact-link.past{color:#15803d}.workflow-compact-num{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;background:rgba(148,163,184,.35);color:inherit}.workflow-compact-link.active .workflow-compact-num{background:hsla(0,0%,100%,.2)}.catalog-shell{display:flex;flex-direction:column;height:calc(100vh - 56px);background:radial-gradient(900px 220px at 0 0,rgba(37,99,235,.08),transparent 55%),radial-gradient(700px 200px at 100% 0,rgba(37,99,235,.04),transparent 50%),#f4f7fb}.catalog-toolbar{flex-shrink:0;display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;grid-gap:10px;gap:10px;padding:8px 14px;background:hsla(0,0%,100%,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,.95);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8)}.catalog-brand{display:flex;align-items:center;gap:8px;min-width:0;justify-self:start}.catalog-brand h1{margin:0;font-size:15px;font-weight:700;letter-spacing:-.02em;white-space:nowrap}.catalog-brand .meta{display:none}.catalog-toolbar .studio-workflow{justify-self:center}.catalog-actions{display:flex;align-items:center;gap:6px;justify-self:end;flex-wrap:wrap}.catalog-actions .btn{border-radius:8px;font-size:12px;padding:5px 10px;font-weight:650}.catalog-actions .btn-primary{background:var(--accent);border-color:var(--accent);box-shadow:0 6px 14px rgba(37,99,235,.25)}.catalog-actions .btn-primary:hover{opacity:.92}.catalog-search{position:relative;flex:1 1;min-width:180px;max-width:320px}.catalog-search input{width:100%;box-sizing:border-box;padding:6px 28px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:12px;color:var(--ink);transition:border-color .15s,background .15s,box-shadow .15s;font-family:inherit}.catalog-search input:focus{outline:none;border-color:#93c5fd;background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.catalog-search-ico{left:9px;width:12px;height:12px;pointer-events:none}.catalog-search-clear,.catalog-search-ico{position:absolute;top:50%;transform:translateY(-50%);color:#94a3b8}.catalog-search-clear{right:6px;border:none;background:transparent;cursor:pointer;font-size:12px;padding:2px 4px;line-height:1}.catalog-search-clear:hover{color:#64748b}.catalog-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.catalog-filters .q-wrap,.catalog-filters select{font-size:11px;padding:5px 8px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:var(--ink)}.catalog-filters .q-wrap{display:inline-flex;align-items:center;gap:6px;padding:4px 8px}.catalog-filters input[type=range]{width:64px;accent-color:var(--accent)}.catalog-body{flex:1 1;display:flex;min-height:0;overflow:hidden;gap:0;padding:0}.catalog-rail{width:320px;flex-shrink:0;background:linear-gradient(180deg,#fff,#f8fafc);border-right:1px solid rgba(226,232,240,.95);overflow:auto;box-shadow:inset -1px 0 0 hsla(0,0%,100%,.6)}.catalog-rail-rich{width:328px}.catalog-rail-head{position:-webkit-sticky;position:sticky;top:0;z-index:3;padding:12px 14px 10px;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #eef2f7;display:flex;align-items:center;justify-content:space-between;gap:8px}.catalog-rail-head>span{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.catalog-rail-head-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.catalog-rail-head-action{border:1px solid #e2e8f0;background:#fff;color:var(--accent);font-size:10.5px;font-weight:600;letter-spacing:0;text-transform:none;cursor:pointer;padding:3px 8px;border-radius:999px;transition:background .15s,border-color .15s,box-shadow .15s;font-family:inherit}.catalog-rail-head-action:hover{background:var(--accent-light);border-color:#bfdbfe;text-decoration:none;box-shadow:0 1px 2px rgba(37,99,235,.08)}.catalog-rail-head-action.catalog-rail-hide{color:#64748b;min-width:28px;padding:3px 8px}.catalog-rail-search{position:-webkit-sticky;position:sticky;top:40px;z-index:2;display:flex;align-items:center;gap:6px;margin:0 10px 8px;padding:6px 8px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04)}.catalog-rail-search svg{width:14px;height:14px;color:#94a3b8;flex-shrink:0}.catalog-rail-search input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:12px;color:var(--ink);padding:2px 0}.catalog-rail-search-clear{border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:11px;padding:0 2px;line-height:1}.catalog-rail-search-clear:hover{color:#64748b}.catalog-rail-expand-strip{flex-shrink:0;width:40px;border:none;border-right:1px solid #e8eef5;background:linear-gradient(180deg,#fff,#f8fafc);color:#475569;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 0;font-family:inherit;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:background .15s,color .15s}.catalog-rail-expand-strip:hover{background:#eff6ff;color:var(--accent)}.catalog-rail-expand-strip svg{width:16px;height:16px}.catalog-rail-expand-strip span{writing-mode:vertical-rl;transform:rotate(180deg)}.catalog-rail-group{padding:8px 10px 4px}.catalog-rail-db{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;cursor:pointer;border-radius:12px;border:1px solid #e8eef5;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 1px 2px rgba(15,23,42,.04);transition:border-color .15s,box-shadow .15s,transform .15s;margin-bottom:6px;text-align:left;font-family:inherit;color:inherit}.catalog-rail-db:hover{border-color:#c7d7fe;box-shadow:0 4px 12px rgba(37,99,235,.08);background:#fff}.catalog-rail-db.open{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff 70%)}.catalog-rail-db-icon{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;color:#fff;box-shadow:0 4px 10px rgba(15,23,42,.12)}.catalog-rail-db-icon svg{width:16px;height:16px}.catalog-rail-db-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.catalog-rail-db-text strong{font-size:13px;font-weight:600;color:#0f172a;letter-spacing:-.01em;text-transform:none}.catalog-rail-db-text small,.catalog-rail-db-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-rail-db-text small{font-size:11px;font-weight:400;color:#94a3b8}.catalog-rail-db-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.catalog-rail-count{font-size:10px;font-weight:600;color:#1e40af;background:#dbeafe;padding:2px 7px;border-radius:999px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.catalog-rail-count.soft{background:#f1f5f9;color:#64748b}.catalog-rail-chevron{width:18px;height:18px;border-radius:6px;display:grid;place-items:center;background:#f1f5f9;color:#64748b;transition:transform .18s ease,background .15s;flex-shrink:0}.catalog-rail-chevron.sm{width:16px;height:16px;background:transparent}.catalog-rail-db.open .catalog-rail-chevron,.catalog-rail-schema-head.open .catalog-rail-chevron{background:#dbeafe;color:#2563eb;transform:rotate(90deg)}.catalog-rail-schema-head.open .catalog-rail-chevron.sm{background:transparent}.catalog-rail-chevron svg{width:12px;height:12px}.catalog-rail-schemas{display:flex;flex-direction:column;gap:4px;padding:0 2px 8px 6px;margin:0 0 4px 6px}.catalog-rail-schema{border-radius:10px}.catalog-rail-schema-head{display:flex;align-items:center;gap:6px;width:100%;padding:7px 8px;border:none;border-radius:8px;background:transparent;cursor:pointer;font-family:inherit;text-align:left;color:#334155;transition:background .14s}.catalog-rail-schema-head:hover{background:#f1f5f9}.catalog-rail-schema-head.open{background:#f8fafc}.catalog-rail-schema-name{flex:1 1;min-width:0;font-size:12px;font-weight:600;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-rail-schema-head.open .catalog-rail-schema-name{color:#1e3a8a}.catalog-rail-tables{display:flex;flex-direction:column;gap:4px;padding:2px 2px 8px 10px;margin:0 0 4px 10px;border-left:2px solid #e2e8f0;max-height:420px;overflow:auto}.catalog-rail-check{display:flex;align-items:center;flex-shrink:0;margin:0;cursor:pointer}.catalog-rail-check input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;border-radius:4px}.catalog-rail-item{padding:9px 10px;cursor:pointer;border-radius:10px;border:1px solid transparent;background:transparent;transition:background .14s,border-color .14s,box-shadow .14s}.catalog-rail-item:hover{background:#fff;border-color:#e8eef5;box-shadow:0 2px 8px rgba(15,23,42,.04)}.catalog-rail-item.on{background:linear-gradient(135deg,#eff6ff,#f8fbff);border-color:#bfdbfe;box-shadow:0 2px 10px rgba(37,99,235,.08)}.catalog-rail-item.for-report{background:#f0f7ff;border-color:#dbeafe}.catalog-rail-item.for-report.on{background:linear-gradient(135deg,#dbeafe,#eff6ff);border-color:#93c5fd}.catalog-rail-item-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.catalog-rail-item-top strong{flex:1 1;min-width:0;font-size:12.5px;font-weight:600;color:#0f172a;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-rail-item.on .catalog-rail-item-top strong{color:#1e3a8a}.catalog-rail-score{font-size:10px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:2px 6px;border-radius:6px;background:rgba(15,23,42,.04)}.catalog-rail-item-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:5px;margin-left:23px;font-size:10.5px;color:#94a3b8;font-weight:400}.catalog-rail-empty{font-size:12px;color:#94a3b8;padding:20px 16px;text-align:center;font-weight:400}.catalog-report-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 18px;background:linear-gradient(90deg,#0f172a,#1e293b);color:#e2e8f0;border-top:1px solid #1e293b}.catalog-report-bar-info{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px}.catalog-report-bar-info strong{color:#fff;font-size:14px;font-weight:600}.catalog-report-bar-info .muted{font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw}.catalog-report-bar-actions{display:flex;gap:8px;flex-shrink:0}.catalog-report-bar .btn-outline{background:transparent;color:#e2e8f0;border-color:#475569}.catalog-report-bar .btn-outline:hover{background:#1e293b}.catalog-rail-table{display:flex;justify-content:space-between;align-items:center;padding:5px 10px 5px 18px;cursor:pointer;font-size:11.5px;border-bottom:1px solid #f8fafc;color:#334155}.catalog-rail-table:hover{background:#f8fafc}.catalog-rail-table.on{background:var(--accent);color:#fff}.catalog-list{display:none}.catalog-detail{flex:1 1;min-width:0;display:flex;flex-direction:column;background:#fff;box-shadow:-8px 0 24px rgba(15,23,42,.03)}.catalog-empty{flex:1 1;display:flex;align-items:center;justify-content:center;color:#64748b;text-align:center;padding:24px}.catalog-empty-card{max-width:300px;padding:24px 22px;border:1px dashed #dbe3ef;border-radius:16px;background:#fafbfd}.catalog-back-selection{flex-shrink:0;border:none;border-bottom:1px solid #eef2f7;background:linear-gradient(90deg,#eff6ff,#f8fbff);color:#1e40af;font-family:inherit;font-size:12px;font-weight:600;text-align:left;padding:9px 14px;cursor:pointer}.catalog-back-selection:hover{background:#dbeafe}.catalog-selection-stage{flex:1 1;min-height:0;overflow:auto;padding:10px 12px 14px;display:flex;flex-direction:column;gap:10px;background:radial-gradient(500px 160px at 10% 0,rgba(37,99,235,.05),transparent 55%),#fff}.catalog-selection-hero{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.catalog-selection-hero h2{margin:0;font-size:14px;font-weight:700;letter-spacing:-.02em;color:#0f172a}.catalog-selection-hero p{margin:2px 0 0;font-size:11.5px;color:#64748b}.catalog-selection-hero-actions{display:flex;gap:6px;flex-shrink:0}.catalog-selection-flow{border:1px solid #e8eef5;border-radius:10px;overflow:hidden;background:#fff;flex-shrink:0}.catalog-selection-flow .lineage-flow-wrap{border:none;border-radius:0}.catalog-selection-chips{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}.catalog-selection-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 4px 4px 6px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;box-shadow:0 1px 1px rgba(15,23,42,.03);animation:catalog-card-in .28s ease both;transition:border-color .15s,box-shadow .15s}.catalog-selection-chip:hover{border-color:#bfdbfe;box-shadow:0 2px 8px rgba(37,99,235,.08)}.catalog-selection-chip.just-added{border-color:#93c5fd;box-shadow:0 0 0 2px rgba(37,99,235,.14);animation:catalog-card-pop .4s ease both}.catalog-selection-ord{width:18px;height:18px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:10px;font-weight:700;display:grid;place-items:center;flex-shrink:0}.catalog-selection-chip-main{border:none;background:transparent;padding:0 2px;cursor:pointer;text-align:left;font-family:inherit;display:flex;flex-direction:column;gap:0;min-width:0;max-width:160px}.catalog-selection-chip-main strong{font-size:11.5px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-selection-chip-main small{font-size:9.5px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-selection-remove{border:none;background:#f8fafc;color:#94a3b8;width:20px;height:20px;border-radius:999px;cursor:pointer;font-size:10px;flex-shrink:0;line-height:1}.catalog-selection-remove:hover{background:#fef2f2;color:#dc2626}@keyframes catalog-card-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}@keyframes catalog-card-pop{0%{transform:scale(.92);opacity:.4}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}.catalog-detail-bar{flex-shrink:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid #eef2f7;background:linear-gradient(180deg,#fff,#fbfcfe)}.catalog-detail-bar h2{margin:0;font-size:15px;font-weight:700;letter-spacing:-.02em}.catalog-detail-bar .sub{font-size:11px;color:#64748b}.catalog-tabs{display:flex;gap:2px;padding:0 10px;border-bottom:1px solid #eef2f7;background:#fff;flex-shrink:0}.catalog-tab{padding:7px 11px;background:none;cursor:pointer;font-size:12px;font-weight:600;color:#64748b;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:8px 8px 0 0}.catalog-tab:hover{color:#0f172a;background:#f8fafc}.catalog-tab.on{color:var(--accent);border-bottom-color:var(--accent)}.catalog-detail-body{flex:1 1;overflow:auto;padding:12px 14px;min-height:0}.catalog-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:6px;gap:6px}.catalog-kpi{background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;padding:8px 10px}.catalog-kpi .l{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.catalog-kpi .v{font-size:12.5px;font-weight:750;margin-top:2px;color:#0f172a}.catalog-search-drop{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 12px 32px rgba(15,23,42,.14);max-height:240px;overflow:auto}.catalog-search-drop-item{padding:8px 10px;cursor:pointer;border-bottom:1px solid #f1f5f9}.catalog-search-drop-item:hover{background:#f8fafc}.catalog-search-drop-item:last-child{border-bottom:none}.studio-shell{display:flex;flex-direction:column;min-height:calc(100vh - 56px);background:radial-gradient(900px 220px at 0 0,rgba(37,99,235,.08),transparent 55%),radial-gradient(700px 200px at 100% 0,rgba(37,99,235,.04),transparent 50%),#f4f7fb}.studio-shell.is-fill{height:calc(100vh - 56px);min-height:0;overflow:hidden}.studio-toolbar{flex-shrink:0;display:grid;grid-template-columns:minmax(140px,1fr) auto minmax(140px,1fr);align-items:center;grid-gap:10px;gap:10px;padding:8px 14px;background:hsla(0,0%,100%,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(219,228,240,.95);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8)}.studio-brand{display:flex;align-items:center;gap:8px;min-width:0;justify-self:start}.studio-brand h1{margin:0;font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}.studio-brand .meta{display:none}.studio-workflow{justify-self:center;display:flex;align-items:center;justify-content:center}.studio-actions{display:flex;align-items:center;gap:6px;justify-self:end;flex-wrap:wrap}.studio-actions .btn{border-radius:8px;font-size:12px;padding:5px 10px;font-weight:650}.studio-subbar{flex-shrink:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 14px 8px;background:rgba(248,251,255,.92);border-bottom:1px solid #e8eef5;font-size:12px;color:var(--muted);line-height:1.35}.studio-subbar .desc{flex:1 1;min-width:180px}.studio-subbar .studio-filters{margin-left:auto}.studio-scroll{flex:1 1;overflow:auto;padding:12px 14px 24px;min-height:0}.studio-scroll.wide{width:100%}.studio-panel{background:hsla(0,0%,100%,.94);border:1px solid #e2eaf5;border-radius:12px;padding:12px 14px;box-shadow:0 8px 24px rgba(37,99,235,.04)}.studio-panel h2{margin:0 0 4px;font-size:13px;font-weight:800;color:var(--ink)}.studio-panel .hint{margin:0 0 10px;font-size:12px;color:var(--muted);line-height:1.4}.studio-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.studio-stat{background:hsla(0,0%,100%,.94);border:1px solid #e2eaf5;border-radius:10px;padding:10px 12px}.studio-stat .label{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.studio-stat .value{font-size:22px;font-weight:800;color:var(--ink);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.studio-stat .sub{font-size:11px;color:var(--muted);margin-top:4px;font-weight:600}.studio-table-wrap{background:hsla(0,0%,100%,.94);border:1px solid #e2eaf5;border-radius:12px;overflow-x:auto;box-shadow:0 8px 24px rgba(37,99,235,.04)}.studio-table-wrap table{width:100%;border-collapse:collapse;font-size:12.5px}.studio-table-wrap th{background:#f5f9ff;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:8px 12px;text-align:left;border-bottom:1px solid #e2eaf5;white-space:nowrap}.studio-table-wrap td{padding:9px 12px;border-bottom:1px solid #f1f5f9;vertical-align:top}.studio-table-wrap tr:last-child td{border-bottom:none}.studio-table-wrap tr:hover td{background:#f8fbff}.studio-table-wrap tr.is-selected td{background:var(--accent-light)}.studio-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.studio-filters input[type=text],.studio-filters select{font-size:12px;padding:5px 8px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;color:var(--ink)}.studio-filters input[type=text]:focus,.studio-filters select:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;position:relative;width:100%;max-height:85vh;overflow:auto}.modal-card.size-sm{max-width:400px}.modal-card.size-md{max-width:480px}.modal-card.size-lg{max-width:560px}.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:18px;line-height:1;cursor:pointer;color:var(--muted);padding:4px}.modal-close:hover{color:var(--ink)}.modal-title{margin:0 0 6px;font-size:16px;font-weight:700}.modal-subtitle{margin:0 0 16px;font-size:12.5px;color:var(--muted);line-height:1.4}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}.modal-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.modal-grid .span-2{grid-column:1/-1}@media (max-width:520px){.modal-grid{grid-template-columns:1fr}.modal-grid .span-2{grid-column:auto}}.modal-field{display:flex;flex-direction:column;gap:4px}.modal-field label,.modal-field>div:first-child{font-size:11px;color:var(--muted);font-weight:600}.modal-field input,.modal-field select{width:100%;box-sizing:border-box;padding:7px 10px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-family:inherit;font-size:13px}.modal-field input:focus,.modal-field select:focus{outline:none;border-color:var(--accent)}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:40px 20px;text-align:center;color:var(--muted);font-size:13px}.state-block strong{color:var(--ink);font-size:14px;font-weight:700}.adv-query-builder{display:flex;flex-direction:column;gap:16px}.adv-subsection{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--surface-alt)}.adv-subsection h4{margin:0 0 6px;font-size:12.5px;font-weight:800;color:var(--ink)}.adv-subsection .hint{margin:0 0 10px}.adv-cte-row,.adv-filter-leaf,.adv-join-row,.adv-output-col-row,.adv-setop-row,.adv-sort-row,.adv-source-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px dashed var(--line)}.adv-join-row{flex-direction:column;align-items:stretch}.adv-join-row>select{width:-moz-fit-content;width:fit-content}.adv-join-on{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.adv-alias-input{width:90px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font-size:12.5px}.adv-inline-check{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.adv-fn-args{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:4px}.adv-fn-arg-row{display:flex;align-items:center;gap:8px}.adv-filter-group{padding:8px 0}.adv-filter-group-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.adv-filter-group-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.adv-query-panel{padding:10px}.adv-subsection input:not(.adv-alias-input),.adv-subsection select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font-size:12.5px}.rv-breadcrumb{font-size:11.5px;color:var(--muted);margin-bottom:2px}.rv-breadcrumb a{color:var(--accent);text-decoration:none}.rv-breadcrumb a:hover{text-decoration:underline}.rv-body{display:flex;gap:16px;align-items:flex-start}.rv-report-area{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:12px}.rv-fields-panel{width:220px;flex-shrink:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;box-sizing:border-box}.rv-fields-panel-collapsed{width:28px;padding:8px 4px;display:flex;justify-content:center}.rv-fields-header{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--muted);margin-bottom:8px}.rv-collapse-btn{background:none;border:1px solid var(--line);border-radius:6px;width:22px;height:22px;cursor:pointer;font-size:13px;color:var(--muted);line-height:1}.rv-collapse-btn:hover{background:var(--surface-alt);color:var(--ink)}.rv-fields-search{width:100%;box-sizing:border-box;padding:6px 8px;margin-bottom:8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);font-size:12.5px}.rv-fields-list{display:flex;flex-direction:column;gap:4px;max-height:480px;overflow-y:auto}.rv-field-pill{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;background:var(--surface-alt);border:1px solid var(--line);font-size:12.5px;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rv-field-pill:hover{border-color:var(--accent)}.rv-field-pill-handle{color:var(--muted)}.rv-zone{border:1px dashed var(--line);border-radius:8px;padding:8px 10px;background:var(--surface-alt);min-height:44px}.rv-zone-label{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}.rv-zone-pills{display:flex;flex-wrap:wrap;gap:6px}.rv-zone-pill{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:12px;cursor:-webkit-grab;cursor:grab}.rv-pill-remove{background:none;border:none;cursor:pointer;color:var(--muted);font-size:12px;padding:0 2px}.rv-pill-remove:hover{color:var(--red)}.rv-pill-menu-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:10px;padding:0 2px}.rv-pill-menu{position:absolute;top:100%;right:0;margin-top:4px;z-index:30;min-width:160px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.15);overflow:hidden}.rv-pill-menu button{display:block;width:100%;text-align:left;padding:7px 12px;background:none;border:none;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink)}.rv-pill-menu button:hover{background:var(--surface-alt)}.rv-pill-menu-danger{color:var(--red)!important}.rv-toolbar-row{justify-content:space-between;gap:10px;flex-wrap:wrap}.rv-toolbar-row,.rv-view-as{display:flex;align-items:center}.rv-view-as{gap:8px;font-size:13px;font-weight:650}.rv-view-as select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.rv-export-menu{position:absolute;right:0;top:100%;margin-top:4px;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.15);min-width:130px;overflow:hidden}.rv-export-menu button{display:block;width:100%;text-align:left;padding:8px 12px;background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink)}.rv-export-menu button:hover,.rv-group-row td{background:var(--surface-alt)}.rv-group-row td{font-weight:650;font-size:12.5px;padding:6px 10px}.rv-agg-row td{background:var(--accent-light);font-size:11.5px;color:var(--accent);font-weight:650}.rv-bar-cell{min-width:120px}.rv-bar-cell-track{position:relative;height:18px;background:var(--surface-alt);border-radius:4px;overflow:hidden}.rv-bar-cell-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);opacity:.55;border-radius:4px}.rv-bar-cell-label{position:relative;z-index:1;font-size:11.5px;padding-left:6px;line-height:18px}@media (max-width:900px){.rv-body{flex-direction:column}.rv-fields-panel{width:100%}.rv-fields-panel-collapsed{width:100%;height:32px}}