:root{--primary:#6366f1;--primary-hover:#4f46e5;--bg-color:#0f172a;--surface:#1e293b;--surface-hover:#334155;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border-color:#ffffff1a;--glass-bg:#1e293bb3;--glass-border:#ffffff14}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);background-image:radial-gradient(at 0 0,#100f15 0,#0000 50%),radial-gradient(at 50% 0,#2f3e6a33 0,#0000 50%),radial-gradient(at 100% 0,#72274133 0,#0000 50%);background-attachment:fixed;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.app-container{flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;padding:2rem;display:flex}header{text-align:center;margin-bottom:2rem;animation:.8s ease-out fadeInDown}h1{background:linear-gradient(90deg,#818cf8,#c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:3rem;font-weight:800}.subtitle{color:var(--text-secondary);font-size:1.2rem}.search-section{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;padding:2rem;animation:.8s ease-out fadeInUp;box-shadow:0 4px 30px #0000004d}.form-group{flex-direction:column;gap:1.5rem;display:flex}.input-row{flex-wrap:wrap;gap:1rem;display:flex}.input-field{flex-direction:column;flex:1;gap:.5rem;min-width:250px;display:flex}label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}input,select{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background-color:#0f172a99;border-radius:8px;padding:.8rem 1rem;font-family:inherit;font-size:1rem;transition:all .3s}input:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #6366f133}select option{background-color:var(--surface)}.submit-btn{background:linear-gradient(135deg, var(--primary), #8b5cf6);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;margin-top:1rem;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px -10px #6366f1cc}.submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.results-container{flex-direction:column;gap:1.5rem;animation:1s ease-out fadeIn;display:flex}.results-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.results-count{color:var(--text-secondary);font-weight:500}.provider-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:12px;grid-template-columns:1fr auto;gap:1rem;padding:1.5rem;transition:transform .3s,border-color .3s;display:grid;position:relative;overflow:hidden}.provider-card:hover{border-color:#6366f166;transform:translateY(-4px)}.provider-card.best-match:before{content:"";background:linear-gradient(#34d399,#10b981);width:4px;height:100%;position:absolute;top:0;left:0}.provider-info h3{color:#fff;margin-bottom:.25rem;font-size:1.4rem}.provider-specialty{color:#818cf8;background:#6366f133;border-radius:999px;margin-bottom:.75rem;padding:.2rem .8rem;font-size:.8rem;font-weight:600;display:inline-block}.provider-address{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.95rem;display:flex}.provider-stats{text-align:right;flex-direction:column;justify-content:center;gap:.5rem;display:flex}.stat-group{flex-direction:column;display:flex}.stat-value{color:#f8fafc;font-size:1.2rem;font-weight:700}.best-match .stat-value.duration{color:#34d399}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.error-message{color:#fca5a5;text-align:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;padding:1rem}.loader{justify-content:center;align-items:center;padding:3rem;display:flex}.spinner{border:4px solid #ffffff1a;border-left-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.provider-card{grid-template-columns:1fr}.provider-stats{text-align:left;border-top:1px solid var(--border-color);flex-direction:row;gap:1.5rem;margin-top:1rem;padding-top:1rem}}
