@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";.app-container{display:grid;grid-template-columns:70px 1fr;background-color:#e4edf3;color:#343a40}.app-container.force-mobile{grid-template-columns:1fr}@media(max-width:767px){.app-container{grid-template-columns:1fr}}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:60px;background-color:#fff;border-bottom:1px solid gainsboro;z-index:1000;align-items:center;padding:0 1rem}.mobile-header.force-mobile{display:flex}@media(max-width:767px){.mobile-header{display:flex}}.menu-button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:8px;transition:background-color .3s}.menu-button:hover{background-color:#f8f9fa}.menu-button svg{color:#343a40;width:18px;height:18px}.overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:11700}@media(max-width:768px){.overlay{z-index:11600}}.overlay.force-mobile.show{display:block}@media(max-width:767px){.overlay.show{display:block}}.main-content{overflow-y:auto;height:100vh;margin-top:0}.main-content.force-mobile{margin-top:60px}@media(max-width:767px){.main-content{margin-top:60px}}.sidebar-container{width:100%;height:100vh;min-width:70px;overflow-x:hidden;background-color:#fff;color:#fff;position:relative;transition:transform .3s ease-in-out;z-index:1000;display:flex;flex-direction:column;align-items:center;border-right:1px solid gainsboro;overflow-y:auto}.sidebar-container.force-mobile{position:fixed;top:0;left:0;width:280px;min-width:280px;transform:translate(-100%);z-index:12500}.sidebar-container.force-mobile.show{transform:translate(0);box-shadow:2px 0 10px #0000001a}@media(max-width:767px){.sidebar-container{position:fixed;top:0;left:0;width:280px;min-width:280px;transform:translate(-100%);z-index:12500}.sidebar-container.show{transform:translate(0);box-shadow:2px 0 10px #0000001a}}.logo{display:flex;align-items:center;justify-content:center;margin:10px 10px 10px 18px}.logo img{width:48px;height:48px}@media(max-width:767px){.logo{margin-bottom:20px}}.nav{width:100%;margin-left:8px}@media(max-width:767px){.nav{margin-top:0;padding:0 1rem}}.nav-list{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:column}.nav-item{margin-bottom:5.75px;display:flex;justify-content:center}.nav-item.force-mobile{justify-content:flex-start;margin-bottom:6.4px}@media(max-width:767px){.nav-item{justify-content:flex-start;margin-bottom:6.4px}}.nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:4px;border-radius:9px;color:#8a8d98;background-color:transparent;border:1px solid transparent;transition:all .3s ease;cursor:pointer;text-decoration:none;gap:3.5px;position:relative}.nav-link.active{color:var(--primary);background-color:#3b82f61a;border:1px solid rgba(59,130,246,.2)}.nav-link:hover{color:var(--primary);background-color:#3b82f60d;border-color:#3b82f61a}.nav-link.active:hover{background-color:#3b82f626;border-color:#3b82f64d}.nav-link.active:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:3px;height:24px;background-color:var(--primary);border-radius:0 2px 2px 0}.nav-link svg{width:16px;height:16px;stroke-width:2px;opacity:.7}.nav-link.active svg{opacity:1}.nav-link.force-mobile{flex-direction:row;width:100%;height:48px;justify-content:flex-start;padding:0 1rem;margin-bottom:4px;gap:12px;border-radius:12px}.nav-link.force-mobile:before{display:none}@media(max-width:767px){.nav-link{flex-direction:row;width:100%;height:48px;justify-content:flex-start;padding:0 .5rem;margin-bottom:4px;gap:12px;border-radius:12px}.nav-link:before{display:none}.nav-link svg{width:18px;height:18px}}.nav-text{display:block;font-size:9px;font-weight:500;text-align:center;line-height:1.2;max-width:46px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-text.force-mobile{font-size:14px;max-width:none}@media(max-width:767px){.nav-text{font-size:14px;max-width:none}}.settings-link{display:flex;flex-direction:column;align-items:center;justify-content:center;width:46px;height:55px;margin:0 0 0 8px;padding:.46rem;border-radius:9px;color:#495057;background-color:transparent;border:1px solid transparent;transition:all .3s ease;cursor:pointer;text-decoration:none;gap:3.5px;position:relative}.settings-link.active{color:var(--primary);background-color:#3b82f61a;border:1px solid rgba(59,130,246,.2)}.settings-link:hover{color:var(--primary);background-color:#3b82f60d;border-color:#3b82f61a}.settings-link.active:hover{background-color:#3b82f626;border-color:#3b82f64d}.settings-link.active:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:3px;height:24px;background-color:var(--primary);border-radius:0 2px 2px 0}.settings-link.force-mobile{width:calc(100% - 2rem);margin:0;height:48px;padding:0 1rem;border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px}.settings-link.force-mobile:before{display:none}@media(max-width:767px){.settings-link{width:calc(100% - 2rem);margin:0;height:48px;padding:0 1rem;border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px}.settings-link:before{display:none}}.close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;display:none!important;padding:.5rem;border-radius:8px;transition:background-color .3s}.close-button:hover{background-color:#f8f9fa}.close-button svg{color:#343a40;width:18px;height:18px}@media(max-width:767px){.close-button{display:block!important}}.nav-item-container{display:flex;align-items:center;justify-content:space-between;padding:0;width:46px}@media(max-width:767px){.nav-item-container{padding:0;width:100%}}.toggle-button{background:none;border:none;cursor:pointer;font-size:.75rem;margin-right:1rem;color:#fff}.sub-nav-list{list-style-type:none;padding:0;margin:.25rem 0 .5rem 1rem}.sub-nav-item{margin-bottom:.25rem;margin-left:2rem;padding:0 .5rem}.sub-nav-link{display:block;padding:.5rem 1rem;font-size:.75rem;color:#495057;text-decoration:none;border-radius:6px;transition:background-color .3s;background-color:transparent}.sub-nav-link.active{background-color:#4f46e5;color:#fff}.sub-nav-link:hover{background-color:#e2e6ea}.logout-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:46px;height:55px;margin-bottom:100px;border-radius:11px;margin-left:8px;padding:.46rem;background-color:transparent;color:#000;transition:all .3s ease;cursor:pointer;border:none;text-decoration:none;gap:3.5px;margin-top:auto}.logout-button:hover{background-color:red;color:#fff}.logout-button svg{width:16px;height:16px;stroke-width:2px;opacity:.7}.logout-button.force-mobile{flex-direction:row;width:calc(100% - 2rem);margin:.5rem 1rem 1rem;justify-content:flex-start;padding:0 1rem;height:48px;gap:12px}@media(max-width:767px){.logout-button{flex-direction:row;width:calc(100% - 2rem);margin:.5rem 1rem 1rem;justify-content:flex-start;padding:0 1rem;height:48px;gap:12px}.logout-button svg{width:18px;height:18px}}.logout-text{display:none;font-size:14px;font-weight:500}.logout-text.force-mobile{display:block}@media(max-width:767px){.logout-text{display:block}}.loading-container{width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}.loading-text{font-size:18px;font-weight:500;margin-bottom:8px;color:var(--primary);opacity:.9}.loading-subtext{font-size:14px;color:#343a40;opacity:.7;text-align:center;max-width:300px;line-height:1.4}.logo-container{display:flex;align-items:center;justify-content:center;margin-bottom:32px}.logo-container img{width:64px;height:64px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:#f0f2f5}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#fff,#e6eaea)}.login-card{background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #0000001a;padding:32px 24px;width:100%;max-width:400px;transition:transform .2s ease}.login-card:hover{transform:translateY(-4px)}.login-logo-wrapper{display:flex;flex-direction:row;align-items:center;margin-bottom:16px;justify-content:center}.login-logo{width:70px;height:auto;margin-bottom:8px}.login-brand{font-size:62px;font-weight:600;color:#333;margin-left:-.8rem}.login-subtitle{font-size:.95rem;color:#555;text-align:center;margin-bottom:24px;line-height:1.4}.login-form{width:100%;display:flex;flex-direction:column;gap:16px}.login-label{font-size:.9rem;font-weight:500;color:#333;margin-bottom:6px}.login-input{width:100%;padding:12px 14px;border:1.5px solid #d1d5db;border-radius:6px;font-size:.95rem;color:#333;transition:border-color .2s ease,box-shadow .2s ease;background-color:#fdfdfd}.login-input::placeholder{color:#999}.login-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #05966926}.login-password-input{padding-right:48px}.toggle-password-btn{position:absolute;right:12px;background:transparent;border:none;cursor:pointer;color:#666;font-size:1.2rem;display:flex;align-items:center;justify-content:center;padding:0}.toggle-password-btn:focus{outline:none}.login-button{background-color:#059663;color:#fff;border:none;padding:14px 0;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease;margin-top:8px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px}.login-button:hover:not(:disabled){background-color:#04724b;box-shadow:0 4px 12px #0000001a}.login-button:disabled{background-color:#7ecbb0;cursor:not-allowed;box-shadow:none}.spinner{animation:spin 1s linear infinite}.login-footer-links{text-align:center;margin-top:16px}.link-text{font-size:.9rem;color:var(--primary);text-decoration:none;transition:opacity .2s ease}.link-text:hover{opacity:.8}.forgot-password-btn{background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;text-decoration:inherit;padding:0;margin:0}.club-cards{display:flex;flex-direction:column;gap:12px}.club-card{display:flex;align-items:center;gap:16px;padding:16px;border:2px solid #e5e7eb;border-radius:12px;background-color:#fff;box-shadow:0 4px 12px #0000000f;cursor:pointer;transition:all .2s ease;position:relative}.club-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014;border-color:#d1d5db}.club-card:focus-within{outline:2px solid var(--primary);outline-offset:2px}.club-card.selected{border-color:var(--primary);box-shadow:0 8px 22px #0596692e;background-color:#f8fff8}.club-card input[type=radio]{width:20px;height:20px;accent-color:var(--primary);flex-shrink:0;margin:0}.club-card-content{display:flex;align-items:center;gap:12px;flex:1}.club-logo{width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6}.club-logo img{width:100%;height:100%;object-fit:cover}.club-logo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#047857);color:#fff;font-weight:600;font-size:1.2rem}.club-info{display:flex;flex-direction:column;gap:4px;flex:1}.club-name{font-weight:600;color:#333;font-size:1rem}.club-address{font-size:.85rem;color:#666;line-height:1.3}.form-group{display:flex;flex-direction:column;gap:6px}.error-message{color:#ef4444;font-size:.85rem;margin-top:4px;display:flex;align-items:center;gap:4px}.error-message:before{content:"⚠";font-size:.9rem}.login-input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.login-input.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444440}.login-input:focus,.login-button:focus,.toggle-password-btn:focus,.club-card:focus-within,.forgot-password-btn:focus{outline:2px solid #4faf44;outline-offset:2px}.login-input:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.toggle-password-btn:disabled{color:#9ca3af;cursor:not-allowed}@media(max-width:480px){.login-card{padding:24px 16px;margin:0 16px}.login-brand{font-size:1.5rem}.login-subtitle{font-size:.9rem;margin-bottom:20px}.club-card{padding:12px;gap:12px}.club-logo{width:40px;height:40px}.club-name{font-size:.9rem}.club-address,.error-message{font-size:.8rem}}.forgot-password-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.forgot-password-modal{background:#fff;border-radius:12px;padding:32px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.close-button{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:color .2s}.close-button:hover{color:#374151}.modal-title{font-size:24px;font-weight:600;color:#111827;margin:0 0 24px;text-align:center}.step-content{display:flex;flex-direction:column;gap:24px}.step-description{color:#6b7280;text-align:center;margin:0;line-height:1.5}.method-selection{display:flex;flex-direction:column;gap:12px}.method-option{display:flex;align-items:center;cursor:pointer;padding:16px;border:2px solid #e5e7eb;border-radius:8px;transition:all .2s}.method-option:hover{border-color:#d1d5db;background-color:#f9fafb}.method-option input[type=radio]{display:none}.method-option input[type=radio]:checked+.method-content{border-color:#04724b;background-color:#f0f9f5}.method-content{display:flex;align-items:center;gap:16px;width:100%;padding:8px;border-radius:6px;border:2px solid transparent;transition:all .2s}.method-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;border-radius:8px}.method-text h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#111827}.method-text p{margin:0;font-size:14px;color:#6b7280}.input-group{display:flex;flex-direction:column;gap:8px}.input-label{font-size:14px;font-weight:500;color:#374151}.input-field{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;transition:border-color .2s}.input-field:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.code-input-group{display:flex;flex-direction:column;gap:12px}.code-inputs{display:flex;gap:8px;justify-content:center}.code-input{width:48px;height:56px;text-align:center;font-size:20px;font-weight:600;border:2px solid #e5e7eb;border-radius:8px;background-color:#f9fafb;transition:all .2s}.code-input:focus{outline:none;border-color:#3b82f6;background-color:#fff;box-shadow:0 0 0 3px #3b82f61a}.password-wrapper{position:relative;display:flex;align-items:center}.password-input{padding-right:48px}.toggle-password-btn{position:absolute;right:12px;background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s}.toggle-password-btn:hover{color:#374151}.button-group{display:flex;gap:12px;margin-top:8px}.primary-button,.secondary-button,.continue-button{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.primary-button{background-color:#3b82f6;color:#fff}.primary-button:hover:not(:disabled){background-color:#2563eb}.primary-button:disabled{background-color:#9ca3af;cursor:not-allowed}.secondary-button{background-color:#f3f4f6;color:#374151;border:2px solid #e5e7eb}.secondary-button:hover{background-color:#e5e7eb}.continue-button{background-color:#3b82f6;color:#fff;margin-top:16px}.continue-button:hover:not(:disabled){background-color:#2563eb}.continue-button:disabled{background-color:#9ca3af;cursor:not-allowed}@media(max-width:480px){.forgot-password-modal{padding:24px;margin:20px}.code-inputs{gap:6px}.code-input{width:44px;height:52px;font-size:18px}.button-group{flex-direction:column}}.dashboard-container-with-bg{background-size:cover;background-position:center;background-repeat:no-repeat}.dashboard-logo{display:flex;gap:.5rem;align-items:center}.dashboard-logo-img{width:48px;border-radius:15px}.dashboard-error-full-width{grid-column:span 4}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;overflow-y:auto}.modal-content-large{max-width:800px;width:90%}.modal-content-medium{max-width:600px;width:90%}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0}.modal-title{display:flex;align-items:center;font-size:1.25rem;font-weight:600;margin:0}.modal-title-icon{margin-right:8px}.modal-close{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:background-color .2s}.modal-close:hover{background:#f3f4f6}.modal-body{padding:1.5rem}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid #e5e7eb}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-select,.form-input,.form-textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-select:focus,.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-actions{display:flex;gap:.5rem;margin-bottom:1rem}.btn{padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:.875rem}.btn-primary{background:#059669;color:#fff}.btn-primary:hover:not(:disabled){background:#059669}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-download{background:#059669;color:#fff;display:flex;align-items:center;gap:.5rem}.btn-download:hover:not(:disabled){background:#047857}.btn-download:disabled{background:#9ca3af}.btn-full-width{width:100%;margin-bottom:1rem}.tab-buttons{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid #e5e7eb}.tab-button{padding:.5rem 1rem;background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;font-weight:500}.tab-active{background:#eff6ff;color:#059669;border-bottom-color:#059669}.loading-container{display:flex;align-items:center;justify-content:center;gap:1rem;padding:2rem}.spinner{width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.closure-summary{background:#f9fafb;padding:1rem;border-radius:.5rem;margin-top:1rem}.cash-movement-summary{background:linear-gradient(135deg,#f0f9ff,#f8fafc);border:2px solid #e0f2fe;border-radius:12px;padding:1.5rem;margin-top:1.5rem;box-shadow:0 4px 6px -1px #0000001a}.inputs-section{background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 4px #0000001a}.initial-income-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.flow-note{font-size:.65rem;color:#94a3b8;margin-top:.25rem;font-style:italic}.cash-movement-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e0f2fe}.cash-movement-header h4{margin:0 0 .5rem;color:#0c4a6e;font-size:1.25rem;font-weight:700}.cash-movement-header p{margin:0;color:#64748b;font-size:.875rem}.cash-calculation-card{background:#fff;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 4px #0000001a}.calculation-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem}.flow-item{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;padding:1rem;display:flex;align-items:center;gap:.75rem;min-width:140px;transition:transform .2s ease}.flow-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.flow-item.initial{border-color:#94a3b8;background:#f1f5f9}.flow-item.positive{border-color:#10b981;background:#f0fdf4}.flow-item.negative{border-color:#ef4444;background:#fef2f2}.flow-item.result{border-color:#3b82f6;background:#eff6ff;font-weight:600}.flow-icon{font-size:1.5rem}.flow-content{text-align:center}.flow-label{font-size:.75rem;color:#64748b;margin-bottom:.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.flow-value{font-size:1rem;font-weight:700;color:#1e293b}.flow-operator{font-size:1.5rem;font-weight:700;color:#64748b;margin:0 .5rem}.final-calculation{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.final-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.final-item{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;padding:1rem;border-radius:6px;border:1px solid #e2e8f0}.final-label{font-weight:600;color:#374151}.final-amount{font-weight:700;font-size:1.125rem;color:#1e293b}.difference-result{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.25rem;border-radius:10px;border:2px solid}.difference-result.excess{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#10b981}.difference-result.shortage{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef4444}.difference-icon{font-size:2rem}.difference-content{text-align:center}.difference-label{font-size:.875rem;font-weight:600;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.difference-result.excess .difference-label{color:#059669}.difference-result.shortage .difference-label{color:#dc2626}.difference-amount{font-size:1.5rem;font-weight:900}.difference-result.excess .difference-amount{color:#059669}.difference-result.shortage .difference-amount{color:#dc2626}.other-methods-card{background:#fff;border-radius:10px;padding:1.5rem;margin-top:1.5rem;box-shadow:0 2px 4px #0000001a}.other-methods-card h5{margin:0 0 1rem;color:#374151;font-size:1rem;font-weight:600;text-align:center;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem}.other-methods-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.other-section{background:#f8fafc;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0}.other-header{padding:.75rem 1rem;font-weight:600;text-align:center;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.other-header.positive{background:#f0fdf4;color:#059669;border-bottom:1px solid #bbf7d0}.other-header.negative{background:#fef2f2;color:#dc2626;border-bottom:1px solid #fecaca}.other-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #f1f5f9;background:#fff}.other-item:last-child{border-bottom:none}.summary-item{display:flex;justify-content:space-between;margin-bottom:.5rem}.positive{color:#10b981}.negative{color:#ef4444}.closure-item{border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:.5rem}.closure-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;cursor:pointer;transition:background-color .2s}.closure-header:hover{background:#f9fafb}.closure-amount{display:flex;align-items:center;gap:.5rem;font-weight:600}.closure-details{padding:1rem;border-top:1px solid #e5e7eb;background:#f9fafb}.closure-details p{margin:.25rem 0}.report-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.875rem}.report-table th,.report-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e5e7eb}.report-table th{background:#f9fafb;font-weight:600;color:#374151}.report-table tr:hover{background:#f9fafb}.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1rem 0;padding:1rem;background:#f0f9ff;border-radius:.5rem;border:1px solid #e0f2fe}.summary-metric{text-align:center}.summary-metric .value{font-size:1.25rem;font-weight:700;color:#0369a1;margin-bottom:.25rem}.summary-metric .label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.no-data-message{text-align:center;padding:2rem;color:#6b7280;font-style:italic}.report-selection{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.daily-summary{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin:1rem 0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.daily-summary h4{margin:0 0 1.5rem;color:#1e293b;font-size:1.125rem;font-weight:700;text-align:center;border-bottom:2px solid #e2e8f0;padding-bottom:.75rem}.summary-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.total-card{background:#fff;border-radius:10px;padding:1rem;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:.75rem;border-left:4px solid;transition:transform .2s ease,box-shadow .2s ease}.total-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.total-card.positive{border-left-color:#10b981}.total-card.negative{border-left-color:#ef4444}.total-card.neutral{border-left-color:#3b82f6}.total-icon{font-size:1.5rem;min-width:40px;text-align:center}.total-content{flex:1}.total-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-weight:600}.total-value{font-size:1.125rem;font-weight:700;color:#1e293b}.summary-details{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.summary-section-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.section-header{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);padding:.75rem 1rem;border-bottom:1px solid #e2e8f0}.section-header h5{margin:0;color:#374151;font-size:.875rem;font-weight:600}.method-items{padding:.5rem 0}.method-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #f1f5f9;transition:background-color .2s ease}.method-item:hover{background:#f8fafc}.method-item:last-child{border-bottom:none}.method-info{display:flex;flex-direction:column}.method-name{font-weight:600;color:#1e293b;margin-bottom:.125rem}.method-count{font-size:.75rem;color:#64748b}.method-amount{font-weight:700;font-size:1rem}.method-amount.positive{color:#10b981}.method-amount.negative{color:#ef4444}.no-data{padding:1.5rem 1rem;text-align:center;color:#64748b;font-style:italic}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.summary-section h5{margin:0 0 .5rem;color:#374151;font-size:.875rem;font-weight:600;border-bottom:1px solid #e5e7eb;padding-bottom:.25rem}.closure-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.details-section{background:#fff;padding:.75rem;border-radius:.375rem;border:1px solid #e5e7eb}.details-section h5{margin:0 0 .5rem;color:#374151;font-size:.875rem;font-weight:600;border-bottom:1px solid #e5e7eb;padding-bottom:.25rem}.details-section p{margin:.25rem 0;font-size:.875rem}.summary-section-title{font-weight:700;font-size:.9rem;color:#374151;margin:1rem 0 .5rem;padding:.5rem 0;border-bottom:2px solid #e5e7eb;display:flex;align-items:center;gap:.5rem}.summary-section-title:first-child{margin-top:0}.summary-divider{border-top:1px solid #d1d5db;padding-top:.5rem;margin-top:.5rem}.summary-highlight{background:#f3f4f6;padding:.5rem;border-radius:.375rem;border-left:4px solid #3b82f6;margin:.5rem 0}.summary-subsection{margin:.5rem 0;padding-left:1rem;border-left:2px solid #e5e7eb}.subsection-title{font-weight:600;font-size:.8rem;color:#6b7280;display:block;margin-bottom:.25rem}.summary-item-small{display:flex;justify-content:space-between;margin-bottom:.25rem;font-size:.875rem;padding-left:.5rem}.summary-item-small:last-child{margin-bottom:0}@media(max-width:768px){.calculation-flow{flex-direction:column;align-items:stretch}.flow-item{min-width:auto;justify-content:center;padding:.75rem}.flow-operator{transform:rotate(90deg);margin:.5rem 0}.final-row,.other-methods-grid{grid-template-columns:1fr}.initial-income-cards{grid-template-columns:1fr 1fr;gap:.5rem}.flow-content{text-align:center}.flow-value{font-size:.9rem}.flow-note{font-size:.6rem}.summary-totals,.summary-details{grid-template-columns:1fr}.total-card{padding:.75rem}.total-icon{font-size:1.25rem;min-width:35px}}.method-name-with-icon{display:flex;align-items:center;gap:.5rem}.payment-icon{font-size:1rem;color:#3b82f6;min-width:20px;display:flex;align-items:center;justify-content:center}.payment-icon.cash{color:#10b981}.payment-icon.credit-card{color:#f59e0b}.payment-icon.debit-card{color:#6366f1}.payment-icon.transfer{color:#8b5cf6}.payment-icon.qr{color:#ef4444}.history-method-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;margin-bottom:.5rem;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.history-method-item .method-name-with-icon{font-weight:500;color:#374151}.history-method-item .method-amount{font-weight:600;color:#1f2937}.payment-icon{transition:transform .2s ease,color .2s ease}.method-item:hover .payment-icon{transform:scale(1.1)}.method-item.income{border-left:3px solid #10b981}.method-item.expense{border-left:3px solid #ef4444}.method-count{font-size:.75rem;color:#64748b;font-style:italic}.method-amount.positive{color:#10b981;font-weight:600}.method-amount.negative{color:#ef4444;font-weight:600}.toggle-container{display:inline-flex;align-items:center;gap:.75rem;width:fit-content;vertical-align:middle}.toggle-container.disabled{opacity:.6;cursor:not-allowed}.toggle-label{font-size:.875rem;font-weight:600;color:var(--gray-700);margin:0}.toggle-button{position:relative;background:none;border:none;cursor:pointer;padding:0;transition:all .2s ease;border-radius:var(--radius-full, 9999px);outline:none;display:inline-block;vertical-align:middle}.toggle-button:focus-visible{box-shadow:0 0 0 2px #4f46e51a}.toggle-button.disabled{cursor:not-allowed}.toggle-slider{display:block;background-color:#d1d5db;border-radius:9999px;transition:all .2s ease;position:relative!important}.toggle-button.checked .toggle-slider{background-color:#d1d5db!important}.toggle-button:hover:not(.disabled) .toggle-slider{background-color:#9ca3af}.toggle-button.checked:hover:not(.disabled) .toggle-slider{background-color:#9ca3af!important}.toggle-thumb{display:block;background-color:#fff;border-radius:9999px;transition:all .2s ease;transform:translate(0);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.toggle-button.checked .toggle-thumb{transform:translate(100%);background-color:var(--primary)}.toggle-button.sm .toggle-slider{width:2rem;height:1.125rem;padding:.125rem}.toggle-button.sm .toggle-thumb{width:.875rem;height:.875rem}.toggle-button.sm.checked .toggle-slider{background-color:#d1d5db!important}.toggle-button.md .toggle-slider{width:2.75rem;height:1.5rem;padding:.125rem}.toggle-button.md .toggle-thumb{width:1.25rem;height:1.25rem}.toggle-button.md.checked .toggle-slider{background-color:#d1d5db!important}.toggle-button.lg .toggle-slider{width:3.5rem;height:2rem;padding:.25rem}.toggle-button.lg .toggle-thumb{width:1.5rem;height:1.5rem}.toggle-button.lg.checked .toggle-slider{background-color:#d1d5db!important}.toggle-button:disabled .toggle-slider{background-color:#e5e7eb}.toggle-button.checked:disabled .toggle-slider{background-color:#e5e7eb!important}.toggle-button:disabled .toggle-thumb{background-color:#f3f4f6}.toggle-button.checked:disabled .toggle-thumb{background-color:#9ca3af}.toggle-slider:before,.toggle-thumb:before,.toggle-label:before{display:none!important}@media screen and (max-width:768px){.toggle-container{gap:.5rem}.toggle-label{font-size:.8rem}}.settings-toggle-button{position:relative;width:44px;height:24px;background:transparent!important;border:none!important;border-radius:12px;cursor:pointer;transition:all .3s ease;outline:none}.settings-toggle-button:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#ccc;border-radius:50%;transition:all .3s ease}.settings-toggle-button.active:before{left:22px;background-color:var(--primary, #007bff)}.section-card{border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;margin-bottom:2rem;background-color:#fff;box-shadow:0 2px 8px #0000001a;transition:all .2s ease;cursor:default}.courts-selection-grid{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.court-selection-item{display:flex;align-items:center;gap:.25rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;background-color:transparent;border:1px solid #ccc;transition:all .2s ease;font-size:.875rem}.court-selection-item:hover{border-color:#1976d2;background-color:#f3f7ff}.court-selection-item.selected{background-color:#e3f2fd;border-color:#1976d2;color:#1976d2}.court-selection-item input[type=checkbox]{margin:0}.court-selection-all{font-weight:700;border-color:#f44336!important}.court-selection-all.selected{background-color:#ffebee;border-color:#f44336!important;color:#f44336}.reservations-container{padding:1em}.confirmation-actions{display:flex;justify-content:space-between}.details-icon:hover{cursor:pointer;font-weight:700}.btn-not-wsp{display:flex;gap:.2rem;align-items:center;background:#128c7e;color:#fff}.dragging{opacity:.5;transform:rotate(5deg);z-index:1000}.drag-mode{opacity:.3!important;transform:translate(-50%,-50%)!important;pointer-events:none!important;z-index:2400!important;transition:none!important;box-shadow:0 8px 32px #0000004d!important;border:2px solid var(--primary)!important}.drag-mode-indicator{background:var(--primary);color:#fff;padding:12px 16px;border-radius:8px;margin-left:16px;display:flex;align-items:center;justify-content:space-between;font-size:14px;box-shadow:0 4px 12px #0003;min-width:400px}.drag-mode-content{display:flex;flex-direction:column;gap:4px}.drag-mode-title{font-weight:700;font-size:16px}.drag-hint{font-size:12px;opacity:.9;font-style:italic}.context-menu{position:fixed;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:4px 0;min-width:120px;z-index:2400}.context-menu-item{padding:8px 12px;cursor:pointer;font-size:14px;transition:background-color .2s ease}.context-menu-item:hover{background-color:#f0f0f0}.drag-navigation-hint{position:fixed;top:50%;left:20px;transform:translateY(-50%);background:#000c;color:#fff;padding:12px 16px;border-radius:8px;font-size:14px;z-index:2401;pointer-events:none;opacity:0;transition:opacity .3s ease}.drag-navigation-hint.show{opacity:1}.drag-navigation-hint.right{left:auto;right:20px}.drop-target{background-color:#4faf441a!important;border:2px dashed var(--primary)!important}.drop-target-slot{background-color:#4faf4426!important;border:2px dashed var(--primary)!important;border-radius:var(--radius-md);transition:all .2s ease}.drop-target-slot .empty-slot{background-color:#4faf441a;color:var(--primary);font-weight:700}.drop-target-slot .occupied-slot{background-color:#4faf441a;border:1px solid var(--primary)}.time-slot-cell.drag-over-invalid{background-color:#dc35451a!important;border:2px dashed var(--danger)!important;border-radius:var(--radius-md);transition:all .2s ease}.time-slot-cell.drag-over-invalid .empty-slot,.time-slot-cell.drag-over-invalid .occupied-slot{background-color:#dc35451a;color:var(--danger);border-color:var(--danger)}.court-column.drag-over-invalid{background-color:#dc35450d!important;border:2px dashed var(--danger)!important;transition:all .2s ease}.court-column{width:240px;min-width:240px;max-width:240px;border:1px solid rgb(238,238,238);transition:all .3s ease}.reservation-card-column{cursor:move;transition:all .2s ease;position:absolute;background:var(--primary);color:#fff;border-radius:var(--radius-md);padding:.4rem;box-shadow:var(--shadow-md);z-index:10;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;min-height:60px}.reservation-card-column:hover{box-shadow:var(--shadow-lg);z-index:15}.reservation-card-column.resizing{cursor:ns-resize!important;-webkit-user-select:none;user-select:none;transition:none!important;box-shadow:0 0 0 2px #4faf4480;border:2px solid var(--primary)}.resize-handle-top{position:absolute;top:0;left:0;right:0;height:8px;background:#fff3;cursor:ns-resize;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;border-radius:var(--radius-md) var(--radius-md) 0 0;z-index:10}.resize-handle-bottom{position:absolute;bottom:0;left:0;right:0;height:8px;background:#fff3;cursor:ns-resize;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;border-radius:0 0 var(--radius-md) var(--radius-md);z-index:10}.reservation-card-column:hover .resize-handle-top,.reservation-card-column:hover .resize-handle-bottom{opacity:1}.resize-handle-top:hover,.resize-handle-bottom:hover{background:#fff6;opacity:1!important}.resize-handle-top svg,.resize-handle-bottom svg{color:#fff;font-size:12px;transform:rotate(90deg);pointer-events:none}.reservation-card-column.resizing .resize-handle-top,.reservation-card-column.resizing .resize-handle-bottom{opacity:1;background:var(--primary)}.reservation-card-column .reservation-info{display:flex;flex-direction:column;gap:.25rem;height:calc(100% - 16px);padding:8px 0;flex-grow:1}.reservation-detail-modal{max-width:min(800px,70vw)}.reservation-detail-header{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:1.5rem;border-bottom:none}.reservation-detail-header .modal-title{color:#fff;font-weight:700}.reservation-detail-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.detail-card-content{padding:1.25rem}.detail-field{display:flex;align-items:flex-start;margin-bottom:1rem;gap:.75rem}.detail-field-icon{color:var(--primary);font-size:1.125rem;flex-shrink:0}.detail-field label{display:flex;flex-direction:row;gap:.2rem;width:70px;font-size:.875rem;font-weight:600;color:var(--gray-600);margin-bottom:0;margin-right:.5rem;flex-shrink:0}.detail-value{font-size:.875rem;font-weight:500;color:var(--gray-800)}.reservation-products-section{padding:0 1.5rem 1.5rem}.product-search-container{margin-bottom:1.5rem}.product-search-container h4{font-size:1rem;font-weight:700;color:var(--gray-800);margin-bottom:1rem;display:flex;align-items:center}.product-search-field{display:block!important;position:relative;margin-bottom:0}.product-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--gray-500)}.product-search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);background-color:#fff;font-size:.875rem;color:var(--gray-800);box-shadow:var(--shadow-sm)}.product-autocomplete-list{position:absolute;top:100%;left:0;right:0;background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);z-index:10;max-height:200px;overflow-y:auto;margin-top:.375rem}.product-name{font-weight:500;color:var(--gray-800)}.product-price{font-weight:600;color:var(--primary)}.calendar-container{margin-top:1.5rem;background:#fff;border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-md);animation:fadeIn .4s ease}.calendar-header{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:1.5rem}.calendar-header h3{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin:0}.calendar-mode-toggle{display:flex;gap:.5rem;margin-left:auto}.calendar-mode-toggle .view-toggle{background:#fff!important;color:#000}.calendar-mode-toggle .view-toggle.active{background-color:var(--primary)!important;color:#fff;border-color:var(--primary)}.calendar-mode-toggle .view-toggle:not(.active){background:#fff!important;color:#000!important}.view-toggle.tabla-view{background:#fff!important;color:#000!important}.calendar-table-container{overflow-x:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.calendar-table{width:100%;border-collapse:collapse;background:#fff;min-width:600px;table-layout:fixed}.calendar-day-header{background:var(--primary);color:#fff;font-weight:600;text-align:center;padding:.75rem .5rem;font-size:.875rem;border:1px solid var(--primary-dark)}.calendar-week{border-bottom:1px solid var(--gray-200)}.calendar-day-cell{background:#fff;border:1px solid var(--gray-200);padding:.5rem;min-height:120px;width:14.28%;vertical-align:top;position:relative;transition:var(--transition);cursor:pointer}.calendar-day-cell:hover{background:var(--gray-50)}.calendar-day-cell:empty{background:var(--gray-100);cursor:default}.calendar-day-cell:empty:hover{background:var(--gray-100)}.calendar-day-number{font-size:.875rem;font-weight:600;color:var(--gray-700);text-align:center;padding:.25rem;border-radius:var(--radius-sm);background:var(--gray-100);width:fit-content;margin:0 auto .5rem;min-width:24px}.calendar-reservations{display:flex;flex-direction:column;gap:.25rem}.calendar-item{background:var(--primary-light);padding:.375rem .5rem;margin-bottom:.25rem;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--primary);color:var(--primary-dark);transition:var(--transition);line-height:1.2;display:flex;flex-direction:column;gap:.125rem;overflow:hidden;height:55px}.calendar-item:hover{background:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.calendar-reservation-item{background:var(--primary-light);padding:.375rem .5rem;margin-bottom:.25rem;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--primary);color:var(--primary-dark);transition:var(--transition);line-height:1.2;display:flex;flex-direction:column;gap:.125rem;overflow:hidden}.calendar-reservation-item:hover{background:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.reservation-time{font-size:.7rem;font-weight:600;opacity:.9}.calendar-reservation-item .reservation-info{display:flex;flex-direction:column;gap:.125rem}.reservation-client-court{font-size:.75rem;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reservation-students-info{display:flex;align-items:center;gap:.25rem;font-size:.65rem;opacity:.9}.students-count{font-weight:600}.students-count.full{color:#dc3545}.students-count.low{color:#fd7e14}.students-count.good{color:#198754}.calendar-item>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-view-container{overflow-x:scroll;margin-top:1.5rem}.day-view-header{display:flex;align-items:center;margin-bottom:1rem}.day-view-header h4{font-size:1.125rem;font-weight:600;color:var(--gray-800);margin:0}.courts-columns-container{width:fit-content;margin-top:1rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);background:#fff}.courts-grid-fixed{display:flex;width:fit-content}.courts-scrollable-container{width:fit-content;flex:1;overflow-x:auto;overflow-y:visible}.courts-grid{display:flex;min-width:fit-content;background:#fff;width:fit-content}.time-column{width:60px;min-width:60px;flex-shrink:0;border-right:1px solid var(--gray-200);background:var(--gray-50);position:sticky;left:0;z-index:1000}.time-header{padding:1rem .5rem;font-weight:600;text-align:center;border-bottom:1px solid var(--gray-200);background:var(--gray-100);color:var(--gray-700);font-size:.875rem}.reservations-container .time-header{height:60px!important;padding:1rem .5rem!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important}.reservations-container .time-header-teacher{height:40px!important;padding:1rem .5rem!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important}.time-slot-label{padding:.75rem .5rem;text-align:center;border-bottom:1px solid var(--gray-200);font-size:.75rem;color:var(--gray-600);height:40px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.reservations-container .time-slot-label{border-bottom:1px solid var(--gray-300)!important;height:40px!important;padding:0 .5rem!important;box-sizing:border-box!important}.court-header{height:60px;padding:1rem;font-weight:600;text-align:center;border-bottom:1px solid var(--gray-200);background:var(--primary-light);color:var(--primary);font-size:.875rem;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.court-reservations{position:relative;height:1360px}.time-slot-cell{height:40px;border-bottom:1px solid var(--gray-200);position:relative;display:flex;align-items:center;justify-content:center;overflow:visible;box-sizing:border-box;padding:0;margin:0}.empty-slot{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--gray-400);font-size:1.5rem;cursor:pointer;transition:var(--transition);border-radius:var(--radius-md);box-sizing:border-box;max-height:40px!important;min-height:0px!important}.empty-slot:hover{background:var(--gray-100);color:var(--primary)}.time-slot-cell.disabled-by-days-off-calendar{background-color:#f8f9fa;opacity:.6}.time-slot-cell.disabled-by-days-off-calendar .empty-slot{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.time-slot-cell.disabled-by-days-off-calendar .empty-slot:hover{background-color:#e9ecef;color:#6c757d}.empty-slot.disabled-by-days-off{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.empty-slot.disabled-by-days-off:hover{background-color:#e9ecef;color:#6c757d}.calendar-item-content{display:flex;flex-direction:column;gap:.25rem;width:100%}.calendar-item-main{font-size:.75rem;font-weight:500;line-height:1.2}.calendar-item-students{display:flex;align-items:center;gap:.25rem;font-size:.7rem;opacity:.9}.students-available{font-weight:600}.students-available.full{color:#ef4444}.students-available.low{color:#f59e0b}.students-available.good{color:#10b981}.reservation-students{display:flex;align-items:center;gap:.25rem;font-size:.65rem;margin:.15rem 0;opacity:.95;flex-shrink:0}.reservation-students svg{color:#fff;background:#1f2937;padding:.2rem;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 3px #0000004d;border:1px solid rgba(255,255,255,.2)}.reservation-students .students-available{font-weight:600;font-size:.6rem;line-height:1}.reservation-students .students-available.full{color:#1f2937;background:#fca5a5;padding:.1rem .3rem;border-radius:.2rem;border:1px solid #dc2626;font-weight:700}.reservation-students .students-available.low{color:#1f2937;background:#fde68a;padding:.1rem .3rem;border-radius:.2rem;border:1px solid #d97706;font-weight:700}.reservation-students .students-available.good{color:#1f2937;background:#fff;padding:.1rem .3rem;border-radius:.2rem;border:1px solid #e5e7eb;font-weight:700}.day-view-container .reservation-info{display:flex;flex-direction:column;gap:.15rem;height:100%;justify-content:space-between}.reservation-client{font-size:.7rem;font-weight:600;line-height:1.1;margin-bottom:.1rem}.reservation-status{font-size:.65rem;font-weight:500;opacity:.9;margin-top:auto}.day-view-grid{position:relative;display:grid;grid-template-columns:40px 1fr;gap:1px;background:var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.reservations-container .time-slot-cell{border-bottom:1px solid var(--gray-300)!important;height:40px!important;box-sizing:border-box!important}.reservations-container .empty-slot{color:transparent!important;font-size:0!important;cursor:default!important}.reservations-container .empty-slot:hover{background:transparent!important;color:transparent!important}.reservations-container .court-column{margin:0!important;vertical-align:top!important;display:inline-block!important}.reservations-container .courts-grid{gap:0!important;display:flex!important;align-items:flex-start!important}.reservations-container .time-column{vertical-align:top!important;display:inline-block!important}.reservations-container .court-header{height:60px!important;padding:1rem!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important}.reservations-container .court-reservations{vertical-align:top!important;position:relative!important;top:0!important}.calendar-view-container{margin-top:1rem;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.calendar-grid{display:grid;grid-template-columns:80px 1fr;min-width:fit-content;background:#fff}.reservations-container .calendar-grid{grid-template-columns:50px 1fr!important}@media(max-width:768px){.reservations-container .calendar-view-container{margin-top:.5rem;border-radius:var(--radius-md);overflow-x:auto}.calendar-table-container{border-radius:var(--radius-md)}.calendar-table{min-width:500px}.calendar-day-header{padding:.5rem .25rem;font-size:.75rem}.calendar-day-cell{min-height:80px;padding:.25rem}.calendar-day-number{font-size:.75rem;padding:.125rem .25rem;margin:0 auto .25rem}.calendar-item,.calendar-reservation-item{height:55px;padding:.25rem .375rem;margin-bottom:.125rem;font-size:.65rem;line-height:1.1;display:flex;flex-direction:column;justify-content:center}.reservations-container .calendar-grid{grid-template-columns:45px 1fr!important;min-width:100%}.reservations-container .time-header,.reservations-container .events-header{height:45px!important;padding:.5rem .25rem!important;font-size:.75rem!important}.reservations-container .time-slot-label{height:40px!important;max-height:40px!important;min-height:0px!important;padding:0 .25rem!important;font-size:.7rem!important;display:flex!important;align-items:center!important;justify-content:center!important}.reservations-container .time-slot-row{height:30px!important;padding:0 4px!important}.reservations-container .reservations-row{gap:4px!important;flex-wrap:nowrap;overflow-x:auto}.reservations-container .reservations-row .reservation-card-column{min-height:26px!important;margin:1px 0!important;font-size:.7rem!important;min-width:140px!important;border-radius:4px!important}.reservations-container .reservations-row .reservation-card-column .reservation-info{padding:.25rem!important;gap:.25rem!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}.reservations-container .reservations-row .reservation-card-column .reservation-client{font-size:.65rem!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:80px!important}.reservations-container .reservations-row .reservation-card-column .reservation-students{font-size:.6rem!important;margin:0!important;flex-shrink:0!important}.reservations-container .reservations-row .reservation-card-column .students-available{font-size:.55rem!important;padding:.1rem .25rem!important;border-radius:3px!important}.reservations-container .reservations-row .reservation-card-column .reservation-students svg{width:10px!important;height:10px!important;padding:.1rem!important}}.events-column{border-left:1px solid var(--gray-200)}.events-header{height:40px;padding:.5rem;font-weight:600;text-align:center;border-bottom:1px solid var(--gray-200);background:var(--primary-light);color:var(--primary);font-size:.875rem;display:flex;align-items:center;justify-content:center}.events-container{position:relative;padding:0;margin:0}.time-slot-row{height:40px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;padding:0 8px}.reservations-row{display:flex;gap:8px;width:100%;align-items:center}.reservations-row .reservation-card-column{position:relative!important;left:auto!important;right:auto!important;top:auto!important;height:auto!important;min-height:35px!important;flex:none!important;margin:2px 0;overflow:hidden;text-overflow:ellipsis}.reservations-row .reservation-card-column .reservation-info{width:100%;overflow:hidden}.reservations-row .reservation-card-column .reservation-client{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.empty-time-slot{width:100%;height:100%}.reservations-container .time-slot-row{border-bottom:1px solid var(--gray-300)!important}.time-label{background:var(--gray-100);padding:.75rem;text-align:right;color:var(--gray-600);font-size:.75rem;font-weight:500}.day-view-block{padding:.25rem;position:relative;background:#fff;cursor:pointer;overflow:visible;transition:var(--transition)}.day-view-block:hover{background:var(--gray-50)}.slot-label{position:absolute;top:.375rem;left:.75rem;font-size:.75rem;color:var(--gray-500);font-weight:500}.reservation-card{display:flex;top:0;left:.375rem;right:.375rem;background:#fff;border-left:3px solid var(--primary);padding:1.5rem .75rem .625rem;align-items:center;box-shadow:var(--shadow-md);z-index:10;font-size:.875rem;height:calc(100% - .75rem);width:fit-content;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:var(--radius-md);transition:var(--transition)}.reservation-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.reservation-modal{min-width:50vw;max-width:65vw!important;height:90vh;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden;padding:0;background:#fff}.reservation-modal-header{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:1.5rem;border-bottom:none;border-radius:10px}.reservation-modal-header .modal-title{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;color:#fff}.reservation-modal-body{overflow-y:auto;max-height:calc(100% - 73px)!important;padding:0!important}.reservation-progress{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background-color:var(--gray-50);border-bottom:1px solid var(--gray-200)}.progress-step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.step-number{width:2.25rem;height:2.25rem;border-radius:50%;background-color:var(--gray-200);color:var(--gray-600);display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:.5rem;transition:all .3s ease}.step-label{font-size:.75rem;color:var(--gray-600);font-weight:600;transition:all .3s ease}.progress-step-active .step-number{background-color:var(--primary);color:#fff;transform:scale(1.1);box-shadow:0 0 0 4px #4f46e533}.progress-step-active .step-label{color:var(--primary);font-weight:700}.progress-step.completed .step-number{background-color:var(--success);color:#fff}.progress-line{flex-grow:1;height:2px;background-color:var(--gray-200);margin:0 .5rem;position:relative;top:-1.125rem;z-index:0}.reservation-content-public{padding:.5rem!important}.section-title{font-size:1.125rem;font-weight:700;color:var(--gray-800);margin-bottom:1.5rem;text-align:center}.reservation-type-options{display:flex;gap:1.5rem;justify-content:center;margin-top:2rem}.reservation-type-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem;border-radius:var(--radius-xl);border:2px solid var(--gray-200);background-color:#fff;width:200px;cursor:pointer;transition:all .3s ease}.reservation-type-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.reservation-type-card.selected{border-color:var(--primary);background-color:var(--primary-light);box-shadow:var(--shadow-lg)}.type-icon{background-color:var(--gray-100);width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:var(--primary);transition:all .3s ease;margin-right:0!important}.reservation-type-card.selected .type-icon{background-color:var(--primary);color:#fff}.type-info{text-align:center}.type-info h5{font-size:1rem;font-weight:700;margin-bottom:.5rem;color:var(--gray-800)}.type-info p{font-size:.875rem;color:var(--gray-600)}.date-selection{animation:slideIn .3s ease}.date-navigation{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:2rem;position:relative}.nav-button{background-color:#fff;border:1px solid var(--gray-200);border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:all .2s ease;color:var(--gray-600)}.nav-button:hover:not(:disabled){background-color:var(--gray-100);color:var(--primary);border-color:var(--gray-300)}.date-cards-container{display:flex;gap:.75rem;overflow-x:auto;padding:.75rem 0;scrollbar-width:none;-ms-overflow-style:none}.date-cards-container::-webkit-scrollbar{display:none}.date-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:5rem;height:5rem;border-radius:var(--radius-xl);background-color:#fff;border:2px solid var(--gray-200);cursor:pointer;transition:all .2s ease}.date-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-md)}.selected{border-color:var(--primary);box-shadow:var(--shadow-md)}.input{width:100px}.date-card-day{font-size:.75rem;font-weight:700;color:var(--gray-600);text-transform:uppercase}.date-card-date{font-size:1.25rem;font-weight:800;color:var(--gray-800)}.weekday-selection{animation:slideIn .3s ease}.weekday-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:2rem}.weekday-card{display:flex;flex-direction:column;align-items:center;padding:1.25rem;border-radius:var(--radius-xl);background-color:#fff;border:2px solid var(--gray-200);cursor:pointer;transition:all .2s ease}.weekday-car:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-md)}.weekday-icon{background-color:var(--gray-100);width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;color:var(--primary)}.weekday-name{font-size:.875rem;font-weight:700;color:var(--gray-800)}.time-slot-selection{animation:slideIn .3s ease}.time-slots-container{margin-bottom:2rem}.loading-slots{display:flex;flex-direction:column;align-items:center;padding:3rem;color:var(--gray-600)}.no-slots-message{display:flex;flex-direction:column;align-items:center;padding:3rem;color:var(--gray-600);text-align:center}.no-slots-message svg{margin-bottom:1rem;color:var(--gray-400)}.try-another-date{margin-top:1rem;padding:.5rem 1rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-weight:600;transition:all .2s ease}.try-another-date:hover{background-color:var(--primary-dark)}.time-slots-grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.time-slot-card{display:flex;flex-direction:column;align-items:center;padding:1.25rem;border-radius:var(--radius-xl);background-color:#fff;border:2px solid var(--gray-200);cursor:pointer;transition:all .2s ease;width:160px;max-width:160px}.date-selection-public{padding:.5rem}.date-selection-public .date-cards-container{width:100%;display:flex;flex-wrap:wrap;justify-content:center}.date-selection-public .date-cards-container .date-card{width:70px}.card-public{display:flex;flex-direction:row;width:100%;max-width:100%;height:80px;padding:.5rem 1rem;justify-content:space-between}.card-public .time-slot-time{margin:0;font-size:1rem}.card-public .time-slot-duration{font-size:.7rem}.time-slot-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-md)}.time-slot-card.disabled-by-days-off{background-color:#f8f9fa;border-color:#dee2e6;cursor:not-allowed;opacity:.6}.time-slot-card.disabled-by-days-off:hover{border-color:#dee2e6;transform:none;box-shadow:none}.time-slot-card.disabled-by-days-off .time-slot-icon,.time-slot-card.disabled-by-days-off .time-slot-time,.time-slot-card.disabled-by-days-off .time-slot-duration{color:#6c757d}.disabled-indicator{font-size:.75rem;color:#dc3545;font-weight:500}.time-slot-icon{width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary)}.time-slot-time{font-size:1rem;font-weight:700;color:var(--gray-800);margin-bottom:.25rem}.time-slot-duration{font-size:.875rem;color:var(--gray-600)}.reservation-confirmation{animation:slideIn .3s ease}.reservation-summary{margin-bottom:2rem}.summary-card{background-color:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.summary-header{background-color:var(--gray-50);padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:.75rem}.summary-icon{color:var(--primary);font-size:1.25rem}.summary-header h5{margin:0;font-size:1rem;font-weight:700;color:var(--gray-800)}.summary-details{display:flex;flex-wrap:wrap;padding:.5rem;gap:.5rem}.summary-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;width:33%;height:fit-content}.summary-dates{display:flex;width:100%;flex-direction:row!important;gap:.5rem;justify-content:left}.dates{display:flex;flex-direction:column;gap:.5rem;width:100%}.summary-dates input{width:100%!important}.summary-label{font-size:.875rem;font-weight:600;color:var(--gray-700)}.summary-value{font-size:.875rem;font-weight:700;color:var(--gray-800)}.summary-value input{width:80px}.summary-value.highlight{color:var(--primary);font-weight:700}.court-selection{flex-direction:column;align-items:flex-start;gap:.5rem}.court-select{width:100%;padding:.5rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);background-color:#fff;font-size:.875rem;color:var(--gray-800)}.client-selection-container{background-color:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-md)}.client-selection-header{background-color:var(--gray-50);padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:.75rem}.client-icon{color:var(--primary);font-size:1.25rem}.client-selection-header h5{margin:0;font-size:1rem;font-weight:700;color:var(--gray-800)}.client-search-container{padding:1.25rem;position:relative}.search-with-icon{position:relative}.client-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--gray-500)}.client-search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);background-color:#fff;font-size:.875rem;color:var(--gray-800);box-shadow:var(--shadow-sm)}.client-autocomplete{position:relative;top:100%;left:0;right:0;background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);z-index:10;max-height:200px;overflow-y:auto;margin-top:.375rem}.client-option{padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--gray-100)}.add-client-option{display:flex;align-items:center;gap:.5rem;color:var(--primary);font-weight:600}.selected-client-card{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:var(--primary-light);border-radius:var(--radius-lg);margin-top:.75rem;border:1px solid var(--primary)}.selected-client-info{display:flex;align-items:center;gap:.5rem}.selected-client-name{font-weight:600;color:var(--primary)}.remove-client-btn{background:none;border:none;color:var(--gray-500);cursor:pointer;padding:.25rem;border-radius:50%;transition:all .2s ease}.remove-client-btn:hover{background-color:var(--gray-200);color:var(--gray-700)}.back-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-600);font-weight:600;cursor:pointer;transition:all .2s ease}.back-button:hover{background-color:var(--gray-100);border-color:var(--gray-300);color:var(--gray-800)}.save-reservation-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:var(--primary);border:none;border-radius:var(--radius-lg);color:#fff;font-weight:700;cursor:pointer;transition:all .2s ease}.save-reservation-btn:hover:not(.disabled){background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.save-reservation-btn.disabled{opacity:.5;cursor:not-allowed}.reservation-detail-buttons{padding:1.5rem;background-color:var(--gray-50);border-top:1px solid var(--gray-200);display:flex;gap:1rem;justify-content:flex-end;margin-top:auto}.finalize-btn:hover{background-color:var(--success-dark)}.finalize-btn.loading{background-color:#6b7280!important;cursor:not-allowed;pointer-events:none}.finalize-btn.loading:hover{background-color:#6b7280!important;transform:none}.finalize-btn .spinner-icon{margin-right:8px;color:#fff!important}.btn-cancel{background-color:var(--danger)}.btn-cancel:hover{background-color:var(--danger-dark)}.close-btn{background-color:var(--gray-600)}.close-btn:hover{background-color:var(--gray-700)}.button-icon{margin-right:.5rem}.estado-badge{padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase}.estado-pendiente{background-color:var(--warning-light);color:var(--warning-dark)}.estado-confirmada{background-color:var(--info-light);color:var(--info-dark)}.slot-view-controls{display:flex;margin:1rem}.view-mode-toggle{display:flex;gap:.5rem}.active{background:var(--primary)!important;color:#fff!important}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media(max-width:768px){.reservation-modal{max-width:95vw;margin:1rem}.reservation-type-options{flex-direction:row!important;align-items:center}.reservation-type-card{width:100%;max-width:300px}.date-cards-container{justify-content:flex-start}.weekday-cards{grid-template-columns:repeat(2,1fr)}.time-slots-grid{display:flex;flex-wrap:wrap}.time-slots-grid-public{display:flex;flex-direction:column;flex-wrap:nowrap}.reservation-detail-info{grid-template-columns:1fr}.courts-grid{overflow-x:auto}.court-column{min-width:200px}.summary-item{width:100%}}.sale-items-container{margin-top:1rem;border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.sale-items-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 40px;gap:1rem;padding:.75rem 1rem;background-color:var(--gray-100);font-weight:700;font-size:.875rem;color:var(--gray-700);border-bottom:1px solid var(--gray-200)}.sale-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 40px;gap:1rem;padding:.75rem 1rem;align-items:center;border-bottom:1px solid var(--gray-200);font-size:.875rem}.item-name{font-weight:600;color:var(--gray-800)}.item-price{color:var(--gray-700)}.quantity-input,.discount-input{width:100%;padding:.375rem .5rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem}.remove-item-btn{background:none;border:none;color:var(--danger);cursor:pointer;padding:.25rem;border-radius:50%;transition:all .2s ease}.remove-item-btn:hover{background-color:var(--danger-light)}.no-products-message{padding:2rem;text-align:center;color:var(--gray-600);font-style:italic}.payment-details{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.order-summary{background-color:var(--gray-50);padding:1rem;border-radius:var(--radius-lg);margin-bottom:1.5rem}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.summary-row:last-child{margin-bottom:0}.discount-row{padding:.5rem 0;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}.discount-input-container{display:flex;align-items:center;gap:.5rem}.global-discount-input{width:80px;padding:.25rem .5rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem}.reservations-discount .discount-input-container{display:flex;flex-direction:column;gap:4px;min-width:120px}.reservations-discount .discount-type-toggle{align-self:flex-start;min-width:60px}.reservations-discount .reservations-discount-input{width:100%;margin-top:4px}.total-row{font-size:1.125rem;padding-top:.5rem;border-top:2px solid var(--primary)}.total-value{color:var(--primary);font-size:1.25rem}.per-player-row{font-size:1rem;border-top:1px solid var(--gray-200);background-color:var(--gray-50);margin-top:.5rem;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:.75rem 1rem}.per-player-value{color:var(--success);font-size:1.125rem;font-weight:700}.payment-section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:var(--gray-800);margin-bottom:1rem}.payment-icon{color:var(--primary)}.payment-methods-list{margin-bottom:1.5rem}.payment-method-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);margin-bottom:.5rem}.payment-method-info{display:flex;justify-content:space-between;align-items:center;flex-grow:1}.payment-method-name{font-weight:600;color:var(--gray-800)}.remove-payment-btn{background:none;border:none;color:var(--danger);cursor:pointer;padding:.25rem;border-radius:50%;transition:all .2s ease;margin-left:1rem}.remove-payment-btn:hover{background-color:var(--danger-light)}.payment-total-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--gray-100);border-radius:var(--radius-lg);margin-bottom:.5rem;font-weight:700}.payment-total-label{color:var(--gray-700)}.no-payment-methods{padding:1rem;text-align:center;color:var(--gray-600);font-style:italic;background-color:var(--gray-50);border-radius:var(--radius-lg)}.add-payment-method{background-color:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1rem}.add-payment-inputs{display:flex;gap:1rem;margin-bottom:1rem}.payment-input-group{display:flex;flex-direction:column;gap:.5rem}.payment-input-group label{font-weight:600;color:var(--gray-700);font-size:.875rem}.payment-method-select,.payment-amount-input{padding:.75rem;border:1px solid var(--gray-200);border-radius:var(--radius-lg);font-size:.875rem;background-color:#fff}.add-payment-btn{width:fit-content;padding:.75rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:700;cursor:pointer;transition:all .2s ease;margin:0!important}.add-payment-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.sale-items-header,.sale-item{grid-template-columns:1fr;gap:.5rem}.add-payment-inputs{grid-template-columns:1fr}.payment-method-info{flex-direction:column;align-items:flex-start;gap:.25rem}}.calendar-item .reservation-client{display:flex;flex-wrap:wrap;text-wrap:wrap;font-weight:700;font-size:.8rem;text-overflow:ellipsis;margin-bottom:.25rem}.reservation-duration{font-size:.65rem;opacity:.8;font-weight:500}.reservation-type{font-size:.65rem;opacity:.8;text-transform:uppercase;font-weight:600;margin-top:0;margin-left:auto;background:#fffc;color:#000;padding:.125rem .25rem;border-radius:.25rem;text-align:center}.students-dropdown{position:relative!important;border:none!important}.students-dropdown-trigger{width:100%;padding:.75rem;border:1px solid var(--gray-200);border-radius:var(--radius-lg);font-size:.875rem;background-color:#fff;color:var(--gray-700);cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;text-align:left}.students-dropdown-trigger:hover{border-color:var(--primary);background-color:var(--gray-50)}.students-dropdown-trigger:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4faf441a}.students-dropdown-content{width:100%;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-top:.5rem;overflow:hidden;display:flex;flex-direction:column;z-index:1000;position:relative}.students-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--gray-200);background-color:var(--gray-50);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.students-dropdown-header h4{margin:0;font-size:.95rem;font-weight:600;color:var(--gray-800)}.students-dropdown-close{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:50%;color:var(--gray-500);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.students-dropdown-close:hover{background-color:var(--gray-200);color:var(--gray-700)}.students-dropdown-list{padding:.4em;max-height:none}.student-item{background:#fff;border:1px solid gainsboro;padding:.2rem;border-bottom:1px solid var(--gray-100);transition:all .2s ease;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.student-item:last-child{border-bottom:none}.student-item:hover{background-color:var(--gray-50)}.student-info{display:flex;flex-direction:column;justify-content:left;width:100%;gap:.5rem}.student-name{font-weight:600;font-size:.9rem;color:var(--gray-800);margin-bottom:.25rem}.student-details{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:left;width:100%}.student-status{padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.student-status.status-active,.student-status.status-activo{background-color:#dcfce7;color:#16a34a}.student-status.status-inactive,.student-status.status-inactivo{background-color:#fef2f2;color:#dc2626}.student-status.status-pending,.student-status.status-pendiente{background-color:#fef3c7;color:#d97706}.student-type{padding:.125rem .5rem;background-color:var(--primary-light);color:var(--primary);border-radius:12px;font-size:.75rem;font-weight:500}.student-classes{padding:.125rem .5rem;background-color:var(--gray-100);color:var(--gray-700);border-radius:12px;font-size:.75rem;font-weight:500}.student-discount{font-size:.8rem;color:var(--primary);font-weight:500;margin-top:.25rem}.student-contact{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.25rem}.student-email,.student-phone{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:var(--gray-600)}.student-email svg,.student-phone svg{color:var(--gray-500)}@media(max-width:768px){.students-dropdown-trigger{font-size:.8rem;padding:.6rem}.students-dropdown-header{padding:.6rem .8rem}.students-dropdown-header h4{font-size:.9rem}.student-item{padding:.75rem}.student-name{font-size:.85rem}.student-details{gap:.25rem}.student-contact{flex-direction:column;gap:.25rem}}.reservations-items-wrapper{overflow-x:auto!important;overflow-y:hidden!important;margin:1rem 0!important;border-radius:12px!important;border:2px solid #e2e8f0!important}.reservations-items-table{width:100%!important;min-width:750px!important;border-collapse:separate!important;border-spacing:0!important;background-color:#fff!important;table-layout:auto!important}.reservations-items-table thead th{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)!important;padding:.6rem .3rem!important;font-weight:700!important;font-size:.75rem!important;text-align:center!important;color:#374151!important;border-bottom:2px solid #cbd5e1!important;text-transform:uppercase!important;letter-spacing:.3px!important}.reservations-items-table tbody td{padding:.5rem .3rem!important;border-bottom:1px solid #f1f5f9!important;font-size:.8rem!important;color:#1f2937!important;text-align:center!important;vertical-align:middle!important}.reservations-items-table tbody tr:last-child td{border-bottom:none!important}.reservations-items-table tbody tr:hover{background-color:#f8fafc!important}.reservations-product-header,.reservations-product{width:150px!important;min-width:150px!important;max-width:180px!important;text-align:left!important;font-weight:600!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.reservations-price-header,.reservations-price{width:90px!important;min-width:90px!important;font-weight:500!important;color:#059669!important;font-size:.8rem!important}.reservations-qty-header,.reservations-qty,.reservations-discount-header,.reservations-discount{width:80px!important;min-width:80px!important;padding:.5rem .2rem!important}.reservations-total-header,.reservations-total{width:100px!important;min-width:100px!important;font-weight:700!important;color:#dc2626!important;font-size:.8rem!important}.reservations-actions-header,.reservations-actions{width:60px!important;min-width:60px!important}.reservations-qty-input,.reservations-discount-input{width:50px!important;height:28px!important;padding:.2rem!important;border:1px solid #d1d5db!important;border-radius:4px!important;font-size:.75rem!important;text-align:center!important;background-color:#fff!important;box-sizing:border-box!important;margin:0 auto!important;display:block!important;font-weight:500!important;transition:all .2s ease!important}.reservations-qty-input:focus,.reservations-discount-input:focus{outline:none!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important;background-color:#fefefe!important}.reservations-remove-btn{background:none!important;border:none!important;color:#dc2626!important;cursor:pointer!important;padding:.25rem!important;width:30px!important;height:30px!important;margin:0 auto!important;font-size:14px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important}.reservations-remove-btn:hover{background-color:#fee2e2!important;transform:scale(1.1)!important;color:#991b1b!important}.reservations-no-items-msg{padding:2rem!important;text-align:center!important;color:#6b7280!important;font-style:italic!important;font-size:.875rem!important}.modal-content .reservations-items-wrapper .reservations-items-table{border-collapse:separate!important;table-layout:auto!important;width:100%!important;min-width:750px!important}.modal-content .reservations-items-table .reservations-qty-input,.modal-content .reservations-items-table .reservations-discount-input{width:50px!important;height:28px!important;margin:0 auto!important;display:block!important;border:1px solid #d1d5db!important;border-radius:4px!important;text-align:center!important;background:#fff!important;font-size:.75rem!important;padding:.2rem!important;box-sizing:border-box!important}.modal-content .reservations-items-table .reservations-qty,.modal-content .reservations-items-table .reservations-discount{width:80px!important;min-width:80px!important;max-width:80px!important;padding:.5rem .2rem!important}.modal-content .reservations-items-table .reservations-product{width:150px!important;min-width:150px!important;max-width:180px!important;text-align:left!important}.modal-content .reservations-items-table .reservations-price{width:90px!important;min-width:90px!important}.modal-content .reservations-items-table .reservations-total{width:100px!important;min-width:100px!important}.modal-content .reservations-items-table .reservations-actions{width:60px!important;min-width:60px!important}.empty-slot-plus{font-size:1.2rem!important;font-weight:600!important;color:#6b7280!important;transition:all .2s ease!important;-webkit-user-select:none!important;user-select:none!important;pointer-events:none!important}.empty-slot:hover .empty-slot-plus{color:var(--accent)!important;transform:scale(1.1)!important}.empty-slot:active{transform:scale(.98)!important;background-color:rgba(var(--accent-rgb),.2)!important}.empty-slot[style*="pointer-events: none"]{cursor:not-allowed!important}.empty-slot[style*="pointer-events: none"]:hover{background-color:transparent!important;border:none!important;transform:none!important}.empty-slot[style*="pointer-events: none"] .empty-slot-plus{color:#d1d5db!important}.payment-mode-selection-container{background-color:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.payment-mode-header{background-color:var(--gray-50);padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:.75rem}.payment-mode-header h5{margin:0;font-size:1.1rem;font-weight:600;color:var(--gray-800)}.payment-mode-icon{color:var(--primary);font-size:1.25rem}.payment-mode-options{padding:1.5rem;display:flex;gap:1rem;justify-content:center}.payment-mode-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem;border-radius:var(--radius-xl);border:2px solid var(--gray-200);background-color:#fff;width:200px;cursor:pointer;transition:all .3s ease;text-align:center}.payment-mode-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.payment-mode-card.selected{border-color:var(--primary);background-color:var(--primary-light);box-shadow:var(--shadow-lg)}.payment-mode-card .payment-mode-icon{background-color:var(--gray-100);width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--gray-600);transition:all .3s ease}.payment-mode-card.selected .payment-mode-icon{background-color:var(--primary);color:#fff}.payment-mode-info h6{font-size:1rem;font-weight:600;color:var(--gray-800);margin:0 0 .5rem}.payment-mode-info p{font-size:.875rem;color:var(--gray-600);margin:0}@media(max-width:768px){.payment-mode-options{flex-direction:column;align-items:center}.payment-mode-card{width:100%;max-width:300px}}.category-search-btn{background:#fff;color:var(--primary);border:1px solid var(--gray-300);border-radius:var(--radius-lg);padding:.75rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:48px;height:100%;font-size:1.125rem;margin:.5rem 0;box-shadow:0 2px 4px #0000001a}.category-search-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.category-search-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.category-card{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-xl);padding:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:140px;justify-content:center;touch-action:manipulation;-webkit-user-select:none;user-select:none}.category-icon{background:var(--primary-light);color:var(--primary);width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:1.25rem;transition:all .3s ease}.category-info{flex:1;display:flex;flex-direction:column;justify-content:center}.category-name{font-size:1rem;font-weight:700;color:var(--gray-800);margin:0 0 .5rem;line-height:1.3}.category-count{font-size:.875rem;color:var(--gray-600);margin:0;font-weight:500}.category-products-container{display:flex;flex-direction:column;gap:1.5rem}.back-to-categories-btn{display:flex;align-items:center;gap:.5rem;background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:.75rem 1rem;cursor:pointer;transition:all .2s ease;font-weight:600;font-size:.875rem;align-self:flex-start}.product-card{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-xl);padding:1rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:160px;justify-content:space-between;touch-action:manipulation;-webkit-user-select:none;user-select:none;overflow:hidden}.product-image{width:3rem;height:3rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;background:var(--gray-100);overflow:hidden;flex-shrink:0}.product-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg)}.product-image svg{color:var(--gray-500);font-size:1.25rem}.product-description{font-size:.75rem;color:var(--gray-600);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.no-categories,.no-products,.no-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--gray-500);text-align:center;grid-column:1 / -1}.no-categories svg,.no-products svg,.no-content svg{margin-bottom:1rem;opacity:.5}.no-categories p,.no-products p,.no-content p{margin:0;font-size:1rem;font-weight:500}@media(max-width:768px){.category-modal{width:98vw;max-height:90vh}.category-modal-body{padding:1rem;max-height:70vh}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.category-card{padding:1rem;min-height:120px}.category-icon{width:2.5rem;height:2.5rem;font-size:1rem;margin-bottom:.75rem}.category-name{font-size:.875rem}.category-count{font-size:.75rem}.products-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.unified-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.product-card{padding:.75rem;min-height:140px}.product-image{width:2.5rem;height:2.5rem;margin-bottom:.5rem}.product-name{font-size:.8rem}.product-price{font-size:.875rem}.product-description{font-size:.7rem}}@media(max-width:480px){.categories-grid,.products-grid,.unified-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.category-card{padding:.75rem;min-height:100px}.product-card{padding:.5rem;min-height:120px}}.table-container{margin-top:1.5rem;background:#fff;border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-md);animation:fadeIn .4s ease}.reservations-table{width:100%;border-collapse:collapse;background:#fff}.reservations-table thead th{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);padding:.75rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e2e8f0;font-size:.875rem}.reservations-table tbody td{padding:.75rem;border-bottom:1px solid #f1f5f9;color:#4b5563;font-size:.875rem}.reservations-table tbody tr:hover{background-color:#f8fafc}.reservations-table tbody tr:last-child td{border-bottom:none}.virtualized-table-container{border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden;background:#fff}.virtualized-table-body{position:relative}.virtualized-list{border-top:1px solid var(--gray-200)}.virtualized-list .table-row{display:table;width:100%;table-layout:fixed;border-bottom:1px solid var(--gray-200);background:#fff;transition:background-color .2s ease}.virtualized-list .table-row:hover{background-color:#f8fafc}.virtualized-list .table-row td{display:table-cell;padding:.75rem;vertical-align:middle;border:none;border-right:1px solid var(--gray-200)}.virtualized-list .table-row td:last-child{border-right:none}.no-reservations-message{padding:2rem;text-align:center;color:var(--gray-500);font-style:italic}.calendar-virtualized-list{width:100%}.calendar-virtualized-list .calendar-item{height:55px;padding:.375rem .5rem;margin:1px 0;border-radius:var(--radius-sm);background:var(--primary-light);border:1px solid var(--primary);cursor:pointer;transition:all .2s ease;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.calendar-virtualized-list .calendar-item:hover{background:var(--primary);color:#fff;transform:scale(1.02)}.calendar-virtualized-list .calendar-item div{font-size:.6rem!important;line-height:1.2;margin:0}.calendar-virtualized-list .calendar-item div:first-child{font-weight:600;font-size:.65rem!important}.virtualized-table-container .reservations-table{margin-bottom:0}.virtualized-table-container .reservations-table thead{position:sticky;top:0;z-index:10;background:#fff}.virtualized-list::-webkit-scrollbar{width:8px}.virtualized-list::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}.virtualized-list::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.virtualized-list::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.virtualized-loading{display:flex;justify-content:center;align-items:center;height:200px;color:var(--gray-500)}.virtualized-loading:after{content:"";width:20px;height:20px;border:2px solid var(--gray-300);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-left:10px}.performance-indicator{margin-top:.5rem;text-align:right}.reservation-count{font-size:.875rem;color:var(--gray-600);font-weight:500}.optimization-badge{margin-left:.5rem;padding:.25rem .5rem;background:var(--success-light);color:var(--success-dark);border-radius:12px;font-size:.75rem;font-weight:600;border:1px solid var(--success)}.fallback-badge{margin-left:.5rem;padding:.25rem .5rem;background:var(--primary-light);color:var(--primary-dark);border-radius:12px;font-size:.75rem;font-weight:600;border:1px solid var(--primary)}@media(max-width:768px){.calendar-header{flex-direction:column;align-items:flex-start;gap:1rem}.calendar-header h3{font-size:1.125rem}.calendar-mode-toggle{margin-left:0;width:100%;justify-content:center}.reservations-table{font-size:.8rem}.reservations-table thead th,.reservations-table tbody td,.reservations-container{padding:.5rem}.btn-new-reservation{position:fixed;bottom:1rem;right:1rem;z-index:100;border-radius:50%;width:56px;height:56px;box-shadow:0 4px 12px #0000004d}.slot-view-controls{flex-direction:column;gap:.5rem;margin:.5rem}.view-mode-toggle{justify-content:center}.courts-columns-container{overflow-x:visible}.courts-grid-fixed{display:flex;width:100%}.courts-scrollable-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.courts-grid{overflow-x:visible}.court-column{min-width:200px}.time-column{position:sticky;left:0;background:#fff;z-index:11}.reservation-card-column,.empty-slot{min-height:44px;display:flex;align-items:center;justify-content:center}.empty-slot-plus{font-size:1.5rem;font-weight:700}}@media(hover:none)and (pointer:coarse){.reservation-card-column{min-height:48px;padding:.5rem}.empty-slot{min-height:48px}.view-toggle{min-height:44px;min-width:44px;padding:.75rem}.btn-new-reservation{width:64px;height:64px;font-size:1.5rem}.calendar-day-cell{min-height:80px}.time-slot-label{min-height:44px;display:flex;align-items:center;justify-content:center}}@media(max-width:480px){.reservations-container{padding:.25rem}.calendar-header h3{font-size:1.125rem}.calendar-mode-toggle{gap:.25rem}.view-toggle{font-size:.75rem;padding:.5rem}.court-column{min-width:150px}.reservation-card-column{font-size:.6rem;padding:.25rem}.empty-slot-plus{font-size:1.25rem}}.notification-container{position:fixed;top:20px;right:20px;z-index:5000;display:flex;flex-direction:column;gap:12px;max-width:400px;pointer-events:none}.notification{background:#fff;border:1px solid;border-radius:12px;box-shadow:0 10px 25px #00000026;overflow:hidden;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.notification-content{padding:16px;position:relative}.notification-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.notification-icon{flex-shrink:0;margin-top:2px}.notification-text{flex:1;min-width:0}.notification-title{font-size:14px;font-weight:700;margin:0 0 4px;line-height:1.3}.notification-message{font-size:13px;font-weight:500;margin:0;line-height:1.4;word-wrap:break-word}.notification-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.notification-close:hover{background:#0000001a;color:#374151}.notification-details{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.1)}.detail-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280;font-weight:500}.detail-icon{color:#9ca3af;flex-shrink:0}.notification-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0000001a;overflow:hidden}.progress-bar{height:100%;border-radius:0 0 12px 12px;transform-origin:left}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:4000;display:flex;align-items:center;justify-content:center;padding:20px}.loading-content{background:#fffffff2;border-radius:20px;padding:40px 32px;text-align:center;max-width:400px;width:100%;box-shadow:0 20px 40px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)}.loading-spinner{margin-bottom:24px;display:flex;justify-content:center}.spinner-icon{color:var(--primary);animation:spin 1s linear infinite}.loading-title{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 20px;line-height:1.3}.loading-details{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;padding:16px;background:#4faf441a;border-radius:12px;border:1px solid rgba(79,175,68,.2)}.loading-detail-item{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;color:#374151;font-weight:500}.loading-detail-item .detail-icon{color:var(--primary)}.loading-dots{display:flex;justify-content:center;gap:8px}.loading-dot{width:8px;height:8px;background:var(--primary);border-radius:50%}@media(max-width:768px){.notification-container{top:10px;right:10px;left:10px;max-width:none}.notification{border-radius:8px}.notification-content{padding:12px}.notification-title{font-size:13px}.notification-message{font-size:12px}.loading-content{padding:32px 24px;margin:20px}.loading-title{font-size:16px}.loading-details{padding:12px}.loading-detail-item{font-size:13px}}.time-picker-custom-container{display:flex;flex-direction:column;gap:.5rem;width:100%}.time-picker-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.25rem}.time-picker-label .label-icon{color:var(--primary);font-size:1rem}.mui-time-picker-container{width:100%;background-color:#fff;border-radius:var(--radius-lg);padding:.25rem}.mui-time-picker-field .MuiOutlinedInput-root{border-radius:var(--radius-lg)!important;border:1px solid var(--gray-200)!important;background-color:#fff!important;transition:all .2s ease!important}.mui-time-picker-field .MuiOutlinedInput-root:hover{border-color:var(--gray-300)!important}.mui-time-picker-field .MuiOutlinedInput-root.Mui-focused{border-color:var(--primary)!important;box-shadow:0 0 0 3px #4faf441a!important}.mui-time-picker-field .MuiOutlinedInput-root.Mui-error{border-color:var(--danger)!important}.mui-time-picker-field .MuiInputBase-input{padding:.75rem!important;font-size:.875rem!important;color:var(--gray-800)!important}.mui-time-picker-field .MuiInputLabel-root{color:var(--gray-500)!important;font-size:.875rem!important}.mui-time-picker-field .MuiInputLabel-root.Mui-focused{color:var(--primary)!important}.mui-time-picker-field .MuiFormHelperText-root{color:var(--danger)!important;font-size:.75rem!important;margin-top:.25rem!important}.MuiPickersPopper-root{z-index:6000!important}.MuiPickersPopper-paper{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--gray-200)!important;z-index:6000!important}.MuiPaper-root.MuiPickersLayout-root,.MuiModal-root .MuiPickersPopper-root,.MuiPickersModal-root{z-index:6000!important}.MuiPickersTimePickerToolbar-root{background:var(--primary-light)!important;color:var(--primary-dark)!important}.MuiPickersTimePickerToolbar-hourMinuteLabel,.MuiPickersTimePickerToolbar-ampmSelection{color:var(--primary-dark)!important}.MuiPickersClock-root{background:#fff!important}.MuiPickersClock-pin{background:var(--primary)!important}.MuiPickersClock-thumb{background:var(--primary)!important;border:2px solid white!important}.MuiPickersClock-pointer{background:var(--primary)!important}.time-picker-row{display:flex;gap:1rem;width:100%;align-items:flex-start}.time-picker-half{flex:1;min-width:0}@media(max-width:768px){.time-picker-custom-container{gap:.375rem}.time-picker-label{font-size:.8rem}.mui-time-picker-field .MuiInputBase-input{padding:.625rem!important;font-size:.8rem!important}.mui-time-picker-field .MuiInputLabel-root{font-size:.8rem!important}.time-picker-row{flex-direction:column;gap:.75rem}.time-picker-half{width:100%}}.modal-backdrop .modal-content{max-width:85vw!important;overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}@media(max-width:768px){.reservation-detail-modal{max-width:95vw!important;max-height:95vh!important;margin:2.5vh auto!important;border-radius:1rem}.reservation-detail-modal .modal-content{height:95vh;display:flex;flex-direction:column}.reservation-detail-header{padding:1rem;border-bottom:1px solid var(--gray-200);flex-shrink:0}.reservation-detail-header .modal-title{font-size:1.125rem;margin:0}.reservation-detail-body{flex:1;overflow-y:auto;padding:1rem;-webkit-overflow-scrolling:touch}.reservation-detail-info{display:flex!important;flex-direction:column!important;gap:1rem}.detail-card{width:100%!important;margin-bottom:0!important}.detail-card-header{padding:.75rem 1rem;background:var(--gray-50);border-radius:.5rem .5rem 0 0}.detail-card-header h4{font-size:1rem;margin:0}.detail-card-content{padding:1rem}.detail-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.detail-field label{font-size:.875rem;font-weight:600;color:var(--gray-600)}.detail-value{font-size:.875rem;color:var(--gray-900);word-break:break-word}.reservations-items-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0}.reservations-items-table{min-width:600px;font-size:.8rem}.reservations-items-table th,.reservations-items-table td{padding:.5rem .25rem;white-space:nowrap}.reservations-qty-input,.reservations-discount-input{width:60px;padding:.25rem;font-size:.8rem}.payment-details{display:flex;flex-direction:column;gap:1.5rem}.order-summary{background:var(--gray-50);border-radius:.75rem;padding:1rem;width:100%}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--gray-200)}.summary-row:last-child{border-bottom:none;font-weight:600;font-size:1.1rem}.summary-label{font-size:.875rem;color:var(--gray-600)}.summary-value{font-size:.875rem;font-weight:500;color:var(--gray-900)}.total-value{font-size:1.25rem!important;font-weight:700!important;color:var(--primary)!important}.per-player-value{color:var(--success)!important;font-weight:600!important}.payment-section{width:100%}.payment-section-title{font-size:1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.add-payment-inputs{display:flex;flex-direction:column;gap:1rem}.payment-input-group{display:flex;flex-direction:column;gap:.5rem}.payment-input-group label{font-size:.875rem;font-weight:600;color:var(--gray-700)}.payment-method-select,.payment-amount-input,.payment-input-group input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:.5rem;font-size:.875rem}.add-payment-btn{width:fit-content;padding:.75rem;background:var(--primary);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;margin:0!important}.add-payment-btn:hover:not(:disabled){background:var(--primary-dark)}.add-payment-btn:disabled{background:var(--gray-400);cursor:not-allowed}.payment-methods-list{margin-bottom:1rem}.payment-method-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border:1px solid var(--gray-200);border-radius:.5rem;margin-bottom:.5rem}.payment-method-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.payment-method-name{font-size:.875rem;font-weight:500}.payment-method-amount{font-size:.875rem;font-weight:600;color:var(--primary)}.remove-payment-btn{background:var(--danger);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer}.payment-total-row{display:flex;justify-content:space-between;padding:.5rem 0;border-top:1px solid var(--gray-200);font-weight:600}.payment-total-label{color:var(--gray-700)}.payment-total-amount{color:var(--primary)}.comments-section{width:100%}.comments-section label{display:block;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.comments-section textarea{width:100%!important;min-height:80px;padding:.75rem;border:1px solid var(--gray-300);border-radius:.5rem;font-size:.875rem;resize:vertical}.reservation-detail-buttons{display:flex;gap:.75rem;padding:1rem;border-top:1px solid var(--gray-200);flex-shrink:0}.reservation-detail-buttons button{padding:.875rem;border-radius:.5rem;font-size:.875rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px}.finalize-btn{background:var(--success);color:#fff;border:none}.finalize-btn:hover{background:var(--success-dark)}.btn-cancel{background:var(--danger);color:#fff;border:none}.btn-cancel:hover{background:var(--danger-dark)}.save-btn{background:var(--primary);color:#fff;border:none}.save-btn:hover:not(.disabled){background:var(--primary-dark)}.save-btn.disabled{background:var(--gray-400);cursor:not-allowed}.players-section{width:100%}.players-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.players-section-header h5{font-size:1rem;margin:0}.selected-players-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.selected-player-card{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border:1px solid var(--gray-200);border-radius:.5rem}.selected-player-info{display:flex;flex-direction:column;gap:.5rem;flex:1}.selected-player-name{font-size:.875rem;font-weight:500}.selected-player-comment{width:100%;padding:.5rem;border:1px solid var(--gray-300);border-radius:.25rem;font-size:.8rem}.remove-player-btn{background:var(--danger);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer}.player-search-container{width:100%}.player-search-title{font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.player-search-input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:.5rem;font-size:.875rem}.client-autocomplete{max-height:200px;overflow-y:auto;border:1px solid var(--gray-300);border-radius:.5rem;margin-top:.5rem}.client-option{padding:.75rem;border-bottom:1px solid var(--gray-200);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.client-option:hover{background:var(--gray-50)}.client-option:last-child{border-bottom:none}}@media(max-width:480px){.reservation-detail-modal{max-width:100vw!important;max-height:100vh!important;margin:0!important;border-radius:0}.reservation-detail-modal .modal-content{height:100vh}.reservation-detail-header,.reservation-detail-body,.detail-card-content,.order-summary{padding:.75rem}.reservations-items-table{min-width:500px;font-size:.75rem}.reservations-items-table th,.reservations-items-table td{padding:.375rem .125rem}.reservations-qty-input,.reservations-discount-input{width:50px;padding:.125rem;font-size:.75rem}.reservation-detail-buttons{padding:.75rem}.reservation-detail-buttons button{padding:.75rem;font-size:.8rem}}.monthly-price-selection-container{background-color:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.monthly-price-header{background-color:var(--gray-50);padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:.75rem}.monthly-price-header h5{margin:0;font-size:1.1rem;font-weight:600;color:var(--gray-800)}.monthly-price-icon{color:var(--primary);font-size:1.25rem}.monthly-price-options{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.monthly-price-card{display:flex;align-items:center;padding:1.5rem;border-radius:var(--radius-xl);border:2px solid var(--gray-200);background-color:#fff;cursor:pointer;transition:all .3s ease;gap:1rem}.monthly-price-card.elongated{width:100%}.monthly-price-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.monthly-price-card.selected{border-color:var(--primary);background-color:var(--primary-light);box-shadow:var(--shadow-lg)}.monthly-price-card .monthly-price-icon{background-color:var(--gray-100);width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-600);transition:all .3s ease;flex-shrink:0}.monthly-price-card.selected .monthly-price-icon{background-color:var(--primary);color:#fff}.monthly-price-info{flex:1;text-align:left}.monthly-price-info h6{font-size:1rem;font-weight:600;color:var(--gray-800);margin:0 0 .5rem}.monthly-price-info p{font-size:.875rem;color:var(--gray-600);margin:0}.price-preview{margin-top:.75rem;padding:1rem;background-color:#f8fafc;border-radius:var(--radius-md);border:1px solid #e2e8f0}.calculation-info{color:#475569}.calculation-info p{margin:.5rem 0;font-size:.875rem;line-height:1.4}.calculation-info p:first-child{margin-top:0}.calculation-info p:last-child{margin-bottom:0;font-style:italic;color:var(--gray-600)}.manual-price-input{margin-top:.75rem}.manual-price-input input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9rem;transition:border-color .3s ease}.manual-price-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}@media(max-width:768px){.monthly-price-options{padding:1rem}.monthly-price-card{flex-direction:column;text-align:center;gap:1rem}.monthly-price-info{text-align:center}}.cards-view-container .calendar-header{padding:.5rem 1rem;border-bottom:1px solid #e5e7eb;margin-bottom:1rem}.cards-view-container .calendar-header h3{font-size:1.25rem;color:#1f2937;margin:0}.toast-styled{position:fixed;bottom:1rem;right:1rem;color:#fff;padding:.75rem 1.25rem;border-radius:4px;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 6px #0003;z-index:6500}.toast-styled.success{background:#10b981}.toast-styled.error{background:#ef4444}.filter-button{background-color:#e0e0e0;color:#000;padding:10px 20px;margin-right:10px;border:none;border-radius:5px;cursor:pointer;transition:all .2s ease}.filter-button.active{background-color:var(--primary);color:#fff}.filter-button:hover{opacity:.9}.cards-container{display:grid;grid-template-columns:1fr;gap:1rem;padding:1rem}@media(min-width:768px){.cards-container{display:none}}.cards-container .reservation-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid var(--primary);position:relative;transition:box-shadow .2s ease}.cards-container .reservation-card:hover{box-shadow:0 4px 12px #00000026}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.card-title{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0;line-height:1.3}.card-info{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.info-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#6b7280}.info-icon{color:var(--primary);display:flex;align-items:center}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;color:#fff;text-align:center;white-space:nowrap}.status-badge.confirmed{background:#10b981}.status-badge.pending{background:#f59e0b}.status-badge.cancelled{background:#ef4444}.status-badge.completed{background:#10b981}.card-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f3f4f6}.action-button{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--primary);color:#fff}.action-button:hover{background:var(--primary-dark, #0056b3);transform:translateY(-1px)}.action-button:active{transform:translateY(0)}@media(max-width:768px){.data-table-container{display:none!important}.cards-view-container{display:block!important}.cards-view-container .search-container{margin-bottom:1rem}}.btn,.btn-secondary{min-width:120px;height:44px;padding:12px 16px;font-size:14px;font-weight:500;border-radius:6px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.btn{background-color:var(--primary, #007bff);color:#fff}.btn:hover{background-color:var(--primary-dark, #0056b3)}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn:disabled:hover,.btn-secondary:disabled:hover{background-color:inherit}.actions-dropdown-container{margin-left:auto;position:relative}.actions-dropdown-container button:hover{background-color:#f5f5f5!important}.actions-dropdown{position:absolute;top:100%;right:0;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:1000;min-width:140px;overflow:hidden}.actions-dropdown button{width:100%;padding:12px 16px;border:none;background:none;text-align:left;cursor:pointer;color:#dc3545;font-size:14px;display:flex;align-items:center;gap:8px;transition:background-color .2s ease}.actions-dropdown button:hover{background-color:#f8f9fa!important}.skeleton-loader{padding:20px;background:#fff;border-radius:8px}.skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.skeleton-title{height:32px;width:200px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:4px}.skeleton-actions{display:flex;gap:12px}.skeleton-button{height:36px;width:100px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:6px}.skeleton-calendar{display:flex;gap:16px}.skeleton-time-column{width:80px;flex-shrink:0}.skeleton-time-header{height:48px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:6px;margin-bottom:8px}.skeleton-time-slot{height:60px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:4px;margin-bottom:4px}.skeleton-courts-container{flex:1;overflow-x:auto}.skeleton-courts-grid{display:flex;gap:16px;min-width:max-content}.skeleton-court-column{width:200px;flex-shrink:0}.skeleton-court-header{height:48px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:6px;margin-bottom:8px}.skeleton-court-slot{height:60px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:4px;margin-bottom:4px}.skeleton-court-slot.highlight{height:120px}@media(max-width:768px){.skeleton-calendar{flex-direction:column}.skeleton-courts-grid{flex-direction:column;min-width:auto}.skeleton-court-column{width:100%}}.mobile-touch-selector-overlay *,.mobile-touch-selector *{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mobile-touch-selector input,.mobile-touch-selector textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.mobile-touch-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;align-items:flex-end;touch-action:manipulation}.mobile-touch-selector{background:#fff;border-radius:20px 20px 0 0;width:100%;max-height:90vh;height:90vh;overflow:hidden;box-shadow:0 -10px 30px #0000004d;touch-action:manipulation}.mobile-selector-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.header-center{display:flex;flex-direction:column;align-items:center;flex:1;margin:0 1rem}.mobile-selector-header h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem;text-align:center}.back-button,.close-button{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.back-button:hover,.close-button:hover{background:#6b72801a;color:#374151}.mobile-close-button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;color:#9ca3af;background:#f3f4f6cc;border:1px solid #e5e7eb}.mobile-close-button:hover{background:#f87171;color:#fff;border-color:#f87171}.back-button:hover{background:#f3f4f6}.step-indicator{display:flex;gap:.5rem}.step-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:background-color .2s}.step-dot.active{background:#3b82f6}.mobile-selector-content{padding:1.5rem;max-height:85vh;overflow-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.mobile-selector-content .time-grid,.mobile-selector-content .reservation-type-options,.mobile-selector-content .court-selection,.mobile-selector-content .weekday-cards{touch-action:pan-y}.time-selection{text-align:center}.selected-info{background:#eff6ff;color:#1d4ed8;padding:.75rem;border-radius:.5rem;margin-bottom:1rem;font-weight:500}.time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.75rem;margin-top:1rem}.time-slot-button{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .5rem;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.time-slot-button:hover{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.time-slot-button:active{transform:scale(.95)}.time-slot-button.selected-start{background:#10b981;color:#fff;border-color:#059669}.time-slot-button.selected-start:hover{background:#059669;border-color:#047857;color:#fff}.time-slot-button.selected-end{background:#f59e0b;color:#fff;border-color:#d97706}.time-slot-button.selected-end:hover{background:#d97706;border-color:#b45309;color:#fff}.court-selection{text-align:center}.court-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:1rem}.court-button{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:1rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.court-button:hover{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.court-button:active{transform:scale(.95)}.confirmation{text-align:center}.reservation-summary{background:#f9fafb;border-radius:1rem;padding:1.5rem;margin-bottom:2rem}.reservation-summary h4{margin:0 0 1rem;color:#111827;font-size:1.125rem;font-weight:600}.summary-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:#374151;font-size:.875rem}.summary-item:last-child{margin-bottom:0}.confirm-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background:#10b981;color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.confirm-button:hover{background:#059669}.confirm-button:active{transform:scale(.98)}.calendar-zoom-container{position:relative;width:100%;height:100%;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.calendar-zoom-container[style*="scale(1)"]{touch-action:pan-y!important}.calendar-zoom-container[style*="scale("]:not([style*="scale(1)"]){touch-action:none!important}.zoom-controls{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:2rem;padding:.5rem;box-shadow:0 4px 12px #00000026;z-index:100}.zoom-button{width:40px;height:40px;border:none;border-radius:50%;background:#3b82f6;color:#fff;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.zoom-button:hover:not(:disabled){background:#2563eb;transform:scale(1.05)}.zoom-button:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.zoom-level{min-width:50px;text-align:center;font-size:.875rem;font-weight:500;color:#374151}.zoom-reset{padding:.5rem 1rem;background:#6b7280;color:#fff;border:none;border-radius:1rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s}.zoom-reset:hover{background:#4b5563}.swipe-actions-container{position:relative;overflow:hidden;border-radius:.5rem}.swipe-actions-background{position:absolute;top:0;right:0;bottom:0;width:100%;display:flex;align-items:center;background:#f3f4f6}.swipe-action-button{position:absolute;top:0;bottom:0;width:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:#fff;border:none;cursor:pointer;transition:all .2s;font-size:.75rem;font-weight:500}.swipe-action-button:hover{transform:scale(1.05)}.swipe-action-button:active{transform:scale(.95)}.swipe-content{position:relative;background:#fff;z-index:1;transition:transform .3s ease}.swipe-indicator{position:absolute;top:50%;right:1rem;transform:translateY(-50%);z-index:2;pointer-events:none}.swipe-hint{background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:1rem;font-size:.75rem;font-weight:500;white-space:nowrap;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}@media(max-width:480px){.time-grid{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:.5rem}.court-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}.time-slot-button,.court-button{padding:.75rem .5rem;font-size:.8rem}.zoom-controls{bottom:1rem;right:1rem;padding:.25rem}.zoom-button{width:35px;height:35px;font-size:1rem}.zoom-level{min-width:40px;font-size:.8rem}}@media(hover:none)and (pointer:coarse){.time-slot-button,.court-button,.confirm-button{min-height:44px}.zoom-button{min-width:44px;min-height:44px}.swipe-action-button{min-width:60px;min-height:44px}}.mobile-move-button{display:none}@media(max-width:768px){.mobile-move-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:16px;width:100%}.mobile-move-button:hover{background:#0056b3}.mobile-move-button:disabled{background:#ccc;cursor:not-allowed}}.reservation-being-modified{position:relative;overflow:hidden}.reservation-being-modified:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,123,255,.3),transparent);animation:moveShimmer 2s infinite;z-index:1}@keyframes moveShimmer{0%{left:-100%}to{left:100%}}.modification-header{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;z-index:1000;box-shadow:0 2px 10px #0003;animation:slideDown .3s ease-out}.modification-header-content{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;max-width:100%;min-height:100px;max-height:150px}.modification-info *{font-size:10px}.modification-info h4{margin:0 0 8px;font-size:10px;font-weight:600;color:#fff}.current-location{font-size:10px;color:#ffffffe6;margin-bottom:8px;padding:4px 8px;background:#ffffff1a;border-radius:4px;border-left:3px solid rgba(255,255,255,.5)}.modification-instructions{display:flex;flex-direction:column;gap:4px}.instruction-row{display:flex;flex-direction:column;gap:2px}.instruction-text{font-size:14px;font-weight:500;color:#fffffff2}.instruction-hint{font-size:12px;color:#fffc;font-style:italic}.cancel-modification-btn-header{padding:8px 12px;background:#dc3545e6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease;flex-shrink:0}.cancel-modification-btn-header:hover{background:#dc3545}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.reservations-container{transition:padding-top .3s ease}.reservations-container:has(.modification-header){padding-top:150px}@supports not (selector(:has(*))){.reservations-container.modification-active{padding-top:150px}}@media(max-width:480px){.modification-header-content{flex-direction:column;gap:12px;padding:16px 12px}.instruction-row{text-align:center}.cancel-modification-btn-header{width:100%;padding:12px}.reservations-container:has(.modification-header){padding-top:160px}@supports not (selector(:has(*))){.reservations-container.modification-active{padding-top:160px}}}.time-slot-cell.modification-mode{cursor:pointer;position:relative}.time-slot-cell.modification-mode:hover{background:#007bff1a}.court-column.modification-mode .court-header{position:relative}.court-column.modification-mode .court-header:after{content:"🔄 Toca para cambiar";position:absolute;top:100%;left:0;right:0;background:#ffc107e6;color:#000;font-size:10px;padding:2px 4px;text-align:center;border-radius:0 0 4px 4px;font-weight:500}.court-column.current-court.modification-mode .court-header{background:#28a74533;border:2px solid #28a745}.court-column.current-court.modification-mode .court-header:after{content:"📍 Cancha actual";background:#28a745e6;color:#fff}.time-slot-cell.selected-start-time{background:#28a74533!important;border:2px solid #28a745!important}.time-slot-cell.selected-end-time{background:#dc354533!important;border:2px solid #dc3545!important}.time-slot-cell.modification-mode .reservation-card-column{pointer-events:auto;z-index:100}.filters-container{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.filters-container .filter-select{min-width:150px}.filters-container .view-toggle{margin-left:auto}@media(max-width:768px){.reservation-products-section{padding:0!important}.btn-new-reservation{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;padding:0;min-width:unset;box-shadow:0 4px 12px #007bff4d;transition:all .3s ease}.btn-new-reservation:hover{transform:scale(1.1);box-shadow:0 6px 16px #007bff66}.btn-new-reservation:before{content:"+";font-size:28px;line-height:1}.btn-new-reservation-text{display:none}.filters-container{gap:8px}.filters-container .filter-select{flex:1;min-width:120px;max-width:200px;font-size:14px}.filters-container .view-toggle{flex-shrink:0;font-size:14px;padding:8px 12px}.reservations-container .court-header{max-height:45px;overflow:hidden;font-size:12px;padding:4px 2px;display:flex;align-items:center;justify-content:center}}.type-selection{padding:1rem}.reservation-type-options{display:flex;flex-direction:row;gap:1rem}.reservation-type-card{display:flex;align-items:center;padding:1.5rem;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;background:#fff}.reservation-type-card.selected{border-color:var(--primary, #007bff);background:#f0f8ff}.reservation-type-card:hover{border-color:var(--primary, #007bff);transform:translateY(-2px);box-shadow:0 4px 12px #007bff26}.type-icon{margin-right:1rem;color:var(--primary, #007bff)}.type-info h5{font-size:1.125rem;font-weight:600;margin:0 0 .25rem;color:#111827}.type-info p{font-size:.875rem;color:#6b7280;margin:0}.date-selection{padding:1rem}.date-navigation{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.nav-button{background:#f3f4f6;border:none;border-radius:8px;padding:.75rem;color:#6b7280;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.nav-button:hover:not(:disabled){background:var(--primary, #007bff);color:#fff}.nav-button:disabled{opacity:.5;cursor:not-allowed}.date-cards-container{display:flex;gap:.5rem;flex:1;overflow-x:auto;overflow-y:visible;touch-action:pan-x;-webkit-overflow-scrolling:touch}.date-card{flex:1;min-width:60px;padding:1rem .5rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:center}.date-card.selected{border-color:var(--primary, #007bff);background:#f0f8ff}.date-card:hover{border-color:var(--primary, #007bff);transform:translateY(-2px)}.date-card-day{font-size:.75rem;color:#6b7280;font-weight:500;margin-bottom:.25rem}.date-card-date{font-size:1rem;font-weight:600;color:#111827}.weekday-selection{padding:1rem}.weekday-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.weekday-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease}.weekday-card.selected{border-color:var(--primary, #007bff);background:#f0f8ff}.weekday-card:hover{border-color:var(--primary, #007bff);transform:translateY(-2px)}.weekday-icon{color:var(--primary, #007bff);margin-bottom:.5rem}.weekday-name{font-size:.875rem;font-weight:600;color:#111827;text-align:center}.summary-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.client-selection{padding:1rem}.client-search-container{display:flex;flex-direction:column;gap:1rem}.search-with-icon{position:relative;display:flex;align-items:center}.client-search-icon{position:absolute;left:1rem;color:#6b7280;z-index:1}.client-search-input{width:100%;padding:1rem 1rem 1rem 3rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transition:border-color .2s ease}.client-search-input:focus{outline:none;border-color:var(--primary, #007bff)}.client-autocomplete{max-height:200px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.client-option{padding:1rem;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.client-option:hover{background:#f9fafb}.client-option:last-child{border-bottom:none}.add-client-option{display:flex;align-items:center;gap:.5rem;color:var(--primary, #007bff);font-weight:600}.add-client-icon{background:var(--primary, #007bff);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.875rem}.selected-client-card{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f0f8ff;border:2px solid var(--primary, #007bff);border-radius:12px}.selected-client-icon{color:var(--primary, #007bff)}.selected-client-name{font-weight:600;color:#111827}.remove-client-btn{background:none;border:none;color:#ef4444;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .2s ease}.remove-client-btn:hover{background:#ef44441a}.dates-selection{padding:1rem}.dates-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.date-input-group{display:flex;flex-direction:column;gap:.5rem}.date-input-group label{font-weight:600;color:#111827;font-size:.875rem}.date-input{padding:1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transition:border-color .2s ease}.date-input:focus{outline:none;border-color:var(--primary, #007bff)}.continue-button{width:100%;background:var(--primary, #007bff);color:#fff;border:none;padding:1rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.continue-button:hover{background:var(--primary-dark, #0056b3)}.start-date-selection,.end-date-selection{padding:1.5rem}.date-selection-info{margin-bottom:2rem;padding:1rem;background:#f8fafc;border-radius:12px;border-left:4px solid var(--primary, #007bff)}.date-selection-info .selected-info{display:flex;flex-direction:column;gap:.5rem}.date-selection-info .selected-info span{font-size:.875rem;color:#475569;font-weight:500}.date-input-container{margin-bottom:2rem}.date-input-group.enhanced{background:#fff;padding:1.5rem;border-radius:16px;border:2px solid #e2e8f0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .2s ease}.date-input-group.enhanced:hover{border-color:#cbd5e1;box-shadow:0 8px 25px -5px #0000001a,0 4px 6px -2px #0000000d}.date-input-group.enhanced:focus-within{border-color:var(--primary, #007bff);box-shadow:0 0 0 3px #3b82f61a,0 8px 25px -5px #0000001a}.date-input-group.enhanced label{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.75rem;display:block}.date-input.enhanced{width:100%;padding:.875rem 1rem;border:2px solid #f1f5f9;border-radius:10px;font-size:1rem;font-weight:500;color:#1e293b;background:#fafbfc;transition:all .2s ease;box-shadow:inset 0 1px 2px #0000000d}.date-input.enhanced:hover{border-color:#e2e8f0;background:#fff}.date-input.enhanced:focus{outline:none;border-color:var(--primary, #007bff);background:#fff;box-shadow:inset 0 1px 2px #0000000d,0 0 0 3px #3b82f61a}.dates-selection{padding:1.5rem}.dates-selection .dates-container{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.payment-mode-selection{padding:1rem}.payment-mode-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.payment-mode-card{display:flex;align-items:center;padding:1.5rem;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;background:#fff}.payment-mode-card.selected{border-color:var(--primary, #007bff);background:#f0f8ff}.payment-mode-card:hover{border-color:var(--primary, #007bff);transform:translateY(-2px)}.payment-mode-icon{margin-right:1rem;color:var(--primary, #007bff)}.payment-mode-info h6{font-size:1.125rem;font-weight:600;margin:0 0 .25rem;color:#111827}.payment-mode-info p{font-size:.875rem;color:#6b7280;margin:0}.monthly-price-options{display:flex;flex-direction:column;gap:1rem}.monthly-price-card{display:flex;align-items:flex-start;padding:1.5rem;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;background:#fff}.monthly-price-card.selected{border-color:var(--primary, #007bff);background:#f0f8ff}.monthly-price-card:hover{border-color:var(--primary, #007bff)}.monthly-price-icon{margin-right:1rem;color:var(--primary, #007bff);margin-top:.25rem}.monthly-price-info{flex:1}.monthly-price-info h6{font-size:1rem;font-weight:600;margin:0 0 .25rem;color:#111827}.monthly-price-info p{font-size:.875rem;color:#6b7280;margin:0 0 .75rem}.manual-price-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;margin-top:.5rem}.manual-price-input:focus{outline:none;border-color:var(--primary, #007bff)}.confirmation{padding:1rem;max-height:70vh;overflow-y:auto}.confirmation-header{text-align:center;margin-bottom:1.5rem}.confirmation-header h4{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.reservation-summary-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;margin-bottom:1rem}.summary-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.summary-icon{color:var(--primary, #007bff)}.summary-header h5{font-size:1rem;font-weight:600;color:#111827;margin:0}.summary-grid{display:grid;gap:.75rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.summary-item:last-child{border-bottom:none}.summary-label{font-weight:500;color:#6b7280;font-size:.875rem}.summary-value{font-weight:600;color:#111827;font-size:.875rem}.summary-value.highlight{color:var(--primary, #007bff)}.court-selection-card,.client-selection-card,.dates-card,.payment-mode-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1rem;margin-bottom:1rem}.court-selection-header,.client-selection-header,.dates-header,.payment-mode-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.court-icon,.client-icon,.dates-icon{color:var(--primary, #007bff)}.court-selection-header h5,.client-selection-header h5,.dates-header h5,.payment-mode-header h5{font-size:.875rem;font-weight:600;color:#111827;margin:0}.court-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.court-option{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;text-align:center}.court-option.selected{border-color:var(--primary, #007bff);background:#f0f8ff;color:var(--primary, #007bff)}.court-option:hover{border-color:var(--primary, #007bff)}.payment-mode-options-horizontal{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.payment-mode-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;text-align:center}.payment-mode-option.selected{border-color:var(--primary, #007bff);background:#f0f8ff;color:var(--primary, #007bff)}.payment-mode-option:hover{border-color:var(--primary, #007bff)}.monthly-price-options-horizontal{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.monthly-price-option{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.8rem;font-weight:500;text-align:center}.monthly-price-option.selected{border-color:var(--primary, #007bff);background:#f0f8ff;color:var(--primary, #007bff)}.monthly-price-option:hover{border-color:var(--primary, #007bff)}.manual-price-container{margin-top:.75rem}.manual-price-container .manual-price-input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem}.manual-price-container .manual-price-input:focus{border-color:var(--primary, #007bff)}.confirm-button{width:100%;background:linear-gradient(135deg,var(--primary, #007bff),#0056b3);color:#fff;border:none;padding:1rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px #007bff4d;margin-top:1.5rem}.confirm-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #007bff66}.confirm-button:active{transform:translateY(0)}.final-summary{padding:0}.summary-header-section{text-align:center}.success-icon{width:40px;height:40px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff;box-shadow:0 8px 24px #10b9814d}.summary-header-section h3{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 .5rem}.summary-header-section p{text-align:center;max-width:unset;color:#6b7280;font-size:1rem;margin:0}.summary-cards-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.summary-info-card,.summary-recurring-card{background:#fff;border:2px solid #f1f5f9;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000a}.summary-recurring-card{background:linear-gradient(135deg,#fef7ff,#f8faff);border-color:#e879f9}.info-item{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.info-item:last-child{border-bottom:none}.info-icon{width:40px;height:40px;background:#f0f9ff;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--primary, #007bff);flex-shrink:0}.summary-recurring-card .info-icon{background:#fdf4ff;color:#a855f7}.info-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.875rem;color:#6b7280;font-weight:500}.info-value{font-size:1rem;color:#111827;font-weight:600}.info-value.highlight{color:var(--primary, #007bff)}.final-confirm-button{width:100%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:0;border-radius:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #10b9814d;overflow:hidden}.final-confirm-button:hover{transform:translateY(-3px);box-shadow:0 12px 32px #10b98166}.final-confirm-button:active{transform:translateY(-1px)}.button-content{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem}.button-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.button-title{font-size:1.125rem;font-weight:700;margin-bottom:.25rem}.button-subtitle{font-size:.875rem;opacity:.9;font-weight:500}.court-selection{padding:1rem}.court-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.court-button{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:600;color:#374151}.court-button.selected{border-color:var(--primary, #007bff);background:#f0f8ff;color:var(--primary, #007bff)}.court-button:hover{border-color:var(--primary, #007bff);transform:translateY(-2px);box-shadow:0 4px 12px #007bff26}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;padding:1rem}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:80vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.modal-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:#111827;margin:0}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:1.5rem;max-height:50vh;overflow-y:auto}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.form-input,.form-select{width:100%;padding:.875rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;color:#111827;background:#fff;transition:border-color .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary, #007bff);box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled,.form-select:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.modal-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.btn-cancel{flex:1;padding:.875rem 1.25rem;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.btn-cancel:hover:not(:disabled){background:#e5e7eb}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-save{flex:2;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.25rem;background:var(--primary, #007bff);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save:hover:not(:disabled){background:var(--primary-dark, #0056b3);transform:translateY(-1px)}.btn-save:disabled{opacity:.5;cursor:not-allowed;transform:none}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.phone-code-select{flex:0 0 auto;min-width:140px;padding:.875rem .5rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem;background:#fff;transition:all .2s ease;display:flex;align-items:center;min-height:44px;color:#111827}.phone-code-select:focus{outline:none;border-color:var(--primary, #007bff);box-shadow:0 0 0 3px #3b82f61a}.phone-code-select:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.phone-number-input{flex:1;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#fff;display:flex;align-items:center;min-height:44px;color:#111827}.phone-number-input:focus{outline:none;border-color:var(--primary, #007bff);box-shadow:0 0 0 3px #3b82f61a}.phone-number-input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}@media(max-width:480px){.modal-backdrop{padding:.5rem}.modal-content{max-height:90vh}.modal-header,.modal-body,.modal-footer{padding:1rem}.modal-title{font-size:1.125rem}.form-input,.form-select{padding:.75rem;font-size:.875rem}.phone-code-select{min-width:120px;padding:.75rem .5rem;font-size:.8rem}.phone-number-input{padding:.75rem;font-size:.875rem}.btn-cancel,.btn-save{padding:.75rem 1rem;font-size:.8rem}}.sales-container{padding:1rem}.discount-input-container{display:flex;flex-direction:column;gap:4px}.discount-type-toggle{display:flex;border-radius:6px;overflow:hidden;border:1px solid #e0e0e0;background:#f8f9fa}.discount-type-btn{flex:1;padding:4px 8px;border:none;background:transparent;color:#666;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:24px;display:flex;align-items:center;justify-content:center}.discount-type-btn:hover{background:#e9ecef;color:#495057}.discount-type-btn.active{background:var(--primary);color:#fff;box-shadow:0 1px 3px #0000001a}.discount-type-btn:first-child{border-right:1px solid #e0e0e0}.global-discount-wrapper{display:flex;flex-direction:column;gap:4px;width:100%}.global-discount-wrapper .discount-type-toggle{align-self:flex-start;min-width:60px}.global-discount-wrapper .global-discount-input{width:100%;margin-top:4px}.sales-new-discount .discount-input-container,.sales-edit-discount .discount-input-container{min-width:120px}.sales-new-discount .sales-discount-input,.sales-edit-discount .sales-discount-input{width:100%;margin-top:4px}.tip-display-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin:8px 0;gap:8px}.tip-label{font-weight:600;color:#495057;font-size:14px}.tip-amount{font-weight:600;color:#28a745;font-size:14px}.remove-tip-btn-small{background:#dc3545;color:#fff;border:none;border-radius:4px;padding:4px 6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background-color .2s ease}.remove-tip-btn-small:hover{background:#c82333}.payment-total-with-tip-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;margin:8px 0;font-weight:600;color:#1976d2}.payment-total-with-tip-row .payment-total-label{font-size:14px}.payment-total-with-tip-row .payment-total-amount{font-size:16px;font-weight:700}.reservation-detail-modal,.sale-detail-modal{width:100%;max-width:85vw!important;height:fit-content;max-height:95vh;margin:0 auto;background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden;padding:0}.reservation-detail-modal .modal-body{max-height:80vh!important}.reservation-detail-header{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:1rem;border-bottom:none}.reservation-detail-header .modal-title{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;color:#fff}.reservation-icon{font-size:1.75rem}.reservation-detail-body{padding:0}.reservation-content{padding:1rem}.reservation-detail-buttons{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;background-color:var(--gray-50);border-top:1px solid var(--gray-200)}.client-autocomplete{top:100%;left:0;right:0;background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);z-index:10;max-height:200px;overflow-y:auto;margin-top:.375rem}.client-option{padding:.75rem 1rem;cursor:pointer;transition:background-color .2s}.client-option:hover{background-color:var(--gray-100)}.add-client-option{display:flex;align-items:center;gap:.625rem;color:var(--primary);font-weight:600}.add-client-icon{font-size:1rem}.selected-client-card{display:flex;align-items:center;justify-content:space-between;background-color:var(--primary-light);border:1px solid rgba(79,70,229,.3);border-radius:var(--radius-lg);padding:.75rem 1rem;margin-top:1rem}.selected-client-info{display:flex;align-items:center;gap:.75rem}.selected-client-icon{color:var(--primary)}.selected-client-name{font-weight:600;color:var(--gray-800)}.remove-client-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;transition:color .2s}.remove-client-btn:hover{color:var(--danger)}.new-sale-modal{max-width:50vw!important}.product-search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);background-color:#fff;font-size:.875rem;color:var(--gray-800);box-shadow:var(--shadow-sm);position:relative}.product-autocomplete-list{position:relative;top:100%;left:0;right:0;background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);z-index:10;max-height:200px;overflow-y:auto;margin-top:.375rem}.product-autocomplete-item{display:flex;justify-content:space-between;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--gray-100)}.product-autocomplete-item:last-child{border-bottom:none}.product-autocomplete-item:hover{background-color:var(--gray-100)}.product-name{font-size:.9rem;font-weight:600;color:var(--gray-800);margin:0 0 .5rem;line-height:1.2}.product-price{font-size:.875rem;font-weight:700;color:var(--success);margin:0 0 .5rem}.sale-items-container{background-color:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);overflow-x:auto;overflow-y:hidden;box-shadow:var(--shadow-md);margin-bottom:1.5rem}.no-products-message{padding:2rem;text-align:center;color:var(--gray-500);font-style:italic}.sale-items-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr .5fr;gap:.5rem;padding:.75rem 1rem;background-color:var(--gray-100);border-bottom:1px solid var(--gray-200);font-size:.75rem;font-weight:700;color:var(--gray-700);text-transform:uppercase}.sale-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr .5fr;gap:.5rem;padding:.875rem 1rem;align-items:center;border-bottom:1px solid var(--gray-100);transition:var(--transition)}.sales-detail-items-wrapper{overflow-x:auto!important;overflow-y:hidden!important;margin:1rem 0!important;border-radius:12px!important;border:2px solid #e2e8f0!important}.sales-detail-items-table{width:100%!important;min-width:600px!important;border-collapse:separate!important;border-spacing:0!important;background-color:#fff!important;table-layout:auto!important}.sales-detail-items-table thead th{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)!important;padding:1rem .75rem!important;font-weight:700!important;font-size:.875rem!important;text-align:center!important;color:#374151!important;border-bottom:2px solid #cbd5e1!important;text-transform:uppercase!important;letter-spacing:.5px!important}.sales-detail-items-table tbody td{padding:.875rem .75rem!important;border-bottom:1px solid #f1f5f9!important;font-size:.875rem!important;color:#1f2937!important;text-align:center!important}.sales-detail-items-table tbody tr:last-child td{border-bottom:none!important}.sales-detail-items-table tbody tr:hover{background-color:#f8fafc!important}.sales-detail-product-header,.sales-detail-product{width:200px!important;min-width:200px!important;max-width:250px!important;text-align:left!important;font-weight:600!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.sales-detail-price-header,.sales-detail-price{width:120px!important;min-width:120px!important;font-weight:500!important;color:#059669!important}.sales-detail-qty-header,.sales-detail-qty{width:100px!important;min-width:100px!important;font-weight:500!important}.sales-detail-total-header,.sales-detail-total{width:130px!important;min-width:130px!important;font-weight:700!important;color:#dc2626!important}.sale-detail-modal .sale-items-table .item-name-header,.sale-detail-modal .sale-items-table .item-name{width:40%!important;max-width:200px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.sale-detail-modal .sale-items-table .item-price-header,.sale-detail-modal .sale-items-table .item-price{width:20%!important;text-align:center!important;white-space:nowrap!important}.sale-detail-modal .sale-items-table .item-quantity-header,.sale-detail-modal .sale-items-table .item-quantity{width:15%!important;text-align:center!important;white-space:nowrap!important}.sale-detail-modal .sale-items-table .item-total-header,.sale-detail-modal .sale-items-table .item-total{width:25%!important;text-align:center!important;white-space:nowrap!important;font-weight:600!important;color:var(--primary)!important}.sale-detail-modal .sale-items-table .item-name{font-weight:500!important;color:var(--gray-800)!important}.sales-new-items-wrapper,.sales-edit-items-wrapper{overflow-x:auto!important;overflow-y:hidden!important;margin:1rem 0!important;border-radius:12px!important;border:2px solid #e2e8f0!important}.sales-new-items-table,.sales-edit-items-table{width:100%!important;min-width:750px!important;border-collapse:separate!important;border-spacing:0!important;background-color:#fff!important;table-layout:auto!important}.sales-new-items-table thead th,.sales-edit-items-table thead th{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)!important;padding:.6rem .3rem!important;font-weight:700!important;font-size:.75rem!important;text-align:center!important;color:#374151!important;border-bottom:2px solid #cbd5e1!important;text-transform:uppercase!important;letter-spacing:.3px!important}.sales-new-items-table tbody td,.sales-edit-items-table tbody td{padding:.5rem .3rem!important;border-bottom:1px solid #f1f5f9!important;font-size:.8rem!important;color:#1f2937!important;text-align:center!important;vertical-align:middle!important}.sales-new-items-table tbody tr:last-child td,.sales-edit-items-table tbody tr:last-child td{border-bottom:none!important}.sales-new-items-table tbody tr:hover,.sales-edit-items-table tbody tr:hover{background-color:#f8fafc!important}.sales-new-product-header,.sales-new-product,.sales-edit-product-header,.sales-edit-product{width:150px!important;min-width:150px!important;max-width:180px!important;text-align:left!important;font-weight:600!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.sales-new-price-header,.sales-new-price,.sales-edit-price-header,.sales-edit-price{width:90px!important;min-width:90px!important;font-weight:500!important;color:#059669!important;font-size:.8rem!important}.sales-new-qty-header,.sales-new-qty,.sales-edit-qty-header,.sales-edit-qty,.sales-new-discount-header,.sales-new-discount,.sales-edit-discount-header,.sales-edit-discount{width:80px!important;min-width:80px!important;padding:.5rem .2rem!important}.sales-new-total-header,.sales-new-total,.sales-edit-total-header,.sales-edit-total{width:100px!important;min-width:100px!important;font-weight:700!important;color:#dc2626!important;font-size:.8rem!important}.sales-new-actions-header,.sales-new-actions,.sales-edit-actions-header,.sales-edit-actions{width:60px!important;min-width:60px!important}.sales-qty-input,.sales-discount-input{width:50px!important;height:28px!important;padding:.2rem!important;border:1px solid #d1d5db!important;border-radius:4px!important;font-size:.75rem!important;text-align:center!important;background-color:#fff!important;box-sizing:border-box!important;margin:0 auto!important;display:block!important;font-weight:500!important;transition:all .2s ease!important}.sales-qty-input:focus,.sales-discount-input:focus{outline:none!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important;background-color:#fefefe!important}.sales-remove-btn{background:none!important;border:none!important;color:#dc2626!important;cursor:pointer!important;padding:.25rem!important;width:30px!important;height:30px!important;margin:0 auto!important;font-size:14px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important}.sales-remove-btn:hover{background-color:#fee2e2!important;transform:scale(1.1)!important;color:#991b1b!important}.modal-content .sales-new-items-wrapper .sales-new-items-table,.modal-content .sales-edit-items-wrapper .sales-edit-items-table{border-collapse:separate!important;table-layout:auto!important;width:100%!important;min-width:750px!important}.modal-content .sales-new-items-table .sales-qty-input,.modal-content .sales-new-items-table .sales-discount-input,.modal-content .sales-edit-items-table .sales-qty-input,.modal-content .sales-edit-items-table .sales-discount-input{width:50px!important;height:28px!important;margin:0 auto!important;display:block!important;border:1px solid #d1d5db!important;border-radius:4px!important;text-align:center!important;background:#fff!important;font-size:.75rem!important;padding:.2rem!important;box-sizing:border-box!important}.modal-content .sales-new-items-table .sales-new-qty,.modal-content .sales-new-items-table .sales-new-discount,.modal-content .sales-edit-items-table .sales-edit-qty,.modal-content .sales-edit-items-table .sales-edit-discount{width:80px!important;min-width:80px!important;max-width:80px!important;padding:.5rem .2rem!important}.modal-content .sales-new-items-table .sales-new-product,.modal-content .sales-edit-items-table .sales-edit-product{width:150px!important;min-width:150px!important;max-width:180px!important;text-align:left!important}.modal-content .sales-new-items-table .sales-new-price,.modal-content .sales-edit-items-table .sales-edit-price{width:90px!important;min-width:90px!important}.modal-content .sales-new-items-table .sales-new-total,.modal-content .sales-edit-items-table .sales-edit-total{width:100px!important;min-width:100px!important}.modal-content .sales-new-items-table .sales-new-actions,.modal-content .sales-edit-items-table .sales-edit-actions{width:60px!important;min-width:60px!important}.new-sale-table thead th,.edit-sale-table thead th{background-color:var(--gray-100)!important;padding:.75rem .5rem!important;font-size:.75rem!important;font-weight:700!important;color:var(--gray-700)!important;text-transform:uppercase!important;border-bottom:1px solid var(--gray-200)!important;text-align:left!important}.new-sale-table .item-price-header,.new-sale-table .item-quantity-header,.new-sale-table .item-discount-header,.new-sale-table .item-total-header,.new-sale-table .item-actions-header,.edit-sale-table .item-price-header,.edit-sale-table .item-quantity-header,.edit-sale-table .item-discount-header,.edit-sale-table .item-total-header,.edit-sale-table .item-actions-header{text-align:center!important}.new-sale-table tbody tr,.edit-sale-table tbody tr{border-bottom:1px solid var(--gray-100)!important;transition:var(--transition)!important}.new-sale-table tbody tr td:first-child,.edit-sale-table tbody tr td:first-child{border-left:none!important}.new-sale-table tbody tr td:last-child,.edit-sale-table tbody tr td:last-child{border-right:none!important}.new-sale-table tbody tr:hover,.edit-sale-table tbody tr:hover{background-color:var(--gray-50)!important}.new-sale-table tbody tr:last-child,.edit-sale-table tbody tr:last-child{border-bottom:none!important}.new-sale-table tbody td,.edit-sale-table tbody td{padding:.75rem .5rem!important;vertical-align:middle!important}.new-sale-table .item-quantity,.new-sale-table .item-discount,.edit-sale-table .item-quantity,.edit-sale-table .item-discount{padding:.5rem .25rem!important}.new-sale-table .item-name-header,.new-sale-table .item-name,.edit-sale-table .item-name-header,.edit-sale-table .item-name{width:auto!important;min-width:200px!important;max-width:300px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.new-sale-table .item-price-header,.new-sale-table .item-price,.edit-sale-table .item-price-header,.edit-sale-table .item-price{width:120px!important;min-width:120px!important;text-align:center!important;white-space:nowrap!important}.new-sale-table .item-quantity-header,.new-sale-table .item-quantity,.edit-sale-table .item-quantity-header,.edit-sale-table .item-quantity,.new-sale-table .item-discount-header,.new-sale-table .item-discount,.edit-sale-table .item-discount-header,.edit-sale-table .item-discount{width:100px!important;min-width:100px!important;text-align:center!important}.new-sale-table .item-total-header,.new-sale-table .item-total,.edit-sale-table .item-total-header,.edit-sale-table .item-total{width:130px!important;min-width:130px!important;text-align:center!important;white-space:nowrap!important;font-weight:600!important;color:var(--primary)!important}.new-sale-table .item-actions-header,.new-sale-table .item-actions,.edit-sale-table .item-actions-header,.edit-sale-table .item-actions{width:80px!important;min-width:80px!important;text-align:center!important}.new-sale-table .item-name,.edit-sale-table .item-name{font-weight:500!important;color:var(--gray-800)!important}.new-sale-table .quantity-input,.new-sale-table .discount-input,.edit-sale-table .quantity-input,.edit-sale-table .discount-input{width:60px!important;height:32px!important;padding:.25rem!important;border:1px solid var(--gray-300)!important;border-radius:4px!important;font-size:.875rem!important;text-align:center!important;background-color:#fff!important;box-sizing:border-box!important;margin:0 auto!important;display:block!important}.new-sale-table .quantity-input:focus,.new-sale-table .discount-input:focus,.edit-sale-table .quantity-input:focus,.edit-sale-table .discount-input:focus{outline:none!important;border-color:var(--primary)!important;box-shadow:0 0 0 2px #3b82f61a!important}.new-sale-table .remove-item-btn,.edit-sale-table .remove-item-btn{background:none!important;border:none!important;color:var(--danger)!important;cursor:pointer!important;padding:.5rem!important;border-radius:50%!important;transition:all .2s ease!important;display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;margin:0 auto!important}.new-sale-table .remove-item-btn:hover,.edit-sale-table .remove-item-btn:hover{background-color:var(--danger-light)!important;transform:scale(1.1)!important}.new-sale-table .remove-item-btn .remove-icon,.edit-sale-table .remove-item-btn .remove-icon{font-size:16px!important}.sale-item:last-child{border-bottom:none}.sale-item:hover{background-color:var(--gray-50)}.item-name{font-weight:500;color:var(--gray-800)}.item-price{font-weight:600;color:var(--gray-700)}.item-quantity,.item-discount{display:flex;align-items:center;justify-content:center}.status-filter{width:fit-content;margin:0!important;padding:0}.quantity-input,.discount-input{width:100%;max-width:4rem;padding:.5rem;border-radius:var(--radius-md);border:1px solid var(--gray-300);text-align:center;font-weight:500}.item-total{font-weight:700;color:var(--primary)}.remove-item-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;transition:color .2s;display:flex;align-items:center;justify-content:center}.remove-item-btn:hover{color:var(--danger)}.remove-icon{font-size:1.125rem}.sale-form-container{margin-bottom:1.5rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.form-row .form-group{position:relative;display:flex;flex-direction:column;gap:.5rem;min-width:0}.form-group.flex-1{flex:1;min-width:200px}.form-group.flex-2{flex:2;min-width:250px}.sale-type-info{margin-top:.5rem;padding:.75rem;background-color:var(--gray-50);border-radius:var(--radius-md);border-left:4px solid var(--primary)}.form-row .form-input{width:100%;box-sizing:border-box}.form-row .client-autocomplete,.form-row .product-autocomplete-list{position:absolute;top:100%;left:0;right:0;z-index:1000}.payment-method-item{display:flex;align-items:center;justify-content:space-between;background-color:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:.75rem}.payment-method-info{display:flex;align-items:center;gap:1rem}.payment-method-name{font-weight:500;color:var(--gray-800)}.payment-method-amount{font-weight:700;color:var(--primary)}.payment-amount-input{width:100px;padding:.5rem;border-radius:var(--radius-md);border:1px solid var(--gray-300);text-align:right;font-weight:500}.remove-payment-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;transition:color .2s}.remove-payment-btn:hover{color:var(--danger)}.payment-total-row{display:flex;justify-content:space-between;padding:.5rem 0;border-top:1px solid var(--gray-200);font-weight:600;color:var(--gray-800)}.payment-total-label{color:var(--gray-600)}.payment-total-amount{color:var(--primary)}.add-payment-method{margin-top:1rem}.payment-input-group{display:flex;flex-direction:column;gap:.25rem;margin-right:1rem}.payment-method-select{padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--gray-300);background-color:#fff;font-size:.875rem;color:var(--gray-800)}.add-payment-btn{width:fit-content;background-color:var(--primary);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s;margin:1rem}.add-payment-btn:disabled{background-color:var(--gray-300);cursor:not-allowed}.add-payment-btn:hover:not(:disabled){background-color:var(--primary-dark)}.order-summary{background-color:#fff;border-radius:var(--radius-xl);padding:1.25rem;border:1px solid var(--gray-200);box-shadow:var(--shadow-md)}.summary-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--gray-100)}.discount-row{background-color:var(--gray-50);padding:.75rem;border-radius:var(--radius-lg);margin:.5rem 0}.total-row{margin-top:.5rem;padding-top:1rem;border-top:2px solid var(--gray-200)}.summary-value.discount-input-container{display:flex;align-items:center}.global-discount-input{width:4rem;padding:.5rem;border-radius:var(--radius-md);border:1px solid var(--gray-300);text-align:center;font-weight:500}.tip-row{background-color:var(--success-light);padding:.75rem;border-radius:var(--radius-lg);margin:.5rem 0;border-left:4px solid var(--success)}.tip-display-container{display:flex;align-items:center;gap:.75rem;justify-content:flex-end}.tip-amount-display{font-weight:700;color:var(--success);font-size:1rem}.remove-tip-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--danger);background:var(--danger-light);color:var(--danger);cursor:pointer;transition:all .2s ease;font-size:.875rem;padding:0}.remove-tip-btn:hover{background:var(--danger);color:#fff;transform:scale(1.1)}.tip-add-row{display:flex;justify-content:center;margin:.5rem 0}.add-tip-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--success-light);border:2px solid var(--success);border-radius:var(--radius-lg);color:var(--success);font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.875rem}.add-tip-button:hover{background:var(--success);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.add-tip-button:active{transform:translateY(0)}.tip-input-row{padding:.75rem;border-radius:var(--radius-lg);margin:.5rem 0;justify-content:left;gap:.5rem}.tip-input-container{display:flex;align-items:center;gap:.75rem;justify-content:flex-end}.tip-input-group{display:flex;align-items:center;border:1px solid gainsboro;border-radius:var(--radius-md);padding:0;gap:.25rem}.tip-currency-symbol{font-weight:600;color:var(--info);font-size:.875rem}.tip-amount-input{border:none;outline:none;background:transparent;font-weight:600;color:var(--gray-800);font-size:.875rem;width:4rem;text-align:right}.tip-amount-input::placeholder{color:var(--gray-400)}.tip-input-actions{display:flex;align-items:center;gap:.5rem}.tip-confirm-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--success);background:var(--success-light);color:var(--success);cursor:pointer;transition:all .2s ease;font-size:.875rem;padding:0}.tip-confirm-btn:hover{background:var(--success);color:#fff;transform:scale(1.1)}.tip-cancel-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--gray-400);background:var(--gray-100);color:var(--gray-600);cursor:pointer;transition:all .2s ease;font-size:.875rem;padding:0}.tip-cancel-btn:hover{background:red;color:#fff;transform:scale(1.1)}.tabs{display:flex;gap:1rem;margin-bottom:1.5rem;border-bottom:1px solid var(--gray-200)}.tab{padding:.75rem 1rem;cursor:pointer;font-weight:600;color:var(--gray-600);border-bottom:2px solid transparent;transition:all .2s ease}.tab:hover{color:var(--primary)}.tab.active{border-color:var(--primary);background:none!important;color:#000!important}@media screen and (max-width:768px){.payment-details{grid-template-columns:1fr}.sale-items-header,.sale-item{grid-template-columns:2fr 1fr 1fr 1fr}.form-row{flex-direction:column;gap:.75rem}.form-group.flex-1,.form-group.flex-2{min-width:100%;flex:none}.sale-detail-modal .sale-items-table,.new-sale-table,.edit-sale-table{font-size:.85rem!important}.sale-detail-modal .sale-items-table thead th,.sale-detail-modal .sale-items-table tbody td,.new-sale-table thead th,.new-sale-table tbody td,.edit-sale-table thead th,.edit-sale-table tbody td{padding:.5rem .75rem!important}.item-discount-header,.item-discount{display:none}}@media screen and (max-width:640px){.sale-items-header,.sale-item{grid-template-columns:2fr 1fr 1fr}.sale-detail-modal .sale-items-table,.new-sale-table,.edit-sale-table{font-size:.8rem!important}.sale-detail-modal .sale-items-table thead th,.sale-detail-modal .sale-items-table tbody td,.new-sale-table thead th,.new-sale-table tbody td,.edit-sale-table thead th,.edit-sale-table tbody td{padding:.5rem!important}.sale-detail-modal .sale-items-table .item-name-header,.sale-detail-modal .sale-items-table .item-name{width:50%!important;max-width:150px!important}.sale-detail-modal .sale-items-table .item-price-header,.sale-detail-modal .sale-items-table .item-price{width:20%!important}.sale-detail-modal .sale-items-table .item-quantity-header,.sale-detail-modal .sale-items-table .item-quantity{width:10%!important}.sale-detail-modal .sale-items-table .item-total-header,.sale-detail-modal .sale-items-table .item-total{width:20%!important}.new-sale-table .item-name-header,.new-sale-table .item-name,.edit-sale-table .item-name-header,.edit-sale-table .item-name{width:30%!important;max-width:120px!important}.new-sale-table .item-price-header,.new-sale-table .item-price,.edit-sale-table .item-price-header,.edit-sale-table .item-price{width:15%!important}.new-sale-table .item-quantity-header,.new-sale-table .item-quantity,.edit-sale-table .item-quantity-header,.edit-sale-table .item-quantity,.new-sale-table .item-discount-header,.new-sale-table .item-discount,.edit-sale-table .item-discount-header,.edit-sale-table .item-discount{width:10%!important}.new-sale-table .item-total-header,.new-sale-table .item-total,.edit-sale-table .item-total-header,.edit-sale-table .item-total{width:20%!important}.new-sale-table .item-actions-header,.new-sale-table .item-actions,.edit-sale-table .item-actions-header,.edit-sale-table .item-actions{width:15%!important}.item-quantity-header,.item-quantity{display:none}}@media(min-width:768px){.view-toggle-container{display:none}}.product-search-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.category-search-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-lg);border:1px solid var(--primary);background:var(--primary-light);color:var(--primary);cursor:pointer;transition:all .2s ease;font-size:.875rem}.category-search-btn:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.category-modal{max-width:900px;width:95vw;max-height:80vh}.category-modal-body{padding:1.5rem;max-height:60vh;overflow-y:auto}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:.5rem 0}.category-card{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-xl);padding:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:140px;box-shadow:var(--shadow-sm)}.category-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.category-card:active{transform:translateY(-2px);background:var(--primary-light)}.category-icon{background:var(--primary-light);color:var(--primary);width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:1rem;transition:all .3s ease}.category-card:hover .category-icon{background:var(--primary);color:#fff;transform:scale(1.1)}.category-info{flex:1;display:flex;flex-direction:column;justify-content:center;width:100%}.category-name{font-size:1rem;font-weight:600;color:var(--gray-800);margin:0 0 .5rem}.category-count{font-size:.875rem;color:var(--gray-500);margin:0}.back-to-categories-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius-lg);color:var(--gray-700);cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem;font-size:.875rem;font-weight:500}.back-to-categories-btn:hover{background:var(--gray-200);color:var(--gray-800)}.no-categories,.no-products{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--gray-500);text-align:center}.no-categories svg,.no-products svg{margin-bottom:1rem;opacity:.5}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;padding:.5rem 0}.product-card{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-xl);padding:1rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:160px;box-shadow:var(--shadow-sm)}.product-card:hover{border-color:var(--success);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.product-card:active{transform:translateY(-2px);background:var(--success-light)}.product-image{width:3rem;height:3rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;overflow:hidden;background:var(--gray-100)}.product-image img{width:100%;height:100%;object-fit:cover}.product-image svg{font-size:1.25rem;color:var(--gray-400)}.product-card:hover .product-image svg{color:var(--success)}.product-info{flex:1;display:flex;flex-direction:column;justify-content:center;width:100%}.product-description{font-size:.8rem;color:var(--gray-600);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.unified-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:.5rem 0}.no-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--gray-500);text-align:center}.no-content svg{margin-bottom:1rem;opacity:.5}@media(max-width:768px){.category-modal{width:98vw;max-height:90vh}.category-modal-body{padding:1rem;max-height:70vh}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.category-card{padding:1rem;min-height:120px}.category-icon{width:2.5rem;height:2.5rem;font-size:1rem;margin-bottom:.75rem}.category-name{font-size:.9rem}.category-count{font-size:.8rem}.products-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.product-card{padding:.75rem;min-height:140px}.product-image{width:2.5rem;height:2.5rem;margin-bottom:.5rem}.product-name{font-size:.85rem}.product-price{font-size:.8rem}.product-description{font-size:.75rem}.unified-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media(max-width:480px){.categories-grid,.products-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.category-card{padding:.75rem;min-height:100px}.product-card{padding:.5rem;min-height:120px}.unified-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.table-row.pending-sale{background-color:#fff3cd;border-left:4px solid #ffc107}.table-row.pending-sale:hover{background-color:#fff1b8}.table-row.pending-sale.even{background-color:#fef7dc}.table-row.pending-sale.odd{background-color:#fff3cd}.client-card.pending-sale{background-color:#fff3cd;border-left:4px solid #ffc107;box-shadow:0 2px 8px #ffc10733}.client-card.pending-sale:hover{background-color:#fff1b8;box-shadow:0 4px 12px #ffc1074d}.pending-filter-indicator{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.875rem;font-weight:500;box-shadow:0 1px 3px #ffc10733}.pending-filter-indicator svg{font-size:1rem;color:#ffc107}@media(max-width:768px){.pending-filter-indicator{font-size:.8rem;padding:.4rem .6rem}.pending-filter-indicator svg{font-size:.9rem}}.status-badge{display:flex!important;flex-direction:row!important;width:fit-content!important;align-items:center;gap:.35em;padding:.25em .7em;border-radius:1em;font-size:.95em;font-weight:600;letter-spacing:.01em;box-shadow:0 1px 3px #0000000a;border:none;min-width:90px;justify-content:center}.status-badge.pendiente{background:#fff3cd;color:#856404;border:1px solid #ffe082}.status-badge.completada{background:#d4edda;color:#155724;border:1px solid #a5d6a7}.status-badge.eliminada,.status-badge.deleted{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status-badge.otros{background:#e2e3e5;color:#383d41;border:1px solid #d6d8db}.status-badge svg{margin-right:.25em;font-size:1em}@media(max-width:768px){.status-badge{font-size:.85em;min-width:70px;padding:.2em .5em}}.comments-container{display:flex;flex-direction:column;gap:12px}.comments-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding:8px;background:#f8f9fa;border-radius:8px}.comment-item{display:flex;align-items:flex-start;justify-content:space-between;padding:12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;gap:12px;transition:all .2s ease}.comment-item:hover{border-color:var(--primary);box-shadow:0 2px 4px #0000000d}.comment-text{flex:1;margin:0;font-size:14px;line-height:1.5;color:#333;word-wrap:break-word}.comment-actions{display:flex;gap:6px;flex-shrink:0}.btn-edit-comment,.btn-delete-comment{padding:6px 8px;border:none;background:transparent;cursor:pointer;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:16px}.btn-edit-comment{color:#4faf44}.btn-edit-comment:hover{background:#e8f5e7;color:#357a38}.btn-delete-comment{color:#dc3545}.btn-delete-comment:hover{background:#ffe5e8;color:#a71d2a}.comment-edit-form{width:100%;display:flex;flex-direction:column;gap:8px}.comment-textarea{width:100%;padding:10px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .2s ease}.comment-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4faf441a}.comment-edit-buttons{display:flex;gap:8px;justify-content:flex-end}.btn-save-comment,.btn-cancel-comment{padding:6px 12px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.btn-save-comment{background:var(--primary);color:#fff}.btn-save-comment:hover{background:#357a38;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-cancel-comment{background:#f8f9fa;color:#666}.btn-cancel-comment:hover{background:#e9ecef}.no-comments{text-align:center;padding:20px;color:#999;font-size:14px;font-style:italic}.add-comment-form{display:flex;flex-direction:column;gap:10px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.add-comment-btn{align-self:flex-end;padding:10px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.add-comment-btn:hover:not(:disabled){background:#357a38;transform:translateY(-1px);box-shadow:0 2px 8px #4faf444d}.add-comment-btn:disabled{opacity:.5;cursor:not-allowed}.comment-item-readonly{padding:12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px}.comment-item-readonly .comment-text{margin:0;font-size:14px;line-height:1.5;color:#333}@media(max-width:768px){.comment-item{flex-direction:column;gap:8px}.comment-actions{width:100%;justify-content:flex-end}.comments-list{max-height:200px}.comment-textarea{font-size:16px}}.btn-save.finalize-btn.disabled{opacity:.6;cursor:not-allowed;background:#9e9e9e}.btn-save.finalize-btn.disabled:hover{transform:none;box-shadow:none;background:#9e9e9e}.spinner-icon{animation:spin 1s linear infinite}.sales-skeleton-loader{width:100%}.sales-skeleton-loader .skeleton-table-wrapper{width:100%;overflow-x:auto;background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001f}.sales-skeleton-loader .skeleton-table{width:100%;border-collapse:collapse}.sales-skeleton-loader .skeleton-table th{background:#f8fafc;padding:.75rem;text-align:left;font-weight:600;font-size:.875rem;color:#374151;border-bottom:1px solid #e5e7eb}.sales-skeleton-loader .skeleton-table td{padding:.75rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}.sales-skeleton-loader .skeleton-cell{height:1rem;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:4px}.sales-skeleton-loader .skeleton-cell.description{width:200px}.sales-skeleton-loader .skeleton-cell.price{width:80px}.sales-skeleton-loader .skeleton-cell.date{width:90px}.sales-skeleton-loader .skeleton-cell.hour{width:60px}.sales-skeleton-loader .skeleton-cell.status{width:100px}.sales-skeleton-loader .skeleton-cell.actions{width:80px}@media screen and (max-width:1024px){.modal-backdrop{align-items:flex-end!important}.sale-detail-modal{border-radius:20px 20px 0 0!important;width:100%!important;max-width:100%!important;max-height:90vh!important;height:90vh!important;margin:0!important}.sale-detail-modal .modal-header,.sale-detail-modal .reservation-detail-header{background:#f9fafb!important;border-bottom:1px solid #e5e7eb!important;padding:1rem!important;border-radius:20px 20px 0 0!important}.sale-detail-modal .modal-header .modal-title,.sale-detail-modal .reservation-detail-header .modal-title{color:#111827!important;font-weight:600!important}.sale-detail-modal .modal-header .modal-close,.sale-detail-modal .reservation-detail-header .modal-close{background:#f3f4f6cc!important;border:1px solid #e5e7eb!important;color:#9ca3af!important;border-radius:.5rem!important;min-width:44px!important;min-height:44px!important}.sale-detail-modal .modal-header .modal-close:hover,.sale-detail-modal .reservation-detail-header .modal-close:hover{background:#f87171!important;color:#fff!important;border-color:#f87171!important}.sale-detail-modal .modal-body,.sale-detail-modal .reservation-detail-body{padding:1.5rem!important;max-height:85vh!important;overflow-y:auto!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;flex:1!important;background:#fff!important}.sale-detail-modal .modal-buttons,.sale-detail-modal .modal-footer,.sale-detail-modal .reservation-detail-buttons{flex-shrink:0!important;position:sticky!important;bottom:0!important;background:#fff!important;padding:1rem 1.5rem!important;border-top:1px solid #e5e7eb!important;z-index:10!important;display:flex!important;gap:1rem!important}.sale-detail-modal *{-webkit-tap-highlight-color:transparent!important;-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important}.sale-detail-modal input,.sale-detail-modal textarea,.sale-detail-modal select{-webkit-user-select:text!important;user-select:text!important}.sale-detail-modal .detail-card{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:.75rem!important;padding:1rem!important;margin-bottom:1rem!important}.sale-detail-modal .modal-buttons button,.sale-detail-modal .reservation-detail-buttons button{flex:1!important;min-height:48px!important;padding:1rem!important;border-radius:.75rem!important;font-weight:600!important;font-size:1rem!important;transition:all .2s!important}}@media screen and (max-width:768px){.modal-content.sale-detail-modal{max-height:93vh!important;height:93vh!important}.sale-detail-modal .modal-body,.sale-detail-modal .reservation-detail-body{padding:1rem!important}.sale-detail-modal .detail-field{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.375rem!important;padding:.625rem 0!important}.sale-detail-modal .detail-field label{font-size:.75rem!important;font-weight:700!important;color:#6b7280!important;text-transform:uppercase!important;letter-spacing:.05em!important}.sale-detail-modal .detail-value{font-size:.9375rem!important;color:#111827!important;font-weight:500!important;word-break:break-word!important}}@media screen and (max-width:480px){.modal-content.sale-detail-modal{max-height:95vh!important;height:95vh!important}.sale-detail-modal .modal-buttons,.sale-detail-modal .reservation-detail-buttons{flex-direction:column!important;padding:1rem!important}.sale-detail-modal .modal-buttons button,.sale-detail-modal .reservation-detail-buttons button{width:100%!important}}:root{--primary: #059669;--primary-dark: #047857;--primary-light: #d1fae5;--primary-ultra-light: #ecfdf5;--secondary: #1976d2;--danger: #f44336;--success: #10b981;--text-primary: #111827;--text-secondary: #6b7280;--text-light: #9ca3af;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--border: #e5e7eb;--border-light: #f3f4f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 24px;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1)}.schedule-reservation-container{min-height:100vh;background-size:cover;background-position:center;background-attachment:fixed;background-repeat:no-repeat;padding:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}.schedule-reservation-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#000000bf,#000000a6);z-index:0}.schedule-reservation-wrapper{max-width:1100px;margin:0 auto;position:relative;z-index:1}.schedule-club-header{background:#fffffff7;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border-radius:var(--radius-2xl);padding:20px;margin-bottom:20px;box-shadow:0 8px 32px #0000001f,0 0 0 1px #ffffff80;border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:space-between;gap:16px}.schedule-club-info{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.schedule-club-logo{width:70px;height:70px;border-radius:var(--radius-xl);object-fit:cover;border:3px solid var(--primary);box-shadow:0 4px 12px #05966940,0 0 0 4px #0596691a;transition:var(--transition);flex-shrink:0}.schedule-club-logo:hover{transform:scale(1.05) rotate(2deg);box-shadow:0 8px 20px #05966959,0 0 0 4px #05966926}.schedule-club-details{flex:1;min-width:0}.schedule-club-name{font-size:24px;font-weight:900;color:var(--text-primary);margin:0 0 4px;line-height:1.2;letter-spacing:-.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-club-address{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary);margin:0;font-weight:500}.schedule-club-address svg{width:16px;height:16px;flex-shrink:0;color:var(--primary)}.schedule-club-meta{display:flex;flex-direction:column;gap:6px;margin-top:8px}.schedule-club-meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.schedule-meta-icon{width:14px;height:14px;flex-shrink:0;color:var(--primary)}.schedule-meta-label{font-weight:700;color:var(--text-primary)}.schedule-meta-value{font-weight:500;color:var(--text-secondary)}.schedule-social-buttons{display:flex;gap:10px;align-items:center;flex-shrink:0}.schedule-social-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;text-decoration:none;transition:var(--transition);box-shadow:0 4px 12px #00000026}.schedule-social-instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.schedule-social-instagram:hover{box-shadow:0 6px 20px #dc274366;border-color:#ffffff80}.schedule-social-whatsapp{background:linear-gradient(135deg,#25d366,#128c7e)}.schedule-social-whatsapp:hover{box-shadow:0 6px 20px #25d36666;border-color:#ffffff80}.schedule-reservation-card{background:#fffffff7;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border-radius:var(--radius-2xl);padding:28px;box-shadow:0 20px 60px #00000026,0 0 0 1px #ffffff80;border:1px solid rgba(255,255,255,.4)}.schedule-progress-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding:20px;background:linear-gradient(135deg,var(--primary-ultra-light) 0%,rgba(255,255,255,.5) 100%);border-radius:var(--radius-xl);border:1px solid var(--primary-light);position:relative;overflow:hidden}.schedule-progress-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%)}.schedule-progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.4;transition:var(--transition);flex:1;position:relative}.schedule-progress-step.active{background:none!important;opacity:1}.schedule-step-circle{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--text-light);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;transition:var(--transition);border:2px solid var(--border);box-shadow:var(--shadow-sm);position:relative;z-index:2}.schedule-progress-step.active .schedule-step-circle{background:#fff;color:var(--primary);border-color:var(--primary);border-width:3px;box-shadow:0 4px 12px #05966966,0 0 0 4px #0596691a;transform:scale(1.1)}.schedule-step-label{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.schedule-progress-step.active .schedule-step-label{color:var(--primary)}.schedule-progress-line{flex:1;height:2px;background:var(--border);margin:0 -8px;position:relative;top:-20px;z-index:1}.schedule-section{margin-bottom:28px}.schedule-section:last-child{margin-bottom:0}.schedule-section-title{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:var(--text-primary);margin:0 0 20px;letter-spacing:-.3px}.schedule-section-icon{color:var(--primary);width:22px;height:22px}.schedule-date-selector{display:flex;align-items:center;gap:10px}.schedule-nav-btn{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:2px solid var(--border);background:#fff;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast);font-size:18px;box-shadow:var(--shadow-sm)}.schedule-nav-btn:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.1);box-shadow:0 4px 12px #0596694d}.schedule-nav-btn:active:not(:disabled){transform:scale(.95)}.schedule-nav-btn:disabled{opacity:.3;cursor:not-allowed;background:var(--bg-tertiary)}.schedule-date-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:8px;overflow-x:auto;padding:2px;scrollbar-width:none}.schedule-date-grid::-webkit-scrollbar{display:none}.schedule-date-card{background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);padding:14px 8px;cursor:pointer;transition:var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:4px;min-width:65px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.schedule-date-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%);transform:scaleX(0);transition:var(--transition-fast)}.schedule-date-card:hover{background:var(--primary-ultra-light);border-color:var(--primary);transform:translateY(-4px);box-shadow:0 8px 20px #05966933}.schedule-date-card:hover:before{transform:scaleX(1)}.schedule-date-card.selected{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-color:var(--primary-dark);color:#fff;transform:translateY(-4px);box-shadow:0 10px 25px #05966959}.schedule-date-card.selected:before{transform:scaleX(0);background:#fff}.schedule-date-day{font-size:11px;font-weight:700;text-transform:uppercase;opacity:.7;letter-spacing:.5px}.schedule-date-card.selected .schedule-date-day{opacity:.95}.schedule-date-number{font-size:20px;font-weight:900;line-height:1}.schedule-slots-grid-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}.schedule-slot-card-compact{background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);padding:20px 12px;cursor:pointer;transition:var(--transition-fast);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);min-height:80px}.schedule-slot-card-compact:hover{border-color:var(--primary);background:var(--primary-ultra-light);transform:translateY(-4px) scale(1.03);box-shadow:0 12px 28px #0596694d}.schedule-slot-card-compact:hover:before{transform:scaleX(1)}.schedule-slot-card-compact:hover:after{opacity:1;transform:scale(1) rotate(0)}.schedule-slot-card-compact:active{transform:translateY(-2px) scale(1.01)}.schedule-slot-time-display{display:flex;flex-direction:column;align-items:center;gap:4px}.schedule-slot-time-main{font-size:22px;font-weight:900;color:var(--text-primary);line-height:1;letter-spacing:-.5px}.schedule-slot-time-label{font-size:10px;color:var(--text-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.schedule-duration-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.schedule-duration-card{background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);padding:16px;cursor:pointer;transition:var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.schedule-duration-card:hover{background:var(--primary-ultra-light);border-color:var(--primary);transform:translateY(-3px);box-shadow:0 8px 20px #05966940}.schedule-duration-card:hover:before{transform:scaleX(1)}.schedule-duration-time{font-size:24px;font-weight:900;color:var(--text-primary);line-height:1;letter-spacing:-.5px}.schedule-duration-label{font-size:11px;color:var(--text-secondary);font-weight:600;letter-spacing:.3px}.schedule-selected-time-info,.schedule-selected-slot-info{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,var(--primary-ultra-light) 0%,rgba(255,255,255,.9) 100%);border-radius:var(--radius-lg);margin-bottom:20px;font-size:13px;font-weight:700;color:var(--primary-dark);border:1px solid var(--primary-light);box-shadow:var(--shadow-sm)}.schedule-info-icon{width:18px;height:18px;color:var(--primary);flex-shrink:0}.schedule-courts-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.schedule-court-card-compact{background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);padding:18px;cursor:pointer;transition:var(--transition-fast);text-align:left;display:flex;flex-direction:column;gap:12px;position:relative;box-shadow:var(--shadow-sm);overflow:hidden}.schedule-court-card-compact:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);transform:scaleY(0);transition:var(--transition-fast)}.schedule-court-card-compact:hover{background:var(--primary-ultra-light);border-color:var(--primary);transform:translate(6px);box-shadow:0 8px 24px #05966933}.schedule-court-card-compact:hover:before{transform:scaleY(1)}.schedule-court-card-compact.selected{background:linear-gradient(135deg,var(--primary-ultra-light) 0%,rgba(209,250,229,.5) 100%);border-color:var(--primary);border-width:2px;box-shadow:0 8px 32px #05966940;transform:translate(6px)}.schedule-court-card-compact.selected:before{transform:scaleY(1);width:5px}.schedule-court-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-court-name{font-size:17px;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.2px}.schedule-court-selected-badge{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 8px #0596694d;animation:bounceIn .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bounceIn{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}.schedule-court-selected-badge svg{width:16px;height:16px}.schedule-court-description{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.schedule-court-features{display:flex;flex-wrap:wrap;gap:6px}.schedule-court-feature{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-primary);font-weight:600;background:var(--bg-secondary);padding:5px 10px;border-radius:8px;border:1px solid var(--border)}.schedule-court-feature svg{color:var(--primary);flex-shrink:0}.schedule-loading-state{text-align:center;padding:60px 20px}.schedule-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;margin:0 auto 16px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.schedule-loading-state p{font-size:15px;color:var(--text-secondary)}.schedule-empty-state{text-align:center;padding:60px 20px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:2px dashed var(--border)}.schedule-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.schedule-empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.schedule-empty-state p{font-size:14px;color:var(--text-secondary);margin:0}.schedule-summary-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px;margin-bottom:24px}.schedule-summary-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-light)}.schedule-summary-row:last-child{border-bottom:none}.schedule-summary-label{font-size:14px;font-weight:500;color:var(--text-secondary)}.schedule-summary-value{font-size:15px;font-weight:600;color:var(--text-primary)}.schedule-summary-value.highlight{color:var(--primary);font-size:16px}.schedule-form-section{margin-bottom:24px}.schedule-form-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 20px}.schedule-form-group{margin-bottom:16px}.schedule-form-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.schedule-label-icon{width:16px;height:16px;color:var(--primary)}.schedule-form-input{width:100%;padding:14px 16px;border:2px solid var(--border);border-radius:var(--radius-md);font-size:15px;color:var(--text-primary);background:var(--bg-primary);transition:var(--transition);font-family:inherit}.schedule-form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.schedule-form-input.error{border-color:#ef4444;background:#ef44440d}.schedule-form-input.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.schedule-form-input::placeholder{color:var(--text-light)}.schedule-input-error{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;color:#ef4444;font-weight:500}.schedule-confirm-btn{width:100%;padding:18px 28px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-lg);font-size:17px;font-weight:800;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 8px 24px #05966959;margin-bottom:12px;letter-spacing:.3px;text-transform:uppercase}.schedule-confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-dark) 0%,#036146 100%);transform:translateY(-3px);box-shadow:0 12px 32px #05966973}.schedule-confirm-btn:active:not(:disabled){transform:translateY(0)}.schedule-confirm-btn:disabled{background:var(--text-light);cursor:not-allowed;opacity:.5;box-shadow:none}.schedule-confirm-btn svg{width:20px;height:20px}.schedule-back-btn{width:fit-content;padding:12px 20px;background:transparent;color:var(--text-secondary);border:2px solid var(--border);border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px;margin-top:1rem}.schedule-back-btn:hover{background:var(--bg-secondary);border-color:var(--text-secondary);color:var(--text-primary)}.schedule-back-btn svg{width:18px;height:18px}.schedule-toast{position:fixed;bottom:24px;right:24px;min-width:300px;max-width:420px;padding:16px 20px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:12px;z-index:10000;font-weight:500}.schedule-toast.success{background:var(--primary);color:#fff}.schedule-toast.error{background:var(--danger);color:#fff}.schedule-toast svg{flex-shrink:0}@media(max-width:640px){.schedule-reservation-container{padding:12px}.schedule-club-header{padding:16px;margin-bottom:16px;flex-direction:column;align-items:flex-start}.schedule-club-info{width:100%}.schedule-social-buttons{width:100%;justify-content:flex-end;gap:8px}.schedule-social-btn{width:40px;height:40px;font-size:18px}.schedule-club-logo{width:60px;height:60px}.schedule-club-name{font-size:20px}.schedule-club-address{font-size:13px}.schedule-club-meta{gap:5px;margin-top:6px}.schedule-club-meta-item{font-size:11px;gap:5px}.schedule-meta-icon{width:12px;height:12px}.schedule-reservation-card{padding:20px}.schedule-progress-bar{padding:16px;margin-bottom:24px}.schedule-step-circle{width:38px;height:38px;font-size:14px}.schedule-step-label{font-size:10px}.schedule-progress-line{margin:0 -4px}.schedule-section-title{font-size:18px}.schedule-nav-btn{width:36px;height:36px;font-size:16px}.schedule-date-grid{grid-template-columns:repeat(3,1fr)}.schedule-date-card{min-width:60px;padding:12px 6px}.schedule-date-number{font-size:18px}.schedule-slots-grid-compact{grid-template-columns:repeat(2,1fr);gap:8px}.schedule-slot-card-compact{padding:14px 10px}.schedule-slot-time{font-size:14px}.schedule-court-card-compact{padding:16px}.schedule-court-name{font-size:16px}.schedule-summary-card{padding:16px}.schedule-form-input{padding:12px 14px;font-size:14px}.schedule-input-error{font-size:12px;margin-top:4px}.schedule-confirm-btn{padding:16px 20px;font-size:15px}}@media(min-width:641px)and (max-width:1024px){.schedule-date-grid{grid-template-columns:repeat(4,1fr)}.schedule-slots-grid-compact{grid-template-columns:repeat(3,1fr)}}@media(min-width:1025px){.schedule-reservation-container{padding:16px}.schedule-club-header{padding:16px;margin-bottom:16px}.schedule-social-btn{width:42px;height:42px;font-size:19px}.schedule-club-logo{width:60px;height:60px}.schedule-club-name{font-size:22px}.schedule-club-address{font-size:13px}.schedule-club-meta{gap:5px;margin-top:6px}.schedule-club-meta-item{font-size:12px;gap:6px}.schedule-meta-icon{width:13px;height:13px}.schedule-reservation-card{padding:24px}.schedule-progress-bar{padding:14px;margin-bottom:20px}.schedule-step-circle{width:38px;height:38px;font-size:15px}.schedule-step-label{font-size:11px}.schedule-section{margin-bottom:20px}.schedule-section-title{font-size:18px;margin-bottom:16px}.schedule-section-icon{width:20px;height:20px}.schedule-date-grid{grid-template-columns:repeat(6,1fr);gap:6px}.schedule-date-card{padding:12px 6px;min-width:60px}.schedule-date-number{font-size:18px}.schedule-date-day{font-size:10px}.schedule-slots-grid-compact{grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:8px}.schedule-slot-card-compact{padding:16px 10px;min-height:70px}.schedule-slot-time-main{font-size:20px}.schedule-slot-time-label{font-size:9px}.schedule-duration-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.schedule-duration-card{padding:14px 12px}.schedule-duration-time{font-size:22px}.schedule-duration-label{font-size:10px}.schedule-selected-time-info,.schedule-selected-slot-info{padding:12px 14px;margin-bottom:16px;font-size:12px}.schedule-courts-list{gap:10px;margin-bottom:16px}.schedule-court-card-compact{padding:14px}.schedule-court-name{font-size:16px}.schedule-court-description{font-size:12px}.schedule-court-feature{font-size:10px;padding:4px 8px}.schedule-summary-card{padding:16px;margin-bottom:20px}.schedule-summary-row{padding:10px 0}.schedule-summary-label{font-size:13px}.schedule-summary-value{font-size:14px}.schedule-form-section{margin-bottom:20px}.schedule-form-title{font-size:17px;margin-bottom:16px}.schedule-form-group{margin-bottom:14px}.schedule-form-label{font-size:13px;margin-bottom:6px}.schedule-form-input{padding:12px 14px;font-size:14px}.schedule-confirm-btn{padding:14px 20px;font-size:15px;margin-bottom:10px}.schedule-back-btn{padding:10px 16px;font-size:14px}.schedule-loading-state,.schedule-empty-state{padding:40px 20px}.schedule-empty-icon{font-size:40px;margin-bottom:12px}.schedule-empty-state h3{font-size:16px}.schedule-empty-state p{font-size:13px}}.schedule-success-section{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:600px;margin:0 auto;padding:0}.schedule-success-icon{font-size:32px;color:var(--primary);filter:drop-shadow(0 4px 12px rgba(5,150,105,.3))}.schedule-success-title{font-size:22px;font-weight:700;color:var(--text-primary);text-align:center;margin:0}.schedule-success-message{font-size:14px;color:var(--text-secondary);text-align:center;margin:-4px 0 0}.schedule-success-summary{width:100%;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.schedule-success-summary-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 12px;text-align:center}.schedule-success-detail{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.schedule-success-detail:last-child{border-bottom:none;padding-bottom:0}.schedule-success-detail-icon{font-size:18px;color:var(--primary);margin-top:2px;flex-shrink:0}.schedule-success-detail-content{display:flex;flex-direction:column;gap:2px;flex:1}.schedule-success-detail-label{font-size:12px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.schedule-success-detail-value{font-size:15px;color:var(--text-primary);font-weight:600}.schedule-success-next-steps{width:100%;display:flex;flex-direction:column;gap:12px}.schedule-success-next-steps-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;text-align:center}.schedule-success-steps-list{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin:0}.schedule-success-step-item{display:flex;align-items:flex-start;gap:10px;padding:10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.schedule-success-step-number{width:24px;height:24px;min-width:24px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;margin-top:2px}.schedule-success-step-item p{margin:0;font-size:14px;color:var(--text-primary);line-height:1.4}.schedule-success-actions{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:4px}.schedule-success-btn{width:100%;padding:13px 20px;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px;border:none;box-shadow:var(--shadow-md)}.schedule-success-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.schedule-success-btn:active{transform:translateY(0)}.schedule-success-btn svg{width:20px;height:20px}.schedule-success-btn-whatsapp{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff}.schedule-success-btn-whatsapp:hover{background:linear-gradient(135deg,#22c55e,#16a34a)}.schedule-success-btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--border);box-shadow:none}.schedule-success-btn-secondary:hover{background:var(--bg-secondary);border-color:var(--primary);color:var(--primary)}@media(min-width:1025px){.schedule-success-section{padding:0;gap:18px}.schedule-success-icon{font-size:40px}.schedule-success-title{font-size:24px}.schedule-success-message{font-size:15px}.schedule-success-summary{padding:18px}.schedule-success-summary-title{font-size:17px;margin-bottom:10px}.schedule-success-detail-value{font-size:16px}.schedule-success-next-steps-title{font-size:17px}.schedule-success-actions{flex-direction:row;gap:12px}.schedule-success-btn{padding:12px 24px}}@media(max-width:640px){.schedule-success-section{padding:0;gap:14px}.schedule-success-icon{font-size:28px}.schedule-success-title{font-size:20px}.schedule-success-message{font-size:13px}.schedule-success-summary{padding:14px}.schedule-success-summary-title{font-size:15px;margin-bottom:10px}.schedule-success-detail{padding:6px 0}.schedule-success-detail-value{font-size:14px}.schedule-success-next-steps-title{font-size:15px}.schedule-success-step-item{padding:8px}.schedule-success-step-number{width:22px;height:22px;min-width:22px;font-size:12px}.schedule-success-step-item p{font-size:13px}.schedule-success-btn{padding:12px 18px;font-size:14px}}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*{box-sizing:border-box;margin:0;padding:0}.clubs-management{display:flex;flex-direction:column;min-height:100vh;padding:1rem}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0}.header h1{font-size:1.5rem;font-weight:600;color:#333}.logout-button{background:none;border:none;color:#333;font-size:.9rem;cursor:pointer;display:flex;align-items:center}.content{padding:1.5rem 2rem;flex:1;background-color:#f9f9f9}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.list-header h2{font-size:1.2rem;font-weight:600;color:#333}.new-button{display:flex;align-items:center;background-color:var(--primary);color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer}.new-button span{margin-right:.5rem;font-size:1.2rem}.search-container{margin-bottom:1.5rem}.search-input{width:100%;border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23999" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>');background-repeat:no-repeat;background-position:10px center;padding:.7rem 1rem .7rem 2.5rem}.table-container{background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.clubs-table{width:100%;border-collapse:collapse}.clubs-table th{text-align:left;padding:1rem;font-size:.8rem;font-weight:600;color:#666;border-bottom:1px solid #e0e0e0}.clubs-table td{padding:1rem;font-size:.9rem;color:#333;border-bottom:1px solid #e0e0e0}.clubs-table tr:last-child td{border-bottom:none}.edit-button,.delete-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.3rem;border-radius:4px}.edit-button{color:#3751ff}.delete-button{color:#f44336}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:11700}.modal{background-color:#fff;border-radius:8px;width:100%;max-width:600px;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{font-size:1.2rem;font-weight:600;color:#fff}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#fff;padding:.2rem}form{padding:1rem;max-height:70vh;overflow-y:auto}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-group{flex:1;margin-bottom:1rem}label{display:block;margin-bottom:.5rem;font-size:.9rem;color:#333}input,select{width:100%;padding:.7rem;border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem;border-top:1px solid #e0e0e0}.cancel-button{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer}.create-button{background-color:#3751ff;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer}.impersonate-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.3rem;border-radius:4px;color:#4caf50;text-decoration:none}.actions{display:flex;gap:.5rem;justify-content:flex-end}.confirm-modal{max-width:450px}.confirm-content{padding:1.5rem 1rem;text-align:center}.warning{color:#f44336;margin-top:.5rem;font-size:.9rem}.delete-confirm-button{background-color:#f44336;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer}.teachers-management{padding:1rem;margin:0 auto}.header{margin-bottom:30px;text-align:center}.header h1{color:#333;font-size:2.5rem;margin:0;font-weight:600}.content{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.list-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.list-header h2{margin:0;color:#374151;font-size:1.5rem;font-weight:600}.new-button{background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:background-color .2s}.new-button:hover{background:#2563eb}.new-button span{font-size:18px;font-weight:700}.search-container{padding:20px 30px;border-bottom:1px solid #e5e7eb}.search-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.table-container{overflow-x:auto}.teachers-table{width:100%;border-collapse:collapse;font-size:14px}.teachers-table th{background:#f3f4f6;padding:16px 12px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.teachers-table td{padding:16px 12px;border-bottom:1px solid #f3f4f6;color:#6b7280}.teachers-table tr:hover{background:#f9fafb}.actions{display:flex;gap:8px;justify-content:flex-end}.edit-button,.delete-button{background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.edit-button{color:#3b82f6}.edit-button:hover{background:#eff6ff}.delete-button{color:#ef4444}.delete-button:hover{background:#fef2f2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:11700}.modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;color:#374151;font-size:1.5rem;font-weight:600}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s}.close-button:hover{background:#f3f4f6}.modal form{padding:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#374151;font-weight:500;font-size:14px}.form-group input,.form-group select{width:100%;max-width:360px;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.form-group select{max-width:fit-content}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{padding-right:45px}.password-toggle-btn{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#6b7280;display:flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s}.password-toggle-btn:hover{color:#374151;background:#f3f4f6}.password-toggle-btn:focus{outline:none;color:#3b82f6;background:#eff6ff}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 30px;border-top:1px solid #e5e7eb;background:#f9fafb}.cancel-button,.create-button,.delete-confirm-button{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background-color .2s}.cancel-button{background:#f3f4f6;color:#374151}.cancel-button:hover{background:#e5e7eb}.create-button{background:#3b82f6;color:#fff}.create-button:hover{background:#2563eb}.delete-confirm-button{background:#ef4444;color:#fff}.delete-confirm-button:hover{background:#dc2626}.confirm-modal{max-width:500px}.confirm-content{padding:30px;text-align:center}.confirm-content p{margin:0 0 16px;color:#374151;font-size:16px}.confirm-content .warning{color:#ef4444;font-weight:500;font-size:14px}@media(max-width:768px){.teachers-management{padding:10px}.header h1{font-size:2rem}.list-header{flex-direction:column;gap:16px;align-items:stretch}.new-button{justify-content:center}.form-row{grid-template-columns:1fr}.teachers-table{font-size:12px}.teachers-table th,.teachers-table td{padding:12px 8px}.modal{width:95%;margin:20px}.modal form{padding:20px}.modal-footer{flex-direction:column}.cancel-button,.create-button,.delete-confirm-button{width:100%}}@media(max-width:768px){.payments-container{padding:1rem!important}.payments-header{flex-direction:column!important;align-items:flex-start!important;gap:1rem!important}.payments-title{font-size:1.5rem!important}.header-actions{width:100%!important;justify-content:space-between!important}.stats-grid{grid-template-columns:1fr!important;gap:1rem!important}.filters-grid{grid-template-columns:1fr!important}.search-box{max-width:none!important}.table-container{overflow-x:auto!important}.table{min-width:800px!important}.table-header-cell,.table-cell{padding:.75rem .5rem!important;font-size:.8rem!important}.actions-cell{padding:.75rem .5rem!important;gap:.25rem!important}.action-button{padding:.4rem!important}.modal-container{margin:1rem!important;max-width:calc(100vw - 2rem)!important}.form-grid{grid-template-columns:1fr!important}.payment-method-selector{flex-direction:column!important}.payment-method-option{margin-bottom:.5rem!important}}@media(max-width:480px){.payments-container{padding:.5rem!important}.payments-title{font-size:1.25rem!important}.header-actions{flex-direction:column!important;gap:.5rem!important}.button{width:100%!important;justify-content:center!important}.stat-card{padding:1rem!important}.stat-value{font-size:1.5rem!important}.filters-section,.modal-body{padding:1rem!important}.modal-footer{padding:1rem!important;flex-direction:column!important}.modal-footer .button{width:100%!important}}.payments-container{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stat-card{animation:slideInUp .4s ease-out}.stat-card:nth-child(1){animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.table-row:hover{background-color:#f8f9fa;transform:scale(1.01);transition:all .2s ease}.button:focus,.action-button:focus,.close-button:focus{outline:2px solid #667eea;outline-offset:2px}.input:focus,.select:focus,.textarea:focus{outline:2px solid #667eea;outline-offset:2px}.loading{opacity:.6;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #667eea;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.status-badge{position:relative;overflow:hidden}.status-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.status-badge:hover:before{left:100%}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.table-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.modal-container{animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-overlay{animation:overlayFadeIn .3s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.pending-sales-card{border-left:4px solid #f59e0b!important;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.pending-sales-header{background:#f59e0b1a;border-radius:8px 8px 0 0;padding:.75rem 1rem}.pending-sales-header .warning-icon{color:#f59e0b}.pending-sales-header h4{color:#92400e;font-weight:600}.loading-pending-sales{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#6b7280}.loading-pending-sales .spinning{animation:spin 1s linear infinite}.pending-sales-list{display:flex;flex-direction:column;gap:1rem}.pending-sale-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;transition:box-shadow .2s ease}.pending-sale-item:hover{box-shadow:0 4px 6px -1px #0000001a}.pending-sale-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.pending-sale-info{display:flex;flex-direction:column;gap:.25rem}.pending-sale-id{font-size:.875rem;font-weight:600;color:#6b7280}.pending-sale-description{font-size:1rem;font-weight:500;color:#374151}.pending-sale-amount{font-size:1.125rem;font-weight:700;color:#dc2626}.pending-sale-details{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.pending-sale-detail{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#6b7280}.pending-sale-detail svg{color:#9ca3af}.pending-sale-items{border-top:1px solid #e5e7eb;padding-top:.75rem}.items-label{font-size:.875rem;font-weight:600;color:#374151;display:block;margin-bottom:.5rem}.items-list{display:flex;flex-direction:column;gap:.25rem}.sale-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.875rem}.item-name{color:#374151;flex:1}.item-quantity{color:#6b7280;margin:0 .5rem}.item-price{font-weight:600;color:#dc2626}.pending-sale-divider{height:1px;background:#e5e7eb;margin:.75rem 0}.no-pending-sales{display:flex;justify-content:center;align-items:center;padding:2rem;color:#6b7280;font-style:italic}.bills-container{padding:1rem}.payer-option:hover{cursor:pointer;font-weight:700}.tabs-header{display:flex;gap:1rem;margin-bottom:1.5rem}.tab-button{background:none;border:none;padding:.5rem 1rem;font-size:1rem;font-weight:600;color:var(--gray-600);cursor:pointer;transition:color .2s,border-bottom .2s;border-bottom:2px solid transparent;border-radius:0}.tab-button:hover{color:var(--gray-800)}.tab-button.tab-active{color:var(--primary);border-bottom:2px solid var(--primary);overflow:hidden;border-radius:0;outline:none}.bill-status{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase}.bill-detail-info{display:flex;flex-direction:column;gap:1rem}.bill-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.bill-concept-field{grid-column:1 / -1}.bill-amount-field{position:relative}.bill-amount-field .currency-symbol{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--gray-500);font-weight:500}.bill-amount-field input{padding-left:1.75rem}.payers-section{margin-top:1.5rem;border-top:1px solid var(--gray-200);padding-top:1.5rem}.payers-title{font-size:1rem;font-weight:700;color:var(--gray-800);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.payers-icon{color:var(--primary)}.payers-list{margin-bottom:1.25rem}.payer-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:.5rem;border:1px solid var(--gray-200)}.payer-info{display:flex;justify-content:space-between;flex-grow:1;margin-right:.75rem}.payer-name{font-weight:600;color:var(--gray-700)}.payer-amount{font-weight:700;color:var(--primary)}.payer-info input.payer-amount-input{width:100px;text-align:right;padding:.375rem .5rem;border-radius:var(--radius-md);border:1px solid var(--gray-300);font-size:.875rem;font-weight:600;color:var(--primary);background-color:#fff;transition:var(--transition)}.payer-info input.payer-amount-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #4f46e51a}.remove-payer-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;transition:color .2s;display:flex;align-items:center;justify-content:center}.remove-payer-btn:hover{color:var(--danger)}.no-payers{padding:1rem;text-align:center;color:var(--gray-500);font-style:italic;background-color:var(--gray-50);border-radius:var(--radius-lg)}.add-payer{margin-top:1rem;padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.add-payer-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.payer-input-group{display:flex;flex-direction:column}.payer-input-group label{font-size:.75rem;font-weight:600;color:var(--gray-600);margin-bottom:.375rem}.payer-select,.payer-amount-input{padding:.625rem;border-radius:var(--radius-md);border:1px solid var(--gray-300);font-size:.875rem}.add-payer-btn{width:100%;padding:.75rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease}.add-payer-btn:hover:not(:disabled){background-color:var(--primary-dark)}.add-payer-btn:disabled{background-color:var(--gray-300);cursor:not-allowed}.payment-methods-section{margin-top:1.5rem;border-top:1px solid var(--gray-200);padding-top:1.5rem}.payment-warning{color:#e74c3c;font-size:.9rem;margin-top:.5rem;padding:.5rem;background-color:#e74c3c1a;border-radius:4px;text-align:center}.payment-amount-input{width:120px;text-align:right;padding:.7rem;border:1px solid #ddd;border-radius:4px;margin-left:0}.new-category-modal{max-width:400px;width:90%}.new-category-modal .modal-body{padding:1.5rem}.new-category-modal .form-group{margin-bottom:0}.new-category-modal .form-input{width:100%}.add-category-option{font-style:italic;color:var(--primary);font-weight:600}@media screen and (max-width:768px){.bill-form-grid,.add-payer-inputs{grid-template-columns:1fr}.new-category-modal{max-width:95%}}.bill-detail-modal .btn-edit{background:#fff!important;color:#374151!important;border:1px solid gainsboro!important;padding:1.25rem!important;border-radius:var(--radius-lg)!important;font-weight:600!important;display:flex!important;align-items:center!important;gap:.5rem!important;transition:var(--transition)!important;cursor:pointer!important;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f!important;width:fit-content}.bill-detail-modal .btn-edit:hover{background:#f9fafb!important;border-color:#9ca3af!important;color:#1f2937!important;transform:translateY(-1px)!important;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f!important}.bill-detail-buttons{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem}.comment-text{font-style:italic;color:#6b7280;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}@media screen and (max-width:768px){.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.bills-table{min-width:600px;font-size:.8rem}.bills-table th,.bills-table td{padding:.5rem .3rem;white-space:nowrap}.bills-table th{font-size:.7rem}}@media screen and (max-width:480px){.bills-table{min-width:500px;font-size:.75rem}.bills-table th,.bills-table td{padding:.4rem .2rem}.bills-table th{font-size:.65rem}}@media screen and (max-width:640px){.table-container{overflow-x:visible}.bills-table{width:100%;min-width:0!important;border:0;font-size:.9rem}.bills-table thead{display:none}.bills-table tbody,.bills-table tr,.bills-table td,.bills-table th{display:block}.bills-table tr{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:1rem;overflow:hidden}.bills-table td{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;border-bottom:1px solid var(--gray-100);white-space:normal;word-break:break-word}.bills-table td:last-child{border-bottom:none}.bills-table td:nth-child(1):before{content:"Concepto"}.bills-table td:nth-child(2):before{content:"Monto"}.bills-table td:nth-child(3):before{content:"Fecha"}.bills-table td:nth-child(4):before{content:"Tipo"}.bills-table td:nth-child(5):before{content:"Estado"}.bills-table td:nth-child(6):before{content:"Acciones"}.bills-table td:before{font-weight:700;color:var(--gray-600);flex:0 0 40%;max-width:50%}.bills-table .actions-cell{justify-content:flex-end;gap:.5rem}.bills-table .actions-cell:before{content:"Acciones"}.bills-table .estado-badge{margin-left:auto}}.warning-icon-container{position:relative;display:inline-block;margin-left:.5rem}.warning-icon{transition:all .2s ease}.warning-icon:hover{transform:scale(1.1);filter:brightness(1.2)}.warning-tooltip{visibility:hidden;position:fixed;background:#000000e6;color:#fff;padding:.5rem .75rem;border-radius:.25rem;font-size:.75rem;white-space:nowrap;z-index:9999;opacity:0;transition:opacity .3s;pointer-events:none;box-shadow:0 2px 8px #0000004d;max-width:none;width:auto;transform:translate(-50%)}.warning-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.9) transparent transparent transparent}.warning-icon-container:hover .warning-tooltip{visibility:visible;opacity:1}.pending-sales-card{border-left:4px solid #f59e0b;background:linear-gradient(135deg,#f59e0b0d,#f59e0b1a);margin-top:1rem}.pending-sales-header{background:linear-gradient(135deg,#f59e0b1a,#f59e0b26);border-bottom:1px solid rgba(245,158,11,.2)}.pending-sales-icon{color:#f59e0b!important}.pending-sales-info{display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center;padding:1rem 0}.pending-sales-number{display:flex;flex-direction:column;align-items:center;gap:.5rem}.pending-sales-count{font-size:3rem;font-weight:700;color:#f59e0b;line-height:1;text-shadow:0 2px 4px rgba(245,158,11,.3)}.pending-sales-label{font-size:1.1rem;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.5px}.pending-amount-info{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#f59e0b1a;border-radius:.5rem;border:1px solid rgba(245,158,11,.2);margin:.5rem 0}.pending-amount-label{font-size:.9rem;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.5px}.pending-amount-value{font-size:1.8rem;font-weight:700;color:#dc2626;line-height:1;text-shadow:0 2px 4px rgba(220,38,38,.3)}.pending-sales-description{font-size:.9rem;color:#6b7280;line-height:1.5;max-width:300px;margin:0 auto}.pending-sales-card{animation:slideInFromRight .3s ease-out}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.image-upload-container{display:flex;flex-direction:column;gap:.5rem}.file-input{border:2px dashed #d1d5db;border-radius:8px;padding:1rem;text-align:center;cursor:pointer;transition:all .3s ease}.file-input:hover{border-color:#3b82f6;background-color:#f8fafc}.selected-image-container{display:flex;flex-direction:column;gap:.75rem}.selected-image-preview{display:flex;align-items:center;justify-content:space-between;background:#f3f4f6;padding:.5rem;border-radius:4px;font-size:.875rem}.image-preview-display{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;max-width:100%}.modal-image-preview{width:100%;max-width:300px;height:auto;max-height:200px;object-fit:contain;display:block;margin:0 auto}.image-name{color:#374151;font-weight:500}.improved-modal{max-height:85vh;overflow-y:auto}.new-bill-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.new-bill-form-grid .full-width{grid-column:1 / -1}.amount-input-container{position:relative}.amount-input-container .currency-symbol{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6b7280;font-weight:600;z-index:1}.amount-input{padding-left:32px!important}.additional-fields{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start;margin-bottom:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.toggle-group{display:flex;align-items:center}.toggle-label{display:flex;align-items:center;gap:.75rem;font-weight:500;color:#374151;cursor:pointer}.comment-group{flex:1}.image-upload-group{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.selected-payers-section{margin-top:1.5rem}.selected-payers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:8px;border:1px solid #cbd5e1}.selected-payers-header h5{margin:0;color:#1e293b;font-weight:600;display:flex;align-items:center;gap:.5rem}.contributions-total{display:flex;align-items:center;gap:.5rem}.total-label{font-size:.875rem;color:#64748b;font-weight:500}.total-amount{font-size:1.1rem;font-weight:700;color:#059669;background:#0596691a;padding:.25rem .5rem;border-radius:4px}.selected-payers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.payer-contribution-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.payer-contribution-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.payer-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-bottom:1px solid #e2e8f0}.payer-info{display:flex;align-items:center;gap:.5rem}.payer-icon{color:#3b82f6;font-size:1.1rem}.payer-name{font-weight:600;color:#1e293b}.remove-payer-btn{background:none;border:none;color:#ef4444;cursor:pointer;padding:.25rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.remove-payer-btn:hover{background:#ef44441a;transform:scale(1.1)}.payer-card-body{padding:1rem}.contribution-input-group{display:flex;flex-direction:column;gap:.5rem}.contribution-input-group label{font-size:.875rem;font-weight:500;color:#374151}.contribution-input-container{position:relative}.contribution-input-container .currency-symbol{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6b7280;font-weight:600;z-index:1}.contribution-input{width:100%;padding:10rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:600;color:#059669;transition:all .2s ease}.contribution-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-save.saving{background:#9ca3af!important;cursor:not-allowed!important;position:relative}.btn-save.saving:hover{background:#9ca3af!important;transform:none!important}.spinner-icon{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}@media(max-width:768px){.new-bill-form-grid,.additional-fields{grid-template-columns:1fr;gap:1rem}.selected-payers-grid{grid-template-columns:1fr}.selected-payers-header{flex-direction:column;gap:.5rem;text-align:center}.improved-modal{max-height:90vh}}.remove-image-btn{background:#ef4444;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease;padding:0}.remove-image-btn:hover{background:#dc2626}.uploading-indicator{display:flex;align-items:center;gap:.5rem;color:#3b82f6;font-size:.875rem;padding:.5rem}.image-preview-container{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.bill-image-preview{border:1px solid #e5e7eb;transition:transform .2s ease}.bill-image-preview:hover{transform:scale(1.05)}.view-full-image-btn{background:#3b82f6;color:#fff;border:none;padding:.375rem .75rem;border-radius:4px;font-size:.875rem;cursor:pointer;transition:background-color .2s ease}.view-full-image-btn:hover{background:#2563eb}.bills-container .modal-content{max-width:95vw!important;width:100%!important;height:100vh}.bills-container .modal-body{padding:1rem!important;max-height:unset!important;overflow-y:auto}.bills-cards-container{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.bills-cards-container{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}}.bill-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid #6b7280;position:relative;transition:all .2s ease}.bill-card.gastos{border-left-color:#ef4444}.bill-card.ingresos{border-left-color:#10b981}.bill-card:hover{box-shadow:0 4px 12px #00000026}.bill-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.bill-card-title{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0;line-height:1.3;flex:1;margin-right:.5rem}.bill-status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;color:#fff;text-align:center;white-space:nowrap}.bill-status-badge.paid{background:#10b981}.bill-status-badge.pending{background:#f59e0b}.bill-status-badge.overdue{background:#ef4444}.bill-card-info{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.bill-info-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#6b7280}.bill-info-icon{display:flex;align-items:center;color:#6b7280}.bill-info-icon.gastos{color:#ef4444}.bill-info-icon.ingresos{color:#10b981}.bill-card-comment{margin-bottom:1rem}.comment-text{font-size:.85rem;font-style:italic}.bill-card-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f3f4f6}.bill-action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.bill-action-btn:hover{transform:translateY(-1px)}.bill-action-btn:active{transform:translateY(0)}.bill-action-btn.view-btn{background:#fff;color:#374151;border:1px solid #d1d5db;box-shadow:0 1px 3px #0000001a}.bill-action-btn.view-btn:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 2px 6px #00000026}.bill-action-btn.edit-btn.gastos,.bill-action-btn.edit-btn.ingresos{background:#fff;color:#374151;border:1px solid gainsboro;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.bill-action-btn.edit-btn.gastos:hover,.bill-action-btn.edit-btn.ingresos:hover{background:#f9fafb;border-color:#9ca3af;color:#1f2937;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.cards-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1rem 0}.cards-pagination .pagination-center{flex:1;text-align:center}.cards-pagination .pagination-right{display:flex;align-items:center;gap:.5rem}.cards-pagination .results-info{font-size:.875rem;color:#6b7280}.cards-pagination .page-info{font-size:.875rem;color:#374151;font-weight:500}.cards-pagination .pagination-arrow{display:flex;align-items:center;justify-content:center;padding:.5rem;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;font-weight:600;min-width:2rem}.cards-pagination .pagination-arrow:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}@media(max-width:768px){.bill-card-info{grid-template-columns:1fr;gap:.5rem}.bill-card-actions{flex-direction:column;gap:.75rem}.bill-action-btn{justify-content:center}.cards-pagination{flex-direction:column;gap:1rem}.view-controls{justify-content:center}}.view-controls{display:flex;justify-content:flex-end;margin-bottom:1.5rem;padding:0 1rem}.view-toggle{display:flex;align-items:center;gap:.75rem}.view-toggle-label{font-size:.9rem;color:#6b7280;font-weight:500}.view-toggle-buttons{display:flex;background:#f3f4f6;border-radius:8px;padding:2px}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:none;background:transparent;cursor:pointer;border-radius:6px;color:#6b7280;transition:all .2s ease}.view-toggle-btn:hover{color:#374151;background:#ffffff80}.view-toggle-btn.active{background:#fff;color:#1f2937;box-shadow:0 1px 3px #0000001a}.cards-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.cards-pagination .pagination-center{flex:1}.cards-pagination .pagination-right{display:flex;align-items:center;gap:1rem}.cards-pagination .pagination-arrow{background:#f3f4f6;border:none;width:36px;height:36px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;font-weight:700;transition:all .2s ease}.cards-pagination .pagination-arrow:hover:not(:disabled){background:#e5e7eb;color:#374151}.cards-pagination .pagination-arrow:disabled{opacity:.5;cursor:not-allowed}.cards-pagination .page-info{font-size:.9rem;color:#6b7280;font-weight:500}@media(max-width:768px){.view-controls{justify-content:center;padding:0 .5rem}.view-toggle-label{display:none}.cards-pagination{flex-direction:column;gap:1rem;text-align:center}.cards-pagination .pagination-center{order:2}.cards-pagination .pagination-right{order:1;justify-content:center}}.client-with-tutor{background:linear-gradient(135deg,#9333ea14,#c4b5fd1f)!important;border:2px solid rgba(147,51,234,.2)!important;box-shadow:0 4px 12px #9333ea26!important}.client-with-tutor:hover{background:linear-gradient(135deg,#9333ea1f,#c4b5fd2e)!important;border-color:#9333ea4d!important;box-shadow:0 6px 20px #9333ea33!important}.row-with-tutor{background:linear-gradient(135deg,#9333ea0f,#c4b5fd1a)!important;border-left:4px solid rgba(147,51,234,.4)!important}.row-with-tutor:hover{background:linear-gradient(135deg,#9333ea1a,#c4b5fd26)!important}.tutor-indicator{margin-left:.5rem;font-size:.9rem;cursor:help}.tutor-info{font-size:.75rem;color:#7c3aed;font-weight:500;margin:0;font-style:italic}.tutor-info-row{font-size:.7rem;color:#7c3aed;font-weight:500;display:block;font-style:italic;margin-top:2px}.tutor-data-indicator{margin-left:.25rem;font-size:.8rem;opacity:.8;cursor:help}.client-name .tutor-indicator,.data-name .tutor-indicator{display:inline-block;vertical-align:middle}.table-row.row-with-tutor td{position:relative}.table-row.row-with-tutor td:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(135deg,#7c3aed,#a855f7)}.client-with-tutor,.row-with-tutor{transition:all .3s ease}@media(max-width:768px){.tutor-indicator{font-size:.8rem}.tutor-info,.tutor-info-row{font-size:.65rem}.tutor-data-indicator{font-size:.7rem}}.detail-card-tutor{box-shadow:0 4px 12px #9333ea26!important;transition:all .3s ease!important}.detail-card-tutor:hover{box-shadow:0 6px 20px #9333ea33!important;transform:translateY(-2px)!important}.modal-content .bill-detail-modal{position:relative}.bill-detail-modal.has-tutor{border:2px solid rgba(147,51,234,.2);box-shadow:0 8px 25px #9333ea26}.bill-detail-modal .detail-card-tutor,.bill-detail-modal .tutor-indicator{animation:subtle-pulse 2s ease-in-out infinite}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.9}}.modal-content.has-tutor{border:2px solid rgba(147,51,234,.3);box-shadow:0 10px 25px #9333ea1a,0 0 0 1px #9333ea1a,inset 0 1px #ffffff1a;background:linear-gradient(145deg,#fffffffa,#f7fafff2)}.modal-content.has-tutor .modal-header{background:linear-gradient(135deg,#9333ea14,#a855f70d);border-bottom:1px solid rgba(147,51,234,.15)}.modal-content.has-tutor .modal-title{color:#7c3aed;text-shadow:0 1px 2px rgba(147,51,234,.1)}:root{--primary: #059669;--primary-dark: #059669;--primary-light: #e8f5e8;--primary-foreground: #ffffff;--success: #10b981;--success-light: #d1fae5;--success-dark: #047857;--warning: #f59e0b;--warning-light: #fef3c7;--warning-dark: #d97706;--danger: #ef4444;--danger-light: #fee2e2;--danger-dark: #dc2626;--info: #3b82f6;--info-light: #dbeafe;--info-dark: #1d4ed8;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--border: #e5e7eb;--background: #e4edf3;--foreground: #000000;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: .125rem;--radius: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--transition: .2s;--dashboard-bg: linear-gradient(135deg, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, .6) 50%, rgba(255, 255, 255, .7) 100%);--metric-card-shadow: 0 2px 8px rgba(0, 0, 0, .1);--metric-card-hover-shadow: 0 8px 25px rgba(0, 0, 0, .15);--chart-height-desktop: 250px;--chart-height-tablet: 200px;--chart-height-mobile: 180px;--chart-height-mobile-small: 140px;--secondary: #f3f4f6;--secondary-foreground: #1f2937;--muted: #f3f4f6;--muted-foreground: #6b7280;--accent: #f3f4f6;--accent-foreground: #1f2937;--destructive: #ef4444;--input: #e5e7eb;--ring: #4f46e5;--text-high-contrast: #111827;--focus-ring: 2px solid var(--primary);--focus-offset: 2px;--focus-shadow: 0 0 0 4px rgba(79, 175, 68, .2);--shadow-focus: var(--focus-shadow);--shadow-accessible: 0 2px 4px rgba(0, 0, 0, .1)}body{background:#e4edf3;background-color:var(--background);color:var(--foreground);line-height:1.6;font-size:16px}.main-content{z-index:1000}.loading-container{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;width:100%}.loading-spinner{width:2rem;height:2rem;border:3px solid #e5e7eb;border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}*:focus{outline:none!important}*:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}h1,h2,h3,h4,h5,h6{color:var(--text-high-contrast);line-height:1.4;margin-bottom:.5em}p{margin-bottom:1em;max-width:70ch}a{color:var(--primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}a:hover{text-decoration-thickness:3px}a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);background-color:#4faf441a;border-radius:2px}button,input,select,textarea{font-family:inherit;font-size:100%}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed!important}::placeholder{color:var(--muted-foreground);opacity:.8}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary);color:#fff;padding:8px 16px;text-decoration:none;border-radius:4px;z-index:9999;font-weight:600;transition:top .2s ease}.skip-link:focus{top:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.right{margin-left:auto}.btn-primary{background-color:var(--primary);color:#fff}.btn,.btn-secondary{color:#fff;border:none;padding:.7rem 1rem;height:fit-content;font-size:.875rem;font-weight:500;border-radius:10px;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:.5rem}.btn-edit,.btn-remove{display:flex;justify-content:center;align-items:center;background:#dcdcdc;padding:.5rem;width:32px;height:32px;border-radius:50%;transition:.2s;color:#000}.btn-remove:hover{background:red;color:#fff}.details-icon,.edit-icon{font-size:1.2rem;margin-right:.5rem;cursor:pointer;transition:color .2s ease,transform .2s ease;color:var(--gray-600)}.details-icon:hover{color:var(--info);transform:scale(1.1)}.edit-icon:hover{color:var(--warning);transform:scale(1.1)}.actions-cell{display:flex;align-items:center;gap:.5rem}.client-search-input{padding:10px 32px!important}select{padding:.625rem .75rem;font-size:.875rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);background-color:#fff;outline:none;transition:var(--transition);width:fit-content}select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}label{display:block;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}input[type=text],input[type=email],input[type=tel]{width:100%;padding:12px 14px;border:1.5px solid #d1d5db;border-radius:6px;font-size:.95rem;color:#333;transition:border-color .2s ease,box-shadow .2s ease;background-color:#fdfdfd}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #05966926}input[type=text]::placeholder,input[type=email]::placeholder,input[type=tel]::placeholder{color:#999}#newClientPhoneCode{width:fit-content}.flex{display:flex;align-items:center;gap:.5rem}.search-container{position:relative;margin-bottom:1rem;padding:0;max-width:30rem;width:fit-content}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--gray-500)}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem!important;border-radius:var(--radius-lg);border:1px solid var(--gray-300);background-color:#fff;font-size:.875rem;box-shadow:var(--shadow-sm);transition:var(--transition)}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:stretch;justify-content:flex-end;z-index:1000}@media(max-width:768px){.sidebar-overlay{z-index:1500}}.table-container{margin-top:1.5rem;background:#fff;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);animation:fadeIn .4s ease;overflow-x:auto;padding:0}.sales-table,.bills-table,.reservations-table{width:100%;border-collapse:collapse}.sales-table th,.sales-table td,.bills-table th,.bills-table td,.reservations-table th,.reservations-table td{text-align:left;padding:.5rem;border-bottom:1px solid var(--gray-200)}.sales-table th,.bills-table th,.reservations-table th{background:var(--gray-100);font-weight:600;color:var(--gray-700);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.table-row{transition:var(--transition)}.table-row:hover{background:var(--gray-50)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2001}.modal-content{background-color:#fff;width:95%;max-width:75vw;border-radius:20px;position:relative;box-shadow:var(--shadow-xl);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:fadeIn .3s ease;z-index:2200}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #e5e7eb;background:var(--primary)}.modal-header h4{color:#000!important}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:.75rem}.modal-title-icon{color:var(--primary)}.pagination{margin:.5rem;padding:1rem}.modal-close{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:1.5rem}.modal-close:hover{background:#f87171;color:#fff;border-color:#f87171}.close-icon{transition:var(--transition);color:#dcdcdc!important}.close-icon:hover{cursor:pointer;transform:scale(1.1)}.modal-body{padding:1rem;overflow-y:auto;max-height:calc(100% - 73px)!important}.modal-body::-webkit-scrollbar{width:.375rem}.modal-body::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:.25rem}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.modal-actions{display:flex;justify-content:right;gap:1rem;padding:1rem}.modal-buttons,.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--gray-200);background:var(--gray-50)}.sidebar-modal-content{width:100%;max-width:55vw;min-width:500px;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;position:relative;overflow:hidden;z-index:2001}@media(max-width:768px){.sidebar-modal-content{z-index:1501}}.sidebar-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.sidebar-modal-actions{display:flex;align-items:center;gap:12px}.sidebar-modal-title h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.sidebar-modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;padding:0}.sidebar-modal-close:hover{background:#f3f4f6;color:#374151;transform:scale(1.05)}.sidebar-modal-close .close-icon{transition:transform .2s ease}.sidebar-modal-close:hover .close-icon{transform:scale(1.1)}.btn-edit-header{display:flex;align-items:center;justify-content:center;height:40px;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;padding:.5rem;gap:.5rem}.btn-edit-header:hover{background-color:#f9fafb;border-color:#9ca3af;color:#374151;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-edit-header:active{transform:translateY(1px);box-shadow:0 1px 2px #0000000d}.btn-back-header{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;padding:0}.btn-back-header:hover{background-color:#f9fafb;border-color:#9ca3af;color:#374151;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-back-header:active{transform:translateY(1px);box-shadow:0 1px 2px #0000000d}.sidebar-modal-body{flex:1;padding:1rem;overflow:hidden;background:#fff;display:flex;flex-direction:column}@media(max-width:1024px){.sidebar-modal-content{width:100vw;max-width:100vw;min-width:400px}.modal-backdrop{padding:0}.modal-backdrop .modal-content{max-width:100%!important;margin:0;width:100vw!important}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;color:#000}.modal-title{color:#000!important}}@media(max-width:768px){.sidebar-modal-header{padding:1rem 1.5rem}.sidebar-modal-body{padding:0}}.sidebar-content{display:flex;flex-direction:column;gap:0;flex:1;overflow-y:auto;padding-right:.5rem;min-height:0}.modal-confirm-header{padding:1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--gray-200);background:#fff}.modal-confirm-footer{padding:1rem;display:flex;justify-content:right;gap:1rem;margin-left:auto}.max-w-90{max-width:90%!important}.btn-cancel,.btn-save,.btn-download,.btn-confirm{padding:.75rem 1.25rem;border-radius:var(--radius-lg);font-weight:600;display:flex;align-items:center;gap:.5rem;transition:var(--transition);width:fit-content;max-width:fit-content}.css-nmzp9i-MuiModal-root-MuiDialog-root{z-index:3000!important}.view-toggle{padding:.625rem 1rem;border-radius:var(--radius-lg);border:1px solid gainsboro;background-color:#fff;color:var(--gray-700);font-size:.875rem;cursor:pointer;transition:var(--transition);margin-left:auto}.view-toggle-label{color:#fff}.btn-cancel,.close-btn{display:flex;align-items:center;width:fit-content;gap:.1rem;padding:1rem;border-radius:10px;background:#fff;border:1px solid var(--gray-300);color:var(--gray-700)}.btn-cancel:hover,.close-btn:hover{background:var(--gray-100);border-color:var(--gray-400)}.btn-rounded{display:flex;background:var(--primary);color:#fff;border-radius:20px;width:52px;height:48px;justify-content:center;align-items:center;padding:0}.btn-save,.btn-download,.btn-confirm,.finalize-btn{background:var(--primary)!important;border:none;color:#fff;box-shadow:var(--shadow-md)}.btn-save:hover,.btn-download:hover,.btn-confirm:hover,.finalize-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-cancel{background:red;color:#fff;width:fit-content}.btn-cancel,.btn-danger:hover{background:#b40000!important;color:#fff!important}.finalize-btn{background-color:var(--success)}.finalize-btn:hover{background-color:#0d9488}.button-icon{font-size:1.125rem}.disabled{background:gray}.disabled:hover{cursor:not-allowed;background:gray}.header-buttons,.filters-container{display:flex;flex-wrap:wrap;gap:1rem}.form-group{margin-bottom:1rem;display:flex;flex-direction:column;width:100%;max-width:480px}.form-input,.form-select{width:100%!important;max-width:380px!important;padding:.625rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);background-color:#fff;font-size:.875rem;transition:var(--transition)}.form-input:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.date-input,.time-input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);background-color:#fff;font-size:.875rem;color:var(--gray-800);transition:var(--transition)}.date-input:focus,.time-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.sales-header,.bills-header,.reservations-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.sales-title,.bills-title,.reservations-title{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem;position:relative}.sales-title:after,.bills-title:after,.reservations-title:after{content:"";position:absolute;bottom:-.5rem;left:0;width:3rem;height:.25rem;background-color:var(--primary);border-radius:var(--radius)}.btn-new-sale,.btn-new-bill,.btn-new-reservation,.btn-generate-report{display:flex;align-items:center;gap:.5rem;width:fit-content;padding:.75rem 1.25rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;transition:all .3s ease;box-shadow:var(--shadow-md);font-size:.8rem}.btn-new-sale:hover,.btn-new-bill:hover,.btn-new-reservation:hover,.btn-generate-report:hover{transform:translateY(-2px);background-color:var(--primary-dark);box-shadow:var(--shadow-lg)}.btn-new-sale:active,.btn-new-bill:active,.btn-new-reservation:active,.btn-generate-report:active{transform:translateY(0)}.estado-badge{display:inline-flex;align-items:center;padding:0;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase}.estado-open{background-color:var(--success-light);color:var(--success)}.estado-in_progress{background-color:var(--primary-light);color:var(--primary)}.estado-completed{background-color:var(--gray-200);color:var(--gray-600)}.estado-scheduled,.estado-pending{background-color:var(--warning-light);color:var(--warning)}.estado-paid{background-color:var(--success-light);color:var(--success)}.modal-confirm-body{padding:1rem;padding-bottom:0;padding-top:0}@media screen and (max-width:768px){.add-payment-inputs{grid-template-columns:1fr}}@media screen and (max-width:640px){.sales-header,.bills-header,.reservations-header{flex-direction:column;align-items:flex-start}}@media screen and (max-width:768px){.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.sales-table{min-width:600px;font-size:.8rem}.sales-table th,.sales-table td{padding:.5rem .3rem;white-space:nowrap}.sales-table th{font-size:.7rem}.reservations-table{min-width:600px;font-size:.8rem}.reservations-table th,.reservations-table td{padding:.5rem .3rem;white-space:nowrap}.reservations-table th{font-size:.7rem}}@media screen and (max-width:480px){.sales-table{min-width:500px;font-size:.75rem}.sales-table th,.sales-table td{padding:.4rem .2rem}.sales-table th{font-size:.65rem}.reservations-table{min-width:500px;font-size:.75rem}.reservations-table th,.reservations-table td{padding:.4rem .2rem}.reservations-table th{font-size:.65rem}}@media screen and (max-width:640px){.table-container{overflow-x:visible}.reservations-table{width:100%;min-width:0!important;border:0;font-size:.9rem}.reservations-table thead{display:none}.reservations-table tbody,.reservations-table tr,.reservations-table td,.reservations-table th{display:block}.reservations-table tr{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:1rem;overflow:hidden}.reservations-table td{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;border-bottom:1px solid var(--gray-100);white-space:normal;word-break:break-word}.reservations-table td:last-child{border-bottom:none}.reservations-table td:nth-child(1):before{content:"Usuario"}.reservations-table td:nth-child(2):before{content:"Deporte"}.reservations-table td:nth-child(3):before{content:"Cancha"}.reservations-table td:nth-child(4):before{content:"Día"}.reservations-table td:nth-child(5):before{content:"Hora"}.reservations-table td:nth-child(6):before{content:"Duración"}.reservations-table td:nth-child(7):before{content:"Tipo"}.reservations-table td:nth-child(8):before{content:"Estado"}.reservations-table td:nth-child(9):before{content:"Detalles"}.reservations-table td:before{font-weight:700;color:var(--gray-600);flex:0 0 40%;max-width:50%}}@media screen and (max-width:640px){.table-container{overflow-x:visible}.sales-table{width:100%;min-width:0!important;border:0;font-size:.9rem}.sales-table thead{display:none}.sales-table tbody,.sales-table tr,.sales-table td,.sales-table th{display:block}.sales-table tr{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:1rem;overflow:hidden}.sales-table td{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;border-bottom:1px solid var(--gray-100);white-space:normal;word-break:break-word}.sales-table td:last-child{border-bottom:none}.sales-table td:before{font-weight:700;color:var(--gray-600);flex:0 0 45%;max-width:55%}.sales-table--main td:nth-child(1):before{content:"Descripción"}.sales-table--main td:nth-child(2):before{content:"Precio"}.sales-table--main td:nth-child(3):before{content:"Fecha"}.sales-table--main td:nth-child(4):before{content:"Hora"}.sales-table--main td:nth-child(5):before{content:"Estado"}.sales-table--main td:nth-child(6):before{content:"Acciones"}.sales-table--products td:nth-child(1):before{content:"Venta"}.sales-table--products td:nth-child(2):before{content:"Fecha"}.sales-table--products td:nth-child(3):before{content:"Nombre"}.sales-table--products td:nth-child(4):before{content:"Costo"}.sales-table--products td:nth-child(5):before{content:"Precio"}.sales-table--products td:nth-child(6):before{content:"Utilidad"}.sales-table--courts td:nth-child(1):before{content:"Venta"}.sales-table--courts td:nth-child(2):before{content:"Fecha"}.sales-table--courts td:nth-child(3):before{content:"Nombre"}.sales-table--courts td:nth-child(4):before{content:"Precio"}}@media screen and (max-width:640px){.tabs{gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:.5rem .75rem;font-size:.875rem;white-space:nowrap}.sales-title{font-size:1.5rem}}@media(max-width:768px){.form-row{grid-template-columns:1fr;gap:0}.form-row .form-group{margin-bottom:1.5rem}.detail-field{flex-direction:column;gap:.25rem}.detail-field label{min-width:auto}.submit-btn{width:100%;justify-content:center}}@media(max-width:480px){.tournament-logo img{width:48px;height:48px}.tournament-logo h1{font-size:1.25rem}.form-section,.detail-card{margin:0 -.5rem}}.form-section{margin-bottom:2rem;animation:fadeInUp .4s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}input:invalid:not(:placeholder-shown){border-color:var(--danger);box-shadow:0 0 0 3px #ef44441a}input:valid:not(:placeholder-shown){border-color:var(--success)}input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.submit-btn:focus-visible{outline:2px solid white;outline-offset:2px}label:not(.toggle-label):after{content:""}label[for$=Name]:after,label[for$=Email]:after,label[for$=Phone]:after{content:" *";color:var(--danger)}.modal-confirm-header .modal-close{color:var(--gray-700)}.form-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1rem}.form-title{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem}.section-title{font-size:1.125rem;font-weight:600;color:var(--gray-700);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-200)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:2rem;border-top:1px solid var(--gray-200);margin-top:2rem}.custom-prizes-header h4{font-size:1rem;font-weight:600;color:var(--gray-700);margin:0}.dashboard-container{position:relative;padding:.75rem;margin:0;width:100%;height:100vh;background-image:var(--dashboard-bg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;color:var(--foreground);overflow-y:auto;display:flex;flex-direction:column}.dashboard-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--dashboard-bg);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:1}.dashboard-container>*{position:relative;z-index:2}.dashboard-header{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;margin-bottom:1rem;gap:.75rem;flex-shrink:0}.dashboard-title{font-size:1.5rem;font-weight:600;color:var(--gray-800);position:relative}.dashboard-title:after{content:"";position:absolute;bottom:-.5rem;left:0;width:3rem;height:.25rem;background-color:var(--primary);border-radius:var(--radius)}.dashboard-actions{display:flex;flex-wrap:wrap;gap:1rem}.metrics-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;flex-shrink:0}.metrics-content{display:flex;flex-wrap:wrap;gap:1rem;width:100%}.metrics-content>*{flex:1 1 300px;min-width:300px}@media(max-width:768px){.metrics-content>*{flex:1 1 100%;min-width:100%}}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1rem;margin-bottom:0!important;flex:1}@media(max-width:768px){.charts-grid{grid-template-columns:1fr;gap:1rem}}.toggle-container{margin-bottom:1rem;display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.toggle-button{padding:.5rem 1rem;border:1px solid var(--border);background:#fff;color:var(--gray-700);border-radius:var(--radius-lg);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:.5rem;margin:0}.toggle-button.selected{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.toggle-button.selected:hover{background:var(--primary-dark)}.tooltip{position:relative;display:inline-block}.tooltip .tooltip-content{visibility:hidden;opacity:0;position:absolute;z-index:1000;bottom:125%;left:50%;transform:translate(-50%);background:var(--gray-900);color:#fff;padding:.5rem .75rem;border-radius:var(--radius-md);font-size:.875rem;white-space:nowrap;box-shadow:var(--shadow-lg);transition:all .3s ease}.tooltip .tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--gray-900)}.tooltip:hover .tooltip-content{visibility:visible;opacity:1}.dashboard-loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--gray-500)}.dashboard-loading .spinner{width:2rem;height:2rem;border:3px solid var(--gray-200);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-right:1rem}.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--danger);text-align:center;padding:2rem}.dashboard-error .error-icon{font-size:3rem;margin-bottom:1rem;opacity:.7}.dashboard-error .error-message{font-size:1rem;margin-bottom:1rem}.dashboard-error .retry-button{background:var(--danger);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:var(--transition)}.dashboard-error .retry-button:hover{background:var(--danger-dark)}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--gray-500);text-align:center;padding:2rem}.dashboard-empty .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.dashboard-empty .empty-message{font-size:1rem;margin-bottom:.5rem}.dashboard-empty .empty-submessage{font-size:.875rem;opacity:.7}@media(max-width:768px){.dashboard-container{padding:.5rem}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.dashboard-title{font-size:1.5rem}.dashboard-actions{width:100%;justify-content:flex-start}.toggle-container{justify-content:center}.toggle-button{flex:1;justify-content:center;min-width:0}}@media(max-width:480px){.dashboard-container{padding:.25rem}.dashboard-title{font-size:1.25rem}.charts-grid{gap:.75rem}}.tutor-toggle-section{padding:1rem 1.5rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid var(--gray-200);margin:-1px -1px 0}.tutor-toggle-label{display:flex;align-items:center;gap:1rem;cursor:pointer;font-weight:500;color:var(--gray-700)}.tutor-toggle-input{display:none}.tutor-toggle-switch{position:relative;width:52px;height:28px;background-color:var(--gray-300);border-radius:50px;transition:var(--transition);flex-shrink:0}.tutor-toggle-switch:before{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;background-color:#fff;border-radius:50%;transition:var(--transition);box-shadow:0 2px 4px #0000001a}.tutor-toggle-input:checked+.tutor-toggle-switch{background-color:var(--primary-dark)}.tutor-toggle-input:checked+.tutor-toggle-switch:before{transform:translate(24px)}.tutor-toggle-text{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.tutor-toggle-icon{color:var(--primary-color);font-size:1.1rem}.tutor-section{background-color:#fefefe;border:1px solid #e1f5fe;border-radius:var(--radius-lg);margin-bottom:1.5rem}.tutor-section .section-header{background:linear-gradient(135deg,#e3f2fd,#bbdefb);padding:1rem;border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:-1px -1px 0;border-bottom:1px solid #90caf9}.tutor-section .section-header h4{display:flex;align-items:center;gap:.5rem;color:var(--gray-800);font-weight:600;margin:0}.section-icon{color:#1976d2;font-size:1.1rem}.tutor-search-container{position:relative}.tutor-search-input{padding-right:3rem}.search-loading{position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.spinner-small{width:16px;height:16px;border:2px solid var(--gray-300);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}.tutors-list{max-height:200px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;margin-top:.5rem;box-shadow:0 4px 6px #0000000d}.tutor-item{display:flex;align-items:center;gap:.75rem;padding:1rem;cursor:pointer;transition:var(--transition);border-bottom:1px solid var(--gray-100)}.tutor-item:last-child{border-bottom:none}.tutor-item:hover{background-color:var(--gray-50)}.tutor-item-icon{color:var(--primary-color);font-size:1.25rem;flex-shrink:0}.tutor-item-info{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.tutor-item-name{font-weight:500;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutor-item-contact{font-size:.85rem;color:var(--gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-add-tutor{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-top:.5rem;width:100%;background:linear-gradient(135deg,#e8f5e8,#c8e6c8);border:1px dashed var(--success-color);border-radius:var(--radius-md);color:var(--success-color);font-weight:500;cursor:pointer;transition:var(--transition);font-size:.9rem}.btn-add-tutor:hover{background:linear-gradient(135deg,#d4f4d4,#a8d8a8);border-color:#2e7d32;color:#2e7d32}.btn-icon{font-size:1rem}.selected-tutor{display:flex;align-items:center;gap:.75rem;padding:1rem;margin-top:.5rem;background:linear-gradient(135deg,#e8f5e8,#c8e6c8);border:1px solid var(--success-color);border-radius:var(--radius-md);position:relative}.selected-tutor-icon{color:var(--success-color);font-size:1.25rem;flex-shrink:0}.selected-tutor-info{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.selected-tutor-name{font-weight:600;color:var(--gray-900)}.selected-tutor-contact{font-size:.85rem;color:var(--gray-700)}.btn-remove-tutor{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;border-radius:50%;background:#f443361a;border:none;color:var(--danger-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);padding:0}.btn-remove-tutor:hover{background:#f4433633}.tutor-form{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:1px solid #ffb74d;border-radius:var(--radius-md)}.tutor-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,183,77,.3)}.tutor-form-header h5{margin:0;color:var(--gray-800);font-weight:600;display:flex;align-items:center;gap:.5rem;flex:1}.btn-close-tutor-form{width:28px;height:28px;border-radius:50%;background:#f443361a;border:none;color:var(--danger-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.btn-close-tutor-form:hover{background:#f4433633}.disabled-input{background-color:var(--gray-100)!important;color:var(--gray-600)!important;cursor:not-allowed!important;opacity:.8}@media(max-width:640px){.tutor-toggle-section{padding:.75rem 1rem}.tutor-toggle-label{font-size:.9rem;gap:.75rem}.tutor-toggle-switch{width:44px;height:24px}.tutor-toggle-switch:before{width:20px;height:20px}.tutor-toggle-input:checked+.tutor-toggle-switch:before{transform:translate(20px)}.tutor-item{padding:.75rem;gap:.5rem}.tutor-form,.selected-tutor{padding:.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){:root{--primary: #2d7a26;--danger: #c53030;--success: #047857;--warning: #d97706;--info: #1d4ed8}}@media(prefers-color-scheme:dark){:root{--background-dark: #1a1a1a;--foreground-dark: #ffffff}}.occupation-stats-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:5px 0 0;padding:.75rem;background:#f8f9fa;border-radius:6px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;z-index:10;position:relative;clear:both;height:auto;min-height:60px}@media(max-width:768px){.occupation-stats-summary{margin:.75rem 0;padding:.5rem;gap:.5rem;min-height:50px}}@media(max-width:480px){.occupation-stats-summary{margin:.5rem 0;padding:.375rem;gap:.375rem;min-height:45px}}.occupation-stat{text-align:center;padding:.375rem;border-radius:4px;background:#fff;border:1px solid #e5e7eb;display:flex;flex-direction:column;justify-content:center;min-height:45px}@media(max-width:768px){.occupation-stat{padding:.25rem;min-height:40px}}@media(max-width:480px){.occupation-stat{padding:.2rem;min-height:35px}}.stat-value{font-size:1rem;font-weight:700;margin-bottom:.125rem;line-height:1}.stat-value.primary{color:#3b82f6}.stat-value.success{color:#10b981}.stat-value.warning{color:#f59e0b}@media(max-width:768px){.stat-value{font-size:.9rem}}@media(max-width:480px){.stat-value{font-size:.8rem}}.stat-label{font-size:.625rem;color:#666;text-transform:uppercase;letter-spacing:.025em;line-height:1.1}@media(max-width:480px){.stat-label{font-size:.55rem}}.data-table-container{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;width:100%;max-width:100%;box-sizing:border-box;padding:0}.data-table-card{width:100%;box-sizing:border-box}.data-table{width:100%;min-width:800px;border-collapse:collapse;font-size:.9rem;overflow:hidden}.data-table thead th{background-color:var(--gray-50);color:var(--gray-700);font-weight:600;padding:1rem .75rem;text-align:left;border-bottom:2px solid var(--gray-200);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:10}.data-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition)}.data-table thead th.sortable:hover{background-color:var(--gray-100);color:var(--primary)}.data-table thead th.sortable:hover .sort-icon{opacity:1;color:var(--primary)}.data-table tbody td{padding:1rem .75rem;border-bottom:1px solid var(--gray-200);vertical-align:top}.data-table tbody tr:hover{background-color:var(--gray-50)}.data-table tbody tr.even{background-color:var(--gray-25)}.data-table tbody tr.odd{background-color:#fff}.data-name{min-width:200px}.data-name-content{display:flex;flex-direction:column;gap:.25rem}.data-name-content .name{font-weight:600;color:var(--gray-800);font-size:.95rem}.data-name-content .location{font-size:.8rem;color:var(--gray-500);font-style:italic}.data-dates{min-width:150px}.data-type{min-width:120px}.data-category{min-width:120px}.data-price{min-width:80px;font-weight:600;color:var(--primary);text-align:center}.data-teams{min-width:120px}.data-status{min-width:140px}.data-actions{text-align:center}.data-image{text-align:center;padding:.5rem;width:60px}.image-indicator{display:flex;justify-content:center;align-items:center}.image-preview-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background-color .2s ease}.image-preview-btn:hover{background-color:#f3f4f6}.no-image{color:#9ca3af;font-style:italic}@media(max-width:768px){.data-table{font-size:.8rem;min-width:600px}.data-table thead th,.data-table tbody td{padding:.75rem .5rem}.data-name{min-width:120px}.data-dates{min-width:100px}.data-type,.data-category{min-width:80px}.data-price{min-width:50px}.data-teams{min-width:80px}.data-status{min-width:100px}.data-image{min-width:50px}.table-pagination{flex-direction:column;gap:1rem;text-align:center}.pagination-left,.pagination-right{justify-content:center}}.view-toggle-container{display:flex;justify-content:center;margin-bottom:1.5rem}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:var(--gray-500);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);font-size:1rem}.view-toggle-btn:hover{background-color:var(--gray-100);color:var(--primary)}.view-toggle-btn.active{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.clients-cards-container{margin-bottom:2rem;display:none}@media(max-width:768px){.clients-cards-container{display:block}}.clients-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;animation:fadeIn .4s ease}.client-card{display:grid;background-color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:var(--transition);border:1px solid transparent;max-width:768px;height:300px}.client-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.client-card.low-stock-card{background-color:#fff3cd;border-left:4px solid #ffc107;box-shadow:0 2px 8px #ffc10733}.client-card.low-stock-card:hover{background-color:#fff1b8;box-shadow:0 4px 12px #ffc1074d}.client-card-header{padding:1.5rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:1rem}.client-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--primary-light);color:var(--primary);border-radius:50%;flex-shrink:0}.client-info{flex:1}.client-name{font-size:1.1rem;font-weight:600;color:var(--gray-800);margin:0 0 .25rem}.client-alias{font-size:.9rem;color:var(--gray-500);margin:0;font-style:italic}.client-status{flex-shrink:0}.client-card-body{padding:1.5rem}.client-details{display:flex;flex-wrap:wrap;gap:.75rem}.detail-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--gray-100)}.detail-item svg{color:var(--primary);flex-shrink:0}.detail-label{font-weight:500;color:var(--gray-600);min-width:80px;font-size:.9rem}.detail-value{color:var(--gray-800);font-weight:500;flex:1;font-size:.9rem}.client-card-footer{margin-top:auto;padding:1rem 1.5rem;border-top:1px solid var(--gray-200);background-color:var(--gray-50)}.client-actions{display:flex;gap:.5rem;justify-content:flex-end}@media(max-width:768px){.clients-cards-grid{grid-template-columns:1fr;gap:1rem}.client-card-header,.client-card-body{padding:1rem}.client-card-footer{padding:.75rem 1rem}.client-avatar{width:40px;height:40px}.client-name{font-size:1rem}.detail-item{padding:.375rem 0}.detail-label{min-width:70px;font-size:.85rem}.detail-value{font-size:.85rem}.view-toggle-container{display:none}}@media(min-width:769px){.view-toggle-container{display:none}}.status-cancelled{background-color:var(--danger-light);color:var(--danger)}.no-data-message,.no-reservations-message{text-align:center;padding:2rem;color:var(--gray-500);font-style:italic}.pagination-container{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:2rem;padding:1rem}.pagination-btn{padding:.75rem 1.25rem;border:1px solid var(--gray-300);background-color:#fff;color:var(--gray-700);border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.pagination-btn:hover:not(:disabled){background-color:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.pagination-btn:disabled{background-color:var(--gray-100);color:var(--gray-400);border-color:var(--gray-200);cursor:not-allowed;opacity:.5}.pagination-info{font-weight:600;color:var(--gray-700);padding:0 .5rem;font-size:.95rem}.cards-view-container{width:100%;max-width:100%}@media screen and (max-width:640px){.pagination-container{flex-direction:column;gap:.5rem}.pagination-btn{width:100%;justify-content:center;padding:.75rem}.pagination-info{order:-1;text-align:center}}@media(max-width:768px){.cards-view-container{display:block}.view-toggle-container{display:none}}@media(min-width:769px){.cards-view-container{display:block}.view-toggle-container{display:flex}}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-start}.products_button-filter{margin-bottom:1rem}.action-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:5px;color:var(--gray-500);cursor:pointer;transition:var(--transition);font-size:.9rem;padding:.5rem;background-color:#dcdcdc}.action-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.action-button.view-btn:hover{background-color:var(--primary-light);color:var(--primary);border-color:var(--primary)}.action-button.edit-btn:hover{background-color:var(--warning-light);color:var(--warning-dark);border-color:var(--warning)}.action-button.delete-btn:hover{background-color:var(--danger-light);color:var(--danger);border-color:var(--danger)}.action-button.clone-btn:hover{background-color:var(--info-light);color:var(--info-dark);border-color:var(--info)}.action-button.share-btn:hover{background-color:var(--success-light);color:var(--success-dark);border-color:var(--success)}@media screen and (max-width:768px){.action-button{width:32px;height:32px;font-size:.8rem}.action-buttons{gap:.25rem}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;animation:fadeIn .4s ease}@media(max-width:768px){.card-grid{grid-template-columns:1fr;gap:1rem}}.card{background-color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column;border:1px solid transparent}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.card-header{padding:1rem;border-bottom:1px solid var(--gray-200)}.card-header h3{margin-top:.5rem;font-size:1.2rem;color:var(--gray-800)}.card-body{padding:1rem;flex:1}.card-info{display:flex;flex-direction:column;gap:.5rem}.card-info p{display:flex;align-items:center;gap:.5rem;color:var(--gray-600);font-size:.9rem;margin:0}.card-footer{padding:1rem;border-top:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}.card-actions{display:flex;justify-content:right;margin-left:auto;gap:.5rem}.btn-icon-card{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--gray-300);color:var(--gray-500);transition:var(--transition);cursor:pointer}.btn-icon-card:hover{background-color:var(--gray-100);color:var(--primary)}.btn-icon-card.btn-danger{border-color:var(--danger);color:var(--danger);background:none}.btn-icon-card.btn-danger:hover{background-color:var(--danger);color:#fff}.btn-icon-card.btn-primary{border-color:var(--primary);color:var(--primary);background:none}.btn-icon-card.btn-primary:hover{background-color:var(--primary);color:#fff}.btn-icon-card.btn-secondary{border-color:var(--gray-400);color:var(--gray-600);background:none}.btn-icon-card.btn-secondary:hover{background-color:var(--gray-600);color:#fff}.btn-view-details{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius-lg);color:var(--primary);font-size:.9rem;font-weight:500;transition:var(--transition);cursor:pointer}.btn-view-details:hover{background-color:var(--primary);color:#fff}.tournament-container{padding:1rem;box-sizing:border-box;min-height:100vh;color:var(--gray-800)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 2rem;background-color:#fff;box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:1rem}.app-title{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:var(--primary);cursor:pointer;transition:var(--transition)}.add-prize-btn{display:flex;align-items:center;width:fit-content}.prizes-grid{display:flex;flex-direction:column;gap:1rem}.prize-card{display:flex;gap:1rem;background-color:#fff;padding:.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:var(--transition);border:1px solid transparent}.app-title:hover{color:var(--primary-dark)}.app-nav{display:flex;gap:.75rem}.app-nav button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background:none;color:var(--gray-600);font-weight:500;border-radius:var(--radius-lg);transition:var(--transition)}.app-nav button:hover{background-color:var(--gray-100);color:var(--primary)}.app-nav button.active{color:var(--primary);background-color:var(--primary-light)}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--gray-700)}.mobile-menu{position:fixed;top:0;left:-100%;width:80%;max-width:300px;height:100vh;background-color:#fff;box-shadow:var(--shadow-lg);z-index:1000;transition:left .3s ease;overflow-y:auto}.mobile-menu.open{left:0}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--gray-200)}.mobile-menu-header button{background:none;border:none;color:var(--gray-700)}.mobile-nav{display:flex;flex-direction:column;padding:1rem}.mobile-nav button{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:none;color:var(--gray-700);text-align:left;border-radius:var(--radius-lg);margin-bottom:.5rem}.mobile-nav button.active{background-color:var(--primary-light);color:var(--primary)}.menu-divider{height:1px;background-color:var(--gray-200);margin:.75rem 0}.desktop-nav{display:flex}.btn-new-tournament{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;transition:all .3s ease;box-shadow:var(--shadow-md)}.btn-new-tournament:hover{transform:translateY(-2px);background-color:var(--primary-dark);box-shadow:var(--shadow-lg)}.btn-danger{background-color:var(--danger)!important;color:#fff!important;border:none}.btn-danger:hover{background-color:var(--danger-dark)}.btn-view-details-tournament{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:#fff;color:var(--primary);border:1px solid var(--primary-light);border-radius:var(--radius-lg);font-weight:500;transition:var(--transition)}.btn-view-details:hover{background-color:var(--primary-light)}.remove-player-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;transition:color .2s;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:50%}.remove-player-btn:hover{color:var(--danger);background-color:var(--danger-light)}.filter-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;flex-wrap:wrap}.filter-tabs button{padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-lg);color:var(--gray-600);font-weight:500;transition:var(--transition);white-space:nowrap}.filter-tabs button:hover{background-color:var(--gray-100);color:var(--primary)}.filter-tabs button.active{background-color:var(--primary);color:#fff;border-color:var(--primary)}.category-filter{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-lg);margin-bottom:1rem;width:fit-content}.category-filter-label{display:flex;align-items:center;gap:.25rem;color:var(--gray-600);font-size:.9rem;font-weight:500;white-space:nowrap}.category-select{padding:.25rem .5rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);background:#fff;color:var(--gray-700);font-size:.9rem;min-width:150px;cursor:pointer}.category-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f61a}.sort-dropdown{display:flex;align-items:center;gap:.5rem}.sort-dropdown label{display:flex;align-items:center;gap:.25rem;color:var(--gray-600);font-size:.9rem}.search-results{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:.5rem 1rem;background-color:#fff;border-radius:var(--radius-lg);font-size:.9rem;box-shadow:var(--shadow-sm)}.clear-search{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--gray-500);font-size:.85rem}.clear-search:hover{color:var(--primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background-color:#fff;border-radius:var(--radius-xl);color:var(--gray-500);text-align:center;gap:1rem;box-shadow:var(--shadow)}.help-text{font-size:.9rem;color:var(--gray-500);font-style:italic}.tournament-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tournament-days-section{display:flex;flex-direction:column;gap:1rem}.tournament-days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;align-items:start}.tournament-day-card{display:flex;align-items:center;gap:.5rem;background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:.75rem;transition:var(--transition);animation:slideIn .3s ease}.tournament-day-card:hover{background-color:var(--gray-100);border-color:var(--primary-light)}.tournament-day-input{flex:1;border:none;background:transparent;font-size:.9rem;color:var(--gray-700);outline:none}.tournament-day-input:focus{color:var(--primary)}.remove-day-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:none;border:none;color:var(--gray-400);cursor:pointer;transition:var(--transition)}.remove-day-btn:hover{color:var(--danger);background-color:var(--danger-light)}.add-day-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;background-color:#fff;border:2px dashed var(--gray-300);border-radius:var(--radius-lg);color:var(--gray-500);cursor:pointer;transition:var(--transition);font-weight:500}.add-day-btn:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-light)}.tournament-days-help{font-size:.85rem;color:var(--gray-500);font-style:italic;text-align:center;margin-top:.5rem}.detail-view{display:flex;flex-direction:column;gap:1.5rem}.tournament-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;background:#fff!important;color:#000!important}.tournament-header h2{font-size:1rem}.tournament-actions{gap:.5rem}.estado-badge{padding:.4rem .6rem!important}.estado-PENDING{background-color:var(--warning-light);color:var(--warning-dark)}.estado-PLAYING{background-color:green;color:#fff}.estado-OPEN_ENROLLMENT{background-color:var(--info-light);color:var(--info-dark)}.estado-completada{background-color:var(--success-light);color:var(--success-dark)}.estado-cancelada{background-color:var(--danger-light);color:var(--danger-dark)}.tournament-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--gray-200);margin-bottom:1.5rem;overflow-x:auto}.tournament-tabs button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;color:var(--gray-600);font-weight:500;transition:var(--transition);position:relative;white-space:nowrap}.tournament-tabs button:hover,.tournament-tabs button.active{color:var(--primary)}.tournament-tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:var(--primary)}.tab-content{min-height:300px}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tab-header h3{font-size:1.2rem;font-weight:600;color:var(--gray-800)}.info-card{background-color:#fff;border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-md)}.info-row{display:flex;margin-bottom:1rem;align-items:start}.info-value img{width:128px;height:128px;border-radius:20px}.info-row:last-child{margin-bottom:0}.info-label{width:150px;font-weight:500;display:flex;align-items:center;gap:.5rem;color:var(--gray-600)}.info-value{flex:1;color:var(--gray-800)}.registration-section{background-color:#fff;border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-md)}.registration-section h3{margin-bottom:1rem;font-size:1.1rem;color:var(--gray-800)}.registration-options{display:flex;gap:2rem;align-items:flex-start}.registration-option{flex:1}.registration-option h4{margin-bottom:1rem;font-size:1rem;color:var(--gray-700)}.registration-option p{margin-bottom:1rem;color:var(--gray-600);font-size:.9rem}.registration-divider{display:flex;align-items:center;justify-content:center;position:relative}.registration-divider:before{content:"";position:absolute;top:0;bottom:0;width:1px;background-color:var(--gray-200)}.registration-divider span{background-color:#fff;padding:.5rem;color:var(--gray-500);position:relative;z-index:1}.registration-form{display:flex;gap:1rem}.info-message{color:var(--gray-600);font-style:italic}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.team-card{background-color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column;font-size:.7rem}.team-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.team-card-header{padding:1rem;border-bottom:1px solid var(--gray-200)}.team-card-header h3{font-size:.9rem;color:var(--gray-800)}.team-card-body{padding:1rem;flex:1}.team-card-body li{list-style:none}.team-card-body p{display:flex;align-items:center;gap:.5rem;color:var(--gray-600);font-size:.9rem;margin-top:.5rem}.team-card-footer{padding:1rem;border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end}.matches-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.match-card{background-color:#fff;border-radius:var(--radius-xl);padding:1rem;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-md)}.match-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.match-date{font-size:.85rem;color:var(--gray-500)}.match-teams{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.match-team{display:flex;align-items:center;gap:.5rem}.team-name{font-weight:500;color:var(--gray-700)}.team-score{font-weight:700;font-size:1.1rem;color:var(--primary)}.vs{font-size:.85rem;color:var(--gray-400);margin:0 .5rem}.match-info{display:flex;justify-content:space-between;font-size:.85rem;color:var(--gray-500)}.match-info p{display:flex;align-items:center;gap:.25rem}.match-detail-view{padding:1rem;animation:fadeIn .4s ease}.match-detail-card{background-color:#fff;border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-md)}.match-status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.match-datetime{display:flex;flex-direction:column;gap:.5rem}.match-datetime p{display:flex;align-items:center;gap:.5rem;color:var(--gray-600)}.match-teams-detail{display:flex;align-items:center;justify-content:space-between;margin:2rem 0}.match-team-detail{text-align:center;flex:1}.match-team-detail h3{margin-bottom:.75rem;color:var(--gray-800);font-size:1.2rem}.team-players{display:flex;flex-direction:column;gap:.5rem}.player-name{font-size:.9rem;color:var(--gray-600)}.match-vs{font-size:1.5rem;color:var(--gray-400);margin:0 1rem}.match-result-form{background-color:#fff;border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-md);margin-top:2rem;border-top:1px solid var(--gray-200)}.match-result-form h3{margin-bottom:1.5rem;color:var(--gray-800);font-size:1.2rem}.sets-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.set-row{display:flex;align-items:center;gap:1.5rem;padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-lg)}.set-header{font-weight:600;color:var(--gray-700);min-width:80px}.set-scores{display:flex;align-items:center;gap:1rem;flex:1}.team-score-input{display:flex;flex-direction:column;gap:.5rem;flex:1}.team-score-input label{font-size:.9rem;color:var(--gray-600)}.score-input{width:60px;padding:.5rem;text-align:center;font-size:1.2rem;font-weight:600;border:2px solid var(--gray-200);border-radius:var(--radius-lg);background-color:#fff;transition:var(--transition)}.score-input:focus{border-color:var(--primary);outline:none}.score-input.error{border-color:var(--danger);background-color:var(--danger-light)}.score-separator{font-size:1.5rem;color:var(--gray-400);margin:0 .5rem;padding-top:1.5rem}.score-help{padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:1.5rem}.score-help p{color:var(--gray-600);font-size:.9rem;margin-bottom:.5rem}.score-help p:last-child{margin-bottom:0}.match-final-score{background-color:#fff;border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-md)}.match-final-score h3{margin-bottom:1.5rem;color:var(--gray-800);font-size:1.2rem}.sets-display{display:flex;gap:1.5rem;justify-content:center}.set-display{text-align:center}.set-display .set-header{margin-bottom:.5rem;color:var(--gray-600);font-size:.9rem}.set-display .set-score{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;color:var(--primary)}@media(max-width:768px){.match-detail-header{flex-direction:column;gap:1rem}.match-info-details{flex-direction:column;gap:.75rem}.match-teams-detail{flex-direction:column;gap:1.5rem;text-align:center}.match-vs{font-size:1.2rem}.set-row{flex-direction:column;gap:1rem}.set-header{text-align:center;width:100%}.sets-display{flex-direction:column;gap:1rem}.set-display{padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-lg)}}.finalize-match-section{margin:1.5rem 0;padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.finalize-toggle{margin-bottom:.75rem}.tournament-toggle-container{display:flex;align-items:center;gap:.1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.tournament-toggle-input{display:none}.tournament-toggle-slider{position:relative;width:50px;height:24px;background-color:var(--gray-300);border-radius:12px;transition:background-color .3s ease}.tournament-toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .3s ease}.tournament-toggle-input:checked+.tournament-toggle-slider{background-color:var(--success)}.tournament-toggle-input:checked+.tournament-toggle-slider:before{transform:translate(26px)}.tournament-toggle-label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--gray-700)}.tournament-toggle-input:checked~.tournament-toggle-label{color:var(--success)}.finalize-warning{padding:.75rem;background-color:var(--warning-light);border:1px solid var(--warning);border-radius:var(--radius-md);animation:fadeIn .3s ease}.finalize-warning p{margin:0;font-size:.9rem;color:var(--warning-dark);font-weight:500}.rankings-view{background-color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:2rem}.ranking-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--gray-200);margin-bottom:1.5rem}.ranking-tabs button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;color:var(--gray-600);font-weight:500;transition:var(--transition);position:relative}.ranking-tabs button:hover,.ranking-tabs button.active{color:var(--primary)}.ranking-tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:var(--primary)}.modal-back-button{background:none;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;padding:0;transition:var(--transition)}.modal-back-button:hover{background-color:#fff3}.team-search{margin-bottom:1.5rem;position:relative;width:100%;max-width:400px}.search-results-dropdown{position:absolute;top:100%;left:0;width:100%;background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50;margin-top:.5rem;max-height:300px;overflow-y:auto}.search-results-dropdown ul{list-style:none;padding:0;margin:0}.search-results-dropdown li{padding:.75rem 1rem;cursor:pointer;transition:var(--transition);border-bottom:1px solid var(--gray-200)}.search-results-dropdown li:last-child{border-bottom:none}.search-results-dropdown li:hover{background-color:var(--gray-100)}.no-results{padding:.5rem;color:var(--gray-500);font-size:.9rem;text-align:center}.btn-create-team{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.75rem auto 0;padding:.5rem 1rem;background-color:var(--primary-light);color:var(--primary);border:none;border-radius:var(--radius-lg);font-weight:500;transition:var(--transition)}.btn-create-team:hover{background-color:var(--primary);color:#fff}.team-form{display:flex;flex-direction:column;gap:1.5rem;animation:fadeIn .4s ease}.players-section{display:flex;flex-direction:column;gap:1rem}.section-header{display:flex;justify-content:space-between;align-items:center}.empty-players{padding:2rem;text-align:center;background-color:var(--gray-50);border-radius:var(--radius-lg);color:var(--gray-500)}.players-list{display:flex;flex-direction:column;gap:.75rem;animation:fadeIn .4s ease}.player-form-item{display:flex;align-items:center;gap:1rem;background-color:var(--gray-50);border-radius:var(--radius-lg);padding:.75rem;animation:slideIn .3s ease}.player-number{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:#fff;font-weight:600}.player-form-fields{display:flex;flex:1;gap:.75rem}.program-match-form{animation:fadeIn .4s ease}.toast{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;max-width:350px;transition:transform .3s ease,opacity .3s ease}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-info{border-left:4px solid var(--primary)}.toast-icon{display:flex;align-items:center;justify-content:center}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:var(--primary)}.toast-message{flex:1;font-size:.9rem;color:var(--gray-700)}.toast-close{background:none;border:none;color:var(--gray-400);cursor:pointer;display:flex;align-items:center;justify-content:center}.toast-visible{transform:translate(0);opacity:1}.toast-hidden{transform:translate(100%);opacity:0}.tooltip-container{position:relative;display:inline-block;transform:translateZ(0);will-change:auto}.tooltip{position:absolute!important;background-color:var(--gray-800);color:#fff;padding:.5rem .75rem;border-radius:var(--radius-md);font-size:.8rem;white-space:nowrap;z-index:100;pointer-events:none;box-shadow:var(--shadow-md);transform:translateZ(0);will-change:transform,opacity;backface-visibility:hidden}.tooltip-top{bottom:100%;left:90%;transform:translate(-50%) translateY(-8px)}.tooltip-bottom{top:100%;left:50%;transform:translate(-50%) translateY(8px)}.tooltip-left{right:100%;top:50%;transform:translateY(-50%) translate(-8px)}.tooltip-right{left:100%;top:50%}.tooltip:after{content:"";position:absolute;border-width:5px;border-style:solid}.tooltip-top:after{top:100%;left:50%;transform:translate(-50%);border-color:var(--gray-800) transparent transparent transparent}.tooltip-bottom:after{bottom:100%;left:50%;transform:translate(-50%);border-color:transparent transparent var(--gray-800) transparent}.tooltip-left:after{top:50%;left:100%;transform:translateY(-50%);border-color:transparent transparent transparent var(--gray-800)}.tooltip-right:after{top:50%;right:100%;transform:translateY(-50%);border-color:transparent var(--gray-800) transparent transparent}.confirmation-dialog{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem}.confirmation-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%}.confirmation-icon.danger{background-color:var(--danger-light);color:var(--danger)}.confirmation-icon.warning{background-color:var(--warning-light);color:var(--warning)}.confirmation-icon.info{background-color:var(--primary-light);color:var(--primary)}.confirmation-message{text-align:center;font-size:1rem;color:var(--gray-700)}.app-content{padding:0}.player-selection{display:flex;flex-direction:column;gap:1.5rem}.selected-players{background-color:var(--gray-50);border-radius:var(--radius-xl);padding:1rem}.selected-players h4{color:var(--gray-700);margin-bottom:1rem;font-size:.9rem}.selected-players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem}.selected-player-card{display:flex;justify-content:space-between;align-items:center;background-color:#fff;padding:.75rem;border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:var(--transition);position:relative}.selected-player-card:hover{border-color:var(--danger-light)}.selected-player-card .btn-remove-player{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:none;background:var(--gray-100);color:var(--gray-500);cursor:pointer;transition:var(--transition);padding:0}.selected-player-card .btn-remove-player:hover{color:#fff;background-color:var(--danger)}.selected-player-card .player-info{padding-right:2rem}.player-result-card{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition)}.player-result-card:not(.selected):hover{background-color:var(--gray-50);border-color:var(--primary-light)}.player-result-card.selected{background-color:var(--primary-light);border-color:var(--primary);cursor:default}.player-result-card.selected .player-name{color:var(--primary)}.player-status{display:flex;align-items:center;justify-content:center}.selected-icon{color:var(--primary)}.add-icon{color:var(--gray-400)}.player-result-card:not(.selected):hover .add-icon{color:var(--primary)}.add-player-form{display:flex;flex-direction:column;gap:1rem;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.tournaments-table-container{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;width:100%;max-width:100%;box-sizing:border-box}.tournaments-table-card{width:100%;box-sizing:border-box}.tournaments-table{width:100%;min-width:800px;border-collapse:collapse;font-size:.9rem;overflow:hidden}.tournaments-table thead th{background-color:var(--gray-50);color:var(--gray-700);font-weight:600;padding:1rem .75rem;text-align:left;border-bottom:2px solid var(--gray-200);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:10}.tournaments-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition)}.tournaments-table thead th.sortable:hover{background-color:var(--gray-100);color:var(--primary)}.tournaments-table thead th.sortable:hover .sort-icon{opacity:1;color:var(--primary)}.tournaments-table tbody td{padding:1rem .75rem;border-bottom:1px solid var(--gray-200);vertical-align:top}.tournaments-table tbody tr:hover{background-color:var(--gray-50)}.tournaments-table tbody tr.even{background-color:var(--gray-25)}.tournaments-table tbody tr.odd{background-color:#fff}.tournament-name{min-width:200px}.tournament-name-content{display:flex;flex-direction:column;gap:.25rem}.tournament-name-content .name{font-weight:600;color:var(--gray-800);font-size:.95rem}.tournament-name-content .location{font-size:.8rem;color:var(--gray-500);font-style:italic}.tournament-dates{min-width:150px}.dates-content{display:flex;align-items:center;gap:.5rem;color:var(--gray-700);font-size:.85rem}.tournament-type{min-width:120px}.type-content{display:flex;align-items:center;gap:.5rem;color:var(--gray-700);font-size:.85rem}.tournament-category{min-width:120px}.category-content{display:flex;align-items:center;gap:.5rem;color:var(--gray-700);font-size:.85rem}.tournament-price{min-width:80px;font-weight:600;color:var(--primary);text-align:center}.tournament-teams{min-width:120px}.teams-content{display:flex;align-items:center;gap:.5rem;color:var(--gray-700);font-size:.85rem}.tournament-status{min-width:140px}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center;min-width:100px}.status-pending{background-color:var(--warning-light);color:var(--warning-dark)}.status-open-enrollment{background-color:var(--info-light);color:var(--info-dark)}.status-playing{background-color:var(--success-light);color:var(--success-dark)}.status-completed{background-color:var(--gray-200);color:var(--gray-700)}.status-unknown{background-color:var(--gray-100);color:var(--gray-500)}.table-pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:var(--gray-50);border-top:1px solid var(--gray-200)}.rows-label{font-size:.85rem;color:var(--gray-600)}.rows-select{padding:.375rem .5rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);background:#fff;font-size:.85rem;color:var(--gray-700)}.pagination-center{display:flex;align-items:center}.results-info{font-size:.85rem;color:var(--gray-600)}.pagination-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--gray-300);background:#fff;color:var(--gray-600);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);font-size:.9rem}.pagination-arrow:hover:not(:disabled){background-color:var(--primary-light);color:var(--primary);border-color:var(--primary)}.pagination-arrow:disabled{opacity:.5;cursor:not-allowed}.filters-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}@media(max-width:768px){.app-header{padding:.75rem 1rem}.header-left{flex:1}.app-title{font-size:1.25rem}.search-container{width:100%;margin-bottom:1rem}.mobile-menu-toggle{display:flex;margin-right:.75rem}.form-row,.tournament-days-grid{grid-template-columns:1fr}.match-teams-detail{flex-direction:column;gap:1rem}.match-vs{margin:1rem 0}.registration-form{flex-direction:column}.registration-options{flex-direction:column;gap:1.5rem}.registration-divider{display:none}.player-form-fields{flex-direction:column}.tournament-tabs{flex-wrap:wrap}.tournament-tabs button{flex:1;justify-content:center}.filters-container{align-items:flex-start}.filter-tabs{width:100%}.category-filter{width:100%;margin-bottom:1rem;flex-wrap:wrap;justify-content:space-between}.category-select{flex:1;min-width:120px}.sort-dropdown{width:100%;justify-content:space-between}.tournaments-table{font-size:.8rem;min-width:600px}.tournaments-table thead th,.tournaments-table tbody td{padding:.75rem .5rem}.tournament-name{min-width:120px}.tournament-dates{min-width:100px}.tournament-type,.tournament-category{min-width:80px}.tournament-price{min-width:50px}.tournament-teams{min-width:80px}.tournament-status{min-width:100px}.tournament-actions{min-width:120px}.table-pagination{flex-direction:column;gap:1rem;text-align:center}.pagination-left,.pagination-right{justify-content:center}}.active-tab{border-bottom:2px solid var(--primary)!important;border-radius:0!important;color:var(--primary)!important}.payment-modal{display:flex;flex-direction:column;gap:1.5rem}.payment-info{background-color:var(--gray-50);padding:1rem;border-radius:var(--radius-lg)}.payment-info h3{margin-bottom:1rem;color:var(--gray-800)}.payment-info p{margin-bottom:.5rem;color:var(--gray-600)}.payment-methods{display:flex;flex-direction:column;gap:1rem}.payment-methods h4{color:var(--gray-800);margin-bottom:.5rem}.payment-methods label{display:flex;flex-direction:row;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--gray-50);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition)}.payment-methods label:hover{background-color:var(--gray-100)}.payment-methods input[type=radio]{width:1.25rem;height:1.25rem;accent-color:var(--primary)}.btn-save.disabled{opacity:.5;cursor:not-allowed}.price-input-container{position:relative;display:flex;align-items:center}.price-symbol{position:absolute;left:12px;color:#666;font-size:1rem}.price-input{padding-left:24px!important;text-align:right;font-family:monospace;letter-spacing:1px}.groups-section{margin-bottom:2rem}.groups-section h4{font-size:1.1rem;font-weight:600;color:var(--gray-800);margin-bottom:1rem}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.group-card{background-color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:var(--transition);border:1px solid var(--gray-200)}.group-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.group-card-header{padding:1rem;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;background-color:var(--gray-50)}.group-card-header h5{font-size:1rem;font-weight:600;color:var(--gray-800);margin:0}.btn-add-team-to-group{display:flex;align-items:center;margin:auto;background:#fff;border:1px dotted gainsboro}.btn-add-team-to-group:hover{background-color:#dcdcdc;transform:scale(1.1)}.btn-remove-team-to-group{position:absolute;top:1rem;right:1rem;display:flex;background:#dcdcdc;color:#000;padding:.2rem;border-radius:50%;height:24px;width:24px;justify-content:center;align-items:center}.btn-remove-team-to-group:hover{background:red;color:wheat}.registration-confirmed-badge{background:green;color:#fff;display:flex;align-items:center;justify-content:center;width:fit-content;gap:.5rem;overflow:hidden;padding:.3rem 1rem;border-radius:20px;margin-left:auto}.btn-confirm-registration{display:flex;align-items:center;color:#fff;background:var(--primary);gap:.5rem}.group-card-body{padding:1rem}.group-teams{display:flex;flex-direction:column;gap:.75rem}.group-team-card{position:relative;background-color:var(--gray-50);border-radius:var(--radius-lg);padding:.75rem;border:1px solid var(--gray-200);transition:var(--transition)}.group-team-card:hover{background-color:var(--gray-100);border-color:var(--primary-light)}.group-team-card .team-name{font-weight:500;color:var(--gray-800);display:block;margin-bottom:.25rem}.team-players small{background-color:var(--primary-light);color:var(--primary);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.empty-group{text-align:center;color:var(--gray-500);font-style:italic;padding:1rem}.empty-group p{margin:0;font-size:.9rem}.add-team-to-group-form{display:flex;flex-direction:column;gap:1.5rem}.available-teams-list h3{font-size:1.1rem;font-weight:600;color:var(--gray-800);margin-bottom:1rem}.error-message{background-color:var(--danger-light);color:var(--danger);padding:.75rem;border-radius:var(--radius-lg);margin-bottom:1rem;font-size:.9rem}.error-message p{margin:0}.prizes-section{display:flex;flex-direction:column;gap:1rem}.custom-prizes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.add-prize-btn:hover{background-color:var(--primary-dark)}.add-new-player-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem;background-color:var(--primary-light);border:1px dashed var(--primary);border-radius:var(--radius-lg);color:var(--primary);font-size:.9rem;cursor:pointer;transition:var(--transition)}.add-new-player-btn:hover{background-color:var(--primary);color:#fff}.add-new-player-btn strong{font-weight:600}.match-detail{display:flex;flex-direction:column;gap:1.5rem;padding:1rem;animation:fadeIn .4s ease}.match-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-xl)}.match-info-details{display:flex;gap:1.5rem}.match-info-details p{display:flex;align-items:center;gap:.5rem;color:var(--gray-600);font-size:.9rem}.match-location{display:flex;align-items:center;gap:.5rem;color:var(--gray-600);margin-bottom:1.5rem}.score-inputs{display:flex;gap:1rem;margin-bottom:1rem}.team-score-large{font-size:2.5rem;font-weight:700;color:var(--primary)}.match-completed-notice{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background-color:var(--success-50);border:1px solid var(--success-200);border-radius:var(--radius-xl);text-align:center;margin:1rem 0}.completed-badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:var(--success-100);color:var(--success-700);border-radius:var(--radius-full);font-weight:600;font-size:.9rem}.match-completed-notice p{color:var(--gray-600);margin:0;font-size:.95rem}.tournament-phase-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--gray-200);margin-bottom:1.5rem;overflow-x:auto}.tournament-phase-tabs button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;color:var(--gray-600);font-weight:500;transition:var(--transition);position:relative;white-space:nowrap;min-width:fit-content;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.tournament-phase-tabs button:hover{color:var(--primary);background-color:var(--gray-50)}.tournament-phase-tabs button.active{color:var(--primary);background-color:#fff;border:1px solid var(--gray-200);border-bottom:1px solid white;margin-bottom:-1px}.tournament-phase-tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:#fff}.groups-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.groups-header h4{font-size:1.2rem;font-weight:600;color:var(--gray-800);margin:0}.elimination-bracket{display:flex;flex-direction:column;gap:1.5rem}.bracket-header{text-align:center;padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-xl)}.bracket-header h4{font-size:1.3rem;font-weight:600;color:var(--gray-800);margin:0 0 .5rem}.bracket-info{color:var(--gray-600);font-size:.9rem;margin:0}.bracket-matches{margin-bottom:2rem}.matches-grid{zoom:.8;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.bracket-match-card{background-color:#fff;border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-md);border:1px solid var(--gray-200);transition:var(--transition);height:fit-content}.bracket-match-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.match-number{text-align:center;font-size:.85rem;font-weight:600;color:var(--primary);padding:.25rem .5rem;background-color:var(--primary-light);border-radius:var(--radius-lg);width:fit-content;margin:0 auto 1rem}.match-teams-bracket{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.match-team-bracket{display:flex;justify-content:center;align-items:center;padding:1rem .75rem;background-color:var(--gray-50);border-radius:var(--radius-lg);border:2px solid transparent;transition:var(--transition);min-height:80px}.match-team-bracket.winner{background-color:var(--success-light);border-color:var(--success)}.match-team-bracket.winner .team-name{color:var(--success-dark);font-weight:600}.match-team-bracket .team-name{font-weight:500;color:var(--gray-700);flex:1}.match-team-bracket .team-score{font-weight:700;font-size:1.2rem;color:var(--primary);min-width:40px;text-align:center}.team-sets{display:flex;gap:.25rem;align-items:center}.set-score{background-color:var(--primary-light);color:var(--primary);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;min-width:30px;text-align:center}.match-team-bracket.winner .set-score{background-color:var(--success);color:#fff}.team-info{display:flex;flex-direction:column;align-items:center;width:100%;gap:.5rem}.team-name-container{display:flex;align-items:center;gap:.5rem;justify-content:center}.winner-trophy{color:var(--success);animation:trophyBounce .6s ease-in-out;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}@keyframes trophyBounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-8px)}70%{transform:translateY(-4px)}90%{transform:translateY(-2px)}}.team-sets-below{display:flex;gap:.25rem;align-items:center;justify-content:center;flex-wrap:wrap}.set-score-below{background-color:var(--gray-200);color:var(--gray-700);padding:.2rem .4rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;min-width:24px;text-align:center;border:1px solid var(--gray-300);transition:all .2s ease}.match-team-bracket.winner .set-score-below{background-color:var(--success);color:#fff;border-color:var(--success-dark);box-shadow:0 2px 4px #4caf504d}.vs-bracket{text-align:center;font-size:.85rem;color:var(--gray-400);font-weight:500;margin:.25rem 0}.match-info-bracket{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--gray-200)}.match-time{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--gray-600)}.match-status-bracket{align-self:flex-start}.match-score-detail{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--gray-700);background-color:var(--gray-100);padding:.5rem;border-radius:var(--radius-lg)}.match-winner{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--success);font-weight:600;background-color:var(--success-light);padding:.5rem;border-radius:var(--radius-lg)}.bracket-match-card.clickable{cursor:pointer;transition:all .2s ease}.bracket-match-card.clickable:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl);border-color:var(--primary);background-color:var(--primary-light)}.bracket-match-card.clickable:active{transform:translateY(-1px);transition:all .1s ease}.match-action-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8rem;color:var(--primary);font-weight:500;background-color:var(--primary-light);padding:.4rem .8rem;border-radius:var(--radius-lg);margin-top:.5rem;border:1px dashed var(--primary);opacity:.8;transition:opacity .2s ease}.bracket-match-card.clickable:hover .match-action-hint{opacity:1;background-color:var(--primary);color:#fff;border-style:solid}.match-completed-info{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.8rem;color:var(--success-dark);font-weight:500;background-color:var(--success-light);padding:.4rem .8rem;border-radius:var(--radius-lg);margin-top:.5rem;border:1px solid var(--success)}.qualified-teams{background-color:#fff;border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-md)}.qualified-teams h5{font-size:1.1rem;font-weight:600;color:var(--gray-800);margin:0 0 1rem}.teams-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem}.qualified-team{background-color:var(--gray-50);border-radius:var(--radius-lg);padding:.75rem;border:1px solid var(--gray-200);transition:var(--transition)}.qualified-team:hover{background-color:var(--gray-100);border-color:var(--primary-light)}.qualified-team .team-name{font-weight:500;color:var(--gray-800);display:block;margin-bottom:.25rem}.qualified-team .team-group{color:var(--gray-500);font-size:.8rem}.estado-pending{background-color:var(--warning-light);color:var(--warning-dark)}.estado-completed{background-color:var(--success-light);color:var(--success-dark)}@media(max-width:768px){.tournament-phase-tabs{flex-wrap:wrap;gap:.25rem}.tournament-phase-tabs button{flex:1;min-width:80px;padding:.5rem .75rem;font-size:.85rem}.matches-grid{grid-template-columns:1fr}.bracket-match-card{padding:1rem}.match-team-bracket{padding:.5rem}.teams-list{grid-template-columns:1fr}.groups-header{flex-direction:column;gap:1rem;text-align:center}.groups-header button{width:100%}}.qualified-team.enhanced{padding:1rem}.team-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.team-header .team-name{font-size:1rem;font-weight:600;color:var(--gray-800);margin-bottom:0}.team-stats{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end}.stat{background-color:var(--primary-light);color:var(--primary);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.team-details{display:flex;flex-direction:column;gap:.5rem}.games-stats{font-size:.85rem;color:var(--gray-600)}.games-stats span{background-color:var(--gray-200);padding:.25rem .5rem;border-radius:var(--radius-sm);font-weight:500}.full-brackets{display:flex;flex-direction:column;gap:2rem;padding:1rem}.full-brackets-container{width:100%}.brackets-header{text-align:center;margin-bottom:2rem}.tournament-info h3{font-size:1.8rem;font-weight:700;color:var(--gray-800);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:1px}.bracket-tree{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:var(--radius-xl);padding:2rem;position:relative;overflow-x:auto}.bracket-tree-block{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:var(--radius-xl);padding:1rem 1rem 2rem}.bracket-tree-block .brackets-brand{margin-bottom:.5rem}.bracket-tree-block .bracket-tree{background:transparent;padding-top:1rem}.bracket-side{display:flex;flex-direction:row;gap:2rem;align-items:center}.bracket-side.left,.bracket-side.right{align-items:center}.bracket-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:200px;z-index:10}.bracket-round{display:flex;flex-direction:column;gap:1rem;position:relative}.round-label{font-size:.9rem;font-weight:600;color:var(--gray-600);text-align:center;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;padding:.5rem;background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}.round-matches{display:flex;flex-direction:column;gap:2rem;position:relative}.bracket-match{display:flex;flex-direction:column;gap:.5rem;position:relative;width:200px}.match-connector{width:2px;height:10px;background-color:var(--gray-400);margin:0 auto}.bracket-team-slot{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:#fff;border:2px solid var(--gray-300);border-radius:var(--radius-lg);transition:all .3s ease;position:relative;min-height:50px;box-shadow:var(--shadow-sm)}.bracket-team-slot.clickable{cursor:pointer}.bracket-team-slot.clickable:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.bracket-team-slot.empty{background-color:var(--gray-100);border-style:dashed;border-color:var(--gray-300)}.bracket-team-slot.empty .team-name{color:var(--gray-400);font-style:italic}.bracket-team-slot.winner{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-color:#d97706;color:#fff;font-weight:600;box-shadow:0 4px 12px #d977064d;transform:scale(1.02)}.bracket-team-slot.winner .team-name{color:#fff;font-weight:600}.bracket-team-slot.winner .team-sets{background-color:#fff3;color:#fff;border-color:#ffffff4d}.winner-icon{margin-left:.5rem;color:inherit}.champion-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:var(--radius-xl);box-shadow:0 8px 25px #d9770666;border:3px solid #d97706;position:relative;overflow:hidden}.champion-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}.champion-trophy{position:relative;z-index:2}.trophy-icon{color:#fef3c7;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));animation:trophyFloat 2s ease-in-out infinite}@keyframes trophyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.champion-info{text-align:center;position:relative;z-index:2}.champion-info h3{color:#fff;font-size:1.2rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:1px}.champion-name{color:#fff;font-size:1.1rem;font-weight:600;background-color:#fff3;padding:.5rem 1rem;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.3);text-shadow:0 1px 2px rgba(0,0,0,.2)}.final-section{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:3rem 2rem;margin:2rem 0;background:linear-gradient(135deg,#ffd7001a,#ffc10726,#ffd7001a);border:3px solid #ffd700;border-radius:var(--radius-xl);box-shadow:0 10px 30px #ffd7004d,0 4px 20px #0000001a,inset 0 1px #ffffff4d;position:relative;overflow:hidden;transform:scale(1.05);transition:all .3s ease}.final-section:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:finalShine 3s infinite;z-index:1}.final-section>*{position:relative;z-index:2}@keyframes finalShine{0%{left:-100%}50%{left:100%}to{left:100%}}.final-round .round-label{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;font-size:1.3rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3);border:none;box-shadow:var(--shadow-md),0 0 20px rgba(var(--primary-rgb),.3);padding:1rem 2rem;text-transform:uppercase;letter-spacing:1px;border-radius:var(--radius-lg)}.third-place-section{margin-top:3rem;text-align:center;padding:2rem;background-color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:2px solid #cd7c2f}.third-place-section h4{font-size:1.2rem;font-weight:600;color:#cd7c2f;margin:0 0 1.5rem;text-transform:uppercase;letter-spacing:.5px}.third-place-match{display:flex;justify-content:center}.match-detail-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.match-detail-modal{background-color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:600px;width:90%;max-height:80vh;overflow-y:auto;animation:scaleIn .3s ease}.team-detail{display:flex;align-items:center;gap:.75rem;flex:1;padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-lg)}.team-detail span{font-weight:500;color:var(--gray-700)}.vs-detail{font-size:1.2rem;color:var(--gray-400);font-weight:500}.score-detail{display:flex;align-items:center;gap:.75rem;padding:1rem;background-color:var(--primary-light);border-radius:var(--radius-lg);margin-bottom:1.5rem}.score-detail span{font-weight:600;color:var(--primary);font-size:1.1rem}.status-detail{text-align:center}.status-badge.in_progress{background-color:var(--warning);color:#fff}.status-badge.pending{background-color:var(--gray-400);color:#fff}.empty-brackets{text-align:center;padding:4rem 2rem;color:var(--gray-500);background-color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.empty-brackets-icon{margin-bottom:1.5rem;opacity:.6}.empty-brackets h4{font-size:1.2rem;color:var(--gray-600);margin-bottom:.75rem}.empty-brackets p{font-size:.95rem;color:var(--gray-500)}@media(max-width:1200px){.bracket-tree{grid-template-columns:1fr;gap:3rem;text-align:center}.bracket-side,.bracket-side.left,.bracket-side.right,.bracket-round,.round-matches{align-items:center}}@media(max-width:768px){.full-brackets{padding:.5rem}.bracket-tree{padding:1rem;gap:2rem}.bracket-match{width:180px}.bracket-team-slot{padding:.5rem .75rem;min-height:45px}}.manual-bracket-setup{display:flex;flex-direction:column;height:100%;gap:1rem}.setup-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.setup-info h3{margin:0;color:var(--gray-800);font-size:1.1rem}.setup-info p{margin:.25rem 0 0;color:var(--gray-600);font-size:.9rem}.setup-actions{display:flex;gap:.75rem}.setup-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;flex:1;min-height:0}.teams-panel,.brackets-panel{display:flex;flex-direction:column;background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden}.panel-header{display:flex;align-items:center;gap:.5rem;padding:1rem;background-color:var(--gray-50);border-bottom:1px solid var(--gray-200)}.panel-header h4{margin:0;color:var(--gray-800);font-size:1rem}.teams-table-container{flex:1;overflow:auto}.teams-table th,.teams-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--gray-200)}.teams-table th{background-color:var(--gray-50);font-weight:600;color:var(--gray-700);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.team-table-row{cursor:grab;transition:background-color .2s ease}.team-table-row:hover{background-color:var(--primary-light)}.team-table-row:active{cursor:grabbing}.position-cell{width:50px;text-align:center;font-weight:600;color:var(--primary)}.group-cell{width:100px}.group-pill{display:inline-block;padding:.25rem .5rem;background-color:var(--primary-light);color:var(--primary-dark);border-radius:var(--radius-sm);font-size:.8rem;font-weight:500}.points-cell{width:60px;text-align:center;font-weight:600;color:var(--primary)}.brackets-container{flex:1;padding:1rem;overflow:auto}.empty-teams{padding:2rem;text-align:center;color:var(--gray-500)}.empty-matches{padding:2rem;text-align:center;color:var(--gray-500);font-style:italic}.validation-message{padding:1rem;background-color:var(--warning-light);border:1px solid var(--warning);border-radius:var(--radius-md);color:var(--warning-dark);text-align:center;margin-top:1rem}.manual-config-options{margin:1rem 0;padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.manual-config-options .form-group{margin-bottom:.75rem}.manual-config-options label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;color:var(--gray-700);justify-content:flex-start}.manual-config-options input[type=radio]{width:fit-content;margin:0}.manual-config-options .form-control{text-align:left;justify-content:flex-start}.manual-config-options select{text-align:left;text-align-last:left}.manual-config-options select option{text-align:left}@media(max-width:1024px){.setup-content{grid-template-columns:1fr;gap:1rem}.setup-header{flex-direction:column;gap:1rem;align-items:stretch}.setup-actions{justify-content:center}}@media(max-width:768px){.teams-table{font-size:.85rem}.teams-table th,.teams-table td{padding:.5rem}.bracket-match{padding:.75rem}.bracket-team-slot{padding:.5rem;min-height:50px}.team-name{font-size:.8rem}.champion-section{padding:1.5rem}.champion-info h3,.champion-name{font-size:1rem}.trophy-icon{width:40px;height:40px}.match-detail-modal{width:95%;max-height:90vh}.match-detail-content{padding:1.5rem}.match-teams-detail{flex-direction:column;gap:1rem}.team-detail{text-align:center;justify-content:center}.vs-detail{font-size:1rem}}.groups-subtabs{display:flex;gap:.5rem;border-bottom:1px solid var(--gray-200);margin-bottom:1.5rem;overflow-x:auto}.groups-subtabs button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;color:var(--gray-600);font-weight:500;transition:var(--transition);position:relative;white-space:nowrap;min-width:fit-content;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.groups-subtabs button:hover{color:var(--primary);background-color:var(--gray-50)}.groups-subtabs button.active{color:var(--primary);background-color:#fff;border:1px solid var(--gray-200);border-bottom:1px solid white;margin-bottom:-1px}.groups-subtabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:var(--primary)}.fixture-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.fixture-header h4{font-size:1.2rem;font-weight:600;color:var(--gray-800);margin:0}.fixture-cards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.fixture-cards-header h5{font-size:1.1rem;font-weight:600;color:var(--gray-800);margin:0}.date-filter-container{display:flex;align-items:center;gap:.75rem;background-color:#fff;padding:.5rem 1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.date-filter-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;color:var(--gray-700);white-space:nowrap}.date-filter-select{padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);background-color:#fff;color:var(--gray-800);font-size:.9rem;min-width:150px;transition:var(--transition)}.date-filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.date-filter-select:hover{border-color:var(--gray-400)}.fixture-view-controls{display:flex;gap:.5rem;background-color:var(--gray-100);border-radius:var(--radius-lg);padding:.25rem}.fixture-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.btn-download-flyer{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:var(--radius-lg);font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;box-shadow:0 2px 8px #0596694d;min-height:44px}.btn-download-flyer:hover{transform:translateY(-2px);box-shadow:0 4px 12px #05966966;background:linear-gradient(135deg,#10b981,#059669)}.btn-download-flyer:active{transform:translateY(0);box-shadow:0 2px 6px #0596694d}.btn-download-flyer svg{width:18px;height:18px;flex-shrink:0}.btn-download-flyer:disabled{background:var(--gray-400);cursor:not-allowed;transform:none;box-shadow:none}.btn-download-flyer:disabled:hover{transform:none;box-shadow:none}.btn-view-mode{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:none;border:none;color:var(--gray-600);font-weight:500;transition:var(--transition);border-radius:var(--radius-md);font-size:.9rem}.btn-view-mode:hover{color:var(--primary)}.btn-view-mode.active{background-color:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}.fixture-table-view h5{font-size:1.1rem;font-weight:600;color:var(--gray-800);margin-bottom:1.5rem}.groups-statistics{display:flex;flex-direction:column;gap:2rem}.group-statistics{background-color:#fff;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--gray-200)}.group-badge{padding:1rem 1.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-bottom:1px solid var(--primary-dark)}.group-name-pill{display:inline-block;color:#fff;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.fixture-table{width:100%;border-collapse:collapse;font-size:.9rem}.fixture-table thead th{background-color:var(--gray-50);color:var(--gray-700);font-weight:600;padding:1rem .75rem;text-align:left;border-bottom:2px solid var(--gray-200);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.fixture-table tbody td{padding:1rem .75rem;border-bottom:1px solid var(--gray-200);vertical-align:top}.fixture-table tbody tr{transition:var(--transition)}.fixture-table tbody tr:hover{background-color:var(--gray-50)}.fixture-table tbody tr.first-place{background-color:var(--success-light);font-weight:600}.fixture-table tbody tr.first-place:hover{background-color:var(--success-100)}.team-name-cell span{display:block;font-weight:500;color:var(--gray-800);margin-bottom:.25rem}.team-players-small small{background-color:var(--primary-light);color:var(--primary);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500}@media(max-width:768px){.fixture-header,.fixture-cards-header{flex-direction:column;align-items:stretch}.date-filter-container{justify-content:space-between;flex-wrap:wrap}.date-filter-label{font-size:.85rem}.date-filter-select{min-width:120px;font-size:.85rem}.fixture-view-controls{width:100%;justify-content:center}.btn-view-mode{flex:1;justify-content:center}.groups-subtabs{flex-wrap:wrap;gap:.25rem}.groups-subtabs button{flex:1;min-width:120px;justify-content:center}.fixture-table{font-size:.8rem}.fixture-table thead th,.fixture-table tbody td{padding:.75rem .5rem}.team-name-cell{min-width:140px}.team-players-small{flex-direction:column;gap:.125rem}.team-players-small small{font-size:.65rem}.group-badge{padding:.75rem 1rem}.group-name-pill{font-size:.9rem}}@media(max-width:480px){.fixture-table{font-size:.75rem}.fixture-table thead th,.fixture-table tbody td{padding:.5rem .25rem}.team-name-cell{min-width:120px}.group-pill-cell{min-width:80px}.group-pill{font-size:.6rem;padding:.2rem .4rem;letter-spacing:.25px}.points-cell{font-size:1rem}}@media(min-width:1200px){.groups-statistics{display:grid;grid-template-columns:repeat(auto-fit,minmax(600px,1fr));gap:2rem}.fixture-table{font-size:1rem}.fixture-table thead th,.fixture-table tbody td{padding:1.25rem 1rem}}.fixture-table tbody td.negative{color:var(--danger);font-weight:600}.confirm-registration-form{display:flex;flex-direction:column;gap:1rem;max-height:80vh;overflow-y:auto}.form-group label{display:flex;align-items:center;gap:.375rem;font-weight:500;color:#374151;margin-bottom:.375rem;font-size:.875rem}.label-icon{color:var(--primary)}.form-input.enhanced,.form-select.enhanced{padding:.625rem .75rem;border:2px solid #e2e8f0;border-radius:6px;font-size:.875rem;transition:all .2s ease;background:#fff}.form-input.enhanced:focus,.form-select.enhanced:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.form-input.enhanced::placeholder{color:#9ca3af}.payment-summary{margin-top:.75rem;background:#f8fafc;border-radius:6px;padding:.75rem;border:1px solid #e2e8f0}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;border-bottom:1px solid #e2e8f0;font-size:.8rem}.summary-row:last-child{border-bottom:none}.summary-row.total{font-weight:600;font-size:.875rem;padding-top:.5rem;border-top:2px solid #e2e8f0;margin-top:.375rem}.total-amount{color:var(--primary);font-weight:700;font-size:1rem}.modal-footer.enhanced{display:flex;gap:.75rem;padding-top:1rem;border-top:2px solid #e2e8f0;margin-top:.5rem}.btn-cancel.enhanced{display:flex;align-items:center;gap:.375rem;padding:.625rem 1.25rem;background:#f8fafc;color:#64748b;border:1px solid #e2e8f0;border-radius:6px;font-weight:500;transition:all .2s ease;cursor:pointer;font-size:.875rem}.btn-cancel.enhanced:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#475569}.btn-confirm.enhanced{display:flex;align-items:center;gap:.375rem;padding:.625rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-weight:600;transition:all .2s ease;cursor:pointer;flex:1;justify-content:center;font-size:.875rem}.btn-confirm.enhanced:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-confirm.enhanced:disabled{background:#e2e8f0;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-spinner-small{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.confirm-registration-form{gap:.75rem}.registration-section{padding:.75rem}.players-grid{grid-template-columns:1fr}.modal-footer.enhanced{flex-direction:column;gap:.5rem}.btn-confirm.enhanced{order:-1}.section-header h3{font-size:.9rem}.info-label{min-width:100px;font-size:.8rem}.info-value{font-size:.8rem}}.time-preferences-container{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.time-preference-group{background-color:var(--gray-50);border-radius:var(--radius-md);padding:.5rem;border:1px solid var(--gray-200)}.preference-date{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--gray-700);margin-bottom:.25rem}.preference-slots{display:flex;flex-wrap:wrap;gap:.25rem}.time-slot-badge{background-color:var(--primary-light);color:var(--primary-dark);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;border:1px solid var(--primary)}.time-preference-group.no-preferences{background-color:var(--gray-100);border-color:var(--gray-300)}.time-preference-group.no-preferences .preference-date{color:var(--gray-500);font-style:italic}@media(max-width:768px){.time-preferences-container{gap:.375rem}.time-preference-group{padding:.375rem}.preference-date{font-size:.7rem}.time-slot-badge{font-size:.65rem;padding:.1rem .25rem}}.tournament-modal-content .sidebar-modal-body{overflow-y:auto!important;overflow-x:hidden!important;flex:1!important;padding:1rem!important;max-height:calc(100vh - 80px)!important}.tournament-modal-content .sidebar-modal-body::-webkit-scrollbar{width:8px}.tournament-modal-content .sidebar-modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.tournament-modal-content .sidebar-modal-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.tournament-modal-content .sidebar-modal-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media(max-width:1024px){.tournament-modal-content{width:90vw!important;max-width:90vw!important;min-width:90vw!important}.tournament-modal-content .sidebar-modal-body{max-height:calc(100vh - 70px)!important;padding:.75rem!important}}@media(max-width:768px){.tournament-modal-content{width:100vw!important;max-width:100vw!important;min-width:100vw!important}.tournament-modal-content .sidebar-modal-body{max-height:calc(100vh - 60px)!important;padding:.5rem!important}.tournament-modal-content .sidebar-modal-body::-webkit-scrollbar{width:6px}}.tournament-submodal-backdrop{z-index:5800!important;background:#0009!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important}.tournament-submodal-content{z-index:5801!important;max-width:90vw!important;max-height:90vh!important;overflow-y:auto!important;box-shadow:0 25px 50px -12px #00000040!important}@media(max-width:768px){.tournament-submodal-content{max-width:95vw!important;max-height:95vh!important;margin:1rem!important}}.tournament-modal-content .sidebar-content{display:flex;flex-direction:column;gap:2rem;flex:1;overflow-y:auto;padding-right:0;min-height:0}.tournament-modal-content .sidebar-content::-webkit-scrollbar{width:6px}.tournament-modal-content .sidebar-content::-webkit-scrollbar-track{background:#f1f5f9}.tournament-modal-content .sidebar-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.tournament-modal-content .sidebar-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tournament-modal-content .sidebar-section{background:#f8fafc;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0}.tournament-modal-content .sidebar-section h4{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#1e293b;border-bottom:2px solid #3b82f6;padding-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.tournament-modal-content .sidebar-section .section-icon{color:#3b82f6;font-size:1.25rem}.tournament-modal-content .form-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #e2e8f0;background:#f8fafc;margin-top:auto;flex-shrink:0}@media(max-width:768px){.tournament-modal-content .sidebar-section{padding:1rem}}.create-tournament-grid{display:flex;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}@media(max-width:768px){.create-tournament-grid{display:flex;flex-wrap:wrap}}.tournament-skeleton-loader{padding:1rem;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.skeleton-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.skeleton-filter-tabs{display:flex;gap:.75rem;flex-wrap:wrap}.skeleton-filter-tab{height:36px;width:120px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:8px}.skeleton-view-toggle{display:flex;gap:.5rem}.skeleton-toggle-btn{height:36px;width:36px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:8px}.skeleton-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.skeleton-tournament-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.skeleton-card-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.skeleton-badge{height:24px;width:100px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:12px}.skeleton-card-title{height:28px;width:80%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:6px}.skeleton-card-body{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.skeleton-info-row{height:20px;width:100%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:4px}.skeleton-info-row:nth-child(2){width:85%}.skeleton-info-row:nth-child(3){width:70%}.skeleton-info-row:nth-child(4){width:90%}.skeleton-card-footer{display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #f0f0f0}.skeleton-action-btn{height:32px;width:32px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:8px}.skeleton-table-wrapper{margin:0;padding:0}.skeleton-table-wrapper .tournaments-table-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.skeleton-table-wrapper .table-wrapper{overflow-x:auto}.skeleton-table-wrapper .tournaments-table{width:100%;border-collapse:collapse}.skeleton-table-wrapper .tournaments-table th{padding:1rem;text-align:left;border-bottom:2px solid var(--gray-200, #e5e7eb);background:var(--gray-50, #f9fafb);font-weight:600;color:var(--gray-700, #374151);font-size:.875rem;white-space:nowrap}.skeleton-table-wrapper .tournaments-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.skeleton-table-wrapper .tournaments-table th .sort-icon{margin-left:.5rem;opacity:.5;transition:opacity .2s}.skeleton-table-wrapper .tournaments-table td.skeleton-table-cell{padding:1rem;border-bottom:1px solid var(--gray-100, #f3f4f6);vertical-align:top}@media(max-width:768px){.skeleton-card-grid{grid-template-columns:1fr}.skeleton-filters{flex-direction:column;align-items:flex-start}.skeleton-filter-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.skeleton-view-toggle{width:100%;justify-content:flex-end}.skeleton-table-wrapper .tournaments-table{min-width:800px}.skeleton-table-wrapper .tournaments-table th{padding:.75rem .5rem;font-size:.8rem}.skeleton-table-wrapper .tournaments-table td.skeleton-table-cell{padding:.75rem .5rem}.skeleton-table-content,.skeleton-table-content.wide,.skeleton-table-content.narrow,.skeleton-table-content.short{width:100%}}@media(max-width:480px){.skeleton-tournament-card{padding:1rem}.skeleton-card-footer{flex-wrap:wrap}.skeleton-action-btn{flex:1;min-width:32px}}.advance-elimination-content{display:flex;flex-direction:column;gap:2rem;padding:2rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:500px;width:100%;max-width:none}.advance-info-section{margin-bottom:2rem}.advance-info-card{background:#fff;border:none;border-radius:16px;padding:2rem;box-shadow:0 10px 25px #0000001a;position:relative;overflow:hidden}.advance-info-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669)}.info-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--primary)}.advance-config .form-group{margin-bottom:1.5rem}.advance-config label{display:flex;align-items:center;gap:.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.advance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin:2rem 0;padding:0}.summary-item{display:flex;flex-direction:column;text-align:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:1.5rem 1rem;border-radius:12px;border:1px solid #bae6fd;transition:transform .2s ease,box-shadow .2s ease}.summary-item:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.summary-item .label{font-size:.875rem;color:#64748b;margin-bottom:.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.summary-item .value{font-size:1.5rem;font-weight:800;color:#0ea5e9;text-shadow:0 1px 2px rgba(0,0,0,.1)}.warning-message,.info-message{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:8px;margin-top:1rem}.warning-message{background:#fef3cd;border:1px solid #faebcd;color:#856404}.info-message{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.advance-options{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.option-card{background:#fff;border:none;border-radius:16px;padding:2.5rem 2rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #00000014;position:relative;overflow:hidden;cursor:pointer}.option-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669);transform:scaleX(0);transition:transform .3s ease}.option-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000026}.option-card:hover:before{transform:scaleX(1)}.option-card.automatic{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.option-card.manual{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.option-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.option-card.automatic .option-header{color:#059669}.option-card.manual .option-header{color:#2563eb}.option-header h3{font-size:1.25rem;font-weight:700;margin:0}.option-card p{color:#64748b;margin-bottom:2rem;line-height:1.6;font-size:.95rem}.option-card .btn-primary,.option-card .btn-secondary{padding:.75rem 2rem;border-radius:10px;font-weight:600;transition:all .2s ease;border:none;cursor:pointer;font-size:.95rem}.option-card.automatic .btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.option-card.automatic .btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.option-card.manual .btn-secondary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f64d}.option-card.manual .btn-secondary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}.manual-bracket-setup{height:100%;display:flex;flex-direction:column;background:linear-gradient(135deg,#f8fafc,#e2e8f0);overflow:hidden}.setup-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;background:#fff;border-bottom:none;flex-shrink:0;box-shadow:0 2px 10px #0000001a;position:relative}.setup-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#10b981,#059669,#3b82f6)}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:10px;color:#475569;cursor:pointer;transition:all .2s ease;font-weight:500}.btn-back:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.setup-info h3{margin:0;color:#1e293b;font-size:1.5rem;font-weight:700}.setup-info p{margin:.5rem 0 0;color:#64748b;font-size:.95rem;font-weight:500}.setup-actions{display:flex;align-items:center;gap:1rem}.setup-actions .btn-secondary,.setup-actions .btn-primary{padding:.75rem 1.5rem;border-radius:10px;font-weight:600;transition:all .2s ease;border:none;cursor:pointer;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.setup-actions .btn-secondary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 12px #f59e0b4d}.setup-actions .btn-secondary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b66}.setup-actions .btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.setup-actions .btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.setup-actions .btn-primary:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.setup-content{display:grid;grid-template-columns:400px 1fr;flex:1;overflow:hidden}.teams-panel{background:#fff;border-right:none;display:flex;flex-direction:column;box-shadow:2px 0 10px #0000001a;position:relative;z-index:1}.panel-header{display:flex;align-items:center;gap:.75rem;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9);flex-shrink:0;position:relative}.panel-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#10b981,#3b82f6)}.panel-header h4{margin:0;color:#1e293b;font-size:1.1rem;font-weight:700}.teams-table-container{flex:1;overflow-y:auto}.teams-table{width:100%;border-collapse:collapse}.teams-table th{background:var(--background-light);padding:.75rem .5rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color);font-size:.875rem;position:sticky;top:0;z-index:1}.team-table-row{cursor:grab;transition:all .2s ease;position:relative}.team-table-row:hover{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);transform:translate(4px)}.team-table-row:active{cursor:grabbing;background:linear-gradient(135deg,#dbeafe,#bfdbfe);transform:scale(1.02)}.teams-table td{padding:.75rem .5rem;border-bottom:1px solid var(--border-light);font-size:.875rem}.position-cell{text-align:center;font-weight:600;color:var(--primary);width:40px}.team-name-cell{min-width:180px}.team-info .team-name{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.team-players-small{display:flex;flex-wrap:wrap;gap:.25rem}.team-players-small small{color:var(--text-secondary);font-size:.75rem}.group-cell{width:80px}.group-pill{display:inline-block;padding:.25rem .5rem;background:var(--primary);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.points-cell{text-align:center;font-weight:700;color:var(--primary);width:50px}.positive{color:#28a745}.negative{color:#dc3545}.empty-teams{padding:2rem;text-align:center;color:var(--text-secondary)}.brackets-panel{display:flex;flex-direction:column;background:linear-gradient(135deg,#f8fafc,#f1f5f9);position:relative}.brackets-container{flex:1;overflow:auto;padding:2rem}.bracket-round{margin-bottom:3rem}.round-label{font-size:1.25rem;font-weight:800;color:#fff;margin-bottom:1.5rem;text-align:center;padding:1rem;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 4px 15px #10b9814d;text-transform:uppercase;letter-spacing:1px}.round-matches{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.5rem}.bracket-match{background:#fff;border:none;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 4px 15px #0000001a;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.bracket-match:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#10b981)}.bracket-match:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.bracket-team-slot{min-height:70px;padding:1rem;border:2px dashed #cbd5e1;border-radius:10px;display:flex;flex-direction:column;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative}.bracket-team-slot.empty{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#64748b;border-style:dashed}.bracket-team-slot.empty:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#94a3b8}.bracket-team-slot.filled{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:2px solid #3b82f6;border-style:solid;box-shadow:0 4px 12px #3b82f64d}.bracket-team-slot.filled:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.bracket-team-slot.drag-over{border-color:#10b981;background:linear-gradient(135deg,#d1fae5,#a7f3d0);transform:scale(1.05);border-style:solid;box-shadow:0 0 20px #10b9814d}.bracket-team-slot .team-name{font-weight:700;font-size:.95rem;margin-bottom:.25rem}.bracket-team-slot .team-group{font-size:.75rem;opacity:.9;font-weight:500;padding:.25rem .5rem;background:#fff3;border-radius:6px;width:fit-content}.bracket-team-slot.empty .team-group{background:#64748b1a}.bracket-team-slot .placeholder{font-size:.9rem;text-align:center;font-style:italic;font-weight:500}.match-connector{height:3px;background:linear-gradient(90deg,#e2e8f0,#cbd5e1,#e2e8f0);margin:.5rem 0;border-radius:2px}.validation-message{padding:1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;color:#92400e;text-align:center;margin-top:1.5rem;font-weight:600;box-shadow:0 4px 12px #f59e0b33}.empty-brackets,.empty-matches{padding:3rem 2rem;text-align:center;color:#64748b;font-style:italic}.empty-brackets{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;border:2px dashed #cbd5e1;font-size:1.1rem;font-weight:500}.empty-matches{padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px;border:1px dashed #cbd5e1;font-size:.95rem;font-weight:500}@media(max-width:1200px){.setup-content{grid-template-columns:350px 1fr}}@media(max-width:768px){.setup-content{grid-template-columns:1fr}.teams-panel{max-height:40vh}.advance-options{grid-template-columns:1fr}.setup-header{flex-direction:column;gap:1rem;align-items:stretch}.setup-actions{justify-content:center}}._tournament-container_1fcvq_3{max-width:1200px;margin:0 auto;padding:1.5rem;background-color:var(--gray-50)}._tournament-header_1fcvq_10{background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;color:#fff;padding:2rem;border-radius:var(--radius-2xl);margin-bottom:.5rem;box-shadow:var(--shadow-xl)}._tournament-logo_1fcvq_19{display:flex;align-items:center;gap:1rem;color:#fff}._tournament-logo_1fcvq_19 img{width:64px;height:64px;border-radius:var(--radius-xl);object-fit:cover}._tournament-logo_1fcvq_19 h1{font-size:2rem;font-weight:700;margin:0;color:#fff}._tournament-content_1fcvq_40{display:grid;gap:1rem}._detail-card_1fcvq_45{background-color:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition)}._detail-card_1fcvq_45:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}._detail-card-header_1fcvq_59{background-color:var(--gray-50);padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:.75rem}._detail-card-icon_1fcvq_68{font-size:1.5rem}._detail-card-header_1fcvq_59 h4{margin:0;font-size:1.125rem;font-weight:700;color:var(--gray-800)}._detail-card-content_1fcvq_79{padding:1.25rem}._detail-field_1fcvq_83{display:flex;align-items:flex-start;margin-bottom:1rem;gap:.75rem}._detail-field_1fcvq_83:last-child{margin-bottom:0}._detail-field-icon_1fcvq_94{color:var(--primary);font-size:1.125rem;flex-shrink:0;margin-top:.125rem}._detail-field_1fcvq_83 label{min-width:100px;font-size:.875rem;font-weight:600;color:var(--gray-600);margin:0;flex-shrink:0}._detail-value_1fcvq_110{font-size:.875rem;font-weight:500;color:var(--gray-800);line-height:1.5}._registration-form_1fcvq_117{display:flex;flex-direction:column;gap:2rem;height:100%;max-height:unset;padding:0}._form-section_1fcvq_126{background-color:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);transition:var(--transition);overflow:hidden;padding:.5rem}._form-section_1fcvq_126:hover{box-shadow:var(--shadow-lg)}._section-header_1fcvq_140{background-color:var(--gray-50);padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:.75rem}._section-icon_1fcvq_149{font-size:1.5rem;color:var(--primary)}._section-header_1fcvq_140 h3{margin:0;font-size:1.125rem;font-weight:700;color:var(--gray-800)}._form-group_1fcvq_161{padding:0 1.25rem;margin-bottom:.2rem}._form-group_1fcvq_161:last-child{margin-bottom:1.25rem}._form-row_1fcvq_170{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:0 1.25rem;margin-bottom:1.5rem}._form-row_1fcvq_170:last-child{margin-bottom:1.25rem}._form-row_1fcvq_170 ._form-group_1fcvq_161{padding:0;margin-bottom:0}._form-actions_1fcvq_187{display:flex;justify-content:center;padding:2rem}._submit-btn_1fcvq_193{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-md)}._submit-btn_1fcvq_193:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}._submit-btn_1fcvq_193:active{transform:translateY(0)}._btn-icon_1fcvq_219{font-size:1.125rem}._error-container_1fcvq_222,._loading-container_1fcvq_234{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background-color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}._error-container_1fcvq_222 h3{color:var(--danger);margin-bottom:.5rem}._error-container_1fcvq_222 p{color:var(--gray-600);margin-bottom:1.5rem}._retry-btn_1fcvq_258{padding:.75rem 1.5rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:var(--transition)}._retry-btn_1fcvq_258:hover{background-color:var(--primary-dark)}@media(max-width:768px){._tournament-container_1fcvq_3{padding:1rem}._tournament-header_1fcvq_10{padding:1.5rem}._tournament-logo_1fcvq_19{width:100%;flex-direction:column;text-align:center;gap:.75rem}._tournament-logo_1fcvq_19 h1{font-size:1.5rem}}._checkbox-group_1fcvq_295{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}._checkbox-label_1fcvq_302{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--gray-700);padding:.25rem 0}._checkbox-label_1fcvq_302 input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}._checkbox-label_1fcvq_302 span{font-weight:500}._day-selection_1fcvq_323{margin-top:1rem}._time-slots-selection_1fcvq_327{margin-top:1rem;padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}._time-slots-selection_1fcvq_327 label{display:block;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}._enrollment-closed-banner_1fcvq_344{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:1.5rem;border-radius:var(--radius-xl);margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-lg)}._banner-icon_1fcvq_356{font-size:2rem;flex-shrink:0}._banner-content_1fcvq_361 h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:700}._banner-content_1fcvq_361 p{margin:0 0 .5rem;font-size:1rem}._banner-content_1fcvq_361 small{font-size:.875rem;opacity:.9}._registration-disabled_1fcvq_378{background-color:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);padding:3rem;text-align:center;box-shadow:var(--shadow-md)}._disabled-message_1fcvq_387 h3{color:var(--gray-800);font-size:1.5rem;font-weight:700;margin:0 0 1rem}._disabled-message_1fcvq_387 p{color:var(--gray-600);font-size:1rem;margin:0}@media(max-width:768px){._checkbox-group_1fcvq_295{gap:.25rem}._time-slots-selection_1fcvq_327{padding:.75rem}._enrollment-closed-banner_1fcvq_344{flex-direction:column;text-align:center;gap:.75rem}._banner-icon_1fcvq_356{font-size:3rem}}.classes-container{padding:1.5rem;box-sizing:border-box;min-height:100vh;color:var(--gray-800)}.classes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.classes-title{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem;position:relative}.classes-title:after{content:"";position:absolute;bottom:-.5rem;left:0;width:3rem;height:.25rem;background-color:var(--primary);border-radius:var(--radius)}.btn-new-class{display:flex;position:absolute;right:1rem;bottom:1rem;z-index:1000;align-items:center;gap:.5rem;background-color:var(--primary);color:#fff;border:none;border-radius:50%;width:60px;height:60px;padding:.6rem;justify-content:center;font-weight:600;transition:all .3s ease;box-shadow:var(--shadow-md)}.btn-new-class-text{display:none}.btn-new-class:hover{transform:translateY(-2px);background-color:var(--primary-dark);box-shadow:var(--shadow-lg)}.btn-new-class:active{transform:translateY(0)}.filters-section{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem}.filters-container{display:flex;flex-wrap:wrap;justify-content:left!important;gap:1rem}.filter-group{display:flex;flex-direction:column}.filter-group label{font-size:.75rem;font-weight:600;color:var(--gray-600);margin-bottom:.25rem}.filter-select{padding:.625rem 1rem;border-radius:var(--radius-lg);border:1px solid var(--gray-300);background-color:#fff;color:var(--gray-700);font-size:.875rem;cursor:pointer;transition:var(--transition)}.filter-select:hover{border-color:var(--primary)}.classes-grid{display:grid;gap:1.5rem;min-height:calc(100vh - 200px)}.classes-grid-content{display:flex;flex-wrap:wrap;gap:1.5rem}.no-classes{display:flex;align-items:center;justify-content:center;min-height:300px;width:100%;text-align:center;color:var(--text-muted);font-size:1.1rem}.class-card{height:fit-content;width:100%;max-width:360px;display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden;will-change:transform,opacity}.class-card:hover{box-shadow:var(--shadow-lg)}.class-card-header{padding:2.25rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;display:flex;justify-content:space-between;align-items:center;margin:-1.25rem -1.25rem 0;border-radius:8px 8px 0 0}.class-card-header h3{margin:0;font-size:1.25rem;font-weight:600}.class-actions{gap:.5rem;min-width:200px}.btn-icon{background:#fff3;border:none;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#000;cursor:pointer;transition:all .2s ease;padding:0}.btn-icon:hover{background:#ffffff4d;transform:scale(1.1)}.btn-icon.delete{background-color:#fef2f2;color:#dc2626}.btn-icon.delete:hover{background:var(--danger);color:#b91c1c}.class-card-body{padding:1.25rem;flex-grow:1;display:flex;flex-direction:column;gap:1rem}.class-info{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.info-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--gray-700)}.info-icon{color:var(--primary);flex-shrink:0}.class-teachers{margin-top:.5rem}.class-teachers h4{font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.teachers-list{display:flex;flex-wrap:wrap;gap:.5rem}.teacher-tag{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background-color:var(--primary-light);color:var(--primary);border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.teacher-icon{font-size:.875rem}.class-level{margin-top:.5rem}.level-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase}.level-badge.small{padding:.25rem .5rem;font-size:.7rem}.level-beginner{background-color:var(--success-light);color:var(--success)}.level-intermediate{background-color:var(--warning-light);color:var(--warning)}.level-advanced{background-color:var(--danger-light);color:var(--danger)}.payment-progress{margin-top:auto;padding-top:1rem}.progress-label{display:flex;justify-content:space-between;font-size:.75rem;color:var(--gray-600);margin-bottom:.5rem}.payment-stats{font-weight:600}.progress-bar{height:.5rem;background-color:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background-color:var(--success);border-radius:var(--radius-full);transition:width .3s ease}.class-card-footer{padding:1.25rem;border-top:1px solid var(--gray-200);text-align:center}.btn-view-details{width:100%;padding:.75rem;background-color:var(--gray-100);color:var(--gray-800);border:1px solid var(--gray-300);border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-view-details:hover{background-color:var(--gray-200);transform:translateY(-2px)}.no-classes-icon{font-size:3rem;color:var(--gray-400);margin-bottom:1rem}.no-classes p{color:var(--gray-600);margin-bottom:1.5rem}.btn-reset-filters{padding:.75rem 1.25rem;background-color:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-reset-filters:hover{background-color:var(--gray-200)}.class-modal{max-width:700px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.full-width{grid-column:1 / -1}.days-selector{display:flex;flex-wrap:wrap;gap:.5rem}.day-button{padding:.5rem;min-width:3rem;background-color:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--gray-700);cursor:pointer;transition:all .2s ease}.day-button:hover{background-color:var(--gray-200)}.day-button.selected{background-color:var(--primary);color:#fff;border-color:var(--primary)}.teachers-selector{display:flex;flex-direction:column;gap:.75rem;max-height:200px;overflow-y:auto;padding:.5rem;background-color:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.teacher-option{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);cursor:pointer;transition:all .2s ease}.teacher-option:hover{background-color:var(--gray-100);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.teacher-option.selected{background-color:var(--primary-light);border-color:var(--primary)}.teacher-option-info{display:flex;align-items:center;gap:.75rem}.teacher-option-icon{color:var(--primary);font-size:1.25rem}.teacher-option-details{display:flex;flex-direction:column}.teacher-option-name{font-weight:600;color:var(--gray-800)}.teacher-option-speciality{font-size:.75rem;color:var(--gray-600)}.teacher-option-check{color:var(--primary);font-size:1.25rem}.class-detail-modal{max-width:800px}.class-detail-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem}.detail-card{background-color:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition)}.detail-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.detail-card-header{background-color:var(--gray-50);padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;gap:.75rem}.detail-card-icon{color:var(--primary);font-size:1.25rem}.detail-card-header h4{margin:0;font-size:1rem;font-weight:700;color:var(--gray-800)}.detail-card-content{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.25rem}.detail-field{display:flex;margin-bottom:.75rem}.payment-method-actions{display:flex;gap:.5rem;margin:1rem}.detail-field:last-child{margin-bottom:0}.detail-label{font-weight:600;color:var(--gray-700)}.detail-value{color:var(--gray-800)}.no-data-message{color:var(--gray-500);font-style:italic;text-align:center;padding:1rem 0}.detail-teachers-list{display:flex;flex-direction:column;gap:1rem}.detail-teacher-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background-color:var(--gray-50);border-radius:var(--radius-lg)}.teacher-avatar{width:3rem;height:3rem;background-color:var(--primary-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary)}.teacher-avatar-icon{font-size:1.5rem}.teacher-info{display:flex;flex-direction:column}.teacher-name{font-weight:600;color:var(--gray-800)}.teacher-speciality{font-size:.875rem;color:var(--gray-600);margin-top:.25rem}.teacher-rating{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.rating-value{font-weight:600;color:var(--gray-700)}.rating-stars{display:flex}.star{color:var(--gray-300);font-size:.875rem}.star.filled{color:gold}.students-section{background-color:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-md)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background-color:var(--gray-50);border-bottom:1px solid var(--gray-200)}.section-header h4{margin:0;font-size:1.125rem;font-weight:700;color:var(--gray-800);display:flex;align-items:center;gap:.5rem}.section-icon{color:var(--primary)}.btn-add-student{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-add-student:hover:not(:disabled){background-color:var(--primary-dark);transform:translateY(-2px)}.btn-add-student:disabled{background-color:var(--gray-300);cursor:not-allowed}.no-students{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.no-students-icon{font-size:3rem;color:var(--gray-400);margin-bottom:1rem}.no-students p{color:var(--gray-600)}.students-table-container{padding:1.25rem;overflow-x:auto}.students-table{width:100%;border-collapse:collapse}.students-table th{text-align:left;padding:.75rem 1rem;background-color:var(--gray-100);color:var(--gray-700);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.students-table td{padding:.75rem 1rem;border-bottom:1px solid var(--gray-200)}.student-name-cell{min-width:250px}.student-info{display:flex;align-items:center;gap:.75rem}.student-avatar{width:2.5rem;height:2.5rem;background-color:var(--primary-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary)}.student-avatar.large{width:4rem;height:4rem;font-size:1.5rem}.student-avatar-icon{font-size:1.25rem}.student-name{font-weight:600;color:var(--gray-800)}.student-email{font-size:.75rem;color:var(--gray-600)}.payment-status{display:flex;align-items:center}.payment-badge{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.payment-badge.pending{background-color:var(--warning-light);color:var(--warning)}.payment-badge.paid{background-color:var(--success-light);color:var(--success)}.payment-icon{font-size:1rem}.student-actions{display:flex;gap:.5rem}.modal-footer .btn-edit{display:flex;width:fit-content;align-items:center;gap:.5rem;margin:auto 0;padding:1.25rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease}.modal-footer .btn-edit:hover{background-color:var(--primary-dark);transform:translateY(-2px)}.modal-footer .btn-close{padding:.75rem 1.25rem;background-color:#fff;color:var(--gray-700);border:1px solid var(--gray-300);border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease}.modal-footer .btn-close:hover{background-color:var(--gray-100)}.add-student-modal{max-width:500px}.students-results{margin-top:1.5rem;max-height:400px;overflow-y:auto}.no-results,.search-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--gray-600)}.no-results-icon,.search-prompt-icon{font-size:2.5rem;color:var(--gray-400);margin-bottom:1rem}.students-list{display:flex;flex-direction:column;gap:.75rem}.student-result-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);cursor:pointer;transition:all .2s ease}.student-result-item:hover{background-color:var(--primary-light);border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.student-result-info{display:flex;align-items:center;gap:.75rem}.student-result-avatar{width:2.5rem;height:2.5rem;background-color:var(--primary-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary)}.student-result-avatar-icon{font-size:1.25rem}.student-result-name{font-weight:600;color:var(--gray-800)}.student-result-email{font-size:.75rem;color:var(--gray-600)}.student-result-level{margin-top:.25rem}.student-result-action{color:var(--primary);font-size:1.25rem}.add-icon{transition:transform .2s ease}.student-result-item:hover .add-icon{transform:scale(1.2)}.payment-modal{max-width:800px}.payment-modal .payment-method-selector{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:1.25rem;margin:1rem 0 1.5rem;box-shadow:0 2px 4px #0000000d}.payment-modal .payment-method-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--gray-700)}.payment-modal .payment-method-icon{font-size:1.2rem;color:var(--primary)}.payment-modal .payment-method-header h4{margin:0;font-size:1.05rem;font-weight:700}.payment-modal .payment-method-content p{margin:.25rem 0 .75rem;color:var(--gray-600);font-size:.9rem}.payment-modal .payment-summary-inline{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem;background:#fff;border:1px dashed #e9ecef;border-radius:8px;padding:.75rem;margin:0 0 .75rem;margin-top:0}.payment-modal .payment-summary-inline .summary-row{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;color:var(--gray-700)}.payment-modal .payment-summary-inline .summary-row strong{color:var(--gray-900)}.payment-modal .method-grid{display:flex;gap:.75rem;margin-bottom:1rem}.payment-modal .method-card{display:flex;align-items:center;gap:.5rem;width:100%;background:#fff;border:1px solid #ced4da;border-radius:10px;padding:.8rem .9rem;color:var(--gray-800);transition:border-color .2s ease,box-shadow .2s ease,transform .05s ease}.payment-modal .method-card:hover:not(:disabled){border-color:#80bdff;box-shadow:0 0 0 .2rem #3b82f626}.payment-modal .method-card:disabled{opacity:.6;cursor:not-allowed}.payment-modal .method-card.active{border-color:var(--success);box-shadow:0 0 0 .2rem #22c55e33}.payment-modal .method-icon{font-size:1.1rem;color:var(--primary);display:inline-flex;min-width:40px}.payment-modal .method-card.active .method-icon{color:var(--success)}.payment-modal .method-label{font-weight:700;font-size:.9rem}.payment-modal .payment-method-actions{display:flex;gap:.75rem;justify-content:flex-end}.payment-modal .btn-cancel-payment{padding:.6rem 1rem;border:1px solid var(--gray-400);background:#fff;color:var(--gray-700);border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.payment-modal .btn-cancel-payment:hover{background:var(--gray-700);color:#fff}.payment-modal .btn-confirm-payment{padding:.6rem 1rem;border:1px solid var(--success);background:var(--success);color:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.payment-modal .btn-confirm-payment:hover:not(.disabled){filter:brightness(.95)}.payment-modal .btn-confirm-payment.disabled{opacity:.6;cursor:not-allowed;background:var(--gray-500);border-color:var(--gray-500)}.payment-modal .action-icon.spinning{animation:logo-spin 1s linear infinite}.payment-modal .payment-row.highlight{animation:row-flash 2s ease}@keyframes row-flash{0%{background-color:#e7f7ee}to{background-color:transparent}}.payment-modal .modal-header{display:flex!important;justify-content:space-between!important;align-items:center!important;border-bottom:1px solid var(--gray-200)!important;background:var(--primary)!important;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0!important;margin:0!important}.payment-modal .modal-title{margin:0!important;font-size:1.25rem!important;font-weight:600!important;color:#fff!important;display:flex!important;align-items:center!important;gap:.5rem!important}.payment-modal .modal-title-icon{font-size:1.5rem!important;color:#fff!important}.payment-modal .modal-close{background:none!important;border:none!important;color:#fff!important;font-size:1.5rem!important;cursor:pointer!important;padding:.5rem!important;border-radius:50%!important;transition:background-color .2s ease!important}.payment-modal .modal-close:hover{background-color:#ffffff1a}.payment-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--gray-200)}.payment-class-info h4{font-size:1.25rem;font-weight:700;color:var(--gray-800);margin:0 0 .5rem}.payment-class-details{display:flex;flex-wrap:wrap;gap:1rem;color:var(--gray-600);font-size:.875rem}.payment-student-info{display:flex;align-items:center;gap:1rem}.student-phone{font-size:.75rem;color:var(--gray-600)}.student-amount{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background-color:#e8f5e8;border-radius:6px;border-left:3px solid #28a745}.amount-icon{color:#28a745;font-size:1rem}.amount-label{font-size:.8rem;color:#155724;font-weight:500}.amount-value{font-size:.9rem;color:#155724;font-weight:600}.original-price{text-decoration:line-through;color:var(--gray-500)!important}.price-note{font-size:.75rem;color:var(--gray-500);font-style:italic}.payments-table-container{margin-bottom:1.5rem;overflow-x:auto}.payments-table{width:100%;border-collapse:collapse}.payments-table th{text-align:left;padding:.75rem 1rem;background-color:var(--gray-100);color:var(--gray-700);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.payments-table td{padding:.75rem 1rem;border-bottom:1px solid var(--gray-200)}.payment-row.paid{background-color:var(--success-light)}.payment-period{display:flex;align-items:center;gap:.5rem;font-weight:500}.period-icon{color:var(--primary)}.payment-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.payment-status-badge.paid{background-color:var(--success-light);color:var(--success)}.payment-status-badge.pending{background-color:var(--warning-light);color:var(--warning)}.status-icon{font-size:1rem}.payment-date{font-weight:500}.no-payment-date{color:var(--gray-500);font-style:italic}.payment-actions{display:flex;gap:.5rem}.btn-mark-paid,.btn-mark-pending{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-lg);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-mark-paid{background-color:var(--success-light);color:var(--success);border:1px solid var(--success)}.btn-mark-paid:hover{background-color:var(--success);color:#fff}.btn-mark-pending{background-color:var(--warning-light);color:var(--warning);border:1px solid var(--warning)}.btn-mark-pending:hover{background-color:var(--warning);color:#fff}.action-icon{font-size:1rem}.no-payments{padding:2rem!important}.no-payments-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--gray-600)}.no-payments-icon{font-size:2.5rem;color:var(--gray-400);margin-bottom:1rem}.payment-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;background-color:#fff!important;border:1px solid #e9ecef!important;border-radius:12px!important;padding:1.25rem;margin-top:0!important}.summary-item{display:flex;flex-direction:column;gap:.5rem;width:fit-content}.summary-label{font-size:.75rem;color:var(--gray-600);font-weight:500}.summary-value{font-size:1.25rem;font-weight:700;color:var(--gray-800)}.summary-value.paid{color:var(--success)}.summary-value.pending{color:var(--warning)}.summary-value.amount{color:var(--primary)}.btn-print{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-print:hover{background-color:var(--gray-200)}@media screen and (max-width:768px){.classes-grid,.form-grid,.class-detail-info{grid-template-columns:1fr}.payment-info-header{flex-direction:column;gap:1.5rem}.payment-student-info{width:100%}.payment-summary{grid-template-columns:1fr 1fr}}@media screen and (max-width:480px){.class-info,.payment-summary{grid-template-columns:1fr}.days-selector{justify-content:center}}@media screen and (min-width:768px){.detail-card-content{flex-direction:column;flex-wrap:nowrap}.btn-new-class{display:flex;position:relative;align-items:center;height:fit-content;width:fit-content;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;transition:all .3s ease;box-shadow:var(--shadow-md);font-size:.8rem}.btn-new-class-text{display:flex}}.days-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:.5rem}.day-card{background:#f3f4f6;border:2px solid transparent;border-radius:8px;padding:1rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.day-card:hover{background:#e5e7eb}.day-card.selected{background:#dbeafe;border-color:#3b82f6}.day-name{font-weight:500}.day-check{color:#3b82f6}.ages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:.75rem;margin-top:.5rem;max-height:200px;overflow-y:auto}.age-card{background:#f3f4f6;border:2px solid transparent;border-radius:8px;padding:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:all .2s ease;min-height:48px}.age-card:hover{background:#e5e7eb}.age-card.selected{background:#dbeafe;border-color:#3b82f6}.age-number{font-weight:500;font-size:.875rem}.age-check{position:absolute;top:4px;right:4px;color:#3b82f6;font-size:.75rem}.selected-ages-info{margin-top:.5rem;padding:.5rem;background:#f0f9ff;border-radius:6px;border:1px solid #e0f2fe}.selected-ages-info span{font-size:.875rem;color:#0369a1;font-weight:500}.court-classes-card.currently-used{background:#fef3c7;border-color:#f59e0b}.court-classes-card.currently-used.selected{background:#dbeafe;border-color:#3b82f6}.court-status{font-size:.75rem;color:#d97706;font-weight:500;font-style:italic}.number-input-group{display:flex;align-items:center;gap:1rem;background:#f3f4f6;border-radius:8px;padding:.5rem}.number-control{background:#fff;border:1px solid #e5e7eb;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.number-control:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.number-control:disabled{opacity:.5;cursor:not-allowed}.number-value{font-weight:500;min-width:48px;text-align:center}.teachers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:.5rem}.teacher-card{background:#f3f4f6;border:2px solid transparent;border-radius:8px;padding:1rem;cursor:pointer;display:flex;align-items:center;gap:1rem;transition:all .2s ease}.teacher-card:hover{background:#e5e7eb}.teacher-card.selected{background:#dbeafe;border-color:#3b82f6}.class-type-selector{display:flex;gap:1rem;margin-top:.5rem}.class-type-option{flex:1;background:#f3f4f6;border:2px solid transparent;border-radius:8px;padding:1rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.class-type-option:hover{background:#e5e7eb}.class-type-option.selected{background:#dbeafe;border-color:#3b82f6}.class-type-label{font-weight:500;color:#374151}.class-type-check{color:#3b82f6;font-size:1.25rem}.class-mode-selector{display:flex;gap:.75rem;margin-top:.5rem}.class-mode-option{flex:1;background:#f3f4f6;border:2px solid transparent;border-radius:8px;padding:.875rem 1rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease;min-height:3rem}.class-mode-option:hover{background:#e5e7eb;transform:translateY(-1px)}.class-mode-option.selected{background:#dbeafe;border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.class-mode-label{font-weight:500;color:#374151;font-size:.875rem}.class-mode-check{color:#3b82f6;font-size:1.125rem}.class-form{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;max-height:unset!important}.sidebar-content{display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto;padding-right:.5rem;min-height:0}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:#f1f5f9}.sidebar-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar-section{background:#f8fafc;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0}.sidebar-section h4{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#1e293b;border-bottom:2px solid #3b82f6;padding-bottom:.5rem}.class-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.class-form .form-grid::-webkit-scrollbar{width:6px}.class-form .form-grid::-webkit-scrollbar-track{background:#f1f5f9}.class-form .form-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.class-form .form-grid::-webkit-scrollbar-thumb:hover{background:#94a3b8}.class-form .full-width{grid-column:1 / -1}.class-form .form-group.full-width{max-width:none}.class-form .form-group{display:flex;flex-direction:column;gap:.5rem}.class-form .form-group label{font-weight:500;color:#374151;font-size:.875rem}.class-form .form-input{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s ease;background:#fff}.class-form .form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.class-form .form-input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.class-form .error-message{color:#ef4444;font-size:.75rem;margin-top:.25rem}.form-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 0 0;border-top:1px solid #e5e7eb;margin-top:auto;flex-shrink:0}.form-footer-scrollable{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 12px 12px;margin-bottom:150px}.spinner{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px;display:inline-block}.club-selection-group{z-index:2500!important;position:relative}.club-search-container{position:relative;margin-top:.5rem;z-index:2500}.club-search-input-wrapper{position:relative;display:flex;align-items:center}.club-search-icon{position:absolute;left:1rem;color:#6b7280;font-size:1.125rem;z-index:1}.club-search-container input{padding-left:2.75rem}.club-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-height:200px;overflow-y:auto;z-index:2400;margin-top:.25rem}.club-option{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:all .2s ease}.club-option:last-child{border-bottom:none}.club-option:hover{background:#f9fafb}.club-option.no-results{color:#6b7280;font-style:italic;cursor:default}.club-option.no-results:hover{background:#fff}.club-name{display:block;font-weight:500;color:#374151;margin-bottom:.25rem}.club-address{display:block;font-size:.875rem;color:#6b7280}.courts-loading{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f9fafb;border-radius:8px;color:#6b7280}.courts-classes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:.5rem;position:relative;z-index:1}.court-classes-card{background:#f3f4f6;border:2px solid transparent;border-radius:8px;padding:1rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.court-info{flex:1;display:flex;flex-direction:column}.court-classes-card.selected{background:#dbeafe;border-color:#3b82f6}.court-classes-card:hover{background:#e5e7eb}.court-club-name{display:inline-block;background:#3b82f6;color:#fff;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.court-name{font-weight:500;color:#374151}.court-description{font-size:.875rem;color:#6b7280;margin-top:.25rem;display:block;font-style:italic}.court-check{color:#3b82f6;font-size:1.25rem}.no-courts{display:flex;align-items:center;justify-content:center;padding:1rem;background:#f9fafb;border-radius:8px;color:#6b7280;font-style:italic}.selected-courts-info{background:#e0f2fe;border:1px solid #81d4fa;border-radius:6px;padding:.5rem .75rem;margin-bottom:.75rem;font-size:.875rem;color:#0277bd;font-weight:500}.teacher-level{font-size:.875rem;color:#6b7280}.teacher-check{color:#3b82f6}.form-input.error{border-color:#ef4444}.error-message{color:#ef4444;font-size:.875rem;margin-top:.25rem;display:block}.student-type-selection{padding:1.5rem}.selected-student-info{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:2rem}.student-details{justify-content:left;flex:1}.student-details h4{margin:0;font-size:1.125rem;color:var(--gray-900)}.student-details p{margin:.25rem 0 0;font-size:.875rem;color:var(--gray-600)}.type-options{display:flex;flex-direction:column;gap:1rem}.type-option{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background-color:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.type-option:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.type-option.selected{background-color:var(--primary-light);border-color:var(--primary)}.type-content h4{margin:0;font-size:1rem;color:var(--gray-900)}.type-content p{margin:.25rem 0 0;font-size:.875rem;color:var(--gray-600)}.check-icon{color:var(--primary);font-size:1.25rem}.btn-add{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add:hover:not(:disabled){background-color:var(--primary-dark);transform:translateY(-2px)}.btn-add.disabled,.btn-add:disabled{background-color:var(--gray-300);color:var(--gray-500);cursor:not-allowed}.btn-add.disabled:hover,.btn-add:disabled:hover{background-color:var(--gray-300);transform:none;box-shadow:none}.classes-table-container{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;width:100%;max-width:100%;box-sizing:border-box}.classes-table-card{width:100%;box-sizing:border-box}.table-wrapper{overflow-x:auto;max-width:100%;width:100%;box-sizing:border-box}.classes-table{width:100%;min-width:800px;border-collapse:collapse;font-size:.9rem;overflow:hidden}.classes-table thead th{background-color:var(--gray-50);color:var(--gray-700);font-weight:600;padding:1rem .75rem;text-align:left;border-bottom:2px solid var(--gray-200);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:10}.classes-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition)}.classes-table thead th.sortable:hover{background-color:var(--gray-100);color:var(--primary)}.sort-icon{margin-left:.5rem;opacity:.5;transition:var(--transition)}.classes-table thead th.sortable:hover .sort-icon{opacity:1;color:var(--primary)}.classes-table tbody td{padding:1rem .75rem;border-bottom:1px solid var(--gray-200);vertical-align:top}.classes-table tbody tr:hover{background-color:var(--gray-50)}.classes-table tbody tr.even{background-color:var(--gray-25)}.classes-table tbody tr.odd{background-color:#fff}.class-name{min-width:200px}.class-date{min-width:150px}.class-duration,.class-sport,.class-price,.class-players{min-width:100px}.class-status{min-width:140px}.status-badge{display:inline-flex;flex-direction:column;align-items:flex-start;padding:.5rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;line-height:1}.status-badge.status-open{background-color:#f3f4f6;color:#374151}.status-badge.status-closed{background-color:#fef3c7;color:#92400e}.status-badge.status-cancelled{background-color:#f3f4f6;color:#374151}.status-badge.status-completed{background-color:#dbeafe;color:#1e40af}.status-badge.status-in-progress{background-color:#dcfce7;color:#166534}.status-subtext{font-size:.625rem;color:#9ca3af;margin-top:.25rem;font-weight:400}.table-pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#f9fafb;border-top:1px solid #e5e7eb}.pagination-left{display:flex;align-items:center;gap:.75rem}.rows-label{font-size:.875rem;color:#6b7280}.rows-select{padding:.375rem .75rem;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#374151;font-size:.875rem;cursor:pointer}.pagination-center{flex:1;text-align:center}.results-info{font-size:.875rem;color:#6b7280}.pagination-right{display:flex;gap:.5rem}.pagination-arrow{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid #d1d5db;background-color:#fff;color:#6b7280;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:1rem}.pagination-arrow:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af;color:#374151}.pagination-arrow:disabled{background-color:#f9fafb;color:#d1d5db;cursor:not-allowed;opacity:.5}@media screen and (max-width:1024px){.classes-table-container{width:100%;max-width:100%}.classes-table-card{width:100%}.table-wrapper{width:100%;max-width:100%}.classes-table{width:100%}.classes-table thead th,.classes-table tbody td{padding:.75rem 1rem}.table-pagination{padding:.75rem 1.5rem;flex-direction:column;gap:1rem}.pagination-left,.pagination-center,.pagination-right{width:100%;justify-content:center}}@media screen and (max-width:768px){.classes-table-container{width:100%;max-width:100%}.classes-table-card{width:100%}.table-wrapper{width:100%;max-width:100%}.classes-table{width:100%;font-size:.8rem;min-width:600px}.classes-table thead th,.classes-table tbody td{padding:.75rem .5rem}.class-name{min-width:120px}.class-date{min-width:100px}.class-duration,.class-sport{min-width:80px}.class-price{min-width:50px}.class-players{min-width:80px}.class-status{min-width:100px}.class-actions{min-width:120px}.table-pagination{flex-direction:column;gap:1rem;text-align:center}.pagination-left,.pagination-right{justify-content:center}.view-toggle{width:100%;justify-content:center}}@media screen and (max-width:480px){.classes-table-container{width:100%;max-width:100%}.classes-table-card{width:100%}.table-wrapper{width:100%;max-width:100%}.classes-table{width:100%;min-width:500px}}.btn-save:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-save:disabled{background-color:#9ca3af;border-color:#9ca3af}.btn-save{display:flex;align-items:center;justify-content:center;gap:8px}.delete-confirm-content{padding:20px 0}.delete-confirm-message{font-size:16px;color:#333;margin-bottom:10px;line-height:1.5}.delete-confirm-warning{font-size:14px;color:#e74c3c;margin-bottom:20px;font-weight:500}.delete-confirm-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.delete-confirm-actions .btn{padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;font-size:14px}.delete-confirm-actions .btn-secondary{background-color:#6c757d;color:#fff}.delete-confirm-actions .btn-secondary:hover{background-color:#5a6268}.delete-confirm-actions .btn-danger{background-color:#dc3545;color:#fff}.delete-confirm-actions .btn-danger:hover{background-color:#c82333}.class-details-content{padding:0}.class-info-section{margin-bottom:24px}.info-grid{display:grid;grid-template-columns:1fr;gap:12px}.info-label{font-weight:500;color:#6b7280;font-size:14px}.info-value{font-weight:600;color:#111827;font-size:14px}.teachers-section,.students-section,.workplan-section,.pdf-section{margin-bottom:24px}.teachers-section h4,.students-section h4,.workplan-section h4,.pdf-section h4{font-size:16px;font-weight:600;color:#111827;margin-bottom:12px}.workplan-content{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px;max-height:300px;overflow-y:auto}.workplan-content .ql-editor{padding:0;font-size:14px;line-height:1.6;color:#495057;background-color:transparent}.pdf-info{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px}.workplan-content .ql-editor p{margin-bottom:12px}.workplan-content .ql-editor p:last-child{margin-bottom:0}.workplan-content .ql-editor ul,.workplan-content .ql-editor ol{margin-left:20px;margin-bottom:12px}.workplan-content .ql-editor li{margin-bottom:4px}.workplan-content .ql-editor strong{font-weight:600;color:#212529}.workplan-content .ql-editor em{font-style:italic;color:#6c757d}.workplan-content .ql-toolbar{display:none}.workplan-content .ql-container{border:none}.workplan-content::-webkit-scrollbar{width:6px}.workplan-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.workplan-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.workplan-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.teacher-item{padding:8px 12px;background-color:#f3f4f6;border-radius:6px;font-size:14px;color:#374151}.student-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease-in-out}.student-item.payment-status-paid{background-color:#f0fdf4;border-color:#22c55e;border-left:4px solid #22c55e}.student-item.payment-status-pending{background-color:#fefce8;border-color:#eab308;border-left:4px solid #eab308}.student-item.payment-status-overdue{background-color:#fef2f2;border-color:#ef4444;border-left:4px solid #ef4444}.student-name-container{display:flex;align-items:center;gap:6px;position:relative}.tutor-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:50%;font-size:12px;cursor:help;transition:all .2s ease;position:relative;z-index:1}.tutor-badge:hover{background-color:#e5e7eb;border-color:#9ca3af;transform:scale(1.1);z-index:9999}.tutor-badge.large{min-width:24px;height:24px;font-size:14px;margin-left:8px}.student-header-name{display:flex;align-items:center;gap:8px}.student-type{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.payment-status-indicator{font-size:12px;font-weight:500;letter-spacing:.3px}.payment-status-indicator.paid{color:#16a34a}.payment-status-indicator.pending{color:#ca8a04}.payment-status-indicator.overdue{color:#dc2626}.show-more-clients{text-align:center;padding:8px 0}.payments-summary{margin:16px 0}.payment-status-card{padding:12px;border-radius:8px;border-left:4px solid #e5e7eb;background-color:#f9fafb}.payment-status-card.payment-status-paid{background-color:#f0fdf4;border-left-color:#22c55e}.payment-status-card.payment-status-pending{background-color:#fefce8;border-left-color:#eab308}.payment-status-card.payment-status-overdue{background-color:#fef2f2;border-left-color:#ef4444}.payment-status-info{display:flex;align-items:center;gap:8px}.payment-status-label{font-weight:500;color:#374151}.payments-history{margin-top:16px}.btn-edit-header{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-edit-header:hover{background-color:#3d8b40}.btn-back{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-back:hover{background-color:#f9fafb;color:#374151;border-color:#9ca3af}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:14px}.form-input,.form-textarea,.form-select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#4faf44;box-shadow:0 0 0 3px #4faf441a}.form-textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.btn-loading{opacity:.7;cursor:not-allowed}.payments-list{display:flex;flex-direction:column;gap:12px}.payment-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s ease}.payment-item:hover{background-color:#f3f4f6;border-color:#d1d5db}.payment-item.paid{background-color:#f0fdf4;border-color:#22c55e;border-left:4px solid #22c55e}.payment-item.pending{background-color:#fefce8;border-color:#eab308;border-left:4px solid #eab308}.payment-info{display:flex;flex-direction:column;gap:8px}.payment-amount{font-size:16px;font-weight:600;color:#1f2937}.payment-details{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#6b7280}.payment-membership{font-size:13px;color:#4b5563}.loading-state,.empty-state{text-align:center;padding:24px;color:#6b7280}.btn-sm{padding:6px 12px;font-size:12px}.sidebar-navigation{margin-bottom:10px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.student-payments-content{flex:1;display:flex;flex-direction:column;gap:16px}.student-info-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.student-details-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #e5e7eb}.detail-item:last-child{border-bottom:none}.payments-section{flex:1;display:flex;flex-direction:column}.payments-section h4{font-size:16px;font-weight:600;color:#111827;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.student-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.student-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.student-type-badge{padding:4px 12px;background-color:#dbeafe;color:#1e40af;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.btn-success{background-color:#16a34a;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-success:hover{background-color:#15803d}.btn-warning{background-color:#f59e0b;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-warning:hover{background-color:#d97706}.add-student-content{flex:1;display:flex;flex-direction:column;gap:20px}.add-student-header{text-align:center;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.add-student-header h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}.student-search-section{position:relative}.search-container{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:#9ca3af;z-index:1}.search-input{width:100%;padding:12px 12px 12px 40px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background-color:#fff;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.students-dropdown{position:relative!important;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;max-height:200px;overflow-y:auto;z-index:10;margin-top:4px}.student-option{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f3f4f6}.student-option:last-child{border-bottom:none}.student-option:hover{background-color:#f9fafb}.student-option.selected{background-color:#eff6ff;color:#1e40af}.student-option.new-client-option{background-color:#f0f9ff;border-left:3px solid #0ea5e9;font-weight:500}.student-option.new-client-option:hover{background-color:#e0f2fe}.student-option.new-client-option .student-name{color:#0369a1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.modal-body{padding:2rem}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-buttons .btn-save{display:flex;align-items:center;gap:.5rem}.form-section{margin-bottom:2rem;padding:1.5rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;position:relative;overflow:hidden}.form-section:after{content:"";position:absolute;bottom:-30px;left:-30px;width:100px;height:100px;background:linear-gradient(135deg,#22c55e1a,#86efac1a);border-radius:50%;z-index:0}.form-section.personal-section:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%233b82f6' stroke-width='1'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z' /%3E%3C/svg%3E");background-size:30px 30px;background-position:center;background-repeat:no-repeat;background-color:#3b82f608;opacity:.4}.form-section.contact-section:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2310b981' stroke-width='1'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z' /%3E%3C/svg%3E");background-size:30px 30px;background-position:center;background-repeat:no-repeat;background-color:#10b98108;opacity:.4}.form-section.sports-section:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23f59e0b' stroke-width='1'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z' /%3E%3C/svg%3E");background-size:30px 30px;background-position:center;background-repeat:no-repeat;background-color:#f59e0b08;opacity:.4}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;position:relative;z-index:1}.form-row:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}.form-group label{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem;line-height:1.4;min-height:20px}.input-icon{font-size:1rem;color:#6b7280;display:flex!important;align-items:center;justify-content:center;min-width:18px;height:18px;flex-shrink:0;position:static!important}.form-input,.form-select{padding:.75rem 1rem;border:2px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s ease;background:#fff;display:flex;align-items:center;min-height:44px}.form-input:focus,.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder{color:#9ca3af}.phone-input-group{display:flex;gap:.5rem}.phone-code-select{flex:0 0 auto;min-width:140px;padding:.75rem .5rem;border:2px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff;transition:all .2s ease;display:flex;align-items:center;min-height:44px}.phone-code-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.phone-number-input{flex:1;padding:.75rem 1rem;border:2px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s ease;background:#fff;display:flex;align-items:center;min-height:44px}.phone-number-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media(max-width:640px){.form-row{grid-template-columns:1fr}.phone-input-group{flex-direction:column}.phone-code-select{min-width:auto}}.student-config-section{display:flex;flex-direction:column;gap:20px}.selected-student{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px}.selected-student h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#0369a1}.user-icon{color:#0284c7}.type-selector{display:flex;gap:8px}.type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;background-color:#fff;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.type-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.type-btn.active{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.input-container{position:relative;display:flex;align-items:center}.number-input{width:100%;padding:12px 12px 12px 40px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background-color:#fff;transition:border-color .2s ease}.number-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-input-container{position:relative;display:flex;align-items:center}.date-icon{position:absolute;left:12px;color:#9ca3af;z-index:1}.date-input{width:100%;padding:12px 12px 12px 40px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background-color:#fff;transition:border-color .2s ease}.date-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.discounts-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.discounts-section .section-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.discounts-section h4{margin:0;font-size:14px;font-weight:600;color:#374151}.add-discount-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background-color .2s ease;padding:0}.add-discount-btn:hover{background-color:var(--primary-dark)}.discount-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.discount-type-select,.discount-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background-color:#fff}.remove-discount-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background-color .2s ease;padding:0}.remove-discount-btn:hover{background-color:#dc2626}.price-preview{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:12px;text-align:center}.price-preview p{margin:0;font-weight:600;color:#166534}.input-error{margin:4px 0 0;font-size:12px;color:#ef4444}.add-student-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}*{box-sizing:border-box}body{overflow-x:hidden}.classes-page{padding:1rem;margin:0}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.page-title{font-size:1.75rem;font-weight:600;color:#1a1a1a;margin:0;position:relative}.page-title:after{content:"";position:absolute;bottom:-.5rem;left:0;width:3rem;height:.25rem;background-color:#4faf44;border-radius:.25rem}.header-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.btn{background-color:var(--primary);color:#fff;border:none;padding:.7rem 1rem;height:fit-content;font-size:.875rem;font-weight:500;border-radius:10px;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:.5rem}.btn:hover{background-color:#10b981}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primar)}.btn-outline:hover{background:#155724;color:#fff}.stats-grid{display:flex;gap:2rem;margin-bottom:2rem;width:100%}.stat-group-card{background-color:#fff;border:2px solid rgb(190,193,200);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000026;transition:transform .2s ease,box-shadow .2s ease;min-width:0;max-width:100%;width:100%;overflow:hidden;box-sizing:border-box}.stat-group-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.stat-group-title{font-size:1.125rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #4faf44}.stat-cards-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-width:0;max-width:100%;box-sizing:border-box}.stat-card{background-color:#f8f9fa;border:1px solid #d1d5db;border-radius:8px;padding:1rem;display:flex;flex-direction:column;box-shadow:0 1px 3px #00000014;transition:transform .2s ease,box-shadow .2s ease;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}.stat-card:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001f}.stat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.stat-title{font-size:.875rem;font-weight:600;color:#6c757d;margin:0;text-transform:uppercase;letter-spacing:.5px;word-wrap:break-word;overflow-wrap:break-word}.stat-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:#e2e3e5;color:#383d41}.stat-value{font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.stat-change{font-size:.875rem;color:#28a745;display:flex;align-items:center;gap:.25rem}.stat-change.positive{color:#28a745}@media(max-width:768px){.filters-grid{grid-template-columns:1fr;gap:1rem}.stat-cards-container{grid-template-columns:1fr;gap:.5rem}.stats-grid{gap:1rem}.stat-value{font-size:1.5rem}}.pagination-controls{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;margin-top:1rem;border-top:1px solid #e5e7eb;background-color:#fafafa;border-radius:0 0 8px 8px}.pagination-info{display:flex;align-items:center}.pagination-text{font-size:.875rem;color:#6b7280;font-weight:500}.pagination-buttons{display:flex;align-items:center;gap:1rem}.pagination-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af;color:#1f2937}.pagination-btn:disabled{background-color:#f3f4f6;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}.pagination-btn svg{width:16px;height:16px}.pagination-page-info{font-size:.875rem;color:#374151;font-weight:600;padding:.5rem 1rem;background-color:#f3f4f6;border-radius:6px;min-width:80px;text-align:center}@media(max-width:768px){.pagination-controls{flex-direction:column;gap:1rem;align-items:stretch}.pagination-info,.pagination-buttons{justify-content:center}.pagination-btn{flex:1;justify-content:center;min-width:120px}.pagination-page-info{min-width:100px}}@media(max-width:480px){.pagination-buttons{flex-direction:column;gap:.5rem}.pagination-btn{width:100%}}.mui-time-picker-container{position:relative;width:100%}.mui-time-picker-field{width:100%!important}.mui-time-picker-field .MuiOutlinedInput-root{border-radius:6px;min-height:40px}.mui-time-picker-field .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#9ca3af}.mui-time-picker-field .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#3b82f6;border-width:2px}.mui-time-picker-field .MuiOutlinedInput-root.Mui-error .MuiOutlinedInput-notchedOutline{border-color:#dc2626}.mui-time-picker-field .MuiInputLabel-root{font-size:.875rem;color:#6b7280}.mui-time-picker-field .MuiInputLabel-root.Mui-focused{color:#3b82f6}.mui-time-picker-field .MuiInputLabel-root.Mui-error{color:#dc2626}.mui-time-picker-field .MuiOutlinedInput-input{padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:#374151}.mui-time-picker-field .MuiFormHelperText-root{font-size:.75rem;margin-top:.25rem}.mui-time-picker-field .MuiFormHelperText-root.Mui-error{color:#dc2626}.MuiPickersPopper-root{z-index:9999}.MuiPickersPopper-paper{border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.MuiDigitalClock-root{background-color:#fff}.MuiDigitalClock-item{border-radius:4px;margin:.125rem}.MuiDigitalClock-item:hover{background-color:#f3f4f6}.MuiDigitalClock-item.Mui-selected{background-color:#3b82f6;color:#fff}.MuiDigitalClock-item.Mui-selected:hover{background-color:#2563eb}.react-clock{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a}.react-clock__face{border:2px solid #e5e7eb}.react-clock__hand{background-color:#3b82f6}.react-clock__mark,.react-clock__mark__body{background-color:#6b7280}.react-clock__second-hand{background-color:#ef4444}.label-icon{margin-right:.5rem;color:#6b7280;width:16px;height:16px}.date-hint{display:block;margin-top:.25rem;font-size:.75rem;color:#6b7280;font-style:italic}.form-input[type=date]{position:relative}.form-input[type=date]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.quill-editor-container{border-radius:8px;overflow:hidden;border:1px solid #d1d5db;background:#fff;transition:all .2s ease}.quill-editor-container:hover{border-color:#9ca3af}.quill-editor-container:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.quill-editor.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.quill-editor .ql-toolbar{border:none;border-bottom:1px solid #e5e7eb;background:#f9fafb;padding:.75rem 1rem}.quill-editor .ql-toolbar .ql-stroke{stroke:#6b7280}.quill-editor .ql-toolbar .ql-fill{fill:#6b7280}.quill-editor .ql-toolbar button:hover .ql-stroke{stroke:#374151}.quill-editor .ql-toolbar button:hover .ql-fill{fill:#374151}.quill-editor .ql-toolbar button.ql-active .ql-stroke{stroke:#3b82f6}.quill-editor .ql-toolbar button.ql-active .ql-fill{fill:#3b82f6}.quill-editor .ql-container{border:none;font-family:inherit;font-size:.875rem;line-height:1.5}.quill-editor .ql-editor{padding:1rem;min-height:120px;color:#374151}.quill-editor .ql-editor.ql-blank:before{color:#9ca3af;font-style:normal;font-size:.875rem}.quill-editor .ql-editor h1,.quill-editor .ql-editor h2,.quill-editor .ql-editor h3{color:#111827;font-weight:600;margin:.5rem 0}.quill-editor .ql-editor h1{font-size:1.25rem}.quill-editor .ql-editor h2{font-size:1.125rem}.quill-editor .ql-editor h3{font-size:1rem}.quill-editor .ql-editor ul,.quill-editor .ql-editor ol{padding-left:1.5rem;margin:.5rem 0}.quill-editor .ql-editor li{margin:.25rem 0}.quill-editor .ql-editor a{color:#3b82f6;text-decoration:underline}.quill-editor .ql-editor a:hover{color:#1d4ed8}.date-picker-container{position:relative;z-index:1}.date-picker-container:focus-within{z-index:100000}.custom-date-picker{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#374151;font-size:.875rem;font-weight:500;transition:all .2s ease}.custom-date-picker:hover{border-color:#9ca3af}.custom-date-picker:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.custom-date-picker.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.custom-datepicker-popper{z-index:999999!important;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;position:absolute!important}.custom-datepicker-popper .react-datepicker{border:none;font-family:inherit;z-index:99999!important;position:relative}.custom-datepicker-popper .react-datepicker__header{background-color:#f8f9fa;border-bottom:1px solid #e5e7eb;border-radius:8px 8px 0 0}.custom-datepicker-popper .react-datepicker__current-month{color:#374151;font-weight:600;font-size:1rem}.custom-datepicker-popper .react-datepicker__day-name{color:#6b7280;font-weight:500;font-size:.875rem}.custom-datepicker-popper .react-datepicker__day{color:#374151;border-radius:4px;transition:all .2s ease}.custom-datepicker-popper .react-datepicker__day:hover{background-color:#e5e7eb;color:#1f2937}.custom-datepicker-popper .react-datepicker__day--selected{background-color:#3b82f6;color:#fff}.custom-datepicker-popper .react-datepicker__day--selected:hover{background-color:#2563eb}.custom-datepicker-popper .react-datepicker__day--disabled{color:#d1d5db;background-color:#f9fafb;cursor:not-allowed}.custom-datepicker-popper .react-datepicker__day--disabled:hover{background-color:#f9fafb;color:#d1d5db}.custom-datepicker-popper .react-datepicker__navigation{border:none;background:none;color:#6b7280;transition:color .2s ease}.custom-datepicker-popper .react-datepicker__navigation:hover{color:#374151}.custom-datepicker-popper .react-datepicker__navigation-icon:before{border-color:currentColor;border-width:2px 2px 0 0}.react-datepicker,.react-datepicker__portal,.react-datepicker-popper,.react-datepicker-popper[data-placement^=bottom],.react-datepicker-popper[data-placement^=top]{z-index:999999!important}#datepicker-portal{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999999}#datepicker-portal .react-datepicker{pointer-events:auto;z-index:999999!important}#datepicker-portal .react-datepicker-popper{z-index:999999!important}#datepicker-portal .react-datepicker__month-dropdown,#datepicker-portal .react-datepicker__year-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a;z-index:999999!important}#datepicker-portal .react-datepicker__month-option,#datepicker-portal .react-datepicker__year-option{padding:8px 12px;cursor:pointer;transition:background-color .2s}#datepicker-portal .react-datepicker__month-option:hover,#datepicker-portal .react-datepicker__year-option:hover{background-color:#f3f4f6}#datepicker-portal .react-datepicker__month-option--selected,#datepicker-portal .react-datepicker__year-option--selected{background-color:#3b82f6;color:#fff}#datepicker-portal .react-datepicker__month-read-view,#datepicker-portal .react-datepicker__year-read-view{border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;background:#fff;cursor:pointer;transition:border-color .2s}#datepicker-portal .react-datepicker__month-read-view:hover,#datepicker-portal .react-datepicker__year-read-view:hover{border-color:#3b82f6}#datepicker-portal .react-datepicker__navigation{background:none!important;border:none!important;cursor:pointer;padding:8px!important;border-radius:4px;transition:background-color .2s;z-index:999999!important;position:absolute!important;top:8px!important;width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}#datepicker-portal .react-datepicker__navigation:hover{background-color:#f3f4f6!important}#datepicker-portal .react-datepicker__navigation--previous{left:8px!important}#datepicker-portal .react-datepicker__navigation--next{right:8px!important}#datepicker-portal .react-datepicker__navigation-icon{width:0!important;height:0!important;border-style:solid!important;border-width:6px!important}#datepicker-portal .react-datepicker__navigation--previous .react-datepicker__navigation-icon{border-width:6px 8px 6px 0!important;border-color:transparent #6b7280 transparent transparent!important}#datepicker-portal .react-datepicker__navigation--next .react-datepicker__navigation-icon{border-width:6px 0 6px 8px!important;border-color:transparent transparent transparent #6b7280!important}#datepicker-portal .react-datepicker__navigation:hover .react-datepicker__navigation--previous .react-datepicker__navigation-icon{border-color:transparent #3b82f6 transparent transparent!important}#datepicker-portal .react-datepicker__navigation:hover .react-datepicker__navigation--next .react-datepicker__navigation-icon{border-color:transparent transparent transparent #3b82f6!important}#datepicker-portal .react-datepicker__header{background-color:#f9fafb!important;border-bottom:1px solid #e5e7eb!important;padding:8px 0!important;position:relative!important;min-height:48px!important}#datepicker-portal .react-datepicker__current-month{font-weight:600!important;font-size:1rem!important;color:#1f2937!important;margin:0!important;padding:0 50px!important;text-align:center!important;line-height:32px!important}@media(max-width:768px){.mui-time-picker-field .MuiOutlinedInput-input{font-size:1rem;padding:.75rem}.mui-time-picker-field .MuiInputLabel-root{font-size:1rem}.custom-date-picker{font-size:1rem;padding:.75rem}.custom-datepicker-popper,.MuiPickersPopper-paper{margin:.5rem}}.modal-content{max-height:90vh;overflow-y:auto}.payment-modal-top-section{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.payment-details-section{margin-bottom:0}.payment-details-section h4{margin:0 0 .5rem;color:#333;font-size:1rem;font-weight:600}.discounts-section-compact{margin-bottom:1rem;padding:.75rem;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.discounts-section-compact .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.discounts-section-compact .section-header h4{margin:0;color:#333;font-size:.9rem;font-weight:600}.discounts-section-compact .discounts-content{margin-bottom:.5rem}.discounts-section-compact .discount-row{display:flex;gap:.25rem;align-items:center;margin-bottom:.25rem}.discounts-section-compact .discount-type-select,.discounts-section-compact .discount-input{flex:1;padding:.25rem .5rem;border:1px solid #ddd;border-radius:3px;font-size:.8rem}.discounts-section-compact .remove-discount-btn{padding:.25rem;background:#dc3545;color:#fff;border:none;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem}.discounts-section-compact .price-preview{padding-top:.5rem;border-top:1px solid #e9ecef}.discounts-section-compact .price-breakdown{display:flex;flex-direction:column;gap:.15rem}.discounts-section-compact .price-row{display:flex;justify-content:space-between;font-size:.8rem}.discounts-section-compact .price-row.final-price{font-weight:600;color:#28a745;margin-top:.15rem;padding-top:.15rem;border-top:1px solid #e9ecef}.price-section{margin-bottom:1rem;padding:.75rem;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.price-section .price-breakdown{display:flex;flex-direction:column;gap:.15rem}.price-section .price-row{display:flex;justify-content:space-between;font-size:.9rem}.price-section .price-row.final-price{font-weight:600;color:#28a745;margin-top:.25rem;padding-top:.25rem;border-top:1px solid #e9ecef}.payment-info-section{margin-bottom:1rem}.payment-summary h4{margin-bottom:.75rem;color:var(--gray-800);font-size:1rem;font-weight:600}.payment-method-section{margin-bottom:0;margin-top:1rem;width:100%}.payment-method-section h4{margin-bottom:.5rem;color:var(--gray-800);font-size:.9rem;font-weight:600}.payment-methods-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.25rem}.payment-method-btn{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .25rem;border:2px solid #e9ecef;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;min-height:50px;justify-content:center}.payment-method-btn:hover{border-color:var(--primary);background:#f8f9ff}.payment-method-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.payment-method-btn svg{font-size:.8rem}.payment-method-btn span{font-size:.7rem;font-weight:500;text-align:center;line-height:1.2}.price-breakdown{display:flex;flex-direction:column;gap:.375rem}.price-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.price-row.final-price{font-size:.875rem;padding-top:.375rem;border-top:1px solid #28a745;color:#28a745}.btn-processing{background:#4a5568!important;border-color:#4a5568!important;color:#fff!important;cursor:not-allowed!important}.btn-processing:hover{background:#4a5568!important;border-color:#4a5568!important}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.payment-modal-top-section{grid-template-columns:1fr;gap:.75rem}.payment-methods-grid{grid-template-columns:repeat(2,1fr)}.discounts-section-compact .discount-row{flex-direction:column;gap:.25rem}.discounts-section-compact .discount-type-select,.discounts-section-compact .discount-input{width:100%}.discount-row{flex-direction:column;align-items:stretch;gap:.75rem}.discount-type-select,.discount-input{width:100%}}.day-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid var(--gray-300);border-radius:var(--radius);background-color:var(--white);color:var(--gray-700);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px;justify-content:center}.day-btn:hover{border-color:var(--primary);background-color:var(--primary-50);color:var(--primary)}.day-btn.selected{border-color:var(--primary);background-color:var(--primary);color:#fff}.form-help-text{font-size:.875rem;color:var(--gray-600);margin:.25rem 0 .5rem;line-height:1.4}.form-error{display:flex;align-items:center;gap:.5rem;color:var(--red-600);font-size:.875rem;margin-top:.5rem;padding:.5rem;background-color:var(--red-50);border-radius:var(--radius);border:1px solid var(--red-200)}.btn-loading .spinner{color:#fff!important}.btn-loading svg{color:#fff!important}.pdf-info-text{font-size:.875rem;color:var(--gray-600);margin:.5rem 0 1rem;padding:.75rem;background-color:var(--blue-50);border:1px solid var(--blue-200);border-radius:var(--radius);line-height:1.4}.file-upload-container{border:2px dashed var(--gray-300);border-radius:var(--radius);padding:1.5rem;text-align:center;background-color:var(--gray-50);transition:all .3s ease}.file-upload-container:hover{border-color:var(--primary);background-color:var(--primary-50)}.file-upload-area{display:flex;flex-direction:column;align-items:center;gap:.5rem}.file-upload-label{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;padding:1rem;border-radius:var(--radius);transition:all .3s ease;color:var(--gray-600)}.file-upload-label:hover{color:var(--primary);background-color:var(--white)}.upload-icon{font-size:2rem;color:var(--primary)}.file-selected,.file-uploaded{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);gap:1rem}.file-info{display:flex;align-items:center;gap:.75rem;flex:1}.file-icon{font-size:1.5rem;color:var(--primary)}.file-details{display:flex;flex-direction:column;gap:.25rem}.file-name{font-weight:500;color:var(--gray-900)}.file-size{font-size:.875rem;color:var(--gray-500)}.file-status{font-size:.875rem;color:var(--success);font-weight:500}.file-actions{display:flex;align-items:center;gap:.5rem}.btn-upload{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--primary);color:var(--white);border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-upload:hover:not(:disabled){background-color:var(--primary-dark)}.btn-upload:disabled{opacity:.6;cursor:not-allowed}.btn-save-pdf{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--success);color:var(--white);border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-save-pdf:hover:not(:disabled){background-color:var(--success-dark)}.btn-save-pdf:disabled{opacity:.6;cursor:not-allowed}.btn-remove{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:var(--danger);color:var(--white);border:none;border-radius:var(--radius);cursor:pointer;transition:all .3s ease}.btn-remove:hover{background-color:var(--danger-dark)}.btn-view{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--success);color:var(--white);text-decoration:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;transition:all .3s ease}.btn-view:hover{background-color:var(--success-dark)}.upload-error{margin-top:.75rem;padding:.75rem;background-color:var(--danger-50);border:1px solid var(--danger);border-radius:var(--radius)}.error-text{color:var(--danger);font-size:.875rem;font-weight:500}.spinner-small{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.existing-pdf-container{display:flex;flex-direction:column;gap:1rem}.existing-pdf-info{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);gap:1rem}.btn-view-pdf{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--primary);color:var(--white);border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-view-pdf:hover{background-color:var(--primary-dark)}.pdf-preview-container{width:100%;height:500px;border:1px solid var(--gray-300);border-radius:var(--radius);overflow:hidden;background-color:var(--white)}.pdf-iframe{width:100%;height:100%;border:none}.pdf-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:20000;padding:1rem}.pdf-modal-content{background-color:var(--white);border-radius:var(--radius);width:90%;max-width:1200px;height:90%;max-height:800px;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;z-index:20001}.pdf-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200);background-color:var(--gray-50);border-radius:var(--radius) var(--radius) 0 0}.pdf-modal-controls{display:flex;align-items:center;gap:1rem}.pdf-viewer-selector{display:flex;align-items:center;gap:.5rem}.pdf-viewer-select{padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius);background-color:var(--white);color:var(--gray-700);font-size:.875rem;cursor:pointer;transition:all .3s ease}.pdf-viewer-select:hover{border-color:var(--primary)}.pdf-viewer-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-100)}.btn-download-pdf{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--success);color:var(--white);text-decoration:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;transition:all .3s ease}.btn-download-pdf:hover{background-color:var(--success-dark);color:var(--white);text-decoration:none}.pdf-viewer-container{width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center}.pdf-navigation{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);width:100%}.btn-nav{padding:.5rem 1rem;background-color:var(--primary);color:var(--white);border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-nav:hover:not(:disabled){background-color:var(--primary-dark)}.btn-nav:disabled{background-color:var(--gray-300);color:var(--gray-500);cursor:not-allowed}.page-info{font-size:.875rem;font-weight:500;color:var(--gray-700);min-width:120px;text-align:center}.pdf-page-container{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:1rem;overflow:auto;width:100%;background:#fff}.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--gray-600)}.pdf-loading .spinner{width:2rem;height:2rem;border:3px solid var(--gray-200);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.pdf-loading-note{font-size:.75rem;color:var(--gray-500);margin-top:.5rem;font-style:italic}.pdf-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--error);text-align:center}.btn-download-fallback{margin-top:1rem;padding:.5rem 1rem;background-color:var(--success);color:var(--white);text-decoration:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;transition:all .3s ease}.btn-download-fallback:hover{background-color:var(--success-dark);color:var(--white);text-decoration:none}.react-pdf__Document{display:flex;flex-direction:column;align-items:center;min-height:auto;height:auto}.react-pdf__Page{max-width:calc(100% - 2em);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin:.5em}.pdf-pages-container{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0;min-height:auto;background:#fff}.pdf-page-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:1rem;flex-shrink:0}.pdf-page-number{font-size:.875rem;font-weight:500;color:var(--gray-600);margin-bottom:.5rem;padding:.25rem .75rem;background-color:var(--gray-100);border-radius:var(--radius);border:1px solid var(--gray-200)}.react-pdf__Page__canvas{display:block;max-width:100%;max-height:100%}.react-pdf__Page__textContent{position:absolute;top:0;left:0;color:transparent;transform-origin:0% 0%;white-space:pre;cursor:text;-webkit-user-select:text;user-select:text}.react-pdf__Page__textContent span{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}.react-pdf__Page__annotations{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.react-pdf__Page__annotation{position:absolute;pointer-events:auto}.pdf-modal-title{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0}.pdf-modal-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:var(--gray-200);color:var(--gray-600);border:none;border-radius:var(--radius);cursor:pointer;transition:all .3s ease;padding:0}.pdf-modal-close:hover{background-color:var(--gray-300);color:var(--gray-800)}.pdf-modal-body{flex:1;padding:0;overflow-y:auto;overflow-x:hidden;height:70vh;min-height:500px}.pdf-modal-iframe{width:100%;height:100%;border:none;border-radius:0 0 var(--radius) var(--radius)}@media(max-width:768px){.days-selector{flex-direction:column}.day-btn{width:100%;min-width:auto}.file-selected,.file-uploaded{flex-direction:column;align-items:stretch;gap:1rem}.file-actions{justify-content:center}.existing-pdf-info{flex-direction:column;align-items:stretch;gap:1rem}.pdf-preview-container{height:400px}.pdf-modal-content{width:95%;height:95%;max-height:none}.pdf-modal-header{padding:.75rem 1rem;flex-direction:column;align-items:stretch;gap:.75rem}.pdf-modal-title{font-size:1rem;text-align:center}.pdf-modal-controls{justify-content:center}.pdf-viewer-select{font-size:.8rem;padding:.4rem .6rem}.btn-download-pdf{font-size:.8rem;padding:.4rem .8rem}.pdf-navigation{padding:.5rem;gap:.5rem}.btn-nav{font-size:.8rem;padding:.4rem .8rem}.page-info{font-size:.8rem;min-width:100px}.pdf-page-container{padding:.5rem;background:#fff}.pdf-modal-body{height:60vh;min-height:400px}.pdf-pages-container{gap:.5rem;padding:.5rem 0}.pdf-page-wrapper{margin-bottom:.5rem}.pdf-page-number{font-size:.8rem;padding:.2rem .6rem}}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{display:inline-block;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:4px}.skeleton-card:hover .skeleton-title,.skeleton-card:hover .skeleton-badge,.skeleton-card:hover .skeleton-icon,.skeleton-card:hover .skeleton-text,.skeleton-card:hover .skeleton-button{background:linear-gradient(90deg,#e8e8e8 25%,#d8d8d8,#e8e8e8 75%);background-size:200px 100%}.skeleton-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid #e0e0e0;position:relative;transition:box-shadow .2s ease}.skeleton-card:hover{box-shadow:0 4px 12px #00000026}.skeleton-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.skeleton-title{height:1.1rem;width:60%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:4px}.skeleton-badge{height:1.5rem;width:80px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:20px}.skeleton-card-info{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.skeleton-info-item{display:flex;align-items:center;gap:.5rem}.skeleton-icon{width:16px;height:16px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:50%}.skeleton-text{height:.9rem;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:4px}.skeleton-text.short{width:70px}.skeleton-text.medium{width:110px}.skeleton-text.long{width:140px}.skeleton-card-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f3f4f6}.skeleton-button{height:2rem;width:80px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:8px}.skeleton-table-row{background:#fff}.skeleton-table-cell{padding:1rem;border-bottom:1px solid #e5e7eb}.skeleton-table-content{height:1rem;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;border-radius:4px;width:100%}.skeleton-table-content.wide{width:80%}.skeleton-table-content.narrow{width:60%}.skeleton-table-content.short{width:40%}.spinner-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6b7280}.spinner-icon{animation:spin 1s linear infinite;font-size:2rem;margin-bottom:1rem;color:var(--primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-text{font-size:1rem;color:#6b7280}@media(max-width:768px){.skeleton-card-info{grid-template-columns:1fr;gap:.5rem}.skeleton-text.medium{width:90px}.skeleton-text.long{width:120px}.skeleton-button{width:70px}}.skeleton-stat-card{pointer-events:none}.skeleton-stat-title{height:14px;width:75%;border-radius:3px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;margin-bottom:.5rem}.skeleton-stat-icon{width:20px;height:20px;border-radius:50%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;animation-delay:.2s}.skeleton-stat-value{height:28px;width:60%;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;animation-delay:.1s;margin:.5rem 0}.skeleton-stat-change{height:12px;width:45%;border-radius:3px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 2.5s ease-in-out infinite;animation-delay:.3s}@media(prefers-reduced-motion:reduce){.skeleton,.skeleton-title,.skeleton-badge,.skeleton-icon,.skeleton-text,.skeleton-button,.skeleton-table-content,.skeleton-stat-title,.skeleton-stat-icon,.skeleton-stat-value,.skeleton-stat-change{animation:none;background:#e0e0e0}}@media(max-width:768px){.skeleton-stat-title{height:12px;width:80%}.skeleton-stat-value{height:24px;width:70%}.skeleton-stat-change{height:11px;width:50%}}@media(max-width:1024px){.classes-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.filters-section{gap:1rem}.filters-container{grid-template-columns:repeat(2,1fr);gap:1rem}.class-card{min-width:unset}}@media(max-width:768px){.classes-container{padding:1rem}.classes-header{flex-direction:column;gap:1rem;align-items:stretch;text-align:center}.classes-grid,.filters-container{grid-template-columns:1fr}.search-input{width:100%}.class-card{padding:1rem}.class-info{grid-template-columns:1fr;gap:.75rem}.teachers-list{flex-wrap:wrap}.modal-content{width:95%;max-height:90vh;margin:1rem}.form-grid{grid-template-columns:1fr}.days-selector{flex-wrap:wrap;justify-content:center}.day-button{flex:0 0 calc(33.33% - .5rem)}.students-table-container{overflow-x:auto}.students-table{min-width:600px}.payment-info-header{flex-direction:column;gap:1rem}.payment-student-info{flex-direction:column;align-items:center;text-align:center}.payment-modal .method-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:480px){.class-card-header{flex-direction:column;gap:.5rem}.class-actions{justify-content:center}.payment-progress{flex-direction:column;gap:.5rem}.progress-label{flex-direction:column;align-items:center}.modal-footer{flex-direction:column;gap:.5rem}.modal-footer button{width:100%}}@media(max-height:500px)and (orientation:landscape){.modal-content{max-height:85vh}.modal-body{max-height:calc(85vh - 120px);overflow-y:auto}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media(max-width:400px),(max-height:550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}
