@font-face { font-family:Manrope; src:url("/fonts/manrope-latin-wght.woff2") format("woff2"); font-weight:200 800; font-display:swap; }
@font-face { font-family:"DM Mono"; src:url("/fonts/dm-mono-latin-400.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"DM Mono"; src:url("/fonts/dm-mono-latin-500.woff2") format("woff2"); font-weight:500; font-display:swap; }
:root { --ink:#f6f6f8; --muted:#a4a4b0; --paper:#060608; --card:#111115; --surface-2:#1a1a20; --surface-3:#1e1e25; --line:#2c2c36; --green:#ff3b4d; --fill:#d3142c; --mint:#ff8f98; --red:#ff5c62; --amber:#ffb347; --ok:#4ade80; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,system-ui,sans-serif; }
a { color:inherit; }
.site-header { height:72px; padding:0 max(24px,calc((100vw - 1180px)/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(6,6,8,.82); }
.brand { display:flex; gap:11px; align-items:center; text-decoration:none; font-size:18px; font-weight:800; }
.brand-mark { display:grid; place-items:center; width:36px; height:36px; border-radius:9px; background:var(--surface-3); color:var(--mint); font:500 13px "DM Mono"; }
.header-note { color:var(--muted); font-size:13px; }
main { max-width:1180px; margin:auto; padding:64px 24px 90px; }
.flash { max-width:1180px; margin:18px auto -30px; padding:12px 24px; color:var(--green); }
.hero { display:grid; grid-template-columns:1.6fr .8fr; gap:80px; align-items:end; margin-bottom:52px; }
.eyebrow { margin:0 0 10px; color:var(--green); font:500 11px "DM Mono"; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { overflow-wrap:anywhere; }
.hero h1 { margin:0; font-size:clamp(43px,6vw,74px); line-height:.99; letter-spacing:-.055em; }
.hero h1 span { color:var(--green); }
.lede { max-width:720px; color:var(--muted); font-size:17px; line-height:1.7; }
.coverage-card { padding:28px; background:var(--surface-3); color:white; border-radius:18px; box-shadow:0 16px 40px #25131420; }
.coverage-card span,.coverage-card small { display:block; color:#bba9aa; font-size:12px; }
.coverage-card strong { display:block; margin:13px 0 20px; font-size:20px; line-height:1.35; }
.coverage-card small { line-height:1.6; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:15px; background:var(--card); margin-bottom:24px; overflow:hidden; }
.stats div { padding:23px; border-right:1px solid var(--line); }
.stats div:last-child { border:0; }
.stats strong,.stats span { display:block; }
.stats strong { font:500 27px "DM Mono"; }
.stats span { margin-top:6px; color:var(--muted); font-size:12px; }
.panel { padding:30px; border:1px solid var(--line); border-radius:15px; background:var(--card); margin:24px 0; }
.panel-heading { display:flex; justify-content:space-between; align-items:start; margin-bottom:24px; }
.panel h2 { margin:0; font-size:23px; letter-spacing:-.03em; }
.status-dot { padding:7px 10px; border-radius:30px; background:#331e1f; color:var(--green); font:500 11px "DM Mono"; }
.target-row { display:flex; gap:10px; }
.target-row input[type=url] { flex:1; min-width:0; padding:17px 18px; border:1px solid #4a3f40; border-radius:9px; background:var(--surface-2); font:14px "DM Mono"; outline:none; }
.target-row input[type=url]:focus { border-color:var(--green); box-shadow:0 0 0 3px #700d1415; }
.target-row input[type=submit] { border:0; border-radius:9px; padding:0 26px; background:var(--fill); color:white; font-weight:700; cursor:pointer; }
.tool-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:17px 0; }
.tool-option { padding:15px; display:flex; gap:11px; align-items:center; border:1px solid var(--line); border-radius:9px; cursor:pointer; }
.tool-option span,.tool-option small { display:block; }
.tool-option strong { font-size:13px; }
.tool-option small { color:var(--muted); font-size:11px; margin-top:2px; }
.authorization { color:var(--muted); font-size:12px; }
.errors { padding:14px 16px; margin-bottom:18px; border-radius:8px; background:#33211e; color:var(--red); }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th { color:var(--muted); font:500 10px "DM Mono"; letter-spacing:.08em; text-align:left; text-transform:uppercase; }
th,td { padding:14px 12px; border-bottom:1px solid #4b3f40; }
.badge { display:inline-block; padding:5px 9px; border-radius:20px; font:500 10px "DM Mono"; text-transform:uppercase; background:#2d2929; }
.badge.complete { color:var(--green); background:#331e1f; }.badge.running,.badge.queued { color:#ecd093; background:#332e1e; }.badge.failed { color:var(--red); background:#33201e; }.badge.large { padding:9px 14px; }
.empty { padding:35px; color:var(--muted); text-align:center; border:1px dashed var(--line); border-radius:9px; }
.page-nav { display:flex; justify-content:space-between; align-items:center; margin-bottom:42px; font-size:13px; }
.link-danger { border:0; background:none; color:var(--red); text-decoration:underline; cursor:pointer; }
.scan-title { display:flex; justify-content:space-between; gap:30px; align-items:start; margin-bottom:35px; }
.scan-title h1 { margin:4px 0; font-size:34px; letter-spacing:-.04em; }.scan-title p { color:var(--muted); font-size:13px; }
.result-stats { margin-top:0; }
.tool-results { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.tool-result { padding:18px; border-radius:11px; background:var(--surface-3); color:white; }.tool-result span,.tool-result small { display:block; color:#bba9aa; }.tool-result span { text-transform:uppercase; font:500 11px "DM Mono"; }.tool-result strong { display:block; margin:8px 0; font:500 26px "DM Mono"; }.tool-result small { font-size:11px; }
.finding { padding:22px 0; border-top:1px solid var(--line); }.finding:first-child { border-top:0; padding-top:0; }
.finding-top { display:flex; align-items:center; gap:10px; }.finding h3 { margin:0; font-size:16px; }.confidence { margin-left:auto; color:var(--muted); font-size:11px; }
.severity { padding:4px 8px; border-radius:4px; font:500 9px "DM Mono"; text-transform:uppercase; }.severity.critical,.severity.high { background:#33201e; color:var(--red); }.severity.medium { background:#332d1e; color:var(--amber); }.severity.low { background:#1e2833; color:#98c3e7; }.severity.info { background:#2e2929; color:#c3bbbc; }
.finding code { display:block; margin:13px 0; padding:10px; background:#322526; border-radius:5px; color:#c7b7b8; white-space:normal; }
.finding-meta { display:flex; flex-wrap:wrap; gap:22px; color:var(--muted); font-size:11px; }.finding-meta strong { color:var(--ink); }.evidence { color:var(--muted); font-size:12px; }
.progress-panel { display:flex; gap:20px; align-items:center; }.progress-panel p { color:var(--muted); margin-bottom:0; }.spinner { width:38px; height:38px; border:3px solid var(--line); border-top-color:var(--green); border-radius:50%; animation:spin 1s linear infinite; } @keyframes spin { to { transform:rotate(360deg); } }
/* dashboard feature strip */
.features { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:24px; }
.feature { padding:18px; border:1px solid var(--line); border-radius:12px; background:var(--card); }
.feature strong { display:block; font-size:13px; margin-bottom:7px; }
.feature span { color:var(--muted); font-size:12px; line-height:1.6; }
.mini-link { font:500 11px "DM Mono"; color:var(--green); text-decoration:underline; }

/* report action buttons */
.nav-actions { display:flex; gap:8px; align-items:center; }
.btn { display:inline-block; padding:8px 14px; border-radius:8px; border:1px solid var(--line); background:var(--card); color:var(--ink); font:500 12px "DM Mono"; text-decoration:none; cursor:pointer; }
.btn:hover { border-color:var(--green); }
.btn-primary { background:var(--fill); color:white; border-color:var(--green); }

/* two-column panels */
.split { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.split .panel { margin:24px 0; }

/* risk bars + severity chips */
.risk-bars { display:flex; flex-direction:column; gap:12px; }
.risk-row { display:grid; grid-template-columns:60px 1fr 34px; align-items:center; gap:12px; }
.risk-label { font:500 11px "DM Mono"; color:var(--muted); text-transform:uppercase; }
.risk-count { font:500 14px "DM Mono"; text-align:right; }
.meter { height:10px; background:#312627; border-radius:6px; overflow:hidden; }
.meter-fill { height:100%; border-radius:6px; min-width:2px; }
.meter-fill.high { background:var(--red); }.meter-fill.medium { background:var(--amber); }.meter-fill.low { background:#2f7dc0; }
.sev-chips { display:flex; flex-wrap:wrap; gap:14px; margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.sev-chip { display:flex; align-items:center; gap:7px; font:500 13px "DM Mono"; }
.tool-result.off { opacity:.4; }

/* OWASP coverage grid */
.owasp-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.owasp-card { padding:14px; border:1px solid var(--line); border-radius:10px; background:#362122; opacity:.55; }
.owasp-card.hit { opacity:1; border-color:#573335; background:var(--card); }
.owasp-card.blindspot.hit, .owasp-card.blindspot { border-color:#604729; background:#332b1e; opacity:1; }
.owasp-id { font:500 11px "DM Mono"; color:var(--green); }
.owasp-card strong { display:block; margin:6px 0; font-size:12px; line-height:1.35; }
.owasp-count { color:var(--muted); font:500 10px "DM Mono"; text-transform:uppercase; }
.blindspot-note { margin:16px 0 0; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; line-height:1.6; }

/* findings filter */
.filters { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:20px; }
.filter-group { display:flex; flex-wrap:wrap; gap:6px; }
.chip { padding:6px 12px; border:1px solid var(--line); border-radius:20px; background:var(--card); font:500 11px "DM Mono"; text-transform:capitalize; cursor:pointer; }
.chip.active { background:var(--surface-3); color:var(--mint); border-color:var(--ink); }
.filters input[type=search] { flex:1; min-width:180px; padding:9px 13px; border:1px solid var(--line); border-radius:8px; background:var(--surface-2); font:13px "DM Mono"; outline:none; }
.filters input[type=search]:focus { border-color:var(--green); }
.no-matches { padding:24px; text-align:center; color:var(--muted); }

/* finding enrichment */
.risk-pill { padding:4px 8px; border-radius:20px; font:500 9px "DM Mono"; text-transform:uppercase; }
.risk-pill.high { background:#33201e; color:var(--red); }.risk-pill.medium { background:#332d1e; color:var(--amber); }.risk-pill.low { background:#1e2833; color:#98c3e7; }
.confidence.high { color:var(--green); font-weight:600; }
.finding-meta em { color:var(--green); font-style:normal; }
.remediation { margin-top:12px; }
.remediation summary { cursor:pointer; font:500 11px "DM Mono"; color:var(--green); }
.remediation p { margin:8px 0 0; padding:12px; background:#312627; border-radius:6px; color:#c7b7b8; font-size:12px; line-height:1.6; }

/* ===== header nav ===== */
.site-nav { display:flex; align-items:center; gap:18px; font-size:14px; }
.site-nav a { text-decoration:none; color:var(--ink); }
.site-nav a:hover { color:var(--green); }
.scan-quota { padding:6px 11px; border:1px solid var(--line); border-radius:20px; font-size:12px; color:var(--muted); }
.scan-quota strong { color:var(--ink); }
.nav-cta { padding:8px 15px; background:var(--fill); color:white !important; border-radius:8px; font-weight:600; }
.nav-signout { border:0; background:none; color:var(--muted); cursor:pointer; font:inherit; text-decoration:underline; }
.flash.alert { color:var(--red); }

/* ===== buttons (shared) ===== */
.btn { display:inline-block; padding:10px 16px; border-radius:9px; border:1px solid var(--line); background:var(--card); color:var(--ink); font:600 13px Manrope,sans-serif; text-decoration:none; cursor:pointer; text-align:center; }
.btn:hover { border-color:var(--green); }
.btn-primary { background:var(--fill); color:white; border-color:var(--green); }
.btn-lg { padding:14px 24px; font-size:15px; }
.btn-sm { padding:6px 12px; font-size:12px; }
.btn-block { display:block; width:100%; }
.pill-on { display:inline-block; padding:4px 10px; border-radius:20px; background:#331e1f; color:var(--green); font:500 10px "DM Mono"; text-transform:uppercase; }
.link-plain { border:0; background:none; color:var(--green); text-decoration:underline; cursor:pointer; font:inherit; padding:0; }

/* ===== landing page ===== */
.landing-hero { display:grid; grid-template-columns:1.5fr .9fr; gap:60px; align-items:center; margin-bottom:60px; }
.landing-hero h1 { margin:0 0 18px; font-size:clamp(40px,5.5vw,66px); line-height:1.02; letter-spacing:-.05em; }
.landing-hero h1 span { color:var(--green); }
.hero-actions { display:flex; gap:12px; margin:26px 0 12px; flex-wrap:wrap; }
.hero-fine { color:var(--muted); font-size:13px; }
.landing-stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:15px; background:var(--card); margin-bottom:70px; overflow:hidden; }
.landing-stats div { padding:24px; border-right:1px solid var(--line); }
.landing-stats div:last-child { border:0; }
.landing-stats strong { display:block; font:500 30px "DM Mono"; }
.landing-stats span { display:block; margin-top:7px; color:var(--muted); font-size:12px; line-height:1.5; }
.landing-section { margin-bottom:70px; }
.landing-section > h2 { margin:6px 0 10px; font-size:32px; letter-spacing:-.035em; }
.section-lede { max-width:640px; color:var(--muted); font-size:16px; line-height:1.65; margin-bottom:30px; }
.tool-catalog { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.catalog-card { padding:24px; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.catalog-card header { display:flex; align-items:baseline; gap:10px; margin-bottom:8px; }
.catalog-card h3 { margin:0; font-size:19px; }
.catalog-card .role { color:var(--green); font:500 11px "DM Mono"; text-transform:uppercase; }
.catalog-blurb { color:var(--muted); font-size:13px; line-height:1.6; margin:0 0 14px; }
.catalog-card ul { margin:0 0 16px; padding-left:18px; }
.catalog-card li { font-size:13px; line-height:1.8; }
.catalog-owasp { display:flex; flex-wrap:wrap; gap:6px; }
.catalog-owasp span { padding:4px 9px; border-radius:20px; background:#312627; color:#c7b7b8; font:500 10px "DM Mono"; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.step { padding:22px; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.step span { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:var(--surface-3); color:var(--mint); font:500 15px "DM Mono"; margin-bottom:14px; }
.step strong { display:block; margin-bottom:6px; font-size:15px; }
.step p { color:var(--muted); font-size:13px; line-height:1.6; margin:0; }
.pricing-teaser { text-align:center; padding:50px; border:1px solid var(--line); border-radius:18px; background:var(--card); }
.pricing-teaser h2 { font-size:30px; }
.plan-row { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin:26px 0 30px; }
.plan-mini { padding:18px 26px; border:1px solid var(--line); border-radius:12px; }
.plan-mini .plan-name { display:block; color:var(--muted); font:500 11px "DM Mono"; text-transform:uppercase; }
.plan-mini strong { display:block; font:500 28px "DM Mono"; margin:6px 0; }
.plan-mini .plan-scans { color:var(--green); font-size:12px; }
.landing-footer { padding-top:30px; border-top:1px solid var(--line); }
.landing-footer p { color:var(--muted); font-size:12px; line-height:1.7; max-width:720px; }

/* ===== auth pages ===== */
.auth-wrap { display:grid; place-items:center; min-height:60vh; }
.auth-card { width:100%; max-width:440px; padding:38px; border:1px solid var(--line); border-radius:16px; background:var(--card); }
.auth-card h1 { margin:6px 0 8px; font-size:28px; letter-spacing:-.03em; }
.auth-lede { color:var(--muted); font-size:14px; line-height:1.6; margin-bottom:22px; }
.auth-form { display:flex; flex-direction:column; gap:15px; }
.auth-form label { display:flex; flex-direction:column; gap:7px; font:500 12px "DM Mono"; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.auth-form input { padding:13px 14px; border:1px solid #4a3f40; border-radius:9px; background:var(--surface-2); font:15px Manrope,sans-serif; outline:none; }
.auth-form input:focus { border-color:var(--green); box-shadow:0 0 0 3px #700d1415; }
.auth-form input[type=submit], .auth-form button[type=submit] { margin-top:6px; padding:14px; border:0; border-radius:9px; background:var(--fill); color:white; font-weight:700; font-size:15px; cursor:pointer; text-transform:none; letter-spacing:0; }
.otp-input { text-align:center; font:600 30px "DM Mono" !important; letter-spacing:14px; padding:16px !important; }
.auth-resend { margin-top:16px; text-align:center; }
.auth-switch { margin-top:20px; text-align:center; color:var(--muted); font-size:13px; }
.auth-switch a { color:var(--green); }
.auth-note { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.6; }

/* ===== pricing / plans ===== */
.pricing-head { text-align:center; margin-bottom:34px; }
.pricing-head h1 { font-size:36px; letter-spacing:-.04em; margin:6px 0 10px; }
.pricing-head .section-lede { margin:0 auto 24px; }
.quota-banner { display:inline-flex; gap:0; border:1px solid var(--line); border-radius:13px; overflow:hidden; background:var(--card); }
.quota-banner div { padding:16px 26px; border-right:1px solid var(--line); }
.quota-banner div:last-child { border:0; }
.quota-banner strong { display:block; font:500 24px "DM Mono"; }
.quota-banner span { color:var(--muted); font-size:11px; }
.dummy-note { margin-top:20px; color:var(--amber); font-size:13px; }
.dummy-note code, .checkout-card code, .auth-note code { background:#322526; padding:2px 6px; border-radius:4px; font:12px "DM Mono"; }
.plans { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:24px; }
.plan-card { position:relative; padding:30px; border:1px solid var(--line); border-radius:16px; background:var(--card); display:flex; flex-direction:column; }
.plan-card.featured { border-color:var(--green); box-shadow:0 16px 40px #700d1418; }
.plan-badge { position:absolute; top:-11px; left:50%; transform:translateX(-50%); padding:5px 12px; background:var(--fill); color:white; border-radius:20px; font:500 10px "DM Mono"; text-transform:uppercase; }
.plan-card h2 { margin:0 0 6px; font-size:22px; }
.plan-price { font:500 40px "DM Mono"; margin:6px 0; }
.plan-price span { font:400 13px Manrope; color:var(--muted); margin-left:6px; }
.plan-lead { color:var(--green); font-size:14px; margin:0 0 18px; }
.plan-features { list-style:none; padding:0; margin:0 0 22px; flex:1; }
.plan-features li { padding:8px 0 8px 24px; position:relative; font-size:13px; border-top:1px solid #4c3e3f; }
.plan-features li:before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:700; }
.plan-unit { text-align:center; color:var(--muted); font-size:11px; margin:12px 0 0; }

/* ===== checkout (dummy) ===== */
.checkout-summary { margin:22px 0; border:1px solid var(--line); border-radius:11px; overflow:hidden; }
.checkout-summary div { display:flex; justify-content:space-between; padding:13px 16px; border-bottom:1px solid #4c3e3f; font-size:14px; }
.checkout-summary span { color:var(--muted); }
.checkout-total { background:#342324; font-weight:700; }
.checkout-total strong { font:500 18px "DM Mono"; }
.checkout-cancel { display:block; text-align:center; margin-top:16px; }

/* ===== scan dashboard ===== */
.dash-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:26px; }
.dash-head h1 { margin:4px 0 0; font-size:38px; letter-spacing:-.04em; }
.quota-pill { display:flex; align-items:center; gap:9px; padding:11px 16px; border:1px solid var(--line); border-radius:12px; background:var(--card); }
.quota-pill strong { font:500 22px "DM Mono"; }
.quota-pill span { color:var(--muted); font-size:12px; }
.quota-pill.empty { border-color:#603029; background:#33221e; }
.quota-buy { margin-left:6px; color:var(--green); font:600 12px Manrope; text-decoration:underline; }
.out-of-scans { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.out-of-scans h2 { margin:0 0 6px; }
.out-of-scans p { color:var(--muted); margin:0; max-width:520px; }

/* interactive tool picker */
.picker-head { display:flex; justify-content:space-between; align-items:center; margin:20px 0 10px; font-size:13px; color:var(--muted); }
.picker-head em { font-style:normal; color:var(--green); font-weight:700; }
.picker-actions { display:flex; gap:14px; }
.tool-picker { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.tool-pick { position:relative; display:block; padding:18px; border:1.5px solid var(--line); border-radius:12px; cursor:pointer; background:var(--card); transition:border-color .12s, box-shadow .12s; }
.tool-pick:hover { border-color:#573335; }
.tool-pick.selected { border-color:var(--green); box-shadow:0 0 0 3px #700d1412; background:#331e1f; }
.tool-pick input { position:absolute; opacity:0; pointer-events:none; }
.tool-pick-head { display:flex; align-items:baseline; gap:9px; }
.tool-pick-head strong { font-size:15px; }
.tool-pick-head small { color:var(--muted); font:500 10px "DM Mono"; text-transform:uppercase; }
.tool-pick .tick { margin-left:auto; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; border:1.5px solid var(--line); color:transparent; font-size:12px; font-weight:700; }
.tool-pick.selected .tick { background:var(--fill); border-color:var(--green); color:white; }
.tool-pick-finds { margin:12px 0 10px; padding-left:16px; }
.tool-pick-finds li { font-size:12px; line-height:1.7; color:#c6b8b9; }
.tool-pick-owasp { color:var(--muted); font:500 10px "DM Mono"; }

/* authentication section */
.auth-section { margin:18px 0; border:1px solid var(--line); border-radius:11px; padding:14px 16px; background:#362122; }
.auth-section summary { cursor:pointer; font:600 13px Manrope,sans-serif; }
.auth-help { color:var(--muted); font-size:12px; line-height:1.6; margin:10px 0 14px; }
.auth-row, .auth-fields { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.auth-section label { display:flex; flex-direction:column; gap:6px; flex:1; min-width:160px; font:500 11px "DM Mono"; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.auth-section input, .auth-section select { padding:11px 12px; border:1px solid #4a3f40; border-radius:8px; background:var(--surface-2); font:14px "DM Mono"; outline:none; }
.auth-section input:focus, .auth-section select:focus { border-color:var(--green); }

/* system-docs CTA */
.docs-cta { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 24px; margin:24px 0; border:1px solid var(--line); border-radius:14px; background:var(--card); }
.docs-cta strong { display:block; margin-bottom:5px; }
.docs-cta span { color:var(--muted); font-size:13px; line-height:1.6; }
.docs-links { display:flex; gap:10px; flex-wrap:wrap; }

/* access-control (BAC) */
.bac-cta { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:26px; margin:24px 0; border-radius:16px; background:var(--surface-3); color:white; }
.bac-cta .eyebrow { color:var(--mint); }
.bac-cta strong { display:block; font-size:20px; margin:8px 0 8px; letter-spacing:-.02em; }
.bac-cta span { color:#bba9aa; font-size:13px; line-height:1.6; max-width:560px; display:block; }
.bac-cta .btn { white-space:nowrap; }
.bac-intro p { color:var(--muted); font-size:14px; line-height:1.7; margin:0; }
.bac-form .panel { margin:20px 0; }
.bac-target, .bac-paths { width:100%; padding:13px 14px; border:1px solid #4a3f40; border-radius:9px; background:var(--surface-2); font:14px "DM Mono"; outline:none; }
.bac-target:focus, .bac-paths:focus { border-color:var(--green); }
.identity-row { display:grid; grid-template-columns:1fr 1fr 2fr; gap:10px; margin-bottom:10px; }
.identity-row input, .identity-row select { padding:11px 12px; border:1px solid #4a3f40; border-radius:8px; background:var(--surface-2); font:13px "DM Mono"; outline:none; }
.identity-row input:focus, .identity-row select:focus { border-color:var(--green); }
.bac-submit { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.bac-submit .authorization { flex:1; min-width:240px; }
.bac-matrix td, .bac-matrix th { text-align:center; }
.bac-matrix td:first-child, .bac-matrix th:first-child, .bac-matrix td:nth-child(2), .bac-matrix th:nth-child(2) { text-align:left; }
.bac-matrix code { background:#322526; padding:2px 6px; border-radius:4px; font-size:12px; }
.matrix-cell { font:600 12px "DM Mono"; }
.matrix-cell.granted { color:var(--green); }
.matrix-cell.denied { color:var(--muted); }
.matrix-cell.violation { background:#33201e; color:var(--red); border-radius:4px; }

@media(max-width:800px) { .hero,.landing-hero { grid-template-columns:1fr; gap:25px; }.stats,.tool-grid,.tool-results,.features,.landing-stats,.steps { grid-template-columns:repeat(2,1fr); }.split,.owasp-grid,.tool-catalog,.tool-picker { grid-template-columns:1fr; }.owasp-grid { grid-template-columns:repeat(2,1fr); }.plans { grid-template-columns:1fr; }.target-row { flex-direction:column; }.target-row input[type=submit] { padding:16px; }.header-note { display:none; }.site-nav { gap:12px; font-size:13px; }.scan-quota { display:none; }.out-of-scans { flex-direction:column; align-items:flex-start; } }
@media(max-width:480px) { main { padding-top:38px; }.stats,.landing-stats { grid-template-columns:1fr 1fr; }.stats div:nth-child(2),.landing-stats div:nth-child(2) { border-right:0; }.tool-grid,.tool-results,.features,.owasp-grid,.steps { grid-template-columns:1fr; }.scan-title,.dash-head { flex-direction:column; align-items:flex-start; gap:14px; }.finding-top { flex-wrap:wrap; }.confidence { width:100%; margin:0; }.auth-card { padding:26px; }.quota-banner { flex-direction:column; }.quota-banner div { border-right:0; border-bottom:1px solid var(--line); } }

/* access-control (advanced BAC) UI */
.bac-identity { grid-template-columns:1.1fr .8fr 1fr 1.4fr 1.4fr; }
.check-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.check-option { display:flex; gap:9px; align-items:flex-start; padding:12px; border:1px solid var(--line); border-radius:9px; background:var(--card); font-size:13px; cursor:pointer; }
.check-option span { display:flex; flex-direction:column; gap:4px; }
.check-option small { color:var(--muted); font-size:11px; font-weight:400; line-height:1.5; }
.check-option-risky { border-color:#603029; background:#33221e; }
.check-option-risky small { color:var(--red); }
.access-types { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.access-chip { padding:6px 11px; border-radius:20px; background:#312627; color:#c7b7b8; font:500 11px "DM Mono"; }
.access-chip strong { color:var(--red); }
.access-badge { padding:4px 9px; border-radius:20px; background:#332d1e; color:var(--amber); font:600 9px "DM Mono"; text-transform:uppercase; }
.vstatus { font:500 10px "DM Mono"; }
.vstatus.confirmed-by-tool-needs-manual-review { color:var(--red); }
@media(max-width:800px){ .bac-identity { grid-template-columns:1fr 1fr; }.check-grid { grid-template-columns:1fr 1fr; } }
