@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:10;gap:2rem;height:80px;max-height:80px}.topbar-left{display:flex;align-items:center;gap:1rem;min-width:250px}.topbar-menu-button{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--gray-700);transition:all .2s;border-radius:6px}.topbar-menu-button:hover{background:#f3f4f6;color:var(--gray-900)}.topbar-menu-button:active{background:#e5e7eb}.topbar-logo{display:flex;align-items:center;gap:1rem}.topbar-logo-img{width:48px;height:48px;object-fit:contain;border-radius:8px}.topbar-info{display:flex;flex-direction:column;gap:.25rem}.topbar-club-name{font-size:1rem;font-weight:600;color:var(--gray-800);margin:0;line-height:1.2}.topbar-page-title{font-size:.875rem;font-weight:500;color:var(--gray-600);margin:0;line-height:1.2}.topbar-center{display:flex;align-items:center;gap:.75rem;flex:1;justify-content:flex-end}.topbar-center .header-buttons{display:flex;gap:.75rem;align-items:center}.topbar-center .btn-new-bill,.topbar-center .btn-generate-report{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.topbar-center .btn-new-bill{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.topbar-center .btn-new-bill:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.topbar-center .btn-generate-report{background:#fff;color:#10b981;border:1px solid #10b981}.topbar-center .btn-generate-report:hover{background:#f0fdf4;transform:translateY(-1px)}.topbar-right{display:flex;align-items:center;gap:1rem}.topbar-user{position:relative}.topbar-user-button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;transition:opacity .2s}.topbar-user-button:hover{opacity:.8}.topbar-user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;box-shadow:0 2px 8px #10b9814d}.topbar-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:250px;overflow:hidden;animation:fadeInDown .2s ease;z-index:1000}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.topbar-dropdown-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f9fafb}.topbar-dropdown-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;flex-shrink:0}.topbar-dropdown-info{display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.topbar-dropdown-name{font-size:.875rem;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-dropdown-email{font-size:.75rem;color:var(--gray-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-dropdown-divider{height:1px;background:var(--border);margin:0}.topbar-dropdown-menu{display:flex;flex-direction:column;padding:.5rem}.topbar-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:none;color:var(--gray-700);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border-radius:6px;text-decoration:none;width:100%;text-align:left}.topbar-dropdown-item:hover{background:#f3f4f6;color:var(--gray-900)}.topbar-dropdown-item svg{flex-shrink:0}@media(max-width:1024px){.topbar{padding:.75rem 1rem}.topbar-left{min-width:auto}.topbar-logo-img{width:40px;height:40px}.topbar-club-name{font-size:.875rem}.topbar-page-title{font-size:.75rem}}@media(max-width:900px){.topbar-menu-button{display:flex;align-items:center;justify-content:center}.topbar-logo{display:none}.topbar-left{min-width:auto}}@media(max-width:768px){.topbar{padding:.75rem 1rem;gap:1rem;height:60px;max-height:60px}.topbar-center{flex-wrap:wrap;gap:.5rem}.topbar-center .header-buttons{gap:.5rem}.topbar-center .btn-new-bill span,.topbar-center .btn-generate-report span{display:none}.topbar-center .btn-new-bill,.topbar-center .btn-generate-report{padding:.625rem;min-width:40px;justify-content:center}.topbar-center .products-topbar-btn span,.topbar-center .btn-new-reservation span{display:none}.topbar-center .btn-new-reservation{padding:.625rem;min-width:40px;justify-content:center}.topbar .toggle-container{gap:.25rem}.topbar .toggle-button{font-size:0;padding:.625rem;min-width:40px;width:auto}.topbar .toggle-button:first-letter{font-size:.875rem}.topbar-dropdown{right:0;left:auto;min-width:200px}}@media(max-width:480px){.topbar{padding:.5rem .75rem;gap:.5rem}.topbar-logo{gap:.5rem}.topbar-logo-img{width:36px;height:36px}.topbar-club-name{font-size:.8125rem}.topbar-page-title{font-size:.6875rem}.topbar-center .header-buttons{flex-direction:row;flex-wrap:nowrap;gap:.5rem}.topbar-center .btn-new-bill,.topbar-center .btn-generate-report,.topbar-center .btn-new-reservation{padding:.5rem;min-width:36px;justify-content:center}.topbar .toggle-button{padding:.5rem;min-width:36px}.topbar-user-avatar{width:36px;height:36px;font-size:.875rem}}.app-container{display:grid;grid-template-columns:240px 1fr;background-color:#e4edf3;color:#343a40;transition:grid-template-columns .3s ease}.app-container.sidebar-collapsed{grid-template-columns:70px 1fr}.app-container.force-mobile{grid-template-columns:1fr}@media(max-width:767px){.app-container{grid-template-columns:1fr}}.mobile-header{display:none!important}.mobile-header.force-mobile{display:flex}@media(max-width:767px){.mobile-header{display:none!important}}.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{display:flex;flex-direction:column;height:100vh;margin-top:0;overflow:hidden}.main-content main{flex:1;height:calc(100vh - 80px);overflow-y:auto}.main-content.force-mobile{margin-top:60px}.sidebar-container{width:240px;height:100vh;overflow-x:hidden;background-color:#fff;color:#fff;position:relative;transition:width .3s ease,transform .3s ease-in-out;z-index:1000;display:flex;flex-direction:column;align-items:stretch;border-right:1px solid gainsboro;overflow-y:auto}.sidebar-container.collapsed{width:70px}.sidebar-container.force-mobile{position:fixed;top:0;left:0;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;transform:translate(-100%);z-index:12500}.sidebar-container.show{transform:translate(0);box-shadow:2px 0 10px #0000001a}.sidebar-container.collapsed{width:280px}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 12px;border-bottom:1px solid #f0f0f0;min-height:100px}.logo{display:flex;align-items:center;justify-content:center;transition:all .3s ease}.logo img{width:48px;height:48px}.toggle-sidebar-button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .3s ease;color:#8a8d98;display:flex;align-items:center;justify-content:center}.toggle-sidebar-button:hover{background-color:#3b82f61a;color:var(--primary)}.toggle-sidebar-button svg{width:18px;height:18px}.sidebar-container.collapsed .sidebar-header{flex-direction:column;gap:8px;padding:12px 8px}@media(max-width:767px){.sidebar-container.collapsed .sidebar-header{flex-direction:row;gap:0;padding:16px;justify-content:space-between}}.sidebar-container.collapsed .toggle-sidebar-button{padding:.4rem}@media(max-width:767px){.toggle-sidebar-button{display:none}.sidebar-header{padding:16px}.logo{margin:0}}.nav{width:100%;padding:8px 12px;flex:1}@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:4px;display:flex;justify-content:stretch}.nav-item.force-mobile{justify-content:flex-start;margin-bottom:6.4px}.sidebar-container.collapsed .nav-item{justify-content:center}@media(max-width:767px){.sidebar-container.collapsed .nav-item{justify-content:flex-start}}@media(max-width:767px){.nav-item{justify-content:flex-start;margin-bottom:6.4px}}.nav-link{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;width:100%;height:46px;padding:0 12px;border-radius:10px;color:#6c7680;background-color:transparent;border:none;transition:all .2s ease;cursor:pointer;text-decoration:none;gap:12px;position:relative;font-size:14px;font-weight:500}.sidebar-container.collapsed .nav-link{justify-content:center;padding:0;width:46px;gap:0}@media(max-width:767px){.sidebar-container.collapsed .nav-link{justify-content:flex-start;padding:0 .5rem;width:100%;gap:12px}}.nav-link.active{color:var(--primary);background-color:#3b82f61a}.nav-link:hover{color:var(--primary);background-color:#3b82f614}.nav-link.active:hover{background-color:#3b82f626}.nav-link svg{width:20px;height:20px;flex-shrink:0;opacity:.85}.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}@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 svg{width:18px;height:18px}}.nav-text{display:block;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease}.sidebar-container.collapsed .nav-text{display:none}@media(max-width:767px){.sidebar-container.collapsed .nav-text{display:block}}.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:row;align-items:center;justify-content:flex-start;width:auto;height:46px;margin:0 12px;padding:0 12px;border-radius:10px;color:#6c7680;background-color:transparent;border:none;transition:all .2s ease;cursor:pointer;text-decoration:none;gap:12px;position:relative;font-size:14px;font-weight:500}.sidebar-container.collapsed .settings-link{justify-content:center;padding:0;width:46px;gap:0;margin:0 auto}@media(max-width:767px){.sidebar-container.collapsed .settings-link{justify-content:flex-start;padding:0 1rem;width:calc(100% - 2rem);gap:12px;margin:0 1rem}}.settings-link.active{color:var(--primary);background-color:#3b82f61a}.settings-link:hover{color:var(--primary);background-color:#3b82f614}.settings-link.active:hover{background-color:#3b82f626}.settings-link svg{width:20px;height:20px;flex-shrink:0}.settings-link.force-mobile{width:calc(100% - 2rem);margin:0 1rem;height:48px;padding:0 1rem;border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px}@media(max-width:767px){.settings-link{width:calc(100% - 2rem);margin:0 1rem;height:48px;padding:0 1rem;border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px}}.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:stretch;padding:0;width:100%}.sidebar-container.collapsed .nav-item-container{justify-content:center;width:46px}@media(max-width:767px){.sidebar-container.collapsed .nav-item-container{justify-content:stretch;width:100%}}@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:row;align-items:center;justify-content:flex-start;width:auto;height:46px;margin:auto 12px 16px;border-radius:10px;padding:0 12px;background-color:transparent;color:#6c7680;transition:all .2s ease;cursor:pointer;border:none;text-decoration:none;gap:12px;font-size:14px;font-weight:500}.sidebar-container.collapsed .logout-button{justify-content:center;padding:0;width:46px;gap:0;margin:12px auto 16px}@media(max-width:767px){.sidebar-container.collapsed .logout-button{justify-content:flex-start;padding:0 1rem;width:calc(100% - 2rem);gap:12px;margin:.5rem 1rem 1rem}}.logout-button:hover{background-color:#ef44441a;color:#ef4444}.logout-button svg{width:20px;height:20px;flex-shrink:0}.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:block;font-size:14px;font-weight:500;white-space:nowrap}.sidebar-container.collapsed .logout-text{display:none}@media(max-width:767px){.sidebar-container.collapsed .logout-text{display:block}}.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;background-color:unset!important}.logo-container img{width:64px;height:64px}.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:1000;animation:fadeIn .2s ease-in-out}.modal-content{background:#fff;max-height:100vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;background-color:#f9fafb;border-radius:12px 12px 0 0}.modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0;display:flex;align-items:center;gap:.75rem}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb;border-radius:0 0 12px 12px}.modal-close{background:none;border:none;cursor:pointer;padding:.5rem;color:#6b7280;transition:all .2s ease;border-radius:6px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background-color:#f3f4f6;color:#374151}.spinner{width:1rem;height:1rem;border:2px solid rgba(0,0,0,.1);border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;display:inline-block}.spinner-icon{width:1.5rem;height:1.5rem;border:3px solid rgba(0,0,0,.1);border-top:3px solid currentColor;border-radius:50%;animation:spin .8s linear infinite}.status-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;line-height:1;text-transform:capitalize;white-space:nowrap}.status-badge.status-open,.status-badge.status-pending{background-color:#fef3c7;color:#92400e}.status-badge.status-closed,.status-badge.status-completed{background-color:#d1fae5;color:#065f46}.status-badge.status-cancelled,.status-badge.status-rejected{background-color:#fee2e2;color:#991b1b}.status-badge.status-active{background-color:#dbeafe;color:#1e40af}.status-badge.status-inactive{background-color:#f3f4f6;color:#6b7280}.btn-secondary{background-color:#6b7280;color:#fff;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-secondary:hover{background-color:#4b5563}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.form-group{display:flex;flex-direction:column;gap:.5rem;position:relative}.form-group label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#374151}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.table-container{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb;background:#fff}.filters-container{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background-color:#f9fafb;border-radius:8px;margin-bottom:1.5rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;color:#6b7280}.empty-state svg{width:4rem;height:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:.5rem}.empty-state p{font-size:.875rem;color:#6b7280}.error-message{padding:.75rem 1rem;background-color:#fee2e2;color:#991b1b;border-radius:6px;border:1px solid #fecaca;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.skeleton-card-header{height:1.5rem;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:4px;margin-bottom:.75rem}.skeleton-title{height:1rem;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:4px}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.modal-content{max-width:95%;max-height:100vh}.modal-header,.modal-body,.modal-footer{padding:1rem}.form-row{grid-template-columns:1fr}.filters-container{flex-direction:column}.dashboard-header{flex-direction:column;align-items:flex-start}}*{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-overlay{position:absolute!important;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#10b98166,#05966966);z-index:0}.dashboard-content{position:relative;z-index:1;width:100%;max-width:1400px;margin:0 auto;padding:1rem}.dashboard-grid-layout{display:grid;gap:1rem;width:100%;max-width:1400px;margin:0 auto;padding:0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fffffff2;border-radius:12px;box-shadow:0 2px 8px #00000014}.dashboard-header-left{display:flex;align-items:center}.dashboard-title-container{display:flex;flex-direction:column;gap:.25rem}.real-time-badge-container{display:flex;justify-content:flex-start;align-items:center;gap:1rem;width:100%;flex-wrap:wrap}.real-time-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;color:#10b981;border-radius:20px;font-size:.875rem;font-weight:600;width:fit-content;border:2px solid rgba(16,185,129,.9);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pulse-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulseDot 1.5s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.3}}.access-control-button{white-space:nowrap}.dashboard-actions a{text-decoration:none}.toggle-button:hover{background:#f3f4f6}.toggle-button.selected{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.charts-with-ai-grid{display:grid;grid-template-columns:1fr 33%;gap:1.5rem}@media(max-width:1200px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.charts-with-ai-grid{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-container{height:auto;min-height:auto}.dashboard-grid-layout{gap:1rem;padding:0}.dashboard-header{flex-direction:column;gap:.75rem;align-items:flex-start;padding:.75rem}.dashboard-logo-img{width:40px}.dashboard-title{font-size:1.25rem}.dashboard-actions{flex-direction:column;width:100%;gap:.5rem}.dashboard-actions button,.dashboard-actions a{width:100%}.toggle-button{width:100%;padding:.625rem 1rem;font-size:.8125rem}.real-time-badge{font-size:.75rem;padding:.375rem .75rem}.pulse-dot{width:6px;height:6px}.metrics-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1rem}.charts-with-ai-grid{grid-template-columns:1fr;gap:1rem}.toggle-container{width:100%;justify-content:flex-start;gap:.5rem;flex-wrap:wrap}.chart-card{padding:1rem}.chart-title{font-size:1rem}.filter-button{flex:1;min-width:60px;padding:.375rem .5rem;font-size:.75rem}.heatmap-grid{gap:.25rem}.heatmap-cell{height:40px;font-size:.75rem;padding:.25rem}.heatmap-day-label{font-size:.75rem}.ai-recommendations-container{padding:1rem;min-height:280px}.coming-soon-overlay{padding:.75rem}.coming-soon-content{padding:1rem}.coming-soon-content h4{font-size:1rem}.coming-soon-content p{font-size:.75rem}.coming-soon-features{font-size:.75rem;max-width:100%}.coming-soon-features span{font-size:.75rem;padding:.375rem .75rem}}@media(max-width:480px){.dashboard-container{min-height:auto}.dashboard-grid-layout{gap:.75rem;padding:0}.dashboard-header{padding:.5rem}.dashboard-title{font-size:1.125rem}.dashboard-logo-img{width:36px}.toggle-button{padding:.5rem .75rem;font-size:.75rem}.stat-card,.chart-card{padding:.75rem}.chart-title{font-size:.9375rem}.filter-button{padding:.25rem .375rem;font-size:.6875rem}.heatmap-cell{height:35px;font-size:.6875rem}.real-time-badge{font-size:.6875rem;padding:.25rem .5rem}.ai-recommendations-container{min-height:260px}.coming-soon-overlay{padding:.5rem}.coming-soon-content{padding:.75rem}.coming-soon-content h4{font-size:.9375rem}.coming-soon-content p{font-size:.6875rem}.coming-soon-features{gap:.375rem}.coming-soon-features span{font-size:.6875rem;padding:.3125rem .625rem}}.dashboard-logo{display:flex;gap:.5rem;align-items:center}.dashboard-logo-img{width:48px;border-radius:15px;box-shadow:0 2px 4px #0000001a}.difference-icon{font-size:2rem}.difference-label{font-size:.875rem;font-weight:600;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.difference-amount{font-size:1.5rem;font-weight:900}.cash-closure-header-title{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.cash-closure-header-title h4{margin:0;color:#111827;font-size:1.25rem;font-weight:600;display:flex;align-items:center}.cash-closure-summary{margin-bottom:1.5rem}.closure-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.closure-column{display:flex;flex-direction:column;gap:1rem}.column-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#374151;display:flex;align-items:center;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.closure-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.closure-item{display:flex;flex-direction:column;padding:.75rem;background:#f9fafb;border-radius:6px;border-left:3px solid #e5e7eb}.closure-item.positive{border-left-color:#16a34a;background:#f0fdf4}.closure-item.negative{border-left-color:#dc2626;background:#fef2f2}.closure-item.theoretical{border-left-color:#3b82f6;background:#eff6ff}.closure-item.final{border-left-color:#8b5cf6;background:#f5f3ff;font-weight:600}.item-label{display:flex;align-items:center;font-size:.875rem;color:#6b7280}.item-value{font-size:1rem;font-weight:600;color:#111827}.difference-badge{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;margin-top:.5rem}.difference-badge.excess{background:#d1fae5;border:1px solid #6ee7b7}.difference-badge.shortage{background:#fee2e2;border:1px solid #fca5a5}.difference-badge.excess .difference-icon{background:#059669;color:#fff}.difference-badge.shortage .difference-icon{background:#dc2626;color:#fff}.difference-text{display:flex;align-items:center;gap:.5rem}.difference-badge.excess .difference-amount{color:#059669}.difference-badge.shortage .difference-amount{color:#dc2626}.payment-section{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff;padding:1rem}.payment-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:#f9fafb;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.payment-header:hover{background:#f3f4f6}.payment-header-left{display:flex;align-items:center;gap:.5rem}.payment-title{font-size:.875rem;font-weight:600;color:#374151}.payment-header-right{display:flex;align-items:center;gap:.75rem}.payment-total{font-size:1rem;font-weight:700}.payment-total.positive{color:#16a34a}.payment-total.negative{color:#dc2626}.payment-detail-list{list-style:none;padding:0;margin:0;border-top:1px solid #e5e7eb}.payment-detail-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #f3f4f6}.payment-detail-item:last-child{border-bottom:none}.payment-method{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.payment-method .payment-icon{color:#9ca3af;font-size:1rem}.payment-amount{font-size:.875rem;font-weight:600;color:#111827}@media(max-width:768px){.closure-grid{grid-template-columns:1fr;gap:1.5rem}}.summary-item{display:flex;justify-content:space-between;margin-bottom:.5rem}.summary-item:last-child{margin-bottom:0}.positive{color:#10b981}.negative{color:#ef4444}.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}.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-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}.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-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}.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}@media(max-width:768px){.summary-details{grid-template-columns:1fr}.total-card{padding:.75rem}}.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.transfer{color:#8b5cf6}.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}.stat-card,.chart-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;border:1px solid rgba(16,185,129,.1)}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.chart-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.filter-button{padding:.5rem 1rem;border:1px solid #E5E7EB;background:#fff;border-radius:8px;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.filter-button:hover{background:#f9fafb;border-color:#d1d5db}.filter-button.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#10b981}.heatmap-container{margin-top:1rem}.heatmap-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.heatmap-day{text-align:center}.heatmap-day-label{font-size:.75rem;font-weight:600;color:#6b7280;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.heatmap-slots{display:flex;flex-direction:column;gap:.5rem}.heatmap-cell{height:60px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;border:2px solid transparent}.heatmap-cell:hover{transform:scale(1.05);border-color:#10b981}.heatmap-cell.high{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.heatmap-cell.medium{background:linear-gradient(135deg,#d97706,#b45309);color:#fff}.heatmap-cell.low{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.heatmap-cell.empty{background:#f3f4f6;color:#9ca3af}.ai-recommendations-container{position:relative;min-height:300px;overflow:hidden}.ai-recommendations-content{position:relative;width:100%}.recommendations-skeleton{display:flex;flex-direction:column;gap:1rem}.skeleton-item{display:flex;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px}.skeleton-icon{width:40px;height:40px;border-radius:8px;background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-text{flex:1;display:flex;flex-direction:column;gap:.5rem}.skeleton-line{height:12px;border-radius:4px;background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-line-title{width:60%;height:16px}.skeleton-line-desc{width:90%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.coming-soon-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;border-radius:12px;z-index:10;padding:1rem}.coming-soon-overlay.disabled-overlay{background:#f3f4f6fa;cursor:not-allowed}.coming-soon-overlay.disabled-overlay .coming-soon-content h4{color:#9ca3af}.coming-soon-overlay.disabled-overlay .coming-soon-content p{color:#d1d5db}.coming-soon-overlay.disabled-overlay .coming-soon-features span{background:#f3f4f6cc;color:#9ca3af;border:1px solid #E5E7EB;opacity:.7}.coming-soon-content{text-align:center;padding:1.5rem;max-width:100%;width:100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.coming-soon-content h4{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 .5rem}.coming-soon-content p{font-size:1rem;color:#6b7280;margin:0 0 1.5rem}.coming-soon-features{display:flex;flex-direction:column;gap:.5rem;align-items:center;width:100%;max-width:280px;margin:0 auto}.coming-soon-features span{display:inline-block;padding:.5rem 1rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:8px;font-size:.875rem;font-weight:500;color:#059669;border:1px solid #BBF7D0;width:100%;text-align:center;box-sizing:border-box}.refresh-button{background:none;border:none;color:#64748b;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.refresh-button:hover{background-color:#f1f5f9;color:#334155}.refresh-button:active{transform:rotate(180deg)}@media(max-width:768px){.pie-chart-container{gap:.75rem}.pie-chart{width:180px!important;height:180px!important}.legend-label,.legend-value{font-size:.75rem}}.sales-by-product-type-card{max-height:360px!important;height:auto!important}.sales-by-product-type-card .dashboard-card-body{max-height:360px!important;overflow:visible!important}.required-asterisk{color:#dc2626;margin-left:2px}.form-input.input-error{border-color:#dc2626;background-color:#fef2f2}.form-input.input-error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.info-message{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:8px;margin-bottom:1rem;margin-top:.5rem}.info-message .info-icon{color:#3b82f6;flex-shrink:0;margin-top:2px;font-size:1rem}.info-message span{font-size:.875rem;color:#1e40af;line-height:1.5}.validation-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem}.validation-message .validation-icon{color:#dc2626;flex-shrink:0;font-size:1rem}.validation-message span{font-size:.875rem;color:#991b1b}.btn-loading{background:linear-gradient(135deg,#94a3b8,#64748b)!important;cursor:not-allowed!important;pointer-events:none}.btn-loading:hover{background:linear-gradient(135deg,#94a3b8,#64748b)!important}.spinner-icon{animation:spin 1s linear infinite;margin-right:8px;vertical-align:middle}.summary-skeleton{padding:1rem}.summary-skeleton .skeleton-header{margin-bottom:1.5rem}.summary-skeleton .skeleton-title{height:28px;background:linear-gradient(90deg,var(--gray-200, #e5e7eb) 25%,var(--gray-100, #f3f4f6) 50%,var(--gray-200, #e5e7eb) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:6px;width:60%}.summary-skeleton .skeleton-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.summary-skeleton .skeleton-column{display:flex;flex-direction:column;gap:.75rem}.summary-skeleton .skeleton-subtitle{height:20px;background:linear-gradient(90deg,var(--gray-200, #e5e7eb) 25%,var(--gray-100, #f3f4f6) 50%,var(--gray-200, #e5e7eb) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px;width:80%;margin-bottom:.5rem}.summary-skeleton .skeleton-row{height:40px;background:linear-gradient(90deg,var(--gray-200, #e5e7eb) 25%,var(--gray-100, #f3f4f6) 50%,var(--gray-200, #e5e7eb) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:6px}.summary-skeleton .skeleton-badge{height:60px;background:linear-gradient(90deg,var(--gray-200, #e5e7eb) 25%,var(--gray-100, #f3f4f6) 50%,var(--gray-200, #e5e7eb) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px;margin-top:.5rem}@media(max-width:768px){.summary-skeleton .skeleton-grid{grid-template-columns:1fr}}.expenses-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}@media(min-width:768px){.expenses-dashboard{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.expenses-dashboard{grid-template-columns:repeat(4,1fr)}.category-card{grid-column:auto;width:fit-content;min-width:350px}.evolution-card{grid-column:span 2!important}}.dashboard-card{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:12px;padding:.75rem;box-shadow:0 4px 6px #00000012,0 1px 3px #0000000f;border:1px solid rgba(0,0,0,.05);transition:all .3s ease;overflow:hidden;overflow-y:auto;position:relative;height:128px;max-height:128px}.dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#8b5cf6,#ec4899);opacity:0;transition:opacity .3s ease}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a,0 6px 12px #00000014}.dashboard-card:hover:before{opacity:1}.dashboard-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:#64748b}.dashboard-card-header .card-icon{font-size:1.1rem;color:#8b5cf6}.dashboard-card-header h3{font-size:.75rem;font-weight:600;margin:0;text-transform:uppercase;letter-spacing:.5px}.dashboard-card-body{padding:.125rem 0}.metric-value{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.25rem;line-height:1}.metric-subtitle{font-size:.75rem;color:#64748b;margin:0}.total-card .card-icon,.total-card .metric-value{color:#8b5cf6}.variation-card .trend-up{color:#10b981}.variation-card .trend-down{color:#ef4444}.variation-card .metric-value.positive{color:#10b981}.variation-card .metric-value.negative{color:#ef4444}.recurring-card .card-icon,.recurring-card .metric-value{color:#3b82f6}.onetime-card .card-icon,.onetime-card .metric-value{color:#f59e0b}.category-card .card-icon{color:#ec4899}.category-card{height:380px;max-height:380px}.evolution-card{max-height:380px;height:380px}.variation-card,.recurring-card,.onetime-card,.total-card{height:130px}.filter-select{width:100%;padding:.625rem .875rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.875rem;color:#334155;background:#fff;cursor:pointer;transition:all .2s ease}.filter-select:hover{border-color:#8b5cf6}.filter-select:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.pie-chart-container{display:flex;flex-direction:column;gap:1rem;align-items:center;width:100%;padding:.5rem 0}.pie-chart{width:200px!important;height:200px!important;max-width:200px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));display:block!important;margin:0 auto}.pie-legend{width:100%;display:flex;flex-direction:column;gap:.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;padding:.375rem;border-radius:6px;transition:background-color .2s ease}.legend-item:hover{background-color:#f8fafc}.legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0;box-shadow:0 2px 4px #0000001a}.legend-info{flex:1;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.legend-label{font-size:.8rem;font-weight:500;color:#334155}.legend-value{font-size:.8rem;font-weight:600;color:#64748b;white-space:nowrap}.no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#94a3b8;text-align:center}.no-data svg{margin-bottom:1rem;opacity:.5}.no-data p{font-size:.875rem;margin:0}.dashboard-loading .loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.dashboard-loading p{font-size:.875rem;margin:0}.skeleton-chart{width:100%;height:280px;border-radius:8px;margin-top:1rem}.skeleton-table{width:100%;border-collapse:collapse}.skeleton-table-row{border-bottom:1px solid #f3f4f6}.skeleton-table-cell{padding:1rem}.skeleton-table-text{height:16px;width:100%;max-width:150px}.skeleton-table-text.short{max-width:80px}.skeleton-table-text.medium{max-width:120px}.skeleton-table-text.long{max-width:200px}.skeleton-bill-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid #e5e7eb;margin-bottom:1rem}.skeleton-card-title{height:20px;width:70%;margin-bottom:1rem}.skeleton-info-icon{width:16px;height:16px;border-radius:50%}.skeleton-info-text{height:14px;flex:1}@media(max-width:768px){.skeleton-card-info{grid-template-columns:1fr}}.evolution-chart-container{display:flex;flex-direction:column;gap:.75rem;align-items:center;width:100%;padding:.5rem 0}.evolution-chart{width:100%;max-width:90%;height:auto;min-height:250px;display:block;margin:0 auto}.chart-point{cursor:pointer;transition:all .3s ease}.chart-point:hover{r:7;filter:drop-shadow(0 2px 4px rgba(139,92,246,.4))}.grid-lines line{transition:stroke .3s ease}.evolution-legend{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-top:.5rem}.legend-item-evolution{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#334155;font-weight:500}.legend-line{width:28px;height:2.5px;border-radius:2px}.legend-line.total-line{background:#8b5cf6}.legend-line.recurring-line{background:#3b82f6;background-image:repeating-linear-gradient(90deg,#3b82f6,#3b82f6 5px,transparent 5px,transparent 10px)}.legend-line.onetime-line{background:#f59e0b;background-image:repeating-linear-gradient(90deg,#f59e0b,#f59e0b 5px,transparent 5px,transparent 10px)}@media(max-width:768px){.expenses-dashboard{grid-template-columns:1fr;gap:1rem;margin:1.5rem 0;padding:0 .5rem}.dashboard-card{padding:1.25rem}.metric-value{font-size:1.75rem}.dashboard-card-header h3{font-size:.85rem}.pie-chart-container{gap:1rem}.pie-chart{max-width:200px}.legend-info{flex-direction:column;align-items:flex-start;gap:.25rem}.skeleton-dashboard-card.large{grid-column:auto!important}}@media(max-width:480px){.metric-value{font-size:1.5rem}.dashboard-card-header .card-icon{font-size:1.25rem}.pie-chart{max-width:180px}}.pending-sales-card{border-left:4px solid #f59e0b!important;background:linear-gradient(135deg,#f59e0b0d,#f59e0b1a);margin-top:1rem;animation:slideInFromRight .3s ease-out}.pending-sales-header{background:linear-gradient(135deg,#f59e0b1a,#f59e0b26);border-bottom:1px solid rgba(245,158,11,.2);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}.bills-container{padding:1rem}.payer-autocomplete{display:flex;flex-direction:column;gap:0;padding:.25rem;background:#fff!important;box-shadow:0 4px 12px #0000001a,0 2px 4px #0000000f;border:1px solid #e5e7eb;border-radius:8px;max-height:300px;overflow-y:auto;animation:slideDown .2s ease-out;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.payer-autocomplete::-webkit-scrollbar{width:6px}.payer-autocomplete::-webkit-scrollbar-track{background:#f3f4f6;border-radius:10px}.payer-autocomplete::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.payer-autocomplete::-webkit-scrollbar-thumb:hover{background:#94a3b8}.payer-option{background:#fff!important;border:none!important;padding:.75rem 1rem;box-shadow:none!important;border-radius:6px;margin:.125rem;transition:all .2s ease;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#374151;font-weight:500;position:relative;overflow:hidden}.payer-option:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);transform:scaleY(0);transition:transform .2s ease}.payer-option:hover{background:linear-gradient(135deg,#f0f9ff,#ede9fe)!important;color:#1e293b;font-weight:600;transform:translate(4px);box-shadow:0 2px 8px #3b82f626!important}.payer-option:hover:before{transform:scaleY(1)}.payer-option:active{transform:translate(2px) scale(.98);background:linear-gradient(135deg,#dbeafe,#e9d5ff)!important}.payer-autocomplete:empty:after{content:"No se encontraron resultados";display:block;padding:1rem;text-align:center;color:#9ca3af;font-style:italic;font-size:.875rem}@media(max-width:768px){.payer-autocomplete{max-height:250px}.payer-option{padding:.875rem 1rem;font-size:.95rem}}.tabs-header{background:#fff;display:flex;gap:1rem;padding:1rem}.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-detail-info{display:flex;flex-direction:column;gap:1rem}.payer-info{display:flex;justify-content:space-between;flex-grow:1;margin-right:.75rem}.payer-name{font-weight:600;color:var(--gray-700)}.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)}.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){.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;font-size:.85rem}.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}@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-icon{color:#3b82f6;font-size:1.1rem}.payer-card-body{padding:1rem}.add-payer-option{background:#fff!important;border:none!important;border:1px solid gainsboro!important}.contribution-input-group{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1.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:.75rem 1.5rem!important;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-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}.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;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.cards-pagination .pagination-center{flex:1;text-align:center}.cards-pagination .pagination-right{display:flex;align-items:center;gap:1rem}.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{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}@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:1rem;padding:0}.view-toggle-buttons{display:flex;background:#f3f4f6;border-radius:8px;padding:2px}.view-toggle-btn:hover{color:#374151;background:#ffffff80}.view-toggle-btn.active{background:#fff;color:#1f2937;box-shadow:0 1px 3px #0000001a}@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;transition:all .3s ease}.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;transition:all .3s ease}.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)}@media(max-width:768px){.tutor-indicator{font-size:.8rem}.tutor-info,.tutor-info-row{font-size:.65rem}.tutor-data-indicator{font-size:.7rem}}.client-with-pending-sales{background:linear-gradient(135deg,#f59e0b14,#fbbf241f)!important;border:2px solid rgba(245,158,11,.2)!important;box-shadow:0 4px 12px #f59e0b26!important;transition:all .3s ease}.client-with-pending-sales:hover{background:linear-gradient(135deg,#f59e0b1f,#fbbf242e)!important;border-color:#f59e0b4d!important;box-shadow:0 6px 20px #f59e0b33!important}.row-with-pending-sales{background:linear-gradient(135deg,#f59e0b0f,#fbbf241a)!important;border-left:4px solid rgba(245,158,11,.4)!important;transition:all .3s ease}.row-with-pending-sales:hover{background:linear-gradient(135deg,#f59e0b1a,#fbbf2426)!important}.table-row.row-with-pending-sales td{position:relative}.table-row.row-with-pending-sales td:first-child:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(135deg,#f59e0b,#fbbf24)}.client-with-tutor.client-with-pending-sales{background:linear-gradient(135deg,#9333ea14,#c4b5fd14,#f59e0b14)!important;border:2px solid rgba(196,113,143,.3)!important;box-shadow:0 4px 12px #c4718f33!important}.client-with-tutor.client-with-pending-sales:hover{background:linear-gradient(135deg,#9333ea1f,#c4b5fd1f,#f59e0b1f)!important;border-color:#c4718f66!important;box-shadow:0 6px 20px #c4718f40!important}.row-with-tutor.row-with-pending-sales{background:linear-gradient(135deg,#9333ea0f,#c4b5fd0f,#f59e0b0f)!important;border-left:4px solid rgba(196,113,143,.4)!important}.row-with-tutor.row-with-pending-sales:hover{background:linear-gradient(135deg,#9333ea1a,#c4b5fd1a,#f59e0b1a)!important}.table-row.row-with-tutor.row-with-pending-sales td:first-child:before{background:linear-gradient(135deg,#7c3aed,#c471a0,#f59e0b)}.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)}.shared-modal-backdrop{position:fixed!important;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;animation:fadeIn .3s ease}.shared-modal-content{background-color:#fff;width:90vw;max-width:600px;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideInFromTop .4s ease;border-radius:12px;z-index:2200}.MuiPickersPopper-root{z-index:2300!important}.shared-modal-content-large{background-color:#fff;width:90vw;max-width:90vw;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideInFromTop .4s ease;border-radius:12px;z-index:2200}.shared-modal-content-medium{background-color:#fff;width:90vw;max-width:800px;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideInFromTop .4s ease;border-radius:12px;z-index:2200}.shared-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:12px 12px 0 0;flex-shrink:0}.shared-modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#111827;display:flex;align-items:center;gap:.75rem}.shared-modal-title-icon{color:#059669;flex-shrink:0}.shared-modal-close{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:1.5rem}.shared-modal-close:hover{background:#fee2e2;color:#b91c1c}.shared-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.shared-modal-body::-webkit-scrollbar{width:8px}.shared-modal-body::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.shared-modal-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.shared-modal-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.shared-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0;border-radius:0 0 12px 12px}.shared-form{display:flex;flex-direction:column;gap:1rem}.shared-form-group{display:flex;flex-direction:column;gap:.5rem}.shared-form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;margin:0}.shared-form-label svg{color:#059669;flex-shrink:0}.shared-form-input,.shared-form-select{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#111827;background:#fff;transition:all .2s ease}.shared-form-input:focus,.shared-form-select:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.shared-form-input:disabled,.shared-form-select:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.6}.shared-form-help-text{font-size:.75rem;color:#6b7280;margin:0}.shared-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.shared-form-row{grid-template-columns:1fr}}.shared-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;border:none;min-height:40px}.shared-btn svg{flex-shrink:0}.shared-btn:disabled{opacity:.8;cursor:not-allowed}.shared-btn-primary{background:#059669;color:#fff}.shared-btn-primary:hover:not(:disabled){background:#047857;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0596694d}.shared-btn-primary:active:not(:disabled){transform:translateY(0)}.shared-btn-primary:disabled{background:#4b5563!important;color:#d1d5db!important;transform:none!important;box-shadow:none!important}.shared-btn-primary:disabled:hover{background:#4b5563!important;color:#d1d5db!important;transform:none!important;box-shadow:none!important}.shared-btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.shared-btn-secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.shared-btn-download{background:#059669;color:#fff}.shared-btn-download:hover:not(:disabled){background:#047857;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0596694d}.shared-error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:.875rem;margin-bottom:1rem}.shared-error-message svg{color:#dc2626;flex-shrink:0}.shared-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 1rem;color:#6b7280}.shared-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#059669;border-radius:50%;animation:spin .8s linear infinite}.shared-loading-text{font-size:.875rem;color:#6b7280}.shared-no-data-message{text-align:center;padding:3rem 1rem;color:#9ca3af;font-style:italic;font-size:.875rem}.shared-preselected-info{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;padding:1rem;margin-bottom:1rem}.shared-preselected-info h4{margin:0 0 .5rem;color:#0369a1;font-size:.875rem;font-weight:600}.shared-preselected-info-content{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.shared-preselected-info-content span{font-weight:600;color:#111827}.shared-preselected-info-content .separator{color:#6b7280;font-weight:400}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.shared-modal-content,.shared-modal-content-medium,.shared-modal-content-large{width:95vw;max-width:95vw;max-height:95vh}.shared-modal-header,.shared-modal-body,.shared-modal-footer{padding:1rem}.shared-modal-title{font-size:1.125rem}.shared-form-row{grid-template-columns:1fr}.shared-modal-footer{flex-direction:column-reverse}.shared-btn{width:100%}}@media(max-width:480px){.shared-modal-content,.shared-modal-content-medium,.shared-modal-content-large{width:100vw;max-width:100vw;max-height:100vh;border-radius:0}.shared-modal-header{padding:.875rem;border-radius:0}.shared-modal-title{font-size:1rem}.shared-modal-body{padding:.875rem}.shared-modal-footer{padding:.875rem;border-radius:0}}.shared-report-selection{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media(max-width:640px){.shared-report-selection{grid-template-columns:1fr}}.shared-report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#f0fdf4,#f0f9ff);border-radius:12px;border:1px solid #d1fae5}.shared-summary-metric{text-align:center}.shared-summary-metric .value{font-size:1.75rem;font-weight:700;color:#059669;margin-bottom:.25rem}.shared-summary-metric .label{font-size:.875rem;color:#6b7280;font-weight:500}.shared-tab-buttons{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb;overflow-x:auto;padding-bottom:0;position:sticky;top:-1.5em;background:#fff}.shared-tab-button{padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;color:#6b7280;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;margin-bottom:-2px}.shared-tab-button:hover{color:#059669}.shared-tab-button.active{color:#059669;border-bottom-color:#059669}.shared-report-table{width:100%;border-collapse:collapse;font-size:.875rem}.shared-report-table thead{background:#f9fafb;z-index:10}.shared-report-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.shared-report-table td{padding:.75rem 1rem;border-bottom:1px solid #f3f4f6}.shared-report-table tbody tr:hover{background:#f9fafb}.shared-report-table tbody tr:last-child td{border-bottom:none}@media(max-width:768px){.shared-report-summary{grid-template-columns:1fr;padding:1rem}.shared-tab-buttons{gap:.25rem}.shared-tab-button{padding:.625rem 1rem;font-size:.813rem}.shared-report-table{font-size:.813rem}.shared-report-table th,.shared-report-table td{padding:.5rem .75rem}}.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}:root{--accent: #10b981;--accent-dark: #059669;--text-primary: #0f172a;--text-secondary: #64748b;--text-tertiary: #94a3b8;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--border: #e2e8f0;--border-light: #f1f5f9;--danger: #ef4444;--danger-light: #fee2e2;--success: #10b981;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}.whatsapp-manager{background:var(--bg-secondary);padding:2rem 0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.container{padding:1rem}.body-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem;gap:2rem}.body-header-left{flex:1}.body-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.body-subtitle{font-size:1rem;color:var(--text-secondary);margin:0;line-height:1.6}.body-header-actions{display:flex;gap:.75rem}.btn-integration{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--text-secondary);border:1px solid var(--border);padding:.75rem 1.25rem;border-radius:var(--radius);font-size:.9375rem;font-weight:500;cursor:pointer;transition:var(--transition)}.btn-integration:hover{background:var(--bg-secondary);border-color:var(--text-tertiary);color:var(--text-primary)}.btn-accent{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:var(--radius);font-size:.9375rem;font-weight:500;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}.btn-accent:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:var(--shadow)}.btn-accent:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;transform:none;box-shadow:none}.empty-state-modern{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;text-align:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl)}.empty-illustration{width:120px;height:120px;background:var(--bg-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--text-tertiary)}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.empty-state-text{font-size:.9375rem;color:var(--text-secondary);margin:0 0 1.5rem;max-width:500px;line-height:1.6}.assistants-section{margin-bottom:2rem}.assistants-grid-single{display:flex;flex-direction:column;gap:1rem}.agent-card-improved{display:flex;flex-direction:column;gap:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);transition:var(--transition)}.agent-card-improved:hover{box-shadow:var(--shadow-md);border-color:var(--accent)}.agent-card-content{display:flex;flex-direction:column;gap:1rem}.agent-header-row{display:flex;align-items:center;gap:1rem}.agent-avatar-wrapper{flex-shrink:0}.agent-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.agent-emoji{font-size:2rem}.agent-main-info{flex:1;min-width:0}.agent-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.agent-role{font-size:.875rem;color:var(--text-secondary);margin:0}.agent-toggle-wrapper{flex-shrink:0;margin-left:auto}.agent-status-row{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500}.status-badge.warning{background:var(--warning-light);color:var(--warning)}.status-badge.success,.status-badge.active{background:var(--success-light);color:var(--success)}.status-badge.inactive{background:var(--bg-tertiary);color:var(--text-tertiary)}.integrations-section{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--border-light)}.section-subtitle{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1.25rem}.integrations-list{display:flex;flex-direction:column;gap:.75rem}.integration-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;transition:var(--transition)}.integration-item:hover{box-shadow:var(--shadow-sm)}.integration-info{display:flex;align-items:center;gap:.875rem;flex:1;min-width:0}.integration-icon{width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.integration-type{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0}.integration-number{font-size:.8125rem;color:var(--text-secondary);margin:.125rem 0 0}.integration-controls{display:flex;align-items:center;gap:.75rem}.toggle-switch-small{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}.toggle-switch-small input{opacity:0;width:0;height:0}.toggle-slider-small{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--bg-tertiary);border:2px solid var(--border);transition:var(--transition);border-radius:24px}.toggle-slider-small:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background:#fff;transition:var(--transition);border-radius:50%;box-shadow:0 1px 3px #0003}input:checked+.toggle-slider-small{background:var(--accent);border-color:var(--accent)}input:checked+.toggle-slider-small:before{transform:translate(18px)}.delete-btn-compact{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:var(--transition);flex-shrink:0}.delete-btn-compact:hover{background:var(--danger-light);color:var(--danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.modal-container{background:#fff;border-radius:var(--radius-xl);max-width:600px;width:100%;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-light)}.modal-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius);color:var(--text-tertiary);cursor:pointer;transition:var(--transition)}.modal-close:hover{background:var(--bg-secondary);color:var(--text-secondary)}.modal-body{padding:1.5rem;overflow-y:auto;max-height:calc(90vh - 120px)}.modal-description{font-size:.9375rem;color:var(--text-secondary);margin:0 0 1.5rem}.integration-cards{display:flex;flex-wrap:wrap;gap:1rem}.integration-card{width:200px;height:200px;position:relative;background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:var(--transition)}.integration-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.integration-card.active{border-color:var(--accent);background:#fff}.integration-card.connected{cursor:default;border-color:var(--primary)}.integration-card.connected:hover{transform:none;box-shadow:var(--shadow-sm)}.active-badge{position:absolute;top:.75rem;right:.75rem;width:28px;height:28px;background:#fff;border:2px solid var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.active-badge svg{color:var(--primary);stroke:var(--primary)}.integration-card-icon{width:64px;height:64px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.integration-card-icon.whatsapp{background:#25d366}.integration-card-icon.instagram{background:linear-gradient(135deg,#e4405f,#c13584,#833ab4)}.integration-card-icon.arca{background:#242c4f}.integration-card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.integration-card-description{font-size:.875rem;color:var(--text-secondary);margin:0 0 1rem}.integration-card-arrow{margin-top:auto;color:var(--accent)}.integration-form{display:flex;flex-direction:column;gap:1.25rem}.btn-back{display:inline-flex;align-items:center;gap:.375rem;background:transparent;border:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition);align-self:flex-start;padding:0}.btn-back:hover{color:var(--text-primary)}.form-field{display:flex;flex-direction:column;gap:.5rem}.field-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.field-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9375rem;color:var(--text-primary);background:#fff;transition:var(--transition)}.field-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #10b9811a}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;border-top:1px solid var(--border-light);padding:0}.btn-cancel{padding:.625rem 1.25rem;background:#fff;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.btn-cancel:hover{background:var(--bg-secondary);border-color:var(--text-tertiary)}.btn-submit{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.btn-submit:hover{background:var(--accent-dark)}.modal-info-box{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.shared-modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--border-light)}.btn-secondary{padding:.625rem 1.25rem;background:#fff;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-tertiary)}.btn:hover{background:var(--accent-dark)}@media(max-width:768px){.body-header{flex-direction:column;align-items:flex-start}.body-header-actions{width:100%}.btn-integration,.btn-accent{flex:1}.agent-header-row{flex-wrap:wrap}.agent-main-info{order:2;flex:1 1 100%}.agent-avatar{order:1}.agent-toggle-wrapper{order:3}.agent-status-row{justify-content:flex-start}.integration-item{flex-direction:column;align-items:stretch}.integration-controls{justify-content:space-between;width:100%}.integration-cards{grid-template-columns:1fr}}.reservations-container{padding:1em}.btn-new-reservation-text{display:inline}.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;overflow:hidden}.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:1500}.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-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-bottom{opacity:1}.resize-handle-bottom:hover{background:#fff6;opacity:1!important}.resize-handle-bottom svg{color:#fff;font-size:12px;transform:rotate(90deg);pointer-events:none}.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-tooltip{background:#fff;color:#333;border-radius:8px;padding:12px;box-shadow:0 4px 20px #00000026;z-index:9999;min-width:220px;max-width:280px;pointer-events:none;animation:tooltipFadeIn .2s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}.reservation-tooltip:before{content:"";position:absolute;top:15px;left:-8px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid white;filter:drop-shadow(-2px 0px 2px rgba(0,0,0,.1))}.reservation-tooltip .tooltip-header{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #e0e0e0;font-size:14px;color:var(--primary)}.reservation-tooltip .tooltip-content{display:flex;flex-direction:column;gap:8px}.reservation-tooltip .tooltip-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#555}.reservation-tooltip .tooltip-item svg{color:var(--primary);flex-shrink:0}.reservation-tooltip .tooltip-item span{word-break:break-word}.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-info{display:flex;flex-direction:column;gap:1.5rem}.detail-card{background-color:#fff;border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);transition:var(--transition);height:fit-content}.detail-card-content{max-height:500px;overflow:scroll;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}.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-autocomplete-item{background:none;border:1px solid gainsboro;width:100%;display:flex;justify-content:space-between;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--gray-100)}.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;padding:.5rem}.data-table-container .calendar-header{padding-top:0}.calendar-header h3{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin:0}.calendar-mode-toggle{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}.calendar-mode-toggle .view-toggle{background:#fff!important;color:#000;width:fit-content!important}.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}.view-toggle.whatsapp-notify-btn{background-color:#25d366;color:#fff;display:flex;align-items:center;gap:.5rem;border:none;margin-right:.5rem}.view-toggle.whatsapp-notify-btn:hover{background-color:#20ba5a;transform:translateY(-1px);box-shadow:0 4px 12px #25d3664d}.view-toggle.whatsapp-notify-btn:active{transform:translateY(0);box-shadow:0 2px 4px #25d36633}.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-columns-container.zoomed{width:100%;overflow:visible}.courts-grid-fixed{display:flex;width:fit-content}.courts-scrollable-container{width:fit-content;flex:1;overflow-x:auto;overflow-y:visible}.courts-scrollable-container.zoomed{overflow-x:hidden;overflow-y:visible;width:100%}.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:fit-content;overflow:hidden}.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;background:none;border:none}.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}.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}.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}}.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}.empty-time-slot{width:100%;height:100%}.reservations-container .time-slot-row{border-bottom:1px solid var(--gray-300)!important}.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;width:65vw;height:100vh;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-body{overflow-y:auto;max-height:calc(100% - 73px)!important;padding:1rem!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;width:fit-content!important;height:fit-content!important;border:none!important}.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{background:none!important;box-shadow:none!important}.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-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:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;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)}.nav-button:disabled{opacity:.5;cursor:not-allowed}.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-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}.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:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;padding:1rem}.summary-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:linear-gradient(135deg,var(--gray-50) 0%,white 100%);border:1px solid var(--gray-200);border-radius:var(--radius-lg);transition:all .3s ease;position:relative;overflow:hidden;width:100%;min-width:400px}.summary-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary);opacity:0;transition:opacity .3s ease}.summary-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:var(--primary-light)}.summary-item:hover:before{opacity:1}.dates{display:flex;flex-direction:column;gap:.5rem;width:100%}.summary-label{font-size:.75rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem}.summary-label svg{color:var(--primary);font-size:1rem}.summary-value{font-size:1rem;font-weight:600;color:var(--gray-900);display:flex;align-items:center;gap:.5rem;min-height:24px}.summary-value input{width:100%;padding:.5rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;transition:all .2s ease}.summary-value input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.summary-value.highlight{color:var(--primary);font-weight:700;font-size:1.125rem}.court-selection{display:flex;flex-direction:column;gap:.75rem;grid-column:1 / -1;padding:1rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg)}.court-select{width:100%;padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--gray-300);background-color:#fff;font-size:.875rem;color:var(--gray-800);cursor:pointer;transition:all .2s ease}.court-select:hover{border-color:var(--primary)}.court-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.summary-details>.summary-item:nth-child(1),.summary-details>.summary-item:nth-child(2),.summary-details>.summary-item:nth-child(3){background:linear-gradient(135deg,#f0f9ff,#fff)}.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-autocomplete{display:flex;flex-direction:column;gap:.5rem;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;padding:.5rem}.client-option{text-align:left;background:var(--gray-50);border:1px solid gainsboro;border-radius:5px;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--gray-100)}.client-option:last-child{border-bottom:none}.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)}.slot-filters{display:flex;flex-wrap:wrap;gap:.5rem}.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;margin:1rem}.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;margin-bottom:3rem!important}.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:hover{background-color:var(--danger-dark)}.close-btn:hover{background-color:var(--gray-700)}.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{width:100vw;max-width:100vw;margin:0!important}.reservation-type-options{flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:center}.reservation-type-card{width:100%;max-width:140px}.weekday-cards{grid-template-columns:repeat(2,1fr)}.time-slots-grid{display:flex;flex-wrap:wrap}.reservation-detail-info{flex-direction:column}.courts-grid{overflow-x:auto}.court-column{min-width:200px}.summary-details{grid-template-columns:1fr}.summary-item{width:100%;max-width:360px}}.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)}.discount-input{width:100%;padding:.375rem .5rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem}.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;gap:1rem}.payment-method-icon-label{display:flex;align-items:center;gap:.5rem}.payment-method-name{font-weight:600;color:var(--gray-800)}.payment-method-comment{font-size:.875rem;color:var(--gray-600);font-style:italic}.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-btn{width:100%;padding:.75rem 1rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease;margin:0!important;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1rem}.add-payment-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.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-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;margin-bottom:1rem;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-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-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}.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}.shared-modal-overlay:has(.category-modal){z-index:9999}.category-modal{max-width:900px;width:95vw;max-height:80vh;z-index:10000}.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:32px;height:32px;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-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-content svg{margin-bottom:1rem;opacity:.5}.no-categories 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}.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}.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){.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}}.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}@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-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}.btn-new-reservation-text{display:none}.btn-new-reservation:before{content:"+";font-size:1.5rem;font-weight:600}.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:1rem}.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:25000;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-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)}.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}.MuiPickersPopper-root{z-index:6000!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}.time-picker-row{flex-direction:column;gap:.75rem}.time-picker-half{width:100%}}@media(max-width:768px){.btn-new-reservation{width:fit-content!important;height:48px!important}.reservation-detail-modal{max-width:95vw!important;max-height:95vh!important;margin:2.5vh auto!important;border-radius:1rem}.reservation-detail-modal .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{padding:1rem;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;border-top:1px solid var(--gray-200);font-weight:600;padding:1rem}.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;margin-bottom:8rem!important}.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)}.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-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;margin-bottom:8rem!important}.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:999999}.toast-styled.success{background:#10b981}.toast-styled.error{background:#ef4444}.filter-button{background-color:#e0e0e0;color:#000;padding:10px 20px;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:flex;flex-wrap:wrap;gap:1rem;padding:0}.cards-container .reservation-card{width:100%;max-width:360px;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-title{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0;line-height:1.3}.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.confirmed{background:#10b981}.status-badge.pending{background:#f59e0b}.status-badge.cancelled{background:#ef4444}.status-badge.completed{background:#10b981}.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:hover{background-color:var(--primary-dark, #0056b3)}.btn:disabled,.btn:disabled:hover,.btn-secondary:disabled:hover{background-color:none!important}.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-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%}}.class-details-form{padding:1.5rem;animation:slideIn .3s ease}.class-details-form .form-group{margin-bottom:1.5rem}.class-details-form .form-group label{display:block;font-weight:600;color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem}.class-details-form .form-input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;transition:all .2s ease}.class-details-form .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.class-details-form .form-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}.class-details-form .class-details-form .class-details-form .btn-primary{flex:1;padding:.75rem 1.5rem;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease}.class-details-form .btn-primary:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-md)}.class-details-form .btn-primary:disabled{opacity:.5;cursor:not-allowed}.reservations-actions-container{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.reservations-actions-container .filters-container{margin-bottom:1rem;flex:0 1 auto}@media(max-width:768px){.reservations-actions-container{flex-direction:column;align-items:stretch}.reservations-actions-container .filters-container{width:100%}.reservations-actions-container>div:last-child{flex-direction:column;width:100%}.reservations-actions-container button{width:100%;justify-content:center}.reservations-actions-container .btn-new-reservation,.reservations-actions-container .btn,.reservations-actions-container .view-toggle{width:100%;margin:0}}.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:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.modal-header{padding:24px 28px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.header-content{display:flex;align-items:center;gap:16px}.whatsapp-icon{width:40px;height:40px;color:#10b981;padding:8px;background:#ecfdf5;border-radius:10px}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.subtitle{margin:4px 0 0;font-size:14px;color:#6b7280;font-weight:400}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.close-button:hover{background:#f3f4f6}.close-button svg{width:20px;height:20px;color:#6b7280}.modal-body{padding:20px 28px;overflow-y:auto;flex:1}.info-banner{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:12px;margin-bottom:20px;color:#065f46;font-size:14px}.info-icon{width:20px;height:20px;color:#10b981;flex-shrink:0}.info-banner strong{color:#047857;font-weight:600}.table-container{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.turnos-table{width:100%;border-collapse:collapse}.turnos-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.turnos-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.turnos-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s;cursor:pointer}.turnos-table tbody tr:last-child{border-bottom:none}.turnos-table tbody tr:hover{background:#f9fafb}.turnos-table tbody tr.selected{background:#ecfdf5}.turnos-table td{padding:16px;font-size:14px;color:#374151}.checkbox-column{width:48px;text-align:center}.checkbox{width:18px;height:18px;cursor:pointer;accent-color:#10B981}.hora-cell{font-weight:600;color:#111827;font-variant-numeric:tabular-nums}.cancha-badge{display:inline-block;padding:4px 12px;background:#f3f4f6;border-radius:6px;font-size:13px;font-weight:500;color:#374151}.cliente-cell{font-weight:500}.whatsapp-cell{display:flex;align-items:center;gap:8px;color:#6b7280;font-variant-numeric:tabular-nums}.phone-icon{width:16px;height:16px;color:#10b981}.modal-footer{padding:20px 28px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px;background:#f9fafb}.button{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;display:flex;align-items:center;gap:8px;transition:all .2s}.button-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.button-secondary:hover{background:#f9fafb;border-color:#9ca3af}.button-primary{background:#10b981;color:#fff;box-shadow:0 1px 2px #0000000d}.button-primary:hover:not(:disabled){background:#059669;box-shadow:0 4px 6px -1px #10b9814d;transform:translateY(-1px)}.button-primary:disabled{opacity:.6;cursor:not-allowed}.send-icon{width:16px;height:16px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.modal-header h2{font-size:18px}.table-container{overflow-x:auto}.turnos-table{min-width:600px}.modal-footer{flex-direction:column}.button{width:100%;justify-content:center}}.payment-method-modal{max-width:600px;width:90%}.payment-methods-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.payment-method-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease}.payment-method-card:hover{border-color:#10b981;background:#f0fdf4;transform:translateY(-2px);box-shadow:0 4px 12px #10b98126}.payment-method-card.selected{border-color:#10b981;background:#f0fdf4;box-shadow:0 0 0 3px #10b9811a}.payment-method-card-icon{font-size:2rem;color:#10b981;display:flex;align-items:center;justify-content:center}.payment-method-card-label{font-size:.875rem;font-weight:500;color:#374151;text-align:center}.checkout-select-section{margin-bottom:1.5rem}.checkout-select-section label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.checkout-select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer}.checkout-select:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.payment-amount-section{display:flex;flex-direction:column;gap:.5rem}.payment-amount-section label{font-weight:500;color:#374151}.payment-amount-input-modal{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1.125rem;text-align:right}.payment-amount-input-modal:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.pending-amount-hint{font-size:.875rem;color:#6b7280;text-align:right}.qr-payment-waiting{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem}.qr-code-container{padding:1rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.qr-waiting-info{display:flex;flex-direction:column;align-items:center;gap:.5rem}.qr-loader-icon{color:#10b981}.qr-waiting-text{font-size:1.125rem;font-weight:600;color:#374151;margin:0}.qr-amount-text{font-size:1.5rem;font-weight:700;color:#10b981;margin:0}.qr-checkout-text{font-size:.875rem;color:#6b7280;margin:0}.qr-cancel-button{margin-top:1rem}.qr-cobrar-button{background:#10b981;color:#fff}.qr-cobrar-button:disabled{background:#d1d5db;cursor:not-allowed}@media(max-width:768px){.payment-methods-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.payment-method-card{padding:1rem .75rem}.payment-method-card-icon{font-size:1.5rem}.payment-method-card-label{font-size:.75rem}}.sales-container{padding:1rem}@keyframes quantity-bump{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.quantity-input-animated{animation:quantity-bump .6s ease-in-out}.modal-content .sales-new-items-table .sales-qty-input.quantity-input-animated,.modal-content .sales-edit-items-table .sales-qty-input.quantity-input-animated{background-color:orange!important;border-color:orange!important;color:#fff!important;font-weight:700!important;transition:none!important}.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:#0d47a1}.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{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:75vh!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}.reservation-icon{font-size:1.75rem}.reservation-detail-body{padding:0}.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)}.selected-client{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background-color:var(--primary-light);border:1px solid rgba(79,70,229,.3);border-radius:var(--radius-md);padding:.5rem .75rem;margin-top:.5rem;font-weight:500;color:var(--gray-800)}.remove-client-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;transition:color .2s;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.remove-client-btn:hover{color:var(--danger);background-color:#ef44441a}.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-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}.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}.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{display:flex;align-items:center;justify-content:center}.status-filter{width:fit-content;margin:0!important;padding:0}.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}.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}.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}.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;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:none;border-bottom:1px solid var(--gray-200)}.tab{background:none;padding:.75rem 1rem;cursor:pointer;font-weight:600;color:var(--gray-600);border:none;border-bottom:2px solid transparent;transition:all .2s ease;border-color:transparent}.tab:hover{color:var(--primary)}.tab.active{border-color:var(--primary);background:none!important;color:#000!important}@media screen and (max-width:768px){.reservation-detail-modal{max-width:100vw!important;margin:0!important}.payment-details{grid-template-columns:1fr}.sale-item{grid-template-columns:2fr 1fr 1fr 1fr}.form-row{flex-direction:column;gap:.75rem}.form-group.flex-1{min-width:100%;flex:none}}@media screen and (max-width:640px){.sale-item{grid-template-columns:2fr 1fr 1fr}.item-quantity{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}.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!important;height:140px!important;width:fit-content!important;min-width:fit-content!important;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:32px;height:32px;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{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--gray-500);text-align:center}.no-categories svg{margin-bottom:1rem;opacity:.5}.categories-grid{display:flex!important;flex-wrap:wrap;gap:.75rem}.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}.category-card{padding:1rem;min-height:120px;height:120px!important}.category-icon{width:2.5rem;height:2.5rem;font-size:1rem;margin-bottom:.75rem}.category-name{font-size:.9rem}.category-count{font-size:.8rem}.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){.category-card{padding:.75rem;min-height:100px!important;height:120px!important}.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.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}.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}}@media(min-width:1200px){.sales-container .expenses-dashboard{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:1rem;height:290px}.sales-container .expenses-dashboard .total-card{grid-column:1;grid-row:1}.sales-container .expenses-dashboard .variation-card{grid-column:1;grid-row:2}.sales-container .expenses-dashboard .average-card{grid-column:2;grid-row:1}.sales-container .expenses-dashboard .status-card{grid-column:2;grid-row:2}.sales-container .expenses-dashboard .evolution-card{grid-column:3 / 5;grid-row:1 / 3;height:100%!important;max-height:none!important}.sales-container .expenses-dashboard .dashboard-card:not(.evolution-card){height:136px;max-height:136px}}.status-card .dashboard-card-body{display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem}.average-card .card-icon,.average-card .metric-value{color:#06b6d4}@media(max-width:1199px){.sales-container .expenses-dashboard{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;height:auto}.sales-container .expenses-dashboard .evolution-card{grid-column:1 / 3;height:290px!important}.sales-container .expenses-dashboard .dashboard-card:not(.evolution-card){height:128px;max-height:128px}}@media(max-width:767px){.sales-container .expenses-dashboard{grid-template-columns:1fr}.sales-container .expenses-dashboard .evolution-card{grid-column:1;height:290px!important}}.sales-actions-container{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}@media(max-width:768px){.sales-actions-container{flex-direction:column;align-items:stretch}.sales-actions-container>div{width:100%!important;min-width:100%!important}.sales-actions-container>div:last-child{flex-direction:column}.sales-actions-container button{width:100%;justify-content:center}}.skeleton{background:linear-gradient(90deg,#f0f0f0,#f8f8f8,#f0f0f0 80px);background-size:200px 100%;animation:skeleton-loading 1.4s ease-in-out infinite;border-radius:4px}.skeleton-dashboard-card{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:12px;padding:.75rem;box-shadow:0 4px 6px #00000012,0 1px 3px #0000000f;border:1px solid rgba(0,0,0,.05);height:128px;max-height:128px}.skeleton-dashboard-card.large{height:380px;max-height:380px}.skeleton-icon{width:20px;height:20px;border-radius:4px}.skeleton-value{height:32px;width:140px;margin-bottom:.5rem}.skeleton-subtitle{height:12px;width:100px}.skeleton-chart{width:100%;height:150px!important;border-radius:8px;margin-top:1rem}.sales-product-comment-input{font-size:.85rem;padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:4px;width:100%;color:#64748b;font-style:italic;transition:all .2s ease}.sales-product-comment-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.sales-product-comment-input::placeholder{color:#94a3b8;font-style:italic}.date-filter-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;color:#374151;transition:all .2s ease;box-shadow:0 1px 2px #0000000d;white-space:nowrap}.date-filter-button:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 2px 4px #00000014}.date-filter-button:active{transform:translateY(1px)}.date-filter-button svg{font-size:1.1rem}.date-filter-dropdown{position:fixed;z-index:1;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px;width:280px;box-shadow:0 10px 25px #0000001a,0 4px 6px #0000000d;z-index:200}.date-filter-dropdown h4{margin-top:0;margin-bottom:12px;font-size:.95rem;color:#111827;font-weight:600}.date-filter-options{display:flex;flex-direction:column;gap:8px}.date-filter-option{padding:10px 12px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;text-align:left;font-weight:400;color:#374151;transition:all .2s ease;font-size:.9rem}.date-filter-option:hover{background:#f9fafb;border-color:#d1d5db}.date-filter-option.active{border:2px solid #3b82f6;background:#eff6ff;font-weight:600;color:#1e40af;padding:9px 11px}.date-range-inputs{margin-top:8px;padding:12px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.date-range-inputs label{display:block;margin-bottom:4px;font-size:.85rem;font-weight:500;color:#374151}.date-range-inputs input[type=date]{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:4px;font-size:.9rem;color:#111827;background:#fff;transition:all .2s ease}.date-range-inputs input[type=date]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-range-inputs>div:first-child{margin-bottom:10px}.date-range-apply-btn{margin-top:12px;width:100%;padding:8px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.date-range-apply-btn:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 2px 4px #00000014}.date-range-apply-btn:active{transform:translateY(1px)}.payment-method-modal{max-width:500px;width:95%}.payment-methods-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}@media(max-width:480px){.payment-methods-grid{grid-template-columns:repeat(2,1fr)}}.payment-method-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 12px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;gap:8px}.payment-method-card:hover{border-color:#3b82f6;background:#f8fafc;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.payment-method-card.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 3px #3b82f633}.payment-method-card-icon{font-size:28px;line-height:1}.payment-method-card-label{font-size:12px;font-weight:500;color:#374151;text-align:center}.payment-method-card.selected .payment-method-card-label{color:#1d4ed8}.payment-amount-section{display:flex;flex-direction:column;gap:8px;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.checkout-select-section{display:flex;flex-direction:column;gap:8px;padding:16px;background:#f0f9ff;border-radius:8px;border:1px solid #bae6fd;margin-bottom:8px}.checkout-select-section label{font-size:14px;font-weight:500;color:#0369a1}.checkout-select{width:100%;padding:10px 12px;border:2px solid #7dd3fc;border-radius:8px;font-size:14px;font-weight:500;background:#fff;color:#0c4a6e;cursor:pointer;transition:all .2s ease}.checkout-select:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e926}.qr-checkout-text{font-size:13px;color:#6b7280;margin-top:4px}.payment-amount-section label{font-size:14px;font-weight:500;color:#374151}.payment-amount-input-modal{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:18px;font-weight:600;text-align:right;transition:all .2s ease}.payment-amount-input-modal:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pending-amount-hint{font-size:13px;color:#6b7280;text-align:right}.shared-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.shared-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 50px #0003;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.shared-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.shared-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.shared-modal-header .icon-button{background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.shared-modal-header .icon-button:hover{background:#f3f4f6;color:#111827}.shared-modal-body{padding:20px;overflow-y:auto}.shared-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb;background:#f9fafb}.button-secondary{padding:10px 20px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.button-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.button-primary{padding:10px 20px;border:none;background:#3b82f6;color:#fff;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.button-primary:hover{background:#2563eb}.button-primary:disabled{background:#9ca3af;cursor:not-allowed}.qr-payment-waiting{display:flex;flex-direction:column;align-items:center;padding:24px;gap:20px}.qr-code-container{padding:16px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;border:2px solid #e5e7eb}.qr-code-image{display:block;width:200px;height:200px}.qr-waiting-info{display:flex;flex-direction:column;align-items:center;gap:8px}.qr-loader-icon{color:#3b82f6}.qr-loader-icon.spinning{animation:spin 1s linear infinite}.qr-waiting-text{font-size:16px;font-weight:600;color:#374151;margin:0}.qr-amount-text{font-size:20px;font-weight:700;color:#3b82f6;margin:0}.qr-cancel-button{margin-top:8px}.qr-cobrar-button{background:#10b981}.qr-cobrar-button:hover{background:#059669}.qr-cobrar-button:disabled{background:#9ca3af}: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-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-price{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(135deg,var(--primary-ultra-light) 0%,rgba(255,255,255,.5) 100%);border-radius:var(--radius-md);border:1px solid var(--primary-light)}.schedule-price-icon{width:18px;height:18px;color:var(--primary);flex-shrink:0}.schedule-price-amount{font-size:18px;font-weight:800;color:var(--primary-dark);letter-spacing:-.3px}.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}.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-court-card-compact{padding:16px}.schedule-court-name{font-size:16px}.schedule-court-description{font-size:12px}.schedule-court-price{padding:8px 10px}.schedule-price-icon{width:15px;height:15px}.schedule-price-amount{font-size:15px}.schedule-court-features{gap:5px}.schedule-court-feature{font-size:10px;padding:4px 7px}.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-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-price{padding:8px 10px}.schedule-price-icon{width:16px;height:16px}.schedule-price-amount{font-size:16px}.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}.dashboard-container{display:flex;flex-direction:column;margin:0 auto;background-color:#f9fafb;width:100%;height:100%}.dashboard-header{margin-bottom:0!important}.dashboard-title{font-size:2rem;font-weight:700;color:#111827;margin-bottom:.5rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-container .dashboard-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;transition:all .3s ease;overflow:visible;height:auto;min-height:auto;max-height:none!important;margin:.5rem 0}.dashboard-container .dashboard-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.dashboard-container .dashboard-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.dashboard-container .dashboard-card .card-title{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:600;color:#374151}.dashboard-container .dashboard-card .card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.dashboard-container .dashboard-card .card-icon.calendar{background:linear-gradient(135deg,#667eea,#764ba2)}.dashboard-container .dashboard-card .card-icon.users{background:linear-gradient(135deg,#f093fb,#f5576c)}.dashboard-container .dashboard-card .card-icon.messages{background:linear-gradient(135deg,#4facfe,#00f2fe)}.dashboard-container .dashboard-card .card-icon.revenue{background:linear-gradient(135deg,#43e97b,#38f9d7)}.dashboard-container .dashboard-card .card-icon.chart{background:linear-gradient(135deg,#fa709a,#fee140)}.dashboard-container .dashboard-card .card-icon.payments{background:linear-gradient(135deg,#4facfe,#00f2fe)}.dashboard-container .dashboard-card .card-value{font-size:2rem;font-weight:700;color:#111827;margin-bottom:.5rem;line-height:1}.dashboard-container .dashboard-card .card-trend{font-size:.875rem;display:flex;align-items:center;gap:.375rem;font-weight:500;margin-top:auto}.dashboard-container .dashboard-card .card-trend.positive{color:#059669}.dashboard-container .dashboard-card .card-trend.negative{color:#dc2626}.dashboard-container .dashboard-card .card-trend svg{flex-shrink:0}.dashboard-container .dashboard-card .card-description{font-size:.875rem;color:#6b7280;margin-top:auto}.period-selector:focus{border-color:#059669;outline:2px solid #059669;outline-offset:2px}.chart-container{display:flex;flex-direction:column;gap:1.5rem}.chart-card{height:400px;padding:1.5rem}.chart-card .card-header{margin-bottom:1.5rem}.chart-wrapper{height:calc(100% - 60px);width:100%}@media(max-width:1024px){.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.dashboard-title{font-size:1.75rem}}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}.dashboard-title{font-size:1.5rem}.card-value{font-size:1.75rem}.chart-card{height:350px}}@media(max-width:480px){.dashboard-card{padding:1.25rem}.card-icon{width:36px;height:36px}.card-icon svg{width:18px;height:18px}.chart-card{height:300px;padding:1.25rem}}.clubs-management{display:flex;flex-direction:column;min-height:100vh}.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}.modal-header .close-button{background:none;border:none;font-size:1.8rem;cursor:pointer;color:#fff;padding:0;width:30px;height:30px;display:flex!important;align-items:center;justify-content:center;transition:all .2s;line-height:1;position:relative}.modal-header .close-button:hover{transform:scale(1.1);opacity:.8}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}.dropdown-list{position:absolute;top:100%;left:0;right:0;background-color:#fff;border:1px solid #ddd;border-radius:4px;max-height:200px;overflow-y:auto;box-shadow:0 2px 8px #0000001a;z-index:1000;margin-top:4px}.dropdown-item{width:100%;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;border:none;border-bottom:1px solid #f0f0f0;background-color:#fff;text-align:left;font-size:.9rem;color:#333}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item:focus{outline:none;background-color:#e3f2fd}.shared-modal-content-medium{max-width:700px}.shared-modal-content-large{max-width:900px}.shared-modal-body p{margin:0}.shared-modal-body strong{color:#374151}.form-row .form-group{flex:1}.form-row .form-group select{width:100%}.service-pill{padding:.5rem 1rem;border-radius:20px;border:2px solid #e5e7eb;background-color:#fff;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.service-pill:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.service-pill.selected{border-color:#059669;background-color:#d1fae5;color:#065f46}.service-pill:active{transform:translateY(0)}.club-details-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.club-details-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:0;color:#111827}.section-header svg{color:#059669;flex-shrink:0}.section-header h3{font-size:1.25rem;font-weight:600;margin:0;padding:0}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}.detail-item-view{display:flex;flex-direction:column;gap:.375rem}.detail-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.detail-value{font-size:.938rem;color:#111827;font-weight:500}.status-badge-view{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:12px;font-size:.813rem;font-weight:600;width:fit-content}.status-badge-view.active{background-color:#d1fae5;color:#065f46}.status-badge-view.inactive{background-color:#fee2e2;color:#991b1b}.subscription-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;margin-bottom:1rem;transition:all .2s ease}.subscription-card:hover{box-shadow:0 4px 6px -1px #0000001a}.subscription-card:last-child{margin-bottom:0}.subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.subscription-header>div{display:flex;gap:.75rem;align-items:center}.subscription-type-badge{display:inline-flex;align-items:center;padding:.375rem 1rem;border-radius:20px;background-color:#ede9fe;color:#6b21a8;font-size:.813rem;font-weight:600}.subscription-status-badge{display:inline-flex;align-items:center;padding:.375rem 1rem;border-radius:20px;font-size:.813rem;font-weight:600}.subscription-status-badge.active{background-color:#d1fae5;color:#065f46}.subscription-status-badge.expired{background-color:#fee2e2;color:#991b1b}.subscription-status-badge.pending{background-color:#fef3c7;color:#92400e}.subscription-details{display:flex;flex-direction:column;gap:1.5rem}.subscription-dates{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#fff;border-radius:8px;border:1px solid #e5e7eb}.date-item{display:flex;align-items:center;gap:.75rem;flex:1}.date-item svg{color:#059669;flex-shrink:0}.date-item>div{display:flex;flex-direction:column;gap:.25rem}.date-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.date-value{font-size:.875rem;color:#111827;font-weight:500}.date-separator{font-size:1.5rem;color:#9ca3af;font-weight:300}.services-section{padding:1rem;background-color:#fff;border-radius:8px;border:1px solid #e5e7eb}.services-title{font-size:.875rem;font-weight:600;color:#374151;margin:0 0 1rem}.empty-subscriptions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.empty-subscriptions svg{color:#9ca3af;margin-bottom:1rem}.empty-subscriptions p{font-size:.938rem;color:#6b7280;margin:0}.view-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:1px solid #059669;border-radius:6px;cursor:pointer;transition:all .2s;color:#059669}.view-button:hover{background-color:#ecfdf5;transform:scale(1.05)}.view-button:active{transform:scale(.95)}@media(max-width:768px){.shared-modal-content-large{max-width:95%;margin:1rem}.details-grid{grid-template-columns:1fr}.subscription-dates{flex-direction:column;align-items:stretch}.date-separator{transform:rotate(90deg);margin:.5rem 0}.services-grid{grid-template-columns:1fr}}.payments-tracking-container{display:flex;flex-direction:column;padding:2rem;max-width:1400px;margin:0 auto;background-color:#f9fafb;width:100%;min-height:100vh;gap:1.5rem}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.dashboard-title{font-size:2rem;font-weight:700;color:#111827;margin:0 0 .5rem}.dashboard-subtitle{font-size:.875rem;color:#6b7280;margin:0}.header-actions{display:flex;gap:.75rem}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background-color:#f9fafb;border-color:#d1d5db;transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.dashboard-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;transition:all .3s ease}.dashboard-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-title{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:600;color:#374151}.card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.card-icon.users{background:linear-gradient(135deg,#f093fb,#f5576c)}.card-icon.revenue{background:linear-gradient(135deg,#43e97b,#38f9d7)}.card-icon.payments{background:linear-gradient(135deg,#4facfe,#00f2fe)}.card-icon.calendar{background:linear-gradient(135deg,#667eea,#764ba2)}.card-icon.chart{background:linear-gradient(135deg,#fa709a,#fee140)}.card-value{font-size:2rem;font-weight:700;color:#111827;margin-bottom:.5rem;line-height:1}.card-trend{font-size:.875rem;display:flex;align-items:center;gap:.375rem;font-weight:500;margin-top:auto}.card-trend.positive{color:#059669}.card-trend.negative{color:#dc2626}.card-description{font-size:.875rem;color:#6b7280;margin-top:auto}.metric-details{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.detail-item{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500}.detail-item.success{color:#059669}.detail-item.warning{color:#f59e0b}.detail-item.error{color:#ef4444}.charts-section{display:flex;flex-direction:column;gap:1.5rem}.chart-card{min-height:400px}.chart-card-small{min-height:350px}.chart-wrapper{flex:1;min-height:300px;width:100%}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.period-selector{padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:6px;background-color:#fff;color:#374151;font-size:.875rem;cursor:pointer;outline:none;transition:border-color .2s}.period-selector:hover{border-color:#d1d5db}.period-selector:focus{border-color:#059669}.table-card{overflow:hidden}.table-card:hover{transform:none}.table-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:8px;background-color:#f9fafb;flex:1;min-width:200px;max-width:300px}.search-box svg{color:#9ca3af;flex-shrink:0}.search-box input{border:none;background:transparent;outline:none;width:100%;font-size:.875rem;color:#374151}.search-box input::placeholder{color:#9ca3af}.filter-select{padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:8px;background-color:#fff;color:#374151;font-size:.875rem;cursor:pointer;outline:none;transition:border-color .2s}.filter-select:hover{border-color:#d1d5db}.filter-select:focus{border-color:#059669}.payment-summary{display:flex;gap:1.5rem;align-items:center}.summary-item{font-size:.875rem;color:#6b7280}.summary-item strong{color:#059669;font-weight:600}.table-wrapper{overflow-x:auto;margin-top:1rem;border-radius:8px;border:1px solid #e5e7eb}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.data-table th{padding:.875rem 1rem;text-align:left;font-weight:600;color:#374151;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.data-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .15s ease}.data-table tbody tr:hover{background-color:#f9fafb}.data-table tbody tr:last-child{border-bottom:none}.data-table td{padding:1rem;color:#374151}.club-info{display:flex;align-items:center;gap:.75rem}.club-avatar{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;flex-shrink:0}.club-name{font-weight:600;color:#111827;margin-bottom:.125rem}.club-location{font-size:.75rem;color:#6b7280}.club-name-cell{font-weight:500;color:#374151}.payment-description{color:#6b7280;font-size:.813rem;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-number{font-family:Courier New,monospace;font-weight:500;color:#6b7280}.amount{font-weight:600;color:#059669}.members-count{display:flex;align-items:center;gap:.375rem;color:#6b7280}.payment-method{display:flex;align-items:center;gap:.375rem;color:#6b7280;font-size:.813rem}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-badge.active,.status-badge.completed{background-color:#d1fae5;color:#065f46}.status-badge.trial,.status-badge.pending{background-color:#fef3c7;color:#92400e}.status-badge.expired,.status-badge.failed{background-color:#fee2e2;color:#991b1b}.subscription-type{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.subscription-type.basic{background-color:#dbeafe;color:#1e40af}.subscription-type.premium{background-color:#ede9fe;color:#6b21a8}.subscription-type.enterprise{background-color:#d1fae5;color:#065f46}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e5e7eb;border-radius:6px;background-color:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease}.btn-icon:hover{background-color:#f9fafb;color:#374151;border-color:#d1d5db}.btn-icon:active{transform:scale(.95)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#9ca3af}.empty-state p{font-size:1rem;font-weight:600;color:#6b7280;margin:0 0 .5rem}.empty-state span{font-size:.875rem;color:#9ca3af}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#059669;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-state p{font-size:.875rem;margin:0}@media(max-width:1200px){.charts-row{grid-template-columns:1fr}}@media(max-width:1024px){.payments-tracking-container{padding:1.5rem}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.dashboard-title{font-size:1.75rem}.chart-card,.chart-card-small{min-height:350px}}@media(max-width:768px){.payments-tracking-container{padding:1rem}.dashboard-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%}.btn-secondary{flex:1;justify-content:center}.dashboard-grid{grid-template-columns:1fr}.dashboard-title{font-size:1.5rem}.card-value{font-size:1.75rem}.chart-card,.chart-card-small{min-height:300px}.charts-row{grid-template-columns:1fr}.table-controls{flex-direction:column;align-items:stretch}.search-box{max-width:none}.filter-select{width:100%}.payment-summary{flex-direction:column;align-items:flex-start;gap:.5rem}.table-wrapper{overflow-x:auto}.data-table{min-width:800px}}@media(max-width:480px){.payments-tracking-container{padding:.75rem;gap:1rem}.dashboard-header{margin-bottom:.5rem}.dashboard-title{font-size:1.25rem}.dashboard-subtitle{font-size:.813rem}.card-value{font-size:1.5rem}.card-icon{width:36px;height:36px}.card-icon svg{width:18px;height:18px}.chart-card,.chart-card-small{min-height:250px}.data-table th,.data-table td{padding:.75rem .5rem}.club-avatar{width:32px;height:32px;font-size:.875rem}}.dashboard-card,.status-badge,.subscription-type,.btn-icon,.btn-secondary{transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-icon:focus,.btn-secondary:focus,.filter-select:focus,.period-selector:focus{outline:2px solid #059669;outline-offset:2px}@media(prefers-color-scheme:dark){.payments-tracking-container{background-color:#111827}.dashboard-card{background-color:#1f2937;border-color:#374151}.dashboard-title,.card-value,.club-name{color:#f9fafb}.dashboard-subtitle,.card-description,.club-location,.detail-item{color:#9ca3af}.data-table thead{background-color:#1f2937}.data-table tbody tr:hover{background-color:#374151}.search-box,.filter-select,.period-selector,.btn-secondary{background-color:#374151;border-color:#4b5563;color:#f9fafb}.search-box input{color:#f9fafb}}: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}.container{display:flex;flex-direction:column;gap:1rem}.main-content{z-index:1000;width:100vw}.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 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}.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-primary:hover:not(:disabled){background-color:#047857}.btn-primary:disabled{background-color:#4b5563!important;color:#d1d5db!important;cursor:not-allowed;opacity:.8}.btn-primary:disabled:hover{background-color:#4b5563!important;color:#d1d5db!important;cursor:not-allowed}.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}.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}.flex{display:flex;align-items:center;gap:.5rem}.search-container{position:relative;margin-bottom:.5rem;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%;max-width:360px;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:10000;will-change:opacity;transform:translateZ(0);backface-visibility:hidden}@media(max-width:768px){.sidebar-overlay{z-index:10000}}.sales-table{width:100%;border-collapse:collapse}.sales-table th,.sales-table td{text-align:left;padding:.5rem;border-bottom:1px solid var(--gray-200)}.sales-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:right;align-items:center;z-index:2001}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;color:#000;border-radius:12px 12px 0 0;flex-shrink:0}.modal-header h4{color:#000!important}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#111827;display:flex;align-items:center;gap:.75rem}.modal-title-icon{color:var(--primary);flex-shrink:0}.modal-close{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .2s;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:1.5rem}.modal-close:hover{background:#fee2e2;color:#dc2626}.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);border-radius:0 0 12px 12px;flex-shrink:0;margin-bottom:5rem}.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;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased}@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:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-edit-header:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.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;-webkit-overflow-scrolling:touch;contain:layout style paint}@media(max-width:768px){.sidebar-modal-content{width:100vw;max-width:100vw;min-width:unset}.modal-backdrop{padding:0}.modal-backdrop .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}.btn-cancel,.btn-save,.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}.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-save,.btn-confirm,.finalize-btn{background:var(--primary)!important;border:none;color:#fff;box-shadow:var(--shadow-md)}.btn-save: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{display:flex;flex-wrap:wrap;gap:1rem}.filters-container{display:flex;flex-wrap:wrap;gap:1rem;justify-content:left!important;border-radius:10px;margin-bottom:1rem}.actions-container{display:flex;gap:1rem;flex-wrap:wrap}.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}.reservations-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.reservations-title{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem;position:relative}.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;height:fit-content}.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-in_progress{background-color:var(--primary-light);color:var(--primary)}.estado-scheduled{background-color:var(--warning-light);color:var(--warning)}.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){.reservations-header{flex-direction:column;align-items:flex-start}}@media screen and (max-width:768px){.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}}@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}}@media screen and (max-width:640px){.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%}}@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}}@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}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.custom-prizes-header h4{font-size:1rem;font-weight:600;color:var(--gray-700);margin:0}.dashboard-container{position:relative;margin:0;width:100%;height:100%!important;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-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;flex-shrink:0}.metrics-content{display:flex;flex-wrap:wrap;column-gap:1rem;width:100%}.metrics-content>*{min-width:300px}@media(max-width:768px){.metrics-content>*{min-width:100%}}.toggle-container{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.toggle-button{min-width:fit-content;width:fit-content;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 .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)}@media(max-width:768px){.dashboard-title{font-size:1.5rem}.dashboard-actions{width:100%;justify-content:flex-start}.toggle-container,.toggle-button{justify-content:center}}@media(max-width:480px){.dashboard-title{font-size:1.25rem}}.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:#dc262626;border:none;color:#b91c1c;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);padding:0}.btn-remove-tutor:hover{background:#dc2626;color:#fff}.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:#dc262626;border:none;color:#b91c1c;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.btn-close-tutor-form:hover{background:#dc2626;color:#fff}.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}}.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}.table-wrapper{overflow-x:auto;max-width:100%;width:100%;box-sizing:border-box;margin:0}.data-table{width:100%;min-width:800px;border-collapse:collapse;font-size:.9rem;overflow:hidden;z-index:1;position:relative}.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)}.sort-icon{margin-left:.5rem;opacity:.5;transition:var(--transition)}.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}.dates-content{display:flex;align-items:center;gap:.5rem;color:var(--gray-700);font-size:.85rem}.data-type{min-width:120px}.type-content{display:flex;align-items:center;gap:.5rem;color:var(--gray-700);font-size:.85rem}.data-category{min-width:120px}.category-content{display:flex;align-items:center;gap:.5rem;color:var(--gray-700);font-size:.85rem}.data-price{min-width:80px;font-weight:600;color:var(--primary);text-align:center}.data-teams{min-width:120px}.teams-content{display:flex;align-items:center;gap:.5rem;color:var(--gray-700);font-size:.85rem}.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}.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)}.pagination-left{display:flex;align-items:center;gap:.75rem}.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-right{display:flex;gap:.5rem}.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}@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-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}}@media(min-width:769px){.main-content{width:unset}}.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-cancelled{background-color:var(--danger-light);color:var(--danger)}.status-unknown{background-color:var(--gray-100);color:var(--gray-500)}.no-data-message,.no-reservations-message{text-align:center;padding:2rem;color:var(--gray-500);font-style:italic}.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-btn{width:100%;justify-content:center;padding:.75rem}.pagination-info{order:-1;text-align:center}}@media(max-width:768px){.cards-view-container{display:block}}@media(min-width:769px){.cards-view-container{display:block}}.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}.skeleton-loader{width:100%;padding:1rem}.skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:0 1rem}.skeleton-title{height:2rem;width:200px;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}.skeleton-actions{display:flex;gap:.5rem}.skeleton-button{height:2.5rem;width:100px;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-lg)}.skeleton-cards-container{width:100%}.skeleton-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;padding:0 1rem}.skeleton-client-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:1.5rem;animation:fadeIn .3s ease}.skeleton-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.skeleton-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-info{flex:1}.skeleton-name{height:1.25rem;width:120px;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-sm);margin-bottom:.5rem}.skeleton-alias{height:1rem;width:80px;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-status{width:80px;height:24px;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-full)}.skeleton-card-body{margin-bottom:1rem}.skeleton-details{display:flex;flex-direction:column;gap:.5rem}.skeleton-detail-item{height:1rem;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-sm);width:100%}.skeleton-detail-item:nth-child(1){width:90%}.skeleton-detail-item:nth-child(2){width:85%}.skeleton-detail-item:nth-child(3){width:95%}.skeleton-detail-item:nth-child(4){width:80%}.skeleton-detail-item:nth-child(5){width:88%}.skeleton-detail-item:nth-child(6){width:92%}.skeleton-detail-item:nth-child(7){width:75%}.skeleton-card-footer{display:flex;justify-content:flex-end;gap:.5rem}.skeleton-card-actions{display:flex;gap:.5rem}.skeleton-action-btn{width:32px;height:32px;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:50%}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}@media(max-width:768px){.skeleton-cards-grid{grid-template-columns:1fr;padding:0 .5rem}.skeleton-client-card{padding:1rem}.skeleton-header{padding:0 .5rem}}.data-table-container .skeleton-table{width:100%;min-width:800px;border-collapse:collapse;font-size:.9rem;overflow:hidden}.data-table-container .skeleton-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-container .skeleton-table tbody td{padding:1rem .75rem;border-bottom:1px solid var(--gray-200);vertical-align:top}.data-table-container .skeleton-table tbody tr:hover{background-color:var(--gray-50)}.data-table-container .skeleton-table tbody tr.even{background-color:var(--gray-25)}.data-table-container .skeleton-table tbody tr.odd{background-color:#fff}.data-table-container .data-name .data-name-content .skeleton-cell.name{width:120px;height:1.25rem}.data-table-container .data-name .data-name-content .skeleton-cell.alias{width:80px;height:.8rem;margin-top:.25rem}.data-table-container .skeleton-cell.email{width:180px;height:1rem}.data-table-container .data-category .category-content .skeleton-cell.category,.data-table-container .data-type .type-content .skeleton-cell.position{width:100px;height:1rem}.data-table-container .data-age .skeleton-cell.age{width:60px;height:1rem}.data-table-container .skeleton-cell.alias{width:100px;height:1rem}.data-table-container .skeleton-cell.phone{width:120px;height:1rem}.data-table-container .data-price .skeleton-cell.rewards,.data-table-container .data-teams .teams-content .skeleton-cell.ranking{width:100px;height:1rem}.data-table-container .data-status .skeleton-cell.status{width:60px;height:1.5rem;border-radius:var(--radius-full)}.data-table-container .data-actions .action-buttons .skeleton-cell.actions{display:flex;gap:.5rem;width:120px}.data-table-container .data-actions .action-buttons .skeleton-cell.actions:before,.data-table-container .data-actions .action-buttons .skeleton-cell.actions:after{content:"";flex:0 0 32px;height:32px;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:50%}.table-pagination .skeleton-pagination-info{height:1rem;width:150px;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-sm)}.table-pagination .skeleton-pagination-btn{width:32px;height:32px;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@media(max-width:768px){.data-table-container .skeleton-table{font-size:.8rem;min-width:600px}.data-table-container .skeleton-table thead th,.data-table-container .skeleton-table tbody td{padding:.75rem .5rem}.data-table-container .data-name .data-name-content .skeleton-cell.name{width:100px}.data-table-container .skeleton-cell.email{width:140px}.data-table-container .skeleton-cell.phone,.data-table-container .data-actions .action-buttons .skeleton-cell.actions{width:100px}.table-pagination{flex-direction:column;gap:1rem;text-align:center}.pagination-right{justify-content:center}}.tournament-container{padding:1rem;box-sizing:border-box;min-height:100vh;color:var(--gray-800)}.header-left{display:flex;align-items:center;gap:1rem}.add-prize-btn{display:flex;align-items:center;width:fit-content}.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:hover{background-color:var(--danger-dark)}.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);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}.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}.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}.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:.5rem}.registration-section h3{margin-bottom:1rem;font-size:1.1rem;color:var(--gray-800)}.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:1px solid gainsboro;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-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}.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}.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}.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}.player-number{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:#fff;font-weight:600}.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:6000;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:after{content:"";position:absolute;border-width:5px;border-style:solid}.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)}.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-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background-color:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:var(--transition);position:relative}.player-card:hover{background-color:var(--gray-100);border-color:var(--primary-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.player-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--primary-light);border-radius:50%;color:var(--primary);flex-shrink:0;border:2px solid var(--primary)}.player-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.player-card .player-name{font-weight:600;color:var(--gray-800);font-size:.9rem;line-height:1.3;word-break:break-word}.player-card .player-number{font-size:.8rem;color:var(--gray-500);font-weight:500;background-color:var(--gray-200);padding:.125rem .375rem;border-radius:var(--radius-sm);width:fit-content;align-self:flex-start}@media(max-width:768px){.player-card{padding:.625rem .75rem;gap:.625rem}.player-avatar{width:36px;height:36px}.player-name{font-size:.85rem}.player-number{font-size:.75rem;padding:.1rem .3rem}}.player-result-card{width:100%;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)}@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}.tournament-type,.tournament-category{min-width:120px}.tournament-price{min-width:80px;font-weight:600;color:var(--primary);text-align:center}.tournament-teams{min-width:120px}.tournament-status{min-width:140px}.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}@media(max-width:768px){.header-left{flex:1}.search-container{width:100%;margin-bottom:1rem}.form-row{grid-template-columns:1fr}.match-teams-detail{flex-direction:column;gap:1rem}.match-vs{margin:1rem 0}.registration-form{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}.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)}.btn-save.disabled{opacity:.5;cursor:not-allowed}.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)}.registration-confirmed-badge{background:#15803d;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 gainsboro;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}.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-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)}@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}.groups-header{flex-direction:column;gap:1rem;text-align:center}.groups-header button{width:100%}}.full-brackets{display:flex;flex-direction:column;gap:2rem;padding:1rem}.full-brackets-container{width:100%}.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,#d97706,#b45309);border-color:#92400e;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,#d97706,#b45309);border-radius:var(--radius-xl);box-shadow:0 8px 25px #d9770666;border:3px solid #92400e;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}.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}}@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){.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{width:65vw;max-width:65vw}.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}.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-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-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-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}}.clone-banner{background:linear-gradient(135deg,#10b981,#059669);padding:1rem;border-radius:8px;margin:0 0 1.5rem;color:#fff;box-shadow:0 2px 8px #0000001a}.clone-banner-header{display:flex;margin-bottom:.5rem}.clone-banner-icon{width:20px;height:20px;border-radius:50%;background-color:#fff3;display:flex;align-items:center;justify-content:center;font-size:12px}.clone-banner-text{margin:0;font-size:.875rem;opacity:.9;line-height:1.4}.mode-category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.mode-category-title{font-size:1.125rem;font-weight:600;color:#374151;margin:0;display:flex;align-items:center;gap:.5rem}.mode-category-actions{display:flex;gap:.5rem}.mode-category-info{margin-bottom:1rem;padding:1rem;background-color:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px}.mode-category-info-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.mode-category-info-title{color:#0c4a6e}.mode-category-info-text{margin:0;font-size:.875rem;color:#0c4a6e;line-height:1.4}.mode-category-count{margin-top:.5rem;padding:.5rem;background-color:#fff;border-radius:4px;border:1px solid #0ea5e9}.mode-category-count-text{color:#0c4a6e}.mode-category-duplicate-warning{margin-top:.5rem;padding:.5rem;background-color:#fef2f2;border-radius:4px;border:1px solid #ef4444}.mode-category-duplicate-text{color:#dc2626}.mode-category-combinations-container{display:flex;flex-direction:column;gap:1rem}.mode-category-card{padding:1.5rem;border:1px solid #e5e7eb;border-radius:12px;background-color:#f9fafb;position:relative}.mode-category-remove-btn{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease;font-size:16px;font-weight:700}.mode-category-remove-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444}.mode-category-content{margin-bottom:1rem}.mode-category-label{font-size:1rem;font-weight:600;color:#374151;margin-bottom:1rem;padding:.5rem 1rem;background-color:#f3f4f6;border-radius:6px;border:1px solid #e5e7eb}.mode-category-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mode-category-field-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.mode-category-select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background-color:#fff;transition:border-color .2s ease}.mode-category-empty{padding:1.5rem;border:1px solid #e5e7eb;border-radius:12px;background-color:#fef2f2;border-color:#fecaca;text-align:center}.mode-category-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.mode-category-empty-title{color:#dc2626;font-size:1rem;margin:0 0 .5rem;font-weight:500}.mode-category-empty-text{color:#6b7280;font-size:.875rem;margin:0}.date-field-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.date-field-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:border-color .2s ease}.entry-fee-container{position:relative;display:flex;align-items:center}.entry-fee-symbol{position:absolute;left:.75rem;color:#6b7280;font-size:.875rem;font-weight:500;z-index:1}.entry-fee-input{width:fit-content!important;padding:.75rem 1.4rem!important;padding-left:2rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:border-color .2s ease}.prize-card-container{display:flex;flex-direction:column;gap:1rem}.prize-card-item{padding:1.5rem;border:1px solid #e5e7eb;border-radius:12px;background-color:#f9fafb;position:relative}.prize-remove-btn{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease;font-size:16px;font-weight:700}.prize-remove-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444}.prize-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.prize-field-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.prize-field-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background-color:#fff;transition:border-color .2s ease}.prize-cost-container{position:relative;display:flex;align-items:center}.prize-cost-symbol{position:absolute;left:.75rem;color:#6b7280;font-size:.875rem;font-weight:500;z-index:1}.prize-cost-input{width:100%;padding:.75rem 1.5rem!important;padding-left:2rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background-color:#fff;transition:border-color .2s ease}.prize-description-field{margin-bottom:1rem}.prize-image-field{margin-bottom:0}.prize-image-preview{margin-bottom:.5rem}.prize-image-preview img{border-radius:8px;object-fit:cover}.prize-file-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background-color:#f9fafb}.form-footer-scrollable{display:flex;gap:1rem;flex-wrap:wrap}.form-submit-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;justify-content:center;width:fit-content}.form-submit-btn:disabled{background-color:#6b7280;cursor:not-allowed}.form-submit-btn:not(:disabled):hover{background-color:var(--primary-dark)}.form-confirm-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;justify-content:center;width:fit-content}.match-result-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000004d;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;overflow-y:auto}.match-result-modal-content{position:relative;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;margin:auto}.match-result-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.match-result-modal-title{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.match-result-modal-close{background:#fff3;border:none;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#fff}.match-result-modal-close:hover{background:#ffffff4d;transform:scale(1.05)}.match-result-modal-body{padding:.5rem;overflow-y:auto;flex:1}.match-result-modal-body .MuiOutlinedInput-root{width:100%!important;max-width:480px!important}.match-result-teams{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:8px}.match-result-team{flex:1;text-align:center}.match-result-team h4{font-size:1rem;font-weight:600;color:var(--gray-800);margin:0 0 .5rem}.match-result-team .team-players{display:flex;flex-direction:column;gap:.25rem}.match-result-team .player-name{font-size:.875rem;color:var(--gray-600)}.match-result-vs{font-size:1rem;font-weight:600;color:var(--primary);padding:0 .5rem}.match-result-sets{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.match-result-set-row{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.match-result-set-row:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000d}.match-result-set-row .set-header{font-weight:600;color:var(--gray-700);min-width:60px;font-size:.875rem}.match-result-set-row .set-scores{display:flex;align-items:center;gap:.75rem;flex:1}.match-result-set-row .team-score-input{display:flex;flex-direction:column;gap:.25rem;flex:1}.match-result-set-row .team-score-input label{font-size:.75rem;color:var(--gray-600);font-weight:500}.match-result-set-row .score-input{width:100%;padding:.5rem;border:2px solid #d1d5db;border-radius:6px;font-size:1.25rem;font-weight:600;text-align:center;transition:all .2s ease}.match-result-set-row .score-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.match-result-set-row .score-input.error{border-color:#ef4444}.match-result-set-row .score-separator{font-size:1.25rem;font-weight:600;color:var(--gray-400)}.match-result-previous{margin-top:1.5rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.match-result-previous h4{font-size:.875rem;font-weight:600;color:var(--gray-700);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.match-result-previous .sets-display{display:flex;gap:.75rem;flex-wrap:wrap}.match-result-previous .set-display{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;background:#fff;border-radius:6px;border:1px solid #d1d5db}.match-result-previous .set-display .set-header{font-size:.75rem;color:var(--gray-600);font-weight:500}.match-result-previous .set-display .set-score{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.match-result-previous .set-display .score-separator{color:var(--gray-400)}.match-result-modal-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem;background:#f9fafb}.match-result-modal-footer .btn-save{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.match-result-modal-footer .btn-save:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.match-result-modal-footer .btn-save:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}@media(max-width:640px){.match-result-modal-content{max-width:100%;max-height:100vh;border-radius:0}.match-result-teams{flex-direction:column;gap:.5rem}.match-result-vs{transform:rotate(90deg)}.match-result-set-row{flex-direction:column;align-items:stretch}.match-result-set-row .set-header{text-align:center}}.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,#d97706,#b45309);color:#fff;box-shadow:0 4px 12px #d977064d}.setup-actions .btn-secondary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #d9770666}.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_lmij7_3{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:0;position:relative}._tournament-container_lmij7_3:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(59,130,246,.05) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(139,92,246,.05) 0%,transparent 50%);pointer-events:none;z-index:0}._tournament-header_lmij7_24{color:#fff;padding:1.25rem;margin-bottom:0;box-shadow:0 4px 20px #00000026;position:relative;z-index:100;min-height:180px;display:flex;align-items:center}._tournament-header_lmij7_24:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0000004d,#00000080);z-index:-1}._tournament-logo_lmij7_47{display:flex;align-items:center;gap:1rem;color:#fff;max-width:1200px;margin:0 auto;position:relative;z-index:1;text-shadow:0 2px 8px rgba(0,0,0,.3)}._logos-container_lmij7_59{display:flex;align-items:center;gap:.75rem;flex-shrink:0}._logo-wrapper_lmij7_66{position:relative;flex-shrink:0}._logo-divider_lmij7_71{font-size:1.5rem;font-weight:300;color:#ffffff80;-webkit-user-select:none;user-select:none}._app-logo_lmij7_78,._club-logo_lmij7_79{width:48px;height:48px;border-radius:12px;box-shadow:0 4px 16px #00000040;border:2px solid rgba(255,255,255,.5);background:#fff}._app-logo_lmij7_78{object-fit:contain;padding:6px}._club-logo_lmij7_79{object-fit:cover;padding:0}._tournament-info_lmij7_98{flex:1;min-width:0}._tournament-logo_lmij7_47 h2{font-size:1.25rem;font-weight:700;margin:0;color:#fff;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._tournament-content_lmij7_114{max-width:768px;margin:0 auto;padding-bottom:2rem;position:relative;z-index:1}._progress-bar_lmij7_123{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:linear-gradient(135deg,#3b82f60d,#ffffff80);border-radius:18px;border:1px solid rgba(59,130,246,.1);position:relative;overflow:hidden;box-shadow:0 2px 12px #0000000f}._progress-bar_lmij7_123:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%)}._progress-step_lmij7_146{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.4;transition:all .3s ease;flex:1;position:relative}._progress-step_lmij7_146._active_lmij7_157{opacity:1}._step-circle_lmij7_161{width:36px;height:36px;border-radius:50%;background:#fff;color:#94a3b8;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;transition:all .3s ease;border:2px solid #e2e8f0;box-shadow:0 2px 8px #0000000d;position:relative;z-index:2}._progress-step_lmij7_146._active_lmij7_157 ._step-circle_lmij7_161{background:#fff;color:var(--primary);border-color:var(--primary);border-width:3px;box-shadow:0 4px 12px #3b82f666,0 0 0 4px #3b82f61a;transform:scale(1.1)}._step-label_lmij7_188{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;text-align:center}._progress-step_lmij7_146._active_lmij7_157 ._step-label_lmij7_188{color:var(--primary)}._progress-line_lmij7_201{flex:1;height:2px;background:#e2e8f0;margin:0 -8px;position:relative;top:-20px;z-index:1}._step-content_lmij7_212{animation:_fadeInUp_lmij7_1 .5s ease-out}._back-btn_lmij7_217{padding:1rem 2rem;background:transparent;color:#64748b;border:2px solid #e2e8f0;border-radius:14px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}._back-btn_lmij7_217:hover{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}._success-section_lmij7_240{display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:600px;margin:0 auto;padding:1rem;text-align:center;animation:_fadeInUp_lmij7_1 .5s ease-out}._success-icon_lmij7_252{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #10b98159;animation:_bounceIn_lmij7_1 .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes _bounceIn_lmij7_1{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}._success-title_lmij7_279{font-size:1.75rem;font-weight:800;color:#1e293b;margin:0;letter-spacing:-.02em;line-height:1.2}._success-message_lmij7_288{font-size:1rem;color:#64748b;margin:0;line-height:1.6}._success-summary_lmij7_295{width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:1.5rem;box-shadow:0 2px 12px #0000000f}._success-summary-title_lmij7_304{font-size:1.125rem;font-weight:700;color:#1e293b;margin:0 0 1.25rem;text-align:center}._success-detail_lmij7_312{display:flex;align-items:flex-start;gap:1rem;padding:.875rem 0;border-bottom:1px solid #e2e8f0}._success-detail_lmij7_312:last-child{border-bottom:none;padding-bottom:0}._success-detail-icon_lmij7_325{font-size:20px;color:var(--primary);margin-top:2px;flex-shrink:0}._success-detail-content_lmij7_332{display:flex;flex-direction:column;gap:.25rem;flex:1;text-align:left}._success-detail-label_lmij7_340{font-size:.75rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px}._success-detail-value_lmij7_348{font-size:.9375rem;color:#1e293b;font-weight:600;line-height:1.5}._success-next-steps_lmij7_355{width:100%;display:flex;flex-direction:column;gap:1rem}._success-next-steps-title_lmij7_362{font-size:1.125rem;font-weight:700;color:#1e293b;margin:0;text-align:center}._success-steps-list_lmij7_370{display:flex;flex-direction:column;gap:.875rem;list-style:none;padding:0;margin:0}._success-step-item_lmij7_379{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px #0000000a;text-align:left}._success-step-number_lmij7_391{width:28px;height:28px;min-width:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;margin-top:2px}._success-step-item_lmij7_379 p{margin:0;font-size:.9375rem;color:#1e293b;line-height:1.6}._success-actions_lmij7_413{width:100%;display:flex;flex-direction:column;gap:.875rem;margin-top:.5rem}._tournament-info-section_lmij7_422{margin-bottom:1.5rem}._tournament-info-section_lmij7_422 img{border-radius:16px;box-shadow:0 8px 24px #0000001f;margin-bottom:1rem;width:100%;height:200px;object-fit:cover}._tournament-selectors_lmij7_436{margin-bottom:1.5rem}._selector-card_lmij7_440{background-color:#fff;border-radius:20px;border:none;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);animation:_fadeInUp_lmij7_1 .5s ease-out;height:100%}._selector-card_lmij7_440:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}._selector-header_lmij7_456{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:.75rem}._selector-header_lmij7_456 h4{margin:0;font-size:1.125rem;font-weight:700;color:#1e293b;letter-spacing:-.01em}._selector-content_lmij7_473{padding:1.5rem;display:grid;grid-template-columns:1fr;gap:1.25rem}._mode-selector_lmij7_480,._category-selector_lmij7_481{width:100%;padding:.875rem 3rem .875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9375rem;font-weight:500;color:#1e293b;background-color:#fff;transition:all .2s ease;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer}._mode-selector_lmij7_480:focus,._category-selector_lmij7_481:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #3b82f61a;transform:translateY(-1px)}._mode-selector_lmij7_480:hover,._category-selector_lmij7_481:hover{border-color:#cbd5e1}@media(min-width:640px){._selector-content_lmij7_473{grid-template-columns:1fr 1fr}}._detail-card_lmij7_519{background-color:#fff;border-radius:20px;border:none;overflow:hidden;box-shadow:0 2px 12px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);height:100%}._detail-card_lmij7_519:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}._detail-card-header_lmij7_534{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:.75rem}._detail-card-icon_lmij7_543{color:var(--primary)}._detail-card-header_lmij7_534 h4{margin:0;font-size:1.125rem;font-weight:700;color:#1e293b;letter-spacing:-.01em}._detail-card-content_lmij7_555{padding:1.5rem}._detail-field_lmij7_559{display:grid;grid-template-columns:auto 1fr;gap:.75rem 1rem;margin-bottom:1.25rem;align-items:start}._detail-field_lmij7_559:last-child{margin-bottom:0}._detail-field-icon_lmij7_571{color:var(--primary);grid-row:1 / 3;margin-top:.125rem}._detail-field_lmij7_559 label{font-size:.8125rem;font-weight:600;color:#64748b;margin:0;text-transform:uppercase;letter-spacing:.025em;grid-column:2}._registration-form_lmij7_590{display:flex;flex-direction:column;gap:1rem;padding:0;animation:_fadeInUp_lmij7_1 .5s ease-out;max-height:unset!important}@keyframes _fadeInUp_lmij7_1{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}._form-section_lmij7_610:nth-child(1){animation-delay:.1s}._form-section_lmij7_610:nth-child(2){animation-delay:.2s}._form-section_lmij7_610:nth-child(3){animation-delay:.3s}._form-section_lmij7_610:hover{box-shadow:0 8px 24px #0000001a}._section-header_lmij7_628{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:.75rem}._section-header_lmij7_628 h3{margin:0;font-size:1.125rem;font-weight:700;color:#1e293b;letter-spacing:-.01em}._form-group_lmij7_647 label{font-size:.8125rem;font-weight:600;color:#475569;margin:0;letter-spacing:.01em;display:flex;align-items:center;gap:.25rem}._form-group_lmij7_647 input[type=text],._form-group_lmij7_647 input[type=email],._form-group_lmij7_647 input[type=tel],._form-group_lmij7_647 select{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9375rem;font-weight:500;color:#1e293b;background-color:#fff;transition:all .2s ease;box-sizing:border-box}._form-group_lmij7_647 input[type=text]:focus,._form-group_lmij7_647 input[type=email]:focus,._form-group_lmij7_647 input[type=tel]:focus,._form-group_lmij7_647 select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #3b82f61a;transform:translateY(-1px)}._form-group_lmij7_647 input[type=text]:hover,._form-group_lmij7_647 input[type=email]:hover,._form-group_lmij7_647 input[type=tel]:hover,._form-group_lmij7_647 select:hover{border-color:#cbd5e1}._form-group_lmij7_647 input::placeholder{color:#94a3b8;font-weight:400}._form-group_lmij7_647 select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:3rem;cursor:pointer}._form-row_lmij7_707{display:grid;grid-template-columns:1fr;gap:1.25rem;padding:1.5rem}._form-row_lmij7_707:last-child{padding-bottom:1.5rem}._submit-btn_lmij7_720:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666}._submit-btn_lmij7_720:active{transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}._submit-btn_lmij7_720:disabled{opacity:.7;cursor:not-allowed;transform:none}._submit-btn_lmij7_720:disabled:hover{transform:none;box-shadow:0 4px 16px #3b82f64d}._loading-container_lmij7_744,._error-container_lmij7_745{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background-color:#fff;border-radius:20px;box-shadow:0 2px 12px #0000000f;margin:1rem}@keyframes _spin_lmij7_1{to{transform:rotate(360deg)}}._loading-container_lmij7_744 span{color:#64748b;font-size:.9375rem;font-weight:500}._error-container_lmij7_745 h3{color:#ef4444;margin-bottom:.5rem;font-size:1.25rem;font-weight:700}._error-container_lmij7_745 p{color:#64748b;margin-bottom:1.5rem;font-size:.9375rem}._retry-btn_lmij7_783{padding:.875rem 1.75rem;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #3b82f64d}._retry-btn_lmij7_783:hover{transform:translateY(-2px);box-shadow:0 4px 16px #3b82f666}@media(max-width:768px){._tournament-logo_lmij7_47{width:100%;flex-direction:column;text-align:center;gap:.75rem}._tournament-logo_lmij7_47 h1{font-size:1.5rem}}._checkbox-group_lmij7_815{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}._checkbox-label_lmij7_822{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.9375rem;color:#1e293b;font-weight:500;transition:all .2s ease;background-color:#fff}._checkbox-label_lmij7_822:hover{border-color:#cbd5e1;background-color:#f8fafc}._checkbox-label_lmij7_822:has(input:checked){border-color:var(--primary);background:linear-gradient(135deg,#3b82f60d,#3b82f61a)}._checkbox-label_lmij7_822 input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--primary);cursor:pointer;border-radius:6px}._checkbox-label_lmij7_822 span{font-weight:500;flex:1}._day-selection_lmij7_860{margin-top:.75rem}._day-selection_lmij7_860 select{margin-bottom:0}._time-slots-selection_lmij7_868{margin-top:1rem;padding:1.25rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;border:2px solid #e2e8f0;animation:_slideDown_lmij7_1 .3s ease-out}._time-slots-selection_lmij7_868>label{display:block;font-size:.8125rem;font-weight:600;color:#475569;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.025em}._time-slots-selection_lmij7_868 ._checkbox-group_lmij7_815{margin-top:0}._enrollment-closed-banner_lmij7_892{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:1.5rem;border-radius:20px;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:0 4px 20px #ef44444d;animation:_slideDown_lmij7_1 .4s ease-out}@keyframes _slideDown_lmij7_1{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}._banner-icon_lmij7_916{flex-shrink:0;line-height:1;color:#fff}._banner-content_lmij7_922{flex:1}._banner-content_lmij7_922 h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;line-height:1.3}._banner-content_lmij7_922 p{margin:0 0 .5rem;font-size:.9375rem;opacity:.95;line-height:1.5}._banner-content_lmij7_922 small{font-size:.8125rem;opacity:.9;line-height:1.4}._registration-disabled_lmij7_947{background-color:#fff;border-radius:20px;border:none;padding:3rem 2rem;text-align:center;box-shadow:0 2px 12px #0000000f}._disabled-message_lmij7_956 h3{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0 0 1rem;letter-spacing:-.01em}._disabled-message_lmij7_956 p{color:#64748b;font-size:.9375rem;margin:0;line-height:1.6}@media(min-width:640px){._tournament-container_lmij7_3{padding:0}._tournament-header_lmij7_24{padding:2.5rem 2rem;min-height:200px}._app-logo_lmij7_78,._club-logo_lmij7_79{width:56px;height:56px;border-radius:14px}._logo-divider_lmij7_71{font-size:1.75rem}._tournament-logo_lmij7_47 h2{font-size:1.5rem}._tournament-content_lmij7_114{display:flex;flex-direction:column;gap:1rem}._progress-bar_lmij7_123{padding:1.5rem}._step-circle_lmij7_161{width:40px;height:40px;font-size:15px}._step-label_lmij7_188{font-size:12px}._success-section_lmij7_240{padding:1rem;gap:2rem}._success-icon_lmij7_252{width:58px;height:58px}._success-title_lmij7_279{font-size:2rem}._success-message_lmij7_288{font-size:1.0625rem}._success-summary_lmij7_295{padding:2rem}._success-summary-title_lmij7_304{font-size:1.25rem;margin-bottom:1.5rem}._success-detail_lmij7_312{padding:1rem 0}._success-detail-icon_lmij7_325{font-size:22px}._success-detail-label_lmij7_340{font-size:.8125rem}._success-detail-value_lmij7_348{font-size:1rem}._success-next-steps_lmij7_355{gap:1.25rem}._success-next-steps-title_lmij7_362{font-size:1.25rem}._success-step-item_lmij7_379{padding:1.25rem}._success-step-number_lmij7_391{width:32px;height:32px;min-width:32px;font-size:15px}._success-step-item_lmij7_379 p{font-size:1rem}._success-actions_lmij7_413{flex-direction:row;gap:1rem}._back-btn_lmij7_217{padding:1.125rem 2.25rem}._tournament-info-section_lmij7_422{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:0}._tournament-info-section_lmij7_422 img{height:300px}._tournament-selectors_lmij7_436{margin-bottom:0}._detail-card_lmij7_519{height:auto}._detail-card-content_lmij7_555{padding:1.75rem}._section-header_lmij7_628{padding:1.5rem 1.75rem}._form-row_lmij7_707{grid-template-columns:1fr 1fr;padding:1.75rem}._form-actions_lmij7_1127{padding:0 1.75rem 1.75rem}._submit-btn_lmij7_720{margin:0 auto;padding:1.25rem 2.5rem;font-size:1.0625rem}._enrollment-closed-banner_lmij7_892{padding:1.75rem 2rem;margin-bottom:0}._banner-content_lmij7_922 h3{font-size:1.5rem}._banner-content_lmij7_922 p{font-size:1rem}}@media(min-width:1024px){._tournament-header_lmij7_24{padding:3rem;min-height:240px}._app-logo_lmij7_78,._club-logo_lmij7_79{width:64px;height:64px;border-radius:16px}._app-logo_lmij7_78{padding:8px}._logo-divider_lmij7_71{font-size:2rem}._tournament-logo_lmij7_47 h2{font-size:1.875rem;letter-spacing:-.02em}._tournament-content_lmij7_114{max-width:768px;display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}._tournament-info-section_lmij7_422{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:0}._tournament-info-section_lmij7_422 img{height:400px;border-radius:24px;box-shadow:0 12px 32px #0000001f;transition:transform .3s ease,box-shadow .3s ease;grid-column:1 / -1}._tournament-info-section_lmij7_422 img:hover{transform:scale(1.01);box-shadow:0 16px 40px #00000029}._tournament-selectors_lmij7_436{margin-bottom:0}._selector-header_lmij7_456{padding:1.5rem 2rem}._selector-header_lmij7_456 h4{font-size:1.1875rem}._selector-content_lmij7_473{padding:2rem;gap:1.5rem;grid-template-columns:1fr 1fr}._mode-selector_lmij7_480,._category-selector_lmij7_481{padding:1rem 1.25rem;font-size:1rem}._detail-card_lmij7_519{height:auto}._detail-card-header_lmij7_534{padding:1.5rem 2rem}._detail-card-header_lmij7_534 h4{font-size:1.1875rem}._detail-card-content_lmij7_555{padding:2rem}._detail-field_lmij7_559{margin-bottom:1.5rem;gap:1rem 1.25rem}._detail-field-icon_lmij7_571{font-size:1.25rem}._detail-field_lmij7_559 label{font-size:.875rem}._detail-value_lmij7_587{font-size:1rem;line-height:1.7}._registration-form_lmij7_590{gap:1.5rem;max-width:100%}._form-section_lmij7_610{border-radius:24px}._section-header_lmij7_628{padding:1.75rem 2rem}._section-header_lmij7_628 h3{font-size:1.1875rem}._form-row_lmij7_707{padding:2rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}._form-group_lmij7_647 label{font-size:.875rem}._form-group_lmij7_647 input[type=text],._form-group_lmij7_647 input[type=email],._form-group_lmij7_647 input[type=tel],._form-group_lmij7_647 select{padding:1rem 1.25rem;font-size:1rem;border-radius:14px}._form-actions_lmij7_1127{padding:0 2rem 2rem}._submit-btn_lmij7_720{max-width:fit-content;padding:1.375rem 3rem;font-size:1.125rem;border-radius:18px}._checkbox-label_lmij7_822{padding:1rem 1.25rem;font-size:1rem}._time-slots-selection_lmij7_868{padding:1.5rem;border-radius:18px}._time-slots-selection_lmij7_868>label{font-size:.875rem;margin-bottom:1rem}._enrollment-closed-banner_lmij7_892{padding:2rem 2.5rem;border-radius:24px}._banner-icon_lmij7_916{font-size:2rem}._banner-content_lmij7_922 h3{font-size:1.625rem}._banner-content_lmij7_922 p{font-size:1.0625rem}._loading-container_lmij7_744,._error-container_lmij7_745{padding:5rem 3rem;margin:2rem}._registration-disabled_lmij7_947{padding:4rem 3rem}._disabled-message_lmij7_956 h3{font-size:1.75rem}._disabled-message_lmij7_956 p{font-size:1.0625rem}}@media(min-width:1440px){._tournament-info-section_lmij7_422{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2.5rem}._tournament-info-section_lmij7_422 img{height:450px}._form-row_lmij7_707{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media(max-width:639px){._tournament-header_lmij7_24{border-radius:0}._detail-field_lmij7_559{grid-template-columns:auto 1fr}._detail-field_lmij7_559 label{font-size:.75rem}._detail-value_lmij7_587{font-size:.875rem}._enrollment-closed-banner_lmij7_892{padding:1.25rem;margin:1rem;border-radius:16px}._banner-icon_lmij7_916{font-size:1.5rem}._banner-content_lmij7_922 h3{font-size:1.125rem}._banner-content_lmij7_922 p{font-size:.875rem}._progress-bar_lmij7_123{padding:1rem;gap:.5rem}._step-circle_lmij7_161{width:32px;height:32px;font-size:13px}._step-label_lmij7_188{font-size:9px;text-wrap:nowrap}._progress-line_lmij7_201{margin:0 -6px}._success-section_lmij7_240{padding:1rem;gap:1.25rem}._success-icon_lmij7_252{width:58px;height:58px}._success-icon_lmij7_252 svg{width:28px;height:36px}._success-title_lmij7_279{font-size:1.5rem}._success-message_lmij7_288{font-size:.9375rem}._success-summary_lmij7_295{padding:1.25rem}._success-summary-title_lmij7_304{font-size:1rem}._success-detail_lmij7_312{padding:.75rem 0;gap:.75rem}._success-detail-icon_lmij7_325{font-size:18px}._success-step-item_lmij7_379{padding:.875rem;gap:.75rem}._success-step-number_lmij7_391{width:24px;height:24px;min-width:24px;font-size:13px}._success-step-item_lmij7_379 p{font-size:.875rem}._form-actions_lmij7_1127{flex-direction:column;gap:.75rem}._back-btn_lmij7_217,._submit-btn_lmij7_720{width:100%;max-width:100%}}.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:0;padding:0}.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)}.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.delete{background-color:#fef2f2;color:#b91c1c}.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}.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:hover{background-color:var(--gray-200);transform:translateY(-2px)}.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}.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-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-rating{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.rating-value{font-weight:600;color:var(--gray-700)}.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}.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)}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--gray-600)}.students-list{display:flex;flex-direction:column;gap:.75rem}.add-icon{transition:transform .2s ease}.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)}.amount-icon{color:#28a745;font-size:1rem}.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;align-items:center;margin-top:1rem}.payment-menu-container{position:absolute;top:.5rem;right:.5rem}.btn-icon:hover{background:#00000014;color:#1f2937}.btn-icon svg{font-size:1.25rem}.payment-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999;background:transparent}.payment-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:160px;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.payment-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:#fff;border:none;border-bottom:1px solid #f3f4f6;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;text-align:left}.payment-menu-item:last-child{border-bottom:none}.payment-menu-item:hover{background:#f9fafb;color:var(--primary)}.payment-menu-item svg{font-size:1rem;flex-shrink:0}.payment-menu-item-danger{color:#b91c1c}.payment-menu-item-danger:hover{background:#fef2f2;color:#991b1b}.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-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)}@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}.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-form{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;max-height:unset!important}.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 .class-form .form-group label{font-weight:500;color:#374151;font-size:.875rem;text-align:left}.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:1rem}.club-search-container{position:relative;margin-top:.5rem;z-index:2500}.club-search-container input{padding-left:2.75rem}.club-name{display:block;font-weight:500;color:#374151;margin-bottom:.25rem}.club-address{display:block;font-size:.875rem;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:#1e40af;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:#01579b;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}.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-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}.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}.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)}.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-subtext{font-size:.625rem;color:#6b7280;margin-top:.25rem;font-weight:400}.pagination-arrow:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af;color:#374151}.pagination-arrow:disabled{background-color:#f9fafb;color:#6b7280;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}.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:.5rem}.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}.pdf-info{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px}.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-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:#b91c1c}.payments-summary{margin:16px 0}.payment-status-card{padding:12px;border-radius:8px;border-left:4px solid #e5e7eb;background-color:#f9fafb}.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: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-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}.btn-loading{opacity:.7;cursor:not-allowed}.btn-loading:hover{background-color:none!important}.payments-list{display:flex;flex-direction:column;gap:12px}.payment-item{position:relative;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: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:#451a03;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-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-buttons .btn-save{display:flex;align-items:center;gap:.5rem}.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:last-child{margin-bottom:0}.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;text-align:left}.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-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){.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;flex-wrap:wrap}.type-btn{flex:1;min-width:150px;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;position:relative}.type-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.type-btn.active{background-color:#1e40af;border-color:#1e40af;color:#fff}.type-btn.disabled{background-color:#f3f4f6;border-color:#e5e7eb;color:#4b5563;cursor:not-allowed;opacity:.6}.type-btn.disabled:hover{background-color:#f3f4f6;border-color:#e5e7eb}.type-btn .help-icon-wrapper{position:relative;display:inline-flex;align-items:center;margin-left:4px;cursor:help}.type-btn .help-icon{font-size:16px;color:#6b7280;pointer-events:none}.help-icon-wrapper:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background-color:#1f2937;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;max-width:250px;white-space:normal;text-align:center;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:1000;pointer-events:none;line-height:1.4}.help-icon-wrapper:after{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:1000;pointer-events:none}.type-btn.disabled:hover .help-icon-wrapper:before,.type-btn.disabled:hover .help-icon-wrapper:after{opacity:1;visibility:visible}.date-input-container{position:relative;display:flex;align-items:center}.date-icon{position:absolute;left:.75rem;color:#9ca3af;pointer-events:none;font-size:1.125rem;z-index:1}.date-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.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: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;min-width:0;max-width:100%;width:100%;overflow:hidden;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;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}.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}@media(max-width:768px){.filters-grid{grid-template-columns:1fr;gap:1rem}.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-text{font-size:.875rem;color:#6b7280;font-weight:500}.pagination-buttons{display:flex;align-items:center;gap:1rem}.pagination-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af;color:#1f2937}.pagination-btn:disabled{background-color:#f3f4f6;border-color:#e5e7eb;color:#4b5563;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}.MuiPickersPopper-root{z-index:9999}.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}.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}.react-datepicker{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}@media(max-width:768px){.custom-date-picker{font-size:1rem;padding:.75rem}.custom-datepicker-popper{margin:.5rem}}.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-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-method-section h5{margin-bottom:.75rem;margin-top:1rem;color:var(--gray-700);font-size:.85rem;font-weight:600}.payment-method-selector{margin-bottom:1.5rem}.payment-method-input-group{display:flex;gap:.5rem;align-items:stretch}.payment-method-select{flex:1;padding:.625rem .875rem;border:2px solid #e9ecef;border-radius:6px;background:#fff;cursor:pointer;font-size:.875rem;transition:all .2s ease}.payment-method-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.payment-amount-input{flex:1;padding:.625rem .875rem;border:2px solid #e9ecef;border-radius:6px;font-size:.875rem;transition:all .2s ease}.payment-amount-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.btn-add-payment{display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-add-payment:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-add-payment svg{font-size:1rem}.error-message-small{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:.8rem}.error-message-small svg{flex-shrink:0}.payment-methods-list{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem}.payment-method-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border:1px solid #e9ecef;border-radius:6px;margin-bottom:.5rem;transition:all .2s ease}.payment-method-item:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014}.payment-method-item:last-child{margin-bottom:1rem}.payment-method-info{display:flex;align-items:center;gap:.75rem;flex:1}.payment-method-info svg{font-size:1.125rem;color:var(--primary)}.payment-method-name{font-size:.875rem;font-weight:500;color:var(--gray-700)}.payment-method-amount{font-size:.9rem;font-weight:700;color:var(--gray-900);margin-left:auto}.btn-remove-payment{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;cursor:pointer;transition:all .2s ease}.btn-remove-payment:hover{background:#dc2626;color:#fff;transform:scale(1.05)}.btn-remove-payment svg{font-size:1rem}.payment-summary{border-top:2px solid #e9ecef;padding-top:.75rem;margin-top:.5rem}.payment-summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem}.payment-summary-row:last-child{margin-bottom:0}.payment-summary-row span:first-child{color:var(--gray-600);font-weight:500}.payment-summary-amount{font-weight:700;font-size:1rem;color:var(--gray-900)}.payment-summary-remaining{font-weight:700;font-size:1rem}.payment-summary-remaining.complete{color:#22c55e}.payment-summary-remaining.pending{color:#eab308}.payment-methods-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.25rem}.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 .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-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: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}.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-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}.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}.page-info{font-size:.875rem;font-weight:500;color:var(--gray-700);min-width:120px;text-align:center}.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--gray-600)}.pdf-loading .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}.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)}.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}@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-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}.btn-download-pdf{font-size:.8rem;padding:.4rem .8rem}.page-info{font-size:.8rem;min-width:100px}.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-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-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-icon{animation:spin 1s linear infinite;font-size:2rem;margin-bottom:1rem;color:var(--primary)}@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-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}@media(prefers-reduced-motion:reduce){.skeleton,.skeleton-title,.skeleton-badge,.skeleton-icon,.skeleton-text,.skeleton-button,.skeleton-table-content,.skeleton-stat-icon,.skeleton-stat-value{animation:none;background:#e0e0e0}}@media(max-width:768px){.skeleton-stat-value{height:24px;width:70%}}.tab-button{padding:1rem 2rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#6b7280;font-weight:500;cursor:pointer;font-size:1rem;transition:all .3s ease;position:relative}.tab-button:hover{color:var(--primary)}.tab-button.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.teacher-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px #0000001a;z-index:1000;max-height:300px;overflow-y:auto;margin-top:.5rem}.teacher-dropdown label{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background .2s}.teacher-dropdown label:hover{background:#f9fafb}.teacher-dropdown label:last-child{border-bottom:none}.teacher-dropdown input[type=checkbox]{margin-right:.75rem;cursor:pointer}.reports-tab{width:100%}@media(max-width:768px){.tab-button{padding:.75rem 1rem;font-size:.9rem}}.reschedule-info{margin-bottom:1.5rem}.reschedule-description{font-size:.95rem;color:#4b5563;line-height:1.6;margin-bottom:1rem}.reschedule-current-date{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.reschedule-current-date .detail-label{font-size:.875rem;font-weight:600;color:#6b7280}.reschedule-current-date .detail-value{font-size:.95rem;font-weight:500;color:#1f2937}.class-manager{min-height:100vh}.stats-section{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:1rem}.stats-section .stat-card{background:var(--bg-primary, #ffffff);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 2px #0000000d;border:1px solid #e5e7eb;transition:box-shadow .2s,transform .2s;text-align:center}.stats-section .stat-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.stats-section .stat-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center}.stats-section .stat-icon.total{background:#ede9fe;color:#7c3aed}.stats-section .stat-icon.active{background:#d1fae5;color:#059669}.stats-section .stat-icon.students{background:#dbeafe;color:#2563eb}.stats-section .stat-icon.pending{background:#fef3c7;color:#f59e0b}.stats-section .stat-info{display:flex;flex-direction:column}.stats-section .stat-value{font-size:1.75rem;font-weight:700;color:#111827}.stats-section .stat-label{font-size:.875rem;color:#6b7280}.stats-section .skeleton-stat-card{background:#f9fafb}.stats-section .skeleton-stat-icon{width:48px;height:48px;border-radius:8px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.stats-section .skeleton-stat-value{width:60px;height:28px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;margin-bottom:.25rem}.stats-section .skeleton-stat-label{width:80px;height:16px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.filters-section-new{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000d;border:1px solid #e5e7eb}.filters-section-new .filters-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.filters-section-new .search-box{position:relative;width:100%;max-width:480px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;align-items:center}.filters-section-new .view-toggle{display:flex;align-items:center;gap:.25rem;background:#f3f4f6;padding:.25rem;border-radius:8px}.filters-section-new .view-toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:transparent;color:#6b7280;cursor:pointer;transition:all .2s ease}.filters-section-new .view-toggle-btn:hover{color:#374151;background:#e5e7eb}.filters-section-new .view-toggle-btn.active{background:#fff;color:#059669;box-shadow:0 1px 2px #0000000d}.filters-section-new .view-toggle-btn svg{width:18px;height:18px}.filters-section-new .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#9ca3af;pointer-events:none}.filters-section-new .search-input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border:none;border-radius:8px;font-size:1rem;background:transparent;transition:box-shadow .2s}.filters-section-new .search-box:focus-within{border-color:#059669;box-shadow:0 0 0 3px #d1fae5}.filters-section-new .search-input:focus{outline:none}.filters-section-new .filters-row{display:flex;grid-template-columns:repeat(4,1fr);gap:1rem}.filters-section-new .filter-group{display:flex;flex-direction:column;gap:.375rem}.filters-section-new .filter-group label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.filters-section-new .filter-group select{padding:.625rem .875rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;background:#fff;cursor:pointer;transition:border-color .2s}.filters-section-new .filter-group select:focus{outline:none;border-color:#059669}.classes-section{margin-bottom:2rem}.classes-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.classes-section .section-header h2{font-size:1.25rem;font-weight:600}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.classes-section .class-card,.classes-grid .class-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 2px #0000000d;border:1px solid #e5e7eb;border-top:3px solid #059669;cursor:pointer;transition:box-shadow .2s,transform .2s}.classes-section .class-card:hover,.classes-grid .class-card:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.classes-section .class-card.padel,.classes-grid .class-card.padel{border-top-color:#059669}.classes-section .class-card.tenis,.classes-grid .class-card.tenis{border-top-color:#2563eb}.classes-section .class-card-header,.classes-grid .class-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.classes-section .sport-badge,.classes-grid .sport-badge{font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em}.classes-section .sport-badge.padel,.classes-grid .sport-badge.padel{background:#d1fae5;color:#047857}.classes-section .sport-badge.tenis,.classes-grid .sport-badge.tenis{background:#dbeafe;color:#1d4ed8}.classes-section .status-badge,.classes-grid .classes-section .status-badge.active,.classes-grid .status-badge.active{background:#d1fae5;color:#047857}.classes-section .status-badge.inactive,.classes-grid .status-badge.inactive{background:#f3f4f6;color:#6b7280}.classes-section .class-name,.classes-grid .class-name{font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:#111827}.classes-section .class-details,.classes-grid .class-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.classes-section .detail-row,.classes-grid .detail-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.classes-section .detail-row svg,.classes-grid .detail-row svg{color:#9ca3af;flex-shrink:0}.classes-section .class-footer,.classes-grid .class-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid #e5e7eb}.classes-section .students-count,.classes-grid .students-count{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:#6b7280}.classes-section .view-btn,.classes-grid .view-btn{background:transparent;border:1px solid #059669;color:#059669;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s;padding:0}.classes-section .view-btn:hover,.classes-grid .view-btn:hover{background:#059669;color:#fff}.classes-section .no-results,.classes-grid .no-results{text-align:center;padding:3rem;color:#6b7280;grid-column:1 / -1}.classes-section .no-results svg,.classes-grid .no-results svg{margin-bottom:1rem;opacity:.5}.classes-section .no-results h3,.classes-grid .no-results h3{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;color:#374151}.classes-section .no-results p,.classes-grid .no-results p{margin-bottom:1.5rem}.class-card.skeleton{background:#f9fafb;cursor:default}.class-card.skeleton:hover{transform:none;box-shadow:0 1px 2px #0000000d}.class-card .skeleton-badge{width:60px;height:24px;border-radius:9999px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.class-card .skeleton-title{width:70%;height:24px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;margin-bottom:1rem}.class-card .skeleton-detail-row{width:100%;height:16px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;margin-bottom:.5rem}.class-card .skeleton-detail-row:nth-child(2){width:80%}.class-card .skeleton-detail-row:nth-child(3){width:60%}.class-card .skeleton-students{width:40px;height:20px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.class-card .skeleton-button{width:100px;height:36px;border-radius:8px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}@media(max-width:1024px){.stats-section,.filters-section-new .filters-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.stats-section,.filters-section-new .filters-row,.classes-grid{grid-template-columns:1fr}}@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-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}.form-grid{grid-template-columns:1fr}.days-selector{flex-wrap:wrap;justify-content:center}.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-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}.page-container{padding:0;margin:0 auto}.classes-header{display:flex;align-items:center;padding:1.5rem;margin-bottom:2rem;background-color:transparent}.classes-header .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;padding-bottom:.5rem}.page-title:after{content:"";position:absolute;bottom:0;left:0;width:3rem;height:.25rem;background-color:#4faf44;border-radius:.25rem}.tabs-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.tabs-header{display:flex;border-bottom:2px solid #f0f0f0}.tab-button{padding:16px 24px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:15px;font-weight:500;color:#6c757d;cursor:pointer;transition:all .2s ease;position:relative;bottom:-2px}.tab-button:hover{color:#495057;background:#00000005}.tab-button.active{color:#00bfa6;border-bottom-color:#00bfa6;background:#fff}.tab-button.disabled{color:#cbd5e0;cursor:not-allowed;opacity:.5}.tab-button.disabled:hover{color:#cbd5e0;background:transparent}.tabs-body{padding:24px}.tab-content{animation:fadeIn .3s ease}.tab-content h2{font-size:22px;font-weight:600;color:#343a40;margin:0 0 16px}.tab-content p{color:#6c757d;font-size:15px;line-height:1.6}.tab-content:has(.sales-report-container){padding:0}@media(max-width:768px){.tabs-header{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-button{padding:12px 16px;font-size:14px;white-space:nowrap}.tabs-body{padding:16px}.tab-content h2{font-size:20px}}.sales-report-container{width:100%}.sales-report-container .date-filter-container{display:flex;justify-content:flex-start;align-items:center;margin-bottom:1.5rem}.sales-report-container .date-filter-dropdown{background:none!important;box-shadow:none!important;border:none!important;position:relative;display:inline-block;top:0}.sales-report-container .date-filter-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;color:#334155;cursor:pointer;transition:all .2s}.sales-report-container .date-filter-button:hover{background:#f8fafc;border-color:#cbd5e1}.sales-report-container .date-filter-menu{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:100;min-width:200px;overflow:hidden}.sales-report-container .date-filter-option{display:block;width:100%;padding:10px 16px;background:#fff;border:none;border-bottom:1px solid #f1f5f9;text-align:left;font-size:14px;color:#334155;cursor:pointer;transition:all .2s}.sales-report-container .date-filter-option:last-child{border-bottom:none}.sales-report-container .date-filter-option:hover{background:#f8fafc}.sales-report-container .date-filter-option.active{background:#eff6ff;color:#2563eb;font-weight:500}.sales-report-container .date-range-inputs{padding:12px 16px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px}.sales-report-container .date-range-inputs input{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#334155}.sales-report-container .date-range-inputs input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.sales-report-container .apply-range-button{padding:8px 12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.sales-report-container .apply-range-button:hover:not(:disabled){background:#2563eb}.sales-report-container .apply-range-button:disabled{background:#cbd5e1;cursor:not-allowed}@media(max-width:768px){.sales-report-container .date-filter-menu{right:0;left:auto;min-width:250px}}.pie-chart-container,.bar-chart-container{padding:20px}.pie-chart-container svg,.bar-chart-container svg{overflow:visible}.pie-chart path{transition:opacity .2s}.pie-chart path:hover{opacity:1!important;cursor:pointer}.bar-chart rect{transition:all .2s}.bar-chart rect:hover{opacity:1!important;cursor:pointer}.sales-report-container .expenses-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.sales-report-container .dashboard-card.evolution-card,.sales-report-container .dashboard-card.dynamic-chart-card{grid-column:span 1}@media(max-width:1400px){.sales-report-container .expenses-dashboard{grid-template-columns:repeat(2,1fr)}.sales-report-container .dashboard-card.evolution-card,.sales-report-container .dashboard-card.dynamic-chart-card{grid-column:span 1}}@media(max-width:768px){.sales-report-container .expenses-dashboard{grid-template-columns:1fr}.sales-report-container .dashboard-card.evolution-card,.sales-report-container .dashboard-card.dynamic-chart-card{grid-column:span 1}}.products-reports-container{max-width:1400px;margin:0 auto}.reports-header{display:flex;align-items:center;gap:.75rem;background-color:#fff;padding:1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);margin:1rem 0;margin-top:0}.range-selector{display:flex;gap:1rem;flex-wrap:wrap}.range-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid var(--gray-300);background:#fff;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;color:var(--gray-700)}.range-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.range-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.custom-range-form{padding-top:1rem;border-top:1px solid var(--gray-200)}.date-inputs{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.date-input-group{display:flex;flex-direction:column;gap:.5rem}.date-input-group label{font-size:.875rem;font-weight:500;color:var(--gray-700)}.date-input-group input[type=date]{padding:.75rem;border:1px solid var(--gray-300);border-radius:8px;font-size:.95rem;transition:border-color .2s ease}.date-input-group input[type=date]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.btn-apply-range{padding:.75rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-apply-range:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.error-container{color:var(--error)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.stat-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.stat-icon.total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-icon.products{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.stat-icon.increase{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-icon.decrease{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.stat-icon.cost-up{background:linear-gradient(135deg,#30cfd0,#330867);color:#fff}.stat-icon.cost-down{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#333}.stat-icon.stock-up{background:linear-gradient(135deg,#d299c2,#fef9d7);color:#333}.stat-icon.stock-down{background:linear-gradient(135deg,#ebc0fd,#d9ded8);color:#333}.stat-content{flex:1}.stat-content h3{font-size:2rem;font-weight:700;color:var(--gray-900);margin:0 0 .25rem}.stat-content p{font-size:.875rem;color:var(--gray-600);margin:0}.history-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.history-section h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0 0 1.5rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--gray-500)}.empty-state svg{margin-bottom:1rem;opacity:.5}.history-table-container{overflow-x:auto}.history-table{width:100%;border-collapse:collapse;font-size:.875rem}.history-table thead{background:var(--gray-50)}.history-table th{padding:1rem;text-align:left;font-weight:600;color:var(--gray-700);border-bottom:2px solid var(--gray-200);white-space:nowrap}.history-table tbody tr{border-bottom:1px solid var(--gray-100);transition:background-color .2s ease}.history-table tbody tr:hover{background:var(--gray-50)}.history-table td{padding:1rem;vertical-align:middle}.date-cell{color:var(--gray-600);font-size:.8rem}.product-cell strong{color:var(--gray-900);font-weight:600}.sku-cell{color:var(--gray-500);font-family:monospace}.value-change{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.old-value{color:var(--gray-500);text-decoration:line-through;font-size:.85rem}.arrow{color:var(--gray-400)}.new-value{color:var(--gray-900);font-weight:600}.variation{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.variation.positive{background:#22c55e1a;color:#16a34a}.variation.negative{background:#ef44441a;color:#dc2626}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{padding:1rem}.stat-icon{width:40px;height:40px;font-size:1.25rem}.stat-content h3{font-size:1.5rem}.range-selector{flex-direction:column}.range-btn{width:100%;justify-content:center}.date-inputs{flex-direction:column;align-items:stretch}.btn-apply-range{width:100%}.history-table{font-size:.75rem}.history-table th,.history-table td{padding:.75rem .5rem}.value-change{flex-direction:column;align-items:flex-start;gap:.25rem}}.tab-selector{display:flex;gap:8px;padding:4px;background-color:var(--muted-bg);border:1px solid var(--border-color);border-radius:8px}.tab-button{padding:6px 12px;font-size:14px;font-weight:500;color:var(--text-secondary);background:none;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.tab-button:hover{color:var(--text-primary)}.tab-button.active{background-color:var(--primary-color);color:#fff;box-shadow:var(--shadow-sm)}.view-button{padding:6px 12px;font-size:14px;font-weight:500;color:var(--text-secondary);background:none;border:1px solid var(--border-color);cursor:pointer;transition:all .2s}.view-button:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.view-button:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px;border-left:none}.view-button:hover{background-color:var(--muted-bg);color:var(--text-primary)}.view-button.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.notifications-view{display:flex;flex-direction:column;gap:24px}.metric-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.metric-content{display:flex;align-items:flex-start;justify-content:space-between}.metric-label{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.metric-value{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1}.metric-value.primary{color:var(--primary-color)}.metric-value.amber{color:var(--amber-text)}.metric-value.red{color:var(--red-text)}.metric-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px}.metric-icon.blue{background-color:#3b82f61a;color:#2563eb}.metric-icon.primary{background-color:var(--primary-light);color:var(--primary-color)}.metric-icon.amber{background-color:#f59e0b1a;color:var(--amber-text)}.metric-icon.emerald{background-color:#0596691a;color:var(--emerald-text)}.metric-icon.red{background-color:#dc26261a;color:var(--red-text)}.filter-group{display:flex;flex-direction:column}.filter-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-secondary)}.filter-select{padding:8px 12px;font-size:14px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;outline:none;transition:all .2s}.filter-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.table-container{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;margin:0}.customer-phone{font-size:12px;color:var(--text-secondary)}.time-text{font-size:12px;color:var(--text-secondary)}.sent-time{font-size:14px;color:var(--text-secondary)}.badge-purple{background-color:var(--purple-bg);color:var(--purple-text)}.action-button.cancel{background-color:#dc26261a;color:var(--red-text)}.action-button.cancel:hover{background-color:#dc262633}.modal-details{display:flex;flex-direction:column;gap:20px}.modal-question{font-size:16px;color:var(--text-primary);margin-bottom:4px}.modal-info{display:flex;flex-direction:column;gap:12px;padding:16px;background-color:var(--muted-bg);border-radius:12px;border:1px solid var(--border-color)}.info-row{display:flex;justify-content:space-between;align-items:center}.info-label{font-size:14px;font-weight:500;color:var(--text-secondary)}.info-value{font-size:14px;font-weight:600;color:var(--text-primary);text-align:right}.cancel-button:hover{background-color:var(--border-color)}.confirm-button.danger{background-color:var(--red-text)}.confirm-button.danger:hover{background-color:#b91c1c}.reservations-list-view{display:flex;flex-direction:column;gap:24px}.reservations-layout{display:flex;gap:24px}.conversations-list{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:12px}.conversation-card{width:100%;padding:16px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;text-align:left;cursor:pointer;transition:all .2s}.conversation-card:hover{border-color:#10b98180;box-shadow:var(--shadow-sm)}.conversation-card.active{border-color:var(--primary-color);background-color:#10b9810d;box-shadow:var(--shadow-md)}.conversation-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.conversation-info{flex:1}.conversation-name{font-weight:600;margin-bottom:2px}.conversation-phone{font-size:12px;color:var(--text-secondary)}.conversation-details{display:flex;flex-direction:column;gap:4px;font-size:14px}.detail-row{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.chat-detail{flex:1;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm)}.chat-container{display:flex;flex-direction:column;height:600px}.chat-header{padding:16px;border-bottom:1px solid var(--border-color)}.chat-header-content{display:flex;align-items:center;justify-content:space-between}.chat-header-info h3{font-weight:600;margin-bottom:4px}.chat-header-details{font-size:14px;color:var(--text-secondary)}.chat-messages{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.message-wrapper{display:flex}.message-wrapper.customer{justify-content:flex-end}.message-wrapper.agent{justify-content:flex-start}.message-content{max-width:70%}.message-bubble{padding:12px 16px;border-radius:16px;font-size:14px}.message-bubble.customer{background-color:var(--primary-color);color:#fff}.message-bubble.agent{background-color:var(--muted-bg);color:var(--text-primary)}.flow-button-message{padding:12px;background-color:#f9fafb80;border:1px solid var(--border-color);border-radius:12px}.flow-button-text{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.flow-button-options{display:flex;flex-direction:column;gap:8px}.flow-button-option{padding:10px 12px;text-align:center;font-size:14px;font-weight:500;color:var(--primary-color);background-color:#10b9810d;border:1px solid rgba(16,185,129,.3);border-radius:8px}.message-timestamp{margin-top:4px;font-size:12px;color:var(--text-muted)}.empty-state{display:flex;align-items:center;justify-content:center;height:600px;color:var(--text-secondary)}@media(max-width:768px){.header-content{flex-wrap:wrap;height:auto;padding:16px}.metrics-grid{grid-template-columns:1fr}.reservations-layout{flex-direction:column}.conversations-list{width:100%}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color: #10B981;--primary-hover: #059669;--primary-light: rgba(16, 185, 129, .1);--bg-color: #ffffff;--surface-color: #ffffff;--border-color: #e5e7eb;--muted-bg: #f9fafb;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--blue-bg: #eff6ff;--blue-text: #1e40af;--purple-bg: #f3e8ff;--purple-text: #6b21a8;--amber-bg: #fef3c7;--amber-text: #b45309;--red-bg: #fee2e2;--red-text: #dc2626;--emerald-text: #059669;--shadow-sm: 0 1px 2px 0 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)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text-primary);background-color:var(--muted-bg)}.dashboard-header{background-color:#fffffff2;border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-content{display:flex;align-items:center;height:64px;padding:0 24px}.header-left{display:flex;align-items:center;gap:12px}.logo-container{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--primary-color);border-radius:8px;color:#fff}.table-container{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.notifications-table{width:100%;border-collapse:collapse}.notifications-table thead tr{background-color:#f9fafb80;border-bottom:1px solid var(--border-color)}.notifications-table th{padding:16px 24px;text-align:left;font-size:14px;font-weight:600;color:var(--text-primary)}.notifications-table th.text-right{text-align:right}.notifications-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .15s}.notifications-table tbody tr:last-child{border-bottom:none}.notifications-table tbody tr:hover{background-color:#f9fafb4d}.notifications-table td{padding:16px 24px;font-size:14px}.customer-name{font-weight:500;margin-bottom:2px}.date-text{font-size:14px;font-weight:500;margin-bottom:2px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;border-radius:9999px}.badge-blue{background-color:var(--blue-bg);color:var(--blue-text)}.badge-red{background-color:var(--red-bg);color:var(--red-text)}.status-confirmed{background-color:var(--primary-light);color:var(--primary-color)}.status-dot{width:6px;height:6px;border-radius:50%}.status-confirmed .status-dot{background-color:var(--primary-color)}.status-pending .status-dot{background-color:var(--amber-text)}.status-cancelled .status-dot{background-color:var(--red-text)}.action-button.resend{background-color:var(--primary-light);color:var(--primary-color)}.action-button.resend:hover{background-color:#10b98133}.modal-content,.shared-modal-content{background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);width:90%;max-width:500px;animation:slideUp .3s ease-out}.modal-header,.shared-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid var(--border-color)}.modal-close:hover{background-color:var(--muted-bg);color:var(--text-primary)}.modal-body,.shared-modal-body{padding:24px}.modal-footer,.shared-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px 24px}.modal-button{padding:10px 20px;font-size:14px;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .2s}.confirm-button{background-color:var(--primary-color);color:#fff}.confirm-button:hover{background-color:var(--primary-hover)}.alerta{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;border:1px solid;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.alerta-icono{flex-shrink:0}.alerta-mensaje{flex:1;font-size:14px;font-weight:500}.alerta-close{flex-shrink:0;width:24px;height:24px;border:none;background:none;font-size:24px;line-height:1;cursor:pointer;color:currentColor;opacity:.7;transition:opacity .2s}.alerta-close:hover{opacity:1}.toggle-label{display:flex;align-items:center;justify-content:space-between;padding:16px;background-color:var(--muted-bg);border:1px solid var(--border-color);border-radius:12px;transition:all .2s}.toggle-label:hover{border-color:var(--primary-color)}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d1d5db;transition:.3s;border-radius:34px;box-shadow:inset 0 1px 3px #0000001a}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #00000026}@keyframes spin{to{transform:rotate(360deg)}}.progreso-container{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.progreso-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.progreso-texto{font-size:14px;font-weight:500;color:var(--text-primary)}.progreso-porcentaje{font-size:14px;font-weight:600;color:var(--primary-color)}.progreso-barra{width:100%;height:8px;background-color:var(--muted-bg);border-radius:4px;overflow:hidden}.progreso-fill{height:100%;background-color:var(--primary-color);transition:width .3s ease;border-radius:4px}.checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.checkbox-input:disabled{opacity:.5;cursor:not-allowed}.venta-id,.monto-text{font-weight:600;color:var(--text-primary)}.resumen-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.resumen-stat{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;border:1px solid}.stat-success{background-color:var(--primary-light);border-color:var(--primary-color)}.stat-error{background-color:var(--red-bg);border-color:var(--red-text)}.stat-total{background-color:var(--blue-bg);border-color:var(--blue-text)}.stat-icono{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background-color:#fffc}.stat-success .stat-icono{color:var(--primary-color)}.stat-error .stat-icono{color:var(--red-text)}.stat-total .stat-icono{color:var(--blue-text)}.stat-info{flex:1}.stat-success .stat-value{color:var(--primary-color)}.stat-error .stat-value{color:var(--red-text)}.stat-total .stat-value{color:var(--blue-text)}.resumen-envios{margin-bottom:24px}.resumen-subtitle{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.envios-grid{display:flex;flex-direction:column;gap:8px}.envio-item{display:flex;align-items:center;gap:10px;padding:12px;background-color:var(--muted-bg);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.envio-item svg{color:var(--primary-color)}.resumen-errores{padding-top:24px;border-top:1px solid var(--border-color)}.errores-lista{display:flex;flex-direction:column;gap:12px}.error-item{padding:12px;background-color:var(--red-bg);border:1px solid var(--red-text);border-radius:8px}.error-venta{font-size:14px;font-weight:600;color:var(--red-text);margin-bottom:4px}.error-mensaje{font-size:13px;color:var(--text-secondary)}@media(max-width:768px){.resumen-stats{grid-template-columns:1fr}.notifications-table{font-size:12px}.notifications-table th,.notifications-table td{padding:12px 16px}}.filtro-container{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:var(--shadow-sm)}.filtro-titulo{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.filtro-opciones{display:flex;gap:12px;flex-wrap:wrap}.filtro-btn{padding:10px 20px;font-size:14px;font-weight:500;color:var(--text-primary);background-color:var(--muted-bg);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.filtro-btn:hover{border-color:var(--primary-color);background-color:var(--primary-light)}.filtro-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.filtro-rango{display:flex;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.fecha-input-group{flex:1;display:flex;flex-direction:column;gap:8px}.fecha-input-group label{font-size:14px;font-weight:500;color:var(--text-primary)}.fecha-input{padding:10px 12px;font-size:14px;border:1px solid var(--border-color);border-radius:8px;font-family:inherit;transition:all .2s}.fecha-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.seleccion-info{background:var(--primary-light);border:1px solid var(--primary-color);border-radius:12px;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;animation:slideDown .3s ease-out}.seleccion-texto{font-size:16px;font-weight:600;color:var(--primary-color)}.btn-abrir-modal{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;color:#fff;background-color:var(--primary-color);border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.btn-abrir-modal:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md)}.modal-facturacion{max-width:600px}.modal-resumen{padding:20px;background-color:var(--muted-bg);border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px}.modal-resumen-texto{font-size:16px;color:var(--text-primary);text-align:center}.modal-resumen-texto strong{color:var(--primary-color);font-weight:700;font-size:20px}.modal-opciones{margin-bottom:24px}.modal-subtitle{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.cancel-button{background-color:var(--muted-bg);color:var(--text-primary);border:1px solid var(--border-color)}.cancel-button:hover:not(:disabled){background-color:var(--border-color)}.cancel-button:disabled,.confirm-button:disabled{opacity:.6;cursor:not-allowed}.facturacion-toggle-item{margin-bottom:12px}.facturacion-toggle-item:last-child{margin-bottom:0}.facturacion-toggle-container{display:flex;align-items:center;justify-content:space-between;padding:16px;background-color:var(--muted-bg);border:1px solid var(--border-color);border-radius:12px;transition:all .2s}.facturacion-toggle-container:hover{border-color:var(--primary-color)}.facturacion-toggle-item:has(input:checked) .facturacion-toggle-container{background-color:var(--primary-light);border-color:var(--primary-color)}.facturacion-toggle-text{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--text-primary);transition:all .2s}.facturacion-toggle-item:has(input:checked) .facturacion-toggle-text{color:var(--primary-color);font-weight:600}.facturacion-switch{position:relative;display:inline-block;width:52px;height:28px;flex-shrink:0;cursor:pointer}.facturacion-switch input{position:absolute;opacity:0;width:0;height:0}.facturacion-switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d1d5db;transition:all .3s ease;border-radius:28px;box-shadow:inset 0 2px 4px #0000001a}.facturacion-switch-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:all .3s ease;border-radius:50%;box-shadow:0 2px 4px #0003}.facturacion-switch input:checked+.facturacion-switch-slider{background-color:var(--primary-color);box-shadow:inset 0 2px 4px #00000026}.facturacion-switch input:checked+.facturacion-switch-slider:before{transform:translate(24px)}.facturacion-switch input:disabled+.facturacion-switch-slider{opacity:.5;cursor:not-allowed}.facturacion-switch:hover .facturacion-switch-slider{box-shadow:inset 0 2px 4px #00000026,0 0 0 3px var(--primary-light)}.facturacion-switch input:checked:hover+.facturacion-switch-slider{background-color:var(--primary-hover)}.whatsapp-container{display:flex;height:calc(100vh - 85px);background-color:#f0f2f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#111b21}.sidebar{width:400px;background-color:#fff;border-right:1px solid #e9edef;display:flex;flex-direction:column;transition:width .3s ease}.sidebar-header{padding:10px 16px;display:flex;justify-content:space-between;align-items:center;height:60px}.sidebar-header-title{display:flex;align-items:center}.whatsapp-logo{font-size:18px;font-weight:600;color:#111b21}.icon-button{background:none;border:none;color:#54656f;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.icon-button:hover{background-color:#f5f6f6}.icon-button.send-button{color:#fff}.icon-button.send-button:hover{background-color:#00a8841a}.search-box{display:flex;align-items:center;background-color:#f0f2f5;border-radius:12px;padding:6px 16px;gap:10px;height:38px;width:100%;transition:background-color .2s ease}.search-box:hover{background-color:#e8eaec}.search-box:focus-within{background-color:#fff;box-shadow:0 0 0 2px #00a884}.search-box input{background:none;border:none;color:#111b21;font-size:14px;outline:none;width:100%;height:100%}.search-box input::placeholder{color:#667781;font-size:14px}.filters-container::-webkit-scrollbar{display:none}.filter-pill{background-color:#f0f2f5;border:none;color:#54656f;padding:6px 16px;border-radius:20px;font-size:13px;cursor:pointer;white-space:nowrap;transition:all .2s}.filter-pill:hover{background-color:#e9edef}.filter-pill.active{background-color:#d1f4cc;color:#0b5c3d}.archived-item{display:flex;align-items:center;gap:16px;padding:12px 16px;color:#00a884;cursor:pointer;transition:background-color .2s;background-color:#fff}.archived-item:hover{background-color:#f5f6f6}.chat-list{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d1d7db transparent;background-color:#fff}.chat-list::-webkit-scrollbar{width:6px}.chat-list::-webkit-scrollbar-track{background:transparent}.chat-list::-webkit-scrollbar-thumb{background-color:#d1d7db;border-radius:3px}.chat-list-item{display:flex;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color .2s;position:relative}.chat-list-item:hover{background-color:#f5f6f6}.chat-list-item.selected{background-color:#f0f2f5}.chat-avatar-container{position:relative;flex-shrink:0}.chat-avatar{width:49px;height:49px;border-radius:50%;background-color:#dfe5e7;display:flex;align-items:center;justify-content:center;font-size:24px}.chat-info{flex:1;min-width:0;border-bottom:1px solid #e9edef;padding-bottom:12px}.chat-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.chat-name{font-size:16px;font-weight:400;color:#111b21;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-time{font-size:12px;color:#667781;flex-shrink:0}.chat-info-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.chat-last-message{font-size:14px;color:#667781;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.media-message-preview{display:inline-flex;align-items:center;gap:6px;color:#667781}.media-message-preview svg{flex-shrink:0}.chat-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.unread-badge{background-color:#25d366;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.favorite-icon{color:#ffba00}.icon-button-small{background:none;border:none;color:#667781;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.icon-button-small:hover:not(:disabled){background-color:#f5f6f6}.icon-button-small:disabled{opacity:.3;cursor:not-allowed}.context-menu{position:fixed;background-color:#fff;border-radius:8px;padding:4px 0;box-shadow:0 4px 16px #0003;z-index:9999;min-width:200px;max-width:250px}.context-menu button{width:100%;background:none;border:none;color:#111b21;padding:12px 16px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:16px;font-size:14px;transition:background-color .2s}.context-menu button:hover{background-color:#f5f6f6}.context-menu button.danger{color:#f15c6d}.chat-area{flex:1;display:flex;flex-direction:column;background-color:#efeae2;position:relative}.chat-header{background-color:#f0f2f5;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;height:60px;border-bottom:1px solid #e9edef}.chat-header-info{display:flex;align-items:center;gap:12px}.contact-avatar{width:40px;height:40px;border-radius:50%;background-color:#dfe5e7;display:flex;align-items:center;justify-content:center;font-size:20px}.contact-details h3{font-size:16px;font-weight:400;color:#111b21;margin:0}.chat-header-actions{display:flex;gap:8px}.chat-search-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#f0f2f5;border-bottom:1px solid #e9edef}.chat-search-input-container{flex:1;display:flex;align-items:center;background-color:#fff;border-radius:8px;padding:8px 12px;gap:8px}.chat-search-icon{color:#54656f;flex-shrink:0}.chat-search-input{flex:1;background:none;border:none;color:#111b21;font-size:14px;outline:none}.chat-search-input::placeholder{color:#667781}.chat-search-counter{font-size:13px;color:#667781;white-space:nowrap}.chat-search-actions{display:flex;gap:4px;align-items:center}.chat-search-actions .icon-button-small{padding:6px 10px;font-size:16px;font-weight:600}.chat-search-actions .icon-button-small:hover:not(:disabled){background-color:#fff}.messages-container{position:relative;flex:1;overflow-y:auto;background-image:url("data:image/svg+xml,%3Csvg width='400' height='400' xmlns='http://www.w3.org/2000/svg'%3E%3Cpattern id='pattern' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Cpath d='M50 0 L50 100 M0 50 L100 50' stroke='%23d9d9d9' stroke-width='0.5' fill='none'/%3E%3C/pattern%3E%3Crect width='100%25' height='100%25' fill='url(%23pattern)'/%3E%3C/svg%3E");background-color:#efeae2;padding:20px 8%;scrollbar-width:thin;scrollbar-color:#d1d7db transparent}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background-color:#d1d7db;border-radius:3px}.messages-list{display:flex;flex-direction:column;gap:4px}.message{max-width:65%;padding:6px 8px 8px 10px;border-radius:8px;position:relative;word-wrap:break-word;animation:messageSlideIn .2s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.sent{background-color:#d9fdd3;align-self:flex-end;margin-left:auto}.message.received{background-color:#fff;align-self:flex-start}.highlighted{animation:highlightPulse .5s ease-in-out}@keyframes highlightPulse{0%,to{box-shadow:0 0 #00a88400}50%{box-shadow:0 0 0 8px #00a8844d}}.message-reply-preview{background-color:#00000014;padding:6px 8px;border-radius:6px;margin-bottom:4px;border-left:3px solid #00a884;display:flex;gap:8px}.message-reply-preview strong{font-size:13px;color:#00a884}.message-reply-preview p{font-size:13px;color:#667781;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-text{font-size:14px;color:#111b21;margin:0 0 4px;line-height:1.4;white-space:pre-wrap}.message-footer{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:2px}.message-time{font-size:11px;color:#667781}.message-status{display:flex;align-items:center;color:#667781}.message-status.read,.message-status .read{color:#53bdeb}.message-status .failed{color:#e74c3c}.message-menu-button{background:none;border:none;color:#8696a0;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:0;transition:all .2s}.message:hover .message-menu-button{opacity:1}.message-menu-button:hover{background-color:#0000000d}.message-menu{position:absolute;top:100%;right:0;background-color:#fff;border-radius:8px;padding:4px 0;box-shadow:0 2px 8px #00000026;z-index:10;min-width:150px;margin-top:4px}.message-menu button{width:100%;background:none;border:none;color:#111b21;padding:10px 16px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:14px;transition:background-color .2s}.message-menu button:hover{background-color:#f5f6f6}.message-menu button.danger{color:#f15c6d}.message-reactions{position:absolute;bottom:-8px;right:8px;display:flex;gap:2px;background-color:#fff;padding:2px 6px;border-radius:12px;box-shadow:0 1px 2px #0000001a}.reaction{font-size:14px}.reactions-picker{position:absolute;bottom:100%;right:0;background-color:#fff;border-radius:20px;padding:8px;box-shadow:0 2px 8px #00000026;display:flex;gap:4px;margin-bottom:4px;z-index:10}.reaction-button{background:none;border:none;font-size:24px;cursor:pointer;padding:4px 8px;border-radius:12px;transition:background-color .2s}.reaction-button:hover{background-color:#f5f6f6}.voice-message{display:flex;align-items:center;gap:8px;padding:4px 0}.voice-play-button{background:none;border:none;color:#111b21;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.voice-play-button:hover{background-color:#0000000d}.voice-waveform{display:flex;align-items:center;gap:2px;flex:1;height:30px;position:relative}.voice-progress{position:absolute;left:0;top:0;height:100%;background-color:#00a88426;border-radius:2px;transition:width .1s linear}.voice-waveform span{width:2px;background-color:#8696a0;border-radius:1px;animation:pulse 1.2s ease-in-out infinite}.voice-waveform span:nth-child(2n){animation-delay:.2s}@keyframes pulse{0%,to{height:30%}50%{height:100%}}.voice-duration{font-size:12px;color:#667781;white-space:nowrap}.message-media{max-width:300px;cursor:pointer;transition:opacity .2s}.message-media:hover{opacity:.9}.message-media img{width:100%;border-radius:8px;margin-bottom:4px;pointer-events:none}.message-media video{width:100%;border-radius:8px;margin-bottom:4px;pointer-events:none}.message-media .message-text{margin-top:8px}.message-audio{display:flex;align-items:center;gap:12px;min-width:250px}.audio-icon{width:48px;height:48px;background-color:#00a88426;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#00a884;flex-shrink:0}.audio-info{flex:1;display:flex;flex-direction:column;gap:8px}.audio-info p{font-size:14px;color:#111b21;margin:0;font-weight:500}.audio-info audio{width:100%;height:32px}.message-document{display:flex;align-items:center;gap:12px;padding:8px;background-color:#00a8840d;border-radius:8px;min-width:250px}.document-icon{width:48px;height:48px;background-color:#00a88426;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#00a884;flex-shrink:0}.document-info{flex:1}.document-info p{font-size:14px;color:#111b21;margin:0 0 4px;font-weight:500;word-break:break-word}.document-info span{font-size:12px;color:#667781}.document-download{background:none;border:none;color:#00a884;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s;flex-shrink:0}.document-download:hover{background-color:#00a8841a}.reply-preview{background-color:#f0f2f5;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e9edef}.reply-preview-content{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.reply-preview-content>div{flex:1;min-width:0}.reply-preview strong{font-size:13px;color:#00a884}.reply-preview p{font-size:13px;color:#667781;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-bar{width:3px;height:36px;background-color:#00a884;border-radius:2px}.input-area{background-color:#f0f2f5;padding:12px 16px;display:flex;align-items:center;gap:8px;position:relative}.input-actions-left{display:flex;gap:8px}.message-input{flex:1;background-color:#fff;border:none;color:#111b21;font-size:15px;padding:10px 16px;border-radius:8px;outline:none}.message-input::placeholder{color:#667781}.input-actions-right{display:flex;gap:8px}.recording-container{flex:1;display:flex;align-items:center;gap:12px;background-color:#fff;padding:10px 16px;border-radius:8px}.recording-icon{color:#f15c6d;animation:recordingPulse 1s ease-in-out infinite}@keyframes recordingPulse{0%,to{opacity:1}50%{opacity:.5}}.recording-time{font-size:14px;color:#111b21;min-width:40px}.recording-wave{display:flex;align-items:center;gap:2px;flex:1}.recording-wave span{width:2px;height:20px;background-color:#00a884;border-radius:1px;animation:recordingWave 1s ease-in-out infinite}.recording-wave span:nth-child(1){animation-delay:0s}.recording-wave span:nth-child(2){animation-delay:.1s}.recording-wave span:nth-child(3){animation-delay:.2s}.recording-wave span:nth-child(4){animation-delay:.3s}.recording-wave span:nth-child(5){animation-delay:.4s}@keyframes recordingWave{0%,to{height:10px}50%{height:24px}}.emoji-picker{position:absolute;bottom:70px;left:16px;width:400px;max-height:400px;background-color:#fff;border-radius:12px;box-shadow:0 4px 16px #00000026;overflow:hidden;z-index:100}.emoji-picker-header{background-color:#f0f2f5;padding:12px 16px;border-bottom:1px solid #e9edef}.emoji-tabs{display:flex;gap:8px}.emoji-tabs button{background:none;border:none;color:#667781;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.emoji-tabs button:hover{background-color:#e9edef}.emoji-tabs button.active{background-color:#d1f4cc;color:#0b5c3d}.emoji-content{padding:16px;max-height:320px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d1d7db transparent}.emoji-content::-webkit-scrollbar{width:6px}.emoji-content::-webkit-scrollbar-track{background:transparent}.emoji-content::-webkit-scrollbar-thumb{background-color:#d1d7db;border-radius:3px}.emoji-category{margin-bottom:20px}.emoji-category h4{font-size:14px;color:#54656f;margin:0 0 8px;font-weight:500}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.emoji-button{background:none;border:none;font-size:24px;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s}.emoji-button:hover{background-color:#f5f6f6}.gif-content{padding:16px;max-height:320px;overflow-y:auto}.gif-search{margin-bottom:12px}.gif-search input{width:100%;background-color:#f0f2f5;border:none;color:#111b21;font-size:14px;padding:10px 12px;border-radius:8px;outline:none}.gif-search input::placeholder{color:#667781}.gif-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.gif-button{background:none;border:none;padding:0;cursor:pointer;border-radius:8px;overflow:hidden;aspect-ratio:1;transition:transform .2s}.gif-button:hover{transform:scale(1.05)}.gif-button img{width:100%;height:100%;object-fit:cover}.no-chat-selected{display:flex;align-items:center;justify-content:center;height:100%;background-color:#f0f2f5}.no-chat-content{text-align:center;max-width:500px;padding:40px}.whatsapp-logo-large{width:200px;height:200px;margin:0 auto 40px;color:#d1d7db}.whatsapp-logo-large svg{width:100%;height:100%}.no-chat-content h2{font-size:32px;font-weight:300;color:#41525d;margin:0 0 20px}.no-chat-content p{font-size:14px;color:#667781;line-height:1.6;margin:0 0 10px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header h3{font-size:18px;font-weight:500;color:#111b21;margin:0}.modal-body input{width:100%;background-color:#f0f2f5;border:none;color:#111b21;font-size:15px;padding:12px 16px;border-radius:8px;outline:none}.modal-body input::placeholder{color:#667781}.button-secondary,.button-primary{padding:10px 24px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s;border:none;font-weight:500}.button-secondary{background-color:transparent;color:#00a884}.button-secondary:hover{background-color:#00a8841a}.button-primary{background-color:#00a884;color:#fff}.button-primary:hover{background-color:#06cf9c}@media(max-width:1024px){.sidebar,.emoji-picker{width:350px}.messages-container{padding:20px 5%}}@media(max-width:768px){.whatsapp-container{position:relative}.sidebar{width:100%;position:absolute;left:0;top:0;bottom:0;z-index:10}.chat-area{width:100%}.sidebar.hidden{transform:translate(-100%)}.emoji-picker{width:calc(100% - 32px)}.message{max-width:85%}.messages-container{padding:20px 16px}.no-chat-content{padding:20px}.whatsapp-logo-large{width:150px;height:150px;margin-bottom:20px}.no-chat-content h2{font-size:24px}.emoji-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:480px){.sidebar{width:100%}.sidebar-header,.chat-header,.input-area{padding:8px 12px}.filter-pill{padding:5px 12px;font-size:12px}.chat-list-item{padding:10px 12px}.message{max-width:90%}.emoji-grid{grid-template-columns:repeat(5,1fr)}.whatsapp-logo-large{width:120px;height:120px}.no-chat-content h2{font-size:20px}.no-chat-content p{font-size:13px}}.scroll-to-bottom-button{position:absolute;bottom:20px;right:30px;width:42px;height:42px;border-radius:50%;background-color:#fff;border:none;box-shadow:0 2px 10px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#54656f;z-index:10;transition:all .3s cubic-bezier(.4,0,.2,1);animation:slideUp .3s ease-out}.scroll-to-bottom-button:hover{background-color:#f5f6f6;transform:scale(1.1);box-shadow:0 4px 16px #0003}.scroll-to-bottom-button:active{transform:scale(.95)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.attach-menu-container{position:relative}.attach-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100}.attach-menu{position:absolute;bottom:100%;left:0;margin-bottom:8px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #00000026;padding:8px;min-width:200px;z-index:101;animation:slideUp .2s ease-out}.attach-menu-item{display:flex;align-items:center;gap:16px;width:100%;padding:12px 16px;background:none;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s;color:#111b21;font-size:14px}.attach-menu-item:hover{background-color:#f5f6f6}.attach-menu-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.file-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.file-preview-container{width:90%;max-width:600px;max-height:90vh;background-color:#fff;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0003}.file-preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background-color:#f0f2f5;border-bottom:1px solid #e9edef}.file-preview-header h3{color:#111b21;font-size:18px;font-weight:500;margin:0}.file-preview-header .icon-button{color:#54656f}.file-preview-content{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;overflow:auto;background-color:#fff}.file-preview-content img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.file-preview-content video{max-width:100%;max-height:100%;border-radius:8px}.audio-preview{display:flex;flex-direction:column;align-items:center;gap:20px;color:#54656f}.audio-preview audio{width:100%;max-width:400px}.document-preview{display:flex;flex-direction:column;align-items:center;gap:12px;color:#54656f}.document-preview p{font-size:16px;color:#111b21;margin:0;text-align:center;word-break:break-word}.document-preview span{font-size:14px;color:#667781}.file-preview-footer{display:flex;align-items:center;gap:12px;padding:16px 20px;background-color:#f0f2f5;border-top:1px solid #e9edef}.file-caption-input{flex:1;background-color:#fff;border:1px solid #e9edef;color:#111b21;font-size:15px;padding:12px 16px;border-radius:8px;outline:none;transition:border-color .2s}.file-caption-input:focus{border-color:#00a884}.file-caption-input::placeholder{color:#667781}.file-preview-footer .send-button{background-color:#00a884}.file-preview-footer .send-button:hover{background-color:#00916f}.drag-drop-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#f0f2f5f2;z-index:100;display:flex;align-items:center;justify-content:center;border:3px dashed #00a884;border-radius:8px;margin:8px;pointer-events:none;animation:fadeIn .2s ease-out}.drag-drop-content{display:flex;flex-direction:column;align-items:center;gap:16px;color:#00a884;text-align:center;padding:40px}.drag-drop-content svg{animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.drag-drop-content h3{margin:0;font-size:24px;font-weight:600;color:#111b21}.drag-drop-content p{margin:0;font-size:14px;color:#667781}.media-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000f2;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.media-viewer-container{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.media-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background-color:#111b21f2;border-bottom:1px solid rgba(255,255,255,.1)}.media-viewer-info h3{color:#fff;font-size:16px;font-weight:500;margin:0 0 4px}.media-viewer-info span{color:#8696a0;font-size:13px}.media-viewer-actions{display:flex;align-items:center;gap:16px}.media-viewer-actions .icon-button{color:#fff}.media-viewer-actions .icon-button:hover{background-color:#ffffff1a}.media-viewer-actions .icon-button:disabled{opacity:.3;cursor:not-allowed}.zoom-level{color:#fff;font-size:14px;min-width:50px;text-align:center}.media-viewer-content{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:20px}.media-viewer-media{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.media-viewer-media img{max-width:90%;max-height:90vh;object-fit:contain;transition:transform .3s ease;cursor:zoom-in}.media-viewer-media video{max-width:90%;max-height:90vh;outline:none}.media-nav-button{position:absolute;top:50%;transform:translateY(-50%);background-color:#ffffff1a;border:none;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.media-nav-button:hover{background-color:#fff3;transform:translateY(-50%) scale(1.1)}.media-nav-button:active{transform:translateY(-50%) scale(.95)}.media-nav-button.prev{left:24px}.media-nav-button.next{right:24px}.media-viewer-footer{padding:16px 24px;background-color:#111b21f2;border-top:1px solid rgba(255,255,255,.1)}.media-viewer-footer p{color:#fff;font-size:14px;margin:0;text-align:center}.media-viewer-counter{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background-color:#111b21e6;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.ai-suggestions-container{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:linear-gradient(180deg,#fff0,#fffffff2 20%);border-top:1px solid rgba(0,0,0,.05)}.ai-suggestions-header{display:flex;align-items:center;gap:6px}.ai-sparkle{font-size:14px;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.ai-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--primary)}.ai-suggestions-list{display:flex;flex-wrap:wrap;gap:8px}.ai-suggestion-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:color-mix(in srgb,var(--primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:24px;font-size:13px;font-weight:500;color:#4a5568;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.ai-suggestion-chip:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.ai-suggestion-chip:hover:before{left:100%}.ai-suggestion-chip:hover{background:color-mix(in srgb,var(--primary) 15%,transparent);border-color:color-mix(in srgb,var(--primary) 40%,transparent);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 20%,transparent);color:var(--primary)}.ai-suggestion-chip:active{transform:translateY(0);box-shadow:0 2px 6px color-mix(in srgb,var(--primary) 15%,transparent)}.ai-suggestion-chip svg{color:var(--primary);flex-shrink:0}.whatsapp-success-container{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7,#bbf7d0);padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.whatsapp-success-card{background:#fff;border-radius:24px;padding:3rem 2.5rem;max-width:480px;width:100%;box-shadow:0 25px 50px -12px #0000001a,0 0 0 1px #00000005;text-align:center;animation:slideUp .6s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-icon-wrapper{position:relative;display:flex;justify-content:center;margin-bottom:2rem}.success-circle{position:relative;width:120px;height:120px;background:linear-gradient(135deg,#25d366,#128c7e);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 40px #25d36666;animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1) .2s both;z-index:2}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.whatsapp-icon-large{display:flex;align-items:center;justify-content:center}.checkmark-badge{position:absolute;bottom:-4px;right:-4px;width:40px;height:40px;background:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;border:4px solid white;animation:popIn .4s cubic-bezier(.34,1.56,.64,1) .6s both}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.pulse-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border:2px solid rgba(37,211,102,.3);border-radius:50%;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;z-index:1}.pulse-ring.delay{animation-delay:1s}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.8);opacity:0}}.success-content{margin-bottom:2rem}.success-title{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;animation:fadeIn .5s ease .4s both}.success-subtitle{font-size:1rem;color:#64748b;margin:0 0 1.5rem;line-height:1.5;animation:fadeIn .5s ease .5s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.phone-number-card{display:flex;align-items:center;gap:.875rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:16px;padding:1rem 1.25rem;margin-bottom:1.5rem;animation:fadeIn .5s ease .6s both}.phone-icon{width:44px;height:44px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#25d366;box-shadow:0 2px 8px #0000000f;flex-shrink:0}.phone-details{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}.phone-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.phone-number{font-size:1.125rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.verified-badge{display:flex;align-items:center;gap:.375rem;background:#d1fae5;color:#059669;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;flex-shrink:0}.features-list{display:flex;flex-direction:column;gap:.75rem;animation:fadeIn .5s ease .7s both}.feature-item{display:flex;align-items:center;gap:.75rem;text-align:left}.feature-icon{width:36px;height:36px;background:#f0fdf4;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#25d366;flex-shrink:0}.feature-item span{font-size:.9375rem;color:#475569;line-height:1.4}.btn-continue{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border:none;border-radius:14px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #25d36666;animation:fadeIn .5s ease .8s both}.btn-continue:hover{transform:translateY(-2px);box-shadow:0 8px 20px #25d36680}.btn-continue:active{transform:translateY(0)}.btn-continue svg{transition:transform .3s ease}.btn-continue:hover svg{transform:translate(4px)}@media(max-width:480px){.whatsapp-success-container{padding:1rem}.whatsapp-success-card{padding:2rem 1.5rem;border-radius:20px}.success-circle{width:100px;height:100px}.whatsapp-icon-large svg{width:40px;height:40px}.checkmark-badge{width:34px;height:34px}.pulse-ring{width:100px;height:100px}.success-title{font-size:1.5rem}.phone-number-card{flex-wrap:wrap}.verified-badge{margin-left:auto}}:root{--benko-primary: #059669;--benko-primary-hover: #047857;--benko-primary-light: rgba(5, 150, 105, .1);--secondary-color: #757575;--error-color: #f44336;--border-color: #e0e0e0;--text-primary: #212121;--text-secondary: #757575;--bg-light: #fafafa;--white: #ffffff;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--transition: all .3s ease}.benko-registration{min-height:100vh;background:var(--white);padding:2rem 1rem;display:flex;justify-content:center;align-items:center}.benko-container{width:100%;max-width:800px;background:var(--white);border-radius:12px;box-shadow:var(--shadow-md);padding:1rem;margin:0 auto;border:1px solid var(--border-color)}.benko-header{text-align:center;margin-bottom:2.5rem}.benko-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.progress-indicator{display:flex;justify-content:center;align-items:center;margin-bottom:2.5rem;padding:0 1rem;gap:.5rem}.progress-step-wrapper{display:flex;flex-direction:column;align-items:center;gap:.75rem;position:relative}.progress-step-wrapper .progress-step{width:32px!important;height:32px!important}.progress-step{width:48px;height:48px;border-radius:50%;background:#f3f4f6;border:3px solid #e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;color:#9ca3af;transition:all .3s ease;flex-shrink:0;position:relative;z-index:2}.progress-step-active{background:var(--benko-primary);border-color:var(--benko-primary);color:var(--white);box-shadow:0 4px 12px #0596694d}.progress-step-completed{background:var(--benko-primary);border-color:var(--benko-primary);color:var(--white)}.progress-line{width:80px;height:3px;background:#e5e7eb;margin:0 .5rem;transition:all .3s ease;position:relative;top:-24px}.progress-line-active{background:var(--benko-primary)}.step-label{font-size:.875rem;font-weight:500;color:#6b7280;text-align:center;max-width:100px;line-height:1.2;transition:all .3s ease}.step-content{min-height:400px}.step-form{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;text-align:center}.step-description{font-size:1rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.6;text-align:center}.form-content{display:flex;flex-direction:column;gap:1.5rem;max-height:unset;overflow:hidden;align-items:center;margin:0 auto;width:100%}.form-section{background:var(--bg-light);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);overflow:visible!important;width:100%}.section-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;width:100%}.form-group label{font-size:.95rem;font-weight:500;color:var(--text-primary);display:block;text-align:center}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;transition:var(--transition);background:var(--white);color:var(--text-primary);font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--benko-primary);box-shadow:0 0 0 3px var(--benko-primary-light);color:var(--text-primary)}.form-group input.error,.form-group select.error{border-color:var(--error-color);color:var(--text-primary)}.form-group input.disabled,.form-group input:disabled{background:var(--bg-light);color:var(--text-secondary);cursor:not-allowed}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--text-secondary);opacity:.7}.form-group select option{color:var(--text-primary);background:var(--white)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.error-message{color:var(--error-color);font-size:.875rem;margin-top:.25rem;text-align:center}.error-message.centered{text-align:center;margin-top:1rem}.verification-input{text-align:center;font-size:1.5rem;letter-spacing:.5rem;font-weight:600;color:var(--text-primary)}.person-type-selector{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.person-type-card{background:var(--white);border:2px solid var(--border-color);border-radius:12px;padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:var(--transition);position:relative}.person-type-card:hover{border-color:var(--benko-primary);transform:translateY(-4px);box-shadow:var(--shadow-md)}.person-type-card.selected{border-color:var(--benko-primary);background:var(--benko-primary-light);box-shadow:var(--shadow-md)}.person-type-card .card-icon{font-size:3rem;margin-bottom:1rem}.person-type-card h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.person-type-card p{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.person-type-card .radio-indicator{margin-top:1rem}.person-type-card input[type=radio]{width:20px;height:20px;accent-color:var(--benko-primary);cursor:pointer}.radio-group{display:flex;flex-direction:column;gap:1rem}.radio-label{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--white);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:var(--transition)}.radio-label:hover{border-color:var(--benko-primary);background:var(--benko-primary-light)}.radio-label.error{border-color:var(--error-color)}.radio-label input[type=radio]{margin-top:.25rem;width:18px;height:18px;accent-color:var(--benko-primary);cursor:pointer;flex-shrink:0}.radio-label span{flex:1;line-height:1.6;color:var(--text-primary)}.declaration-text{background:var(--white);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);line-height:1.8}.declaration-text p{margin-bottom:1rem;color:var(--text-primary)}.declaration-text p:last-child{margin-bottom:0}.declaration-text strong{color:var(--benko-primary);font-weight:600}.btn-signature{width:100%;padding:3rem 1rem;background:var(--white);border:2px dashed var(--border-color);border-radius:8px;font-size:1.1rem;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.btn-signature:hover{border-color:var(--benko-primary);background:var(--benko-primary-light);color:var(--benko-primary)}.signature-preview{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;background:var(--white);border:1px solid var(--border-color);border-radius:8px}.signature-preview img{max-width:100%;height:auto;max-height:150px;border:1px solid var(--border-color);border-radius:4px}.btn-primary{padding:.875rem 2rem;background:var(--benko-primary);color:var(--white);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm);width:fit-content}.btn-primary:hover:not(:disabled){background:var(--benko-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.875rem 2rem;background:var(--white);color:var(--text-primary);border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-secondary:hover:not(:disabled){border-color:var(--benko-primary);color:var(--benko-primary);transform:translateY(-2px)}.btn-link{background:none;border:none;color:var(--benko-primary);font-size:.95rem;font-weight:500;cursor:pointer;text-decoration:underline;padding:.5rem;transition:var(--transition)}.btn-link:hover:not(:disabled){color:var(--benko-primary-hover)}.btn-link:disabled{opacity:.5;cursor:not-allowed}.form-navigation{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.form-actions{display:flex;flex-direction:column;gap:1rem;align-items:center;width:100%}.form-actions .btn-primary{width:100%;max-width:400px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:9999;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.signature-modal{background:var(--white);border-radius:12px;max-width:600px;width:100%;box-shadow:var(--shadow-lg);animation:modalSlideUp .3s ease}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.close-button{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:var(--transition)}.close-button:hover{background:var(--bg-light);color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-description{text-align:center;color:var(--text-secondary);margin-bottom:1.5rem}.signature-canvas{width:100%;height:250px;border:2px solid var(--border-color);border-radius:8px;cursor:crosshair;touch-action:none;background:var(--white)}.signature-actions{display:flex;gap:1rem;margin-top:1.5rem}.signature-actions button{flex:1}.coming-soon{text-align:center;padding:3rem 2rem}.coming-soon h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.coming-soon p{font-size:1rem;color:var(--text-secondary);margin-bottom:2rem}.mt-3{margin-top:1rem}@media(max-width:768px){.benko-container{padding:1rem}.benko-title{font-size:2rem}.progress-indicator{padding:0}.progress-step{width:35px;height:35px;font-size:.9rem}.step-labels{font-size:.75rem}.person-type-selector{grid-template-columns:1fr;gap:1rem}.form-row{grid-template-columns:1fr}.form-navigation{flex-direction:column-reverse}.form-navigation button{width:100%}.signature-canvas{height:200px}.signature-actions{flex-direction:column}}@media(max-width:480px){.benko-registration{padding:1rem .5rem}.benko-container{padding:1rem;border-radius:8px}.benko-title{font-size:1.75rem}.benko-subtitle{font-size:1rem}.step-title{font-size:1.5rem}.step-labels span{font-size:.7rem}.form-section{padding:1rem}.section-title{font-size:1.1rem}}.benko-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.benko-footer p{font-size:.875rem;color:var(--text-secondary);font-style:italic}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.benko-admin-container{padding:2rem;max-width:1400px;margin:0 auto}.benko-admin-header{margin-bottom:2rem}.benko-admin-header h1{font-size:2rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.benko-admin-header .subtitle{color:#6b7280;font-size:1rem}.benko-admin-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-container{overflow-x:auto}.benko-table{width:100%;border-collapse:collapse}.benko-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.benko-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em}.benko-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.benko-table tbody tr:hover{background-color:#f9fafb}.benko-table td{padding:1rem;font-size:.875rem;color:#374151}.club-name{font-weight:600;color:#059669}.estado-pendiente{background-color:#fef3c7;color:#92400e}.estado-aprobado{background-color:#d1fae5;color:#065f46}.estado-revision{background-color:#dbeafe;color:#1e40af}.estado-rechazado{background-color:#fee2e2;color:#991b1b}.btn-accion{padding:.5rem 1rem;background-color:#059669;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-accion:hover{background-color:#047857}.modal-header h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0}.btn-close{background:none;border:none;font-size:2rem;color:#9ca3af;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.btn-close:hover{background-color:#f3f4f6;color:#374151}.detalle-section{margin-bottom:2rem}.detalle-section:last-child{margin-bottom:0}.detalle-section h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #059669}.detalle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.detalle-item{display:flex;flex-direction:column;gap:.25rem}.detalle-item label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.detalle-item span{font-size:.875rem;color:#1f2937}.mini-table{width:100%;border-collapse:collapse;font-size:.875rem}.mini-table thead{background-color:#f9fafb}.mini-table th{padding:.75rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.mini-table td{padding:.75rem;border-bottom:1px solid #e5e7eb;color:#374151}.mini-table tbody tr:last-child td{border-bottom:none}.btn-download{padding:.75rem 1.5rem;background-color:#059669;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:.5rem}.btn-download:hover{background-color:#047857}.btn-benko{background-color:#3b82f6}.btn-benko:hover{background-color:#2563eb}.btn-pp{background-color:#10b981}.btn-pp:hover{background-color:#047857}.btn-dni{background-color:#8b5cf6}.btn-dni:hover{background-color:#7c3aed}.modal-footer-buttons{display:flex;gap:.75rem;flex-wrap:wrap;flex:1}.btn-cancel:hover{background-color:#e5e7eb}@media(max-width:768px){.benko-admin-container{padding:1rem}.benko-table th,.benko-table td{padding:.75rem .5rem;font-size:.8rem}.detalle-grid{grid-template-columns:1fr}.modal-content{max-width:95%}.modal-footer{flex-direction:column;gap:1rem}.modal-footer-buttons{flex-direction:column;width:100%}.btn-download,.btn-cancel{width:100%;justify-content:center}}.btn-primary:hover{background-color:#2563eb}.btn-primary:active{background-color:#1d4ed8}.btn-download.btn-dni{display:inline-flex;align-items:center;justify-content:center}
