:root{--primary-color: #4F6266;--secondary-color: #785956;--bg-color: #E3C4A8;--bg2-color: #D5CDC2;--text-color: #2D3436;--white: #FFFFFF;--error-color: #D63031;--success-color: #00B894;--font-family: "Inter", system-ui, -apple-system, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);min-height:100vh}#root{min-height:100vh}.login-container{display:flex;min-height:100vh;width:100%;background-color:var(--white)}.login-side{flex:1;display:flex;justify-content:center;align-items:center;padding:2rem}.logo-side{background-color:var(--white);position:relative;overflow:hidden}.logo-wrapper{position:relative;z-index:2;text-align:center;animation:fadeInRight .8s ease-out}.login-logo{max-width:350px;height:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.05))}.form-side{background-color:var(--white);animation:fadeInLeft .8s ease-out}.form-wrapper{width:100%;max-width:400px;background:transparent;padding:0;border-radius:0;box-shadow:none;border:none}.form-wrapper h1{color:var(--primary-color);font-size:2.5rem;margin-bottom:.5rem;font-weight:800}.subtitle{color:#636e72;font-size:1rem;margin-bottom:3rem}.error-message{background-color:#fff2f2;color:var(--error-color);padding:1rem;border-radius:10px;border:1px solid #ffeded;margin-bottom:1.5rem;font-size:.9rem;font-weight:500;text-align:center;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.input-group{margin-bottom:2rem}.input-group label{display:block;margin-bottom:.7rem;font-size:.95rem;font-weight:600;color:var(--secondary-color)}.input-group input{width:100%;padding:1rem;border:1px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:all .3s ease;background-color:#fcfcfc}.input-group input:focus{outline:none;border-color:var(--primary-color);background-color:var(--white);box-shadow:0 0 0 4px #4f62660d}.requirements{margin-top:1.2rem;padding:1.2rem;background:#fdfdfd;border:1px solid #f0f0f0;border-radius:10px}.requirements p{font-size:.85rem;color:#a4b0be;margin-bottom:.4rem;display:flex;align-items:center;gap:10px;transition:color .3s ease}.requirements p.met{color:var(--success-color);font-weight:600}.login-button{width:100%;padding:1.1rem;background-color:var(--primary-color);color:var(--white);border:none;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:1.5rem}.login-button:hover{background-color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 10px 20px #78595626}.login-button:active{transform:translateY(0)}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media(max-width:900px){.login-container{flex-direction:column-reverse}.logo-side{min-height:200px;padding:3rem 1rem 0}.form-side{padding:2rem 1.5rem 4rem}.form-wrapper{max-width:100%}.form-wrapper h1{font-size:2rem}}.calendar-container{display:grid;grid-template-columns:1fr 350px;gap:2rem;background:#fff;padding:1.5rem;border-radius:16px;box-shadow:var(--shadow-sm);min-height:600px}.calendar-main{flex:1}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.calendar-header h2{font-size:1.5rem;color:var(--text-primary);margin:0}.header-right{display:flex;gap:.5rem;align-items:center}.nav-btn,.today-btn{padding:.5rem;border:1px solid var(--border-color);background:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.today-btn{padding:.5rem 1rem;font-weight:500}.nav-btn:hover,.today-btn:hover{background:var(--bg-light);border-color:var(--primary-color);color:var(--primary-color)}.days-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:1rem}.day-label{text-align:center;font-weight:600;color:var(--text-secondary);font-size:.875rem;padding:.5rem}.calendar-body{display:flex;flex-direction:column;border-top:1px solid var(--border-color);border-left:1px solid var(--border-color)}.calendar-row{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{position:relative;height:100px;padding:.5rem;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .2s}.calendar-cell:hover{background:var(--bg-light)}.calendar-cell.disabled{background:#f8fafc;color:var(--text-muted)}.calendar-cell.selected{background:#f0f7ff;border:2px solid var(--primary-color);z-index:1}.calendar-cell.today{background:#fffbeb}.calendar-cell.today .cell-number{background:var(--primary-color);color:#fff;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.cell-number{font-size:.875rem;font-weight:500}.slot-indicators{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.slot-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-color)}.more-slots{font-size:.75rem;color:var(--text-secondary)}.calendar-sidebar{background:#f8fafc;border-radius:12px;padding:1.5rem;border:1px solid var(--border-color)}.calendar-sidebar h3{font-size:1.125rem;margin-bottom:1.5rem;color:var(--text-primary)}.details-list{display:flex;flex-direction:column;gap:1rem}.detail-card{background:#fff;padding:1rem;border-radius:10px;border:1px solid var(--border-color);box-shadow:0 2px 4px #00000005}.detail-time{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.detail-info h4{font-size:1rem;margin:0 0 .5rem;color:var(--text-primary)}.detail-meta{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--text-secondary)}.capacity{background:var(--bg-light);padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;color:var(--primary-color)}.empty-state,.loading-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-style:italic}@media(max-width:1200px){.calendar-container{grid-template-columns:1fr}}.class-list-page{animation:fadeIn .5s ease-out}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}.page-header h1{font-size:2.2rem;font-weight:800;color:var(--primary-color);margin-bottom:.4rem}.page-header p{color:#636e72;font-size:1rem}.primary-btn{display:flex;align-items:center;gap:8px;background:var(--primary-color);color:#fff;padding:.9rem 1.6rem;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4f626633}.primary-btn:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 6px 20px #78595640}.table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:2rem}.search-bar{position:relative;flex:1}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#a4b0be}.search-bar input{width:100%;padding:.9rem 1rem .9rem 3rem;background:#fff;border:1px solid #edeff2;border-radius:12px;font-size:.95rem;transition:all .3s ease}.search-bar input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #4f62660d}.filter-group{display:flex;gap:1rem}.secondary-btn{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #edeff2;color:#636e72;padding:.8rem 1.2rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.secondary-btn:hover{background:#f8f9fa;border-color:#d1d8e0}.loader-container,.empty-state{text-align:center;padding:5rem 0;background:#fff;border-radius:20px;border:1px dashed #edeff2}.loader{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}.empty-icon{font-size:3rem;color:#edeff2;margin-bottom:1.5rem}.empty-state h3{font-size:1.4rem;color:var(--primary-color)}.classes-table-container{background:#fff;border-radius:12px;border:1px solid #edf2f7;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.classes-table{width:100%;border-collapse:collapse;text-align:left}.classes-table th{background:#f8fafc;padding:16px 24px;font-size:.85rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.025em;border-bottom:1px solid #edf2f7}.classes-table td{padding:16px 24px;font-size:.9rem;color:#334155;border-bottom:1px solid #edf2f7;vertical-align:middle}.classes-table tr:last-child td{border-bottom:none}.classes-table tr:hover{background:#f8fafc}.class-name-cell{display:flex;align-items:center;gap:12px}.class-name-cell .class-icon{width:32px;height:32px;background:#f1f5f9;color:var(--primary-color);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem}.category-tag{color:#64748b;font-weight:500;text-transform:capitalize}.difficulty-tag{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize}.difficulty-tag.beginner{background:#e8f5e9;color:#2e7d32}.difficulty-tag.intermediate{background:#fff3e0;color:#ef6c00}.difficulty-tag.advanced{background:#ffebee;color:#c62828}.difficulty-tag.all_levels{background:#f3e5f5;color:#7b1fa2}.icon-btn{width:34px;height:34px;border-radius:8px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:1rem}.icon-btn.view{background:#f1f5f9;color:#64748b}.icon-btn.schedule{background:#f0fdf4;color:#16a34a}.icon-btn:hover{transform:translateY(-2px);filter:brightness(.95)}.empty-table{padding:60px!important}.empty-state{display:flex;flex-direction:column;align-items:center;color:#94a3b8}.empty-state svg{font-size:3rem;margin-bottom:16px;opacity:.3}.text-center{text-align:center}@media(max-width:900px){.classes-table-container{overflow-x:auto}.classes-table{min-width:800px}}.icon-btn.delete{background:#fff5f5;color:#d63031}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-out}.confirm-modal{background:#fff;width:400px;padding:2.5rem;border-radius:24px;text-align:center;position:relative;box-shadow:0 20px 50px #00000026;animation:slideUp .3s ease-out}.modal-close{position:absolute;top:1.5rem;right:1.5rem;background:transparent;border:none;font-size:1.25rem;color:#a4b0be;cursor:pointer;transition:color .2s}.modal-close:hover{color:#636e72}.modal-icon.warning{width:60px;height:60px;background:#fff5f5;color:#d63031;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem}.confirm-modal h3{font-size:1.5rem;color:var(--primary-color);margin-bottom:1rem}.confirm-modal p{color:#636e72;line-height:1.6;margin-bottom:2rem}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.danger-btn{background:#d63031;color:#fff;border:none;padding:.9rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s}.danger-btn:hover{background:#c0392b;box-shadow:0 4px 12px #d6303133}.danger-btn:disabled{opacity:.6;cursor:not-allowed}.secondary-btn:disabled{opacity:.6;cursor:not-allowed}.modal-close-btn{margin-left:auto;background:transparent;border:none;font-size:1.25rem;color:#a4b0be;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s}.modal-close-btn:hover{background:#f1f5f9;color:#636e72}.detail-section p{color:#64748b;line-height:1.7;font-size:.95rem}.detail-item label{display:block;font-size:.75rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.detail-item span{font-size:1rem;font-weight:600;color:#334155;display:flex;align-items:center;gap:.5rem}.price-tag{color:#16a34a!important}.detail-section.rules h3{margin-bottom:1.5rem}.rules-list{display:flex;flex-wrap:wrap;gap:.75rem}.rule-badge{padding:.6rem 1rem;background:#f1f5f9;color:#94a3b8;border-radius:10px;font-size:.85rem;font-weight:600;transition:all .2s}.rule-badge.active{background:#f0fdf4;color:#16a34a}.slot-trainer{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.trainer-icon-mini{color:var(--primary-color);opacity:.7}.add-class-page{animation:fadeIn .5s ease-out}.header-left{display:flex;align-items:center;gap:1.5rem}.header-right{display:flex;gap:1rem}.back-btn{width:45px;height:45px;border-radius:12px;border:1px solid #edeff2;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;color:#636e72;transition:all .2s ease}.back-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.error-banner{background:#fff5f5;color:#d63031;padding:1rem 1.5rem;border-radius:12px;border:1px solid #ffeaea;margin-bottom:2rem;font-weight:500}.form-container{display:grid;grid-template-columns:280px 1fr;gap:3rem;background:#fff;padding:2.5rem;border-radius:20px;border:1px solid #edeff2;min-height:600px}.form-sidebar{display:flex;flex-direction:column;gap:.8rem;border-right:1px solid #f0f0f0;padding-right:2rem}.step-btn{display:flex;align-items:center;gap:12px;padding:1rem 1.2rem;background:transparent;border:none;border-radius:12px;color:#a4b0be;font-weight:600;font-size:.95rem;cursor:pointer;text-align:left;transition:all .2s ease}.step-btn svg{font-size:1.2rem}.step-btn.active{background:#4f62660d;color:var(--primary-color)}.step-btn:hover:not(.active){color:#636e72;background:#f8f9fa}.main-form{padding-left:1rem;display:flex;flex-direction:column}.form-section h2{color:var(--primary-color);font-size:1.5rem;font-weight:800;margin-bottom:2rem}.input-group{display:flex;flex-direction:column;gap:.6rem}.input-group.full{grid-column:span 2;margin-bottom:1.5rem}.input-group label{font-size:.9rem;font-weight:700;color:#636e72}.input-group input,.input-group select,.input-group textarea{padding:.9rem 1rem;border:1px solid #edeff2;border-radius:10px;font-size:.95rem;background:#fcfcfc;transition:all .3s ease}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 4px #4f62660d}.checkbox-group{display:flex;flex-direction:column;gap:1.5rem}.checkbox-group label.flex{display:flex;gap:1rem;align-items:flex-start;cursor:pointer}.checkbox-group input[type=checkbox]{width:20px;height:20px;margin-top:3px;cursor:pointer}.checkbox-group strong{display:block;color:var(--primary-color);margin-bottom:2px}.checkbox-group p{font-size:.85rem;color:#a4b0be}.form-nav-buttons{margin-top:auto;padding-top:3rem;display:flex;justify-content:space-between;gap:1rem}.primary-btn.save{background:#27ae60;box-shadow:0 4px 12px #27ae6033}.primary-btn.save:hover{background:#219150;box-shadow:0 6px 20px #27ae6040}.form-container.single-column{grid-template-columns:1fr}.main-form.full-width{padding-left:0}.form-nav-buttons.justify-end{justify-content:flex-end}.input-group label span.required{color:var(--error-color);margin-left:4px}@media(max-width:1000px){.form-container{grid-template-columns:1fr}.form-sidebar{flex-direction:row;border-right:none;border-bottom:1px solid #f0f0f0;padding-right:0;padding-bottom:1.5rem;overflow-x:auto}.input-grid{grid-template-columns:1fr}.input-group.full{grid-column:span 1}}.day-picker{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.day-btn{width:40px;height:40px;border-radius:50%;border:1px solid #edeff2;background:#fff;color:#a4b0be;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.day-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.day-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 12px #4f626633}.ml-2{margin-left:8px}.mt-4{margin-top:1rem}.flex{display:flex}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.items-center{align-items:center}.w-full{width:100%}.radio-group{display:flex;gap:1rem;margin-bottom:1rem}.radio-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid #edeff2;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff}.radio-btn.active{border-color:#2563eb;background:#eff6ff;color:#2563eb}.radio-btn input{display:none}.radio-label{display:flex;align-items:center;gap:.5rem;font-weight:500}.searchable-group{position:relative;grid-column:span 2}.searchable-select{position:relative}.searchable-select input{width:100%}.dropdown-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #edeff2;border-radius:12px;margin-top:5px;box-shadow:0 10px 30px #00000014;z-index:1000;max-height:250px;overflow-y:auto}.dropdown-item{padding:1rem 1.2rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f8f9fa;transition:all .2s}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#f8f9fa;color:var(--primary-color)}.dropdown-item strong{font-size:.95rem}.dropdown-item span{font-size:.8rem;color:#a4b0be}.dropdown-no-results{padding:1.5rem;text-align:center;color:#a4b0be}.package-list-page{animation:fadeIn .5s ease-out}.packages-table-container{background:#fff;border-radius:12px;border:1px solid #edf2f7;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.packages-table{width:100%;border-collapse:collapse;text-align:left}.packages-table th{background:#f8fafc;padding:16px 24px;font-size:.85rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.025em;border-bottom:1px solid #edf2f7}.packages-table td{padding:16px 24px;font-size:.9rem;color:#334155;border-bottom:1px solid #edf2f7;vertical-align:middle}.packages-table tr:hover{background:#f8fafc}.package-name-cell{display:flex;align-items:center;gap:12px}.package-icon{width:32px;height:32px;background:#f1f5f9;color:var(--primary-color);border-radius:8px;display:flex;align-items:center;justify-content:center}.badge-code{background:#f1f5f9;color:#475569;padding:4px 8px;border-radius:6px;font-family:monospace;font-weight:600}.type-tag{text-transform:capitalize;color:#64748b;font-weight:500}.status-pill{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.status-pill.visible{background:#e8f5e9;color:#2e7d32}.status-pill.hidden{background:#f1f5f9;color:#64748b}.icon-btn.delete{color:#dc3545;background:#fff5f5}.icon-btn.delete:hover{background:#fee2e2}@media(max-width:1000px){.packages-table-container{overflow-x:auto}.packages-table{min-width:900px}}.filters-bar{background:#f8fafc;border:1px solid #edf2f7;border-radius:12px;padding:1rem 1.5rem;margin-bottom:2rem;display:flex;gap:2rem;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-item{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.filter-item label{font-size:.85rem;font-weight:600;color:#64748b}.filter-item select{padding:.6rem 1rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.9rem;color:#334155;outline:none;cursor:pointer}.filter-item select:hover{border-color:#cbd5e1}.text-btn.clear{background:none;border:none;color:#ef4444;font-size:.9rem;cursor:pointer;font-weight:500;padding:0 .5rem}.text-btn.clear:hover{text-decoration:underline}.secondary-btn.active{background:#e2e8f0;color:#1e293b}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000}.details-modal{background:#fff;width:650px;max-width:95vw;border-radius:24px;overflow:hidden;position:relative;box-shadow:0 25px 50px #00000026}.modal-header .header-icon{width:50px;height:50px;background:#fff;color:var(--primary-color);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 10px #0000000d}.modal-header .header-info h2{font-size:1.4rem;color:var(--primary-color);margin-bottom:.25rem}.modal-close-btn{margin-left:auto;background:transparent;border:none;font-size:1.25rem;color:#a4b0be;cursor:pointer;padding:.5rem;transition:all .2s}.modal-close-btn:hover{color:#636e72}.detail-section{margin-bottom:2rem}.detail-section h3{font-size:1rem;font-weight:700;color:#475569;display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.detail-section p{color:#64748b;line-height:1.7}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem}.detail-item label{display:block;font-size:.75rem;font-weight:700;color:#94a3b8;text-transform:uppercase;margin-bottom:.5rem}.detail-item span{font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.price-tag{color:#16a34a}.service-chip{padding:.5rem .8rem;background:#f1f5f9;color:#475569;border-radius:10px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.services-grid{display:flex;flex-wrap:wrap;gap:.8rem}.detail-grid.secondary{background:#f8fafc;padding:1.5rem;border-radius:16px}.modal-footer button{padding:.8rem 1.5rem}.slots-section{margin-top:2rem;border-top:1px dashed #edeff2;padding-top:1.5rem}.mini-loader{text-align:center;padding:1rem;color:#64748b;font-size:.9rem;font-style:italic}.no-slots-msg{text-align:center;padding:2rem;color:#94a3b8;background:#f8fafc;border-radius:12px;font-size:.9rem}.slots-compact-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.slot-item-mini{display:grid;grid-template-columns:80px 120px 1fr 60px 100px;align-items:center;padding:.75rem 1rem;background:#fff;border:1px solid #edeff2;border-radius:10px;font-size:.85rem;transition:all .2s}.slot-item-mini:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000000d}.slot-date{font-weight:700;color:var(--primary-color)}.slot-time{color:#475569;font-weight:600}.slot-trainer{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot-capacity{text-align:center;color:#64748b;font-weight:600}.slot-status-tag{text-align:center;padding:2px 8px;border-radius:6px;font-size:.7rem;font-weight:700;text-transform:uppercase}.slot-status-tag.available{background:#f0fdf4;color:#16a34a}.slot-status-tag.full{background:#fef2f2;color:#dc2626}.slot-status-tag.cancelled{background:#f1f5f9;color:#94a3b8;text-decoration:line-through}.slot-status-tag.completed{background:#eff6ff;color:#2563eb}.slot-status-tag.in_progress{background:#fffbeb;color:#d97706}.confirm-modal{background:#fff;width:400px;padding:2.5rem;border-radius:24px;text-align:center;position:relative;box-shadow:0 20px 40px #0000001a;animation:slideUp .3s ease-out}.modal-icon.warning{width:60px;height:60px;background:#fff5f5;color:#ef4444;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin:0 auto 1.5rem}.confirm-modal h3{font-size:1.25rem;color:#1e293b;margin-bottom:.75rem}.confirm-modal p{color:#64748b;font-size:.95rem;line-height:1.6;margin-bottom:2rem}.modal-actions{display:flex;gap:1rem}.modal-actions button{flex:1;padding:.8rem;font-weight:600}.danger-btn{background:#ef4444;color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .2s}.danger-btn:hover{background:#dc2626}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.25rem}.trainer-list-page{animation:fadeIn .5s ease-out}.trainer-info-cell{display:flex;align-items:center;gap:1rem}.trainer-avatar{width:45px;height:45px;background:#f1f5f9;color:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:1.25rem;border:2px solid #fff;box-shadow:0 2px 8px #0000000d}.trainer-avatar img{width:100%;height:100%;object-fit:cover}.trainer-details{display:flex;flex-direction:column}.trainer-name{font-weight:700;color:#1e293b;font-size:.95rem}.trainer-subtext{font-size:.8rem;color:#64748b}.spec-tags{display:flex;flex-wrap:wrap;gap:.5rem}.spec-tag{padding:2px 8px;background:#f1f5f9;color:#475569;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.spec-tag.active{background:var(--primary-color);color:#fff}.spec-tag-more{font-size:.75rem;color:#94a3b8;font-weight:600}.status-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:700}.status-badge.active{background:#ecfdf5;color:#059669}.status-badge.inactive{background:#fef2f2;color:#dc2626}.slot-count-badge{display:inline-flex;align-items:center;padding:4px 10px;background:#f1f5f9;color:#475569;border-radius:12px;font-size:.75rem;font-weight:700}.mr-1{margin-right:4px}.circular-avatar{width:100%;height:100%;object-fit:cover}.rating-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#64748b;font-weight:600}.star-icon{color:#f59e0b;fill:#f59e0b}.table-container{background:#fff;border-radius:20px;border:1px solid #edeff2;box-shadow:0 4px 20px #00000008;overflow:hidden}.custom-table{width:100%;border-collapse:collapse}.custom-table th{background:#f8fafc;padding:1.25rem 1.5rem;text-align:left;font-size:.8rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #edeff2}.custom-table td{padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:hover{background:#fcfcfd}.table-actions{display:flex;gap:8px;justify-content:center}.icon-btn{width:38px;height:38px;border-radius:10px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:1.1rem}.icon-btn.view{background:#f1f5f9;color:#475569}.icon-btn.edit{background:#eff6ff;color:#2563eb}.icon-btn.delete{background:#fff1f2;color:#e11d48}.icon-btn:hover{transform:translateY(-2px);filter:brightness(.95);box-shadow:0 4px 12px #0000000d}.actions-cell{width:150px}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #4f626666}70%{transform:scale(1.02);box-shadow:0 0 0 10px #4f626600}to{transform:scale(1);box-shadow:0 0 #4f626600}}.form-container.single-col{display:block;width:100%;max-width:900px;margin:0 auto;padding:3rem}.single-col .main-form{padding-left:0;width:100%}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.checkbox-grid-pills{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;padding:.5rem 0}.spec-pill{padding:.6rem 1.2rem;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;border-radius:12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.spec-pill:hover{background:#f1f5f9;border-color:#cbd5e1;color:var(--primary-color)}.spec-pill.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px #4f626633}.form-footer{margin-top:3rem;display:flex;justify-content:flex-end;border-top:1px solid #f1f5f9;padding-top:2rem}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:1rem 0}.checkbox-item{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.95rem;color:#475569;font-weight:500;padding:.75rem 1.25rem;background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;transition:all .2s}.checkbox-item:hover{background:#f1f5f9;border-color:#e2e8f0}.checkbox-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary-color);cursor:pointer}.form-section{margin-bottom:3.5rem}.form-section h2{display:flex;align-items:center;gap:.75rem;font-size:1.3rem;color:#1e293b;margin-bottom:2rem;border-bottom:2px solid #f8fafc;padding-bottom:.75rem}.input-group label{font-weight:700;color:#475569;margin-bottom:.5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.input-group input,.input-group textarea{border:1px solid #e2e8f0;transition:all .3s ease}.input-group input:focus,.input-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px #4f626614}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-out}.details-modal{background:#fff;width:650px;max-width:95vw;border-radius:24px;overflow:hidden;position:relative;box-shadow:0 25px 50px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{background:#f8fafc;padding:2rem;display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid #edf2f7}.modal-header .header-icon{width:60px;height:60px;background:#fff;color:var(--primary-color);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 12px #0000000d;overflow:hidden}.modal-header .header-info h2{font-size:1.5rem;color:#1e293b;margin-bottom:.25rem}.modal-close-btn{margin-left:auto;background:#f1f5f9;border:none;font-size:1.25rem;color:#64748b;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close-btn:hover{background:#e2e8f0;color:#1e293b;transform:rotate(90deg)}.modal-body{padding:2rem;max-height:70vh;overflow-y:auto}.detail-section{margin-bottom:2.5rem}.detail-section h3{font-size:1rem;font-weight:700;color:#475569;display:flex;align-items:center;gap:.6rem;margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.05em}.detail-section p{color:#64748b;line-height:1.7;font-size:1rem;background:#f8fafc;padding:1.25rem;border-radius:12px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2.5rem}.detail-item label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;color:#a4b0be;text-transform:uppercase;margin-bottom:.5rem}.detail-item span{font-size:1rem;font-weight:600;color:#1e293b;display:block}.spec-tags.Large{gap:.75rem}.spec-tags.Large .spec-tag{padding:.6rem 1.2rem;font-size:.85rem}.rule-badge{padding:.6rem 1.2rem;background:#f1f5f9;color:#64748b;border-radius:12px;font-size:.85rem;font-weight:600}.rule-badge.active{background:#ecfdf5;color:#059669}.modal-footer{padding:1.5rem 2rem;background:#f8fafc;display:flex;justify-content:flex-end;gap:1rem;border-top:1px solid #edf2f7}.confirm-modal{background:#fff;width:450px;padding:3rem;border-radius:28px;text-align:center;position:relative;box-shadow:0 25px 60px #0003;animation:slideUp .3s ease-out}.modal-icon.warning{width:70px;height:70px;background:#fef2f2;color:#dc2626;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1.5rem}.danger-btn{background:#dc2626;color:#fff;border:none;padding:.9rem 2rem;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s}.danger-btn:hover{background:#b91c1c;transform:translateY(-2px);box-shadow:0 4px 15px #dc26264d}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.bookings-page{animation:fadeIn .5s ease-out}.header-stats{display:flex;gap:1.5rem}.mini-stat{background:#fff;padding:.8rem 1.5rem;border-radius:12px;border:1px solid #edf2f7;display:flex;flex-direction:column;box-shadow:0 4px 6px -1px #0000000d}.stat-label{font-size:.75rem;color:#64748b;text-transform:uppercase;font-weight:700;letter-spacing:.025em}.stat-value{font-size:1.25rem;font-weight:800;color:var(--primary-color)}.bookings-table-container{background:#fff;border-radius:16px;border:1px solid #edf2f7;overflow:hidden;box-shadow:0 4px 20px #00000008}.bookings-table{width:100%;border-collapse:collapse;text-align:left}.bookings-table th{background:#f8fafc;padding:1.25rem 1.5rem;font-size:.8rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #edf2f7}.bookings-table td{padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}.bookings-table tr:hover{background:#fbfcfe}.member-profile{display:flex;align-items:center;gap:12px}.member-avatar{width:40px;height:40px;background:#f1f5f9;color:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:1.2rem}.member-avatar img{width:100%;height:100%;object-fit:cover}.member-info{display:flex;flex-direction:column}.member-name{font-weight:700;color:#1e293b;font-size:.95rem}.member-email{font-size:.8rem;color:#64748b}.slot-info-brief{display:flex;flex-direction:column;gap:4px}.class-type-name{font-weight:600;color:var(--primary-color);display:flex;align-items:center;gap:6px;font-size:.9rem}.slot-time-mini{font-size:.8rem;color:#64748b;display:flex;align-items:center;gap:4px}.status-badge{padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:capitalize}.status-confirmed{background:#eff6ff;color:#2563eb}.status-completed{background:#ecfdf5;color:#059669}.status-cancelled{background:#fef2f2;color:#dc2626}.status-noshow{background:#fef3c7;color:#d97706}.attendance-status{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;text-transform:capitalize}.text-success{color:#10b981}.text-danger{color:#ef4444}.text-warning{color:#f59e0b}.booking-actions{display:flex;gap:8px;justify-content:center}.action-btn{width:36px;height:36px;border-radius:10px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:1.1rem}.action-btn.checkin{background:#f0fdf4;color:#16a34a}.action-btn.delete{background:#fff1f2;color:#e11d48}.action-btn.info{background:#f1f5f9;color:#64748b}.action-btn:hover{transform:translateY(-2px);filter:brightness(.95)}.filters-bar{display:flex;gap:1.5rem;background:#f8fafc;padding:1.25rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid #edf2f7}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-item label{font-size:.7rem;font-weight:700;color:#64748b;text-transform:uppercase}.filter-item select{padding:.6rem 2rem .6rem 1rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.9rem;color:#334155}.status-modal{background:#fff;width:400px;padding:2.5rem;border-radius:24px;position:relative;box-shadow:0 20px 50px #00000026}.attendance-options{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.option-btn{display:flex;align-items:center;gap:12px;padding:1.25rem;border-radius:14px;border:1px solid #f1f5f9;background:#fff;font-weight:700;cursor:pointer;transition:all .2s;font-size:1rem;text-align:left}.option-btn.present:hover{background:#f0fdf4;border-color:#16a34a;color:#16a34a}.option-btn.late:hover{background:#fffbeb;border-color:#d97706;color:#d97706}.option-btn.absent:hover{background:#fff1f2;border-color:#e11d48;color:#e11d48}.option-btn svg{font-size:1.4rem}.empty-row{padding:60px!important}.empty-state-mini{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#94a3b8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-slide-down{animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.booking-details-modal{width:650px!important;max-width:95vw}.detail-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #f1f5f9}.detail-section:last-child{border-bottom:none;margin-bottom:0}.detail-section h3{font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-weight:700}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{font-size:.75rem;color:#94a3b8;font-weight:500}.detail-item span{font-size:.95rem;color:#1e293b;font-weight:600}.resource-detail-header{display:flex;align-items:center;gap:1.25rem;background:#f8fafc;padding:1.25rem;border-radius:14px;margin-bottom:1.5rem;border:1px solid #edf2f7}.resource-icon-large{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.resource-icon-large.type-class{background:#eff6ff;color:#2563eb}.resource-icon-large.type-package{background:#fdf2f8;color:#db2777}.resource-icon-large.type-membership{background:#f0fdf4;color:#16a34a}.resource-text h4{margin:0;font-size:1.1rem;color:#1e293b;font-weight:700}.resource-text p{margin:2px 0 0;font-size:.85rem;color:#64748b;font-weight:500}.modal-footer{display:flex;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #f1f5f9}@media(max-width:600px){.detail-grid{grid-template-columns:1fr}}.attendance-page{animation:fadeIn .4s ease-out;height:calc(100vh - 100px);display:flex;flex-direction:column}.date-navigator{display:flex;align-items:center;gap:1rem;background:#fff;padding:.5rem 1rem;border-radius:12px;border:1px solid #edf2f7;box-shadow:0 4px 6px #00000005}.nav-btn{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#475569;transition:all .2s}.nav-btn:hover{background:var(--primary-color);color:#fff}.current-date{display:flex;align-items:center;gap:8px;font-weight:700;color:#1e293b;min-width:200px;justify-content:center}.today-btn{padding:.4rem 1rem;background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer}.attendance-layout{display:grid;grid-template-columns:380px 1fr;gap:1.5rem;margin-top:2rem;flex:1;min-height:0}.sessions-panel,.participants-panel{background:#fff;border-radius:20px;border:1px solid #edf2f7;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 15px #00000005}.panel-header{padding:1.5rem;border-bottom:1px solid #f1f5f9;background:#fbfcfe}.panel-header h2{font-size:1.1rem;font-weight:800;color:#1e293b}.slots-list{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.slot-card-attendance{display:grid;grid-template-columns:60px 1fr 60px;gap:1rem;padding:1.25rem;border:1px solid #f1f5f9;border-radius:16px;cursor:pointer;transition:all .2s}.slot-card-attendance:hover{border-color:#cbd5e1;background:#f8fafc}.slot-card-attendance.active{border-color:var(--primary-color);background:#f0f4f4;box-shadow:0 4px 10px #4f626614}.slot-time-box{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;border-radius:10px;padding:.5rem}.start-time{font-weight:800;color:var(--primary-color);font-size:.9rem}.duration{font-size:.7rem;color:#64748b;font-weight:600}.class-name-row{font-size:.95rem;font-weight:700;color:#334155;margin-bottom:4px;display:flex;align-items:center;gap:8px}.trainer-row{font-size:.8rem;color:#64748b;display:flex;align-items:center;gap:6px}.slot-badge-attendance{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.booked-count{font-size:.8rem;font-weight:700;color:#64748b}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.available{background:#10b981}.status-dot.full{background:#ef4444}.status-dot.cancelled{background:#94a3b8}.participants-list{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.participant-item{display:grid;grid-template-columns:48px 1fr 150px 100px;align-items:center;padding:1rem 1.5rem;border-radius:14px;background:#f8fafc;border:1px solid transparent;transition:all .2s}.participant-item:hover{background:#fff;border-color:#edf2f7;box-shadow:0 2px 8px #00000008}.member-avatar-mini{width:36px;height:36px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;color:#64748b;overflow:hidden}.member-avatar-mini img{width:100%;height:100%;object-fit:cover}.member-name-cell{display:flex;flex-direction:column}.p-name{font-weight:700;color:#1e293b;font-size:.9rem}.p-email{font-size:.75rem;color:#64748b}.attendance-controls{display:flex;gap:8px;justify-content:flex-end}.att-btn{width:34px;height:34px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#94a3b8}.att-btn:hover{transform:translateY(-2px)}.p-btn:hover,.p-btn.active{background:#ecfdf5;border-color:#10b981;color:#10b981}.l-btn:hover,.l-btn.active{background:#fffbeb;border-color:#d97706;color:#d97706}.a-btn:hover,.a-btn.active{background:#fef2f2;border-color:#ef4444;color:#ef4444}.status-text-badge{text-align:center;font-size:.7rem;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:6px}.status-text-badge.present{background:#ecfdf5;color:#059669}.status-text-badge.late{background:#fffbeb;color:#d97706}.status-text-badge.absent{background:#fef2f2;color:#dc2626}.select-prompt,.empty-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;text-align:center;padding:3rem}.select-prompt svg{color:#f1f5f9;margin-bottom:2rem}.select-prompt h3{color:#475569;margin-bottom:.5rem}.loader-mini-container{padding:3rem;text-align:center}.loader-mini{width:24px;height:24px;border:3px solid #f3f3f3;border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.summary-badges{display:flex;gap:8px;margin-top:8px}.booked-badge,.present-badge{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:8px}.booked-badge{background:#f1f5f9;color:#475569}.present-badge{background:#ecfdf5;color:#059669}.membership-list-page{padding:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;gap:1rem}.page-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary, #111827);margin:0 0 .25rem}.page-subtitle{color:var(--text-secondary, #6b7280);font-size:.9rem;margin:0}.btn-primary{display:flex;align-items:center;gap:.5rem;background:var(--accent, #6b7280);color:#fff;border:none;border-radius:10px;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-primary:hover{background:var(--accent-hover, #6d28d9);transform:translateY(-1px)}.btn-secondary{background:transparent;border:1.5px solid var(--border, #e5e7eb);color:var(--text-primary, #111827);border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-danger{background:#ef4444;color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#dc2626}.loading-state,.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary, #6b7280)}.empty-state svg{margin-bottom:1rem;opacity:.4}.empty-state h3{font-size:1.2rem;margin-bottom:.5rem;color:var(--text-primary, #111827)}.membership-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.membership-card{background:var(--card-bg, #ffffff);border:1.5px solid var(--border, #e5e7eb);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s;box-shadow:0 1px 4px #0000000d}.membership-card:hover{border-color:var(--accent, #7c3aed);box-shadow:0 4px 16px #7c3aed1a;transform:translateY(-2px)}.membership-card.inactive{opacity:.6}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.card-title-area{display:flex;flex-direction:column;gap:.3rem}.card-title-area h3{font-size:1.05rem;font-weight:700;color:var(--text-primary, #111827);margin:0}.plan-code{font-size:.75rem;background:var(--bg-secondary, #f3f4f6);padding:2px 8px;border-radius:4px;color:var(--text-secondary, #6b7280);width:fit-content}.duration-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:20px;width:fit-content}.duration-single_slot{background:#fef3c7;color:#92400e}.duration-1_month{background:#dbeafe;color:#1e40af}.duration-3_months{background:#d1fae5;color:#065f46}.duration-6_months{background:#ede9fe;color:#5b21b6}.duration-12_months{background:#fce7f3;color:#9d174d}.card-actions{display:flex;gap:.4rem;flex-shrink:0}.btn-icon{background:var(--bg-secondary, #f3f4f6);border:none;border-radius:8px;padding:.45rem;cursor:pointer;color:var(--text-secondary, #6b7280);display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{background:var(--accent, #7c3aed);color:#fff}.btn-icon.danger:hover{background:#ef4444;color:#fff}.services-row{display:flex;flex-wrap:wrap;gap:.5rem}.service-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:500;padding:4px 10px;border-radius:20px}.service-tag.active{background:#d1fae5;color:#065f46}.service-tag.inactive{background:#f3f4f6;color:#9ca3af;text-decoration:line-through}.check-yes{color:#10b981;display:inline-flex;align-items:center}.check-no{color:#ef4444;display:inline-flex;align-items:center}.price-tiers{display:flex;flex-direction:column;gap:.4rem;background:var(--bg-secondary, #f9fafb);border-radius:10px;padding:.75rem 1rem}.price-tier{display:flex;justify-content:space-between;align-items:center}.tier-label{font-size:.85rem;color:var(--text-secondary, #6b7280);font-weight:500}.tier-price{display:flex;align-items:center;gap:.2rem;font-size:.95rem;font-weight:700;color:var(--text-primary, #111827)}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border, #e5e7eb)}.freeze-badge{font-size:.78rem;color:#1d4ed8;background:#dbeafe;padding:3px 10px;border-radius:20px}.status-badge{font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:20px}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--card-bg, #ffffff);border-radius:16px;width:100%;max-width:560px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border, #e5e7eb)}.modal-header h2{font-size:1.2rem;font-weight:700;margin:0}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-secondary, #6b7280);font-size:1.2rem;display:flex;align-items:center;padding:.25rem;border-radius:6px;transition:all .2s}.modal-close:hover{background:var(--bg-secondary, #f3f4f6)}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-body h4{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #6b7280);margin:.5rem 0 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.detail-item{display:flex;flex-direction:column;gap:.2rem}.detail-item label{font-size:.78rem;color:var(--text-secondary, #6b7280);font-weight:500}.detail-item span{font-size:.9rem;font-weight:600;color:var(--text-primary, #111827)}.price-table{width:100%;border-collapse:collapse;font-size:.9rem}.price-table th{text-align:left;padding:.5rem .75rem;background:var(--bg-secondary, #f3f4f6);font-size:.8rem;font-weight:600;color:var(--text-secondary, #6b7280)}.price-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border, #e5e7eb)}.description-text{font-size:.9rem;color:var(--text-secondary, #6b7280);line-height:1.6;margin:0;padding:.75rem;background:var(--bg-secondary, #f9fafb);border-radius:8px}.confirm-modal{max-width:400px;padding:2rem;text-align:center}.confirm-modal h3{font-size:1.1rem;font-weight:700;margin:0 0 .75rem}.confirm-modal p{color:var(--text-secondary, #6b7280);margin:0 0 1.5rem;font-size:.9rem}.confirm-actions{display:flex;gap:.75rem;justify-content:center}.muscle-recovery-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.5rem 0}.muscle-recovery-row strong{display:block;color:var(--primary-color);margin-bottom:2px}.muscle-recovery-row p{font-size:.85rem;color:#a4b0be;margin:0}.session-counter{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.session-counter input{width:72px;padding:.7rem .75rem;border:1px solid #edeff2;border-radius:10px;font-size:.95rem;background:#fcfcfc;text-align:center;transition:all .3s ease}.session-counter input:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 4px #4f62660d}.session-counter span{font-size:.9rem;color:#636e72;font-weight:500}.services-summary-box{margin-top:2rem;background:#f8f9fa;border:1px solid #edeff2;border-radius:12px;padding:1.25rem 1.5rem}.summary-label{font-size:.85rem;font-weight:700;color:#636e72;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.services-summary-box ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem}.services-summary-box li{font-size:.9rem;color:#2d3436}.services-summary-box li.no-services{color:#d63031}.price-tiers-list{display:flex;flex-direction:column;gap:1.25rem}.tier-row{display:grid;grid-template-columns:1fr 1fr auto;gap:1.25rem;align-items:flex-end}.remove-tier-btn{height:44px;width:44px;display:flex;align-items:center;justify-content:center;background:#fff5f5;border:1px solid #ffeaea;border-radius:10px;color:#d63031;cursor:pointer;font-size:1rem;transition:all .2s ease;flex-shrink:0}.remove-tier-btn:hover{background:#d63031;color:#fff;border-color:#d63031}.add-tier-btn{display:flex;align-items:center;gap:.5rem;background:none;border:1.5px dashed #d1d5db;border-radius:10px;padding:.8rem 1.25rem;font-size:.9rem;font-weight:600;cursor:pointer;color:#a4b0be;transition:all .2s ease;width:fit-content;margin-top:.25rem}.add-tier-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.sidebar{width:260px;height:100vh;background-color:var(--white);color:var(--primary-color);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;transition:all .3s ease;border-right:1px solid #edeff2}.sidebar-header{padding:2.5rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.logo-container{text-align:left;padding-left:.5rem}.sidebar-logo{max-width:140px;height:auto;filter:grayscale(1);opacity:.8;transition:all .3s ease}.sidebar-logo:hover{filter:grayscale(0);opacity:1}.admin-profile{display:flex;align-items:center;gap:12px;padding:.8rem;background:#f8f9fa;border-radius:12px}.admin-info{overflow:hidden}.admin-email{font-size:.85rem;font-weight:600;color:var(--primary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.admin-role{font-size:.75rem;color:#a4b0be;font-weight:500}.sidebar-nav{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.4rem}.nav-item{display:flex;align-items:center;gap:14px;padding:.9rem 1.2rem;background:transparent;border:none;border-radius:10px;color:#636e72;cursor:pointer;transition:all .2s ease;width:100%;text-align:left;font-size:.95rem;font-weight:500}.nav-item .nav-icon{font-size:1.2rem;color:#a4b0be;transition:all .2s ease}.nav-item:hover{background:#f8f9fa;color:var(--primary-color)}.nav-item:hover .nav-icon{color:var(--primary-color)}.nav-item.active{background:#4f62660d;color:var(--primary-color);font-weight:700;position:relative}.nav-item.active:before{content:"";position:absolute;left:0;top:20%;height:60%;width:4px;background-color:var(--primary-color);border-radius:0 4px 4px 0}.submenu-arrow{margin-left:auto;font-size:1.2rem;transition:transform .3s ease}.nav-item-wrapper{position:relative}.submenu{max-height:0;overflow:hidden;transition:all .3s ease;background:#fcfcfc;border-radius:0 0 10px 10px;margin:0 .5rem;display:flex;flex-direction:column;gap:2px}.nav-item-wrapper.has-submenu:hover .submenu{max-height:200px;padding:.5rem 0;margin-bottom:.5rem;border:1px solid #f0f0f0}.nav-item-wrapper.has-submenu:hover .submenu-arrow{transform:rotate(90deg)}.submenu-item{padding:.7rem 1.2rem .7rem 2.8rem;background:transparent;border:none;color:#a4b0be;font-size:.85rem;font-weight:500;text-align:left;cursor:pointer;transition:all .2s ease;border-radius:8px;margin:0 .5rem}.submenu-item:hover{color:var(--primary-color);background:#f8f9fa}.submenu-item.active{color:var(--primary-color);font-weight:700;background:#4f62660d}.nav-item.active .nav-icon{color:var(--primary-color)}.sidebar-footer{padding:1.5rem;border-top:1px solid #edeff2}.logout-button{display:flex;align-items:center;gap:14px;padding:.9rem 1.2rem;background:transparent;border:1px solid transparent;border-radius:10px;color:#e74c3c;cursor:pointer;transition:all .2s ease;width:100%;font-size:.95rem;font-weight:600}.logout-button:hover{background:#fff5f5;border-color:#ffeaea}@media(max-width:900px){.sidebar{width:80px}.nav-text,.admin-info,.admin-profile{display:none}.sidebar-header{padding:1.5rem 1rem;align-items:center}.logo-container{padding:0}.nav-item,.logout-button{justify-content:center;padding:1rem}.nav-item.active:before{display:none}}.admin-layout{display:flex;min-height:100vh;background-color:#f6f8fa}.admin-content{flex:1;margin-left:260px;transition:all .3s ease;min-height:100vh;display:flex;flex-direction:column}.content-container{padding:2.5rem;width:100%;max-width:1400px;margin:0 auto;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.admin-content{margin-left:80px}.content-container{padding:1.5rem}}
