/* Rule of Credit internal platform. Brand: warm white, charcoal, persimmon square. Fonts are self-hosted (SIL OFL). */
@font-face{font-family:'Syne';src:url("fonts/syne-latin-wght-normal.559e8363d74f.woff2") format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:'Hanken Grotesk';src:url("fonts/hanken-grotesk-latin-wght-normal.c501f578bf3f.woff2") format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#F6F2EC;--surface:#FFFFFF;--ink:#1C1B1F;--muted:#5F5A54;--line:#DDD5CA;--stop:#E2552D;--stop-ink:#B23C19;
--bad:#B42318;--bad-bg:#FDECEA;--warn:#8A5A00;--warn-bg:#FFF4D6;--good:#2F6B4F;--good-bg:#E7F2EC;--conf:#5B3A8A;--conf-bg:#F1EAFB;--info-bg:#EEF0F3;
--body:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;--display:'Syne','Arial Black',sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--body)}
a{color:var(--stop-ink)}
header.top{background:var(--ink);color:#fff;display:flex;align-items:center;gap:24px;padding:10px 24px;flex-wrap:wrap}
header.top a{color:#fff;text-decoration:none;font-weight:600}
header.top .brand{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.03em}
.sq{display:inline-block;width:.32em;height:.32em;background:var(--stop);margin-left:.05em}
header.top nav{display:flex;gap:18px;flex:1;flex-wrap:wrap}
header.top .who{font-size:13px;opacity:.85}
main{padding:20px 24px 60px;max-width:1280px;margin:0 auto}
h1,h2,h3{line-height:1.2;margin:0 0 10px}
h1{font-family:var(--display);font-size:26px;letter-spacing:-.02em}
h2{font-size:18px;margin-top:22px}
.muted{color:var(--muted)} .small{font-size:13px}
.card{background:var(--surface);border:1px solid var(--line);padding:16px 18px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
table{border-collapse:collapse;width:100%;background:var(--surface)}
th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#FBF9F6}
.tw{overflow-x:auto;border:1px solid var(--line);margin-bottom:16px}
.btn,button{display:inline-block;background:var(--ink);color:#fff;border:2px solid var(--ink);padding:7px 14px;font:600 14px var(--body);cursor:pointer;text-decoration:none}
.btn:hover,button:hover{background:var(--stop);border-color:var(--stop)}
.btn.ghost,button.ghost{background:transparent;color:var(--ink)}
.btn.danger,button.danger{background:var(--bad);border-color:var(--bad)}
.pill{display:inline-block;padding:1px 8px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}
.s-pass{background:var(--good-bg);color:var(--good)} .s-fail{background:var(--bad-bg);color:var(--bad)}
.s-needs_info{background:var(--warn-bg);color:var(--warn)} .s-conflict{background:var(--conf-bg);color:var(--conf)}
.s-info,.s-na{background:var(--info-bg);color:var(--muted)}
.sev{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.cite{font-size:12px;color:var(--muted)}
.tabs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:2px solid var(--ink);margin:14px 0 18px}
.tabs a{padding:7px 12px;text-decoration:none;color:var(--ink);font-weight:600;font-size:14px}
.tabs a.on{background:var(--ink);color:#fff}
.stages{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0}
.stages span{font-size:12px;padding:3px 8px;background:#EDE7DE;color:var(--muted)}
.stages span.done{background:#D9E8DF;color:var(--good)} .stages span.now{background:var(--stop);color:#fff;font-weight:700}
form p{margin:0 0 12px}
form label{display:block;font-weight:600;font-size:13px;margin-bottom:3px}
input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],select,textarea,input:not([type]){width:100%;max-width:520px;padding:7px 9px;border:1px solid #BDB4A8;background:#fff;font:14px var(--body)}
input[type=checkbox]{transform:scale(1.15);margin-right:6px}
.helptext{display:block;font-size:12px;color:var(--muted);max-width:620px}
.errorlist{color:var(--bad);margin:2px 0;padding-left:18px;font-size:13px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:4px 24px}
.msg{padding:10px 14px;margin-bottom:12px;border-left:4px solid}
.msg.success{background:var(--good-bg);border-color:var(--good)} .msg.error{background:var(--bad-bg);border-color:var(--bad)}
.msg.warning,.msg.info{background:var(--warn-bg);border-color:var(--warn)}
.gate li{margin-bottom:4px}
.kpis{display:flex;gap:10px;flex-wrap:wrap}
.kpi{background:var(--surface);border:1px solid var(--line);padding:10px 14px;min-width:110px}
.kpi b{display:block;font-size:22px;font-family:var(--display)}
.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.col{background:#EFE9E0;padding:10px;min-height:120px}
.col h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.fcard{display:block;background:#fff;border:1px solid var(--line);padding:8px 10px;margin-bottom:8px;text-decoration:none;color:var(--ink)}
.fcard:hover{border-color:var(--stop)}
.fcard .ref{font-size:12px;color:var(--muted)}
.banner{background:var(--warn-bg);border:1px solid #E8D29A;padding:10px 14px;margin-bottom:14px}
.right{float:right}
@media print{header.top,.tabs,.noprint{display:none!important} body{background:#fff} main{padding:0} .card{border:0;padding:0}}
