@import url('/static/fonts.css');
:root{--ink:#172422;--muted:#697570;--line:#e1e7e2;--paper:#f5f7f3;--white:#fff;--lime:#d7f76f;--dark:#132724;--green:#32634c;--red:#a43738;--amber:#8a650b;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button{border:0}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:38px;letter-spacing:-1.4px;font-weight:600;line-height:1.15;margin-bottom:12px}h2{font-size:20px;letter-spacing:-.4px;font-weight:600}h3{font-size:15px}p{color:var(--muted);line-height:1.7}button.primary,.primary{display:inline-flex;gap:30px;justify-content:space-between;align-items:center;background:var(--dark);color:white;padding:14px 20px;border-radius:7px;font-weight:600;white-space:nowrap;text-decoration:none}.primary:hover{background:#29443c}.secondary{background:white;border:1px solid #bdc9c1;color:var(--ink);padding:11px 16px;border-radius:6px;font-weight:600}.secondary:hover{background:#edf2e9}.text-button{background:none;padding:6px 0;color:var(--green);font-weight:600}.icon-button{background:none;color:inherit;font-size:23px;padding:5px 8px}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.65px;margin-bottom:18px}.brand{display:flex;align-items:center;text-decoration:none;font-size:24px;letter-spacing:-1px;font-weight:700;gap:10px}.brand-icon{background:var(--lime);color:var(--dark);width:35px;height:35px;display:grid;place-items:center;border-radius:9px;font-weight:900}.brand-tag{font-size:10px;letter-spacing:1px;margin-left:auto;font-weight:400}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-story{background:var(--dark);color:white;padding:38px 48px;overflow:hidden;position:relative}.story-copy{max-width:540px;margin:100px auto 0}.story-copy .eyebrow{color:var(--lime)}.story-copy h1{font-size:clamp(42px,5.2vw,76px);font-weight:500;line-height:1.05;letter-spacing:-3px}.story-copy em{font-style:normal;color:var(--lime)}.story-copy p{color:#aabcaf;max-width:340px;margin-top:26px}.story-footer{display:flex;justify-content:space-between;border-top:1px solid #3b5047;padding-top:18px;font-size:9px;letter-spacing:1px;color:#b2c4b8}.signal-art{height:125px;display:flex;align-items:center;gap:9px;margin:24px 0}.signal-art span{height:25%;width:11px;background:var(--lime);opacity:.6;border-radius:20px}.signal-art span:nth-child(3n){height:65%;opacity:1}.signal-art span:nth-child(4n){height:90%;opacity:.8}.signal-art span:nth-child(2n){height:45%}.signal-art span:nth-child(7n){height:100%}.login-panel{display:flex;justify-content:center;align-items:center;position:relative;padding:40px}.login-card{width:100%;max-width:345px}.login-card h2{font-size:34px;letter-spacing:-1px}.login-card>.eyebrow{color:var(--green)}label{display:block;font-size:12px;font-weight:600;margin:20px 0 9px}input,textarea,select{width:100%;padding:12px;border:1px solid #ced7d0;border-radius:6px;background:white;color:var(--ink)}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--green)}.login-card .primary{width:100%;margin-top:10px}.login-note{font-size:12px;margin-top:26px}.login-bottom{position:absolute;bottom:30px;font-size:9px;letter-spacing:1.4px;color:var(--muted)}.error{color:var(--red);font-size:12px;margin-top:10px;min-height:10px}.workspace{display:flex;min-height:100vh}.sidebar{width:230px;flex-shrink:0;background:#fcfdfb;border-right:1px solid var(--line);padding:30px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.workspace-label{font-size:9px;letter-spacing:1.5px;color:#829084;margin:14px 0 48px}.nav{display:flex;gap:12px;align-items:center;text-align:left;width:100%;background:none;padding:13px 15px;border-radius:7px;color:var(--muted);font-size:13px;margin-bottom:5px}.nav span{font-size:20px;width:22px}.nav.active{background:#e9efe0;color:var(--dark);font-weight:600}.sidebar-note{margin-top:auto;padding:25px 4px;font-size:11px;font-weight:600}.sidebar-note p{font-size:11px;font-weight:400;margin-top:10px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5c864e;margin-right:5px}.account{border-top:1px solid var(--line);padding-top:22px;display:flex;gap:10px;align-items:center}.avatar{width:33px;height:33px;border-radius:50%;background:#e5ebdf;display:grid;place-items:center;font-size:12px}.account strong{display:block;font-size:12px}.account small{color:var(--muted);font-size:10px}.account .icon-button{margin-left:auto}main{margin-left:230px;width:calc(100% - 230px);display:flex;flex-direction:column;min-height:100vh}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:11px;color:var(--muted)}.slash{padding:0 15px;color:#bcc7bc}.topbar strong{font-weight:500;color:var(--ink)}.health{display:flex;align-items:center;gap:8px;font-size:10px}.health:before{content:'';width:6px;height:6px;background:#b08d40;border-radius:50%}.health.ready:before{background:#649153}.page-content{padding:40px;max-width:1600px;width:100%;margin:0 auto;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading .eyebrow{color:var(--green);margin-bottom:12px}.page-heading p{font-size:12px;margin-bottom:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:white;border-radius:9px;margin-bottom:30px}.metrics article{padding:24px;border-right:1px solid var(--line)}.metrics article:last-child{border-right:0}.metrics article>span{display:block;font-size:9px;letter-spacing:1px;color:var(--muted)}.metrics strong{font-size:34px;display:block;font-weight:500;letter-spacing:-1.5px;margin:12px 0 5px}.metrics small{color:var(--muted);font-size:10px}.overview-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;margin-bottom:32px}.panel{border:1px solid var(--line);background:white;padding:25px;border-radius:9px;margin-bottom:24px;overflow:hidden}.overview-grid>.panel{margin-bottom:0}.start-panel{background:#e8eede;position:relative}.start-panel .eyebrow{font-size:9px;color:var(--green)}.start-panel h2{font-size:29px;line-height:1.2;letter-spacing:-1px}.start-panel p{font-size:12px;max-width:300px}.start-panel .secondary{background:transparent;margin-top:10px;font-size:12px}.format-tags{display:flex;gap:10px;margin-top:28px;font-size:8px;font-weight:600;letter-spacing:.5px;color:#63745e}.format-tags span{padding:6px 8px;border:1px solid #cbd5c1;border-radius:4px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h2{font-size:16px}.panel-heading .text-button{font-size:10px}.recent-row{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.recent-row:last-child{border:0}.file-icon{width:34px;height:38px;border:1px solid var(--line);background:var(--paper);border-radius:5px;display:grid;place-items:center;color:var(--green);font-size:10px;font-weight:700}.recent-info{flex:1;min-width:0}.recent-info strong{display:block;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-info small{font-size:10px;color:var(--muted)}.badge{display:inline-block;font-size:9px;padding:5px 8px;border-radius:4px;background:#eef1ed;color:#637169;text-transform:capitalize;white-space:nowrap}.badge.completed,.badge.complete,.badge.LOW{background:#e7f0e6;color:#41673c}.badge.running,.badge.MEDIUM,.badge.partial{background:#fbf1d8;color:var(--amber)}.badge.failed,.badge.HIGH,.badge.CRITICAL{background:#fae8e6;color:var(--red)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:15px 0 18px}.section-heading h2{font-size:16px;margin:0}.section-heading span{font-size:10px;color:var(--muted)}.workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.workflow article{border-top:1px solid #cbd6c9;padding-top:20px}.workflow article>span{color:#7b8c75;font-size:11px}.workflow h3{margin:15px 0 9px;font-weight:500}.workflow p{font-size:11px;max-width:260px}.main-footer{margin:15px 40px 0;padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;color:#81907e}.empty{padding:42px 15px;text-align:center;color:var(--muted);font-size:12px;line-height:1.8}.empty strong{display:block;font-size:16px;color:var(--ink);margin-bottom:6px}.drop-zone{border:1px dashed #b1c2ad;border-radius:7px;padding:30px;text-align:center;cursor:pointer;background:#f8faf5;margin:0;display:flex;align-items:center;flex-direction:column;gap:10px}.drop-zone.drag{background:#e7f0d6;border-color:var(--green)}.drop-zone>span{font-weight:400;font-size:11px;color:var(--muted)}.drop-zone>small{color:var(--muted);font-size:10px;font-weight:400}.drop-zone .upload-icon{font-size:27px;color:var(--green);background:#e9efdf;width:44px;height:44px;display:grid;place-items:center;border-radius:8px}.drop-zone input{width:auto;max-width:100%;font-size:11px;background:transparent;border:0;padding:8px}.upload-controls{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:12px}.upload-controls>span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}progress{width:100%;margin-top:18px;accent-color:var(--green)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);padding:15px 12px;border-bottom:1px solid var(--line);font-weight:500;white-space:nowrap}td{padding:16px 12px;border-bottom:1px solid var(--line);max-width:420px;overflow-wrap:anywhere}td small{display:block;color:var(--muted);font-size:10px;margin-top:5px}td button{font-size:11px;margin-right:12px}td .danger{color:var(--red)}.muted{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.more{display:block;margin:22px auto 0;font-size:11px}.button-group{display:flex;gap:8px}.button-group a{font-size:11px;text-decoration:none}.finding{border:1px solid var(--line);border-left:3px solid #c6d1bb;border-radius:7px;padding:20px;margin:14px 0;background:white}.finding.HIGH,.finding.CRITICAL{border-left-color:#bb5951}.finding.MEDIUM{border-left-color:#c3a04f}.finding-header{display:flex;gap:10px;align-items:center;margin-bottom:14px}.finding-header strong{font-size:14px;overflow-wrap:anywhere}.finding h3{font-size:15px;margin-bottom:8px;overflow-wrap:anywhere}.finding p{font-size:12px;margin-bottom:10px}.finding details{font-size:11px;color:var(--muted);margin-top:12px}.finding pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6f0;padding:15px;color:#3b513f;max-height:300px;overflow:auto}.report-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:start}.report-layout .panel h2{font-size:16px}.trace-row{padding:13px 0;border-bottom:1px solid var(--line)}.trace-row strong{font-size:12px;display:block;margin-bottom:8px}.trace-row p{font-size:10px;margin:8px 0 0}.scope-note{background:#edf2e6;border:1px solid #dbe4d1;padding:20px;border-radius:8px;margin-bottom:24px;font-size:12px;line-height:1.7}.scope-note p{margin:8px 0 0;font-size:11px}.report-layout ul{padding-left:17px;font-size:11px;color:var(--muted);line-height:1.8}.stat-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-list div{background:var(--paper);border-radius:5px;padding:12px}.stat-list strong{display:block;font-size:18px;font-weight:500;margin-top:6px}.stat-list span{font-size:9px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:12px;padding:30px;max-width:560px;width:calc(100% - 30px);color:var(--ink);box-shadow:0 15px 80px #17242230}dialog::backdrop{background:#12201c70;backdrop-filter:blur(3px)}dialog h2{font-size:26px;letter-spacing:-.7px}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading .eyebrow{margin:0}dialog details{margin:20px 0}summary{cursor:pointer;font-size:12px;font-weight:500}dialog details p{margin-top:14px;font-size:11px}dialog .primary{width:100%;margin-top:14px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:999;background:#18332b;color:white;padding:15px 22px;border-radius:8px;max-width:calc(100% - 30px);font-size:12px;box-shadow:0 4px 20px #0003}.checkbox{display:flex;gap:8px;align-items:center}.checkbox input{width:auto}.audit-event{border-bottom:1px solid var(--line);padding:12px 0;font-size:11px;display:flex;justify-content:space-between;gap:15px;overflow-wrap:anywhere}[hidden]{display:none!important}
@media(min-width:1450px){.page-content{padding:50px 60px}.story-copy{margin-top:120px}}@media(max-width:1050px){.sidebar{width:190px;padding:25px 15px}main{margin-left:190px;width:calc(100% - 190px)}.page-content{padding:28px}.topbar{padding:0 28px}.page-heading{align-items:flex-start}h1{font-size:31px}.overview-grid{grid-template-columns:1fr 1fr}.metrics article{padding:18px}.report-layout{grid-template-columns:1fr}.section-heading span{display:none}.story-copy h1{font-size:55px}.login-story{padding:30px}}@media(max-width:760px){.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh;padding:30px}.sidebar{position:static;width:100%;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line)}.workspace{display:block}.sidebar .brand{font-size:20px}.workspace-label,.sidebar-note,.account{display:none}.sidebar nav{display:flex;gap:5px;margin-top:14px;overflow:auto}.nav{font-size:11px;padding:10px;width:auto;white-space:nowrap;margin:0}.nav span{display:none}main{margin:0;width:100%}.topbar{height:50px;padding:0 20px;font-size:10px}.page-content{padding:25px 20px}.page-heading{display:block}.page-heading>.primary,.page-heading>.button-group{margin-top:18px}h1{font-size:32px}.eyebrow{font-size:8px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.overview-grid{grid-template-columns:1fr;gap:18px}.workflow{grid-template-columns:1fr;gap:10px}.workflow p{max-width:none}.panel{padding:20px}.main-footer{margin:15px 20px 0}.main-footer span:last-child{display:none}.health{font-size:9px}.drop-zone{padding:20px}.upload-controls{align-items:flex-start}.upload-controls .primary{font-size:11px;padding:12px}.recent-row .badge{font-size:8px}td,th{padding:14px 8px}.report-layout{gap:15px}}
