
:root{ --brand:#0a5bd8; --text:#1e293b; --muted:#64748b; --bg:#f7f9fc; }
html{ font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; line-height:1.4; }
body{ margin:0; background:var(--bg); color:var(--text); }
.site-header{ padding:1rem; background:var(--brand); color:white; }
.brand{ display:flex; align-items:center; gap:1rem; }
.brand-logo{ height:56px; width:auto; display:block; }
.brand-text h1{ margin:.25rem 0 .25rem 0; font-size:1.15rem; }
.brand-text .tagline{ margin:0; opacity:.95; }
.disclaimer{ margin:.5rem 0 0 0; font-size:.95rem; opacity:.94; }
main{ padding:1rem; }
.tabs{ display:flex; gap:.5rem; margin-bottom:.75rem; }
.tab{ border:1px solid #cbd5e1; background:#fff; color:var(--text); padding:.5rem .75rem; border-radius:.5rem; cursor:pointer; }
.tab.active{ background:var(--brand); color:#fff; border-color:var(--brand); }
.panel{ display:none; }
.panel.active{ display:block; }
.search-box{ display:flex; flex-direction:column; gap:.5rem; max-width:640px; }
.search-box input{ padding:.75rem; border:1px solid #cbd5e1; border-radius:.5rem; font-size:1rem; }
.filterbar{ display:flex; gap:.75rem; align-items:center; margin:.5rem 0; color:#334155; }
.filterbar label{ margin-right:.5rem; }
.actions{ margin-top:.75rem; }
.actions button{ appearance:none; border:1px solid #cbd5e1; background:#fff; color:#0a5bd8; padding:.5rem .75rem; border-radius:.5rem; cursor:pointer; font-weight:600; }
.actions button:hover{ background:#f1f5f9; }
.results{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1rem; margin-top:1rem; }
.card{ background:white; border:1px solid #e2e8f0; border-radius:.75rem; padding:1rem; box-shadow:0 1px 2px rgba(0,0,0,.06); }
.card h2{ margin:.25rem 0 .75rem 0; font-size:1.05rem; }
.card ul{ list-style:none; padding:0; margin:0; }
.card ul.list li{ margin:.25rem 0; }
.card .meta{ color:#64748b; }
.card a{ color:#0a5bd8; text-decoration:none; }
.card a:hover{ text-decoration:underline; }
.empty,.error{ padding:.75rem; border-radius:.5rem; background:#fff3cd; color:#856404; }
.site-footer{ padding:1rem; color:#475569; }
@media print{
  body{ background:#fff; }
  header, .tabs, .search-box, .filters, .actions, footer{ display:none !important; }
  .results{ display:block; }
  .print-header{ margin-bottom: 1rem; }
  .print-header h1{ margin:.25rem 0; font-size:1.1rem; }
  .print-header .meta{ color:#475569; font-size:.9rem; }
  .print-brand{ display:flex; align-items:center; gap:.75rem; margin-bottom:.25rem; }
  .print-brand .logo{ height:48px; width:auto; }
  .print-brand .org{ font-weight:600; }
  .card{ page-break-inside: avoid; }
}
