.dash-shell{display:flex;flex-direction:column;height:100vh;background:var(--bg);position:relative;overflow:hidden;container:dash-reader/inline-size}.dash-top{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);flex:none}.dash-title{display:flex;flex-direction:column;gap:3px;min-width:0}.dash-title .h{font-size:16px;font-weight:550;letter-spacing:-.01em}.dash-title .meta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--fg-2)}.dash-title .meta .dash-paused,.fc3-rrow2 .dash-paused{display:inline-flex;align-items:center;gap:5px;color:var(--warning)}.dash-top .spacer{flex:1}.fresh{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px}.fresh .dot{width:6px;height:6px;border-radius:50%;flex:none}.fresh[data-state=idle],.fresh[data-state=live]{color:var(--success)}.fresh[data-state=idle] .dot,.fresh[data-state=live] .dot{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.dash-kebab,.dash-refresh{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-1);color:var(--fg-1);cursor:pointer;flex:none}.dash-kebab:hover:not(:disabled),.dash-refresh:hover:not(:disabled){background:var(--bg-2);color:var(--fg)}.dash-refresh:disabled{opacity:.5;cursor:default}.dash-export{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-1);color:var(--fg-1);font-size:12px;cursor:pointer;flex:none}.dash-export:hover:not(:disabled){background:var(--bg-2);color:var(--fg)}.dash-export:disabled{opacity:.5;cursor:default}.dash-spin{animation:dash-spin .9s linear infinite}@keyframes dash-spin{to{transform:rotate(1turn)}}.fresh[data-state=refreshing]{color:var(--info)}.fresh[data-state=refreshing] .dot{background:var(--info);animation:dash-pulse 1.2s var(--ease-in-out) infinite}.fresh[data-state=stale]{color:var(--warning)}.fresh[data-state=stale] .dot{background:var(--warning)}@keyframes dash-pulse{0%,to{opacity:1}50%{opacity:.3}}.dash-spin{animation:dash-spin-kf 1.4s linear infinite}@keyframes dash-spin-kf{to{transform:rotate(1turn)}}.daterange{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:12px;color:var(--fg-1)}.dash-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:18px 0;container:dash-reader/inline-size}.hw-gauge{width:100%;height:0}.dash-canvas{position:relative;margin:0 auto}.dash-canvas[data-mode=stacked]{display:flex;flex-direction:column;gap:16px}.dash-canvas[data-mode=stacked]>.tile{position:relative;width:100%;flex:none}.dash-canvas>.dash-ann{position:absolute;z-index:1}.dash-canvas[data-mode=stacked]>.dash-ann{position:relative;flex:none;max-width:100%}.dash-canvas>.dash-ann[data-kind=pointer],.dash-canvas>.dash-ann[data-kind=shape]{pointer-events:none}.dash-canvas[data-sectioned]{display:flow-root}.dash-canvas[data-sectioned][data-mode=stacked]{display:flex}.tt-rsec-abs>.dash-ann{position:absolute;z-index:1}.tt-rsec-abs>.dash-ann[data-kind=pointer],.tt-rsec-abs>.dash-ann[data-kind=shape]{pointer-events:none}.tt-rsec-stack>.tile{position:relative;width:100%;flex:none}.tt-rsec-stack>.dash-ann{position:relative;flex:none;max-width:100%}.dash-canvas .tt-rsec-head .t{font-size:calc(16px * var(--dash-type-scale))}.dash-canvas .tt-rsec-head .d{font-size:calc(12.5px * var(--dash-type-scale))}.dash-canvas[data-exporting] .tt-rsec-body{grid-template-rows:1fr;transition:none}.dash-canvas[data-exporting] .tt-rsec-head[data-folded]{border-bottom-style:solid;margin-bottom:12px}.dash-canvas[data-exporting] .tt-rsec-head .chev{transform:none;transition:none}.dash-canvas[data-exporting] .tt-rsec-head .c{visibility:hidden}.tile{position:absolute;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-md);padding:13px 14px;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.tile .th{display:flex;align-items:center;gap:6px;margin-bottom:10px}.tile .th .tt{font-size:12.5px;color:var(--fg-1);font-weight:500}.tile .th .sp{flex:1}.tile-body{flex:1;min-width:0}.tile-fresh{margin-top:auto;padding-top:8px;font-family:var(--font-mono);font-size:9.5px;color:var(--fg-3);display:flex;align-items:center;gap:5px}.tile-fresh[data-tone=grey]{color:var(--fg-2)}.tile-fresh[data-tone=amber]{color:var(--warning)}.tile-fresh .sp{flex:1}.tile-fresh .i{flex:none;width:14px;height:14px;border-radius:50%;border:1px solid var(--line);color:var(--fg-3);display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-style:italic;cursor:pointer;background:none;padding:0}.tile-fresh .i:hover{color:var(--fg-1);border-color:var(--line-strong)}.disc-sql{max-height:40%;overflow:auto;flex:none}.disc-breakdown,.disc-sql{margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}.disc-breakdown{display:flex;flex-direction:column;gap:5px}.disc-breakdown .br{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;color:var(--fg-2)}.disc-breakdown .br .dt{width:5px;height:5px;border-radius:50%;flex:none}.tile[data-state=stale]{border-color:oklch(from var(--warning) l c h/.4)}.tile[data-state=broken]{border-color:oklch(from var(--danger) l c h/.4);background:oklch(from var(--danger) l c h/.03)}.tile[data-state=detached]{border-color:oklch(from var(--warning) l c h/.4)}.tile-tag{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:var(--radius-xs)}.tile-tag[data-t=stale]{color:var(--warning);background:var(--warning-soft)}.tile-tag[data-t=refreshing]{color:var(--info);background:var(--info-soft)}.tile-tag[data-t=detached]{color:var(--warning);background:var(--warning-soft)}.state-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:6px}.state-body .ic{color:var(--fg-3)}.state-body[data-tone=broken] .ic,.state-body[data-tone=failed] .ic{color:var(--danger)}.state-body .msg{font-size:12px;color:var(--fg-1);line-height:1.5;max-width:34ch}.state-body .msg b{color:var(--fg);font-weight:600}.state-body .sub{font-family:var(--font-mono);font-size:10px;color:var(--fg-3)}.skel{background:linear-gradient(90deg,var(--bg-2) 0,var(--bg-3) 50%,var(--bg-2) 100%);background-size:200% 100%;animation:dash-shimmer 1.4s linear infinite;border-radius:3px}@keyframes dash-shimmer{to{background-position:-200% 0}}.page-state{flex:1;display:flex;flex-direction:column;gap:16px;text-align:center;padding:40px}.page-state,.page-state .ps-ic{align-items:center;justify-content:center}.page-state .ps-ic{width:52px;height:52px;border-radius:50%;display:inline-flex;background:var(--bg-2);border:1px solid var(--line);color:var(--fg-2)}.page-state[data-tone=broken] .ps-ic{color:var(--danger);border-color:oklch(from var(--danger) l c h/.4);background:oklch(from var(--danger) l c h/.06)}.page-state[data-tone=denied] .ps-ic{color:var(--warning);border-color:oklch(from var(--warning) l c h/.4);background:oklch(from var(--warning) l c h/.06)}.page-state h3{margin:0;font-size:18px;font-weight:550}.page-state p{margin:0;font-size:13px;color:var(--fg-2);line-height:1.6;max-width:44ch}.page-state p a{color:var(--accent);text-decoration:none}.page-state p a:hover{text-decoration:underline}.idx-head{display:flex;align-items:center;gap:12px;padding:18px 22px 12px}.idx-head h2{margin:0;font-size:24px;font-weight:550;letter-spacing:-.02em}.idx-head .spacer{flex:1}.idx-head .dsearch{display:inline-flex;align-items:center;gap:6px;height:var(--row-h);padding:0 8px;background:var(--bg-inset);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--fg);font-size:13px;min-width:200px;transition:border-color var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}.idx-head .dsearch:focus-within{border-color:var(--accent-line);background:var(--bg-1);box-shadow:0 0 0 3px var(--accent-soft)}.idx-head .dsearch svg{color:var(--fg-3);flex:0 0 auto}.idx-head .dsearch input{flex:1;border:0;background:transparent;outline:none;padding:0;min-width:0;color:var(--fg);font:inherit}.idx-head .dsearch input::-moz-placeholder{color:var(--fg-3)}.idx-head .dsearch input::placeholder{color:var(--fg-3)}.idx-tabs{padding:0 22px}.idx-list{padding:14px 22px;display:flex;flex-direction:column;gap:8px}.drow{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-md);cursor:default}.drow:hover{border-color:var(--line-strong);background:var(--bg-2)}.drow .dmini{width:76px;height:48px;flex:0 0 auto;border-radius:var(--radius-sm);background:var(--bg-inset);border:1px solid var(--line);padding:6px;display:grid;grid-template-columns:1fr 1fr;gap:3px;overflow:hidden}.dmini .m{background:var(--bg-2);border-radius:2px}.dmini .m.big{grid-column:span 2;display:flex;align-items:flex-end;gap:2px;padding:3px}.dmini .m.big i{flex:1;background:var(--viz-1);border-radius:1px}.drow .dinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.drow .dinfo .nm{font-size:13.5px;font-weight:550;color:var(--fg)}.drow .dinfo .sub{display:flex;gap:8px;font-size:11.5px}.drow .dinfo .src,.drow .dinfo .sub{align-items:center;color:var(--fg-2)}.drow .dinfo .src{font-size:11px;display:inline-flex;gap:5px}.drow .dinfo .src a{color:var(--accent)}.drow .dmeta{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right}.drow .dmeta .when{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-3);white-space:nowrap}.vis{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--fg-1)}.vis .ic{color:var(--fg-2)}.vis[data-v=broken],.vis[data-v=broken] .ic{color:var(--danger)}.drow[data-broken]{border-color:oklch(from var(--danger) l c h/.35)}.drow[data-broken] .dmini{opacity:.5}.drow[data-broken] .src{color:var(--danger)}.drow .dact{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--fg-3);cursor:pointer;padding:0}.drow .dact:hover,.drow .dact[data-state=open]{background:var(--bg-3);color:var(--fg)}.dash-source-clip{width:0;height:0}.dash-source-clip,.dash-source-host{position:absolute;top:0;left:0;overflow:hidden}.dash-source-host{width:960px;height:600px;clip-path:inset(50%);pointer-events:none;z-index:-1}.hw-scaletag{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:9.5px;color:var(--fg-3);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1px 5px;cursor:default;flex:none}.dash-canvas{--dash-type-scale:1;--dash-kpi-num:var(--dash-type-scale);--dash-kpi-delta:var(--dash-type-scale)}.dash-canvas .tile [data-block-header]{zoom:var(--dash-type-scale)}.dash-canvas .tile-fresh{font-size:calc(9.5px * var(--dash-type-scale))}.dash-canvas .tb-td{font-size:calc(12.5px * var(--dash-type-scale));padding:calc(7px * var(--dash-type-scale)) calc(12px * var(--dash-type-scale))}.dash-canvas .sq-results-table,.dash-canvas .tb-th-main{font-size:calc(12px * var(--dash-type-scale))}.dash-canvas .sq-results-table th{font-size:calc(11.5px * var(--dash-type-scale))}.dash-canvas .sq-results-table td{padding:calc(5px * var(--dash-type-scale)) calc(12px * var(--dash-type-scale))}@container dash-reader (min-width: 1400px){.dash-top .dash-title .h{font-size:18.5px}}@container dash-reader (min-width: 1900px){.dash-top .dash-title .h{font-size:21px}}@container dash-reader (max-width: 719px){.dash-top .dash-title .h{font-size:13.5px}.dash-top .hp-pinbtn{display:none}}@container dash-reader (max-width: 479px){.dash-canvas{--dash-kpi-num:0.85}}