*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-webkit-overflow-scrolling:touch;background-color:#f8f9fa;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{display:flex;flex-direction:column;min-height:100vh}.header{background-color:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000001a;justify-content:space-between;min-height:80px;padding:1rem 2rem;position:relative;z-index:1000}.header,.logo-container{align-items:center;display:flex}.logo-container{justify-content:center;margin-bottom:1rem;overflow:visible;width:100%}.header-logo-container{align-items:center;display:flex;overflow:visible;width:100%}.header-logo-svg,.logo-svg{height:auto;max-width:100%;overflow:visible}.logo-svg{height:80px;width:250px}.header-logo-svg{height:50px;width:150px}.header-right{align-items:center;display:flex;gap:1rem}.icon-button{-webkit-tap-highlight-color:transparent;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;padding:.5rem;touch-action:manipulation;transition:background-color .2s}.icon-button:hover{background-color:#f8f9fa}.user-button{-webkit-tap-highlight-color:transparent;background-color:#e9ecef;border:none;border-radius:50%;color:#495057;font-weight:600;height:40px;touch-action:manipulation;transition:background-color .2s;width:40px}.user-button:hover{background-color:#dee2e6}.main-container{display:flex;flex:1 1}.sidebar{background-color:#81524f;border-right:1px solid #e9ecef;padding:2rem 0;width:250px}.sidebar-nav{display:flex;flex-direction:column}.nav-item{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;color:#f8f5f0;cursor:pointer;display:flex;font-size:1rem;gap:1rem;padding:1rem 2rem;text-align:left;touch-action:manipulation;transition:all .2s;width:100%}.nav-item:hover{background-color:#f8f5f01a;color:#f8f5f0}.nav-item.active{background-color:#f8f5f033;color:#f8f5f0;font-weight:500}.main-content{background-color:#f3c2bb;flex:1 1;padding:2rem}.homepage{margin:0 auto;max-width:1200px}.welcome-section{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.welcome-avatar{border:3px solid #f3c2bb;border-radius:50%;height:56px;object-fit:cover;width:56px}.welcome-avatar.placeholder{align-items:center;background-color:#f3c2bb;color:#81524f;display:inline-flex;font-size:1rem;font-weight:700;justify-content:center}.welcome-section h2{color:#81524f;font-size:2rem;font-weight:400;margin-bottom:.5rem}.classes-section{margin-bottom:3rem}.classes-section h3{color:#81524f;font-size:1.5rem;font-weight:500;margin-bottom:2rem}.classes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.class-card{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;padding:2rem;transition:transform .2s,box-shadow .2s}.class-card:hover{border-color:#81524f;box-shadow:0 6px 20px #81524f33;transform:translateY(-4px)}.class-card h4{color:#81524f;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.class-card p{color:#6c757d;line-height:1.5}.mantra-section{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.mantra-section h3{color:#81524f;font-size:1.5rem;font-weight:500;margin-bottom:1.5rem}.mantra-content{text-align:center}.mantra-title{color:#81524f;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem}.mantra-text{color:#6c757d;line-height:1.8}.mantra-text p{font-size:1rem;margin-bottom:.5rem}.mantra-text p:last-child{margin-bottom:0}.loading{color:#6c757d;font-size:1.1rem;padding:2rem;text-align:center}.loading-container{background-color:#f8f9fa}.login-container{align-items:center;background:#81524f;background-attachment:fixed;display:flex;justify-content:center;min-height:100vh;position:relative}.login-container:before{background:radial-gradient(circle at 20% 20%,#f4a6a61a 0,#0000 50%),radial-gradient(circle at 80% 30%,#f4a6a61a 0,#0000 50%),radial-gradient(circle at 30% 70%,#f4a6a61a 0,#0000 50%),radial-gradient(circle at 70% 80%,#f4a6a61a 0,#0000 50%);content:""}.login-container:after,.login-container:before{bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.login-container:after{align-items:center;color:#f4a6a666;content:"🧘‍♀️ ✨ 🌿 🔮 👁️ 🕉️ 🌸 💎";display:flex;flex-wrap:wrap;font-size:1.5rem;justify-content:space-around;line-height:2;padding:1rem;pointer-events:none}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2;border-radius:12px;box-shadow:0 8px 32px #0003;margin:1rem;max-width:400px;padding:3rem;position:relative;text-align:center;width:100%;z-index:2}.login-card h2{color:#495057;font-weight:400;margin-bottom:2rem}.login-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.login-option{align-items:center;background-color:#81524f;border:2px solid #81524f;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:1rem;padding:1rem;text-align:left;transition:all .2s;width:100%}.login-option:hover{background-color:#f3c2bb;border-color:#f3c2bb;color:#81524f}.login-note{margin:0}.login-note,.user-type{color:#6c757d;font-size:.9rem}.user-type{background-color:#e9ecef;border-radius:4px;margin-right:1rem;padding:.25rem .5rem}.admin-dashboard{margin-bottom:3rem}.admin-dashboard h3{color:#495057;font-size:1.5rem;font-weight:500;margin-bottom:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem;text-align:center}.stat-card h4{color:#6c757d;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.stat-number{color:#495057;font-size:2rem;font-weight:600;margin:0}.dashboard-stats-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}.stat-card-large{grid-column:span 2}.stat-class-name{color:#81524f;font-size:1.5rem;font-weight:600;margin:.5rem 0}.stat-count{color:#6c757d;font-size:1rem;margin:0}.top-yogis-list{margin-top:1rem}.top-yogi-item{align-items:center;background-color:#f8f5f0;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.yogi-rank{color:#81524f;font-size:1.1rem;font-weight:700;min-width:40px}.yogi-name{color:#495057;flex:1 1;font-weight:500;margin-left:1rem}.yogi-count{color:#6c757d;font-size:.9rem}.birthdays-list{margin-top:1rem}.birthday-item{align-items:center;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.birthday-today{background-color:#f3c2bb;border:2px solid #81524f}.birthday-upcoming{background-color:#f8f5f0;border:1px solid #e9ecef;opacity:.8}.birthday-name{color:#495057;font-weight:500}.birthday-date{color:#6c757d;font-size:.9rem}.no-birthdays{color:#6c757d;font-style:italic;padding:1rem;text-align:center}@media (max-width:768px){.dashboard-stats-container{grid-template-columns:1fr}.stat-card-large{grid-column:span 1}.top-yogi-item{align-items:flex-start;flex-direction:column;gap:.5rem}.yogi-name{margin-left:0}}.teacher-dashboard{margin-bottom:3rem}.teacher-dashboard h3{color:#495057;font-size:1.5rem;font-weight:500;margin-bottom:2rem}.upcoming-classes{display:flex;flex-direction:column;gap:1rem}.class-item{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.class-item h4{color:#495057;font-weight:600;margin-bottom:.5rem}.class-item p{color:#6c757d;margin:0}.monthly-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:3rem}.news-widget{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:2rem;padding:1.5rem}.news-widget h3{color:#81524f;font-size:1.25rem;margin-bottom:1rem}.news-preview{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.news-preview-item{background-color:#fff;border:1px solid #e9ecef;border-radius:6px;padding:1rem}.news-preview-item h4{color:#81524f;font-size:1rem;margin-bottom:.5rem}.news-preview-item p{color:#6c757d;font-size:.9rem;margin-bottom:.5rem}.news-preview-item .news-date{color:#adb5bd;font-size:.8rem}.view-all-news-btn{background-color:#81524f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.view-all-news-btn:hover{background-color:#f3c2bb;color:#81524f}.class-schedule{margin-top:2rem}.schedule-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1rem}.schedule-day{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.schedule-day h4{border-bottom:2px solid #f8f9fa;color:#81524f;font-size:1.1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;text-align:center}.day-sessions{display:flex;flex-direction:column;gap:1rem}.session-card{background-color:#f8f9fa;padding:1rem;transition:all .2s ease}.session-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.session-time{font-size:.9rem;margin-bottom:.5rem}.session-teacher{color:#6c757d;font-size:.85rem;margin-bottom:.5rem}.session-details{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.session-details span{border-radius:4px;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.session-details .duration{background-color:#e9ecef;color:#495057}.session-details .online{background-color:#d1ecf1;color:#0c5460}.session-details .presencial{background-color:#e9ecef;color:#495057}.session-details .new{background-color:#d4edda;color:#155724}.book-session-btn{background-color:#81524f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s;width:100%}.book-session-btn:hover{background-color:#f3c2bb;color:#81524f}.no-sessions{padding:2rem 1rem;text-align:center}.no-sessions p{margin:0}.asana-section,.mantra-section{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.asana-section h3,.mantra-section h3{color:#81524f;font-size:1.5rem;font-weight:500;margin-bottom:1.5rem}.asana-content{text-align:center}.asana-title{color:#81524f;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.asana-description{color:#6c757d;margin-bottom:1.5rem}.asana-image img{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:200px;max-width:300px;object-fit:cover;width:100%}.bookings-view,.classes-view,.news-view{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.bookings-view h2,.classes-view h2,.news-view h2{color:#81524f;font-weight:500;margin-bottom:2rem}.class-info{align-items:center;display:flex;justify-content:space-between;margin-top:1rem}.book-button{background-color:#81524f;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.book-button:hover{background-color:#f3c2bb;color:#81524f}.calendar-container,.calendar-view{margin-top:2rem}.calendar-header{margin-bottom:1rem}.calendar-header h3{color:#495057;font-weight:500}.calendar-grid,.weekly-calendar{align-items:center;background-color:#f8f9fa;border-radius:8px;color:#6c757d;display:flex;justify-content:center;min-height:200px;padding:1rem}.student-list{color:#6c757d;font-size:.9rem;margin-top:.5rem}.news-list{gap:1rem}.news-item{background-color:#f8f9fa;border:1px solid #e9ecef}.news-item h4{font-weight:600;margin-bottom:.5rem}.news-item p{color:#6c757d;margin-bottom:.5rem}.news-date{color:#6c757d;font-size:.8rem}.admin-classes,.admin-news,.content-management,.reports-view,.schedule-management,.users-management{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.admin-classes h2,.admin-news h2,.content-management h2,.reports-view h2,.schedule-management h2,.users-management h2{color:#81524f;font-weight:500;margin-bottom:2rem}.schedule-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.sessions-list{display:flex;flex-direction:column;gap:1rem}.session-management-item{align-items:flex-start;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:1.5rem;transition:all .2s}.session-management-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.session-info{flex:1 1}.session-info h4{color:#81524f;font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.session-info p{color:#495057;font-size:.9rem;margin-bottom:.5rem}.session-info p:last-child{margin-bottom:0}.session-actions{display:flex;flex-direction:column;gap:.5rem;min-width:100px}.session-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.session-actions .edit-button{background-color:#81524f;color:#fff}.session-actions .edit-button:hover{background-color:#f3c2bb;color:#81524f}.session-actions .delete-button{background-color:#dc3545;color:#fff}.session-actions .delete-button:hover{background-color:#c82333}.add-button,.edit-button{background-color:#81524f;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-bottom:2rem;padding:.75rem 1.5rem;transition:all .2s}.add-button:hover,.edit-button:hover{background-color:#f3c2bb;color:#81524f}.tabs-container{border-bottom:2px solid #e9ecef;display:flex;gap:1rem;margin-bottom:2rem}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s}.tab-button:hover{background-color:#f8f9fa;color:#81524f}.tab-button.active{background-color:#fff;border-bottom-color:#81524f;color:#81524f}.tab-actions{margin-bottom:2rem}.weekly-template-view{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.template-day{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:1.5rem;transition:all .3s}.template-day:hover{border-color:#81524f;box-shadow:0 4px 12px #81524f1a}.day-name{border-bottom:2px solid #e9ecef;color:#81524f;font-size:1.2rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.no-sessions{color:#6c757d;font-size:.9rem;font-style:italic;padding:1rem 0}.day-sessions-list{gap:.75rem}.template-session-card{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1rem;transition:all .2s}.template-session-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.session-time-info{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.session-time{color:#81524f;font-size:.95rem;font-weight:600}.session-class-name{color:#495057;font-size:1rem;font-weight:500}.badge-online{background-color:#007bff;border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.session-teacher-info{color:#6c757d;font-size:.85rem;margin-bottom:.5rem}.session-notes{background-color:#f8f9fa;border-radius:4px;color:#6c757d;font-size:.8rem;font-style:italic;margin-bottom:.5rem;padding:.5rem}.session-actions-inline{display:flex;gap:.5rem;margin-top:.75rem}.btn-delete-small,.btn-edit-small{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .75rem;transition:all .2s}.btn-edit-small{background-color:#81524f;color:#fff}.btn-edit-small:hover{background-color:#f3c2bb;color:#81524f}.btn-delete-small{background-color:#dc3545;color:#fff}.btn-delete-small:hover{background-color:#c82333}.calendar-legend{background-color:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;padding:1rem}.legend-item{align-items:center;color:#495057;display:flex;font-size:.9rem;gap:.5rem}.legend-icon{font-size:1.1rem}.session-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.session-badges{display:flex;flex-wrap:wrap;gap:.5rem}.badge{border-radius:6px;font-size:.75rem;font-weight:600;padding:.35rem .7rem;white-space:nowrap}.badge.auto{background-color:#28a745;color:#fff}.badge.manual{background-color:#ffc107;color:#000}.badge.cancelled-badge{background-color:#dc3545;color:#fff}.badge.online{background-color:#007bff;color:#fff}.badge.presencial{background-color:#81524f;color:#fff}.badge.booked-badge{background-color:#28a745;color:#fff}.session-management-item.user-booked{background-color:#f0fff4;border-left:4px solid #28a745}.preview-item.booked{background-color:#d4edda;border-left:3px solid #28a745}.booking-indicator{color:#28a745;font-size:1rem;font-weight:700;margin-left:.25rem}.session-management-item.cancelled{background-color:#f8d7da;border-color:#dc3545;opacity:.6}.session-management-item.cancelled .session-info h4,.session-management-item.cancelled .session-info p{color:#721c24;text-decoration:line-through}.cancel-button{background-color:#ffc107;color:#000}.cancel-button:hover{background-color:#e0a800}.reactivate-button{background-color:#28a745;color:#fff}.reactivate-button:hover{background-color:#218838}.calendar-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.calendar-month-title{color:#81524f;font-size:1.5rem;font-weight:600;margin:0;min-width:200px;text-align:center;text-transform:capitalize}.calendar-nav-btn,.calendar-today-btn{background-color:#81524f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.calendar-nav-btn:hover,.calendar-today-btn,.calendar-today-btn:hover{background-color:#f3c2bb;color:#81524f}.calendar-today-btn:hover{background-color:#81524f;color:#fff}.calendar-grid-container{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.calendar-weekdays{background-color:#81524f;color:#fff}.calendar-weekday{border-right:1px solid #ffffff1a;font-size:.9rem;font-weight:600;padding:1rem;text-align:center;text-transform:uppercase}.calendar-weekday:last-child{border-right:none}.calendar-days-grid{border-left:1px solid #e9ecef;border-top:1px solid #e9ecef;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{background-color:#fff;border-bottom:1px solid #e9ecef;border-right:1px solid #e9ecef;cursor:pointer;min-height:120px;overflow-x:hidden;overflow-y:auto;padding:.5rem;transition:all .2s}.calendar-day:hover{background-color:#f8f9fa;box-shadow:inset 0 0 0 2px #81524f}.calendar-day.other-month{background-color:#f8f9fa;cursor:default;opacity:.4}.calendar-day.other-month:hover{background-color:#f8f9fa;box-shadow:none}.calendar-day.today{background-color:#fff3e6;border:2px solid #81524f}.calendar-day.today .calendar-day-number{align-items:center;background-color:#81524f;border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;margin-bottom:.5rem;width:28px}.calendar-day.has-classes{background-color:#f9f3f2}.calendar-day-number{color:#495057;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.calendar-day-sessions{display:flex;flex-direction:column;gap:.25rem}.calendar-session-dot{align-items:center;background-color:#81524f;border-radius:4px;color:#fff;display:flex;font-size:.75rem;gap:.4rem;justify-content:flex-start;margin-bottom:.25rem;max-width:100%;overflow:hidden;padding:.25rem .5rem;white-space:nowrap;width:100%}.calendar-session-dot.cancelled{background-color:#dc3545;opacity:.6;text-decoration:line-through}.calendar-session-dot .session-time{color:#fff;display:inline-block;flex-shrink:0;font-size:.85rem;font-weight:800}.calendar-session-dot .session-name{color:#fff;flex:1 1;font-size:.8rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-session-dot .session-badge{font-size:.8rem;margin-left:auto}.calendar-more-sessions{color:#6c757d;font-size:.7rem;font-style:italic;margin-top:.25rem;text-align:center}.day-modal{max-height:80vh;max-width:700px;overflow-y:auto}.day-modal .modal-header h2{font-size:1.3rem;text-transform:capitalize}.day-sessions-list{display:flex;flex-direction:column;gap:1rem}@media (max-width:768px){.calendar-month-title{font-size:1.2rem;min-width:auto}.calendar-nav-btn,.calendar-today-btn{font-size:.85rem;padding:.4rem .8rem}.calendar-weekday{font-size:.75rem;padding:.5rem}.calendar-day{min-height:80px;padding:.25rem}.calendar-day-number{font-size:.85rem}.calendar-session-dot{font-size:.75rem;padding:.25rem .5rem;width:100%}.calendar-session-dot .session-time{display:inline-block;font-size:.8rem;font-weight:800}.calendar-session-dot .session-name{font-size:.75rem}.calendar-more-sessions{font-size:.65rem}}@media (max-width:480px){.calendar-controls{flex-direction:column;gap:.5rem}.calendar-day{min-height:60px}.calendar-weekday{font-size:.7rem;padding:.4rem .2rem}.calendar-session-dot{width:100%}.calendar-session-dot .session-name{display:none}.calendar-session-dot .session-time{display:inline-block;font-size:.75rem;font-weight:900}}.class-management-item,.news-management-item{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.class-actions,.news-actions{display:flex;gap:.5rem}.class-actions button,.news-actions button{background-color:#81524f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.25rem .75rem;transition:all .2s}.class-actions button:hover,.news-actions button:hover{background-color:#f3c2bb;color:#81524f}.content-sections{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.asana-management,.mantra-management{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.asana-management h3,.mantra-management h3{color:#81524f;font-weight:500;margin-bottom:1rem}.reports-grid,.users-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.report-card,.user-card{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.report-card h4,.user-card h4{color:#81524f;font-weight:600;margin-bottom:.5rem}.report-card p,.user-card p{color:#6c757d;margin-bottom:1rem}.user-card button{background-color:#81524f;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.user-card button:hover{background-color:#f3c2bb;color:#81524f}.profile-view{margin:0 auto;max-width:800px;padding:2rem}.profile-content{display:flex;flex-direction:column;gap:2rem}.profile-picture-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.profile-picture-container{align-items:center;display:flex;flex-direction:column;gap:1rem}.profile-picture{border:4px solid #f3c2bb;border-radius:50%;height:120px;object-fit:cover;width:120px}.profile-picture-placeholder{align-items:center;background-color:#f8f5f0;border:2px dashed #81524f;border-radius:50%;color:#81524f;cursor:pointer;display:flex;flex-direction:column;height:120px;justify-content:center;transition:all .2s;width:120px}.profile-picture-placeholder:hover{background-color:#f3c2bb;border-color:#81524f}.profile-picture-placeholder span{font-size:.9rem;margin-top:.5rem}.profile-picture-input{display:none}.upload-button{background-color:#81524f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.upload-button:hover{background-color:#f3c2bb;color:#81524f}.profile-form,.subscription-info{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem}.form-group input,.form-group select{border:2px solid #e9ecef;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#81524f;outline:none}.profile-actions{display:flex;justify-content:center;margin-top:2rem}.save-profile-btn{background-color:#81524f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:1rem 2rem;transition:all .2s}.save-profile-btn:hover{background-color:#f3c2bb;color:#81524f}.cancel-booking-btn{background-color:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .2s}.cancel-booking-btn:hover{background-color:#c82333;box-shadow:0 4px 8px #dc35454d;transform:translateY(-2px)}.modal-overlay{align-items:center;animation:fadeIn .3s ease-in;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-close{align-items:center;background:none;border:none;color:#81524f;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s;width:30px}.modal-close:hover{background-color:#f3c2bb;border-radius:50%}.modal-header{align-items:center;border-bottom:2px solid #f3c2bb;display:flex;justify-content:space-between;padding:2rem 2rem 1rem}.modal-header h2{color:#81524f;font-size:1.5rem;margin:0}.class-badge{display:flex;gap:.5rem}.in-person-badge,.online-badge{border-radius:20px;font-size:.75rem;font-weight:700;padding:.5rem 1rem}.online-badge{background-color:#d4edda;color:#155724}.in-person-badge{background-color:#cce5ff;color:#004085}.modal-body{display:flex;flex-direction:column;gap:2rem;padding:2rem}.booked-students-modal-section h3,.class-info-section h3{color:#81524f;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item.full-width{grid-column:1/-1}.info-item strong{color:#81524f;font-size:.9rem;font-weight:600}.info-item a,.info-item p{color:#495057;font-size:.95rem;margin:0}.info-item a{color:#06c;text-decoration:none}.info-item a:hover{text-decoration:underline}.modal-students-avatars{display:flex;flex-wrap:wrap;gap:1.5rem}.modal-student-item{align-items:center;display:flex;flex-direction:column;gap:.5rem;min-width:70px}.modal-student-avatar{align-items:center;background-color:#f8f5f0;border:2px solid #f3c2bb;border-radius:50%;display:flex;height:70px;justify-content:center;overflow:hidden;transition:all .3s;width:70px}.modal-student-avatar:hover{border-color:#81524f;box-shadow:0 4px 12px #81524f33;transform:scale(1.05)}.modal-student-name{color:#495057;font-size:.8rem;font-weight:500;line-height:1.2;max-width:85px;text-align:center;white-space:normal}.modal-footer{background-color:#f8f5f0;border-top:2px solid #f3c2bb;padding:1.5rem 2rem}.modal-footer button{flex:1 1;max-width:150px}.bookings-container{display:block;width:100%}.class-schedule{width:100%}.read-only-field{align-items:center;background-color:#f8f5f0;border:1px solid #e9ecef;border-radius:6px;color:#495057;display:flex;font-size:1rem;min-height:40px;padding:.75rem}.subscription-notice{background-color:#e7f3ff;border-left:4px solid #06c;border-radius:6px;color:#004085;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.subscription-details{background-color:#f8f5f0;border-left:4px solid #81524f;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.subscription-details p{color:#495057;font-size:.95rem;margin:.5rem 0}.subscription-details strong{color:#81524f;font-weight:600}.status-active{background-color:#d4edda;border-radius:12px;color:#155724;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.news-list{display:flex;flex-direction:column;gap:1.5rem}.news-item{background:#fff;border-left:4px solid #f3c2bb;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;padding:1.5rem;transition:all .3s ease}.news-item:hover{border-left-color:#81524f;box-shadow:0 8px 16px #81524f26;transform:translateY(-2px)}.news-item h4{color:#81524f;font-size:1.1rem;margin:0 0 .75rem}.news-item p{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#495057;display:-webkit-box;line-height:1.6;margin:0 0 1rem;overflow:hidden}.news-date{color:#adb5bd;font-size:.85rem}.news-modal-image{align-items:center;background-color:#f8f5f0;display:flex;height:300px;justify-content:center;overflow:hidden;width:100%}.news-modal-image img{height:100%;object-fit:cover;width:100%}.news-modal-body{padding:2rem}.news-modal-header{border-bottom:2px solid #f3c2bb;margin-bottom:1.5rem;padding-bottom:1rem}.news-modal-header h2{color:#81524f;font-size:1.5rem;margin:0 0 .5rem}.news-modal-date{color:#adb5bd;font-size:.85rem}.news-modal-content{color:#495057;line-height:1.8}.news-modal-content p{font-size:1rem;margin:0;white-space:pre-wrap}@media (max-width:768px){.form-row,.monthly-content{grid-template-columns:1fr}.profile-view{padding:1rem}.bookings-container{grid-template-columns:1fr}.booked-students-section{height:auto}.content-sections,.reports-grid,.users-list{grid-template-columns:1fr}}.login-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.login-form{background-color:#fff;border-radius:12px;box-shadow:0 4px 16px #0003;max-height:90vh;max-width:400px;overflow-y:auto;padding:2rem;width:90%}.login-form h3{color:#81524f;font-weight:500;text-align:center}.form-group,.login-form h3{margin-bottom:1.5rem}.form-group label{color:#81524f;display:block;font-weight:500;margin-bottom:.5rem}.form-group input{border:2px solid #e9ecef;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#6c757d;outline:none}.form-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.login-btn{align-items:center;background-color:#81524f;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1rem;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s}.login-btn:hover{background-color:#f3c2bb;color:#81524f}.cancel-btn{background-color:#81524f;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.cancel-btn:hover{background-color:#f3c2bb;color:#81524f}.mobile-menu-button{-webkit-appearance:none;appearance:none;background:none;border:none;border-radius:6px;color:#81524f;cursor:pointer;display:none;margin-right:1rem;min-height:44px;min-width:44px;padding:.5rem;touch-action:manipulation;transition:background-color .2s}.mobile-menu-button:hover{background-color:#f8f9fa}.mobile-menu-button:active{background-color:#e9ecef}.mobile-menu-overlay{animation:fadeIn .3s ease-in;background-color:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:60px;z-index:998}.header-left{align-items:center;display:flex}@media (min-width:481px) and (max-width:768px){.sidebar{height:calc(100vh - 60px);top:60px;width:240px}.reports-grid,.stats-grid,.users-list{grid-template-columns:repeat(2,1fr)}.monthly-content{grid-template-columns:1fr}}@media (max-width:768px){.mobile-menu-button{align-items:center;display:flex;justify-content:center}.mobile-menu-overlay{display:block}.header{min-height:60px;padding:.75rem 1rem}.header-logo-svg{height:35px;width:100px}.logo-svg{height:60px;width:180px}.user-type{display:none}.user-button{font-size:.9rem;height:36px;width:36px}.sidebar{box-shadow:2px 0 8px #00000026;height:calc(100vh - 60px);left:-280px;overflow-y:auto;padding-top:1rem;position:fixed;top:60px;transition:left .3s ease-in-out;width:280px;z-index:999}.sidebar.mobile-open{left:0}.main-container{flex-direction:column}.main-content{padding:1rem;width:100%}.nav-item{font-size:1.1rem;padding:1.25rem 2rem}.nav-item svg{height:24px;width:24px}.classes-grid{grid-template-columns:1fr}.login-form{margin:1rem;padding:1.5rem}.form-actions{flex-direction:column}.info-grid,.news-preview,.schedule-grid{grid-template-columns:1fr}}@media (max-width:480px){.header{padding:.5rem}.header-logo-svg{height:30px;width:80px}.logo-svg{height:55px;width:160px}.mobile-menu-button{margin-right:.5rem;padding:.4rem}.user-button{font-size:.85rem;height:32px;width:32px}.sidebar{height:calc(100vh - 60px);left:-260px;top:60px;width:260px}.welcome-section{flex-direction:column;gap:.75rem;text-align:center}.welcome-section h2{font-size:1.25rem}.welcome-avatar{height:48px;width:48px}.asana-section,.class-card,.mantra-section,.stat-card{padding:1.25rem}.asana-section h3,.classes-section h3,.mantra-section h3{font-size:1.25rem}.modal-content{margin:.5rem;max-height:95vh;width:95%}.modal-header{padding:1.5rem 1rem 1rem}.modal-header h2{font-size:1.25rem}.modal-body{gap:1rem;padding:1rem}.modal-footer{flex-direction:column;padding:1rem}.modal-footer button{max-width:100%}.session-card{grid-template-columns:70px 1fr 80px;padding:.5rem .75rem}.session-time{font-size:.85rem}.session-class{font-size:.9rem}.book-session-btn{font-size:.8rem;padding:.3rem .5rem}.calendar-cell{min-height:60px;padding:.35rem}.calendar-cell .date-num{font-size:.85rem}.preview-item .name{font-size:.7rem}.calendar{max-width:100%;overflow-x:hidden;width:100%}.calendar-header{margin-bottom:1rem}.calendar-header h3{font-size:1.1rem}.nav-btn{align-items:center;display:flex;font-size:1.5rem;justify-content:center;min-height:44px;min-width:44px;padding:.5rem}.calendar-weekdays{grid-gap:.25rem;background:#0000!important;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem;padding:.5rem 0}.weekday{background:#0000!important;color:#81524f!important;font-size:.8rem;font-weight:600;padding:.5rem .25rem;text-align:center}.calendar-grid{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr);width:100%}.calendar-cell{background:#f8f5f0;border:1px solid #e9ecef;border-radius:6px;display:flex;flex-direction:column;max-height:85px;min-height:65px;overflow:hidden;padding:.3rem .25rem;position:relative}.calendar-cell .date-num{color:#81524f;flex-shrink:0;font-size:.9rem;font-weight:600;line-height:1;margin-bottom:.2rem}.calendar-preview{display:flex;flex:1 1;flex-direction:column;gap:1px;overflow:hidden}.preview-item{background:#fff;border:1px solid #e9ecef;border-radius:2px;display:block;flex-shrink:0;overflow:hidden;padding:2px 3px}.preview-item .time{color:#81524f;display:block;font-size:.7rem;font-weight:700;line-height:1.2}.preview-item .name{color:#495057;display:block;font-size:.65rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-more{background:#f3c2bb;border-radius:2px;color:#81524f;flex-shrink:0;font-size:.65rem;font-weight:600;margin-top:1px;padding:1px 3px;text-align:center}.preview-more.has-booking{background:#28a745;color:#fff}.booking-indicator{color:#28a745;font-size:.85rem;line-height:1;position:absolute;right:3px;top:3px}.calendar-cell.disabled{opacity:.4}.calendar-cell.other{opacity:.5}.calendar-cell.today{box-shadow:inset 0 0 0 2px #81524f}.calendar-cell.selected{background:#fff;outline:2px solid #81524f}.calendar-cell{-webkit-tap-highlight-color:rgba(129,82,79,.1);cursor:pointer;touch-action:manipulation}.calendar-cell:active{transform:scale(.98)}.form-group input,.form-group select{font-size:.95rem;padding:.6rem}.profile-picture,.profile-picture-placeholder{height:100px;width:100px}.modal-student-avatar{height:60px;width:60px}.modal-student-name{font-size:.75rem;max-width:75px}.news-modal-image{height:200px}.news-modal-body{padding:1rem}.news-modal-header h2{font-size:1.25rem}.login-card{margin:.5rem;padding:2rem 1.5rem}.classes-section,.monthly-content{margin-bottom:2rem}.monthly-content{gap:1rem}}.date-picker{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.date-picker input[type=date]{border:1px solid #e9ecef;border-radius:6px;padding:.5rem .75rem}.daily-sessions .day-sessions{grid-gap:1rem;gap:1rem}@media (min-width:768px){.daily-sessions .day-sessions{grid-template-columns:1fr 1fr}}.calendar{background:#fff;border:1px solid #e9ecef;border-radius:12px;margin-bottom:1.5rem;padding:1rem}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.calendar-header h3{color:#81524f;font-weight:600;margin:0}.nav-btn{background:#81524f;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.25rem .5rem}.nav-btn:hover{background:#f3c2bb;color:#81524f}.calendar-weekdays{grid-gap:.25rem;color:#81524f;display:grid;font-weight:600;gap:.25rem;grid-template-columns:repeat(7,1fr);margin-bottom:.25rem}.weekday{padding:.25rem 0;text-align:center}.calendar-grid{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr)}.calendar-cell{background:#f8f5f0;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;min-height:70px;padding:.5rem;position:relative;text-align:left;transition:background .2s ease}.calendar-cell:hover{background:#f3c2bb}.calendar-cell.other{opacity:.5}.calendar-cell.today{box-shadow:inset 0 0 0 2px #81524f}.calendar-cell.selected{background:#fff;outline:3px solid #81524f}.calendar-cell .date-num{color:#81524f;font-weight:600}.calendar-cell .dot{background:#81524f;border-radius:50%;bottom:8px;height:8px;position:absolute;right:8px;width:8px}.calendar-preview{grid-gap:2px;display:grid;gap:2px;margin-top:.35rem}.preview-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:4px;display:grid;grid-template-columns:42px 1fr;padding:2px 4px}.preview-item .time{color:#81524f;font-size:.8rem;font-weight:600}.preview-item .name{color:#495057;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-more{background:#f3c2bb;border:1px solid #e9ecef;border-radius:4px;color:#81524f;font-size:.75rem;padding:1px 0;text-align:center}.preview-more.has-booking{background:#28a745;border-color:#28a745;color:#fff}.calendar-cell.disabled{opacity:.35;pointer-events:none}.daily-sessions .day-sessions{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr}.session-card{align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:grid;grid-template-columns:100px 1fr 100px;padding:.75rem 1rem}.session-card .session-time{align-items:flex-start;color:#81524f;display:flex;font-weight:700;padding-top:.1rem}.session-card .session-class{color:#495057}.session-card .session-teacher{color:#adb5bd;font-size:.9rem;margin-top:.2rem}.session-card .book-session-btn{border-radius:6px;font-size:.85rem;justify-self:end;padding:.35rem .65rem}@media (max-width:640px){.session-card{grid-template-areas:"time name btn" "teacher name btn";grid-template-columns:80px 1fr 90px;row-gap:4px}.session-card .session-time{grid-area:time}.session-card .session-class{grid-area:name}.session-card .session-teacher{grid-area:teacher;text-align:left}.session-card .book-session-btn{grid-area:btn}}.session-class{display:flex;flex-direction:column;gap:.2rem}.class-name-row{align-items:center;display:flex;gap:.5rem}.new-badge{background-color:#d4edda;border-radius:4px;color:#155724;font-size:.75rem;font-weight:700;padding:.2rem .5rem}button{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;touch-action:manipulation}@media screen and (max-width:768px){input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],select,textarea{font-size:16px!important}}.no-subscriptions-message{background-color:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin:1rem 0;padding:1.5rem;text-align:center}.no-subscriptions-message p{margin:.5rem 0}.subscriptions-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:1.5rem 0}.subscription-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem;transition:all .3s ease}.subscription-card:hover{border-color:#81524f;box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.subscription-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.subscription-header h4{color:#81524f;font-size:1.1rem;font-weight:600;margin:0}.subscription-status{border-radius:20px;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.subscription-status.active{background-color:#d4edda;color:#155724}.subscription-status.inactive{background-color:#f8d7da;color:#721c24}.subscription-details{display:flex;flex-direction:column;gap:.75rem}.detail-row{align-items:center;background-color:#fff;border-radius:6px;display:flex;justify-content:space-between;padding:.5rem}.detail-row.highlight{background-color:#f0f8ff;border-left:3px solid #81524f}.detail-label{color:#666;font-size:.9rem;font-weight:500}.detail-value{align-items:center;color:#333;display:flex;font-size:.9rem;gap:.5rem}.detail-value.strong{color:#81524f;font-size:1rem;font-weight:600}.remaining-badge{background-color:#28a745;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.15rem .5rem}.status-message{background-color:#f8f9fa;border-radius:6px;color:#666;font-size:.85rem;font-style:italic;margin-top:.5rem;padding:.75rem;text-align:center}.subscription-help-text{background-color:#f0f8ff;border-left:4px solid #81524f;border-radius:4px;margin-top:1rem;padding:1rem}@media (max-width:768px){.subscriptions-list{grid-template-columns:1fr}.subscription-card{padding:1rem}.subscription-header h4{font-size:1rem}.detail-row{align-items:flex-start;flex-direction:column;gap:.25rem}.detail-value{width:100%}}.subscriptions-management{padding:2rem}.subscriptions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.subscriptions-header h2{color:#81524f;margin:0}.subscription-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.subscriptions-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.subscriptions-table{border-collapse:collapse;width:100%}.subscriptions-table thead{background:linear-gradient(135deg,#81524f,#a67770);color:#fff}.subscriptions-table th{font-size:.9rem;font-weight:600;padding:1rem;text-align:left}.subscriptions-table td{border-bottom:1px solid #e0e0e0;padding:1rem}.subscriptions-table tbody tr:hover{background-color:#f8f9fa}.subscriptions-table tbody tr.inactive-row{background-color:#f5f5f5;opacity:.6}.user-cell{display:flex;flex-direction:column;gap:.25rem}.user-cell strong{color:#333;font-size:.95rem}.user-cell small{color:#666;font-size:.85rem}.plan-name{color:#81524f;font-weight:500}.plan-type{font-size:.9rem}.credits-badge{background-color:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.85rem;font-weight:600;padding:.25rem .5rem}.expired-date{color:#d32f2f;font-weight:600}.status-badge{border-radius:20px;display:inline-block;font-size:.85rem;font-weight:600;padding:.35rem .75rem}.status-badge.status-active{background-color:#d4edda;color:#155724}.status-badge.status-inactive{background-color:#f8d7da;color:#721c24}.action-buttons{display:flex;gap:.5rem}.action-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;padding:.25rem .5rem;transition:all .2s}.action-btn:hover{background-color:#f0f0f0;transform:scale(1.1)}.action-btn.toggle-btn:hover{background-color:#e3f2fd}.action-btn.cancel-btn:hover{background-color:#ffebee}.large-modal{max-width:600px!important;width:90%!important}.modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem}.modal-footer .cancel-btn{background-color:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.modal-footer .cancel-btn:hover{background-color:#5a6268;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}@media (max-width:1200px){.subscriptions-table{font-size:.9rem}.subscriptions-table td,.subscriptions-table th{padding:.75rem .5rem}}@media (max-width:768px){.subscriptions-management{padding:1rem}.subscriptions-header{align-items:flex-start;flex-direction:column;gap:1rem}.subscription-stats{grid-template-columns:1fr}.subscriptions-table-container{overflow-x:auto}.subscriptions-table{min-width:800px}}.subscription-filters{align-items:flex-end;background:#f8f9fa;border-radius:12px;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:200px}.filter-group label{color:#495057;font-size:.9rem;font-weight:500}.filter-input,.filter-select{background-color:#fff;border:1px solid #ced4da;border-radius:8px;font-size:.95rem;padding:.75rem;transition:border-color .2s,box-shadow .2s}.filter-input:focus,.filter-select:focus{border-color:#81524f;box-shadow:0 0 0 3px #81524f1a;outline:none}.filter-input::placeholder{color:#adb5bd}.clear-filters-btn{align-self:flex-end;background-color:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.clear-filters-btn:hover{background-color:#5a6268;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}@media (max-width:768px){.subscription-filters{align-items:stretch;flex-direction:column}.filter-group{min-width:100%}.clear-filters-btn{align-self:stretch;width:100%}}.user-menu-container{position:relative}.user-menu-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}.user-menu-dropdown{animation:slideDown .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);width:280px;z-index:999}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{align-items:center;background:linear-gradient(135deg,#81524f,#a67770);color:#fff;display:flex;gap:1rem;padding:1.5rem}.user-menu-avatar{align-items:center;background:#fff3;border:2px solid #ffffff4d;border-radius:50%;display:flex;flex-shrink:0;font-size:1.5rem;font-weight:700;height:48px;justify-content:center;width:48px}.user-menu-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.user-menu-info strong{font-size:1rem;font-weight:600}.user-menu-info small,.user-menu-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-info small{font-size:.85rem;opacity:.9}.user-menu-role{background:#fff3;border-radius:12px;display:inline-block;font-size:.75rem;margin-top:.25rem;padding:.25rem .5rem;width:-webkit-fit-content;width:fit-content}.user-menu-divider{background:#e0e0e0;height:1px;margin:0}.user-menu-items{padding:.5rem}.user-menu-item{align-items:center;background:none;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s;width:100%}.user-menu-item:hover{background-color:#f5f5f5}.user-menu-item svg{color:#81524f;flex-shrink:0}.user-menu-item.logout-item{color:#d32f2f;margin-top:.25rem}.user-menu-item.logout-item svg{color:#d32f2f}.user-menu-item.logout-item:hover{background-color:#ffebee}@media (max-width:768px){.user-menu-dropdown{right:-10px;width:260px}.user-menu-header{padding:1.25rem}.user-menu-avatar{font-size:1.25rem;height:40px;width:40px}.user-menu-info strong{font-size:.9rem}.user-menu-info small{font-size:.8rem}}.user-button{cursor:pointer;transition:all .2s}.user-button:hover{box-shadow:0 4px 12px #81524f4d;transform:scale(1.05)}.user-button:active{transform:scale(.95)}.loading-container{align-items:center;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);display:flex;justify-content:center;min-height:100vh}.loading-content{padding:2rem;text-align:center}.loading-content .logo-svg{animation:fadeIn .5s ease-in;margin-bottom:2rem}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#81524f;height:50px;margin:0 auto 1.5rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.loading-content p{animation:fadeIn .5s ease-in .2s both;color:#666;font-size:1rem;font-weight:500}.button-text-desktop{display:inline}@media (max-width:768px){.button-text-desktop{display:none}.class-management-item{padding:1rem!important}.class-actions{justify-content:center!important}.class-actions button{flex:0 0 auto!important;padding:.75rem!important}}@media (max-width:480px){.class-actions button{min-height:48px!important;min-width:48px!important;padding:.875rem!important}.class-actions{gap:.75rem!important}.classes-list{gap:1rem!important}}.class-actions button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.class-actions button:active{opacity:.8;transform:scale(.95)}
/*# sourceMappingURL=main.0ab99c0a.css.map*/