body{text-align:center;font-family:sans-serif}.navbar{z-index:2000;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;box-shadow:0 1px 3px #0000001a}.navbar__container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1rem 1.5rem;display:flex}.navbar__brand{align-items:center;display:flex}.navbar__logo{color:#7c3aed;font-size:1.5rem;font-weight:700;text-decoration:none;transition:color .2s}.navbar__logo:hover{color:#6d28d9}.navbar__hamburger{cursor:pointer;z-index:2001;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.375rem;width:2rem;height:2rem;padding:0;display:none;position:relative}.navbar__hamburger-line{background-color:#374151;border-radius:.125rem;width:1.75rem;height:.1875rem;transition:all .3s;position:absolute}.navbar__hamburger-line:first-child{top:.375rem}.navbar__hamburger-line:nth-child(2){top:50%;transform:translateY(-50%)}.navbar__hamburger-line:nth-child(3){bottom:.375rem}.navbar__hamburger--open .navbar__hamburger-line:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}.navbar__hamburger--open .navbar__hamburger-line:nth-child(2){opacity:0}.navbar__hamburger--open .navbar__hamburger-line:nth-child(3){bottom:50%;transform:translateY(50%)rotate(-45deg)}.navbar__links{align-items:center;gap:2rem;display:flex}.navbar__link{color:#4b5563;cursor:pointer;background:0 0;border:none;padding:.5rem 0;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s}.navbar__link:hover{color:#7c3aed}.navbar__link--cta{color:#fff;background:#7c3aed;border-radius:6px;padding:.5rem 1.25rem}.navbar__link--cta:hover{color:#fff;background:#6d28d9}@media (max-width:768px){.navbar__container{padding:1rem}.navbar__hamburger{display:flex}.navbar__links{z-index:2000;background-color:#fff;flex-direction:column;align-items:flex-start;gap:1.25rem;width:70%;max-width:300px;height:100vh;padding:5rem 2rem 2rem;transition:transform .3s ease-in-out;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-2px 0 8px #00000026}.navbar__links--open{transform:translate(0)}.navbar__link{width:100%;padding:.75rem 0;font-size:1.125rem}.navbar__link--cta{text-align:center;width:100%;margin-top:.5rem}}@media (max-width:480px){.navbar__logo{font-size:1.25rem}}@media (min-width:769px){.navbar__link:not(.navbar__link--cta){position:relative}.navbar__link:not(.navbar__link--cta):after{content:"";background-color:#7c3aed;width:0;height:2px;transition:width .2s;position:absolute;bottom:0;left:0}.navbar__link:not(.navbar__link--cta):hover:after{width:100%}}.artist-cta{grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem 0;display:grid}.artist-cta__button{text-align:center;border:2px solid #0000;border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s}.artist-cta__button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.artist-cta__button:active{transform:translateY(0)}.artist-cta__view-profile{color:#7c3aed;background:#fff;border-color:#7c3aed}.artist-cta__view-profile:hover{background:#f3f4f6}.artist-cta__book-now{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%)}.artist-cta__book-now:hover{background:linear-gradient(135deg,#6d28d9 0%,#9333ea 100%)}.match-results-modal-actions{border-top:1px solid #e5e7eb;padding:1.5rem}.match-results-modal-actions .artist-cta{padding:0}.shop-masonry-gallery__card .artist-cta{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.artist-dashboard-calendar,.artist-calendar{background:#f8f9fa;flex-direction:column;width:100%;min-height:100vh;display:flex}.artist-dashboard-calendar-header,.calendar-header{background:#fff;border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.artist-dashboard-calendar-header h1,.calendar-header h1{color:#374151;margin:0;font-size:1.875rem;font-weight:600}.artist-dashboard-calendar-header-actions,.header-actions{align-items:center;gap:1rem;display:flex}.artist-dashboard-calendar-header-actions a,.header-actions a{color:inherit;text-decoration:none}.artist-dashboard-calendar-note,.calendar-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin:1rem 1.5rem 0;padding:1rem 1.5rem}.artist-dashboard-calendar-note p,.calendar-note p{color:#0369a1;margin:0;font-size:.875rem}.artist-dashboard-calendar-layout,.calendar-layout{flex:1;display:flex;overflow:hidden}.artist-dashboard-calendar-main,.calendar-main{flex:1;padding:1.5rem;overflow-y:auto}.artist-dashboard-calendar-grid,.calendar-grid{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.artist-dashboard-calendar-navigation,.calendar-navigation{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.artist-dashboard-calendar-navigation button,.calendar-navigation button{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:6px;padding:.5rem 1rem;transition:background .2s}.artist-dashboard-calendar-navigation button:hover,.calendar-navigation button:hover{background:#ffffff4d}.artist-dashboard-calendar-current-month,.current-month{margin:0;font-size:1.5rem;font-weight:600}.artist-dashboard-calendar-weekdays,.calendar-weekdays{background:#f8f9fa;grid-template-columns:repeat(7,1fr);display:grid}.artist-dashboard-calendar-weekday,.weekday{text-align:center;color:#6b7280;border-right:1px solid #e9ecef;padding:1rem;font-weight:600}.artist-dashboard-calendar-weekday:last-child,.weekday:last-child{border-right:none}.artist-dashboard-calendar-days,.calendar-days{grid-template-columns:repeat(7,1fr);display:grid}.artist-dashboard-calendar-day,.calendar-day{cursor:pointer;background:#fff;border:1px solid #e9ecef;min-height:120px;transition:all .2s;position:relative}.artist-dashboard-calendar-day:hover,.calendar-day:hover{z-index:1;background:#f8f9fa;box-shadow:0 4px 12px #00000026}.artist-dashboard-calendar-day.empty,.empty.calendar-day{cursor:default;background:#f8f9fa}.artist-dashboard-calendar-day.empty:hover,.empty.calendar-day:hover{box-shadow:none;background:#f8f9fa}.artist-dashboard-calendar-day.selected,.selected.calendar-day{background:#ede9fe;border-color:#7c3aed;box-shadow:inset 0 0 0 2px #7c3aed}.artist-dashboard-calendar-day.blocked,.blocked.calendar-day{background:#fef2f2;border-left:4px solid #ef4444}.artist-dashboard-calendar-day.has-request,.has-request.calendar-day{background:#fef3c7;border-color:#f59e0b}.artist-dashboard-calendar-day.has-request:after,.has-request.calendar-day:after{content:"";background:#f59e0b;border-radius:50%;width:10px;height:10px;position:absolute;top:.5rem;right:.5rem}.artist-dashboard-calendar-day.has-explicit,.has-explicit.calendar-day{border:2px solid #f97316}.artist-dashboard-calendar-day-number,.day-number{color:#374151;font-weight:600;position:absolute;top:.5rem;left:.5rem}.artist-dashboard-calendar-explicit-indicator,.explicit-indicator{background:#f97316;border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:.25rem;right:.25rem}.artist-dashboard-calendar-time-blocks,.time-blocks{pointer-events:none;flex-direction:column;gap:.1rem;display:flex;position:absolute;inset:1.75rem .5rem .5rem}.artist-dashboard-calendar-time-blocks-container,.time-blocks-container{flex-direction:column;gap:2px;display:flex}.artist-dashboard-calendar-time-block{color:#fff;pointer-events:auto;background:#7c3aede6;border-radius:3px;flex-direction:column;justify-content:center;min-height:16px;padding:.1rem .25rem;font-size:.6rem;line-height:1;transition:all .2s;display:flex;box-shadow:0 1px 2px #0003}.artist-dashboard-calendar-time-block.blocked{color:#fff;background:#ef4444e6}.artist-dashboard-calendar-time-block.available{color:#fff;background:#6b7280cc}.artist-dashboard-calendar-time-block.booking-pending{color:#92400e;background:#fbbf24f2;border:1px solid #f59e0b}.artist-dashboard-calendar-time-block.booking-accepted{color:#fff;background:#10b981e6;border:1px solid #10b981}.artist-dashboard-calendar-time-block.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.artist-dashboard-calendar-time-block.clickable:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.artist-dashboard-calendar-time-block.more-indicator{color:#fff;text-align:center;cursor:pointer;background:#667eea;border:1px solid #667eea;border-radius:4px;padding:2px 6px;font-size:.75rem;transition:all .2s}.artist-dashboard-calendar-time-block.more-indicator:hover{background:#5a6fd8;border-color:#5a6fd8;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.artist-dashboard-calendar-time-block:hover{z-index:10;transform:scale(1.02);box-shadow:0 4px 8px #0006}.artist-dashboard-calendar-time-block-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:.05rem;font-size:.55rem;font-weight:600;overflow:hidden}.artist-dashboard-calendar-time-block-time{opacity:.9;font-size:.5rem;font-weight:500}.artist-dashboard-calendar-time-block-time-only{text-align:center;color:#fff;font-size:.55rem;font-weight:600}.artist-dashboard-calendar-more-count,.more-count{font-size:.7rem;font-weight:600}:is(.artist-dashboard-calendar-time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block) .artist-dashboard-calendar-time-block,.time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block) .artist-dashboard-calendar-time-block){min-height:16px;padding:.1rem .25rem}:is(.artist-dashboard-calendar-time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block) .artist-dashboard-calendar-time-block .artist-dashboard-calendar-time-block-name,.time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block) .artist-dashboard-calendar-time-block .artist-dashboard-calendar-time-block-name){font-size:.5rem}:is(.artist-dashboard-calendar-time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block) .artist-dashboard-calendar-time-block .artist-dashboard-calendar-time-block-time,.time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block) .artist-dashboard-calendar-time-block .artist-dashboard-calendar-time-block-time){font-size:.45rem}:is(.artist-dashboard-calendar-time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block):not(:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block)) .artist-dashboard-calendar-time-block,.time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block):not(:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block)) .artist-dashboard-calendar-time-block){min-height:18px;padding:.12rem .3rem}:is(.artist-dashboard-calendar-time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block):not(:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block)) .artist-dashboard-calendar-time-block .artist-dashboard-calendar-time-block-name,.time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block):not(:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block)) .artist-dashboard-calendar-time-block .artist-dashboard-calendar-time-block-name){font-size:.52rem}:is(.artist-dashboard-calendar-time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block):not(:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block)) .artist-dashboard-calendar-time-block .artist-dashboard-calendar-time-block-time,.time-blocks:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block):not(:has(.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block+.artist-dashboard-calendar-time-block)) .artist-dashboard-calendar-time-block .artist-dashboard-calendar-time-block-time){font-size:.48rem}.artist-dashboard-calendar-legend,.calendar-legend{background:#f8f9fa;border-top:1px solid #e9ecef;justify-content:center;gap:2rem;padding:1rem;display:flex}.artist-dashboard-calendar-legend-item,.legend-item{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.artist-dashboard-calendar-legend-color,.legend-color{border-radius:4px;width:16px;height:16px}.artist-dashboard-calendar-legend-color.available,.available.legend-color{background:#fff;border:1px solid #e9ecef}.artist-dashboard-calendar-legend-color.blocked,.blocked.legend-color{background:#ef4444}.artist-dashboard-calendar-legend-color.has-request,.has-request.legend-color{background:#f59e0b}.artist-dashboard-calendar-legend-color.booking-pending,.booking-pending.legend-color{background-color:#fbbf24}.artist-dashboard-calendar-legend-color.booking-accepted,.booking-accepted.legend-color{background-color:#34d399}.artist-dashboard-calendar-sidebar,.calendar-sidebar{background:#fff;border-left:1px solid #e9ecef;flex-direction:column;width:350px;height:100vh;transition:transform .3s;display:flex;overflow-y:hidden}.artist-dashboard-calendar-sidebar.collapsed,.collapsed.calendar-sidebar{transform:translate(100%)}.artist-dashboard-calendar-sidebar-section,.sidebar-section{margin-bottom:1.5rem}.artist-dashboard-calendar-sidebar-section:last-child,.sidebar-section:last-child{margin-bottom:0}.artist-dashboard-calendar-sidebar-header,.sidebar-header{border-bottom:1px solid #e9ecef;padding:1.5rem}.artist-dashboard-calendar-sidebar-header h3,.sidebar-header h3{color:#374151;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.artist-dashboard-calendar-booking-list,.booking-list{flex:1;min-height:0;max-height:calc(100vh - 200px);padding:1rem 1rem 3rem;overflow-y:auto}.artist-dashboard-calendar-no-bookings,.no-bookings{text-align:center;color:#6b7280;padding:2rem}.artist-dashboard-calendar-bookings-container,.bookings-container{flex-direction:column;gap:1rem;display:flex}.artist-dashboard-calendar-booking-item,.booking-item{cursor:pointer;background:#fff;border:2px solid #f3f4f6;border-radius:12px;margin-bottom:1rem;padding:1rem;transition:all .2s;position:relative;box-shadow:0 2px 4px #0000000d}.artist-dashboard-calendar-booking-item:last-child,.booking-item:last-child{margin-bottom:0}.artist-dashboard-calendar-booking-item:hover,.booking-item:hover{border-color:#fbbf24;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.artist-dashboard-calendar-booking-item.booking-pending,.booking-pending.booking-item{background:linear-gradient(135deg,#fffbeb 0%,#fefce8 100%);border-color:#fbbf24}.artist-dashboard-calendar-booking-item.booking-pending:before,.booking-pending.booking-item:before{content:"";background:#fbbf24;border-radius:12px 0 0 12px;width:4px;position:absolute;top:0;bottom:0;left:0}.artist-dashboard-calendar-booking-item.booking-accepted,.booking-accepted.booking-item{background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);border-color:#34d399}.artist-dashboard-calendar-booking-item.booking-accepted:before,.booking-accepted.booking-item:before{content:"";background:#34d399;border-radius:12px 0 0 12px;width:4px;position:absolute;top:0;bottom:0;left:0}.artist-dashboard-calendar-booking-client,.booking-client{color:#1f2937;margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.artist-dashboard-calendar-booking-date,.booking-date{color:#6b7280;margin-bottom:.25rem;font-size:.9rem}.artist-dashboard-calendar-booking-time,.booking-time{color:#374151;margin-bottom:.25rem;font-weight:500}.artist-dashboard-calendar-booking-tattoo,.booking-tattoo{color:#6b7280;margin-bottom:.25rem;font-size:.85rem;font-style:italic}.artist-dashboard-calendar-booking-placement,.booking-placement{color:#6b7280;font-size:.8rem;font-weight:500}.artist-dashboard-calendar-modal-backdrop,.modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.artist-dashboard-calendar-availability-modal,.availability-modal{box-sizing:border-box;background:#fff;border-radius:12px;flex-direction:column;width:450px;max-width:90vw;max-height:80vh;transition:transform .2s;display:flex;overflow:hidden;transform:scale(1);box-shadow:0 20px 40px #0000004d}.artist-dashboard-calendar-day-events-modal,.day-events-modal{background:#fff;border-radius:12px;flex-direction:column;max-width:548px;max-height:70vh;display:flex;box-shadow:0 20px 40px #00000026;width:100%!important}.artist-dashboard-calendar-modal-header,.modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.artist-dashboard-calendar-modal-header h2,.modal-header h2,.artist-dashboard-calendar-modal-header h3,.modal-header h3{color:#374151;margin:0;font-size:1.5rem;font-weight:600}.artist-dashboard-calendar-modal-close,.modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.artist-dashboard-calendar-modal-close:hover,.modal-close:hover{color:#374151;background:#f3f4f6}.artist-dashboard-calendar-modal-content,.modal-content{word-wrap:break-word;flex:1;min-width:0;padding:1.5rem;overflow:hidden auto}.artist-dashboard-calendar-availability-form h3,.availability-form h3{color:#7c3aed;margin:0 0 1.5rem;font-size:1.125rem;font-weight:600}.artist-dashboard-calendar-availability-note,.availability-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.artist-dashboard-calendar-availability-note p,.availability-note p{color:#0369a1;margin:0;font-size:.875rem}.artist-dashboard-calendar-form-group,.form-group{margin-bottom:1.5rem}.artist-dashboard-calendar-form-group label,.form-group label{color:#374151;margin-bottom:.5rem;font-weight:500;display:block}.artist-dashboard-calendar-form-group input[type=radio],.form-group input[type=radio]{margin-right:.5rem}.artist-dashboard-calendar-form-group span,.form-group span{margin-right:1rem}.artist-dashboard-calendar-time-inputs,.time-inputs{flex-direction:column;gap:1rem;display:flex}.artist-dashboard-calendar-time-inputs .artist-dashboard-calendar-form-group,.time-inputs .artist-dashboard-calendar-form-group,.artist-dashboard-calendar-time-inputs .form-group,.time-inputs .form-group{flex-direction:column;gap:.5rem;display:flex}.artist-dashboard-calendar-time-inputs .artist-dashboard-calendar-form-group label,.time-inputs .artist-dashboard-calendar-form-group label,.artist-dashboard-calendar-time-inputs .form-group label,.time-inputs .form-group label{color:#374151;font-size:.875rem;font-weight:600}.artist-dashboard-calendar-time-inputs .artist-dashboard-calendar-form-group input,.time-inputs .artist-dashboard-calendar-form-group input,.artist-dashboard-calendar-time-inputs .form-group input,.time-inputs .form-group input{box-sizing:border-box;min-width:0}.artist-dashboard-calendar-modal-actions,.modal-actions{border-top:1px solid #e9ecef;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;display:flex}.artist-dashboard-calendar-events-list,.events-list{flex-direction:column;gap:.75rem;max-height:400px;display:flex;overflow-y:auto}@media (max-width:768px){.artist-dashboard-calendar-sidebar,.calendar-sidebar{z-index:100;width:100%;position:fixed;top:0;bottom:0;right:0}.artist-dashboard-calendar-sidebar.collapsed,.collapsed.calendar-sidebar{transform:translate(100%)}.artist-dashboard-calendar-main,.calendar-main,.artist-dashboard-calendar-header,.calendar-header{padding:1rem}.artist-dashboard-calendar-header h1,.calendar-header h1{font-size:1.5rem}.artist-dashboard-calendar-navigation,.calendar-navigation{flex-wrap:wrap;padding:1rem}.artist-dashboard-calendar-navigation button,.calendar-navigation button{padding:.5rem;font-size:.875rem}.artist-dashboard-calendar-current-month,.current-month{text-align:center;width:100%;margin-bottom:1rem;font-size:1.25rem}.artist-dashboard-calendar-weekday,.weekday{padding:.5rem;font-size:.75rem}.artist-dashboard-calendar-day,.calendar-day{min-height:80px}.artist-dashboard-calendar-legend,.calendar-legend{flex-wrap:wrap;gap:1rem;padding:.75rem}.artist-dashboard-calendar-availability-modal,.availability-modal,.artist-dashboard-calendar-day-events-modal,.day-events-modal{max-width:95vw;margin:.5rem}.artist-dashboard-calendar-modal-header,.modal-header{padding:1rem}.artist-dashboard-calendar-modal-header h2,.modal-header h2,.artist-dashboard-calendar-modal-header h3,.modal-header h3{font-size:1.25rem}.artist-dashboard-calendar-modal-content,.modal-content{padding:1rem}.artist-dashboard-calendar-time-inputs,.time-inputs{grid-template-columns:1fr}.artist-dashboard-calendar-modal-actions,.modal-actions{flex-direction:column}}@media (max-width:480px){.artist-dashboard-calendar-header,.calendar-header{padding:.75rem}.artist-dashboard-calendar-main,.calendar-main{padding:.5rem}.artist-dashboard-calendar-navigation,.calendar-navigation{padding:.75rem}.artist-dashboard-calendar-navigation button,.calendar-navigation button{padding:.25rem .5rem;font-size:.8rem}.artist-dashboard-calendar-current-month,.current-month{font-size:1.125rem}.artist-dashboard-calendar-weekday,.weekday{padding:.375rem;font-size:.8rem}.artist-dashboard-calendar-day,.calendar-day{min-height:60px}.artist-dashboard-calendar-day-number,.day-number{font-size:.875rem}.artist-dashboard-calendar-time-block{min-height:14px;padding:.05rem .15rem;font-size:.5rem}.artist-dashboard-calendar-legend,.calendar-legend{gap:.5rem;padding:.5rem}.artist-dashboard-calendar-legend-item,.legend-item{font-size:.75rem}.artist-dashboard-calendar-legend-color,.legend-color{width:12px;height:12px}.artist-dashboard-calendar-booking-item,.booking-item{padding:.5rem}.artist-dashboard-calendar-modal-content,.modal-content,.artist-dashboard-calendar-sidebar-header,.sidebar-header{padding:1rem}.artist-dashboard-calendar-booking-list,.booking-list{padding:.5rem}}.artist-calendar-container{background:#f8f9fa;flex-direction:column;height:100vh;display:flex}.artist-calendar-header{background:#fff;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.artist-calendar-header h1{color:#374151;margin:0;font-size:1.875rem;font-weight:600}.artist-calendar-header-actions{align-items:center;gap:1rem;display:flex}.artist-calendar-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin:1rem 1.5rem 0;padding:1rem 1.5rem}.artist-calendar-note p{color:#0369a1;margin:0;font-size:.875rem}.artist-calendar-layout{flex:1;display:flex;overflow:hidden}.artist-calendar-main{flex:1;padding:1.5rem;overflow-y:auto}.artist-calendar-sidebar{background:#fff;border-left:1px solid #e9ecef;flex-direction:column;width:350px;height:100vh;transition:transform .3s;display:flex;overflow-y:hidden}.artist-calendar-sidebar--collapsed{transform:translate(100%)}.artist-highlight-container{background:#f8fafc;min-height:100vh}.artist-highlight-header{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 1rem}.artist-highlight-header-inner{max-width:1200px;margin:0 auto}.artist-highlight-header-layout{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.artist-highlight-artist-name{margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.artist-highlight-shop-info{opacity:.9;font-size:1.1rem}.artist-highlight-shop-link{color:#ffffffe6;border-bottom:1px dashed #ffffff80;padding-bottom:2px;text-decoration:none;transition:all .2s}.artist-highlight-shop-link:hover{opacity:1;border-bottom:1px solid #ffffffe6}.artist-highlight-buttons-container{flex-wrap:wrap;gap:1rem;display:flex}.artist-highlight-book-button{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:20px;padding:.5rem 1rem;font-size:1rem;font-weight:600;text-decoration:none}.artist-highlight-social-button{color:#fff;background:#fff3;border-radius:20px;padding:.5rem 1rem;text-decoration:none}.artist-highlight-content{max-width:1200px;margin:0 auto;padding:2rem 1rem}.artist-highlight-main-grid{grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:2rem;display:grid}.artist-highlight-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #00000014}.artist-highlight-card-heading{color:#2d3748;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.artist-highlight-styles-container{flex-wrap:wrap;gap:.5rem;display:flex}.artist-highlight-style-tag{color:#fff;background:#667eea;border-radius:20px;padding:.25rem .75rem;font-size:.8rem}.artist-highlight-info-grid{gap:1rem;display:grid}.artist-highlight-experience-heading{color:#2d3748;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.artist-highlight-experience-value{color:#667eea;font-size:2rem;font-weight:700}.artist-highlight-location-text{color:#4a5568;margin:0 0 1rem;font-size:.9rem}.artist-highlight-map-container{border:1px solid #e2e8f0;border-radius:8px;width:100%;height:200px;position:relative;overflow:hidden}.artist-highlight-map-iframe{pointer-events:none;border:none;width:100%;height:100%}.artist-highlight-map-overlay{pointer-events:none;background:0 0;width:100%;height:100%;position:absolute;top:0;left:0}.artist-highlight-map-link-container{text-align:center;margin-top:.5rem}.artist-highlight-map-link{color:#667eea;font-size:.8rem;text-decoration:none}.artist-highlight-portfolio-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #00000014}.artist-highlight-portfolio-heading{color:#2d3748;margin:0 0 1rem;font-size:1.5rem;font-weight:600}.artist-highlight-not-found-container{background:#f8fafc;min-height:100vh}.artist-highlight-not-found-header{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 1rem}.artist-highlight-not-found-header-inner{text-align:center;max-width:1200px;margin:0 auto}.artist-highlight-not-found-heading{margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.artist-highlight-not-found-subtitle{opacity:.9;font-size:1.1rem}.artist-highlight-not-found-content{max-width:1200px;margin:0 auto;padding:2rem 1rem}.artist-highlight-not-found-card{text-align:center;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #00000014}.artist-highlight-not-found-text{color:#4a5568;margin:0}.auth-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:100%;max-width:400px;padding:2rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{color:#111827;margin-bottom:.5rem;font-size:1.875rem;font-weight:700}.auth-header p{color:#6b7280;font-size:.875rem}.auth-user-type-toggle{margin-bottom:1.5rem}.auth-toggle-buttons{background:#f3f4f6;border-radius:12px;gap:4px;padding:4px;display:flex}.auth-toggle-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.auth-toggle-btn:hover{color:#374151;background:#e5e7eb}.auth-toggle-btn.auth-active{color:#7c3aed;background:#fff;font-weight:600;box-shadow:0 1px 3px #0000001a}.auth-success-message{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.auth-success-message p{color:#065f46;margin:0;font-size:.875rem;font-weight:500}.auth-success-icon{color:#fff;background:#10b981;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.auth-form-group{margin-bottom:1rem}.auth-form-group:last-of-type{margin-bottom:1.5rem}.auth-input-wrapper{align-items:center;display:flex;position:relative}.auth-input-icon{color:#9ca3af;pointer-events:none;z-index:1;align-items:center;display:flex;position:absolute;left:14px}.auth-input{width:100%;background:#fff!important;border:2px solid #e5e7eb!important;border-radius:8px!important;padding:12px 14px 12px 44px!important;font-size:.875rem!important;transition:all .2s!important}.auth-input:focus{border-color:#7c3aed!important;outline:none!important;box-shadow:0 0 0 3px #7c3aed1a!important}.auth-input::placeholder{color:#9ca3af!important}.auth-password-toggle{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex;position:absolute;right:12px}.auth-password-toggle:hover{color:#374151;background:#f3f4f6}.auth-password-toggle:active{background:#e5e7eb}.auth-password-toggle svg{display:block}.auth-form-row{gap:1rem;display:flex}.auth-form-row .auth-form-group{flex:1;min-width:0}.auth-form-row .auth-form-group .auth-input{box-sizing:border-box;width:100%}.auth-error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500}.auth-submit-btn{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:8px;width:100%;margin-bottom:1.5rem;padding:.875rem 1rem;font-size:1rem;font-weight:600;transition:background-color .2s}.auth-submit-btn:hover:not(:disabled){background:#6d28d9}.auth-submit-btn:disabled{cursor:not-allowed;background:#9ca3af}.auth-footer{text-align:center}.auth-footer p{color:#6b7280;margin:0;font-size:.875rem}.auth-footer a{color:#7c3aed;font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-artist-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.auth-artist-notice p{color:#1e40af;margin:0;font-size:.875rem;line-height:1.4}.auth-info-icon{color:#fff;background:#3b82f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;font-size:.75rem;font-weight:700;display:flex}@media (max-width:480px){.auth-container{padding:.5rem}.auth-card{padding:1.5rem}.auth-form-row{flex-direction:column;gap:0}}.leaflet-control-zoom,.leaflet-top,.leaflet-bottom{z-index:400!important}.explore-container{background:#f8f9fa;flex-direction:column;height:100vh;display:flex}.explore-header{z-index:100;background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #00000014}.explore-header .header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;max-width:1400px;margin:0 auto;display:flex}.explore-header h1{color:#1a1a1a;margin:0;font-size:1.75rem;font-weight:600}.explore-header .search-section{flex:1;gap:.5rem;min-width:300px;max-width:500px;display:flex}.explore-header .search-section .search-input{border:2px solid #e2e8f0;border-radius:8px;flex:1;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.explore-header .search-section .search-input:focus{border-color:#667eea;outline:none}.explore-header .search-section .search-input::placeholder{color:#94a3b8}.explore-header .search-section .search-button{color:#fff;cursor:pointer;white-space:nowrap;background:#667eea;border:none;border-radius:8px;flex-shrink:0;padding:.75rem 1.5rem;font-weight:500;transition:background .2s}.explore-header .search-section .search-button:hover{background:#5a67d8}.explore-header .location-stats{color:#64748b;gap:1.5rem;font-size:.95rem;display:flex}.explore-header .location-stats .stat-item{align-items:center;gap:.5rem;display:flex}.explore-header .location-stats .stat-item .stat-number{color:#1e293b;font-weight:600}.explore-content{flex:1;display:flex;position:relative;overflow:hidden}.floating-filters-toggle{display:none}@media (max-width:768px){.floating-filters-toggle{cursor:pointer;z-index:3100;background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:70px;height:60px;transition:all .3s;display:flex;position:absolute;top:1rem;right:1rem;box-shadow:0 2px 8px #00000026}.floating-filters-toggle .toggle-icon{color:#475569;font-size:1.25rem;line-height:1}.floating-filters-toggle .toggle-label{text-transform:uppercase;letter-spacing:.025em;color:#64748b;font-size:.6875rem;font-weight:600;line-height:1}.floating-filters-toggle:hover{background:#7c3aed;border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.floating-filters-toggle:hover .toggle-icon,.floating-filters-toggle:hover .toggle-label{color:#fff}.floating-filters-toggle:active{transform:translateY(0)}}.explore-sidebar{z-index:1000;background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:320px;transition:transform .3s;display:flex;position:relative;box-shadow:2px 0 8px #0000001a}@media (max-width:768px){.explore-sidebar.collapsed{transform:translate(-320px)}}.explore-sidebar .sidebar-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.explore-sidebar .sidebar-header h2{color:#1a1a1a;margin:0;font-size:1.25rem;font-weight:600}.explore-sidebar .sidebar-content{flex:1;padding:1.5rem;overflow-y:auto}.explore-sidebar .filter-section{margin-bottom:2rem}.explore-sidebar .filter-section h3{color:#475569;text-transform:uppercase;letter-spacing:.025em;margin:0 0 1rem;font-size:1rem;font-weight:600}.explore-sidebar .filter-section .location-selects{flex-direction:column;gap:.75rem;display:flex}.explore-sidebar .filter-section .location-selects select{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.625rem;font-size:.95rem}.explore-sidebar .filter-section .location-selects select:focus{border-color:#667eea;outline:none}.explore-sidebar .style-filters{flex-direction:column;flex:1;min-height:0;display:flex}.explore-sidebar .style-filters .no-styles{text-align:center;color:#94a3b8;padding:1rem;font-size:.875rem}.explore-sidebar .explore-style-search-input{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;margin-bottom:.75rem;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.explore-sidebar .explore-style-search-input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed1a}.explore-sidebar .explore-style-search-input::placeholder{color:#94a3b8}.explore-sidebar .explore-filter-chip-grid{flex-wrap:wrap;flex:1;align-content:flex-start;gap:.5rem;padding:.25rem;display:flex;overflow-y:auto}.explore-sidebar .explore-filter-chip-grid::-webkit-scrollbar{width:6px}.explore-sidebar .explore-filter-chip-grid::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.explore-sidebar .explore-filter-chip-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.explore-sidebar .explore-filter-chip-grid::-webkit-scrollbar-thumb:hover{background:#94a3b8}.explore-sidebar .explore-filter-chip{color:#475569;cursor:pointer;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.explore-sidebar .explore-filter-chip:hover{background:#f1f5f9;border-color:#7c3aed;transform:translateY(-1px);box-shadow:0 2px 4px #7c3aed1a}.explore-sidebar .explore-filter-chip:active{transform:translateY(0)}.explore-sidebar .explore-filter-chip .explore-filter-chip-name{color:inherit}.explore-sidebar .explore-filter-chip .explore-filter-chip-count{color:#94a3b8;font-size:.8125rem}.explore-sidebar .explore-filter-chip.explore-filter-chip-selected{color:#fff;background:#7c3aed;border-color:#7c3aed}.explore-sidebar .explore-filter-chip.explore-filter-chip-selected .explore-filter-chip-count{color:#fffc}.explore-sidebar .explore-filter-chip.explore-filter-chip-selected:hover{background:#6d28d9;border-color:#6d28d9}.explore-sidebar .explore-clear-filters{color:#7c3aed;cursor:pointer;background:#fff;border:1px solid #7c3aed;border-radius:6px;width:100%;margin-top:1rem;padding:.625rem;font-size:.95rem;font-weight:500;transition:all .2s}.explore-sidebar .explore-clear-filters:hover:not(:disabled){color:#fff;background:#7c3aed}.explore-sidebar .explore-clear-filters:disabled{opacity:.5;cursor:not-allowed;color:#94a3b8;border-color:#e2e8f0}.sidebar-backdrop{display:none}@media (max-width:768px){.sidebar-backdrop{z-index:2500;opacity:0;pointer-events:none;background:#00000080;transition:opacity .3s;position:fixed;inset:0}.sidebar-backdrop.show{opacity:1;pointer-events:auto;display:block}}.explore-map-wrapper{background:#e5e7eb;flex:1;position:relative}.explore-map-wrapper .map-container{width:100%;height:100%}.explore-map-wrapper .map-renderer-container{z-index:1;width:100%;height:100%;position:relative}.explore-map-wrapper .map-renderer-map-container{width:100%;height:100%}.explore-map-wrapper .map-legend{z-index:400;background:#fff;border-radius:8px;padding:1rem;position:absolute;bottom:2rem;right:2rem;box-shadow:0 2px 8px #0000001a}.explore-map-wrapper .map-legend h4{color:#475569;text-transform:uppercase;letter-spacing:.025em;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.explore-map-wrapper .map-legend .legend-items{flex-direction:column;gap:.5rem;display:flex}.explore-map-wrapper .map-legend .legend-items .legend-item{color:#64748b;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.explore-map-wrapper .map-legend .legend-items .legend-item .legend-marker{border:2px solid #fff;border-radius:50% 50% 50% 0;width:20px;height:20px;transform:rotate(-45deg);box-shadow:0 1px 3px #0003}.explore-map-wrapper .map-legend .legend-items .legend-item .legend-marker.has-portfolio{background:#5b21b6}.explore-map-wrapper .map-legend .legend-items .legend-item .legend-marker.no-portfolio{background:#f97316}.explore-map-wrapper .map-legend .legend-items .legend-item .legend-marker.no-artists{background:#6b7280}.active-filters{z-index:400;background:#fff;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:absolute;top:1rem;left:1rem;box-shadow:0 2px 8px #0000001a}.active-filters .filter-label{color:#64748b;font-size:.875rem;font-weight:500}.active-filters .filter-chips{flex-wrap:wrap;gap:.5rem;display:flex}.active-filters .filter-chips .filter-chip{color:#475569;background:#f1f5f9;border-radius:12px;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.875rem;display:flex}.active-filters .filter-chips .filter-chip .remove-filter{cursor:pointer;color:#94a3b8;font-weight:700}.active-filters .filter-chips .filter-chip .remove-filter:hover{color:#ef4444}.location-popup{min-width:280px}.location-popup .popup-header{border-bottom:1px solid #e2e8f0;margin-bottom:.75rem;padding-bottom:.75rem}.location-popup .popup-header h3{color:#1a1a1a;margin:0 0 .25rem;font-size:1.125rem;font-weight:600}.location-popup .popup-header .popup-address{color:#64748b;margin:0;font-size:.875rem}.location-popup .popup-stats{gap:1rem;margin-bottom:.75rem;display:flex}.location-popup .popup-stats .stat{color:#475569;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.location-popup .popup-stats .stat .stat-value{color:#1e293b;font-weight:600}.location-popup .popup-stats .stat .stat-label{font-weight:500}.location-popup .popup-stats .stat.price-stat .stat-value{color:#059669;font-weight:700}.location-popup .popup-artists{margin-bottom:.75rem}.location-popup .popup-artists h4{color:#374151;text-transform:uppercase;letter-spacing:.025em;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.location-popup .popup-artists .artist-list{flex-direction:column;gap:.5rem;display:flex}.location-popup .popup-artists .artist-list .artist-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:.75rem;padding:.5rem;transition:all .2s;display:flex}.location-popup .popup-artists .artist-list .artist-item:hover{background:#f1f5f9;border-color:#7c3aed;transform:translateY(-1px)}.location-popup .popup-artists .artist-list .artist-item .artist-initial{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#f97316 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;font-weight:600;display:flex}.location-popup .popup-artists .artist-list .artist-item .artist-info{flex-direction:column;min-width:0;display:flex}.location-popup .popup-artists .artist-list .artist-item .artist-info .artist-name{color:#1f2937;font-size:.875rem;font-weight:600;line-height:1.2}.location-popup .popup-artists .artist-list .artist-item .artist-info .artist-style{color:#6b7280;font-size:.75rem;line-height:1.2}.location-popup .popup-artists .loading{text-align:center;color:#6b7280;padding:.5rem;font-size:.875rem;font-style:italic}.location-popup .popup-styles{flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem;display:flex}.location-popup .popup-styles .style-tag{color:#475569;background:#f1f5f9;border-radius:4px;padding:.125rem .5rem;font-size:.75rem}.location-popup .popup-cta{color:#fff;text-align:center;background:#667eea;border-radius:6px;width:100%;padding:.625rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .2s;display:block}.location-popup .popup-cta:hover{background:#5a67d8}@media (max-width:768px){.explore-header{padding:1rem}.explore-header .header-content{flex-direction:column;align-items:stretch;gap:1rem}.explore-header h1{font-size:1.5rem}.explore-header .search-section{max-width:100%}.explore-header .location-stats{flex-wrap:wrap;justify-content:center;gap:1rem;font-size:.875rem}.explore-sidebar{z-index:3000;height:100%;position:absolute;top:0;left:0;transform:translate(0);box-shadow:2px 0 8px #0000001a}.explore-sidebar.collapsed{transform:translate(-320px)}.floating-filters-toggle{width:60px;height:52px;top:.75rem;right:.75rem}.floating-filters-toggle .toggle-icon{font-size:1.125rem}.floating-filters-toggle .toggle-label{font-size:.625rem}.explore-map-wrapper .map-legend{max-width:calc(100vw - 2rem);padding:.75rem;bottom:1rem;right:1rem}.explore-map-wrapper .map-legend h4,.explore-map-wrapper .map-legend .legend-items .legend-item{font-size:.75rem}.explore-map-wrapper .map-legend .legend-items .legend-item .legend-marker{width:16px;height:16px}.explore-map-wrapper .active-filters{width:auto;max-width:none;padding:.5rem;top:.5rem;left:.5rem;right:.5rem}.explore-map-wrapper .active-filters .filter-label{font-size:.75rem}.explore-map-wrapper .active-filters .filter-chips .filter-chip{padding:.25rem .5rem;font-size:.75rem}}.favorites-page{background:#f8fafc;min-height:100vh;padding:2rem 0}.favorites-container{max-width:1400px;margin:0 auto;padding:0 1.5rem}.favorites-header{text-align:center;margin-bottom:3rem}.favorites-header h1{color:#1f2937;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.favorites-header .favorites-subtitle{color:#6b7280;font-size:1.125rem}.favorites-loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.favorites-loading .loading-spinner{border:4px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.favorites-loading p{color:#6b7280;font-size:1rem;font-weight:500}.favorites-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.favorites-empty .empty-icon{opacity:.3;margin-bottom:1.5rem;font-size:4rem}.favorites-empty h2{color:#1f2937;margin-bottom:.75rem;font-size:1.75rem;font-weight:600}.favorites-empty p{color:#6b7280;max-width:500px;margin-bottom:2rem;font-size:1.125rem}.favorites-empty .explore-button{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:8px;padding:.875rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #7c3aed33}.favorites-empty .explore-button:hover{background:#6d28d9;transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.favorites-empty .explore-button:active{transform:translateY(0)}.favorites-grid-wrapper{width:100%}@media (max-width:768px){.favorites-page{padding:1.5rem 0}.favorites-container{padding:0 1rem}.favorites-header{margin-bottom:2rem}.favorites-header h1{font-size:2rem}.favorites-header .favorites-subtitle{font-size:1rem}.favorites-empty{padding:3rem 1.5rem}.favorites-empty .empty-icon{font-size:3rem}.favorites-empty h2{font-size:1.5rem}.favorites-empty p{font-size:1rem}.favorites-empty .explore-button{padding:.75rem 1.75rem}}@media (max-width:480px){.favorites-header h1{font-size:1.75rem}.favorites-header .favorites-subtitle{font-size:.95rem}.favorites-empty{padding:2.5rem 1rem}.favorites-empty h2{font-size:1.25rem}.favorites-empty p{font-size:.95rem}}.location-search-container{z-index:10000;width:100%;max-width:600px;margin:0 auto;position:relative}.location-search-input-wrapper{gap:.5rem;display:flex;position:relative}.location-search-input{border:2px solid #e5e7eb;border-radius:8px;outline:none;flex:1;padding:.75rem 1rem;font-size:1rem;transition:all .2s}.location-search-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.location-search-input:disabled{cursor:not-allowed;background-color:#f9fafb}.location-search-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.location-search-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.location-search-button:disabled{opacity:.5;cursor:not-allowed}.location-search-button.searching{background:linear-gradient(135deg,#6b7280 0%,#9ca3af 100%)}.location-search-gps-button{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:.75rem;font-size:1.2rem;transition:all .2s}.location-search-gps-button:hover{background:#f9fafb;border-color:#7c3aed}.location-search-error{color:#dc2626;background:#fee2e2;border-radius:6px;margin-top:.5rem;padding:.5rem 1rem;font-size:.875rem}.location-search-quick-locations{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.location-search-quick-label{color:#6b7280;margin-right:.25rem;font-size:.875rem}.location-search-quick-location-btn{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:.375rem .75rem;font-size:.875rem;transition:all .15s}.location-search-quick-location-btn:hover{color:#fff;background:#7c3aed;border-color:#7c3aed;transform:translateY(-1px)}.location-search-suggestions-portal{z-index:2147483647!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:8px!important;min-width:300px!important;max-height:300px!important;position:fixed!important;overflow-y:auto!important;box-shadow:0 10px 40px #00000026!important}.location-search-suggestions-portal .location-search-suggestion-item{cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 1rem;transition:background-color .15s;display:flex}.location-search-suggestions-portal .location-search-suggestion-item:hover,.location-search-suggestions-portal .location-search-suggestion-item.selected{background-color:#f3f4f6}.location-search-suggestions-portal .location-search-suggestion-item:first-child{border-radius:8px 8px 0 0}.location-search-suggestions-portal .location-search-suggestion-item:last-child{border-radius:0 0 8px 8px}.location-search-suggestions-portal .location-search-suggestion-icon{opacity:.7;font-size:1rem}.match-results-container{max-width:1200px;margin:0 auto;padding:2rem}.match-results-container .page-header{text-align:center;border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1.5rem;line-height:1}.match-results-container .page-header h1{color:#1f2937;letter-spacing:-.025em;margin-bottom:.5rem;font-size:2rem;font-weight:700}.match-results-container .page-header .subtitle{color:#6b7280;margin-bottom:0;font-size:.95rem}.match-results-container .artists-grid{gap:2rem;margin-bottom:3rem;display:grid}.match-results-container .refine-section{text-align:center;border-top:1px solid #e5e7eb;padding-top:2rem}.artist-card{background:#fff;border:1px solid #f3f4f6;border-radius:12px;transition:all .2s ease-in-out;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.artist-card:hover{border-color:#e5e7eb;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.artist-card .card-content{padding:2rem}.artist-card .card-content .card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.artist-card .card-content .card-header .artist-info{flex:1;align-items:center;gap:1rem;display:flex}.artist-card .card-content .card-header .artist-info .artist-avatar{object-fit:cover;border:3px solid #f3f4f6;border-radius:50%;width:60px;height:60px;box-shadow:0 2px 4px #0000001a}.artist-card .card-content .card-header .artist-info .artist-avatar-placeholder{color:#fff;background:linear-gradient(135deg,#7c3aed,#5b21b6);border:3px solid #f3f4f6;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;font-weight:700;display:flex;box-shadow:0 2px 4px #7c3aed33}.artist-card .card-content .card-header .artist-info .artist-header-text{flex:1}.artist-card .card-content .card-header .artist-info .artist-header-text .artist-name{color:#1f2937;margin:0 0 .25rem;font-size:1.375rem;font-weight:600;line-height:1.2}.artist-card .card-content .card-header .artist-info .artist-header-text .artist-location{color:#6b7280;margin-bottom:.125rem;font-size:.875rem;font-weight:500}.artist-card .card-content .card-header .artist-info .artist-header-text .artist-shop{color:#9ca3af;font-size:.8rem;font-weight:400}.artist-card .card-content .card-header .match-badge{color:#fff;text-align:center;white-space:nowrap;background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;min-width:fit-content;margin-left:1rem;padding:.5rem .875rem;font-size:.875rem;font-weight:700;box-shadow:0 2px 4px #10b98133}.artist-card .card-content .styles-section{margin-bottom:1.5rem}.artist-card .card-content .styles-section .style-chips{flex-wrap:wrap;gap:.5rem;display:flex}.artist-card .card-content .styles-section .style-chips .style-chip{color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:16px;padding:.375rem .75rem;font-size:.75rem;font-weight:500;transition:all .2s ease-in-out}.artist-card .card-content .styles-section .style-chips .style-chip:hover{background:#e5e7eb;border-color:#d1d5db}.artist-card .card-content .portfolio-thumbnails{gap:.5rem;margin-bottom:1.5rem;display:flex}.artist-card .card-content .portfolio-thumbnails .thumbnail{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;flex:1;min-height:200px;transition:all .2s ease-in-out;overflow:hidden}.artist-card .card-content .portfolio-thumbnails .thumbnail img{object-fit:cover;width:100%;height:100%;transition:transform .2s ease-in-out}.artist-card .card-content .portfolio-thumbnails .thumbnail img:hover{transform:scale(1.05)}.artist-card .card-content .portfolio-thumbnails .thumbnail.instagram-thumbnail{background:#f9fafb;border:1px solid #e5e7eb;position:relative;overflow:hidden}.artist-card .card-content .portfolio-thumbnails .thumbnail.instagram-thumbnail :global(.instagram-media){box-shadow:none!important;background:0 0!important;border-radius:0!important;margin:0!important}.artist-card .card-content .portfolio-thumbnails .thumbnail.instagram-thumbnail :global(.instagram-media) :global(div[style*="padding"]){display:none!important}.artist-card .card-content .portfolio-thumbnails .thumbnail.instagram-thumbnail :global(.instagram-media) :global(img){border-radius:6px}.artist-card .card-content .portfolio-thumbnails .thumbnail.portfolio-fallback{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);justify-content:center;align-items:center;display:flex;position:relative}.artist-card .card-content .portfolio-thumbnails .thumbnail.portfolio-fallback .fallback-content{text-align:center;padding:.5rem}.artist-card .card-content .portfolio-thumbnails .thumbnail.portfolio-fallback .fallback-content .fallback-icon{opacity:.9;letter-spacing:.05em;margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.artist-card .card-content .portfolio-thumbnails .thumbnail.portfolio-fallback .fallback-content .fallback-text{opacity:.9;text-transform:uppercase;letter-spacing:.025em;font-size:.65rem;font-weight:600}.artist-card .card-content .pricing-section{margin-bottom:1.5rem}.artist-card .card-content .pricing-section .pricing-label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:600}.artist-card .card-content .pricing-section .pricing-info .price-range{color:#059669;text-align:center;margin-bottom:.5rem;font-size:1rem;font-weight:600}.artist-card .card-content .pricing-section .pricing-info .pricing-progress{background:#f3f4f6;border-radius:4px;height:8px;overflow:hidden}.artist-card .card-content .pricing-section .pricing-info .pricing-progress .pricing-progress-bar{background:linear-gradient(90deg,#10b981,#059669);border-radius:4px;height:100%;transition:width .3s ease-in-out}.artist-card .card-content .artist-details{margin-bottom:2rem}.artist-card .card-content .artist-details .detail-row{align-items:center;margin-bottom:.75rem;font-size:.95rem;display:flex}.artist-card .card-content .artist-details .detail-row:last-child{margin-bottom:0}.artist-card .card-content .artist-details .detail-row .detail-icon{color:#6b7280;flex-shrink:0;width:20px;height:20px;margin-right:.75rem}.artist-card .card-content .artist-details .detail-row .detail-label{color:#374151;min-width:4rem;margin-right:.5rem;font-weight:600}.artist-card .card-content .artist-details .detail-row .detail-value{color:#6b7280;flex:1}.artist-card .card-content .artist-stats{background:#f9fafb;border-radius:8px;gap:1rem;margin-bottom:2rem;padding:1rem;display:grid}.artist-card .card-content .artist-stats .stat{text-align:center}.artist-card .card-content .artist-stats .stat .stat-number{color:#7c3aed;margin-bottom:.25rem;font-size:1.5rem;font-weight:700;display:block}.artist-card .card-content .artist-stats .stat .stat-label{color:#6b7280;text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;font-weight:500}.artist-card .card-content .card-actions{gap:1rem;display:flex}.artist-card .card-content .card-actions .btn{text-align:center;cursor:pointer;border:2px solid #0000;border-radius:8px;flex:1;padding:.875rem 1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out}.artist-card .card-content .card-actions .btn.btn-primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#5b21b6)}.artist-card .card-content .card-actions .btn.btn-primary:hover{background:linear-gradient(135deg,#6d28d9,#4c1d95);transform:translateY(-1px);box-shadow:0 4px 8px #7c3aed4d}.artist-card .card-content .card-actions .btn.btn-secondary{color:#7c3aed;background:#fff;border-color:#7c3aed}.artist-card .card-content .card-actions .btn.btn-secondary:hover{color:#fff;background:#7c3aed;transform:translateY(-1px);box-shadow:0 4px 8px #7c3aed33}.no-matches{text-align:center;color:#6b7280;padding:4rem 2rem}.no-matches .no-matches-icon{color:#d1d5db;width:64px;height:64px;margin:0 auto 1.5rem}.no-matches h3{color:#374151;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.no-matches p{margin-bottom:2rem;font-size:1.125rem}.btn-outlined{color:#7c3aed;background:#fff;border:2px solid #7c3aed;border-radius:8px;padding:.875rem 2rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out;display:inline-block}.btn-outlined:hover{color:#fff;background:#7c3aed;transform:translateY(-1px);box-shadow:0 4px 8px #7c3aed33}.loading-skeleton .skeleton-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px #0000001a}.loading-skeleton .skeleton-card .skeleton-line{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%) 0 0/200% 100%;border-radius:4px;height:1rem;margin-bottom:1rem;animation:1.5s infinite skeleton-loading}.loading-skeleton .skeleton-card .skeleton-line.short{width:60%}.loading-skeleton .skeleton-card .skeleton-line.medium{width:80%}.loading-skeleton .skeleton-card .skeleton-line.long{width:100%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){.match-results-container{padding:1rem}.match-results-container .page-header h1{font-size:2rem}.match-results-container .artists-grid{grid-template-columns:1fr;gap:1.5rem}.artist-card .card-content{padding:1.5rem}.artist-card .card-content .card-header .artist-info{gap:.75rem}.artist-card .card-content .card-header .artist-info .artist-avatar,.artist-card .card-content .card-header .artist-info .artist-avatar-placeholder{width:50px;height:50px;font-size:1.25rem}.artist-card .card-content .card-header .artist-info .artist-header-text .artist-name{font-size:1.25rem}.artist-card .card-content .card-header .match-badge{margin-left:.5rem;padding:.375rem .75rem;font-size:.75rem}.artist-card .card-content .portfolio-thumbnails{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.artist-card .card-content .portfolio-thumbnails .thumbnail{flex:calc(50% - .375rem);min-height:160px}.artist-card .card-content .styles-section{margin-bottom:1rem}.artist-card .card-content .styles-section .style-chips .style-chip{padding:.25rem .5rem;font-size:.7rem}.artist-card .card-content .pricing-section{margin-bottom:1rem}.artist-card .card-content .card-actions{flex-direction:column;gap:.75rem}.artist-card .card-content .card-actions .btn{padding:1rem}.artist-card .card-content .artist-stats{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.artist-card .card-content .artist-stats .stat:last-child{grid-column:span 2}}.match-results-gallery-footer{text-align:center;border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.match-results-refine-button{color:#fff;background:#7c3aed;border-radius:8px;padding:.75rem 2rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-block}.match-results-refine-button:hover{background:#6d28d9}.match-results-empty-state{text-align:center;color:#6b7280;padding:3rem 2rem}.match-results-empty-state h3{color:#374151;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.match-results-empty-state p{margin-bottom:2rem;font-size:1rem}.match-results-empty-state .btn-primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#5b21b6);border-radius:8px;padding:.875rem 2rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out;display:inline-block}.match-results-empty-state .btn-primary:hover{background:linear-gradient(135deg,#6d28d9,#4c1d95);transform:translateY(-1px);box-shadow:0 4px 8px #7c3aed4d}.match-results-error-state{text-align:center;color:#6b7280;padding:3rem 2rem}.match-results-error-state h3{color:#dc2626;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.match-results-error-state p{margin-bottom:2rem;font-size:1rem}.gallery-footer{text-align:center;border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.refine-button{color:#fff;background:#7c3aed;border-radius:8px;padding:.75rem 2rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-block}.refine-button:hover{background:#6d28d9}.match-results-artist-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.match-results-artist-modal{background:#fff;border-radius:12px;max-width:500px;max-height:90vh;margin:1rem;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.match-results-modal-close{color:#fff;cursor:pointer;z-index:1001;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;transition:background-color .2s;display:flex;position:absolute;top:1rem;right:1rem}.match-results-modal-close:hover{background:#000000b3}.match-results-modal-content{padding:0}.match-results-modal-header{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;position:relative}.match-results-modal-artist-info{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.match-results-modal-avatar-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;font-weight:700;display:flex}.match-results-modal-avatar-container img{object-fit:cover;border-radius:50%;width:100%;height:100%}.match-results-modal-artist-details{flex:1}.match-results-modal-artist-details h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.match-results-modal-artist-details p{opacity:.9;margin:0;font-size:.95rem}.match-results-modal-match-score{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;padding:.5rem 1rem}.match-results-modal-match-score .score{margin:0;font-size:1.25rem;font-weight:700}.match-results-modal-match-score .label{opacity:.8;margin:0;font-size:.7rem}.match-results-modal-specialties .specialty-label{opacity:.8;margin-bottom:.5rem;font-size:.8rem}.match-results-modal-specialties .specialty-chips{flex-wrap:wrap;gap:.5rem;display:flex}.match-results-modal-specialties .specialty-chips .specialty-chip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:15px;padding:.25rem .75rem;font-size:.8rem}.match-results-modal-specialties .specialty-chips .specialty-more{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:15px;padding:.25rem .75rem;font-size:.8rem}.match-results-modal-body{padding:1.5rem}.match-results-modal-stats-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.match-results-modal-stats-grid .stat-item{text-align:center;background:#f8fafc;border-radius:12px;padding:1rem}.match-results-modal-stats-grid .stat-item .stat-value{color:#667eea;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.match-results-modal-stats-grid .stat-item .stat-label{color:#6b7280;font-size:.8rem}.match-results-modal-pricing{color:#fff;background:linear-gradient(135deg,#f59e0b,#f97316);border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.match-results-modal-pricing .pricing-container{justify-content:space-between;align-items:center;display:flex}.match-results-modal-pricing .pricing-container .pricing-info .pricing-label{opacity:.9;margin-bottom:.25rem;font-size:.8rem}.match-results-modal-pricing .pricing-container .pricing-info .pricing-value{font-size:1.25rem;font-weight:700}.match-results-modal-pricing .pricing-container .pricing-icon{opacity:.7;font-size:2rem}.match-results-modal-match-reason{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.match-results-modal-match-reason .reason-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.match-results-modal-match-reason .reason-header .reason-icon{font-size:1.25rem}.match-results-modal-match-reason .reason-header .reason-title{color:#065f46;font-weight:600}.match-results-modal-match-reason .reason-text{color:#047857;font-size:.9rem;line-height:1.4}.match-results-modal-actions{padding:0 1.5rem 1.5rem}.match-results-modal-actions .actions-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.match-results-modal-actions .actions-grid .action-button{text-align:center;border-radius:10px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:all .2s;display:block}.match-results-modal-actions .actions-grid .action-button.match-results-view-profile-btn{color:#fff;background:#667eea}.match-results-modal-actions .actions-grid .action-button.match-results-view-profile-btn:hover{background:#5a5fd7}.match-results-modal-actions .actions-grid .action-button.match-results-book-now-btn{color:#fff;background:#f59e0b}.match-results-modal-actions .actions-grid .action-button.match-results-book-now-btn:hover{background:#d97706}.artist-card-modal{padding:2rem}.artist-card-modal .artist-header{align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.artist-card-modal .artist-header .artist-avatar{color:#fff;background:#7c3aed;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;font-weight:700;display:flex}.artist-card-modal .artist-header .artist-basic-info{flex:1}.artist-card-modal .artist-header .artist-basic-info h3{color:#1f2937;margin:0 0 .25rem;font-size:1.5rem}.artist-card-modal .artist-header .artist-basic-info .location{color:#6b7280;margin:0 0 .25rem;font-size:.875rem}.artist-card-modal .artist-header .artist-basic-info .shop-name{color:#9ca3af;margin:0;font-size:.75rem}.artist-card-modal .artist-header .match-percentage{color:#fff;background:#10b981;border-radius:8px;padding:.5rem 1rem;font-size:1rem;font-weight:700}.artist-card-modal .artist-styles{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.artist-card-modal .artist-styles .style-chip{color:#6b7280;background:#f3f4f6;border-radius:1rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500}.artist-card-modal .modal-portfolio{margin-bottom:1.5rem}.artist-card-modal .modal-portfolio h4{color:#1f2937;margin:0 0 1rem;font-size:1.125rem}.artist-card-modal .modal-portfolio .portfolio-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.artist-card-modal .modal-portfolio .portfolio-grid .portfolio-placeholder{aspect-ratio:1;color:#9ca3af;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;justify-content:center;align-items:center;font-size:.875rem;display:flex}.artist-card-modal .pricing-info{margin-bottom:1.5rem}.artist-card-modal .pricing-info .pricing-range{background:#f9fafb;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.artist-card-modal .pricing-info .pricing-range .label{color:#374151;font-weight:600}.artist-card-modal .pricing-info .pricing-range .price-value{color:#10b981;font-size:1.125rem;font-weight:700}.artist-card-modal .artist-stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.artist-card-modal .artist-stats .stat{text-align:center;background:#f9fafb;border-radius:8px;padding:1rem}.artist-card-modal .artist-stats .stat .stat-value{color:#7c3aed;margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.artist-card-modal .artist-stats .stat .stat-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.artist-card-modal .modal-actions{gap:1rem;display:flex}.artist-card-modal .modal-actions .action-button{text-align:center;border-radius:8px;flex:1;padding:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:block}.artist-card-modal .modal-actions .action-button.profile-button{color:#374151;background:#f3f4f6}.artist-card-modal .modal-actions .action-button.profile-button:hover{background:#e5e7eb}.artist-card-modal .modal-actions .action-button.book-button{color:#fff;background:#7c3aed}.artist-card-modal .modal-actions .action-button.book-button:hover{background:#6d28d9}@media (max-width:768px){.artist-card-modal{padding:1.5rem}.artist-card-modal .artist-header{text-align:center;flex-direction:column;align-items:center}.artist-card-modal .artist-header .artist-basic-info{text-align:center}.artist-card-modal .artist-stats{grid-template-columns:1fr}.artist-card-modal .modal-actions{flex-direction:column}}.quiz-container{max-width:800px;margin:0 auto;padding:2rem}.quiz-container h1{text-align:center;margin-bottom:2rem;font-size:1.75rem}@media (max-width:640px){.quiz-container{padding:1rem}.quiz-container h1{margin-bottom:1.5rem;font-size:1.5rem}}.quiz-location-select-wrapper{margin-bottom:1.5rem}.quiz-location-select{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:.625rem;font-size:.875rem}.quiz-location-select:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed1a}.quiz-multi-select-wrapper{margin-bottom:1.5rem}.quiz-search-input{background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:100%;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.875rem;transition:all .2s}.quiz-search-input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed1a}.quiz-search-input::placeholder{color:#94a3b8}.quiz-chip-grid{background:#fff;border:1px solid #e2e8f0;border-radius:4px;flex-wrap:wrap;gap:.5rem;max-height:300px;padding:.5rem;display:flex;overflow-y:auto}.quiz-selection-count{color:#7c3aed;text-align:center;margin-top:.5rem;font-size:.875rem;font-weight:600}.quiz-location-chip{color:#475569;cursor:pointer;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.quiz-location-chip:hover{border-color:#7c3aed;transform:translateY(-1px);box-shadow:0 2px 4px #7c3aed1a}.quiz-location-chip.quiz-location-chip-selected{color:#fff;background:#7c3aed;border-color:#7c3aed}.quiz-form-wrapper{background:#f9f9f9;border-radius:8px;padding:2rem}@media (max-width:768px){.quiz-form-wrapper{padding:1rem 1rem 100px}}.quiz-question{margin-bottom:1.5rem}.quiz-question label{margin-bottom:.5rem;font-weight:700;display:block}.quiz-style-grid{background:#fff;border:1px solid #e5e7eb;border-radius:6px;grid-template-columns:repeat(2,1fr);gap:.5rem;max-height:350px;padding:.5rem;display:grid;overflow-y:auto}.quiz-style-grid::-webkit-scrollbar{width:8px}.quiz-style-grid::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.quiz-style-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.quiz-style-grid::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:640px){.quiz-style-grid{grid-template-columns:1fr;max-height:300px}}.quiz-style-option{cursor:pointer;border:1px solid #e5e7eb;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem;transition:all .2s;display:flex}.quiz-style-option:hover{background:#f3f4f6}.quiz-style-option.quiz-selected{color:#fff!important;background:#7c3aed!important;border-color:#7c3aed!important}.quiz-style-option.quiz-selected:hover{background:#6d28d9!important}.quiz-form-input{border:1px solid #d1d5db;border-radius:4px;width:100%;padding:.5rem;font-size:1rem}.quiz-form-input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 1px #7c3aed}.quiz-budget-inputs{align-items:center;gap:1rem;display:flex}.quiz-budget-inputs span{flex-shrink:0}.quiz-budget-input{border:1px solid #d1d5db;border-radius:4px;flex:1;padding:.5rem;font-size:1rem}.quiz-budget-input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 1px #7c3aed}.quiz-range-slider{appearance:none;background:#d1d5db;border-radius:4px;outline:none;width:100%;height:8px}.quiz-range-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#7c3aed;border-radius:50%;width:20px;height:20px}.quiz-range-slider::-moz-range-thumb{cursor:pointer;background:#7c3aed;border:none;border-radius:50%;width:20px;height:20px}.quiz-range-value{text-align:center;color:#7c3aed;margin-top:.5rem;font-weight:700}.quiz-vibe-options{flex-direction:column;gap:.5rem;display:flex}.quiz-vibe-options label{cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem;font-weight:400;transition:background-color .2s;display:flex}.quiz-vibe-options label:hover{background:#f3f4f6}.quiz-vibe-options input[type=radio]{accent-color:#7c3aed}.quiz-location-section{background:#f3f4f6;border-radius:6px;margin-bottom:2rem;padding:1.5rem}.quiz-location-section h3{color:#1f2937;margin:0 0 .5rem;font-size:1.125rem}@media (max-width:640px){.quiz-location-section{padding:1rem}.quiz-location-section h3{font-size:1rem}}.quiz-location-hint{color:#6b7280;margin:0 0 1rem;font-size:.875rem;font-style:italic}.quiz-location-filters{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (max-width:640px){.quiz-location-filters{grid-template-columns:1fr}}.quiz-location-field{margin-bottom:0}.quiz-location-field label{color:#374151;font-weight:600}.quiz-styles-info{text-align:center;color:#5b21b6;background:#e0e7ff;border-radius:4px;margin-bottom:1rem;padding:.5rem;font-weight:600}.quiz-no-styles{text-align:center;color:#6b7280;background:#f9fafb;border-radius:6px;padding:2rem;font-style:italic}.quiz-style-name{flex:1}.quiz-style-count{color:#6b7280;margin-left:auto;font-size:.875rem}.quiz-selected .quiz-style-count{color:#e0e7ff}.quiz-submit-section{text-align:center;margin-top:2rem}@media (max-width:768px){.quiz-submit-section{z-index:10;background:#fff;border-top:1px solid #e5e7eb;margin:0 -1rem -1rem;padding:1rem;position:sticky;bottom:0;left:0;right:0;box-shadow:0 -4px 6px #0000000d}}.quiz-submit-hint{color:#6b7280;margin-bottom:1rem;font-size:.875rem}@media (max-width:768px){.quiz-submit-hint{margin-bottom:.75rem;font-size:.8125rem}}.quiz-btn-primary{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:6px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .2s}.quiz-btn-primary:hover:not(:disabled){background:#6d28d9;transform:translateY(-1px);box-shadow:0 4px 8px #7c3aed4d}.quiz-btn-primary:active:not(:disabled){transform:translateY(0)}.quiz-btn-primary:disabled{color:#9ca3af;cursor:not-allowed;background:#d1d5db}@media (max-width:768px){.quiz-btn-primary{width:100%;padding:1rem 2rem;font-size:1.0625rem}}.styles-showcase-container{background:#f8fafc;min-height:100vh;padding:2rem 1rem}.styles-page-header{text-align:center;margin-bottom:3rem}.styles-page-header h1{color:#1a202c;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 1rem;font-size:2.75rem;font-weight:700}.styles-page-header .styles-subtitle{color:#4a5568;margin:0;font-size:1.2rem;line-height:1.6}.styles-grid-container{max-width:1400px;margin:0 auto}.styles-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;margin-bottom:4rem;display:grid}.styles-style-card{background:#fff;border-radius:16px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000014}.styles-style-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.styles-style-card-header{justify-content:space-between;align-items:flex-start;padding:1.5rem 1.5rem 1rem;display:flex}.styles-style-card-header .styles-style-name{color:#1a202c;flex-grow:1;margin:0;font-size:1.5rem;font-weight:700}.styles-style-card-header .styles-artist-count-badge{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;margin-left:1rem;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.styles-style-samples{padding:0 1.5rem 1rem}.styles-style-samples .styles-sample-images{gap:.5rem;margin-bottom:.5rem;display:flex}.styles-style-samples .styles-sample-images .styles-sample-image{aspect-ratio:1;background:#f7fafc;border-radius:8px;flex:1;overflow:hidden}.styles-style-samples .styles-sample-images .styles-sample-image img{object-fit:cover;width:100%;height:100%}.styles-style-samples .styles-more-samples{color:#6b7280;text-align:center;font-size:.8rem;font-style:italic}.styles-style-placeholder{text-align:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);padding:2rem 1.5rem}.styles-style-placeholder .styles-placeholder-icon{opacity:.7;margin-bottom:1rem;font-size:3rem}.styles-style-placeholder .styles-placeholder-text{color:#4a5568;font-size:1.1rem;font-weight:600}.styles-style-description{color:#4a5568;padding:0 1.5rem 1.5rem;font-size:.95rem;line-height:1.6}.styles-style-actions{background:#f8fafc;border-top:1px solid #e2e8f0;gap:1rem;padding:1rem 1.5rem 1.5rem;display:flex}.styles-style-actions .styles-btn-primary{color:#fff;text-align:center;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;flex:1;padding:.75rem 1rem;font-weight:600;text-decoration:none;transition:all .2s}.styles-style-actions .styles-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.styles-style-actions .styles-btn-outlined{color:#667eea;text-align:center;cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:8px;flex:1;padding:.75rem 1rem;font-weight:600;text-decoration:none;transition:all .2s}.styles-style-actions .styles-btn-outlined:hover{color:#fff;background:#667eea}.styles-explore-section{text-align:center;background:#fff;border-radius:16px;padding:3rem 2rem;box-shadow:0 4px 16px #00000014}.styles-explore-section h2{color:#1a202c;margin:0 0 1rem;font-size:2rem;font-weight:700}.styles-explore-section p{color:#4a5568;max-width:600px;margin:0 auto 2rem;font-size:1.1rem;line-height:1.6}.styles-explore-section .styles-explore-buttons{justify-content:center;gap:1rem;max-width:400px;margin:0 auto;display:flex}.styles-explore-section .styles-explore-buttons .styles-btn-primary{color:#fff;cursor:pointer;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;flex:1;padding:1rem 1.5rem;font-weight:600;text-decoration:none;transition:all .2s}.styles-explore-section .styles-explore-buttons .styles-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea4d}.styles-explore-section .styles-explore-buttons .styles-btn-outlined{color:#667eea;cursor:pointer;text-align:center;background:#fff;border:2px solid #667eea;border-radius:8px;flex:1;padding:1rem 1.5rem;font-weight:600;text-decoration:none;transition:all .2s}.styles-explore-section .styles-explore-buttons .styles-btn-outlined:hover{color:#fff;background:#667eea}.styles-no-styles{text-align:center;background:#fff;border-radius:16px;max-width:600px;margin:2rem auto;padding:4rem 2rem;box-shadow:0 4px 16px #00000014}.styles-no-styles h3{color:#1a202c;margin:0 0 1rem;font-size:1.5rem}.styles-no-styles p{color:#4a5568;margin:0 0 2rem;line-height:1.6}.styles-no-styles .styles-btn-primary,.styles-no-styles .styles-btn-outlined{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.styles-no-styles .styles-btn-primary.styles-btn-primary,.styles-no-styles .styles-btn-outlined.styles-btn-primary{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.styles-no-styles .styles-btn-primary.styles-btn-primary:hover,.styles-no-styles .styles-btn-outlined.styles-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.styles-no-styles .styles-btn-primary.styles-btn-outlined,.styles-no-styles .styles-btn-outlined.styles-btn-outlined{color:#667eea;background:#fff;border:2px solid #667eea}.styles-no-styles .styles-btn-primary.styles-btn-outlined:hover,.styles-no-styles .styles-btn-outlined.styles-btn-outlined:hover{color:#fff;background:#667eea}@media (max-width:768px){.styles-showcase-container{padding:1rem .5rem}.styles-page-header{margin-bottom:2rem}.styles-page-header h1{font-size:2rem}.styles-page-header .styles-subtitle{font-size:1rem}.styles-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.styles-explore-section{padding:2rem 1rem}.styles-explore-section h2{font-size:1.5rem}.styles-explore-section .styles-explore-buttons{flex-direction:column;max-width:300px}.styles-style-actions{flex-direction:column}.styles-style-actions .styles-btn-primary,.styles-style-actions .styles-btn-outlined{text-align:center}}.artist-dashboard-container{background:#f8fafc;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem 1rem}.legend-color.booking-pending{background-color:#fbbf24}.legend-color.booking-accepted{background-color:#34d399}.booking-item{cursor:pointer;background:#fff;border:2px solid #f3f4f6;border-radius:12px;margin-bottom:1rem;padding:1rem;transition:all .2s;position:relative;box-shadow:0 2px 4px #0000000d}.booking-item:last-child{margin-bottom:0}.booking-item:hover{border-color:#fbbf24;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.booking-item.booking-pending{background:linear-gradient(135deg,#fffbeb 0%,#fefce8 100%);border-color:#fbbf24}.booking-item.booking-pending .booking-status{color:#92400e;text-transform:uppercase;letter-spacing:.05em;background:#fef3c7;border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.booking-item.booking-pending:before{content:"";background:#fbbf24;border-radius:12px 0 0 12px;width:4px;position:absolute;top:0;bottom:0;left:0}.booking-item.booking-accepted{background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);border-color:#34d399}.booking-item.booking-accepted .booking-status{color:#065f46;text-transform:uppercase;letter-spacing:.05em;background:#d1fae5;border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.booking-item.booking-accepted:before{content:"";background:#34d399;border-radius:12px 0 0 12px;width:4px;position:absolute;top:0;bottom:0;left:0}.booking-item .booking-client{color:#1f2937;margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.booking-item .booking-date{color:#6b7280;margin-bottom:.25rem;font-size:.9rem}.booking-item .booking-time{color:#374151;margin-bottom:.25rem;font-weight:500}.booking-item .booking-tattoo{color:#6b7280;margin-bottom:.25rem;font-size:.85rem;font-style:italic}.booking-item .booking-placement{color:#6b7280;font-size:.8rem;font-weight:500}.booking-item .booking-status{font-size:.85rem;font-weight:600}.sidebar-section{margin-bottom:1.5rem}.sidebar-section:last-child{margin-bottom:0}.business-hours-display .hours-list .hour-item{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.875rem;display:flex}.business-hours-display .hours-list .hour-item:last-child{border-bottom:none}.business-hours-display .hours-list .hour-item .day{color:#374151;min-width:80px;font-weight:600}.business-hours-display .hours-list .hour-item .time{color:#10b981;font-size:.875rem;font-weight:500}.business-hours-display .hours-list .hour-item.closed .time{color:#6b7280;font-style:italic}.business-hours-display .no-hours{text-align:center;color:#6b7280;padding:1rem;font-size:.875rem}.business-hours-display .no-hours a{color:#667eea;text-decoration:underline}.business-hours-display .no-hours a:hover{color:#5a6fd8}.booking-details{background:#f8fafc;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem 1rem}.booking-details-header{margin-bottom:2rem}.booking-details-header .back-button{color:#667eea;margin-bottom:1rem;font-weight:600;text-decoration:none;display:inline-block}.booking-details-header .back-button:hover{color:#5a6fd8}.booking-details-content{grid-template-columns:1fr;gap:1.5rem;display:grid}.booking-overview-card,.tattoo-details-card,.client-message-card,.artist-response-card,.booking-actions-card,.booking-timeline-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.booking-overview-card h2,.tattoo-details-card h2,.client-message-card h2,.artist-response-card h2,.booking-actions-card h2,.booking-timeline-card h2{color:#1f2937;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.card-header h2{margin:0}.booking-status-badge{border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.booking-status-badge.status-accepted{color:#065f46;background-color:#d1fae5;border:1px solid #10b981}.booking-status-badge.status-pending{color:#92400e;background-color:#fef3c7;border:1px solid #f59e0b}.booking-overview-grid,.tattoo-details-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.overview-item,.detail-item{flex-direction:column;gap:.25rem;display:flex}.overview-item label,.detail-item label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.overview-item .value,.detail-item .value{color:#1f2937;font-weight:500}.overview-item .description,.detail-item .description{color:#374151;margin:0;line-height:1.5}.message-content,.response-content{color:#374151;background:#f9fafb;border-left:4px solid #e5e7eb;border-radius:8px;padding:1rem;line-height:1.6}.message-content .estimated-price,.response-content .estimated-price{color:#059669;border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.timeline{padding-left:2rem;position:relative}.timeline:before{content:"";background:#e5e7eb;width:2px;position:absolute;top:0;bottom:0;left:.75rem}.timeline-item{margin-bottom:1.5rem;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-marker{background:#6b7280;border:2px solid #fff;border-radius:50%;width:.75rem;height:.75rem;position:absolute;top:.25rem;left:-2rem;box-shadow:0 0 0 2px #e5e7eb}.timeline-marker.accepted{background:#10b981;box-shadow:0 0 0 2px #10b981}.timeline-content .timeline-title{color:#1f2937;margin-bottom:.25rem;font-weight:600}.timeline-content .timeline-date{color:#6b7280;font-size:.875rem}.booking-not-found{text-align:center;background:#fff;border-radius:16px;padding:3rem}.booking-not-found h2{color:#ef4444;margin-bottom:1rem}.booking-not-found p{color:#6b7280;margin-bottom:2rem}.time-block.more-indicator{color:#fff;text-align:center;cursor:pointer;background:#667eea;border:1px solid #667eea;border-radius:4px;padding:2px 6px;font-size:.75rem;transition:all .2s}.time-block.more-indicator:hover{background:#5a6fd8;border-color:#5a6fd8;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.time-block.more-indicator .more-count{font-size:.7rem;font-weight:600}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.day-events-modal{background:#fff;border-radius:12px;flex-direction:column;max-width:548px;max-height:70vh;display:flex;box-shadow:0 20px 40px #00000026;width:100%!important}.day-events-modal .modal-header{justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.day-events-modal .modal-header h3{color:#1a202c;margin:0;font-size:1.25rem;font-weight:600}.day-events-modal .modal-header .modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.day-events-modal .modal-header .modal-close:hover{color:#374151;background:#f3f4f6}.day-events-modal .modal-content{flex:1;width:500px;padding:1.5rem;overflow-y:auto}.day-events-modal .modal-content .events-list{flex-direction:column;gap:.75rem;max-height:400px;display:flex;overflow-y:auto}.day-events-modal .modal-content .events-list .event-item{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;padding:.75rem;transition:all .2s;display:flex}.day-events-modal .modal-content .events-list .event-item.clickable{cursor:pointer}.day-events-modal .modal-content .events-list .event-item.clickable:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001f}.day-events-modal .modal-content .events-list .event-item.available{background:#f0f9ff;border-color:#0ea5e9}.day-events-modal .modal-content .events-list .event-item.blocked{background:#fef2f2;border-color:#ef4444}.day-events-modal .modal-content .events-list .event-item.booking-pending{background:#fffbeb;border-color:#f59e0b}.day-events-modal .modal-content .events-list .event-item.booking-accepted{background:#f0fdf4;border-color:#10b981}.day-events-modal .modal-content .events-list .event-item .event-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.day-events-modal .modal-content .events-list .event-item .event-name{color:#374151;font-weight:600}.day-events-modal .modal-content .events-list .event-item .event-time{color:#6b7280;font-size:.875rem}.day-events-modal .modal-content .events-list .event-item .event-tattoo{color:#6b7280;background:#0000000d;border-radius:4px;margin-top:.25rem;padding:.375rem .5rem;font-size:.8rem;font-style:italic}.day-events-modal .modal-content .event-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;transition:all .2s}.day-events-modal .modal-content .event-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.day-events-modal .modal-content .event-item .event-name{color:#1a202c;margin-bottom:.25rem;font-weight:600}.day-events-modal .modal-content .event-item .event-time{color:#6b7280;font-size:.875rem}.day-events-modal .modal-content .event-item.blocked{background:#fef2f2;border-color:#fca5a5}.day-events-modal .modal-content .event-item.blocked .event-name{color:#dc2626}.day-events-modal .modal-content .event-item.booking-pending{background:#fffbeb;border-color:#fbbf24}.day-events-modal .modal-content .event-item.booking-pending .event-name{color:#92400e}.day-events-modal .modal-content .event-item.booking-accepted{background:#f0fdf4;border-color:#34d399}.day-events-modal .modal-content .event-item.booking-accepted .event-name{color:#065f46}.dashboard-header{margin-bottom:2rem}.dashboard-header .back-button{color:#667eea;margin-bottom:1rem;font-weight:600;text-decoration:none;display:inline-block}.dashboard-header .back-button:hover{color:#5a6fd8}.dashboard-header h1{color:#1a202c;margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.dashboard-header .dashboard-subtitle{color:#6b7280;margin:0;font-size:1.1rem}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.dashboard-tile{color:inherit;background:#fff;border-left:4px solid #0000;border-radius:16px;padding:1.5rem;text-decoration:none;transition:all .2s;box-shadow:0 4px 16px #00000014}.dashboard-tile:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.dashboard-tile.tile-purple{border-left-color:#667eea}.dashboard-tile.tile-purple .tile-icon{background:#667eea1a}.dashboard-tile.tile-orange{border-left-color:#f97316}.dashboard-tile.tile-orange .tile-icon{background:#f973161a}.dashboard-tile.tile-blue{border-left-color:#3b82f6}.dashboard-tile.tile-blue .tile-icon{background:#3b82f61a}.dashboard-tile.tile-green{border-left-color:#10b981}.dashboard-tile.tile-green .tile-icon{background:#10b9811a}.dashboard-tile .tile-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.dashboard-tile .tile-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.dashboard-tile .tile-title{color:#374151;font-size:1rem;font-weight:600}.dashboard-tile .tile-value{color:#1a202c;margin-bottom:.25rem;font-size:2rem;font-weight:700}.dashboard-tile .tile-subtitle{color:#6b7280;font-size:.9rem}.recent-activity{margin-bottom:2rem}.recent-activity h2{color:#1a202c;margin:0 0 1rem;font-size:1.5rem;font-weight:700}.recent-activity .activity-list{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #00000014}.recent-activity .activity-item{border-bottom:1px solid #f3f4f6;gap:1rem;padding:1.5rem;display:flex}.recent-activity .activity-item:last-child{border-bottom:none}.recent-activity .activity-icon{background:#667eea1a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.recent-activity .activity-content{flex:1}.recent-activity .activity-title{color:#1a202c;margin-bottom:.25rem;font-weight:600}.recent-activity .activity-subtitle{color:#6b7280;margin-bottom:.25rem;font-size:.9rem}.recent-activity .activity-time{color:#9ca3af;font-size:.8rem}.recent-activity .empty-state{text-align:center;color:#6b7280;padding:2rem}.quick-actions h2{color:#1a202c;margin:0 0 1rem;font-size:1.5rem;font-weight:700}.quick-actions .actions-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.quick-actions .action-button{text-align:center;color:inherit;background:#fff;border-radius:12px;padding:1.5rem;text-decoration:none;transition:all .2s;box-shadow:0 2px 8px #0000000f}.quick-actions .action-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.quick-actions .action-icon{margin-bottom:.5rem;font-size:2rem}.quick-actions .action-text{color:#374151;font-weight:600}.calendar-container{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #00000014}.calendar-container .calendar-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.calendar-container .calendar-header h2{color:#1a202c;margin:0;font-size:1.5rem;font-weight:700}.calendar-container .calendar-header .calendar-controls{gap:.5rem;display:flex}.requests-tabs{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #00000014}.requests-tabs .tab-buttons{background:#f9fafb;border-bottom:1px solid #f3f4f6;display:flex}.requests-tabs .tab-button{color:#6b7280;cursor:pointer;background:0 0;border:none;flex:1;padding:1rem 1.5rem;font-weight:600;transition:all .2s}.requests-tabs .tab-button.active{color:#667eea;background:#fff;border-bottom:2px solid #667eea}.requests-tabs .tab-button:hover:not(.active){color:#374151;background:#f3f4f6}.requests-tabs .tab-content{padding:2rem}.requests-list .request-item{border:1px solid #f3f4f6;border-radius:12px;margin-bottom:1rem;padding:1.5rem}.requests-list .request-item:last-child{margin-bottom:0}.requests-list .request-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.requests-list .client-info{align-items:center;gap:1rem;display:flex}.requests-list .client-avatar{color:#fff;background:#667eea;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;font-weight:700;display:flex}.requests-list .client-details h3{color:#1a202c;margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.requests-list .client-details .request-type{color:#667eea;background:#667eea1a;border-radius:6px;margin-right:.5rem;padding:.25rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.requests-list .client-details .request-time{color:#9ca3af;font-size:.8rem}.requests-list .request-status{border-radius:20px;padding:.5rem 1rem;font-size:.8rem;font-weight:600}.requests-list .request-status.pending{color:#f97316;background:#f973161a}.requests-list .request-details{margin-bottom:1.5rem}.requests-list .request-details p{color:#374151;margin:.5rem 0}.requests-list .request-details p strong{color:#1a202c}.requests-list .request-actions{flex-wrap:wrap;gap:.75rem;display:flex}.settings-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.settings-grid{grid-template-columns:repeat(2,1fr)}}.settings-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #00000014}.settings-card h2{color:#1a202c;margin:0 0 1.5rem;font-size:1.25rem;font-weight:700}.settings-card .setting-group{margin-bottom:1.5rem}.settings-card .setting-group:last-child{margin-bottom:0}.settings-card .setting-label{color:#374151;cursor:pointer;align-items:center;gap:.75rem;margin-bottom:.5rem;font-weight:600;display:flex}.settings-card .setting-description{color:#6b7280;margin:0 0 0 2.25rem;font-size:.9rem}.settings-card .setting-actions{margin-top:1.5rem}.settings-card .price-input{align-items:center;gap:.5rem;display:flex}.settings-card .price-input .currency{color:#374151;font-weight:700}.hours-grid .day-setting{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.hours-grid .day-setting .day-label{color:#374151;min-width:80px;font-weight:600}.hours-grid .day-setting .time-inputs{flex:1;align-items:center;gap:.5rem;display:flex}.hours-grid .day-setting .time-inputs span{color:#6b7280;font-weight:600}.hours-grid .day-setting .time-inputs .closed-toggle{color:#374151;align-items:center;gap:.25rem;margin-left:.5rem;font-size:.875rem;display:flex}.hours-grid .day-setting .time-inputs .closed-toggle span{color:#6b7280;font-weight:500}.coming-soon-card{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;margin:2rem 0;padding:2rem}.coming-soon-card .coming-soon-icon{margin-bottom:1rem;font-size:3rem}.coming-soon-card h3{margin:0 0 1rem;font-size:1.5rem;font-weight:700}.coming-soon-card p{opacity:.9;margin-bottom:1.5rem;font-size:1.1rem}.coming-soon-card .feature-list{text-align:left;max-width:400px;margin:0 auto 2rem;padding:0;list-style:none}.coming-soon-card .feature-list li{padding:.5rem 0 .5rem 1.5rem;position:relative}.coming-soon-card .feature-list li:before{content:"✓";color:#fffc;font-weight:700;position:absolute;left:0}.coming-soon-card .placeholder-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.error-state{text-align:center;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #00000014}.error-state h3{color:#dc2626;margin-bottom:.5rem}.error-state p{color:#6b7280;margin:0}.success-message{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;margin-top:.5rem;padding:.75rem;font-size:.9rem;font-weight:500}.error-message{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;margin-top:.5rem;padding:.75rem;font-size:.9rem;font-weight:500}.btn{text-align:center;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn.btn-primary{color:#fff;background:#667eea}.btn.btn-primary:hover{background:#5a6fd8}.btn.btn-secondary{color:#374151;background:#f3f4f6}.btn.btn-secondary:hover{background:#e5e7eb}.btn.btn-outlined{color:#667eea;background:0 0;border:1px solid #667eea}.btn.btn-outlined:hover{color:#fff;background:#667eea}.btn.btn-outline-danger{color:#dc2626;background:0 0;border:1px solid #dc2626}.btn.btn-outline-danger:hover{color:#fff;background:#dc2626}.artist-calendar{background:#f8f9fa;flex-direction:column;height:100vh;display:flex}.artist-calendar .calendar-header{background:#fff;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.artist-calendar .calendar-header h1{color:#374151;margin:0;font-size:1.875rem;font-weight:600}.artist-calendar .calendar-header .header-actions{align-items:center;gap:1rem;display:flex}.artist-calendar .calendar-note{background:#f0f9ff;border:1px solid #bae6fd;border-bottom-color:#e9ecef;border-radius:8px;margin:1rem 1.5rem 0;padding:1rem 1.5rem;box-shadow:0 2px 4px #0000001a}.artist-calendar .calendar-note p{color:#0369a1;margin:0;font-size:.875rem}.artist-calendar .calendar-note h1{color:#7c3aed;margin:0;font-size:1.75rem;font-weight:600}.artist-calendar .calendar-note .header-actions{gap:1rem;display:flex}.artist-calendar .calendar-layout{flex:1;display:flex;overflow:hidden}.artist-calendar .calendar-layout .calendar-main{flex:1;padding:1.5rem;overflow-y:auto}.artist-calendar .calendar-layout .calendar-sidebar{background:#fff;border-left:1px solid #e9ecef;flex-direction:column;width:350px;height:100vh;transition:transform .3s;display:flex;overflow-y:hidden}.artist-calendar .calendar-layout .calendar-sidebar.collapsed{transform:translate(100%)}.artist-calendar .calendar-layout .calendar-sidebar .booking-list{flex:1;min-height:0;max-height:calc(100vh - 200px);padding:1rem 1rem 3rem;overflow-y:auto}.calendar-grid .calendar-navigation{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.calendar-grid .calendar-navigation .current-month{margin:0;font-size:1.5rem;font-weight:600}.calendar-grid .calendar-navigation button{color:#fff;background:#fff3;border:none;border-radius:6px;padding:.5rem 1rem;transition:background .2s}.calendar-grid .calendar-navigation button:hover{background:#ffffff4d}.calendar-grid .calendar-weekdays{background:#f8f9fa;grid-template-columns:repeat(7,1fr);display:grid}.calendar-grid .calendar-weekdays .weekday{text-align:center;color:#6b7280;border-right:1px solid #e9ecef;padding:1rem;font-weight:600}.calendar-grid .calendar-weekdays .weekday:last-child{border-right:none}.calendar-grid .calendar-days{grid-template-columns:repeat(7,1fr);display:grid}.calendar-grid .calendar-days .calendar-day{cursor:pointer;background:#fff;border:1px solid #e9ecef;min-height:120px;transition:all .2s;position:relative}.calendar-grid .calendar-days .calendar-day:hover{z-index:1;background:#f8f9fa;box-shadow:0 4px 12px #00000026}.calendar-grid .calendar-days .calendar-day.empty{cursor:default;background:#f8f9fa}.calendar-grid .calendar-days .calendar-day.empty:hover{box-shadow:none;background:#f8f9fa}.calendar-grid .calendar-days .calendar-day.selected{background:#ede9fe;border-color:#7c3aed;box-shadow:inset 0 0 0 2px #7c3aed}.calendar-grid .calendar-days .calendar-day.blocked{background:#fef2f2;border-left:4px solid #ef4444}.calendar-grid .calendar-days .calendar-day.has-request{background:#fef3c7;border-color:#f59e0b}.calendar-grid .calendar-days .calendar-day.has-request:after{content:"";background:#f59e0b;border-radius:50%;width:10px;height:10px;position:absolute;top:.5rem;right:.5rem}.calendar-grid .calendar-days .calendar-day .day-number{color:#374151;font-weight:600;position:absolute;top:.5rem;left:.5rem}.calendar-grid .calendar-legend{background:#f8f9fa;border-top:1px solid #e9ecef;justify-content:center;gap:2rem;padding:1rem;display:flex}.calendar-grid .calendar-legend .legend-item{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.calendar-grid .calendar-legend .legend-item .legend-color{border-radius:4px;width:16px;height:16px}.calendar-grid .calendar-legend .legend-item .legend-color.available{background:#fff;border:1px solid #e9ecef}.calendar-grid .calendar-legend .legend-item .legend-color.blocked{background:#ef4444}.calendar-grid .calendar-legend .legend-item .legend-color.has-request{background:#f59e0b}.booking-sidebar{flex-direction:column;height:100%;display:flex}.booking-sidebar .sidebar-header{border-bottom:1px solid #e9ecef;padding:1.5rem}.booking-sidebar .sidebar-header h3{color:#374151;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.booking-sidebar .booking-list{flex:1;min-height:0;padding:1rem;overflow-y:auto}.booking-sidebar .booking-list .loading-bookings{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.booking-sidebar .booking-list .no-bookings{text-align:center;color:#6b7280;padding:2rem}.booking-sidebar .booking-list .booking-card{cursor:pointer;background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1rem;padding:1rem;transition:all .2s}.booking-sidebar .booking-list .booking-card:hover{border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed26}.booking-sidebar .booking-list .booking-card .booking-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.booking-sidebar .booking-list .booking-card .booking-header h4{color:#374151;margin:0;font-size:1rem;font-weight:600}.booking-sidebar .booking-list .booking-card .booking-header .status-badge{text-transform:uppercase;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.booking-sidebar .booking-list .booking-card .booking-header .status-badge.pending{color:#92400e;background:#fef3c7}.booking-sidebar .booking-list .booking-card .booking-header .status-badge.approved{color:#065f46;background:#d1fae5}.booking-sidebar .booking-list .booking-card .booking-header .status-badge.declined{color:#991b1b;background:#fee2e2}.booking-sidebar .booking-list .booking-card .booking-details{margin-bottom:.75rem}.booking-sidebar .booking-list .booking-card .booking-details .booking-date{margin-bottom:.5rem;font-size:.875rem}.booking-sidebar .booking-list .booking-card .booking-details .booking-date strong{color:#7c3aed}.recurring-availability-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:2rem}.recurring-availability-section .recurring-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.recurring-availability-section .recurring-header h3{color:#374151;margin:0;font-size:1.25rem;font-weight:600}.recurring-availability-section .recurring-content{background:#fff;border-bottom-right-radius:12px;border-bottom-left-radius:12px;padding:1.5rem}.recurring-availability-section .recurring-content .weekday-settings .weekday-row{border-bottom:1px solid #f3f4f6;grid-template-columns:100px 1fr;align-items:center;gap:1.5rem;padding:1rem 0;display:grid}.recurring-availability-section .recurring-content .weekday-settings .weekday-row:last-child{border-bottom:none}.recurring-availability-section .recurring-content .weekday-settings .weekday-row .weekday-label{color:#374151;font-weight:500}.recurring-availability-section .recurring-content .weekday-settings .weekday-row .weekday-controls{align-items:center;gap:2rem;display:flex}.recurring-availability-section .recurring-content .weekday-settings .weekday-row .weekday-controls .time-controls{align-items:center;gap:.5rem;display:flex}.recurring-availability-section .recurring-content .weekday-settings .weekday-row .weekday-controls .time-controls input{border:1px solid #d1d5db;border-radius:4px;width:70px;padding:.25rem .5rem;font-size:.875rem}.recurring-availability-section .recurring-content .weekday-settings .weekday-row .weekday-controls .time-controls span{color:#6b7280}.recurring-settings{background:#f8f9fa;min-height:100vh}.recurring-settings .recurring-header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:2rem;display:flex}.recurring-settings .recurring-header .header-content h1{color:#374151;margin:0 0 .5rem;font-size:2rem;font-weight:600}.recurring-settings .recurring-header .header-content .subtitle{color:#6b7280;margin:0;font-size:1rem}.recurring-settings .recurring-header .header-actions{align-items:center;gap:1rem;display:flex}.recurring-settings .recurring-content{max-width:1200px;margin:0 auto;padding:2rem}.recurring-settings .recurring-content h2{color:#374151;margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.recurring-settings .rule-types-info{margin-bottom:3rem}.recurring-settings .rule-types-info .rule-type-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.recurring-settings .rule-types-info .rule-type-cards .rule-type-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.recurring-settings .rule-types-info .rule-type-cards .rule-type-card h3{color:#7c3aed;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.recurring-settings .rule-types-info .rule-type-cards .rule-type-card p{color:#6b7280;margin:0;font-size:.875rem;line-height:1.5}.recurring-settings .existing-rules .rules-list{flex-direction:column;gap:1rem;display:flex}.recurring-settings .existing-rules .rules-list .rule-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;padding:1.5rem;display:flex;box-shadow:0 2px 4px #0000000d}.recurring-settings .existing-rules .rules-list .rule-card.inactive{opacity:.6;background:#f9fafb}.recurring-settings .existing-rules .rules-list .rule-card .rule-info{flex:1}.recurring-settings .existing-rules .rules-list .rule-card .rule-info h3{color:#374151;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.recurring-settings .existing-rules .rules-list .rule-card .rule-info .rule-details{align-items:center;gap:1rem;display:flex}.recurring-settings .existing-rules .rules-list .rule-card .rule-info .rule-details .rule-pattern{color:#6b7280;font-size:.875rem}.recurring-settings .existing-rules .rules-list .rule-card .rule-info .rule-details .rule-action{color:#166534;background:#dcfce7;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.recurring-settings .existing-rules .rules-list .rule-card .rule-info .rule-details .rule-action.blocked{color:#dc2626;background:#fee2e2}.recurring-settings .existing-rules .rules-list .rule-card .rule-info .rule-details .rule-time{color:#6b7280;font-size:.875rem;font-style:italic}.recurring-settings .existing-rules .rules-list .rule-card .rule-actions{gap:.5rem;display:flex}.recurring-settings .existing-rules .no-rules{text-align:center;padding:3rem}.recurring-settings .existing-rules .no-rules p{color:#6b7280;margin:0;font-size:1rem}.recurring-settings .add-rule-modal{box-sizing:border-box;background:#fff;border-radius:12px;flex-direction:column;width:500px;max-width:95vw;max-height:80vh;display:flex;box-shadow:0 20px 40px #0000004d}.recurring-settings .add-rule-modal .modal-content{flex:1;padding:1.5rem;overflow-y:auto}.recurring-settings .add-rule-modal .modal-content .add-rule-form .form-group{margin-bottom:1.5rem}.recurring-settings .add-rule-modal .modal-content .add-rule-form .form-group label{color:#374151;margin-bottom:.5rem;font-weight:500;display:block}.recurring-settings .add-rule-modal .modal-content .add-rule-form .radio-group{flex-direction:column;gap:.75rem;display:flex}.recurring-settings .add-rule-modal .modal-content .add-rule-form .radio-group .radio-label{cursor:pointer;align-items:center;gap:.5rem;margin-bottom:0;font-weight:400;display:flex}.recurring-settings .add-rule-modal .modal-content .add-rule-form .radio-group .radio-label input[type=radio]{margin:0}.recurring-settings .add-rule-modal .modal-content .add-rule-form .weekday-checkboxes{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;display:grid}.recurring-settings .add-rule-modal .modal-content .add-rule-form .weekday-checkboxes .checkbox-label{cursor:pointer;align-items:center;gap:.5rem;margin-bottom:0;font-weight:400;display:flex}.recurring-settings .add-rule-modal .modal-content .add-rule-form .weekday-checkboxes .checkbox-label input[type=checkbox]{margin:0}.recurring-settings .add-rule-modal .modal-content .add-rule-form .modal-actions{border-top:1px solid #e9ecef;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;display:flex}.modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.availability-modal{box-sizing:border-box;background:#fff;border-radius:12px;flex-direction:column;width:450px;max-width:90vw;max-height:80vh;transition:transform .2s;display:flex;overflow:hidden;transform:scale(1);box-shadow:0 20px 40px #0000004d}.availability-modal .modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.availability-modal .modal-header h2{color:#374151;margin:0;font-size:1.5rem;font-weight:600}.availability-modal .modal-content{word-wrap:break-word;flex:1;min-width:0;padding:1.5rem;overflow:hidden auto}.availability-modal .modal-content .availability-form h3{color:#7c3aed;margin:0 0 1.5rem;font-size:1.125rem;font-weight:600}.availability-modal .modal-content .availability-form .form-group{margin-bottom:1.5rem}.availability-modal .modal-content .availability-form .form-group label{color:#374151;margin-bottom:.5rem;font-weight:500;display:block}.availability-modal .modal-content .availability-form .form-group input[type=radio]{margin-right:.5rem}.availability-modal .modal-content .availability-form .form-group span{margin-right:1rem}.availability-modal .modal-content .availability-form .time-inputs{flex-direction:column;gap:1rem;display:flex}.availability-modal .modal-content .availability-form .time-inputs .form-group{flex-direction:column;gap:.5rem;display:flex}.availability-modal .modal-content .availability-form .time-inputs .form-group label{color:#374151;font-size:.875rem;font-weight:600}.availability-modal .modal-content .availability-form .time-inputs .form-group input{box-sizing:border-box;min-width:0}.availability-modal .modal-content .availability-form .modal-actions{border-top:1px solid #e9ecef;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;display:flex}.calendar-day .availability-indicator{background:#10b981;border-radius:50%;width:8px;height:8px;position:absolute;bottom:.25rem;right:.25rem}.calendar-day .availability-indicator.blocked{background:#ef4444}.calendar-day .availability-indicator.loading{background:#9ca3af;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.calendar-day .explicit-indicator{background:#f97316;border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:.25rem;right:.25rem}.calendar-day.has-explicit{border:2px solid #f97316}.calendar-day.blocked{background-color:#ef44441a}.calendar-day.blocked .availability-indicator{background:#ef4444}.calendar-day.available{background-color:#10b9811a}.calendar-day.available .availability-indicator{background:#10b981}.calendar-legend .legend-color.available{background:#fff;border:1px solid #e9ecef}.calendar-legend .legend-color.blocked{background:#ef4444}.calendar-legend .legend-color.has-explicit{background:#f97316}.calendar-legend .legend-color.has-request{background:#8b5cf6}.time-blocks .time-block .time-block-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:.05rem;font-size:.55rem;font-weight:600;overflow:hidden}.time-blocks .time-block .time-block-time{opacity:.9;font-size:.5rem;font-weight:500}.time-blocks .time-block .time-block-time-only{text-align:center;color:#fff;font-size:.55rem;font-weight:600}.artist-dashboard-questionnaire-builder,.questionnaire-builder{background:#f8fafc;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem 1rem}.artist-dashboard-questionnaire-header,.questionnaire-header{margin-bottom:2rem}.artist-dashboard-questionnaire-header h2,.questionnaire-header h2{color:#1a202c;margin:0 0 .5rem;font-size:2rem;font-weight:700}.artist-dashboard-questionnaire-header p,.questionnaire-header p{color:#6b7280;margin:0;font-size:1.1rem}.artist-dashboard-questionnaire-content,.questionnaire-content{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #00000014}.artist-dashboard-questionnaire-form,.questionnaire-form{padding:2rem}.artist-dashboard-questionnaire-loading,.loading{color:#6b7280;justify-content:center;align-items:center;padding:3rem;font-size:1.1rem;display:flex}.artist-dashboard-questionnaire-questions-list,.questions-list{margin-bottom:2rem}.artist-dashboard-questionnaire-questions-list h3,.questions-list h3{color:#1a202c;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.artist-dashboard-questionnaire-questions-subtitle,.questions-subtitle{color:#6b7280;margin:0 0 2rem;font-size:1rem}.artist-dashboard-questionnaire-question-config-item,.question-config-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1rem;padding:1.5rem;transition:all .2s}.artist-dashboard-questionnaire-question-config-item:hover,.question-config-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000001a}.artist-dashboard-questionnaire-question-config-item:last-child,.question-config-item:last-child{margin-bottom:0}.artist-dashboard-questionnaire-question-header,.question-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.artist-dashboard-questionnaire-question-controls,.question-controls{flex-shrink:0;align-items:center;gap:1rem;display:flex}.artist-dashboard-questionnaire-question-status-text,.question-status-text{color:#374151;font-size:.9rem;font-weight:600}.artist-dashboard-questionnaire-delete-question-btn,.delete-question-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s}.artist-dashboard-questionnaire-delete-question-btn:hover,.delete-question-btn:hover{background:#b91c1c;transform:translateY(-1px)}.artist-dashboard-questionnaire-delete-question-btn:active,.delete-question-btn:active{transform:translateY(0)}.artist-dashboard-questionnaire-question-info,.question-info{flex:1}.artist-dashboard-questionnaire-question-info h4,.question-info h4{color:#1a202c;margin:0 0 .5rem;font-size:1.1rem;font-weight:600;line-height:1.4}.artist-dashboard-questionnaire-question-type,.question-type{color:#667eea;text-transform:uppercase;letter-spacing:.05em;background:#667eea1a;border-radius:6px;padding:.25rem .5rem;font-size:.8rem;font-weight:600}.artist-dashboard-questionnaire-question-options,.question-options{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.artist-dashboard-questionnaire-option-row,.option-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.artist-dashboard-questionnaire-option-row:last-child,.option-row:last-child{margin-bottom:0}.artist-dashboard-questionnaire-option-row label,.option-row label{color:#374151;margin:0;font-weight:600}.artist-dashboard-questionnaire-options-display,.options-display{margin-top:.5rem}.artist-dashboard-questionnaire-options-list,.options-list{flex-wrap:wrap;gap:.5rem;display:flex}.artist-dashboard-questionnaire-option-tag,.option-tag{color:#374151;background:#f3f4f6;border:1px solid #d1d5db;border-radius:20px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.artist-dashboard-questionnaire-save-section,.save-section{text-align:center;border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.artist-dashboard-questionnaire-save-section .thaw-button,.save-section .thaw-button{margin-bottom:1rem}.artist-dashboard-questionnaire-error-message,.error-message{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:1rem;padding:1rem;font-weight:500}.artist-dashboard-questionnaire-success-message,.success-message{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;margin-bottom:1rem;padding:1rem;font-weight:500}.artist-dashboard-questionnaire-status-text,.status-text{color:#6b7280;margin:0;font-size:.9rem;font-style:italic}.artist-dashboard-questionnaire-hidden{display:none}.artist-dashboard-questionnaire-modal-overlay,.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.artist-dashboard-questionnaire-modal-content,.modal-content{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 40px #00000026}.artist-dashboard-questionnaire-modal-header,.modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.artist-dashboard-questionnaire-modal-header h3,.modal-header h3{color:#1a202c;margin:0;font-size:1.25rem;font-weight:600}.artist-dashboard-questionnaire-modal-close,.modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.artist-dashboard-questionnaire-modal-close:hover,.modal-close:hover{color:#374151;background:#f3f4f6}.artist-dashboard-questionnaire-modal-body,.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.artist-dashboard-questionnaire-modal-body p,.modal-body p{color:#374151;margin:0 0 1rem;line-height:1.5}.artist-dashboard-questionnaire-modal-body p:last-child,.modal-body p:last-child{margin-bottom:0}.artist-dashboard-questionnaire-modal-body p strong,.modal-body p strong{color:#dc2626;font-weight:700}.artist-dashboard-questionnaire-modal-footer,.modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}.artist-dashboard-questionnaire-modal-footer .thaw-button,.modal-footer .thaw-button{margin:0}.tattoo-gallery{width:100%;padding:0}.tattoo-gallery .posts-grid .instagram-media{cursor:pointer}.tattoo-gallery .posts-grid [style*="position: absolute"][style*="background: rgba(0,0,0,0.8)"]{cursor:pointer;transition:background-color .2s}.tattoo-gallery .posts-grid [style*="position: absolute"][style*="background: rgba(0,0,0,0.8)"]:hover{background:#000000e6!important}.tattoo-gallery-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem;display:flex}.tattoo-gallery-pagination-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.5rem 1rem;font-weight:500;transition:all .2s}.tattoo-gallery-pagination-button:disabled{color:#9ca3af;cursor:not-allowed;background:#f9fafb}.tattoo-gallery-pagination-button:not(:disabled):hover{background:#f9fafb;border-color:#9ca3af}.tattoo-gallery-pagination-info{color:#6b7280;font-size:.9rem}.tattoo-gallery-artist-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.tattoo-gallery-artist-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:80vh;position:relative;overflow:hidden;box-shadow:0 20px 60px #0003}.tattoo-gallery-modal-close{cursor:pointer;color:#6b7280;z-index:1001;background:#f3f4f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex;position:absolute;top:16px;right:16px}.tattoo-gallery-modal-close:hover{color:#374151;background:#e5e7eb}.artist-masonry-gallery-filter-container{margin-bottom:1.5rem}.artist-masonry-gallery-filter-wrapper{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.artist-masonry-gallery-filter-label{color:#4a5568;margin-right:.5rem;font-weight:600}.artist-masonry-gallery-filter-button{cursor:pointer;border:1px solid #d1d5db;border-radius:20px;padding:.25rem .75rem;font-size:.8rem}.artist-masonry-gallery-filter-button--active{color:#fff;background:#667eea}.artist-masonry-gallery-filter-button--inactive{color:#374151;background:#fff}.auth-guard-container{background:#f8fafc;justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-guard-content{text-align:center}.auth-guard-loading-title{color:#667eea;margin-bottom:.5rem;font-size:1.5rem}.auth-guard-loading-subtitle{color:#6b7280;font-size:.9rem}.auth-guard-denied-title{color:#f59e0b;margin-bottom:.5rem;font-size:1.5rem}.auth-guard-denied-subtitle{color:#6b7280;font-size:.9rem}.booking-modal{background:#fff;border-radius:24px;width:100%;min-width:600px;max-width:800px;max-height:calc(100vh - 2rem);margin-top:1rem;transition:all .3s;overflow:hidden;transform:translateY(50px);box-shadow:0 25px 50px #00000040}.booking-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;background-color:#000000bf;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:2rem 1rem;transition:all .3s;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.booking-modal-overlay.show{opacity:1;visibility:visible}.booking-modal-overlay.show .booking-modal{transform:translateY(0)}.booking-modal-header{color:#fff;text-align:center;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 50%,#f97316 100%);padding:2.5rem 3rem;position:relative}.booking-modal-header h2{text-shadow:0 2px 4px #0000001a;margin:0;font-size:2rem;font-weight:700}.booking-modal-close-button{color:#fff;cursor:pointer;background:#fff3;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.booking-modal-close-button:hover{background:#ffffff4d;transform:scale(1.05)}.booking-modal-content{scroll-behavior:smooth;width:100%;max-height:calc(100vh - 4rem);max-width:none!important;overflow:hidden auto!important}.booking-modal-artist-info{text-align:center;background:linear-gradient(#f8fafc,#fff);border-bottom:1px solid #e2e8f0;padding:2rem}.booking-modal-artist-info h3{color:#2d3748;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.booking-modal-artist-subtitle{color:#64748b;margin:0;font-size:1.1rem;font-weight:500}.booking-modal-appointment-form{padding:0;width:100%!important;max-width:none!important;min-width:unset!important}.booking-modal-appointment-form-content{width:100%!important;max-width:none!important;min-width:unset!important}.booking-modal-form-section{box-sizing:border-box;background:#fff;border-bottom:1px solid #f1f5f9;padding:2.5rem 3rem;position:relative;width:100%!important;max-width:none!important;min-width:unset!important}.booking-modal-form-section:last-child{border-bottom:none}.booking-modal-form-section h4{color:#374151;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:1.25rem;font-weight:700;display:flex}.booking-modal-form-section h4:before{content:"";background:linear-gradient(#7c3aed,#f97316);border-radius:2px;width:4px;height:20px}.booking-modal-form-row{grid-template-columns:1fr 1fr;gap:2rem;width:100%;margin-bottom:1.5rem;display:grid}.booking-modal-form-group{flex-direction:column;gap:.5rem;width:100%;min-width:0;display:flex}.booking-modal-form-group label{color:#374151;letter-spacing:.025em;font-size:.95rem;font-weight:600}.booking-modal-form-group label:after{content:""}.booking-modal-form-group label[for=client-name]:after,.booking-modal-form-group label[for=client-email]:after,.booking-modal-form-group label[for=requested-date]:after,.booking-modal-form-group label[for=requested-start-time]:after{content:" *";color:#ef4444;font-weight:700}.booking-modal-form-group input,.booking-modal-form-group textarea,.booking-modal-form-group select{box-sizing:border-box;background:#fff;border:2px solid #e2e8f0;border-radius:12px;width:100%;padding:1rem 1.25rem;font-family:inherit;font-size:1rem;transition:all .2s}.booking-modal-form-group input:focus,.booking-modal-form-group textarea:focus,.booking-modal-form-group select:focus{border-color:#7c3aed;outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #7c3aed1a}.booking-modal-form-group input:hover,.booking-modal-form-group textarea:hover,.booking-modal-form-group select:hover{border-color:#cbd5e1}.booking-modal-form-group textarea{resize:vertical;min-height:100px}.booking-modal-error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin:1rem 2rem;padding:1rem;font-weight:500}.booking-modal-error-message p{margin:0}.booking-modal-loading{text-align:center;color:#64748b;padding:3rem;font-size:1.1rem}.booking-modal-loading:before{content:"⏳ ";margin-right:.5rem}.booking-modal-loading-questionnaire{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.booking-modal-loading-questionnaire p{color:#6b7280;margin:0;font-size:1.1rem}.booking-modal-loading-spinner{border:4px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}.booking-modal-no-questionnaire{text-align:center;color:#6b7280;padding:3rem 2rem;font-size:1.1rem}.booking-modal-questionnaire-empty-state h3{color:#374151;margin:0 0 1rem}.booking-modal-questionnaire-empty-state p{margin:0 0 2rem;line-height:1.6}.booking-modal-auth-note{color:#0369a1;text-align:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-size:.95rem;font-weight:500}.booking-modal-form-actions{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:1rem;margin-bottom:1rem;padding:2rem;display:flex}.booking-modal-form-actions button{cursor:pointer;border:none;border-radius:12px;min-width:140px;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .2s}.booking-modal-form-actions button:first-child{color:#64748b;background:#f1f5f9;border:2px solid #e2e8f0}.booking-modal-form-actions button:first-child:hover{color:#475569;background:#e2e8f0;transform:translateY(-1px)}.booking-modal-form-actions button:last-child{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);box-shadow:0 4px 14px #7c3aed4d}.booking-modal-form-actions button:last-child:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #7c3aed66}.booking-modal-form-actions button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.booking-modal-confirmation-step{text-align:center;padding:3rem 2rem}.booking-modal-confirmation-step h3{color:#065f46;margin:0 0 1rem;font-size:1.75rem;font-weight:700}.booking-modal-success-icon{color:#10b981;margin-bottom:1rem;font-size:4rem}.booking-modal-confirmation-text{color:#374151;margin:0 0 2rem;font-size:1.1rem;line-height:1.6}.booking-modal-booking-details{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin:1.5rem 0;padding:1.5rem}.booking-modal-booking-id{color:#065f46;margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.booking-modal-next-steps{color:#374151;margin:0;line-height:1.5}.booking-modal-confirmation-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.booking-modal-confirmation-actions button,.booking-modal-confirmation-actions a{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.booking-modal-confirmation-actions button:first-child,.booking-modal-confirmation-actions a:first-child{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);box-shadow:0 4px 14px #7c3aed4d}.booking-modal-confirmation-actions button:not(:first-child),.booking-modal-confirmation-actions a:not(:first-child){color:#64748b;background:#f1f5f9;border:2px solid #e2e8f0}.booking-modal-confirmation-actions button:hover,.booking-modal-confirmation-actions a:hover{transform:translateY(-2px)}input[type=date],input[type=time]{cursor:pointer}input[type=tel]{letter-spacing:.025em}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.booking-modal :focus{outline:none}@media (max-width:768px){.booking-modal{border-radius:16px;min-width:auto;max-width:95vw;max-height:calc(100vh - 2rem);margin:1rem}.booking-modal-overlay{align-items:flex-start;padding:1rem .5rem}.booking-modal-header{padding:1.5rem}.booking-modal-header h2{padding-right:3rem;font-size:1.5rem}.booking-modal-close-button{width:36px;height:36px;font-size:20px;top:.75rem;right:.75rem}.booking-modal-form-section{padding:1.5rem}.booking-modal-form-row{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.booking-modal-form-actions{flex-direction:column-reverse;padding:1.5rem}.booking-modal-form-actions button{width:100%}.booking-modal-artist-info{padding:1.5rem}.booking-modal-confirmation-step{padding:2rem 1.5rem}.booking-modal-confirmation-actions{flex-direction:column}.booking-modal-confirmation-actions button,.booking-modal-confirmation-actions a{justify-content:center;width:100%}}@media (max-width:480px){.booking-modal-overlay{padding:.5rem .25rem}.booking-modal-header h2{font-size:1.25rem}.booking-modal-form-section h4{font-size:1.1rem}.booking-modal-artist-info h3{font-size:1.5rem}}@media (min-width:1024px){.booking-modal{max-width:900px}.booking-modal-form-section,.booking-modal-header{padding:3rem 4rem}.booking-modal-form-row{gap:2.5rem}}@media (prefers-reduced-motion:reduce){.booking-modal-overlay,.booking-modal,.booking-modal-form-group input,.booking-modal-form-group textarea,.booking-modal-form-actions button,.booking-modal-close-button{transition:none}}@media (prefers-contrast:high){.booking-modal-form-group input,.booking-modal-form-group textarea,.booking-modal-form-group select{border-color:#000}.booking-modal-form-group input:focus,.booking-modal-form-group textarea:focus,.booking-modal-form-group select:focus{border-color:#000;box-shadow:0 0 0 2px #000}}.error-boundary{z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;width:90%;max-width:600px;animation:.3s ease-out slideInFromTop;position:fixed;top:20px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 20px #00000026}.error-content{padding:1rem}.error-content h4{color:#d73a49;margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.error-content p{color:#586069;margin:0 0 1rem;font-size:.9rem;line-height:1.4}.error-actions{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.error-details{background-color:#f6f8fa;border:1px solid #e1e4e8;border-radius:6px;margin-top:1rem;padding:1rem;font-size:.85rem}.error-details p{color:#444;margin:.25rem 0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace}.error-details strong{color:#24292e;font-weight:600}@keyframes slideInFromTop{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (max-width:768px){.error-boundary{width:95%;max-width:none;top:10px}.error-content{padding:.75rem}.error-actions{flex-direction:column}.error-details{padding:.75rem;font-size:.8rem}}@media (prefers-color-scheme:dark){.error-details{background-color:#161b22;border-color:#30363d}.error-details p{color:#c9d1d9}.error-details strong{color:#f0f6fc}}.event-item-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;padding:.75rem;transition:all .2s;display:flex}.event-item-container--clickable{cursor:pointer}.event-item-container--clickable:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001f}.event-item-container--available{background:#f0f9ff;border-color:#0ea5e9}.event-item-container--blocked{background:#fef2f2;border-color:#ef4444}.event-item-container--blocked .event-item-name{color:#dc2626}.event-item-container--booking-pending{background:#fffbeb;border-color:#f59e0b}.event-item-container--booking-pending .event-item-name{color:#92400e}.event-item-container--booking-accepted{background:#f0fdf4;border-color:#10b981}.event-item-container--booking-accepted .event-item-name{color:#065f46}.event-item-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.event-item-name{color:#374151;font-weight:600}.event-item-time{color:#6b7280;font-size:.875rem}.event-item-tattoo{color:#6b7280;background:#0000000d;border-radius:4px;margin-top:.25rem;padding:.375rem .5rem;font-size:.8rem;font-style:italic}.favorite-button{cursor:pointer;white-space:nowrap;background:#f1f5f9cc;border:1px solid #cbd5e199;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;height:fit-content;margin-left:auto;padding:.25rem .5rem;transition:all .2s;display:inline-flex}.favorite-button:hover{background:#fff;border-color:#f97316;transform:translateY(-1px)}.favorite-button:active{transform:translateY(0)}.favorite-button:disabled{opacity:.5;cursor:not-allowed}.favorite-icon{color:#94a3b8;font-size:18px;transition:color .2s}.favorite-icon.favorited{color:#f97316;animation:.3s heartBeat}.favorite-button:hover .favorite-icon{color:#f97316}@keyframes heartBeat{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.instagram-demo-container{background:#f8fafc;min-height:100vh;padding:2rem 0}.instagram-demo-content{max-width:1200px;margin:0 auto;padding:0 1rem}.instagram-demo-header{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;margin-bottom:3rem;padding:3rem 2rem}.instagram-demo-header-title{margin:0 0 1rem;font-size:2.5rem;font-weight:700}.instagram-demo-header-subtitle{opacity:.9;margin:0;font-size:1.1rem;line-height:1.5}.instagram-demo-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3rem;display:grid}.instagram-demo-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #00000014}.instagram-demo-card-header{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.instagram-demo-badge-new{color:#fff;background:#10b981;border-radius:20px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.instagram-demo-badge-legacy{color:#fff;background:#f59e0b;border-radius:20px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.instagram-demo-card-title{color:#1a202c;margin:0;font-size:1.5rem;font-weight:700}.instagram-demo-card-description{color:#4a5568;margin:0 0 2rem;line-height:1.6}.instagram-demo-embed-container{border:2px solid #e2e8f0;border-radius:12px;padding:1rem}.instagram-demo-benefits{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:1.5rem;padding:1rem}.instagram-demo-benefits-title{color:#166534;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.instagram-demo-benefits-list{color:#166534;margin:0;padding-left:1rem;font-size:.8rem;line-height:1.4}.instagram-demo-limitations{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;margin-top:1.5rem;padding:1rem}.instagram-demo-limitations-title{color:#92400e;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.instagram-demo-limitations-list{color:#92400e;margin:0;padding-left:1rem;font-size:.8rem;line-height:1.4}.instagram-demo-technical-title{color:#1a202c;margin:0 0 1.5rem;font-size:1.75rem;font-weight:700}.instagram-demo-technical-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.instagram-demo-process-title{color:#374151;margin:0 0 1rem;font-size:1.2rem;font-weight:600}.instagram-demo-process-list{color:#4a5568;margin:0;padding-left:1.5rem;line-height:1.6}.instagram-demo-test-title{color:#1a202c;margin:0 0 1.5rem;font-size:1.75rem;font-weight:700}.instagram-demo-test-description{color:#4a5568;margin:0 0 2rem;line-height:1.6}.instagram-demo-next-steps{background:#f1f5f9;border-left:4px solid #3b82f6;border-radius:8px;padding:1.5rem}.instagram-demo-next-steps-title{color:#1e40af;margin:0 0 .5rem;font-size:1rem;font-weight:600}.instagram-demo-next-steps-content{color:#1e40af;margin:0;font-size:.9rem;line-height:1.5}.instagram-demo-technical-section{margin-bottom:3rem}.instagram-embed-container{position:relative}.instagram-embed-container--thumbnail{width:100%;height:260px;overflow:hidden}.instagram-embed-container--small{min-height:200px}.instagram-embed-container--medium{min-height:300px}.instagram-embed-container--large{min-height:500px}.instagram-embed-media{background:0 0}.instagram-embed-media--thumbnail{transform-origin:0 0;width:285%;height:1600px;margin-top:-200px;margin-left:-92%;transform:scale(.35)}.instagram-embed-media--small{max-width:320px;margin:0 auto}.instagram-embed-media--medium{max-width:420px;margin:0 auto}.instagram-embed-media--large{max-width:540px;margin:0 auto}.instagram-embed-loading-overlay{pointer-events:none;background:#f9fafbf2;border-radius:8px;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.instagram-embed-loading-content{text-align:center}.instagram-embed-loading-spinner{border:2px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;width:32px;height:32px;animation:1s linear infinite instagram-embed-spin;display:inline-block}.instagram-embed-loading-text{color:#6b7280;margin-top:.5rem;font-size:.75rem}@keyframes instagram-embed-spin{to{transform:rotate(360deg)}}.instagram-embed-ssr-loading{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;min-height:400px;display:flex}.instagram-embed-ssr-loading-content{text-align:center}.instagram-embed-ssr-spinner{border:2px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;width:32px;height:32px;margin-bottom:1rem;animation:1s linear infinite instagram-embed-ssr-spin;display:inline-block}.instagram-embed-ssr-loading-text{color:#6b7280;font-size:.9rem}@keyframes instagram-embed-ssr-spin{to{transform:rotate(360deg)}}.instagram-fallback-cta-container{text-align:center;color:#fff;min-height:var(--min-height,200px);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.instagram-fallback-cta-icon-container{background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:1rem;font-size:24px;display:flex}.instagram-fallback-cta-title{opacity:.95;margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.instagram-fallback-cta-message{opacity:.8;margin:0 0 1.5rem;font-size:.9rem;line-height:1.4}.instagram-fallback-cta-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#fff3;border:1px solid #ffffff4d;border-radius:25px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.instagram-fallback-cta-button:hover{background:#ffffff4d;transform:translateY(-1px)}.instagram-fallback-cta-button:active{transform:translateY(0)}.instagram-posts-grid-container{columns:4;column-fill:balance;column-gap:1rem;width:100%}@media (max-width:1200px){.instagram-posts-grid-container{columns:3}}@media (max-width:768px){.instagram-posts-grid-container{columns:2}}@media (max-width:480px){.instagram-posts-grid-container{columns:1}}.instagram-posts-grid-post-container{break-inside:avoid;margin-bottom:1rem;position:relative}.instagram-posts-grid-post-card{background:#fff;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.instagram-posts-grid-header{background:#fff;padding:.5rem}.instagram-posts-grid-meta-wrapper{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.25rem;display:flex}.instagram-posts-grid-artist-link{color:#fff;background:#000000d9;border:1px solid #fff3;border-radius:12px;align-items:center;gap:.25rem;margin-right:.25rem;padding:.25rem .5rem;font-size:.65rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.instagram-posts-grid-artist-link:hover{background:#7c3aed;border-color:#7c3aed;transform:translateY(-1px);box-shadow:0 2px 6px #7c3aed66}.instagram-posts-grid-artist-link:hover .instagram-posts-grid-view-profile-hint{opacity:1;max-width:100px}.instagram-posts-grid-artist-icon{font-size:.75rem}.instagram-posts-grid-artist-name{white-space:nowrap}.instagram-posts-grid-view-profile-hint{opacity:0;white-space:nowrap;color:#ffffffe6;max-width:0;font-size:.6rem;transition:all .2s;overflow:hidden}.instagram-posts-grid-style-tag{color:#fff;background:#667eeae6;border-radius:10px;padding:.125rem .375rem;font-size:.6rem;font-weight:500}.instagram-posts-grid-embed-container{position:relative}.instagram-posts-grid .instagram-media{min-width:280px!important;max-width:100%!important}.loading-container{flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.loading-message{color:#6b7280;margin-top:.5rem}.map-marker-popup-container{flex-direction:column;gap:.5rem;margin:.5rem 0;display:flex}.map-marker-popup-address{color:#6b7280;margin:0;font-size:.875rem}.map-marker-popup-link{color:#fff;text-align:center;background:#667eea;border-radius:6px;padding:.5rem 1rem;font-weight:600;text-decoration:none;transition:background .2s}.map-marker-popup-link:hover{background:#5a67d8}.map-marker-popup-link:focus{outline-offset:2px;outline:2px solid #667eea}.map-renderer-container{flex:1;width:100%;height:100%;position:relative}.map-renderer-map-container{width:100%;height:100%}.map-renderer-loading-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.masonry-gallery-container{max-width:1400px;margin:0 auto;padding:20px}.masonry-gallery-container h1{color:#333;margin-bottom:30px}.masonry-gallery-debug-info{color:#666;font-size:.75rem}.masonry-gallery-grid{column-count:4;column-gap:1.5rem;max-width:1800px;margin:0 auto;padding:1.5rem}@media (max-width:1400px){.masonry-gallery-grid{column-count:3}}@media (max-width:1000px){.masonry-gallery-grid{column-count:2}}@media (max-width:768px){.masonry-gallery-grid{column-count:1}}.masonry-gallery-item{break-inside:avoid;width:100%;margin-bottom:1.5rem;display:inline-block}.masonry-gallery-instagram-card{background:#fff;border-radius:12px;width:100%;min-width:0;height:fit-content;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 4px 12px #00000014}.masonry-gallery-instagram-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.masonry-gallery-style-chips{background:#fafafa;border-bottom:1px solid #eee;flex-wrap:wrap;gap:.375rem;padding:.75rem;display:flex}.masonry-gallery-style-chip{color:#fff;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;background:#333;border:2px solid #0000;border-radius:14px;align-items:center;padding:.25rem .625rem;font-size:.625rem;font-weight:600;transition:all .2s;display:inline-flex}.masonry-gallery-style-chip:hover{background:#555;transform:translateY(-1px)}.masonry-gallery-style-chip:nth-child(2n){background:#5a67d8}.masonry-gallery-style-chip:nth-child(3n){background:#ed8936}.masonry-gallery-style-chip:nth-child(4n){background:#38a169}.masonry-gallery-style-chip:nth-child(5n){background:#e53e3e}.masonry-gallery-style-chip:nth-child(6n){background:#805ad5}.masonry-gallery-style-chip:nth-child(7n){background:#2d3748}.masonry-gallery-instagram-embed-container{width:100%;min-width:0;height:auto;position:relative;overflow:hidden}.masonry-gallery-instagram-wrapper{width:100%;min-width:0;height:auto}.masonry-gallery-instagram-placeholder{background:#fafafa;border:1px solid #e1e8ed;border-radius:3px;justify-content:center;align-items:center;min-height:400px;display:flex}.masonry-gallery-placeholder-content{text-align:center;color:#8899a6}.masonry-gallery-fallback-link{color:#3897f0;margin-top:10px;font-weight:600;text-decoration:none;display:inline-block}.masonry-gallery-fallback-link:hover{text-decoration:underline}.masonry-gallery-instagram-media{width:100%!important;min-width:200px!important;max-width:100%!important;margin:0 auto!important}.masonry-gallery-instagram-media iframe{width:100%!important;min-width:200px!important;max-width:100%!important}.multi-step-questionnaire-container{background:#fff;border-radius:12px;flex-direction:column;max-width:600px;min-height:500px;margin:0 auto;padding:2rem;display:flex;box-shadow:0 4px 12px #0000001a}.multi-step-questionnaire-progress-container{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1.5rem}.multi-step-questionnaire-progress-info{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.multi-step-questionnaire-progress-info h3{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.multi-step-questionnaire-progress-text{color:#6b7280;margin:0;font-size:.9rem;font-weight:500}.multi-step-questionnaire-progress-bar{background-color:#e5e7eb;border-radius:4px;width:100%;height:8px;position:relative;overflow:hidden}.multi-step-questionnaire-progress-fill{background:linear-gradient(90deg,#7c3aed,#a855f7);border-radius:4px;height:100%;transition:width .3s ease-in-out;box-shadow:0 2px 4px #7c3aed4d}.multi-step-questionnaire-question-container{flex-direction:column;flex:1;justify-content:center;margin-bottom:2rem;display:flex}.multi-step-questionnaire-question-content{text-align:left}.multi-step-questionnaire-question-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.multi-step-questionnaire-question-text{color:#1f2937;flex:1;margin:0;font-size:1.25rem;font-weight:600;line-height:1.4}.multi-step-questionnaire-info-icon{color:#6b7280;cursor:help;background:#f3f4f6;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;transition:all .2s;display:inline-flex}.multi-step-questionnaire-info-icon:hover{color:#374151;background:#e5e7eb}.multi-step-questionnaire-optional-indicator{color:#9ca3af;font-size:.85rem;font-style:italic;font-weight:400}.multi-step-questionnaire-answer-section{margin-top:1rem}.multi-step-questionnaire-text-input-container,.multi-step-questionnaire-datetime-input-container,.multi-step-questionnaire-default-input-container{width:100%}.multi-step-questionnaire-text-input-container textarea,.multi-step-questionnaire-text-input-container input,.multi-step-questionnaire-datetime-input-container textarea,.multi-step-questionnaire-datetime-input-container input,.multi-step-questionnaire-default-input-container textarea,.multi-step-questionnaire-default-input-container input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s}.multi-step-questionnaire-text-input-container textarea:focus,.multi-step-questionnaire-text-input-container input:focus,.multi-step-questionnaire-datetime-input-container textarea:focus,.multi-step-questionnaire-datetime-input-container input:focus,.multi-step-questionnaire-default-input-container textarea:focus,.multi-step-questionnaire-default-input-container input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed1a}.multi-step-questionnaire-text-input-container textarea::placeholder,.multi-step-questionnaire-text-input-container input::placeholder,.multi-step-questionnaire-datetime-input-container textarea::placeholder,.multi-step-questionnaire-datetime-input-container input::placeholder,.multi-step-questionnaire-default-input-container textarea::placeholder,.multi-step-questionnaire-default-input-container input::placeholder{color:#9ca3af}.multi-step-questionnaire-text-input-container textarea,.multi-step-questionnaire-datetime-input-container textarea,.multi-step-questionnaire-default-input-container textarea{resize:vertical;min-height:100px;font-family:inherit}.multi-step-questionnaire-multiselect-container{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:.5rem;display:grid}.multi-step-questionnaire-option-item{width:100%}.multi-step-questionnaire-option-button{text-align:center;min-height:48px;color:#374151!important;background:#fff!important;border:2px solid #e5e7eb!important;border-radius:8px!important;width:100%!important;padding:.75rem 1rem!important;font-size:.95rem!important;font-weight:500!important;transition:all .2s!important}.multi-step-questionnaire-option-button:hover{background:#f9fafb!important;border-color:#d1d5db!important}.multi-step-questionnaire-option-button.selected{color:#fff!important;background:#7c3aed!important;border-color:#7c3aed!important;box-shadow:0 2px 4px #7c3aed33!important}.multi-step-questionnaire-option-button.selected:hover{background:#6d28d9!important;border-color:#6d28d9!important}.multi-step-questionnaire-boolean-container{justify-content:center;margin-top:1rem;display:flex}.multi-step-questionnaire-boolean-options{justify-content:center;gap:1rem;display:flex}.multi-step-questionnaire-boolean-button{color:#374151!important;background:#fff!important;border:2px solid #e5e7eb!important;border-radius:8px!important;min-width:120px!important;min-height:48px!important;padding:.75rem 1.5rem!important;font-size:1rem!important;font-weight:600!important;transition:all .2s!important}.multi-step-questionnaire-boolean-button:hover{background:#f9fafb!important;border-color:#d1d5db!important}.multi-step-questionnaire-boolean-button[data-appearance=primary]{color:#fff!important;background:#7c3aed!important;border-color:#7c3aed!important;box-shadow:0 2px 4px #7c3aed33!important}.multi-step-questionnaire-boolean-button[data-appearance=primary]:hover{background:#6d28d9!important;border-color:#6d28d9!important}.multi-step-questionnaire-no-questions{text-align:center;color:#6b7280;padding:3rem 1rem}.multi-step-questionnaire-no-questions p{margin:0;font-size:1.1rem}.multi-step-questionnaire-navigation-controls{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;display:flex}.multi-step-questionnaire-navigation-controls button{min-width:100px;min-height:44px;border-radius:8px!important;padding:.75rem 1.5rem!important;font-size:1rem!important;font-weight:600!important;transition:all .2s!important}.multi-step-questionnaire-navigation-controls button[data-appearance=secondary]{color:#374151!important;background:#fff!important;border:2px solid #e5e7eb!important}.multi-step-questionnaire-navigation-controls button[data-appearance=secondary]:hover:not(:disabled){background:#f9fafb!important;border-color:#d1d5db!important}.multi-step-questionnaire-navigation-controls button[data-appearance=primary]{color:#fff!important;background:#7c3aed!important;border:2px solid #7c3aed!important;box-shadow:0 2px 4px #7c3aed33!important}.multi-step-questionnaire-navigation-controls button[data-appearance=primary]:hover:not(:disabled){background:#6d28d9!important;border-color:#6d28d9!important}.multi-step-questionnaire-navigation-controls button[data-appearance=primary]:disabled{opacity:.5!important;cursor:not-allowed!important;background:#9ca3af!important;border-color:#9ca3af!important}@media (max-width:768px){.multi-step-questionnaire-container{border-radius:0;min-height:100vh;margin:0;padding:1.5rem}.multi-step-questionnaire-question-text{font-size:1.1rem}.multi-step-questionnaire-multiselect-container{grid-template-columns:1fr}.multi-step-questionnaire-boolean-options{flex-direction:column;align-items:center;gap:.75rem}.multi-step-questionnaire-boolean-button{max-width:200px;width:100%!important}.multi-step-questionnaire-navigation-controls{flex-direction:column-reverse;gap:.75rem}.multi-step-questionnaire-navigation-controls button{width:100%}}.shop-masonry-gallery__filter-container{margin-bottom:1.5rem}.shop-masonry-gallery__filter-wrapper{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.shop-masonry-gallery__filter-label{color:#4a5568;margin-right:.5rem;font-weight:600}.shop-masonry-gallery__filter-button{cursor:pointer;border:1px solid #d1d5db;border-radius:20px;padding:.25rem .75rem;font-size:.8rem}.shop-masonry-gallery__filter-button--active{color:#fff;background:#667eea}.shop-masonry-gallery__filter-button--inactive{color:#374151;background:#fff}.shop-masonry-gallery__masonry{columns:4;column-fill:balance;column-gap:1rem;width:100%}@media (max-width:1200px){.shop-masonry-gallery__masonry{columns:3!important}}@media (max-width:768px){.shop-masonry-gallery__masonry{columns:2!important}}@media (max-width:480px){.shop-masonry-gallery__masonry{columns:1!important}}.shop-masonry-gallery__post{break-inside:avoid;margin-bottom:1rem;position:relative}.shop-masonry-gallery__post--hidden{display:none!important}.shop-masonry-gallery__card{background:#fff;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.shop-masonry-gallery__header{background:#fff;border-bottom:1px solid #f3f4f6;padding:1rem}.shop-masonry-gallery__meta-row{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:.375rem;display:flex;overflow-x:auto}.shop-masonry-gallery__meta-row::-webkit-scrollbar{display:none}.shop-masonry-gallery__artist-link{color:#fff;white-space:nowrap;background:#000000d9;border:1px solid #fff3;border-radius:12px;flex-shrink:0;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.shop-masonry-gallery__artist-link:hover{background:#7c3aed;border-color:#7c3aed;transform:translateY(-1px)}.shop-masonry-gallery__artist-link:before{content:"👤";font-size:.85rem}.shop-masonry-gallery__style-tag{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);border-radius:12px;flex-shrink:0;padding:.25rem .5rem;font-size:.7rem;font-weight:600;box-shadow:0 2px 4px #7c3aed33}.shop-masonry-gallery__pagination{justify-content:center;align-items:center;gap:1.5rem;margin-top:2rem;padding:1rem;display:flex}.shop-masonry-gallery__pagination-button{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:500;transition:all .2s}.shop-masonry-gallery__pagination-button:hover:not(:disabled){background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.shop-masonry-gallery__pagination-button:active:not(:disabled){transform:translateY(0)}.shop-masonry-gallery__pagination-button:disabled{color:#9ca3af;cursor:not-allowed;background:#d1d5db}.shop-masonry-gallery__pagination-info{color:#4a5568;font-size:.95rem;font-weight:500}.instagram-media{min-width:280px!important;max-width:100%!important}.time-block.booking-pending{color:#92400e;background-color:#fbbf24;border:1px solid #f59e0b}.time-block.booking-accepted{color:#065f46;background-color:#34d399;border:1px solid #10b981}.time-block.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.time-block.clickable:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.time-block.more-indicator{color:#fff;background:#667eea;border:1px solid #667eea}.time-blocks-container{flex-direction:column;gap:2px;display:flex}.time-blocks{pointer-events:none;flex-direction:column;gap:.1rem;display:flex;position:absolute;inset:1.75rem .5rem .5rem}.time-blocks .time-block{color:#fff;pointer-events:auto;background:#7c3aede6;border-radius:3px;flex-direction:column;justify-content:center;min-height:16px;padding:.1rem .25rem;font-size:.6rem;line-height:1;transition:all .2s;display:flex;box-shadow:0 1px 2px #0003}.time-blocks .time-block.blocked{color:#fff;background:#ef4444e6}.time-blocks .time-block.available{color:#fff;background:#6b7280cc}.time-blocks .time-block.booking-pending{color:#92400e;background:#fbbf24f2;border:1px solid #f59e0b}.time-blocks .time-block.booking-accepted{color:#fff;background:#10b981e6;border:1px solid #10b981}.time-blocks .time-block:hover{z-index:10;transform:scale(1.02);box-shadow:0 4px 8px #0006}.time-blocks:has(.time-block+.time-block+.time-block) .time-block{min-height:16px;padding:.1rem .25rem}.time-blocks:has(.time-block+.time-block+.time-block) .time-block .time-block-name{font-size:.5rem}.time-blocks:has(.time-block+.time-block+.time-block) .time-block .time-block-time{font-size:.45rem}.time-blocks:has(.time-block+.time-block):not(:has(.time-block+.time-block+.time-block)) .time-block{min-height:18px;padding:.12rem .3rem}.time-blocks:has(.time-block+.time-block):not(:has(.time-block+.time-block+.time-block)) .time-block .time-block-name{font-size:.52rem}.time-blocks:has(.time-block+.time-block):not(:has(.time-block+.time-block+.time-block)) .time-block .time-block-time{font-size:.48rem}.time-block-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:.05rem;font-size:.55rem;font-weight:600;overflow:hidden}.time-block-time{opacity:.9;font-size:.5rem;font-weight:500}.time-block-time-only{text-align:center;color:#fff;font-size:.55rem;font-weight:600}.time-picker{flex-direction:column;gap:.5rem;display:flex}.time-picker .time-picker-label{color:#374151;font-size:.875rem;font-weight:600}.time-picker .time-picker-controls{align-items:center;gap:.5rem;display:flex}.time-picker .time-picker-controls select{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:.5rem;font-size:.875rem}.time-picker .time-picker-controls select:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 1px #7c3aed}.time-picker .time-picker-controls select.time-picker-hours,.time-picker .time-picker-controls select.time-picker-minutes{min-width:60px}.time-picker .time-picker-controls select.time-picker-ampm{min-width:65px}.time-picker .time-picker-controls .time-picker-separator{color:#6b7280;font-size:1rem;font-weight:700}.artist-login-prompt-main-container{background:linear-gradient(135deg,#667eea,#764ba2);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.artist-login-prompt-card-container{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:500px;padding:3rem 2rem;box-shadow:0 20px 40px #0000001a}.artist-login-prompt-icon-container{margin-bottom:1rem;font-size:4rem}.artist-login-prompt-title{color:#2d3748;margin:0 0 1rem;font-size:2rem;font-weight:700}.artist-login-prompt-description{color:#4a5568;margin:0 0 2rem;font-size:1.1rem;line-height:1.6}.artist-login-prompt-button-container{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.artist-login-prompt-primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.artist-login-prompt-primary-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #667eea66}.artist-login-prompt-secondary-button{color:#667eea;cursor:pointer;background:0 0;border:2px solid #667eea;border-radius:12px;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .2s}.artist-login-prompt-secondary-button:hover{color:#fff;background:#667eea}.artist-login-prompt-footer-section{border-top:1px solid #e2e8f0;padding-top:2rem}.artist-login-prompt-footer-text{color:#6b7280;margin:0 0 1rem;font-size:.9rem}.artist-login-prompt-footer-button{color:#f59e0b;cursor:pointer;background:0 0;border:1px solid #f59e0b;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.artist-login-prompt-footer-button:hover{color:#fff;background:#f59e0b}.available-date-picker{width:100%;max-width:400px;margin:0 auto}.available-date-picker .date-picker-header{background:#f9fafb;border-radius:.5rem;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem;display:flex}.available-date-picker .date-picker-header .month-label{color:#374151;font-size:1.1rem;font-weight:600}.available-date-picker .date-picker-loading{text-align:center;padding:3rem 1rem}.available-date-picker .date-picker-loading .loading-spinner{border:3px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;width:40px;height:40px;margin:0 auto 1rem;animation:.8s linear infinite spin}.available-date-picker .date-picker-loading p{color:#6b7280;font-size:.9rem}.available-date-picker .date-picker-calendar .weekday-headers{grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem;display:grid}.available-date-picker .date-picker-calendar .weekday-headers .weekday-header{text-align:center;color:#6b7280;text-transform:uppercase;padding:.5rem 0;font-size:.75rem;font-weight:600}.available-date-picker .date-picker-calendar .calendar-days{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.available-date-picker .date-picker-calendar .calendar-days .calendar-day{aspect-ratio:1;cursor:pointer;color:#374151;background:#fff;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;font-size:.875rem;transition:all .15s;display:flex}.available-date-picker .date-picker-calendar .calendar-days .calendar-day.empty{cursor:default;background:0 0}.available-date-picker .date-picker-calendar .calendar-days .calendar-day.available{background:#f3f4f6;border-color:#d1d5db;font-weight:500}.available-date-picker .date-picker-calendar .calendar-days .calendar-day.available:hover:not(:disabled){color:#fff;background:#7c3aed;border-color:#7c3aed;transform:scale(1.05)}.available-date-picker .date-picker-calendar .calendar-days .calendar-day.unavailable{color:#9ca3af;cursor:not-allowed;opacity:.5;background:#fef2f2}.available-date-picker .date-picker-calendar .calendar-days .calendar-day.past{color:#d1d5db;cursor:not-allowed;opacity:.4}.available-date-picker .date-picker-calendar .calendar-days .calendar-day.selected{font-weight:600;box-shadow:0 2px 4px #7c3aed4d;color:#fff!important;background:#7c3aed!important;border-color:#7c3aed!important}.available-date-picker .date-picker-calendar .calendar-days .calendar-day:disabled{cursor:not-allowed}.available-date-picker .date-picker-footer{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.available-date-picker .date-picker-footer .no-selection{text-align:center;color:#6b7280;font-size:.875rem;font-style:italic}.available-date-picker .date-picker-footer .selected-info{text-align:center;color:#7c3aed;font-size:.9rem;font-weight:500}.booking-artist-container{background:#f8fafc;justify-content:center;align-items:center;min-height:100vh;display:flex}.booking-artist-content{text-align:center}.booking-artist-text{color:#4a5568}.booking-shop-container{background:#f8fafc;min-height:100vh;padding:2rem 1rem}.booking-shop-wrapper{max-width:800px;margin:0 auto}.booking-shop-card{text-align:center;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #00000014}.booking-shop-title{color:#2d3748;margin:0 0 1rem;font-size:2.5rem;font-weight:700}.booking-shop-subtitle{color:#4a5568;margin:0 0 2rem;font-size:1.1rem}.booking-shop-notice{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;margin:2rem 0;padding:1rem}.booking-shop-notice-title{color:#92400e;margin:0;font-weight:600}.booking-shop-notice-text{color:#92400e;margin:.5rem 0 0;font-size:.9rem}.booking-shop-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.booking-shop-btn-primary{color:#fff;background:#667eea;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none}.booking-shop-btn-secondary{color:#4a5568;background:#e2e8f0;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none}.booking-details{background:#f9fafb;flex-direction:column;align-items:center;width:100%;min-height:100vh;padding:0 auto;display:flex}.booking-details-header{z-index:10;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0}.booking-details-header h1{color:#111827;margin:0;font-size:1.875rem;font-weight:700}.booking-details-header-content{align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:0 1rem;display:flex}.booking-details-back-button{color:#7c3aed;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .2s}.booking-details-back-button:hover{color:#6d28d9;background:#f3f4f6;border-color:#7c3aed}.booking-details-content{box-sizing:border-box;gap:1.5rem;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1rem;display:grid}.booking-details-loading{text-align:center;color:#6b7280;padding:2rem;font-style:italic}.booking-details-error-message{color:#dc2626;background:#fee2e2;border:1px solid #fecaca;border-radius:.5rem;margin-top:1rem;padding:.75rem 1rem;font-weight:500}.booking-details-success-message{color:#059669;background:#d1fae5;border:1px solid #a7f3d0;border-radius:.5rem;margin-top:1rem;padding:.75rem 1rem;font-weight:500}.booking-details-overview-card,.booking-details-description-card,.booking-details-notes-card,.booking-details-history-card,.booking-details-messages-card,.booking-details-actions-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.booking-details-overview-card:hover,.booking-details-description-card:hover,.booking-details-notes-card:hover,.booking-details-history-card:hover,.booking-details-messages-card:hover,.booking-details-actions-card:hover{transition:all .2s;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.booking-details-card-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.booking-details-card-header h2{color:#111827;margin:0;font-size:1.25rem;font-weight:600}.booking-details-overview-card{border-left:4px solid #7c3aed}.booking-details-overview-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.booking-details-overview-item{background:#f9fafb;border-left:3px solid #e5e7eb;border-radius:.5rem;padding:.75rem}.booking-details-overview-item label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.875rem;font-weight:500;display:block}.booking-details-overview-value{color:#111827;font-size:1rem;font-weight:600}.booking-details-status-badge{text-transform:capitalize;border:1px solid #0000;border-radius:9999px;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.booking-details-status-badge.booking-details-status-pending{color:#92400e;background:#fef3c7;border-color:#f59e0b}.booking-details-status-badge.booking-details-status-approved{color:#064e3b;background:#bbf7d0;border-color:#10b981}.booking-details-status-badge.booking-details-status-declined{color:#991b1b;background:#fee2e2;border-color:#ef4444}.booking-details-description-card{border-left:4px solid #f97316}.booking-details-description-content{color:#4b5563;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;font-size:1rem;line-height:1.6}.booking-details-notes-card{border-left:4px solid #10b981}.booking-details-notes-content{color:#374151;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:.5rem;padding:1rem;font-size:1rem;line-height:1.6}.booking-details-history-card{border-left:4px solid #6b7280}.booking-details-history-count{color:#6b7280;background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);border:1px solid #d1d5db;border-radius:9999px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;box-shadow:0 1px 2px #0000000d}.booking-details-history-list{gap:1rem;display:grid}.booking-details-history-item{cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:1rem;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px #00000012,0 1px 3px #0000000f}.booking-details-history-item:before{content:"";background:linear-gradient(#7c3aed 0%,#6366f1 50%,#8b5cf6 100%);border-radius:0 2px 2px 0;width:4px;transition:all .3s;position:absolute;top:0;bottom:0;left:0}.booking-details-history-item:hover{background:linear-gradient(135deg,#fff 0%,#f1f5f9 100%);border-color:#a78bfa;transform:translateY(-4px)scale(1.02);box-shadow:0 12px 24px #00000026,0 4px 8px #0000001a}.booking-details-history-item:hover:before{background:linear-gradient(#6366f1 0%,#8b5cf6 50%,#a855f7 100%);width:8px}.booking-details-history-item:hover .booking-details-history-id{color:#7c3aed}.booking-details-history-item:hover .booking-details-history-arrow{opacity:1;color:#7c3aed;background:linear-gradient(135deg,#ddd6fe 0%,#c7d2fe 100%);border-color:#a78bfa;transform:translate(6px)rotate(5deg);box-shadow:0 2px 4px #7c3aed33}.booking-details-history-details{flex-direction:column;flex:1;gap:.5rem;display:flex}.booking-details-history-id{color:#1f2937;letter-spacing:-.025em;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:800;transition:all .2s;display:flex}.booking-details-history-date{color:#4b5563;background:#3b82f61a;border:1px solid #3b82f633;border-radius:9999px;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.95rem;font-weight:600;display:flex}.booking-details-history-date:before{content:"📅";font-size:.875rem}.booking-details-history-created{color:#9ca3af;align-items:center;gap:.5rem;font-size:.85rem;font-style:italic;font-weight:500;display:flex}.booking-details-history-created:before{content:"⏰";font-size:.75rem}.booking-details-history-status-container{align-items:center;gap:1rem;display:flex}.booking-details-history-status{text-transform:capitalize;white-space:nowrap;border:1px solid #0000;border-radius:9999px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;box-shadow:0 1px 3px #0000001a}.booking-details-history-status-completed{color:#5b21b6;background:linear-gradient(135deg,#ddd6fe 0%,#c7d2fe 100%);border-color:#a78bfa}.booking-details-history-status-pending{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-color:#f59e0b}.booking-details-history-status-approved{color:#064e3b;background:linear-gradient(135deg,#bbf7d0 0%,#a7f3d0 100%);border-color:#10b981}.booking-details-history-status-declined{color:#991b1b;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-color:#ef4444}.booking-details-history-arrow{color:#9ca3af;opacity:.7;background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.5rem;transition:all .3s;display:flex}.booking-details-no-history{text-align:center;color:#9ca3af;background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);border:2px dashed #e5e7eb;border-radius:.75rem;padding:3rem 2rem;font-style:italic}.booking-details-messages-card{border-left:4px solid #3b82f6}.booking-details-message-count{color:#1d4ed8;background:#dbeafe;border-radius:9999px;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.booking-details-messages-list{z-index:0;max-height:400px;margin-bottom:1.5rem;padding:.5rem .5rem .5rem 0;position:relative;overflow-y:auto}.booking-details-messages-list::-webkit-scrollbar{width:6px}.booking-details-messages-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.booking-details-messages-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.booking-details-messages-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.booking-details-message-item{z-index:1;clear:both;isolation:isolate;border:1px solid #0000;border-radius:.75rem;margin-bottom:1rem;padding:1rem;transition:all .2s;position:relative;box-shadow:0 1px 3px #0000001a}.booking-details-message-item.booking-details-sender-client{z-index:1;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-left:4px solid #3b82f6;margin-bottom:1rem;margin-right:3rem;position:relative}.booking-details-message-item.booking-details-sender-client:after{content:"";z-index:2;border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:12px solid #3b82f6;width:0;height:0;position:absolute;top:20px;right:-12px}.booking-details-message-item.booking-details-sender-artist{text-align:right;z-index:1;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-right:4px solid #f59e0b;margin-bottom:1rem;margin-left:3rem;position:relative}.booking-details-message-item.booking-details-sender-artist:before{content:"";z-index:2;border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:12px solid #f59e0b;width:0;height:0;position:absolute;top:20px;left:-12px}.booking-details-message-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.booking-details-sender-name{color:#111827;background:#fffc;border:1px solid #0000001a;border-radius:9999px;padding:.25rem .75rem;font-size:.875rem;font-weight:600}.booking-details-message-time{color:#9ca3af;font-size:.75rem;font-weight:500}.booking-details-message-content{color:#374151;margin-top:.5rem;font-size:.95rem;line-height:1.6}.booking-details-no-messages{text-align:center;color:#9ca3af;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:.75rem;padding:3rem 2rem;font-style:italic}.booking-details-message-input-container{border-top:1px solid #e5e7eb;align-items:center;gap:.75rem;padding-top:1rem;display:flex}.booking-details-message-input{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;flex:1;padding:.75rem 1rem;font-size:.875rem;transition:all .2s}.booking-details-message-input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed1a}.booking-details-message-input::placeholder{color:#9ca3af}.booking-details-actions-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border-left:4px solid #7c3aed}.booking-details-actions-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.booking-details-actions-grid button{cursor:pointer;border:1px solid #0000;border-radius:.5rem;padding:.875rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .2s}.booking-details-decline-modal-overlay,.booking-details-suggest-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.booking-details-decline-modal-overlay .card,.booking-details-suggest-modal-overlay .card{background:#fff;border-radius:.75rem;width:90vw;max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.booking-details-decline-modal-overlay .card h3,.booking-details-suggest-modal-overlay .card h3{color:#111827;margin:0 0 1rem;font-size:1.5rem;font-weight:700}.booking-details-decline-modal-content p{color:#6b7280;margin-bottom:1rem;line-height:1.6}.booking-details-decline-reason-input{resize:vertical;box-sizing:border-box;border:1px solid #d1d5db;border-radius:.5rem;width:100%;min-height:100px;padding:.75rem;font-family:inherit;font-size:.875rem;line-height:1.5}.booking-details-decline-reason-input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed1a}.booking-details-decline-modal-footer,.booking-details-suggest-modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.booking-details-suggest-modal-content p{color:#6b7280;margin-bottom:1rem;line-height:1.6}.booking-details-form-group{margin-bottom:1.5rem}.booking-details-form-group label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.booking-details-form-group input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:.5rem;width:100%;padding:.75rem;font-size:.875rem;transition:all .2s}.booking-details-form-group input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed1a}@media (max-width:768px){.booking-details-content{gap:1rem;padding:1rem}.booking-details-header-content{padding:0 1rem}.booking-details-header h1{font-size:1.5rem}.booking-details-overview-grid,.booking-details-actions-grid{grid-template-columns:1fr}.booking-details-history-item{flex-direction:column;align-items:flex-start;gap:.75rem}.booking-details-history-status-container{justify-content:space-between;align-self:stretch}.booking-details-sender-artist{text-align:left;margin-left:0;margin-right:3rem}.booking-details-sender-artist:before{display:none}.booking-details-sender-artist:after{content:"";border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:12px solid #f59e0b;width:0;height:0;position:absolute;top:20px;right:-12px}.booking-details-sender-client{margin-left:3rem;margin-right:0}.booking-details-sender-client:after{display:none}.booking-details-sender-client:before{content:"";border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:12px solid #3b82f6;width:0;height:0;position:absolute;top:20px;left:-12px}.booking-details-message-input-container{flex-direction:column;align-items:stretch}}@media (max-width:480px){.booking-details-content{padding:.75rem}.booking-details-overview-card,.booking-details-description-card,.booking-details-notes-card,.booking-details-history-card,.booking-details-messages-card,.booking-details-actions-card{padding:1rem}.booking-details-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.booking-modal-container{flex-direction:column;max-height:70vh;display:flex;width:100%!important}.booking-modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.booking-modal-header h2{color:#374151;margin:0;font-size:1.5rem;font-weight:600}.booking-modal-tabs{border-bottom:1px solid #e5e7eb;gap:.5rem;padding:1rem 1.5rem 0;display:flex}.booking-modal-content{word-wrap:break-word;flex:1;min-width:0;padding:1.5rem;overflow:hidden auto}.booking-modal-details-tab{flex-direction:column;gap:1.5rem;display:flex}.booking-modal-client-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.booking-modal-client-info h3{color:#374151;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.booking-modal-info-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.booking-modal-info-grid{grid-template-columns:1fr 1fr}}.booking-modal-info-item{flex-direction:column;gap:.25rem;display:flex}.booking-modal-info-item label{color:#6b7280;font-size:.875rem;font-weight:600}.booking-modal-info-item span{color:#374151;font-size:.9rem}.booking-modal-tattoo-info{background:#fefce8;border:1px solid #fbbf24;border-radius:12px;padding:1.5rem}.booking-modal-tattoo-info h3{color:#92400e;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.booking-modal-client-message{background:#eff6ff;border:1px solid #3b82f6;border-radius:12px;padding:1.5rem}.booking-modal-client-message h3{color:#1e40af;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.booking-modal-client-message p{color:#374151;margin:0;line-height:1.6}.booking-modal-response-form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.booking-modal-response-form h3{color:#374151;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.booking-modal-response-actions{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;display:flex}@media (max-width:640px){.booking-modal-response-actions{flex-direction:column}}.booking-modal-booking-status{background:#f0fdf4;border:1px solid #34d399;border-radius:12px;padding:1.5rem}.booking-modal-booking-status h3{color:#065f46;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.booking-modal-artist-response{margin-top:1rem}.booking-modal-artist-response label{color:#6b7280;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.booking-modal-artist-response p{color:#374151;background:#f9fafb;border-left:4px solid #e5e7eb;border-radius:8px;margin:0;padding:1rem;line-height:1.6}.booking-modal-estimated-price{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.booking-modal-estimated-price label{color:#6b7280;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.booking-modal-estimated-price span{color:#059669;font-size:1.125rem;font-weight:600}.booking-modal-messages-tab{flex-direction:column;gap:1rem;height:100%;display:flex}.booking-modal-message-history{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;flex:1;max-height:400px;padding:1rem;overflow-y:auto}.booking-modal-no-messages{text-align:center;color:#6b7280;padding:2rem}.booking-modal-no-messages p{margin:0;font-style:italic}.booking-modal-message{border-radius:12px;margin-bottom:1rem;padding:1rem}.booking-modal-message:last-child{margin-bottom:0}.booking-modal-message.artist{background:#e0f2fe;border:1px solid #0284c7;margin-left:2rem}@media (max-width:640px){.booking-modal-message.artist{margin-left:1rem}}.booking-modal-message.client{background:#fef3c7;border:1px solid #f59e0b;margin-right:2rem}@media (max-width:640px){.booking-modal-message.client{margin-right:1rem}}.booking-modal-message-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.booking-modal-message-header .sender{color:#374151;font-size:.875rem;font-weight:600}.booking-modal-message-header .timestamp{color:#6b7280;font-size:.75rem}.booking-modal-message-content{color:#374151;margin:0;line-height:1.6}.booking-modal-loading-messages{color:#6b7280;justify-content:center;align-items:center;gap:.5rem;padding:2rem;display:flex}.booking-modal-loading-messages span{font-size:.875rem}.booking-modal-message-input{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:1rem;padding:1rem;display:flex;box-shadow:0 1px 3px #0000001a}@media (min-width:640px){.booking-modal-message-input{flex-direction:row;align-items:flex-end}}@media (max-width:768px){.booking-modal-container{max-height:85vh}.booking-modal-header{padding:1rem}.booking-modal-header h2{font-size:1.25rem}.booking-modal-content{padding:1rem}.booking-modal-info-grid{grid-template-columns:1fr;gap:.75rem}.booking-modal-response-actions{flex-direction:column;gap:.75rem}}.booking-modal-container :focus{outline-offset:2px;outline:2px solid #7c3aed}@media print{.booking-modal-container{max-height:none;overflow:visible}.booking-modal-tabs,.booking-modal-response-actions,.booking-modal-message-input{display:none}}.booking-sidebar-container{flex-direction:column;height:100%;display:flex}.booking-sidebar-container .booking-sidebar-header{border-bottom:1px solid #e9ecef;padding:1.5rem}.booking-sidebar-container .booking-sidebar-header h3{color:#374151;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.booking-sidebar-container .booking-sidebar-list{flex:1;min-height:0;padding:1rem;overflow-y:auto}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-no-bookings{text-align:center;color:#6b7280;padding:2rem}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card{cursor:pointer;background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1rem;padding:1rem;transition:all .2s}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card:hover{border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed26}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-card-header h4{color:#374151;margin:0;font-size:1rem;font-weight:600}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-card-header .booking-sidebar-status-badge{text-transform:uppercase;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-card-header .booking-sidebar-status-badge.booking-sidebar-status-pending{color:#92400e;background:#fef3c7}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-card-header .booking-sidebar-status-badge.booking-sidebar-status-approved{color:#065f46;background:#d1fae5}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-card-header .booking-sidebar-status-badge.booking-sidebar-status-declined{color:#991b1b;background:#fee2e2}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-details{margin-bottom:.75rem}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-details .booking-sidebar-date{margin-bottom:.5rem;font-size:.875rem}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-details .booking-sidebar-date strong{color:#7c3aed}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-details .booking-sidebar-tattoo-description{color:#6b7280;margin:.5rem 0;font-size:.875rem;line-height:1.4}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-details .booking-sidebar-placement{color:#374151;margin:.25rem 0;font-size:.875rem}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-details .booking-sidebar-placement .booking-sidebar-label{color:#374151;font-weight:600}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-details .booking-sidebar-size{color:#374151;margin:.25rem 0;font-size:.875rem}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-details .booking-sidebar-size .booking-sidebar-label{color:#374151;font-weight:600}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-client-message{background:#f8fafc;border-left:3px solid #7c3aed;border-radius:0 4px 4px 0;margin:.75rem 0;padding:.75rem}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-client-message p{color:#4b5563;margin:0;font-size:.875rem;line-height:1.4}.booking-sidebar-container .booking-sidebar-list .booking-sidebar-card .booking-sidebar-actions{border-top:1px solid #f3f4f6;justify-content:flex-end;margin-top:.75rem;padding-top:.75rem;display:flex}.calendar-grid{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.calendar-grid-navigation{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.calendar-grid-navigation .current-month{margin:0;font-size:1.5rem;font-weight:600}.calendar-grid-navigation button{color:#fff;background:#fff3;border:none;border-radius:6px;padding:.5rem 1rem;transition:background .2s}.calendar-grid-navigation button:hover{background:#ffffff4d}.calendar-grid-weekdays{background:#f8f9fa;grid-template-columns:repeat(7,1fr);display:grid}.calendar-grid-weekdays .weekday{text-align:center;color:#6b7280;border-right:1px solid #e9ecef;padding:1rem;font-weight:600}.calendar-grid-weekdays .weekday:last-child{border-right:none}.calendar-grid-days{grid-template-columns:repeat(7,1fr);display:grid}.calendar-grid-days .calendar-grid-day,.calendar-grid-days .calendar-day{cursor:pointer;background:#fff;border:1px solid #e9ecef;min-height:120px;transition:all .2s;position:relative}.calendar-grid-days .calendar-grid-day:hover,.calendar-grid-days .calendar-day:hover{z-index:1;background:#f8f9fa;box-shadow:0 4px 12px #00000026}.calendar-grid-days .calendar-grid-day.empty,.calendar-grid-days .empty.calendar-day{cursor:default;background:#f8f9fa}.calendar-grid-days .calendar-grid-day.empty:hover,.calendar-grid-days .empty.calendar-day:hover{box-shadow:none;background:#f8f9fa}.calendar-grid-days .calendar-grid-day.selected,.calendar-grid-days .selected.calendar-day{background:#ede9fe;border-color:#7c3aed;box-shadow:inset 0 0 0 2px #7c3aed}.calendar-grid-days .calendar-grid-day.blocked,.calendar-grid-days .blocked.calendar-day{background:#fef2f2;border-left:4px solid #ef4444}.calendar-grid-days .calendar-grid-day.has-request,.calendar-grid-days .has-request.calendar-day{background:#fef3c7;border-color:#f59e0b}.calendar-grid-days .calendar-grid-day.has-request:after,.calendar-grid-days .has-request.calendar-day:after{content:"";background:#f59e0b;border-radius:50%;width:10px;height:10px;position:absolute;top:.5rem;right:.5rem}.calendar-grid-days .calendar-grid-day .day-number,.calendar-grid-days .calendar-day .day-number{color:#374151;font-weight:600;position:absolute;top:.5rem;left:.5rem}.calendar-grid-days .calendar-grid-day .request-indicator,.calendar-grid-days .calendar-day .request-indicator{background:#f59e0b;border-radius:50%;width:8px;height:8px;position:absolute;top:.75rem;right:.75rem}.calendar-grid-days .calendar-grid-day .available-indicator,.calendar-grid-days .calendar-day .available-indicator{background:#10b981;border-radius:50%;width:8px;height:8px;position:absolute;bottom:.5rem;right:.5rem}.calendar-grid-legend{background:#f8f9fa;border-top:1px solid #e9ecef;justify-content:center;gap:2rem;padding:1rem;display:flex}.calendar-grid-legend .legend-item{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.calendar-grid-legend .legend-item .legend-color{border-radius:4px;width:16px;height:16px}.calendar-grid-legend .legend-item .legend-color.available{background:#fff;border:1px solid #e9ecef}.calendar-grid-legend .legend-item .legend-color.blocked{background:#ef4444}.calendar-grid-legend .legend-item .legend-color.has-request{background:#f59e0b}.current-month{margin:0;font-size:1.5rem;font-weight:600}.weekday{text-align:center;color:#6b7280;border-right:1px solid #e9ecef;padding:1rem;font-weight:600}.weekday:last-child{border-right:none}.home-container{max-width:1200px;margin:0 auto;padding:2rem}.home-header{text-align:center;margin-bottom:3rem}.home-title{margin-bottom:1rem;font-size:3rem}.home-subtitle{color:#666;margin-bottom:2rem;font-size:1.2rem}.home-buttons{justify-content:center;gap:2rem;margin-bottom:3rem;display:flex}.home-styles-section{margin-top:3rem}.home-styles-title{text-align:center;margin-bottom:2rem}.home-styles-grid{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.home-footer{text-align:center;margin-top:4rem}.home-footer-text{color:#888}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)rotate(-15deg)}40%{transform:translateY(-10px)rotate(-15deg)}60%{transform:translateY(-5px)rotate(-15deg)}}.not-found-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.not-found-inner{text-align:center;width:100%;max-width:600px}.not-found-header{margin-bottom:2rem;position:relative}.not-found-404-text{color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;margin:0;font-size:8rem;font-weight:900;line-height:1}.not-found-tattoo-icon{font-size:3rem;animation:2s infinite bounce;position:absolute;top:0;right:-20px}.not-found-card{background:#fff;border-radius:20px;margin-bottom:2rem;padding:3rem 2rem;box-shadow:0 20px 40px #0000001a}.not-found-title{color:#2d3748;margin:0 0 1rem;font-size:2.5rem;font-weight:700}.not-found-description{color:#4a5568;margin:0 0 2rem;font-size:1.2rem;line-height:1.6}.not-found-button-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.not-found-btn-home{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.not-found-btn-explore{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:12px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #f59e0b4d}.not-found-btn-match{color:#667eea;cursor:pointer;background:0 0;border:2px solid #667eea;border-radius:12px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.not-found-btn-styles{color:#f59e0b;cursor:pointer;background:0 0;border:2px solid #f59e0b;border-radius:12px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.not-found-help-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border-radius:12px;padding:1.5rem}.not-found-help-text{color:#6b7280;margin:0 0 1rem;font-size:.9rem}.not-found-help-links{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.not-found-support-link{color:#667eea;font-size:.9rem;font-weight:500;text-decoration:none}.not-found-separator{color:#d1d5db}.not-found-back-btn{color:#667eea;cursor:pointer;background:0 0;border:none;font-size:.9rem;font-weight:500;text-decoration:none}.shop-container{background:#f8fafc;min-height:100vh}.shop-header{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 1rem}.shop-header-content{max-width:1200px;margin:0 auto}.shop-header-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.shop-header-info{text-align:left;flex:1}.shop-title{text-align:left;margin:0 0 .5rem;font-size:2.5rem;font-weight:700;line-height:1}.shop-location-header{opacity:.9;text-align:left;align-items:center;gap:.5rem;font-size:1rem;display:flex}.shop-actions{flex-wrap:wrap;gap:1rem;display:flex}.shop-action-button{color:#fff;border-radius:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s}.shop-action-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.shop-action-button.shop-action-directions{color:#667eea;background:#fff;border:2px solid #fff}.shop-action-button.shop-action-directions:hover{background:#ffffffe6}.shop-action-button.shop-action-website{color:#667eea;background:#fff;border:2px solid #fff}.shop-action-button.shop-action-website:hover{background:#ffffffe6}.shop-main-content{max-width:1200px;margin:0 auto;padding:2rem 1rem}.shop-artists-compact{background:#fff;border-radius:12px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.shop-section-subtitle{color:#374151;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.shop-artists-chips{flex-wrap:wrap;gap:.5rem;display:flex}.shop-artist-chip{color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s}.shop-artist-chip:hover{color:#fff;background:#7c3aed;border-color:#7c3aed;transform:translateY(-1px)}.shop-info-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #00000014}.shop-artists-section{margin-bottom:2rem}.shop-section-title{color:#1a202c;text-align:left;margin:0 0 1.5rem;font-size:1.5rem;font-weight:700}.shop-artists-list{flex-direction:column;gap:1rem;display:flex}.shop-artist-item{border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.shop-artist-name{color:#2d3748;font-weight:600}.shop-artist-experience{color:#6b7280;font-size:.8rem}.shop-artist-profile-link{color:#fff;background:#667eea;border-radius:6px;padding:.25rem .75rem;font-size:.8rem;text-decoration:none}.shop-styles-list{flex-wrap:wrap;gap:.5rem;display:flex}.shop-style-tag{color:#fff;background:#667eea;border-radius:20px;padding:.25rem .75rem;font-size:.8rem}.shop-location-text{color:#4a5568;margin:0 0 1rem;font-size:1rem;line-height:1.5}.shop-directions-link{color:#fff;background:#4285f4;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.shop-map-container{border:1px solid #e2e8f0;border-radius:8px;width:100%;height:200px;position:relative;overflow:hidden}.shop-map-iframe{pointer-events:none;border:none;width:100%;height:100%}.shop-map-overlay{pointer-events:none;background:0 0;width:100%;height:100%;position:absolute;top:0;left:0}.shop-portfolio-title{color:#1a202c;text-align:left;margin:0 0 1.5rem;font-size:1.75rem;font-weight:700}.shop-error-header{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 1rem}.shop-error-header-content{text-align:center;max-width:1200px;margin:0 auto}.shop-error-title{margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.shop-error-subtitle{opacity:.9;font-size:1.1rem}.shop-error-content{max-width:1200px;margin:0 auto;padding:2rem 1rem}.shop-error-card{text-align:center;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #00000014}.shop-error-text{color:#4a5568;margin:0}.subscription-tiers-container{background:#f8fafc;min-height:100vh;padding:2rem 1rem}.subscription-tiers-header{text-align:center;margin-bottom:3rem}.subscription-tiers-header h1{color:#1a202c;background:linear-gradient(135deg,#7c3aed,#f97316);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 1rem;font-size:2.75rem;font-weight:700}.subscription-tiers-header p{color:#4a5568;max-width:600px;margin:0 auto;font-size:1.2rem;line-height:1.6}.subscription-tiers-loading-container{justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.subscription-tiers-loading-container p{color:#6b7280;font-size:1.1rem;font-weight:500}.subscription-tiers-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;max-width:1200px;margin:0 auto 3rem;display:grid}.subscription-tiers-card{background:#fff;border:2px solid #0000;border-radius:16px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000014}.subscription-tiers-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.subscription-tiers-card.subscription-tiers-selected{border-color:#7c3aed;transform:translateY(-4px);box-shadow:0 8px 24px #7c3aed33}.subscription-tiers-header{text-align:center;border-bottom:1px solid #e2e8f0;padding:2rem 2rem 1rem}.subscription-tiers-header h3{color:#1a202c;margin:0 0 1rem;font-size:1.75rem;font-weight:700}.subscription-tiers-price{justify-content:center;align-items:baseline;gap:.5rem;margin-bottom:1rem;display:flex}.subscription-tiers-price .subscription-tiers-price-amount{color:#7c3aed;font-size:3rem;font-weight:800;line-height:1}.subscription-tiers-price .subscription-tiers-price-period{color:#6b7280;font-size:1.1rem;font-weight:500}.subscription-tiers-features{padding:1.5rem 2rem}.subscription-tiers-features h4{color:#374151;margin:0 0 1rem;font-size:1.1rem;font-weight:600}.subscription-tiers-features ul{margin:0;padding:0;list-style:none}.subscription-tiers-features ul li{color:#4a5568;padding:.5rem 0 .5rem 1.5rem;font-weight:500;position:relative}.subscription-tiers-features ul li:before{content:"✓";color:#10b981;font-weight:700;position:absolute;left:0}.subscription-tiers-select-btn{color:#fff!important;cursor:pointer!important;background:linear-gradient(135deg,#7c3aed,#f97316)!important;border:none!important;border-radius:12px!important;width:calc(100% - 4rem)!important;margin:1.5rem 2rem 2rem!important;padding:1rem!important;font-size:1.1rem!important;font-weight:600!important;transition:all .2s!important}.subscription-tiers-select-btn:hover{transform:translateY(-2px)!important;box-shadow:0 6px 16px #7c3aed4d!important}.subscription-tiers-select-btn:disabled,.subscription-tiers-select-btn[disabled]{color:#9ca3af!important;cursor:not-allowed!important;box-shadow:none!important;background:#e2e8f0!important;transform:none!important}.subscription-tiers-actions{text-align:center;background:#fff;border-radius:16px;max-width:600px;margin:2rem auto;padding:2rem;box-shadow:0 4px 16px #00000014}.subscription-tiers-payment-notice{background:#fef3c7;border:1px solid #f59e0b;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.subscription-tiers-payment-notice p{color:#92400e;margin:0;font-size:.95rem;font-weight:500}.subscription-tiers-action-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.subscription-tiers-action-buttons button button,.subscription-tiers-action-buttons a button{color:#fff!important;cursor:pointer!important;background:linear-gradient(135deg,#7c3aed,#f97316)!important;border:none!important;border-radius:12px!important;min-width:140px!important;padding:1rem 2rem!important;font-size:1.1rem!important;font-weight:600!important;text-decoration:none!important;transition:all .2s!important;display:inline-block!important}.subscription-tiers-action-buttons button button:hover,.subscription-tiers-action-buttons a button:hover{transform:translateY(-2px)!important;box-shadow:0 6px 16px #7c3aed4d!important}.subscription-tiers-action-buttons button button:disabled,.subscription-tiers-action-buttons button button[disabled],.subscription-tiers-action-buttons a button:disabled,.subscription-tiers-action-buttons a button[disabled]{color:#9ca3af!important;cursor:not-allowed!important;box-shadow:none!important;background:#e2e8f0!important;transform:none!important}.subscription-tiers-action-buttons button:nth-child(2) button,.subscription-tiers-action-buttons a:nth-child(2) button{color:#7c3aed!important;background:#fff!important;border:2px solid #7c3aed!important}.subscription-tiers-action-buttons button:nth-child(2) button:hover,.subscription-tiers-action-buttons a:nth-child(2) button:hover{color:#fff!important;background:#7c3aed!important}.subscription-tiers-error-message{color:#dc2626;text-align:center;background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;max-width:600px;margin:1.5rem auto;padding:1rem 1.5rem;font-weight:500}.subscription-tiers-success-message{color:#16a34a;text-align:center;background:#f0fdf4;border:1px solid #86efac;border-radius:12px;max-width:600px;margin:1.5rem auto;padding:1rem 1.5rem;font-weight:500}@media (max-width:768px){.subscription-tiers-container{padding:1rem .5rem}.subscription-tiers-header{margin-bottom:2rem}.subscription-tiers-header h1{font-size:2rem}.subscription-tiers-header p{font-size:1rem}.subscription-tiers-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.subscription-tiers-card .subscription-tiers-header{padding:1.5rem 1.5rem 1rem}.subscription-tiers-card .subscription-tiers-header h3{font-size:1.5rem}.subscription-tiers-card .subscription-tiers-price .subscription-tiers-price-amount{font-size:2.5rem}.subscription-tiers-card .subscription-tiers-features{padding:1rem 1.5rem}.subscription-tiers-card .subscription-tiers-select-btn{width:calc(100% - 3rem)!important;margin:1rem 1.5rem 1.5rem!important}.subscription-tiers-actions{margin:1.5rem .5rem;padding:1.5rem}.subscription-tiers-action-buttons{flex-direction:column;align-items:center}.subscription-tiers-action-buttons button,.subscription-tiers-action-buttons a button{width:100%!important;max-width:280px!important}}.booking-confirmation-container{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.booking-confirmation-content{background:#fff;border-radius:16px;width:100%;max-width:600px;overflow:hidden;box-shadow:0 10px 25px #0000001a}.booking-confirmation-header{text-align:center;color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);padding:3rem 2rem 2rem}.booking-confirmation-success-icon{color:#22c55e;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:5rem;height:5rem;margin:0 auto 1rem;font-size:4rem;display:flex;box-shadow:0 4px 12px #22c55e4d}.booking-confirmation-title{color:#fff;margin:0 0 .5rem;font-size:2rem;font-weight:700}.booking-confirmation-subtitle{opacity:.9;color:#fff;margin:0;font-size:1.1rem}.booking-confirmation-details{padding:2rem}.booking-confirmation-reference{text-align:center;background:#f1f5f9;border:2px dashed #cbd5e1;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.booking-confirmation-reference-title{color:#475569;margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.booking-confirmation-reference-number{color:#7c3aed;margin:0 0 .5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:2rem;font-weight:700}.booking-confirmation-reference-note{color:#64748b;margin:0;font-size:.9rem}.booking-confirmation-section-title{color:#1e293b;margin:0 0 1rem;font-size:1.3rem;font-weight:600}.booking-confirmation-next-steps{margin-bottom:2rem}.booking-confirmation-steps{flex-direction:column;gap:1.5rem;display:flex}.booking-confirmation-step{align-items:flex-start;gap:1rem;display:flex}.booking-confirmation-step-number{color:#fff;background:#7c3aed;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.1rem;font-weight:600;display:flex}.booking-confirmation-step-content{flex:1}.booking-confirmation-step-content h3{color:#1e293b;margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.booking-confirmation-step-content p{color:#64748b;margin:0;line-height:1.5}.booking-confirmation-contact{margin-bottom:2rem}.booking-confirmation-contact-info p{color:#64748b;margin:0 0 1rem}.booking-confirmation-contact-list{margin:0;padding:0;list-style:none}.booking-confirmation-contact-list li{color:#64748b;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.booking-confirmation-contact-list li:before{content:"•";color:#7c3aed;font-weight:700;position:absolute;left:0}.booking-confirmation-actions{border-top:1px solid #e2e8f0;justify-content:center;gap:1rem;margin-top:2rem;padding-top:2rem;display:flex}.booking-confirmation-actions button{flex:1;max-width:200px}@media (max-width:768px){.booking-confirmation-container{align-items:flex-start;padding:2rem 1rem 1rem}.booking-confirmation-content{max-width:100%}.booking-confirmation-header{padding:2rem 1.5rem 1.5rem}.booking-confirmation-title{font-size:1.5rem}.booking-confirmation-subtitle{font-size:1rem}.booking-confirmation-details{padding:1.5rem}.booking-confirmation-reference-number{font-size:1.5rem}.booking-confirmation-actions{flex-direction:column}.booking-confirmation-actions button{max-width:none}}.time-slot-picker{margin-top:1rem}.time-slot-picker .time-slot-picker-header{margin-bottom:1rem}.time-slot-picker .time-slot-picker-header h4{color:#111827;margin:0 0 .5rem;font-size:1rem;font-weight:600}.time-slot-picker .time-slot-picker-header .time-slot-picker-subtitle{color:#6b7280;margin:0;font-size:.875rem}.time-slot-picker .time-slot-picker-content .time-slot-picker-loading{color:#6b7280;flex-direction:column;align-items:center;padding:2rem;display:flex}.time-slot-picker .time-slot-picker-content .time-slot-picker-loading .loading-spinner{border:2px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;width:1.5rem;height:1.5rem;margin-bottom:.5rem;animation:1s linear infinite spin}.time-slot-picker .time-slot-picker-content .time-slot-picker-loading p{margin:0;font-size:.875rem}.time-slot-picker .time-slot-picker-content .time-slot-picker-empty{text-align:center;color:#6b7280;padding:2rem}.time-slot-picker .time-slot-picker-content .time-slot-picker-empty p{margin:0 0 .5rem;font-size:.875rem}.time-slot-picker .time-slot-picker-content .time-slot-picker-empty p:first-child{color:#374151;font-weight:500}.time-slot-picker .time-slot-picker-content .time-slot-picker-empty .time-slot-picker-suggestion{color:#9ca3af;font-size:.8125rem}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-top:1rem;display:grid}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button{background:#fff;border:1px solid #d1d5db;border-radius:8px;min-height:60px;padding:0;transition:all .2s}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button:hover{background:#faf5ff;border-color:#7c3aed;transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed26}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button.selected{color:#fff;background:#7c3aed;border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed40}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button.selected .time-slot-button-content .time-slot-time{color:#fff}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button.selected .time-slot-button-content .time-slot-label{color:#ffffffe6}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button .time-slot-button-content{flex-direction:column;justify-content:center;align-items:center;padding:.75rem;display:flex}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button .time-slot-button-content .time-slot-time{color:#111827;margin-bottom:.25rem;font-size:.875rem;font-weight:600}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button .time-slot-button-content .time-slot-label{color:#059669;text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;font-weight:500}@media (max-width:640px){.time-slot-picker .time-slot-picker-content .time-slot-picker-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button{min-height:50px}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button .time-slot-button-content{padding:.5rem}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button .time-slot-button-content .time-slot-time{font-size:.8125rem}.time-slot-picker .time-slot-picker-content .time-slot-picker-grid .time-slot-button .time-slot-button-content .time-slot-label{font-size:.6875rem}}.map-loading-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;pointer-events:none;background:#f8fafccc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.map-loading-content{color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:1rem;padding:1.5rem 2rem;font-weight:500;display:flex;box-shadow:0 8px 25px #00000026}.map-loading-spinner{border:3px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}.btn-primary{color:#fff;cursor:pointer;background:#007bff;border:none;border-radius:8px;padding:1rem 2rem;font-size:1.1rem;transition:background-color .2s}.btn-primary:hover{background:#0056b3}.btn-secondary{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:6px;padding:.75rem 1.5rem;transition:background-color .2s}.btn-secondary:hover{background:#545b62}.btn-outlined{color:#007bff;cursor:pointer;background:0 0;border:1px solid #007bff;border-radius:6px;padding:.5rem 1rem;transition:all .2s}.btn-outlined:hover{color:#fff;background:#007bff}.form-input{border:1px solid #ccc;border-radius:4px;width:100%;padding:.5rem;font-size:1rem}.form-label{margin-bottom:.5rem;font-weight:700;display:block}.card{background:#fff;border:1px solid #ddd;border-radius:8px;transition:box-shadow .2s;box-shadow:0 2px 4px #0000001a}.card:hover{box-shadow:0 4px 8px #00000026}