*{margin:0;padding:0;box-sizing:border-box}html{height:100%;overflow:auto}html:before{content:"";position:fixed;top:-100vh;left:0;right:0;bottom:-100vh;background:linear-gradient(135deg,#667eea,#764ba2);z-index:-1}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;min-height:100vh;padding:2rem;position:relative}.container{max-width:1200px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.page-header-content{flex:1}h1{color:#333;margin-bottom:.5rem;font-size:2rem}.subtitle{color:#666;margin-bottom:0;font-size:1rem}.county-nav{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #dee2e6;font-size:.875rem;line-height:1.8;display:flex;flex-direction:column;gap:.75rem}.county-nav>a:first-child{color:#667eea}.county-list{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.county-nav span:not(:last-child):after{content:"•";color:#999;margin-left:.5rem}.data-source .county-nav a{color:#999;text-decoration:none}.data-source .county-nav a:hover{text-decoration:underline;color:#667eea}.data-source .county-nav a[style*="font-weight: bold"]{color:#667eea;font-weight:700}.county-nav .separator{color:#999;margin:0 .5rem}.chart-section{margin-bottom:3rem}.chart-section:last-of-type{margin-bottom:0}.section-title{color:#333;font-size:1.5rem;margin-bottom:.5rem;font-weight:600}.section-subtitle{color:#666;font-size:.9rem;margin-bottom:1.5rem}.chart-container{position:relative;height:500px;margin-bottom:2rem}.data-source{margin-top:2rem;padding:1rem;background:#f8f9fa;border-radius:8px;font-size:.875rem;color:#666;line-height:1.6}.data-source-text{margin-bottom:0}.data-source a{color:#667eea;text-decoration:none}.data-source a:hover{text-decoration:underline}.feedback-button{background:#667eea;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.feedback-button:hover{background:#5568d3}.feedback-button:active{transform:scale(.98)}.feedback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-modal{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.feedback-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.feedback-modal-header h2{color:#333;font-size:1.5rem;margin:0}.feedback-modal-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.feedback-modal-close:hover{background:#f0f0f0;color:#333}.feedback-form{display:flex;flex-direction:column;gap:1rem}.feedback-form-group{display:flex;flex-direction:column;gap:.5rem}.feedback-form-group label{color:#333;font-weight:600;font-size:.875rem}.feedback-form-group input,.feedback-form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:.875rem;transition:border-color .2s ease}.feedback-form-group input:focus,.feedback-form-group textarea:focus{outline:none;border-color:#667eea}.feedback-form-group textarea{resize:vertical;min-height:100px}.feedback-form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.feedback-button-primary,.feedback-button-secondary{padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.feedback-button-primary{background:#667eea;color:#fff}.feedback-button-primary:hover:not(:disabled){background:#5568d3}.feedback-button-primary:disabled{background:#ccc;cursor:not-allowed}.feedback-button-secondary{background:#f0f0f0;color:#333}.feedback-button-secondary:hover{background:#e0e0e0}.feedback-success{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;text-align:center}.feedback-success svg{color:#4caf50}.feedback-success p{color:#333;font-size:1.125rem;font-weight:600}.feedback-error{padding:.75rem;background:#ffebee;border:1px solid #ef5350;border-radius:8px;color:#c62828;font-size:.875rem}.sparkline-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.sparkline-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;transition:all .2s ease;text-decoration:none;color:inherit;display:flex;flex-direction:column;cursor:pointer}.sparkline-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.sparkline-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:.5rem}.sparkline-header h3{font-size:.875rem;font-weight:600;color:#333;margin:0;line-height:1.2}.sparkline-trend{font-size:.75rem;font-weight:600;padding:.125rem .375rem;border-radius:4px;white-space:nowrap}.sparkline-trend.positive{color:#2e7d32;background:#e8f5e9}.sparkline-trend.negative{color:#c62828;background:#ffebee}.sparkline-chart{height:60px;margin:.5rem 0;position:relative}.sparkline-loading{height:60px;display:flex;align-items:center;justify-content:center;color:#999;font-size:.75rem}.sparkline-footer{display:flex;justify-content:space-between;align-items:baseline;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f0f0f0}.sparkline-value{font-size:.875rem;font-weight:600;color:#333}.sparkline-year{font-size:.75rem;color:#999}@media(max-width:768px){body,.container{padding:1rem}h1{font-size:1.5rem}.chart-container{height:400px}.county-nav{font-size:.75rem}.page-header{flex-direction:column;align-items:stretch}.feedback-button{align-self:flex-end;padding:.5rem .875rem;font-size:.8rem}.feedback-modal{padding:1.5rem}.feedback-modal-header h2{font-size:1.25rem}.sparkline-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}}
