:root{--primary-blue: #4a90e2;--secondary-teal: #00a8a8;--accent-green: #00c853;--light-bg: #f0f7ff;--card-shadow: 0 4px 20px rgba(74, 144, 226, .1);--border-radius: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.app-container{min-height:100vh;background:linear-gradient(135deg,#f0f7ff,#e0f2ff,#f0f7ff);position:relative;overflow-x:hidden}.app-container:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%23667eea" fill-opacity="0.05"><path d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/></g></g></svg>');pointer-events:none;z-index:0}.app-header{background:linear-gradient(135deg,var(--primary-blue) 0%,var(--secondary-teal) 100%);color:#fff;padding:3rem 2rem;text-align:center;box-shadow:0 8px 32px #06c3;position:relative;z-index:1}.app-title{font-size:3rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.app-subtitle{font-size:1.1rem;opacity:.95;font-weight:300;letter-spacing:.5px}.app-content{display:grid;grid-template-columns:350px 1fr;gap:2rem;padding:2rem;max-width:1600px;margin:0 auto;position:relative;z-index:1;min-height:calc(100vh - 200px)}.search-panel{position:sticky;top:2rem;height:fit-content}.search-card{background:#fff;border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--card-shadow);border:1px solid rgba(0,102,204,.1);transition:all .3s ease}.search-card:hover{box-shadow:0 8px 30px #0066cc26;transform:translateY(-2px)}.search-title{font-size:1.4rem;font-weight:600;color:var(--primary-blue);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.search-title:before{content:"🔍";font-size:1.5rem}.results-panel{display:flex;flex-direction:column}.results-card{background:#fff;border-radius:var(--border-radius);padding:2rem;box-shadow:var(--card-shadow);border:1px solid rgba(0,102,204,.1);transition:all .3s ease}.results-card:hover{box-shadow:0 8px 30px #0066cc26}.pagination-container{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #f0f0f0}.pagination-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-blue),var(--secondary-teal));color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;font-size:.95rem}.pagination-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0066cc4d}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:1rem;color:var(--primary-blue);font-weight:500}.results-list{display:flex;flex-direction:column;gap:1.5rem}.provider-card{background:linear-gradient(135deg,#fff,#f8fbff);border:2px solid #e0f0ff;border-radius:10px;padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.provider-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(180deg,var(--primary-blue),var(--secondary-teal))}.provider-card:hover{box-shadow:0 8px 25px #0066cc26;transform:translate(4px);border-color:var(--primary-blue)}.provider-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.provider-name{font-size:1.3rem;font-weight:700;color:var(--primary-blue);margin:0;flex:1;min-width:200px}.provider-npi{background:#e3f2fd;color:var(--primary-blue);padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap}.provider-info{display:flex;flex-direction:column;gap:.8rem}.info-item{font-size:.95rem;color:#333;margin:0}.info-item strong{color:var(--primary-blue);font-weight:600}.status-badge{background:linear-gradient(135deg,var(--accent-green),#00b3ff);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;display:inline-block}.addresses-section,.taxonomies-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0f0ff}.section-title{font-weight:700;color:var(--primary-blue);margin-bottom:.8rem;font-size:.95rem}.address-item,.taxonomy-item{font-size:.9rem;color:#555;line-height:1.6;padding-left:1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem}.spinner{border:4px solid #e0f0ff;border-top-color:var(--primary-blue);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--primary-blue);font-weight:600;font-size:1rem}.error-container{background:#ffebee;color:#c62828;padding:1.5rem;border-radius:8px;border-left:4px solid #c62828;font-weight:500;text-align:center}.no-results{background:#e3f2fd;color:var(--primary-blue);padding:2rem;border-radius:8px;text-align:center;font-weight:500;font-size:1rem}@media(max-width:1024px){.app-content{grid-template-columns:300px 1fr;gap:1.5rem;padding:1rem}}.search-form{display:flex;flex-direction:column;gap:1.2rem}.form-group{display:flex;flex-direction:column}.form-label{font-size:.9rem;font-weight:600;color:var(--primary-blue);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.form-input{padding:.75rem .95rem;border:2px solid #e0f0ff;border-radius:8px;font-size:.95rem;font-family:inherit;transition:all .3s ease;background-color:#fafbfc}.form-input:focus{outline:none;border-color:var(--primary-blue);background-color:#fff;box-shadow:0 0 0 3px #0066cc1a}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%230066cc" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>');background-repeat:no-repeat;background-position:right .75rem center;background-size:20px;padding-right:2.5rem}.form-button{padding:1rem;background:linear-gradient(135deg,var(--primary-blue),var(--secondary-teal));color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #06c3;margin-top:.5rem}.form-button:hover{transform:translateY(-2px);box-shadow:0 6px 25px #0066cc4d}.form-button:active{transform:translateY(0)}@media(max-width:768px){.app-content{grid-template-columns:1fr;gap:1.5rem}.search-panel{position:static}.app-title{font-size:2rem}.app-header{padding:2rem 1rem}.provider-header{flex-direction:column}}.app-footer{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:2rem 2rem 1rem;margin-top:3rem;position:relative;z-index:1}.footer-content{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.footer-section h3{color:var(--primary-blue);font-size:1.4rem;font-weight:700;margin-bottom:.5rem}.footer-section h4{color:#ecf0f1;font-size:1.1rem;font-weight:600;margin-bottom:.8rem}.footer-section p{color:#bdc3c7;font-size:.9rem;line-height:1.6;margin-bottom:.5rem}.contact-link{display:inline-block;color:var(--primary-blue);text-decoration:none;font-weight:600;padding:.5rem 1rem;background:#4a90e21a;border-radius:6px;transition:all .3s ease}.contact-link:hover{background:var(--primary-blue);color:#fff;transform:translateY(-2px)}.legal-links{margin-top:.5rem}.legal-links a{color:#bdc3c7;text-decoration:none;font-size:.85rem;margin-right:.5rem}.legal-links a:hover{color:var(--primary-blue);text-decoration:underline}.footer-disclaimer{border-top:1px solid rgba(255,255,255,.2);padding-top:1rem;text-align:center;font-size:.85rem;color:#bdc3c7;max-width:1600px;margin:0 auto}.footer-disclaimer em{font-style:italic}@media(max-width:768px){.app-footer{padding:1.5rem 1rem 1rem}.footer-content{grid-template-columns:1fr;gap:1.5rem}}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{background:#fff;padding:1rem;text-align:center;border-bottom:1px solid #eee;flex-shrink:0}.main-content{display:grid;grid-template-columns:350px 1fr;flex-grow:1;overflow:hidden}.sidebar{background:#f8fafc;border-right:1px solid #e2e8f0;padding:2rem;overflow-y:auto}.results-area{padding:2rem;overflow-y:auto;background:#fff}.app-footer{background:#1e40af;color:#fff;padding:2rem 1rem;flex-shrink:0}.sidebar h2{font-size:1.25rem;margin-bottom:1.5rem;color:#1e293b}.search-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:.5rem;flex-wrap:wrap}.form-row input,.form-row select{flex:1;min-width:120px;padding:.75rem;border:1px solid #cbd5e1;border-radius:8px}.search-form button{background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;border:none;padding:.8rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #0000001a}.search-form button:hover{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000001a}.taxonomy-wrapper{position:relative}.taxonomy-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #cbd5e1;border-radius:8px;max-height:200px;overflow-y:auto;z-index:10;list-style:none;padding:0;margin:0}.taxonomy-dropdown li{padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid #f1f5f9}.taxonomy-dropdown li:hover{background:#f8fafc}.taxonomy-dropdown li:last-child{border-bottom:none}:root{--bg-color: #ffffff;--panel-bg: #f4f7f9;--text-color: #333333;--border-color: #dddddd;--footer-bg: #0044cc;--card-bg: #ffffff}body.dark-theme{--bg-color: #121212;--panel-bg: #1e1e1e;--text-color: #e0e0e0;--border-color: #333333;--footer-bg: #002266;--card-bg: #252525}body{background-color:var(--bg-color);color:var(--text-color);transition:all .3s ease}.search-panel{background-color:var(--panel-bg);border-right:1px solid var(--border-color)}.result-card{background-color:var(--card-bg);border:1px solid var(--border-color)}.main-footer{background-color:var(--footer-bg);color:#fff}.search-panel,.results-panel{display:flex;flex-direction:column}.search-card,.results-card{background:radial-gradient(circle at top left,#0b1120 0,#020617 55%);border-radius:18px;border:1px solid rgba(148,163,184,.18);box-shadow:var(--shadow-soft);padding:18px 18px 16px}.search-title{margin:0 0 12px;font-size:15px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.search-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.search-form input{background:#0f172ae6;border-radius:9px;border:1px solid rgba(51,65,85,.9);padding:8px 9px;color:var(--text);font-size:13px}.search-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px #38bdf859}.search-form button{grid-column:1 / -1;margin-top:4px;padding:9px 0;border-radius:999px;border:none;background:linear-gradient(135deg,#38bdf8,#22c55e);color:#0b1120;font-weight:600;font-size:14px;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),filter var(--transition)}.search-form button:hover{transform:translateY(-1px);box-shadow:0 14px 30px #22c55e73;filter:brightness(1.05)}.provider-card{border-radius:14px;border:1px solid rgba(51,65,85,.9);background:radial-gradient(circle at top left,#020617 0,#020617 55%);padding:12px 12px 10px;margin-bottom:10px;cursor:pointer;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition),background var(--transition)}.provider-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 14px 30px #0f172ae6;background:radial-gradient(circle at top left,#020617 0,#020617 55%)}.provider-name{font-size:15px;font-weight:600;margin:0 0 4px}.provider-meta{font-size:12px;color:var(--muted)}.pagination-container{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.pagination-btn{border-radius:999px;border:1px solid rgba(51,65,85,.9);background:#0f172ae6;color:var(--text);padding:6px 12px;font-size:12px;cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.pagination-btn:disabled{opacity:.4;cursor:default}.pagination-btn:not(:disabled):hover{border-color:var(--accent);background:#0f172a;transform:translateY(-.5px)}.pagination-info{font-size:12px;color:var(--muted)}
