:root{--bg:#f5f6f8;--card:#fff;--text:#1c2430;--muted:#5d6878;--line:#dfe3ea;--brand:#1f5fbf;--brand-d:#174b98}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--brand)}h1{font-size:1.6rem;margin:0 0 .75rem;line-height:1.25}h2{font-size:1.1rem;margin:0 0 .75rem}
.top{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;padding:.75rem 16px;background:var(--card);border-bottom:1px solid var(--line)}
.brand{font-weight:700;color:var(--text);text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center}nav a{text-decoration:none}
.count{background:var(--brand);color:#fff;border-radius:10px;padding:0 .45rem;font-size:.8rem}
main{max-width:1200px;margin:0 auto;padding:1.25rem 16px 3rem}.head{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:.75rem}.head h1{margin:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.1rem;margin:0 0 1rem}.narrow{max-width:420px;margin:2rem auto}.form-wide{max-width:680px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:1rem;align-items:start}
label{display:block;margin:0 0 .85rem;font-weight:600;font-size:.92rem}input,select,textarea{display:block;width:100%;margin-top:.3rem;padding:.55rem .65rem;font:inherit;font-weight:400;color:var(--text);background:#fff;border:1px solid #b9c1cd;border-radius:7px}
input[type=file]{padding:.4rem}textarea{resize:vertical}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.check{display:flex;gap:.55rem;font-weight:400;align-items:flex-start}.check input{width:auto;margin:.3rem 0 0;flex:none}
button,.btn{display:inline-block;padding:.55rem 1rem;border:1px solid var(--brand);border-radius:7px;background:var(--brand);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}button:hover,.btn:hover{background:var(--brand-d)}
button.secondary{background:#fff;color:var(--brand)}button.secondary:hover{background:#eef3fb}button.link{padding:0;border:0;background:none;color:var(--brand);font-weight:400;text-decoration:underline}button.link:hover{background:none}.inline{display:inline}
.muted{color:var(--muted)}.empty{color:var(--muted);padding:1rem 0}.flash{padding:.65rem .85rem;border-radius:7px;margin:0 0 1rem;list-style-position:inside}.flash.ok{background:#e6f4ea;color:#17592c}.flash.error{background:#fdecea;color:#8f1d15}code{word-break:break-all;font-weight:700}
.table{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:1rem}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:.6rem .75rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{font-size:.84rem;color:var(--muted)}tr:last-child td{border-bottom:0}.nw{white-space:nowrap}
.badge{display:inline-block;padding:.1rem .55rem;border-radius:20px;font-size:.84rem;font-weight:600;white-space:nowrap}.s-planned,.s-r-new{background:#e8eefb;color:#174b98}.s-done{background:#fff3d6;color:#6d4c00}.s-verified,.s-r-approved{background:#e1f3e6;color:#17592c}.s-regressed{background:#fbe1df;color:#8f1d15}.s-cancelled,.s-r-rejected{background:#e9ebef;color:#475160}
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}.tabs a{padding:.3rem .7rem;border:1px solid var(--line);border-radius:20px;background:var(--card);text-decoration:none;color:var(--text);font-size:.92rem}.tabs a.on{background:var(--brand);border-color:var(--brand);color:#fff}
.filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.filters label{margin:0;flex:1 1 200px}
dl{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:.45rem 1rem;margin:0}dt{color:var(--muted)}dd{margin:0;min-width:0;overflow-wrap:anywhere}.pre{white-space:pre-wrap}@media(max-width:560px){dl{grid-template-columns:1fr}dd{margin-bottom:.5rem}}
.shot{display:block;max-width:100%;max-height:420px;margin-top:1rem;border:1px solid var(--line);border-radius:7px}.log{list-style:none;margin:0;padding:0}.log li{padding:.55rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.log li:last-child{border:0}summary{cursor:pointer;font-weight:600}details form{margin-top:1rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
dl+form,.shot+form{margin-top:1rem}
.foot{max-width:1200px;margin:0 auto;padding:0 16px 2rem;font-size:.88rem}.doc{max-width:760px}.doc h2{margin-top:1.4rem}
.row{display:flex;gap:.5rem;align-items:center;min-width:280px}.row input{margin:0;padding:.3rem .45rem}
fieldset{border:1px solid var(--line);border-radius:7px;margin:0 0 .85rem;padding:.7rem .85rem 0}legend{font-weight:600;font-size:.92rem;padding:0 .3rem}.check input[type=radio]{width:auto;margin:.3rem 0 0;flex:none}.staff{min-width:980px}.staff .row{min-width:520px}
