:root{--coral: #f98770;--teal: #556d74;--sage: #aebdb9;--mist: #e9efee;--ink: #1a252a;--paper: #f8f5f2;--white: #ffffff;--border: #d4dfdc;--shadow: 0 10px 28px rgba(24, 38, 44, .12)}*{box-sizing:border-box}body{margin:0;font-family:Poppins,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 0% 0%,#fff6f1,#f0f5f3 55%,#e2ece9)}.layout{width:100%;margin:0;padding:clamp(8px,1.5vw,20px);display:grid;gap:14px;min-width:0}.shell{min-height:100vh;display:flex}.shell-content{flex:1;min-width:0;display:flex;flex-direction:column;transition:margin-left .16s ease}.nav-drawer .nav-paper{background:linear-gradient(180deg,#40545a 0%,var(--teal) 55%,#4d6b70 100%);color:var(--white);border-right:1px solid rgba(255,255,255,.12);overflow-x:hidden;transition:width .16s ease}.nav{display:flex;flex-direction:column;height:100%;padding:10px 8px;gap:4px}.nav-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;font-weight:600;font-size:14px;letter-spacing:.02em;white-space:nowrap}.nav-brand img{width:36px;height:36px;object-fit:contain;flex-shrink:0}.nav-group{margin-bottom:6px}.nav-group-other{margin-top:auto}.nav-subheader.MuiListSubheader-root{background:transparent;color:var(--sage);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:28px;padding-left:12px}.nav-item.MuiListItemButton-root{border-radius:10px;margin:2px 0;padding:8px 10px;color:#ffffffdb;min-height:40px}.nav-item.MuiListItemButton-root:hover{background:#ffffff14}.nav-item.MuiListItemButton-root.Mui-selected{background:#f9877038;color:var(--white);box-shadow:inset 3px 0 0 var(--coral)}.nav-item.MuiListItemButton-root.Mui-selected:hover{background:#f987704d}.nav-icon.MuiListItemIcon-root{color:inherit;min-width:34px}.nav-rail .nav-item.MuiListItemButton-root{justify-content:center;padding:8px 0}.nav-rail .nav-icon.MuiListItemIcon-root{min-width:0}.nav-rail .nav-brand{justify-content:center;padding-left:0;padding-right:0}.nav-collapse{margin-top:8px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:var(--white);border-radius:10px;padding:6px 8px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:12px;cursor:pointer}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:8px clamp(8px,1.5vw,20px);min-height:52px;background:#f8f5f2eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}.topbar-title{margin:0;font-size:17px;font-weight:600;color:var(--teal);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-menu{border:1px solid var(--border);background:var(--white);color:var(--teal);border-radius:10px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.topbar-right{flex-shrink:0}.topbar .auth-pill{background:var(--white);border-color:var(--border);color:var(--ink)}.topbar .auth-pill select{padding:4px 8px;border-radius:8px;border:1px solid var(--border);font:inherit;font-size:12px}.topbar .auth-pill-button{border-color:var(--border);background:var(--mist);color:var(--teal)}.context-bar{position:sticky;top:52px;z-index:19;background:var(--white);border-bottom:1px solid var(--border);padding:8px clamp(8px,1.5vw,20px)}.context-fields{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end}.context-field{margin:0;flex:1 1 200px;max-width:320px}.context-field-wide{flex:2 1 280px;max-width:520px}.context-field select{width:100%}.context-actions{display:flex;gap:6px;flex-wrap:wrap;padding-bottom:2px}.context-error,.context-hint{flex-basis:100%;margin:0}.session-detail{display:grid;gap:10px}.layout>*,.device-dashboard,.panel{min-width:0}.device-dashboard .MuiDataGrid-root{min-width:0}.hero{border-radius:18px;padding:18px;background:linear-gradient(135deg,#40545a 0%,var(--teal) 42%,#73938d 100%);color:var(--white);box-shadow:var(--shadow);display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.hero-auth{display:flex;justify-content:flex-end}.hero-left h1{margin:10px 0 0;font-size:clamp(1.2rem,2.8vw,1.8rem);line-height:1.2}.subtitle{margin:8px 0 0;opacity:.95}.auth-pill{display:inline-flex;gap:10px;align-items:center;padding:8px 12px;border-radius:999px;background:#ffffff29;border:1px solid rgba(255,255,255,.22);font-size:12px}.auth-pill strong{text-transform:uppercase;letter-spacing:.08em;font-size:11px}.auth-pill-button{border:1px solid rgba(255,255,255,.26);background:#ffffff1f;color:var(--white);border-radius:999px;padding:5px 10px;font:inherit;cursor:pointer}.auth-pill-button:hover{background:#fff3}.s3-self-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.s3-self-card{border:1px solid #cfdbd8;border-radius:10px;background:#f8fcfa;padding:12px}.s3-self-card h3{margin:0 0 8px}.s3-object-list{display:grid;gap:8px;margin-top:10px}.s3-object-item{text-align:left;border:1px solid #d3dcda;background:#fff;border-radius:10px;padding:10px 12px;display:grid;gap:4px;cursor:pointer}.s3-object-item strong{color:#284147;font-size:13px}.s3-object-item span{color:#567077;font-size:12px}.s3-preview{margin-top:14px;border:1px solid #cfdbd8;border-radius:10px;background:#f8fcfa;padding:12px}.s3-preview pre{margin:8px 0 0;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto;font-size:12px}.hero-right{display:flex;align-items:center;justify-content:center}.wordmark{width:180px;max-width:100%}.brandmark{width:54px;height:54px;opacity:.95}.panel{background:var(--paper);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:0 4px 14px #1a252a0f}.panel h2,.panel h3{margin:0 0 10px}.field{display:grid;gap:6px;margin-bottom:10px}.field span{font-size:12px;color:#3f575e;font-weight:600}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.field-refresh-btn{border:1px solid #c3d1ce;background:#eef4f2;color:#355158;border-radius:999px;padding:4px 10px;font:inherit;font-size:11px;font-weight:600;cursor:pointer}.field-refresh-btn:disabled{opacity:.65;cursor:default}.field input,.field select{border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:#fff}.apply-btn{border:0;border-radius:10px;padding:10px 14px;background:var(--teal);color:#fff;font-weight:600;cursor:pointer}.apply-btn.secondary{background:#dde7e4;color:#2f4a50;border:1px solid #c3d1ce}.apply-btn:disabled{opacity:.65;cursor:default}.panel-title h2{margin:0}.panel-title p{margin:6px 0 0;color:#4a5f65}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.session-list{display:grid;gap:10px}.session-item{border:1px solid #d3dcda;background:var(--white);border-radius:10px;padding:12px;display:grid;gap:4px;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.session-item:hover{border-color:#b8c8c4;transform:translateY(-1px)}.session-item.active{border-color:var(--coral);box-shadow:0 0 0 2px #f9877033}.chart-panel{min-height:320px}.segmented{display:inline-grid;grid-template-columns:repeat(5,minmax(90px,1fr));border:1px solid var(--border);border-radius:10px;overflow:hidden}.seg{border:0;background:#f0f5f3;color:#284147;padding:10px 12px;cursor:pointer;font-weight:600}.seg.active{background:var(--teal);color:var(--white)}.hint{margin:10px 0 0;color:#3f575e;font-size:12px}.hint-dim{color:#8aa0a6}.status-fail{color:#c43c2f;font-weight:700}.sensor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.sensor-grid.compact{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}.sensor-flow-wrap{display:grid;grid-template-columns:max-content minmax(320px,1fr);gap:14px;align-items:start}.sensor-flow-grid{display:grid;gap:10px;align-items:start;justify-content:start}.sensor-flow-grid.both{grid-template-columns:repeat(2,150px)}.sensor-flow-grid.single{grid-template-columns:150px}.flow-controls{display:flex;align-items:end;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.flow-field{min-width:84px;max-width:130px;margin-bottom:0}.flow-field span{font-size:11px}.flow-field select{padding:6px 8px;height:34px}.flow-frame-field{min-width:140px;max-width:200px}.flow-frame-field input[type=range]{height:34px}.flow-play-btn{height:30px;padding:0 8px;border-radius:8px;font-size:11px}.flow-mode{min-width:130px;max-width:170px}.flow-mode-inline{display:flex;align-items:center;gap:8px;height:34px;font-size:11px}.flow-mode-inline label{display:inline-flex;align-items:center;gap:4px}.sensor-flow-plot{border:1px solid #cfdbd8;border-radius:10px;background:#f8fcfa;padding:6px}.sensor-flow-plot h4{margin:0 0 6px;font-size:15px}.sensor-flow-plot-stack{display:grid;gap:8px;align-content:start}.investigational-panel h3{margin:0 0 8px}.investigational-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:10px}.investigational-card{border:1px solid #cfdbd8;border-radius:10px;background:#f8fcfa;padding:10px}.investigational-card h4{margin:0 0 8px}.investigational-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.investigational-metric-grid div{border:1px solid #deebe7;border-radius:8px;padding:6px 8px;background:#fff;display:grid;gap:2px}.investigational-metric-grid span{color:#4c676d;font-size:11px}.investigational-metric-grid strong{color:#213b41;font-size:13px}.sensor-flow-card{border:1px solid #cfdbd8;border-radius:10px;background:#f8fcfa;padding:5px}.sensor-flow-card h4{margin:0 0 6px}.sensor-flow-canvas{width:100%;height:auto;display:block;border-radius:8px;border:1px solid #cad7d3;background:#0d1f2a}.sensor-pill{display:flex;align-items:center;gap:8px;border:1px solid #ced9d6;border-radius:10px;padding:8px 10px;background:#fff;font-size:12px}.flow-sensor-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px}.flow-pill{padding:5px 6px;border-radius:8px;font-size:11px;gap:5px}.raw-plot{width:100%;height:auto;padding-bottom:14px;margin-bottom:26px}.cycle-controls .field{margin-bottom:0}.pressure-cycle-plot{margin-bottom:42px}.cycle-section-gap{padding-top:10px}.inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 6px}.raw-tooltip-dock{border:1px solid #ced9d6;border-radius:10px;background:#fbfefd;padding:10px;margin-top:8px}.raw-tooltip-dock.right{margin-left:auto;width:min(520px,100%)}.raw-tooltip-dock.bottom{width:100%}.raw-tooltip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px 12px}.raw-tooltip-item{display:flex;justify-content:space-between;gap:8px;border:1px solid #e1eae8;border-radius:8px;padding:6px 8px;background:#fff;font-size:12px}.raw-tooltip-float{position:fixed;z-index:110;width:min(360px,92vw);max-height:62vh;overflow:auto;border:1px solid #cad7d3;border-radius:10px;background:#fffffffa;box-shadow:0 10px 24px #1a252a33;pointer-events:none}.raw-tooltip-float-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;border-bottom:1px solid #e3ece9;background:#f4f9f7;cursor:move;pointer-events:auto}.raw-tooltip-float-head span{font-weight:700;font-size:12px;color:#234047}.raw-tooltip-float-head small{color:#5a7076;font-size:11px}.raw-tooltip-head-right{display:flex;align-items:center;gap:8px}.raw-tooltip-float-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 8px;padding:6px 8px 8px;pointer-events:none}.raw-tooltip-float-item{font-size:12px;line-height:1.25;display:flex;gap:3px;align-items:baseline;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.raw-tooltip-float-item strong{font-weight:700}.plot-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.plot-tools{display:flex;align-items:center;gap:6px}.icon-btn{border:1px solid #c7d5d1;background:#eef4f2;color:#35545a;border-radius:8px;min-width:34px;height:30px;padding:0 8px;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.icon-btn.active{background:#dbeae6;border-color:#9fb8b1}.icon-btn.close-btn{min-width:24px;height:24px;padding:0;border-radius:6px;background:#fff;pointer-events:auto}.material-symbols-outlined{font-family:Material Symbols Outlined;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-size:18px;line-height:1}@media(max-width:900px){.raw-tooltip-float-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sensor-flow-wrap{grid-template-columns:1fr}.sensor-flow-grid.both{grid-template-columns:repeat(2,minmax(120px,170px))}}.error-text{color:#9f2f2f;font-weight:600}.session-meta{margin-top:10px;border:1px solid #ced9d6;border-radius:10px;background:#f5faf8;padding:8px 10px}.overview-brush{border:1px solid #d7e2df;border-radius:10px;background:#fbfefd;padding:6px 8px;margin-bottom:8px;margin-top:4px}.session-overview{margin-top:14px}.tabbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.metric-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px}.metric-card{border:1px solid #d3dfdc;border-radius:12px;padding:12px;background:linear-gradient(180deg,#fff,#f4f8f6);display:grid;gap:6px}.metric-card strong{font-size:1.5rem;line-height:1}.metric-card small,.metric-label{color:#476066}.baseline-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:16px;align-items:start}.qa-report{display:grid;gap:16px}.qa-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.qa-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.qa-actions .baseline-inline-field{margin-bottom:0}.qa-stage-panels{align-items:start}.qa-stage-card{border:1px solid #d2ddda;border-radius:14px;background:#fbfdfc;padding:14px}.qa-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px}.qa-notes{display:grid;gap:6px;margin-top:12px}.baseline-sidebar,.baseline-detail{min-width:0}.baseline-toolbar{display:grid;gap:10px;margin-bottom:12px}.family-pills,.device-chip-row{display:flex;gap:8px;flex-wrap:wrap}.pill,.report-chip{border:1px solid #c9d7d3;background:#edf4f2;color:#2d474d;border-radius:999px;padding:7px 10px;font-size:12px;line-height:1}.pill{cursor:pointer}.pill.active{background:var(--teal);color:#fff;border-color:var(--teal)}.report-chip.drift{background:#fff1ea;border-color:#f3c2b1}.device-list{display:grid;gap:10px}.device-card{border:1px solid #d2ddda;border-radius:12px;background:#fff;padding:12px;text-align:left;display:grid;gap:5px;cursor:pointer}.device-card.active{border-color:var(--coral);box-shadow:0 0 0 2px #f9877029}.device-side{text-transform:uppercase;font-size:.78em;color:#567077}.device-header{display:grid;gap:10px;margin-bottom:14px}.table-wrap{width:100%;overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border:1px solid #d6e0dd;border-radius:12px;overflow:hidden}.report-table th,.report-table td{padding:9px 10px;border-bottom:1px solid #e1e9e6;text-align:left;white-space:nowrap}.report-table thead th{position:sticky;top:0;background:#eef5f3;z-index:1}.report-table.compact td,.report-table.compact th{padding:8px 9px}.flag-list{display:grid;gap:10px;max-height:360px;overflow:auto}.flag-list.compact{margin-bottom:14px;max-height:none}.flag-item{border:1px solid #d5dfdc;border-left-width:4px;border-radius:10px;padding:10px 12px;background:#fbfdfc;display:grid;gap:4px}.flag-item.warning{border-left-color:#d8872a}.flag-item.error{border-left-color:#b33a3a}.baseline-inline-field{max-width:260px;margin-bottom:10px}.panel h3{margin-top:28px}.accordion summary{cursor:pointer;font-weight:700;list-style:none;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #cfdbd8;border-radius:8px;background:#f2f7f5}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"expand_more";font-family:Material Symbols Outlined;font-size:20px;color:#365057;line-height:1}.accordion[open] summary:after{content:"expand_less"}.accordion-body{display:grid;gap:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f161975;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal-card{width:min(900px,100%);background:#fff;border-radius:12px;padding:16px;border:1px solid #cdd9d6;box-shadow:0 16px 32px #121e2240}.modal-card h3{margin:0 0 10px}.foot-heatmap-wrap{width:100%;height:min(540px,70vh);background:#e8efec;border:1px solid var(--border);border-radius:12px;overflow:hidden}.foot-heatmap-svg{width:100%;height:100%;display:block}pre{max-height:260px;overflow:auto;background:#eef4f2;border-radius:8px;padding:10px;font-size:12px}@media(max-width:720px){.layout{padding:8px}.topbar{min-height:48px}.context-bar{top:48px}.auth-pill-email{display:none}.context-field,.context-field-wide{flex-basis:100%;max-width:none}.context-actions{width:100%}.context-actions .field-refresh-btn{min-height:36px;flex:1}.panel{padding:10px}.report-table-wrap,.qa-report{overflow-x:auto;-webkit-overflow-scrolling:touch}.hero{grid-template-columns:1fr;text-align:left}.hero-right{justify-content:flex-start}.foot-heatmap-wrap{height:420px}.baseline-layout,.qa-layout{grid-template-columns:1fr}}.motion-tab{display:flex;flex-direction:column;gap:20px}.motion-context{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chip{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--mist);color:var(--teal);border:1px solid var(--border)}.chip-on{background:#e5f1e2;color:#4a6b2c;border-color:#bcd6ad}.chip-off{background:#f4e7e3;color:#b4573f;border-color:#e6c3b8}.motion-feet-row{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.motion-foot{display:flex;flex-direction:column;align-items:center;gap:6px}.motion-foot-svg{height:min(440px,60vh);width:auto;max-width:100%;background:var(--white);border:1px solid var(--border);border-radius:12px}.motion-foot-cap{display:flex;gap:12px;font-size:13px;color:var(--teal);align-items:baseline}.motion-foot-cap strong{color:var(--ink)}.motion-muted{color:var(--sage);font-size:12px}.motion-scrub{display:flex;align-items:center;gap:12px;margin-top:12px}.motion-scrub input[type=range]{flex:1;accent-color:var(--coral)}.motion-toggle{display:inline-flex;gap:6px}.toggle-btn{font-size:12px;font-weight:600;padding:4px 12px;border-radius:8px;border:1px solid var(--border);background:var(--white);color:var(--teal);cursor:pointer}.toggle-btn:hover{border-color:var(--coral)}.toggle-on{background:var(--coral);color:var(--white);border-color:var(--coral)}.motion-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--teal)}.motion-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--teal);margin-bottom:8px}.motion-legend span{display:inline-flex;align-items:center;gap:6px}.motion-legend i{width:14px;height:14px;border-radius:4px;display:inline-block}.motion-axismap{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.motion-axis{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink)}.motion-axis select{padding:3px 6px;border-radius:6px;border:1px solid var(--border)}.motion-subhead{margin:14px 0 4px;font-size:14px;color:var(--teal)}.activity-timeline{margin:14px 0 4px}.activity-timeline-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.activity-timeline-strip{display:flex;gap:2px;height:26px;margin-top:6px}.activity-band{border:0;padding:0;min-width:2px;cursor:pointer;overflow:hidden;border-radius:2px;transition:filter .12s ease}.activity-band:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.activity-band:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.activity-band:hover,.activity-band:focus-visible{filter:brightness(1.08);outline:2px solid var(--ink);outline-offset:1px}.activity-band-label{display:block;padding:0 6px;font-size:10.5px;line-height:26px;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-timeline-window{height:3px;margin-top:3px}.activity-timeline-window span{display:block;height:100%;border-radius:2px;background:var(--ink)}.activity-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:11.5px;color:#3f575e}.activity-legend-item{display:inline-flex;align-items:center;gap:5px}.activity-legend-item i{width:10px;height:10px;border-radius:2px;display:inline-block}.activity-table{margin-top:8px;font-size:11.5px;color:#3f575e}.activity-table summary{cursor:pointer;color:#55707a}.activity-table-scroll{overflow-x:auto;max-height:260px;overflow-y:auto;margin-top:6px;border:1px solid var(--border);border-radius:8px;background:var(--white)}.activity-table table{border-collapse:collapse;width:100%}.activity-table th,.activity-table td{padding:5px 9px;text-align:left;white-space:nowrap}.activity-table thead th{position:sticky;top:0;background:var(--mist);font-weight:600;font-size:11px}.activity-table tbody tr:nth-child(2n){background:#fafcfb}.activity-table td i{width:9px;height:9px;border-radius:2px;display:inline-block;margin-right:6px}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-block,.skeleton-bar{border-radius:8px;background:linear-gradient(90deg,#eef3f1 25%,#f7faf9,#eef3f1 75%);background-size:200% 100%;animation:skeleton-sweep 1.4s ease-in-out infinite}.skeleton-lines{display:grid;gap:9px;padding:4px 0}.skeleton-bar{height:11px;border-radius:5px}.empty-state{display:flex;align-items:center;justify-content:center;color:#7d939a;font-size:12px;border:1px dashed var(--border);border-radius:10px;background:#fbfdfc;padding:12px;text-align:center}.spinner-inline{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:#55707a}.spinner-inline i{width:12px;height:12px;border-radius:50%;border:2px solid #cfdcd8;border-top-color:var(--coral);animation:spinner-rotate .7s linear infinite;display:inline-block}@keyframes spinner-rotate{to{transform:rotate(360deg)}}[data-busy=true] .raw-plot,[data-busy=true] .overview-brush,[data-busy=true] .foot-heatmap-wrap,[data-busy=true] .sensor-flow-grid{position:relative}[data-busy=true] .raw-plot:after,[data-busy=true] .overview-brush:after,[data-busy=true] .foot-heatmap-wrap:after,[data-busy=true] .sensor-flow-grid:after{content:"Loading…";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.02em;color:#55707a;background:linear-gradient(90deg,#eef3f1d1 25%,#f8fbfad1,#eef3f1d1 75%);background-size:200% 100%;animation:skeleton-sweep 1.4s ease-in-out infinite;border-radius:10px;pointer-events:none;z-index:2}@media(prefers-reduced-motion:reduce){.skeleton-block,.skeleton-bar,.spinner-inline i,[data-busy=true] .raw-plot:after,[data-busy=true] .overview-brush:after,[data-busy=true] .foot-heatmap-wrap:after,[data-busy=true] .sensor-flow-grid:after{animation:none}}.raw-plot{position:relative}.plot-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.plot-empty span{background:#fbfdfceb;border:1px dashed var(--border);border-radius:10px;padding:8px 14px;font-size:12px;color:#55707a;text-align:center;max-width:80%}.report-toolbar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.report-toolbar-title h2{margin:0;font-size:18px;color:var(--teal)}.report-toolbar-title .hint{margin:2px 0 0}.report-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.report-frame{width:100%;height:min(78vh,1200px);border:1px solid var(--border);border-radius:10px;background:#dde3e2}.report-frame-busy{display:flex;align-items:center;justify-content:center;height:240px;background:var(--mist)}.reports-page{display:grid;gap:14px}.session-picker-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;font-size:13px}.session-picker-junk{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--teal)}.session-picker{max-height:60vh;overflow-y:auto;border:1px solid var(--border);border-radius:10px;background:var(--white);padding:6px 10px}.session-picker-day{padding:6px 0;border-bottom:1px solid var(--border)}.session-picker-day:last-child{border-bottom:0}.session-picker-dayhead{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.session-picker-row{display:flex;align-items:center;gap:8px;padding:5px 0 5px 22px;font-size:13px;cursor:pointer}.session-picker-row.disabled{opacity:.5;cursor:not-allowed}.two-col.compact{gap:0 10px}.report-table-wrap{overflow-x:auto}.report-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--mist);color:var(--teal)}.report-status-done{background:#dff1e6;color:#1f6b43}.report-status-failed{background:#fbe3df;color:#9f2f2f}.report-status-running{background:#fff1e8;color:#b25a3c}.report-error{max-width:320px;white-space:normal}.report-actions{white-space:nowrap}.report-actions .field-refresh-btn+.field-refresh-btn{margin-left:6px}
