:root{--primary-blue: #2E86AB;--secondary-blue: #A23B72;--success-green: #28A745;--light-gray: #F8F9FA;--dark-text: #2C3E50;--accent-teal: #17A2B8;--card-shadow: 0 4px 12px rgba(0, 0, 0, .1);--border-radius: 8px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--light-gray);color:var(--dark-text);line-height:1.6}.app{min-height:100vh}.hero-section{background:linear-gradient(135deg,var(--primary-blue),var(--secondary-blue));color:#fff;padding:80px 0;text-align:center}.hero-content{max-width:800px;margin:0 auto}.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem}.hero-title i{margin-right:1rem;color:#fff}.hero-subtitle{font-size:1.25rem;margin-bottom:2rem;opacity:.9}.hero-stats{display:flex;justify-content:center;gap:3rem;margin-top:2rem}.stat{text-align:center}.stat .stat-number{display:block;font-size:2rem;font-weight:700;color:#fff}.stat .stat-label{font-size:.9rem;opacity:.8}.container{max-width:1200px;margin:0 auto;padding:20px}.layout{display:flex;gap:30px;margin-top:40px}.state-row{cursor:pointer;transition:all .2s ease}.state-row:hover{background-color:#e3f2fd!important}.state-row.selected{background-color:#d1e7fd!important;font-weight:600}.state-row.selected td{color:var(--primary-blue)}.state-row.selected .price-cell{color:var(--secondary-blue)!important}.main-content{flex:1}.search-section{background:#fff;border-radius:var(--border-radius);box-shadow:var(--card-shadow);padding:30px;margin-bottom:30px}.search-section h2{margin:0 0 20px;color:var(--dark-text);font-size:1.5rem}.search-bar{display:flex;max-width:600px;margin:0 auto}.search-bar input{flex:1;padding:15px 20px;font-size:16px;border:2px solid #e0e0e0;border-radius:var(--border-radius) 0 0 var(--border-radius);outline:none;transition:border-color .2s ease}.search-bar input:focus{border-color:var(--primary-blue)}.search-bar button{padding:15px 25px;font-size:16px;background-color:var(--primary-blue);color:#fff;border:none;border-radius:0 var(--border-radius) var(--border-radius) 0;cursor:pointer;transition:background-color .2s ease;font-weight:500}.search-bar button:hover{background-color:#1e5f7a}.search-bar-container{position:relative;max-width:600px;margin:0 auto}.suggestions-list{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:0 0 var(--border-radius) var(--border-radius);box-shadow:0 10px 25px #00000026;list-style:none;padding:0;margin:0;z-index:1000;overflow:hidden;border:1px solid #eee;border-top:none}.suggestions-list li{padding:15px 20px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;align-items:center}.suggestions-list li:last-child{border-bottom:none}.suggestions-list li:hover{background-color:#f0f7ff;border-left:4px solid var(--primary-blue)}.suggestions-list li:hover .suggestion-action{transform:translate(5px);color:var(--primary-blue)}.suggestions-list li .suggestion-info{display:flex;flex-direction:column}.suggestions-list li .suggestion-info strong{color:var(--dark-text);font-size:1.05rem}.suggestions-list li .suggestion-info .suggestion-manufacturer{color:var(--secondary-blue);font-weight:500;font-size:.8rem;opacity:.9}.suggestions-list li .suggestion-info span{color:#666;font-size:.85rem;margin-top:4px}.suggestions-list li .suggestion-action{display:flex;align-items:center;gap:10px;color:#ccc;font-size:.85rem;font-weight:500;transition:all .2s ease}.suggestions-list li .suggestion-action span{text-transform:uppercase;letter-spacing:1px}.chart-container{background:#fff;border-radius:var(--border-radius);box-shadow:var(--card-shadow);margin-bottom:30px;overflow:hidden}.chart-header{background:linear-gradient(90deg,var(--primary-blue),var(--accent-teal));color:#fff;padding:20px 30px}.chart-header h3{margin:0;font-size:1.25rem}.chart-body{padding:30px}.spinner{text-align:center;color:var(--primary-blue);font-size:18px;padding:40px}.spinner i{margin-right:10px}.error{text-align:center;color:#d32f2f;background:#ffebee;padding:20px;border-radius:var(--border-radius);margin:20px 0}.error i{margin-right:8px}.results-section{background:#fff;border-radius:var(--border-radius);box-shadow:var(--card-shadow);padding:30px}.results-section h3{margin:0 0 25px;color:var(--dark-text);font-size:1.25rem}.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.result-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:var(--border-radius);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.result-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.card-header{background:#fff;padding:20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.card-header h4{margin:0;color:var(--dark-text);font-size:1.1rem;font-weight:600}.price-badge{background:var(--success-green);color:#fff;padding:8px 15px;border-radius:20px;font-weight:600;font-size:1.1rem}.card-body{padding:20px}.card-body p{margin:10px 0;color:#666;font-size:14px}.card-body p i{margin-right:8px;color:var(--primary-blue);width:16px}.card-body p strong{color:var(--dark-text)}.results-grid{display:grid;grid-template-columns:1fr;gap:20px}.summary-card .card-body{display:flex;flex-direction:column;gap:20px}.summary-stats{display:flex;justify-content:space-around;padding-bottom:20px;border-bottom:1px solid #efefef}.summary-stats p{margin:0}.state-pricing-list h5{margin:0 0 10px;font-size:.9rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.state-pricing-list .scroll-container{max-height:250px;overflow-y:auto;border:1px solid #eee;border-radius:4px}.state-pricing-list .scroll-container table{width:100%;border-collapse:collapse;font-size:.9rem}.state-pricing-list .scroll-container table th{text-align:left;padding:10px;background:#f8f9fa;position:sticky;top:0;z-index:1;border-bottom:1px solid #eee}.state-pricing-list .scroll-container table td{padding:10px;border-bottom:1px solid #f5f5f5}.state-pricing-list .scroll-container table tr:last-child td{border-bottom:none}.state-pricing-list .scroll-container table .price-cell{font-weight:600;color:var(--success-green)}.state-pricing-list .scroll-container table .period-cell{color:#999;font-size:.8rem}.top-expensive-meds-container,.featured-meds-container,.lowest-price-meds-container{margin:40px 0}.top-expensive-meds-card,.featured-meds-card,.lowest-price-meds-card{background:#fff;border-radius:var(--border-radius);box-shadow:var(--card-shadow);overflow:hidden}.header-content{display:flex;align-items:center;margin-bottom:10px}.header-icon{margin-right:12px;font-size:1.5rem}.top-expensive-meds-card .header-icon{color:#dc3545}.featured-meds-card .header-icon{color:#007bff}.lowest-price-meds-card .header-icon{color:var(--success-green)}.section-title{margin:0;font-size:1.5rem;color:var(--dark-text);font-weight:600}.section-subtitle{margin:0;color:#666;font-size:.95rem;font-style:italic}.meds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:20px 0}.med-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:var(--border-radius);padding:20px 20px 40px;position:relative;transition:all .2s ease;overflow:hidden}.med-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.med-card:hover .med-action{opacity:1;transform:translateY(0)}.med-action{position:absolute;bottom:0;left:0;right:0;background:var(--primary-blue);color:#fff;padding:8px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;opacity:0;transform:translateY(100%);transition:all .3s ease}.med-card.expensive{border-left:4px solid #dc3545;background:linear-gradient(135deg,#fff5f5,#fff)}.med-card.featured{border-left:4px solid #007bff;background:linear-gradient(135deg,#f0f8ff,#fff)}.med-card.lowest-price{border-left:4px solid var(--success-green);background:linear-gradient(135deg,#f0fff4,#fff)}.rank-badge{position:absolute;top:15px;right:15px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem;color:#fff}.rank-gold{background:linear-gradient(135deg,gold,#ffb300)}.rank-silver{background:linear-gradient(135deg,silver,#a0a0a0)}.rank-bronze{background:linear-gradient(135deg,#cd7f32,#b8860b)}.med-content{margin-right:40px}.med-name{margin:0 0 5px;font-size:1.1rem;font-weight:600;color:var(--dark-text);line-height:1.3;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.med-manufacturer{font-size:.85rem;color:var(--light-text);margin-bottom:15px;font-weight:500;opacity:.8}.price-section{display:flex;align-items:center;margin-bottom:15px}.price-icon{margin-right:8px;color:var(--success-green)}.med-price{font-size:1.25rem;font-weight:700;color:var(--success-green);margin-right:8px}.price-unit{color:#666;font-size:.9rem}.generic-name{color:#666;font-size:.85rem;margin-bottom:8px}.ndc-info{color:#333;font-size:1rem;font-weight:600;font-family:Courier New,monospace;margin-bottom:12px;letter-spacing:.5px}.last-updated{color:#999;font-size:.75rem;margin-top:10px}.disclaimer{text-align:center;color:#666;font-size:.85rem;font-style:italic;margin-top:20px;padding-top:15px;border-top:1px solid #e0e0e0}.med-card-skeleton{background:#f5f5f5;border-radius:var(--border-radius);padding:20px;margin-bottom:15px}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:4px}.skeleton-title{height:24px;width:60%;margin-bottom:15px}.skeleton-text{height:16px;width:80%;margin-bottom:10px}.skeleton-price{height:20px;width:40%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.error-alert{background:#ffebee;color:#d32f2f;padding:20px;border-radius:var(--border-radius);text-align:center}.error-alert i{margin-right:8px}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-stats{flex-direction:column;gap:1.5rem}.layout{flex-direction:column;gap:20px}.search-bar{flex-direction:column}.search-bar input{border-radius:var(--border-radius);margin-bottom:10px}.search-bar button{border-radius:var(--border-radius)}.results,.meds-grid{grid-template-columns:1fr}.med-content{margin-right:35px}.rank-badge{width:25px;height:25px;font-size:.7rem}}
