:root{--header-height-mobile:56px;--header-height-desktop:64px;--max-content-width:1280px;--sidebar-width:320px;--z-dropdown:100;--z-sticky:200;--z-mobile-nav:999;--z-modal-backdrop:900;--z-modal:1000;--z-toast:1100;--z-skip-link:10000;--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#3b82f6;--accent:#f59e0b;--accent-dark:#d97706;--success:#10b981;--success-light:#d1fae5;--danger:#ef4444;--danger-light:#fee2e2;--warning:#f59e0b;--warning-light:#fef3c7;--info:#3b82f6;--info-light:#dbeafe;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"Fira Code","Consolas",monospace;--safe-area-bottom:env(safe-area-inset-bottom,0px);--transition-fast:.15s ease;--transition:.2s ease;--transition-slow:.3s ease;--bg-body:#f9fafb;--bg-surface:#fff;--bg-surface-rgb:255,255,255;--bg-surface-elevated:#fff;--bg-muted:#f3f4f6;--bg-input:#fff;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#4b5563;--text-inverse:#fff;--border-color:#e5e7eb;--border-color-rgb:229,231,235;--border-color-strong:#d1d5db;--header-bg:#fff;--header-border:#e5e7eb;--card-bg:#fff;--card-border:#e5e7eb;--card-shadow:var(--shadow);--hero-bg:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);--input-bg:#fff;--input-border:#d1d5db;--input-focus-border:var(--primary);--focus-ring:0 0 0 3px #2563eb66;--focus-ring-offset:0 0 0 2px var(--bg-surface);--table-header-bg:#f9fafb;--table-row-hover:#f3f4f6;--table-border:#e5e7eb;--skeleton-base:#e5e7eb;--skeleton-shine:#f3f4f6;--footer-bg:#111827;--footer-text:#9ca3af;--footer-heading:#fff;--footer-border:#374151;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-body:#0f172a;--bg-surface:#1e293b;--bg-surface-rgb:30,41,59;--bg-surface-elevated:#334155;--bg-muted:#1e293b;--bg-input:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#cbd5e1;--text-inverse:#0f172a;--border-color:#334155;--border-color-rgb:51,65,85;--border-color-strong:#475569;--header-bg:#1e293b;--header-border:#334155;--card-bg:#1e293b;--card-border:#334155;--card-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0000004d;--hero-bg:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);--input-bg:#1e293b;--input-border:#475569;--input-focus-border:var(--primary-light);--focus-ring:0 0 0 3px #3b82f680;--table-header-bg:#1e293b;--table-row-hover:#334155;--table-border:#334155;--skeleton-base:#334155;--skeleton-shine:#475569;--success-light:#064e3b;--danger-light:#7f1d1d;--warning-light:#78350f;--info-light:#1e3a8a;--shadow-sm:0 1px 2px 0 #0000004d;--shadow:0 1px 3px 0 #0006,0 1px 2px -1px #0006;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -4px #0006;color-scheme:dark}}[data-theme=dark]{--bg-body:#0f172a;--bg-surface:#1e293b;--bg-surface-rgb:30,41,59;--bg-surface-elevated:#334155;--bg-muted:#1e293b;--bg-input:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#cbd5e1;--text-inverse:#0f172a;--border-color:#334155;--border-color-rgb:51,65,85;--border-color-strong:#475569;--header-bg:#1e293b;--header-border:#334155;--card-bg:#1e293b;--card-border:#334155;--card-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0000004d;--hero-bg:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);--input-bg:#1e293b;--input-border:#475569;--focus-ring:0 0 0 3px #3b82f680;--table-header-bg:#1e293b;--table-row-hover:#334155;--table-border:#334155;--skeleton-base:#334155;--skeleton-shine:#475569;--footer-bg:#0f172a;--footer-text:#94a3b8;--footer-heading:#f1f5f9;--footer-border:#334155;--success-light:#064e3b;--danger-light:#7f1d1d;--warning-light:#78350f;--info-light:#1e3a8a;--shadow-sm:0 1px 2px 0 #0000004d;--shadow:0 1px 3px 0 #0006,0 1px 2px -1px #0006;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -4px #0006;color-scheme:dark}[data-theme=light]{--bg-body:#f9fafb;--bg-surface:#fff;--bg-surface-rgb:255,255,255;--bg-surface-elevated:#fff;--bg-muted:#f3f4f6;--bg-input:#fff;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#4b5563;--text-inverse:#fff;--border-color:#e5e7eb;--border-color-rgb:229,231,235;--border-color-strong:#d1d5db;--header-bg:#fff;--header-border:#e5e7eb;--card-bg:#fff;--card-border:#e5e7eb;--card-shadow:var(--shadow);--hero-bg:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);--input-bg:#fff;--input-border:#d1d5db;--input-focus-border:var(--primary);--focus-ring:0 0 0 3px #2563eb66;--table-header-bg:#f9fafb;--table-row-hover:#f3f4f6;--table-border:#e5e7eb;--skeleton-base:#e5e7eb;--skeleton-shine:#f3f4f6;--success-light:#d1fae5;--danger-light:#fee2e2;--warning-light:#fef3c7;--info-light:#dbeafe;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--footer-bg:#111827;--footer-text:#9ca3af;--footer-heading:#fff;--footer-border:#374151;color-scheme:light}:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#3b82f6;--accent:#f59e0b;--accent-dark:#d97706;--success:#10b981;--success-light:#d1fae5;--danger:#ef4444;--danger-light:#fee2e2;--warning:#f59e0b;--warning-light:#fef3c7;--info:#3b82f6;--info-light:#dbeafe;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"Fira Code","Consolas",monospace;--safe-area-bottom:env(safe-area-inset-bottom,0px);--transition-fast:.15s ease;--transition:.2s ease;--transition-slow:.3s ease;--bg-body:#f9fafb;--bg-surface:#fff;--bg-surface-rgb:255,255,255;--bg-surface-elevated:#fff;--bg-muted:#f3f4f6;--bg-input:#fff;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#4b5563;--text-inverse:#fff;--border-color:#e5e7eb;--border-color-rgb:229,231,235;--border-color-strong:#d1d5db;--header-bg:#fff;--header-border:#e5e7eb;--card-bg:#fff;--card-border:#e5e7eb;--card-shadow:var(--shadow);--hero-bg:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);--input-bg:#fff;--input-border:#d1d5db;--input-focus-border:var(--primary);--focus-ring:0 0 0 3px #2563eb66;--focus-ring-offset:0 0 0 2px var(--bg-surface);--table-header-bg:#f9fafb;--table-row-hover:#f3f4f6;--table-border:#e5e7eb;--skeleton-base:#e5e7eb;--skeleton-shine:#f3f4f6;--footer-bg:#111827;--footer-text:#9ca3af;--footer-heading:#fff;--footer-border:#374151;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg-body:#0f172a;--bg-surface:#1e293b;--bg-surface-rgb:30,41,59;--bg-surface-elevated:#334155;--bg-muted:#1e293b;--bg-input:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#cbd5e1;--text-inverse:#0f172a;--border-color:#334155;--border-color-rgb:51,65,85;--border-color-strong:#475569;--header-bg:#1e293b;--header-border:#334155;--card-bg:#1e293b;--card-border:#334155;--card-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0000004d;--hero-bg:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);--input-bg:#1e293b;--input-border:#475569;--input-focus-border:var(--primary-light);--focus-ring:0 0 0 3px #3b82f680;--focus-ring-offset:0 0 0 2px var(--bg-surface);--table-header-bg:#1e293b;--table-row-hover:#334155;--table-border:#334155;--skeleton-base:#334155;--skeleton-shine:#475569;--success-light:#064e3b;--danger-light:#7f1d1d;--warning-light:#78350f;--info-light:#1e3a8a;--shadow-sm:0 1px 2px 0 #0000004d;--shadow:0 1px 3px 0 #0006,0 1px 2px -1px #0006;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -4px #0006;color-scheme:dark}}[data-theme=light]{--bg-body:#f9fafb;--bg-surface:#fff;--bg-surface-rgb:255,255,255;--bg-surface-elevated:#fff;--bg-muted:#f3f4f6;--bg-input:#fff;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#4b5563;--text-inverse:#fff;--border-color:#e5e7eb;--border-color-rgb:229,231,235;--border-color-strong:#d1d5db;--header-bg:#fff;--header-border:#e5e7eb;--card-bg:#fff;--card-border:#e5e7eb;--card-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--hero-bg:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);--input-bg:#fff;--input-border:#d1d5db;--input-focus-border:#2563eb;--focus-ring:0 0 0 3px #2563eb66;--focus-ring-offset:0 0 0 2px var(--bg-surface);--table-header-bg:#f9fafb;--table-row-hover:#f3f4f6;--table-border:#e5e7eb;--skeleton-base:#e5e7eb;--skeleton-shine:#f3f4f6;--success-light:#d1fae5;--danger-light:#fee2e2;--warning-light:#fef3c7;--info-light:#dbeafe;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--footer-bg:#111827;--footer-text:#9ca3af;--footer-heading:#fff;--footer-border:#374151;color-scheme:light}[data-theme=dark]{--bg-body:#0f172a;--bg-surface:#1e293b;--bg-surface-rgb:30,41,59;--bg-surface-elevated:#334155;--bg-muted:#1e293b;--bg-input:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#cbd5e1;--text-inverse:#0f172a;--border-color:#334155;--border-color-rgb:51,65,85;--border-color-strong:#475569;--header-bg:#1e293b;--header-border:#334155;--card-bg:#1e293b;--card-border:#334155;--card-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0000004d;--hero-bg:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%);--input-bg:#1e293b;--input-border:#475569;--focus-ring:0 0 0 3px #3b82f680;--focus-ring-offset:0 0 0 2px var(--bg-surface);--table-header-bg:#1e293b;--table-row-hover:#334155;--table-border:#334155;--skeleton-base:#334155;--skeleton-shine:#475569;--footer-bg:#0f172a;--footer-text:#94a3b8;--footer-heading:#f1f5f9;--footer-border:#334155;--success-light:#064e3b;--danger-light:#7f1d1d;--warning-light:#78350f;--info-light:#1e3a8a;--shadow-sm:0 1px 2px 0 #0000004d;--shadow:0 1px 3px 0 #0006,0 1px 2px -1px #0006;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -4px #0006;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg-body)}body{font-family:var(--font-sans);background:var(--bg-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition),color var(--transition);min-height:100vh;line-height:1.6;position:relative;overflow-x:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}@supports not selector(:focus-visible){a:focus{outline:2px solid var(--primary);outline-offset:2px}}button{cursor:pointer;font-family:inherit}.skip-link{background:var(--primary);color:#fff;border-radius:var(--radius);z-index:10000;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.skip-link:focus{outline:3px solid var(--accent);outline-offset:2px;top:10px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.3}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}@media (width>=640px){h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}small{font-size:.875rem}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.break-words{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.container{max-width:1280px;padding:0 var(--space-4);margin:0 auto}@media (width>=640px){.container{padding:0 var(--space-6)}}main{padding:var(--space-6)0;min-height:60vh}@media (width>=640px){main{padding:var(--space-8)0}}@media (width>=1024px){main{padding:var(--space-12)0}}.grid-2{gap:var(--space-6);flex-direction:column;display:flex}@media (width>=1024px){.grid-2{gap:var(--space-8);grid-template-columns:1fr 320px;display:grid}}header{background:var(--header-bg);border-bottom:1px solid var(--header-border);z-index:100;transition:background-color var(--transition),border-color var(--transition);position:sticky;top:0}header .container{align-items:center;gap:var(--space-2);height:56px;padding:0 var(--space-3);display:flex}@media (width>=640px){header .container{height:64px;padding:0 var(--space-4);gap:var(--space-3)}}.logo{color:var(--primary);align-items:center;gap:var(--space-2);flex-shrink:0;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}@media (width>=640px){.logo{font-size:1.5rem}}.logo-icon{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:var(--radius-sm);color:#fff;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;display:flex}@media (width>=640px){.logo-icon{border-radius:var(--radius);width:32px;height:32px;font-size:1.2rem}}.logo-text{display:none}@media (width>=480px){.logo-text{white-space:nowrap;display:inline}}nav{align-items:center;gap:var(--space-1);flex:1;justify-content:center;display:none}@media (width>=768px){nav{gap:var(--space-2);display:flex}}.header-actions{align-items:center;gap:var(--space-3);flex-shrink:0;display:none}@media (width>=768px){.header-actions{display:flex}}nav a{color:var(--text-secondary);padding:var(--space-2)var(--space-3);border-radius:var(--radius);transition:all var(--transition);white-space:nowrap;font-size:.9rem;font-weight:500;text-decoration:none}nav a:hover{background:var(--bg-muted);color:var(--text-primary)}nav a.active{background:var(--primary);color:#fff}.user-menu{align-items:center;gap:var(--space-2);display:none;position:relative}@media (width>=768px){.user-menu{display:flex}}.user-menu-btn{align-items:center;gap:var(--space-2);padding:.4rem var(--space-3);border-radius:var(--radius-full);background:var(--bg-muted);cursor:pointer;color:var(--text-secondary);transition:all var(--transition);border:none;font-size:.9rem;font-weight:500;display:flex}.user-menu-btn:hover{background:var(--border-color)}.user-avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:600;display:flex}.user-dropdown{margin-top:var(--space-2);background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);opacity:0;visibility:hidden;min-width:200px;transition:all var(--transition);z-index:200;position:absolute;top:100%;right:0;transform:translateY(-8px)}.user-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.user-dropdown a,.user-dropdown button{align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;width:100%;font-size:.9rem;text-decoration:none;display:flex}.user-dropdown a:hover,.user-dropdown button:hover{background:var(--bg-muted)}.user-dropdown a:first-child{border-radius:var(--radius-lg)var(--radius-lg)0 0}.user-dropdown button:last-child{border-radius:0 0 var(--radius-lg)var(--radius-lg);border-top:1px solid var(--border-color);color:var(--danger)}.auth-buttons{align-items:center;gap:var(--space-2);display:none}@media (width>=768px){.auth-buttons{display:flex}}.auth-buttons .btn-login{padding:var(--space-2)var(--space-4);color:var(--text-secondary);border-radius:var(--radius);font-size:.9rem;font-weight:500;text-decoration:none}.auth-buttons .btn-login:hover{background:var(--bg-muted)}.auth-buttons .btn-signup{padding:var(--space-2)var(--space-4);background:var(--primary);color:#fff;border-radius:var(--radius);font-size:.9rem;font-weight:500;text-decoration:none}.auth-buttons .btn-signup:hover{background:var(--primary-dark)}.theme-toggle{border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;width:40px;height:40px;color:var(--text-muted);transition:background-color var(--transition),color var(--transition),border-color var(--transition);margin-right:var(--space-2);background:0 0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--bg-muted);color:var(--text-primary);border-color:var(--border-color-strong)}.theme-toggle:focus{outline:2px solid var(--primary);outline-offset:2px}.theme-icon{transition:transform .3s}.theme-toggle:hover .theme-icon{transform:rotate(15deg)}@media (width<=767px){.theme-toggle{width:36px;height:36px}.theme-toggle svg{width:18px;height:18px}}.mobile-menu-btn{cursor:pointer;width:44px;height:44px;color:var(--text-secondary);border-radius:var(--radius);-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.mobile-menu-btn:hover{background:var(--bg-muted)}@media (width>=768px){.mobile-menu-btn{display:none}}.mobile-nav{top:56px;right:var(--space-3);background:rgba(var(--bg-surface-rgb),.85);-webkit-backdrop-filter:blur(20px);z-index:999;width:clamp(200px,70vw,280px);padding:var(--space-2);border:1px solid rgba(var(--border-color-rgb),.3);border-radius:var(--radius-lg);flex-direction:column;align-items:stretch;max-height:calc(100vh - 72px);display:none;position:fixed;overflow-y:auto;box-shadow:0 8px 32px #0003}.mobile-nav.active{display:flex}@media (width>=768px){.mobile-nav{display:none!important}}.mobile-nav a{justify-content:flex-start;align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);color:var(--text-primary);border-radius:var(--radius);-webkit-tap-highlight-color:transparent;width:100%;font-size:.95rem;font-weight:500;text-decoration:none;display:flex}.mobile-nav a:hover,.mobile-nav a:active{background:var(--bg-muted)}.mobile-nav a.active{background:var(--primary);color:#fff}.mobile-nav-btn{justify-content:flex-start;align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);color:var(--text-primary);border-radius:var(--radius);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;width:100%;font-size:.95rem;font-weight:500;display:flex}.mobile-nav-btn:hover,.mobile-nav-btn:active{background:var(--bg-muted)}.mobile-nav-btn-danger{color:var(--danger)}.mobile-nav-divider{background:var(--border-color);height:1px;margin:var(--space-2)0}body.menu-open{overflow:hidden}@media (width>=768px){body.menu-open{overflow:auto}}.hero{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);padding:var(--space-8)0;text-align:center;color:#fff}@media (width>=640px){.hero{padding:var(--space-12)0}}@media (width>=1024px){.hero{padding:4rem 0}}.hero h1{margin-bottom:var(--space-3);padding:0 var(--space-2);color:#fff;font-size:1.5rem;font-weight:700;line-height:1.3}@media (width>=640px){.hero h1{font-size:2rem}}@media (width>=1024px){.hero h1{font-size:2.5rem}}.hero p{opacity:.9;max-width:600px;margin:0 auto var(--space-6);padding:0 var(--space-4);font-size:.95rem;line-height:1.5}@media (width>=640px){.hero p{margin-bottom:var(--space-8);font-size:1.125rem}}.search-container{background:var(--bg-surface);border-radius:var(--radius-lg);width:100%;max-width:1100px;padding:var(--space-4);box-shadow:var(--shadow-xl);gap:var(--space-3);flex-direction:column;margin:0 auto;display:flex}@media (width>=640px){.search-container{border-radius:var(--radius-xl);padding:var(--space-3);gap:var(--space-3);flex-flow:wrap}}@media (width>=1024px){.search-container{padding:var(--space-4);gap:var(--space-3);flex-wrap:nowrap}}.search-container input,.search-container select{width:100%;padding:1rem var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--text-primary);transition:all var(--transition);-webkit-appearance:none;font-family:inherit;font-size:16px}@media (width>=640px){.search-container input,.search-container select{flex:1 1 calc(50% - var(--space-2));min-width:0;padding:1rem var(--space-5)}}@media (width>=1024px){.search-container input[name=q]{flex:3 1 0;min-width:250px}.search-container select,.search-container input[name=city]{flex:1.5 1 0;min-width:160px}}.search-container input:focus,.search-container select:focus{border-color:var(--primary);background:var(--bg-surface);box-shadow:var(--focus-ring);outline:none}.search-container input::placeholder{color:var(--gray-400)}.search-btn{width:100%;padding:1rem var(--space-6);background:var(--accent);color:#fff;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition);justify-content:center;align-items:center;gap:var(--space-2);-webkit-tap-highlight-color:transparent;white-space:nowrap;border:none;font-size:1rem;font-weight:600;display:flex}@media (width>=640px){.search-btn{width:100%;padding:1rem var(--space-8);flex:none}}@media (width>=1024px){.search-btn{width:auto;padding:1rem var(--space-8);flex:none}}.search-btn:hover{background:var(--accent-dark)}.search-btn:active{transform:scale(.98)}.search-btn:focus-visible{box-shadow:var(--focus-ring-offset),var(--focus-ring);outline:none}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--card-shadow);transition:all var(--transition-slow);border:1px solid var(--card-border)}@media (width>=640px){.card{border-radius:var(--radius-xl);padding:var(--space-6)}}.card:hover{box-shadow:var(--shadow-lg)}@media (width>=1024px){.card:hover{transform:translateY(-2px)}}.section-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}@media (width>=640px){.section-header{margin-bottom:var(--space-6)}}.section-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:700}@media (width>=640px){.section-header h2{font-size:1.5rem}}.section-header a{color:var(--primary);align-items:center;gap:var(--space-1);white-space:nowrap;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.categories-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=480px){.categories-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=768px){.categories-grid{gap:var(--space-5);grid-template-columns:repeat(4,1fr)}}@media (width>=1200px){.categories-grid{grid-template-columns:repeat(6,1fr)}}.category-card{text-align:center;padding:var(--space-5)var(--space-3);cursor:pointer;color:inherit;align-items:center;gap:var(--space-3);-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(20px)saturate(180%);border-radius:var(--radius-xl);background:linear-gradient(135deg,#ffffffe6 0%,#ffffffb3 100%);border:1px solid #ffffff80;flex-direction:column;text-decoration:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,background .3s,border-color .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #0000000f,inset 0 1px #fffc}.category-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fff6,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.category-card:hover:before{left:100%}.category-card:hover{background:linear-gradient(135deg,#eff6fff2 0%,#dbeafee6 100%);border-color:#3b82f666;transform:translateY(-6px);box-shadow:0 12px 40px #2563eb26,0 4px 12px #2563eb1a,inset 0 1px #ffffffe6}@media (prefers-color-scheme:dark){.category-card{background:linear-gradient(135deg,#1e293bcc 0%,#0f172ab3 100%);border-color:#94a3b833;box-shadow:0 4px 24px #0000004d,inset 0 1px #ffffff1a}.category-card:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000)}.category-card:hover{background:linear-gradient(135deg,#1e3a8a99 0%,#2563eb66 100%);border-color:#60a5fa66;box-shadow:0 12px 40px #2563eb40,0 4px 12px #0000004d,inset 0 1px #ffffff26}}[data-theme=dark] .category-card{background:linear-gradient(135deg,#1e293bcc 0%,#0f172ab3 100%);border-color:#94a3b833;box-shadow:0 4px 24px #0000004d,inset 0 1px #ffffff1a}[data-theme=dark] .category-card:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000)}[data-theme=dark] .category-card:hover{background:linear-gradient(135deg,#1e3a8a99 0%,#2563eb66 100%);border-color:#60a5fa66;box-shadow:0 12px 40px #2563eb40,0 4px 12px #0000004d,inset 0 1px #ffffff26}[data-theme=light] .category-card{background:linear-gradient(135deg,#ffffffe6 0%,#ffffffb3 100%);border-color:#ffffff80;box-shadow:0 4px 24px #0000000f,inset 0 1px #fffc}[data-theme=light] .category-card:before{background:linear-gradient(90deg,#0000,#fff6,#0000)}[data-theme=light] .category-card:hover{background:linear-gradient(135deg,#eff6fff2 0%,#dbeafee6 100%);border-color:#3b82f666;box-shadow:0 12px 40px #2563eb26,0 4px 12px #2563eb1a,inset 0 1px #ffffffe6}@media (width>=640px){.category-card{padding:var(--space-6)var(--space-4);gap:var(--space-3)}}.category-icon{background:linear-gradient(135deg,var(--primary-light),var(--primary));border-radius:var(--radius-xl);width:56px;height:56px;transition:transform var(--transition-slow);justify-content:center;align-items:center;font-size:1.5rem;display:flex;box-shadow:0 4px 8px #2563eb33}@media (width>=640px){.category-icon{border-radius:var(--radius-xl);width:72px;height:72px;font-size:2rem}}.category-card:hover .category-icon{transform:scale(1.1)}@media (width>=1024px){.category-card:hover .category-icon{transform:scale(1.1)rotate(5deg)}}.category-card h3{color:var(--text-primary);margin-top:var(--space-1);font-size:.95rem;font-weight:700;line-height:1.3}@media (width>=640px){.category-card h3{font-size:1.1rem}}.category-card p{color:var(--text-muted);font-size:.85rem;line-height:1.4;display:none}@media (width>=768px){.category-card p{display:block}}.providers-grid{gap:var(--space-5);display:grid}.provider-card{gap:var(--space-4);padding:var(--space-5);-webkit-backdrop-filter:blur(20px)saturate(180%);border-radius:var(--radius-xl);background:linear-gradient(135deg,#ffffffe6 0%,#ffffffb3 100%);border:1px solid #ffffff80;flex-direction:column;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,border-color .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #0000000f,inset 0 1px #fffc}.provider-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.provider-card:hover:before{left:100%}.provider-card:hover{border-color:#3b82f64d;transform:translateY(-4px);box-shadow:0 12px 40px #2563eb1f,0 4px 12px #2563eb14,inset 0 1px #ffffffe6}@media (prefers-color-scheme:dark){.provider-card{background:linear-gradient(135deg,#1e293bcc 0%,#0f172ab3 100%);border-color:#94a3b833;box-shadow:0 4px 24px #0000004d,inset 0 1px #ffffff1a}.provider-card:before{background:linear-gradient(90deg,#0000,#ffffff14,#0000)}.provider-card:hover{border-color:#60a5fa4d;box-shadow:0 12px 40px #2563eb33,0 4px 12px #0000004d,inset 0 1px #ffffff1f}}[data-theme=dark] .provider-card{background:linear-gradient(135deg,#1e293bcc 0%,#0f172ab3 100%);border-color:#94a3b833;box-shadow:0 4px 24px #0000004d,inset 0 1px #ffffff1a}[data-theme=dark] .provider-card:before{background:linear-gradient(90deg,#0000,#ffffff14,#0000)}[data-theme=dark] .provider-card:hover{border-color:#60a5fa4d;box-shadow:0 12px 40px #2563eb33,0 4px 12px #0000004d,inset 0 1px #ffffff1f}[data-theme=light] .provider-card{background:linear-gradient(135deg,#ffffffe6 0%,#ffffffb3 100%);border-color:#ffffff80;box-shadow:0 4px 24px #0000000f,inset 0 1px #fffc}[data-theme=light] .provider-card:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000)}[data-theme=light] .provider-card:hover{border-color:#3b82f64d;box-shadow:0 12px 40px #2563eb1f,0 4px 12px #2563eb14,inset 0 1px #ffffffe6}@media (width>=640px){.provider-card{gap:var(--space-5);padding:var(--space-6);flex-direction:row;align-items:flex-start}}.provider-avatar{background:linear-gradient(135deg,var(--primary),#6366f1);border-radius:var(--radius-lg);color:#fff;z-index:1;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;font-weight:700;display:flex;position:relative;box-shadow:0 4px 12px #2563eb4d}@media (width>=640px){.provider-avatar{border-radius:var(--radius-xl);width:80px;height:80px;font-size:2rem}}.provider-info{flex:1;min-width:0}.provider-header{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.provider-card h3{min-width:0;margin:0;font-size:1rem;font-weight:600}@media (width>=640px){.provider-card h3{font-size:1.125rem}}.provider-card h3 a{color:var(--text-primary);text-overflow:ellipsis;text-decoration:none;display:block;overflow:hidden}.provider-card h3 a:hover{color:var(--primary)}.provider-card>p,.provider-info>p{color:var(--text-secondary);margin-bottom:var(--space-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}@media (width>=640px){.provider-card>p,.provider-info>p{font-size:.95rem}}.provider-meta{gap:var(--space-2)var(--space-4);color:var(--text-muted);flex-wrap:wrap;font-size:.8rem;display:flex}@media (width>=640px){.provider-meta{font-size:.875rem}}.provider-meta span{align-items:center;gap:var(--space-1);white-space:nowrap;display:flex}.provider-actions{gap:var(--space-2);margin-top:var(--space-2);flex-shrink:0;display:flex}@media (width>=640px){.provider-actions{flex-direction:column;margin-top:0}}.provider-actions .btn{flex:1}@media (width>=640px){.provider-actions .btn{flex:none}}.rating{color:var(--accent);align-items:center;gap:var(--space-1);font-weight:600;display:flex}.stars{letter-spacing:-2px}.sponsored-section{border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d}@media (width>=640px){.sponsored-section{border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6)}}.sponsored-header{align-items:center;gap:var(--space-2);color:#92400e;margin-bottom:var(--space-4);font-size:.8rem;font-weight:600;display:flex}@media (width>=640px){.sponsored-header{font-size:.875rem}}.sidebar-ad{contain:layout style;min-height:200px;margin-top:1.5rem}@media (width>=1024px){.sidebar-ad{min-height:60vh}}.ad-label{color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3);font-size:.65rem}@media (width>=640px){.ad-label{font-size:.7rem}}.adsense-container{background:var(--bg-muted);border:1px solid var(--gray-200);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-4);min-height:100px}.adsense-container .ad-label{margin-bottom:var(--space-2)}.adsense-container .adsbygoogle{display:block}.svg-defs{width:0;height:0;position:absolute;overflow:hidden}.native-ad-card{background:linear-gradient(135deg,var(--bg-surface)0%,var(--bg-muted)100%);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);border:none;transition:transform .2s;animation:20s linear infinite shadow-rotate;position:relative}@keyframes shadow-rotate{0%{box-shadow:-4px -4px 12px 0 color-mix(in srgb,var(--accent)25%,transparent),4px 4px 12px 0 color-mix(in srgb,var(--primary)20%,transparent)}25%{box-shadow:4px -4px 12px 0 color-mix(in srgb,var(--accent)25%,transparent),-4px 4px 12px 0 color-mix(in srgb,var(--primary)20%,transparent)}50%{box-shadow:4px 4px 12px 0 color-mix(in srgb,var(--accent)25%,transparent),-4px -4px 12px 0 color-mix(in srgb,var(--primary)20%,transparent)}75%{box-shadow:-4px 4px 12px 0 color-mix(in srgb,var(--accent)25%,transparent),4px -4px 12px 0 color-mix(in srgb,var(--primary)20%,transparent)}to{box-shadow:-4px -4px 12px 0 color-mix(in srgb,var(--accent)25%,transparent),4px 4px 12px 0 color-mix(in srgb,var(--primary)20%,transparent)}}.native-ad-card:hover{transform:translateY(-2px)}.native-ad-card .ad-label{background:var(--gray-100);border-radius:var(--radius-sm);margin-bottom:var(--space-3);padding:.2rem .5rem;display:inline-block}.native-ad-link{color:inherit;text-decoration:none;display:block}.native-ad-image{border-radius:var(--radius);width:100%;margin-bottom:var(--space-3)}.native-ad-caption{color:var(--text-secondary);font-size:.9rem;line-height:1.4;display:block}.native-ad-text{text-align:center;padding:var(--space-4);align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.native-ad-icon{color:var(--accent);font-size:2rem}.native-ad-text strong{color:var(--text-primary);font-size:1.1rem}.native-ad-cta{color:var(--primary);font-size:.85rem;font-weight:500}.adsense-wrapper{background:var(--bg-surface);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-4)}.adsense-wrapper .ad-label{margin-bottom:var(--space-2);display:block}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent;white-space:nowrap;border:none;min-height:44px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}@media (width>=640px){.btn{padding:.625rem var(--space-5);min-height:auto}}.btn:focus-visible{box-shadow:var(--focus-ring-offset),var(--focus-ring);outline:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:active{transform:scale(.98)}.btn-primary:focus-visible{box-shadow:var(--focus-ring-offset),var(--focus-ring);outline:none}.btn-secondary{background:var(--bg-muted);color:var(--text-secondary)}.btn-secondary:hover{background:var(--gray-200)}.btn-secondary:focus-visible{box-shadow:var(--focus-ring-offset),var(--focus-ring);outline:none}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-dark)}.btn-accent:focus-visible{box-shadow:var(--focus-ring-offset),var(--focus-ring);outline:none}.btn-success{background:var(--success);color:#fff}.btn-success:focus-visible{box-shadow:var(--focus-ring-offset),var(--focus-ring);outline:none}.btn-danger{background:var(--danger);color:#fff}.btn-danger:focus-visible{box-shadow:var(--focus-ring-offset),var(--focus-ring);outline:none}.btn-outline{border:2px solid var(--gray-300);color:var(--text-secondary);background:0 0}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-outline:focus-visible{box-shadow:var(--focus-ring-offset),var(--focus-ring);outline:none}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-muted);color:var(--text-primary)}.btn-ghost:focus-visible{box-shadow:var(--focus-ring-offset),var(--focus-ring);outline:none}.btn-sm{padding:var(--space-2)var(--space-3);min-height:36px;font-size:.8rem}.btn-lg{padding:var(--space-4)var(--space-6);font-size:1rem}.btn-block{width:100%}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-group{gap:var(--space-2);display:flex}.btn-group .btn{flex:1}.form-group label.required:after{content:" *";color:var(--danger)}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=date],input[type=time],input[type=url],input[type=search],select,textarea{width:100%;padding:.875rem var(--space-4);border:1px solid var(--input-border);border-radius:var(--radius-md);transition:all var(--transition);-webkit-appearance:none;background:var(--input-bg);color:var(--text-primary);font-family:inherit;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--input-focus-border);box-shadow:var(--focus-ring);background:var(--bg-surface);outline:none}input.error,select.error,textarea.error{border-color:var(--danger)}input.error:focus,select.error:focus,textarea.error:focus{box-shadow:0 0 0 3px #ef44441a}textarea{resize:vertical;min-height:100px}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3)center;background-size:1.25rem;padding-right:2.5rem}.form-hint{color:var(--text-muted);margin-top:var(--space-1);font-size:.8rem}.form-error{color:var(--danger);margin-top:var(--space-1);font-size:.8rem}.form-check{align-items:flex-start;gap:var(--space-2);display:flex}.form-check input[type=checkbox],.form-check input[type=radio]{flex-shrink:0;width:18px;height:18px;margin-top:2px}.form-check label{color:var(--text-secondary);cursor:pointer;font-size:.9rem}.input-group{gap:var(--space-2);display:flex}.input-group input{flex:1}.badge{align-items:center;gap:var(--space-1);padding:.2rem var(--space-2);border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;font-size:.7rem;font-weight:600;display:inline-flex}@media (width>=640px){.badge{padding:var(--space-1).625rem;font-size:.75rem}}.badge-sponsored{color:#92400e;background:#fef3c7}.badge-premium{color:#1e40af;background:#dbeafe}.badge-elite{color:#7c3aed;background:linear-gradient(135deg,#fae8ff,#f3e8ff)}.badge-category{background:var(--bg-muted);color:var(--text-muted)}.badge-new{background:var(--success-light);color:#065f46}.badge-pending{background:var(--warning-light);color:#92400e}.badge-success{background:var(--success-light);color:#065f46}.badge-danger{background:var(--danger-light);color:#991b1b}.badge-info{background:var(--info-light);color:#1e40af}.badge-unclaimed{background:var(--gray-100);color:var(--gray-600);border:1px dashed var(--gray-400)}.badge-google{color:#c2410c;background:#fff7ed}.badge-claimed{color:#166534;background:#dcfce7}.badge-recent{background:var(--success-light);color:var(--success);font-size:.7rem}@media (prefers-color-scheme:dark){.badge-sponsored{color:#fef3c7;background:#78350f}.badge-premium{color:#dbeafe;background:#1e40af}.badge-elite{color:#f3e8ff;background:linear-gradient(135deg,#5b21b6,#7c3aed)}.badge-verified,.badge-new{color:#d1fae5;background:#065f46}.badge-pending{color:#fef3c7;background:#78350f}.badge-success{color:#d1fae5;background:#065f46}.badge-danger{color:#fecaca;background:#991b1b}.badge-info{color:#dbeafe;background:#1e40af}.badge-google{color:#fed7aa;background:#7c2d12}.badge-claimed{color:#dcfce7;background:#166534}.badge-unclaimed{background:var(--gray-700);color:var(--gray-300);border-color:var(--gray-500)}}[data-theme=dark] .badge-sponsored{color:#fef3c7;background:#78350f}[data-theme=dark] .badge-premium{color:#dbeafe;background:#1e40af}[data-theme=dark] .badge-elite{color:#f3e8ff;background:linear-gradient(135deg,#5b21b6,#7c3aed)}[data-theme=dark] .badge-verified,[data-theme=dark] .badge-new{color:#d1fae5;background:#065f46}[data-theme=dark] .badge-pending{color:#fef3c7;background:#78350f}[data-theme=dark] .badge-success{color:#d1fae5;background:#065f46}[data-theme=dark] .badge-danger{color:#fecaca;background:#991b1b}[data-theme=dark] .badge-info{color:#dbeafe;background:#1e40af}[data-theme=dark] .badge-google{color:#fed7aa;background:#7c2d12}[data-theme=dark] .badge-claimed{color:#dcfce7;background:#166534}[data-theme=dark] .badge-unclaimed{background:var(--gray-700);color:var(--gray-300);border-color:var(--gray-500)}[data-theme=light] .badge-sponsored{color:#92400e;background:#fef3c7}[data-theme=light] .badge-premium{color:#1e40af;background:#dbeafe}[data-theme=light] .badge-elite{color:#7c3aed;background:linear-gradient(135deg,#fae8ff,#f3e8ff)}[data-theme=light] .badge-verified{color:#065f46;background:#d1fae5}[data-theme=light] .badge-new{background:var(--success-light);color:#065f46}[data-theme=light] .badge-pending{background:var(--warning-light);color:#92400e}[data-theme=light] .badge-success{background:var(--success-light);color:#065f46}[data-theme=light] .badge-danger{background:var(--danger-light);color:#991b1b}[data-theme=light] .badge-info{background:var(--info-light);color:#1e40af}[data-theme=light] .badge-google{color:#c2410c;background:#fff7ed}[data-theme=light] .badge-claimed{color:#166534;background:#dcfce7}[data-theme=light] .badge-unclaimed{background:var(--gray-100);color:var(--gray-600);border-color:var(--gray-400)}.provider-card.unclaimed{border:1px dashed var(--gray-300);background:var(--bg-muted)}.provider-card.unclaimed .provider-avatar{opacity:.7}.btn-claim{color:#fff;background:linear-gradient(135deg,#10b981,#059669);font-weight:600}.btn-claim:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.claim-cta-card{border-radius:var(--radius-lg);text-align:center;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #10b981;padding:1.5rem}.claim-cta-card h4{color:#065f46;margin-bottom:.5rem}.claim-cta-card p{color:#047857;margin-bottom:1rem}.tag{align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-3);background:var(--bg-muted);border-radius:var(--radius);color:var(--text-secondary);font-size:.8rem;display:inline-flex}.tag-removable{cursor:pointer}.tag-removable:hover{background:var(--gray-200)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:600px}th,td{padding:var(--space-3);text-align:left}@media (width>=640px){th,td{padding:var(--space-4)}}th{background:var(--table-header-bg);color:var(--text-muted);border-bottom:2px solid var(--table-border);white-space:nowrap;font-size:.8rem;font-weight:600}@media (width>=640px){th{font-size:.875rem}}td{border-bottom:1px solid var(--table-border)}tr:hover td{background:var(--table-row-hover)}.modal-overlay{z-index:200;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border-radius:var(--radius-xl);flex-direction:column;width:100%;max-width:500px;max-height:90vh;display:flex;overflow:hidden}.modal-header{padding:var(--space-4)var(--space-6);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{cursor:pointer;color:var(--text-muted);border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.5rem;display:flex}.modal-close:hover{background:var(--bg-muted)}.modal-body{padding:var(--space-6);overflow-y:auto}.modal-footer{padding:var(--space-4)var(--space-6);border-top:1px solid var(--gray-200);gap:var(--space-3);justify-content:flex-end;display:flex}.toast-container{bottom:calc(var(--space-4) + var(--safe-area-bottom));left:var(--space-4);right:var(--space-4);z-index:1000;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}@media (width>=640px){.toast-container{left:auto;right:var(--space-6);bottom:var(--space-6);max-width:400px}}.toast{background:var(--gray-900);color:#fff;padding:.875rem var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);align-items:center;gap:var(--space-3);animation:slideUp var(--transition-slow);pointer-events:auto;font-size:.9rem;display:flex}@media (width>=640px){.toast{padding:var(--space-4)var(--space-6);animation:slideIn var(--transition-slow)}}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-warning{background:var(--warning)}.toast-info{background:var(--info)}.htmx-request{opacity:.7;pointer-events:none}.htmx-request.htmx-indicator{opacity:1}.htmx-indicator{display:none}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inline-flex}.skeleton{background:linear-gradient(90deg,var(--gray-200)25%,var(--gray-100)50%,var(--gray-200)75%);border-radius:var(--radius);background-size:200% 100%;animation:1.5s infinite skeleton-loading}.skeleton-text{height:1rem;margin-bottom:var(--space-2)}.skeleton-title{width:60%;height:1.5rem;margin-bottom:var(--space-3)}.skeleton-avatar{border-radius:var(--radius-lg);width:56px;height:56px}.skeleton-avatar-sm{border-radius:50%;width:48px;height:48px}.skeleton-avatar-circle{border-radius:50%;width:40px;height:40px}@media (width>=640px){.skeleton-avatar{width:80px;height:80px}}.skeleton-review-card{border:1px solid var(--border-color);border-radius:12px;padding:1.25rem}.skeleton-review-header{gap:.75rem;margin-bottom:.75rem;display:flex}.skeleton-review-meta{flex:1}.skeleton-stat{flex-direction:column;gap:.5rem;padding:1rem;display:flex}.skeleton-stat-value{width:60%;height:2rem}.skeleton-stat-label{width:80%;height:1rem}.skeleton-table-row{border-bottom:1px solid var(--border-color);gap:1rem;padding:1rem;display:flex}.skeleton-table-cell{flex:1;height:1rem}.skeleton-table-cell-sm{width:80px;height:1rem}.skeleton-table-cell-md{width:120px;height:1rem}.skeleton-btn{border-radius:var(--radius);width:100px;height:36px}.skeleton-btn-sm{width:80px;height:28px}.spinner{border:2px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}.spinner-sm{width:16px;height:16px}.spinner-lg{border-width:3px;width:32px;height:32px}footer{background:var(--footer-bg);color:var(--footer-text);padding:var(--space-8)0;margin-top:var(--space-8);padding-bottom:calc(var(--space-8) + var(--safe-area-bottom))}@media (width>=640px){footer{padding:var(--space-12)0;margin-top:4rem}}.footer-grid{gap:var(--space-6);grid-template-columns:1fr;display:grid}@media (width>=480px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=768px){.footer-grid{gap:var(--space-8);grid-template-columns:repeat(4,1fr)}}footer h4{color:var(--footer-heading);margin-bottom:var(--space-3);font-size:.95rem}@media (width>=640px){footer h4{margin-bottom:var(--space-4);font-size:1rem}}footer a{color:var(--footer-text);padding:var(--space-1)0;font-size:.9rem;text-decoration:none;display:block}footer a:hover{color:var(--footer-heading)}.footer-bottom{text-align:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--footer-border);font-size:.85rem}.hidden{display:none!important}.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.flex-shrink-0{flex-shrink:0}.gap-1{gap:var(--space-1)}.gap-3{gap:var(--space-3)}.gap-6{gap:var(--space-6)}.m-0{margin:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-2{padding:var(--space-2)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.text-left{text-align:left}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-gray-600,.text-gray-700{color:var(--text-secondary)}.text-white{color:#fff}.bg-white{background:var(--bg-surface)}.bg-gray-50,.bg-gray-100{background:var(--bg-muted)}.bg-primary{background:var(--primary)}.bg-success-light{background:var(--success-light)}.bg-danger-light{background:var(--danger-light)}.bg-warning-light{background:var(--warning-light)}.border{border:1px solid var(--gray-200)}.border-t{border-top:1px solid var(--gray-200)}.border-b{border-bottom:1px solid var(--gray-200)}.rounded{border-radius:var(--radius)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.z-10{z-index:10}.z-50{z-index:50}.z-100{z-index:100}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.opacity-50{opacity:.5}.opacity-75{opacity:.75}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn var(--transition-slow)}.animate-slideUp{animation:slideUp var(--transition-slow)}.animate-pulse{animation:2s infinite pulse}@keyframes float-blob-1{0%,to{transform:translate(0)scale(1)}25%{transform:translate(50px,-30px)scale(1.05)}50%{transform:translate(20px,40px)scale(.95)}75%{transform:translate(-30px,20px)scale(1.02)}}@keyframes float-blob-2{0%,to{transform:translate(0)scale(1)}25%{transform:translate(-40px,20px)scale(.95)}50%{transform:translate(30px,-50px)scale(1.05)}75%{transform:translate(50px,30px)scale(.98)}}@keyframes float-blob-3{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-60px,-40px)scale(1.03)}66%{transform:translate(40px,60px)scale(.97)}}.dynamic-bg{z-index:-1;pointer-events:none;background:radial-gradient(600px 600px at 20% 30%,#2563eb14 0%,#0000 50%),radial-gradient(500px 500px at 80% 20%,#8b5cf60f 0%,#0000 50%),radial-gradient(700px 700px at 70% 80%,#10b9810d 0%,#0000 50%),radial-gradient(400px 400px at 10% 70%,#f59e0b0a 0%,#0000 50%);width:200%;height:200%;animation:30s ease-in-out infinite float-blob-1;position:fixed;top:-50%;left:-50%}[data-theme=dark] .dynamic-bg{background:radial-gradient(600px 600px at 20% 30%,#3b82f626 0%,#0000 50%),radial-gradient(500px 500px at 80% 20%,#8b5cf61f 0%,#0000 50%),radial-gradient(700px 700px at 70% 80%,#10b9811a 0%,#0000 50%),radial-gradient(400px 400px at 10% 70%,#f59e0b14 0%,#0000 50%)}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#page-content{min-height:calc(100vh - 200px)}#site-hero{opacity:0;pointer-events:none;max-height:0;padding:0;transition:padding .4s,max-height .4s,opacity .3s;overflow:hidden}.hero-text{text-align:center;opacity:0;pointer-events:none;max-height:0;margin-bottom:0;transition:opacity .3s,transform .3s,max-height .3s,margin .3s;overflow:hidden;transform:translateY(-20px)}.hero-text h1{margin-bottom:var(--space-3)}.hero-text p{color:#ffffffe6;max-width:600px;margin:0 auto}.hero-links{text-align:center;opacity:0;pointer-events:none;color:#ffffffd9;max-height:0;margin-top:0;transition:opacity .3s,transform .3s,max-height .3s,margin .3s;overflow:hidden;transform:translateY(-10px)}.hero-links a{color:#ffffffe6}.hero-links a:hover{color:#fff}body:has(#page-hero-state[data-hero=expanded]) #site-hero{opacity:1;pointer-events:auto;max-height:500px;padding:4rem 0 3rem}body:has(#page-hero-state[data-hero=expanded]) .hero-text{opacity:1;max-height:200px;margin-bottom:var(--space-6);pointer-events:auto;transform:translateY(0)}body:has(#page-hero-state[data-hero=expanded]) .hero-links{opacity:1;max-height:50px;margin-top:var(--space-4);pointer-events:auto;transform:translateY(0)}body:has(#page-hero-state[data-hero=compact]) #site-hero{opacity:1;pointer-events:auto;max-height:200px;padding:2rem 0}body:has(#page-hero-state[data-hero=compact]) .hero-text{opacity:0;pointer-events:none;max-height:0;margin-bottom:0;transform:translateY(-20px)}body:has(#page-hero-state[data-hero=compact]) .hero-links{opacity:0;pointer-events:none;max-height:0;margin-top:0;transform:translateY(-10px)}@keyframes shimmer-wave{0%{transform:translateY(-100%)}to{transform:translateY(300%)}}.provider-card.shimmer-reveal:after{content:"";pointer-events:none;will-change:transform;background:linear-gradient(#0000 0%,#ffffff80 50%,#0000 100%);height:50%;animation:.4s ease-out forwards shimmer-wave;position:absolute;top:0;left:0;right:0;transform:translateY(-100%)}[data-theme=dark] .provider-card.shimmer-reveal:after{background:linear-gradient(#0000 0%,#ffffff26 50%,#0000 100%)}.providers-grid>.shimmer-reveal:first-child:after{animation-delay:75ms}.providers-grid>.shimmer-reveal:nth-child(2):after{animation-delay:.15s}.providers-grid>.shimmer-reveal:nth-child(3):after{animation-delay:.225s}.providers-grid>.shimmer-reveal:nth-child(4):after{animation-delay:.3s}.providers-grid>.shimmer-reveal:nth-child(5):after{animation-delay:.375s}.providers-grid>.shimmer-reveal:nth-child(6):after{animation-delay:.45s}.providers-grid>.shimmer-reveal:nth-child(7):after{animation-delay:.525s}.providers-grid>.shimmer-reveal:nth-child(8):after{animation-delay:.6s}.providers-grid>.shimmer-reveal:nth-child(9):after{animation-delay:.675s}.providers-grid>.shimmer-reveal:nth-child(10):after{animation-delay:.75s}.providers-grid>.shimmer-reveal:nth-child(n+11):after{animation-delay:.825s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.card{transition:transform .25s,box-shadow .25s,border-color .25s}.card:hover{transform:translateY(-2px)}.provider-card,.category-card,.stat-card{-webkit-backdrop-filter:blur(10px);background:rgba(var(--bg-surface-rgb),.85);border:1px solid rgba(var(--border-color-rgb),.5)}[data-theme=dark] .provider-card,[data-theme=dark] .category-card,[data-theme=dark] .stat-card{background:rgba(var(--bg-surface-rgb),.7);border:1px solid rgba(var(--border-color-rgb),.3)}@keyframes hero-hue-shift{0%{filter:hue-rotate()}50%{filter:hue-rotate(15deg)}to{filter:hue-rotate()}}.hero{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);animation:20s ease-in-out infinite hero-hue-shift}[data-theme=dark] .hero{background:linear-gradient(135deg,#1e40af 0%,#1e3a8a 100%)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--skeleton-base)25%,var(--skeleton-shine)50%,var(--skeleton-base)75%);background-size:200% 100%;animation:1.5s infinite shimmer}.provider-info h3 a,.category-card h3 a{display:inline-block;position:relative}.provider-info h3 a:after,.category-card h3 a:after{content:"";background:var(--primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:-2px;left:0}.provider-info h3 a:hover:after,.category-card h3 a:hover:after{width:100%}.btn-primary{position:relative;overflow:hidden}.btn-primary:before{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .4s,height .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-primary:hover:before{width:300px;height:300px}@media (prefers-reduced-motion:reduce){.dynamic-bg,.hero,main,#main-content,.container>:first-child,.animate-fade-in,.htmx-settling{animation:none}.card{transition:none}.card:hover{transform:none}.btn-primary:before{display:none}.skeleton{animation:none}}.stats-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=640px){.stats-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr)}}.stat-card{text-align:center;padding:var(--space-4)}@media (width>=640px){.stat-card{padding:var(--space-6)}}.stat-card .number{color:var(--primary);font-size:1.5rem;font-weight:700;line-height:1}@media (width>=640px){.stat-card .number{font-size:2.5rem}}.stat-card .label{color:var(--text-muted);margin-top:var(--space-1);font-size:.75rem}@media (width>=640px){.stat-card .label{margin-top:var(--space-2);font-size:.875rem}}.empty-state{text-align:center;padding:var(--space-12)var(--space-4);color:var(--text-muted)}.empty-state-icon{margin-bottom:var(--space-4);opacity:.5;font-size:3rem}.empty-state h3{color:var(--text-secondary);margin-bottom:var(--space-2)}.empty-state p{max-width:400px;margin:0 auto var(--space-6)}.portal-container{max-width:1200px;padding:var(--space-4);margin:0 auto}@media (width>=768px){.portal-container{padding:var(--space-6)var(--space-8)}}.portal-header{margin-bottom:var(--space-6)}.portal-header h1{margin-bottom:var(--space-4);font-size:1.5rem}@media (width>=768px){.portal-header h1{font-size:2rem}}.portal-nav{gap:var(--space-1);padding-bottom:var(--space-2);margin:0 calc(-1*var(--space-4));padding-left:var(--space-4);padding-right:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--gray-200);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow-x:auto}.portal-nav::-webkit-scrollbar{display:none}@media (width>=768px){.portal-nav{margin:0 0 var(--space-4)0;flex-wrap:wrap;padding-left:0;padding-right:0;overflow-x:visible}}.portal-nav a{padding:var(--space-2)var(--space-3);color:var(--text-secondary);border-radius:var(--radius);white-space:nowrap;transition:all var(--transition);flex-shrink:0;font-size:.85rem;font-weight:500;text-decoration:none}.portal-nav a:hover{background:var(--bg-muted);color:var(--text-primary)}.portal-nav a.active{background:var(--primary);color:#fff}@media (width>=768px){.portal-nav a{padding:var(--space-2)var(--space-4);font-size:.9rem}}.welcome-section{padding:var(--space-4)var(--space-4);margin-bottom:var(--space-4)}.welcome-section h2{font-size:1.25rem}@media (width>=768px){.welcome-section{padding:var(--space-8);margin-bottom:var(--space-8)}.welcome-section h2{font-size:1.5rem}}.stats-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr)}@media (width>=640px){.stats-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.stat-card{padding:var(--space-3);text-align:center;gap:var(--space-2);flex-direction:column}.stat-card .stat-icon,.stat-icon{width:36px;height:36px}.stat-card .stat-icon svg,.stat-icon svg{width:18px;height:18px}.stat-value{font-size:1.25rem}.stat-label{font-size:.75rem}@media (width>=640px){.stat-card{padding:var(--space-4);text-align:left;gap:var(--space-3);flex-direction:row}.stat-card .stat-icon,.stat-icon{width:48px;height:48px}.stat-card .stat-icon svg,.stat-icon svg{width:24px;height:24px}.stat-value{font-size:1.5rem}.stat-label{font-size:.875rem}}.dashboard-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=768px){.dashboard-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.dashboard-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);overflow:hidden}.dashboard-card-header{padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.dashboard-card-header h3{color:var(--text-primary);margin:0;font-size:1rem}.dashboard-card-body{padding:var(--space-4)}@media (width>=768px){.dashboard-card-header{padding:var(--space-4)var(--space-6)}.dashboard-card-body{padding:var(--space-6)}}.quick-actions{gap:var(--space-3);grid-template-columns:1fr;display:grid}.quick-action{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-muted);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition);font-size:.875rem;text-decoration:none;display:flex}.quick-action:hover{background:var(--primary);color:#fff}.quick-action svg{flex-shrink:0;width:18px;height:18px}@media (width>=480px){.quick-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.quick-action{padding:var(--space-3);font-size:.875rem}.quick-action svg{width:18px;height:18px}@media (width>=768px){.quick-action{padding:var(--space-3);font-size:1rem}.quick-action svg{width:20px;height:20px}}.upgrade-banner{margin-bottom:var(--space-4)}.upgrade-banner-content{text-align:center;gap:var(--space-3);flex-direction:column}.upgrade-banner-icon{margin:0 auto}.upgrade-banner-text h3{font-size:1rem}.upgrade-banner-text p{font-size:.875rem}@media (width>=768px){.upgrade-banner{margin-bottom:var(--space-8)}.upgrade-banner-content{text-align:left;gap:var(--space-4);flex-direction:row}.upgrade-banner-icon{margin:0}.upgrade-banner-text h3{font-size:1.125rem}.upgrade-banner-text p{font-size:1rem}}.no-provider-notice{background:var(--warning-light);border:1px solid var(--warning);color:var(--text-primary);border-radius:var(--radius-lg);text-align:center;padding:var(--space-4);margin-bottom:var(--space-4)}.no-provider-notice h3{margin:0 0 var(--space-2)}.no-provider-notice p{margin:0 0 var(--space-4)}@media (width>=768px){.no-provider-notice{padding:var(--space-6);margin-bottom:var(--space-8)}}.rating-display{gap:var(--space-2);flex-wrap:wrap}.rating-stars{font-size:1.25rem}@media (width>=640px){.rating-stars{font-size:1.5rem}}.hide-mobile{display:none}@media (width>=768px){.hide-mobile{display:block}}.hide-desktop{display:block}@media (width>=768px){.hide-desktop{display:none}}.sm\:block{display:none}@media (width>=640px){.sm\:block{display:block}}.md\:block{display:none}@media (width>=768px){.md\:block{display:block}}.lg\:block{display:none}@media (width>=1024px){.lg\:block{display:block}}@media (width>=640px){.sm\:p-6{padding:var(--space-6)}.sm\:mb-6{margin-bottom:var(--space-6)}}@media (width>=768px){.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}.compare-drawer{background:var(--bg-surface);border-top:1px solid var(--gray-200);z-index:90;transition:bottom var(--transition-slow);padding:var(--space-3)var(--space-4);padding-bottom:calc(var(--space-3) + var(--safe-area-bottom));position:fixed;bottom:-100%;left:0;right:0;box-shadow:0 -4px 20px #00000026}.compare-drawer.active{bottom:0}.compare-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.compare-items{gap:var(--space-2);padding-bottom:var(--space-1);display:flex;overflow-x:auto}.compare-item{align-items:center;gap:var(--space-2);background:var(--bg-muted);padding:var(--space-1)var(--space-2);border-radius:var(--radius);white-space:nowrap;font-size:.8rem;display:flex}.compare-item button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.compare-checkbox{align-items:center;gap:var(--space-1);color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:.8rem;display:flex}.compare-checkbox input{cursor:pointer;width:18px;height:18px}.compare-modal-content{max-width:95vw}.compare-table{padding:var(--space-4);overflow-x:auto}.compare-table table{border-collapse:collapse;width:100%;min-width:600px}.compare-table th,.compare-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--gray-200);vertical-align:top}.compare-table th:first-child{background:var(--bg-muted);width:120px;color:var(--text-secondary);font-weight:600}.compare-table .provider-col{min-width:180px}.compare-provider-header{text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.compare-avatar{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,var(--gray-300),var(--gray-400));justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;font-weight:600;display:flex}.alert{padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);align-items:flex-start;gap:var(--space-3);display:flex}.alert-success{background:var(--success-light);color:#065f46;border:1px solid #a7f3d0}.alert-danger{background:var(--danger-light);color:#991b1b;border:1px solid #fecaca}.alert-warning{background:var(--warning-light);color:#92400e;border:1px solid #fcd34d}.alert-info{background:var(--info-light);color:#1e40af;border:1px solid #93c5fd}.alert-icon{flex-shrink:0;font-size:1.25rem}.alert-content{flex:1}.alert-title{margin-bottom:var(--space-1);font-weight:600}.alert-dismiss{cursor:pointer;opacity:.5;background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.alert-dismiss:hover{opacity:1}.welcome-section{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:var(--space-8);border-radius:var(--radius-lg);margin-bottom:var(--space-8)}.welcome-section h2{margin:0 0 var(--space-2);font-size:1.5rem}.welcome-section p{opacity:.9;margin:0}.stats-grid{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{background:var(--bg-card);padding:var(--space-6);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--gray-200)}.stat-card .stat-value{color:var(--primary);margin-bottom:var(--space-1);font-size:2rem;font-weight:700}.stat-card .stat-label{color:var(--text-secondary);font-size:.875rem}.stat-card .stat-change{margin-top:var(--space-2);font-size:.75rem}.stat-card .stat-change.positive{color:var(--success)}.stat-card .stat-change.negative{color:var(--danger)}.upgrade-banner{background:linear-gradient(135deg,var(--primary)0%,#6366f1 100%);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.upgrade-banner-content{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.upgrade-banner-icon{border-radius:var(--radius-full);color:#fff;background:#fff3;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.upgrade-banner-text{flex:1;min-width:200px}.upgrade-banner-text h3{margin:0 0 var(--space-1);color:#fff;font-size:1.125rem;font-weight:600}.upgrade-banner-text p{color:#ffffffe6;margin:0;font-size:.9375rem;line-height:1.5}.btn-upgrade{color:var(--primary);padding:var(--space-3)var(--space-5);border-radius:var(--radius-md);transition:all var(--transition);background:#fff;flex-shrink:0;font-weight:600;text-decoration:none;box-shadow:0 2px 4px #0000001a}.btn-upgrade:hover{background:var(--bg-muted);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.activity-list{margin:0;padding:0;list-style:none}.activity-item{padding:var(--space-3)0;border-bottom:1px solid var(--gray-200);gap:var(--space-3);align-items:flex-start;display:flex}.activity-item:last-child{border-bottom:none}.activity-icon{background:var(--bg-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.activity-content{flex:1}.activity-text{color:var(--text-primary);font-size:.875rem}.activity-time{color:var(--text-muted);margin-top:var(--space-1);font-size:.75rem}.rating-display{align-items:center;gap:var(--space-2);display:flex}.rating-stars{color:var(--warning);font-size:1.25rem}.rating-value{color:var(--text-primary);font-weight:600}.rating-count{color:var(--text-secondary);font-size:.875rem}.filter-tabs{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.filter-tab{padding:var(--space-2)var(--space-4);background:var(--bg-muted);color:var(--text-secondary);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);font-size:.875rem}.filter-tab:hover,.filter-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.quotes-container{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.quote-item{gap:var(--space-4);padding:var(--space-6);border-bottom:1px solid var(--gray-200);cursor:pointer;transition:background var(--transition);grid-template-columns:1fr auto;display:grid}.quote-item:hover{background:var(--bg-muted)}.quote-item:last-child{border-bottom:none}.quote-info h3{margin:0 0 var(--space-2);color:var(--text-primary);font-size:1rem}.quote-description{color:var(--text-secondary);margin-bottom:var(--space-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box;overflow:hidden}.quote-meta{gap:var(--space-4);color:var(--text-muted);flex-wrap:wrap;font-size:.75rem;display:flex}.quote-status{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.quote-date{color:var(--text-muted);font-size:.75rem}.status-badge{padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:500;display:inline-block}.status-badge.pending{background:var(--warning-light);color:#856404}.status-badge.viewed{background:var(--info-light);color:#004085}.status-badge.responded{background:var(--success-light);color:#155724}.status-badge.completed{color:var(--primary);background:#e7f1ff}.status-badge.expired{background:var(--danger-light);color:#721c24}.status-badge.confirmed{background:var(--success-light);color:#155724}.status-badge.cancelled{background:var(--danger-light);color:#721c24}.status-badge.in_progress{background:var(--info-light);color:#004085}.status-badge.requested{background:var(--warning-light);color:#856404}.status-badge.no_show{background:var(--gray-200);color:var(--text-secondary)}@media (prefers-color-scheme:dark){.status-badge.pending{color:#fef3c7;background:#78350f}.status-badge.viewed{color:#dbeafe;background:#1e40af}.status-badge.responded{color:#d1fae5;background:#065f46}.status-badge.completed{color:#dbeafe;background:#1e3a8a}.status-badge.expired{color:#fecaca;background:#991b1b}.status-badge.confirmed{color:#d1fae5;background:#065f46}.status-badge.cancelled{color:#fecaca;background:#991b1b}.status-badge.in_progress{color:#dbeafe;background:#1e40af}.status-badge.requested{color:#fef3c7;background:#78350f}.status-badge.no_show{background:var(--gray-700);color:var(--gray-300)}}[data-theme=dark] .status-badge.pending{color:#fef3c7;background:#78350f}[data-theme=dark] .status-badge.viewed{color:#dbeafe;background:#1e40af}[data-theme=dark] .status-badge.responded{color:#d1fae5;background:#065f46}[data-theme=dark] .status-badge.completed{color:#dbeafe;background:#1e3a8a}[data-theme=dark] .status-badge.expired{color:#fecaca;background:#991b1b}[data-theme=dark] .status-badge.confirmed{color:#d1fae5;background:#065f46}[data-theme=dark] .status-badge.cancelled{color:#fecaca;background:#991b1b}[data-theme=dark] .status-badge.in_progress{color:#dbeafe;background:#1e40af}[data-theme=dark] .status-badge.requested{color:#fef3c7;background:#78350f}[data-theme=dark] .status-badge.no_show{background:var(--gray-700);color:var(--gray-300)}[data-theme=light] .status-badge.pending{background:var(--warning-light);color:#856404}[data-theme=light] .status-badge.viewed{background:var(--info-light);color:#004085}[data-theme=light] .status-badge.responded{background:var(--success-light);color:#155724}[data-theme=light] .status-badge.completed{color:var(--primary);background:#e7f1ff}[data-theme=light] .status-badge.expired{background:var(--danger-light);color:#721c24}[data-theme=light] .status-badge.confirmed{background:var(--success-light);color:#155724}[data-theme=light] .status-badge.cancelled{background:var(--danger-light);color:#721c24}[data-theme=light] .status-badge.in_progress{background:var(--info-light);color:#004085}[data-theme=light] .status-badge.requested{background:var(--warning-light);color:#856404}[data-theme=light] .status-badge.no_show{background:var(--gray-200);color:var(--text-secondary)}.detail-row{margin-bottom:var(--space-4)}.detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1);font-size:.75rem}.detail-value{color:var(--text-primary)}.response-form textarea{width:100%;padding:var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);resize:vertical;min-height:120px;margin-bottom:var(--space-4);font-size:.875rem}.response-form textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.provider-response-box{background:var(--bg-muted);padding:var(--space-4);border-radius:var(--radius-md);border-left:4px solid var(--primary)}.calendar-grid{background:var(--gray-200);border:1px solid var(--gray-200);border-radius:var(--radius-lg);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-header{background:var(--bg-muted);padding:var(--space-3);text-align:center;color:var(--text-secondary);font-size:.875rem;font-weight:600}.calendar-day{background:var(--bg-surface);padding:var(--space-3);cursor:pointer;min-height:80px;transition:background var(--transition)}.calendar-day:hover{background:var(--bg-muted)}.calendar-day.today{background:var(--primary-light)}.calendar-day.selected{background:var(--primary);color:#fff}.calendar-day.disabled{background:var(--bg-muted);color:var(--gray-400);cursor:not-allowed}.calendar-day.blocked{background:var(--danger-light);color:var(--text-secondary)}.calendar-day-number{margin-bottom:var(--space-1);font-weight:600}.calendar-day-events{color:var(--text-secondary);font-size:.75rem}.time-slots{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.time-slot{padding:var(--space-2)var(--space-3);background:var(--bg-muted);border:1px solid var(--gray-200);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--transition);font-size:.875rem}.time-slot:hover{border-color:var(--primary);background:var(--primary-light)}.time-slot.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.time-slot.unavailable{background:var(--gray-200);color:var(--gray-400);cursor:not-allowed}.availability-row{align-items:center;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--gray-200);display:flex}.availability-row:last-child{border-bottom:none}.availability-day{width:100px;font-weight:500}.availability-toggle{align-items:center;gap:var(--space-2);display:flex}.availability-times{gap:var(--space-2);align-items:center;display:flex}.availability-times input[type=time]{padding:var(--space-2);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem}.booking-list{gap:var(--space-4);flex-direction:column;display:flex}.booking-item{gap:var(--space-4);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--gray-200);border-radius:var(--radius-lg);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.booking-date{text-align:center;padding:var(--space-3);background:var(--primary-light);border-radius:var(--radius-md);min-width:60px}.booking-date .day{color:var(--primary);font-size:1.5rem;font-weight:700}.booking-date .month{color:var(--text-secondary);text-transform:uppercase;font-size:.75rem}.booking-info h4{margin:0 0 var(--space-1);font-size:1rem}.booking-info p{color:var(--text-secondary);margin:0;font-size:.875rem}.booking-actions{gap:var(--space-2);display:flex}.thread-list{flex-direction:column;display:flex}.thread-item{gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--gray-200);cursor:pointer;transition:background var(--transition);display:flex}.thread-item.unread{background:var(--primary-light)}.thread-item.unread:hover{background:#dde9ff}.thread-header{margin-bottom:var(--space-1);justify-content:space-between;align-items:baseline;display:flex}.thread-preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.thread-item.unread .thread-preview{color:var(--text-primary);font-weight:500}.message-container{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--gray-200);flex-direction:column;height:calc(100vh - 200px);display:flex;overflow:hidden}.message-header{padding:var(--space-4);border-bottom:1px solid var(--gray-200);align-items:center;gap:var(--space-4);display:flex}.message-list{padding:var(--space-4);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.message-bubble{max-width:70%;padding:var(--space-3)var(--space-4);border-radius:var(--radius-lg);position:relative}.message-bubble.sent{background:var(--primary);color:#fff;border-bottom-right-radius:var(--space-1);align-self:flex-end}.message-bubble.received{background:var(--bg-muted);color:var(--text-primary);border-bottom-left-radius:var(--space-1);align-self:flex-start}.message-text{margin-bottom:var(--space-1)}.message-time{opacity:.7;text-align:right;font-size:.7rem}.message-input-container{padding:var(--space-4);border-top:1px solid var(--gray-200);gap:var(--space-3);display:flex}.message-input{padding:var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-lg);resize:none;flex:1;font-size:.875rem}.message-send-btn{padding:var(--space-3)var(--space-6);background:var(--primary);color:#fff;border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition);border:none;font-weight:500}.message-send-btn:hover{background:var(--primary-dark)}.unread-badge{background:var(--danger);color:#fff;border-radius:var(--radius-full);text-align:center;min-width:18px;padding:2px 6px;font-size:.7rem;font-weight:600}.gallery-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.gallery-item{aspect-ratio:4/3;border-radius:var(--radius-lg);cursor:move;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%}.gallery-item-overlay{opacity:0;transition:opacity var(--transition);justify-content:center;align-items:center;gap:var(--space-2);background:#00000080;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-btn{padding:var(--space-2);background:var(--bg-surface);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition);border:none}.gallery-item-btn:hover{background:var(--gray-200)}.gallery-item-btn.delete:hover{background:var(--danger);color:#fff}.gallery-caption{padding:var(--space-3);color:#fff;background:linear-gradient(#0000,#000c);font-size:.875rem;position:absolute;bottom:0;left:0;right:0}.upload-zone{border:2px dashed var(--gray-300);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;cursor:pointer;transition:all var(--transition)}.upload-zone:hover,.upload-zone.dragover{border-color:var(--primary);background:var(--primary-light)}.upload-zone-icon{color:var(--gray-400);margin-bottom:var(--space-4);font-size:3rem}.upload-zone-text{color:var(--text-secondary);margin-bottom:var(--space-2)}.upload-zone-hint{color:var(--text-muted);font-size:.875rem}.review-list{gap:var(--space-4);flex-direction:column;display:flex}.review-item{background:var(--bg-card);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-6)}.review-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.review-author{align-items:center;gap:var(--space-3);display:flex}.review-author-avatar{background:var(--gray-300);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;display:flex}.review-author-name{color:var(--text-primary);font-weight:600}.review-author-date{color:var(--text-muted);font-size:.875rem}.review-rating{color:var(--warning);font-size:1.25rem}.review-content{color:var(--text-secondary);margin-bottom:var(--space-4);line-height:1.6}.review-response{background:var(--bg-muted);border-left:4px solid var(--primary);padding:var(--space-4);margin-top:var(--space-4);border-radius:0 var(--radius-md)var(--radius-md)0}.review-response-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.review-response-label{color:var(--primary);font-size:.875rem;font-weight:600}.review-response-content{color:var(--text-secondary);font-size:.875rem}.review-actions{gap:var(--space-2);margin-top:var(--space-4);display:flex}.pricing-grid{gap:var(--space-6);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.pricing-card{background:var(--bg-card);border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;transition:all var(--transition);position:relative}.pricing-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg)}.pricing-card.popular{border-color:var(--primary)}.pricing-card.current{border-color:var(--success);background:var(--success-light)}.pricing-badge{background:var(--primary);color:#fff;padding:var(--space-1)var(--space-4);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-tier{color:var(--text-primary);margin-bottom:var(--space-2);font-size:1.25rem;font-weight:700}.pricing-price{color:var(--primary);margin-bottom:var(--space-1);font-size:2.5rem;font-weight:700}.pricing-price span{color:var(--text-muted);font-size:1rem;font-weight:400}.pricing-features{margin:var(--space-6)0;text-align:left;padding:0;list-style:none}.pricing-features li{padding:var(--space-2)0;border-bottom:1px solid var(--gray-100);align-items:center;gap:var(--space-2);display:flex}.pricing-features li:before{content:"✓";color:var(--success);font-weight:600}.billing-history{background:var(--bg-card);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.billing-item{padding:var(--space-4)var(--space-6);border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;display:flex}.billing-item:last-child{border-bottom:none}.billing-info{gap:var(--space-1);flex-direction:column;display:flex}.billing-description{color:var(--text-primary);font-weight:500}.billing-date{color:var(--text-muted);font-size:.875rem}.billing-amount{color:var(--text-primary);font-weight:600}.billing-status{font-size:.75rem}.summary-cards{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.summary-card{background:var(--bg-card);padding:var(--space-6);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--gray-200)}.summary-card .value{color:var(--primary);margin-bottom:var(--space-1);font-size:2.5rem;font-weight:700}.summary-card .label{color:var(--text-secondary);font-size:.875rem}.chart-container{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:var(--space-6);margin-bottom:var(--space-8)}.chart-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.chart-header h2{color:var(--text-primary);margin:0;font-size:1.125rem}.chart-legend{gap:var(--space-4);flex-wrap:wrap;display:flex}.legend-item{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:.75rem;display:flex}.legend-dot{border-radius:50%;width:12px;height:12px}.chart-placeholder{background:var(--bg-muted);border-radius:var(--radius-md);height:300px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.analytics-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));display:grid}.analytics-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden}.analytics-card-header{padding:var(--space-4)var(--space-6);border-bottom:1px solid var(--gray-200)}.analytics-card-header h3{color:var(--text-primary);margin:0;font-size:1rem}.analytics-card-body{padding:var(--space-6)}.metric-row{padding:var(--space-3)0;border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;display:flex}.metric-row:last-child{border-bottom:none}.metric-label{color:var(--text-secondary);font-size:.875rem}.metric-value{color:var(--text-primary);font-weight:600}.no-data{text-align:center;padding:var(--space-12);color:var(--text-muted)}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--gray-200)}.data-table th{color:var(--text-primary);font-size:.875rem;font-weight:600}.data-table td{color:var(--text-secondary);font-size:.875rem}.data-table tbody tr:hover{background:var(--bg-muted)}.profile-form{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden}.form-section{padding:var(--space-6);border-bottom:1px solid var(--gray-200)}.form-section:last-child{border-bottom:none}.form-section-title{color:var(--text-primary);margin:0 0 var(--space-4);font-size:1.125rem;font-weight:600}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.form-group{margin-bottom:var(--space-4)}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--text-primary);margin-bottom:var(--space-2);font-size:.875rem;font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);transition:border-color var(--transition);font-size:.875rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.form-group textarea{resize:vertical;min-height:100px}.form-group .help-text{color:var(--text-muted);margin-top:var(--space-1);font-size:.75rem}.form-actions{padding:var(--space-6);background:var(--bg-muted);gap:var(--space-4);justify-content:flex-end;display:flex}.current-plan{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-8);border:1px solid var(--gray-200)}.current-plan h2{margin-bottom:var(--space-4);font-size:1.25rem}.plan-details{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.plan-detail{padding:var(--space-4);background:var(--bg-muted);border-radius:var(--radius-md)}.plan-detail-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:var(--space-1);font-size:.75rem}.plan-detail-value{font-size:1.125rem;font-weight:600}.plans-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.plan-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-6);border:2px solid var(--gray-200);transition:all var(--transition)}.plan-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg)}.plan-card.featured{border-color:var(--primary);position:relative}.plan-card.featured:before{content:"Most Popular";background:var(--primary);color:#fff;padding:var(--space-1)var(--space-4);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.plan-name{margin-bottom:var(--space-2);font-size:1.25rem;font-weight:700}.plan-tier{padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);margin-bottom:var(--space-4);font-size:.75rem;font-weight:600;display:inline-block}.tier-basic{background:var(--gray-100);color:var(--gray-600)}.tier-premium{color:#1e40af;background:#dbeafe}.tier-elite{color:#7c3aed;background:linear-gradient(135deg,#fae8ff,#f3e8ff)}@media (prefers-color-scheme:dark){.tier-basic{background:var(--gray-700);color:var(--gray-300)}.tier-premium{color:#dbeafe;background:#1e40af}.tier-elite{color:#f3e8ff;background:linear-gradient(135deg,#5b21b6,#7c3aed)}}[data-theme=dark] .tier-basic{background:var(--gray-700);color:var(--gray-300)}[data-theme=dark] .tier-premium{color:#dbeafe;background:#1e40af}[data-theme=dark] .tier-elite{color:#f3e8ff;background:linear-gradient(135deg,#5b21b6,#7c3aed)}[data-theme=light] .tier-basic{background:var(--gray-100);color:var(--gray-600)}[data-theme=light] .tier-premium{color:#1e40af;background:#dbeafe}[data-theme=light] .tier-elite{color:#7c3aed;background:linear-gradient(135deg,#fae8ff,#f3e8ff)}.plan-price{margin-bottom:var(--space-4);font-size:2rem;font-weight:700}.plan-price span{color:var(--text-muted);font-size:1rem;font-weight:400}.plan-features{margin:0 0 var(--space-6);padding:0;list-style:none}.plan-features li{align-items:center;gap:var(--space-2);padding:var(--space-2)0;color:var(--text-secondary);font-size:.9rem;display:flex}.plan-features li:before{content:"✓";color:var(--success);font-weight:700}.cancel-section{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--gray-200)}.billing-table{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--gray-200);width:100%;overflow:hidden}.billing-table table{border-collapse:collapse;width:100%}.billing-table th,.billing-table td{padding:var(--space-4);text-align:left;border-bottom:1px solid var(--gray-200)}.billing-table th{background:var(--bg-muted);text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:600}.billing-table tr:last-child td{border-bottom:none}.status-completed{color:#065f46;background:#d1fae5}.status-failed{color:#991b1b;background:#fee2e2}.status-refunded{color:#3730a3;background:#e0e7ff}.pagination{justify-content:center;gap:var(--space-2);margin-top:var(--space-8);display:flex}.pagination a,.pagination span{padding:var(--space-2)var(--space-4);border-radius:var(--radius-md);font-size:.875rem;text-decoration:none}.pagination a{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--gray-200)}.pagination a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination span.current{background:var(--primary);color:#fff}.upload-area{background:var(--bg-card);border:2px dashed var(--gray-300);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;margin-bottom:var(--space-8);cursor:pointer;transition:all var(--transition)}.upload-area:hover,.upload-area.dragover{border-color:var(--primary);background:var(--primary-light)}.upload-icon{margin-bottom:var(--space-4);color:var(--gray-400);font-size:3rem}.upload-text{color:var(--text-secondary);margin-bottom:var(--space-2);font-size:1rem}.upload-hint{color:var(--text-muted);font-size:.875rem}.gallery-item-caption{padding:var(--space-3);color:var(--text-secondary);font-size:.875rem}.reviews-list{gap:var(--space-4);flex-direction:column;display:flex}.review-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--gray-200)}.reviewer-info h3{margin:0 0 var(--space-1);font-size:1rem}.review-badges{gap:var(--space-2);margin-top:var(--space-2);display:flex}.badge-verified{color:#065f46;background:#d1fae5}.response-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.response-label{color:var(--primary);text-transform:uppercase;font-size:.75rem;font-weight:600}.response-date{color:var(--text-muted);font-size:.75rem}.response-text{color:var(--text-secondary);font-size:.9rem}.apply-container{max-width:800px;padding:var(--space-8)var(--space-4);margin:0 auto}.apply-header{text-align:center;margin-bottom:var(--space-8)}.apply-header h1{color:var(--text-primary);margin:0 0 var(--space-2);font-size:2rem}.apply-header p{color:var(--text-secondary);margin:0;font-size:1rem}.apply-benefits{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.benefit-card{background:var(--bg-card);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--gray-200);text-align:center}.benefit-card svg{width:40px;height:40px;color:var(--primary);margin-bottom:var(--space-3)}.benefit-card h3{color:var(--text-primary);margin:0 0 var(--space-2);font-size:1rem}.benefit-card p{color:var(--text-secondary);margin:0;font-size:.875rem}.apply-form{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden}.category-checkboxes{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.category-checkbox{align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-muted);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition);display:flex}.category-checkbox:hover{background:var(--bg-muted)}.category-checkbox input{width:auto}.category-checkbox span{color:var(--text-primary);font-size:.875rem}.required{color:var(--danger)}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.btn-success{background:var(--success);color:#fff;border:none}.btn-success:hover{background:#059669}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-danger:hover{background:#dc2626}.btn-outline-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn-outline-danger:hover{background:var(--danger);color:#fff}.alert-error{background:var(--danger-light);color:#991b1b;border:1px solid #fecaca}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.page-header h1{margin-bottom:.25rem;font-size:1.75rem}.page-header p{color:var(--text-muted);margin:0}.page-header .btn svg{margin-right:.5rem}.booking-table{overflow-x:auto}.booking-table table{border-collapse:collapse;width:100%}.booking-table thead tr{border-bottom:2px solid var(--gray-200)}.booking-table th{text-align:left;color:var(--text-secondary);padding:.75rem;font-weight:600}.booking-table th:last-child{text-align:right}.booking-table tbody tr{border-bottom:1px solid var(--gray-100)}.booking-table td{padding:1rem .75rem}.booking-table td:last-child{text-align:right}.booking-table .customer-name{font-weight:500}.booking-table .customer-email,.booking-table .time-detail{color:var(--text-muted);font-size:.85rem}.booking-table .action-buttons{justify-content:flex-end;gap:.5rem;display:flex}.booking-table .text-muted{color:var(--gray-400)}.availability-day{border-bottom:1px solid var(--gray-100);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 0;display:flex}.availability-day:last-child{border-bottom:none}.availability-day-name{align-items:center;gap:1rem;min-width:120px;display:flex}.availability-day-name span{font-weight:500}.availability-hours{color:var(--text-secondary);flex:1;justify-content:center;align-items:center;gap:1rem;display:flex}.availability-unavailable{text-align:center;color:var(--gray-400);flex:1}.availability-actions{gap:.5rem;display:flex}.blocked-date-item{background:var(--bg-muted);border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.blocked-date-item .date-info{font-weight:500}.blocked-date-item .date-reason{color:var(--text-muted);margin-left:.5rem}.add-days-grid{gap:.5rem;display:grid}.modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border-radius:12px;width:90%;max-width:400px;padding:2rem}.modal-content h3{margin-bottom:1.5rem}.modal-buttons{gap:1rem;margin-top:1.5rem;display:flex}.modal-buttons .btn{flex:1}.empty-state-icon{margin:0 auto 1rem}.empty-state-icon svg{width:64px;height:64px;stroke:var(--gray-300)}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-header h2{margin:0;font-size:1.25rem}.badge{border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.badge.status-pending,.status-badge.status-pending{color:#92400e;background:#fef3c7}.badge.status-confirmed,.status-badge.status-confirmed{color:#1e40af;background:#dbeafe}.badge.status-active,.status-badge.status-active,.badge.status-in-progress,.status-badge.status-in-progress{color:#3730a3;background:#e0e7ff}.badge.status-success,.status-badge.status-success,.badge.status-completed,.status-badge.status-completed{color:#166534;background:#dcfce7}.badge.status-cancelled,.status-badge.status-cancelled,.badge.status-danger,.status-badge.status-danger{color:#991b1b;background:#fee2e2}.badge.status-requested{color:#92400e;background:#fef3c7}.badge.status-no-show{color:#991b1b;background:#fee2e2}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--gray-400)}.text-gray-500{color:var(--text-muted)}.text-gray-600{color:var(--text-secondary)}.text-primary{color:var(--primary)}.text-success{color:var(--success)}.text-accent{color:var(--accent)}.font-medium{font-weight:500}.font-bold{font-weight:700}.fs-sm{font-size:.85rem}.fs-lg{font-size:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-4{padding-left:1rem;padding-right:1rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.flex{display:flex}.flex-1{flex:1}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.grid{display:grid}.grid-cols-auto{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.max-w-900{max-width:900px}.max-w-200{max-width:200px}.max-w-600{max-width:600px}.max-w-700{max-width:700px}.messages-page{flex-direction:column;height:calc(100vh - 64px);display:flex}.messages-header{background:var(--bg-surface);border-bottom:1px solid var(--gray-200);padding:1rem 1.5rem}.messages-header-content{align-items:center;gap:1rem;max-width:900px;display:flex}.messages-back-link{color:var(--text-muted);text-decoration:none}.messages-container{background:var(--bg-muted);flex:1;overflow-y:auto}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:0 0}.messages-container::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.message-list{flex-direction:column-reverse;gap:1rem;display:flex}.message-wrapper{display:flex}.message-wrapper.sent{justify-content:flex-end}.message-wrapper.received{justify-content:flex-start}.message-bubble{max-width:70%;box-shadow:var(--shadow-sm);border-radius:12px;padding:.75rem 1rem}.message-bubble.sent{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.message-bubble.received{background:var(--bg-surface);border-bottom-left-radius:4px}.message-bubble p{white-space:pre-wrap;word-break:break-word}.message-time{text-align:right;margin-top:.5rem;font-size:.7rem}.message-time.sent{color:#ffffffb3}.message-time.received{color:var(--gray-400)}.message-input-container{background:var(--bg-surface);border-top:1px solid var(--gray-200);padding:1rem}.message-form{gap:.75rem;display:flex}.message-input{border:1px solid var(--gray-300);border-radius:24px;flex:1;padding:.75rem 1rem;font-size:1rem}.message-input:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}.message-send-btn{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.thread-item{border-bottom:1px solid var(--gray-100);color:inherit;align-items:center;gap:1rem;padding:1rem 1.5rem;text-decoration:none;display:flex}.thread-item:hover,.thread-item.unread{background:var(--bg-muted)}.thread-avatar{background:var(--primary-light);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-weight:600;display:flex}.thread-content{flex:1;min-width:0}.thread-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.thread-name{color:var(--gray-800);font-weight:600}.thread-time{color:var(--text-muted);font-size:.8rem}.thread-subject{color:var(--text-secondary);margin-bottom:.25rem;font-size:.9rem}.thread-preview{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.thread-unread-badge{background:var(--primary);color:#fff;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.booking-form-container{max-width:600px;padding:2rem 1rem}.back-link{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem;text-decoration:none;display:flex}.time-slots-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.time-slot{text-align:center;border:2px solid var(--gray-200);cursor:pointer;border-radius:8px;padding:.75rem;transition:all .2s}.time-slot:hover{border-color:var(--primary-light)}input[type=radio]:checked+.time-slot{border-color:var(--primary);background:var(--primary);color:#fff}.form-grid-2-1{grid-template-columns:2fr 1fr;gap:1rem;display:grid}.form-divider{border:none;border-top:1px solid var(--gray-200);margin:1.5rem 0}.booking-notice{text-align:center;color:var(--text-muted);margin-top:1rem;font-size:.85rem}.how-it-works-grid{text-align:center;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.how-it-works-step{text-align:center}.step-number{background:var(--primary-light);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto .75rem;font-size:1.25rem;font-weight:700;display:flex}.step-title{margin-bottom:.25rem;font-size:.9rem}.step-description{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.reviews-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.reviews-count{color:var(--text-muted);font-size:.9rem}.review-item{border:1px solid var(--gray-200);background:var(--bg-surface);border-radius:12px;padding:1.25rem}.review-item-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.reviewer-info{align-items:center;gap:.75rem;display:flex}.reviewer-avatar{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;display:flex}.reviewer-name{color:var(--gray-800);font-weight:600}.review-date{color:var(--text-muted);font-size:.8rem}.review-rating-stars{align-items:center;gap:.5rem;display:flex}.review-title{color:var(--gray-800);margin-bottom:.5rem;font-size:1rem;font-weight:600}.review-content{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.review-actions{gap:1rem;margin-top:1rem;font-size:.85rem;display:flex}.review-action-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;display:flex}.review-action-btn:hover{color:var(--primary)}.featured-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.featured-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.featured-grid{grid-template-columns:repeat(3,1fr)}}.featured-card{animation:.3s fadeIn}.featured-card-header{gap:1rem;margin-bottom:1rem;display:flex}.featured-avatar{color:#fff;background:linear-gradient(135deg,var(--gray-300),var(--gray-400));border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;font-weight:600;display:flex}.featured-avatar.elite{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.featured-avatar.premium{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.featured-info{flex:1}.featured-badges{flex-wrap:wrap;gap:.5rem;display:flex}.featured-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.9rem;line-height:1.5;display:-webkit-box;overflow:hidden}.featured-footer{justify-content:space-between;align-items:center;display:flex}.featured-location{color:var(--text-muted);font-size:.85rem}.results-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.results-count{color:var(--text-primary);font-size:1rem;font-weight:600}.results-count .highlight{color:var(--primary)}.results-sort{border:1px solid var(--gray-300);background:var(--bg-surface);border-radius:8px;padding:.5rem .75rem;font-size:.875rem}.results-sort:disabled{opacity:.5;cursor:not-allowed;background:var(--gray-100)}.results-filters{align-items:center;gap:1rem;display:flex}.filter-checkbox{cursor:pointer;color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.filter-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}.filter-checkbox span{white-space:nowrap}.no-results{text-align:center;padding:4rem 2rem}.no-results-icon{margin-bottom:1rem;font-size:4rem}.no-results h3{color:var(--text-secondary);margin-bottom:.75rem}.no-results p{color:var(--text-muted);max-width:400px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto}.no-results-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.load-more-container{justify-content:center;margin-top:2rem;display:flex}.provider-categories{flex-wrap:wrap;gap:.375rem;margin-top:.75rem;display:flex}.breadcrumb{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem}.breadcrumb a{color:var(--primary);text-decoration:none}.breadcrumb-separator{margin:0 .5rem}.breadcrumb-current{color:var(--text-primary)}.sidebar-card{margin-top:1.5rem}.sidebar-card:first-child{margin-top:0}.sidebar-card h4{margin-bottom:.75rem;font-size:1rem}.sidebar-card p{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:1.5}.sidebar-tips{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.sidebar-tips h4{color:var(--primary-dark)}.sidebar-tips ul{color:var(--text-secondary);margin-left:1rem;font-size:.85rem;line-height:1.7}@media (prefers-color-scheme:dark){.sidebar-tips{background:linear-gradient(135deg,#1e3a5f,#1e40af33)}.sidebar-tips h4{color:var(--primary-light)}}[data-theme=dark] .sidebar-tips{background:linear-gradient(135deg,#1e3a5f,#1e40af33)}[data-theme=dark] .sidebar-tips h4{color:var(--primary-light)}[data-theme=light] .sidebar-tips{background:linear-gradient(135deg,#eff6ff,#dbeafe)}[data-theme=light] .sidebar-tips h4{color:var(--primary-dark)}.quick-links{flex-wrap:wrap;gap:.5rem;display:flex}.quick-links a{text-decoration:none}.popular-links{opacity:.8;margin-top:1.5rem;font-size:.9rem}.popular-links a{color:#fff;margin:0 .5rem}.animate-fade-in{animation:.3s fadeIn}.empty-state-large{text-align:center;padding:3rem}.empty-state-large h3{color:var(--text-secondary);margin-bottom:.5rem}.empty-state-large p{color:var(--text-muted)}.alert{border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem}.alert-danger{color:#b91c1c;background:#fef2f2}.alert-success{color:#166534;background:#f0fdf4}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.p-4{padding:1rem}.text-gray-300{color:var(--gray-300)}.text-gray-900{color:var(--text-primary)}.animate-spin{animation:1s linear infinite spin}.provider-avatar.elite{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.provider-avatar.premium{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.map-container{border-radius:var(--radius-lg);width:100%;height:300px;position:relative;overflow:hidden}.map-container-lg{height:400px}.map-container-full{height:500px}.map-marker{cursor:pointer}.map-marker-pin{background:var(--primary);width:36px;height:36px;box-shadow:var(--shadow-md);border:3px solid #fff;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;display:flex;transform:rotate(-45deg)}.map-marker-pin svg{color:#fff;width:18px;height:18px;transform:rotate(45deg)}.map-marker:hover .map-marker-pin{background:var(--primary-dark);transform:rotate(-45deg)scale(1.1)}.map-marker-numbered{background:var(--primary);color:#fff;width:28px;height:28px;box-shadow:var(--shadow-md);transition:transform var(--transition-fast);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.map-marker-numbered:hover{z-index:10;transform:scale(1.15)}.map-marker-elite{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.map-marker-premium{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.mapboxgl-popup-content{overflow:hidden;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;background:var(--card-bg)!important;padding:0!important}.mapboxgl-popup-close-button{color:var(--text-muted);padding:.5rem;font-size:1.25rem;top:.25rem;right:.25rem}.mapboxgl-popup-close-button:hover{color:var(--gray-800);background:0 0}@media (prefers-color-scheme:dark){.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{border-top-color:var(--card-bg)!important}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{border-bottom-color:var(--card-bg)!important}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-right-color:var(--card-bg)!important}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:var(--card-bg)!important}.mapboxgl-popup-close-button:hover{color:var(--gray-200)}}[data-theme=dark] .mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{border-top-color:var(--card-bg)!important}[data-theme=dark] .mapboxgl-popup-anchor-top .mapboxgl-popup-tip{border-bottom-color:var(--card-bg)!important}[data-theme=dark] .mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-right-color:var(--card-bg)!important}[data-theme=dark] .mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:var(--card-bg)!important}[data-theme=dark] .mapboxgl-popup-close-button:hover{color:var(--gray-200)}[data-theme=light] .mapboxgl-popup-close-button:hover{color:var(--gray-800)}.map-popup{max-width:250px;padding:1rem}.map-popup strong{color:var(--text-primary);margin-bottom:.25rem;font-size:.95rem;display:block}.map-popup strong a{color:var(--text-primary);text-decoration:none}.map-popup strong a:hover{color:var(--primary)}.map-popup p{color:var(--text-secondary);margin:.25rem 0;font-size:.8rem}.map-popup-rating{color:var(--accent);margin-bottom:.25rem;font-size:.85rem;font-weight:600}.map-popup-categories{color:var(--text-muted);margin-bottom:.5rem;font-size:.75rem}.map-popup-link{background:var(--primary);color:#fff;border-radius:var(--radius-sm);transition:background var(--transition-fast);margin-top:.5rem;padding:.375rem .75rem;font-size:.75rem;text-decoration:none;display:inline-block}.map-popup-link:hover{background:var(--primary-dark)}.map-empty{background:var(--bg-muted);height:100%;min-height:200px;color:var(--text-muted);border-radius:var(--radius-lg);justify-content:center;align-items:center;font-size:.9rem;display:flex}.view-toggle{background:var(--bg-muted);border-radius:var(--radius);gap:.25rem;padding:.25rem;display:flex}.view-toggle-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.view-toggle-btn:hover{background:var(--gray-200);color:var(--gray-800)}.view-toggle-btn.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.view-toggle-btn svg{width:16px;height:16px}#search-map-view{border-radius:var(--radius-lg);height:500px;margin-bottom:1.5rem;display:none;overflow:hidden}#search-list-view{display:block}.provider-card-highlight{box-shadow:0 0 0 2px var(--primary),var(--shadow-lg);transform:translateY(-2px)}@media (width<=768px){.map-container{height:250px}.map-container-lg,.map-container-full{height:350px}#search-map-view{height:400px}.map-popup{max-width:200px;padding:.75rem}.view-toggle{justify-content:center;width:100%}}@media (width<=359px){.container{padding-left:var(--space-3);padding-right:var(--space-3)}header .container{padding:0 var(--space-2)}.logo{font-size:1rem}.logo-icon{width:24px;height:24px;font-size:.875rem}.mobile-menu-btn{width:40px;height:40px}.hero h1{font-size:1.25rem}.btn{padding:var(--space-2)var(--space-3);font-size:.875rem}}@media (width<=479px){.footer-grid{gap:var(--space-6);text-align:center;grid-template-columns:1fr}.footer-grid h4{margin-bottom:var(--space-2)}.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.provider-card{padding:var(--space-4)}.provider-info h3{font-size:1rem}.badge{padding:.2rem .5rem;font-size:.7rem}}@media (width<=767px){body{overflow-x:hidden}main .container{padding-left:var(--space-4);padding-right:var(--space-4)}.providers-grid{grid-template-columns:1fr}.btn-sm{min-height:44px;padding:var(--space-2)var(--space-3)}.categories-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.search-filters{gap:var(--space-3);flex-direction:column}.search-filters select,.search-filters input{width:100%}.sidebar-ad{display:none!important}body:has(#page-hero-state[data-hero=expanded]) #site-hero{max-height:none;padding:1.5rem 0 1rem}body:has(#page-hero-state[data-hero=expanded]) .hero-text{max-height:none;margin-bottom:var(--space-3)}body:has(#page-hero-state[data-hero=expanded]) .hero-text h1{font-size:1.25rem}body:has(#page-hero-state[data-hero=expanded]) .hero-text p{margin-bottom:var(--space-2);font-size:.875rem}body:has(#page-hero-state[data-hero=compact]) #site-hero{max-height:none;padding:1rem 0}.hero .container{padding-left:var(--space-3);padding-right:var(--space-3)}.search-container{padding:var(--space-3);gap:var(--space-2);box-shadow:var(--shadow-md)}.search-container input,.search-container select{padding:.75rem var(--space-3);border-width:1px}.search-btn{padding:.75rem var(--space-4)}}@media (width<=479px){body:has(#page-hero-state[data-hero=expanded]) #site-hero{padding:1rem 0 .75rem}body:has(#page-hero-state[data-hero=expanded]) .hero-text h1{font-size:1.125rem}body:has(#page-hero-state[data-hero=compact]) #site-hero{padding:.75rem 0}.search-container{padding:var(--space-2);gap:var(--space-2);border-radius:var(--radius)}.search-container input,.search-container select{padding:.625rem var(--space-2);border-radius:var(--radius);font-size:14px}.search-btn{padding:.625rem var(--space-3);border-radius:var(--radius);font-size:.875rem}}.form-error{color:var(--danger);margin-top:var(--space-1);font-size:.85rem;display:block}.form-error[hidden]{display:none}.form-hint{color:var(--text-muted);margin-top:var(--space-1);font-size:.85rem;display:block}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{border-color:var(--danger);box-shadow:0 0 0 3px #ef44444d}.auth-loading .skeleton-btn{border-radius:var(--radius);background:linear-gradient(90deg,var(--skeleton-base)25%,var(--skeleton-shine)50%,var(--skeleton-base)75%);background-size:200% 100%;width:80px;height:36px;animation:1.5s infinite skeleton-shimmer}.auth-buttons:not(.auth-loading) .skeleton-btn,.auth-loading .btn-login,.auth-loading .btn-signup{display:none}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.compare-table{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.compare-table table{min-width:600px}@media (width<=768px){.compare-modal-content{width:95vw;max-width:none;margin:var(--space-4)}}.theme-toggle{min-width:44px;min-height:44px}@media (width<=767px){.theme-toggle{width:44px;height:44px}.theme-toggle svg{width:20px;height:20px}}label:has(input[type=checkbox]){padding:var(--space-2);margin:calc(-1*var(--space-2));cursor:pointer;align-items:center;display:inline-flex}input[type=checkbox]{min-width:18px;min-height:18px}.auth-page-wrapper{max-width:450px;margin:var(--space-12)auto;padding:0 var(--space-4)}.auth-card{padding:var(--space-8)}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-title{margin-bottom:var(--space-2);font-size:1.75rem}.auth-subtitle{color:var(--text-muted)}.auth-divider{align-items:center;gap:var(--space-4);margin:var(--space-6)0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.auth-divider-text{color:var(--text-muted);text-transform:uppercase;font-size:.85rem}.auth-footer{text-align:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-color)}.sso-buttons{gap:var(--space-3);flex-direction:column;display:flex}.password-field,.input-with-icon{position:relative}.password-toggle{right:var(--space-3);color:var(--text-muted);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.password-toggle:hover{color:var(--text-primary)}.password-toggle:focus{outline:2px solid var(--primary);outline-offset:2px}.input-with-icon input{padding-right:calc(var(--space-8) + var(--space-4))}.alert{padding:var(--space-3)var(--space-4);border-radius:var(--radius);margin-bottom:var(--space-6);font-size:.9rem}.alert-success{background:var(--success-light);color:#166534}.alert-error{background:var(--danger-light);color:#b91c1c}.form-row{margin-top:var(--space-4);justify-content:space-between;align-items:center;display:flex}.form-row-checkbox{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-secondary);font-size:.9rem;display:flex}.form-row-checkbox input{width:auto}.form-link{color:var(--primary);font-size:.9rem}.form-link-bold{color:var(--primary);font-weight:600}.name-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.btn-block-mt{margin-top:var(--space-6)}