:root,:root[data-theme=dark]{--dash-s1:#3987e5;--dash-s2:#d95926;--dash-s3:#199e70;--dash-s4:#c98500;--dash-s5:#d55181;--dash-s6:#008300;--dash-s7:#9085e9;--dash-s8:#e66767;--dash-seq-0:transparent;--dash-seq-1:#184f95;--dash-seq-2:#256abf;--dash-seq-3:#3987e5;--dash-seq-4:#d03b3b;--dash-grid-line:#2c2c2a;--dash-axis:#383835;--dash-axis-ink:#898781}:root[data-theme=light]{--dash-s1:#2a78d6;--dash-s2:#eb6834;--dash-s3:#1baf7a;--dash-s4:#eda100;--dash-s5:#e87ba4;--dash-s6:#008300;--dash-s7:#6250d6;--dash-s8:#e34948;--dash-seq-0:transparent;--dash-seq-1:#cde2fb;--dash-seq-2:#86b6ef;--dash-seq-3:#3987e5;--dash-seq-4:#d03b3b;--dash-grid-line:#e1e0d9;--dash-axis:#c3c2b7;--dash-axis-ink:#898781}.dash-home,.dash-view{display:flex;flex-direction:column;gap:12px}.dash-filter,.dash-new{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.dash-filter label,.dash-new label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.dash-filter .grow{flex:1 1 200px}.dash-cards-list,.dash-starters ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.dash-open{width:100%;text-align:left;display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);color:var(--fg);cursor:pointer}.dash-open:hover{border-color:var(--accent)}.dash-starters li{padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}.dash-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dash-bar h2{margin:0 auto 0 0;font-size:18px}.dash-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dash-refresh{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}.dash-seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.dash-seg button{background:none;border:0;padding:4px 10px;color:var(--fg);cursor:pointer}.dash-seg button.on{background:var(--sel-bg)}.dash-grid{display:grid;gap:12px;grid-auto-rows:minmax(220px,auto)}.dash-grid.cols-1{grid-template-columns:1fr}.dash-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0;overflow:hidden}.dash-grid.editing .dash-card{cursor:grab;border-style:dashed}.dash-card header{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.dash-card h3{margin:0;font-size:14px}.dash-summary{font-size:12px}.dash-tools{margin-left:auto;display:inline-flex;gap:2px}.dash-tools button{background:var(--panel-2);border:1px solid var(--line);border-radius:4px;color:var(--fg);min-width:26px;cursor:pointer}.dash-body{overflow:auto;flex:1 1;position:relative}.dash-drop-end{grid-column:1/-1;border:1px dashed var(--line-2);border-radius:var(--r);padding:12px;color:var(--muted);text-align:center;min-height:0}.dash-tv{position:fixed;inset:0;z-index:50;background:var(--bg,#0d0d0d);padding:16px;overflow:auto}.dash-svg{width:100%;height:auto;max-height:240px;display:block}.dash-pie{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.dash-pie-svg{width:140px;flex:none}.dash-slice{stroke:var(--panel);stroke-width:2px}.dash-mark{cursor:pointer}.dash-mark:focus,.dash-mark:hover{opacity:.85;outline:none}.dash-hit{cursor:pointer}.dash-hit:focus{outline:2px solid var(--accent)}.dash-axis-label{fill:var(--dash-axis-ink);font-size:10px}.dash-value{fill:var(--fg);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-baseline{stroke:var(--dash-axis);stroke-width:1px}.dash-gridline{stroke:var(--dash-grid-line);stroke-width:1px}.dash-crosshair{stroke:var(--dash-axis);stroke-width:1px}.dash-dot{stroke:var(--panel);stroke-width:2px}.dash-empty-ring{fill:none;stroke:var(--line);stroke-width:18px}.dash-hero-small{fill:var(--fg);font-size:22px;font-weight:600}.dash-chart{position:relative}.dash-tip{position:absolute;pointer-events:auto;background:var(--panel-2);color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:12px;white-space:nowrap;z-index:2}.dash-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12px}.dash-legend-row{flex-direction:row;flex-wrap:wrap;gap:10px}.dash-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:middle}.dash-swatch-dashed{height:2px;border-radius:0}.dash-link{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.dash-link:hover{color:var(--accent)}.dash-total{margin:0;font-size:13px;color:var(--muted)}.dash-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--fg)}.dash-hero{font-size:34px;font-weight:700;color:var(--fg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-calc{display:flex;flex-direction:column;gap:4px}.dash-stats{display:flex;flex-wrap:wrap;gap:16px;margin:0}.dash-stats dt{font-size:11px;color:var(--muted)}.dash-stats dd{margin:0;font-size:18px}.dash-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.dash-list .tk{font-family:var(--f-mono);color:var(--accent)}.dash-battery{display:flex;height:18px;border-radius:4px;overflow:hidden;background:var(--panel-2);gap:2px}.dash-battery-part{display:block;height:100%}.dash-battery-wrap{display:flex;flex-direction:column;gap:8px}.dash-heat{border-collapse:separate;border-spacing:2px;font-size:12px;width:100%}.dash-heat th{text-align:left;font-weight:500;color:var(--muted)}.dash-heat td{border-radius:4px;text-align:center}.dash-heat td.over .dash-cell{color:#fff}.dash-cell{background:none;border:0;width:100%;padding:4px;color:var(--fg);cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-progress{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}.dash-progress li{display:grid;grid-template-columns:1fr 120px 40px;gap:8px;align-items:center}.dash-meter{height:8px;background:var(--panel-2);overflow:hidden}.dash-meter,.dash-meter span{display:block;border-radius:4px}.dash-meter span{height:100%;background:var(--dash-s1)}.dash-health{margin:0;font-weight:600}.dash-health.at_risk{color:var(--warn)}.dash-health.on_track{color:var(--good)}.dash-md h3,.dash-md h4,.dash-md h5,.dash-md h6,.dash-md ol,.dash-md p,.dash-md ul{margin:4px 0}.dash-embed{display:flex;flex-direction:column;gap:6px;height:100%}.dash-embed iframe{width:100%;flex:1 1;min-height:160px;border:1px solid var(--line);border-radius:6px;background:#fff}.dash-table summary{font-size:12px;color:var(--muted);cursor:pointer}.dash-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:13px}.dash-field input,.dash-field select,.dash-field textarea{width:100%}.dash-people{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:var(--r);padding:8px}.dash-person{display:flex;gap:8px;justify-content:space-between}.dash-made input{width:100%;font-family:var(--f-mono)}.dash-error{color:var(--bad)}.dash-explain{display:flex;flex-direction:column;gap:8px;padding-left:16px}.dash-explain .attention b{color:var(--warn)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width:640px){.dash-grid{grid-auto-rows:auto}.dash-card{grid-column:auto!important;grid-row:auto!important}.dash-bar h2{width:100%}}.dash-public{padding:16px;max-width:1400px;margin:0 auto}.dash-progress .dash-link,.dash-progress .dash-num{text-align:left}.dash-rag{font-size:12px;font-weight:600}.dash-rag.green{color:var(--good)}.dash-rag.amber{color:var(--warn)}.dash-late,.dash-rag.red{color:var(--bad)}.dash-late{font-size:12px}.dash-thread ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}.dash-thread p{margin:2px 0}.dash-replies{padding-left:16px!important;border-left:2px solid var(--line);margin-top:4px!important}.dash-post{display:flex;flex-direction:column;gap:6px;margin-top:8px}.dash-post textarea{width:100%}