:root{--bg:#f4f6f8;--surface:#ffffff;--surface-2:#f9fafb;--line:#d8dee7;--line-soft:#e7ebf0;--text:#111827;--muted:#667085;--nav:#101827;--nav-2:#172033;--blue:#2563eb;--teal:#0f9f9a;--green:#138a43;--red:#c93535;--amber:#b76b00;--purple:#6d5bd0;--shadow:0 16px 42px rgba(16,24,39,0.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}.loadingScreen{min-height:100vh;display:grid;place-items:center;grid-gap:12px;gap:12px;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.appShell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.navRail{background:linear-gradient(180deg,var(--nav),var(--nav-2));color:#d9e1ee;padding:16px 12px;display:flex;flex-direction:column;gap:18px;min-height:100vh}.brand{display:flex;gap:10px;align-items:center;padding:8px}.brandMark{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;color:white;background:linear-gradient(135deg,var(--blue),var(--teal));font-weight:800}.brand span,.brand strong,.planeBox span,.planeBox strong{display:block}.brand strong{font-size:13px}.brand span{color:#9aa8bd;font-size:11px;margin-top:2px}.navRail nav{display:grid;grid-gap:3px;gap:3px}.navRail nav button{width:100%;border:0;border-radius:6px;background:transparent;color:#b8c4d6;display:flex;align-items:center;gap:9px;padding:9px 10px;font-size:13px;cursor:pointer;text-align:left}.navRail nav button.active,.navRail nav button:hover{color:white;background:rgba(255,255,255,.09)}.planeBox{margin-top:auto;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:6px;padding:12px;display:grid;grid-gap:7px;gap:7px;font-size:12px}.planeBox span{color:#9aa8bd;line-height:1.4}.planeBox a{color:#93c5fd;text-decoration:none;font-weight:700}.product{min-width:0;display:grid;grid-template-rows:auto auto 1fr}.commandBar{min-height:62px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:10px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:4}.projectSwitch{min-width:245px;border:1px solid var(--line);background:var(--surface-2);border-radius:6px;display:grid;grid-template-columns:1fr auto;grid-gap:0 8px;gap:0 8px;padding:8px 10px}.projectSwitch span{grid-column:1/2;font-size:11px;color:var(--muted)}.projectSwitch strong{grid-column:1/2;font-size:13px}.projectSwitch svg{grid-column:2/3;grid-row:1/3;align-self:center}.search{height:38px;flex:1 1;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:white;border-radius:6px;padding:0 10px;color:var(--muted)}.authoringStrip input,.quickCreate input,.search input,.sessionComposer input{border:0;outline:0;min-width:0;flex:1 1;background:transparent;color:var(--text);font-size:13px}.commandActions{display:flex;gap:8px}.ghostButton,.iconButton,.primaryButton{height:36px;border:1px solid var(--line);border-radius:6px;background:white;color:#344054;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}.primaryButton{border-color:var(--blue);background:var(--blue);color:white}.ghostButton:hover,.iconButton:hover{background:var(--surface-2)}.fileImport{position:relative;overflow:hidden}.fileImport input{position:absolute;inset:0;opacity:0;cursor:pointer}.toast{margin:12px 16px 0;border:1px solid #b6daf8;background:#eff8ff;color:#175cd3;border-radius:6px;padding:9px 11px;font-size:13px}.contextStrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;gap:10px;padding:12px 16px}.metric{min-height:66px;border:1px solid var(--line);background:white;border-radius:6px;padding:12px;display:grid;grid-template-columns:auto 1fr;grid-gap:4px 8px;gap:4px 8px;align-items:center}.metric svg{color:var(--blue)}.metric span{font-size:12px;color:var(--muted)}.metric strong{grid-column:1/-1;font-size:22px}.workbench{min-height:0;padding:0 16px 16px;display:grid;grid-template-columns:286px minmax(520px,1fr) 360px;grid-gap:12px;gap:12px}.drawer,.gridPanel,.suiteRail{min-height:640px;background:white;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.suiteRail{padding:12px;display:flex;flex-direction:column;gap:10px}.panelHeader{min-height:58px;padding:14px 16px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:12px}.panelHeader.compact{min-height:auto;padding:2px 0 8px;border:0}.drawer h2,.panelHeader h1,.panelHeader h2{margin:0;font-size:18px;line-height:1.2}.panelHeader h2{font-size:15px}.panelHeader span{display:block;margin-top:4px;color:var(--muted);font-size:12px}select{height:34px;border:1px solid var(--line);border-radius:6px;background:white;padding:0 9px;color:var(--text);font-size:12px}.suiteTree{border:1px solid var(--line-soft);border-radius:6px;overflow:hidden}.suiteNode{width:100%;min-height:34px;border:0;border-bottom:1px solid var(--line-soft);background:white;display:grid;grid-template-columns:16px 20px 1fr auto;grid-gap:6px;gap:6px;align-items:center;text-align:left;font-size:12px;cursor:pointer}.suiteNode.active,.suiteNode:hover{background:#eff6ff}.suiteNode small{color:var(--muted)}.suiteType{width:18px;height:18px;display:grid;place-items:center;border-radius:5px;background:#eef2ff;color:var(--blue);font-size:10px;font-weight:800}.suiteType.requirement{background:#e8faf7;color:var(--teal)}.suiteType.query{background:#fff5e5;color:var(--amber)}.quickCreate{margin-top:auto;display:grid;grid-gap:8px;gap:8px;padding-top:10px;border-top:1px solid var(--line-soft)}.authoringStrip input,.quickCreate button,.quickCreate input,.sessionComposer{min-height:34px;border:1px solid var(--line);border-radius:6px;padding:0 9px}.quickCreate button{color:white;background:var(--blue);border-color:var(--blue);display:inline-flex;gap:6px;align-items:center;justify-content:center;font-weight:700}.gridPanel{min-width:0;overflow:hidden}.viewTabs{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.viewTabs button{height:32px;border:0;border-right:1px solid var(--line);padding:0 11px;background:white;color:var(--muted);font-size:12px;font-weight:700}.viewTabs button:last-child{border-right:0}.viewTabs button.active{background:#eff6ff;color:var(--blue)}.caseGrid{overflow:auto}.gridHeader,.gridRow{min-width:860px;display:grid;grid-template-columns:90px minmax(260px,1.4fr) 92px 132px 112px 118px 122px;grid-gap:10px;gap:10px;align-items:center}.gridHeader{min-height:38px;padding:0 14px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.gridRow{width:100%;min-height:52px;border:0;border-bottom:1px solid var(--line-soft);background:white;padding:0 14px;text-align:left;font-size:12px;color:#344054;cursor:pointer}.gridRow.selected,.gridRow:hover{background:#f8fbff}.gridRow strong{color:var(--text);font-size:13px}.ref{font-weight:800;color:var(--blue)}.priority,.status{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.priority.critical,.priority.high{color:#9f1239;background:#fff1f2}.priority.medium{color:#92400e;background:#fffbeb}.priority.low{color:#166534;background:#f0fdf4}.status{display:inline-flex;align-items:center;gap:4px}.status.passed{color:var(--green);background:#ecfdf3}.status.failed{color:var(--red);background:#fff1f1}.status.blocked{color:var(--amber);background:#fff7ed}.status.not-run,.status.skipped{color:#475467;background:#f2f4f7}.status.active{color:var(--blue);background:#eff6ff}.authoringStrip{display:grid;grid-template-columns:auto minmax(180px,1fr) 110px minmax(160px,1fr) minmax(180px,1fr) 70px;grid-gap:8px;gap:8px;align-items:center;border-top:1px solid var(--line);padding:12px 14px}.authoringStrip button{height:34px;color:white;background:var(--blue);border:1px solid var(--blue);border-radius:6px;font-weight:800}.drawer{min-width:0;padding:0 14px 14px;overflow:auto}.drawer.empty{display:grid;place-items:center;color:var(--muted)}.drawerHead{padding:16px 0;border-bottom:1px solid var(--line-soft)}.drawerHead>span{color:var(--blue);font-weight:800;font-size:12px}.drawerMeta{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.drawerMeta span:not(.priority){border-radius:999px;background:#f2f4f7;color:#475467;padding:3px 8px;font-size:11px;font-weight:700}.drawer section{padding:14px 0;border-bottom:1px solid var(--line-soft)}.drawer h3{margin:0 0 10px;font-size:12px;color:var(--muted);text-transform:uppercase}.stepCard{display:grid;grid-template-columns:24px 1fr;grid-gap:8px;gap:8px;margin-bottom:8px;font-size:12px}.stepCard>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:var(--blue);background:#eff6ff;font-weight:800}.chartGrid p,.historyRow small,.libraryList p,.linkedItem,.muted,.runCard p,.sessionGrid p,.stepCard p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.linkedItem{min-height:30px;border:1px solid var(--line-soft);border-radius:6px;padding:7px 8px;gap:7px;color:var(--text);text-decoration:none}.historyRow,.linkedItem{display:flex;align-items:center}.historyRow{justify-content:space-between;gap:8px;border-bottom:1px solid var(--line-soft);padding:8px 0}.chartGrid,.libraryList,.runnerList,.sessionGrid{padding:14px;display:grid;grid-gap:12px;gap:12px}.chartGrid article,.libraryList article,.runCard,.sessionGrid article{border:1px solid var(--line);border-radius:6px;background:white;padding:14px}.runCard{display:grid;grid-gap:12px;gap:12px}.chartGrid h2,.libraryList h2,.runCard h2,.sessionGrid h2{margin:4px 0 0;font-size:15px}.runnerActions{display:flex;flex-wrap:wrap;gap:7px}.defectButton,.statusButton{min-height:32px;border:1px solid var(--line);border-radius:6px;background:white;display:inline-flex;gap:6px;align-items:center;padding:0 9px;font-size:12px;font-weight:800;cursor:pointer}.statusButton.active.passed{border-color:#bbf7d0;background:#ecfdf3;color:var(--green)}.defectButton:not(:disabled),.statusButton.active.failed{border-color:#fecaca;background:#fff1f1;color:var(--red)}.statusButton.active.blocked{border-color:#fed7aa;background:#fff7ed;color:var(--amber)}.defectButton:disabled{opacity:.45}.stepRunner{display:grid;grid-gap:8px;gap:8px}.stepRunner div{display:grid;grid-template-columns:84px 1fr;grid-gap:4px 10px;gap:4px 10px;align-items:start;padding:8px;border:1px solid var(--line-soft);border-radius:6px}.stepRunner small{grid-column:2/3;color:var(--muted)}.sessionComposer{margin:14px 14px 0;display:flex;align-items:center;gap:8px;background:var(--surface-2)}.sessionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sessionGrid article div{margin-top:12px;display:grid;grid-template-columns:auto 1fr auto 1fr;grid-gap:6px;gap:6px;color:var(--muted);font-size:12px}.sessionGrid strong{color:var(--text);font-size:18px}.analyticsPanel{min-height:640px}.chartGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.stackedBar{height:12px;margin-top:12px;display:flex;overflow:hidden;border-radius:999px;background:#eef2f7}.stackedBar span.pass{background:var(--green)}.stackedBar span.fail{background:var(--red)}.stackedBar span.block{background:var(--amber)}.stackedBar span.idle{background:#98a2b3}.trendLine{height:170px;margin:14px;border:1px solid var(--line);border-radius:6px;padding:18px;display:flex;align-items:flex-end;gap:10px;background:linear-gradient(180deg,#fff,#f8fbff)}.trendLine span{width:42px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--blue),var(--teal))}@media (max-width:1220px){.appShell{grid-template-columns:72px 1fr}.brand div:not(.brandMark),.navRail nav span,.planeBox a,.planeBox span,.planeBox strong{display:none}.workbench{grid-template-columns:260px minmax(0,1fr)}.drawer{grid-column:1/-1;min-height:auto}}@media (max-width:820px){.appShell{display:block}.navRail{min-height:auto;flex-direction:row;overflow-x:auto}.navRail nav{display:flex}.commandActions,.commandBar{flex-wrap:wrap}.projectSwitch,.search{min-width:100%}.chartGrid,.contextStrip,.sessionGrid,.workbench{grid-template-columns:1fr}.drawer,.gridPanel,.suiteRail{min-height:auto}.authoringStrip{grid-template-columns:1fr}}