@import "https://fonts.googleapis.com/css2?family=Maven+Pro:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap";
:root{--color-primary-50:#fef1f2;--color-primary-100:#fde8ea;--color-primary-200:#fbc8cd;--color-primary-300:#f8a5a7;--color-primary-400:#f47b82;--color-primary-500:#ec4f5a;--color-primary-600:#d63545;--color-primary-700:#b52638;--color-primary-800:#96202f;--color-primary-900:#7a1a27;--color-accent-50:#fff0f1;--color-accent-100:#ffe0e3;--color-accent-200:#ffc0c6;--color-accent-300:#ff9aa3;--color-accent-400:#e85567;--color-accent-500:#c66d8b;--color-accent-600:#af031a;--color-accent-700:#8c0215;--color-accent-800:#6b0110;--color-accent-900:#4d000c;--color-warm-50:#fffaf7;--color-warm-100:#fff7f0;--color-warm-200:#fff4eb;--color-warm-300:#fff0e3;--color-warm-400:#ffebd8;--color-warm-500:#ffe4cc;--color-warm-600:#ffd4b0;--color-warm-700:#f5c292;--color-warm-800:#e8a96e;--color-warm-900:#d48a44;--color-cream-50:#fffdf9;--color-cream-100:#fff7e5;--color-cream-200:#ffecc0;--color-cream-300:#ffe4a3;--color-cream-400:#ffd880;--color-cream-500:#ffc94d;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#eee;--color-gray-300:#e0e0e0;--color-gray-400:#bdbdbd;--color-gray-500:#9e9e9e;--color-gray-600:#757575;--color-gray-700:#616161;--color-gray-800:#424242;--color-gray-900:#212121;--color-dark-50:#f9fafb;--color-dark-100:#f3f4f6;--color-dark-200:#e5e7eb;--color-dark-300:#d1d5db;--color-dark-400:#9ca3af;--color-dark-500:#6b7280;--color-dark-600:#4b5563;--color-dark-700:#374151;--color-dark-800:#1f2937;--color-dark-900:#111827;--color-dark-950:#030712;--color-success:#16a34a;--color-success-light:#dcfce7;--color-warning:#d97706;--color-warning-light:#fef3c7;--color-error:#dc2626;--color-error-light:#fee2e2;--color-info:#2563eb;--color-info-light:#dbeafe;--surface-bg:var(--color-warm-50);--surface-raised:var(--color-warm-100);--surface-section:var(--color-cream-100);--surface-overlay:#fffaf7eb;--surface-card:#fffffff2;--surface-white:#fff;--surface-invert:var(--color-dark-900);--text-primary:var(--color-gray-900);--text-secondary:var(--color-gray-600);--text-tertiary:var(--color-gray-500);--text-muted:var(--color-gray-400);--text-invert:#fff;--border-color:var(--color-gray-200);--border-light:var(--color-warm-400);--font-heading:"Maven Pro", "Outfit", sans-serif;--font-body:"Inter", "Maven Pro", sans-serif;--font-mono:"JetBrains Mono", monospace;--text-xxs:.625rem;--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;--leading-tight:1.2;--leading-normal:1.6;--leading-relaxed:1.8;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--weight-black:900;--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;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--shadow-sm:0 1px 3px #af031a0f;--shadow-md:0 4px 12px #af031a14, 0 2px 4px #0000000a;--shadow-lg:0 8px 24px #af031a1a, 0 4px 8px #0000000a;--shadow-xl:0 16px 40px #af031a1f, 0 8px 16px #0000000d;--shadow-2xl:0 24px 60px #af031a26;--shadow-warm:0 4px 20px #ffa57833;--shadow-card:0 2px 16px #ffb48c2e;--shadow-card-hover:0 8px 32px #af031a26;--shadow-glow-primary:0 0 20px #f8a5a780;--shadow-glow-accent:0 0 20px #c66d8b66;--shadow-glow-card:0 8px 32px #f8a5a733;--z-base:0;--z-above:10;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-toast:700;--z-tooltip:800;--z-max:999;--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);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--glass-bg:#fffaf7bf;--glass-bg-strong:#fffaf7eb;--glass-border:#f8a5a740;--glass-blur:blur(16px);--glass-blur-strong:blur(24px);--gradient-primary:linear-gradient(135deg, #f8a5a7 0%, #c66d8b 60%, #af031a 100%);--gradient-primary-soft:linear-gradient(135deg, #fde8ea 0%, #f8a5a7 100%);--gradient-accent:linear-gradient(135deg, #fff7e5 0%, #ffecc0 100%);--gradient-hero:linear-gradient(160deg, #7a1a27 0%, #af031a 35%, #c66d8b 70%, #f8a5a7 100%);--gradient-hero-overlay:linear-gradient(180deg, #7a1a27e0 0%, #af031a99 50%, #7a1a27e0 100%);--gradient-card:linear-gradient(135deg, #fffffffa 0%, #fff7e5e6 100%);--gradient-warm-card:linear-gradient(135deg, #fff 0%, #fffaf7 100%);--gradient-text:linear-gradient(135deg, #af031a 0%, #c66d8b 50%, #f8a5a7 100%);--gradient-dark:linear-gradient(180deg, #7a1a27 0%, #af031a 100%);--gradient-section:linear-gradient(180deg, #fffaf7 0%, #fff7e5 100%);--gradient-mesh:radial-gradient(at 30% 20%, #f8a5a733 0px, transparent 50%), radial-gradient(at 80% 10%, #c66d8b1f 0px, transparent 50%), radial-gradient(at 10% 60%, #ffecc040 0px, transparent 50%);--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1440px;--primary:var(--color-primary-300);--primary-dark:var(--color-accent-600);--primary-light:var(--color-primary-100);--accent:var(--color-accent-500);--accent-dark:var(--color-accent-600)}
.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--weight-semibold);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);letter-spacing:.02em;border:none;padding:12px 24px;line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn:active:not(:disabled){transform:translateY(1px)scale(.98)}.btn-primary{background:var(--gradient-primary);color:#fff;border:none;box-shadow:0 4px 14px #c66d8b59}.btn-primary:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#c66d8b 0%,#af031a 100%);transform:translateY(-2px);box-shadow:0 6px 20px #af031a66}.btn-secondary{color:var(--color-accent-600);border:2px solid var(--color-primary-300);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-primary-50);border-color:var(--color-accent-600);transform:translateY(-1px);box-shadow:0 4px 12px #f8a5a74d}.btn-accent{color:var(--color-accent-600);border:2px solid var(--color-cream-200);background:linear-gradient(135deg,#fff7e5 0%,#ffecc0 100%);box-shadow:0 4px 12px #ffecc080}.btn-accent:hover:not(:disabled){color:var(--color-accent-700);background:linear-gradient(135deg,#ffecc0 0%,#ffd880 100%);transform:translateY(-2px);box-shadow:0 6px 18px #ffc85066}.btn-ghost{color:var(--text-secondary);background:0 0;border:none}.btn-ghost:hover:not(:disabled){background:var(--color-warm-100);color:var(--color-accent-600)}.btn-danger{background:var(--color-error-light);color:var(--color-error);border:2px solid #dc262633}.btn-danger:hover:not(:disabled){background:var(--color-error);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #dc262659}.btn-sm{font-size:var(--text-xs);padding:8px 16px}.btn-lg{font-size:var(--text-base);padding:15px 32px}.btn-xl{font-size:var(--text-lg);padding:18px 40px}.btn-loading:after{content:"";width:14px;height:14px;margin-left:var(--space-2);border:2px solid #fff6;border-top-color:#fff;border-radius:50%;animation:.6s linear infinite spin}
.artist-card{border-radius:var(--radius-2xl);border:1px solid var(--color-warm-400);box-shadow:var(--shadow-card);transition:transform var(--transition-base), box-shadow var(--transition-base);cursor:pointer;background:#fff;flex-direction:column;display:flex;overflow:hidden}.artist-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-6px)}.artist-card-image-wrapper{background:var(--color-warm-100);padding-top:66%;position:relative;overflow:hidden}.artist-card-image-wrapper img,.artist-card-image-wrapper .artist-card-avatar-placeholder{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.artist-card-avatar-placeholder{background:var(--gradient-primary-soft);color:var(--color-accent-600);font-size:3.5rem;font-weight:var(--weight-black);justify-content:center;align-items:center;display:flex}.artist-card-overlay{opacity:0;transition:opacity var(--transition-base);background:linear-gradient(#0000 50%,#7a1a2799 100%);position:absolute;inset:0}.artist-card:hover .artist-card-overlay{opacity:1}.artist-card-featured{background:var(--gradient-primary);color:#fff;font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase;padding:4px 12px;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #af031a66}.artist-card-verified{color:var(--color-accent-600);font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);background:#fffffff2;align-items:center;gap:4px;padding:4px 10px;display:flex;position:absolute;top:12px;right:12px}.artist-card-body{padding:var(--space-5) var(--space-5) var(--space-4);flex-direction:column;flex:1;display:flex}.artist-card-name{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-gray-900);margin-bottom:var(--space-1);line-height:1.3}.artist-card-location{font-size:var(--text-xs);color:var(--text-secondary);align-items:center;gap:var(--space-1);margin-bottom:var(--space-3);display:flex}.artist-card-rating{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.artist-card-stars{color:var(--color-accent-600);font-size:var(--text-base);letter-spacing:1px}.artist-card-rating-value{font-weight:var(--weight-bold);color:var(--color-gray-800);font-size:var(--text-sm)}.artist-card-reviews{font-size:var(--text-xs);color:var(--text-tertiary)}.artist-card-services{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.artist-card-tag{background:var(--color-cream-100);color:var(--color-accent-600);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-full);border:1px solid var(--color-warm-600);padding:3px 10px}.artist-card-tag-more{background:var(--color-primary-50);color:var(--color-primary-600);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-full);border:1px solid var(--color-primary-200);padding:3px 10px}.artist-card-footer{padding-top:var(--space-4);border-top:1px solid var(--color-warm-300);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.artist-card-price{flex-direction:column;display:flex}.artist-card-price-label{font-size:var(--text-xs);color:var(--text-tertiary)}.artist-card-price-value{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--weight-black);color:var(--color-accent-600)}.stat-card{border-radius:var(--radius-xl);border:1px solid var(--color-warm-400);box-shadow:var(--shadow-card);padding:var(--space-6);align-items:center;gap:var(--space-5);transition:box-shadow var(--transition-base), transform var(--transition-base);background:#fff;display:flex}.stat-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.stat-card-icon{background:var(--color-primary-50);border-radius:var(--radius-xl);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.5rem;display:flex}.stat-card-value{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--weight-black);color:var(--color-gray-900);line-height:1}.stat-card-label{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1);font-weight:var(--weight-medium)}.booking-card{border-radius:var(--radius-xl);border:1px solid var(--color-warm-400);box-shadow:var(--shadow-card);padding:var(--space-5);transition:box-shadow var(--transition-base);background:#fff}.booking-card:hover{box-shadow:var(--shadow-card-hover)}.status-badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:capitalize;align-items:center;gap:4px;padding:4px 12px;display:inline-flex}.status-pending{background:var(--color-warning-light);color:var(--color-warning)}.status-confirmed{background:var(--color-info-light);color:var(--color-info)}.status-completed{background:var(--color-success-light);color:var(--color-success)}.status-cancelled{background:var(--color-error-light);color:var(--color-error)}.status-disputed{color:#c05621;background:#fde8d8}.status-in_progress{background:var(--color-cream-100);color:var(--color-accent-600)}
.form-group{gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.form-label{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-gray-700);letter-spacing:.01em}.form-input{border:1.5px solid var(--color-gray-200);border-radius:var(--radius-lg);width:100%;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-gray-900);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);appearance:none;background:#fff;outline:none;padding:11px 16px}.form-input:focus{border-color:var(--color-primary-300);background:var(--color-warm-50);box-shadow:0 0 0 3px #f8a5a733}.form-input.error{border-color:var(--color-error);box-shadow:0 0 0 3px #dc26261a}.form-input.success{border-color:var(--color-success);box-shadow:0 0 0 3px #16a34a1a}.form-input:disabled{background:var(--color-warm-100);color:var(--text-tertiary);cursor:not-allowed;border-color:var(--color-gray-200)}.form-input::placeholder{color:var(--color-gray-400)}.form-select{cursor:pointer;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='%23af031a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.form-textarea{resize:vertical;min-height:120px;line-height:var(--leading-normal)}.form-range-slider{appearance:none;background:var(--color-primary-100);border-radius:var(--radius-full);outline:none;width:100%;height:6px}.form-range-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--gradient-primary);cursor:pointer;width:20px;height:20px;transition:transform var(--transition-fast);border-radius:50%;box-shadow:0 2px 8px #af031a4d}.form-range-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.form-checkbox,.form-radio{width:18px;height:18px;accent-color:var(--color-accent-600);cursor:pointer;flex-shrink:0}.checkbox-label{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-gray-700);cursor:pointer;padding:var(--space-1) 0;font-weight:var(--weight-medium);display:flex}.checkbox-label:hover{color:var(--color-accent-600)}.search-input-wrapper{position:relative}.search-input-icon{color:var(--color-primary-300);font-size:var(--text-base);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input{padding-left:42px}.form-error{font-size:var(--text-xs);color:var(--color-error);font-weight:var(--weight-medium);align-items:center;gap:4px;display:flex}.form-help-text{font-size:var(--text-xs);color:var(--text-tertiary)}.form-grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (max-width:640px){.form-grid-2{grid-template-columns:1fr}}.range-labels{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-2);font-weight:var(--weight-medium);justify-content:space-between;display:flex}.services-checklist{gap:var(--space-1);max-height:200px;padding:var(--space-2) 0;flex-direction:column;display:flex;overflow-y:auto}
@keyframes modalScaleIn{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:var(--z-modal-backdrop,900);background:#7a1a2780;justify-content:center;align-items:center;padding:1rem;animation:.18s ease-out both modalFadeIn;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--color-warm-400);background:#fff;border-radius:1.5rem;width:calc(100% - 2rem);max-width:540px;animation:.22s cubic-bezier(.34,1.56,.64,1) both modalScaleIn;position:relative;overflow:hidden;box-shadow:0 24px 64px #7a1a272e,0 8px 24px #c66d8b1f}.modal.modal-sm{max-width:400px}.modal.modal-lg{max-width:720px}.modal.modal-xl{max-width:900px}.modal-header{border-bottom:1px solid var(--color-warm-300);justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.modal-title{font-family:var(--font-heading);color:#111827;margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.modal-subtitle{color:var(--text-secondary);margin-top:2px;font-size:.875rem}.modal-close{background:var(--color-warm-100);color:#4b5563;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;font-size:1rem;transition:background .18s,color .18s;display:flex}.modal-close:hover{background:var(--color-primary-50);color:var(--color-accent-600)}.modal-body{max-height:calc(80vh - 180px);padding:1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-warm-300);background:var(--color-warm-50);border-radius:0 0 1.5rem 1.5rem;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}@media (max-width:640px){.modal{border-radius:1.25rem 1.25rem 0 0;width:100%;max-width:100%;margin:0;animation:.28s cubic-bezier(.34,1.56,.64,1) both modalSlideUp;position:fixed;bottom:0;left:0;right:0}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-overlay{align-items:flex-end;padding:0}.modal-body{max-height:60vh}.modal-footer{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));border-radius:0}}
.reviews-section{flex-direction:column;gap:1.5rem;display:flex}.reviews-summary-card{border:1px solid var(--color-warm-400);box-shadow:var(--shadow-card);background:#fff;border-radius:1rem;grid-template-columns:auto 1fr;align-items:center;gap:2rem;padding:1.5rem;display:grid}.reviews-avg-rating{text-align:center;border-right:1px solid var(--color-warm-300);flex-direction:column;align-items:center;gap:.5rem;padding-right:2rem;display:flex}.reviews-avg-score{font-family:var(--font-heading);background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:3.75rem;font-weight:900;line-height:1}.reviews-avg-stars{color:var(--color-accent-600);letter-spacing:4px;font-size:1.25rem;line-height:1}.reviews-avg-count{color:var(--text-secondary);font-size:.75rem}.reviews-rating-distribution{flex-direction:column;gap:.5rem;display:flex}.rating-bar-row{color:var(--text-secondary);align-items:center;gap:.75rem;font-size:.75rem;font-weight:600;display:flex}.rating-bar-row-label{text-align:right;min-width:28px}.rating-bar-track{background:var(--color-warm-200);border-radius:9999px;flex:1;height:8px;overflow:hidden}.rating-bar-fill{background:var(--gradient-primary);border-radius:9999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.rating-bar-count{text-align:right;min-width:24px}.reviews-list{flex-direction:column;gap:1rem;display:flex}.review-card{border:1px solid var(--color-warm-400);background:#fff;border-radius:1rem;padding:1.25rem;transition:box-shadow .2s,transform .2s;box-shadow:0 1px 4px #ffb48c1a}.review-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ffb48c33}.review-card-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.review-card-avatar{background:var(--gradient-primary-soft);width:44px;height:44px;color:var(--color-accent-600);font-family:var(--font-heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;font-weight:900;display:flex}.review-card-meta{flex:1;min-width:0}.review-card-author{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.review-card-date{color:var(--text-tertiary,#9ca3af);margin-top:2px;font-size:.75rem}.review-stars-badge{color:var(--color-accent-600);letter-spacing:2px;flex-shrink:0;margin-left:auto;font-size:1rem}.review-card-comment{color:#374151;font-size:.875rem;line-height:1.7}.review-card-service{color:var(--text-secondary);background:var(--color-warm-100);border:1px solid var(--color-warm-300);border-radius:9999px;align-items:center;gap:.375rem;margin-top:.5rem;padding:2px 10px;font-size:.75rem;display:inline-flex}.review-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.review-page-btn{border:1.5px solid var(--color-warm-400);color:#374151;cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .18s,border-color .18s,color .18s;display:flex}.review-page-btn:hover{background:var(--color-warm-100);border-color:var(--color-primary-300);color:var(--color-accent-600)}.review-page-btn.active,.review-page-btn[data-active=true]{background:var(--gradient-primary);color:#fff;border-color:#0000;box-shadow:0 2px 8px #c66d8b4d}.review-page-btn:disabled{opacity:.4;cursor:not-allowed}.reviews-empty{text-align:center;border:1px solid var(--color-warm-400);background:#fff;border-radius:1rem;padding:3rem 1.5rem}.reviews-empty-icon{opacity:.6;margin-bottom:1rem;font-size:3rem;display:block}.reviews-empty-title{font-family:var(--font-heading);color:#374151;margin-bottom:.5rem;font-size:1.125rem;font-weight:700}.reviews-empty-text{color:var(--text-secondary);font-size:.875rem}@media (max-width:640px){.reviews-summary-card{grid-template-columns:1fr;gap:1.25rem}.reviews-avg-rating{border-right:none;border-bottom:1px solid var(--color-warm-300);padding-bottom:1.25rem;padding-right:0}.reviews-avg-score{font-size:2.75rem}.review-card{padding:1rem}}
.portfolio-section{flex-direction:column;gap:1.5rem;display:flex}.portfolio-categories{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.portfolio-category-tab{border:1.5px solid var(--color-warm-400);color:#374151;cursor:pointer;background:#fff;border-radius:9999px;padding:6px 18px;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .18s,color .18s,border-color .18s,box-shadow .18s}.portfolio-category-tab:hover{border-color:var(--color-primary-300);background:var(--color-primary-50);color:var(--color-accent-600)}.portfolio-category-tab.active,.portfolio-category-tab[data-active=true]{background:var(--gradient-primary);color:#fff;border-color:#0000;box-shadow:0 2px 10px #c66d8b4d}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.portfolio-item{aspect-ratio:1;cursor:pointer;border:1px solid var(--color-warm-300);background:var(--color-warm-100);border-radius:.875rem;position:relative;overflow:hidden}.portfolio-item img{object-fit:cover;width:100%;height:100%;transition:transform .35s cubic-bezier(.4,0,.2,1);display:block}.portfolio-item:hover img{transform:scale(1.08)}.portfolio-item-overlay{opacity:0;border-radius:inherit;background:linear-gradient(#0000 30%,#7a1a27b3 100%);transition:opacity .25s;position:absolute;inset:0}.portfolio-item:hover .portfolio-item-overlay{opacity:1}.portfolio-item-caption{color:#fff;padding:.75rem;font-size:.875rem;font-weight:600;line-height:1.3;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.portfolio-item:hover .portfolio-item-caption{transform:translateY(0)}.portfolio-empty{text-align:center;border:1px solid var(--color-warm-400);background:#fff;border-radius:1rem;padding:3rem 1.5rem}.portfolio-empty-icon{opacity:.6;margin-bottom:1rem;font-size:3rem;display:block}.portfolio-empty-title{font-family:var(--font-heading);color:#374151;margin-bottom:.5rem;font-size:1.125rem;font-weight:700}.portfolio-empty-text{color:var(--text-secondary);font-size:.875rem}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}@keyframes lightboxScaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lightbox-overlay{z-index:var(--z-modal,1000);background:#000000eb;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out both lightboxFadeIn;display:flex;position:fixed;inset:0}.lightbox{background:#000;border-radius:.875rem;flex-direction:column;max-width:90vw;max-height:90vh;animation:.22s cubic-bezier(.34,1.56,.64,1) both lightboxScaleIn;display:flex;position:relative;overflow:hidden}.lightbox img{object-fit:contain;flex:1;max-width:90vw;max-height:80vh;display:block}.lightbox-close{color:#fff;cursor:pointer;z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-family:inherit;font-size:1.125rem;transition:background .18s;display:flex;position:absolute;top:1rem;right:1rem}.lightbox-close:hover{background:var(--color-primary-300)}.lightbox-nav-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-family:inherit;font-size:1.25rem;transition:background .18s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav-btn:hover{background:#ffffff47}.lightbox-nav-btn.prev{left:1rem}.lightbox-nav-btn.next{right:1rem}.lightbox-caption{text-align:center;color:#fff;background:#00000080;flex-shrink:0;padding:.75rem;font-size:.875rem;font-weight:600}.portfolio-management-grid{grid-template-columns:1fr 2fr;align-items:start;gap:1.5rem;display:grid}.portfolio-upload-form{flex-direction:column;gap:1rem;display:flex}.portfolio-edit-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.portfolio-edit-item{aspect-ratio:1;border:1px solid var(--color-warm-400);background:var(--color-warm-100);border-radius:.875rem;position:relative;overflow:hidden}.portfolio-edit-item img{object-fit:cover;width:100%;height:100%;display:block}.portfolio-edit-overlay{opacity:0;background:#7a1a27bf;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:.5rem;transition:opacity .22s;display:flex;position:absolute;inset:0}.portfolio-edit-item:hover .portfolio-edit-overlay{opacity:1}.portfolio-edit-overlay .caption{color:#fff;text-align:center;word-break:break-word;padding:0 .5rem;font-size:.75rem;font-weight:600;line-height:1.3}.delete-photo-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;font-size:1rem;transition:background .18s;display:flex}.delete-photo-btn:hover{background:var(--color-error,#dc2626)}@media (max-width:1024px){.portfolio-grid,.portfolio-edit-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.portfolio-management-grid{grid-template-columns:1fr}}@media (max-width:640px){.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.portfolio-edit-grid{grid-template-columns:repeat(2,1fr)}.portfolio-categories{gap:.5rem}.portfolio-category-tab{padding:5px 14px;font-size:.8125rem}.lightbox{border-radius:0;max-width:100vw;max-height:100vh}.lightbox img{max-height:70vh}}
*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;min-height:100vh}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--weight-bold);line-height:var(--leading-tight)}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-warm-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-primary-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-600)}::selection{background:var(--color-primary-200);color:var(--color-dark-900)}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}.container{width:100%;max-width:var(--container-xl);padding:0 var(--space-6);margin:0 auto}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-2xl{max-width:var(--container-2xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary-color{color:var(--color-accent-600)}.text-accent-color{color:var(--color-accent-500)}.text-muted{color:var(--text-muted)}.text-secondary-color{color:var(--text-secondary)}.text-gradient{background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.relative{position:relative}.overflow-hidden{overflow:hidden}.w-full{width:100%}.section{padding:var(--space-20) 0}.section-sm{padding:var(--space-12) 0}.card{background:var(--surface-white);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-card);padding:var(--space-6);transition:box-shadow var(--transition-base), transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-card-hover)}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease-out}.animate-fadeInUp{animation:fadeInUp var(--transition-slow) ease-out}.animate-scaleIn{animation:scaleIn var(--transition-spring) ease-out}.animate-float{animation:3s ease-in-out infinite float}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-shimmer{background:linear-gradient(90deg, var(--surface-raised) 25%, var(--border-light) 50%, var(--surface-raised) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 var(--space-4)}.section{padding:var(--space-12) 0}.hide-mobile{display:none!important}}@media (min-width:769px) and (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width:769px){.hide-desktop{display:none!important}}.loading-state-container{justify-content:center!important;align-items:center!important;gap:var(--space-4)!important;padding:var(--space-12) var(--space-6)!important;text-align:center!important;box-sizing:border-box!important;flex-direction:column!important;width:100%!important;display:flex!important}.loading-state-container.full-screen{background:var(--surface-bg)!important;min-height:100vh!important}.loading-spinner{border:3px solid #ec4f5a26!important;border-top-color:var(--color-primary-500)!important;box-sizing:border-box!important;border-radius:50%!important;width:48px!important;height:48px!important;animation:.8s linear infinite spin!important;display:inline-block!important}.loading-text{font-size:var(--text-sm)!important;font-weight:var(--weight-medium)!important;color:var(--text-secondary)!important;margin:0!important}
