.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.payment-modal{background:linear-gradient(135deg,#1a1a1a,#0f0f0f);border-radius:20px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1);scrollbar-width:none;-ms-overflow-style:none}.payment-modal::-webkit-scrollbar{display:none}.payment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff05;border-radius:20px 20px 0 0}.payment-modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#fff}.payment-modal-header .close-btn{background:transparent;border:none;color:#ffffffb3;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.payment-modal-header .close-btn:hover{background:#ffffff1a;color:#fff}.payment-modal-content{padding:1.5rem}.client-info-section{background:#646cff1a;border-radius:12px;padding:1rem 1.5rem;margin-bottom:1rem;border:1px solid rgba(100,108,255,.2)}.client-info-section .section-title{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.client-info-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.client-info-item:last-child{margin-bottom:0}.info-icon{font-size:1.2rem;opacity:.8}.info-text{font-size:.95rem;color:#ffffffe6;font-weight:500}.payment-summary{background:#ffffff0d;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.1)}.summary-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:1rem;color:#fffc}.summary-item:last-child{margin-bottom:0;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1);font-weight:700}.total-price{font-size:1.5rem;color:#4caf50}.error-message{background:#f4433633;border:1px solid rgba(244,67,54,.4);color:#f44336;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center;font-weight:600}.payment-methods h3{margin:0 0 1rem;font-size:1.2rem;font-weight:700;color:#fff;text-align:center}.payment-options{display:flex;flex-direction:column;gap:1rem}.payment-option{display:flex;align-items:center;gap:1rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s;width:100%;text-align:left}.payment-option:hover:not(:disabled){background:#ffffff1a;border-color:#646cff80;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.payment-option:disabled{opacity:.5;cursor:not-allowed}.payment-option.paypal:hover:not(:disabled){border-color:#00308780}.payment-option.stripe:hover:not(:disabled){border-color:#635bff80}.payment-option.pix{background:linear-gradient(135deg,#32bcad,#2a9d8f);border-color:#32bcad}.payment-option.pix:hover:not(:disabled){border-color:#2a9d8f;transform:translateY(-2px)}.payment-option.debito{background:linear-gradient(135deg,#4a90e2,#357abd);border-color:#4a90e2}.payment-option.debito:hover:not(:disabled){border-color:#357abd;transform:translateY(-2px)}.payment-option.cash{background:linear-gradient(135deg,#27ae60,#229954);border-color:#27ae60}.payment-option.cash:hover:not(:disabled){border-color:#229954;transform:translateY(-2px)}.payment-option.debug{background:linear-gradient(135deg,#ff9800,#f57c00);border-color:#ff9800}.payment-option.debug:hover:not(:disabled){border-color:#f57c00;transform:translateY(-2px)}.payment-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:12px}.payment-info{flex:1}.payment-name{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:.25rem}.payment-desc{font-size:.9rem;color:#fff9}.payment-arrow{font-size:1.5rem;color:#ffffff80}.payment-processing{text-align:center;padding:2rem}.processing-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.1);border-top-color:#2196f3;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}@keyframes spin{to{transform:rotate(360deg)}}.payment-processing p{color:#fffc;font-size:1rem;margin:.5rem 0}.processing-note{font-size:.85rem;color:#ffffff80;font-style:italic}.payment-success{text-align:center;padding:2rem}.success-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;font-size:3rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;box-shadow:0 4px 20px #4caf5066}.payment-success p{color:#fff;font-size:1.2rem;font-weight:700;margin:0}.payment-security{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);color:#fff9;font-size:.85rem}@media (max-width: 768px){.payment-modal{max-width:100%;border-radius:16px}.payment-modal-header{border-radius:16px 16px 0 0}}.cart-drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cart-drawer-overlay.open{opacity:1;visibility:visible}.cart-drawer{position:fixed;top:0;left:0;width:100%;max-width:420px;height:100vh;background:linear-gradient(135deg,#1a1a1a,#0f0f0f);box-shadow:4px 0 20px #00000080;z-index:1000;transform:translate(-100%);transition:transform .3s ease-out;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.1)}.cart-drawer.open{transform:translate(0)}.cart-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff05}.cart-drawer-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#fff}.close-btn{background:transparent;border:none;color:#ffffffb3;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ffffff1a;color:#fff}.cart-drawer-content{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;scrollbar-width:none;-ms-overflow-style:none}.cart-drawer-content::-webkit-scrollbar{display:none}.empty-cart{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.empty-cart-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-cart p{color:#fff9;font-size:1.1rem;margin-bottom:2rem}.continue-shopping-btn{background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;border:none;border-radius:10px;padding:1rem 2rem;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.continue-shopping-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #646cff66}.cart-items{flex:1;display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.cart-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem;display:flex;justify-content:space-between;gap:1rem;transition:transform .2s,box-shadow .2s}.cart-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;border-color:#646cff4d}.cart-item-info{flex:1}.cart-item-info h3{margin:0 0 .5rem;font-size:1rem;font-weight:700;color:#fff}.cart-item-details{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0;font-size:.85rem;color:#ffffffb3}.cart-item-date,.cart-item-type{margin:.25rem 0;font-size:.8rem;color:#fff9}.cart-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.cart-item-price{font-size:1.25rem;font-weight:700;color:#4caf50}.remove-item-btn{background:#f4433633;border:1px solid rgba(244,67,54,.4);color:#f44336;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;transition:background-color .2s}.remove-item-btn:hover{background:#f4433666}.cart-summary{padding:1.5rem;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.1);margin-top:auto}.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.cart-total span:first-child{font-size:1.1rem;font-weight:600;color:#ffffffe6}.total-amount{font-size:1.5rem;font-weight:700;color:#4caf50}.checkout-btn{width:100%;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:10px;padding:1rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.checkout-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.checkout-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.cart-drawer{max-width:100%}}.layout{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#0f0f0f,#1a1a1a)}.main-content{flex:1;width:100%;overflow-y:auto;padding-bottom:80px;scrollbar-width:none;-ms-overflow-style:none}.main-content::-webkit-scrollbar{display:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#1a1a1a;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-around;align-items:center;padding:.75rem 0;z-index:1000;box-shadow:0 -4px 12px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;text-decoration:none;color:#fff9;padding:.5rem 1.5rem;border-radius:12px;transition:all .2s;min-width:80px}.nav-item:hover{color:#ffffffe6;background:#ffffff0d}.nav-item.active{color:#646cff;background:#646cff1a}.nav-icon{font-size:1.5rem;line-height:1}.nav-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.cart-nav-item{position:relative}.cart-badge{position:absolute;top:-4px;right:8px;background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .4rem;border-radius:10px;min-width:18px;text-align:center;box-shadow:0 2px 6px #f4433666}@media (max-width: 768px){.bottom-nav{padding:.5rem 0}.nav-item{padding:.5rem 1rem;min-width:70px}.nav-icon{font-size:1.25rem}.nav-label{font-size:.7rem}}.client-home{min-height:100vh;background:linear-gradient(135deg,#0f0f0f,#1a1a1a);color:#fff;padding-bottom:80px;width:100%;max-width:100vw;overflow-x:hidden}.client-profile-section{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.1);position:relative;z-index:10}.settings-btn{position:absolute;top:1rem;right:1rem;background:#646cff1a;border:1px solid rgba(100,108,255,.3);color:#646cff;font-size:1.2rem;padding:.5rem .75rem;border-radius:8px;cursor:pointer;transition:all .2s;line-height:1;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;z-index:100;pointer-events:auto}.settings-btn:hover{background:#646cff33;border-color:#646cff80;transform:scale(1.05)}.profile-avatar{position:relative}.avatar-circle{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#646cff,#535bf2);display:flex;align-items:center;justify-content:center;font-size:2rem;border:3px solid rgba(255,255,255,.1)}.profile-info{flex:1}.profile-name{margin:0;font-size:1.5rem;font-weight:700;color:#fff}.profile-role{margin:.25rem 0 0;font-size:.9rem;color:#ffffffb3;display:flex;align-items:center;gap:.5rem}.status-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:.5rem}.status-indicator.active{background-color:#4caf50;box-shadow:0 0 8px #4caf5099}.client-content{padding:1.5rem 2rem;max-width:1400px;margin:0 auto}.reminder-card{background:linear-gradient(135deg,#f44336,#d32f2f);color:#000;padding:1.25rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 4px 16px #f4433666}.reminder-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid rgba(0,0,0,.2)}.reminder-icon{font-size:1.5rem}.reminder-title{margin:0;font-size:1.1rem;font-weight:700;color:#000;text-transform:uppercase;letter-spacing:.5px}.reminder-list{display:flex;flex-direction:column;gap:.75rem}.reminder-item{display:flex;gap:1rem;background:#0000001a;padding:.75rem 1rem;border-radius:8px;border-left:4px solid #000000}.reminder-day{font-size:.75rem;font-weight:700;padding:.3rem .6rem;border-radius:6px;color:#fff;align-self:flex-start;white-space:nowrap}.reminder-day.today{background:#000}.reminder-day.tomorrow{background:#0009}.reminder-info{flex:1}.reminder-lesson-title{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:#000}.reminder-lesson-details{margin:0 0 .25rem;font-size:.85rem;color:#000c;font-weight:500}.reminder-lesson-time{margin:0;font-size:.9rem;font-weight:700;color:#000}.welcome-banner{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px #4caf504d}.welcome-banner span{font-weight:600;font-size:1rem}.dismiss-btn{background:transparent;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.dismiss-btn:hover{background:#fff3}.stats-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem;width:100%;max-width:100%;overflow:hidden}.stat-card{background:#1a1a1a;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 12px #0000004d;transition:transform .2s,box-shadow .2s;box-sizing:border-box;min-width:0}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0006}.stat-card.clickable{cursor:pointer;text-decoration:none;color:inherit}.stat-card.clickable:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000080;border:1px solid rgba(76,175,80,.5)}.stat-card.green{background:linear-gradient(135deg,#4caf50,#45a049)}.stat-card.orange{background:linear-gradient(135deg,#ff9800,#f57c00)}.stat-card.purple{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.stat-card.action-card{background:linear-gradient(135deg,#646cff,#535bf2);cursor:pointer;text-decoration:none;transition:all .3s ease}.stat-card.action-card:hover{transform:translateY(-6px);box-shadow:0 8px 24px #646cff66}.stat-card.action-card .stat-value{font-size:2.5rem}.stat-card.pink{background:linear-gradient(135deg,#e91e63,#c2185b)}.stat-icon{font-size:2.5rem;opacity:.9}.stat-content{flex:1}.stat-title{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px}.stat-value{margin:0;font-size:2rem;font-weight:700;color:#fff;line-height:1}.stat-subtitle{margin:.25rem 0 0;font-size:.75rem;color:#fffc}.quick-action-card{margin-bottom:1.5rem}.quick-action-btn{display:flex;align-items:center;justify-content:center;gap:1rem;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:1.25rem 2rem;border-radius:12px;text-decoration:none;font-size:1.1rem;font-weight:700;box-shadow:0 4px 12px #4caf504d;transition:all .3s ease;border:none;width:100%}.quick-action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.action-icon{font-size:1.5rem}.action-text{flex:1;text-align:left}.action-arrow{font-size:1.2rem;opacity:.8}.total-label{margin:0 0 .25rem;font-size:.85rem;color:#ffffffe6;font-weight:600}.total-value{margin:0;font-size:1.75rem;font-weight:700;color:#fff;line-height:1}.total-subtitle{margin:.25rem 0 0;font-size:.75rem;color:#fffc}.news-section{margin-top:.45rem}.events-section{margin-top:.75rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.15rem;margin-bottom:1.5rem}.section-title{font-size:1.5rem;font-weight:700;margin:0;color:#fff}.see-all-link{color:#646cff;text-decoration:none;font-weight:600;font-size:.9rem;transition:color .2s}.see-all-link:hover{color:#535bf2}.news-indicators{display:flex;gap:.5rem;align-items:center}.news-dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .3s ease}.news-dot.active{background:#646cff;width:24px;border-radius:4px}.news-carousel{position:relative;min-height:150px;overflow:hidden}.news-card{position:absolute;top:0;left:0;width:100%;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(255,255,255,.1);transition:all .5s ease}.event-indicators{display:flex;gap:.5rem;align-items:center}.event-dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .3s ease}.event-dot.active{background:#646cff;width:24px;border-radius:4px}.events-carousel{position:relative;min-height:200px;overflow:hidden}.horizontal-scroll{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;padding:.5rem 0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.horizontal-scroll::-webkit-scrollbar{display:none}.news-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0006}.news-card.empty{padding:1.5rem;display:flex;align-items:center;justify-content:center;min-height:200px}.news-card.empty p{color:#ffffff80;text-align:center}.news-card-image{width:100%;height:140px;object-fit:cover}.news-card-content{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.news-icon{font-size:2.5rem;margin-bottom:.5rem}.news-card h3{margin:0;font-size:1rem;font-weight:700;color:#fff;line-height:1.3}.news-card p{margin:0;font-size:.85rem;color:#ffffffb3;line-height:1.4}.news-date{font-size:.75rem;color:#ffffff80;margin-top:auto}.event-card{position:absolute;top:0;left:0;width:100%;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000004d;transition:opacity .8s ease-in-out}.event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4caf50,#2196f3,#e91e63);z-index:1}.event-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #646cff66}.event-card.empty{background:#1a1a1a;border:1px solid rgba(255,255,255,.1);padding:1.5rem;display:flex;justify-content:center;align-items:center;min-height:200px}.event-card.empty p{color:#ffffff80;text-align:center}.event-card-image{width:100%;height:150px;object-fit:cover}.event-card-content{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.event-date{font-size:.8rem;font-weight:700;color:#fffffff2;text-transform:uppercase;letter-spacing:1px;text-shadow:0 2px 4px rgba(0,0,0,.5);margin-bottom:.5rem}.event-card h3{margin:0;font-size:1.05rem;font-weight:700;color:#fff;line-height:1.3;text-shadow:0 2px 4px rgba(0,0,0,.5)}.event-description{margin:0;font-size:.85rem;color:#ffffffe6;line-height:1.5;text-shadow:0 1px 3px rgba(0,0,0,.5)}.event-details{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.event-detail-item{font-size:.85rem;color:#fffffff2;text-shadow:0 1px 3px rgba(0,0,0,.5)}.event-detail-item strong{margin-right:.5rem;font-weight:700}.event-instructor,.event-area{margin:0;font-size:.85rem;color:#fffc}.event-book-btn{display:block;text-align:center;background:#0000004d;color:#fff;padding:.75rem;border:2px solid rgba(255,255,255,.3);text-shadow:0 2px 4px rgba(0,0,0,.5);border-radius:8px;text-decoration:none;font-weight:700;transition:background-color .2s;margin-top:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.event-book-btn:hover{background:#00000080;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 4px 12px #0006}.lessons-section .section-header{margin-bottom:.15rem}.lessons-list{display:flex;flex-direction:column;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}@media (max-width: 768px){.lesson-row-1{gap:.4rem}.lesson-row-2{justify-content:space-between}.lesson-type-badge{order:-1}.lesson-price{margin-left:auto;order:10}}.news-content{margin:0;font-size:.85rem;color:#ffffffb3;line-height:1.4}.no-lessons{text-align:center;padding:3rem;color:#fff9;background:#1a1a1a;border-radius:16px;border:1px solid rgba(255,255,255,.1)}@media (max-width: 768px){.client-profile-section,.client-content{padding:1rem}.stats-cards-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{min-width:0;padding:1rem .75rem}.stat-card h3{font-size:.75rem}.stat-card .stat-value{font-size:1.5rem}.profile-name{font-size:1.25rem}}@media (max-width: 480px){.stats-cards-grid{gap:.5rem}.stat-card{padding:.75rem .5rem;gap:.5rem}.stat-card .stat-icon{font-size:1.5rem}.stat-card h3{font-size:.65rem}.stat-card .stat-value{font-size:1.25rem}.client-content{padding:.75rem}}.booking-page{min-height:100vh;background:linear-gradient(135deg,#0f0f0f,#1a1a1a);color:#fff;padding:1.5rem 2rem 100px}.booking-header{margin-bottom:1.5rem}.page-title{margin:0;font-size:2rem;font-weight:700;color:#fff}.booking-content{max-width:1200px;margin:0 auto}.filters-section{background:#151515;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;margin-bottom:1rem}.filters-title{margin:0 0 .75rem;font-size:1.1rem;font-weight:700;color:#fff}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.filter-group{display:flex;flex-direction:column;gap:.4rem}.filter-group label{font-size:.85rem;font-weight:600;color:#fffc;margin:0}.filter-group select{background:#1a1a1a;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.6rem .75rem;font-size:.9rem;cursor:pointer;transition:all .2s}.filter-group select:hover{border-color:#646cff80}.filter-group select:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 3px #646cff1a}.filter-group select:disabled{opacity:.5;cursor:not-allowed}.lessons-section{margin-top:1rem}.section-title{margin:0 0 .75rem;font-size:1.3rem;font-weight:700;color:#fff}.lessons-list{display:flex;flex-direction:column;gap:.5rem}.lesson-item{background:linear-gradient(135deg,#1a1a1a,#1f1f1f);border-radius:12px;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.05);border-left:3px solid rgba(100,108,255,.3);transition:all .3s cubic-bezier(.4,0,.2,1);margin-bottom:.75rem;box-shadow:0 2px 8px #0003;position:relative;overflow:hidden}.lesson-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,#646cff,#535bf2);opacity:0;transition:opacity .3s ease}.lesson-item:hover:before{opacity:1}.lesson-item:hover{background:linear-gradient(135deg,#1f1f1f,#252525);border-color:#646cff4d;border-left-color:#646cff99;transform:translate(6px);box-shadow:0 4px 16px #646cff26}.lesson-item:hover .lesson-item-title{color:#fff!important}.lesson-item:hover .lesson-meta{color:#ffffffe6!important}.lesson-item-content{flex:1;display:flex;flex-direction:column;gap:.4rem}.lesson-row-1{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.lesson-instructor{font-size:.85rem;color:#ffffffb3;font-weight:500;white-space:nowrap}.lesson-separator{color:#ffffff4d;font-weight:300}.lesson-title{margin:0;font-size:1rem;font-weight:700;color:#fffffff2;line-height:1.2;flex:1}.lesson-cart-icon{background:transparent;color:#646cff;border:none;width:32px;height:32px;border-radius:50%;font-size:1.1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto}.lesson-cart-icon:hover{background:#646cff1a;transform:scale(1.15);color:#535bf2}.lesson-cart-icon:active{transform:scale(.95)}.lesson-row-2{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.lesson-type-badge{padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.lesson-type-badge.single{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.lesson-type-badge.group{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.lesson-datetime{font-size:.85rem;color:#ffffffb3;font-weight:500}.lesson-price{font-size:.9rem;color:#4caf50;font-weight:700;margin-left:auto}.lesson-spots{font-size:.85rem;color:#2196f3;font-weight:600}@media (max-width: 768px){.lesson-row-1{gap:.4rem}.lesson-row-2{justify-content:space-between}.lesson-type-badge{order:-1}.lesson-price{margin-left:0;order:10}}.no-lessons{text-align:center;padding:3rem;color:#ffffff80;background:#151515;border-radius:12px;border:1px solid rgba(255,255,255,.08)}@media (max-width: 768px){.booking-page{padding:1rem 1rem 100px}.filters-grid{grid-template-columns:1fr}.lesson-item{flex-direction:column;align-items:stretch}.lesson-book-icon-btn{width:100%;height:44px;border-radius:8px}}.register-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);color:#fff;padding:2rem 1rem;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.register-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.register-container{max-width:600px;width:100%;background:linear-gradient(135deg,#1e1e28f2,#14141efa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:2.5rem;box-shadow:0 20px 60px #00000080;border:2px solid rgba(102,126,234,.3);position:relative;z-index:1;animation:slideInUp .6s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.register-header{text-align:center;margin-bottom:2rem}.register-header h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.register-header h1:before{content:"🎉 "}.register-header p{margin:0;font-size:1rem;color:#fffc;font-weight:500}.register-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:700;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.form-group input{background:#0000004d;color:#fff;border:2px solid rgba(102,126,234,.3);border-radius:12px;padding:.875rem 1.25rem;font-size:1rem;transition:all .3s;font-weight:500}.form-group input:focus{outline:none;border-color:#667eea;background:#667eea1a;box-shadow:0 0 0 4px #667eea33;transform:translateY(-2px)}.form-group input:disabled{background:#667eea26;color:#ffffffb3;cursor:not-allowed;border-color:#667eea66}.code-group{background:linear-gradient(135deg,#fbbf2433,#f59e0b33);border:2px solid rgba(251,191,36,.5);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem!important;box-shadow:0 0 20px #fbbf2433}.code-group label{color:#fbbf24!important}.code-input{background:#0006!important;border:2px solid #fbbf24!important;font-family:Courier New,monospace;font-size:1.25rem!important;font-weight:700!important;text-align:center;letter-spacing:2px;color:#fbbf24!important;text-shadow:0 0 10px rgba(251,191,36,.5)}.code-hint{display:block;margin-top:.75rem;color:#fde68a;font-weight:600;font-size:.85rem;line-height:1.5}.code-input-wrapper{position:relative;display:flex;align-items:center;gap:.5rem}.code-input-wrapper .code-input{flex:1}.regenerate-btn{background:#fbbf2433;border:2px solid #fbbf24;color:#fbbf24;font-size:1.25rem;padding:.75rem 1rem;border-radius:8px;cursor:pointer;transition:all .3s;flex-shrink:0}.regenerate-btn:hover{background:#fbbf244d;transform:rotate(180deg)}.form-actions{margin-top:1rem}.btn-primary{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1.25rem 2rem;border-radius:16px;font-size:1.125rem;font-weight:800;cursor:pointer;transition:all .3s;box-shadow:0 8px 24px #667eea66;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-primary:hover:not(:disabled):before{left:100%}.btn-primary:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 12px 32px #667eea80}.btn-primary:active:not(:disabled){transform:translateY(-2px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.register-container{padding:1.5rem}.register-header h1{font-size:2rem}.code-input{font-size:1rem!important}}.form-group{animation:fadeIn .6s ease-out backwards}.form-group:nth-child(1){animation-delay:.1s}.form-group:nth-child(2){animation-delay:.2s}.form-group:nth-child(3){animation-delay:.3s}.form-group:nth-child(4){animation-delay:.4s}.form-group:nth-child(5){animation-delay:.5s}.form-group:nth-child(6){animation-delay:.6s}.form-group:nth-child(7){animation-delay:.7s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast-notification{position:fixed;top:80px;left:50%;transform:translate(-50%) translateY(-100px);background:#1a1a1a;color:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 4px 16px #00000080;z-index:9999;font-weight:600;font-size:.95rem;opacity:0;transition:all .3s ease;border:2px solid;min-width:280px;text-align:center}.toast-notification.show{opacity:1;transform:translate(-50%) translateY(0)}.toast-notification.toast-success{border-color:#4caf50;background:linear-gradient(135deg,#1a1a1a,#1f3a1f)}.toast-notification.toast-error{border-color:#f44336;background:linear-gradient(135deg,#1a1a1a,#3a1f1f)}.toast-notification.toast-info{border-color:#2196f3;background:linear-gradient(135deg,#1a1a1a,#1f2a3a)}.settings-page{min-height:100vh;background:linear-gradient(135deg,#0f0f0f,#1a1a1a);color:#fff;padding:1rem;padding-bottom:100px}.settings-loading{text-align:center;padding:3rem;font-size:1.2rem;color:#ffffffb3}.settings-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#ffffff05;border-radius:12px}.back-btn{background:#646cff1a;border:1px solid rgba(100,108,255,.3);color:#646cff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s}.settings-header h1{margin:0;font-size:1.5rem;font-weight:700}.settings-container{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.settings-form{background:linear-gradient(135deg,#1a1a1a,#1f1f1f);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0006;border:1px solid rgba(255,255,255,.1)}.form-section{margin-bottom:2rem}.form-section h2{margin:0 0 1.5rem;font-size:1.25rem;font-weight:700;color:#fffffff2;padding-bottom:.75rem;border-bottom:2px solid rgba(255,255,255,.1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.form-group.required label:after{content:" *";color:#f44336}.form-group.disabled input{opacity:.6;cursor:not-allowed}.form-group label{font-size:.9rem;font-weight:600;color:#ffffffe6}.form-group small{font-size:.8rem;color:#ffffff80;margin-top:-.25rem}.form-group input{background:#151515;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.75rem 1rem;font-size:.95rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 3px #646cff1a}.form-group input::placeholder{color:#fff6}.form-actions{margin-top:1.5rem}.btn-primary{width:100%;background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #646cff4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #646cff66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.danger-zone{background:linear-gradient(135deg,#1f1515,#2a1a1a);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #f4433633;border:1px solid rgba(244,67,54,.2)}.danger-zone h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:#f44336}.danger-zone p{margin:0 0 1.5rem;color:#ffffffb3;font-size:.95rem}.btn-danger{width:100%;background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #f443364d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f4433666}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.settings-form,.danger-zone{padding:1.5rem}.settings-header{padding:.75rem}}.landing-page{min-height:100vh;background:linear-gradient(135deg,#0f0f0f,#1a1a1a);color:#fff;overflow-x:hidden}.landing-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;background:radial-gradient(ellipse at center,rgba(100,108,255,.15) 0%,transparent 70%);position:relative}.hero-content{max-width:800px;animation:fadeInUp 1s ease-out}.hero-emoji{font-size:4rem;display:block;margin-bottom:1rem;animation:bounce 2s infinite}.hero-title{font-size:4rem;font-weight:900;margin:0 0 1rem;background:linear-gradient(135deg,#646cff,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.75rem;font-weight:600;margin:0 0 1.5rem;color:#ffffffe6}.hero-description{font-size:1.1rem;color:#ffffffb3;margin:0 0 3rem;line-height:1.6}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-primary-large{background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;border:none;padding:1.25rem 3rem;border-radius:12px;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 8px 24px #646cff66;text-decoration:none;display:inline-block}.btn-primary-large:hover{transform:translateY(-4px);box-shadow:0 12px 32px #646cff99}.landing-features{padding:6rem 2rem;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.feature-card{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;text-align:center;transition:all .3s}.feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #646cff33;border-color:#646cff4d}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.5rem;font-weight:700;margin:0 0 1rem;color:#fff}.feature-card p{font-size:1rem;color:#ffffffb3;line-height:1.6;margin:0}.landing-cta{padding:6rem 2rem;text-align:center;background:linear-gradient(135deg,#646cff1a,#a855f71a)}.landing-cta h2{font-size:2.5rem;font-weight:800;margin:0 0 1rem;color:#fff}.landing-cta p{font-size:1.25rem;color:#ffffffb3;margin:0 0 2rem}.landing-footer{padding:2rem;text-align:center;color:#ffffff80;font-size:.9rem;border-top:1px solid rgba(255,255,255,.1)}.landing-footer p{margin:0 0 .75rem}.footer-links{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8rem}.footer-link{color:#fff6;text-decoration:none;transition:color .2s}.footer-link:hover{color:#ffffffb3}.footer-separator{color:#ffffff4d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}.hero-description{font-size:1rem}.btn-primary-large{padding:1rem 2rem;font-size:1rem}.landing-features{padding:3rem 1rem;grid-template-columns:1fr}.landing-cta{padding:3rem 1rem}.landing-cta h2{font-size:1.75rem}}.review-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.review-modal{background:#1a1a1a;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000080}.review-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #333}.review-modal-header h2{margin:0;color:#fff;font-size:1.5rem}.review-modal-close{background:none;border:none;color:#999;font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.review-modal-close:hover:not(:disabled){color:#fff}.review-modal-close:disabled{opacity:.5;cursor:not-allowed}.review-modal-form{padding:1.5rem}.review-modal-info{margin-bottom:1.5rem;padding:1rem;background:#252525;border-radius:8px}.review-modal-info p{margin:.5rem 0;color:#ccc;font-size:.95rem}.review-modal-info strong{color:#fff}.review-rating-section{margin-bottom:1.5rem}.review-rating-section label{display:block;margin-bottom:.75rem;color:#fff;font-weight:500}.star-rating{display:flex;gap:.5rem}.star-rating .star{background:none;border:none;font-size:2.5rem;color:#444;cursor:pointer;padding:0;transition:transform .1s,color .2s;line-height:1}.star-rating .star:hover:not(:disabled){transform:scale(1.1)}.star-rating .star.filled{color:gold}.star-rating .star:disabled{cursor:not-allowed;opacity:.6}.review-text-section{margin-bottom:1.5rem}.review-text-section label{display:block;margin-bottom:.75rem;color:#fff;font-weight:500}.review-text-section textarea{width:100%;padding:.75rem;background:#252525;border:1px solid #333;border-radius:8px;color:#fff;font-family:inherit;font-size:.95rem;resize:vertical;box-sizing:border-box}.review-text-section textarea:focus{outline:none;border-color:#4a9eff}.review-text-section textarea:disabled{opacity:.6;cursor:not-allowed}.review-error{background:#4a1a1a;border:1px solid #8b2a2a;color:#ff6b6b;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.review-modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-secondary{padding:.75rem 1.5rem;background:#333;border:1px solid #444;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;transition:background .2s}.btn-secondary:hover:not(:disabled){background:#444}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{padding:.75rem 1.5rem;background:#4a9eff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;transition:background .2s}.btn-primary:hover:not(:disabled){background:#3a8eef}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.bookings-list-page{min-height:100vh;background:linear-gradient(135deg,#0f0f0f,#1a1a1a);color:#fff;padding-bottom:100px}.bookings-header{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.1)}.back-btn{background:#646cff1a;border:1px solid rgba(100,108,255,.3);color:#646cff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s}.back-btn:hover{background:#646cff33;transform:translate(-2px)}.bookings-header h1{margin:0;font-size:1.75rem;font-weight:700}.bookings-tabs{display:flex;gap:.5rem;padding:1rem 2rem;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.1)}.tab-button{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff9;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s}.tab-button:hover{background:#ffffff0d;color:#ffffffe6}.tab-button.active{background:linear-gradient(135deg,#646cff,#535bf2);border-color:#646cff;color:#fff}.bookings-container{padding:2rem;max-width:1200px;margin:0 auto}.no-bookings{text-align:center;padding:4rem 2rem}.no-bookings-icon{font-size:4rem;margin-bottom:1rem}.no-bookings-text{font-size:1.25rem;color:#fff9;margin-bottom:2rem}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-item{display:flex;gap:1.5rem;background:linear-gradient(135deg,#1a1a1a,#1f1f1f);border-radius:16px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);transition:all .3s}.booking-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0006;border-color:#646cff4d}.booking-item.today{border-left:4px solid #f44336;box-shadow:0 0 20px #f4433633}.booking-item.tomorrow{border-left:4px solid #ff9800}.booking-item.completed{opacity:.85;border-left:4px solid #4caf50}.date-label.completed{background:#4caf50;color:#fff}.booking-date-badge{background:linear-gradient(135deg,#646cff,#535bf2);border-radius:12px;padding:1rem;text-align:center;min-width:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.date-day{font-size:2rem;font-weight:800;line-height:1;color:#fff}.date-month{font-size:.85rem;font-weight:700;color:#ffffffe6;margin-top:.25rem}.date-label{font-size:.65rem;font-weight:700;padding:.25rem .5rem;border-radius:4px;margin-top:.5rem;text-transform:uppercase;letter-spacing:.5px}.date-label.today{background:#f44336;color:#fff}.date-label.tomorrow{background:#ff9800;color:#fff}.booking-details{flex:1;display:flex;flex-direction:column;gap:.5rem}.booking-title{margin:0;font-size:1.25rem;font-weight:700;color:#fff}.booking-info{display:flex;flex-wrap:wrap;gap:1rem}.info-item{font-size:.9rem;color:#ffffffb3;font-weight:500}.booking-time{font-size:.95rem;color:#fffc;font-weight:600}.payment-status{display:inline-block;padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:700;margin-top:.5rem}.payment-status.paid{background:#4caf5033;color:#4caf50;border:1px solid rgba(76,175,80,.4)}.payment-status.pending{background:#ff980033;color:#ff9800;border:1px solid rgba(255,152,0,.4)}.payment-status.authorized{background:#2196f333;color:#2196f3;border:1px solid rgba(33,150,243,.4)}.review-section{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.btn-review{background:linear-gradient(135deg,gold,#ffb300);color:#1a1a1a;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #ffd7004d}.btn-review:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffd70066}.review-status{color:#4caf50;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 16px #646cff66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #646cff80}@media (max-width: 768px){.bookings-header{padding:1rem}.bookings-header h1{font-size:1.25rem}.bookings-container{padding:1rem}.booking-item{flex-direction:column;gap:1rem}.booking-date-badge{min-width:100%;padding:.75rem;flex-direction:row;justify-content:center;gap:.5rem}.date-day{font-size:1.5rem}.date-month{font-size:.75rem;margin-top:0}}.offline-banner{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;padding:.75rem 1rem;z-index:9999;box-shadow:0 2px 8px #0003;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.offline-content{display:flex;align-items:center;gap:.75rem;max-width:1200px;margin:0 auto}.offline-icon{font-size:1.25rem;flex-shrink:0}.offline-message{font-size:.9rem;font-weight:600;line-height:1.4}.install-pwa-banner{position:fixed;bottom:100px;left:1rem;right:1rem;background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;padding:1rem 1.25rem;border-radius:16px;box-shadow:0 8px 32px #646cff66;display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:1000;animation:slideUp .5s ease-out;border:2px solid rgba(255,255,255,.2)}.install-pwa-content{display:flex;align-items:center;gap:1rem;flex:1}.install-pwa-icon{font-size:2rem;line-height:1}.install-pwa-text h4{margin:0 0 .25rem;font-size:1rem;font-weight:700}.install-pwa-text p{margin:0;font-size:.85rem;opacity:.9}.install-pwa-actions{display:flex;gap:.5rem;align-items:center}.install-btn{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.4);color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s;font-size:.9rem;white-space:nowrap}.install-btn:hover{background:#ffffff4d;transform:scale(1.05)}.dismiss-btn{background:transparent;border:none;color:#fff;font-size:1.25rem;cursor:pointer;opacity:.7;transition:all .2s;padding:.25rem;line-height:1}.dismiss-btn:hover{opacity:1;transform:scale(1.1)}@media (max-width: 768px){.install-pwa-banner{bottom:80px;left:.5rem;right:.5rem;padding:.875rem 1rem}.install-pwa-text h4{font-size:.9rem}.install-pwa-text p{font-size:.75rem}.install-btn{padding:.4rem .75rem;font-size:.8rem}}.ios-install-prompt{position:fixed;bottom:100px;left:1rem;right:1rem;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);color:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 12px 48px #0009;border:2px solid rgba(100,108,255,.4);z-index:1000;animation:slideUp .5s ease-out;max-width:500px;margin:0 auto}.ios-dismiss-btn{position:absolute;top:.75rem;right:.75rem;background:transparent;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1;transition:all .2s}.ios-dismiss-btn:hover{color:#fff;transform:scale(1.1)}.ios-prompt-content h3{margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.ios-prompt-content p{margin:0 0 1rem;color:#fffc;font-size:.95rem}.ios-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.ios-steps li{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#646cff1a;border-radius:8px;border:1px solid rgba(100,108,255,.2)}.step-icon{font-size:1.25rem;flex-shrink:0}.share-icon,.add-icon{font-size:1rem;background:#ffffff1a;padding:.25rem .5rem;border-radius:4px;margin-left:.25rem}.ios-steps li strong{color:#646cff}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.ios-install-prompt{bottom:80px;left:.5rem;right:.5rem;padding:1.25rem}.ios-prompt-content h3{font-size:1.1rem}.ios-steps li{font-size:.9rem;padding:.6rem}}.app{width:100%;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:2rem}.page-title{font-size:2rem;font-weight:700;margin-bottom:2rem;color:#646cff}.card{background-color:#2a2a2a;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0003}.card-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.card-content{color:#fffc}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}@media (max-width: 768px){.grid{grid-template-columns:1fr}.container{padding:1rem}.page-title{font-size:1.5rem}}@media (prefers-color-scheme: light){.card{background-color:#f9f9f9;box-shadow:0 2px 8px #0000001a}.card-content{color:#213547}}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0f0f0f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#646cff;color:#fff;cursor:pointer;transition:background-color .25s}button:hover{background-color:#535bf2}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}input,select{border-radius:8px;border:1px solid #333;padding:.6em 1em;font-size:1em;font-family:inherit;background-color:#2a2a2a;color:#fff}input:focus,select:focus{outline:2px solid #646cff;border-color:#646cff}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{background:linear-gradient(135deg,#0f0f0f,#1a1a1a);color:#ffffffde}
