@charset "UTF-8";@font-face{font-family:Poppins;src:url(/assets/Poppins-Regular-CTKNfV9P.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/Poppins-Regular-CTKNfV9P.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/Poppins-Bold-qTAUjFF7.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--color-primary: #F26B8A;--color-bg: #FFF3E8;--color-accent-mint: #5EC2A6;--color-text-main: #222222;--color-text-muted: #000000;--color-border: #E8DAD0;--color-white: #FFFFFF;--color-primary-light: #F26B8A;--color-secondary: #F26B8A;--color-bg-base: #FFF3E8;--color-bg-light: #FFF3E8;--color-text-dark: #003c72;--color-text-medium: #6F6764;--color-text-light: #6F6764;font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--color-text-main);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}input,textarea,select{accent-color:#FF6B9D}input[type=time],input[type=date],input[type=datetime-local]{color-scheme:light;color:#333;-webkit-text-fill-color:#333}body{margin:0;min-height:100vh;background-image:url(/assets/background-BIh9dUzU.jpeg);background-repeat:no-repeat;background-position:top center;background-size:cover;background-attachment:fixed;overflow-x:hidden;overflow-wrap:break-word;word-break:break-word}html{overflow-x:hidden}.content-panel{background:var(--color-white);max-width:1000px;margin:2.5rem auto;padding:48px 64px;border-radius:30px;box-shadow:0 8px 30px #0000000f}@media(max-width:768px){.content-panel{max-width:100%;padding:20px;border-radius:16px}}h1,h2,h3,h4,h5,h6{color:var(--color-text-main);font-weight:700;line-height:1.2}.section-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem}@media(min-width:768px){.section-title{font-size:1.75rem}}.activity-item-title{margin:0;font-size:1rem;font-weight:700;color:inherit}a{color:var(--color-primary);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-secondary)}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.tab-button{flex:1;padding:1rem 1.5rem;background:transparent;color:#666;border:none;border-radius:20px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;white-space:nowrap;min-width:0}@media(max-width:768px){.tab-button{padding:.6rem .5rem;font-size:.8rem}}.tab-button:hover{background:#f5f5f5;color:#333}.app-container{min-height:100vh;display:flex;flex-direction:column;background:transparent}.app-header{position:sticky;top:0;z-index:100;background:#fffffffa}.header-content{max-width:1200px;margin:0 auto;padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo{display:flex;align-items:center}.language-toggle{padding:.5rem 1rem;border:2px solid var(--color-primary);background:transparent;color:var(--color-primary);border-radius:20px;font-weight:600;cursor:pointer;transition:all .3s ease}.language-toggle:hover{background:var(--color-primary);color:#fff}.logout-button{padding:.5rem 1rem;border:none;background:var(--color-primary);color:#fff;border-radius:20px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.logout-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f26b8a4d}.app-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:1rem}.app-nav{display:flex;justify-content:center;align-items:center;gap:.5rem;flex:1}.nav-item{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.5rem 1rem;text-decoration:none;color:var(--color-text-muted);transition:all .3s ease;position:relative;border-radius:12px;white-space:nowrap}.nav-item:hover{color:var(--color-primary);background:#f26b8a14}.nav-item.active{color:var(--color-primary);font-weight:600}.nav-icon{font-size:1.25rem}.nav-label{font-size:.9rem}.notification-badge{position:absolute;top:.125rem;right:.25rem;background:var(--color-accent-yellow);color:var(--color-text-main);font-size:.625rem;font-weight:700;padding:.125rem .375rem;border-radius:10px;min-width:1.25rem;text-align:center}.mobile-nav{display:none}.mobile-notification-badge{position:absolute;top:.25rem;right:50%;transform:translate(50%);background:var(--color-accent-yellow);color:var(--color-text-main);font-size:.65rem;font-weight:700;padding:.125rem .375rem;border-radius:10px;min-width:1.25rem;text-align:center}@media(max-width:768px){.app-container{padding-bottom:60px}.header-content{padding:.75rem;gap:.5rem}.logo-img{width:60px}.desktop-nav{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fffffffa;border-top:1px solid rgba(0,0,0,.1);padding:.5rem 0;justify-content:space-around;align-items:center;z-index:100;box-shadow:0 -2px 10px #0000000d}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;text-decoration:none;color:var(--color-text-muted);transition:all .2s ease;position:relative;flex:1;max-width:80px}.mobile-nav-item.active{color:var(--color-primary)}.mobile-nav-icon{font-size:1.5rem}.mobile-nav-label{display:none}.app-main{padding:1rem .75rem}.language-toggle{padding:.4rem .6rem;font-size:.8rem;margin-left:auto}.logout-button{padding:.4rem .6rem;font-size:.8rem}}@media(min-width:769px){.app-nav{gap:.5rem}.nav-item{padding:.5rem 1rem}.nav-label{font-size:.95rem}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-container{background:#fff;border-radius:20px;border:1px solid var(--color-border);padding:2.5rem;max-width:650px;width:100%;box-shadow:0 4px 16px #2f2a2a14;animation:slideUp .4s ease}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{width:160px;margin-top:1rem;margin-bottom:1.5rem}.auth-error{background:#fee;color:#c33;padding:12px 16px;border-radius:12px;margin-bottom:1.5rem;font-size:.9rem;border:1px solid #fcc}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form .form-group{display:flex;flex-direction:column;gap:.5rem}.auth-form label{font-weight:600;color:var(--color-text-main);font-size:.9rem}.auth-form .form-input{padding:12px 16px;border:2px solid var(--color-border);border-radius:12px;font-size:1rem;font-family:inherit;transition:border-color .2s}.auth-form .form-input:focus{outline:none;border-color:var(--color-primary)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:2.5rem;width:100%}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;color:#999;padding:.25rem;display:flex;align-items:center;transition:color .2s}.password-toggle:hover{color:#666}.password-hint{font-size:.8rem;color:#999;margin-top:-.25rem}.user-type-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px}.type-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border:2px solid var(--color-border);background:#fff;border-radius:12px;cursor:pointer;transition:all .2s;font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.type-option:hover{border-color:var(--color-primary);background:#f26b8a0d}.type-option.active{border-color:var(--color-primary);background:#f26b8a1f;color:var(--color-primary)}.type-icon{font-size:2rem}.auth-button{padding:14px;background:var(--color-primary);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s;margin-top:.5rem}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f26b8a4d}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.auth-footer p{color:var(--color-text-muted);margin-bottom:.5rem;font-size:.9rem}.auth-link{color:var(--color-primary);font-weight:600;text-decoration:none;transition:color .2s}.auth-link:hover{color:var(--color-primary);text-decoration:underline;opacity:.8}@media(max-width:480px){.auth-container{padding:2rem 1.5rem}.auth-title{font-size:1.5rem}.user-type-selector{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease;pointer-events:auto}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s}.modal-close:hover{background:#f0f0f0;color:#333}.modal-title{font-size:1.5rem;font-weight:700;color:#222;margin-bottom:1.5rem}.modal-activity-info{margin-bottom:1.5rem}.modal-activity-info h3{font-size:1.125rem;font-weight:600;color:#333;margin-bottom:1rem}.modal-details{display:flex;flex-direction:column;gap:.75rem}.modal-detail{display:flex;align-items:center;gap:.75rem;font-size:.9375rem;color:#555}.booking-instructions{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.booking-instructions h4{font-size:.9375rem;font-weight:600;color:#333;margin-bottom:.5rem}.booking-instructions p{font-size:.875rem;color:#555;line-height:1.5;white-space:pre-wrap}.booking-note{background:#fff9e6;border:1px solid #FFE69C;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.booking-note p{font-size:.875rem;color:#856404;line-height:1.5;margin:0}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-button{padding:.75rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:500;border:none;cursor:pointer;transition:all .2s}.modal-button:disabled{opacity:.5;cursor:not-allowed}.modal-button.secondary{background:#f0f0f0;color:#666}.modal-button.secondary:hover:not(:disabled){background:#e0e0e0}.modal-button.primary{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff}.modal-button.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d4d}@media(max-width:768px){.modal-content{padding:1.5rem}.modal-actions{flex-direction:column-reverse;gap:.75rem}.modal-button{width:100%}}.activity-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #2f2a2a14;border:1px solid var(--color-border);transition:all .3s ease;position:relative;overflow:visible;cursor:pointer}.activity-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:16px 16px 0 0}.activity-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2f2a2a1f}.favorite-button{position:absolute;top:1.75rem;right:1.5rem;background:none;border:none;cursor:pointer;transition:all .3s ease;z-index:2;padding:0}.favorite-button:hover{transform:scale(1.15)}.favorite-button:active{transform:scale(.95)}.activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-right:3rem}.activity-type-badge{padding:.375rem .875rem;border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.activity-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.format-badge{padding:.25rem .625rem;border-radius:8px;background:#20b2aa;color:#fff;font-size:.75rem;font-weight:600;white-space:nowrap}.activity-language{padding:.25rem .625rem;border-radius:8px;background:#6f676414;color:var(--color-text-muted);font-size:.75rem;font-weight:600}.activity-title{font-size:1.375rem;font-weight:700;color:var(--color-text-main);margin-bottom:.75rem;line-height:1.3}.activity-creator{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;cursor:pointer;width:fit-content;padding:.375rem .75rem;border-radius:12px;transition:all .3s ease}.activity-creator:hover{background:#f26b8a14}.creator-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f26b8a1f;color:var(--color-primary)}.creator-avatar-img{width:32px;height:32px;border-radius:50%;object-fit:cover}.creator-name{font-weight:700;color:var(--color-text-main);font-size:.875rem}.activity-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.activity-detail{display:flex;align-items:center;gap:.5rem}.detail-icon{font-size:1rem}.detail-text{color:var(--color-text-muted);font-size:.875rem}.activity-description{color:var(--color-text-main);line-height:1.6;margin-bottom:1rem}.activity-button{display:inline-block;padding:.5rem 1rem;border-radius:16px;font-weight:600;text-decoration:none;text-align:center;transition:all .3s ease;border:none;cursor:pointer;font-size:1rem}.activity-button.primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #f26b8a40}.activity-button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f26b8a59}@media(max-width:768px){.activity-type-badge{padding:.25rem 8px!important;font-size:.65rem!important}.format-badge{padding:.25rem .6rem!important;font-size:.65rem!important}.format-badge svg{font-size:.7rem!important;margin-right:.15rem!important}.activity-language{padding:.25rem .6rem!important;font-size:.65rem!important}.activity-title{font-size:1.125rem}}@media(min-width:768px){.activity-card{padding:2rem}.activity-title{font-size:1.5rem}.activity-details{flex-direction:row;gap:1.5rem}}.featured-teachers{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem}.featured-label{color:var(--color-text-muted);font-weight:600}.featured-teachers-list{display:flex;flex-wrap:wrap;gap:.25rem}.featured-teacher-name{color:var(--color-primary);font-weight:600;cursor:pointer;transition:color .2s ease}.featured-teacher-name:hover{color:var(--color-primary);text-decoration:underline;opacity:.8}.location-picker{position:relative;width:100%}.location-input-wrapper{position:relative;display:flex;align-items:center}.location-picker-input{width:100%;padding-right:2.5rem}.location-clear-btn{position:absolute;right:.75rem;background:none;border:none;font-size:1.25rem;color:#999;cursor:pointer;padding:0;line-height:1;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;transition:all .2s}.location-clear-btn:hover{color:#333;background:#f0f0f0}.location-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #E0E0E0;border-radius:12px;margin-top:4px;padding:.25rem 0;list-style:none;z-index:1000;box-shadow:0 4px 16px #0000001f;max-height:250px;overflow-y:auto}.location-suggestion-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s}.location-suggestion-item:hover{background:#f8f0f5}.suggestion-icon{flex-shrink:0;font-size:1rem}.suggestion-text{font-size:.9rem;color:#333}.suggestion-text-wrapper{display:flex;flex-direction:column;gap:.15rem;min-width:0}.suggestion-main{font-size:.9rem;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-secondary{font-size:.8rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.city-filter-wrapper{position:relative}.city-filter-wrapper .location-suggestions{min-width:280px}@media(max-width:768px){.location-suggestions{border-radius:8px}.location-suggestion-item{padding:.65rem .75rem}}.dance-style-picker{position:relative;flex:1;min-width:0}.dance-style-input-area{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;min-height:36px;padding:.25rem .5rem;cursor:text;width:100%;box-sizing:border-box;border:2px solid #E8DAD0;border-radius:12px;transition:border-color .3s}.dance-style-input-area:focus-within{border-color:#ff6b9d}.search-bar-picker .dance-style-input-area{border:none;border-radius:0}.dance-style-input{flex:1;min-width:80px;border:none;outline:none;background:transparent;font-size:.85rem;color:#333;font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;padding:0}.dance-style-input::placeholder{color:#aaa}.dance-style-tag{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .45rem;background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border-radius:10px;font-size:.72rem;font-weight:600;white-space:nowrap}.dance-style-tag-remove{background:none;border:none;color:#fff;cursor:pointer;padding:0;display:flex;align-items:center;opacity:.8;transition:opacity .2s}.dance-style-tag-remove:hover{opacity:1}.dance-style-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000001f;z-index:500;max-height:220px;overflow-y:auto;list-style:none;margin:4px 0 0;padding:.25rem 0}.dance-style-suggestion-item{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;cursor:pointer;transition:background .15s;font-size:.9rem;color:#333}.dance-style-suggestion-item:hover{background:#ff6b9d14}.dance-style-suggestion-item .suggestion-icon{font-size:1rem;flex-shrink:0}.dance-style-suggestion-item .suggestion-text{font-weight:500}.feed-page{animation:fadeIn .3s ease}.feed-container{max-width:1000px;width:100%;margin:30px auto;background:#fff;padding:40px 24px;border-radius:30px;box-shadow:0 8px 30px #00000014}.feed-header{position:relative;margin-bottom:1.5rem}.feed-title{font-size:2rem;font-weight:700;color:#222;margin-bottom:20px;text-align:center}.date-navigation{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:0 24px}.date-nav-btn{background:#fff;border:2px solid #FF6B9D;color:#ff6b9d;width:40px;height:40px;border-radius:50%;font-size:1.25rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.date-nav-btn:hover{background:#ff6b9d;color:#fff;transform:scale(1.1)}.date-nav-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.date-picker-btn{background:#fff;border:2px solid #20B2AA;color:#20b2aa;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.date-picker-btn:hover{background:#20b2aa;color:#fff;transform:scale(1.1)}.date-picker-btn svg{font-size:1.25rem}.date-picker-wrapper{position:relative;display:inline-block}.date-picker-container{position:absolute;top:calc(100% + 8px);right:0;z-index:600;min-width:220px;max-width:360px;padding:8px;background:#fff;border-radius:12px;box-shadow:0 6px 18px #0000001f}.feed-search-bar{display:flex;align-items:stretch;background:#fff;border:2px solid #E8DAD0;border-radius:50px;margin:0 auto 1rem;max-width:560px;box-shadow:0 2px 12px #0000000d;transition:border-color .3s,box-shadow .3s;overflow:visible;position:relative}.feed-search-bar:focus-within{border-color:#ff6b9d;box-shadow:0 6px 24px #ff6b9d1f}.search-bar-field{display:flex;align-items:center;gap:.3rem;padding:.25rem .2rem .25rem .75rem;flex:1;min-width:0;position:relative}.search-bar-city{flex:.9}.search-bar-style{flex:1.1}.search-bar-icon{color:#ff6b9d;font-size:1.1rem!important;flex-shrink:0}.search-bar-divider{width:1px;background:#e8dad0;margin:8px 0;flex-shrink:0}.search-bar-picker{flex:1;min-width:0}.search-bar-picker .location-picker-input,.search-bar-picker .location-input-wrapper{border:none!important;box-shadow:none!important;padding:0!important;height:auto!important;background:transparent!important}.search-bar-picker .location-picker-input{font-size:.85rem;color:#333;padding:.25rem 0!important}.search-bar-picker .location-picker-input::placeholder{color:#aaa}.search-bar-picker .location-clear-btn{right:.25rem}.search-bar-picker .location-suggestions{left:-1rem;min-width:calc(100% + 1rem)}.search-bar-picker .dance-style-input-area{border:none;padding:.35rem 0}.search-bar-picker .dance-style-suggestions{left:-1rem;min-width:calc(100% + 1rem)}.filter-selects{position:static;display:flex;gap:10px;margin-top:12px;margin-bottom:8px;align-items:center;justify-content:center}.style-filter-section{margin-top:8px;margin-bottom:8px}.style-filter-section .filter-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.style-filter-section .filter-btn{padding:.4rem .9rem;background:#fff;color:#666;border:2px solid #E0E0E0;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.3rem}.style-filter-section .filter-btn:hover{border-color:#ff6b9d;background:#ff6b9d0d}.style-filter-section .filter-btn.active{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border-color:#ff6b9d}.date-scroll-container{flex:1;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;justify-content:center;scroll-behavior:smooth}.date-scroll-container::-webkit-scrollbar{display:none}.date-list{display:flex;gap:.5rem;padding:.25rem;justify-content:center}.date-item{display:flex;flex-direction:column;align-items:center;padding:.75rem 1rem;background:#fff;border:2px solid #dfdfdf;border-radius:16px;cursor:pointer;transition:all .3s ease;min-width:70px;flex-shrink:0;color:#222}.date-item:hover{background:#ff6b9d0d;border-color:#ffb6c1}.date-item.selected{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border-color:#ff6b9d;box-shadow:0 4px 12px #ff6b9d4d}.date-day{font-size:.75rem;font-weight:600;text-transform:uppercase;opacity:.8}.date-number{font-size:1.25rem;font-weight:700;margin-top:.25rem}.selected-date-row{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.selected-date-display{text-align:center;font-size:1.125rem;font-weight:500;color:#222}.mobile-date-picker{display:none}.activities-container{display:flex;flex-direction:column;gap:1rem;touch-action:pan-y}.no-activities{text-align:center;padding:3rem 1rem;color:#999}.no-activities-icon{font-size:3rem;display:block;margin-bottom:1rem;opacity:.5}@media(max-width:820px){.feed-container{max-width:100%;margin:50px auto 0;padding:24px 16px 40px;border-radius:30px}.date-navigation{padding:0}.date-nav-btn,.date-navigation .date-picker-wrapper{display:none}.mobile-date-picker{display:block}.mobile-date-picker .date-picker-btn{width:32px;height:32px}.mobile-date-picker .date-picker-btn svg{font-size:1rem}.filter-selects{flex-wrap:wrap;gap:8px;margin-top:8px;margin-left:0;padding:0;justify-content:center}.select-wrapper{width:auto;height:30px}.filter-select{height:30px;font-size:.75rem;padding:5px 24px 5px 10px}.select-chevron{width:14px;height:14px}.style-filter-section{margin-left:0;padding:0 .5rem}.style-filter-section .filter-btn{padding:.3rem .7rem;font-size:.75rem}.feed-search-bar{flex-direction:column;border-radius:20px;margin:0 0 1rem}.search-bar-divider{width:auto;height:1px;margin:0 12px}.search-bar-field{padding:.3rem .25rem .3rem .75rem}.search-bar-picker .location-suggestions,.search-bar-picker .dance-style-suggestions{left:-.75rem;min-width:calc(100% + .75rem)}.date-scroll-container{padding:0;justify-content:flex-start}.date-list{justify-content:flex-start;padding:.25rem .5rem;min-width:100%}.date-item{flex-shrink:0!important;min-width:55px!important;padding:.5rem .65rem!important}.date-day{font-size:.75rem}.date-number{font-size:1.1rem}}@media(min-width:768px){.feed-title{font-size:2.5rem}.date-navigation{justify-content:center}.date-scroll-container{max-width:600px}.filter-buttons{justify-content:left}}.creators-page{animation:fadeIn .3s ease;max-width:1000px;width:100%;margin:30px auto}.page-title{font-size:2rem;font-weight:700;color:var(--color-text-main);margin-bottom:1.5rem;text-align:center}.creators-search-bar{display:flex;align-items:stretch;background:#fff;border:2px solid #E8DAD0;border-radius:50px;margin:0 auto 1.25rem;max-width:720px;box-shadow:0 2px 12px #0000000d;transition:border-color .3s,box-shadow .3s;overflow:visible;position:relative}.creators-search-bar:focus-within{border-color:#ff6b9d;box-shadow:0 6px 24px #ff6b9d1f}.creators-search-bar .search-bar-field{display:flex;align-items:center;gap:.3rem;padding:.25rem .2rem .25rem .75rem;flex:1;min-width:0;position:relative}.creators-search-bar .search-bar-name,.creators-search-bar .search-bar-city{flex:.8}.creators-search-bar .search-bar-style{flex:1}.creators-search-bar .search-bar-icon{color:#ff6b9d;font-size:1.1rem!important;flex-shrink:0}.creators-search-bar .search-bar-divider{width:1px;background:#e8dad0;margin:8px 0;flex-shrink:0}.search-bar-text-input{flex:1;min-width:60px;border:none;outline:none;background:transparent;font-size:.85rem;color:#333;font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;padding:.25rem 0}.search-bar-text-input::placeholder{color:#aaa}.creators-search-bar .search-bar-picker .location-picker-input,.creators-search-bar .search-bar-picker .location-input-wrapper{border:none!important;box-shadow:none!important;padding:0!important;height:auto!important;background:transparent!important}.creators-search-bar .search-bar-picker .location-picker-input{font-size:.85rem;color:#333;padding:.25rem 0!important}.creators-search-bar .search-bar-picker .location-picker-input::placeholder{color:#aaa}.creators-search-bar .search-bar-picker .location-clear-btn{right:.25rem}.creators-search-bar .search-bar-picker .location-suggestions{left:-.75rem;min-width:calc(100% + .75rem)}.creators-search-bar .search-bar-picker .dance-style-input-area{border:none;border-radius:0;padding:.25rem 0}.creators-search-bar .search-bar-picker .dance-style-suggestions{left:-.75rem;min-width:calc(100% + .75rem)}.filter-controls{margin-bottom:1.5rem}.filter-selects{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.select-wrapper{position:relative;width:auto;height:34px}.filter-select{width:100%;height:34px;padding:6px 30px 6px 12px;border-radius:50px;border:2px solid #E8DAD0;font-size:.82rem;font-weight:500;color:#222;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .3s ease;font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif}.filter-select:hover{border-color:#ff6b9d;box-shadow:0 2px 8px #ff6b9d1a}.filter-select:focus{outline:none;border-color:#ff6b9d;box-shadow:0 0 0 3px #ff6b9d1a}.select-chevron{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:#ff6b9d;width:16px;height:16px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.creators-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.creator-card{background:#fff;border-radius:20px;padding:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #00000014;display:flex;gap:1.5rem;align-items:flex-start;text-align:left;position:relative}.creator-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.creator-card-left{flex-shrink:0}.creator-card-right{flex:1;min-width:0}.creator-avatar-large{font-size:3rem}.creator-avatar-image{width:80px;height:80px;border-radius:50%;object-fit:cover;display:block;border:3px solid #FF6B9D15}.loading-state{text-align:center;padding:3rem;color:#666;font-size:1rem}.empty-state{text-align:center;padding:3rem;color:#666;grid-column:1 / -1}.creator-card-name{font-size:1.25rem;font-weight:700;color:var(--color-text-main);margin-bottom:.5rem}.creator-card-bio{color:#666;font-size:.8rem;line-height:1.5;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.creator-card-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.dance-style-tag{padding:.2rem .7rem;background:linear-gradient(135deg,#ff6b9d15,#ffa07a15);color:#ff6b9d;border-radius:12px;font-size:.7rem;font-weight:600}.creator-card-follow,.creator-card-follow-static{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:#999;background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:12px;transition:all .2s ease}.creator-card-follow-static{cursor:default}.creator-card-follow:hover{background:#ff6b9d14}.creator-card-follow.following{color:#ff6b9d}.creator-card-follow.following:hover{background:#ff6b9d1f}@media(max-width:768px){.creators-page{max-width:100%;margin:50px auto 0;padding:24px 16px 40px}.creators-search-bar{flex-direction:column;border-radius:20px;margin:0 0 1rem}.creators-search-bar .search-bar-divider{width:auto;height:1px;margin:0 12px}.creators-search-bar .search-bar-field{padding:.3rem .25rem .3rem .75rem}.filter-selects{flex-wrap:wrap;gap:8px;justify-content:center}.select-wrapper{width:auto;height:30px}.filter-select{height:30px;font-size:.75rem;padding:5px 24px 5px 10px}.select-chevron{width:14px;height:14px}.creator-card{padding:1rem;gap:1rem}.creator-avatar-image{width:60px;height:60px}.creator-avatar-large{font-size:2.5rem}.creator-card-name{font-size:1.1rem}.creator-card-bio{font-size:.8rem}}@media(min-width:768px){.page-title{font-size:2.5rem}.creators-grid{gap:2rem}}.private-slot-card{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 2px 8px #00000014;transition:all .3s ease;display:flex;flex-direction:column;gap:.75rem}.private-slot-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.slot-date{font-size:1.125rem;font-weight:700;color:var(--color-text-main)}.slot-time{font-size:1.5rem;font-weight:700;color:#ff6b9d}.slot-duration{font-size:.875rem;color:#666}.slot-location-small{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:#666}.location-icon-small{font-size:.875rem}.location-text-small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-button{padding:.75rem;background:linear-gradient(135deg,#9370db,#ba55d3);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.book-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #9370db66}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:24px;padding:2rem;max-width:500px;width:100%;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease}.modal-content.success{text-align:center}.success-icon{font-size:4rem;margin-bottom:1rem}.modal-title{font-size:1.5rem;font-weight:700;color:var(--color-text-main);margin-bottom:1rem}.modal-message{color:#666;line-height:1.6;margin-bottom:1.5rem}.booking-details{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:#f8f8f8;border-radius:16px;margin-bottom:1.5rem}.booking-detail{display:flex;align-items:center;gap:.75rem;font-size:.9375rem;color:#444}.modal-actions{display:flex;gap:1rem}.modal-button{flex:1;padding:.875rem;border:none;border-radius:16px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease}.modal-button.cancel{background:#f0f0f0;color:#666}.modal-button.cancel:hover{background:#e0e0e0}.modal-button.confirm{background:linear-gradient(135deg,#9370db,#ba55d3);color:#fff;box-shadow:0 4px 12px #9370db4d}.modal-button.confirm:hover{transform:translateY(-2px);box-shadow:0 6px 16px #9370db66}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:20px;max-width:500px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #E0E0E0}.modal-header h2{font-size:1.5rem;font-weight:700;margin:0}.modal-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:#f5f5f5;color:#333}.modal-body{flex:1;overflow-y:auto;padding:1rem}.modal-loading,.modal-empty{text-align:center;padding:3rem 1rem;color:#999;font-size:1rem}.users-list{display:flex;flex-direction:column;gap:.5rem}.user-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;cursor:pointer;transition:all .2s ease}.user-item:hover{background:#f5f5f5}.user-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#ff6b9d,#c147e9);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.user-avatar-img{width:50px;height:50px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-weight:600;font-size:1rem;margin-bottom:.25rem}.user-bio{font-size:.875rem;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-confirmation-modal{background:#fff;border-radius:20px;padding:2.5rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;text-align:center}.confirmation-icon{margin-bottom:1.5rem;animation:scaleIn .4s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.confirmation-title{font-size:1.8rem;font-weight:600;color:#333;margin-bottom:.5rem}.confirmation-message{font-size:1rem;color:#666;margin-bottom:2rem}.booking-details{background:linear-gradient(135deg,#fff5f8,#fff0f5);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;text-align:left}.detail-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.2rem}.detail-item:last-child{margin-bottom:0}.detail-icon{color:#ff6b9d;display:flex;align-items:center;margin-top:.2rem}.detail-text{flex:1;display:flex;flex-direction:column;gap:.2rem}.detail-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999}.detail-value{font-size:1rem;color:#333;font-weight:500}.contact-section{margin-bottom:1.5rem;padding-top:1.5rem;border-top:1px solid #E8DAD0}.confirmation-message-section{margin-bottom:1.5rem;padding:1rem;background:#fff9f0;border-radius:12px;border-left:4px solid #FF6B9D}.confirmation-message-section h3{font-size:.9rem;font-weight:600;color:#333;margin-bottom:.5rem}.teacher-message{font-size:.95rem;color:#555;line-height:1.5;margin:0;white-space:pre-wrap}.contact-section h3{font-size:1rem;font-weight:600;color:#333;margin-bottom:1rem}.contact-buttons{display:flex;gap:.75rem;justify-content:center}.contact-button{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.2rem;border-radius:8px;text-decoration:none;font-weight:500;font-size:.9rem;transition:transform .2s,box-shadow .2s}.contact-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.contact-button.whatsapp{background:#25d366;color:#fff}.contact-button.instagram{background:linear-gradient(135deg,#833ab4,#e1306c,#fd1d1d);color:#fff}.contact-button .social-icon{width:20px;height:20px;filter:brightness(0) invert(1)}.close-modal-button{width:100%;padding:1rem;background:linear-gradient(135deg,#ff6b9d,#ff8fb3);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.close-modal-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b9d66}@media(max-width:600px){.booking-confirmation-modal{padding:2rem 1.5rem}.confirmation-title{font-size:1.5rem}.contact-buttons{flex-direction:column}.contact-button{width:100%;justify-content:center}}.creator-profile-page{animation:fadeIn .3s ease;max-width:1000px;width:100%;margin:30px auto}.back-button{background:transparent;border:none;color:#ff6b9d;font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1.5rem;transition:all .3s ease}.back-button:hover{color:#ff1493;transform:translate(-4px)}.profile-header{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.5rem;padding:.5rem}.profile-avatar{font-size:4rem;flex-shrink:0}.profile-avatar-image{width:90px;height:90px;border-radius:50%;object-fit:cover;flex-shrink:0}.profile-info{flex:1}.profile-name{font-size:1.75rem;font-weight:600;color:var(--color-text-main);margin-bottom:.75rem}.profile-left{display:flex;gap:1rem;align-items:start}.profile-meta{display:flex;flex-direction:column;gap:.5rem}.profile-meta{flex:1}.name-row{display:flex;align-items:center;gap:1rem}.user-badge{display:inline-block;padding:.4rem 1rem;border-radius:20px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.2rem;width:fit-content}.creator-badge{background:#fff3e0;color:#e65100}.profile-right{display:flex;flex-direction:column;align-items:flex-start}.bio-box{background:#fff;border-radius:16px;padding:1rem 1.25rem;box-shadow:0 2px 8px #0000000f;width:100%}.creator-social-stats{display:flex;gap:1.5rem;justify-content:flex-start}.creator-social-stats .stat-item{cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.creator-social-stats .stat-item:hover{background:#f5f5f5}.creator-social-stats .stat-count{font-size:.875rem;font-weight:700;color:#666}.creator-social-stats .stat-label{font-size:.875rem;color:#666}.profile-followers{color:#666;font-size:.875rem}.follow-button{padding:.25rem .5rem;border-radius:16px;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid #FF6B9D;background:#fff;color:#ff6b9d;white-space:nowrap;align-self:flex-start;margin:.5rem 0}.follow-button:hover,.follow-button.following{background:#ff6b9d;color:#fff}.profile-bio{line-height:1.6;color:#444;margin:0}.profile-dance-styles{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.dance-style-tag{padding:.25rem .85rem;background:linear-gradient(135deg,#ff6b9d15,#ffa07a15);color:#ff6b9d;border-radius:12px;font-size:.8rem;font-weight:600}.social-links{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.social-links.inline{margin-bottom:0;padding-top:.25rem}.profile-tabs{display:flex;gap:.5rem;margin:1rem 0 1.25rem;flex-wrap:wrap}.tab{background:transparent;border:1px solid rgba(0,0,0,.06);padding:.5rem .75rem;border-radius:12px;cursor:pointer;font-weight:600;color:var(--color-text-main);transition:all .15s ease}.tab:hover{transform:translateY(-2px)}.tab.active{background:var(--color-accent, #FF6B9D);color:#fff;border-color:transparent}.tab-content{margin-top:.5rem}.social-link{display:flex;align-items:flex-start;gap:.3rem;text-decoration:none;color:var(--color-text-main);font-weight:500;transition:all .3s ease;justify-content:center;flex-wrap:nowrap;align-content:flex-start}.social-icon{width:22px;height:22px;object-fit:contain}.social-link:hover{border-color:#ff6b9d;color:#ff6b9d;transform:translateY(-2px)}.profile-section{margin-bottom:2rem}.empty-profile-message{background:#fff;border-radius:16px;padding:3rem 2rem;text-align:center;color:#999;font-size:1rem}.activities-list,.recurring-classes-list{display:flex;flex-direction:column;gap:1rem}.recurring-class-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.recurring-class-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.recurring-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.recurring-title{font-size:1.25rem;font-weight:700;color:var(--color-text-main);flex:1}.recurring-language{padding:.25rem .625rem;border-radius:8px;background:#f0f0f0;color:#666;font-size:.75rem;font-weight:600;flex-shrink:0}.recurring-schedule,.recurring-location{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.schedule-icon,.location-icon{font-size:1rem}.schedule-text,.location-text{color:#666;font-size:.875rem}.recurring-description{color:#444;line-height:1.6;margin-bottom:1rem}.private-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.error-message{text-align:center;padding:2rem;background:#fff;border-radius:20px;color:#666;margin-bottom:1rem}@media(max-width:768px){.creator-profile-page{max-width:100%;margin:50px auto 0;padding:24px 16px 40px}.profile-header{grid-template-columns:1fr;gap:1rem;padding:.5rem}.profile-left{flex-direction:row;gap:1rem}.profile-avatar-image{width:70px;height:70px}.profile-name{font-size:1.5rem}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.profile-tabs::-webkit-scrollbar{display:none}.tab-button{font-size:.8rem;padding:.6rem .5rem;white-space:nowrap}.activity-card{padding:1rem}.activity-title{font-size:1.1rem}.recurring-class-card,.private-class-calendar{padding:1rem}.calendar-grid-creator{gap:.25rem}}@media(min-width:768px){.profile-header{padding:2rem}.profile-name{font-size:2rem}.recurring-class-card{padding:2rem}}.private-classes-page{padding:20px 20px 100px;max-width:800px;width:100%;margin:30px auto}.page-header{margin-bottom:30px}.page-subtitle{color:var(--text-secondary);font-size:.95rem;margin-top:8px;text-align:center}.view-toggle{display:flex;gap:.75rem;margin-bottom:2rem;justify-content:center;flex-wrap:wrap}.view-btn{padding:.875rem 1.75rem;border:2px solid #E8DAD0;background:#fff;color:#666;font-size:.95rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.view-btn:hover{border-color:#ff6b9d;background:#ff6b9d0d;transform:translateY(-2px)}.view-btn.active{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border-color:transparent;box-shadow:0 4px 12px #ff6b9d4d}.format-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;background:#f5f5f5;border-radius:25px;max-width:400px;margin-left:auto;margin-right:auto}.format-toggle .toggle-btn{flex:1;padding:.875rem 1.5rem;border:none;background:transparent;color:#666;font-size:1rem;font-weight:600;border-radius:20px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.format-toggle .toggle-btn.active{background:#fff;color:#ff6b9d;box-shadow:0 2px 8px #0000001a}.calendar-container{background:#fff;border-radius:20px;padding:20px;box-shadow:0 2px 10px #00000014}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-title{font-size:1.3rem;font-weight:600;color:var(--text-primary)}.nav-button{background:transparent;color:#222;border:2px solid #222222;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.nav-button:hover{background:#222;color:#fff;transform:scale(1.1)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:10px;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{aspect-ratio:1;border-radius:12px;background:#f8f9fa;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .2s}.calendar-day:hover:not(.empty):not(.no-availability){background:#e9ecef;transform:scale(1.05)}.calendar-day.no-availability{background:#f8f9fa;color:#ccc;cursor:default;opacity:.5}.calendar-day.no-availability:hover{transform:none}.calendar-day.empty{background:transparent;cursor:default}.calendar-day.empty:hover{transform:none}.calendar-day.today{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;font-weight:700}.calendar-day.past{background:#f5f5f5;color:#ccc;cursor:not-allowed!important;opacity:.5}.calendar-day.past:hover{transform:none;background:#f5f5f5}.calendar-day.has-slots{background:linear-gradient(135deg,#20b2aa,#9370db);color:#fff}.day-number{font-size:.9rem;font-weight:600}.day-indicator{position:absolute;bottom:4px;right:4px;background:var(--primary-pink);border-radius:50%;width:8px;height:8px;box-shadow:0 1px 3px #0003}.calendar-legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid #e9ecef;font-size:.85rem}.legend-item{display:flex;align-items:center;gap:8px}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot.available{background:linear-gradient(135deg,#20b2aa,#9370db)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:20px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;border-radius:20px 20px 0 0;z-index:10}.modal-header h3{margin:0;font-size:1.2rem;color:var(--text-primary)}.close-button{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;line-height:1;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.close-button:hover{background:#f8f9fa}.modal-body{padding:20px}.slots-list{margin-bottom:30px}.slots-list h4{margin:0 0 15px;font-size:1rem;color:var(--text-primary)}.slot-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:linear-gradient(135deg,#20b2aa15,#9370db15);border-radius:12px;margin-bottom:10px;transition:transform .2s}.slot-item:hover{transform:translate(5px)}.slot-item.booked{background:#f8f9fa;opacity:.7}.slot-info{flex:1}.slot-time{font-size:1.1rem;font-weight:600;color:var(--primary-teal);margin-bottom:4px}.slot-details{font-size:.85rem;color:var(--text-secondary)}.slot-location{font-size:.8rem;color:#666;margin-top:2px}.template-badge{display:inline-block;background:#e8f5e9;color:#2e7d32;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;margin-left:6px}.flexible-badge{display:inline-block;background:#fff3e0;color:#f57c00;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;margin-left:6px}.format-checkboxes{display:flex;flex-direction:column;gap:.5rem}.format-checkbox-inline{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem;border:1px solid #E0E0E0;border-radius:8px;transition:all .2s ease;background:#fff}.format-checkbox-inline:hover{border-color:#ff6b9d;background:#ff6b9d0d}.format-checkbox-inline input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#FF6B9D}.slot-creator{font-size:.85rem;color:var(--text-primary);margin-top:4px}.slot-actions{display:flex;gap:10px;align-items:center}.booked-badge{background:#6c757d;color:#fff;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600}.booked-badge.confirmed{background:#4caf50}.booking-request{font-size:.85rem;color:#ff9800;margin-top:4px;font-weight:500}.booking-confirmed{font-size:.85rem;color:#4caf50;margin-top:4px;font-weight:500}.confirm-button{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.confirm-button:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.decline-button{background:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.decline-button:hover{background:#da190b;transform:translateY(-2px);box-shadow:0 4px 12px #f443364d}.book-button{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border:none;padding:8px 20px;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #ff6b9d4d}.book-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d66}.delete-button{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:8px;border-radius:50%;transition:background .2s}.delete-button:hover{background:#f8f9fa}.edit-button{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:8px;border-radius:50%;transition:background .2s;color:#ff6b9d}.edit-button:hover{background:#fff0f5}.cancel-button{padding:12px 24px;border:2px solid #6c757d;background:#fff;color:#6c757d;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.cancel-button:hover{background:#6c757d;color:#fff}.add-slot-form{padding-top:20px;border-top:1px solid #e9ecef}.add-slot-form h4{margin:0 0 20px;font-size:1rem;color:var(--text-primary)}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:8px;font-weight:600;font-size:.9rem;color:var(--text-primary)}.form-group select,.form-group input{width:100%;padding:12px;border:2px solid #e9ecef;border-radius:12px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group select:focus,.form-group input:focus{outline:none;border-color:var(--primary-pink)}.add-slot-button{width:100%;background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border:none;padding:14px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;box-shadow:0 4px 12px #ff6b9d4d}.add-slot-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b9d66}.empty-day{text-align:center;padding:40px 20px;color:var(--text-secondary)}@media(max-width:600px){.private-classes-page{max-width:100%;margin:50px auto 0;padding:24px 16px 40px}.page-header h1{font-size:1.5rem}.view-toggle{flex-direction:column;gap:.5rem}.view-btn{width:100%;justify-content:center}.format-toggle{gap:.5rem}.toggle-btn{flex:1;font-size:.85rem;padding:.6rem .5rem}.calendar-container{padding:.75rem}.calendar-grid{gap:5px}.calendar-day{font-size:.85rem;min-height:25px}.day-indicator{width:6px;height:6px}.calendar-header{padding:0}.calendar-title{font-size:1.1rem}.nav-button{width:36px;height:36px;font-size:1.3rem}.modal-content{width:95%;max-height:85vh;padding:1rem;margin:.5rem}.modal-header h3{font-size:1.2rem}.slot-card{flex-direction:column;gap:.75rem}.slot-item{flex-direction:column;align-items:flex-start;gap:.75rem}.slot-info{width:100%}.slot-actions{width:100%;justify-content:flex-end}.slot-actions button{flex:none}.add-slot-form{padding:1rem 0}.add-slot-form .form-group{margin-bottom:1rem}.add-slot-form input,.add-slot-form select{font-size:1rem;padding:.75rem}.format-checkboxes{gap:.75rem}.format-checkbox-inline{padding:.75rem}.add-slot-button,.cancel-button{width:100%;padding:.875rem;font-size:1rem}}.student-profile-page{max-width:1000px;width:100%;margin:30px auto;padding:2rem}.student-profile-page .back-button{background:transparent;border:none;color:#ff6b9d;font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1.5rem;transition:all .3s ease}.student-profile-page .back-button:hover{color:#ff1493;transform:translate(-4px)}.student-profile-page .profile-header{display:flex;gap:2rem;margin-bottom:2rem;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.student-profile-page .profile-left{display:flex;gap:1.5rem;flex:1}.student-profile-page .profile-avatar{width:120px;height:120px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;color:#666;flex-shrink:0}.student-profile-page .profile-avatar-image{width:120px;height:120px;border-radius:50%;object-fit:cover;flex-shrink:0}.student-profile-page .profile-meta{flex:1}.student-profile-page .name-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.student-profile-page .profile-name{font-size:2rem;font-weight:700;color:#222;margin:0}.student-profile-page .user-badge{display:inline-block;padding:.4rem 1rem;border-radius:20px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.2rem;width:fit-content}.student-profile-page .student-badge{background:#e3f2fd;color:#1976d2}.student-profile-page .experience-level{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem}.student-profile-page .experience-label{color:#666;font-weight:500}.student-profile-page .experience-value{color:#222;font-weight:600;padding:.25rem .75rem;background:#f5f5f5;border-radius:12px}.student-profile-page .social-links{display:flex;gap:1rem;margin-top:1rem}.student-profile-page .social-link{display:flex;align-items:center;gap:.5rem;color:#222;text-decoration:none;font-size:.9rem;padding:.5rem 1rem;background:#f5f5f5;border-radius:20px;transition:background .2s}.student-profile-page .social-link:hover{background:#e0e0e0}.student-profile-page .social-icon{width:20px;height:20px}.student-profile-page .profile-right{flex:1;max-width:400px}.student-profile-page .bio-box{background:#f9f9f9;padding:1.5rem;border-radius:8px}.student-profile-page .profile-bio{color:#444;line-height:1.6;margin:0;white-space:pre-wrap}.student-profile-page .loading-message,.student-profile-page .error-message{text-align:center;padding:2rem;color:#666;font-size:1.1rem}@media(max-width:768px){.student-profile-page{max-width:100%;margin:50px auto 0;padding:24px 16px 40px}.student-profile-page .profile-header{flex-direction:column}.student-profile-page .profile-left{flex-direction:column;align-items:center;text-align:center}.student-profile-page .profile-right{max-width:100%}.student-profile-page .name-row{flex-direction:column;gap:.5rem}.student-profile-page .experience-level,.student-profile-page .social-links{justify-content:center}}.notifications-page{animation:fadeIn .3s ease;max-width:1000px;width:100%;margin:30px auto}.no-notifications{text-align:center;padding:3rem 1rem;color:#999}.no-notifications-icon{font-size:3rem;display:block;margin-bottom:1rem;opacity:.5}.notifications-list{display:flex;flex-direction:column;gap:1rem}.notification-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .3s ease;position:relative;border:2px solid transparent}.notification-card.unread{border-color:#ff6b9d;background:linear-gradient(to right,#ff6b9d0d,#fff)}.notification-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.notification-header-right{display:flex;align-items:center;gap:1rem}.notification-icon{position:relative;flex-shrink:0}.notification-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;display:block}.notification-avatar-placeholder{width:40px;height:40px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center}.notification-badge{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white}.notification-badge.confirmed{background:#4caf50;color:#fff}.notification-badge.cancelled{background:#f44336;color:#fff}.notification-activity-date{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#888;margin-bottom:.5rem}.notification-time{font-size:.75rem;color:#999}.delete-notification-btn{background:none;border:none;color:#999;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.delete-notification-btn:hover{background:#f443361a;color:#f44336}.notification-title{font-size:1.125rem;font-weight:700;color:var(--color-text-main);margin-bottom:.5rem}.notification-message{color:#666;line-height:1.6;margin-bottom:1rem}.booking-info{background:#f8f8f8;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.booking-info-item,.payment-info{display:flex;align-items:start;gap:.5rem;font-size:.875rem;color:#444}.info-icon{font-size:1rem;flex-shrink:0}.payment-info{padding-top:.75rem;border-top:1px solid #E0E0E0;font-weight:600}.contact-info{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:.75rem;border-top:1px solid #E0E0E0}.contact-link{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;background:#fff;border:2px solid #E0E0E0;border-radius:12px;text-decoration:none;color:var(--color-text-main);font-weight:600;font-size:.875rem;transition:all .3s ease}.social-icon-small{width:18px;height:18px;object-fit:contain}.contact-link:hover{border-color:#ff6b9d;color:#ff6b9d;transform:translateY(-2px)}.unread-indicator{position:absolute;top:1rem;right:1rem;width:12px;height:12px;background:#ff6b9d;border-radius:50%;box-shadow:0 0 8px #ff6b9d80}@media(max-width:768px){.notifications-page{max-width:100%;margin:50px auto 0;padding:24px 16px 40px}}@media(min-width:768px){.notification-card{padding:2rem}.notification-title{font-size:1.25rem}.contact-info{flex-direction:row}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;inset:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media(max-width:767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{inset:0;position:absolute;margin-right:10px}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.profile-page{animation:fadeIn .3s ease;max-width:1000px;width:100%;margin:30px auto}.profile-card{background:#fff;border-radius:24px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 16px #00000014;position:relative}.profile-card-content{display:flex;gap:3rem;align-items:flex-start}.profile-card-left{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}.profile-card-right{flex:1;text-align:left}.edit-profile-button{position:absolute;top:1.5rem;right:1.5rem;display:flex;align-items:center;padding:.6rem 1rem;background:#fff;color:#666;border:2px solid #E0E0E0;border-radius:20px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.edit-profile-button:hover{border-color:#ff6b9d;color:#ff6b9d;transform:translateY(-1px);box-shadow:0 2px 8px #ff6b9d33}.profile-avatar-container{position:relative;display:inline-block;margin-bottom:1rem}.profile-avatar-large{width:120px;height:120px;margin:0 auto;font-size:5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#ff6b9d15,#ffa07a15);overflow:hidden}.profile-image{width:100%;height:100%;object-fit:cover}.profile-user-name{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;padding-right:8rem;word-wrap:break-word;overflow-wrap:break-word}.profile-user-type{color:#666;font-size:1rem}.toggle-role-button{padding:.875rem 1.5rem;background:linear-gradient(135deg,#20b2aa,#48d1cc);color:#fff;border:none;border-radius:20px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #20b2aa4d;margin-bottom:1.5rem}.toggle-role-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #20b2aa66}.profile-social-stats{display:flex;flex-wrap:wrap;gap:2rem;justify-content:left;padding-top:1rem;width:100%}.profile-social-stats .stat-item{cursor:pointer;text-align:center;border-radius:12px;transition:all .2s ease}.profile-social-stats .stat-item:hover{background:#f5f5f5}.profile-social-stats .stat-count{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.profile-social-stats .stat-text{font-size:.875rem;color:#666}.section-title{font-size:1.25rem;font-weight:600;margin-top:1rem;text-align:left}.teacher-section{margin-bottom:2rem}.profile-incomplete-banner{background:linear-gradient(135deg,#ffa07a15,#ffd70015);border:2px solid #FFA07A;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;display:flex;gap:1rem;align-items:center}.banner-icon{font-size:1.5rem;flex-shrink:0}.banner-content{flex:1}.banner-content strong{display:block;color:#222;margin-bottom:.25rem;font-size:1rem}.banner-content p{margin:0;color:#666;font-size:.85rem}.banner-button{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:20px;font-weight:600;font-size:.85rem;cursor:pointer;transition:transform .2s;white-space:nowrap}.banner-button:hover{transform:scale(1.05)}.teacher-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.action-button{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;border:2px solid #E0E0E0;border-radius:12px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;color:#222;background:#fff;position:relative}.notification-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;box-shadow:0 2px 6px #ff6b9d4d;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.action-button.create{background:#fff}.action-button.create:hover{border-color:#ff6b9d;background:#ff6b9d0d}.action-button.manage{background:#fff}.action-button.manage:hover{border-color:#9370db;background:#9370db0d}.action-icon{font-size:1.25rem}.teacher-content-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #f0f0f0;padding-bottom:.5rem}.content-tab{flex:1;background:transparent;border:none;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;color:#222;cursor:pointer;border-radius:8px 8px 0 0;transition:all .3s ease;position:relative}.content-tab:hover{background:#fff9f0;color:#ff6b9d}.content-tab.active{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;font-weight:600}.teacher-content-section{background:#fff;border-radius:16px;padding:1.5rem;min-height:200px}.profile-schedule-section{margin-top:1.5rem}.schedule-section-title{font-size:1.3rem;font-weight:700;color:#222;margin:0 0 .75rem}.schedule-legend-inline{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:1rem}.schedule-legend-inline .legend-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#555}.schedule-legend-inline .legend-color{width:14px;height:14px;border-radius:4px}.schedule-legend-inline .event-color{background:#ffd6e8}.schedule-legend-inline .workshop-color{background:#fff9cc}.schedule-legend-inline .recurring-color{background:#ccfff0}.schedule-legend-inline .booked-color{background:#e6ccff}.profile-calendar-container{background:#fff;border-radius:12px;padding:1rem;border:1px solid #eee}.profile-calendar-container .rbc-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.profile-calendar-container .rbc-toolbar-label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:1.05rem}.profile-calendar-container .nav-arrow{background:none;border:1px solid #ddd;border-radius:6px;width:30px;height:30px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.profile-calendar-container .nav-arrow:hover{background:#f5f5f5}.profile-calendar-container .rbc-btn-group button{background:#fff;border:1px solid #ddd;padding:4px 12px;font-size:.85rem;cursor:pointer;transition:all .2s}.profile-calendar-container .rbc-btn-group button:first-child{border-radius:6px 0 0 6px}.profile-calendar-container .rbc-btn-group button:last-child{border-radius:0 6px 6px 0}.profile-calendar-container .rbc-btn-group button.rbc-active{background:#222;color:#fff;border-color:#222}.profile-calendar-container .rbc-time-slot{min-height:27px;border-top:none!important}.profile-calendar-container .rbc-timeslot-group{min-height:55px}.profile-calendar-container .rbc-day-slot .rbc-time-slot{border-top:none}.profile-calendar-container .rbc-label{font-size:.72rem;padding:0 4px}.profile-calendar-container .rbc-header{padding:.5rem .75rem;font-size:.8rem;border-bottom:1px solid #eee}.profile-calendar-container .rbc-time-header-content{border-left:1px solid #ddd}.profile-calendar-container .rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.profile-calendar-container .rbc-time-content{scrollbar-gutter:stable}.profile-calendar-container .rbc-time-view{border:1px solid #eee;border-radius:8px;overflow:hidden}.profile-calendar-container .rbc-event{font-size:.75rem;padding:1px 4px}.profile-calendar-container .rbc-event-label{font-size:.65rem}.profile-calendar-container .rbc-time-gutter{font-size:.72rem}.profile-calendar-container .rbc-allday-cell{display:none}.empty-state{text-align:center;padding:3rem 1rem;color:#999}.empty-state p{margin-bottom:1rem;font-size:1rem}.create-first-button{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:20px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.create-first-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d4d}.recurring-classes-list{display:flex;flex-direction:column;gap:1rem}.recurring-class-item{background:#fff9f0;border-left:4px solid #FF6B9D;padding:1rem 1.5rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.recurring-class-info{flex:1}.recurring-class-actions{display:flex;gap:.5rem;flex-shrink:0}.recurring-title{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:.5rem}.recurring-details{font-size:.95rem;color:#666;margin-bottom:.25rem}.recurring-location{font-size:.9rem;color:#999}.private-slots-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.private-slot-item{background:#fff;border:2px solid #f0f0f0;border-radius:12px;padding:1rem;transition:all .3s ease}.private-slot-item.booked{border-left:4px solid #FF6B9D;background:#fff9f0}.booking-status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;margin-bottom:.5rem;background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff}.booking-student-info{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border:2px solid #f0f0f0;border-radius:12px;margin-bottom:.75rem;cursor:pointer;transition:all .3s ease}.booking-student-info:hover{border-color:#ff6b9d;background:#fff9f0;transform:translate(4px)}.student-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#ff6b9d15,#ffa07a15);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.student-avatar img{width:100%;height:100%;object-fit:cover}.student-name{font-size:.95rem;font-weight:600;color:#333}.private-slot-item:hover{border-color:#ff6b9d;box-shadow:0 4px 12px #ff6b9d1a}.slot-date-time{font-size:1rem;color:#333;margin-bottom:.5rem}.slot-date-time strong{color:#ff6b9d}.slot-details{font-size:.9rem;color:#666}.booking-actions{display:flex;gap:.5rem;margin-top:1rem}.confirm-button,.decline-button{flex:1;padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.confirm-button{background:#4caf50;color:#fff}.confirm-button:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.decline-button{background:#f44336;color:#fff}.decline-button:hover{background:#da190b;transform:translateY(-1px);box-shadow:0 4px 8px #f443364d}.cancel-class-button{padding:.6rem 1.2rem;background:#ff9800;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.cancel-class-button:hover{background:#f57c00;transform:translateY(-1px);box-shadow:0 4px 8px #ff98004d}.form-textarea{width:100%;padding:.75rem;border:2px solid #E0E0E0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s}.form-textarea:focus{outline:none;border-color:#ff6b9d}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.modal-btn:disabled:hover{transform:none}.teacher-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:16px;padding:1.5rem;text-align:center;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.stat-number{font-size:2rem;font-weight:700;color:#ff6b9d;margin-bottom:.25rem}.stat-label{font-size:.875rem;color:#666;font-weight:600}.my-activities-section,.teacher-activities-section{margin-bottom:2rem}.main-tabs{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.main-tab-button{flex:1;padding:1rem 1.5rem;background:#fff;color:var(--color-text-muted);border:2px solid var(--color-border);border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease}.main-tab-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.main-tab-button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 12px #f26b8a40}.time-filter-toggle{margin-bottom:1.5rem;text-align:left}.toggle-text-button{background:none;border:none;color:var(--color-primary);font-size:.9rem;font-weight:600;cursor:pointer;padding:.5rem 0;text-decoration:underline;transition:opacity .2s ease}.toggle-text-button:hover{opacity:.7}.activities-tabs{display:flex;gap:.5rem;background:#fff;border-radius:16px;padding:.5rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000000f}.activities-list-simple{display:flex;flex-direction:column;gap:.75rem}.activity-item{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--color-border)}.activity-item-info{display:flex;flex-direction:column}.activity-item-meta{margin:0;color:var(--color-text-muted);font-size:.9rem}.activity-item-controls{display:flex;gap:.5rem;align-items:center}.edit-button,.delete-button{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:.25rem}.delete-button{color:#e11}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:#fff;border-radius:12px;padding:1.25rem;max-width:480px;width:90%;box-shadow:0 10px 40px #0003}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.modal-btn{padding:.5rem .9rem;border-radius:8px;border:1px solid #E0E0E0;cursor:pointer}.modal-btn.confirm{background:#e11;color:#fff;border-color:#e11}.modal-btn.cancel{background:#fff}.empty-activities-message{background:#fff;border-radius:12px;padding:2rem;text-align:center;color:#666;font-size:.9rem}.activity-item{background:#fff;border-radius:12px;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.activity-item:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001f}.activity-item-info{flex:1}.activity-item-meta{font-size:.8125rem;color:#666}.edit-button{background:transparent;border:none;font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .3s ease}.edit-button:hover{background:#ff6b9d1a}.followed-section{margin-bottom:2rem}.empty-state{text-align:center;padding:2rem;background:#fff;border-radius:20px;color:#999}.empty-icon{font-size:2.5rem;display:block;margin-bottom:.75rem;opacity:.5}.followed-list{display:flex;flex-direction:column;gap:1rem}.followed-creator-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.followed-creator-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.followed-avatar{font-size:2.5rem;flex-shrink:0}.followed-info{flex:1}.followed-name{font-size:1.125rem;font-weight:700;color:#222;margin-bottom:.25rem}.followed-followers{font-size:.875rem;color:#666}.app-info{text-align:center;padding:2rem 1rem;color:#999}.app-version{font-size:.875rem;margin-bottom:.5rem}.app-tagline{font-size:.875rem;font-style:italic}@media(max-width:768px){.profile-card{max-width:100%;margin:0 auto 2rem;padding:24px 16px 40px;border-radius:30px}.profile-card-content{flex-direction:row;gap:1rem;align-items:flex-start}.profile-card-left{flex:0 0 auto;width:auto}.profile-card-right{flex:1;min-width:0}.edit-profile-button{top:1rem;right:1rem;padding:.4rem;width:40px;height:40px;background:transparent;border:none;border-radius:50%;justify-content:center}.edit-profile-button .button-text{display:none}.settings-icon{margin-right:.4rem;width:22px;height:22px}.edit-profile-button span{display:none}.edit-profile-button svg{margin-right:0}.profile-avatar-container{margin-bottom:0}.profile-avatar-large{width:70px;height:70px;font-size:2.5rem}.profile-user-name{font-size:1.25rem;margin-bottom:.25rem;padding-right:3rem}.profile-user-type{font-size:.875rem;margin-bottom:0}.profile-social-stats{gap:1rem;padding-top:.75rem;justify-content:flex-start}.profile-social-stats .stat-count{font-size:1.1rem}.profile-social-stats .stat-text{font-size:.75rem}.section-title{margin-top:1.5rem;font-size:17px}.toggle-role-button{width:100%;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.profile-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.profile-tabs::-webkit-scrollbar{display:none}.tab-button{font-size:.8rem;padding:.6rem .85rem;white-space:nowrap;min-width:fit-content}.main-tab-button{font-size:.8rem;padding:.6rem .85rem}.activity-card,.recurring-class-card{padding:1rem}.activity-title{font-size:1.1rem}.create-activity-button{width:100%;justify-content:center}.profile-calendar-container{padding:.5rem}.profile-calendar-container .rbc-toolbar{flex-direction:column;gap:.5rem}.schedule-legend-inline{gap:10px}.schedule-legend-inline .legend-item{font-size:.78rem}}@media(min-width:768px){.profile-card{padding:3rem}.followed-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.activities-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.student-section{padding:2rem}}.student-section{background:#fff;border-radius:24px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 16px #00000014}.student-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.student-actions .action-button{flex:1}.profile-tabs{display:flex;gap:.5rem;border-bottom:2px solid #E0E0E0;margin-bottom:1.5rem}.profile-tabs .tab-button{border-radius:0;border-bottom:3px solid transparent}.profile-tabs .tab-button.active{background:transparent;color:#ff6b9d;border-bottom-color:#ff6b9d;box-shadow:none}.tab-content{min-height:300px}.bookings-tab,.favorites-tab{animation:fadeIn .3s ease}.empty-state{text-align:center;padding:3rem 1rem}.empty-icon{font-size:4rem;display:block;margin-bottom:1rem}.empty-state p{color:#666;font-size:1.125rem;margin-bottom:1.5rem}.cta-button{padding:.875rem 2rem;background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border:none;border-radius:20px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ff6b9d4d}.cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b9d66}.profile-bio-section{margin:0}.profile-dance-styles-section{margin-top:1.5rem}.profile-dance-styles{display:flex;flex-wrap:wrap;gap:.5rem}.dance-style-tag{padding:.25rem .85rem;background:linear-gradient(135deg,#ff6b9d15,#ffa07a15);color:#ff6b9d;border-radius:12px;font-size:.85rem;font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.edit-icon-button{background:none;border:none;color:#666;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.edit-icon-button:hover{background:#f5f5f5;color:#ff6b9d}.profile-bio-text{color:#444;font-size:1rem;line-height:1.6;white-space:pre-wrap}.empty-bio{text-align:center;padding:2rem 1rem;background:#f9f9f9;border-radius:12px;border:2px dashed #E0E0E0}.empty-bio-text{color:#666;font-size:.95rem;margin-bottom:1rem;line-height:1.5}.add-bio-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border:none;border-radius:16px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #ff6b9d4d}.add-bio-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d66}.profile-interests-section,.profile-experience-section{background:#fff;border-radius:20px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014}.section-subtitle{font-size:1.125rem;font-weight:600;color:#222;margin-bottom:1rem}.interests-tags{display:flex;flex-wrap:wrap;gap:.75rem}.interest-tag{padding:.5rem 1rem;background:linear-gradient(135deg,#ff6b9d15,#ffa07a15);color:#ff6b9d;border-radius:20px;font-size:.875rem;font-weight:600;border:1px solid #FF6B9D30}.experience-badge{display:inline-block;padding:.75rem 1.5rem;background:linear-gradient(135deg,#20b2aa15,#48d1cc15);color:#20b2aa;border-radius:16px;font-size:1rem;font-weight:600;border:1px solid #20B2AA30;text-transform:capitalize}.featured-activities-section{margin-top:2rem}.section-subtitle-text{color:#666;font-size:.9rem;margin-bottom:1rem;margin-top:-.5rem}.activities-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.activities-grid{grid-template-columns:repeat(2,1fr)}}.activity-detail-page{animation:fadeIn .3s ease;max-width:1000px;width:100%;margin:30px auto}.activity-detail-card{background:#fff;border-radius:24px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 16px #00000014}.back-button{display:inline-flex;align-items:center;background:#fff;border:2px solid #E0E0E0;border-radius:20px;padding:.6rem 1.2rem;margin-bottom:1.5rem;font-size:.95rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.back-button:hover{border-color:#ff6b9d;color:#ff6b9d;transform:translate(-2px)}.activity-detail-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.activity-type-badge-large{display:inline-block;padding:.5rem 1.2rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;margin-bottom:1rem}.activity-badges{display:flex;gap:.5rem;align-items:center}.format-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem .8rem;background:#f5f5f5;border-radius:12px;font-size:.85rem;color:#666}.activity-language{display:inline-block;padding:.4rem .8rem;background:#f5f5f5;border-radius:12px;font-size:.75rem;font-weight:600;color:#666}.activity-detail-title{font-size:2rem;font-weight:700;margin:1rem 0;color:#333}.activity-detail-creator{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9f9f9;border-radius:16px;margin-bottom:2rem;cursor:pointer;transition:all .2s}.activity-detail-creator:hover{background:#f0f0f0;transform:translateY(-1px)}.creator-avatar,.creator-avatar-img{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b9d15,#ffa07a15);font-size:1.5rem}.creator-avatar-img{object-fit:cover}.creator-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.creator-label{font-size:.85rem;color:#999}.creator-name{font-size:1.1rem;font-weight:600;color:#333}.activity-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.detail-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f9f9f9;border-radius:12px}.detail-item svg{color:#ff6b9d;font-size:1.5rem}.detail-content h3{font-size:.85rem;color:#999;margin:0 0 .25rem;font-weight:500}.detail-content p{font-size:1rem;font-weight:600;color:#333;margin:0}.activity-description-section{margin:2rem 0}.activity-description-section h2{font-size:1.3rem;font-weight:700;margin-bottom:1rem;color:#333}.activity-description-section p{font-size:1rem;line-height:1.6;color:#666;white-space:pre-wrap}.activity-actions{display:flex;gap:1rem;margin-top:2rem}.signup-button{flex:1;padding:1rem 2rem;background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border:none;border-radius:20px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .2s}.signup-button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #ff6b9d4d}.bookings-management-section{margin-top:3rem;padding-top:2rem;border-top:2px solid #F0F0F0}.bookings-management-section h2{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:#333}.bookings-tabs{display:flex;gap:1rem;margin-bottom:1.5rem}.booking-tab-button{padding:.75rem 1.5rem;background:#fff;border:2px solid #E0E0E0;border-radius:20px;font-size:.95rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s}.booking-tab-button.active{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border-color:transparent}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-item{padding:1.25rem;background:#f9f9f9;border-radius:16px;display:flex;justify-content:space-between;align-items:center}.booking-student-info{display:flex;align-items:center;gap:.75rem;flex:1}.booking-student-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b9d15,#ffa07a15)}.booking-student-details p{margin:0;font-size:.9rem;color:#666}.booking-student-details strong{font-size:1rem;color:#333}.booking-status{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:12px;font-size:.9rem;font-weight:600}.booking-status.pending{background:#fff4e6;color:#ff9800}.booking-status.confirmed{background:#e8f5e9;color:#4caf50}.booking-actions{display:flex;gap:.5rem}.confirm-btn,.cancel-btn{padding:.5rem 1rem;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.confirm-btn{background:#4caf50;color:#fff}.confirm-btn:hover{background:#45a049;transform:translateY(-1px)}.cancel-btn{background:#fff;color:#666;border:2px solid #E0E0E0}.cancel-btn:hover{border-color:#ff6b9d;color:#ff6b9d}.loading-state,.error-message{text-align:center;padding:3rem;font-size:1.1rem;color:#666}.error-message{color:#f44336}@media(max-width:768px){.activity-detail-card{padding:1.5rem}.activity-detail-title{font-size:1.5rem}.activity-details-grid{grid-template-columns:1fr}.activity-actions{flex-direction:column}.booking-item{flex-direction:column;align-items:flex-start;gap:1rem}.booking-actions{width:100%;justify-content:flex-end}}.detail-favorite-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid #e0e0e0;border-radius:12px;background:#fff;color:#666;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.detail-favorite-button:hover{border-color:#e53e3e;color:#e53e3e}.detail-favorite-button.favorited{border-color:#e53e3e;color:#e53e3e;background:#fff5f5}.create-activity-page{animation:fadeIn .3s ease;max-width:800px;width:100%;margin:30px auto}.create-activity-page .back-button{display:flex;align-items:center;background:none;border:none;color:#666;font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;transition:all .3s ease}.create-activity-page .back-button:hover{color:#ff6b9d}.create-activity-form{width:100%}.form-section{margin-bottom:2rem}.form-label{display:block;font-weight:600;color:#222;margin-bottom:.75rem;font-size:.9375rem}.required-asterisk{color:#e53e3e;margin-left:.2rem}.type-buttons{display:grid;grid-template-columns:1fr;gap:.75rem}.type-button{padding:1rem;background:#fff;border:2px solid #E0E0E0;border-radius:16px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.type-button:hover{border-color:#ff6b9d;background:#ff6b9d0d}.type-button.active{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border-color:#ff6b9d}.form-group{margin-bottom:1.5rem}.format-toggle-form{display:flex;gap:.75rem}.format-btn{flex:1;padding:.875rem 1.5rem;border:2px solid #E0E0E0;background:#fff;color:#666;font-size:1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.format-btn:hover{border-color:#ff6b9d;background:#ff6b9d0d}.format-btn.active{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border-color:#ff6b9d}.form-input,.form-textarea,.form-select{width:100%;padding:.875rem 1rem;border:2px solid #E0E0E0;border-radius:12px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-select{padding-right:2.5rem!important;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;background-size:12px}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#ff6b9d;box-shadow:0 0 0 3px #ff6b9d1a}input[type=time],input[type=date],input[type=datetime-local]{accent-color:#FF6B9D;color-scheme:light;color:#333;-webkit-text-fill-color:#333}input[type=time]::-webkit-calendar-picker-indicator,input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:hue-rotate(330deg) saturate(1.5)}input[type=time]::-webkit-datetime-edit,input[type=date]::-webkit-datetime-edit,input[type=datetime-local]::-webkit-datetime-edit{color:#333}input[type=time]::-webkit-datetime-edit-fields-wrapper,input[type=date]::-webkit-datetime-edit-fields-wrapper,input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper{color:#333}.form-hint{font-size:.813rem;color:#666;margin-top:.5rem;font-style:italic}.form-textarea{resize:vertical;min-height:100px}.radio-label input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#FF6B9D;margin:0;flex-shrink:0}.radio-label span{display:inline-flex;align-items:center}.optional{font-weight:400;color:#999;font-size:.875rem}.submit-button{width:100%;padding:1rem;background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border:none;border-radius:16px;font-weight:700;font-size:1.125rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ff6b9d4d;margin-top:1rem}.submit-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b9d66}@media(max-width:768px){.create-activity-page{max-width:100%;margin:50px auto 0;padding:24px 16px 40px}}@media(min-width:768px){.create-activity-form{padding:2.5rem}.type-buttons{grid-template-columns:repeat(3,1fr)}}.teacher-search-container{position:relative}.teacher-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #E0E0E0;border-radius:12px;margin-top:.5rem;max-height:250px;overflow-y:auto;box-shadow:0 4px 12px #0000001a;z-index:10}.teacher-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;cursor:pointer;transition:background .2s ease}.teacher-dropdown-item:hover{background:#f5f5f5}.teacher-dropdown-item:not(:last-child){border-bottom:1px solid #F0F0F0}.teacher-dropdown-empty{padding:1rem;text-align:center;color:#999;font-size:.9rem}.teacher-avatar-small{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ff6b9d15,#ffa07a15);display:flex;align-items:center;justify-content:center;color:#666;overflow:hidden;flex-shrink:0}.teacher-avatar-small img{width:100%;height:100%;object-fit:cover}.selected-teachers{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.selected-teacher-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#ff6b9d15,#ffa07a15);border:1px solid #FF6B9D30;border-radius:20px;font-size:.875rem;font-weight:600;color:var(--color-text-main)}.remove-teacher-btn{background:none;border:none;color:#ff6b9d;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.remove-teacher-btn:hover{color:#e55a8a}.manage-profile-page{animation:fadeIn .3s ease;max-width:800px;width:100%;margin:30px auto}.welcome-banner{background:linear-gradient(135deg,#ff6b9d15,#ffa07a15);border:2px solid #FF6B9D;border-radius:16px;padding:1.5rem;margin-bottom:2rem;display:flex;gap:1rem;align-items:flex-start}.welcome-icon{font-size:2rem;flex-shrink:0}.welcome-banner h3{margin:0 0 .5rem;font-size:1.1rem}.welcome-banner p{margin:0;color:#666;font-size:.9rem;line-height:1.5}.manage-profile-form{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 2px 8px #00000014}.profile-avatar-section{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid #F0F0F0}.profile-avatar-huge{width:150px;height:150px;margin:0 auto 1rem;font-size:6rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#ff6b9d15,#ffa07a15);position:relative;overflow:hidden}.profile-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-actions{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:1rem}.upload-button{background:#fff;color:#333;border:2px solid #E0E0E0;padding:10px 20px;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.upload-button:hover{border-color:#ff6b9d;background:#ff6b9d0d}.remove-button{background:#fff;color:#dc3545;border:2px solid #E0E0E0;padding:10px 20px;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.3rem}.remove-button:hover{border-color:#dc3545;background:#dc35450d}.avatar-hint{color:#999;font-size:.875rem;font-style:italic}.form-section-title{font-size:1.125rem;font-weight:700;margin:2rem 0 1rem;padding-top:1.5rem;border-top:2px solid #F0F0F0}.input-with-prefix{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:1rem;color:#666;font-weight:600;z-index:1}.form-input.with-prefix{padding-left:2.5rem}.phone-input-wrapper{display:flex;gap:.5rem;align-items:center}.country-code-select{padding:.75rem .25rem .75rem .5rem;border:2px solid #E0E0E0;border-radius:12px;font-size:.9rem;background:#fff;cursor:pointer;flex-shrink:0;width:90px;max-width:100px;transition:border-color .2s}.country-code-select:focus{outline:none;border-color:#ff6b9d}.phone-local-input{flex:1;min-width:0}.custom-code-input{width:70px!important;max-width:70px;flex-shrink:0;text-align:center}@media(max-width:768px){.manage-profile-page{max-width:100%;margin:50px auto 0;padding:24px 16px 40px}}.dance-style-chips{display:flex;flex-wrap:wrap;gap:.5rem}.dance-style-chip{padding:.5rem 1.25rem;border:2px solid #E0E0E0;border-radius:20px;background:#fff;color:#666;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.dance-style-chip:hover{border-color:#ff6b9d;background:#ff6b9d0d}.dance-style-chip.selected{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border-color:#ff6b9d}@media(min-width:768px){.manage-profile-form{padding:2.5rem}}.availability-template{max-width:900px;margin:0 auto}.template-header{margin-bottom:2rem;text-align:center}.template-header h2{font-size:1.75rem;font-weight:700;color:var(--color-text-main);margin-bottom:.5rem}.template-subtitle{color:#666;font-size:.95rem;line-height:1.5}.template-section{background:#fafafa;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.template-section h3{font-size:1.25rem;font-weight:600;color:var(--color-text-main);margin-bottom:1.25rem}.defaults-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.875rem;font-weight:600;color:#444}.template-input,.template-select,.template-textarea{padding:.75rem;border:2px solid #E0E0E0;border-radius:10px;font-size:.95rem;font-family:inherit;transition:all .2s ease}.template-textarea{resize:vertical;min-height:80px}.template-input:focus,.template-select:focus,.template-textarea:focus{outline:none;border-color:#ff6b9d;box-shadow:0 0 0 3px #ff6b9d1a}.payment-methods{display:flex;flex-direction:column;gap:.75rem}.payment-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem;border-radius:8px;transition:background .2s}.payment-checkbox:hover{background:#ff6b9d0d}.payment-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#FF6B9D}.payment-checkbox span{font-size:.95rem;color:var(--color-text-main)}.format-checkboxes{display:flex;flex-direction:column;gap:.75rem}.format-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.75rem;border:2px solid #E0E0E0;border-radius:10px;transition:all .2s ease;background:#fff}.format-checkbox:hover{border-color:#ff6b9d;background:#ff6b9d0d}.format-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.format-checkbox input[type=checkbox]:checked{accent-color:#FF6B9D}.weekly-schedule{display:flex;flex-direction:column;gap:1rem}.day-row{background:#fff;border-radius:12px;padding:1rem 1.25rem;border:2px solid transparent;transition:all .2s ease}.day-row.enabled{border-color:#ff6b9d;background:#ff6b9d05}.day-toggle{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.day-checkbox{width:20px;height:20px;cursor:pointer;accent-color:#FF6B9D}.day-label{font-weight:600;font-size:1rem;color:var(--color-text-main);cursor:pointer;-webkit-user-select:none;user-select:none}.time-range{display:flex;align-items:center;gap:1rem;margin-left:2rem}.time-input-group{display:flex;align-items:center;gap:.75rem;flex:1}.time-select{padding:.5rem .75rem;border:2px solid #E0E0E0;border-radius:8px;font-size:.95rem;font-family:inherit;min-width:100px;background:#fff;cursor:pointer}.time-select:focus{outline:none;border-color:#ff6b9d}.time-separator{color:#999;font-size:.9rem}.copy-btn{padding:.5rem 1rem;background:#fff;border:2px solid #E0E0E0;border-radius:8px;font-size:.85rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap}.copy-btn:hover{border-color:#20b2aa;color:#20b2aa;background:#20b2aa0d}.generation-controls{display:flex;gap:2rem;align-items:start}.generation-controls .form-group{min-width:250px}.generation-info{flex:1;padding:1rem;background:#fff;border-radius:10px;border:2px solid #E8DAD0}.generation-info p{font-size:.9rem;color:#666;line-height:1.5;margin-bottom:.5rem}.info-note{font-size:.85rem!important;color:#999!important;font-style:italic}.template-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:2rem;border-top:2px solid #E8DAD0}.btn-primary,.btn-secondary{padding:.875rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-primary{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;box-shadow:0 4px 12px #ff6b9d4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b9d66}.btn-secondary{background:#fff;color:#ff6b9d;border:2px solid #FF6B9D}.btn-secondary:hover{background:#ff6b9d0d;transform:translateY(-2px)}@media(max-width:768px){.template-section{padding:1rem}.defaults-grid{grid-template-columns:1fr}.time-range{flex-direction:column;align-items:stretch;margin-left:1rem}.time-input-group{flex-wrap:wrap}.generation-controls,.template-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.radio-group{display:flex;flex-wrap:wrap;gap:1.5rem}.radio-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.radio-label input[type=radio]{margin:0;cursor:pointer;accent-color:#1a1a2e}.radio-label span{font-size:.95rem}.optional-label{margin-left:.5rem;font-size:.8rem;font-weight:400;color:#999}.schedule-page{animation:fadeIn .3s ease;max-width:1000px;width:100%;margin:30px auto}.back-button{display:flex;align-items:center;background:none;border:none;color:#666;font-size:1rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1.5rem;margin-top:0;transition:all .3s ease}.back-button:hover{color:#ff6b9d}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.schedule-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#666}.legend-color{width:16px;height:16px;border-radius:4px}.event-color{background-color:#ffd6e8}.workshop-color{background-color:#fff9cc}.recurring-color{background-color:#ccfff0}.booked-color{background-color:#e6ccff}.available-color{background-color:#b0bec5}.calendar-container{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.rbc-calendar{font-family:inherit}.rbc-allday-cell{display:none}.rbc-time-header-content{border-left:none}.rbc-header{padding:1rem .5rem;font-weight:600;color:var(--color-text-main);border-bottom:2px solid #F0F0F0}.rbc-today{background-color:#ff6b9d0d}.rbc-toolbar{padding:1rem 0;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.rbc-toolbar-label{display:flex;align-items:center;gap:1rem;font-weight:600;font-size:1.125rem}.rbc-toolbar-label .nav-arrow{background:#fff;border:2px solid #E0E0E0;color:var(--color-text-main);padding:.5rem .75rem;border-radius:12px;font-weight:600;font-size:1.25rem;transition:all .2s ease;cursor:pointer;line-height:1}.rbc-toolbar-label .nav-arrow:hover{border-color:#ff6b9d;color:#ff6b9d;transform:translateY(-1px)}.rbc-toolbar button{background:#fff;border:2px solid #E0E0E0;color:var(--color-text-main);padding:.5rem 1rem;border-radius:12px;font-weight:600;transition:all .2s ease;cursor:pointer}.rbc-toolbar button:hover{border-color:#ff6b9d;color:#ff6b9d;transform:translateY(-1px)}.rbc-toolbar button.rbc-active,.rbc-toolbar button:active{background:linear-gradient(135deg,#ff6b9d,#c2185b);border-color:#ff6b9d;color:#fff;box-shadow:0 4px 12px #ff6b9d4d}.rbc-event{padding:2px 6px;font-size:.85rem;border-radius:8px!important;border:none!important;cursor:pointer}.rbc-event:hover{opacity:1!important;transform:scale(1.02)}.rbc-event-label{font-size:.75rem}.rbc-time-slot{min-height:40px}.rbc-timeslot-group{min-height:80px;border-left:1px solid #E0E0E0}.rbc-day-slot .rbc-time-slot{border-top:1px solid #F0F0F0}.rbc-current-time-indicator{background-color:#ff6b9d;height:2px}.rbc-agenda-view{border:none}.rbc-agenda-view table{border:none;table-layout:fixed;width:100%}.rbc-agenda-view .rbc-agenda-date-cell,.rbc-agenda-view .rbc-agenda-time-cell{width:20%}.rbc-agenda-view .rbc-agenda-event-cell{width:60%}.rbc-agenda-view .rbc-agenda-date-cell,.rbc-agenda-view .rbc-agenda-time-cell{padding:1rem;font-weight:600}.rbc-agenda-view .rbc-agenda-event-cell{padding:1rem}.rbc-agenda-empty{text-align:center;padding:3rem;color:#999}@media(max-width:768px){.schedule-page{max-width:100%;margin:50px auto 0;padding:24px 16px 40px}.schedule-header{flex-direction:column;align-items:flex-start}.schedule-legend{width:100%}.calendar-container{padding:1rem}.rbc-toolbar{font-size:.875rem}.rbc-toolbar button{padding:.4rem .8rem;font-size:.875rem}}.manage-activities-page{max-width:1000px;width:100%;margin:30px auto;padding:20px}.page-header-row{display:flex;align-items:center;gap:16px;margin-bottom:24px}.page-header-row .back-button{display:flex;align-items:center;gap:4px;padding:6px 14px;border:1px solid #ddd;border-radius:20px;background:#fff;cursor:pointer;font-size:.85rem;color:#333;transition:background .2s}.page-header-row .back-button:hover{background:#f5f5f5}.page-title{font-size:1.8rem;font-weight:700;color:#222}.top-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid #eee;padding-bottom:0}.top-tab{display:flex;align-items:center;gap:6px;padding:12px 24px;border:none;border-bottom:3px solid transparent;background:none;cursor:pointer;font-size:1.05rem;font-weight:600;color:#777;transition:all .2s;margin-bottom:-2px}.top-tab:hover{color:#444}.top-tab.active{color:#ff6b9d;border-bottom-color:#ff6b9d}.sub-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.sub-tab{padding:8px 18px;border:1px solid #ddd;border-radius:20px;background:#fff;cursor:pointer;font-size:.95rem;font-weight:500;color:#555;transition:all .2s}.sub-tab:hover{background:#f7f7f7;border-color:#bbb}.sub-tab.active{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border-color:transparent}.tab-content{min-height:200px}.cards-list{display:flex;flex-direction:column;gap:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#999}.empty-state p{margin-top:12px;font-size:1rem}.empty-sub{text-align:center;color:#999;padding:32px 16px;font-size:.95rem}.activity-card{border:1px solid #e8e8e8;border-radius:12px;background:#fff;overflow:hidden;transition:box-shadow .2s}.activity-card:hover{box-shadow:0 2px 8px #0000000f}.activity-card.pending-card{border-left:4px solid #FFA07A}.activity-card.private-card{border-left:4px solid #FF6B9D}.activity-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;cursor:pointer;transition:background .15s}.activity-card-header:hover{background:#fafafa}.activity-card-info h3{font-size:1.15rem;font-weight:600;color:#222;margin:0 0 6px}.activity-card-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.9rem;color:#666}.activity-card-meta span{display:flex;align-items:center;gap:4px}.activity-card-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s;color:#666}.icon-btn.edit:hover{color:#333;border-color:#333;background:#f5f5f5}.icon-btn.delete:hover{color:#ff6b9d;border-color:#ff6b9d;background:#fff0f5}.activity-card-body{padding:0 16px 16px;border-top:1px solid #f0f0f0}.activity-description{font-size:.88rem;color:#555;margin:12px 0;line-height:1.5}.participants-list{margin-top:12px}.participants-list h4{font-size:.88rem;font-weight:600;color:#444;margin:0 0 10px}.participant-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;background:#f9f9f9;margin-bottom:6px}.participant-row:hover{background:#f2f2f2}.participant-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.participant-number{font-size:.8rem;font-weight:600;color:#aaa;min-width:20px}.participant-name{font-weight:600;color:#ff6b9d;cursor:pointer;font-size:.95rem;white-space:nowrap}.participant-name:hover{text-decoration:underline}.participant-email{font-size:.8rem;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.toggle-label{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:.82rem;font-weight:500;color:#555;-webkit-user-select:none;user-select:none}.toggle-label.read-only{opacity:.6;cursor:not-allowed}.toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:#FF6B9D;cursor:pointer}.toggle-label.read-only input[type=checkbox]{cursor:not-allowed}.toggle-text{white-space:nowrap}.booking-actions{display:flex;align-items:center;gap:8px}.action-btn{display:flex;align-items:center;gap:4px;padding:5px 12px;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s}.action-btn.confirm{background:#222;color:#fff}.action-btn.confirm:hover{background:#000}.action-btn.reject{background:#f5f5f5;color:#333;border:1px solid #ddd}.action-btn.reject:hover{background:#eee}.status-badge{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:10px}.status-badge.confirmed{background:#f0f0f0;color:#222}.status-badge.pending{background:#fff0f5;color:#ff6b9d}.message-all-btn,.message-student-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #222;border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem;font-weight:500;color:#222;transition:all .2s;margin-top:12px}.message-all-btn:hover,.message-student-btn:hover{background:#f5f5f5}.occurrence-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.occurrence-item{border:1px solid #eee;border-radius:8px;padding:12px;background:#fdfdfd}.occurrence-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.occurrence-date{font-weight:600;font-size:.9rem;color:#333}.occurrence-count{font-size:.82rem;color:#888}.private-student-info{padding:12px 0 0}.student-detail{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.9rem;color:#444}.detail-label{font-weight:500;color:#777}.private-controls{display:flex;gap:16px;margin-top:12px}.no-participants{color:#aaa;font-size:.88rem;text-align:center;padding:16px 0}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:14px;padding:28px;max-width:460px;width:90%;box-shadow:0 8px 30px #00000026}.modal-content h3{margin:0 0 12px;font-size:1.1rem;color:#222}.modal-content p{margin:0 0 20px;font-size:.9rem;color:#555;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-btn{padding:9px 20px;border:none;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:5px}.modal-btn.cancel{background:#f5f5f5;color:#555}.modal-btn.cancel:hover{background:#eee}.modal-btn.confirm{background:#222;color:#fff}.modal-btn.confirm:hover{background:#000}.modal-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.message-modal .message-subtitle{font-size:.85rem;color:#777;margin-bottom:12px}.message-textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:10px;font-size:.9rem;font-family:inherit;resize:vertical;margin-bottom:16px;min-height:80px}.message-textarea:focus{outline:none;border-color:#ff6b9d}.error-message{text-align:center;padding:48px 24px;color:#666}.error-message p{margin-bottom:16px;font-size:1rem}@media(max-width:768px){.manage-activities-page{margin:50px auto 0;padding:16px}.page-header-row{gap:10px;margin-bottom:16px}.page-title{font-size:1.4rem}.top-tabs{gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.top-tab{padding:10px 14px;font-size:.9rem;white-space:nowrap}.sub-tabs{gap:6px}.sub-tab{padding:7px 14px;font-size:.85rem}.activity-card-header{padding:12px;flex-direction:column;gap:8px}.activity-card-meta{gap:8px;font-size:.78rem}.activity-card-actions{align-self:flex-end}.participant-row{flex-direction:column;align-items:flex-start;gap:8px;padding:10px}.participant-controls{align-self:flex-end}.booking-actions{flex-wrap:wrap;gap:6px}.occurrence-header{flex-direction:column;gap:4px;align-items:flex-start}.private-controls{flex-direction:column;gap:8px}.modal-content{padding:20px;margin:0 12px}}.my-bookings-page{max-width:1000px;width:100%;margin:30px auto;padding:2rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.my-bookings-header{margin-bottom:2rem;text-align:center}.my-bookings-header h1{font-size:2rem;font-weight:700;color:#222;margin-top:1rem}.back-button{background:none;border:none;color:#ff6b9d;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 0;transition:color .2s}.back-button:hover{color:#ff4081}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d}.empty-state p{font-size:1.125rem;color:#666;margin:1.5rem 0}.browse-button{padding:.875rem 2rem;background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.browse-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d4d}.bookings-tabs{display:flex;gap:.5rem;background:#fff;border-radius:24px;padding:.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;background:transparent;border:none;border-radius:20px;font-weight:600;font-size:1rem;color:#666;cursor:pointer;transition:all .3s ease}.tab-button:hover{background:#ff6b9d1a;color:#ff6b9d}.tab-button.active{background:linear-gradient(135deg,#ff6b9d,#ffa07a);color:#fff;box-shadow:0 4px 12px #ff6b9d4d}.bookings-sections{display:flex;flex-direction:column;gap:3rem}.bookings-section h2{font-size:1.5rem;font-weight:600;color:#222;margin-bottom:1.5rem}.bookings-section.past h2{color:#999}.bookings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.booking-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000d;transition:all .2s;position:relative;display:flex;flex-direction:column;gap:1rem}.booking-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.booking-card.past{opacity:.7}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border-radius:6px;font-size:.8125rem;font-weight:500;width:fit-content}.status-badge.pending{background:#fff3cd;color:#856404;border:1px solid #FFE69C}.status-badge.confirmed{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.booking-title{font-size:1.25rem;font-weight:600;color:#222;margin:0;cursor:pointer;transition:color .2s}.booking-title:hover{color:#ff6b9d}.booking-details{display:flex;flex-direction:column;gap:.75rem}.detail-row{display:flex;align-items:center;gap:.75rem;font-size:.9375rem;color:#555}.detail-row.price{font-weight:600;color:#222}.booking-creator{display:flex;align-items:center;gap:.5rem;padding-top:1rem;border-top:1px solid #e0e0e0;font-size:.875rem}.creator-label{color:#999}.creator-name{color:#ff6b9d;font-weight:500;cursor:pointer;transition:color .2s}.creator-name:hover{color:#ff4081;text-decoration:underline}.booking-note{background:#f8f9fa;padding:.875rem;border-radius:8px;font-size:.8125rem}.booking-note p{margin:0;color:#555;line-height:1.4}.booking-note strong{color:#333}.cancel-button{padding:.75rem;background:#f0f0f0;color:#dc3545;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;margin-top:auto}.cancel-button:hover{background:#dc3545;color:#fff}.favorites-section{animation:fadeIn .3s ease}.favorites-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.favorites-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.bookings-tabs{max-width:600px;margin-left:auto;margin-right:auto}}@media(max-width:768px){.my-bookings-page{max-width:100%;margin:50px auto 0;padding:24px 16px 40px}.bookings-tabs{gap:.25rem}.bookings-tabs .tab-button{padding:.6rem .5rem;font-size:.8rem;gap:.3rem}.bookings-tabs::-webkit-scrollbar{display:none}.bookings-grid{grid-template-columns:1fr}}#root{width:100%;min-height:100vh;overflow-x:hidden}.page-transition-enter{opacity:0;transform:translateY(10px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-transition-exit{opacity:1}.page-transition-exit-active{opacity:0;transition:opacity .2s}
