/* BV UAT Issue Tracker — styles. Same palette as the static report page. */
:root{--bg:#f6f7fb;--surface:#fff;--surface-2:#eef1f8;--fg:#15192b;--muted:#5a617a;--line:#d9deea;--accent:#0b2a6f;--accent-fg:#fff;--link:#1d4fb8;
 --crit:#b3261e;--crit-bg:#fbe9e7;--high:#c2410c;--high-bg:#fdebdd;--med:#9a6700;--med-bg:#fff4d6;--low:#4b5a7a;--low-bg:#e8ecf5;
 --ok:#1b6b3a;--ok-bg:#e6f4ea;--bad:#8f1d1d;--bad-bg:#fbeaea;--warn:#8a5a00;--warn-bg:#fff3cd;--info:#1d4fb8;--info-bg:#e3ecff;
 --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#0f1320;--surface:#171c2c;--surface-2:#1f2538;--fg:#e8ebf5;--muted:#a3abc4;--line:#2c3450;--accent:#9db7ff;--accent-fg:#0f1320;--link:#9db7ff;
 --crit:#ff8a80;--crit-bg:#3a1a1a;--high:#ffb074;--high-bg:#3a2415;--med:#ffd666;--med-bg:#3a3010;--low:#b9c3dd;--low-bg:#242b40;--ok:#7bd49a;--ok-bg:#15301f;--bad:#ff9d9d;--bad-bg:#3a1c1c;--warn:#ffd666;--warn-bg:#3a3010;--info:#9db7ff;--info-bg:#1b2745;color-scheme:dark}}
*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font:15px/1.5 var(--sans)}
a{color:var(--link)}code{font-family:var(--mono);font-size:.88em;background:var(--surface-2);padding:.1em .35em;border-radius:4px;word-break:break-word}
h1,h2,h3,h4{margin:0;text-wrap:balance}button,input,select,textarea{font:inherit;color:inherit}
.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--mono)}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 14px;cursor:pointer;font-weight:500}
.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.primary:hover{filter:brightness(1.1)}
.btn.sm{padding:4px 10px;font-size:13px}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn:disabled{opacity:.5;cursor:default}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--link);outline-offset:2px}
input[type=text],input[type=password],input[type=email],input[type=search],select,textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 10px}
textarea{min-height:90px;resize:vertical}label{display:grid;gap:4px;font-size:13px;color:var(--muted)}label.check{display:flex;align-items:center;gap:8px;color:var(--fg)}
.form{display:grid;gap:12px}.notice{padding:10px 12px;border-radius:8px;margin:10px 0}.notice.ok{background:var(--ok-bg);color:var(--ok)}.notice.bad{background:var(--bad-bg);color:var(--bad)}.notice.info{background:var(--info-bg);color:var(--info)}
.auth-page{display:grid;place-items:start center;padding:40px 16px}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;max-width:460px;width:100%;display:grid;gap:12px}
.auth-card h1{font-size:22px}
/* shell */
.topbar{background:var(--accent);color:var(--accent-fg);padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}
.topbar .in{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.brand{font-weight:700;letter-spacing:.02em;text-decoration:none;color:inherit}.topbar nav{display:flex;gap:4px;flex-wrap:wrap}
.topbar nav a{color:inherit;text-decoration:none;padding:5px 10px;border-radius:6px;opacity:.85}.topbar nav a.active,.topbar nav a:hover{background:rgba(255,255,255,.14);opacity:1}
.topbar .who{margin-left:auto;font-size:13px;display:flex;gap:10px;align-items:center}.topbar .who .btn{background:transparent;color:inherit;border-color:rgba(255,255,255,.4)}
.page{max-width:1240px;margin:0 auto;padding:20px max(16px,env(safe-area-inset-right,0px)) 60px max(16px,env(safe-area-inset-left,0px));display:grid;gap:16px}
.loading{padding:40px;text-align:center;color:var(--muted)}
/* pills */
.pill{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;white-space:nowrap}
.sev-Critical{background:var(--crit-bg);color:var(--crit)}.sev-High{background:var(--high-bg);color:var(--high)}.sev-Medium{background:var(--med-bg);color:var(--med)}.sev-Low{background:var(--low-bg);color:var(--low)}
.st-open{background:var(--info-bg);color:var(--info)}.st-in_progress{background:var(--warn-bg);color:var(--warn)}.st-resolved{background:var(--ok-bg);color:var(--ok)}.st-verified{background:var(--ok);color:#fff}
.st-reopened{background:var(--bad-bg);color:var(--bad)}.st-wont_fix,.st-duplicate{background:var(--low-bg);color:var(--low)}
.chip{font-size:12px;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 10px}
/* tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:2px;cursor:pointer;text-align:left}
.tile .n{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.tile .l{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.tile.active{outline:2px solid var(--accent)}
/* filters + table */
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filters select,.filters input{width:auto;min-width:140px}.filters .grow{flex:1 1 220px}
.tbl{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;white-space:nowrap}tr:last-child td{border-bottom:0}
tr.row{cursor:pointer}tr.row:hover td{background:var(--surface-2)}td.key{font-family:var(--mono);white-space:nowrap}td.title{min-width:260px}
.nowrap{white-space:nowrap}.right{text-align:right}
/* issue detail */
.issue-head{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;display:grid;gap:10px;border-left:6px solid var(--line)}
.issue-head.sev-b-Critical{border-left-color:var(--crit)}.issue-head.sev-b-High{border-left-color:var(--high)}.issue-head.sev-b-Medium{border-left-color:var(--med)}.issue-head.sev-b-Low{border-left-color:var(--low)}
.issue-head h2{font-size:21px;font-weight:600}.meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.meta .key{font-family:var(--mono);color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.actions .spacer{flex:1}
.cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px}@media (max-width:900px){.cols{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 20px;display:grid;gap:10px;min-width:0;align-content:start}
.card h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.steps{margin:0;padding-left:22px;display:grid;gap:4px}
.ea{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:640px){.ea{grid-template-columns:1fr}}
.ea div{border-radius:8px;padding:10px 12px}.ea .ok{background:var(--ok-bg)}.ea .bad{background:var(--bad-bg)}.ea h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.ea .ok h4{color:var(--ok)}.ea .bad h4{color:var(--bad)}
pre.evidence{font-family:var(--mono);font-size:12.5px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;white-space:pre-wrap;word-break:break-word;margin:0}
.fix{padding:10px 12px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 8px 8px 0}
.shots{display:grid;gap:10px}.shots figure{margin:0;display:grid;gap:4px}.shots img{width:100%;max-height:360px;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:8px;background:#fff;display:block}
.shots figcaption{font-size:12px;color:var(--muted);font-family:var(--mono);word-break:break-all}
/* timeline */
.timeline{display:grid;gap:10px}.ev{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.ev .dot{width:10px;height:10px;border-radius:50%;background:var(--line);margin-top:8px}.ev.status .dot{background:var(--accent)}.ev.comment .dot{background:var(--info)}
.ev .box{background:var(--surface-2);border-radius:8px;padding:8px 12px;min-width:0}.ev .by{font-size:12px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.ev .body{white-space:pre-wrap;word-break:break-word}
.commentform{display:grid;gap:8px}.commentform .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.editgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:700px){.editgrid{grid-template-columns:1fr}}.editgrid .full{grid-column:1/-1}
dialog{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--fg);padding:20px;max-width:520px;width:calc(100% - 32px)}dialog::backdrop{background:rgba(0,0,0,.4)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:999px;font-size:14px;z-index:20;box-shadow:0 4px 20px rgba(0,0,0,.2)}
.token{font-family:var(--mono);background:var(--surface-2);padding:8px 10px;border-radius:8px;word-break:break-all;user-select:all}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;word-break:break-word}

/* test run */
.run-head h2{font-size:22px;font-weight:600}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.c-ok{color:var(--ok)}.c-bad{color:var(--bad)}.kv.checks{grid-template-columns:minmax(120px,auto) 1fr;gap:6px 14px}.kv.checks dt{font-weight:600;color:var(--fg)}
.runtbl td,.runtbl th{padding:8px 10px;font-size:13px}.runtbl .small{font-size:12px}.limits{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14px}
.tile:disabled{opacity:1}
