*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top,#0f172a,#020617);color:#e5e7eb}a{color:#38bdf8;text-decoration:none}a:hover{text-decoration:underline}.app-root{min-height:100vh;display:flex;flex-direction:column;overflow-x:clip;max-width:100%}.app-header{border-bottom:1px solid rgba(148,163,184,.3);padding:.75rem 1.5rem .5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10;background:#0f172ae6;overflow-x:clip}.app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:2.5rem;height:2.5rem;padding:0;border:1px solid rgba(148,163,184,.5);border-radius:.5rem;background:#0f172ae6;cursor:pointer;flex-shrink:0}.nav-toggle-bar{display:block;width:1.125rem;height:2px;margin:0 auto;border-radius:1px;background:#e5e7eb;transition:transform .2s ease,opacity .2s ease}.nav-toggle.is-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-open .nav-toggle-bar:nth-child(2){opacity:0}.nav-toggle.is-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-backdrop{display:none}.app-logo{font-weight:700;letter-spacing:.03em;color:#f9fafb}.search-form{flex:1;max-width:480px;min-width:0}.search-input{width:100%;padding:.5rem .75rem;border-radius:999px;border:1px solid rgba(148,163,184,.5);background:#0f172ae6;color:#e5e7eb}.search-input::placeholder{color:#6b7280}.app-nav{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.75rem;font-size:.9rem}.nav-link{padding:.25rem .75rem;border-radius:999px;color:#cbd5f5}.nav-link:hover{text-decoration:none;color:#f9fafb}.nav-link.active{background:#38bdf826;color:#f9fafb}.app-main{flex:1;padding:1.5rem;max-width:1200px;margin:0 auto}.app-footer{padding:.75rem 1.5rem;border-top:1px solid rgba(148,163,184,.3);font-size:.8rem;color:#9ca3af}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;min-width:0}.home-tables-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:stretch}.home-tables-row>.card{min-width:0}.home-tables-row>.card>h2{margin:0 0 .5rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin-top:.75rem}.table-scroll .data-table{margin-top:0;width:max-content;min-width:100%}.table-scroll .data-table th,.home-tables-row .data-table th{position:static;top:auto}@media (max-width: 768px){.home-tables-row{grid-template-columns:1fr}}.card{background:radial-gradient(circle at top left,#1f2937,#020617);border-radius:1rem;padding:1.25rem 1.5rem;border:1px solid rgba(148,163,184,.4);box-shadow:0 18px 45px #0f172acc;min-width:0}.card.error{border-color:#f97373;background:radial-gradient(circle at top left,#7f1d1d,#020617)}.span-2{grid-column:1 / -1}.card-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}.muted{color:#9ca3af}.small{font-size:.8rem}.data-table{width:100%;border-collapse:collapse;margin-top:.75rem;font-size:.9rem}.data-table th,.data-table td{padding:.4rem .5rem;border-bottom:1px solid rgba(30,64,175,.6)}.data-table th{text-align:left;font-weight:600;color:#c7d2fe;background:#0f172acc;position:sticky;top:3.5rem}.data-table tbody tr:nth-child(2n){background:#0f172a59}.data-table tbody tr:hover{background:#0f172ae6}.data-table .num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}.data-table td.positive{color:#86efac;font-variant-numeric:tabular-nums}.data-table td.negative{color:#fca5a5;font-variant-numeric:tabular-nums}.chart-card{margin-top:.75rem;margin-bottom:.5rem}.chart-caption{margin-bottom:.5rem}.chart-toggle{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.chart-toggle button{background:#0f172ae6;color:#94a3b8;border:1px solid rgba(148,163,184,.4);border-radius:999px;padding:.35rem .85rem;font-size:.85rem;cursor:pointer}.chart-toggle button.active{background:#38bdf826;border-color:#38bdf8;color:#e5e7eb}@media (max-width: 640px){.chart-card .recharts-responsive-container{min-height:260px}}.filters{display:flex;gap:.5rem;align-items:center}.filters select{background:#0f172ae6;color:#e5e7eb;border-radius:999px;border:1px solid rgba(148,163,184,.7);padding:.3rem .75rem}.filter-label{display:block;font-size:.75rem;color:#9ca3af;margin-bottom:.15rem}.pagination{margin-top:.75rem;display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.pagination button{background:#2563ebd9;border-radius:999px;padding:.3rem .9rem;border:none;color:#e5e7eb;cursor:pointer}.pagination button:disabled{opacity:.4;cursor:default}.person-summary .summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.error{color:#fecaca}.ad-slot{margin:1rem 0;text-align:center;min-height:90px}.ad-slot:not(.ad-slot--filled){display:none}.ad-slot-label{display:block;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:.25rem}.ad-slot .adsbygoogle{width:100%}.app-ad-footer{padding:0 1.5rem}.ad-card{padding-top:.75rem;padding-bottom:.75rem}.ad-card:not(:has(.ad-slot--filled)),.app-ad-footer:not(:has(.ad-slot--filled)){display:none}@media (max-width: 640px){.app-header{padding-left:1rem;padding-right:1rem}.app-header-inner{display:grid;grid-template-columns:1fr auto;grid-template-areas:"logo menu" "search search";gap:.5rem;align-items:center}.app-logo{grid-area:logo}.nav-toggle{display:flex;grid-area:menu}.search-form{grid-area:search;flex:none;max-width:none;width:100%}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;border:none;padding:0;background:#020617a6;cursor:pointer}.app-nav{display:none;flex-direction:column;flex-wrap:nowrap;gap:.25rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(148,163,184,.3)}.app-nav.is-open{display:flex}.nav-link{padding:.65rem .75rem;border-radius:.5rem;font-size:1rem}.app-main{padding-left:1rem;padding-right:1rem}.card-header{flex-direction:column;align-items:flex-start}.data-table th{top:5.5rem}.table-scroll .data-table th{position:static;top:auto}.data-table{font-size:.82rem}.data-table th,.data-table td{padding:.35rem .45rem}}
