.landing-page{min-height:100vh;background:linear-gradient(160deg,#0d0b1e,#1a1533 40%,#0f1628);color:#fff;overflow-x:hidden;display:flex;flex-direction:column}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 2rem;position:sticky;top:0;z-index:100;background:#0d0b1ed9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.07)}.lang-btn{display:flex;align-items:center;gap:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fffc;padding:.45rem .9rem;border-radius:20px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .2s;letter-spacing:.5px}.lang-btn:hover{background:#ffffff1f}.lang-globe{font-size:1rem}.logo{font-size:1.75rem;font-weight:900;background:linear-gradient(135deg,#a78bfa,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:3px;cursor:pointer;-webkit-user-select:none;user-select:none}.header-actions{display:flex;align-items:center;gap:.6rem}.btn-auth-ghost{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffd9;padding:.5rem 1.2rem;border-radius:20px;font-size:.88rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-auth-ghost:hover{background:#ffffff14;border-color:#ffffff59}.btn-auth-primary{background:linear-gradient(135deg,#7c3aed,#a855f7);border:none;color:#fff;padding:.5rem 1.3rem;border-radius:20px;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 14px #7c3aed66}.btn-auth-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed80}.hero-section{text-align:center;padding:5rem 2rem 3rem;max-width:800px;margin:0 auto;width:100%}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#7c3aed26;border:1px solid rgba(124,58,237,.3);color:#c4b5fd;padding:.4rem 1rem;border-radius:20px;font-size:.82rem;font-weight:600;letter-spacing:.5px;margin-bottom:1.5rem;animation:fadeInUp .6s ease both}.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:#a855f7;box-shadow:0 0 8px #a855f7}.hero-title{font-size:clamp(2.4rem,6vw,4rem);font-weight:900;line-height:1.15;margin-bottom:1.25rem;letter-spacing:-.5px;animation:fadeInUp .6s ease .1s both}.gradient-text{background:linear-gradient(135deg,#a78bfa,#ec4899,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradientShift 4s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero-subtitle{font-size:clamp(1rem,2vw,1.15rem);color:#fff9;margin-bottom:2.5rem;line-height:1.6;animation:fadeInUp .6s ease .2s both}.search-artist-cta{display:inline-flex;align-items:center;gap:.6rem;background:linear-gradient(135deg,#6d28d9,#9333ea);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:700;padding:.95rem 2.5rem;transition:all .25s;box-shadow:0 8px 28px #6d28d980;animation:fadeInUp .6s ease .3s both}.search-artist-cta:hover{transform:translateY(-3px);box-shadow:0 14px 40px #6d28d9a6}.live-section{max-width:560px;margin:0 auto 4rem;padding:0 1.5rem;width:100%;animation:fadeInUp .6s ease .4s both}.live-label{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:2px;color:#ffffff8c;margin-bottom:.75rem;text-transform:uppercase}.live-dot-red{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 8px #ef4444;animation:pulseDot 1.5s ease-in-out infinite}.live-map-card{position:relative;border-radius:16px;overflow:hidden;cursor:pointer;height:180px;border:1px solid rgba(255,255,255,.08);transition:transform .25s,box-shadow .25s}.live-map-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px #00000080}.map-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0e1117,#161b27,#0e1117)}.map-line{position:absolute;background:#ffffff0a}.map-line-h{left:0;right:0;height:1px}.map-line-v{top:0;bottom:0;width:1px}.map-artist-dot{position:absolute;transform:translate(-50%,-50%)}.artist-pulse{width:12px;height:12px;border-radius:50%;background:#ef4444;box-shadow:0 0 10px #ef4444;animation:artistPulse 2s ease-in-out infinite}@keyframes artistPulse{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 8px #ef4444}50%{transform:scale(1.4);opacity:.6;box-shadow:0 0 16px #ef4444}}.map-cta-overlay{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(239,68,68,.3);color:#fff;padding:.55rem 1.3rem;border-radius:50px;font-size:.9rem;font-weight:600;white-space:nowrap}.live-dot-small{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 6px #ef4444;animation:pulseDot 1.5s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}.contact-form label{display:block;font-size:.85rem;font-weight:600;color:#ffffffb3;margin-bottom:.4rem;margin-top:1rem}.login-form label:first-child,.contact-form label:first-child{margin-top:0}.contact-form input,.contact-form textarea{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff;padding:.75rem 1rem;font-size:.95rem;outline:none;transition:border-color .2s;box-sizing:border-box}.contact-form input:focus,.contact-form textarea:focus{border-color:#7c3aed99;background:#ffffff14}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#ffffff40}.contact-form textarea{resize:vertical;font-family:inherit}.pw-field{position:relative}.pw-field input{padding-right:3rem}.pw-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;opacity:.6;padding:0;line-height:1}.pw-toggle:hover{opacity:1}.login-err{color:#f87171;font-size:.82rem;margin-top:.5rem;text-align:center}.btn-login-submit{width:100%;background:linear-gradient(135deg,#6d28d9,#9333ea);border:none;color:#fff;padding:.9rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:1.25rem;transition:all .2s;box-shadow:0 6px 20px #6d28d966}.btn-login-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 28px #6d28d98c}.btn-login-submit:disabled{opacity:.6;cursor:not-allowed}.landing-footer{padding:2rem 1.5rem 1.5rem;border-top:1px solid rgba(255,255,255,.06);text-align:center}.footer-links{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.footer-link{background:none;border:none;color:#ffffff59;font-size:.8rem;cursor:pointer;padding:.3rem .6rem;border-radius:6px;transition:color .2s}.footer-link:hover{color:#ffffffb3}.contact-link:hover{color:#a78bfa}.footer-copy{font-size:.75rem;color:#fff3}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.contact-modal{background:linear-gradient(160deg,#1a1533,#0f1628);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2.5rem 2rem 2rem;width:100%;max-width:440px;position:relative}.contact-close{position:absolute;top:1rem;right:1rem;background:#ffffff14;border:none;color:#fff9;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.contact-close:hover{background:#ffffff29}.contact-logo{font-size:1.4rem;font-weight:900;background:linear-gradient(135deg,#a78bfa,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:2px;margin-bottom:.4rem;text-align:center}.contact-modal h2{text-align:center;font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;color:#ffffffe6}.contact-success{text-align:center;padding:1.5rem 0}.contact-success-icon{font-size:3rem;margin-bottom:.75rem}.contact-success p{font-size:1.1rem;font-weight:700}.contact-success-sub{font-size:.88rem;color:#ffffff80;margin-top:.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero-section{padding:3.5rem 1.5rem 2.5rem}.hero-title{font-size:clamp(2rem,8vw,3rem)}.live-section{margin-bottom:3rem}.search-artist-cta{padding:.85rem 2rem}}@media(max-width:500px){.landing-header{padding:.9rem 1rem}.logo{font-size:1.4rem}.btn-auth-ghost{padding:.45rem .85rem;font-size:.8rem}.btn-auth-primary{padding:.45rem .9rem;font-size:.8rem}.header-actions{gap:.4rem}.hero-section{padding:2.5rem 1rem 2rem}.hero-subtitle{font-size:.95rem;padding:0 .25rem}.search-artist-cta{font-size:.95rem;padding:.8rem 1.75rem}.live-section{padding:0 1rem;margin-bottom:2rem}.footer-links{gap:.2rem}.modal-overlay{padding:0;align-items:flex-end}.contact-modal{border-radius:20px 20px 0 0;max-height:92vh;overflow-y:auto;padding:2rem 1.5rem 2.5rem;max-width:100%}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.login-page{min-height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:420px;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:2.5rem 2.25rem;box-shadow:0 24px 64px #0006}.login-brand{text-align:center;margin-bottom:2rem}.login-logo{font-size:2.8rem;font-weight:900;letter-spacing:-1px;background:linear-gradient(135deg,#667eea,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.login-tagline{color:#fff6;font-size:.85rem;margin-top:.4rem;letter-spacing:.4px}.login-title{font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:1.5rem;text-align:center}.login-field{margin-bottom:1rem}.login-field label{display:block;font-size:.8rem;font-weight:600;color:#ffffff8c;margin-bottom:.4rem;letter-spacing:.3px}.login-input{width:100%;padding:.75rem 1rem;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font-size:.95rem;outline:none;transition:border-color .2s,background .2s;box-sizing:border-box}.login-input::placeholder{color:#ffffff40}.login-input:focus{border-color:#667eea99;background:#ffffff1a}.login-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:10px;padding:.65rem 1rem;color:#fca5a5;font-size:.85rem;margin-bottom:1rem;text-align:center}.login-btn{width:100%;padding:.85rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:14px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .15s,transform .15s;margin-top:.5rem;letter-spacing:.2px}.login-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-footer{text-align:center;margin-top:1.5rem;color:#fff6;font-size:.85rem}.login-footer a{color:#a78bfa;text-decoration:none;font-weight:600;cursor:pointer;transition:color .15s}.login-footer a:hover{color:#c4b5fd}.login-roles{display:flex;justify-content:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.75rem;border-bottom:1px solid rgba(255,255,255,.07)}.login-role-pill{display:flex;flex-direction:column;align-items:center;gap:.3rem;color:#ffffff59;font-size:.72rem;font-weight:600;letter-spacing:.3px}.login-role-icon{font-size:1.5rem;opacity:.6}.login-pw-wrap{position:relative}.login-pw-wrap .login-input{padding-right:2.75rem}.login-pw-eye{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:0;opacity:.55;transition:opacity .15s}.login-pw-eye:hover{opacity:1}@media(max-width:480px){.login-page{padding:0;align-items:flex-end}.login-card{border-radius:24px 24px 0 0;padding:2rem 1.5rem 2.5rem;max-width:100%}.login-logo{font-size:2.2rem}.login-roles{gap:1rem}}.register-page{min-height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);display:flex;align-items:center;justify-content:center;padding:1.5rem}.register-page-card{width:100%;max-width:560px;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:2.5rem 2.25rem;box-shadow:0 24px 64px #0006}.register-page-brand{text-align:center;margin-bottom:2rem}.register-page-logo{font-size:2.4rem;font-weight:900;letter-spacing:-1px;background:linear-gradient(135deg,#667eea,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.register-page-tagline{color:#fff6;font-size:.85rem;margin-top:.4rem}.register-page-title{font-size:1.2rem;font-weight:700;color:#fff;text-align:center;margin-bottom:.5rem}.register-page-subtitle{color:#fff6;font-size:.85rem;text-align:center;margin-bottom:1.75rem}.register-role-grid{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.75rem}.register-role-card{display:flex;align-items:center;gap:1.1rem;padding:1.1rem 1.25rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;cursor:pointer;transition:all .2s ease;text-align:left;color:#fff;width:100%}.register-role-card:hover{background:#ffffff17;border-color:#667eea73;transform:translateY(-2px);box-shadow:0 8px 24px #667eea33}.register-role-card:active{transform:translateY(0)}.register-role-emoji{font-size:2rem;flex-shrink:0;width:48px;height:48px;background:#ffffff12;border-radius:12px;display:flex;align-items:center;justify-content:center}.register-role-info{flex:1}.register-role-name{font-size:1rem;font-weight:700;margin-bottom:.2rem}.register-role-desc{font-size:.8rem;color:#ffffff73;line-height:1.4}.register-role-arrow{color:#ffffff40;font-size:1.1rem;flex-shrink:0}.register-page-footer{text-align:center;color:#fff6;font-size:.85rem;border-top:1px solid rgba(255,255,255,.07);padding-top:1.25rem}.register-page-footer a{color:#a78bfa;text-decoration:none;font-weight:600;cursor:pointer;transition:color .15s}.register-page-footer a:hover{color:#c4b5fd}@media(max-width:480px){.register-page{padding:0;align-items:flex-end}.register-page-card{border-radius:24px 24px 0 0;padding:2rem 1.5rem 2.5rem;max-width:100%}.register-page-logo{font-size:2rem}.register-role-emoji{width:40px;height:40px;font-size:1.6rem}.register-role-name{font-size:.95rem}}.notif-panel{position:absolute;top:calc(100% + 10px);right:0;width:380px;max-height:520px;background:linear-gradient(135deg,#1e1b4b,#2d2a5e);border:1px solid rgba(102,126,234,.3);border-radius:16px;box-shadow:0 20px 60px #00000080;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem .75rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.notif-panel-title{font-size:1rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:.5rem}.notif-count-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50px;color:#fff;font-size:.72rem;font-weight:700;padding:1px 7px}.notif-panel-actions{display:flex;gap:.4rem;align-items:center}.notif-action-btn{background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffffb3;cursor:pointer;font-size:.78rem;font-weight:600;padding:.3rem .65rem;transition:all .15s}.notif-action-btn:hover{background:#ffffff24;color:#fff}.notif-action-btn--danger:hover{background:#ef444433;border-color:#ef444466;color:#fca5a5}.notif-panel-list{overflow-y:auto;flex:1;padding:.4rem 0}.notif-panel-list::-webkit-scrollbar{width:4px}.notif-panel-list::-webkit-scrollbar-track{background:transparent}.notif-panel-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.notif-empty{text-align:center;color:#fff6;font-size:.9rem;padding:2.5rem 1rem}.notif-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s;position:relative}.notif-item:hover{background:#ffffff0d}.notif-item--unread{background:#667eea14}.notif-item--unread:hover{background:#667eea24}.notif-item--unread:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:0 2px 2px 0}.notif-item-icon{font-size:1.3rem;flex-shrink:0;margin-top:1px}.notif-item-body{flex:1;min-width:0}.notif-item-title{color:#fff;font-size:.88rem;font-weight:600;margin:0 0 .2rem;line-height:1.3}.notif-item-msg{color:#fff9;font-size:.8rem;margin:0 0 .3rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item-time{color:#ffffff59;font-size:.72rem}.notif-item--actionable{cursor:pointer}.notif-item--actionable:hover{background:#667eea1f!important}.notif-cta{display:inline-block;margin-top:5px;font-size:.75rem;font-weight:700;color:#a78bfa;letter-spacing:.2px}.notif-delete-btn{background:none;border:none;color:#ffffff40;cursor:pointer;font-size:1.2rem;line-height:1;padding:0 0 0 .25rem;flex-shrink:0;transition:color .15s;align-self:center}.notif-delete-btn:hover{color:#fca5a5}@media(max-width:420px){.notif-panel{width:calc(100vw - 2rem);right:-.5rem}}.notif-detail-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem}.notif-detail-modal{background:linear-gradient(135deg,#1e1b4b,#2d2a5e);border:1px solid rgba(102,126,234,.35);border-radius:20px;box-shadow:0 24px 80px #0009;padding:2rem 1.75rem 1.75rem;width:100%;max-width:420px;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.notif-detail-close{position:absolute;top:.85rem;right:1rem;background:#ffffff14;border:none;border-radius:50%;color:#ffffff80;cursor:pointer;font-size:1.3rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.notif-detail-close:hover{background:#ffffff26;color:#fff}.notif-detail-icon{font-size:2.5rem;line-height:1}.notif-detail-title{color:#fff;font-size:1.1rem;font-weight:700;margin:0;line-height:1.3}.notif-detail-msg{color:#fffc;font-size:.93rem;line-height:1.6;margin:0;white-space:pre-line}.notif-detail-time{color:#ffffff59;font-size:.78rem}.notif-detail-cta{margin-top:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:.7rem 1.75rem;transition:opacity .15s;width:100%}.notif-detail-cta:hover{opacity:.88}.autocomplete-wrapper{position:relative;width:100%}.autocomplete-input{width:100%;box-sizing:border-box}.autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1e1b3a;border:1px solid rgba(102,126,234,.4);border-radius:12px;list-style:none;margin:0;padding:6px 0;z-index:200;box-shadow:0 8px 24px #00000080;overflow:hidden}.autocomplete-item{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;cursor:pointer;font-size:.88rem;color:#ffffffd9;transition:background .15s;line-height:1.4}.autocomplete-pin{flex-shrink:0;font-size:.85rem;margin-top:2px}.msgp-overlay{position:fixed;inset:0;background:#0000008c;z-index:1200;display:flex;align-items:flex-end;justify-content:flex-end;padding:1.5rem}.msgp-panel{background:#1e1a2e;border:1px solid rgba(255,255,255,.08);border-radius:16px;width:420px;max-height:580px;min-height:380px;display:flex;flex-direction:column;box-shadow:0 12px 48px #00000080;overflow:hidden}.msgp-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff08;flex-shrink:0}.msgp-header-left{display:flex;align-items:center;gap:.6rem}.msgp-back{background:none;border:none;color:#ffffff80;font-size:1.1rem;cursor:pointer;padding:.2rem .4rem;border-radius:6px;transition:color .2s,background .2s}.msgp-back:hover{color:#fff;background:#ffffff14}.msgp-title{margin:0;font-size:1rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.msgp-close{background:none;border:none;color:#fff6;font-size:1.1rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:color .2s,background .2s}.msgp-close:hover{color:#fff;background:#ffffff14}.msgp-body{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.msgp-new-btn{width:100%;background:linear-gradient(135deg,#7c3aed,#4f46e5);border:none;border-radius:10px;color:#fff;font-size:.9rem;font-weight:600;padding:.8rem 1rem;cursor:pointer;text-align:center;transition:opacity .2s;flex-shrink:0}.msgp-new-btn:hover{opacity:.88}.msgp-empty{font-size:.85rem;color:#ffffff59;text-align:center;padding:1.5rem 0;margin:0}.msgp-conv-list{display:flex;flex-direction:column;gap:.5rem}.msgp-conv-item{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:.8rem 1rem;cursor:pointer;transition:background .2s,border-color .2s}.msgp-conv-item:hover{background:#ffffff14;border-color:#ffffff24}.msgp-conv-item--unread{border-left:3px solid #7c3aed}.msgp-conv-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.3rem}.msgp-conv-subject{font-size:.88rem;font-weight:600;color:#fff;flex:1}.msgp-conv-right{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.msgp-unread-badge{background:#7c3aed;color:#fff;border-radius:9999px;font-size:.7rem;font-weight:700;padding:.1rem .45rem;min-width:18px;text-align:center}.msgp-conv-date{font-size:.75rem;color:#ffffff59}.msgp-conv-preview{font-size:.8rem;color:#ffffff73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.4rem}.msgp-status{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;display:inline-block}.msgp-status--open{background:#14532d33;color:#4ade80;border:1px solid #4ade8044}.msgp-status--closed{background:#ffffff0f;color:#fff6;border:1px solid rgba(255,255,255,.1)}.msgp-body--convo{padding:0;gap:0}.msgp-thread{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.msgp-bubble{max-width:82%;display:flex;flex-direction:column;gap:.25rem}.msgp-bubble--user{align-self:flex-end;align-items:flex-end}.msgp-bubble--admin{align-self:flex-start;align-items:flex-start}.msgp-bubble-content{padding:.65rem .9rem;border-radius:14px;font-size:.88rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.msgp-bubble--user .msgp-bubble-content{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;border-bottom-right-radius:4px}.msgp-bubble--admin .msgp-bubble-content{background:#ffffff1a;color:#ffffffe6;border-bottom-left-radius:4px}.msgp-bubble-time{font-size:.7rem;color:#ffffff4d}.msgp-reply-box{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgba(255,255,255,.07);background:#ffffff08;flex-shrink:0}.msgp-reply-box textarea{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:.85rem;padding:.6rem .8rem;resize:none;font-family:inherit;outline:none;transition:border-color .2s}.msgp-reply-box textarea:focus{border-color:#7c3aed}.msgp-reply-box textarea::placeholder{color:#ffffff40}.msgp-send-btn{background:linear-gradient(135deg,#7c3aed,#4f46e5);border:none;border-radius:10px;color:#fff;font-size:.85rem;font-weight:600;padding:.5rem 1rem;cursor:pointer;white-space:nowrap;transition:opacity .2s;align-self:flex-end}.msgp-send-btn:disabled{opacity:.45;cursor:not-allowed}.msgp-send-btn:not(:disabled):hover{opacity:.85}.msgp-send-btn--full{width:100%;padding:.8rem;text-align:center}.msgp-closed-notice{text-align:center;font-size:.82rem;color:#ffffff59;padding:.75rem;border-top:1px solid rgba(255,255,255,.07);margin:0;flex-shrink:0}.msgp-form{display:flex;flex-direction:column;gap:.6rem}.msgp-form-intro{font-size:.82rem;color:#ffffff73;margin:0 0 .25rem;line-height:1.5}.msgp-label{font-size:.8rem;font-weight:600;color:#fff9;margin-bottom:-.2rem}.msgp-input,.msgp-textarea{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:.87rem;padding:.65rem .85rem;font-family:inherit;outline:none;transition:border-color .2s;resize:none;width:100%;box-sizing:border-box}.msgp-input:focus,.msgp-textarea:focus{border-color:#7c3aed}.msgp-input::placeholder,.msgp-textarea::placeholder{color:#ffffff40}.msgp-feedback{font-size:.82rem;color:#4ade80;margin:0}.msgp-feedback--err{color:#f87171}.artist-dashboard{min-height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);color:#fff}.live-toggle{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50px;cursor:pointer;transition:all .3s ease}.live-toggle:hover{background:#ffffff26;transform:translateY(-2px)}.live-indicator{font-size:1.2rem;transition:all .3s ease}.live-indicator.active{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.live-text{font-weight:600;font-size:.9rem}.sos-section{margin-bottom:2rem}.sos-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.sos-header h3{font-size:1.5rem;margin:0 0 .5rem}.sos-header p{margin:0;color:#ffffffb3;font-size:.95rem}.sos-toggle{display:flex;align-items:center;gap:1rem;cursor:pointer}.toggle-switch{width:60px;height:30px;background:#fff3;border-radius:50px;position:relative;transition:all .3s ease}.toggle-switch.active{background:linear-gradient(135deg,#10b981,#059669)}.toggle-slider{position:absolute;top:3px;left:3px;width:24px;height:24px;background:#fff;border-radius:50%;transition:all .3s ease}.toggle-switch.active .toggle-slider{transform:translate(30px)}.toggle-label{font-weight:600;font-size:1rem}.pending-section{margin-bottom:3rem}.pending-list{display:grid;gap:1.5rem}.pending-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;transition:all .3s ease}.pending-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #fbbf244d;border-color:#fbbf2480}.pending-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pending-header h3{font-size:1.3rem;margin:0}.pending-date{color:#ffffffb3;font-size:.95rem}.pending-details{margin-bottom:1.5rem}.pending-details p{margin:.5rem 0;color:#fffc;font-size:1rem}.pending-actions{display:flex;gap:1rem}.btn-accept{flex:1;padding:.8rem 1.5rem;border-radius:50px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;color:#fff;background:linear-gradient(135deg,#10b981,#059669)}.btn-accept:hover{transform:translateY(-2px);box-shadow:0 5px 20px #10b98166}.btn-reject{flex:1;padding:.8rem 1.5rem;border-radius:50px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-reject:hover{transform:translateY(-2px);box-shadow:0 5px 20px #ef444466}.upcoming-section{margin-bottom:3rem}.upcoming-list{display:grid;gap:1.5rem}.upcoming-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;transition:all .3s ease}.upcoming-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000004d;border-color:#667eea80}.upcoming-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.upcoming-header h3{font-size:1.5rem;margin:0}.upcoming-details p{margin:.5rem 0;color:#fffc;font-size:1rem}.stripe-section{margin-bottom:3rem}.stripe-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;text-align:center;transition:all .3s ease}.stripe-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #667eea4d;border-color:#667eea80}.stripe-card h3{font-size:1.5rem;margin:0 0 .5rem}.stripe-card p{margin:0 0 1.5rem;color:#ffffffb3;font-size:.95rem}.calendar-card h3{font-size:1.5rem;margin:0 0 .5rem}.btn-danger{padding:.8rem 1.5rem;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-size:.95rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 10px 30px #ef444480}.modal-content{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:2rem;max-width:500px;width:90%;animation:slideUp .3s ease}.modal-content h2{margin:0 0 1rem;font-size:1.8rem}.modal-content p{margin:0 0 1.5rem;color:#fffc;font-size:1rem}.modal-actions{display:flex;gap:1rem}.rejection-textarea{width:100%;padding:1rem;border-radius:15px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;font-size:1rem;font-family:inherit;resize:vertical;margin-bottom:1.5rem}.rejection-textarea:focus{outline:none;border-color:#667eea80;background:#ffffff14}.rejection-textarea::placeholder{color:#fff6}.establishment-pending-section{margin-bottom:3rem}.pending-bookings-list{display:grid;gap:1.5rem}.pending-booking-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;transition:all .3s ease}.pending-booking-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #667eea4d;border-color:#667eea80}.pending-booking-card.multi-booking{border-left:4px solid #f59e0b}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.booking-header h3{font-size:1.4rem;margin:0;flex:1}.booking-type-badge{padding:.5rem 1rem;border-radius:50px;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.booking-type-badge.multi{background:linear-gradient(135deg,#f59e0b,#d97706)}.booking-details{margin-bottom:1.5rem}.booking-date,.booking-time{margin:.8rem 0;color:#ffffffe6;font-size:1.05rem}.booking-instruction{color:#fffc;font-size:1rem;margin-bottom:1rem;font-weight:500}.dates-list{display:flex;flex-direction:column;gap:.8rem;margin:1rem 0}.date-checkbox-item{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:15px;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .3s ease}.date-checkbox-item:hover{background:#ffffff14;border-color:#667eea80}.date-checkbox-item.selected{background:#10b9811a;border-color:#10b98180}.date-checkbox-item.unselected{background:#ef44440d;border-color:#ef44444d}.date-checkbox{width:20px;height:20px;cursor:pointer;accent-color:#10b981}.date-label{flex:1;display:flex;flex-direction:column;gap:.3rem;cursor:pointer}.date-text{font-size:1.05rem;font-weight:600;color:#fffffff2}.time-text{font-size:.9rem;color:#ffffffb3}.rejection-reason-field{margin-top:1.5rem;padding:1.5rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:15px}.rejection-reason-field label{display:block;margin-bottom:.8rem;color:#ffffffe6;font-weight:600;font-size:.95rem}.rejection-reason-field .rejection-textarea{margin-bottom:0}.booking-actions{display:flex;gap:1rem;margin-top:1.5rem}.booking-actions button{flex:1}@media(max-width:600px){.modal-overlay{align-items:flex-end;padding:0}.modal-content,.artist-modal{max-width:100%!important;width:100%;border-radius:20px 20px 0 0;max-height:92vh;overflow-y:auto;padding:1.5rem 1.25rem 2rem}.dashboard-content{padding:.75rem}.header-right .user-name{display:none}}@media(max-width:768px){.message-banner{top:10px;right:10px;left:10px;min-width:auto;max-width:none}.dashboard-header{flex-direction:column;gap:1rem;padding:1rem}.header-right{width:100%;justify-content:space-between;flex-wrap:wrap}.live-toggle{order:-1;width:100%;justify-content:center}.dashboard-content{padding:1rem}.stats-section{grid-template-columns:1fr}.sos-card{flex-direction:column;gap:1.5rem;text-align:center}.pending-header{flex-direction:column;align-items:flex-start;gap:.5rem}.pending-actions{flex-direction:column}.upcoming-header{flex-direction:column;align-items:flex-start;gap:.5rem}.modal-content{width:95%;padding:1.5rem}.modal-actions{flex-direction:column}.section-title{font-size:1.5rem}}@media(max-width:480px){.header-left .logo{font-size:1.4rem}.user-name{font-size:.85rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-card{padding:1.1rem}.stat-icon,.stat-info h3{font-size:1.8rem}.sos-card,.pending-card,.upcoming-card{padding:1.1rem}.section-title{font-size:1.2rem}}.reviews-section{margin-bottom:3rem}.reviews-list{display:flex;flex-direction:column;gap:.85rem}.review-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1.1rem 1.4rem;transition:border-color .15s}.review-card--approved{border-color:#22c55e59;background:#22c55e0f}.review-card--pending{border-color:#fbbf2466;background:#fbbf240d}.review-card-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.review-stars{color:#fbbf24;font-size:1rem;letter-spacing:2px}.review-date{font-size:.78rem;color:#fff6}.review-badge{margin-left:auto;font-size:.73rem;font-weight:600;padding:3px 10px;border-radius:20px}.review-badge--on{background:#22c55e33;color:#86efac;border:1px solid rgba(34,197,94,.3)}.review-badge--pending{background:#fbbf2426;color:#fde68a;border:1px solid rgba(251,191,36,.3)}.review-author{font-size:.8rem;color:#ffffff73;margin:0 0 .4rem}.review-text{font-size:.93rem;color:#ffffffd1;line-height:1.6;margin:0 0 .85rem;font-style:italic}.review-actions{display:flex;align-items:center;gap:.75rem}.btn-review-approve{background:#22c55e33;border:1px solid rgba(34,197,94,.4);border-radius:8px;color:#86efac;cursor:pointer;font-size:.82rem;font-weight:600;padding:6px 16px;transition:background .15s}.btn-review-approve:hover{background:#22c55e52}.btn-review-archive{background:none;border:none;color:#ffffff4d;cursor:pointer;font-size:.78rem;padding:0;text-decoration:underline;transition:color .15s}.btn-review-archive:hover{color:#ffffff8c}.reviews-archives-toggle{background:none;border:none;color:#ffffff59;cursor:pointer;font-size:.82rem;margin-top:.75rem;padding:0;text-decoration:underline}.reviews-archives-toggle:hover{color:#fff9}.review-card--archived{background:#ffffff05;border-color:#ffffff0f;opacity:.6}.btn-review-restore{background:none;border:none;color:#ffffff59;cursor:pointer;font-size:.78rem;padding:0;text-decoration:underline}.btn-review-restore:hover{color:#fff9}.booking-highlighted{outline:2px solid #667eea;outline-offset:2px;animation:booking-pulse 1s ease-in-out 3}@keyframes booking-pulse{0%,to{outline-color:#667eea}50%{outline-color:#a78bfa;box-shadow:0 0 16px #667eea66}}.stat-pending{display:block;font-size:.75rem;color:#ffffff73;margin-top:.2rem}.btn-account-menu{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:.5rem 1.1rem;transition:background .2s}.account-panel{background:#1e1b3a;border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 12px 40px #00000080;min-width:220px;padding:.5rem;position:absolute;right:0;top:calc(100% + 10px);z-index:200}.account-panel-item{align-items:center;background:none;border:none;border-radius:10px;color:#ffffffd9;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.65rem 1rem;text-align:left;transition:background .15s;width:100%}.account-notif-badge{background:#ef4444;border-radius:50px;font-size:.72rem;font-weight:700;margin-left:auto;padding:.1em .5em}.edit-photo-section{display:flex;justify-content:center;margin-bottom:1.2rem}.edit-photo-label{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:.4rem}.edit-photo-preview{border-radius:50%;height:80px;object-fit:cover;width:80px}.edit-photo-placeholder{align-items:center;background:#ffffff14;border-radius:50%;display:flex;font-size:2rem;height:80px;justify-content:center;width:80px}.edit-photo-hint{color:#ffffff73;font-size:.78rem;text-decoration:underline}.edit-field-label{color:#ffffff8c;display:block;font-size:.82rem;margin-bottom:.35rem}.edit-msg{color:#86efac;font-size:.85rem;margin-bottom:.6rem}.edit-msg--err{color:#fca5a5}.edit-genre-grid{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.5rem}.edit-genre-chip{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:50px;color:#ffffffb3;cursor:pointer;font-size:.8rem;padding:.3rem .75rem;transition:all .15s}.edit-genre-chip:hover{background:#667eea2e;border-color:#667eea80;color:#a5b4fc}.edit-genre-chip--active{background:#667eea47;border-color:#667eea;color:#c7d2fe}.followers-list{display:flex;flex-direction:column;gap:.5rem;max-height:55vh;overflow-y:auto}.follower-item{align-items:center;background:#ffffff0a;border-radius:10px;display:flex;gap:.75rem;padding:.65rem 1rem}.follower-avatar{font-size:1.1rem}.follower-name{flex:1;font-size:.9rem;font-weight:500}.follower-date{color:#fff6;font-size:.78rem}.modal-pending{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.12);border-radius:20px;max-height:90vh;max-width:520px;overflow-y:auto;padding:2rem;position:relative;width:94%}.modal-pending-close{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:1.5rem;line-height:1;padding:0;position:absolute;right:1.2rem;top:1rem}.modal-pending-close:hover{color:#fff}.modal-pending-title{font-size:1.25rem;font-weight:700;margin:0 0 .3rem}.modal-pending-sub{color:#ffffffa6;font-size:.95rem;margin:0 0 1.2rem}.modal-pending-details{background:#ffffff0d;border-radius:12px;display:flex;flex-direction:column;font-size:.9rem;gap:.4rem;margin-bottom:1.4rem;padding:1rem 1.2rem}.modal-pending-actions{display:flex;gap:.75rem;flex-wrap:wrap}.modal-quote-form{margin-bottom:1rem}.modal-quote-input{background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:1rem;margin-bottom:.75rem;padding:.7rem 1rem;width:100%}.modal-quote-input::placeholder{color:#ffffff59}.modal-pending-instruction{color:#fff9;font-size:.87rem;margin:0 0 .75rem}.modal-dates-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.modal-date-item{align-items:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;display:flex;gap:.75rem;padding:.65rem 1rem;transition:all .15s}.modal-date-item:hover{background:#ffffff14}.modal-date-item--on{background:#667eea26;border-color:#667eea66}.modal-date-check{font-size:1.1rem;min-width:1.2em}.modal-date-text{flex:1;font-size:.9rem}.modal-date-time{color:#ffffff80;font-size:.82rem}.stat-card--action{cursor:pointer;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;display:flex;align-items:center;gap:1.5rem;text-align:left;color:#fff;width:100%;transition:all .3s ease}.stat-card--action:hover{transform:translateY(-5px);box-shadow:0 10px 30px #667eea4d;border-color:#667eea80}.reservations-section{margin-bottom:3rem}.bookings-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.tab-btn{background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:50px;color:#ffffffb3;cursor:pointer;font-size:.9rem;padding:.5rem 1.2rem;transition:all .2s;display:flex;align-items:center;gap:.4rem}.tab-btn:hover{background:#ffffff1f;color:#fff}.tab-btn--active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff;font-weight:600}.tab-count{background:#ffffff40;border-radius:50px;font-size:.75rem;font-weight:700;min-width:1.4em;padding:.1em .5em;text-align:center}.booking-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;transition:border-color .2s}.booking-card:hover{border-color:#667eea59}.booking-card-body{padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:.6rem}.booking-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.booking-header h3{font-size:1rem;font-weight:600;margin:0}.booking-status-badge{border-radius:50px;color:#fff;font-size:.78rem;font-weight:600;padding:.25em .8em;white-space:nowrap}.booking-details{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;color:#ffffffbf}.booking-desc{color:#ffffff8c;font-style:italic}.booking-cancel-reason{background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:#fca5a5;font-size:.83rem;padding:.5rem .8rem}.booking-rating{color:#fbbf24;font-size:1.1rem;letter-spacing:2px}.booking-card-footer{border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:flex-end;margin-top:.4rem;padding-top:.6rem}.btn-delete-booking{background:none;border:none;color:#ffffff4d;cursor:pointer;font-size:.78rem;padding:0;text-decoration:underline;transition:color .15s}.btn-delete-booking:hover:not(:disabled){color:#ef4444}.btn-delete-booking:disabled{cursor:not-allowed;opacity:.5}.establishment-dashboard{min-height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);color:#fff}.plan-badge{padding:.6rem 1.2rem;border-radius:50px;font-weight:700;font-size:.9rem;border:2px solid;transition:all .3s ease}.plan-badge.pro{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#fbbf24;box-shadow:0 0 20px #fbbf2480}.plan-badge.free{background:#ffffff1a;border-color:#ffffff4d}.plan-badge.elite{background:linear-gradient(135deg,#7c3aed,#a78bfa);border-color:#c4b5fd;box-shadow:0 0 20px #a78bfa80}.btn-account-menu{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.6rem 1.25rem;border-radius:50px;cursor:pointer;font-weight:600;font-size:.9rem;transition:background .15s;white-space:nowrap}.account-panel{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;background:linear-gradient(135deg,#1e1b4b,#2d2a5e);border:1px solid rgba(102,126,234,.3);border-radius:14px;box-shadow:0 16px 48px #00000073;z-index:200;padding:.4rem 0;display:flex;flex-direction:column}.account-panel-item{background:none;border:none;color:#ffffffd9;cursor:pointer;font-size:.88rem;font-weight:500;padding:.65rem 1.1rem;text-align:left;transition:background .12s;width:100%}.account-panel-item:hover{background:#ffffff14;color:#fff}.account-panel-item--danger{color:#f87171}.account-panel-item--danger:hover{background:#ef44441f;color:#fca5a5}.account-panel-divider{border:none;border-top:1px solid rgba(255,255,255,.1);margin:.25rem 0}.estab-modal{background:linear-gradient(135deg,#1e1b4b,#2d2a5e);border:1px solid rgba(102,126,234,.3);border-radius:20px;box-shadow:0 24px 80px #0009;padding:2rem 1.75rem 1.75rem;width:100%;max-width:480px;position:relative;max-height:85vh;overflow-y:auto}.estab-modal-close{position:absolute;top:.85rem;right:1rem;background:#ffffff14;border:none;border-radius:50%;color:#ffffff80;cursor:pointer;font-size:1.3rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.estab-modal-close:hover{background:#ffffff26;color:#fff}.estab-modal-title{color:#fff;font-size:1.15rem;font-weight:700;margin:0 0 1.25rem}.estab-field-label{display:block;color:#fff9;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.35rem}.estab-input{width:100%;background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;font-size:.95rem;padding:.65rem .9rem;outline:none;box-sizing:border-box;transition:border-color .15s}.estab-input:focus{border-color:#667eea99}.estab-input::placeholder{color:#ffffff4d}.estab-msg{color:#86efac;font-size:.85rem;margin:.5rem 0}.estab-msg--err{color:#fca5a5}.notif-mode-toggle{display:flex;gap:.5rem;background:#ffffff0d;border-radius:10px;padding:4px}.notif-mode-btn{flex:1;padding:.45rem .75rem;border-radius:7px;border:none;background:transparent;color:#ffffff80;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.notif-mode-btn.active{background:#ffffff1f;color:#fff}.notif-artist-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem;max-height:200px;overflow-y:auto}.notif-artist-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:#ffffff0d;border-radius:8px;cursor:pointer;font-size:.9rem;color:#ffffffd9}.notif-artist-item input[type=checkbox]{accent-color:#667eea;width:16px;height:16px;cursor:pointer}.estab-modal-actions{display:flex;gap:.75rem;margin-top:.75rem}.estab-divider{border:none;border-top:1px solid rgba(255,255,255,.1);margin:1.25rem 0 1rem}.estab-section-subtitle{color:#fff;font-size:1rem;font-weight:600;margin:0 0 .85rem}.sub-info-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.sub-info-row{display:flex;justify-content:space-between;align-items:center}.sub-info-label{color:#ffffff80;font-size:.85rem}.sub-info-value{color:#fff;font-size:.9rem;font-weight:600}.sub-pro{color:#fbbf24}.sub-free{color:#ffffff80}.estab-action-bar{display:flex;align-items:center;gap:1.25rem;margin-bottom:2rem;flex-wrap:wrap}.estab-booking-stat{display:flex;align-items:center;gap:1rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1rem 1.4rem;cursor:pointer;transition:background .15s,transform .15s;color:#fff;text-align:left;flex-shrink:0}.estab-booking-stat:hover{background:#667eea26;transform:translateY(-2px)}.estab-booking-count{font-size:2rem;font-weight:800;line-height:1;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.estab-booking-label{font-size:.78rem;font-weight:600;color:#fff9;line-height:1.4;text-transform:uppercase;letter-spacing:.4px}.estab-booking-arrow{font-size:1.2rem;color:#ffffff4d;margin-left:.5rem}.estab-main-btn{flex:1;padding:1rem 1.5rem;border-radius:16px;border:none;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.3px;transition:opacity .15s,transform .15s;min-width:160px}.estab-main-btn:hover{opacity:.88;transform:translateY(-2px)}.estab-main-btn--new-booking{background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;box-shadow:0 4px 20px #f9731666}.estab-main-btn--calendar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 20px #667eea66}.estab-main-btn--artists{background:#ffffff14;border:1px solid rgba(255,255,255,.2)!important;color:#fff}.estab-main-btn--artists:hover{background:#ffffff24}.estab-main-btn--sos{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;box-shadow:0 4px 20px #dc262673;animation:sos-pulse 2.5s ease-in-out infinite}.estab-main-btn--sos:hover{box-shadow:0 4px 28px #dc2626a6;animation:none}@keyframes sos-pulse{0%,to{box-shadow:0 4px 20px #dc262673}50%{box-shadow:0 4px 32px #dc2626bf}}.my-artists-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem}.my-artist-row{display:flex;align-items:center;gap:.85rem;padding:.7rem .9rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:background .15s,border-color .15s}.my-artist-row:hover{background:#ffffff1c;border-color:#667eea66}.my-artist-photo{width:42px;height:42px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#ffffff14;display:flex;align-items:center;justify-content:center}.my-artist-photo img{width:100%;height:100%;object-fit:cover}.my-artist-placeholder{font-size:1.2rem}.my-artist-info{flex:1;min-width:0}.my-artist-name{font-weight:700;font-size:.95rem;color:#fff}.my-artist-genre{font-size:.8rem;color:#ffffff80}.my-artist-arrow{color:#ffffff59;font-size:1.1rem}@media(max-width:640px){.estab-action-bar{flex-direction:column}.estab-booking-stat,.estab-main-btn{width:100%}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center}.subscription-section{margin-bottom:2rem}.subscription-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;text-align:center;transition:all .3s ease}.subscription-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #667eea4d;border-color:#667eea80}.subscription-card h3{font-size:1.5rem;margin:0 0 .5rem}.subscription-card p{margin:0 0 1.5rem;color:#ffffffb3;font-size:.95rem}.subscription-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.sos-section{margin-bottom:3rem}.sos-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;text-align:center;transition:all .3s ease}.sos-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #ef44444d;border-color:#ef444480}.sos-card p{margin:0 0 1.5rem;color:#fffc;font-size:1rem}.sos-form,.booking-form,.search-form{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;margin-top:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#ffffffe6}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.8rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea80;background:#ffffff14}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.active-sos-section{margin-bottom:3rem}.sos-list{display:grid;gap:1rem}.sos-item{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:1.5rem;transition:all .3s ease}.sos-item:hover{background:#ffffff14;border-color:#ef444480}.sos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sos-header h4{margin:0;font-size:1.2rem}.sos-status{padding:.4rem .8rem;border-radius:50px;font-size:.8rem;font-weight:600;background:#ef444433;border:1px solid rgba(239,68,68,.5)}.sos-item p{margin:.5rem 0;color:#fffc;font-size:.95rem}.booking-section{margin-bottom:3rem;position:relative}.booking-section.locked{opacity:.6;pointer-events:none}.locked-feature{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px dashed rgba(255,255,255,.2);border-radius:20px;padding:3rem;text-align:center}.locked-feature p{font-size:1.2rem;margin-bottom:1.5rem;color:#ffffffb3}.artists-list{display:grid;gap:1.5rem;margin-top:1.5rem}.artist-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.artist-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #667eea4d;border-color:#667eea80}.artist-info{display:flex;gap:1.5rem;align-items:center;flex:1}.artist-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0}.artist-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);font-size:2rem}.artist-details h4{margin:0 0 .5rem;font-size:1.3rem}.artist-details p{margin:.3rem 0;color:#ffffffb3;font-size:.95rem}.calendar-section{margin-bottom:3rem}.calendar-section.locked{opacity:.6}.calendar-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;text-align:center;transition:all .3s ease}.calendar-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #667eea4d;border-color:#667eea80}.calendar-card p{margin:0 0 1.5rem;color:#ffffffb3;font-size:.95rem}.bookings-list{display:grid;gap:1.5rem}.booking-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;transition:all .3s ease}.booking-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000004d;border-color:#667eea80}.booking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.booking-header h4{font-size:1.3rem;margin:0}.booking-status{padding:.5rem 1rem;border-radius:50px;font-size:.85rem;font-weight:600;color:#fff}.booking-card p{margin:.5rem 0;color:#fffc;font-size:1rem}.empty-state p{color:#fff9;font-size:1.1rem}@media(max-width:600px){.modal-overlay{align-items:flex-end;padding:0}.estab-modal,.sub-plans-modal{max-width:100%!important;width:100%;border-radius:20px 20px 0 0;max-height:92vh;padding:1.5rem 1.25rem 2rem}.sub-plans-grid{grid-template-columns:1fr;gap:.75rem}.estab-action-bar{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.estab-booking-stat{grid-column:span 2}.estab-main-btn{min-width:0;width:100%;padding:.85rem .75rem;font-size:.88rem}.plan-badge,.header-right .user-name{display:none}}@media(max-width:768px){.message-banner{top:10px;right:10px;left:10px;min-width:auto;max-width:none}.dashboard-header{flex-direction:column;gap:1rem;padding:1rem}.header-right{width:100%;justify-content:space-between;flex-wrap:wrap}.dashboard-content{padding:1rem}.stats-section{grid-template-columns:1fr}.subscription-actions{flex-direction:column}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.artist-card,.artist-info{flex-direction:column;text-align:center}.booking-header{flex-direction:column;align-items:flex-start;gap:.5rem}.section-title{font-size:1.5rem}}@media(max-width:480px){.header-left .logo{font-size:1.4rem}.user-name{font-size:.9rem}.stat-card{padding:1.25rem}.stat-icon,.stat-info h3{font-size:2rem}.subscription-card,.sos-card,.calendar-card,.sos-form,.booking-form,.search-form,.booking-card{padding:1.25rem}.dashboard-content{padding:.75rem}.estab-booking-stat{padding:.75rem 1rem}.estab-booking-count{font-size:1.5rem}}.sub-plans-modal{max-width:760px!important;width:95vw}.sub-plans-hint{color:#ffffff80;font-size:.88rem;margin:-.5rem 0 1.25rem;text-align:center}.sub-plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem}.sub-plan-card{position:relative;overflow:hidden;background:#ffffff0a;border:2px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem 1.25rem 1.1rem;cursor:pointer;transition:all .2s ease}.sub-plan-card:hover{transform:translateY(-4px);border-color:#667eea80}.sub-plan-card--current{border-color:#a78bfa;background:#a78bfa14;cursor:default}.sub-plan-card--current:hover{transform:none}.sub-plan-card--pro{border-color:#667eea66}.sub-plan-card--elite{border-color:#a78bfa80}.sub-plan-card--elite.sub-plan-card--current{background:#7c3aed1f;box-shadow:0 8px 24px #7c3aed40}.sub-plan-badge{position:absolute;top:12px;right:-28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 36px;font-size:.62rem;font-weight:700;transform:rotate(45deg);letter-spacing:.8px;white-space:nowrap}.sub-plan-badge--elite{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.sub-plan-name{font-size:1.2rem;font-weight:700;margin:0 0 .3rem;color:#fff}.sub-plan-price{font-size:1.05rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,#667eea,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sub-plan-features{list-style:none;padding:0;margin:0 0 1rem}.sub-plan-features li{font-size:.8rem;color:#ffffffbf;padding:.3rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.sub-plan-features li:last-child{border-bottom:none}.sub-plan-cta{text-align:center;padding:.55rem;border-radius:8px;font-size:.82rem;font-weight:600;background:#ffffff14;color:#ffffffb3;transition:background .15s}.sub-plan-card:not(.sub-plan-card--current):hover .sub-plan-cta{background:#667eea40;color:#fff}.sub-plan-cta--current{background:linear-gradient(135deg,#667eea,#a78bfa);color:#fff}.sub-usage-box{background:#ffffff0d;border-radius:10px;padding:.7rem 1rem;margin-bottom:1rem}.sub-usage-row{display:flex;justify-content:space-between;font-size:.82rem;padding:.2rem 0;color:#fff9}.sub-usage-row span:last-child{color:#fff;font-weight:600}.sub-credits-box{background:#ffffff0d;border-radius:10px;padding:.85rem 1rem;margin-bottom:1rem}.sub-credits-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem;font-size:.88rem;font-weight:600;color:#fffc}.sub-credits-count{color:#a78bfa;font-weight:700}.sub-credits-hint{color:#ffffff59;font-size:.75rem;margin:0 0 .65rem}.sub-credits-qty{display:flex;gap:.4rem;margin-bottom:.65rem}.sub-credits-qty-btn{padding:.28rem .7rem;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.18);background:transparent;color:#ffffff8c;transition:all .15s}.sub-credits-qty-btn.active{border:2px solid #a78bfa;background:#a78bfa26;color:#a78bfa}@media(max-width:600px){.sub-plans-grid{grid-template-columns:1fr}.sub-plans-modal{max-width:100%!important}}.billing-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;display:flex;align-items:center;justify-content:center;padding:1rem}.billing-panel{background:linear-gradient(135deg,#1e1b4b,#2d2a5e);border:1px solid rgba(102,126,234,.3);border-radius:20px;box-shadow:0 24px 64px #0000008c;width:100%;max-width:520px;max-height:82vh;display:flex;flex-direction:column;overflow:hidden}.billing-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem .9rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.billing-panel-title{font-size:1.05rem;font-weight:700;color:#fff}.billing-panel-close{background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#ffffffb3;cursor:pointer;font-size:1.2rem;line-height:1;padding:2px 9px 4px;transition:all .15s}.billing-panel-close:hover{background:#ffffff24;color:#fff}.billing-panel-body{overflow-y:auto;flex:1;padding:.5rem 0}.billing-panel-body::-webkit-scrollbar{width:4px}.billing-panel-body::-webkit-scrollbar-track{background:transparent}.billing-panel-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.billing-panel-empty{text-align:center;padding:2.5rem 1.5rem}.billing-panel-empty p{color:#ffffff8c;font-size:.95rem;margin:0 0 .4rem}.billing-panel-empty span{font-size:.8rem;color:#ffffff4d}.billing-panel-list{display:flex;flex-direction:column}.billing-panel-item{display:flex;align-items:center;gap:1rem;padding:.9rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.06);transition:background .15s}.billing-panel-item:last-child{border-bottom:none}.billing-panel-item:hover{background:#ffffff0a}.billing-item-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.billing-item-artist{font-size:.95rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.billing-item-date{font-size:.82rem;color:#ffffff8c}.billing-item-address{font-size:.78rem;color:#fff6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.billing-item-total{font-size:.85rem;color:#ffffffa6;margin-top:3px}.billing-item-total strong{color:#a78bfa;font-size:.9rem}.billing-print-btn{flex-shrink:0;padding:7px 14px;border-radius:20px;border:1px solid rgba(102,126,234,.45);background:#667eea1f;color:#a5b4fc;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.billing-print-btn:hover{background:#667eea47;border-color:#818cf8;color:#fff}@media(max-width:540px){.billing-panel{max-height:90vh;border-radius:16px}.billing-panel-item{flex-direction:column;align-items:flex-start}.billing-print-btn{width:100%;text-align:center}}.spectator-dashboard{min-height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);color:#fff}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100}.header-left .logo{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.header-right{display:flex;align-items:center;gap:1.5rem}.user-name{font-weight:600;font-size:1rem}.notification-icon{position:relative;font-size:1.5rem;cursor:pointer;transition:transform .3s ease}.notification-icon:hover{transform:scale(1.1)}.notification-badge{position:absolute;top:-5px;right:-5px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:50%;min-width:18px;text-align:center}.dashboard-content{max-width:1400px;margin:0 auto;padding:2rem}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center}.loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.1);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-container h2{font-size:2rem;margin-bottom:1rem}.error-container p{color:#ffffffb3;margin-bottom:2rem}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;display:flex;align-items:center;gap:1.5rem;transition:all .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #667eea4d;border-color:#667eea80}.stat-icon{font-size:3rem;opacity:.8}.stat-info h3{font-size:2.5rem;font-weight:700;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-info p{margin:.5rem 0 0;color:#ffffffb3;font-size:.95rem}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.action-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;cursor:pointer;transition:all .3s ease;color:#fff;text-align:center}.action-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #667eea66}.live-action:hover{background:linear-gradient(135deg,#ef444433,#dc262633);border-color:#ef4444}.search-action:hover{background:linear-gradient(135deg,#3b82f633,#2563eb33);border-color:#3b82f6}.favorites-action:hover{background:linear-gradient(135deg,#fbbf2433,#f59e0b33);border-color:#fbbf24}.action-icon{font-size:3rem}.action-text{font-weight:600;font-size:1.1rem}.section-title{font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tabs{display:flex;gap:8px;margin-bottom:1.5rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:6px}.tab-btn{flex:1;padding:.7rem 1rem;border:none;border-radius:12px;background:transparent;color:#ffffff8c;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.tab-btn:hover{color:#fff;background:#ffffff14}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.tab-count{background:#ffffff40;border-radius:20px;padding:1px 7px;font-size:.78rem;font-weight:700}.tab-btn.active .tab-count{background:#ffffff4d}.tab-btn--alert{color:#fbbf24;border-color:#fbbf2466}.tab-btn--alert .tab-count{background:#fbbf244d;color:#fbbf24}.tab-btn--alert.active{background:#fbbf2426;border-color:#fbbf24;color:#fbbf24}.bookings-section{margin-bottom:3rem}.bookings-section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.bookings-section-header .section-title{margin-bottom:0}.booking-view-toggle{display:flex;gap:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:4px}.view-toggle-btn{background:transparent;border:none;color:#ffffff8c;cursor:pointer;font-size:.82rem;font-weight:600;padding:6px 14px;border-radius:7px;transition:background .15s,color .15s}.view-toggle-btn.active{background:#7c3aedb3;color:#fff}.bookings-calendar-wrapper{border-radius:14px;overflow:hidden;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);padding:1rem}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:1.5rem;display:flex;gap:1.25rem;transition:all .3s ease}.booking-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000040;border-color:#667eea66}.booking-card-left{flex-shrink:0}.booking-artist-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid rgba(102,126,234,.5)}.booking-artist-avatar--placeholder{background:linear-gradient(135deg,#1e1b4b,#312e81);display:flex;align-items:center;justify-content:center;font-size:1.6rem;border:2px solid rgba(102,126,234,.5)}.booking-card-body{flex:1;min-width:0}.booking-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.booking-header h3{font-size:1.15rem;margin:0 0 2px}.booking-genre{font-size:.8rem;color:#ffffff80}.booking-status-badge{flex-shrink:0;padding:4px 12px;border-radius:20px;font-size:.78rem;font-weight:700;color:#fff;white-space:nowrap}.booking-details{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:.75rem;font-size:.88rem;color:#ffffffb3}.booking-desc{width:100%;font-style:italic;color:#ffffff80;font-size:.85rem}.booking-cancel-reason{font-size:.85rem;color:#fca5a5;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:6px 10px;margin-bottom:.75rem}.booking-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.quote-price{font-size:.95rem;color:#fffc}.quote-price strong{color:#60a5fa;font-size:1.05rem}.action-btn{padding:.6rem 1.2rem;border-radius:50px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;color:#fff;font-size:.88rem}.action-btn:hover{transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.favorites-section{margin-bottom:3rem}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.favorite-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;text-align:center;transition:all .3s ease}.favorite-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #667eea4d;border-color:#667eea80}.favorite-card{cursor:pointer}.favorite-avatar-img{width:80px;height:80px;border-radius:50%;object-fit:cover;margin:0 auto 1rem;display:block;border:3px solid rgba(102,126,234,.5);box-shadow:0 5px 20px #667eea4d}.favorite-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1rem;box-shadow:0 5px 20px #667eea80}.favorite-card h3{font-size:1.3rem;margin:.5rem 0}.favorite-genre{color:#fff9;font-size:.9rem;margin:.5rem 0}.favorite-city{color:#ffffffb3;font-size:.95rem;margin:.5rem 0 1.5rem}.favorite-actions{display:flex;gap:.5rem;justify-content:center}.notifications-section{margin-bottom:3rem}.notifications-list{display:grid;gap:1rem}.notification-item{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .3s ease;position:relative}.notification-item:hover{background:#ffffff14;border-color:#667eea80}.notification-item.unread{border-left:4px solid #667eea;background:#667eea1a}.notification-content h4{margin:0 0 .5rem;font-size:1.1rem}.notification-content p{margin:0 0 .5rem;color:#fffc;font-size:.95rem}.notification-time{font-size:.8rem;color:#ffffff80}.unread-indicator{width:12px;height:12px;border-radius:50%;background:#667eea;box-shadow:0 0 10px #667eeacc}.view-all-btn{width:100%;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:15px;color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.view-all-btn:hover{background:#ffffff1a;border-color:#667eea}.empty-state{text-align:center;padding:3rem;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:20px}.empty-state p{color:#fff9;font-size:1.1rem;margin-bottom:1.5rem}.btn-primary,.btn-secondary{padding:.8rem 1.5rem;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-size:.95rem}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #667eea80}.header-tab-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#fffc;padding:.5rem 1.1rem;border-radius:50px;cursor:pointer;font-size:.88rem;font-weight:600;transition:all .2s}.header-tab-btn:hover,.header-tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.back-to-dashboard{background:none;border:none;color:#fff9;font-size:.9rem;cursor:pointer;padding:0;margin-bottom:1.5rem;display:inline-block;transition:color .2s}.back-to-dashboard:hover{color:#fff}.reservations-action:hover{background:linear-gradient(135deg,#10b98133,#05966933);border-color:#10b981}.btn-delete-booking{padding:.45rem 1rem;border-radius:50px;border:1px solid rgba(239,68,68,.4);background:#ef44441a;color:#fca5a5;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-delete-booking:hover:not(:disabled){background:#ef444440;border-color:#ef4444}.btn-delete-booking:disabled{opacity:.5;cursor:not-allowed}.account-section{background:linear-gradient(135deg,#1e1b4b,#2d2a5e);border:1px solid rgba(102,126,234,.3);border-radius:16px;padding:1.75rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1.1rem;max-width:580px}.account-subsection-title{font-size:1.05rem;font-weight:700;margin:0 0 .25rem;background:linear-gradient(135deg,#a78bfa,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.account-field{display:flex;flex-direction:column;gap:6px}.account-field label{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff80}.account-input{background:#ffffff12;border:1px solid rgba(255,255,255,.16);border-radius:10px;color:#fff;padding:10px 14px;font-size:.95rem;outline:none;transition:border-color .2s}.account-input:focus{border-color:#667eea}.account-input--disabled{opacity:.45;cursor:not-allowed}.account-field--toggle{flex-direction:row;align-items:center;justify-content:space-between}.toggle-btn{padding:8px 18px;border-radius:50px;border:1px solid rgba(255,255,255,.2);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s}.toggle-btn--on{background:#10b98133;border-color:#10b981;color:#6ee7b7}.toggle-btn--off{background:#ef444426;border-color:#ef444466;color:#fca5a5}.account-msg{font-size:.88rem;padding:8px 12px;border-radius:8px;margin:0}.account-msg--ok{background:#10b98126;color:#6ee7b7}.account-msg--err{background:#ef444426;color:#fca5a5}.confirm-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);border:1px solid rgba(251,191,36,.4);border-radius:16px;padding:16px 20px;margin-bottom:2rem}.confirm-banner-icon{font-size:2rem;flex-shrink:0}.confirm-banner-text{flex:1;display:flex;flex-direction:column;gap:2px}.confirm-banner-text strong{font-size:.95rem;color:#fde68a}.confirm-banner-text span{font-size:.82rem;color:#fff9}.confirm-banner-btn{flex-shrink:0;background:#fbbf2440;border:1px solid rgba(251,191,36,.5);color:#fde68a;padding:8px 18px;border-radius:20px;font-weight:700;font-size:.88rem;cursor:pointer;transition:all .2s;white-space:nowrap}.confirm-banner-btn:hover{background:#fbbf2466}.booking-card--needs-confirm{border-color:#fbbf2473!important;background:#fbbf240d!important}.btn-confirm-event{padding:8px 18px;border-radius:50px;border:1.5px solid rgba(251,191,36,.6);background:#fbbf2426;color:#fde68a;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-confirm-event:hover{background:#fbbf244d}.booking-rating-done{font-size:.82rem;color:#fbbf24;opacity:.8}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modal-confirm{background:linear-gradient(135deg,#1e1b4b,#2d2a5e);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:2rem;width:100%;max-width:480px;display:flex;flex-direction:column;gap:1.1rem}.modal-confirm-title{font-size:1.4rem;font-weight:700;margin:0;background:linear-gradient(135deg,#fde68a,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-confirm-artist{margin:0;font-size:1rem;font-weight:600}.modal-confirm-date{margin:0;font-size:.85rem;opacity:.55}.modal-confirm-stars{display:flex;gap:6px}.star-btn{font-size:2.2rem;background:none;border:none;cursor:pointer;color:#fff3;transition:color .15s,transform .1s;line-height:1;padding:0}.star-btn:hover,.star-btn--on{color:#fbbf24}.star-btn:hover{transform:scale(1.15)}.modal-confirm-rating-label{font-size:.85rem;color:#fde68a;margin:-6px 0 0;min-height:1.2em}.modal-confirm-review{background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;padding:12px;font-size:.9rem;resize:none;outline:none;font-family:inherit;transition:border-color .2s}.modal-confirm-review:focus{border-color:#667eea}.modal-confirm-tip label{display:block;font-size:.85rem;opacity:.7;margin-bottom:8px}.tip-presets{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tip-preset{padding:6px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#fff;font-size:.85rem;cursor:pointer;transition:all .15s}.tip-preset:hover{border-color:#a78bfa;background:#7c3aed26}.tip-preset--on{background:#7c3aed4d;border-color:#7c3aed;color:#c4b5fd;font-weight:700}.tip-custom{background:#ffffff12;border:1px solid rgba(255,255,255,.18);border-radius:20px;color:#fff;padding:6px 12px;font-size:.85rem;width:90px;outline:none}.modal-confirm-actions{display:flex;gap:10px;margin-top:.5rem}.modal-confirm-actions .btn-primary{flex:1}.modal-confirm-actions .btn-secondary{flex-shrink:0}.modal-confirm-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.account-section-desc{font-size:.88rem;color:#ffffff8c;margin:0;line-height:1.5}.btn-billing-open{align-self:flex-start;padding:9px 20px;border-radius:20px;border:1px solid rgba(102,126,234,.5);background:#667eea24;color:#a5b4fc;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-billing-open:hover{background:#667eea47;border-color:#818cf8;color:#fff}.account-section--danger{border-color:#ef44444d;background:linear-gradient(135deg,#2a1a1a,#3a1f1f)}.account-subsection-title--danger{background:linear-gradient(135deg,#f87171,#ef4444)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.btn-delete-account{align-self:flex-start;padding:9px 20px;border-radius:20px;border:1px solid rgba(239,68,68,.5);background:#ef44441f;color:#fca5a5;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-delete-account:hover{background:#ef444447;border-color:#ef4444;color:#fff}.modal-confirm--danger{border-color:#ef44444d!important}.modal-confirm-title--danger{background:linear-gradient(135deg,#f87171,#ef4444)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.delete-confirm-icon{font-size:2.5rem;text-align:center}.delete-confirm-desc{font-size:.9rem;color:#ffffffbf;margin:0;line-height:1.5}.delete-confirm-desc strong{color:#fca5a5}.delete-confirm-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.delete-confirm-list li{font-size:.85rem;color:#ffffff8c;padding-left:1.2rem;position:relative}.delete-confirm-list li:before{content:"·";position:absolute;left:.4rem;color:#f87171}.btn-delete-account-confirm{flex:1;padding:.8rem 1.5rem;border-radius:50px;border:none;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;transition:opacity .2s,transform .2s}.btn-delete-account-confirm:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-delete-account-confirm:disabled{opacity:.5;cursor:not-allowed}.modal-confirm-report{border-top:1px solid rgba(255,255,255,.07);padding-top:.9rem;margin-top:.2rem}.btn-report-issue{background:none;border:none;color:#ffffff59;font-size:.82rem;font-weight:600;cursor:pointer;padding:0;transition:color .2s;letter-spacing:.1px}.btn-report-issue:hover{color:#fbbf24}.report-info-box{background:#fbbf2414;border:1px solid rgba(251,191,36,.25);border-radius:12px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.5rem}.report-info-title{margin:0;font-size:.88rem;font-weight:700;color:#fde68a}.report-info-text{margin:0;font-size:.82rem;color:#ffffffa6;line-height:1.5}.report-info-text strong{color:#a78bfa}.report-info-close{align-self:flex-start;background:none;border:1px solid rgba(251,191,36,.3);color:#fde68a;border-radius:20px;padding:4px 14px;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s;margin-top:2px}.report-info-close:hover{background:#fbbf241f}@media(max-width:600px){.modal-overlay{align-items:flex-end;padding:0}.spectator-modal,.booking-modal,[class*=modal-content]{max-width:100%!important;width:100%;border-radius:20px 20px 0 0;max-height:92vh;overflow-y:auto;padding:1.5rem 1.25rem 2rem}.header-right .user-name{display:none}.dashboard-content{padding:.75rem}}@media(max-width:768px){.dashboard-header{flex-direction:column;gap:.75rem;padding:1rem}.header-right{width:100%;justify-content:space-between}.dashboard-content{padding:1rem}.stats-section,.quick-actions{grid-template-columns:repeat(2,1fr)}.favorites-grid{grid-template-columns:1fr}.booking-header{flex-direction:column;align-items:flex-start;gap:1rem}.booking-actions{flex-direction:column}.action-btn{width:100%}.favorite-actions{flex-direction:column}.favorite-actions button{width:100%}.section-title{font-size:1.4rem}}@media(max-width:480px){.header-left .logo{font-size:1.4rem}.user-name{font-size:.9rem}.stat-card{padding:1.5rem}.stat-icon,.stat-info h3{font-size:2rem}.action-card{padding:1.5rem}.action-icon{font-size:2rem}.action-text{font-size:1rem}}.account-menu-wrapper{position:relative}.btn-account-menu{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.1rem;transition:background .2s}.btn-account-menu:hover{background:#ffffff2e}.btn-account-msg-badge{position:absolute;top:-6px;right:-6px;background:#dc2626;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;pointer-events:none}.account-panel{background:#1e1b3a;border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 8px 32px #00000073;display:flex;flex-direction:column;min-width:210px;padding:.5rem;position:absolute;right:0;top:calc(100% + 8px);z-index:200}.account-panel-item{align-items:center;background:none;border:none;border-radius:8px;color:#ffffffd9;cursor:pointer;display:flex;font-size:.88rem;font-weight:500;gap:8px;padding:.55rem .8rem;text-align:left;transition:background .15s;width:100%}.account-panel-item:hover:not(:disabled){background:#ffffff14}.account-panel-item:disabled{opacity:.4;cursor:not-allowed}.account-panel-item--danger{color:#fca5a5}.account-panel-item--danger:hover{background:#ef44441f}.account-panel-divider{border:none;border-top:1px solid rgba(255,255,255,.08);margin:.4rem 0}.admin-dashboard{display:flex;flex-direction:column;height:100vh;background:#f0f2f5;color:#1a1a2e;font-family:Inter,sans-serif;overflow:hidden}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:52px;background:#fff;border-bottom:1px solid #e2e5ea;flex-shrink:0}.admin-header-left{display:flex;align-items:center;gap:.75rem}.admin-logo{font-size:1rem;font-weight:700;letter-spacing:.04em;color:#1a1a2e}.admin-badge{background:#ede9fe;color:#6d28d9;font-size:.62rem;font-weight:700;letter-spacing:.1em;padding:.2rem .5rem;border-radius:4px}.admin-logout{background:transparent;border:1px solid #d1d5db;color:#6b7280;font-size:.8rem;padding:.35rem .85rem;border-radius:6px;cursor:pointer;transition:border-color .2s,color .2s}.admin-logout:hover{border-color:#ef4444;color:#ef4444}.admin-tabs{display:flex;gap:0;padding:0 1.5rem;background:#fff;border-bottom:1px solid #e2e5ea;overflow-x:auto;flex-shrink:0}.admin-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:#6b7280;font-size:.84rem;font-weight:500;padding:.7rem 1rem;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.admin-tab:hover{color:#374151}.admin-tab--active{color:#7c3aed;border-bottom-color:#7c3aed;font-weight:600}.admin-tab-badge{display:inline-flex;align-items:center;justify-content:center;background:#dc2626;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:9999px;padding:0 4px;margin-left:5px;vertical-align:middle;line-height:1}.admin-body{flex:1;display:flex;overflow:hidden}.admin-split{display:flex;flex:1;overflow:hidden}.admin-list-panel{width:320px;min-width:260px;background:#fff;border-right:1px solid #e2e5ea;display:flex;flex-direction:column;overflow:hidden}.admin-detail-panel{flex:1;overflow-y:auto;padding:1.5rem;background:#f0f2f5}.admin-list-header{padding:.875rem 1rem;border-bottom:1px solid #e9ebef;background:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.admin-section-title{font-size:.95rem;font-weight:600;color:#1a1a2e;margin:0 0 .6rem;display:flex;align-items:center;gap:.5rem}.admin-count{font-size:.72rem;font-weight:600;background:#f3f4f6;color:#6b7280;padding:.15rem .45rem;border-radius:10px}.admin-search{width:100%;background:#f9fafb;border:1px solid #e2e5ea;color:#1a1a2e;font-size:.82rem;padding:.45rem .7rem;border-radius:6px;box-sizing:border-box;outline:none;transition:border-color .2s}.admin-search:focus{border-color:#7c3aed;background:#fff}.admin-search::placeholder{color:#9ca3af}.admin-user-list{overflow-y:auto;flex:1}.admin-user-row{display:flex;align-items:center;gap:.65rem;padding:.65rem 1rem;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background .12s}.admin-user-row:hover{background:#f9fafb}.admin-user-row--active{background:#f5f3ff;border-left:3px solid #7c3aed;padding-left:calc(1rem - 3px)}.admin-user-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem;border:1px solid #e5e7eb}.admin-user-avatar img{width:100%;height:100%;object-fit:cover}.admin-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.admin-user-name{font-size:.84rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-meta{font-size:.7rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-date{font-size:.68rem;color:#d1d5db;flex-shrink:0}.admin-detail-placeholder{color:#d1d5db;font-size:.88rem;margin-top:4rem;text-align:center}.admin-detail-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.85rem;padding:.75rem 1rem;border-radius:8px;margin-top:1.5rem}.admin-detail{background:#fff;border-radius:10px;border:1px solid #e5e7eb;padding:1.5rem;max-width:720px}.admin-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid #f3f4f6}.admin-detail-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid #e5e7eb}.admin-detail-avatar img{width:100%;height:100%;object-fit:cover}.admin-detail-avatar-icon{font-size:1.4rem}.admin-detail-name{font-size:1.05rem;font-weight:700;color:#111827;margin:0 0 .2rem}.admin-detail-role{font-size:.76rem;color:#9ca3af;margin:0 0 .1rem}.admin-detail-since{font-size:.73rem;color:#c4c9d4;margin:0}.admin-detail-section{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid #f3f4f6}.admin-detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.admin-detail-section-title{font-size:.72rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .75rem}.admin-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem}.admin-detail-field{display:flex;flex-direction:column;gap:.2rem}.admin-detail-field label{font-size:.68rem;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.admin-detail-field span{font-size:.87rem;color:#374151}.admin-detail-field a{font-size:.87rem;color:#7c3aed;text-decoration:none}.admin-detail-field a:hover{text-decoration:underline}.admin-stats-row{display:flex;gap:.75rem}.admin-stat{flex:1;background:#f9fafb;border:1px solid #e9ebef;border-radius:8px;padding:.75rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}.admin-stat span{font-size:1.5rem;font-weight:700;color:#7c3aed}.admin-stat label{font-size:.68rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.admin-plan-badge{font-size:.76rem;font-weight:700;letter-spacing:.03em;padding:.2rem .55rem;border-radius:4px;display:inline-block}.admin-plan-badge--free{background:#f3f4f6;color:#6b7280}.admin-plan-badge--starter{background:#dcfce7;color:#15803d}.admin-plan-badge--pro{background:#ede9fe;color:#6d28d9}.admin-plan-badge--premium{background:#fef3c7;color:#b45309}.admin-plan-badge--elite{background:#fce7f3;color:#be185d}.admin-status-badge{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;display:inline-block;white-space:nowrap}.admin-status-badge--active{background:#dcfce7;color:#15803d}.admin-status-badge--canceled{background:#fee2e2;color:#b91c1c}.admin-status-badge--completed{background:#dcfce7;color:#15803d}.admin-status-badge--confirmed{background:#dbeafe;color:#1d4ed8}.admin-status-badge--pending_artist_approval,.admin-status-badge--requested,.admin-status-badge--quoted,.admin-status-badge--accepted{background:#fef3c7;color:#b45309}.admin-status-badge--paid{background:#ede9fe;color:#6d28d9}.admin-status-badge--refunded{background:#fce7f3;color:#be185d}.admin-status-badge--failed{background:#fee2e2;color:#b91c1c}.admin-status-badge--succeeded{background:#dcfce7;color:#15803d}.admin-sub-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-sub-label{font-size:.76rem;color:#9ca3af;flex-basis:100%;margin-bottom:.2rem}.admin-plan-btn{background:#f9fafb;border:1px solid #e2e5ea;color:#374151;font-size:.78rem;font-weight:500;padding:.4rem .75rem;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s}.admin-plan-btn:hover:not(:disabled){background:#f0ebff;border-color:#7c3aed;color:#6d28d9}.admin-plan-btn--active{background:#ede9fe;border-color:#7c3aed;color:#6d28d9;font-weight:600}.admin-plan-btn--cancel{border-color:#fca5a5;color:#ef4444;background:#fff}.admin-plan-btn--cancel:hover:not(:disabled){background:#fef2f2;border-color:#ef4444}.admin-plan-btn:disabled{opacity:.45;cursor:not-allowed}.admin-archive-btn{padding:.35rem .85rem;border-radius:8px;border:1px solid #9ca3af;background:#f9fafb;color:#4b5563;font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.admin-archive-btn:hover{background:#f3f4f6;border-color:#6b7280;color:#374151}.admin-archive-all-btn{padding:.3rem .8rem;border-radius:8px;border:1px solid #9ca3af;background:#f9fafb;color:#4b5563;font-size:.78rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.admin-archive-all-btn:hover:not(:disabled){background:#f3f4f6;border-color:#6b7280;color:#374151}.admin-archive-all-btn:disabled{opacity:.45;cursor:not-allowed}.admin-bio{font-size:.85rem;color:#6b7280;line-height:1.65;margin:0}.admin-detail-actions{display:flex;gap:.75rem;flex-wrap:wrap}.admin-action-btn{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:500;padding:.5rem 1rem;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:opacity .15s,background .15s}.admin-action-btn:disabled{opacity:.45;cursor:not-allowed}.admin-action-btn--message{background:#f9fafb;color:#6b7280;border-color:#e2e5ea}.admin-action-btn--delete{background:#fef2f2;color:#ef4444;border-color:#fecaca}.admin-action-btn--delete:hover{background:#fee2e2}.admin-coming-soon{font-size:.62rem;background:#f3f4f6;color:#9ca3af;padding:.1rem .4rem;border-radius:3px;letter-spacing:.04em}.admin-full-panel{padding:1.5rem;overflow-y:auto;flex:1;background:#f0f2f5}.admin-tx-filters{display:flex;flex-wrap:wrap;gap:.4rem;padding:.75rem 1rem;border-bottom:1px solid #e9ebef;background:#fff}.admin-tx-list .admin-user-row{cursor:pointer}.admin-tx-row{align-items:center}.admin-tx-status-pill{display:inline-block;padding:.2rem .6rem;border-radius:50px;font-size:.71rem;font-weight:600;white-space:nowrap}.admin-tx-finance-grid{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.admin-tx-finance-row{display:flex;justify-content:space-between;padding:.45rem .875rem;font-size:.82rem;color:#6b7280;border-bottom:1px solid #f3f4f6}.admin-tx-finance-row:last-child{border-bottom:none}.admin-tx-finance-row--total{font-weight:700;color:#111827;background:#fff}.admin-tx-finance-row--artist{color:#15803d;font-weight:600}.admin-tx-action-block{margin-top:.5rem}.admin-tx-select{border:1px solid #e2e5ea;border-radius:6px;padding:.35rem .6rem;font-size:.82rem;color:#374151;background:#fff;cursor:pointer;flex:1}.admin-tx-select:focus{outline:2px solid #7c3aed;outline-offset:1px}.admin-tx-table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;margin-top:1rem;background:#fff}.admin-tx-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-tx-table thead{background:#f9fafb}.admin-tx-table th{padding:.7rem .875rem;text-align:left;color:#9ca3af;font-weight:600;font-size:.69rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;white-space:nowrap}.admin-tx-table td{padding:.6rem .875rem;border-bottom:1px solid #f3f4f6;color:#374151;vertical-align:top}.admin-tx-table tr:last-child td{border-bottom:none}.admin-tx-table tr:hover td{background:#fafafa}.admin-tx-id{color:#d1d5db;font-size:.74rem}.admin-tx-name{display:block;font-weight:500;color:#111827}.admin-tx-email{display:block;font-size:.71rem;color:#9ca3af}.admin-tx-amount{font-weight:600;color:#111827}.admin-tx-fee{color:#7c3aed;font-weight:500}.admin-tx-artist{color:#15803d;font-weight:500}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1rem 0}.admin-pagination button{background:#fff;border:1px solid #e2e5ea;color:#374151;font-size:.82rem;padding:.4rem .9rem;border-radius:6px;cursor:pointer;transition:background .15s}.admin-pagination button:hover:not(:disabled){background:#f9fafb}.admin-pagination button:disabled{opacity:.35;cursor:not-allowed}.admin-pagination span{font-size:.82rem;color:#6b7280}.admin-create-admin-wrap{max-width:480px;margin:2rem auto}.admin-create-admin-desc{font-size:.85rem;color:#6b7280;line-height:1.6;margin:.25rem 0 1.5rem}.admin-create-admin-form{display:flex;flex-direction:column;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.5rem}.admin-form-field{display:flex;flex-direction:column;gap:.35rem}.admin-form-field label{font-size:.75rem;font-weight:600;color:#374151}.admin-form-field input{background:#f9fafb;border:1px solid #e2e5ea;color:#111827;font-size:.9rem;padding:.6rem .85rem;border-radius:6px;outline:none;transition:border-color .2s,background .2s}.admin-form-field input:focus{border-color:#7c3aed;background:#fff}.admin-form-field input::placeholder{color:#d1d5db}.admin-create-btn{background:linear-gradient(135deg,#7c3aed,#4f46e5);border:none;color:#fff;font-size:.9rem;font-weight:600;padding:.7rem 1.25rem;border-radius:8px;cursor:pointer;margin-top:.25rem;transition:opacity .2s}.admin-create-btn:hover:not(:disabled){opacity:.9}.admin-create-btn:disabled{opacity:.55;cursor:not-allowed}.admin-notif-subtabs{display:flex;gap:.5rem;margin-top:.5rem}.admin-notif-subtab{background:#fff;border:1px solid #e2e5ea;color:#6b7280;font-size:.83rem;font-weight:500;padding:.45rem 1rem;border-radius:6px;cursor:pointer;transition:all .15s}.admin-notif-subtab:hover{border-color:#7c3aed;color:#7c3aed}.admin-notif-subtab--active{background:#ede9fe;border-color:#7c3aed;color:#6d28d9;font-weight:600}.admin-notif-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.admin-notif-filter-btn{background:#fff;border:1px solid #e2e5ea;color:#6b7280;font-size:.78rem;font-weight:500;padding:.35rem .75rem;border-radius:20px;cursor:pointer;transition:all .15s}.admin-notif-filter-btn:hover{border-color:#7c3aed;color:#7c3aed}.admin-notif-filter-btn--active{background:#ede9fe;border-color:#7c3aed;color:#6d28d9;font-weight:600}.admin-notif-type-badge{font-size:.71rem;font-weight:600;padding:.2rem .55rem;border-radius:4px;white-space:nowrap;display:inline-block}.admin-notif-msg{font-size:.8rem;color:#6b7280;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-notif-count{font-weight:700;color:#374151;font-size:.9rem}.admin-broadcast-form-wrap{max-width:600px}.admin-broadcast-form{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.admin-broadcast-form-title{font-size:1rem;font-weight:700;color:#111827;margin:0}.admin-broadcast-desc{font-size:.83rem;color:#6b7280;margin:-.5rem 0 0;line-height:1.5}.admin-target-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.35rem}.admin-target-btn{background:#f9fafb;border:1px solid #e2e5ea;color:#374151;font-size:.82rem;font-weight:500;padding:.6rem .75rem;border-radius:8px;cursor:pointer;text-align:left;transition:all .15s}.admin-target-btn:hover{border-color:#7c3aed;background:#f5f3ff}.admin-target-btn--active{background:#ede9fe;border-color:#7c3aed;color:#6d28d9;font-weight:600}.admin-form-field textarea{background:#f9fafb;border:1px solid #e2e5ea;color:#111827;font-size:.9rem;padding:.6rem .85rem;border-radius:6px;outline:none;transition:border-color .2s,background .2s;resize:vertical;font-family:inherit;width:100%;box-sizing:border-box}.admin-form-field textarea:focus{border-color:#7c3aed;background:#fff}.admin-form-field textarea::placeholder{color:#d1d5db}.admin-char-count{font-size:.7rem;color:#9ca3af;text-align:right;display:block;margin-top:.2rem}.admin-loading{padding:2rem;text-align:center;color:#9ca3af;font-size:.85rem}.admin-empty{color:#9ca3af;font-size:.85rem;text-align:center;padding:1.5rem}.admin-msg{font-size:.82rem;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:.5rem .75rem;margin-bottom:.75rem}.admin-msg--err{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.admin-msg-filters{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #e2e5ea}.admin-user-row--unread{border-left:3px solid #7c3aed}.admin-unread-dot{background:#7c3aed;color:#fff;border-radius:9999px;font-size:.7rem;font-weight:700;padding:.1rem .4rem;margin-left:.4rem;vertical-align:middle}.admin-msg-preview{font-size:.75rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:200px}.admin-conv-status{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:999px}.admin-conv-status--open{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.admin-conv-status--closed{background:#f3f4f6;color:#9ca3af;border:1px solid #e5e7eb}.admin-convo-detail{display:flex;flex-direction:column;height:100%;overflow:hidden}.admin-convo-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #e8eaed;flex-shrink:0}.admin-thread{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.admin-bubble{max-width:78%;display:flex;flex-direction:column;gap:.2rem}.admin-bubble--admin{align-self:flex-end;align-items:flex-end}.admin-bubble--user{align-self:flex-start;align-items:flex-start}.admin-bubble-content{padding:.65rem .9rem;border-radius:14px;font-size:.88rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.admin-bubble--admin .admin-bubble-content{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;border-bottom-right-radius:4px}.admin-bubble--user .admin-bubble-content{background:#f3f4f6;color:#1a1a2e;border-bottom-left-radius:4px}.admin-bubble-time{font-size:.7rem;color:#9ca3af}.admin-reply-box{padding:1rem 1.5rem;border-top:1px solid #e8eaed;flex-shrink:0}.admin-reply-box textarea{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:.65rem .85rem;font-size:.87rem;font-family:inherit;resize:none;outline:none;box-sizing:border-box;transition:border-color .2s}.admin-reply-box textarea:focus{border-color:#7c3aed}.admin-closed-notice{text-align:center;font-size:.82rem;color:#9ca3af;padding:.75rem;border-top:1px solid #e8eaed}.admin-msg-modal{background:#fff;border-radius:14px;padding:2rem;width:100%;max-width:520px;box-shadow:0 8px 32px #0000001f;display:flex;flex-direction:column;gap:1rem}.admin-msg-modal-title{font-size:1.1rem;font-weight:700;color:#1a1a2e;margin:0}.admin-action-btn--message{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;border:none;opacity:1}.admin-action-btn--message:hover{opacity:.88}@media(max-width:768px){.admin-header{padding:0 1rem}.admin-tabs{padding:0 .75rem}.admin-tab{padding:.6rem .75rem;font-size:.8rem}.admin-split{flex-direction:column}.admin-list-panel{width:100%;min-width:unset;border-right:none;border-bottom:1px solid #e2e5ea;max-height:45vh}.admin-detail-panel,.admin-detail{padding:1rem}.admin-detail-header{gap:.75rem}.admin-detail-grid{grid-template-columns:1fr;gap:.6rem}.admin-stats-row{flex-wrap:wrap}.admin-stat{min-width:calc(50% - .375rem)}.admin-full-panel{padding:1rem}.admin-tx-filters{padding:.6rem .75rem}.admin-convo-header,.admin-thread{padding:.875rem 1rem}.admin-reply-box{padding:.75rem 1rem}.admin-create-admin-wrap{margin:1rem}.admin-broadcast-form-wrap{max-width:100%}}.artist-public-page{min-height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);color:#fff;padding:2rem}.back-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.6rem 1.2rem;border-radius:50px;cursor:pointer;font-size:.9rem;margin-bottom:2rem;transition:background .2s}.back-btn:hover{background:#ffffff26}.artist-profile-header{display:flex;gap:2rem;align-items:flex-start;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.artist-avatar-lg{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;flex-shrink:0;box-shadow:0 8px 24px #667eea66}.artist-profile-info{flex:1}.artist-name-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.artist-name-row h1{margin:0;font-size:2rem}.genre-badge{background:#667eea4d;border:1px solid rgba(102,126,234,.5);color:#a78bfa;padding:.3rem .8rem;border-radius:50px;font-size:.85rem;font-weight:600}.genre-badge--music{background:#ec489933;border-color:#ec489973;color:#f9a8d4}.artist-city{color:#fff9;margin:.5rem 0}.artist-stats{display:flex;gap:1.5rem;margin:.75rem 0;font-size:1.1rem}.artist-bio{color:#ffffffbf;line-height:1.6;margin-top:.75rem}.artist-calendar-section{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.artist-calendar-section h2{margin:0 0 .5rem;font-size:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.calendar-hint{color:#fff9;margin:0 0 1rem;font-size:.95rem}.calendar-gate{display:flex;flex-direction:column;align-items:center;padding:2.5rem 1rem;gap:1rem}.btn-show-calendar{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:14px 32px;transition:opacity .2s,transform .15s;letter-spacing:.3px}.btn-show-calendar:hover{opacity:.9;transform:translateY(-2px)}.inline-login-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:.95rem;font-weight:600;padding:0;text-decoration:underline}.artist-calendar-legend{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem;font-size:.85rem;color:#ffffffb3}.artist-calendar-legend span{display:flex;align-items:center;gap:.4rem}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.artist-calendar-wrapper .fc{--fc-border-color: rgba(255,255,255,.1);--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(255,255,255,.03);--fc-today-bg-color: rgba(102,126,234,.15);--fc-event-border-color: transparent}.artist-calendar-wrapper .fc-toolbar-title{color:#fff;font-size:1.2rem}.artist-calendar-wrapper .fc-button{background:#ffffff1a!important;border-color:#fff3!important;color:#fff!important}.artist-calendar-wrapper .fc-button:hover{background:#fff3!important}.artist-calendar-wrapper .fc-col-header-cell-cushion,.artist-calendar-wrapper .fc-daygrid-day-number{color:#ffffffb3}.artist-calendar-wrapper .day-free .fc-daygrid-day-frame{cursor:pointer}.artist-calendar-wrapper .day-free .fc-daygrid-day-number{color:#22c55e;font-weight:700}.artist-calendar-wrapper .day-free:hover .fc-daygrid-day-frame{background:#22c55e26!important}.artist-calendar-wrapper .day-busy{background:#ef44440f!important}.artist-calendar-wrapper .day-busy .fc-daygrid-day-number{color:#ffffff59}.artist-calendar-wrapper .day-partial .fc-daygrid-day-frame{cursor:pointer}.artist-calendar-wrapper .day-partial .fc-daygrid-day-number{color:#f97316;font-weight:700}.artist-calendar-wrapper .day-partial:hover .fc-daygrid-day-frame{background:#f9731626!important}.artist-calendar-wrapper .day-past .fc-daygrid-day-number{color:#fff3}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box{background:linear-gradient(135deg,#1e1b4b,#312e81);border:1px solid rgba(102,126,234,.3);border-radius:20px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-box h3{margin:0 0 1rem;font-size:1.3rem}.modal-box p{color:#fffc;margin:.4rem 0}.booking-modal{max-width:560px}.booking-date-label{color:#a78bfa;font-weight:600;margin-bottom:1.5rem!important;font-size:1rem}.booking-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.9rem;color:#fffc;font-weight:500}.form-group input,.form-group textarea{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;padding:.7rem 1rem;font-size:.95rem;width:100%;box-sizing:border-box}.form-group .autocomplete-wrapper{margin-bottom:0}.form-group .autocomplete-wrapper input{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;padding:.7rem 1rem;font-size:.95rem;width:100%;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;background:#667eea1a}.form-group textarea{resize:vertical}.checkbox-label{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:#fffc;cursor:pointer}.modal-actions{display:flex;gap:.75rem;margin-top:.5rem}.btn-primary{flex:1;padding:.8rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-secondary{padding:.8rem 1.5rem;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:50px;color:#fff;font-weight:600;cursor:pointer;transition:background .2s}.btn-secondary:hover:not(:disabled){background:#ffffff26}.booking-success{text-align:center;padding:1rem}.success-icon{font-size:3rem;margin-bottom:1rem}.booking-success h3{font-size:1.4rem;margin-bottom:.5rem}.booking-success p{color:#ffffffb3}.artist-page-loading,.artist-page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;color:#fff;gap:1rem;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e)}.loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.favorite-btn{margin-top:12px;padding:9px 20px;border-radius:20px;border:2px solid rgba(255,255,255,.25);background:#ffffff12;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.favorite-btn:hover:not(:disabled){border-color:#ec4899;background:#ec489926}.favorite-btn--active{border-color:#ec4899;background:#ec489933;color:#f9a8d4}.favorite-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.artist-public-page{padding:1rem}.artist-profile-header{flex-direction:column;align-items:center;text-align:center}.artist-name-row,.artist-stats{justify-content:center}.form-row{flex-direction:column}.artist-calendar-legend{gap:.75rem}}.header-reviews{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.1)}.header-reviews-label{font-size:.8rem;font-weight:600;color:#ffffff73;text-transform:uppercase;letter-spacing:.8px;margin:0 0 .75rem}.header-reviews-strip{display:flex;flex-direction:column;gap:.7rem}.header-review-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.7rem 1rem}.header-review-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.3rem}.header-review-stars{color:#fbbf24;font-size:.85rem;letter-spacing:1px}.header-review-author{font-size:.75rem;color:#fff6}.header-review-text{font-size:.88rem;line-height:1.5;color:#ffffffbf;margin:0;font-style:italic}.artist-review-text{font-size:.95rem;line-height:1.55;opacity:.88;margin:0 0 .4rem;font-style:italic}.artist-review-author{font-size:.8rem;opacity:.5;margin:0}.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:32px;outline:none;overflow:hidden;padding:0;width:32px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#eee}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-arrow-up .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.29289 11.7071C4.68342 12.0976 5.31658 12.0976 5.70711 11.7071L9 8.41421L12.2929 11.7071C12.6834 12.0976 13.3166 12.0976 13.7071 11.7071C14.0976 11.3166 14.0976 10.6834 13.7071 10.2929L9.70711 6.29289C9.31658 5.90237 8.68342 5.90237 8.29289 6.29289L4.29289 10.2929C3.90237 10.6834 3.90237 11.3166 4.29289 11.7071Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-arrow-down .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.29289 6.29289C4.68342 5.90237 5.31658 5.90237 5.70711 6.29289L9 9.58579L12.2929 6.29289C12.6834 5.90237 13.3166 5.90237 13.7071 6.29289C14.0976 6.68342 14.0976 7.31658 13.7071 7.70711L9.70711 11.7071C9.31658 12.0976 8.68342 12.0976 8.29289 11.7071L4.29289 7.70711C3.90237 7.31658 3.90237 6.68342 4.29289 6.29289Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23fff' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media(-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#eee}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{font-size:16px;font-weight:700;text-align:center}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#ccc;color:#000}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#ccc}.register-flow{min-height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);color:#fff;padding:2rem 1rem;display:flex;justify-content:center;align-items:center}.register-container{max-width:800px;width:100%;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:30px;padding:2.5rem;box-shadow:0 20px 60px #0000004d}.register-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.back-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.6rem 1.2rem;border-radius:50px;cursor:pointer;transition:all .3s ease;font-size:.9rem}.back-button:hover{background:#fff3;transform:translate(-5px)}.register-title{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.progress-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:3rem;padding:0 1rem}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:0 0 auto;opacity:.4;transition:all .3s ease}.progress-step.active{opacity:1}.step-number{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .3s ease}.progress-step.active .step-number{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;box-shadow:0 5px 20px #667eea80}.progress-step span{font-size:.75rem;text-align:center;white-space:nowrap}.progress-line{flex:1;height:2px;background:#ffffff1a;margin:0 .5rem;position:relative;top:-10px;transition:all .3s ease}.progress-line.active{background:linear-gradient(90deg,#667eea,#764ba2)}.form-content{animation:fadeIn .5s ease}.form-step{margin-bottom:2rem}.form-step h2{font-size:1.5rem;margin-bottom:.5rem;font-weight:700}.step-description{color:#ffffffb3;margin-bottom:1.5rem;font-size:.95rem}.form-input,.form-textarea{width:100%;padding:1rem 1.2rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:15px;color:#fff;font-size:1rem;margin-bottom:1rem;transition:all .3s ease;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:#667eea;background:#ffffff1f;box-shadow:0 0 0 3px #667eea33}.form-input::placeholder,.form-textarea::placeholder{color:#ffffff80}.form-input option{background-color:#2a2a3e;color:#fff;padding:.5rem}.form-input option:hover{background-color:#3a3a4e}.form-textarea{resize:vertical;min-height:120px}.geolocation-button{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:15px;color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:1.5rem}.geolocation-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #667eea66}.geolocation-button:disabled{opacity:.6;cursor:not-allowed}.divider{display:flex;align-items:center;margin:1.5rem 0;color:#ffffff80;font-size:.9rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#fff3}.divider span{padding:0 1rem}.slider-container{margin:1.5rem 0}.slider-container label{display:block;margin-bottom:1rem;font-weight:600}.slider-description{margin-top:.75rem;font-size:.9rem;color:#ffffffb3;font-style:italic}.form-slider{width:100%;height:6px;border-radius:5px;background:#ffffff1a;outline:none;-webkit-appearance:none}.form-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;box-shadow:0 3px 10px #667eea80}.form-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;border:none;box-shadow:0 3px 10px #667eea80}.photo-upload-container{margin:2rem 0}.photo-upload-label{display:block;cursor:pointer}.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:#ffffff0d;border:2px dashed rgba(255,255,255,.3);border-radius:20px;transition:all .3s ease}.upload-placeholder:hover{background:#ffffff14;border-color:#667eea}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-hint{font-size:.85rem;color:#ffffff80;margin-top:.5rem}.photo-preview{text-align:center}.photo-preview img{max-width:300px;max-height:300px;border-radius:20px;margin-bottom:1rem;box-shadow:0 10px 30px #0000004d}.change-photo-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.7rem 1.5rem;border-radius:50px;cursor:pointer;transition:all .3s ease}.change-photo-btn:hover{background:#fff3}.stripe-info-card{background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:20px;padding:2rem;text-align:center;margin-bottom:2rem}.stripe-icon{font-size:3rem;margin-bottom:1rem}.stripe-info-card h3{font-size:1.5rem;margin-bottom:1rem}.stripe-info-card p{color:#fffc;line-height:1.6;margin-bottom:1.5rem}.stripe-benefits{list-style:none;padding:0;text-align:left;max-width:300px;margin:0 auto}.stripe-benefits li{padding:.5rem 0;color:#ffffffe6}.stripe-actions{display:flex;flex-direction:column;gap:1rem;align-items:center}.summary-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;margin-bottom:1.5rem}.summary-item{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.summary-item:last-child{border-bottom:none}.summary-label{color:#fff9;font-size:.9rem}.summary-value{font-weight:600}.terms-text{font-size:.85rem;color:#fff9;text-align:center;line-height:1.6}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin:2rem 0}.plan-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem 1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.plan-card:hover{transform:translateY(-5px);border-color:#667eea80}.plan-card.selected{border-color:#667eea;background:#667eea26;box-shadow:0 10px 30px #667eea4d}.plan-card.featured{border-color:#667eea80}.plan-card.elite{border-color:#a78bfa99}.plan-card.elite.selected{border-color:#a78bfa;background:#7c3aed26;box-shadow:0 10px 30px #7c3aed59}.plan-card.elite:hover{border-color:#a78bfa}.plan-badge{position:absolute;top:15px;right:-30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:5px 40px;font-size:.7rem;font-weight:700;transform:rotate(45deg);letter-spacing:1px}.plan-badge--elite{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.plan-card h3{font-size:1.5rem;margin-bottom:.5rem}.plan-price{font-size:2rem;font-weight:700;margin-bottom:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-features{list-style:none;padding:0;margin-bottom:1.5rem}.plan-features li{padding:.5rem 0;font-size:.9rem;color:#fffc}.plan-select-indicator{text-align:center;padding:.7rem;background:#ffffff1a;border-radius:10px;font-weight:600;font-size:.9rem}.plan-card.selected .plan-select-indicator{background:linear-gradient(135deg,#667eea,#764ba2)}.payment-notice{background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:15px;padding:1rem;text-align:center;margin-top:1rem}.payment-notice p{margin:0;color:#ffffffe6;font-size:.9rem}.autocomplete-wrapper{position:relative;margin-bottom:1rem}.autocomplete-wrapper .autocomplete-input{margin-bottom:0}.autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1e1b3a;border:1px solid rgba(102,126,234,.4);border-radius:12px;list-style:none;margin:0;padding:6px 0;z-index:100;box-shadow:0 8px 24px #0006;overflow:hidden}.autocomplete-item{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;cursor:pointer;font-size:.9rem;color:#ffffffd9;transition:background .15s ease;line-height:1.4}.autocomplete-item:hover{background:#667eea33;color:#fff}.autocomplete-pin{flex-shrink:0;font-size:.85rem;margin-top:1px}.error-message{background:#ef444433;border:1px solid rgba(239,68,68,.5);color:#fca5a5;padding:1rem;border-radius:15px;margin-bottom:1.5rem;text-align:center;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-primary,.btn-secondary,.btn-link{padding:1rem 2.5rem;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;border:none}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary:hover:not(:disabled){background:#fff3}.btn-link{background:transparent;color:#ffffffb3;text-decoration:underline;padding:.5rem 1rem}.btn-link:hover:not(:disabled){color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.register-container{padding:1.5rem}.register-title{font-size:1.3rem}.progress-bar{padding:0}.progress-step span{font-size:.65rem}.step-number{width:35px;height:35px;font-size:.9rem}.form-row,.plans-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.genre-chips-label{font-size:.9rem;color:#ffffffb3;font-weight:500;margin-bottom:.6rem}.optional-hint{font-size:.8rem;color:#fff6;font-weight:400}.genre-chips-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.genre-chip{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:50px;color:#ffffffbf;cursor:pointer;font-size:.85rem;font-weight:500;padding:.35rem .9rem;transition:all .15s}.genre-chip:hover{background:#ec489926;border-color:#ec489966;color:#f9a8d4}.genre-chip--active{background:#ec489940;border-color:#ec4899;color:#f9a8d4;font-weight:600}.pw-wrap{position:relative;margin-bottom:0}.pw-wrap .form-input{padding-right:2.75rem}.pw-eye{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:0;opacity:.5;transition:opacity .15s}.pw-eye:hover{opacity:1}.pw-hint{font-size:.75rem;color:#ffffff59;margin:.15rem 0 .5rem;line-height:1.4}.establishment-calendar{min-height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);color:#fff}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:1.5rem}.header-left h1{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.back-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.6rem 1.2rem;border-radius:50px;cursor:pointer;transition:all .3s ease;font-weight:600;font-size:.95rem}.back-btn:hover{background:#fff3;transform:translateY(-2px)}.logout-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.6rem 1.5rem;border-radius:50px;cursor:pointer;transition:all .3s ease;font-weight:600}.logout-btn:hover{background:#fff3;transform:translateY(-2px)}.calendar-container{max-width:1400px;margin:2rem auto;padding:2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px}.fc{background:transparent}.fc .fc-toolbar-title{color:#fff;font-size:1.8rem;font-weight:700}.fc .fc-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;text-transform:capitalize;padding:.5rem 1rem;border-radius:10px;transition:all .3s ease}.fc .fc-button:hover{background:#fff3;transform:translateY(-2px)}.fc .fc-button-active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent}.fc .fc-button:disabled{opacity:.5;cursor:not-allowed}.fc-theme-standard td,.fc-theme-standard th{border-color:#ffffff1a}.fc .fc-col-header-cell{background:#ffffff0d;color:#fffc;font-weight:600;padding:1rem}.fc .fc-daygrid-day{background:#ffffff05;transition:all .3s ease}.fc .fc-daygrid-day:hover{background:#ffffff14;cursor:pointer}.fc .fc-daygrid-day-number{color:#fff;padding:.5rem}.fc .fc-daygrid-day.fc-day-today{background:#667eea33}.fc .fc-event{border:none;border-radius:8px;padding:.3rem .5rem;cursor:pointer;transition:all .3s ease}.fc .fc-event:hover{transform:scale(1.05);box-shadow:0 5px 15px #0000004d}.fc .fc-event-title{font-weight:600}.message-banner{position:fixed;top:20px;right:20px;padding:1rem 1.5rem;border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:300px;max-width:500px;z-index:2000;animation:slideInRight .3s ease;box-shadow:0 10px 30px #0000004d}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.success-banner{background:linear-gradient(135deg,#10b981e6,#059669e6);border:1px solid rgba(16,185,129,.5)}.error-banner{background:linear-gradient(135deg,#ef4444e6,#dc2626e6);border:1px solid rgba(239,68,68,.5)}.message-banner span{flex:1;color:#fff;font-weight:600;font-size:.95rem}.message-banner button{background:#fff3;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .3s ease}.message-banner button:hover{background:#ffffff4d;transform:scale(1.1)}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;position:relative}.modal-content.large{max-width:900px}.booking-mode-selector{display:flex;gap:1rem;margin:1.5rem 0}.mode-btn{flex:1;padding:1rem;border:2px solid #ddd;background:#ffffff0d;border-radius:8px;cursor:pointer;font-size:1rem;color:#fff;transition:all .3s ease}.mode-btn:hover{border-color:#667eea;background:#667eea1a}.mode-btn.active{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600}.multi-date-form,.selected-dates-list{margin-top:1.5rem}.selected-dates-list h3{margin-bottom:1rem;color:#fff}.date-config-panel{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:1.5rem;margin-bottom:1.5rem}.date-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid rgba(255,255,255,.1)}.date-header h4{margin:0;color:#667eea;font-size:1.1rem}.remove-date-btn{background:#dc3545;color:#fff;border:none;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.remove-date-btn:hover{background:#c82333;transform:scale(1.1)}.config-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.config-inputs .form-group{margin-bottom:0}.config-inputs label{font-size:.9rem;font-weight:500;color:#ffffffe6}.blocs-preview{background:#ffffff08;border-radius:10px;padding:1rem;margin-top:1rem}.bloc-item{background:#667eea33;border-left:4px solid #667eea;padding:.75rem 1rem;margin-bottom:.5rem;border-radius:8px;font-weight:500;color:#a5b4fc}.pause-item{background:#fbbf241a;border-left:4px solid #fbbf24;padding:.5rem 1rem;margin-bottom:.5rem;border-radius:8px;font-size:.9rem;color:#fcd34d}.modal-subtitle{color:#ffffffb3;font-size:.95rem;margin-bottom:1.5rem}.multi-date-review-list{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0;max-height:400px;overflow-y:auto;padding-right:.5rem}.date-review-item{display:flex;gap:1rem;padding:1rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;transition:all .3s ease;cursor:pointer}.date-review-item.selected{background:#667eea26;border-color:#667eea80}.date-review-item.disabled{opacity:.6;cursor:not-allowed}.date-review-item:hover:not(.disabled){background:#ffffff14;border-color:#667eea4d}.date-review-checkbox{display:flex;align-items:center}.date-review-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.date-review-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.date-review-content{flex:1;cursor:pointer}.date-review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.date-review-date{font-weight:600;font-size:1.05rem;color:#fff}.date-review-details{display:flex;flex-direction:column;gap:.3rem}.date-review-blocs{color:#fffc;font-size:.9rem}.date-review-times{color:#667eeae6;font-size:.85rem;font-family:Courier New,monospace}.rejection-reason-section{margin-top:1.5rem;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px}.rejection-label{display:block;margin-bottom:.5rem;color:#fca5a5}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{margin:0 0 1.5rem;font-size:1.8rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-content h3{margin:1rem 0;font-size:1.3rem}.modal-content p{margin:.5rem 0;color:#fffc;font-size:1rem}.modal-body{margin-bottom:1.5rem}.modal-body p{margin:.8rem 0;line-height:1.6}.modal-close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:all .3s ease}.modal-close:hover{background:#fff3;transform:scale(1.1)}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button{flex:1}.status-badge{padding:.4rem .8rem;border-radius:50px;font-size:.85rem;font-weight:600;display:inline-block}.status-pending_artist_approval{background:#f1c40f;color:#000}.status-confirmed{background:#27ae60;color:#fff}.status-paid{background:#2ecc71;color:#fff}.status-completed{background:#95a5a6;color:#fff}.status-cancelled,.status-rejected{background:#e74c3c;color:#fff}.search-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.search-input,.search-select{padding:.8rem 1rem;border-radius:15px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;font-size:1rem;font-family:inherit;transition:all .3s ease}.search-input:focus,.search-select:focus{outline:none;border-color:#667eea80;background:#ffffff14}.search-input::placeholder{color:#fff6}.search-select option{background:#1a1a2e;color:#fff}.radius-slider{display:flex;flex-direction:column;gap:.5rem}.radius-slider label{font-weight:600;color:#ffffffe6}.radius-slider input[type=range]{width:100%;height:6px;border-radius:5px;background:#fff3;outline:none;-webkit-appearance:none}.radius-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;box-shadow:0 2px 10px #667eea80}.radius-slider input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;border:none;box-shadow:0 2px 10px #667eea80}.search-results{margin-top:2rem}.artists-list{display:grid;gap:1rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.artist-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:15px;cursor:pointer;transition:all .3s ease}.btn-my-artist{margin-left:auto;flex-shrink:0;padding:.4rem .9rem;border-radius:20px;border:1.5px solid rgba(255,255,255,.3);background:#ffffff12;color:#ffffffbf;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap}.btn-my-artist:hover{background:#ffffff24}.btn-my-artist--saved{background:#66ea7e26;border-color:#4ade80;color:#4ade80}.btn-my-artist--modal{padding:.6rem 1.1rem;font-size:.85rem}.artist-availability-view{padding:1rem 0}.artist-avail-card{display:flex;align-items:center;gap:1rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1rem 1.25rem;margin-bottom:1rem}.artist-avail-card .artist-avail-photo{width:52px;height:52px;border-radius:50%;overflow:hidden;flex-shrink:0}.artist-avail-card .artist-avail-photo img{width:100%;height:100%;object-fit:cover}.artist-card:hover{background:#ffffff1a;border-color:#667eea80;transform:translateY(-2px);box-shadow:0 5px 20px #667eea4d}.artist-photo{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0}.artist-photo img{width:100%;height:100%;object-fit:cover}.photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);font-size:2rem}.artist-info{flex:1}.artist-info h4{margin:0 0 .5rem;font-size:1.2rem}.artist-genre{color:#ffffffb3;font-size:.9rem;margin:.3rem 0}.artist-location{color:#fff9;font-size:.85rem;margin:.3rem 0}.artist-stats{display:flex;gap:1rem;margin-top:.5rem;font-size:.85rem;color:#fffc}.booking-form{display:flex;flex-direction:column;gap:1.5rem}.selected-artist-info{padding:1rem;background:#667eea33;border:1px solid rgba(102,126,234,.3);border-radius:15px;margin-bottom:1rem}.selected-artist-info h3{margin:0 0 .5rem;font-size:1.2rem}.selected-artist-info p{margin:0;color:#fffc}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#ffffffe6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-input,.form-textarea{padding:.8rem 1rem;border-radius:15px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;font-size:1rem;font-family:inherit;transition:all .3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#667eea80;background:#ffffff14}.form-textarea{resize:vertical}.form-input::placeholder,.form-textarea::placeholder{color:#fff6}.cancel-textarea{width:100%;padding:1rem;border-radius:15px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#fff;font-size:1rem;font-family:inherit;resize:vertical;margin-bottom:1rem}.cancel-textarea:focus{outline:none;border-color:#ef444480;background:#ffffff14}.cancel-textarea::placeholder{color:#fff6}.warning-text{color:#f1c40f;font-size:.9rem;margin:1rem 0;padding:.8rem;background:#f1c40f1a;border:1px solid rgba(241,196,15,.3);border-radius:10px}.btn-primary,.btn-secondary,.btn-danger{padding:.8rem 1.5rem;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-size:.95rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #667eea80}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}.btn-secondary:hover{background:#fff3}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #ef444480}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.artists-list::-webkit-scrollbar,.modal-content::-webkit-scrollbar{width:8px}.artists-list::-webkit-scrollbar-track,.modal-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.artists-list::-webkit-scrollbar-thumb,.modal-content::-webkit-scrollbar-thumb{background:#667eea80;border-radius:10px}.artists-list::-webkit-scrollbar-thumb:hover,.modal-content::-webkit-scrollbar-thumb:hover{background:#667eeab3}.calendar-wrapper{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:1.5rem;display:inline-block;width:100%;max-width:500px}.custom-calendar{width:100%}.calendar-header-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.calendar-weekday{text-align:center;font-weight:600;font-size:.9rem;color:#ffffffb3;padding:.5rem}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.95rem;transition:all .3s ease;cursor:pointer}.calendar-day.empty{background:transparent;border:none;cursor:default}.calendar-day:not(.empty):not(.past):hover{background:#ffffff26;border-color:#667eea80;transform:scale(1.05)}.calendar-day.past{background:#ffffff05;color:#ffffff4d;cursor:not-allowed}.calendar-day.today{border:2px solid rgba(102,126,234,.8);font-weight:600}.calendar-day.selected{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-color:transparent!important;color:#fff!important;font-weight:700;box-shadow:0 5px 15px #667eea66}.calendar-day.selected:hover{background:linear-gradient(135deg,#7c8ef0,#8a5bb0)!important;transform:scale(1.05)}.react-calendar{background:transparent;border:none;color:#fff;font-family:inherit;width:100%;max-width:500px}.react-calendar__navigation{display:flex;margin-bottom:1rem}.react-calendar__navigation button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:10px;padding:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:44px}.react-calendar__navigation button:hover:not(:disabled){background:#fff3}.react-calendar__navigation button:disabled{opacity:.5;cursor:not-allowed}.react-calendar__month-view__weekdays{text-align:center;font-weight:600;font-size:.9rem;color:#ffffffb3;margin-bottom:.5rem}.react-calendar__month-view__weekdays__weekday{padding:.75rem 0}.react-calendar__month-view__weekdays__weekday abbr{text-decoration:none}.react-calendar__tile{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:1rem;font-size:.95rem;border-radius:8px;cursor:pointer;transition:all .3s ease;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.react-calendar__tile:hover:not(:disabled){background:#ffffff26;border-color:#667eea80;transform:scale(1.05)}.react-calendar__tile:disabled{background:#ffffff05;color:#ffffff4d;cursor:not-allowed}.react-calendar__tile--now{background:#667eea33;border-color:#667eea66;font-weight:600}.react-calendar__tile--active,.react-calendar__tile.selected-date{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-color:transparent!important;color:#fff!important;font-weight:700;box-shadow:0 5px 15px #667eea66}.react-calendar__tile--active:hover,.react-calendar__tile.selected-date:hover{background:linear-gradient(135deg,#7c8ef0,#8a5bb0)!important;transform:scale(1.05)}.react-calendar__month-view__days__day--neighboringMonth{color:#ffffff4d}.react-calendar__month-view__days{display:grid!important;grid-template-columns:repeat(7,1fr);gap:.5rem}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:1.5rem .5rem}@media(max-width:768px){.calendar-header{flex-direction:column;gap:1rem;padding:1rem}.header-left{flex-direction:column;width:100%;text-align:center}.header-left h1{font-size:1.5rem}.calendar-container{padding:1rem;margin:1rem}.modal-content{width:95%;padding:1.5rem}.modal-content.large{max-width:95%}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.message-banner{top:10px;right:10px;left:10px;min-width:auto;max-width:none}.artist-card{flex-direction:column;text-align:center}.artist-photo{margin:0 auto}.artist-stats{justify-content:center}.calendar-wrapper{padding:1rem}.react-calendar{max-width:100%}.react-calendar__tile{padding:.75rem;font-size:.85rem}.react-calendar__navigation button{padding:.5rem;font-size:.9rem}}@media(max-width:480px){.header-left h1{font-size:1.3rem}.back-btn,.logout-btn{padding:.5rem 1rem;font-size:.85rem}.modal-content h2{font-size:1.5rem}.fc .fc-toolbar-title{font-size:1.3rem}.fc .fc-button{padding:.4rem .8rem;font-size:.85rem}}.payment-success-page{min-height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);display:flex;align-items:center;justify-content:center;padding:2rem}.success-container{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:30px;padding:4rem 3rem;max-width:600px;width:100%;text-align:center;animation:slideUp .5s ease;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-icon{font-size:6rem;margin-bottom:2rem;animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.success-title{font-size:2.5rem;font-weight:700;margin:0 0 1rem;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.success-subtitle{font-size:1.3rem;color:#ffffffe6;margin:0 0 1.5rem;font-weight:600}.success-message{font-size:1rem;color:#ffffffb3;margin:0 0 2.5rem;line-height:1.6}.btn-primary{padding:1rem 2.5rem;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-size:1.1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 10px 30px #667eea4d}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 40px #667eea80}.btn-primary:active{transform:translateY(-1px)}@media(max-width:768px){.success-container{padding:3rem 2rem}.success-icon{font-size:4rem}.success-title{font-size:2rem}.success-subtitle{font-size:1.1rem}.success-message{font-size:.95rem}.btn-primary{padding:.9rem 2rem;font-size:1rem}}@media(max-width:480px){.payment-success-page{padding:1rem}.success-container{padding:2.5rem 1.5rem}.success-icon{font-size:3.5rem}.success-title{font-size:1.8rem}.success-subtitle{font-size:1rem}.btn-primary{width:100%}}.legal-page{min-height:100vh;background:#0f0f1a;color:#e2e8f0;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.legal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.legal-back{background:none;border:1px solid rgba(255,255,255,.15);color:#a78bfa;padding:.4rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.legal-back:hover{background:#a78bfa1a;border-color:#a78bfa}.legal-logo{font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,#a78bfa,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;letter-spacing:.05em}.legal-content{flex:1;max-width:800px;width:100%;margin:0 auto;padding:3rem 2rem}.legal-content h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#a78bfa,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.legal-updated{font-size:.85rem;color:#64748b;margin-bottom:2rem}.legal-intro{font-size:1rem;line-height:1.7;color:#94a3b8;margin-bottom:2.5rem;padding:1.25rem 1.5rem;background:#a78bfa0f;border-left:3px solid #a78bfa;border-radius:0 8px 8px 0}.legal-content section{margin-bottom:2.5rem}.legal-content h2{font-size:1.2rem;font-weight:600;color:#c4b5fd;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(167,139,250,.2)}.legal-content h3{font-size:1rem;font-weight:600;color:#a78bfa;margin:1.25rem 0 .75rem}.legal-content p{line-height:1.75;color:#cbd5e1;margin-bottom:.85rem;font-size:.95rem}.legal-content ul{padding-left:1.5rem;margin-bottom:1rem}.legal-content li{line-height:1.7;color:#cbd5e1;margin-bottom:.4rem;font-size:.95rem}.legal-content strong{color:#e2e8f0;font-weight:600}.legal-footer{padding:1.5rem 2rem;background:#ffffff05;border-top:1px solid rgba(255,255,255,.08);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.legal-footer p{font-size:.85rem;color:#475569;margin:0}.legal-footer-links{display:flex;align-items:center;gap:.75rem}.legal-footer-links button{background:none;border:none;color:#a78bfa;cursor:pointer;font-size:.85rem;text-decoration:underline;text-underline-offset:3px;transition:color .2s}.legal-footer-links button:hover{color:#c4b5fd}.legal-footer-links span{color:#334155}@media(max-width:600px){.legal-header{padding:.85rem 1rem}.legal-content{padding:2rem 1.25rem}.legal-content h1{font-size:1.5rem}}
