:root{--font-sans:"Inter", "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Segoe UI", sans-serif;--bg:#f5f6f8;--surface:#fff;--surface-2:#f8f9fb;--line:#e5e7eb;--line-strong:#d4d8df;--text:#181b21;--muted:#69707d;--topbar-h:52px;--nav:#17191e;--nav-2:#23262d;--accent:#5d55e7;--accent-soft:#eeedff;--green:#16825d;--green-soft:#e8f6f0;--red:#c93b45;--red-soft:#fff0f1;--amber:#a3630b;--amber-soft:#fff6df;--blue:#2871c7;--blue-soft:#edf5ff;--shadow:0 12px 32px #17191e1f;--shadow-sm:0 1px 2px #17191e0a}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);letter-spacing:-.012em;font-feature-settings:"ss01" 1, "cv11" 1;word-break:keep-all;overflow-wrap:break-word;margin:0;font-size:13px;line-height:1.5}button,input,select,textarea{font:inherit;letter-spacing:inherit}button{cursor:pointer}.app-shell{grid-template-columns:232px 1fr;min-height:100vh;transition:grid-template-columns .18s;display:grid}.sidebar{background:var(--nav);color:#fff;flex-direction:column;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:5px 8px 20px;display:flex}.brand-text{flex:1;min-width:0}.brand-mark{background:var(--accent);border-radius:9px;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.sidebar-toggle{color:#7e8491;cursor:pointer;background:0 0;border:0;border-radius:7px;flex-shrink:0;place-items:center;width:26px;height:26px;padding:0;font-size:13px;line-height:1;display:grid}.sidebar-toggle:hover{color:#fff;background:var(--nav-2)}@media (min-width:981px){html[data-sidebar=collapsed] .app-shell{grid-template-columns:60px 1fr}html[data-sidebar=collapsed] .sidebar{padding:18px 8px}html[data-sidebar=collapsed] .brand{flex-direction:column;gap:6px;padding:5px 0 16px}html[data-sidebar=collapsed] .brand-text{display:none}html[data-sidebar=collapsed] .nav a{justify-content:center;padding:10px 0}html[data-sidebar=collapsed] .nav a>span:first-child{width:auto;font-size:16px}html[data-sidebar=collapsed] .nav-label,html[data-sidebar=collapsed] .workspace-label{display:none}html[data-sidebar=collapsed] .workspace-current{justify-content:center;padding:7px 0}html[data-sidebar=collapsed] .workspace-current>span:not(.avatar){display:none}}.brand strong,.brand span{display:block}.brand strong{letter-spacing:-.025em;font-size:15px;font-weight:700}.brand span{color:#9297a4;margin-top:1px;font-size:12px}.nav{gap:3px;display:grid}.sidebar-foot{border-top:1px solid #2a2d33;margin-top:auto;padding-top:18px}.workspace-label{color:#686e7b;letter-spacing:.08em;padding:0 8px 7px;font-size:11px;font-weight:700}.workspace-current{color:#d7d9df;align-items:center;gap:8px;width:100%;padding:7px 8px;display:flex}.avatar,.user-avatar{border-radius:50%;place-items:center;font-weight:700;display:grid}.avatar{color:#191b20;background:#dbd9ff;width:26px;height:26px}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex}.top-actions{align-items:center;gap:14px;display:flex}.icon-button{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);background:var(--surface);border-radius:7px;place-items:center;text-decoration:none;display:grid}.user-avatar{color:#fff;background:#343844;border:none;width:30px;height:30px;font-size:12px}.account-menu{display:inline-flex;position:relative}.account-menu .user-avatar:hover{background:#474c59}.account-pop{z-index:30;border:1px solid var(--line);min-width:208px;box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.account-pop-who{border-bottom:1px solid var(--line);padding:8px 10px 10px}.account-pop-who strong{font-size:12px;font-weight:600;display:block}.account-pop-who span{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px;display:block}.account-pop-logout{color:#3e434d;text-align:left;background:#fff;border:0;border-radius:7px;width:100%;min-height:32px;margin-top:6px;padding:0 10px;font-size:12px;font-weight:600}.account-pop-logout:hover{color:var(--red);background:var(--red-soft)}.linear-status{align-items:center;gap:6px;display:inline-flex}.linear-disconnect{border:1px solid var(--line-strong);height:24px;color:var(--muted);background:#fff;border-radius:6px;padding:0 8px;font-size:11px;font-weight:600}.linear-disconnect:hover{color:var(--red);background:#fff5f5;border-color:#f0c9c9}.view{max-width:1440px;margin:0 auto;padding:24px 28px 48px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head h2{letter-spacing:-.03em;margin:0 0 4px;font-size:18px;font-weight:700;line-height:1.3}.page-head p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.actions{flex:none;align-items:center;gap:7px;display:flex}.actions>a,.actions>button,.actions form>button{white-space:nowrap;flex:none}.primary,.secondary,.danger-button,.ghost{letter-spacing:-.015em;border-radius:7px;min-height:32px;padding:0 12px;font-weight:600}.primary{border:1px solid var(--accent);color:#fff;background:var(--accent)}.primary:hover{background:#4f47da}.secondary{border:1px solid var(--line-strong);color:#3e434d;background:#fff}.secondary:hover{background:var(--surface-2)}.ghost{color:var(--accent);background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.45}.btn-spinner{vertical-align:-1px;border:2px solid;border-top-color:#0000;border-radius:50%;width:11px;height:11px;margin-right:6px;animation:.7s linear infinite btn-spin;display:inline-block}button[aria-busy=true]:disabled{cursor:progress;opacity:.85}@keyframes btn-spin{to{transform:rotate(360deg)}}.stat{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:16px}.stat .label{color:var(--muted);justify-content:space-between;font-size:11px;font-weight:600;display:flex}.stat .value{letter-spacing:-.035em;margin-top:7px;font-size:21px;font-weight:700;line-height:1.2}.stat .sub{color:var(--muted);margin-top:2px;font-size:12px}.filter-stat.active{background:#fbfaff;border-color:#8b84ee;box-shadow:0 0 0 2px #5d55e71a}.filter-stat .label em{color:#a0a5ae;font-size:10px;font-style:normal;font-weight:600}.filter-stat.active .label em{color:var(--accent)}.review-banner{color:inherit;background:linear-gradient(100deg,#f8f7ff,#fff 70%);border:1px solid #dcd9ff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;text-decoration:none;transition:border-color .12s,box-shadow .12s;display:flex}.review-banner:hover{box-shadow:var(--shadow-sm);border-color:#aba6ef}.review-banner.active{background:linear-gradient(100deg,#efecff,#f8f7ff 70%);border-color:#8f88e8}.review-banner-go{color:var(--accent);flex:none;font-size:11px;font-weight:700}.review-banner-icon{width:26px;height:26px;color:var(--accent);background:var(--accent-soft);border-radius:8px;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.review-banner>div:nth-child(2){flex:auto;min-width:200px}.review-banner strong{font-size:12px;font-weight:700;display:block}.review-banner p{color:var(--muted);margin:2px 0 0;font-size:11px}.review-banner-links{flex-wrap:wrap;gap:6px;display:flex}.review-banner-links button{min-height:28px;padding:0 10px;font-size:11px}.review-banner-links b{color:var(--accent);margin-left:5px}.review-banner-links .secondary.active{color:var(--accent);background:var(--accent-soft);border-color:#aba6ef}.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.card{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.card+.card{margin-top:16px}.grid-2>.card+.card,.home-grid>.card+.card{margin-top:0}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 16px;display:flex}.card-head h3{letter-spacing:-.02em;margin:0;font-size:13px;font-weight:600}.card-head p{color:var(--muted);margin:2px 0 0;font-size:12px}.card-body{padding:16px}.bar{background:#edf0f4;border-radius:9px;grid-column:1/-1;height:6px;overflow:hidden}.bar i{border-radius:inherit;background:var(--accent);height:100%;display:block}.bar.green i{background:var(--green)}.bar.red i{background:var(--red)}.timeline i.done{background:var(--green)}.timeline i.active{box-shadow:0 0 0 4px var(--accent-soft);background:var(--accent)}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}th{border-bottom:1px solid var(--line-strong);color:#777e89;background:var(--surface-2);letter-spacing:-.005em;text-align:left;white-space:nowrap;height:36px;padding:0 12px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;min-height:40px;padding:10px 12px;font-size:12px;line-height:1.45}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfc}.cell-title{letter-spacing:-.015em;font-weight:600}.cell-sub{color:var(--muted);margin-top:2px;font-size:11px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.nowrap{white-space:nowrap}.checkbox{width:15px;height:15px;accent-color:var(--accent)}.badge{letter-spacing:-.005em;white-space:nowrap;border-radius:999px;align-items:center;min-height:21px;padding:0 7px;font-size:11px;font-weight:600;display:inline-flex}.badge.neutral{color:#5a616e;background:#eef0f3}.badge.purple{color:#5149c7;background:var(--accent-soft)}.badge.success{color:var(--green);background:var(--green-soft)}.badge.danger{color:var(--red);background:var(--red-soft)}.badge.warning{color:var(--amber);background:var(--amber-soft)}.badge.blue{color:var(--blue);background:var(--blue-soft)}.badge.prio{font-variant-numeric:tabular-nums;letter-spacing:.02em}.badge.prod{color:#993a48;background:#fff0f2}.badge.dev{color:#59616e;background:#edf0f3}.product-chips{flex-wrap:wrap;gap:4px;display:flex}.product-chip{border:1px solid var(--line);color:#4f5662;background:#fff;border-radius:5px;align-items:center;min-height:22px;padding:0 7px;font-size:11px;font-weight:700;display:inline-flex}.product-chip.member{color:#554dc8;background:#f3f1ff;border-color:#d8d4ff}.product-chip.crm{color:#2569af;background:#eff7ff;border-color:#c9e0fa}.product-chip.admin{color:#896017;background:#fff8e9;border-color:#efd9b1}.product-chip.trainer{color:#247457;background:#effaf5;border-color:#c9e7db}.product-chip.bcapp{color:#a8344b;background:#fff1f4;border-color:#f5cfd6}.system-chip{color:#69707d;background:#f0f2f5;border-radius:5px;align-items:center;min-height:20px;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.related-chips{min-width:82px}.check-row{flex-wrap:wrap;gap:6px;display:flex}.dialog .check-row label{border:1px solid var(--line);border-radius:6px;flex-direction:row;grid:none;align-items:center;gap:5px;margin:0;padding:7px 9px;display:flex}.dialog .check-row input{width:auto}.home-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;gap:16px;margin-bottom:16px;display:grid}.attention-list{display:grid}.attention-list button{border:0;border-bottom:1px solid var(--line);min-height:58px;color:var(--text);text-align:left;background:#fff;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:8px 14px;display:grid}.attention-list button:last-child{border-bottom:0}.attention-list button:hover{background:var(--surface-2)}.attention-list button>span:nth-child(2),.attention-list strong,.attention-list small{display:block}.attention-list strong{font-size:12px}.attention-list small{color:var(--muted);margin-top:3px;font-size:11px}.attention-list b{color:var(--accent);font-size:11px}.attention-icon{border-radius:7px;place-items:center;width:27px;height:27px;font-size:12px;font-weight:700;display:grid}.attention-icon.warning{color:var(--amber);background:var(--amber-soft)}.attention-icon.purple{color:var(--accent);background:var(--accent-soft)}.attention-icon.neutral{color:#69707d;background:#eef0f3}.calendar-day.today{box-shadow:inset 0 3px 0 var(--accent);background:#fbfaff}.calendar-day.today header strong{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.calendar-event.dev{color:#565d68;background:#f5f6f8;border-color:#dfe2e7}.calendar-event.prod{color:#8b3e49;background:#fff5f6;border-color:#f1d9dd}.project-back{color:var(--muted);background:0 0;border:0;margin:0 0 16px;padding:0;font-size:12px;font-weight:600}.project-back:hover{color:var(--accent)}.project-detail-hero{padding:0 0 16px}.project-title-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.project-title-row h2{letter-spacing:-.035em;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 5px;font-size:21px;font-weight:700;line-height:1.25;display:flex}.project-title-row p{color:var(--muted);margin:0;font-size:12px}.project-table tbody tr{cursor:pointer}.project-table tbody tr:hover{background:#f8f8ff}.project-table td:first-child{min-width:260px}.project-tabs{border-bottom:1px solid var(--line);gap:22px;margin:0 0 18px;display:flex}.project-tabs a em{color:#7d838e;background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-width:20px;height:18px;margin-left:6px;padding:0 6px;font-size:10px;font-style:normal;font-weight:600;display:grid}.project-tabs a.active em{color:var(--accent);background:var(--accent-soft)}.source-fold,.setup-fold{margin-bottom:14px}.source-fold summary,.setup-fold summary{color:var(--muted);cursor:pointer;align-items:center;gap:4px;font-size:11px;list-style:none;display:inline-flex}.source-fold summary::-webkit-details-marker{display:none}.setup-fold summary::-webkit-details-marker{display:none}.source-fold summary:after,.setup-fold summary:after{content:"⌄";margin-left:2px}.source-fold[open] summary:after,.setup-fold[open] summary:after{content:"⌃"}.source-fold summary:hover,.setup-fold summary:hover{color:var(--text)}.setup-fold-hint{color:var(--muted);margin-left:6px;font-size:10px}.setup-fold summary:hover .setup-fold-hint{color:var(--muted)}.setup-fold-body{border:1px solid var(--line);background:#fff;border-radius:9px;margin-top:10px;padding:10px 12px}.setup-fold.run-setup{margin:-4px 0 14px}.setup-table{border-collapse:collapse;width:100%;font-size:12px}.setup-table th{color:var(--muted);text-align:left;padding:0 8px 6px;font-size:10px;font-weight:600}.setup-table td{border-top:1px solid var(--line);vertical-align:top;word-break:keep-all;overflow-wrap:break-word;padding:6px 8px}.setup-table tr:first-child td{border-top:1px solid var(--line)}.setup-table th:first-child{width:220px}.setup-table th.col-narrow{width:120px}.setup-table .row-action{text-align:right;width:28px}.setup-del{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;padding:0 4px;font-size:13px;line-height:1}.setup-table tr:hover .setup-del,.setup-del:focus-visible{opacity:1}.setup-del:hover{color:var(--red)}.setup-table+.form-hint{border-top:1px dashed var(--line);margin:12px 0 0;padding-top:12px}.setup-add-form{border-top:1px dashed var(--line);flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;display:flex}.setup-add-form input{border:1px solid var(--line);border-radius:6px;flex:150px;min-width:0;padding:5px 8px;font-size:12px}.setup-add-form input[name=item],.setup-add-form input[name=reason]{flex:2 200px}.setup-add-form button{flex:none}.source-fold summary b{color:var(--amber);font-weight:600}.source-fold-body{border:1px solid var(--line);background:#fff;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;display:flex}.source-fold.empty-src{border:1px dashed var(--line-strong);color:var(--muted);border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:11px;display:flex}.source-strip-list{flex-wrap:wrap;flex:auto;gap:5px;min-width:0;display:flex}.src-pill{color:#4a5160;background:#f2f4f7;border-radius:6px;align-items:center;gap:5px;max-width:260px;padding:3px 7px;font-size:11px;display:inline-flex}.src-pill b{color:#7d8492;letter-spacing:.03em;font-size:10px;font-weight:700}.src-pill i{color:var(--green);font-size:10px;font-style:normal;font-weight:700}.src-pill.pending{color:#8d6b32;background:#fdf6e9}.src-pill.pending i{color:var(--amber)}.readiness-card.success{background:linear-gradient(100deg,#f1faf6 0%,#fff 72%);border-color:#cfe7dc}.readiness-card.success>div>span{color:var(--green)}.readiness-card.neutral{border-color:var(--line);background:#fff}.readiness-card.neutral>div>span{color:var(--muted)}.scenario-flow-title .ghost{opacity:0;min-height:24px;padding:0 4px;font-size:10px}.scenario-flow-item:hover .scenario-flow-title .ghost{opacity:1}.scenario-flow-meta .product-chips{gap:3px}.scenario-flow-meta .product-chip{min-height:19px;padding:0 5px;font-size:10px}.compact-run-list{display:grid}.compact-run-item{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#fff;grid-template-columns:8px 1fr auto;align-items:center;gap:9px;padding:12px 14px;display:grid}.compact-run-item:hover{background:var(--surface-2)}.compact-run-item strong,.compact-run-item small{display:block}.compact-run-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.compact-run-item small{color:var(--muted);margin-top:2px;font-size:10px}.compact-run-item>b{color:#626975;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.run-status-dot{background:#afb4bd;border-radius:50%;width:7px;height:7px}.run-status-dot.completed{background:var(--green)}.run-status-dot.active{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.segmented button.active{color:var(--text);background:#fff;box-shadow:0 1px 3px #191c231a}.run-tabs{border-bottom:1px solid var(--line-strong);gap:20px;margin:16px 0;display:flex}.run-tabs a span{color:#858b96;margin-left:6px;font-size:10px;font-weight:600}.run-detail-page{max-width:1240px;margin:0 auto}.run-back{color:#656b76;background:0 0;border:0;margin:0 0 16px;padding:0;font-size:12px;font-weight:700}.run-back:hover{color:var(--accent)}.run-head{padding:0 0 4px}.run-head-top{justify-content:space-between;align-items:center;gap:18px;display:flex}.run-head h2{letter-spacing:-.025em;margin:0;font-size:18px}.run-title-btn{color:inherit;font:inherit;letter-spacing:inherit;text-align:left;background:0 0;border:0;border-radius:7px;margin:-2px -6px;padding:2px 6px}.run-title-btn:hover{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.run-title-edit{flex:auto;min-width:0;margin-right:14px}.run-title-edit input{border:1px solid var(--accent);background:var(--surface);width:100%;min-width:0;box-shadow:0 0 0 3px var(--accent-soft);color:var(--text);font:inherit;letter-spacing:-.025em;border-radius:7px;outline:none;margin:-2px -6px;padding:2px 6px;font-size:18px;font-weight:700}.run-hero-badges{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.run-meta-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:7px;font-size:11px;display:flex}.run-meta-line>span{white-space:nowrap}.run-build-fold summary{color:#5b6270;cursor:pointer;list-style:none}.run-build-fold summary::-webkit-details-marker{display:none}.run-build-fold summary:after{content:" ⌄"}.run-build-fold[open] summary:after{content:" ⌃"}.run-build-fold>div{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:8px;padding:8px 10px;display:flex}.run-build-fold span{align-items:center;gap:6px;display:flex}.run-build-fold b{color:#4b515c;font-size:11px}.run-build-fold code{color:#515865;background:#f2f3f5;border-radius:5px;padding:3px 6px;font-size:11px}.gate-strip{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;display:flex}.gate-strip-label{color:var(--muted);margin-right:2px;font-size:11px;font-weight:600}.gate-strip-label b{color:var(--amber)}.gate-strip-label b.ok{color:var(--green)}.gate-chip{border:1px solid var(--line);color:#5b6270;cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;min-height:27px;padding:0 9px;font-size:11px;display:inline-flex}.gate-chip .checkbox{width:12px;height:12px;margin:0}.gate-chip.checked{color:#2f6a4f;background:#f4fbf7;border-color:#b9ddcd}.gate-chip.locked{cursor:default;opacity:.62}.run-toolbar{border-bottom:1px solid var(--line);background:#fcfcfd;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 12px;display:flex}.release-gate{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:18px 20px;display:flex}.release-gate.blocked{background:linear-gradient(100deg,#fff6f6 0%,#fff 70%);border-color:#f0c9cd}.release-gate.clear{background:linear-gradient(100deg,#f2faf6 0%,#fff 70%);border-color:#cfe7dc}.gate-verdict>span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.gate-verdict strong{letter-spacing:-.03em;margin:4px 0 3px;font-size:18px;font-weight:700;display:block}.release-gate.blocked .gate-verdict strong{color:var(--red)}.release-gate.clear .gate-verdict strong{color:var(--green)}.gate-verdict p{max-width:520px;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.gate-severity{gap:8px;display:flex}.gate-severity>div{border:1px solid var(--line);text-align:center;background:#fff;border-radius:8px;min-width:74px;padding:9px 11px}.gate-severity span{color:var(--muted);font-size:10px;font-weight:600;display:block}.gate-severity b{letter-spacing:-.03em;margin-top:3px;font-size:18px;font-weight:700;display:block}.gate-severity>div.has{border-color:#eec9cd}.gate-severity>div.has b{color:var(--red)}.result-table td{vertical-align:top}.drawer{z-index:30;position:fixed;inset:0}.drawer-backdrop{opacity:0;background:#181b2157;transition:opacity .18s;position:absolute;inset:0}.drawer.open .drawer-backdrop{opacity:1}.drawer-panel{background:#fff;flex-direction:column;width:min(560px,100vw);height:100%;transition:transform .2s;display:flex;position:absolute;top:0;right:0;transform:translate(100%);box-shadow:-12px 0 34px #17191e29}.drawer.open .drawer-panel{transform:translate(0)}.drawer-panel>div{flex-direction:column;height:100%;min-height:0;display:flex}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 20px 14px;display:flex}.drawer-head h2{letter-spacing:-.025em;margin:3px 0 0;font-size:15px;font-weight:700}.drawer-head .detail-badges{margin:10px 0 0}.drawer-body{flex:1;gap:12px;padding:16px 20px 20px;display:grid;overflow-y:auto}.drawer-foot{border-top:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;display:flex}.drawer-foot>span{color:var(--muted);font-size:11px}.row-action{text-align:right;white-space:nowrap}.row-action .row-confirm{min-height:26px;padding:0 11px;font-size:11px}.tc-list-table .row-action .row-confirm{opacity:0;transition:opacity .12s}.tc-list-table tbody tr:hover .row-action .row-confirm,.tc-list-table .row-action:focus-within .row-confirm{opacity:1}.icon-chip{cursor:pointer;border:1px solid var(--line);color:#4c525d;background:#fff;border-radius:6px;align-items:center;gap:5px;min-height:29px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.icon-chip svg{display:block}.icon-chip.active{color:var(--accent);background:var(--accent-soft);border-color:#aba6ef}.icon-chip em{color:#fff;background:var(--accent);text-align:center;border-radius:999px;min-width:15px;padding:0 4px;font-size:10px;font-style:normal}.filter-pill{min-height:29px;color:var(--accent);background:var(--accent-soft);cursor:pointer;border:1px solid #aba6ef;border-radius:6px;align-items:center;gap:5px;padding:0 8px 0 6px;font-size:11px;font-weight:600;display:inline-flex}.filter-pill-axis{color:#7b78ab;font-weight:500}.filter-pill-x{color:#7b78ab;font-size:13px;line-height:1}.filter-pill:hover .filter-pill-x{color:var(--accent)}a.filter-pill{text-decoration:none}.filter-panel{z-index:200;border:1px solid var(--line-strong);background:#fff;border-radius:8px;gap:22px;padding:12px 14px;display:flex;position:fixed;box-shadow:0 10px 24px #14182024}.filter-panel-group{min-width:116px;max-height:min(52vh,380px);overflow-y:auto}.filter-panel-title{color:var(--muted);letter-spacing:.02em;margin-bottom:6px;font-size:10px;font-weight:700}.filter-panel-item{color:var(--text);cursor:pointer;border-radius:5px;align-items:center;gap:7px;padding:5px 6px;font-size:12px;display:flex}.filter-panel-item:hover{background:#f5f5fb}.filter-panel-item.on{color:var(--accent);font-weight:600}.filter-panel-item input{width:13px;height:13px;accent-color:var(--accent);margin:0}.filter-panel-item span{flex:1}.filter-panel-item em{color:var(--muted);font-size:10px;font-style:normal}a.target-link{color:inherit;text-decoration:none;display:block}a.target-link:hover .cell-title,a.target-link:focus-visible .cell-title{color:var(--accent);text-decoration:underline}.pick-chip{font-weight:600}.pick-chip .pick-axis{color:var(--muted);font-weight:500}.pick-chip.active .pick-axis{color:#7b78ab}.pick-chip .pick-count{min-width:0;color:var(--muted);font-variant-numeric:tabular-nums;background:0 0;padding:0;font-size:10px}.pick-chip.active .pick-count{color:#7b78ab}.pick-chip .pick-caret{color:#a8aeb8;margin-left:1px}.pick-chip .pick-picked{align-items:center;gap:4px;display:inline-flex}.pick-item{text-align:left;background:0 0;border:0;width:100%;font-family:inherit}.pick-item:disabled{opacity:.45;cursor:default}.pick-check{background:50%/10px 10px no-repeat;width:12px;height:12px}.pick-check.on{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M1.5 5.2L3.8 7.5 8.5 2.5' stroke='%23453ecb' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.pending-impl-block{background:#fffdf6;border:1px solid #f0e2b8;border-radius:10px;margin-top:14px;padding:12px 16px}.pending-impl-block>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;list-style:none;display:flex}.pending-impl-block>summary::-webkit-details-marker{display:none}.pending-impl-block>summary:focus-visible{outline:2px solid var(--focus,#8a6300);outline-offset:3px;border-radius:4px}.pending-impl-chevron{border-bottom:1.5px solid #b08a2e;border-right:1.5px solid #b08a2e;flex:none;width:8px;height:8px;transition:transform .15s;transform:rotate(45deg)translate(-2px,-2px)}.pending-impl-block[open]>summary .pending-impl-chevron{transform:rotate(-135deg)translate(-2px,-2px)}.pending-impl-block>summary h4{color:#8a6300;margin:0;font-size:12px}.pending-impl-block[open]>summary h4{margin-bottom:3px}.pending-impl-block p{color:var(--muted);margin:0 0 9px;font-size:11px}.pending-impl-block ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pending-impl-block li{gap:3px;font-size:12px;display:grid}.pending-impl-line{display:block}.pending-impl-line>a{color:inherit;align-items:baseline;gap:8px;text-decoration:none;display:inline-flex}.pending-impl-line>a:hover b,.pending-impl-line>a:focus-visible b{text-decoration:underline}.pending-impl-line .mono{color:var(--muted);flex:none;font-size:11px}.pending-impl-line b{font-weight:600}.pending-impl-line>span{color:var(--muted);margin:2px 0 0 8px;font-size:11px;display:block}.pending-impl-line>span:empty{display:none}.pending-action-view{color:var(--text);white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere;cursor:text;border:1px solid #0000;border-radius:6px;padding:2px 6px;font-size:11px;line-height:1.55}.pending-action-view:hover{background:#fffaec;border-color:#ecdcae}.pending-action-view:focus-visible{background:#fff;border-color:#d9bf72;outline:none}.pending-action-view.blank{color:#b08a2e;opacity:.6}.pending-action-view a{color:#8a6300;text-decoration:underline}.pending-action-view a:hover{color:#6b4c00}.pending-action{align-items:flex-start;gap:6px;margin:0;display:flex}.pending-action textarea{width:100%;min-width:0;color:var(--text);font:inherit;resize:none;background:#fff;border:1px solid #d9bf72;border-radius:6px;padding:2px 6px;font-size:11px;line-height:1.55;overflow:hidden}.pending-action textarea::placeholder{color:#b08a2e;opacity:.6}.pending-action textarea:focus{outline:none}.pending-action button{color:#8a6300;cursor:pointer;background:#fff;border:1px solid #d9bf72;border-radius:6px;flex:none;padding:2px 8px;font-size:11px;font-weight:600}.pending-action button:hover{background:#fffaec}.pending-impl-block li .pending-action{padding-left:2px}.pending-impl-block li .pending-action-view{margin-left:2px}.status-cell{position:relative}.tc-list-table .status-cell{min-width:234px}.status-cell .row-actions-over{z-index:3;white-space:nowrap;background:#f8f8ff;border-radius:7px;align-items:center;gap:4px;padding:0 4px;display:none;position:absolute;top:0;bottom:0;right:10px}.status-cell .row-actions-over:before{content:"";pointer-events:none;background:linear-gradient(90deg,#f8f8ff00,#f8f8ff);width:26px;position:absolute;top:0;bottom:0;right:100%}.tc-list-table tbody tr:hover .status-cell .row-actions-over,.status-cell:focus-within .row-actions-over{display:inline-flex}.status-cell .row-actions-over .row-soft,.status-cell .row-actions-over .row-menu-trigger{opacity:1}.linked-row:focus-within{background:#f8f8ff}.pending-tag{vertical-align:middle;margin-left:6px}.confirm-form{align-items:center;gap:8px;display:inline-flex}.pending-toggle{color:#5a616e;white-space:nowrap;align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.pending-toggle input[type=checkbox]{width:13px;height:13px;accent-color:var(--amber);margin:0}.pending-toggle input[name=pendingReason]{border:1px solid var(--line);border-radius:5px;width:170px;height:26px;padding:0 7px;font-size:11px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.toggle-chip{border:1px solid var(--line);color:#4c525d;background:#fff;border-radius:6px;align-items:center;gap:5px;min-height:29px;padding:0 10px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.toggle-chip em{color:#8f959f;font-size:10px;font-style:normal}.toggle-chip.active{color:var(--accent);background:var(--accent-soft);border-color:#aba6ef}.toggle-chip.active em{color:var(--accent)}.review-table td.select-cell{vertical-align:middle}.review-table tbody tr{cursor:default}.review-table tbody tr:hover{background:#fafbfc}.run-hint{color:var(--muted);font-size:11px}.meta-warn{color:var(--amber);font-weight:600}.run-hint.done{color:var(--green);font-weight:600}.finish-summary{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px;display:grid}.finish-stat{border:1px solid var(--line);background:var(--surface-2);text-align:center;border-radius:8px;padding:10px}.finish-stat span{color:var(--muted);font-size:11px;display:block}.finish-stat b{letter-spacing:-.03em;margin-top:3px;font-size:18px;font-weight:700;display:block}.finish-stat.warn{background:#fffbf1;border-color:#eedcb4}.finish-stat.warn b{color:var(--amber)}.finish-stat.bad{background:#fff7f7;border-color:#eec9cd}.finish-stat.bad b{color:var(--red)}#finish-note b{color:var(--text)}.result-case-key{color:#979da8;margin-bottom:3px;font-size:10px}.run-case-name{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.run-case-name b{font-size:12px;font-weight:600}.run-case-name>.mono{color:#979da8;white-space:nowrap;font-size:10px}.run-case-name .product-chip{min-height:18px;padding:0 5px;font-size:10px}.run-detail-page .run-tabs{margin-top:16px}.run-detail-page .card{box-shadow:var(--shadow-sm)}.run-detail-page .card-head{min-height:48px;padding:12px 16px}.known-defects-banner{color:#65470e;background:#fffaf0;border:1px solid #f0d7aa;border-radius:10px;grid-template-columns:32px 1fr auto;align-items:center;gap:11px;margin:14px 0 2px;padding:12px 14px;display:grid}.known-defects-icon{color:#8a5704;background:#ffedc6;border-radius:8px;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.known-defects-banner strong{font-size:12px;display:block}.known-defects-banner p{color:#8a7042;margin:3px 0 0;font-size:11px}.banner-filter{color:#65470e;white-space:nowrap;background:#fff;border:1px solid #e3c793;border-radius:8px;padding:6px 11px;font-size:12px;font-weight:600;text-decoration:none}.banner-filter:hover{background:#fff4de}.flag-chip{color:#65470e;white-space:nowrap;background:#fffaf0;border:1px solid #e3c793;border-radius:8px;align-items:center;min-height:38px;padding:0 11px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.flag-chip:hover{background:#fff4de}.known-fail-row{background:#fffdf8}.known-fail-row:hover{background:#fffaf0}.stale-rev{color:var(--amber);background:var(--amber-soft);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 7px;font-size:10px;font-weight:600;text-decoration:none;display:inline-flex}.stale-rev:hover{text-decoration:underline}.case-title-link{color:inherit;text-decoration:none}.case-title-link:hover{text-decoration:underline}.out-of-scope-row{opacity:.55}.out-of-scope-row:hover{opacity:.8}.run-scope-toggle{border:1px solid var(--line);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:3px 8px;font-size:11px}.run-scope-toggle:hover{color:var(--fg);border-color:var(--muted)}.scen-head{align-items:center;display:flex}.scen-head .scen-toggle{flex:1;min-width:0}.known-fail-hint{color:#8a6414;white-space:nowrap;background:#fdf4e3;border-radius:999px;align-items:center;gap:5px;padding:2px 7px;font-size:10px;font-weight:600;text-decoration:none;display:inline-flex}.known-fail-hint a{color:inherit;align-items:center;gap:3px;text-decoration:none;display:inline-flex}.known-fail-hint a:hover{text-decoration:underline}.known-fail-hint i{color:#a68a52;font-style:normal}.known-fail-hint:hover{background:#fbeaca}.known-fail-hint svg{opacity:.6}.run-case-table th:first-child{width:6%}.run-case-table th:nth-child(2){width:20%}.run-case-table th:nth-child(3){width:25%}.run-case-table th:nth-child(4){width:19%}.run-case-table th:nth-child(5){width:13%}.run-case-table th:last-child{width:17%}.result-table th:first-child{width:8%}.result-table th:nth-child(2){width:26%}.result-table th:nth-child(3){width:10%}.result-table th:nth-child(4){width:36%}.result-table th:last-child{width:20%}.product-cell{white-space:nowrap}.run-case-table td:nth-child(-n+4),.result-table td:nth-child(-n+2){vertical-align:top}.run-case-table td{padding-top:8px;padding-bottom:8px}.run-detail-page .table-wrap{overflow:visible}:is(.run-detail-page .card:has(.run-case-table),.run-detail-page .card:has(.result-table)){overflow:clip}.run-case-table,.result-table{border-collapse:separate;border-spacing:0}.scen-row{top:var(--topbar-h);z-index:3;position:sticky}.scen-row td{box-shadow:inset 0 1px 0 var(--line-strong), inset 0 -1px 0 var(--line-strong);background:#e8edf4;border:0;padding:0}.scen-toggle{width:100%;min-height:40px;box-shadow:inset 0 1px 0 var(--line-strong), inset 0 -1px 0 var(--line-strong);color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:9px;padding:0 12px;display:flex}.scen-toggle:hover{background:#dde4ee}.scen-fail{color:var(--red);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.scen-toggle b{letter-spacing:-.02em;font-size:13px;font-weight:700}.scen-toggle .scen-key{color:#8b94a3;font-size:10px}.scen-toggle .spacer{flex:1}.scen-toggle em{color:#4c535f;font-variant-numeric:tabular-nums;font-size:11px;font-style:normal;font-weight:600}.scen-toggle em i{color:#838b98;margin-right:4px;font-style:normal;font-weight:500}.scen-chevron{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:6px solid #79818f;flex:none;width:0;height:0;transition:transform .12s;transform:rotate(90deg)}.scen-group.folded .scen-chevron{transform:none}.scen-group.folded>tr:not(.scen-row){display:none}.scen-group.done .scen-row td{background:#eef1f5}.scen-group.done .scen-toggle b{color:#666d79;font-weight:600}.scen-done-dot{background:var(--green);border-radius:50%;width:7px;height:7px}.callout{border:1px solid var(--line);border-radius:8px;padding:12px 14px}.callout.warning{color:#6e531d;background:#fffbef;border-color:#f0dfb4}.callout.warning strong{color:#6e4803}.filterbar{border-bottom:1px solid var(--line);background:#fcfcfd;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.filterbar input,.filterbar select{border:1px solid var(--line);color:#444a55;background:#fff;border-radius:5px;height:29px;padding:0 8px;font-size:12px}.filterbar input{min-width:220px}.filterbar .spacer{flex:1}.selection-count{color:var(--muted);font-size:12px}.modern-filterbar{flex-wrap:wrap;overflow:visible}.filterable-card{overflow:visible}mark.hit{color:#4a3c05;font-weight:inherit;background:#ffe483;border-radius:3px;padding:0 1px}.search-control{align-items:center;display:inline-flex;position:relative}.search-control .search-icon{color:#9aa0ab;pointer-events:none;display:block;position:absolute;left:9px}.filterbar .search-control input,.run-toolbar .search-control input{min-width:210px;height:30px;color:var(--text);background:#f0f1f4;border:1px solid #0000;border-radius:8px;padding:0 26px 0 27px;font-size:12px;transition:background .12s,border-color .12s,box-shadow .12s}.filterbar .search-control input::placeholder,.run-toolbar .search-control input::placeholder{color:#9aa0ab}.filterbar .search-control input:hover,.run-toolbar .search-control input:hover{background:#e9ebef}.filterbar .search-control input:focus,.run-toolbar .search-control input:focus{background:#fff;border-color:#aba6ef;outline:none;box-shadow:0 0 0 3px #453ecb1a}.search-control button{color:#858b95;background:0 0;border:0;border-radius:5px;place-items:center;width:19px;height:19px;padding:0;font-size:13px;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.search-control button:hover{color:#3f4550;background:#0000000f}.hidden{display:none!important}.quick-chips{background:#eff1f4;border-radius:8px;flex-wrap:wrap;gap:4px;padding:3px;display:inline-flex}.quick-chip{color:#5b6270;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;min-height:24px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.quick-chip:hover{color:var(--text);background:#ffffffb3}.quick-chip em{color:#8f959f;font-variant-numeric:tabular-nums;font-size:10px;font-style:normal}.quick-chip.active{color:#302aa8;box-shadow:var(--shadow-sm);background:#fff}.quick-chip.active em{color:var(--accent)}.asset-view-bar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.asset-view-bar .spacer{flex:1}.asset-view-bar .asset-view-tabs{margin-bottom:0}.asset-view-tabs{border:1px solid var(--line);background:#eceef2;border-radius:9px;gap:3px;margin-bottom:16px;padding:3px;display:inline-flex}.asset-view-tabs button{color:#69707c;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;min-height:32px;padding:0 12px;font-size:12px;font-weight:600;display:flex}.asset-view-tabs button b{color:#7d838e;background:#ffffffa6;border-radius:999px;place-items:center;min-width:20px;height:18px;padding:0 5px;font-size:10px;font-weight:600;display:grid}.asset-view-tabs button.active{color:#302aa8;background:#fff;box-shadow:0 1px 4px #191c231a}.asset-view-tabs button.active b{color:var(--accent);background:var(--accent-soft)}.scenario-library-table tbody tr{cursor:pointer}.scenario-library-table tbody tr:hover{background:#f8f8ff}.scenario-library-table th:first-child{width:44%}.scenario-library-table th:nth-child(2){width:38%}.scenario-library-table th:nth-child(3){width:12%}.scenario-library-table td{padding-top:12px;padding-bottom:12px}.scenario-cell{align-items:baseline;gap:10px;display:flex}.scenario-cell .scenario-no{width:82px;color:var(--muted);white-space:nowrap;flex:none;font-size:11px}.tc-list-table tbody tr{cursor:pointer}.tc-list-table tbody tr:hover{background:#f8f8ff}.tc-list-table .tc-list-title{min-width:220px}.tc-list-title{letter-spacing:-.02em;font-size:12px;font-weight:600;line-height:1.45}.tc-list-table.grouped th.col-tc{width:25%}.tc-list-table.grouped th.col-steps{width:23%}.tc-list-table.grouped th.col-expected{width:19%}.tc-list-table.grouped th.col-narrow{white-space:nowrap;width:1%}.tc-list-table.grouped th.col-status{width:17%}.tc-list-table.grouped .status-cell{min-width:128px}.tc-list-table.grouped td{vertical-align:top;padding-top:9px;padding-bottom:9px}.tc-list-table.grouped .pre-cell,.tc-list-table.grouped .expected-cell{font-size:12px;line-height:1.6}.tc-list-table.grouped .pre-cell{color:#464d59}.tc-list-table.grouped .pre-cell .pre-list.compact,.tc-list-table.grouped .pre-cell .pre-list.compact .cond-list{font-size:12px;line-height:1.42}.tc-list-table.grouped .pre-cell .pre-list.compact>li+li{margin-top:1px}.table-wrap:has(.tc-list-table.grouped){overflow:visible}.card:has(.tc-list-table.grouped){overflow:clip}.tc-list-table.grouped{border-collapse:separate;border-spacing:0}.tc-list-table.grouped .scen-row:hover{background:0 0}.tc-list-table.grouped .scen-row td{padding:0}.tc-list-table.grouped .scen-row td.scen-lead{vertical-align:middle;padding:0 12px 0 16px;line-height:0}.tc-list-table.grouped .pre-cell .pre-line{margin-bottom:7px}.tc-list-table.grouped .pre-cell b{color:#7b8290;margin-bottom:2px;font-size:10px;font-weight:700;display:block}.tc-list-table.grouped .pre-cell .steps-list.compact{color:#464d59;font-size:12px;line-height:1.42}.tc-list-table.grouped .pre-cell .steps-list.compact li+li{margin-top:1px}.detail-eyebrow{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:700}.detail-badges{flex-wrap:wrap;gap:5px;margin:-6px 0 14px;display:flex}.detail-section{border:1px solid var(--line);background:#fff;border-radius:8px;padding:16px}.detail-section h3{margin:0 0 10px;font-size:12px}.pending-detail{background:#fffdf6;border-color:#f0e2b8}.pending-detail h3{color:#8a6300}.pending-detail-reason{color:var(--muted);margin:0 0 8px;font-size:12px}.detail-kv{grid-template-columns:78px 1fr;gap:9px 12px;margin:0;display:grid}.detail-kv dt{color:var(--muted);font-size:11px;font-weight:700}.detail-kv dd{margin:0;font-size:12px;line-height:1.5}.detail-kv dd>strong,.detail-kv dd>span{display:block}.detail-kv dd>span{color:var(--muted);margin-top:2px;font-size:11px}.detail-kv.compact{grid-template-columns:72px 1fr}.impl-gap-note{color:var(--amber)}.pre-list{margin:0;padding-left:16px}.pre-list>li+li{margin-top:5px}.pre-list>li.pre-group{color:var(--muted);font-size:11px;font-weight:600;list-style:none}.cond-list{color:var(--text);margin:4px 0 0;padding-left:16px;font-size:12px;font-weight:400}.cond-list li+li{margin-top:3px}.cond-list li b{font-weight:600}.cond-list li span{color:var(--muted)}.pre-list.compact,.pre-list.compact .cond-list{font-size:11px}.pre-list.compact>li+li{margin-top:3px}.steps-list{margin:0;padding-left:17px}.steps-list li+li{margin-top:3px}.expected-result{color:#176547;background:var(--green-soft);border-radius:6px;padding:8px 9px;font-weight:600}.source-pill{background:#f0f2f5;border-radius:5px;padding:3px 6px;color:#5a616e!important;margin:0 3px 3px 0!important;font-size:10px!important;display:inline-block!important}.version-note{background:#f7f6ff;border-radius:6px;padding:9px 10px}.version-note strong{font-size:11px}.version-note p{color:#625f79;margin:3px 0 0;font-size:11px;line-height:1.45}.change-history{margin:10px 0 0;padding:0;list-style:none}.change-history li{border-top:1px solid var(--line);padding:7px 0}.change-history b,.change-history span,.change-history small{display:block}.change-history b{font-size:11px}.change-history span,.change-history small{color:var(--muted);margin-top:2px;font-size:10px}.result-buttons{background:#eff1f4;border-radius:7px;gap:3px;padding:2px;display:inline-flex}.result-buttons>button,.result-buttons>form>button{color:#6b727d;background:0 0;border:0;border-radius:5px;width:27px;height:26px;font-size:12px;font-weight:700}.result-buttons>button:hover:not(:disabled),.result-buttons>form>button:hover:not(:disabled){color:var(--text);box-shadow:var(--shadow-sm);background:#fff}.result-buttons>button.active-pass,.result-buttons>form>button.active-pass{color:#fff;background:var(--green)}.result-buttons>button.active-fail,.result-buttons>form>button.active-fail{color:#fff;background:var(--red)}.result-buttons>button.active-blocked,.result-buttons>form>button.active-blocked{color:#4d3b13;background:#f2c65f}.result-buttons>button.active-skip,.result-buttons>form>button.active-skip{color:#3c414a;background:#ccd2db}.empty{color:var(--muted);text-align:center;padding:46px 20px}.empty.compact{padding:24px 16px}.empty b{color:#3f4550;margin-bottom:5px;display:block}.dialog{border:1px solid var(--line);width:min(520px,100vw - 32px);box-shadow:var(--shadow);border-radius:11px;padding:0}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#181b2173}.dialog form{padding:20px}.dialog-head .badge+h2{margin-left:6px;display:inline}.dialog label{color:#4f5560;gap:6px;margin-bottom:16px;font-size:12px;font-weight:600;display:grid}.dialog input,.dialog select,.dialog textarea{border:1px solid var(--line-strong);width:100%;color:var(--text);background:#fff;border-radius:6px;outline:none;padding:8px 9px}.dialog textarea{resize:vertical}.dialog input:focus,.dialog select:focus,.dialog textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-dialog{width:min(640px,100vw - 32px);max-height:min(760px,100vh - 48px)}.form-dialog[open]{flex-direction:column;display:flex}.form-dialog>form{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.form-dialog .dialog-head{border-bottom:1px solid var(--line);padding:17px 20px 14px}.form-dialog .dialog-head h2{letter-spacing:-.025em;margin:0;font-size:15px;font-weight:700}.form-dialog .dialog-head p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.5}.form-dialog .form-dialog-body{flex:1;min-height:0;padding:17px 20px 4px;overflow-y:auto}.form-dialog .dialog-actions{border-top:1px solid var(--line);background:var(--surface-2);margin-top:0;padding:12px 20px}.form-dialog .form-dialog-empty{padding:6px}.form-dialog .form-dialog-empty .dialog-actions{background:0 0;border-top:0;justify-content:center}.form-dialog .form-dialog-empty .dialog-actions a.primary{align-items:center;min-height:32px;padding:0 12px;text-decoration:none;display:inline-flex}.pick-trigger{border:1px solid var(--line);background:var(--surface);width:100%;min-height:38px;color:var(--text);font:inherit;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:0 11px;font-size:13px;display:flex}.pick-trigger:hover{border-color:var(--line-strong)}.pick-trigger.empty{color:#9aa0ab}.pick-trigger svg{color:#9aa0ab;flex:none}.pick-trigger>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.stack-form .pick-trigger{border-color:var(--line-strong);background:#fff;border-radius:6px;min-height:0;padding:7px 9px;font-size:12px}.stack-form .pick-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.pick-panel{padding:7px;display:block}.pick-search{border:1px solid var(--line);background:var(--surface);width:100%;min-height:32px;color:var(--text);font:inherit;border-radius:7px;outline:none;margin-bottom:5px;padding:0 9px;font-size:12px}.pick-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pick-list{max-height:232px;overflow-y:auto}.pick-empty{color:var(--muted);margin:8px 4px;font-size:11px}.reuse-pick{background:#fffaf0;border:1px solid #f0d7aa;border-radius:9px;padding:11px 13px}.reuse-pick.on{border-color:var(--line);background:var(--surface-2)}.reuse-head{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:7px;font-size:12px;font-weight:600;display:flex}.reuse-head .cell-sub{margin-top:0;font-weight:400}.reuse-opts{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.reuse-opt{gap:5px}.reuse-run{color:var(--muted);font-size:11px;font-weight:400}.reuse-opt.on .reuse-run{color:inherit}.reuse-opt{border:1px solid var(--line);color:#6b727d;background:#fff;border-radius:6px;align-items:center;height:27px;padding:0 10px;font-size:12px;text-decoration:none;display:flex}.reuse-opt:hover{border-color:var(--line-strong);color:var(--text)}.reuse-opt.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}.reuse-note{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.5}.os-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.os-row .cell-sub{margin-top:0}.os-pick{border-radius:7px;align-items:center;gap:3px;padding:2px;display:flex}.os-pick-label{color:#5b6270;margin-right:5px;font-size:11px;font-weight:600}.os-opt{position:relative}.os-opt input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.os-opt span{border:1px solid var(--line);color:#6b727d;background:#fff;border-radius:6px;align-items:center;height:26px;padding:0 9px;font-size:11px;display:flex}.os-opt input:hover+span{border-color:var(--line-strong);color:var(--text)}.os-opt input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:700}.os-opt input:focus-visible+span{box-shadow:0 0 0 3px var(--accent-soft)}.os-chip{color:#554dc8;white-space:nowrap;background:#f3f1ff;border:1px solid #d8d4ff;border-radius:5px;align-items:center;min-height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-grid.three{grid-template-columns:1fr 1fr 1fr}.form-hint{color:var(--muted);margin:-3px 0 14px;font-size:11px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.toast{z-index:20;color:#fff;box-shadow:var(--shadow);opacity:0;pointer-events:none;background:#252830;border-radius:7px;align-items:center;gap:12px;padding:10px 13px;font-size:12px;transition:all .18s;display:flex;position:fixed;bottom:22px;right:22px;transform:translateY(12px)}.toast.show{opacity:1;pointer-events:auto;transform:translateY(0)}.toast-undo{color:#fff;background:0 0;border:1px solid #ffffff47;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:700}.toast-undo:hover{background:#ffffff24}.toast-undo:disabled{opacity:.6;cursor:default}.live-nudge{z-index:19;color:#fff;box-shadow:var(--shadow);background:#1f3050;border-radius:7px;align-items:center;gap:12px;padding:10px 13px;font-size:12px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.live-nudge-who{opacity:.72}.live-nudge button{color:#fff;white-space:nowrap;background:0 0;border:1px solid #ffffff4d;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:700}.live-nudge button:hover{background:#ffffff24}.ab-grid{grid-template-columns:1fr 1fr;align-items:start;gap:10px;margin-bottom:13px;display:grid}.ab-block{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;flex-direction:column;gap:7px;padding:10px;display:flex}.ab-head{flex-wrap:wrap;align-items:baseline;gap:6px;min-height:18px;display:flex}.ab-head b{font-size:12px;font-weight:600}.ab-head i{color:var(--muted);font-size:10px;font-style:normal}.ab-tag{color:#a03a43;letter-spacing:.04em;background:#fdeef0;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:700}.ab-block.tobe .ab-tag{color:#1f6b4f;background:#e9f7f0}.ab-block textarea{width:100%;margin:0}.shot-zone{border:1px dashed var(--line-strong);background:#fff;border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px;padding:7px;display:flex}.shot-zone.dropping{border-color:var(--accent);background:#faf9ff}.shot-zone small{color:var(--muted);font-size:10px}.shot-zone small.shot-notice{color:#8e2630;flex-basis:100%}.shot-zone .shot-list{flex-wrap:wrap;gap:5px;display:flex}.shot-zone .shot-list:empty{display:none}.shot-add{border:1px solid var(--line-strong);color:#3e434d;cursor:pointer;background:#fff;border-radius:6px;min-height:24px;padding:0 8px;font-size:11px;font-weight:600;line-height:24px}.shot-add:hover{background:var(--surface-2)}.shot-thumb{display:inline-flex;position:relative}.shot-thumb img{border:1px solid var(--line);object-fit:cover;cursor:zoom-in;border-radius:5px;width:52px;height:40px}.shot-thumb.clip video{border:1px solid var(--line);object-fit:cover;background:#0f1115;border-radius:6px;width:200px;height:124px}.shot-remove{border:1px solid var(--line-strong);color:#5b6270;background:#fff;border-radius:50%;place-items:center;width:15px;height:15px;padding:0;font-size:11px;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.shot-remove:hover{color:var(--red);border-color:var(--red)}.ab-mini{align-items:flex-start;gap:6px;margin-bottom:5px;display:flex}.ab-mini>div{min-width:0}.ab-mini p{margin:0;font-size:11px;line-height:1.45}.ab-tag.sm{flex:none;margin-top:1px;font-size:10px}.ab-tag.sm.tobe{color:#1f6b4f;background:#e9f7f0}.shot-mini-list{flex-wrap:wrap;gap:4px;margin-top:4px;display:inline-flex}.shot-mini{border:1px solid var(--line);object-fit:cover;cursor:zoom-in;border-radius:4px;width:40px;height:30px}.defect-foot{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}@media (max-width:980px){.app-shell{grid-template-columns:70px 1fr}.sidebar{padding:16px 9px}.brand{padding-inline:9px}.brand-text,.sidebar-toggle,.nav-label{display:none}.nav a{justify-content:center;padding:10px}.nav a>span:first-child{width:auto;font-size:15px}.sidebar-foot{display:none}.grid-2,.home-grid{grid-template-columns:1fr}}@media (max-width:680px){.ab-grid{grid-template-columns:1fr}.app-shell{display:block}.sidebar{z-index:10;width:100%;height:58px;padding:7px 10px;position:fixed;top:auto;bottom:0}.brand,.sidebar-foot{display:none}.nav{grid-template-columns:repeat(6,1fr)}.nav a{flex-direction:column;gap:2px;padding:4px}.nav a>span:first-child{font-size:13px}.nav-label{font-size:10px;display:block}.topbar{height:64px;padding:0 16px}.view{padding:16px 14px 84px}.page-head,.project-title-row,.readiness-card{flex-direction:column;align-items:flex-start}.project-tabs{gap:16px}.run-head-top{flex-direction:column;align-items:flex-start;gap:8px}.run-hero-badges{justify-content:flex-start}.known-defects-banner{grid-template-columns:32px 1fr}.known-defects-banner button,.banner-filter{grid-column:1/-1}.banner-filter{text-align:center}}.login-page{background:var(--bg);place-items:center;min-height:100vh;display:grid}.login-card{border:1px solid var(--line);width:min(400px,100vw - 32px);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:14px;padding:32px}.login-card .brand-mark{margin:0 auto 16px}.login-card h1{margin:0 0 6px;font-size:21px}.login-card p{color:var(--muted);margin:0 0 20px;font-size:12px;line-height:1.6}.login-card form{gap:12px;display:grid}.login-card .primary{width:100%;min-height:38px}.login-note{color:var(--muted);font-size:11px;line-height:1.6;display:block}.login-note code{background:var(--surface-2);border-radius:4px;padding:1px 4px;font-size:10px}.nav a{color:#aeb3bf;border-radius:7px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-weight:500;text-decoration:none;display:flex}.nav a>span:first-child{color:#7e8491;text-align:center;flex-shrink:0;width:18px}.nav-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.nav a:hover{color:#fff;background:var(--nav-2)}.nav a.active{color:#fff;background:#2a2d35}.nav a.active span{color:#a9a3ff}a.plain-link{color:inherit;text-decoration:none}.project-tabs a{color:#777d88;flex:none;align-items:center;min-height:38px;font-size:13px;font-weight:600;text-decoration:none;display:flex;position:relative}.project-tabs a:hover{color:#323741}.project-tabs a.active{color:var(--text)}.project-tabs a.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.run-tabs a{min-height:38px;color:var(--muted);align-items:center;font-size:12px;font-weight:700;text-decoration:none;display:flex;position:relative}.run-tabs a.active{color:var(--accent)}.run-tabs a.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.judge-filter a em{color:#8f959f;font-size:10px;font-style:normal}.quick-chips a{color:#5b6270;border-radius:6px;align-items:center;gap:5px;min-height:24px;padding:0 9px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.quick-chips a.active{color:#302aa8;box-shadow:var(--shadow-sm);background:#fff}.quick-chips a em{color:#8f959f;font-size:10px;font-style:normal}a.secondary,a.primary{align-items:center;text-decoration:none;display:inline-flex}.project-back,.run-back{text-decoration:none;display:inline-block}.result-buttons>form,.gate-strip form{display:inline-flex}.gate-chip{font-family:inherit}.row-action form,.defect-foot form{display:inline-flex}.defect-foot button{border:1px solid var(--line-strong);border-radius:6px;min-height:26px;padding:0 9px;font-size:11px}.defect-foot .primary{border-color:var(--accent);color:#fff;background:var(--accent)}.defect-form-card{border-color:#eec9cd;margin-top:16px}.defect-expand-row>td{background:snow;padding:0 0 12px}.defect-expand-row>td>.defect-form-card{margin:0}.defect-form{padding:16px}.defect-form .dialog-actions{margin-top:4px}.defect-form label{color:#4f5560;gap:6px;margin-bottom:12px;font-size:11px;font-weight:600;display:grid}.defect-form input,.defect-form select,.defect-form textarea{border:1px solid var(--line-strong);background:#fff;border-radius:6px;width:100%;padding:8px 9px}.recording-row{background:#fff7f7!important}.recording-row td:first-child{box-shadow:inset 3px 0 0 var(--red)}.defect-form-card .card-head h3{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.linear-link{color:var(--accent);font-weight:700;text-decoration:none}.linear-link:hover{text-decoration:underline}.linear-target{color:var(--muted)}.linear-target b{color:var(--accent);font-weight:600}.linear-badge{border:1px solid var(--line-strong);color:#3e434d;background:#fff;border-radius:7px;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.linear-badge:hover{background:var(--surface-2)}.linear-badge.connected{color:var(--green);background:#f4fbf7;border-color:#cfe3d8}.topbar{z-index:20;height:var(--topbar-h);justify-content:flex-end;position:sticky;top:0}.dialog-actions .form-note{color:var(--muted);margin-right:auto;font-size:11px}.result-buttons>button.recording,.result-buttons>form>button.recording{color:var(--red);box-shadow:inset 0 0 0 1.5px var(--red);background:#fff}.result-buttons>button.active-fail.recording,.result-buttons>form>button.active-fail.recording{color:#fff;background:var(--red);box-shadow:inset 0 0 0 1.5px #8e2630}.asset-view-tabs a{color:#69707c;border-radius:6px;align-items:center;gap:7px;min-height:32px;padding:0 12px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.asset-view-tabs a b{color:#7d838e;background:#ffffffa6;border-radius:999px;place-items:center;min-width:20px;height:18px;padding:0 5px;font-size:10px;font-weight:600;display:grid}.asset-view-tabs a.active{color:#302aa8;box-shadow:var(--shadow-sm);background:#fff}.asset-view-tabs a.active b{color:var(--accent);background:var(--accent-soft)}.product-filter{flex-wrap:wrap;gap:4px;display:inline-flex}.product-filter .toggle-chip{min-height:26px;padding:0 8px;font-size:11px}.drawer-backdrop{display:block}.run-history{gap:4px;display:grid}.run-history-row{border:1px solid var(--line);color:var(--text);border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:7px 9px;font-size:11px;text-decoration:none;display:grid}.run-history-row:hover{background:var(--surface-2)}.run-history-row b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.drawer-foot .actions a.secondary{min-height:32px;padding:0 12px}.linear-project-select{position:relative}.linear-project-select-list{z-index:200;border:1px solid var(--line-strong);background:#fff;border-radius:6px;max-height:240px;padding:4px;position:fixed;overflow-y:auto;box-shadow:0 8px 20px #1418201f}.linear-project-select-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:7px 9px;font-size:12px;display:block}.linear-project-select-item:hover{background:var(--accent-soft)}.linear-project-select-item.active{color:var(--accent);font-weight:600}.linear-project-select-item.muted{color:var(--muted);cursor:default}.linear-project-select-item.muted:hover{background:0 0}.stack-form{gap:4px;padding:20px;display:grid}.stack-form label{color:#4f5560;grid-template-columns:auto 1fr;gap:6px;margin-bottom:14px;font-size:11px;font-weight:600;display:grid}.stack-form label>*{grid-column:1/-1}.stack-form label>small{color:var(--muted);grid-column:2;place-self:center start;font-weight:500}.stack-form input,.stack-form select,.stack-form textarea{border:1px solid var(--line-strong);width:100%;color:var(--text);background:#fff;border-radius:6px;padding:8px 9px}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.stack-form fieldset{border:1px solid var(--line);border-radius:8px;margin:0 0 14px;padding:12px}.stack-form legend{color:#4f5560;padding:0 5px;font-size:11px;font-weight:600}.stack-form .check-row label{border:1px solid var(--line);border-radius:6px;flex-direction:row;align-items:center;gap:6px;margin:0;padding:7px 9px;display:flex}.stack-form .check-row input{width:auto}.run-progress{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:18px;margin-top:14px;padding:12px 16px;display:flex}.run-donut{flex:none;width:64px;height:64px}.run-donut circle{fill:none;stroke-width:9px;transform-origin:50%;transform:rotate(-90deg)}.run-donut-track{stroke:#eef0f3}.run-donut-value{fill:var(--text);text-anchor:middle;font-size:13px;font-weight:700}.run-donut-unit{fill:var(--muted);text-anchor:middle;letter-spacing:.04em;font-size:7px;font-weight:700}.run-progress-legend{flex-wrap:wrap;gap:6px 20px;margin:0;display:flex}.run-progress-legend>div{align-items:baseline;gap:6px;display:flex}.run-progress-legend dt{color:var(--muted);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.run-progress-legend dt i{border-radius:2px;width:7px;height:7px}.run-progress-legend dd{margin:0;font-size:12px;font-weight:700}.run-progress-total{border-left:1px solid var(--line);padding-left:20px}.run-progress-total dd span{color:var(--muted);font-weight:600}.progress-cell span{color:var(--muted)}.case-pick-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.stack-form .case-pick-all{color:var(--muted);cursor:pointer;flex:none;align-items:center;gap:6px;margin:0;font-size:11px;font-weight:600;display:flex}.stack-form .case-pick-all input{width:auto;accent-color:var(--accent);margin:0}.case-pick-head input[type=search]{flex:180px}.case-pick-head .icon-chip{flex:none}.case-pick-head .icon-chip:disabled{color:var(--muted);background:var(--surface-2);cursor:default}.case-pick-count{color:var(--muted);flex-shrink:0;font-size:11px;font-weight:600}.case-pick-count.warn{color:var(--red)}.case-pick-empty{color:var(--muted);text-align:center;padding:18px;font-size:12px}.case-pick-list{border:1px solid var(--line);background:var(--surface);border-radius:8px;max-height:300px;overflow-y:auto}.stack-form .case-pick{border-top:1px solid var(--line);color:var(--text);cursor:pointer;align-items:center;gap:8px;margin:0;padding:7px 10px;font-weight:500;display:flex}.stack-form .case-pick:first-child{border-top:0}.stack-form .case-pick:hover{background:var(--surface-2)}.stack-form .case-pick input{width:auto;accent-color:var(--accent);flex:none;margin:0;padding:0}.stack-form .case-pick:has(input:checked){background:#fafaff}.stack-form .case-pick b{flex:1;min-width:0;font-size:12px;font-weight:500}.case-pick-key{color:var(--muted);flex-shrink:0;font-size:11px;font-weight:400}.stack-form .case-pick.locked{color:var(--muted);background:var(--surface-2);cursor:default}.stack-form .case-pick.locked b{font-weight:400}.stack-form .case-pick[hidden]{display:none}.build-rows{gap:8px;display:grid}.build-row{grid-template-columns:minmax(200px,1fr) minmax(180px,1.2fr);align-items:center;gap:8px;display:grid}.build-row.dropped .product-chip{opacity:.5}.build-row input[hidden]{display:none}.build-drop{color:var(--muted);font-size:11px;font-weight:600}.build-why{color:var(--muted);grid-column:1/-1;font-size:11px;font-weight:500}.build-check{flex-direction:row;align-items:center;gap:8px;margin:0!important;display:flex!important}.build-check input{width:auto!important}.build-check small{color:var(--muted);font-weight:500}.dialog-actions a.secondary{min-height:32px;padding:0 12px}.source-add-form{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;width:100%;margin-top:8px;padding-top:10px;display:flex}.source-add-form select,.source-add-form input{border:1px solid var(--line-strong);background:#fff;border-radius:6px;min-height:30px;padding:0 8px;font-size:11px}.source-add-form input{flex:160px}.finish-card{border-color:#dcd9ff;margin-bottom:16px}.attention-row{border-bottom:1px solid var(--line);min-height:58px;color:var(--text);grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:10px 16px;text-decoration:none;display:grid}.attention-row:last-child{border-bottom:0}.attention-row:hover{background:var(--surface-2)}.attention-row strong,.attention-row small{display:block}.attention-row strong{font-size:12px;font-weight:600}.attention-row small{color:var(--muted);margin-top:3px;font-size:11px}.attention-row b{color:var(--accent);white-space:nowrap;font-size:11px}.attention-icon.danger{color:var(--red);background:var(--red-soft)}.compact-run-item{text-decoration:none}.ticket-error{color:#8e2630;background:var(--red-soft);border-radius:6px;margin-top:4px;padding:4px 7px;font-size:10px;line-height:1.45}.shot-list.saved,.shot-zone{width:100%}.shot-thumb a,.shot-mini-list a{display:inline-flex}.linked-row{position:relative}.row-link{z-index:1;cursor:pointer;position:absolute;inset:0}.linked-row:hover{background:#f8f8ff}.linked-row a:not(.row-link),.linked-row button{z-index:2;position:relative}.form-card{max-width:640px}.stack-form{gap:0;padding:18px}.stack-form label{gap:5px;margin-bottom:12px}.stack-form input,.stack-form select,.stack-form textarea{padding:7px 9px;font-size:12px}.stack-form fieldset{margin:0 0 12px;padding:10px 12px 12px}.stack-form .check-row{gap:5px}.stack-form .check-row label{padding:6px 8px;font-size:11px}.field-note{border:1px dashed var(--line-strong);color:var(--muted);border-radius:6px;padding:8px 9px;font-size:11px;font-weight:500;display:block}.build-row{grid-template-columns:minmax(180px,.9fr) minmax(160px,1.1fr)}.toast.ok{background:#252830}.toast.error{background:#7d2731}.error-page{place-items:center;min-height:60vh;display:grid}.error-card{border:1px solid var(--line);width:min(460px,100%);box-shadow:var(--shadow-sm);text-align:center;background:#fff;border-radius:12px;padding:24px}.error-card h2{margin:12px 0 6px;font-size:15px}.error-card p{color:var(--muted);margin:0 0 18px;font-size:12px;line-height:1.6}.error-card .actions{justify-content:center}.error-card .secondary{align-items:center;text-decoration:none;display:inline-flex}.toolbar-line{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.toolbar-line .spacer,.run-toolbar>.spacer{flex:1}.form-card.wide{max-width:none;margin-bottom:16px}.run-build-fold code.missing{color:var(--amber);background:var(--amber-soft)}.detail-section h3{justify-content:space-between;align-items:center;gap:8px;display:flex}.detail-section h3 .ghost{min-height:24px;padding:0 4px;font-size:11px}.drawer-body .stack-form{padding:0}.steps-cell .pre-line{color:var(--muted);margin-bottom:5px;font-size:11px;line-height:1.5}.steps-cell .pre-line b,.steps-cell .steps-line b{color:#5b6270;margin-bottom:2px;font-size:11px;font-weight:600;display:block}.linear-state-icon{vertical-align:-2px;flex:none}.badge.with-state-icon{align-items:center;gap:4px;display:inline-flex}.known-fail-hint .linear-state-icon{width:11px;height:11px}.ticket-line{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ticket-line+.ticket-line{margin-top:4px}.ticket-cell .cell-sub{margin-top:0;display:block}.confirm-list{margin:10px 0 0;padding:0;list-style:none}.confirm-list li{border-bottom:1px solid var(--line);align-items:baseline;gap:8px;padding:6px 0;display:flex}.confirm-list li:last-child{border-bottom:0}.confirm-list .cell-sub{margin-top:0}.defect-add{color:#9aa0ab;margin-top:5px;font-size:11px;text-decoration:none;display:block}.defect-add:hover{color:var(--accent)}.scen-action{color:#9aa0ab;white-space:nowrap;flex:none;margin:0 14px 0 6px;font-size:11px;font-weight:600;text-decoration:none}.scen-action:hover{color:var(--accent)}.free-defect-row td{background:#fdf8f8;padding:8px 14px;box-shadow:inset 3px 0 #e7a3a3}.free-defect-row.editing td{box-shadow:inset 3px 0 0 var(--accent);background:#fff}.free-defect-line{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.free-defect-line b{font-size:12.5px;font-weight:600}.free-defect-line .spacer{flex:1}.free-tag{color:#a14b4b;background:#f6e3e3;border-radius:5px;padding:2px 7px;font-size:10.5px;font-weight:700}.free-edit{color:#9aa0ab;margin-left:6px;font-size:11px;text-decoration:none}.free-edit:hover{color:var(--accent)}.pending-promote{color:#9aa0ab;text-align:left;background:0 0;border:0;border-radius:5px;min-height:0;margin-top:5px;padding:0;font-size:11px;font-weight:500}.pending-promote:hover{color:#8a6300}.defect-entry+.defect-entry{border-top:1px solid var(--line);margin-top:9px;padding-top:9px}.defect-no{color:#8b94a3;margin-bottom:3px;font-size:10px;font-weight:700;display:block}.clip-mini{color:#4f5662;background:#eff1f4;align-items:center;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.steps-list.compact{margin:0;padding-left:16px;font-size:11px;line-height:1.55}.steps-list.compact li+li{margin-top:2px}.clear-judgment{color:#9aa0ab;background:0 0;border:0;border-radius:6px;width:24px;height:26px;font-size:12px}.clear-judgment:hover{color:var(--text);background:#fff}.judged-by{text-align:right;margin-top:4px}.ticket-cell{text-align:left}.ticket-cell:before{content:"";width:176px;display:block}.ticket-cell>*{max-width:176px}.judgment-cell{align-items:center;gap:4px;display:inline-flex}.clear-judgment-slot{flex:none;width:24px;height:26px;display:inline-block}.note-edit{width:100%;display:block}.note-edit textarea{border:1px solid var(--accent);background:var(--surface);width:100%;min-width:0;height:62px;box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-sm);color:var(--text);resize:none;border-radius:6px;outline:none;padding:5px 7px;font-family:inherit;font-size:12px;line-height:1.45;display:block}.note-text,.note-add{width:100%;color:var(--text);font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;margin:-3px 0 0 -6px;padding:3px 6px;font-size:12px;line-height:1.45;display:block}.note-text{-webkit-line-clamp:3;color:#5b6270;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}button.note-text:hover{color:var(--text);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.note-add{color:#9aa0ab}.note-add:hover{color:var(--accent);background:var(--accent-soft)}.form-hint.warn{color:#8a5704;background:var(--amber-soft);border-radius:7px;padding:8px 10px}.form-hint.warn b{color:#6e4803}.gate-env{gap:8px;display:flex}.gate-env>div{border:1px solid var(--line);text-align:center;background:#fff;border-radius:8px;min-width:78px;padding:9px 11px}.gate-env span{color:var(--muted);font-size:10px;font-weight:600;display:block}.gate-env b{letter-spacing:-.03em;margin-top:3px;font-size:18px;font-weight:700;display:block}.gate-env small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.gate-env>div.has{border-color:#eec9cd}.gate-env>div.has b{color:var(--red)}.pager{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:10px;padding:12px;display:flex}.pager a{align-items:center;min-height:30px;padding:0 11px;text-decoration:none;display:inline-flex}.bulk-inline{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.bulk-inline b{color:var(--text);font-weight:700}.bulk-inline .primary,.bulk-inline .secondary,.bulk-inline .danger-button{min-height:27px;padding:0 10px;font-size:11px}.bulk-clear{min-height:27px;color:var(--muted);background:0 0;border:0;padding:0 6px;font-size:11px;font-weight:600;text-decoration:underline}.bulk-clear:hover{color:var(--text)}.bulk-bar{border-bottom:1px solid var(--line);background:var(--surface-2);align-items:center;gap:12px;padding:10px 16px;display:flex}.bulk-bar .spacer{flex:1}.bulk-all{color:#3e434d;cursor:pointer;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.bulk-all input,.bulk-col input{accent-color:var(--accent);margin:0}.bulk-count{color:var(--muted);font-size:12px}.bulk-count b{color:var(--text);font-weight:700}.bulk-col{z-index:2;text-align:center;width:36px;padding-left:16px;position:relative}.danger-button{border:1px solid var(--red);color:#fff;background:var(--red)}.danger-button:hover:not(:disabled){background:#b32f39}.confirm-scrim{z-index:60;background:#181b216b;place-items:center;max-width:none;padding:20px;display:grid;position:fixed;inset:0}.confirm-box{text-align:left;white-space:normal;width:min(420px,100%);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:20px}.confirm-box h3{letter-spacing:-.02em;margin:0 0 8px;font-size:15px;font-weight:700}.confirm-box p{color:var(--muted);margin:0 0 6px;font-size:12px;line-height:1.6}.confirm-box form{display:block}.confirm-points{color:var(--muted);margin:0;padding-left:17px;font-size:12px;line-height:1.65}.confirm-points li{margin-top:2px}.confirm-points li.confirm-warn{color:var(--red);margin-top:6px}.confirm-reason{border:1px solid var(--line-strong);background:#fff;border-radius:6px;width:100%;min-height:32px;margin-top:12px;padding:0 10px;font-size:12px}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.choice-list{gap:8px;margin-top:14px;display:grid}.choice{border:1px solid var(--line-strong);text-align:left;background:#fff;border-radius:9px;gap:3px;width:100%;min-height:0;padding:11px 13px;display:grid}.choice:hover:not(:disabled){border-color:var(--text);background:var(--surface-2)}.choice:disabled{opacity:.5}.choice b{letter-spacing:-.015em;font-size:13px;font-weight:700}.choice span{color:var(--muted);font-size:12px;line-height:1.6}.choice.danger b{color:var(--red)}.choice.danger:hover:not(:disabled){border-color:var(--red);background:var(--red-soft)}.row-menu-trigger{z-index:2;color:#99a0ab;opacity:0;background:0 0;border:0;border-radius:7px;place-items:center;width:26px;height:26px;padding:0;font-size:15px;line-height:1;display:inline-grid;position:relative}.linked-row:hover .row-menu-trigger,.row-menu-trigger:focus-visible,.row-menu-trigger[aria-expanded=true]{opacity:1}.row-menu-trigger:hover{color:var(--text);background:var(--surface-2)}.row-menu{z-index:50;border:1px solid var(--line);min-width:132px;box-shadow:var(--shadow);background:#fff;border-radius:9px;padding:5px;position:fixed}.row-menu-item{color:#3e434d;text-align:left;background:#fff;border:0;border-radius:6px;width:100%;min-height:30px;padding:6px 10px;font-size:12px;font-weight:600;text-decoration:none;display:block}.row-menu-item:hover{background:var(--surface-2)}.row-menu-item.danger:hover{color:var(--red);background:var(--red-soft)}.confirm-key{color:var(--muted);margin-top:14px;font-size:12px;display:block}.confirm-key b{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.confirm-key input{border:1px solid var(--line-strong);border-radius:7px;width:100%;min-height:34px;margin-top:6px;padding:0 10px;display:block}.link-scenario-list{border:1px solid var(--line);background:#fff;border-radius:9px;gap:5px;max-height:320px;margin:8px 0 12px;padding:6px;display:grid;overflow-y:auto}.stack-form .link-scenario{border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:8px;align-items:flex-start;gap:9px;margin:0;padding:9px 11px;font-weight:500;display:flex}.stack-form .link-scenario:hover{background:var(--surface-2)}.stack-form .link-scenario input{width:auto;accent-color:var(--accent);flex:none;margin:2px 0 0;padding:0}.link-scenario b{font-size:12px;font-weight:600;display:block}.link-scenario em{color:var(--muted);margin-top:2px;font-size:11px;font-style:normal;font-weight:500;display:block}.stack-form .link-scenario.done{background:#f7fbf9;border-color:#cfe3d8}.stack-form .link-scenario input:disabled{cursor:default}.link-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;display:flex}.stack-form .link-toolbar .search-control input{background:#eef0f3;border:1px solid #0000;border-radius:7px;min-width:220px;height:29px;margin:0;padding:0 10px;font-size:12px}.stack-form .link-toolbar .search-control input:focus{border-color:var(--accent);background:#fff}.quick-chips button{color:#5b6270;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;min-height:24px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.quick-chips button.active{color:#302aa8;box-shadow:var(--shadow-sm);background:#fff}.quick-chips button em{color:#8f959f;font-size:10px;font-style:normal}.stack-form .link-toggle{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:11px;font-weight:600;display:inline-flex}.stack-form .link-toggle input{width:auto;accent-color:var(--accent);margin:0}.link-toolbar .spacer{flex:1}.link-select-all{border:1px solid var(--line-strong);color:#4a505b;background:#fff;border-radius:6px;min-height:26px;padding:0 10px;font-size:11px;font-weight:600}.link-select-all:hover:not(:disabled){background:var(--surface-2)}.link-select-all:disabled{color:#b3b8c1}.link-picked-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;padding:12px 14px;display:flex}.link-picked-head b{font-size:12px}.link-picked-head span{color:var(--muted);font-size:11px;font-weight:600}.link-picked-cases .form-hint{padding:14px}.link-picked-cases .table-wrap{max-height:46vh;overflow:auto}.link-picked-cases thead th{z-index:1;background:var(--surface-2);position:sticky;top:0}.link-picked-cases .dialog-actions{border-top:1px solid var(--line);padding:12px 14px}.link-case-table{width:100%}.link-case-group-row td{background:var(--surface-2);padding:7px 10px}.link-case-group-row b{margin-right:8px;font-size:11px}.link-case-group-row span{color:var(--muted);margin-right:8px;font-size:11px;font-weight:600}.link-case-group-row .link-select-all{min-height:22px;padding:0 8px;font-size:10px}.stack-form .link-case-row input[type=checkbox]{width:auto;accent-color:var(--accent);margin:0}.link-case-row.off>td:not(.bulk-col){opacity:.45}.link-case-row.off .tc-list-title{text-decoration:line-through}.link-case-open{color:inherit;text-decoration:none;display:block}.link-case-open:hover .tc-list-title{text-decoration:underline}.link-case-open .cell-sub{display:block}.link-actions{align-items:center}.link-picked{color:var(--muted);margin-right:auto;font-size:12px;font-weight:600}.empty-cta{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.row-soft{border:1px solid var(--line-strong);min-height:26px;color:var(--muted);opacity:0;background:#fff;border-radius:6px;margin-left:6px;padding:0 9px;font-size:11px;font-weight:600}.linked-row:hover .row-soft,.row-soft:focus-visible{opacity:1}.row-soft:hover{color:var(--text);background:var(--surface-2);border-color:#c8ccd4}.confirm-impact{color:var(--muted);margin:0 0 6px;padding-left:18px;font-size:12px;line-height:1.7}.token-panel{gap:12px;padding:0 20px 20px;display:grid}.token-panel .source-add-form{margin:0}.token-reveal{word-break:break-all;-webkit-user-select:all;user-select:all;background:#fff;border:1px solid #e6d8ae;border-radius:6px;margin:10px 0;padding:10px 12px}
