:root { color-scheme: light; --ink:#17231d; --muted:#5d6963; --line:#d8e0db; --paper:#f6f8f5; --green:#176b45; --green-dark:#0f4d32; --accent:#dff3e8; --red:#a12a2a; --orange:#a75217; --yellow:#8b6508; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
.skip-link { position:fixed; z-index:1000; top:1rem; left:1rem; padding:.7rem 1rem; border-radius:8px; background:var(--ink); color:white; font-weight:750; transform:translateY(-200%); }.skip-link:focus { transform:translateY(0); }
:focus-visible { outline:3px solid #31855d; outline-offset:3px; }
body { margin:0; color:var(--ink); background:var(--paper); line-height:1.55; }
.topbar { min-height:64px; padding:0 5vw; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); background:white; font-size:.9rem; }.account { display:flex; align-items:center; gap:1rem; }
.brand { color:var(--ink); font-weight:800; text-decoration:none; font-size:1.05rem; }.brand span { color:var(--green); font-weight:600; margin-left:.35rem; }
.site-nav { display:flex; gap:1.15rem; margin-left:auto; margin-right:1.5rem; }.site-nav a, footer a { color:var(--green-dark); text-decoration:none; font-weight:650; }.site-nav a:hover, .site-nav a[aria-current="page"], footer a:hover { text-decoration:underline; }
main { width:min(1120px, 92vw); margin:auto; }.hero { display:grid; grid-template-columns:1.7fr 1fr; gap:3rem; padding:72px 0 42px; align-items:end; }.hero h1 { font-size:clamp(2.4rem,5vw,4.6rem); line-height:1.02; letter-spacing:-.05em; max-width:850px; margin:.35rem 0 1.25rem; }.hero>div>p:last-child { font-size:1.2rem; color:var(--muted); max-width:720px; }.hero aside { padding:1.3rem; background:var(--accent); border-radius:14px; }.hero aside p { margin:.35rem 0 0; }
.eyebrow { font-size:.78rem; letter-spacing:.14em; font-weight:800; color:var(--green); }.auth-card { width:min(560px,100%); margin:0 auto 72px; padding:clamp(24px,5vw,48px); background:white; border:1px solid var(--line); border-radius:18px; box-shadow:0 18px 48px #1c3b2920; }.auth-card form { padding:0; }.workspace { background:white; border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 18px 48px #1c3b2920; margin-bottom:72px; }.steps { display:grid; grid-template-columns:repeat(3,1fr); background:#edf2ee; }.steps span { padding:1rem; text-align:center; font-size:.85rem; color:var(--muted); border-right:1px solid var(--line); }.steps .active { background:var(--green); color:white; font-weight:700; }
.editorial-status { margin:.9rem 0 0; color:var(--muted); font-size:.82rem; }
form, #confirmation, #result { padding:clamp(24px,5vw,58px); }h2 { font-size:clamp(1.7rem,3vw,2.6rem); letter-spacing:-.035em; margin:.1rem 0 .5rem; }h3 { margin-top:2rem; }.muted, small { color:var(--muted); }.grid.two { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }label { display:block; font-weight:650; margin:1.2rem 0; }input, select, textarea { width:100%; margin-top:.4rem; border:1px solid #aebbb3; border-radius:8px; padding:.78rem .85rem; background:white; color:var(--ink); font:inherit; }input:focus, select:focus, textarea:focus, button:focus { outline:3px solid #91cfae; outline-offset:2px; }.check { display:flex; gap:.6rem; align-items:flex-start; font-weight:500; }.check input { width:1.05rem; height:1.05rem; margin:.25rem 0 0; }.checks { display:grid; grid-template-columns:repeat(2,1fr); gap:0 1.5rem; }fieldset { margin:1.8rem 0; border:1px solid var(--line); border-radius:10px; padding:.5rem 1.2rem; }legend { font-weight:750; padding:0 .4rem; }button { border:0; border-radius:8px; padding:.85rem 1.2rem; background:var(--green); color:white; font:inherit; font-weight:750; cursor:pointer; }button:hover { background:var(--green-dark); }button:disabled { opacity:.65; cursor:wait; }.secondary { background:#e7ece8; color:var(--ink); }.secondary:hover { background:#d5ded8; }.link-button { width:auto; padding:.25rem 0; border-radius:0; background:transparent; color:var(--green); }.link-button:hover { background:transparent; color:var(--green-dark); text-decoration:underline; }.auth-card>.link-button { margin-top:1rem; }.actions { display:flex; gap:.8rem; margin-top:2rem; }.error { padding:1rem; background:#fde7e7; color:#7d1f1f; border-radius:8px; margin:1rem 0; }
dl { border-top:1px solid var(--line); margin:2rem 0; }dl div { display:grid; grid-template-columns:150px 1fr; padding:.9rem 0; border-bottom:1px solid var(--line); }dt { color:var(--muted); }dd { margin:0; font-weight:650; }.score { display:flex; align-items:center; gap:1.1rem; margin:1.6rem 0; }.score>span { display:grid; place-items:center; width:82px; height:82px; border:7px solid var(--green); border-radius:50%; font-size:1.55rem; font-weight:850; }.score p { margin:.2rem 0; color:var(--muted); }.pills { display:flex; flex-wrap:wrap; gap:.55rem; }.pill { padding:.35rem .65rem; border-radius:999px; font-size:.8rem; font-weight:800; background:#e5e9e6; }.pill.critical { background:#f8d9d9; color:var(--red); }.pill.high { background:#ffe5d1; color:var(--orange); }.pill.medium, .pill.low { background:#fff0bf; color:var(--yellow); }.pill.green { background:var(--accent); color:var(--green); }.findings { padding-left:1.25rem; }.findings li { padding:.35rem 0; }.locked { margin:2rem 0; padding:1.2rem; border:1px dashed #94a69b; border-radius:10px; background:#f5f7f5; }.locked p { margin:.25rem 0 0; }.disclaimer { font-size:.8rem; color:var(--muted); border-top:1px solid var(--line); padding-top:1rem; }
footer { text-align:center; color:var(--muted); padding:2rem 5vw 3rem; font-size:.82rem; border-top:1px solid var(--line); background:white; }
.content-page { max-width:980px; padding:72px 0 80px; }.content-page>h1 { max-width:850px; margin:.35rem 0 1.2rem; font-size:clamp(2.4rem,6vw,4.5rem); letter-spacing:-.05em; line-height:1.02; }.lead { max-width:780px; color:var(--muted); font-size:1.2rem; }.content-page section { margin-top:3.5rem; }.content-page section>p { max-width:780px; }.feature-grid,.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:1.5rem; }.feature-grid article,.pricing-grid article { padding:1.35rem; border:1px solid var(--line); border-radius:12px; background:white; }.feature-grid h3,.pricing-grid h2 { margin:.1rem 0 .5rem; }.pricing-grid .featured { border:2px solid var(--green); box-shadow:0 12px 32px #1c3b2918; }.button-link { display:inline-block; margin-top:1rem; padding:.85rem 1.2rem; border-radius:8px; background:var(--green); color:white; text-decoration:none; font-weight:750; }.button-link:hover { background:var(--green-dark); }.process-list,.check-list { padding-left:1.4rem; max-width:800px; }.process-list li,.check-list li { margin:.65rem 0; }.check-list li::marker { color:var(--green); }.pending li::marker { color:var(--orange); }.notice { margin-top:3.5rem; padding:1.3rem; background:var(--accent); border-left:4px solid var(--green); border-radius:8px; }.notice p { margin:.35rem 0 0; }.updated { color:var(--muted); font-size:.85rem; margin-top:2rem; }
.table-wrap { overflow-x:auto; }table { width:100%; border-collapse:collapse; background:white; }th,td { padding:.85rem; border:1px solid var(--line); text-align:left; vertical-align:top; }th { background:#edf2ee; }
.seo-overview { margin:0 0 3rem; }.tool-page { max-width:820px; }.tool-card { padding:1.5rem; border:1px solid var(--line); border-radius:14px; background:white; }.tool-card form { padding:0; }.tool-result { margin:1rem 0; padding:1rem; border-radius:8px; background:var(--accent); font-weight:700; }
.source-quote { max-width:760px; margin:1.5rem 0; padding:1rem 1.25rem; border-left:4px solid var(--green); background:white; }
.account-page { max-width:760px; }.settings-card { padding:1.5rem; border:1px solid var(--line); border-radius:14px; background:white; }.settings-card form { padding:0; }.danger-zone { border-color:#d9abab; }.danger-zone h2 { color:var(--red); }.danger-button { background:var(--red); }.danger-button:hover { background:#781f1f; }
.member-list { border-top:1px solid var(--line); }.member-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }.member-row p { margin:.2rem 0 0; color:var(--muted); }.member-actions { display:flex; align-items:center; gap:.55rem; }.member-actions button,.member-actions select { width:auto; }.member-actions button { padding:.65rem .8rem; }.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.product-library { max-width:1000px; }.product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.product-grid article { padding:1.25rem; border:1px solid var(--line); border-radius:12px; background:white; }.product-grid h2 { margin:.1rem 0 .55rem; }.product-grid p { margin:.3rem 0; }.record-list { padding-left:1.3rem; }.record-list li { margin:.65rem 0; }
.assessment-page { max-width:860px; }.assessment-page section { margin-top:2rem; }.finding-cards { display:grid; gap:1rem; }.finding-cards article { padding:1.25rem; border:1px solid var(--line); border-radius:12px; background:white; }.finding-cards article h3 { margin:.65rem 0 .25rem; }.finding-cards article dl { margin-bottom:0; }
.report-page { max-width:900px; }.report-page>article>h2 { margin-top:3rem; }.report-page .finding-cards section { margin-top:0; padding:1.25rem; border:1px solid var(--line); border-radius:12px; background:white; }.report-page .finding-cards h3 { margin:.65rem 0 .25rem; }.report-page .finding-cards dl { margin-bottom:0; }.report-page .disclaimer { margin-top:3rem; }
.billing-page { max-width:780px; }.billing-page section { margin-top:2rem; }.entitlement-list { display:grid; gap:1rem; }.entitlement-list article { padding:1.2rem; border:1px solid var(--line); border-radius:12px; background:white; }.entitlement-list h3 { margin:.1rem 0; }.entitlement-list p { margin:.25rem 0 .6rem; }
.dashboard-page { max-width:1000px; }.dashboard-page section { margin-top:2.5rem; }.metric-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.8rem; }.metric-grid article { display:grid; gap:.2rem; padding:1.1rem; border:1px solid var(--line); border-radius:12px; background:white; }.metric-grid strong { font-size:1.8rem; }.metric-grid span { color:var(--muted); font-size:.86rem; }.dashboard-columns { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }.dashboard-columns h2 { font-size:1.5rem; }.dashboard-columns .record-list li { display:grid; gap:.15rem; }.dashboard-actions { display:flex; flex-wrap:wrap; gap:.75rem; }.dashboard-actions .button-link { margin-top:0; }
.admin-shell { padding:48px 0 72px; }.admin-shell h1 { font-size:clamp(2.4rem,5vw,4rem); margin:.2rem 0; }.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin:2rem 0; }.admin-card { background:white; border:1px solid var(--line); border-radius:14px; padding:1.5rem; }.admin-card form { padding:0; }.rules-card { margin-bottom:2rem; }.section-heading,.rule-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.rule-row { padding:1rem 0; border-top:1px solid var(--line); }.rule-row p { margin:.15rem 0; color:var(--muted); }.rule-actions button { width:auto; padding:.5rem .7rem; font-size:.8rem; }
@media (max-width:860px) { .topbar { flex-wrap:wrap; padding-top:.7rem; padding-bottom:.7rem; }.site-nav { order:3; width:100%; margin:.6rem 0 0; overflow-x:auto; }.account { margin-left:auto; }.feature-grid,.pricing-grid { grid-template-columns:1fr; } }
@media (max-width:720px) { .account>span { display:none; }.hero { grid-template-columns:1fr; padding-top:45px; gap:1rem; }.grid.two, .checks,.admin-grid,.product-grid,.dashboard-columns { grid-template-columns:1fr; }.metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.steps span { padding:.75rem .35rem; font-size:.72rem; }dl div { grid-template-columns:1fr; gap:.2rem; }.actions { flex-direction:column-reverse; }.rule-row,.member-row,.member-actions { align-items:stretch; flex-direction:column; }.member-actions button,.member-actions select { width:100%; }button { width:100%; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
.regulatory-text { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 32rem; overflow: auto; font: inherit; }
