:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#1a1a1a;background-color:#f5f5f5}*{box-sizing:border-box}body{margin:0;min-height:100vh}#app{max-width:1200px;margin:0 auto;padding:1rem}header{text-align:center;padding:2rem 0;background:linear-gradient(135deg,#1a5f2a,#2d8a3e);color:#fff;border-radius:12px;margin-bottom:2rem}header h1{margin:0;font-size:2.5rem;font-weight:700}.tagline{margin:.5rem 0 0;opacity:.9;font-size:1.1rem}.intro{text-align:center;margin-bottom:1.5rem}.intro h2{margin:0 0 .5rem;color:#1a5f2a}.intro p{color:#666;margin:0}.filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filters input,.filters select{padding:.75rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;background:#fff}.filters input{flex:1;min-width:200px}.filters select{min-width:150px}.company-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.company-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.company-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.company-name{font-weight:600;font-size:1.1rem;color:#1a1a1a;margin:0}.company-ticker{color:#888;font-size:.85rem}.grade-badge{font-size:1.5rem;font-weight:700;padding:.25rem .75rem;border-radius:8px;min-width:50px;text-align:center}.grade-A{background:#22c55e;color:#fff}.grade-B{background:#84cc16;color:#fff}.grade-C{background:#eab308;color:#1a1a1a}.grade-D{background:#f97316;color:#fff}.grade-F{background:#ef4444;color:#fff}.card-body{flex:1}.sector{font-size:.85rem;color:#666;margin-bottom:.5rem}.spend{font-size:.9rem;color:#444}.spend strong{color:#1a1a1a}.grade-reason{font-size:.8rem;color:#888;margin-top:.5rem;font-style:italic}.stats-bar{display:flex;gap:2rem;justify-content:center;padding:1rem;background:#fff;border-radius:8px;margin-bottom:1.5rem}.stat{text-align:center}.stat-value{font-size:1.5rem;font-weight:700;color:#1a5f2a}.stat-label{font-size:.85rem;color:#666}footer{margin-top:3rem;padding:2rem;text-align:center;color:#666;font-size:.9rem;border-top:1px solid #ddd}footer a{color:#1a5f2a}@media(max-width:600px){header h1{font-size:1.8rem}.filters{flex-direction:column}.filters input,.filters select{width:100%}.stats-bar{flex-direction:column;gap:1rem}}
