/* Secure-RAG additions on top of the shared Fabric design system (fabric.css); same component set as ARA. */
.logo { display:inline-block; width:14px; height:14px; border-radius:3px; background:linear-gradient(135deg,#8fb3ff,#2E5496); margin-right:8px; vertical-align:-1px; }
.leftnav .footer-apps { margin-top:16px; padding:10px 20px; border-top:1px solid var(--line); font-size:11.5px; color:var(--muted); line-height:1.8; }
.leftnav .footer-apps a { display:inline; padding:0; border:0; font-size:12px; }
.banner { border-radius:6px; padding:8px 12px; margin:0 0 12px; font-size:13px; }
.banner.warn { background:#FBEFD2; color:#6B4400; border:1px solid #E8C77A; }
.banner.err { background:#fdecea; color:#7a1c15; border:1px solid #f5c6c0; }
.banner.ok { background:#e6f4ea; color:#1e4b26; border:1px solid #b7dfbf; }
h2.page { color:var(--dark); font-size:20px; margin:4px 0 6px; }
.lead { color:var(--ink-soft); font-size:14px; max-width:900px; }
.btnrow { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:10px; }
button.btn { font-family:inherit; }
.btn.secondary { background:#fff; color:var(--blue) !important; border:1px solid var(--blue); }
.badge.Inherent { background:#7b8794; }
.badge.neutral { background:#7b8794; }
.badge.applicable { background:var(--sev-critical); }
.badge.potentially_applicable { background:var(--sev-medium); }
.badge.not_enough_information { background:#7b8794; }
.badge.not_apparently_applicable { background:var(--sev-low); }
.badge.Blocked { background:var(--sev-low); } .badge.Partially { background:var(--sev-medium); }
.badge.Vulnerable { background:var(--sev-critical); } .badge.NA { background:#7b8794; }
.badge.status-complete { background:var(--sev-low); } .badge.status-failed { background:var(--sev-critical); }
.badge.status-brief_ready { background:var(--blue); } .badge.status-running, .badge.status-understanding,
.badge.status-queued, .badge.status-red_team { background:var(--sev-medium); }
.conf { font-size:11px; padding:1px 7px; border-radius:10px; border:1px solid var(--line); color:var(--ink-soft); background:#fff; white-space:nowrap; }
.conf.user_confirmed { border-color:#9fd3b0; color:#1e6b3a; background:#eef8f1; }
.conf.ai_inferred { border-color:#bcd0f2; color:#24477f; background:#eef3fc; }
.conf.not_specified { border-color:#f0c7a8; color:#8a4510; background:#fdf3ea; }
.subnav { position:sticky; top:0; z-index:5; background:var(--bg); padding:8px 0; display:flex; gap:6px; flex-wrap:wrap; border-bottom:1px solid var(--line); margin-bottom:8px; }
.subnav a { font-size:12.5px; padding:5px 10px; border-radius:14px; background:#fff; border:1px solid var(--line); color:var(--dark); }
.subnav a:hover { background:#eef2fa; text-decoration:none; }
.steps { list-style:none; padding:0; margin:6px 0; }
.steps li { padding:6px 0 6px 22px; position:relative; font-size:13px; border-bottom:1px dashed var(--line); }
.steps li:last-child { border-bottom:0; }
.steps li::before { content:""; position:absolute; left:4px; top:11px; width:9px; height:9px; border-radius:50%; background:var(--sev-low); }
.steps li.error::before { background:var(--sev-critical); }
.steps li .ts { color:var(--muted); font-family:monospace; font-size:11.5px; margin-right:8px; }
.spinner { display:inline-block; width:12px; height:12px; border:2px solid #c9d5ec; border-top-color:var(--blue); border-radius:50%; animation:spin .9s linear infinite; vertical-align:-2px; margin-right:6px; }
@keyframes spin { to { transform:rotate(360deg); } }
.heat { border-collapse:separate; border-spacing:3px; width:auto; background:transparent; }
.heat td, .heat th { border:0; text-align:center; font-size:11.5px; padding:6px; min-width:68px; }
.heat th { background:transparent; color:var(--muted); font-weight:600; }
.heat td.cell { color:#fff; border-radius:5px; height:38px; font-weight:600; }
.heat td.cell.Low { background:#7fc29b; } .heat td.cell.Medium { background:#efb555; }
.heat td.cell.High { background:#e5875a; } .heat td.cell.Critical { background:#d0574b; }
.heat td.cell.empty { opacity:.35; }
.kv2 { display:grid; grid-template-columns: 200px 1fr auto; gap:6px 12px; font-size:13px; align-items:start; }
.kv2 .k { color:var(--muted); }
.alt { border:1px solid var(--line); border-radius:8px; padding:12px; background:var(--highlight); }
.alt h4 { margin:0 0 6px; color:var(--dark); font-size:13.5px; }
.pros li { color:#1e6b3a; } .cons li { color:#8a2d22; }
ul.tight { margin:4px 0; padding-left:18px; } ul.tight li { margin:2px 0; font-size:13px; }
.finding { border:1px solid var(--line); border-radius:8px; padding:12px 14px; margin:10px 0; background:#fff; }
.finding h4 { margin:0 0 6px; color:var(--dark); font-size:14px; }
.horizon { border-left:3px solid var(--blue); padding-left:12px; margin:10px 0; }
.small { font-size:12px; }
.mono { font-family: Consolas, Menlo, monospace; font-size:12px; }
.empty-state { color:var(--muted); font-style:italic; padding:10px 0; }
details.more > summary { cursor:pointer; color:var(--blue); font-size:13px; margin:6px 0; }
.sample-links a { display:inline-block; margin:3px 6px 3px 0; font-size:12.5px; padding:4px 10px; border-radius:14px; background:#fff; border:1px solid var(--line); }
@media (max-width: 900px) { .kv2 { grid-template-columns: 1fr; } .heat td, .heat th { min-width:40px; padding:4px; font-size:10.5px; } }

/* Responsive shell: same behaviour as CALIBRE Governance Fabric v1.6+. */
.navtoggle, .navbtn { display:none; }
@media (max-width: 900px) {
  header.topbar { flex-wrap:wrap; gap:8px; padding:10px 14px; }
  header.topbar h1 { font-size:17px; } header.topbar p { font-size:11.5px; } header.topbar .meta { display:none; }
  .navbtn { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,0.15); color:#fff; border:1px solid rgba(255,255,255,0.35); border-radius:6px; padding:7px 12px; font-size:14px; cursor:pointer; min-height:40px; }
  .shell { display:block; min-height:0; }
  nav.leftnav { display:none; width:auto; border-right:0; border-bottom:1px solid var(--line); }
  #navtoggle:checked ~ .shell nav.leftnav { display:block; }
  main { padding:14px 12px !important; max-width:100%; overflow-x:hidden; }
  main table:not(.heat) { display:block; overflow-x:auto; max-width:100%; }
  .grid-2, .grid-3 { grid-template-columns:1fr !important; }
  input, select, textarea, button { max-width:100%; font-size:16px; }
}
@media print { .subnav, .btnrow, .banner, form { display:none !important; } }
.badge.PASS, .badge.DEFENDED { background:var(--sev-low); } .badge.FAIL, .badge.FAILED { background:var(--sev-critical); }
.badge.INCONCLUSIVE, .badge.ERROR { background:#7b8794; }
.badge.cls-public { background:#5f8f6e; } .badge.cls-internal { background:#2E5496; }
.badge.cls-confidential { background:var(--sev-medium); } .badge.cls-restricted { background:var(--sev-critical); }
.answer { white-space:pre-wrap; font-size:14px; line-height:1.55; background:var(--highlight); border:1px solid var(--line); border-radius:8px; padding:14px; }
.ev { border:1px solid var(--line); border-left:3px solid var(--blue); border-radius:6px; padding:10px 12px; margin:8px 0; background:#fff; }
.ev.q { border-left-color:var(--sev-critical); background:#fff7f6; }
.ev .h { font-weight:600; color:var(--dark); font-size:13px; }
.scorebar { display:flex; gap:10px; flex-wrap:wrap; font-size:11.5px; color:var(--muted); margin-top:4px; }
.chain-ok { color:var(--sev-low); font-weight:700; } .chain-bad { color:var(--sev-critical); font-weight:700; }
pre.json { background:#0f1b33; color:#d9e3f7; padding:10px; border-radius:6px; font-size:11.5px; overflow:auto; max-height:260px; white-space:pre-wrap; }

/* v3.0 */
.st{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap}
.st-PASS,.st-verified,.st-evidenced,.st-fixed_verified,.st-supported,.st-pass{background:#e3f4ea;color:#14532d}
.st-FAIL,.st-failed,.st-not_found,.st-open,.st-regressed,.st-unsupported,.st-fail{background:#fde4e4;color:#7f1d1d}
.st-INCONCLUSIVE,.st-unverified,.st-unclear,.st-partly,.st-SETUP_NEEDED,.st-AWAITING_REVOCATION,.st-fixed_pending_review,.st-uncited{background:#fff4d6;color:#7a4b00}
.st-ERROR{background:#eee;color:#333}.st-documented,.st-not_applicable{background:#e6eefc;color:#1e3a8a}
.sev-CRITICAL{color:#7f1d1d;font-weight:700}.sev-HIGH{color:#b45309;font-weight:700}.sev-MEDIUM{color:#1e3a8a}
pre.json{color:#1f2937;background:#f6f7f9;border:1px solid #e3e6ea;border-radius:6px;padding:10px;font-size:12px;overflow:auto;max-height:420px;white-space:pre-wrap}
.inline{display:inline}.inline button{margin:0}
table td form{margin:0}
.tabs a{margin-right:14px;font-weight:600}
textarea.code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}
.btn.alt{background:#eef2fa;color:var(--dark) !important;border:1px solid #d5ddeb}
.btn[disabled],button[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(60%)}
