:root{color-scheme:light;font-family:Segoe UI,Aptos,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;background:radial-gradient(circle at top left,rgba(217,238,229,.8),transparent 28%),linear-gradient(180deg,#eff5ef,#e5ece4);color:#112118;--panel: rgba(255, 255, 255, .74);--panel-strong: rgba(255, 255, 255, .92);--border: rgba(17, 33, 24, .1);--text-muted: #536357;--accent: #145c44;--accent-soft: #d2eadf;--danger: #a4332f;--warn: #8d6518;--good: #1f6b4d;--shadow: 0 18px 40px rgba(20, 48, 33, .12)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,input,select,textarea{border:1px solid var(--border);border-radius:14px}input,select,textarea{width:100%;padding:.85rem 1rem;background:#ffffffe0}textarea{resize:vertical;min-height:10rem}.app-shell{display:grid;grid-template-columns:304px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:2rem;padding:2rem;background:linear-gradient(180deg,#123327,#0d251c);color:#f4f8f4;min-width:0}.sidebar-top{display:grid;gap:1.5rem;min-width:0}.sidebar-title,.page-header h2,.hero-card h2,.auth-card h1,.title-row h2,.section-heading h3,.device-card h3{font-family:Georgia,Times New Roman,serif;letter-spacing:-.02em;margin:0}.sidebar-copy,.lead,.muted-text,.page-header-note,.stat-hint,.session-meta{color:var(--text-muted)}.entity-owner-row{display:inline-flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-top:.5rem;padding:.55rem .85rem;border-radius:999px;border:1px solid rgba(17,33,24,.08);background:#145c4414;width:fit-content;max-width:100%}.entity-owner-label{color:var(--text-muted);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stacked-status-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:end}.sidebar .sidebar-copy,.sidebar .session-meta{color:#f4f8f4b3}.page-header-meta,.backend-pill{display:grid;gap:.5rem;justify-items:end}.google-button-wrap{display:grid;gap:.75rem;justify-items:start}.auth-method-stack,.passkey-auth-panel,.passkey-enrollment-panel,.passkey-management-panel,.passkey-credential-list{display:grid;gap:.9rem}.auth-method-card{display:grid;gap:.9rem;padding:1rem 1.1rem;border-radius:18px;border:1px solid rgba(17,67,47,.12);background:#ffffffb8}.auth-method-header{display:grid;gap:.25rem}.passkey-management-header,.passkey-credential-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.passkey-credential-card{padding:.9rem 1rem;border-radius:14px;border:1px solid rgba(17,67,47,.12);background:#ffffff9e}.passkey-credential-meta{display:grid;gap:.25rem;min-width:0}.field-label{display:inline-block;margin-bottom:.4rem;color:var(--text-muted);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-state-grid,.fleet-strip,.nav-list,.sidebar-footer,.page-stack,.content-column,.sidebar-column,.stack-list,.event-list,.search-field,.test-filter-grid,.command-form,.command-form label{display:grid;gap:1rem}.file-picker-row{display:flex;align-items:center;gap:.75rem;min-width:0}.file-picker-name{min-width:0;color:var(--text-muted);overflow-wrap:anywhere}.visually-hidden-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.content-column,.sidebar-column,.panel,.command-form,.command-card,.instruction-card,.stack-list,.detail-list{min-width:0}.sidebar-column .panel{overflow:hidden}.compact{gap:.55rem}.sidebar-footer{margin-top:auto;width:100%;min-width:0}.nav-link{padding:.9rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:16px;color:#f4f8f4d6}.nav-link.is-active{background:#d2eadf24;color:#fff;border-color:#d2eadf38}.session-card{display:flex;align-items:flex-start;gap:.9rem;padding:1rem;border-radius:16px;background:#ffffff0f;width:100%;min-width:0}.session-card>div{min-width:0}.session-name{font-weight:600;overflow-wrap:anywhere}.session-avatar{width:2.75rem;height:2.75rem;border-radius:999px;object-fit:cover;flex:0 0 auto}.session-avatar-fallback{display:grid;place-items:center;color:#f4f8f4;background:#d2eadf2e;border:1px solid rgba(210,234,223,.24);font-weight:700}.split-header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.user-form-grid{display:grid;gap:1rem}.user-form-actions{display:grid;gap:.75rem}.user-list{display:grid;gap:.75rem;margin-top:1rem}.user-directory-header{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(180px,.8fr);gap:1rem;padding:0 1rem .75rem;color:var(--text-muted);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.user-directory-toolbar{display:grid;grid-template-columns:minmax(240px,1.8fr) minmax(180px,.8fr);gap:1rem;margin:0 0 1rem}.user-directory-list{display:grid;gap:.75rem}.user-directory-card{border:1px solid rgba(17,67,47,.12);border-radius:1rem;background:#ffffffbf;overflow:hidden}.user-directory-card.is-expanded{border-color:#11432f4d;box-shadow:0 0 0 1px #11432f1f}.user-directory-summary{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(180px,.8fr);gap:1rem;width:100%;padding:1rem;background:transparent;border:0;border-radius:0;cursor:pointer;text-align:left;align-items:start}.user-directory-name,.user-directory-role,.user-directory-expanded,.user-customer-note{display:grid;gap:.45rem;min-width:0}.user-directory-company{min-width:0;overflow-wrap:anywhere}.user-directory-role{justify-content:start;align-content:start}.user-directory-expanded{padding:0 1rem 1rem;border-top:1px solid rgba(17,67,47,.08)}.user-inline-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.user-customer-note{padding:1rem;border-radius:18px;border:1px solid rgba(17,33,24,.08);background:#145c440d}.user-customer-note h4,.user-customer-note p{margin:0}.user-list-item{align-items:start;background:#ffffffbf;border:1px solid rgba(17,67,47,.12);border-radius:1rem;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:1rem;text-align:left;width:100%}.user-list-item.is-selected{border-color:#11432f4d;box-shadow:0 0 0 1px #11432f1f}.user-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:end}.status-chip{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;letter-spacing:.08em;padding:.3rem .7rem;text-transform:uppercase}.status-chip-admin{background:#11432f24;color:#11432f}.status-chip-test_provider{background:#1a566d24;color:#1a566d}.status-chip-operator{background:#1e5f471f;color:#1e5f47}.status-chip-test_analyst{background:#5d3e8c24;color:#5d3e8c}.status-chip-customer{background:#9a702724;color:#8a5d13}.status-chip-active{background:#1f7d5b29;color:#1f7d5b}.status-chip-inactive{background:#686e7624;color:#58606a}.main-panel{padding:2rem}.page-header,.hero-card,.panel,.device-card,.auth-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.page-header,.hero-card,.panel,.auth-card{border:1px solid var(--border);background:var(--panel);border-radius:24px}.page-header,.hero-card,.section-heading,.title-row,.device-card-top,.command-card-top,.event-topline,.metric-list div,.detail-row,.command-preview-line{display:flex;justify-content:space-between;gap:1rem;align-items:start}.command-card-top>div,.device-card-top>div,.title-row>div,.section-heading>div{min-width:0}.page-header,.hero-card{align-items:end}.page-header{padding:1.5rem 1.75rem;margin-bottom:1.5rem}.operator-brief{display:grid;gap:.15rem;justify-items:end;padding:.8rem 1rem;min-width:220px;border-radius:18px;border:1px solid rgba(17,33,24,.08);background:#ffffffb3}.operator-brief-label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.operator-brief-value{font-weight:700}.hero-card,.panel,.auth-card{padding:1.75rem}.hero-card{overflow:visible;position:relative}.test-share-control{position:absolute;right:1.75rem;top:1.45rem;z-index:20}.test-share-button{min-width:10rem;justify-content:center}.test-share-popover{position:absolute;right:0;top:calc(100% + .75rem);width:min(62rem,calc(100vw - 4rem));padding:1.35rem;border:1px solid rgba(17,33,24,.1);border-radius:22px;background:#eff8f3fa;box-shadow:var(--shadow);display:grid;gap:1.2rem}.test-share-popover-header,.test-share-popover-body{display:grid;gap:1rem}.test-share-popover-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.test-share-popover-body{grid-template-columns:repeat(2,minmax(0,1fr))}.test-share-popover label{display:grid;gap:.45rem}.test-share-popover label span{color:var(--text-muted);font-weight:600}.test-share-popover input{width:100%}.devices-list-shell{display:grid;gap:.75rem;max-height:70vh;overflow-y:auto;padding-right:.35rem}.device-header-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.9rem;align-items:stretch}.device-command-button{align-self:stretch;width:100%;justify-content:center}.device-list-row{padding:.95rem 1rem;border-radius:18px;border:1px solid var(--border);background:var(--panel-strong);display:grid;grid-template-columns:minmax(180px,.9fr) minmax(0,2.2fr) auto;gap:1rem;align-items:start;transition:transform .18s ease,border-color .18s ease}.device-list-row:hover{transform:translateY(-1px);border-color:#145c4447}.device-list-primary,.device-list-meta{display:grid;gap:.35rem;min-width:0}.device-list-primary h3{margin:0}.device-list-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem 1rem}.device-list-meta>div,.device-list-status{min-width:0}.device-list-label{display:block;margin-bottom:.15rem;color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.device-list-meta strong{display:block;overflow-wrap:anywhere}.device-list-status{display:grid;justify-items:end}.metric-list,.detail-list{display:grid;gap:.8rem}.metric-list dt,.detail-row span,.stat-label,.eyebrow{color:var(--text-muted)}.eyebrow{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700}.section-support-copy{margin-top:-.35rem;line-height:1.45}.badge{display:inline-flex;align-items:center;padding:.4rem .7rem;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.badge-good{background:#1f6b4d24;color:var(--good)}.badge-warn{background:#8d651824;color:var(--warn)}.badge-danger{background:#a4332f1f;color:var(--danger)}.badge-muted{background:#5363571f;color:#415045}.status-dot{width:.8rem;height:.8rem;border-radius:999px;margin-top:.2rem}.status-dot.good{background:linear-gradient(180deg,#60c78f,#1f6b4d)}.content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.95fr);gap:1.5rem;align-items:start}.tests-cta-panel{display:grid;gap:1rem;width:100%;padding:1rem 1.1rem;border-radius:20px;border:1px solid rgba(17,33,24,.08);background:#145c4414}.create-device-cta{display:grid}.create-device-toggle{width:100%;justify-content:center}.devices-page-add-button{margin-top:.65rem;padding:.55rem .95rem;font-size:.9rem}.checkbox-row{display:flex;gap:.75rem;align-items:center}.checkbox-row input{width:auto;margin:0;flex:0 0 auto}.checkbox-label{display:inline;width:auto;border:0;padding:0;line-height:1.35}.tests-cta-button{width:100%;justify-content:center}.tests-page-add-button{margin-top:.65rem;padding:.55rem .95rem;font-size:.9rem}.tests-list-shell{max-height:70vh;overflow-y:auto}.calendar-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1rem}.calendar-toolbar-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:end}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem}.calendar-day{min-height:15rem;padding:.85rem;border-radius:18px;border:1px solid rgba(17,33,24,.08);background:#ffffffb3;display:grid;gap:.75rem;align-content:start}.calendar-day.is-outside-month{background:#ffffff6b;color:var(--text-muted)}.calendar-day.is-today{border-color:#145c4452;box-shadow:inset 0 0 0 1px #145c442e}.calendar-day-header{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.calendar-day-weekday{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-day-events{display:grid;gap:.55rem}.calendar-day-empty,.calendar-day-more{color:var(--text-muted);font-size:.9rem}.calendar-event{display:grid;gap:.45rem;padding:.75rem;border-radius:14px;border:1px solid rgba(17,33,24,.08);background:#145c440f}.calendar-event-top,.calendar-event-meta{display:flex;justify-content:space-between;gap:.5rem;align-items:start}.calendar-event-meta{color:var(--text-muted);font-size:.82rem;flex-direction:column}.calendar-event-name{font-weight:600;overflow-wrap:anywhere}.test-filter-grid{grid-template-columns:minmax(240px,1.8fr) repeat(3,minmax(0,1fr));width:100%;align-items:end}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.9rem}.test-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:3.75rem;width:100%}.fleet-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.fleet-card{padding:1rem 1.1rem;border-radius:20px;border:1px solid rgba(17,33,24,.08);background:#ffffffb8;box-shadow:var(--shadow)}.fleet-card-emphasis{background:linear-gradient(180deg,#145c4414,#ffffffd1)}.fleet-value{font-family:Georgia,Times New Roman,serif;font-size:2rem;line-height:1.05;letter-spacing:-.03em;margin:.35rem 0}.fleet-value-small{font-size:1.15rem;line-height:1.35}.stat-card{padding:1rem;border-radius:18px;background:#ffffffa8;border:1px solid rgba(17,33,24,.08)}.stat-value{font-size:1.1rem;font-weight:700}.detail-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.table-shell,.json-block{overflow:auto}.signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.telemetry-snapshot-panel{position:relative;z-index:8;overflow:visible}.signal-grid-single{grid-template-columns:minmax(0,1fr)}.signal-disclosure{margin-top:1rem}.signal-disclosure-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-weight:700;color:var(--text)}.rtd-selector{position:relative;display:inline-flex}.rtd-selector summary{cursor:pointer;list-style:none;min-width:8rem;padding:.45rem .7rem;border-radius:8px;border:1px solid rgba(17,33,24,.18);background:#ffffffb8;font-size:.9rem;font-weight:700}.rtd-selector summary::-webkit-details-marker{display:none}.rtd-selector summary:after{content:"▾";float:right}.rtd-selector[open] summary:after{content:"▴"}.rtd-selector-menu{position:absolute;z-index:80;top:calc(100% + .35rem);left:0;min-width:11rem;display:grid;gap:.25rem;padding:.65rem;border-radius:10px;border:1px solid rgba(17,33,24,.16);background:#fffffffa;box-shadow:0 18px 45px #1e342829}.rtd-selector-option{display:flex;align-items:center;gap:.5rem;padding:.3rem .2rem;font-size:.9rem;white-space:nowrap}.rtd-selector-option input{width:1rem;height:1rem}.signal-card{border:1px solid rgba(17,33,24,.08);border-radius:18px;padding:1rem;background:#ffffffad}.chart-legend{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.chart-legend-item{display:inline-flex;gap:.55rem;align-items:center;font-weight:600}.chart-legend-dot{width:.7rem;height:.7rem;border-radius:999px;display:inline-block}.chart-legend-dot-out{background:#df2727}.chart-legend-dot-in{background:#1c2fe4}.chart-legend-dot-delta{background:#146b4d}.historic-chart-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.historic-chart-line-out{stroke:#df2727}.historic-chart-line-in{stroke:#1c2fe4}.historic-chart-line-delta{stroke:#146b4d;stroke-dasharray:6 4}.historic-chart-crosshair{stroke:#11211880;stroke-width:1;stroke-dasharray:4 4}.historic-chart-shell-tooltip{cursor:crosshair;touch-action:pan-y}.historic-chart-tooltip-pinned{top:.75rem;transform:none}.historic-chart-shell.has-delta-axis{grid-template-columns:minmax(0,1fr) 3.2rem 3.2rem}.historic-chart-yaxis-delta .historic-chart-axis-label{color:#146b4d;font-weight:600}.historic-chart-ytitle-delta{margin-left:.75rem;font-size:.8rem;font-weight:600;color:#146b4d}.rtd-mapping-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .9rem;font-size:.85rem}.rtd-mapping-note{font-size:.78rem;flex:1 1 16rem;min-width:0}.rtd-mapping-title{font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;color:#11211899}.rtd-mapping-field{display:inline-flex;align-items:center;gap:.4rem;font-weight:600}.rtd-mapping-field select{padding:.25rem .4rem;border-radius:8px;border:1px solid rgba(17,33,24,.16);background:#fff;font-size:.82rem}.historic-chart-frame{display:grid;gap:.75rem}.historic-chart-ytitle{color:#132116;font-size:.95rem;font-weight:700}.historic-chart-shell{display:grid;grid-template-columns:minmax(0,1fr) 3.2rem;gap:.75rem;align-items:stretch}.historic-chart-shell-tooltip{position:relative}.historic-chart{width:100%;height:360px;display:block;border-radius:10px;background:#dbe4f2}.historic-chart-grid{stroke:#ffffffe0;stroke-width:1}.historic-chart-point{opacity:.95}.historic-chart-point-out{fill:#1f2fff}.historic-chart-point-in{fill:#ff1f1f}.historic-chart-yaxis,.historic-chart-xaxis{display:grid}.historic-chart-yaxis{grid-template-rows:repeat(6,1fr);align-items:space-between}.historic-chart-xaxis{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem}.historic-chart-axis-label{color:#1e2f22;font-size:.84rem}.historic-chart-yaxis .historic-chart-axis-label{display:flex;align-items:center;justify-content:flex-start}.historic-chart-tooltip{position:absolute;display:grid;gap:.15rem;min-width:110px;padding:.55rem .65rem;border-radius:12px;background:#112118f0;color:#f4f8f4;font-size:.78rem;box-shadow:0 10px 24px #11211833;pointer-events:none;transform:translateY(-100%);z-index:2}.signal-topline,.signal-bar-row{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center}.signal-topline{grid-template-columns:1fr auto;margin-bottom:.75rem}.signal-bars{display:grid;gap:.55rem}.signal-label,.signal-value{font-size:.83rem}.signal-track{height:.7rem;border-radius:999px;background:#145c441a;overflow:hidden}.signal-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2e8b65,#145c44)}table{width:100%;border-collapse:collapse}th,td{padding:.85rem .7rem;border-bottom:1px solid rgba(17,33,24,.08);text-align:left;vertical-align:top}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.event-card,.command-card{border:1px solid rgba(17,33,24,.08);border-radius:18px;padding:1rem;background:#ffffffad}.command-card strong,.event-card strong{overflow-wrap:anywhere}.command-card-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}.event-topline-compact{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.event-topline-compact strong{overflow-wrap:anywhere}.compact-summary-list{display:grid;gap:.45rem;margin-top:1rem}.compact-summary-row{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .75rem;border-radius:12px;background:#ffffff94;border:1px solid rgba(17,33,24,.07)}.compact-summary-row strong{white-space:nowrap}.detail-row strong{min-width:0;text-align:right;overflow-wrap:anywhere}.instruction-list{display:grid;gap:.9rem}.instruction-card{display:grid;gap:.45rem;padding:1rem;border-radius:18px;border:1px solid rgba(17,33,24,.08);background:#ffffffad}.instruction-card p{margin:0}.operations-jump-card{display:grid;gap:.75rem;min-width:min(100%,22rem);padding:1rem 1.1rem;border-radius:20px;border:1px solid rgba(17,33,24,.08);background:#145c4414}.operations-jump-card label,.operations-section-list{display:grid;gap:1rem}.operations-panel{scroll-margin-top:1rem}.operations-section-summary{margin:0}.operations-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-card{align-content:start}.event-card h4,.event-card p{margin:.35rem 0}.event-title-stack{display:grid;gap:.45rem}.json-block{margin:.8rem 0 0;padding:.85rem;border-radius:14px;background:#163428;color:#d7f1e4;font-size:.82rem}.result-message,.empty-state,.subtle{color:var(--text-muted)}.empty-state{padding:2rem;text-align:center}.empty-state.subtle{padding:1rem 0;text-align:left}.command-form-wide{grid-column:1 / -1}.command-template,.info-callout,.auth-warning,.auth-note-card{padding:.9rem 1rem;border-radius:16px}.info-callout{background:var(--accent-soft);color:#153b2d}.auth-note-card{display:flex;gap:.8rem;align-items:start;background:#ffffffb8;border:1px solid rgba(17,33,24,.08)}.firmware-uploader-steps{margin:.7rem 0;padding-left:1.25rem;color:var(--text);font-weight:700}.firmware-uploader-steps li+li{margin-top:.35rem}.device-api-key{display:inline-block;max-width:100%;overflow-wrap:anywhere;padding:.65rem .8rem;border-radius:12px;background:#163428;color:#d7f1e4;font-size:.82rem}.firmware-artifact-list{display:grid;gap:.75rem}.firmware-artifact-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem .95rem;border-radius:14px;border:1px solid rgba(17,33,24,.08);background:#ffffffad}.firmware-artifact-meta{display:grid;gap:.15rem}.auth-warning{background:#a4332f1a;color:var(--danger)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.5rem;background:#08140e73;z-index:30}.dialog-card{width:min(100%,820px);max-height:calc(100vh - 3rem);overflow-y:auto;display:grid;gap:1rem;padding:1.5rem;border-radius:24px;border:1px solid var(--border);background:#dff6fcf5;box-shadow:var(--shadow)}.command-dialog-grid,.command-dialog-stack{display:grid;gap:1rem}.command-dialog-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:1rem;align-items:center}.command-dialog-label{font-weight:700}.command-dialog-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.command-choice-button,.command-wide-button{padding:.95rem 1rem;border-radius:0;border:3px solid #121212;background:#d2d2d2;color:#121212;font-weight:700;cursor:pointer}.command-choice-button.is-active{border-color:#e61c23}.command-wide-button{width:100%;text-align:center}.command-preview-card{padding:1rem;border-radius:18px;border:1px solid rgba(17,33,24,.08);background:#145c440f;display:grid;gap:.8rem}.command-preview-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.map-shell{display:grid;gap:.75rem;margin-top:1rem}.map-search-field{display:grid;gap:.5rem}.map-frame{min-height:22rem;border-radius:20px;overflow:hidden;border:1px solid rgba(17,33,24,.08);background:linear-gradient(180deg,#d2eadf8c,#ffffffe6),radial-gradient(circle at 20% 20%,rgba(20,92,68,.08),transparent 25%)}.map-help-text{color:var(--text-muted);font-size:.95rem}.map-panel{display:grid;gap:.75rem;margin-top:1rem}.button{padding:.85rem 1.1rem;border-radius:999px;cursor:pointer;font-weight:700}.button-primary{background:var(--accent);color:#f5fbf7;border-color:transparent}.button-secondary{background:transparent;color:#f5fbf7;border-color:#fff3}.sidebar-footer .button{width:100%;justify-content:center}.button-secondary-light{background:#ffffffb8;color:#153b2d;border-color:#1121181f}.button-compact{padding:.6rem .85rem}.button-secondary-danger{background:#a4332f14;color:var(--danger);border-color:#a4332f2e}.command-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.success-text{color:var(--good);font-weight:600}.error-text{color:var(--danger);font-weight:600}.public-share-page{min-height:100vh;padding:1rem}.public-share-page .page-stack{max-width:1180px;margin:0 auto}.public-share-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.firmware-build-live-card{display:grid;gap:.75rem;margin-top:1rem;padding:1rem 1.15rem;border:1px solid rgba(17,33,24,.08);background:linear-gradient(135deg,#145c441f,#ffffffb8);box-shadow:inset 0 1px #ffffff80}.firmware-build-live-topline,.firmware-build-live-status,.firmware-build-progress-note{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.firmware-build-live-topline{justify-content:space-between}.firmware-build-live-dot{width:.75rem;height:.75rem;border-radius:999px;background:var(--accent);box-shadow:0 0 #145c4473;animation:firmware-build-pulse 1.4s ease-out infinite}.firmware-build-progress-note{color:var(--ink-soft);font-size:.95rem}.firmware-build-history{display:grid;gap:1rem;padding:.9rem 1rem;border:1px solid rgba(17,33,24,.08);background:#ffffff94}.firmware-build-history summary{cursor:pointer;font-weight:700;color:var(--ink)}@keyframes firmware-build-pulse{0%{transform:scale(.95);box-shadow:0 0 #145c4459}70%{transform:scale(1);box-shadow:0 0 0 10px #145c4400}to{transform:scale(.95);box-shadow:0 0 #145c4400}}.back-link{display:inline-block;margin-bottom:.9rem;color:var(--accent);font-weight:600}.auth-screen{display:grid;place-items:center;min-height:100vh;padding:2rem}.auth-card{max-width:560px;display:grid;gap:1rem;background:var(--panel-strong)}.operator-screen{min-height:100vh;padding:1rem}.operator-shell{width:min(100%,980px);margin:0 auto;display:grid;gap:1rem}.operator-topbar,.operator-topbar-actions,.operator-hero-topline{display:flex;gap:.75rem;align-items:center}.operator-topbar{justify-content:space-between;align-items:start}.operator-topbar-actions{flex-wrap:wrap;justify-content:end}.operator-subtitle{margin:.35rem 0 0;color:var(--text-muted)}.operator-login-card,.operator-panel,.operator-hero-card,.operator-actions-card{border:1px solid var(--border);background:var(--panel-strong);border-radius:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.operator-login-card,.operator-panel,.operator-hero-card,.operator-actions-card{padding:1.25rem}.operator-hero-card,.operator-grid,.operator-hero-grid,.operator-live-grid{display:grid;gap:1rem}.operator-hero-copy{display:grid;gap:.75rem}.operator-hero-copy h2{margin:0;font-family:Georgia,Times New Roman,serif;letter-spacing:-.03em;font-size:clamp(2rem,5vw,3rem);line-height:.95}.operator-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operator-live-card,.operator-mini-stat{border-radius:20px;border:1px solid rgba(17,33,24,.08);background:#fffc;padding:1rem}.operator-live-card-strong{background:linear-gradient(180deg,#145c441f,#ffffffeb)}.operator-live-label,.operator-mini-label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.operator-live-value{margin:.45rem 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,4vw,2.35rem);line-height:1;letter-spacing:-.04em}.operator-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.operator-column,.operator-reading-list{display:grid;gap:1rem}.operator-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operator-mini-stat strong{display:block;margin-top:.35rem;font-size:1.25rem}.status-dot.warn{background:linear-gradient(180deg,#e0b556,#8d6518)}.status-dot.danger{background:linear-gradient(180deg,#e07a76,#a4332f)}.status-dot.muted{background:linear-gradient(180deg,#b9c4bc,#7b8a80)}.page-header-compact{align-items:center;padding:.85rem 1.25rem;margin-bottom:1.25rem}.environment-badge-group{display:inline-flex;align-items:center;gap:.7rem;flex-wrap:wrap;min-width:0}.environment-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border:1px solid transparent}.environment-badge.is-local{background:#53635724;border-color:#53635752;color:#3c4a40}.environment-badge.is-staging{background:#8d651829;border-color:#8d651873;color:#6d4e11}.environment-badge.is-production{background:#145c4429;border-color:#145c4473;color:#0f4633}.environment-badge-hint{font-size:.8rem}.data-freshness{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.data-freshness .status-dot{margin-top:0;width:.6rem;height:.6rem;flex:none}.data-freshness.is-good{color:var(--good)}.data-freshness.is-warn{color:var(--warn)}.data-freshness.is-danger{color:var(--danger)}.data-freshness.is-muted{color:var(--text-muted)}.stale-banner{display:grid;gap:.2rem;margin:.85rem 0;padding:.8rem 1rem;border-radius:14px;border-left:4px solid currentColor;font-size:.88rem}.stale-banner strong{font-size:.95rem}.stale-banner span{color:#2c3a31}.stale-banner.is-warn{color:var(--warn);background:#8d65181a}.stale-banner.is-danger{color:var(--danger);background:#a4332f1a}.stale-banner.is-muted{color:var(--text-muted);background:#5363571a}.photo-upload{display:grid;gap:.65rem;margin-bottom:1rem}.photo-add-button{min-height:3rem;width:100%;justify-content:center}.photo-upload-hint{font-size:.8rem;margin:0}.photo-pending{display:grid;grid-template-columns:minmax(0,8rem) minmax(0,1fr);gap:.9rem;padding:.85rem;border-radius:16px;border:1px solid var(--border);background:#ffffffb3}.photo-pending-preview{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;background:#1121180f}.photo-pending-body{display:grid;gap:.55rem;align-content:start;min-width:0}.photo-pending-note{margin:0;font-size:.78rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.85rem}.photo-tile{margin:0;display:grid;gap:.45rem}.photo-tile-frame{position:relative;border-radius:14px;overflow:hidden;background:#1121180f;aspect-ratio:4 / 3}.photo-tile-frame img{width:100%;height:100%;object-fit:cover;display:block}.photo-tile-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--text-muted)}.photo-tile-meta{display:grid;gap:.25rem;font-size:.76rem;min-width:0}.photo-tile-caption{font-size:.82rem;overflow-wrap:anywhere}.analysis-status-control{display:grid;gap:.6rem;padding:.9rem 1rem;border-radius:16px;background:#fff9;border:1px solid var(--border)}.analysis-status-top{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.analysis-status-current{font-size:.85rem;color:var(--text-muted)}.analysis-status-current strong{color:var(--accent)}.analysis-status-hint{margin:0;font-size:.78rem}.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding:.25rem;border-radius:999px;background:#1121180f;border:1px solid var(--border)}.segmented-option{padding:.55rem .5rem;border-radius:999px;border:1px solid transparent;background:transparent;font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer}.segmented-option:hover:not(:disabled){background:#fffc;color:#112118}.segmented-option.is-current{background:var(--accent);border-color:var(--accent);color:#f4f8f4;cursor:default}.segmented-option:disabled:not(.is-current){opacity:.5;cursor:not-allowed}.chart-scale-note{margin:.35rem 0 0;font-size:.8rem}.delta-warning{color:var(--danger);font-weight:700}.csv-interval-field{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;white-space:nowrap}.csv-interval-field select{width:auto;padding:.35rem .5rem;border-radius:10px;font-size:.82rem;background:#fff}.csv-interval-hint{margin:.5rem 0 0;font-size:.8rem}.section-heading-meta{display:inline-flex;align-items:center;gap:.85rem;flex-wrap:wrap;justify-content:flex-end}.title-row-status{display:inline-flex;align-items:center;gap:.75rem;flex-wrap:wrap}.test-lifecycle-bar{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.test-lifecycle-abort{margin-left:auto}.stat-card-primary{background:var(--accent-soft);border-color:#145c4447}.stat-card-primary .stat-value{font-size:1.5rem;font-variant-numeric:tabular-nums}.operator-topbar-env{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.operator-hero-meta{color:var(--text-muted);margin:.35rem 0 0;font-size:.9rem}.operator-live-value,.operator-mini-stat strong,.fleet-value{font-variant-numeric:tabular-nums}.operator-element-row{display:grid;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.operator-element-label{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.operator-element-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.operator-element-button{display:grid;gap:.15rem;justify-items:center;padding:.9rem .5rem;min-height:4rem;border-radius:16px;border:2px solid rgba(17,33,24,.18);background:#fff;cursor:pointer}.operator-element-button .operator-element-name{font-size:1.15rem;font-weight:800}.operator-element-button .operator-element-state{font-size:.85rem;color:var(--text-muted)}.operator-element-button.is-on{background:var(--accent);border-color:var(--accent);color:#f4f8f4}.operator-element-button.is-on .operator-element-state{color:#f4f8f4d9}.operator-element-button.is-pending{border-style:dashed;opacity:.75}.operator-element-hint{font-size:.8rem}.operator-danger-zone{display:grid;gap:.75rem;margin-top:1.25rem;padding:1rem;border-radius:16px;border:1px solid rgba(164,51,47,.35);background:#a4332f0f}@media(max-width:1100px){.app-shell,.content-grid{grid-template-columns:1fr}.operator-brief{justify-items:start}.operator-grid{grid-template-columns:1fr}.test-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.test-filter-grid,.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-toolbar{flex-direction:column}.calendar-toolbar-actions{justify-content:start}.operations-card-grid{grid-template-columns:1fr}.device-header-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.user-directory-toolbar{grid-template-columns:1fr}}@media(max-width:720px){.main-panel,.sidebar,.auth-screen{padding:1rem}.page-header,.hero-card,.section-heading,.title-row{align-items:start;flex-direction:column}.command-card-top{grid-template-columns:1fr}.device-card-top,.event-topline{flex-direction:column}.stacked-status-badges{justify-content:start}.test-share-control{position:static;width:100%;order:-1}.test-share-button{width:100%}.test-share-popover{position:static;width:100%;margin-top:.75rem}.test-share-popover-header,.test-share-popover-body,.detail-grid{grid-template-columns:1fr}.test-stat-grid{grid-template-columns:1fr;padding-top:0}.test-filter-grid{grid-template-columns:1fr}.calendar-toolbar-actions,.calendar-event-top{flex-direction:column;align-items:stretch}.calendar-grid,.signal-grid{grid-template-columns:1fr}.map-frame{min-height:18rem}.device-header-strip,.user-directory-header,.user-directory-summary,.command-dialog-row,.command-dialog-actions{grid-template-columns:1fr}.file-picker-row{flex-direction:column;align-items:stretch}.page-header-meta,.backend-pill{justify-items:start}.operator-brief{min-width:0;width:100%}.operator-screen{padding:.75rem}.operator-topbar,.operator-topbar-actions,.operator-hero-topline{align-items:start;flex-direction:column}.operator-topbar-actions{width:100%}.operator-topbar-actions .button,.operator-actions-card .button{width:100%;justify-content:center}.operator-hero-grid,.operator-live-grid,.photo-pending{grid-template-columns:1fr}.photo-pending-preview{max-height:14rem;aspect-ratio:auto;object-fit:contain}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr))}}
