: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{max-width:1240px;margin:0 auto;padding:20px;display:grid;gap:14px}.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}.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}.time-window-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}.time-window-meta .hint{margin:0;font-size:11px}.time-window-meta .hint:last-child{text-align:right}.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:540px;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:14px}.hero{grid-template-columns:1fr;text-align:left}.hero-right{justify-content:flex-start}.foot-heatmap-wrap{height:420px}.time-window-meta{flex-direction:column;align-items:flex-start}.time-window-meta .hint:last-child{text-align:left}.baseline-layout,.qa-layout{grid-template-columns:1fr}}
