:root{--primary:#2563eb;--primary-hover:#1d4ed8;--secondary:#10b981;--background:#eef6ff;--surface:#fff;--text:#0f172a;--text-light:#64748b;--border:#e2e8f0;--shadow:0 4px 12px #00000014}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--text);font-family:Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}.container{width:90%;max-width:1200px;margin:auto}.form-card{background:var(--surface);border-radius:20px;max-width:520px;margin:3rem auto;padding:2rem;box-shadow:0 10px 30px #00000014}.form-card h1{color:var(--text);margin-bottom:.5rem;font-size:2rem}.form-card .form-subtitle{color:var(--text-light);margin-bottom:1.5rem}.form-field{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.form-field label{color:var(--text);font-size:.95rem;font-weight:600}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--border);font:inherit;color:var(--text);background:var(--surface);border-radius:10px;padding:.8rem 1rem}.form-field textarea{resize:vertical;min-height:120px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--primary);outline:2px solid #bfdbfe}.form-field .field-error{color:#dc2626;font-size:.85rem}.form-field .field-hint{color:var(--text-light);font-size:.85rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 1rem;display:grid}.form-actions{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;display:flex}.form-card .btn-primary{width:100%}.form-footer{text-align:center;color:var(--text-light);margin-top:1.5rem}.form-footer a{color:var(--primary);font-weight:600}.alert{border-radius:12px;margin-bottom:1rem;padding:.9rem 1rem;font-size:.95rem}.alert-error{color:#991b1b;background:#fee2e2}.alert-success{color:#065f46;background:#d1fae5}.page-message{text-align:center;color:var(--text-light);padding:3rem 1rem}.chip-group{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text-light);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.9rem;display:inline-flex}.chip input{display:none}.chip.selected{color:var(--primary);background:#dbeafe;border-color:#dbeafe;font-weight:600}.btn-link{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:.4rem 0;font-weight:600}.btn-link.danger{color:#dc2626}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}a.btn-primary,a.btn-secondary{text-align:center;display:inline-block}.upload-preview{align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.upload-preview img{object-fit:cover;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;width:96px;height:96px}.upload-gallery{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.upload-gallery .upload-preview{flex-direction:column;gap:.25rem}input[type=file]{max-width:100%;padding:.5rem 0}.navbar{background:var(--background);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;box-shadow:0 2px 8px #0000000d}.logo{color:#2563eb;font-size:1.4rem;font-weight:700}.nav-links{gap:2rem;list-style:none;display:flex}.auth-buttons{gap:1rem;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;padding:.8rem 1.4rem;transition:all .3s}.btn-primary:hover{background:#1d4ed8}.btn-secondary{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #2563eb;border-radius:10px;padding:.8rem 1.4rem;transition:all .3s}.btn-secondary:hover{background:#eff6ff}.logo{color:#2563eb;font-size:1.4rem;font-weight:700;text-decoration:none}.logo:hover{opacity:.9}.nav-links a{color:inherit;text-decoration:none}.nav-links a:hover{color:#2563eb}@media (width<=768px){.navbar{flex-wrap:wrap;gap:1rem;padding:1rem}.nav-links{order:3;justify-content:center;gap:1.5rem;width:100%}.auth-buttons button{padding:.6rem 1rem}}.hero{text-align:center;color:#fff;background:linear-gradient(135deg,#2563eb,#10b981);padding:6rem 2rem}.hero h1{margin-bottom:1rem;font-size:4rem}.hero p{max-width:700px;margin:auto auto 2rem;font-size:1.2rem}.search-container{background:#fff;border-radius:15px;gap:1rem;max-width:800px;margin:2rem auto 4rem;padding:1rem;display:flex;box-shadow:0 8px 25px #0000001a}.search-container input{border:1px solid #e2e8f0;border-radius:10px;flex:1;padding:1rem}.search-container button{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:10px;padding:0 2rem}.category-card{text-align:center;cursor:pointer;background:#fff;border-radius:16px;padding:2rem;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 15px #00000014}.category-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001f}.category-card h3{color:var(--primary);font-size:1.2rem}.business-card{background:#fff;border-radius:16px;padding:1.5rem;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 15px #00000014}.business-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001f}.business-card h3{color:var(--primary);margin-bottom:.75rem}.business-category{color:var(--primary);background:#dbeafe;border-radius:999px;margin-bottom:1rem;padding:.3rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.business-card p:last-child{color:var(--text-light);line-height:1.5}.business-categories{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.business-category{color:#2563eb;background:#dbeafe;border-radius:999px;padding:.3rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.business-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.business-logo{object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:75px;height:75px;padding:4px}.business-logo-placeholder{color:var(--primary);background:#dbeafe;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.footer{color:#fff;text-align:center;background:#0f172a;margin-top:4rem;padding:2rem}.footer p{opacity:.9;font-size:.95rem}.section{padding:4rem 0}.section h2{text-align:center;color:var(--text);margin-bottom:2rem;font-size:2rem}.categories-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.business-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}@media (width<=768px){.section{padding:2rem 0}.section h2{font-size:1.6rem}}.home-search{margin-top:-40px}.business-link{color:inherit;text-decoration:none;display:block}.directory-header{padding-bottom:0}.directory-header .search-container{margin-bottom:1.5rem}.directory-filters{flex-wrap:wrap;justify-content:center;gap:1rem;max-width:1000px;margin:0 auto 2rem;display:flex}.directory-filters select{border:1px solid var(--border);background:var(--surface);min-width:200px;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:.8rem 1rem}.directory-filters select:disabled{color:var(--text-light);cursor:not-allowed}.directory-count{color:var(--text-light);margin-bottom:1rem}.directory-location{color:var(--text-light);margin-top:.5rem;padding-left:.5rem;font-size:.85rem}.business-profile{background:#fff;border-radius:20px;max-width:1000px;margin:3rem auto;padding:2rem;box-shadow:0 10px 30px #00000014}.profile-header{align-items:center;gap:2rem;margin-bottom:2rem;display:flex}.profile-logo{object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:120px;height:120px;padding:10px}.business-profile h1{color:var(--text);margin:0;font-size:2.5rem}.profile-categories{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 2rem;display:flex}.profile-categories span{color:var(--primary);background:#dbeafe;border-radius:999px;padding:.5rem 1rem;font-weight:600}.business-profile section{background:#f8fafc;border-radius:16px;margin-top:2rem;padding:1.5rem}.business-profile h2{color:var(--primary);margin-bottom:1rem}.business-profile p{color:var(--text-light);line-height:1.7}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.contact-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem}.contact-card strong{color:var(--primary);margin-bottom:.5rem;display:block}.services-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.service-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;transition:all .3s}.service-card:hover{transform:translateY(-3px);box-shadow:0 6px 15px #00000014}.back-button{color:var(--primary);margin-bottom:2rem;font-weight:600;text-decoration:none;display:inline-block}.back-button:hover{text-decoration:underline}@media (width<=768px){.profile-header{text-align:center;flex-direction:column}.business-profile h1{font-size:2rem}.profile-logo{width:100px;height:100px}}.social-links{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.social-links a{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:.5rem;padding:.8rem 1.2rem;text-decoration:none;transition:all .3s;display:flex}.social-links a:hover{color:#2563eb;transform:translateY(-2px);box-shadow:0 6px 15px #00000014}.social-links svg{font-size:1.3rem}.contact-card a{word-break:break-all}.contact-card a:hover{color:var(--primary)}.service-card strong{color:var(--text);margin-bottom:.25rem;display:block}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.gallery-grid img{object-fit:cover;border:1px solid #e2e8f0;border-radius:12px;width:100%;height:180px}.dashboard{padding:3rem 0}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.dashboard-header h1{color:var(--text);font-size:2.2rem}.dashboard-header p{color:var(--text-light)}.dashboard-card{background:var(--surface);border-radius:20px;padding:2rem;box-shadow:0 10px 30px #00000014}.dashboard-card h2{color:var(--primary);margin-bottom:.5rem}.dashboard-tabs{gap:.5rem;margin-bottom:1rem;display:flex}.dashboard-tabs button{font:inherit;color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.7rem 1.2rem;font-weight:600}.dashboard-tabs button.active{color:var(--primary);background:#dbeafe}.dashboard-fieldset{background:#f8fafc;border:none;border-radius:16px;min-width:0;margin-bottom:1.5rem;padding:1.5rem}.dashboard-fieldset legend{float:left;width:100%;color:var(--primary);margin-bottom:1rem;padding:0;font-size:1.1rem;font-weight:700}.dashboard-fieldset legend+*{clear:both}.dashboard-list-row{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.dashboard-list-row input{border:1px solid var(--border);font:inherit;border-radius:10px;flex:1;padding:.7rem 1rem}.field-error{color:#dc2626;margin-bottom:.75rem;font-size:.85rem}.message-list{flex-direction:column;gap:1rem;display:flex}.message-card{border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem}.message-header{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:.75rem;display:flex}.message-header div{flex-direction:column;gap:.2rem;display:flex}.message-header a{color:var(--primary);font-size:.9rem}.message-header span,.message-header time{color:var(--text-light);font-size:.85rem}.message-card p{color:var(--text);white-space:pre-line;line-height:1.6}.admin-table-wrapper{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.8rem}.admin-table th{color:var(--text-light);text-transform:uppercase;font-size:.85rem}.admin-table td a{color:var(--primary);font-weight:600}.status-pill{border-radius:999px;padding:.2rem .7rem;font-size:.8rem;font-weight:600;display:inline-block}.status-pill.active{color:#065f46;background:#d1fae5}.status-pill.inactive{color:#991b1b;background:#fee2e2}@media (width<=768px){.dashboard-card{padding:1.2rem}.dashboard-list-row{flex-direction:column;align-items:stretch}}
