.nav{gap:14px}.nav-section{display:flex;flex-direction:column;gap:6px}.nav-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:0 10px}.nav-link{display:block}@media (max-width: 980px){.nav{gap:8px}.nav-section{flex-direction:row;flex-wrap:wrap;gap:6px;align-items:center}.nav-section-title{width:100%;padding:2px 2px 0}}.dashboard-product{gap:18px}.product-hero{background:linear-gradient(120deg,#fffffff5,#ecf5f3e6)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.kpi-card{min-height:160px}.journey-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.journey-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffd1;padding:14px;display:flex;flex-direction:column;gap:10px}.journey-card h4,.function-tile h4{margin:0;font-size:1rem;font-family:var(--font-serif)}.journey-card p,.function-tile p{margin:0;font-size:.88rem}.function-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.function-tile{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffd1;padding:12px;display:flex;flex-direction:column;gap:10px}.dashboard-command{margin:0;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#1c1b19eb;color:#fefcf8;overflow-x:auto;font-size:.83rem}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.proof-demo-page textarea{border-radius:12px;border:1px solid var(--border);padding:10px 12px;font-size:.95rem;background:#fff;resize:vertical;min-height:84px}.proof-demo-page code.detail-value{font-size:.85rem;background:#f6f1e7;padding:6px 8px;border-radius:8px;display:inline-block}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.settings-checkbox{align-self:end;min-height:44px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#ffffffb8}.appearance-preview-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.appearance-preview-card{border:1px solid var(--border);border-radius:12px;background:#ffffffc2;padding:12px;display:flex;flex-direction:column;gap:8px}.unified-console{gap:18px}.error-banner{border-color:#dc262647;background:#fef2f2e6;color:#991b1b}.success-banner{border-color:#16a34a47;background:#f0fdf4e6;color:#166534}.project-row{display:grid;grid-template-columns:160px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px}.project-row label{font-weight:600;color:var(--ink)}.project-row select{min-height:40px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:8px 10px}.service-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.service-card{display:flex;flex-direction:column;gap:8px;min-height:220px}.service-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.status-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:.72rem;letter-spacing:.08em;font-weight:700}.status-chip.ok{background:#16a34a26;color:#166534}.status-chip.fail{background:#dc262626;color:#991b1b}.status-ok{border-color:#16a34a59;background:#16a34a26;color:#166534}.status-warn{border-color:#ea580c59;background:#ea580c1f;color:#9a3412}.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.inline-form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.inline-form input,.inline-form select{min-height:38px;border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:#fff;flex:1 1 180px}.compact-list{display:flex;flex-direction:column;gap:8px}.compact-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#ffffffd1}.compact-item strong{display:block}.compact-item span{color:var(--muted);font-size:.82rem}.compact-item.actions>div:first-child{min-width:0}.embed-card{padding-bottom:14px}.iframe-shell{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#ffffffd9;min-height:520px}.cloudtune-frame{width:100%;min-height:520px;border:0;background:#fff}.command-block{margin-top:12px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#1c1b19eb;color:#fefcf8;overflow-x:auto;font-size:.83rem}.demo-flow-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.demo-flow-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffd6;padding:12px;display:flex;flex-direction:column;gap:8px}.demo-flow-card h4{margin:0;font-size:1rem;font-family:var(--font-serif)}.demo-flow-card p{margin:0}@media (max-width: 720px){.project-row{grid-template-columns:1fr}.iframe-shell,.cloudtune-frame{min-height:380px}}html{font-size:calc(16px * var(--font-scale, 1))}html,body{transition:background-color .18s ease,color .18s ease}html[data-theme=dark]{color-scheme:dark;--bg-0: #0d1116;--bg-1: #121922;--bg-2: #18202a;--ink: #eaf0f6;--muted: #aab6c3;--accent: #ff9b4a;--accent-2: #39c0aa;--accent-3: #68a8ff;--border: #2a3643;--card: #16202b;--shadow: 0 22px 60px rgba(0, 0, 0, .38)}html[data-theme=dark] body{background:radial-gradient(1100px 700px at 8% 0%,rgba(56,192,171,.12) 0%,transparent 58%),radial-gradient(900px 620px at 100% 0%,rgba(255,155,74,.1) 0%,transparent 56%),linear-gradient(180deg,#0d131b,#111b25 52%,#0e1620)}html[data-theme=dark] body:after{background:linear-gradient(90deg,#ff9b4a07,#68a8ff07,#38c0ab08)}html[data-theme=dark] .ghost,html[data-theme=dark] .tab,html[data-theme=dark] .segment,html[data-theme=dark] .list-row,html[data-theme=dark] .compact-item,html[data-theme=dark] .journey-card,html[data-theme=dark] .function-tile,html[data-theme=dark] .demo-flow-card{background:#ffffff0a;border-color:var(--border);color:var(--ink)}html[data-theme=dark] .hero-card,html[data-theme=dark] .product-hero{background:linear-gradient(120deg,#16202bf0,#17232fe6)}html[data-theme=dark] .settings-checkbox,html[data-theme=dark] .appearance-preview-card{background:#ffffff0b;border-color:var(--border);color:var(--ink)}html[data-theme=dark] .settings-checkbox{color:var(--ink)}html[data-theme=dark] .nested{background:#ffffff0a}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .cm-editor{background:#0f1720;color:var(--ink);border-color:var(--border)}html[data-theme=dark] .code-block,html[data-theme=dark] .command-block,html[data-theme=dark] .dashboard-command{background:#0b1016;color:#e6edf6;border-color:#273545}html[data-theme=dark] .form-error{background:#ff63632e;color:#ffb4b4}html[data-theme=dark] .note,html[data-theme=dark] .empty,html[data-theme=dark] .loading{background:#68a8ff24;color:var(--muted)}html[data-theme=dark] .badge.neutral{background:#68a8ff29;color:#c6ddff}html[data-theme=dark] .badge.complete,html[data-theme=dark] .status-ok{background:#39c0aa29;color:#b8f1e7}html[data-theme=dark] .badge.fail,html[data-theme=dark] .status-warn{background:#ff63632b;color:#ffcbcb}html[data-theme=dark] .topbar .eyebrow,html[data-theme=dark] .brand-sub,html[data-theme=dark] p,html[data-theme=dark] .muted,html[data-theme=dark] .list-sub,html[data-theme=dark] .metric-label,html[data-theme=dark] .detail-label{color:var(--muted)}html[data-theme=dark] a{color:#9ec7ff}html[data-theme=dark] .sidebar{background:#16202bdb}html[data-theme=dark] .tenant-pill{background:#ff9b4a29}html[data-theme=dark] .nav-link.active{background:#68a8ff29}html[data-font-size=small]{--font-scale: .93}html[data-font-size=medium]{--font-scale: 1}html[data-font-size=large]{--font-scale: 1.08}html[data-density=compact] .card,html[data-density=compact] .hero-card,html[data-density=compact] .list-row,html[data-density=compact] .compact-item{padding:12px}html[data-density=compact] .app-shell{padding:14px;gap:14px}html[data-density=compact] .sidebar{gap:16px;padding:16px}html[data-density=compact] .nav-link{padding:8px 10px}html[data-density=spacious] .card,html[data-density=spacious] .hero-card{padding:24px}html[data-density=spacious] .list-row,html[data-density=spacious] .compact-item{padding:14px 16px}html[data-density=spacious] .app-shell{padding:24px;gap:24px}html[data-density=spacious] .sidebar{gap:28px;padding:26px}html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}:root{color-scheme:light;--bg-0: #f7f2e9;--bg-1: #edf3f4;--bg-2: #fefcf8;--ink: #1c1b19;--muted: #5e5852;--accent: #ff7a2f;--accent-2: #157a6e;--accent-3: #2c5aa0;--border: #e2d9cc;--card: #ffffff;--shadow: 0 22px 60px rgba(31, 28, 23, .08);--radius: 18px;--radius-sm: 12px;--font-sans: "Space Grotesk", "Trebuchet MS", sans-serif;--font-serif: "Fraunces", "Times New Roman", serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);color:var(--ink);background:radial-gradient(circle at top right,#f3d9c6 0%,transparent 45%),radial-gradient(circle at 20% 20%,#d5e7ea 0%,transparent 50%),linear-gradient(180deg,var(--bg-0),var(--bg-1));min-height:100vh}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(120deg,#ff7a2f0f,#157a6e0a)}a{color:var(--accent-3);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-serif);margin:0 0 10px}h1{font-size:clamp(1.8rem,2vw + 1rem,2.6rem)}h2{font-size:1.6rem}h3{font-size:1.2rem}p{margin:0 0 12px;color:var(--muted)}button,input{font-family:inherit}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;gap:20px;padding:20px}.sidebar{background:#ffffffd9;border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{display:flex;align-items:center;gap:12px}.logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(140deg,var(--accent),#ffd2b3);display:grid;place-items:center;font-weight:700}.brand-title{font-weight:700;font-size:1.2rem}.brand-sub{font-size:.85rem;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:8px}.nav-link{padding:10px 12px;border-radius:12px;color:var(--ink);transition:transform .2s ease,background .2s ease}.nav-link:hover{background:#157a6e1a;transform:translate(4px)}.nav-link.active{background:#2c5aa01f;font-weight:600}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px}.tenant-pill{padding:8px 12px;background:#ff7a2f1f;border-radius:999px;font-size:.85rem}.main{padding:10px 10px 30px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:6px 8px}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.page{animation:rise-in .5s ease}.stack{display:flex;flex-direction:column;gap:20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.hero-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(130deg,#fffffff2,#fff1e6e6);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.metric{display:flex;align-items:baseline;gap:10px;margin-top:12px}.metric-value{font-size:1.8rem;font-weight:700}.metric-label{color:var(--muted);font-size:.85rem}.steps{margin:0;padding-left:18px;color:var(--muted)}.tabs{display:flex;align-items:center;gap:10px}.tab{padding:8px 14px;border-radius:999px;border:1px solid transparent;background:#ffffffb3;cursor:pointer;transition:all .2s ease}.tab.active{border-color:var(--accent-2);background:#157a6e1a;font-weight:600}.tab-spacer{flex:1}.search{padding:8px 12px;border-radius:999px;border:1px solid var(--border);min-width:220px}.split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px}.panel-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.segmented{display:inline-flex;gap:6px;padding:4px;background:#ffffffb3;border-radius:999px;border:1px solid var(--border)}.segment{border:none;background:transparent;padding:6px 12px;border-radius:999px;font-size:.8rem;cursor:pointer}.segment.active{background:#157a6e26;font-weight:600}.list{display:flex;flex-direction:column;gap:8px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffffb3;cursor:pointer;text-align:left;transition:transform .2s ease,border .2s ease,background .2s ease}.list-row:hover{transform:translateY(-2px);border-color:#2c5aa04d}.list-row.selected{background:#2c5aa01f}.list-title{font-weight:600}.list-sub{font-size:.8rem;color:var(--muted)}.badge{padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:#ff7a2f26;color:#8a3a0f}.badge.complete{background:#157a6e26;color:#0e4d46}.badge.fail,.badge.abort{background:#c83c3c26;color:#8a1f1f}.badge.neutral{background:#2c5aa01f;color:#1d3a66}.badge.verified{background:#157a6e26;color:#0e4d46}.badge.pending{background:#ff7a2f1f;color:#8a3a0f}.detail{display:flex;flex-direction:column;gap:12px}.nested{background:#f5f1eccc;border:1px solid rgba(226,217,204,.8);box-shadow:none}.static-row{cursor:default}.static-row:hover{transform:none}.editor-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}.filter-grid button{align-self:end}.inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.history-meta{display:flex;gap:8px;align-items:center}.builder-preview{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.timeline{border-left:2px solid rgba(44,90,160,.2);padding-left:12px}.timeline-row{position:relative}.timeline-row:before{content:"";position:absolute;left:-21px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:999px;background:#2c5aa080}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1b1959;display:grid;place-items:center;z-index:20}.modal{background:var(--card);border-radius:var(--radius);padding:20px;border:1px solid var(--border);width:min(560px,92vw);box-shadow:var(--shadow);max-height:80vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-body{display:flex;flex-direction:column;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.graph-panel{display:flex;flex-direction:column;gap:16px}.graph-header{display:flex;justify-content:space-between;align-items:center}.graph-wrap{height:360px;border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden;background:#fff9}.graph-node{border-radius:12px;padding:10px;border:1px solid rgba(44,90,160,.25);background:#2c5aa014;font-size:.85rem;font-weight:600;display:flex;align-items:center;justify-content:center;text-align:center}.graph-node.dataset{border-color:#ff7a2f66;background:#ff7a2f1a}.graph-node.run{border-color:#157a6e66;background:#157a6e1f}.graph-edge .react-flow__edge-path{stroke:#2c5aa080;stroke-width:2}.graph-detail{border-top:1px solid var(--border);padding-top:12px}.graph-detail h4{margin:0;font-size:1rem}.detail-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.detail-value{font-weight:500;word-break:break-word}.code-block{background:#f6f1e7;border-radius:12px;padding:12px;font-size:.85rem;overflow-x:auto}.loading,.empty,.form-error{padding:10px 12px;border-radius:12px;font-size:.9rem}.loading{background:#2c5aa014}.empty{background:#157a6e14;color:var(--muted)}.form-error{background:#c83c3c1f;color:#8a1f1f}.primary,.ghost,.link-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:none;padding:10px 16px;font-weight:600;cursor:pointer;text-decoration:none}.primary{background:var(--accent);color:#2c1707;box-shadow:0 12px 25px #ff7a2f33}.primary:disabled{opacity:.7;cursor:not-allowed}.ghost{background:#ffffffb3;border:1px solid var(--border);color:var(--ink)}.link-button{background:var(--accent-3);color:#f7f7f7}.auth-shell{min-height:100vh;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:30px}.auth-brand{padding:28px;display:flex;flex-direction:column;gap:14px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:#ff7a2f29;font-weight:700;width:fit-content}.pill-row{display:flex;gap:10px;flex-wrap:wrap}.pill{padding:6px 12px;border-radius:999px;background:#2c5aa01f;font-size:.8rem}.note{padding:10px 12px;border-radius:12px;background:#157a6e1f;color:var(--muted)}.auth-card{align-self:center;background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:26px;box-shadow:var(--shadow)}.card-header{margin-bottom:16px}.form{display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--muted)}input{border-radius:12px;border:1px solid var(--border);padding:10px 12px;font-size:.95rem}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-2)}select{border-radius:12px;border:1px solid var(--border);padding:10px 12px;font-size:.95rem;background:#fff}select[multiple]{min-height:140px}.card-footer{display:flex;justify-content:space-between;margin-top:16px;font-size:.9rem}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.muted{color:var(--muted)}.overview{padding:40px clamp(20px,4vw,60px);display:flex;flex-direction:column;gap:30px}.overview-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:center}.overview-copy h1{font-size:clamp(2.2rem,2.5vw + 1rem,3.2rem)}.overview-card{display:flex;flex-direction:column;gap:16px}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.cm-editor{border-radius:12px;border:1px solid var(--border);width:100%}.cm-scroller{font-family:Space Grotesk,Trebuchet MS,sans-serif;font-size:.85rem}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 980px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;justify-content:space-between}.nav{flex-direction:row;flex-wrap:wrap;gap:6px}.sidebar-footer{flex-direction:row;align-items:center}.split{grid-template-columns:1fr}}@media (max-width: 720px){.hero-card{flex-direction:column;align-items:flex-start}.tabs{flex-wrap:wrap}.search{width:100%}}@media (prefers-reduced-motion: reduce){.page{animation:none}.nav-link,.list-row{transition:none}}.connector-card{display:flex;flex-direction:column;gap:12px}.connector-header{display:flex;align-items:center;gap:12px}.connector-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:.9rem;background:linear-gradient(135deg,var(--accent),#ffd2b3)}.connector-name{font-weight:600;font-size:1.1rem}.connector-type{font-size:.85rem;color:var(--muted)}.connector-stats{display:flex;justify-content:space-between;align-items:center}.connector-stat{display:flex;flex-direction:column;gap:2px}.stat-value{font-size:1.4rem;font-weight:700}.stat-label{font-size:.75rem;color:var(--muted);text-transform:uppercase}.connector-meta{font-size:.8rem;color:var(--muted)}.connector-error{font-size:.85rem;color:#8a1f1f;background:#c83c3c1a;padding:8px 12px;border-radius:8px}.connector-actions{display:flex;gap:8px;margin-top:auto}.connector-options{display:flex;flex-direction:column;gap:12px}.connector-option{display:flex;align-items:flex-start;gap:14px}.connector-option-icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:#ff7a2f26;flex-shrink:0}.setup-steps{display:flex;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.setup-step{padding:6px 12px;border-radius:999px;font-size:.8rem;color:var(--muted);background:#00000008}.setup-step.active{background:#157a6e26;color:#0e4d46;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.catalog-list,.database-list,.project-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:8px;border:1px solid var(--border);border-radius:12px;background:#00000005}.catalog-item,.database-item,.project-item{padding:8px 12px;border-radius:8px;background:#fff;border:1px solid var(--border)}.catalog-name,.database-name,.project-name{font-weight:500}.project-id{font-size:.8rem}.divider{height:1px;background:var(--border);margin:16px 0}.confirm-summary{display:flex;flex-direction:column;gap:10px;padding:12px;background:#00000005;border-radius:12px;border:1px solid var(--border)}.confirm-row{display:flex;justify-content:space-between;gap:12px}.confirm-label{font-size:.85rem;color:var(--muted)}.confirm-value{font-weight:500;text-align:right}.connector-select{min-width:200px}.breadcrumbs{display:flex;align-items:center;gap:4px;padding:8px 0;margin-bottom:12px;overflow-x:auto}.breadcrumb{padding:4px 10px;border-radius:6px;border:none;background:transparent;font-size:.85rem;color:var(--accent-3);cursor:pointer}.breadcrumb:hover{background:#2c5aa01a}.breadcrumb.active{font-weight:600;color:var(--ink)}.breadcrumb-sep{color:var(--muted);font-size:.8rem}.asset-list{max-height:500px;overflow-y:auto}.asset-row{width:100%}.asset-info{display:flex;align-items:center;gap:12px}.asset-icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:.75rem;background:#2c5aa01a;color:var(--accent-3)}.asset-icon.catalog{background:#ff7a2f26;color:#8a3a0f}.asset-icon.schema{background:#157a6e26;color:#0e4d46}.asset-icon.table{background:#2c5aa026;color:#1d3a66}.asset-icon.view{background:#805aa026;color:#4a3066}.navigate-arrow{color:var(--muted);font-size:1.2rem}.empty-detail{display:flex;align-items:center;justify-content:center;min-height:300px}.table-detail{display:flex;flex-direction:column;gap:16px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start}.tab-content{margin-top:12px}.columns-table{display:flex;flex-direction:column;gap:2px}.columns-header,.columns-row{display:grid;grid-template-columns:2fr 1.5fr .8fr 1.5fr;gap:12px;padding:10px 12px;align-items:center}.columns-header{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--border)}.columns-row{border-radius:8px;font-size:.9rem}.columns-row:hover{background:#00000005}.column-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;background:#2c5aa01a;color:var(--accent-3);font-size:.7rem;font-weight:700;margin-right:8px}.col-type{font-family:monospace;font-size:.8rem;padding:2px 6px;border-radius:4px}.dtype-numeric{background:#157a6e1a;color:#0e4d46}.dtype-string{background:#ff7a2f1a;color:#8a3a0f}.dtype-datetime{background:#2c5aa01a;color:#1d3a66}.dtype-boolean{background:#805aa01a;color:#4a3066}.dtype-other{background:#0000000d}.nullable-yes{color:var(--muted)}.nullable-no{font-weight:600;color:var(--ink)}.column-tag{display:inline-block;padding:2px 6px;border-radius:4px;background:#ff7a2f1a;font-size:.7rem;margin-right:4px}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.metadata-item{display:flex;flex-direction:column;gap:4px}.metadata-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.metadata-value{font-weight:500;word-break:break-word}.lineage-preview{display:flex;align-items:center;justify-content:center;min-height:200px}.sync-dashboard{display:flex;flex-direction:column;gap:16px}.sync-header{display:flex;justify-content:space-between;align-items:center}.sync-list{display:flex;flex-direction:column;gap:12px}.sync-job-card{padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffb3}.sync-job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sync-job-time{font-size:.8rem;color:var(--muted)}.progress-bar{height:6px;background:#0000000f;border-radius:3px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-2),#3ab89a);border-radius:3px;transition:width .3s ease}.sync-job-stats{display:flex;gap:24px}.sync-stat{display:flex;align-items:baseline;gap:4px}.sync-stat-value{font-weight:600;font-size:1.1rem}.sync-stat-label{font-size:.8rem;color:var(--muted)}.sync-job-error{margin-top:10px;padding:8px 12px;background:#c83c3c1a;border-radius:8px;font-size:.85rem;color:#8a1f1f}.column-lineage-graph-wrap{height:500px;border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden;background:#fff9;position:relative}.column-lineage-table-node{background:#fff;border:1px solid var(--border);border-radius:12px;min-width:260px;box-shadow:0 4px 12px #0000000f;overflow:hidden}.table-node-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(135deg,#2c5aa014,#2c5aa00a);border-bottom:1px solid var(--border);cursor:pointer}.table-platform-badge{padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:700;background:#ff7a2f26;color:#8a3a0f}.table-node-name{font-weight:600;font-size:.9rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-expand-icon{color:var(--muted);font-size:1.2rem}.table-node-columns{display:flex;flex-direction:column}.table-node-column{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:.8rem;border-bottom:1px solid rgba(0,0,0,.04);position:relative}.table-node-column:last-child{border-bottom:none}.table-node-column.highlighted{background:#ff7a2f1a}.table-node-column .column-name{flex:1;font-weight:500}.table-node-column .column-type{font-family:monospace;font-size:.7rem;color:var(--muted);padding:1px 4px;background:#0000000a;border-radius:3px}.column-handle{width:8px!important;height:8px!important;background:var(--accent-3)!important;border:2px solid white!important}.column-edge{stroke:#2c5aa066;stroke-width:2}.column-edge.highlighted{stroke:var(--accent);stroke-width:3}.column-edge.direct .react-flow__edge-path{stroke:#157a6e99}.column-edge.derived .react-flow__edge-path{stroke:#ff7a2f99;stroke-dasharray:5 3}.column-edge.aggregated .react-flow__edge-path{stroke:#805aa099;stroke-dasharray:8 4}.column-edge.filtered .react-flow__edge-path{stroke:#c83c3c99;stroke-dasharray:3 3}.column-lineage-legend{position:absolute;bottom:12px;left:12px;display:flex;gap:16px;padding:8px 12px;background:#ffffffe6;border-radius:8px;border:1px solid var(--border);font-size:.75rem}.legend-item{display:flex;align-items:center;gap:6px}.legend-line{width:24px;height:3px;border-radius:1px}.legend-line.direct{background:#157a6e99}.legend-line.derived{background:linear-gradient(90deg,rgba(255,122,47,.6) 50%,transparent 50%);background-size:6px 100%}.legend-line.aggregated{background:linear-gradient(90deg,rgba(128,90,160,.6) 60%,transparent 60%);background-size:10px 100%}.legend-line.filtered{background:linear-gradient(90deg,rgba(200,60,60,.6) 40%,transparent 40%);background-size:5px 100%}.platform-filter{display:flex;gap:8px;align-items:center}.platform-toggle{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:.8rem;cursor:pointer}.platform-toggle.active{background:#2c5aa01a;border-color:var(--accent-3)}.platform-toggle .platform-icon{width:18px;height:18px;border-radius:4px;display:grid;place-items:center;font-size:.6rem;font-weight:700}.platform-icon.unity_catalog{background:#ff7a2f26;color:#8a3a0f}.platform-icon.snowflake{background:#2c5aa026;color:#1d3a66}.platform-icon.dbt_cloud{background:#157a6e26;color:#0e4d46}.impact-panel{display:flex;flex-direction:column;gap:16px}.impact-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.impact-stat{text-align:center;padding:12px;background:#00000005;border-radius:12px}.impact-stat-value{font-size:1.8rem;font-weight:700}.impact-stat-label{font-size:.75rem;color:var(--muted);text-transform:uppercase}.impact-stat.warning .impact-stat-value{color:#8a3a0f}.impact-stat.critical .impact-stat-value{color:#8a1f1f}.impacted-assets{max-height:300px;overflow-y:auto}.impacted-asset{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border)}.impacted-asset:last-child{border-bottom:none}.asset-distance{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:700;background:#2c5aa01a;color:var(--accent-3)}.asset-distance.level-1{background:#ff7a2f26;color:#8a3a0f}.asset-distance.level-2{background:#c83c3c1a;color:#8a1f1f}.multi-platform-lineage{display:flex;flex-direction:column;gap:16px;height:100%}.lineage-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:12px;background:#00000005;border-radius:var(--radius-sm);border:1px solid var(--border)}.toolbar-section{display:flex;align-items:center;gap:8px}.toolbar-section label{font-size:.85rem;color:var(--muted);font-weight:500}.asset-select{min-width:250px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:#fff}.asset-search{width:180px}.depth-slider{width:80px;accent-color:var(--accent)}.depth-value{font-weight:600;min-width:20px;text-align:center}.platform-filters{display:flex;align-items:center;gap:8px;padding:8px 0}.filter-label{font-size:.85rem;color:var(--muted)}.platform-filter{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:.85rem;cursor:pointer;opacity:.5;transition:all .2s}.platform-filter.active{opacity:1;border-color:transparent}.platform-filter.unity_catalog.active{background:#ff7a2f26;color:#8a3a0f}.platform-filter.snowflake.active{background:#29b5e826;color:#156080}.platform-filter.dbt_cloud.active{background:#ff694a26;color:#993f2e}.lineage-graph-container{flex:1;min-height:400px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;position:relative}.lineage-stats{display:flex;gap:24px;padding:12px 16px;background:#00000005;border-radius:var(--radius-sm)}.lineage-stats .stat{display:flex;flex-direction:column;gap:2px}.lineage-stats .stat-value{font-size:1.2rem;font-weight:700}.lineage-stats .stat-label{font-size:.75rem;color:var(--muted);text-transform:uppercase}.platform-lineage-node{background:#fff;border:2px solid var(--border);border-radius:10px;min-width:220px;box-shadow:0 2px 8px #00000014}.platform-node-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:#00000005;border-radius:8px 8px 0 0}.platform-badge{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700;color:#fff}.platform-badge.unity_catalog,.platform-filter.unity_catalog .platform-badge{background:#ff7a2f}.platform-badge.snowflake{background:#29b5e8}.platform-badge.dbt_cloud{background:#ff694a}.node-type-badge{font-size:.7rem;color:var(--muted);text-transform:uppercase}.platform-node-body{padding:10px 12px}.node-label{font-weight:600;font-size:.95rem}.node-full-name{font-size:.75rem;color:var(--muted);margin-top:2px;word-break:break-all}.platform-handle{width:8px;height:8px;background:var(--accent-2);border:none}.platform-edge{stroke:var(--border);stroke-width:2}.platform-edge.produces{stroke:var(--accent-2)}.platform-edge.consumes{stroke:var(--accent-3)}.impact-analysis{display:flex;flex-direction:column;gap:20px}.impact-header{display:flex;justify-content:space-between;align-items:flex-start}.impact-controls{padding:8px 0}.impact-summary{display:flex;flex-direction:column;gap:16px;padding:16px;background:#00000005;border-radius:var(--radius-sm);border:1px solid var(--border)}.summary-card.highlight{padding:20px;text-align:center;background:linear-gradient(135deg,#ff7a2f1a,#157a6e14);border-radius:var(--radius-sm)}.summary-card .summary-value{font-size:2.5rem;font-weight:700;color:var(--ink)}.summary-card .summary-label{font-size:.9rem;color:var(--muted);margin-top:4px}.summary-section h4{margin:0 0 12px;font-size:.9rem;color:var(--muted);font-weight:600}.summary-grid{display:flex;gap:10px;flex-wrap:wrap}.summary-item{display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s;min-width:100px}.summary-item:hover{border-color:var(--accent)}.summary-item.active{border-color:var(--accent);background:#ff7a2f14}.summary-item .item-value{font-size:1.4rem;font-weight:700}.summary-item .item-label{font-size:.75rem;color:var(--muted)}.depth-bar{display:flex;gap:2px;height:32px;background:#00000005;border-radius:8px;overflow:hidden}.depth-segment{display:flex;align-items:center;justify-content:center;border:none;background:#2c5aa026;font-size:.8rem;font-weight:600;color:var(--accent-3);cursor:pointer;min-width:32px;transition:all .2s}.depth-segment:hover{background:#2c5aa040}.depth-segment.active{background:var(--accent-3);color:#fff}.depth-legend{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-top:6px}.critical-paths{display:flex;flex-direction:column;gap:8px}.critical-path{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:8px}.path-chain{font-size:.85rem;font-family:monospace}.path-arrow{color:var(--muted)}.impact-list{flex:1}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.list-header h4{margin:0}.btn-link{background:none;border:none;color:var(--accent-3);font-size:.85rem;cursor:pointer;padding:0}.btn-link:hover{text-decoration:underline}.impact-row{display:flex;justify-content:space-between;align-items:center}.impact-row .asset-info{display:flex;align-items:center;gap:12px}.impact-row .asset-meta{display:flex;align-items:center;gap:8px}.badge.direct{background:#ff7a2f26;color:#8a3a0f}.badge.indirect{background:#2c5aa01a;color:var(--accent-3)}.depth-indicator{font-size:.75rem;color:var(--muted)}.health-monitor{display:flex;flex-direction:column;gap:20px}.health-header{display:flex;justify-content:space-between;align-items:flex-start}.health-controls{display:flex;gap:12px}.health-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.health-card{display:flex;flex-direction:column;gap:12px;padding:16px;background:#fff;border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;text-align:left}.health-card:hover{border-color:var(--accent)}.health-card.selected{border-color:var(--accent);background:#ff7a2f08}.health-card.status-healthy{border-left:4px solid #157a6e}.health-card.status-syncing{border-left:4px solid var(--accent-3)}.health-card.status-critical,.health-card.status-error{border-left:4px solid #8a1f1f}.health-card.status-disconnected{border-left:4px solid var(--muted);opacity:.7}.health-card-header{display:flex;justify-content:space-between;align-items:center}.status-indicator{padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-indicator.status-healthy{background:#157a6e26;color:#0e4d46}.status-indicator.status-syncing{background:#2c5aa01a;color:var(--accent-3)}.status-indicator.status-critical,.status-indicator.status-error{background:#c83c3c1a;color:#8a1f1f}.status-indicator.status-disconnected{background:#0000000d;color:var(--muted)}.health-card-name{font-weight:600;font-size:1.1rem}.health-card-stats{display:flex;gap:24px}.health-card-stats .stat{display:flex;flex-direction:column;gap:2px}.health-card-stats .stat-value{font-size:1.2rem;font-weight:700}.health-card-stats .stat-label{font-size:.7rem;color:var(--muted);text-transform:uppercase}.health-detail{display:flex;flex-direction:column;gap:20px;padding:20px;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.detail-section h4{margin:0 0 12px;font-size:1rem;color:var(--ink)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.metric-card{padding:16px;border-radius:10px;border:1px solid var(--border);background:#00000003}.metric-card.metric-healthy{border-left:3px solid #157a6e}.metric-card.metric-warning{border-left:3px solid #c98200}.metric-card.metric-critical{border-left:3px solid #8a1f1f}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.metric-name{font-size:.85rem;color:var(--muted)}.metric-status{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px}.metric-status.healthy{background:#157a6e26;color:#0e4d46}.metric-status.warning{background:#c9820026;color:#7a5200}.metric-status.critical{background:#c83c3c1a;color:#8a1f1f}.metric-value{font-size:1.6rem;font-weight:700}.metric-unit{font-size:.85rem;font-weight:400;color:var(--muted);margin-left:4px}.metric-threshold{margin-top:8px;height:4px;background:#0000000d;border-radius:2px;overflow:hidden}.threshold-bar{height:100%;background:linear-gradient(90deg,#157a6e,#c98200,#8a1f1f);border-radius:2px}.sync-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.sync-stat{display:flex;flex-direction:column;gap:4px;padding:12px;background:#00000005;border-radius:8px;text-align:center}.sync-stat-value{font-size:1.4rem;font-weight:700}.sync-stat-label{font-size:.75rem;color:var(--muted);text-transform:uppercase}.sync-stat.success .sync-stat-value{color:#157a6e}.sync-stat.failed .sync-stat-value{color:#8a1f1f}.last-sync-status{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;background:#00000005;border-radius:8px}.last-sync-status .label{font-size:.85rem;color:var(--muted)}.last-sync-status .badge{margin:0}.last-sync-status .timestamp{font-size:.85rem;color:var(--muted);margin-left:auto}.errors-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.error-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#c83c3c0d;border-radius:8px;border-left:3px solid #8a1f1f}.error-item.warning{background:#c982000d;border-left-color:#c98200}.error-time{font-size:.75rem;color:var(--muted);min-width:140px}.error-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px}.error-badge.error{background:#c83c3c1a;color:#8a1f1f}.error-badge.warning{background:#c9820026;color:#7a5200}.error-message{font-size:.85rem;flex:1}.health-monitor-compact{padding:16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm)}.compact-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.compact-header h4{margin:0;font-size:1rem}.health-count{font-size:.85rem;color:var(--muted)}.compact-grid{display:flex;flex-direction:column;gap:8px}.compact-card{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#00000005;border-radius:8px;border-left:3px solid var(--border)}.compact-card.status-healthy{border-left-color:#157a6e}.compact-card.status-syncing{border-left-color:var(--accent-3)}.compact-card.status-critical,.compact-card.status-error{border-left-color:#8a1f1f}.compact-card-header{display:flex;align-items:center;gap:8px}.compact-card .connector-name{font-weight:500;font-size:.9rem}.compact-metrics{display:flex;align-items:center;gap:10px}.compact-metrics .uptime{font-size:.85rem;color:var(--muted)}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--border)}.status-dot.status-healthy{background:#157a6e}.status-dot.status-syncing{background:var(--accent-3);animation:pulse 1.5s infinite}.status-dot.status-critical,.status-dot.status-error{background:#8a1f1f}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.column-lineage-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#00000005;border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:12px}.column-lineage-toolbar .toolbar-section{display:flex;align-items:center;gap:12px}.column-lineage-toolbar .toolbar-label{font-size:.85rem;color:var(--muted);font-weight:500}.transformation-filters{display:flex;gap:8px}.transformation-filter{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:.8rem;cursor:pointer;transition:all .2s;opacity:.5}.transformation-filter:hover{opacity:.8}.transformation-filter.active{opacity:1}.transformation-filter .filter-dot{width:8px;height:8px;border-radius:50%}.transformation-filter.direct .filter-dot{background:#157a6e}.transformation-filter.derived .filter-dot{background:#ff7a2f}.transformation-filter.aggregated .filter-dot{background:#2c5aa0}.transformation-filter.filtered .filter-dot{background:#8a6d3b}.transformation-filter.direct.active{background:#157a6e1a;border-color:#157a6e}.transformation-filter.derived.active{background:#ff7a2f1a;border-color:#ff7a2f}.transformation-filter.aggregated.active{background:#2c5aa01a;border-color:#2c5aa0}.transformation-filter.filtered.active{background:#8a6d3b1a;border-color:#8a6d3b}.transformation-filter .filter-label{font-weight:500;text-transform:capitalize}.transformation-filter .filter-count{font-size:.7rem;color:var(--muted);background:#0000000d;padding:1px 6px;border-radius:999px}.export-dropdown{position:relative}.export-btn{display:flex;align-items:center;gap:4px}.export-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:160px;z-index:100;overflow:hidden}.export-menu button{display:block;width:100%;text-align:left;padding:10px 16px;border:none;background:none;font-size:.9rem;cursor:pointer;transition:background .15s}.export-menu button:hover{background:#0000000a}.column-lineage-stats{display:flex;gap:20px;padding:8px 16px;font-size:.85rem;color:var(--muted)}.column-lineage-stats .stat strong{color:var(--ink)}.column-lineage-stats .filter-active{color:var(--accent);font-style:italic}.column-lineage-graph{flex:1;min-height:450px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.p-6{padding:24px}.p-4{padding:16px}.p-8{padding:32px}.px-6{padding-left:24px;padding-right:24px}.py-4{padding-top:16px;padding-bottom:16px}.py-3{padding-top:12px;padding-bottom:12px}.py-2{padding-top:8px;padding-bottom:8px}.px-4{padding-left:16px;padding-right:16px}.px-3{padding-left:12px;padding-right:12px}.px-2{padding-left:8px;padding-right:8px}.py-1{padding-top:4px;padding-bottom:4px}.py-0\.5{padding-top:2px;padding-bottom:2px}.m-4{margin:16px}.mb-6{margin-bottom:24px}.mb-4{margin-bottom:16px}.mb-2{margin-bottom:8px}.mb-1{margin-bottom:4px}.mt-1{margin-top:4px}.mt-4{margin-top:16px}.-mb-px{margin-bottom:-1px}.max-w-7xl{max-width:80rem}.max-w-5xl{max-width:64rem}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-h-\[80vh\]{max-height:80vh}.w-full{width:100%}.w-12{width:3rem}.w-3{width:.75rem}.h-12{height:3rem}.h-48{height:12rem}.h-3{height:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.hidden{display:none}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.space-y-3>*+*{margin-top:12px}.space-y-4>*+*{margin-top:16px}.space-y-6>*+*{margin-top:24px}.divide-y>*+*{border-top:1px solid var(--border)}.divide-gray-200>*+*{border-color:#e5e7eb}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-hidden{overflow:hidden}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-mono{font-family:ui-monospace,monospace}.uppercase{text-transform:uppercase}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-gray-900{color:#111827}.text-gray-700{color:#374151}.text-gray-600{color:#4b5563}.text-gray-500{color:#6b7280}.text-gray-400{color:#9ca3af}.text-white{color:#fff}.text-indigo-600{color:#4f46e5}.text-indigo-800{color:#3730a3}.text-green-600{color:#059669}.text-green-800{color:#065f46}.text-red-600{color:#dc2626}.text-red-800{color:#991b1b}.text-yellow-600{color:#d97706}.text-blue-800{color:#1e40af}.text-orange-800{color:#9a3412}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-gray-400{background-color:#9ca3af}.bg-indigo-100{background-color:#e0e7ff}.bg-indigo-500{background-color:#6366f1}.bg-indigo-600{background-color:#4f46e5}.bg-green-100{background-color:#d1fae5}.bg-green-500{background-color:#22c55e}.bg-green-600{background-color:#16a34a}.bg-red-100{background-color:#fee2e2}.bg-red-500{background-color:#ef4444}.bg-yellow-100{background-color:#fef3c7}.bg-yellow-500{background-color:#eab308}.bg-blue-50{background-color:#eff6ff}.bg-blue-100{background-color:#dbeafe}.bg-blue-600{background-color:#2563eb}.bg-purple-600{background-color:#9333ea}.bg-orange-100{background-color:#ffedd5}.bg-black{background-color:#000}.bg-opacity-50{--tw-bg-opacity: .5}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-b-2{border-bottom-width:2px}.border-gray-200{border-color:#e5e7eb}.border-blue-200{border-color:#bfdbfe}.border-transparent{border-color:transparent}.border-indigo-500{border-color:#6366f1}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.shadow{box-shadow:0 1px 3px #0000001a}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a}.cursor-pointer{cursor:pointer}.transition-all{transition:all .15s ease}.hover\:bg-indigo-700:hover{background-color:#4338ca}.hover\:bg-blue-700:hover{background-color:#1d4ed8}.hover\:bg-green-700:hover{background-color:#15803d}.hover\:bg-purple-700:hover{background-color:#7e22ce}.hover\:bg-gray-50:hover{background-color:#f9fafb}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px #0000001a}.hover\:text-gray-700:hover{color:#374151}.hover\:text-gray-900:hover{color:#111827}.hover\:text-indigo-800:hover{color:#3730a3}.hover\:text-green-800:hover{color:#065f46}.hover\:text-red-800:hover{color:#991b1b}.disabled\:opacity-50:disabled{opacity:.5}.ring-2{box-shadow:0 0 0 2px}.ring-indigo-500{--tw-ring-color: #6366f1}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}}
