@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--primary-25: #f8faff;--primary-50: #f0f9ff;--primary-100: #e0f2fe;--primary-200: #bae6fd;--primary-300: #7dd3fc;--primary-400: #38bdf8;--primary-500: #0ea5e9;--primary-600: #0284c7;--primary-700: #0369a1;--primary-800: #075985;--primary-900: #0c4a6e;--secondary-50: #fdf4ff;--secondary-100: #fae8ff;--secondary-200: #f5d0fe;--secondary-300: #f0abfc;--secondary-400: #e879f9;--secondary-500: #d946ef;--secondary-600: #c026d3;--secondary-700: #a21caf;--secondary-800: #86198f;--secondary-900: #701a75;--accent-50: #fff7ed;--accent-100: #ffedd5;--accent-200: #fed7aa;--accent-300: #fdba74;--accent-400: #fb923c;--accent-500: #f97316;--accent-600: #ea580c;--accent-700: #c2410c;--accent-800: #9a3412;--accent-900: #7c2d12;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--success-500: #10b981;--success-600: #059669;--warning-500: #f59e0b;--warning-600: #d97706;--error-500: #ef4444;--error-600: #dc2626;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Monaco", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--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;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--gradient-primary: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%);--gradient-secondary: linear-gradient(135deg, var(--primary-400) 0%, var(--primary-600) 100%);--gradient-accent: linear-gradient(135deg, var(--primary-300) 0%, var(--primary-500) 100%);--gradient-hero: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-800) 100%);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060;font-family:var(--font-body);line-height:1.6;font-weight:400;color-scheme:light;color:var(--gray-800);background-color:var(--gray-50);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}::selection{background-color:var(--primary-200);color:var(--primary-900)}a{font-weight:500;color:var(--primary-600);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--primary-700)}body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--gray-100);background:#2c3e50;min-height:100vh}:root[data-theme=dark]{color-scheme:dark;--gray-50: #0b1220;--gray-100: #0f172a;--gray-200: #111827;--gray-300: #1f2937;--gray-400: #374151;--gray-500: #6b7280;--gray-600: #9ca3af;--gray-700: #d1d5db;--gray-800: #e5e7eb;--gray-900: #f3f4f6}:root[data-theme=dark] body{color:var(--gray-800);background:radial-gradient(1200px 600px at 0% 0%,rgba(14,165,233,.15),transparent 60%),radial-gradient(1000px 500px at 100% 100%,rgba(217,70,239,.12),transparent 60%),linear-gradient(180deg,var(--gray-100),var(--gray-200) 40%)}.page-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 0}.dashboard-header{background:#ffffff14;border:1px solid rgba(255,255,255,.1);padding:2rem;border-radius:var(--radius-xl);box-shadow:0 8px 32px #0000004d;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dashboard-header h1{font-size:var(--text-3xl);margin:0;color:#ecf0f1;font-weight:800}.dashboard-header p{color:#cfd8dc;margin:.5rem 0 0}.profile-edit-section{background:#ffffff14;border:1px solid rgba(255,255,255,.1);padding:2rem;border-radius:var(--radius-xl);box-shadow:0 8px 32px #0000004d;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-edit-section h2{font-size:var(--text-2xl);margin:0 0 1.5rem;color:#ecf0f1;font-weight:700}.profile-form,.appointment-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:var(--text-sm);font-weight:600;color:#cfd8dc}.form-input,.form-select{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-body);transition:var(--transition-fast);background:#ffffff14;color:#ecf0f1}.form-input:focus,.form-select:focus{outline:none;border-color:#60a5fa80;box-shadow:0 0 0 3px #60a5fa26;background:#ffffff1f}.form-input::placeholder{color:#95a5a6}.form-select option{background:#2c3e50;color:#ecf0f1}.form-input[type=textarea],textarea.form-input{resize:vertical;min-height:80px;font-family:var(--font-body)}.dashboard-grid{display:flex;flex-direction:column;gap:2rem}.stats-section,.add-appointment-section,.appointments-section{background:#ffffff14;border:1px solid rgba(255,255,255,.1);padding:2rem;border-radius:var(--radius-xl);box-shadow:0 8px 32px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stats-section h2,.add-appointment-section h2,.appointments-section h2{font-size:var(--text-2xl);margin:0 0 1.5rem;color:#ecf0f1;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{background:#60a5fa26;border:1px solid rgba(96,165,250,.3);padding:1.5rem;border-radius:var(--radius-lg);text-align:center}.stat-card h3{font-size:var(--text-3xl);margin:0 0 .5rem;color:#60a5fa;font-weight:800}.stat-card p{margin:0;color:#b0bec5;font-size:var(--text-sm);font-weight:600}.appointments-list{display:flex;flex-direction:column;gap:1rem}.appointment-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.15);background:#ffffff0f;transition:var(--transition-fast);gap:1rem;flex-wrap:wrap}.appointment-item:hover{border-color:#60a5fa66;background:#ffffff1a}.appointment-item.booked{border-left:3px solid #fbbf24}.appointment-info{flex:1}.appointment-info h4{margin:0 0 .5rem;color:#ecf0f1;font-size:var(--text-lg);font-weight:600}.appointment-info p{margin:.25rem 0;color:#b0bec5;font-size:var(--text-sm)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;margin-top:.5rem}.status-badge.available{background:#4ade80;color:#1e293b}.status-badge.booked{background:#fbbf24;color:#1e293b}.status-badge.completed{background:#60a5fa;color:#fff}.status-badge.cancelled{background:#94a3b8;color:#fff}.appointment-actions{display:flex;gap:.5rem}.btn-small{padding:.5rem 1rem;font-size:var(--text-sm)}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:flex-start}.stats-grid,.form-row{grid-template-columns:1fr}.appointment-item{flex-direction:column;align-items:flex-start}.appointment-actions{width:100%}.appointment-actions button{flex:1}}.App{min-height:100vh;display:flex;flex-direction:column;background:transparent}.main-content{flex:1;position:relative;overflow:hidden;background:transparent}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-6);position:relative}@media (max-width: 768px){.container{padding:0 var(--space-4)}}.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-lg);font-size:var(--text-base);font-weight:600;font-family:var(--font-body);text-decoration:none;text-align:center;cursor:pointer;transition:var(--transition-normal);position:relative;overflow:hidden;white-space:nowrap}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-md)}.btn-secondary{background:#fff;color:var(--primary-600);border:2px solid var(--primary-200);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--primary-50);border-color:var(--primary-300);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--primary-600);border:2px solid var(--primary-300)}.btn-outline:hover{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.btn-ghost{background:transparent;color:var(--gray-600);border:none;padding:var(--space-2) var(--space-4)}.btn-ghost:hover{background:var(--gray-100);color:var(--gray-800)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--text-xl)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);overflow:hidden;transition:var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.card-header{padding:var(--space-6);background:#ffffff08;border-bottom:1px solid var(--gray-100)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-6);background:#ffffff08;border-top:1px solid var(--gray-100)}.form-group{margin-bottom:var(--space-6);position:relative}.form-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--gray-700);margin-bottom:var(--space-2);transition:var(--transition-fast)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-4);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-size:var(--text-base);font-family:var(--font-body);background:#fff;color:var(--gray-800);transition:var(--transition-fast);position:relative}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.form-input::placeholder{color:var(--gray-400);opacity:1}.form-group.floating{position:relative}.form-group.floating .form-label{position:absolute;top:var(--space-4);left:var(--space-4);pointer-events:none;transition:var(--transition-fast);background:#fff;padding:0 var(--space-1)}.form-group.floating .form-input:focus+.form-label,.form-group.floating .form-input:not(:placeholder-shown)+.form-label{top:-var(--space-2);left:var(--space-3);font-size:var(--text-xs);color:var(--primary-600)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.checkbox-label,.radio-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--text-base);color:var(--gray-700);-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox],.radio-label input[type=radio]{width:1.25rem;height:1.25rem;border:2px solid var(--gray-300);border-radius:var(--radius-sm);background:#fff;cursor:pointer;position:relative;margin:0}.checkbox-label input[type=checkbox]:checked,.radio-label input[type=radio]:checked{background:var(--primary-500);border-color:var(--primary-500)}.content-section{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-2xl);margin:var(--space-8);padding:var(--space-8);box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.3)}.main-content{background:radial-gradient(circle at 20% 80%,rgba(59,130,246,.05) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,69,219,.05) 0%,transparent 50%)}.page-container{min-height:calc(100vh - 120px);padding:0;position:relative;background:transparent}.page-header{text-align:center;margin-bottom:var(--space-12);position:relative}.page-title{font-size:var(--text-4xl);font-weight:800;background:var(--gradient-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-4)}.page-subtitle{font-size:var(--text-xl);color:var(--gray-600);max-width:600px;margin:0 auto;line-height:1.6}.auth-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 160px);padding:var(--space-6) 0;background:transparent}.auth-card{background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);border:1px solid var(--gray-200);padding:var(--space-8);width:100%;max-width:500px;position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-hero)}.signup-card{max-width:700px}.auth-form{margin-top:var(--space-6)}.auth-submit{width:100%;margin-top:var(--space-4)}.auth-links{text-align:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--gray-200)}.auth-link{color:var(--primary-600);font-weight:600;text-decoration:none;transition:var(--transition-fast)}.auth-link:hover{color:var(--primary-700);text-decoration:underline}.auth-subtitle{color:var(--gray-600);margin-bottom:var(--space-6);text-align:center;font-size:var(--text-lg)}.error-message{background:var(--error-50);color:var(--error-700);border:1px solid var(--error-200);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:500}.success-message{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-200);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:500}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);margin-top:var(--space-3)}@media (max-width: 1024px){.container{max-width:768px}.page-title{font-size:var(--text-3xl)}.page-subtitle{font-size:var(--text-lg)}}@media (max-width: 768px){.auth-card{padding:var(--space-6);margin:var(--space-4)}.page-container{padding:var(--space-6) 0}.page-title{font-size:var(--text-2xl)}.services-grid{grid-template-columns:1fr}}.loading{opacity:.7;pointer-events:none}.loading-spinner{width:20px;height:20px;border:2px solid var(--gray-300);border-top:2px solid var(--primary-500);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.focus-ring:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px;border-radius:var(--radius-lg)}html{scroll-behavior:smooth}.btn-large{padding:1rem 2rem;font-size:1.1rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-input{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:#007bff}.form-select{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:1rem;background-color:#fff;cursor:pointer}.card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:1.5rem;margin-bottom:1rem;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #00000026}.coming-soon{flex:1;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#666;min-height:400px}.header{background:#fff;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.logo{cursor:pointer;transition:transform .2s ease}.logo:hover{transform:scale(1.02)}.logo h2{margin:0;font-size:1.8rem;color:#333}.logo-accent{color:#007bff}.logo-subtitle{margin:0;font-size:.875rem;color:#6c757d;font-weight:500}.nav{display:flex;align-items:center;gap:1.5rem}.nav-link{background:none;border:none;color:#333;font-weight:500;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease;cursor:pointer}.nav-link:hover{background-color:#f8f9fa;color:#007bff;transform:none}.nav-link.active{color:#007bff;background-color:#e3f2fd}.hero{background:transparent;color:#fff;padding:4rem 0;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:#0000001a;z-index:1}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero-text h1{font-size:3rem;margin-bottom:1rem;line-height:1.2;color:#fff}.hero-subtitle{font-size:1.25rem;margin-bottom:2rem;opacity:.9;line-height:1.6}.quick-stats{display:flex;gap:2rem;margin-bottom:2rem}.stat{text-align:center}.stat-number{display:block;font-size:2rem;font-weight:700;color:gold}.stat-label{display:block;font-size:.875rem;opacity:.8;font-weight:500}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.notification-signup{background:#fffffff2;border-radius:16px;padding:0}.notification-card{padding:2rem;color:#333}.notification-card h3{color:#333;margin-bottom:.5rem}.notification-card p{color:#666;margin-bottom:1.5rem;font-size:.95rem}.filter-group{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.email-signup{display:flex;gap:1rem}.email-signup .form-input{flex:1}.appointment-feed{padding:4rem 0;background-color:transparent}.feed-header{text-align:center;margin-bottom:3rem}.feed-header h2{font-size:2.5rem;margin-bottom:.5rem;color:#ecf0f1}.feed-subtitle{font-size:1.1rem;color:#cfd8dc;margin:0}.filters-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.25rem 1.5rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.filters{display:flex;gap:1rem;flex-wrap:wrap}.filter-select{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.15);border-radius:8px;font-size:.95rem;background:#ffffff14;color:#ecf0f1;cursor:pointer;transition:all .2s ease;min-width:180px}.filter-select:focus{outline:none;border-color:var(--primary-500);background:#ffffff1f}.filter-select option{background:#2c3e50;color:#ecf0f1}.appointments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.no-results{text-align:center;padding:3rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:12px;margin-top:2rem}.no-results h3{color:#ecf0f1;margin-bottom:.75rem;font-size:1.25rem}.no-results p{color:#b0bec5;margin:0;font-size:.95rem}.appointment-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}.appointment-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.5rem 0}.time-badge{background:var(--gradient-primary);color:#fff;padding:.75rem 1rem;border-radius:8px;text-align:center;flex-shrink:0}.time-badge .date{display:block;font-size:.75rem;opacity:.9;font-weight:500}.time-badge .time{display:block;font-size:1.1rem;font-weight:700;margin-top:.25rem}.distance-badge{background:#e3f2fd;color:#1976d2;padding:.5rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.card-content{padding:1.5rem}.vendor-name{font-size:1.25rem;font-weight:700;color:#333;margin-bottom:.5rem;line-height:1.3}.address{color:#666;font-size:.95rem;margin-bottom:1rem;line-height:1.4}.service-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.service-details{display:flex;flex-direction:column;gap:.25rem}.service-type{font-weight:600;color:#333;font-size:.95rem}.duration{font-size:.85rem;color:#666}.price{font-size:1.5rem;font-weight:700;color:#28a745}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:0 1.5rem 1.5rem}.action-btn{padding:.75rem 1rem;font-size:.9rem;font-weight:600;border-radius:8px;transition:all .2s ease}.card-actions .btn-success{grid-column:1 / -1;font-size:1rem;padding:1rem}.footer{background-color:#2c3e50;color:#fff;padding:3rem 0 1rem;margin-top:auto}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:2rem}.footer-section h4{color:#fff;font-size:1.5rem;margin-bottom:1rem}.footer-section h5{color:#fff;font-size:1.1rem;margin-bottom:1rem}.footer-section p{color:#bdc3c7;line-height:1.6;margin-bottom:.5rem}.location{color:#3498db!important;font-weight:600}.footer-links{list-style:none;padding:0}.footer-links li{margin-bottom:.5rem}.footer-links a{color:#bdc3c7;text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:#3498db}.coming-soon-badge{font-size:.75rem;background:#e74c3c;color:#fff;padding:.2rem .5rem;border-radius:10px;margin-left:.5rem}.footer-bottom{border-top:1px solid #34495e;padding-top:1rem;display:flex;justify-content:space-between;align-items:center}.footer-bottom p{color:#95a5a6;margin:0}.footer-bottom-links{display:flex;gap:1.5rem}.footer-bottom-links a{color:#95a5a6;text-decoration:none;font-size:.9rem;transition:color .2s ease}.footer-bottom-links a:hover{color:#3498db}.home-map-section{padding:60px 0;background:transparent}.home-map-container{background:transparent;border-radius:0;box-shadow:none;overflow:visible;margin-top:12px}.home-map-section .section-header{text-align:center;margin-bottom:0}.home-map-section .section-header h2{font-size:2.5rem;color:#ecf0f1;margin-bottom:16px}.home-map-section .section-header p{font-size:1.1rem;color:#cfd8dc;max-width:600px;margin:0 auto}.home-map-section .map-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1rem 1rem 1.5rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 10px 30px #00000040;max-width:1000px;margin:0 auto}.home-map-section .map-card-header{display:flex;align-items:baseline;justify-content:space-between;padding:.75rem 0 1rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:1rem}.home-map-section .map-title{font-size:1.25rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-map-section .map-meta{color:#cfd8dc;font-size:.95rem}.mock-circle-marker{background:#3b82f6;color:#fff;border:3px solid white;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:0 2px 4px #0003;cursor:pointer;transition:transform .2s ease}.mock-circle-marker:hover{transform:scale(1.1)}.map-filters{display:flex;gap:1rem;margin-bottom:1rem;padding:1rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:12px;flex-wrap:wrap;align-items:center}.map-layout{display:grid;grid-template-columns:2fr 1fr;gap:2rem;height:600px}.map-page .container{max-width:1100px}.map-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1rem 1rem 1.5rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 10px 30px #00000040}.map-card-header{display:flex;align-items:baseline;justify-content:space-between;padding:.75rem 0 1rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:1rem}.map-title{font-size:1.25rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.map-meta{color:#cfd8dc;font-size:.95rem}.map-section{background:transparent;border-radius:12px;overflow:hidden;box-shadow:none}.google-map{width:100%;height:100%}.map-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;position:relative}.map-placeholder-content{text-align:center;max-width:400px;padding:2rem}.map-placeholder-content h3{color:#ecf0f1;margin-bottom:1rem;font-size:1.5rem}.map-placeholder-content p{color:#cfd8dc;margin-bottom:1.5rem}.map-info{background:#2c3e5099;padding:1.5rem;border-radius:8px;box-shadow:none;text-align:left;margin-bottom:2rem}.map-info h4{color:#ecf0f1;margin-bottom:1rem}.map-info ol{color:#cfd8dc;padding-left:1.5rem}.map-info li{margin-bottom:.5rem}.map-info a{color:#66b3ff;text-decoration:none}.map-info a:hover{text-decoration:underline}.mock-map{position:relative;width:100%;height:200px;background:linear-gradient(45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.08) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.08) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;border-radius:8px;border:2px solid rgba(255,255,255,.15)}.mock-marker{position:absolute;transform:translate(-50%,-50%)}.marker-pin{background:#007bff;color:#fff;padding:.5rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #007bff4d;transition:all .2s ease}.marker-pin:hover{background:#0056b3;transform:scale(1.1)}.map-sidebar{background:#ffffff0f;border-radius:12px;padding:1.5rem;box-shadow:none;overflow-y:auto}.appointment-details h3{color:#ecf0f1;margin-bottom:.5rem}.appointment-details .address{color:#cfd8dc;margin-bottom:1.5rem;font-size:.95rem}.appointment-info{margin-bottom:1.5rem}.info-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.info-row:last-child{border-bottom:none;margin-bottom:0}.info-row .label{font-weight:600;color:#cfd8dc;font-size:.9rem}.info-row .price{font-size:1.25rem;font-weight:700;color:#4ade80}.info-row span:not(.label):not(.price){color:#ecf0f1;font-size:.95rem}.appointment-actions{display:flex;flex-direction:column;gap:.75rem}.appointment-actions .btn{width:100%}.no-selection{text-align:center;padding:2rem 0}.no-selection h3{color:#ecf0f1;margin-bottom:.5rem}.no-selection p{color:#cfd8dc;margin-bottom:1.5rem}.appointment-count{background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#60a5fa;padding:1rem;border-radius:8px;font-size:.95rem;font-weight:500}.map-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#cfd8dc}.map-error{text-align:center;padding:2rem}.map-error h3{color:#dc3545;margin-bottom:1rem}.map-error p{color:#cfd8dc;margin-bottom:.5rem}.page-container{min-height:70vh;padding:2rem 0}.main-content{flex:1}.page-header{text-align:center;margin-bottom:2.5rem;padding-top:1rem}.page-header h1{font-size:2.5rem;margin-bottom:.75rem;color:#ecf0f1;font-weight:700}.page-header p{font-size:1.05rem;color:#b0bec5;max-width:600px;margin:0 auto}.location-notice{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#fbbf24;padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;font-size:.9rem}.location-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#4ade80;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.location-request-btn{display:flex;align-items:center;gap:8px;margin-left:12px}.btn-sm{padding:6px 12px;font-size:14px}.map-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a;min-height:500px}.map-page .map-placeholder{text-align:center;padding:3rem;background:#f8f9fa;border-radius:8px;border:2px dashed #ddd}.map-page .map-placeholder h3{color:#666;margin-bottom:1rem}.features-list{margin-top:2rem;text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.features-list h4{color:#333;margin-bottom:1rem}.features-list ul{list-style:none;padding:0}.features-list li{padding:.5rem 0;color:#666}.auth-container{display:flex;justify-content:center;align-items:center;min-height:70vh}.auth-card{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 10px 40px #00000026;width:100%;max-width:450px;border:1px solid rgba(0,0,0,.05)}.signup-card{max-width:700px;padding:3rem}.auth-card h1{text-align:center;margin-bottom:.5rem;color:#1e293b;font-weight:700;font-size:1.75rem}.auth-subtitle{text-align:center;color:#666;margin-bottom:2rem}.auth-form{margin-bottom:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.auth-submit{width:100%;padding:1rem;font-size:1.1rem}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e9ecef}.form-section:last-of-type{border-bottom:none}.form-section h3{font-size:1.2rem;color:#2c3e50;margin-bottom:1rem}.form-textarea{width:100%;padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:16px;transition:border-color .3s ease;resize:vertical;min-height:80px;font-family:inherit}.form-textarea:focus{outline:none;border-color:#3b82f6}.form-help{color:#666;font-size:14px;margin-bottom:12px}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.service-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;transition:all .2s ease}.service-checkbox:hover{background:#f8f9fa;border-color:#3b82f6}.service-checkbox input[type=checkbox]{margin:0}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px}.auth-links{text-align:center}.auth-links p{margin-bottom:.5rem}.auth-link{color:#007bff;text-decoration:none;font-weight:500}.auth-link:hover{text-decoration:underline}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;color:#666;cursor:pointer}.checkbox-label input[type=checkbox]{margin:0;flex-shrink:0}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:.5rem}.checkbox-group .checkbox-label{background:#ffffff0d;padding:.75rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.checkbox-group .checkbox-label:hover{background:#ffffff14;border-color:#fff3}.checkbox-group .checkbox-label input[type=checkbox]:checked+span{color:#4caf50;font-weight:500}.dashboard-header{text-align:center;margin-bottom:2.5rem;padding-top:1rem}.dashboard-header h1{color:#ecf0f1;font-weight:700;margin-bottom:.5rem}.dashboard-header p{color:#b0bec5;font-size:1.05rem}.dashboard-grid{display:grid;gap:2rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid rgba(255,255,255,.1)}.admin-title h1{color:#ecf0f1;margin-bottom:.5rem}.admin-title p{color:#cfd8dc;margin:0}.admin-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}.tab-button{background:transparent;border:none;padding:1rem 1.5rem;color:#cfd8dc;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;font-weight:500}.tab-button:hover{color:#ecf0f1;background:#ffffff0d}.tab-button.active{color:#fff;border-bottom-color:var(--primary-500);background:#ffffff0d}.admin-content{display:flex;flex-direction:column;gap:2rem}.section-header{margin-bottom:1.5rem}.section-header h2{color:#ecf0f1;margin-bottom:.5rem}.section-header p{color:#cfd8dc;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-card h3{color:#ecf0f1;font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-card p{color:#cfd8dc;font-weight:500;margin-bottom:.5rem}.stat-detail{color:#95a5a6;font-size:.85rem}.recent-activity h2{color:#ecf0f1;margin-bottom:1rem}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem}.activity-info p{color:#ecf0f1;margin-bottom:.25rem}.activity-time{color:#95a5a6;font-size:.85rem}.activity-status{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.activity-status.pending{background:#f39c12;color:#fff}.activity-status.completed{background:#27ae60;color:#fff}.vendors-list{display:flex;flex-direction:column;gap:1.5rem}.vendor-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.vendor-card.pending{border-left:4px solid #f39c12}.vendor-card.verified{border-left:4px solid #27ae60}.vendor-info{flex:1}.vendor-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.vendor-header h3{color:#ecf0f1;margin:0}.vendor-email,.vendor-address,.vendor-phone{color:#cfd8dc;margin-bottom:.5rem}.vendor-services{color:#ecf0f1;margin-bottom:1rem}.vendor-stats{display:flex;gap:1rem;color:#95a5a6;font-size:.85rem}.vendor-actions{display:flex;flex-direction:column;gap:.5rem;min-width:120px}.users-list{display:flex;flex-direction:column;gap:1rem}.user-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;display:flex;justify-content:space-between;align-items:center}.user-info h3{color:#ecf0f1;margin-bottom:.25rem}.user-email{color:#cfd8dc;margin-bottom:.5rem}.user-details{display:flex;gap:1rem;align-items:center}.role-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:capitalize}.role-badge.customer{background:#3498db;color:#fff}.role-badge.vendor{background:#9b59b6;color:#fff}.role-badge.admin{background:#e74c3c;color:#fff}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:uppercase}.status-badge.verified{background:#27ae60;color:#fff}.status-badge.pending{background:#f39c12;color:#fff}.admin-header{text-align:center;margin-bottom:1.5rem}.admin-demo-info{margin-top:2rem;padding:1rem;background:#3498db1a;border:1px solid rgba(52,152,219,.3);border-radius:8px}.demo-credentials{color:#3498db;font-size:.85rem;margin:0;text-align:center}.loading-state{display:flex;align-items:center;justify-content:center;height:200px;color:#cfd8dc;font-size:1.1rem}.btn-danger{background:var(--gradient-primary);background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none}.btn-danger:hover{background:linear-gradient(135deg,#c0392b,#a93226);transform:translateY(-1px)}.btn-success{background:var(--gradient-primary);background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border:none}.btn-success:hover{background:linear-gradient(135deg,#229954,#1e8449);transform:translateY(-1px)}.stats-section{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stats-section h2{color:#ecf0f1;margin-bottom:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.stat-card{background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:1.5rem;text-align:center;transition:all .2s ease}.stat-card:hover{background:#ffffff1f;transform:translateY(-2px)}.stat-card h3{font-size:2.25rem;color:#60a5fa;margin-bottom:.5rem;font-weight:700}.stat-card p{color:#b0bec5;font-weight:500;margin:0;font-size:.95rem}.add-appointment-section,.appointments-section{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.add-appointment-section h2,.appointments-section h2{color:#ecf0f1;margin-bottom:1rem}.appointment-form,.appointments-list{margin-top:1rem}.appointment-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;margin-bottom:1rem;background:#ffffff0a;transition:all .2s ease}.appointment-item:hover{background:#ffffff14}.appointment-item.available{border-left:3px solid #4ade80}.appointment-item.booked{border-left:3px solid #60a5fa}.appointment-info h4{color:#ecf0f1;margin-bottom:.5rem;font-weight:600;font-size:1.05rem}.appointment-info p{color:#b0bec5;margin-bottom:.25rem;font-size:.9rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-badge.available{background:#28a745;color:#fff}.status-badge.booked{background:#007bff;color:#fff}.breadcrumb{margin-bottom:2rem;font-size:.9rem}.breadcrumb-link{color:#007bff;text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-separator{margin:0 .5rem;color:#666}.appointment-detail{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e9ecef}.detail-main-info h1{font-size:2rem;color:#333;margin-bottom:.5rem}.detail-address{color:#666;font-size:1.1rem;margin-bottom:1rem}.detail-badges{display:flex;gap:1rem;flex-wrap:wrap}.detail-price{text-align:right}.price-amount{font-size:2.5rem;font-weight:700;color:#28a745;display:block}.price-duration{color:#666;font-size:1rem}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:3rem}.detail-content{display:flex;flex-direction:column;gap:2rem}.detail-section h3{color:#333;margin-bottom:1rem;font-size:1.25rem}.service-info-detailed{background:#f8f9fa;padding:1.5rem;border-radius:8px}.service-info-detailed p{margin-bottom:.5rem;color:#666}.amenities-list{list-style:none;padding:0}.amenities-list li{color:#666;position:relative;padding:.5rem 0 .5rem 1.5rem}.amenities-list li:before{content:"✓";position:absolute;left:0;color:#28a745;font-weight:700}.contact-info p{margin-bottom:.5rem;color:#666}.contact-link{color:#007bff;text-decoration:none;margin-left:.5rem}.contact-link:hover{text-decoration:underline}.detail-sidebar{display:flex;flex-direction:column;gap:1.5rem}.booking-card{background:#f8f9fa;border-radius:12px;padding:2rem;text-align:center}.booking-card h3{color:#333;margin-bottom:1rem}.booking-card p{color:#666;margin-bottom:1.5rem}.booking-btn{width:100%;padding:1rem;font-size:1.1rem;font-weight:700}.action-buttons{display:flex;flex-direction:column;gap:.75rem}.action-btn{width:100%;text-align:left;font-size:.95rem}.vendor-link{text-decoration:none;color:inherit}.vendor-link:hover .vendor-name{color:#007bff}@media (max-width: 768px){.container{padding:0 15px}.header-content{flex-direction:column;gap:1rem}.nav{flex-wrap:wrap;justify-content:center;gap:.5rem}.nav-link,.btn{font-size:.9rem;padding:.5rem 1rem}.hero{padding:2rem 0}.hero-content{grid-template-columns:1fr;gap:2rem}.hero-text h1{font-size:2rem}.hero-subtitle{font-size:1.1rem}.quick-stats{justify-content:space-around;gap:1rem}.stat-number{font-size:1.5rem}.hero-actions{justify-content:center}.email-signup{flex-direction:column}.filters-section{flex-direction:column;gap:1rem;align-items:stretch}.filters{flex-direction:column}.filter-select{min-width:auto}.appointments-grid{grid-template-columns:1fr}.feed-header h2{font-size:2rem}.card-header{flex-direction:column;gap:1rem;align-items:stretch}.service-info{flex-direction:column;align-items:flex-start;gap:.5rem}.card-actions{grid-template-columns:1fr}.card-actions .btn-success{grid-column:1}.footer-content{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}.footer-bottom-links{justify-content:center}.btn{width:100%}.map-layout{grid-template-columns:1fr;height:auto}.map-section{height:400px}.map-filters{flex-direction:column;align-items:stretch}.filter-select{width:100%}}.auth-card{padding:2rem;margin:0 1rem}.form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.detail-header{flex-direction:column;gap:1rem;align-items:stretch}.detail-price{text-align:left}.detail-grid{grid-template-columns:1fr;gap:2rem}.detail-badges{justify-content:flex-start}@media (max-width: 480px){.card-header{flex-direction:column;gap:1rem;align-items:stretch}.service-info{flex-direction:column;align-items:flex-start;gap:.5rem}.card-actions{grid-template-columns:1fr}.card-actions .btn-success{grid-column:1}.stats-grid{grid-template-columns:1fr}.detail-badges{flex-direction:column;align-items:flex-start}.price-amount{font-size:2rem}}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.flex-column{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:2rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-primary{color:#007bff}.text-success{color:#28a745}.text-danger{color:#dc3545}.text-warning{color:#ffc107}.text-muted{color:#6c757d}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.py-1{padding-top:.5rem;padding-bottom:.5rem}.py-2{padding-top:1rem;padding-bottom:1rem}.py-3{padding-top:1.5rem;padding-bottom:1.5rem}.py-4{padding-top:2rem;padding-bottom:2rem}@media (max-width: 768px){.container{padding:0 15px}.grid-2,.grid-3{grid-template-columns:1fr}.flex-between{flex-direction:column;gap:1rem;align-items:stretch}.btn{width:100%}}
