@import url('/static/fonts.css');
:root{--paper:#f5f5ef;--surface:#fdfdf9;--ink:#20372f;--muted:#63736b;--line:#d8dfd5;--green:#285b46;--lime:#d9ed91;--red:#a6342d;--amber:#835c1c;--blue:#315c83;font-family:'Field Sans','Trebuchet MS',sans-serif;color:var(--ink);background:var(--paper);font-size:15px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #628b30}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 17px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:5px;font-weight:600;text-decoration:none}button:hover,.button:hover{background:#e9eee4;text-decoration:none}.primary{background:var(--green);border-color:var(--green);color:#faffef}.primary:hover{background:#1d4937}.quiet{background:transparent}.danger{color:var(--red)}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #b8c4b9;border-radius:4px;background:var(--surface);color:var(--ink)}textarea{min-height:105px;resize:vertical}label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-1.2px;font-weight:600;margin-bottom:12px}h2{font-size:21px;letter-spacing:-.5px;font-weight:600}h3{font-size:16px;font-weight:650}small,.muted{color:var(--muted)}small{font-size:12px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin-bottom:14px}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column;background:#eaf0e5}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:650;letter-spacing:-1px}.brand-mark{display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center;background:var(--ink);color:#faffef;font-family:Georgia,serif;font-size:22px;font-weight:700;line-height:1}.brand-mark::before{content:'R'}.brand-sub{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;margin:6px 0 52px 37px;color:var(--muted)}.sidebar nav a{display:block;padding:11px 13px;margin:4px -5px;border-radius:4px;font-weight:600}.sidebar nav a.active{background:#d7e2d2}.sidebar .foot{margin-top:auto;padding-top:30px}.avatar{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;background:#d3dfca;border-radius:50%;margin-right:9px}.user{display:flex;align-items:center;font-size:13px;margin-bottom:15px}.user small{display:block}.workspace{min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);gap:15px}.topbar .tagline{letter-spacing:1px;text-transform:uppercase;font-size:10px}main{max-width:1600px;margin:auto;padding:40px}.heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:32px}.heading p{color:var(--muted);max-width:650px;margin-bottom:0}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.section-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin:32px 0 0;gap:15px}.section-head h2{margin:0}.overview{display:flex;gap:34px;padding:20px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px;flex-wrap:wrap}.overview strong{font-size:25px;line-height:1.2;margin-right:8px;font-weight:550}.overview span{font-size:12px;color:var(--muted)}.project-row{display:grid;grid-template-columns:minmax(200px,2fr) 1.3fr 1.3fr 100px;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.project-row h3{font-size:18px;margin:0 0 5px}.project-row p{margin:0;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.project-row:hover{background:#eef2e8}.pill{font-size:11px;font-weight:600;border:1px solid var(--line);background:#eef2e9;border-radius:20px;display:inline-flex;align-items:center;gap:6px;padding:3px 9px;white-space:nowrap}.pill.completed,.pill.approved,.pill.verified_resolved{background:#e1efdf;color:#285138;border-color:#b9d5b7}.pill.failed,.pill.high,.pill.verified_defect{background:#f9e9e3;color:#983d2c;border-color:#ebc1b1}.pill.running,.pill.partial,.pill.medium,.pill.candidate{background:#f6efda;color:#785513;border-color:#e4d39d}.pill.dismissed{background:#e9e8ed;color:#655a73}.pill.positive{color:#285138}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.empty{padding:60px 32px;text-align:center;border:1px dashed #b5c3b0;background:#eff3e8;margin-top:22px}.empty h2{font-size:26px;margin:12px 0}.empty p{max-width:470px;margin:0 auto 24px;color:var(--muted)}.empty .index{font-family:Georgia,serif;font-size:60px;font-style:italic;color:#75956a;line-height:1}.form-panel{background:var(--surface);border:1px solid var(--line);padding:28px;margin:22px 0;border-radius:6px}.form-panel>p{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:18px}.wide{grid-column:1/-1}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}details{margin:18px 0}summary{cursor:pointer;font-weight:600;padding:10px 0}details>div{padding-top:15px}.url-form{display:grid;grid-template-columns:1fr auto;gap:12px}.url{word-break:break-all;font-size:13px}.run-row{display:grid;grid-template-columns:1fr 150px 170px 100px;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.run-row strong{font-size:14px}.run-row small{display:block;margin-top:6px}.run-row .url{display:block;margin-top:4px}.notice{background:#eaf0df;border:1px solid #cad6b6;padding:15px 18px;margin:20px 0;font-size:13px;border-radius:4px}.notice.error{background:#fff0ea;border-color:#e3bbaa;color:#953928}.progress{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.stage{padding:6px 10px;font-size:11px;background:#eef1e9;border:1px solid var(--line);border-radius:3px}.stage.running{border-color:#8b9d43;background:#edf1d5}.stage.failed{border-color:#d48d73;background:#faeae4}.stage.completed:before{content:'✓ ';color:var(--green)}.audit-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);gap:28px;align-items:start}.viewer-panel{position:sticky;top:16px;min-width:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.tabs{display:flex;gap:3px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs button{border:0;background:transparent;border-radius:0;font-size:12px;padding:12px 15px;color:var(--muted);border-bottom:2px solid transparent}.tabs button.selected{border-bottom-color:var(--green);color:var(--green)}.screen-frame{background:#dfe5da;padding:18px;max-height:780px;overflow:auto;border:1px solid #c9d2c4;border-radius:6px}.screen-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-bottom:10px}.screenshot{position:relative;line-height:0;max-width:100%;margin:auto;box-shadow:0 4px 20px #25352913}.screenshot img{width:100%;height:auto;display:block}.screenshot.mobile{max-width:390px}.highlight{position:absolute;border:2px solid #ca422b;background:#dc502b17;box-shadow:0 0 0 1px #fff9;pointer-events:none}.capture-select{max-width:260px;font-size:12px;padding:8px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.filters select,.filters input{font-size:12px;padding:9px}.findings-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.findings-head h2{margin:0}.finding{display:block;width:100%;text-align:left;padding:17px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;min-height:0;font-weight:400}.finding:hover{background:#eaf0e2}.finding.selected{background:#e6eddc;padding-left:12px;padding-right:12px}.finding h3{font-size:14px;margin:8px 0;line-height:1.45}.finding .meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.finding .id{font-size:10px;color:var(--muted);margin-left:auto}.finding p{font-size:12px;color:var(--muted);margin:0}.finding-detail{background:var(--surface);border:1px solid var(--line);padding:24px;margin:20px 0}.finding-detail h2{font-size:20px}.finding-detail h3{font-size:12px;margin:19px 0 6px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.finding-detail p{font-size:13px;margin-bottom:10px;overflow-wrap:anywhere}.finding-detail code{font-size:11px;overflow-wrap:anywhere}.finding-detail pre{font-size:11px;white-space:pre-wrap;word-break:break-word;background:#edf1e8;padding:13px;max-height:260px;overflow:auto}.finding-detail .actions button{font-size:12px;min-height:36px;padding:7px 11px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.history-entry{font-size:12px;padding:10px 0;border-top:1px solid var(--line)}.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.coverage-item{border:1px solid var(--line);padding:16px;background:var(--surface)}.coverage-item p{font-size:12px;margin:8px 0 0}.limitations{padding-left:20px;font-size:12px;color:var(--muted)}.limitations li{margin:7px 0}.approval{padding:24px;border:1px solid #b7c7a9;background:#eaf0e0;margin-top:28px}.approval h2{margin-bottom:8px}.approval p{font-size:13px}.reference-list{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}.reference-list img{height:110px;max-width:180px;object-fit:contain;border:1px solid var(--line)}.reference-list figure{margin:0}.reference-list figcaption{font-size:11px}.compare-pickers{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;margin:22px 0}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.compare-grid .screen-frame{max-height:570px}.compare-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:18px;align-items:center;justify-content:space-between}.compare-row h3{margin:0 0 4px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-intro{padding:55px 10%;background:#243f32;color:#f5f6ec;display:flex;flex-direction:column;justify-content:space-between}.login-intro .brand-mark{background:var(--lime);color:var(--ink)}.login-intro h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,80px);font-weight:400;line-height:1.08;letter-spacing:-3px;max-width:520px}.login-intro h1 em{color:var(--lime)}.login-intro p{color:#c4d3bd;max-width:390px}.login-intro .stamp{font-size:11px;letter-spacing:2px;color:#c4d3bd;border-top:1px solid #64816d;padding-top:20px}.login-form-wrap{padding:60px;display:flex;align-items:center;justify-content:center}.login-form{width:100%;max-width:360px}.login-form h2{font-size:30px}.login-form .primary{width:100%;margin-top:12px}.login-form .footnote{font-size:11px;margin-top:22px;color:var(--muted)}.error-text{color:var(--red);font-size:13px}.loading{padding:60px;color:var(--muted)}#toast{position:fixed;bottom:25px;right:25px;max-width:450px;z-index:20;padding:14px 20px;background:var(--ink);color:var(--paper);border-radius:5px;box-shadow:0 4px 25px #0002;display:none}#toast.visible{display:block}.report .finding-detail{break-inside:avoid}.report .screenshot{max-width:650px;margin:15px 0}.report .report-finding{border-bottom:1px solid var(--line);padding:25px 0}.report-finding h3{font-size:18px}.report-finding p{font-size:13px}.report .report-header{border-bottom:2px solid var(--green);padding-bottom:25px;margin-bottom:25px}.checkbox{display:flex;align-items:center;gap:9px;font-size:12px}.checkbox input{width:auto}.viewports{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.viewports .pair{display:flex;gap:6px;align-items:center}.viewports input{min-width:0}.kbd-note{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.shell{grid-template-columns:180px 1fr}.sidebar{padding:26px 16px}main{padding:28px}.topbar{padding:0 28px}.audit-layout{grid-template-columns:1fr}.viewer-panel{position:relative;top:0}.screen-frame{max-height:580px}.project-row{grid-template-columns:2fr 1fr 1fr}.project-row>:last-child{display:none}.run-row{grid-template-columns:1fr 120px 150px}.run-row>:last-child{grid-column:2/4}.brand{font-size:21px}.overview{gap:20px}}
@media(max-width:700px){.shell{display:block}.sidebar{position:relative;height:auto;padding:17px 20px;flex-direction:row;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand-sub,.sidebar .foot,.sidebar nav .nav-label{display:none}.sidebar nav a{font-size:12px;margin:0;padding:8px}.topbar{height:52px;padding:0 20px}.topbar .tagline{display:none}main{padding:26px 20px}.heading{display:block}.heading .actions{margin-top:18px}.project-row{grid-template-columns:1fr auto;gap:12px}.project-row>:nth-child(3){grid-column:1/-1}.form-grid,.detail-grid,.compare-grid{grid-template-columns:1fr}.form-panel{padding:20px}.url-form{grid-template-columns:1fr}.viewports{grid-template-columns:1fr}.run-row{grid-template-columns:1fr auto;gap:10px}.run-row>:nth-child(3){grid-column:1/-1}.run-row>:last-child{grid-column:2}.compare-pickers{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-intro{padding:30px;gap:40px}.login-intro h1{font-size:45px;letter-spacing:-2px;margin:0}.login-intro p,.login-intro .stamp{display:none}.login-form-wrap{padding:40px 25px}.screen-frame{padding:10px}.overview{gap:14px}.overview strong{font-size:21px}.overview>div{min-width:42%}.audit-layout{gap:20px}.compare-row{align-items:flex-start}.tabs button{padding:10px}.toolbar{gap:12px}}
@media(max-width:700px){.sidebar .foot{display:block;margin:0;padding:0}.sidebar .foot .user,.sidebar .foot .kbd-note{display:none}.sidebar .foot button{font-size:11px;padding:6px 9px;min-height:36px}.sidebar{gap:8px}.sidebar .brand{font-size:19px}}
@media print{@page{margin:15mm}body{background:#fff;color:#17271d;font-size:11px}.sidebar,.topbar,.no-print,#toast{display:none!important}.shell{display:block}main{padding:0;max-width:none}.report .report-finding{break-inside:avoid}.report .screenshot{max-width:430px}.report .screenshot.mobile{max-width:220px}.screen-frame{max-height:none;overflow:visible;background:none;border:0;padding:0}.notice,.approval{background:none}.limitations{color:#333}.report h1{font-size:28px}a{color:inherit}.report .finding-detail{border:0}.pill{font-size:9px}details{display:block}details>*{display:block}}
