:root{--color-bg: #f8f9fc;--color-surface: #ffffff;--color-surface-hover: #f1f3f9;--color-border: #e2e6ef;--color-border-focus: #6366f1;--color-text-primary: #1a1d2e;--color-text-secondary: #5b6178;--color-text-muted: #8b90a5;--color-text-inverse: #ffffff;--color-accent: #6366f1;--color-accent-hover: #4f46e5;--color-accent-light: #eef2ff;--color-accent-subtle: rgba(99, 102, 241, .08);--color-success: #10b981;--color-success-light: #ecfdf5;--color-warning: #f59e0b;--color-warning-light: #fffbeb;--color-danger: #ef4444;--color-danger-light: #fef2f2;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .08), 0 4px 10px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 50px -5px rgba(0, 0, 0, .1), 0 8px 20px -6px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--max-width: 1280px;--navbar-height: 64px;--color-navbar-bg: rgba(255, 255, 255, .85)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-bg: #0f1117;--color-surface: #1a1d2e;--color-surface-hover: #232640;--color-border: #2d3148;--color-border-focus: #818cf8;--color-text-primary: #eef0f6;--color-text-secondary: #a1a6be;--color-text-muted: #6b7194;--color-text-inverse: #0f1117;--color-accent: #818cf8;--color-accent-hover: #6366f1;--color-accent-light: rgba(129, 140, 248, .12);--color-accent-subtle: rgba(129, 140, 248, .06);--color-success-light: rgba(16, 185, 129, .12);--color-warning-light: rgba(245, 158, 11, .12);--color-danger-light: rgba(239, 68, 68, .12);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 50px -5px rgba(0, 0, 0, .4);--color-navbar-bg: rgba(26, 29, 46, .85)}}[data-theme=dark]{--color-bg: #0f1117;--color-surface: #1a1d2e;--color-surface-hover: #232640;--color-border: #2d3148;--color-border-focus: #818cf8;--color-text-primary: #eef0f6;--color-text-secondary: #a1a6be;--color-text-muted: #6b7194;--color-text-inverse: #0f1117;--color-accent: #818cf8;--color-accent-hover: #6366f1;--color-accent-light: rgba(129, 140, 248, .12);--color-accent-subtle: rgba(129, 140, 248, .06);--color-success-light: rgba(16, 185, 129, .12);--color-warning-light: rgba(245, 158, 11, .12);--color-danger-light: rgba(239, 68, 68, .12);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 50px -5px rgba(0, 0, 0, .4);--color-navbar-bg: rgba(26, 29, 46, .85)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg);line-height:1.6;min-height:100vh}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}.page{padding-top:calc(var(--navbar-height) + var(--space-8));padding-bottom:var(--space-16);min-height:100vh}.navbar{position:fixed;top:0;left:0;right:0;height:var(--navbar-height);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--color-navbar-bg, rgba(255, 255, 255, .85));z-index:100;transition:box-shadow var(--transition-base),background-color var(--transition-base)}.navbar.scrolled{box-shadow:var(--shadow-md)}.navbar-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6);height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.navbar-logo{display:flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--font-size-xl);color:var(--color-text-primary);text-decoration:none;flex-shrink:0}.navbar-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--color-accent),#a855f7);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:800}.navbar-nav{display:flex;align-items:center;gap:var(--space-1)}.navbar-link{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:500;font-size:var(--font-size-sm);transition:all var(--transition-fast);white-space:nowrap}.navbar-link:hover,.navbar-link.active{color:var(--color-accent);background:var(--color-accent-subtle)}.search-bar{position:relative;flex:1;max-width:480px}.search-bar-input{width:100%;height:40px;padding:0 var(--space-4) 0 40px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-sm);outline:none;transition:all var(--transition-fast)}.search-bar-input::placeholder{color:var(--color-text-muted)}.search-bar-input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-accent-subtle);background:var(--color-surface)}.search-bar-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;font-size:14px}.search-bar-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:var(--color-surface-hover);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all var(--transition-fast)}.search-bar-clear:hover{background:var(--color-border);color:var(--color-text-primary)}.category-filter{display:flex;gap:var(--space-2);padding:var(--space-1) 0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin-bottom:var(--space-6)}.category-filter::-webkit-scrollbar{display:none}.category-pill{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.category-pill:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.category-pill.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.business-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-5)}.business-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base);cursor:default;position:relative;overflow:hidden}.business-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-accent),#a855f7);opacity:0;transition:opacity var(--transition-base)}.business-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.business-card:hover:before{opacity:1}.business-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.business-card-name{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);line-height:1.3}.business-card-category{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-accent-light);color:var(--color-accent);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;flex-shrink:0}.business-card-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6;margin-bottom:var(--space-4);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.business-card-details{display:flex;flex-direction:column;gap:var(--space-2)}.business-card-detail{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs)}.business-card-detail-icon{flex-shrink:0;width:16px;text-align:center}.business-card-score{position:absolute;top:var(--space-4);right:var(--space-4);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-success-light);color:var(--color-success);font-size:var(--font-size-xs);font-weight:700}.page-header{margin-bottom:var(--space-8)}.page-title{font-size:var(--font-size-3xl);font-weight:800;color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:var(--space-2)}.page-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-1);margin-top:var(--space-10)}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.pagination-btn:hover:not(:disabled):not(.active){border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.pagination-btn.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.form{max-width:640px}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;margin-bottom:var(--space-2);font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-primary)}.form-label .required{color:var(--color-danger);margin-left:2px}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-base);outline:none;transition:all var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-accent-subtle)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea{min-height:120px;resize:vertical;line-height:1.6}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7194' d='M6 8.825a.5.5 0 0 1-.354-.146L2.146 5.179a.5.5 0 0 1 .708-.708L6 7.618l3.146-3.147a.5.5 0 0 1 .708.708L6.354 8.679A.5.5 0 0 1 6 8.825z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.form-hint{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.form-char-count{text-align:right;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.form-char-count.warn{color:var(--color-warning)}.form-char-count.danger{color:var(--color-danger)}.form-error{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-base);border-radius:var(--radius-lg)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) 0;color:var(--color-text-muted)}.loading-spinner{width:36px;height:36px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--space-16) var(--space-6);color:var(--color-text-muted)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.5}.empty-state-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.empty-state-text{font-size:var(--font-size-sm);max-width:400px;margin:0 auto}.toast{position:fixed;bottom:var(--space-6);right:var(--space-6);padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);background:var(--color-text-primary);color:var(--color-bg);font-size:var(--font-size-sm);font-weight:500;box-shadow:var(--shadow-xl);z-index:200;animation:slideUp .3s ease-out}.toast.success{background:var(--color-success);color:#fff}.toast.error{background:var(--color-danger);color:#fff}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.footer{border-top:1px solid var(--color-border);padding:var(--space-8) 0;text-align:center;color:var(--color-text-muted);font-size:var(--font-size-xs)}.search-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.search-results-count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.search-results-query{font-weight:600;color:var(--color-accent)}@media (max-width: 768px){.navbar-inner{padding:0 var(--space-4);gap:var(--space-3)}.navbar-logo img{display:none}.navbar-logo span{font-size:clamp(1rem,4vw + .1rem,1.25rem)}.search-bar{max-width:none}.navbar-nav{gap:0}.navbar-link{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.container{padding:0 var(--space-4)}.page{padding-top:calc(var(--navbar-height) + var(--space-6))}.page-title{font-size:var(--font-size-2xl)}.business-grid{grid-template-columns:1fr}.business-card{padding:var(--space-5)}}@media (max-width: 480px){.pagination{gap:0}.pagination-btn{min-width:34px;height:34px;font-size:var(--font-size-xs)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in,.business-card{animation:fadeIn .4s ease-out both}.business-grid .business-card:nth-child(1){animation-delay:.02s}.business-grid .business-card:nth-child(2){animation-delay:.04s}.business-grid .business-card:nth-child(3){animation-delay:.06s}.business-grid .business-card:nth-child(4){animation-delay:.08s}.business-grid .business-card:nth-child(5){animation-delay:.1s}.business-grid .business-card:nth-child(6){animation-delay:.12s}.business-grid .business-card:nth-child(7){animation-delay:.14s}.business-grid .business-card:nth-child(8){animation-delay:.16s}.business-grid .business-card:nth-child(9){animation-delay:.18s}[data-theme=light] .footer-logo-img{filter:drop-shadow(0px 2px 4px rgba(0,0,0,.4))}
