:root{--accent: #0078d4;--accent-50: color-mix(in srgb, #0078d4 50%, transparent);--border: #e1e1e1;--bg: #faf9f8;--surface: #ffffff;--surface-2: #f3f2f1;--accent-soft: #eef6fc;--danger: #a4262c;--danger-border: #d13438;--danger-surface: #fde7e9;--text: #201f1e;--text-muted: #605e5c;--text-strong: #323130;font-family:Segoe UI,system-ui,sans-serif}[data-theme=dark]{--accent: #4ca3ff;--accent-50: color-mix(in srgb, #4ca3ff 50%, transparent);--border: #3b3a39;--bg: #1b1a19;--surface: #252423;--surface-2: #323130;--accent-soft: #1f3a52;--danger: #ffb3ba;--danger-border: #f1707b;--danger-surface: color-mix(in srgb, #d13438 16%, var(--surface));--text: #f3f2f1;--text-muted: #a19f9d;--text-strong: #ffffff;color-scheme:dark}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--surface);color:var(--text);border-color:var(--border)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-muted)}body{margin:0;background:var(--bg);color:var(--text)}.app{max-width:1100px;margin:0 auto;padding:24px}header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:8px 0 16px;border-bottom:1px solid var(--border)}h1{font-size:22px;margin:0}.header-copy{min-width:0}.subtitle{color:var(--text-muted);margin:4px 0 0;line-height:1.4}.bug-creator-section-description{color:var(--text-muted);font-size:14px;font-family:inherit;margin:0 0 16px}.header-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:40px}.user-auth-action{padding:5px 9px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer}.user-auth-action:hover{border-color:var(--accent);color:var(--accent)}.signed-out-page{min-height:100vh;display:grid;place-items:center;padding:24px}.signed-out-card{width:min(440px,100%);padding:28px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 2px 8px #00000014}.bug-creator-panel{margin:20px 0 24px;padding:20px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 2px 8px #0000000f}.bug-creator-panel.vpn-blocked>:not(.bug-creator-section-description,.status-area){display:none}@media(max-width:760px){header{grid-template-columns:1fr;gap:12px}.header-right{justify-content:flex-start;flex-wrap:wrap}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-strong);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.user{font-size:13px;color:var(--text-muted)}.user-badge{display:inline-flex;align-items:center;gap:8px;min-height:40px}.user-badge .avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;flex:0 0 auto}.user-badge .avatar.signed-out{background:var(--border);color:var(--text-muted)}.user-badge .user-meta{display:flex;flex-direction:column;line-height:1.2}.user-badge .user-name{font-size:13px;font-weight:600;color:var(--text)}.user-badge .user-auth-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}.user-badge .user-auth-dot{width:7px;height:7px;border-radius:50%;background:#6b7280}.user-badge .user-auth-status.signed-in .user-auth-dot{background:#16833b}.user-badge .user-sub{font-size:11px;color:var(--text-muted)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:8px;min-height:40px;padding:3px 6px 3px 3px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.user-menu-trigger:hover{background:var(--surface-2);border-color:var(--border)}.user-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.user-menu-chevron{width:7px;height:7px;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:rotate(45deg) translateY(-2px);transition:transform .12s ease}.user-menu-trigger[aria-expanded=true] .user-menu-chevron{transform:rotate(225deg) translate(-2px,-2px)}.user-menu-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:120px;padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--surface);box-shadow:0 6px 18px #0000002e}.user-menu-popover button{width:100%;padding:7px 10px;border:0;border-radius:4px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.user-menu-popover button:hover,.user-menu-popover button:focus-visible{background:var(--surface-2);outline:none}.filters{display:flex;align-items:flex-end;gap:12px;margin-bottom:12px;flex-wrap:wrap}.filters>label,.filters>.date-range-field{flex:1 1 140px;min-width:0}.filters label{display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:4px}.filters select{padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;min-width:0;width:100%;font-family:inherit;background:color-mix(in srgb,var(--surface-2) 70%,var(--surface));color:inherit;cursor:pointer}.filters input[type=date]{padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;min-width:150px;font-family:inherit;background:color-mix(in srgb,var(--surface-2) 70%,var(--surface));color:inherit;cursor:pointer}.filters .program-search{padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;min-width:0;width:100%;font-family:inherit;background:color-mix(in srgb,var(--surface-2) 70%,var(--surface));color:inherit;cursor:pointer}.filters select:hover,.filters input[type=date]:hover,.filters .program-search:hover,.date-range-trigger:hover{border-color:var(--accent);cursor:pointer}.filters select:focus,.filters input[type=date]:focus,.filters .program-search:focus,.date-range-trigger:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.date-range-field{display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:4px}.date-range-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);font-size:13px;font-weight:400;min-width:0;width:100%;cursor:pointer}.date-range-trigger:hover{border-color:var(--accent)}.date-range-caret{font-size:14px}.date-range-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-range-modal{min-width:320px}.date-range-fields{display:flex;gap:16px;margin:8px 0 4px}.date-range-fields label{display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:4px}.date-range-fields input[type=date]{padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-family:inherit}.filters .count{font-size:12px;color:var(--text-muted);padding-bottom:7px}.table-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.table-footer .pager{display:flex;align-items:center;gap:10px}.pager-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff}.pager-btn:hover:not(:disabled){cursor:pointer;background:var(--surface);color:var(--accent);border-color:var(--accent)}.pager-btn:disabled{opacity:.4;cursor:default}.table-footer .page-info{font-size:12px;color:var(--text-muted)}.table-footer .count{font-size:12px;color:var(--text-muted);margin-left:auto;text-align:right}button{border:1px solid var(--border);background:var(--surface);padding:6px 14px;border-radius:4px;cursor:pointer;font-size:13px}button:disabled{opacity:.5;cursor:default}button:hover:not(:disabled){cursor:pointer;background:var(--surface);color:var(--accent);border-color:var(--accent)}button.approve{background:var(--accent);color:#fff;border-color:var(--accent)}button.approve{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ladybug,.view-bug-icon{flex:0 0 auto}button.waive{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;box-sizing:border-box;min-width:var(--secondary-action-width, 104px);background:var(--surface);color:var(--accent);border:1px solid var(--accent);white-space:nowrap}.flag{flex:0 0 auto}button.waive.waive-textonly{justify-content:center}button.waive:hover{background:#0078d414;color:var(--accent);border-color:var(--accent)}.waived-flag{display:inline-flex;align-items:center;justify-content:center;line-height:0}.bug-link{color:var(--accent);font-weight:600;text-decoration:none}.bug-link:hover{text-decoration:underline}.severity-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:16px;padding:8px 14px;margin-top:12px;font-size:12px;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:6px}.severity-legend .legend-title{font-weight:600;color:var(--text-strong)}.severity-legend .legend-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.app-footer{display:flex;justify-content:space-between;align-items:center;gap:4px;margin-top:24px;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}.app-footer .app-version{font-variant-numeric:tabular-nums}.result-value{font-weight:600;color:var(--text-strong);white-space:nowrap}.result-spec{font-size:11px;color:var(--text-muted);white-space:nowrap}.spec-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.spec-badge.in{background:#dff6dd;color:#107c10}.spec-badge.out{background:#fde7e9;color:#a4262c}.req{color:#d13438;font-weight:700;margin-left:2px}.bug-context{display:flex;gap:24px;padding:12px 14px;margin-bottom:16px;background:var(--accent-soft);border:1px solid var(--border);border-radius:6px}.bug-context-item{display:flex;flex-direction:column;gap:2px}.bug-context-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.bug-context-value{font-weight:600;color:var(--text-strong)}.test-result{padding:12px 14px;margin-bottom:16px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px}.test-result-title{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:10px}.test-result-grid{display:flex;gap:24px;flex-wrap:wrap}.test-result-item{display:flex;flex-direction:column;gap:4px}.failure-details-preview{padding:12px 14px;margin-bottom:16px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px}.failure-details-preview pre{margin:0;color:var(--text);font:inherit;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.failure-details-preview a{color:var(--accent);text-decoration:underline}.ladybug-fly-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2000;overflow:hidden}.ladybug-fly{position:absolute;top:0;left:0;will-change:transform,opacity;animation:ladybug-fly 4s cubic-bezier(.45,.05,.55,.95) forwards}.ladybug-flutter{animation:ladybug-flutter .18s ease-in-out infinite}.fly-wing{transform-box:view-box;transform-origin:24px 15px;will-change:transform}.fly-wing-left{animation:wing-flap-left .13s ease-in-out infinite}.fly-wing-right{animation:wing-flap-right .13s ease-in-out infinite}.elytron{transform-box:view-box;transform-origin:24px 15px;will-change:transform}.elytron-left{animation:elytra-open-left .5s ease-out .35s forwards}.elytron-right{animation:elytra-open-right .5s ease-out .35s forwards}@keyframes elytra-open-left{0%{transform:rotate(0)}to{transform:rotate(36deg)}}@keyframes elytra-open-right{0%{transform:rotate(0)}to{transform:rotate(-36deg)}}@keyframes wing-flap-left{0%,to{transform:rotate(-6deg)}50%{transform:rotate(-46deg)}}@keyframes wing-flap-right{0%,to{transform:rotate(6deg)}50%{transform:rotate(46deg)}}@keyframes ladybug-fly{0%{transform:translate(46vw,46vh) rotate(0) scale(1);opacity:0}6%{opacity:1}25%{transform:translate(46vw,46vh) rotate(0) scale(1);opacity:1}40%{transform:translate(30vw,20vh) rotate(35deg) scale(1.1)}58%{transform:translate(72vw,60vh) rotate(-25deg) scale(1)}75%{transform:translate(46vw,26vh) rotate(20deg) scale(1.15)}90%{transform:translate(86vw,12vh) rotate(-18deg) scale(1);opacity:1}to{transform:translate(58vw,-18vh) rotate(8deg) scale(.5);opacity:0}}@keyframes ladybug-flutter{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}button.refresh{min-width:116px;height:36px;text-align:center}.table-container{height:595px;overflow-y:auto;scrollbar-gutter:stable;background:var(--surface);border:1px solid var(--border);border-radius:6px}.grid{width:100%;table-layout:fixed;border-collapse:collapse;background:var(--surface)}.grid thead th{position:sticky;top:0;z-index:1}.grid th:nth-child(1){width:4%}.grid th:nth-child(2){width:5%}.grid th:nth-child(4){width:13%}.grid th:nth-child(5){width:9%}.grid th:nth-child(6){width:12%}.grid th:nth-child(7){width:22%}.bug-grid th:nth-child(1){width:8%}.bug-grid th:nth-child(2){width:6%}.bug-grid th:nth-child(3){width:5%}.bug-grid th:nth-child(4){width:7%}.bug-grid th:nth-child(5){width:auto}.bug-grid .bug-col-effector{width:10%}.bug-grid th:nth-last-child(3){width:10%}.bug-grid th:nth-last-child(2){width:10%}.bug-grid th:last-child{width:22%}.bug-grid th:nth-last-child(3),.bug-grid td:nth-last-child(3){text-align:right}.bug-grid td:nth-child(5),.bug-grid .member-category{overflow:visible;text-overflow:clip;white-space:normal}.bug-grid .bug-date,.bug-grid .bug-program{color:var(--text-muted);white-space:nowrap;font-size:12px}.bug-grid .bug-program{overflow:hidden;text-overflow:ellipsis}.bug-grid .bug-testpass{white-space:nowrap}.testpass-badge{display:inline-block;padding:1px 7px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.02em}.bug-grid .sensor-subtest{white-space:nowrap;color:var(--text-muted)}.bug-grid .sensor-duts{white-space:nowrap}.dut-rate .dut-count{font-weight:600}.dut-rate .dut-pct{font-size:11px;color:var(--text-muted)}.bug-grid .member-dut{color:var(--text-muted);font-variant-numeric:tabular-nums}.bug-grid-sensors th:nth-child(4){width:12%}.bug-grid-sensors th:nth-child(5){width:14%}.bug-grid-sensors th:nth-child(6){width:8%}.bug-grid-sensors th:nth-child(7){width:10%}.bug-grid-sensors th:nth-child(8){width:8%}.bug-grid-sensors .bug-title-cell .bug-title{overflow:visible;text-overflow:clip;white-space:nowrap}.bug-grid-sensors .bug-title-cell,.bug-grid-sensors .bug-title-cell .run-toggle{overflow:visible;max-width:none}.bug-grid-sensors{--secondary-action-width: 120px}.bug-grid-sensors th:last-child{width:26%}.bug-grid-sensors .bug-action-cell{padding-inline:8px}.bug-grid-sensors .bug-action-group .approve,.bug-grid-sensors .bug-action-group .edit-bug{width:120px}.bug-grid .bug-firmware{white-space:nowrap}.fw-badge{display:inline-block;padding:1px 7px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.grid tbody tr{height:56px}.grid th,.grid td{text-align:left;padding:8px 14px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sev-badge{display:inline-block;width:64px;text-align:center;padding:2px 0;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap}.sev-badge.sev-1{background:#d13438;color:#fff}.sev-badge.sev-2{background:#e8630a;color:#fff}.sev-badge.sev-3{background:#f7a600;color:#3a2a00}.sev-badge.sev-4{background:#f6d32d;color:#3a3300}.grid th{background:var(--surface-2);font-weight:600}.main-view,.data-region{position:relative}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f3f2f199;-webkit-backdrop-filter:blur(2px) saturate(60%);backdrop-filter:blur(2px) saturate(60%);z-index:1500;border-radius:6px}[data-theme=dark] .loading-overlay{background:#1b1a1926;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.spinner{width:44px;height:44px;border:4px solid rgba(0,0,0,.15);border-top-color:var(--accent);border-radius:50%;animation:spinner-spin .8s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px;flex:none}.toast-checking{display:flex;align-items:center;gap:8px}@keyframes spinner-spin{to{transform:rotate(360deg)}}.grid th .col-sort{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;cursor:pointer;font:inherit;font-weight:600;color:inherit;-webkit-user-select:none;user-select:none}.grid th .col-sort:hover{background:transparent;color:var(--accent)}.grid th .col-sort .col-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid th .col-sort .sort-ind{flex:none;width:12px;text-align:center;font-size:10px;line-height:1;opacity:.25}.grid th .col-sort:hover .sort-ind{opacity:.6}.grid th .col-sort.active .sort-ind,.grid th .col-sort.active:hover .sort-ind{opacity:1;color:var(--accent)}.grid tbody tr:nth-child(2n){background:var(--surface-2)}.grid tbody tr:hover{background:var(--accent-soft)}.empty{padding:40px;text-align:center;color:var(--text-muted)}.status-area{min-height:52px;display:flex;flex-direction:column;justify-content:center}.status-area:empty{display:none}.status-area .error,.status-area .toast{margin:0}.error{padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger-border) 65%,var(--border));border-left:4px solid var(--danger-border);border-radius:6px;background:var(--danger-surface);color:var(--danger);font-size:14px;line-height:1.45;margin:8px 0}.toast{background:#dff6dd;color:#107c10;padding:8px 12px;border-radius:4px;margin:8px 0}.vpn-prompt{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid #d83b01;border-radius:6px;background:#fff4ce;color:#6b3b00}.vpn-prompt>div{display:flex;flex-direction:column;gap:2px}.vpn-prompt span{font-size:12px}.vpn-prompt button{flex:none;padding:6px 12px;border:0;border-radius:4px;background:#d83b01;color:#fff;font-weight:600;cursor:pointer}[data-theme=dark] .vpn-prompt{background:#433519;color:#ffe8a3}.toast-confirm{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff4ce;color:#805600}.toast-actions{display:flex;gap:8px;flex:0 0 auto}.toast-btn{border:none;border-radius:4px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer}.toast-btn.confirm{background:var(--accent);color:#fff}.toast-btn.dismiss{background:transparent;color:inherit;border:1px solid currentColor}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:3000}.modal{position:relative;background:var(--surface);border-radius:8px;padding:24px;width:460px;max-width:90vw;box-shadow:0 8px 24px #0003}.modal-close-button{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer}.modal-close-button:hover:not(:disabled),.modal-close-button:focus-visible{border-color:var(--border);background:var(--surface-2);color:var(--text)}.modal-close-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-close-button:disabled{cursor:not-allowed;opacity:.45}.modal h2{margin-top:0;font-size:18px}.modal-wide{width:640px;max-height:88vh;overflow-y:auto;padding-top:40px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-col{display:flex;flex-direction:column}.form-grid label{margin:12px 0 4px}.existing-bug-dialog{max-height:92vh;overflow-y:auto}.existing-bug-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-right:32px}.existing-bug-title-row h2{margin:0}.existing-bug-dialog>label.full{display:grid;gap:.35rem;margin-top:1rem}.existing-bug-dialog textarea{resize:vertical}.hint{font-size:12px;color:var(--muted, #666);margin:4px 0}.attachment-list{list-style:none;padding:0;margin:8px 0 0}.attachment-list li{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0}.attachment-list .link{background:none;border:none;color:#c0392b;cursor:pointer;font-size:12px;padding:0;width:auto}.attachment-list .link:hover:not(:disabled){background:none;color:#a4262c;border:none;text-decoration:underline}.modal label{display:block;font-size:13px;font-weight:600;margin:12px 0 4px}.modal input,.modal textarea,.modal select{width:100%;box-sizing:border-box;padding:8px 14px 8px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-family:inherit;background:color-mix(in srgb,var(--surface-2) 70%,var(--surface));color:var(--text)}.modal select{cursor:pointer}.modal input:not(.readonly-field):hover,.modal textarea:hover,.modal select:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface-2) 90%,var(--surface))}.modal select:hover{cursor:pointer}.modal input:not(.readonly-field):focus,.modal textarea:focus,.modal select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:20px}.actions-right{display:flex;gap:8px}.pager .bulk-create-btn{margin-left:12px}.bulk-create-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-actions{justify-content:flex-end}.bulk-summary{margin:4px 0 0;color:var(--text-muted);font-size:14px;line-height:1.5}.bulk-progress-track{margin-top:16px;height:8px;border-radius:6px;background:var(--surface-2);overflow:hidden}.bulk-progress-fill{height:100%;background:var(--accent);transition:width .2s ease}.run-group{border-top:2px solid var(--border)}.run-header td{background:var(--surface-2);padding:0}.run-toggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:none;border:none;padding:4px 0;cursor:pointer;color:var(--text-strong);font-size:13px;text-align:left}.run-toggle:hover:not(:disabled){background:none;color:var(--text-strong);border-color:transparent}.run-caret{display:inline-block;transition:transform .15s ease;color:var(--text-muted);font-size:12px}.run-caret.collapsed{transform:rotate(-90deg)}.run-count{color:var(--text-muted);margin-left:auto;white-space:nowrap}.readonly-field{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--text-muted);background:var(--surface-2);cursor:default}.readonly-field:focus{outline:none;border-color:var(--border)}a.edit-bug{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--accent);background:var(--surface);color:var(--accent);padding:6px 14px;border-radius:4px;font-size:13px;text-decoration:none;cursor:pointer}a.edit-bug:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.bug-grid .run-header td{padding:8px 10px}.bug-grid .run-header .run-toggle{padding:0}.bug-id-wrap{display:flex;align-items:center;gap:8px}.bug-id-wrap .run-caret{flex:none;cursor:pointer}.bug-id-wrap .run-caret:hover{color:var(--accent)}.bug-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;user-select:text;cursor:inherit}.bug-grid .run-header.clickable{cursor:pointer}.bug-grid .run-header.clickable:hover td{background:var(--surface-2);box-shadow:inset 0 1px 0 var(--accent-50),inset 0 -1px 0 var(--accent-50)}.bug-grid .run-header.clickable:hover td:first-child{box-shadow:inset 0 1px 0 var(--accent-50),inset 0 -1px 0 var(--accent-50),inset 1px 0 0 var(--accent-50)}.bug-grid .run-header.clickable:hover td:last-child{box-shadow:inset 0 1px 0 var(--accent-50),inset 0 -1px 0 var(--accent-50),inset -1px 0 0 var(--accent-50)}.bug-action-cell{text-align:right;white-space:nowrap}.bug-action-group{display:flex;align-items:center;justify-content:flex-end;gap:8px}.bug-source-tag{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 auto;min-height:20px;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:700;line-height:1;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.bug-source-new{color:#1d4ed8;background:#dbeafe;border:1px solid #93c5fd}.bug-source-ado{color:#166534;background:#dcfce7;border:1px solid #86efac}[data-theme=dark] .bug-source-new{color:#bfdbfe;background:#1e3a8a;border-color:#2563eb}[data-theme=dark] .bug-source-ado{color:#bbf7d0;background:#14532d;border-color:#16a34a}.member-id-title{display:flex;align-items:center;gap:6px}.bug-action-group .member-detail{margin-right:auto;text-align:left;white-space:normal}.waive-placeholder{visibility:hidden;pointer-events:none}.bug-state{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;box-sizing:border-box;width:var(--secondary-action-width, 104px);padding:6px 14px;border:1px solid transparent;font-size:12px;font-weight:500;color:var(--text-muted);white-space:nowrap}.bug-state-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:#9aa0a6;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 12%,transparent)}.bug-state-proposed .bug-state-dot{background:#9aa0a6}.bug-state-active .bug-state-dot{background:#3b82f6}.bug-state-resolved .bug-state-dot{background:#f59e0b}.bug-state-closed .bug-state-dot{background:#22c55e}.bug-state-unknown .bug-state-dot{background:#9aa0a6}.bug-action-group .approve,.bug-action-group .edit-bug{box-sizing:border-box;width:124px;flex:0 0 auto;justify-content:flex-start}.bug-member td:last-child{text-align:right}.bug-member td{background:var(--surface);padding:8px 10px}.bug-member .member-id{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.bug-member .member-effector{font-size:11px;color:var(--text-muted);font-weight:600}.bug-member .member-effector-cell{text-align:right}.results-link{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap}.results-icon{flex:0 0 auto}.bug-member .results-link{margin-top:3px}.results-link:hover{text-decoration:underline}@media(max-width:760px){body{overflow-x:hidden}.app{width:100%;box-sizing:border-box;padding:12px}header{grid-template-columns:minmax(0,1fr);gap:12px;padding-top:4px}h1{font-size:20px;line-height:1.2}.subtitle{font-size:13px}.header-right{width:100%;justify-content:flex-start;flex-wrap:wrap}.header-right .refresh{flex:1 1 auto;min-height:44px}.theme-toggle{width:44px;height:44px}.user-menu{min-width:0;max-width:100%}.user-menu-trigger{max-width:100%;min-height:44px}.user-badge,.user-badge .user-meta{min-width:0}.user-badge .user-name,.user-badge .user-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bug-creator-panel{margin:14px 0;padding:14px;border-radius:8px}.form-grid,.bug-context-grid,.test-result-grid{grid-template-columns:minmax(0,1fr)}.modal input,.modal textarea,.modal select,.filters select,.filters input,.date-range-trigger{min-height:44px;font-size:16px}.filters{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.filters>label,.filters>.date-range-field{width:100%}.table-container{height:min(62vh,595px);overflow:auto;scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}.grid{min-width:980px}.bug-grid-sensors{min-width:1180px}.grid th,.grid td{padding:8px 10px}.table-footer{align-items:stretch;flex-direction:column;gap:10px}.table-footer .pager{width:100%;flex-wrap:wrap}.pager-btn{width:44px;height:44px}.pager .bulk-create-btn{width:100%;min-height:44px;margin:4px 0 0}.table-footer .count{margin-left:0;text-align:left}.severity-legend{align-items:flex-start;gap:10px 14px;padding:10px}.severity-legend .legend-title{flex-basis:100%}.toast-confirm,.vpn-prompt{align-items:stretch;flex-direction:column}.toast-actions{width:100%}.toast-actions button,.vpn-prompt button{flex:1 1 0;min-height:44px}.modal-backdrop{align-items:stretch;padding:0}.modal,.modal-wide,.date-range-modal{width:100%;min-width:0;max-width:none;max-height:100dvh;min-height:100dvh;box-sizing:border-box;overflow-y:auto;border-radius:0;padding:52px 16px 24px}.modal-close-button{position:fixed;top:max(10px,env(safe-area-inset-top));right:12px;z-index:1;width:44px;height:44px;background:var(--surface);border-color:var(--border)}.existing-bug-title-row{align-items:flex-start;flex-direction:column;padding-right:48px}.date-range-fields{flex-direction:column;gap:8px}.actions,.actions-right,.bulk-actions{align-items:stretch;flex-direction:column;width:100%}.actions button,.actions-right button,.bulk-actions button{width:100%;min-height:44px}.attachment-list li{align-items:flex-start;flex-direction:column;gap:6px}.app-footer{align-items:flex-start;flex-direction:column;gap:8px}}@media(max-width:420px){.user-badge .user-sub{display:none}}
