:root{--brand-navy: #040059;--brand-blue: #4f84f8;--brand-blue-dark: #3567d6;--brand-orange: #ff8406;--bg: #ffffff;--bg-elev: #f6f8fc;--bg-tint: #eef3ff;--card: #ffffff;--border: #e3e7ef;--border-strong: #cfd6e4;--text: #14183a;--muted: #5b6472;--heading: var(--brand-navy);--accent: var(--brand-blue);--ok: #1f9d57;--warn: var(--brand-orange);--bad: #d64545;--na: #8a93a3;--radius: 12px;--header-h: 88px;--shadow-sm: 0 1px 2px rgba(4, 0, 89, .06);--shadow-md: 0 6px 24px rgba(4, 0, 89, .08);--font: "Sofia Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{color:var(--heading)}a{color:var(--brand-blue-dark)}.container{max-width:1080px;margin:0 auto;padding:0 20px 80px}.site-footer{border-top:1px solid var(--border);padding:20px;text-align:center;font-size:13px;color:var(--muted)}.site-footer a{color:var(--brand-blue-dark)}.site-header{border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}.site-header .inner{max-width:1080px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px}.brand .logo{height:30px;width:auto;display:block}.brand-divider{width:1px;height:24px;background:var(--border-strong)}.brand-label{font-weight:600;font-size:15px;color:var(--muted);letter-spacing:.01em}button,.btn{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--border-strong);background:#fff;color:var(--text);padding:8px 14px;transition:border-color .15s,background .15s,box-shadow .15s}button:hover,.btn:hover{border-color:var(--brand-blue)}button.primary{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff;font-weight:600}button.primary:hover{background:var(--brand-blue-dark);border-color:var(--brand-blue-dark)}button.danger{border-color:var(--bad);color:var(--bad);background:#fff}button.danger:hover{background:#fdecec}button:disabled{opacity:.5;cursor:not-allowed}a.btn{text-decoration:none;display:inline-block}section{margin-top:44px}section h2{font-size:21px;margin:0 0 4px}section .section-sub{color:var(--muted);margin:0 0 18px;font-size:14px}.hero{margin-top:36px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:30px 32px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--brand-blue),var(--brand-orange))}.hero .eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--brand-orange)}.hero h1{margin:0 0 8px;font-size:28px}.hero .headline{color:var(--brand-navy);font-size:16px;font-weight:600;margin:0 0 14px}.hero p{margin:0 0 12px;color:#33384f}.hero .meta{margin-top:16px;font-size:13px;color:var(--muted)}.grid{display:grid;gap:14px}.grid.frameworks{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.grid.ksis{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid.docs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}.card:hover{box-shadow:var(--shadow-md)}.card h3{margin:0 0 6px;font-size:15px}.card p{margin:0;font-size:13.5px;color:var(--muted)}.card .code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--na);letter-spacing:.02em}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pill.met,.pill.active,.pill.certified{color:#16733f;background:#e6f5ec;border-color:#bfe4cd}.pill.in_progress,.pill.aligned{color:#9a4d00;background:#fff1e0;border-color:#ffd8ac}.pill.not_met{color:#a5322f;background:#fdecec;border-color:#f4c4c2}.pill.not_applicable,.pill.planned{color:#4b5563;background:#eef0f3;border-color:#d7dce3}.ksi-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}.ksi-note{margin-top:10px!important;font-style:italic;color:#4a5163!important}.ksi-admin{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-strong);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ksi-editor,.fw-editor{flex-direction:column;align-items:stretch;gap:10px}.ksi-editor label,.fw-editor>label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:var(--muted)}.ksi-editor textarea{width:100%;resize:vertical}.ksi-editor .hint{font-weight:400;color:var(--na)}.ksi-editor-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fw-editor .fw-toggle{flex-direction:row;align-items:center;gap:8px;font-weight:500;color:var(--text);cursor:pointer}.fw-editor .fw-toggle input{width:auto;margin:0}.fw-editor select{align-self:flex-start}.card.fw-hidden{opacity:.6}.card.fw-hidden:hover{opacity:1}input,select,textarea{font:inherit;background:#fff;color:var(--text);border:1px solid var(--border-strong);border-radius:8px;padding:7px 9px}input:focus,select:focus,textarea:focus{outline:2px solid rgba(79,132,248,.35);outline-offset:0;border-color:var(--brand-blue)}input[type=checkbox],input[type=radio]{width:auto;padding:0;border:0;border-radius:0;accent-color:var(--brand-blue);cursor:pointer}.ksi-meta{margin-top:10px;font-size:11.5px;color:var(--na)}.admin-banner{margin-top:18px;border:1px solid #ffd8ac;background:#fff6ec;border-left:4px solid var(--brand-orange);border-radius:var(--radius);padding:12px 16px;font-size:14px;color:#6b3d0a}.pending-banner{position:sticky;top:calc(var(--header-h) + 8px);z-index:9;box-shadow:0 6px 16px -8px #6b3d0a73}.notice{margin-top:18px;border:1px solid var(--border-strong);background:var(--bg-tint);border-left:4px solid var(--brand-blue);border-radius:var(--radius);padding:12px 16px;font-size:13.5px;color:#23325c}.notice code,.admin-banner code{background:#04005914;padding:1px 5px;border-radius:4px;font-size:12px;word-break:break-all}.upload-form{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:18px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.upload-form .full{grid-column:1 / -1}.upload-form label{font-size:12px;color:var(--muted);display:block;margin-bottom:4px;font-weight:600}.doc-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}.doc-row.doc-actions{justify-content:flex-start;flex-wrap:wrap;gap:8px}.upload-form .doc-visibility,.doc-visibility{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text);cursor:pointer;margin-bottom:0}.doc-visibility input{width:auto;margin:0}.narrative-editor{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:grid;gap:12px}.narrative-editor label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}.narrative-editor input,.narrative-editor textarea{width:100%}.narrative-editor textarea{resize:vertical;line-height:1.6}.narrative-editor .full{grid-column:1 / -1}.narrative-editor-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}button.ghost{background:transparent;border-color:transparent;color:var(--brand-blue-dark)}button.ghost:hover{border-color:var(--border-strong)}.narrative-preview{margin-top:12px}.narrative-preview .hero{margin-top:6px}.preview-tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:var(--bg-tint);border:1px solid var(--border);border-radius:6px;padding:2px 7px}.error-text{color:var(--bad);font-size:13px}.loading{color:var(--muted);padding:20px 0}.user-chip{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:10px}.gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg-elev)}.gate-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);padding:40px;max-width:460px;text-align:center}.gate-logo{height:32px;width:auto;margin-bottom:20px}.gate-card h1{font-size:22px;margin:0 0 10px}.gate-lead{color:var(--muted);font-size:14px;margin:0}.gate-meta{margin-top:18px;font-size:13px;color:var(--muted)}.gate-actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.count-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;border-radius:999px;background:var(--brand-orange);color:#fff;font-size:12px;font-weight:700;vertical-align:middle}.approvals-card,.access-card,.snapshots-card{padding:4px 18px}.approvals-card:hover,.access-card:hover,.snapshots-card:hover{box-shadow:var(--shadow-sm)}.approvals-card .error-text,.access-card .error-text,.snapshots-card .error-text{margin:12px 0 4px}.snapshot-create{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0;border-bottom:1px solid var(--border)}.snapshot-create input{flex:1 1 260px}.access-toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding:12px 0}.access-tabs,.access-export{display:flex;gap:8px}.access-tabs button,.access-export button{font-size:12.5px;padding:5px 12px}.audit-filters{display:flex;flex-wrap:wrap;gap:12px;padding:4px 0 14px}.audit-filters label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.table-scroll{overflow-x:auto}.access-table{table-layout:auto;min-width:620px}.access-table th,.access-table td{padding-right:22px;vertical-align:top}.access-table .u-name,.access-table .u-sub{white-space:normal;overflow-wrap:anywhere}.access-table td .pill{margin-left:6px}.trunc-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;border-bottom:1px dotted currentColor;cursor:help}.approvals-table{width:100%;border-collapse:collapse;font-size:13.5px;table-layout:fixed}.approvals-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 12px;border-bottom:1px solid var(--border)}.approvals-table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}.approvals-table .col-select{width:52px;text-align:center}.approvals-table .col-status{width:104px}.approvals-table .col-requested{width:120px;white-space:nowrap}.approvals-table .col-actions{width:172px}.bulk-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--border)}.bulk-toolbar button{font-size:12.5px;padding:5px 12px}.bulk-count{font-size:12.5px;color:var(--muted);margin-right:4px;min-width:74px}.toolbar-divider{width:1px;align-self:stretch;min-height:20px;background:var(--border-strong);margin:0 2px}.approvals-table .u-name .pill{margin-left:6px;vertical-align:middle}.select-cell{display:inline-flex;align-items:center;gap:6px}.approvals-table tr.row-selected td{background:var(--bg-tint)}.u-name{font-weight:600;overflow-wrap:anywhere}.u-sub{font-size:12px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.approvals-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.approvals-actions button{font-size:12.5px;padding:5px 11px}.lock-toggle{border:1px solid var(--border-strong);background:#fff;border-radius:8px;padding:4px 9px;font-size:13px;line-height:1;cursor:pointer}.lock-toggle:hover{border-color:var(--brand-orange)}.lock-toggle[aria-pressed=true]{border-color:var(--brand-orange);background:#fff6ec}.locked-card{display:flex;align-items:center;gap:16px;background:var(--bg-elev);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:20px 22px}.locked-icon{font-size:22px}.locked-card p{margin:4px 0 0;color:var(--muted);font-size:13px}.locked-card button{margin-left:auto}@media(max-width:640px){.approvals-table,.approvals-table tbody,.approvals-table tr,.approvals-table td{display:block;width:auto}.approvals-table thead{display:none}.approvals-table tr{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:8px 12px}.approvals-table td{border:none;padding:4px 0;white-space:normal}.approvals-table .col-actions{margin-top:6px}.approvals-actions{justify-content:flex-start}.access-table{display:table;width:100%}.access-table thead{display:table-header-group}.access-table tbody{display:table-row-group}.access-table tr{display:table-row;border:none;margin:0;padding:0}.access-table td{display:table-cell;border-bottom:1px solid var(--border);padding:12px}}@media(max-width:560px){.upload-form{grid-template-columns:1fr}.brand-label{display:none}.locked-card{flex-direction:column;align-items:flex-start}.locked-card button{margin-left:0}}
