/* Company Cards library. The individual report and PDF styles live in company-card.css. */
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--text); font-family:var(--font-sans); }
.cards-home { overflow:hidden; }
.cards-overview { padding-bottom:0; }
.cards-library-section { padding-top:31px; }
.cards-eyebrow { margin:0 0 8px; color:var(--primary); font-size:10px; font-weight:850; letter-spacing:.14em; }
.cards-library { padding:28px; border:1px solid var(--line); border-radius:var(--radius-xl); background:var(--surface); box-shadow:var(--shadow); }
.cards-toolbar { display:grid; grid-template-columns:1fr minmax(240px,380px); align-items:end; gap:18px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.cards-library-heading { display:flex; align-items:flex-end; gap:14px; }
.cards-library-count { margin-bottom:2px; padding:5px 9px; border:1px solid var(--line); border-radius:999px; background:var(--primary-soft); color:var(--text-muted); font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.cards-library-count strong { color:var(--primary); }
.cards-toolbar h2 { margin:0; font-size:22px; }
.cards-search span { display:block; margin-bottom:6px; color:var(--text-muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.cards-search input { width:100%; padding:11px 13px; border:1px solid var(--line-strong); border-radius:10px; background:var(--bg); color:var(--text); font:inherit; }
.cards-search input:focus { outline:3px solid var(--accent-focus); border-color:var(--primary); }
.cards-state,.cards-empty { margin:22px 0 0; padding:16px; border:1px dashed var(--line-strong); border-radius:12px; color:var(--text-muted); text-align:center; }
.cards-state.is-error { border-color:var(--danger-line); color:var(--danger-text); }
.cards-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:22px; }
.company-card-link { display:flex; min-width:0; min-height:225px; flex-direction:column; padding:18px; border:1px solid var(--line); border-left:3px solid var(--primary); border-radius:13px; background:var(--surface); color:var(--text); text-decoration:none; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.company-card-link:hover { transform:translateY(-2px); border-color:var(--primary); box-shadow:0 12px 28px rgba(15,32,27,.09); }
.company-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--text-muted); font-size:10px; font-weight:800; letter-spacing:.06em; }
.company-card-top b { padding:4px 7px; border-radius:999px; background:var(--primary-soft); color:var(--primary); font-size:9px; text-transform:uppercase; }
.company-card-link h3 { margin:18px 0 6px; font-size:21px; line-height:1.12; }
.company-card-link>p { margin:0; color:var(--text-muted); font-size:11px; }
.company-card-stats { display:flex; align-items:flex-end; gap:20px; margin-top:auto; padding-top:20px; }
.company-card-stats span small,.company-card-stats span strong { display:block; }
.company-card-stats small { color:var(--text-muted); font-size:8px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.company-card-stats strong { margin-top:2px; font-size:18px; }
.company-card-stats em { margin-left:auto; color:var(--primary); font-size:10px; font-style:normal; font-weight:850; text-transform:uppercase; }
.company-card-open { display:flex; justify-content:space-between; margin-top:15px; padding-top:12px; border-top:1px solid var(--line); color:var(--primary); font-size:11px; font-weight:800; }
@media (max-width:1100px) { .cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .cards-toolbar { grid-template-columns:1fr; }.cards-library { padding:20px 16px; }.cards-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .cards-library-heading { align-items:flex-start; flex-direction:column; gap:8px; }.cards-library { border-radius:18px; } }
