:root{--bg:#f8f8f5;--surface:#fff;--ink:#141414;--muted:#6b6b6b;--line:#e4e3df;--accent:#730026;--accent-ink:#fff;--ok:#1c8a4e;--radius:12px;--shadow:0 1px 2px rgba(20,10,12,.06),0 8px 24px rgba(20,10,12,.06)}*{box-sizing:border-box}body{margin:0;font:17px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--accent);text-decoration:none}.page{max-width:820px;margin:0 auto;padding:3rem 1.25rem 5rem}.eyebrow{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.eyebrow,h1{margin:0 0 .4rem}h1{font-size:2rem;line-height:1.2}.muted{color:var(--muted)}.category{margin:2.4rem 0}.category-head h2{font-size:1.4rem;margin:0 0 .2rem}.category-head .muted{margin:0;font-size:.95rem}.empty{color:var(--muted);font-size:.95rem;font-style:italic;margin:1rem 0}.cards{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:1rem 0 0}.card{position:relative;display:block;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem 1.3rem;color:var(--ink)}.card:hover{filter:brightness(.99);box-shadow:0 2px 4px rgba(20,10,12,.08),0 12px 30px rgba(20,10,12,.1)}.card h3{margin:0 0 .2rem;font-size:1.25rem;color:var(--accent)}.card .lvl{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .6rem}.card p{margin:.2rem 0;font-size:.95rem}.card-disabled{border-top-color:var(--line);box-shadow:none;opacity:.7;cursor:default}.card-disabled:hover{filter:none;box-shadow:none}.badge,.card-disabled h3{color:var(--muted)}.badge{position:absolute;top:.9rem;right:1rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.18rem .55rem}.portal-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}.cert-link{font-weight:600}.cert-link:hover{text-decoration:underline}.card-login{max-width:440px;margin:12vh auto;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem 2rem 2.2rem}.card-login h1{color:var(--accent)}form{display:flex;flex-direction:column;gap:.7rem;margin-top:1.2rem}input[type=email],input[type=password],input[type=text]{padding:.7rem .8rem;border:1px solid var(--line);border-radius:9px;font-size:1rem;font-family:inherit}.small{font-size:.88rem;margin-top:1.1rem}button{padding:.7rem .9rem;border-radius:9px;border:1px solid transparent;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:1rem;cursor:pointer;font-family:inherit}button:hover{filter:brightness(1.08)}.alert{background:#fdecef;border:1px solid #f3c2cd;color:#7a0b22;border-radius:8px;padding:.6rem .8rem;font-size:.92rem}.ok{background:#e9f6ee;border:1px solid #bfe3cd;color:var(--ok);border-radius:8px;padding:.7rem .9rem}.signout{margin-top:2.5rem}.signout button{background:var(--surface);color:var(--accent);border-color:var(--line);font-weight:600}