@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{--font-size-xs:.75rem}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.wizard-nav-btn-prev{background-color:var(--gray-200);color:var(--gray-700);border-radius:var(--radius-lg);cursor:pointer;border:none;padding:.75rem 1.5rem;font-weight:500;transition:opacity .2s,background-color .2s}.wizard-nav-btn-prev:disabled{cursor:not-allowed;opacity:.6}.wizard-nav-btn-next{background-color:var(--primary);color:#fff;border-radius:var(--radius-lg);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;font-weight:600;transition:opacity .2s,transform .2s;display:flex}.wizard-nav-btn-next:disabled{cursor:not-allowed;opacity:.6}.wizard-nav-btn-next.is-loading{gap:.75rem}.wizard-nav-btn-next__spinner-slot{flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.wizard-nav-btn-next__spinner-placeholder{visibility:hidden;width:20px;height:20px;display:block}.wizard-nav-btn-next__label{align-items:center;line-height:1;display:inline-flex}.wizard-nav-btn-finish{background-color:var(--success,#10b981);color:#fff;border-radius:var(--radius-lg);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:flex}.wizard-nav-btn-finish:disabled{cursor:not-allowed;opacity:.6}.clubs-step-item{z-index:1;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.clubs-step-circle{color:#9ca3af;background-color:#e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:600;transition:background-color .3s,color .3s;display:flex}.clubs-step-circle--active{color:#fff;background-color:#059669}.clubs-step-label{color:#9ca3af;margin-top:.25rem;font-size:.75rem;transition:color .3s}.clubs-step-label--active{color:#059669}.tmock-day-pill{color:#9ca3af;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:12px;font-weight:600;display:flex}.tmock-day-pill--on{color:#6d28d9;background:#ede9fe;border-color:#c4b5fd}.tournament-reg-success-panel{text-align:center;background-color:#f0fdf4;border:2px solid #86efac;border-radius:16px;padding:3rem 2rem}.tournament-reg-success-title{color:#15803d;margin-bottom:.5rem;font-weight:700}.tournament-reg-success-text{color:#166534;margin-bottom:1.5rem}.tournament-reg-success-btn{color:#fff;cursor:pointer;background-color:#22c55e;border:none;border-radius:9999px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600}.tournament-reg-form{gap:1.25rem;max-width:600px;margin:0 auto;display:grid}.tournament-reg-category-btn{cursor:pointer;color:#374151;background:#fff;border:2px solid #e5e7eb;border-radius:9999px;padding:.4rem .875rem;font-size:.875rem;font-weight:500;transition:all .2s}.tournament-reg-category-btn--selected{color:#047857;background:#ecfdf5;border-color:#059669}.reservations-context-menu{z-index:50;background:#fff;border:1px solid #ccc;border-radius:4px;min-width:120px;padding:4px 0;position:fixed;box-shadow:0 2px 8px #00000026}.reservations-context-menu-item{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:8px 12px;font-size:14px;display:block}.tournament-reg-success-icon{color:#22c55e;margin-bottom:1rem}.tournament-reg-player-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;position:relative}.tournament-reg-add-player-btn{color:var(--tennis-primary,#0ea5e9);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;display:flex}.tournament-reg-remove-player-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:.25rem;position:absolute;top:.5rem;right:.5rem}.tournament-reg-team-modal-close{cursor:pointer;color:#94a3b8;background:0 0;border:none;font-size:1.25rem}.tournament-reg-slot-label{cursor:pointer;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem;transition:opacity .2s,background-color .2s;display:flex}.tournament-reg-slot-label--selected{background-color:#eff6ff}.products-combo-list{border:1px solid #e5e7eb;border-radius:.5rem;margin-top:.5rem;padding:1rem}.products-combo-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.products-combo-item+.products-combo-item{margin-top:.5rem}.products-combo-remove-btn{cursor:pointer;color:#ef4444;background:0 0;border:none;align-items:center;padding:.25rem;display:flex}.drag-overlay-fullscreen{z-index:50;pointer-events:none;background-color:#0000001a;position:fixed;inset:0}.products-image-remove-btn{cursor:pointer;color:#fff;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:flex;position:absolute;top:4px;right:4px}.wizard-category-toggle{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:.75rem;padding:0;display:flex}.wizard-category-card{border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.reservations-draggable-card{z-index:10;width:fit-content;min-width:280px;max-width:320px;position:absolute;right:auto}.settings-toggle-switch{cursor:pointer;background:#d1d5db;border:none;border-radius:999px;width:52px;height:30px;padding:0;transition:background .2s;position:relative}.settings-toggle-switch[aria-checked=true]{background:var(--primary)}.settings-toggle-knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.settings-toggle-switch[aria-checked=true] .settings-toggle-knob{transform:translate(22px)}.products-filter-badge{color:#fff;background:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:flex;position:absolute;top:-8px;right:-8px}.products-filter-btn{position:relative}.products-list-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;width:fit-content;max-width:100%;margin-bottom:1rem;display:flex}.products-list-toolbar .list-search-box{flex:0 20rem;width:20rem;min-width:12rem;max-width:100%}.products-list-toolbar .products-filter-btn{flex-shrink:0}.topbar-center .products-categories-btn{color:#7c3aed;background-color:#ede9fe;border:1px solid #c4b5fd;width:auto}.topbar-center .products-categories-btn:hover:not(:disabled){opacity:1;color:#6d28d9;background-color:#ddd6fe;border-color:#a78bfa}.topbar-center .products-categories-btn svg{color:currentColor;flex-shrink:0}.products-crud-form{flex-direction:column;gap:1rem;display:flex}.products-crud-form-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=520px){.products-crud-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=720px){.products-crud-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.products-form-field{min-width:0}.products-form-field--full{grid-column:1/-1}.products-crud-form-grid .products-form-field input,.products-crud-form-grid .products-form-field select{box-sizing:border-box;width:100%}.classes-court-pill{color:#166534;white-space:nowrap;background-color:#dcfce7;border-radius:12px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-block}.tmock-category-chip{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;display:flex}.tmock-category-row{flex-wrap:wrap;gap:6px;display:flex}.impersonation-banner{color:#fff;text-align:center;background:orange;justify-content:center;align-items:center;gap:10px;padding:10px;font-weight:700;display:flex}.topbar{border-bottom:1px solid var(--border);z-index:1200;--topbar-btn-height:40px;background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;height:80px;max-height:80px;padding:1rem 2rem;display:grid;position:relative;top:0;overflow:visible;box-shadow:0 2px 4px #0000000d}.topbar-left{align-items:center;gap:1rem;min-width:0;display:flex}.topbar-menu-button{cursor:pointer;color:var(--gray-700);background:0 0;border:none;border-radius:6px;padding:.5rem;transition:all .2s;display:none}.topbar-menu-button:hover{color:var(--gray-900);background:#f3f4f6}.topbar-menu-button:active{background:#e5e7eb}.topbar-logo{align-items:center;gap:1rem;display:flex}.topbar-logo-img{object-fit:contain;border-radius:8px;width:48px;height:48px}.topbar-info{flex-direction:column;gap:.25rem;display:flex}.topbar-club-name{color:var(--gray-800);margin:0;font-size:1rem;font-weight:600;line-height:1.2}.topbar-page-title{color:var(--gray-600);margin:0;font-size:.875rem;font-weight:500;line-height:1.2}.topbar-center{flex-wrap:nowrap;flex:1;justify-content:flex-end;align-items:center;gap:.75rem;min-width:0;display:flex;overflow:hidden}.topbar-center--align-right{justify-content:flex-end}.topbar .topbar-tutorials-btn,.topbar-center .header-buttons :is(.btn,.btn-primary,.btn-secondary,.btn-save,.btn-new-bill,.btn-generate-report,.btn-new-reservation,.btn-new-sale,.products-topbar-btn,.reservations-topbar-action,.home-dashboard-action-btn,.toggle-button,button,a.btn),.topbar-center .dashboard-actions .home-dashboard-action-btn,.topbar-center .header-buttons>:is(button,a):not(.topbar-subscription-banner-wrap){box-sizing:border-box;height:var(--topbar-btn-height);min-height:var(--topbar-btn-height);max-height:var(--topbar-btn-height);flex-shrink:0;justify-content:center;align-items:center;line-height:1.25;display:inline-flex}.topbar .topbar-tutorials-btn,.topbar-center .header-buttons :is(.btn,.btn-primary,.btn-secondary,.btn-save,.btn-new-bill,.btn-generate-report,.btn-new-reservation,.btn-new-sale,.products-topbar-btn,.reservations-topbar-action),.topbar-center .home-dashboard-action-btn,.topbar-center .toggle-button{padding-block:0;padding-inline:1rem}.topbar .topbar-tutorials-btn{padding-inline:.85rem}.topbar-center .products-topbar-btn,.topbar-center .header-buttons .products-topbar-btn{width:fit-content;min-width:0}.topbar--compact .topbar-tutorials-text{display:none}.topbar--compact .topbar-tutorials-btn{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);justify-content:center;padding:0}.topbar-center--compact .header-buttons .btn span,.topbar-center--compact .header-buttons .btn-primary span,.topbar-center--compact .header-buttons button span,.topbar-center--compact .header-buttons a span,.topbar-center--compact .header-buttons .btn-new-bill span,.topbar-center--compact .header-buttons .btn-generate-report span,.topbar-center--compact .header-buttons .btn-new-reservation span,.topbar-center--compact .header-buttons .products-topbar-btn span,.topbar-center--compact .header-buttons .tournament-topbar-back-btn span,.topbar-center--compact .header-buttons .tournament-topbar-copy-btn span,.topbar-center--compact .products-topbar-btn span{display:none}.topbar-center--compact .header-buttons .btn,.topbar-center--compact .header-buttons .btn-primary,.topbar-center--compact .header-buttons .btn-new-bill,.topbar-center--compact .header-buttons .btn-generate-report,.topbar-center--compact .header-buttons .btn-new-reservation,.topbar-center--compact .header-buttons .products-topbar-btn,.topbar-center--compact .header-buttons .tournament-topbar-back-btn,.topbar-center--compact .header-buttons .tournament-topbar-copy-btn,.topbar-center--compact .products-topbar-btn{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);justify-content:center;gap:0;padding:0;font-size:0}.topbar-center--compact .header-buttons .btn svg,.topbar-center--compact .header-buttons .btn-primary svg,.topbar-center--compact .header-buttons .btn-new-bill svg,.topbar-center--compact .header-buttons .btn-generate-report svg,.topbar-center--compact .header-buttons .btn-new-reservation svg,.topbar-center--compact .header-buttons .products-topbar-btn svg,.topbar-center--compact .header-buttons .tournament-topbar-back-btn svg,.topbar-center--compact .header-buttons .tournament-topbar-copy-btn svg,.topbar-center--compact .products-topbar-btn svg{width:18px;height:18px}.topbar-center--compact .header-buttons .btn-new-reservation:before{content:"+";color:inherit;font-size:1.125rem;font-weight:700;line-height:1}.topbar-center--compact .header-buttons>button{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);justify-content:center;gap:0;padding:0}.topbar-center--compact .header-buttons>button svg{flex-shrink:0;width:18px;height:18px}.topbar-center--compact .toggle-container{gap:.25rem}.topbar-center--compact .toggle-button{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);padding:0;font-size:0}.topbar-center--compact .toggle-button:first-letter{font-size:.875rem}.topbar-center .dashboard-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:.625rem;display:flex}.topbar-center--compact .dashboard-actions .home-dashboard-action-btn span{display:none}.topbar-center--compact .dashboard-actions .home-dashboard-action-btn{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);justify-content:center;gap:0;padding:0}.topbar-center--compact .dashboard-actions .home-dashboard-action-btn svg{width:18px;height:18px}.topbar-subscription-banner-overlay{box-sizing:border-box;z-index:3;pointer-events:none;justify-content:flex-start;width:100%;display:flex;position:absolute;top:100px;left:0;right:0;transform:translateY(-50%)}.topbar-subscription-banner-wrap{box-sizing:border-box;pointer-events:auto;flex:100%;width:100%;min-width:0;max-width:100%;display:flex;position:relative}.topbar-trial-alert{color:#92400e;cursor:default;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;flex:100%;justify-content:center;align-items:center;gap:.45rem;width:100%;min-width:0;max-width:100%;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.3;display:flex;position:relative;overflow:visible}.topbar-trial-alert--danger{color:#991b1b;background:#fee2e2;border-color:#ef4444}.topbar-trial-alert-icon{flex-shrink:0}.topbar-trial-alert-message{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.topbar-trial-alert--expanded{cursor:default;flex:0 auto;max-width:100%}.topbar-trial-alert--expanded .topbar-trial-alert-message{text-overflow:clip;white-space:normal;word-break:break-word;overflow:visible}.topbar--compact .topbar-subscription-banner-wrap{flex:auto;max-width:100%}.topbar--compact .topbar-trial-alert{flex:0 auto}.topbar-subscription-hover-card-root{top:var(--topbar-hover-card-top);left:var(--topbar-hover-card-left);z-index:10040;pointer-events:auto;position:fixed;transform:translate(-50%)}.topbar-subscription-hover-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:min(380px,100vw - 2rem);animation:.2s topbarSubscriptionCardIn;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes topbarSubscriptionCardIn{0%{opacity:0}to{opacity:1}}.topbar-subscription-hover-card__header{background:#fafafa;border-bottom:1px solid #e5e7eb;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.topbar-subscription-hover-card__title{color:#111827;margin:0;font-size:1rem;font-weight:600}.topbar-subscription-hover-card__alert-icon{color:#eab308;flex-shrink:0}.topbar-subscription-hover-card__body{padding:1rem}.topbar-subscription-hover-card__primary{color:#374151;margin:0 0 .75rem;font-size:.875rem;font-weight:500;line-height:1.55}.topbar-subscription-hover-card__secondary{color:#6b7280;margin:0;font-size:.875rem;font-weight:400;line-height:1.5}.topbar-subscription-hover-card__footer{background:#fafafa;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;display:flex}.topbar-subscription-hover-card__link{background-color:#10b981;border-radius:8px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .15s;display:inline-flex;color:#fff!important}.topbar-subscription-hover-card__link:hover{background-color:#059669;color:#fff!important}.topbar-version-label{color:gray;margin-left:auto;font-size:.7rem}.topbar-center .header-buttons{align-items:center;gap:.75rem;min-width:0;display:flex;flex-wrap:nowrap!important}.topbar-center .header-buttons>*{flex-shrink:0}.topbar-center .tournament-topbar-back-btn,.topbar-center .tournament-topbar-copy-btn{white-space:nowrap;box-shadow:var(--shadow-sm)}.topbar-center .tournament-topbar-back-btn:hover,.topbar-center .tournament-topbar-copy-btn:hover{box-shadow:var(--shadow-md)}.topbar-center .btn,.topbar-center .btn-primary{flex:none;width:fit-content;min-width:0}.topbar-center .btn-new-bill,.topbar-center .btn-generate-report{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:0 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.topbar-center .btn-new-bill{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);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{color:#10b981;background:#fff;border:1px solid #10b981}.topbar-center .btn-generate-report:hover{background:#f0fdf4;transform:translateY(-1px)}.topbar-center .products-topbar-btn{white-space:nowrap;flex-shrink:0;align-items:center;gap:.5rem;margin-bottom:0;display:flex}.topbar-right{z-index:2;background:#fff;flex-shrink:0;justify-self:end;align-items:center;gap:.75rem;display:flex;position:relative}.topbar-tutorials-btn{border:1px solid var(--border);color:var(--gray-600);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.topbar-tutorials-btn:hover{background:var(--gray-50);color:var(--primary);border-color:var(--primary)}.topbar-tutorials-btn--active{color:#10b981;background:#10b9811a;border-color:#10b981}.topbar-tutorials-btn--active:hover{color:#059669;background:#10b98126;border-color:#059669}.topbar-tutorials-btn svg{flex-shrink:0}.topbar-user{position:relative}.topbar-user-button{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:opacity .2s;display:flex}.topbar-user-button:hover{opacity:.8}.topbar-user-avatar{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:600;display:flex;box-shadow:0 2px 8px #10b9814d}.topbar-dropdown{border:1px solid var(--border);z-index:1210;background:#fff;border-radius:8px;min-width:250px;animation:.2s fadeInDown;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.topbar-dropdown-header{background:#f9fafb;align-items:center;gap:.75rem;padding:1rem;display:flex}.topbar-dropdown-avatar{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;font-weight:600;display:flex}.topbar-dropdown-info{flex-direction:column;gap:.25rem;display:flex;overflow:hidden}.topbar-dropdown-name{color:var(--gray-800);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.topbar-dropdown-email{color:var(--gray-600);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.topbar-dropdown-divider{background:var(--border);height:1px;margin:0}.topbar-dropdown-menu{flex-direction:column;padding:.5rem;display:flex}.topbar-dropdown-item{color:var(--gray-700);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.topbar-dropdown-item:hover{color:var(--gray-900);background:#f3f4f6}.topbar-dropdown-item svg{flex-shrink:0}@media (width>=1025px){.topbar-center .header-buttons button span,.topbar-center .header-buttons .btn-new-bill span,.topbar-center .header-buttons .btn-generate-report span,.topbar-center .header-buttons .btn-new-reservation span,.topbar-center .header-buttons .products-topbar-btn span,.topbar-center .products-topbar-btn span{display:inline!important}.topbar-center--compact .header-buttons .btn,.topbar-center--compact .header-buttons .btn-primary,.topbar-center--compact .header-buttons .btn-new-bill,.topbar-center--compact .header-buttons .btn-generate-report,.topbar-center--compact .header-buttons .btn-new-reservation,.topbar-center--compact .header-buttons .products-topbar-btn,.topbar-center--compact .products-topbar-btn,.topbar-center--compact .header-buttons>button{width:fit-content;min-width:0;height:var(--topbar-btn-height);min-height:var(--topbar-btn-height);max-height:var(--topbar-btn-height);gap:.5rem;padding:0 1.25rem;font-size:.875rem}.topbar-center--compact .header-buttons .btn-new-reservation:before{content:none}}@media (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 (width<=900px){.topbar-menu-button{justify-content:center;align-items:center;display:flex}.topbar-logo{display:none}.topbar-left{min-width:auto}}@media (width<=768px){.topbar{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:.35rem;height:auto;min-height:52px;max-height:none;padding:.5rem .75rem;overflow:auto hidden}.topbar::-webkit-scrollbar{display:none}.topbar-left{flex-shrink:0}.topbar-right{flex-shrink:0;margin-left:auto}.topbar-center{flex-flow:row;flex:auto;justify-content:flex-start;align-self:center;align-items:center;gap:.35rem;width:auto;min-width:0}.topbar-tutorials-text{display:none}.topbar-tutorials-btn{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);justify-content:center;padding:0}.topbar-trial-alert{box-sizing:border-box;flex:0 auto;width:auto;min-width:0;max-width:min(11rem,42vw);padding:.3rem .45rem;font-size:.625rem;line-height:1.25}.topbar-trial-alert-message{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden}.topbar-center .header-buttons{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-start;gap:.35rem;width:auto;min-width:0}.topbar-center .btn-new-bill span,.topbar-center .btn-generate-report span{display:none}.topbar-center .btn-new-bill,.topbar-center .btn-generate-report{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);justify-content:center;padding:0}.topbar-center .products-topbar-btn span{display:none}.topbar-center .products-topbar-btn{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);justify-content:center;gap:0;padding:0}.topbar-center .btn-new-reservation span{display:none}.topbar-center .btn-new-reservation{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);justify-content:center;padding:0}.topbar-center .header-buttons .btn-new-reservation:before{content:"+";color:inherit;font-size:1.125rem;font-weight:700;line-height:1}.topbar-center .reservations-topbar-action .reservations-topbar-action-label{display:none}.topbar-center .reservations-topbar-action{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);justify-content:center;gap:0;padding:0}.topbar .toggle-container{gap:.25rem}.topbar .toggle-button{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);padding:0;font-size:0}.topbar .toggle-button:first-letter{font-size:.875rem}.topbar-dropdown{min-width:200px;left:auto;right:0}}@media (width<=480px){.topbar{--topbar-btn-height:36px;gap:.5rem;padding:.5rem .75rem}.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-flow:row;gap:.35rem}.topbar-trial-alert{max-width:min(9.5rem,38vw);padding:.28rem .4rem;font-size:.6rem}.topbar-center .btn-new-bill,.topbar-center .btn-generate-report,.topbar-center .btn-new-reservation,.topbar-tutorials-btn{min-width:var(--topbar-btn-height);width:var(--topbar-btn-height);justify-content:center;padding:0}.topbar .toggle-button{min-width:36px;padding:.5rem}.topbar-user-avatar{width:36px;height:36px;font-size:.875rem}}.tutorials-page{min-height:calc(100vh - 80px);margin:0 auto;padding:1rem}.tutorials-search-container,.tutorials-featured,.tutorials-categories-header{transition:opacity .25s,max-height .35s,margin .25s}.tutorials-page--category-expanded .tutorials-search-container,.tutorials-page--category-expanded .tutorials-featured,.tutorials-page--category-expanded .tutorials-categories-header{opacity:0;pointer-events:none;max-height:0;overflow:hidden;margin:0!important}.tutorials-page--category-expanded .tutorials-header{margin-bottom:.5rem}.tutorials-card:not(.tutorials-card--selected){transition:opacity .2s,max-height .3s cubic-bezier(.4,0,.2,1)}.tutorials-page--category-expanded .tutorials-card:not(.tutorials-card--selected){opacity:0;pointer-events:none;visibility:hidden;min-height:0;max-height:0;overflow:hidden;margin:0!important;padding:0!important}.tutorials-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.tutorials-header-main{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.tutorials-header-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.5rem;display:flex}.tutorials-support-hint{color:var(--gray-600);text-align:right;max-width:18rem;font-size:.875rem;font-weight:500;line-height:1.35}@media (width<=640px){.tutorials-support-hint{text-align:left;width:100%;max-width:none}.tutorials-header-actions{align-items:flex-start;width:100%}}.tutorials-whatsapp-support-btn{box-sizing:border-box;color:#1f2937;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.55rem .95rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 4px #0f172a0f,0 6px 16px #0f172a1a,0 0 0 1px #0f172a0a}.tutorials-whatsapp-support-btn:hover{color:#111827;background:#f9fafb;border-color:#d1d5db;box-shadow:0 4px 8px #0f172a14,0 12px 28px #25d36624,0 0 0 1px #0f172a0d}.tutorials-whatsapp-support-btn:focus-visible{outline:2px solid var(--primary,#059669);outline-offset:2px}.tutorials-whatsapp-support-btn__icon{color:#25d366;flex-shrink:0;width:1.125rem;height:1.125rem}.tutorials-back-btn{border:1px solid var(--border);width:40px;height:40px;color:var(--gray-600);cursor:pointer;background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.tutorials-back-btn:hover{background:var(--gray-50);color:var(--gray-900);border-color:var(--gray-300)}.tutorials-header-text{flex-direction:column;gap:.25rem;display:flex}.tutorials-title{color:var(--gray-900);margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.tutorials-subtitle{color:var(--gray-500);margin:0;font-size:.9rem;line-height:1.4}.tutorials-search-container{margin-bottom:2rem}.tutorials-search-wrapper{max-width:520px;position:relative}.tutorials-search-icon{color:var(--gray-400);pointer-events:none;flex-shrink:0;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.tutorials-search-wrapper .tutorials-search-input{border:1px solid var(--border);width:100%;color:var(--gray-800);box-sizing:border-box;background:#fff;border-radius:12px;outline:none;padding:.85rem 1rem .85rem 2.75rem;font-size:.9rem;transition:all .2s}.tutorials-search-wrapper .tutorials-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #10b9811f}.tutorials-search-wrapper .tutorials-search-input::placeholder{color:var(--gray-400)}.tutorials-section-header{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.tutorials-section-icon{color:#f59e0b}.tutorials-section-title{color:var(--gray-800);margin:0;font-size:1rem;font-weight:700}.tutorials-categories-header{margin-top:2rem}.tutorials-feat-chip{white-space:nowrap;border-radius:20px;width:fit-content;padding:.22rem .65rem;font-size:.72rem;font-weight:600}.tutorials-feat-chip--sm{padding:.18rem .5rem;font-size:.68rem}.tutorials-feat-duration{color:var(--gray-400);white-space:nowrap;align-items:center;gap:.3rem;font-size:.75rem;font-weight:500;display:flex}.tutorials-featured{margin-bottom:.5rem}.tutorials-featured-layout{grid-template-columns:1fr 380px;align-items:stretch;gap:1.25rem;display:grid}.tutorials-hero-card{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:16px;flex-direction:row;width:100%;padding:0;transition:all .25s;display:flex;overflow:hidden}.tutorials-hero-card:hover{border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 10px 32px #3b82f626}.tutorials-hero-visual{background:var(--hero-gradient);color:#fff;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:1rem;width:160px;padding:1.5rem 1rem;display:flex}.tutorials-hero-icon-wrap{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#fff3;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.tutorials-hero-steps-preview{align-items:center;gap:.35rem;display:flex}.tutorials-hero-step-dot{color:#fff;background:#ffffff40;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.65rem;font-weight:700;display:flex}.tutorials-hero-step-more{color:#fffc;font-size:.7rem;font-weight:600}.tutorials-hero-body{flex-direction:column;flex:1;min-width:0;padding:1.5rem;display:flex}.tutorials-hero-meta{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.tutorials-hero-title{color:var(--gray-900);margin:0 0 .5rem;font-size:1.05rem;font-weight:700;line-height:1.35}.tutorials-hero-description{color:var(--gray-500);flex:1;margin:0;font-size:.825rem;line-height:1.55}.tutorials-hero-footer{border-top:1px solid var(--gray-100);justify-content:space-between;align-items:center;margin-top:1.25rem;padding-top:1rem;display:flex}.tutorials-hero-steps-label{color:var(--gray-500);align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;display:flex}.tutorials-hero-steps-label svg{color:#10b981}.tutorials-hero-cta{color:#3b82f6;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:600;display:flex}.tutorials-hero-col{flex-direction:column;gap:.75rem;height:100%;display:flex}.tutorials-mini-cards{flex:1;grid-template-columns:1fr 1fr;align-items:stretch;gap:.75rem;display:grid}.tutorials-mini-card{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:12px;align-items:center;gap:.75rem;width:100%;height:100%;padding:.85rem 1rem;transition:all .2s;display:flex}.tutorials-mini-card:hover{border-color:var(--gray-300);transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.tutorials-mini-card-icon{color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.tutorials-mini-card-content{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.tutorials-mini-card-title{color:var(--gray-700);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.78rem;font-weight:600;overflow:hidden}.tutorials-mini-card-chevron{color:var(--gray-400);flex-shrink:0}.tutorials-featured-list{flex-direction:column;gap:.75rem;height:100%;display:flex}.tutorials-list-item{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:1rem;padding:.9rem 1rem;transition:all .2s;display:flex}.tutorials-list-item:hover{border-color:var(--gray-300);box-shadow:0 2px 8px #0000000f}.tutorials-list-thumb{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.tutorials-list-content{flex:1;min-width:0}.tutorials-list-meta{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.tutorials-list-title{color:var(--gray-700);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.825rem;font-weight:600;overflow:hidden}.tutorials-list-soon{color:var(--gray-400);background:var(--gray-100);white-space:nowrap;border-radius:20px;flex-shrink:0;padding:.2rem .55rem;font-size:.68rem;font-weight:600}.tutorials-list-new{color:#059669;white-space:nowrap;background:#d1fae5;border-radius:20px;flex-shrink:0;padding:.2rem .55rem;font-size:.68rem;font-weight:700}.tutorials-list-item--available{cursor:pointer}.tutorials-list-item--available:hover{border-color:var(--gray-300);box-shadow:0 2px 10px #00000014}.tutorials-list-item:disabled{cursor:default}.tutorials-step-visual{margin-top:.75rem}.tutorials-step-number--last{background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 2px 8px #10b98159}.tutorials-category-icon-badge{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin-left:auto;display:flex}.tutorials-category-view{margin-top:.5rem}.tutorials-cat-list{flex-direction:column;gap:1rem;display:flex}.tutorials-cat-item{border:1px solid var(--border);cursor:default;background:#fff;border-radius:14px;align-items:center;gap:1.25rem;transition:all .25s;display:flex;overflow:hidden}button.tutorials-cat-item{text-align:left;width:100%;font:inherit;color:inherit;padding:0}.tutorials-cat-item--available{cursor:pointer}.tutorials-cat-item--available:hover{border-color:var(--gray-300);transform:translateY(-1px);box-shadow:0 6px 20px #00000014}.tutorials-cat-item-thumb{color:#fff;flex-direction:column;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;gap:.5rem;width:110px;min-height:100px;padding:1rem .75rem;display:flex}.tutorials-cat-item-steps{color:#ffffffd9;background:#0000002e;border-radius:20px;padding:.15rem .5rem;font-size:.68rem;font-weight:600}.tutorials-cat-item-body{flex:1;min-width:0;padding:1.1rem 0}.tutorials-cat-item-meta{align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.tutorials-cat-item-title{color:var(--gray-800);margin:0 0 .35rem;font-size:.975rem;font-weight:700;line-height:1.35}.tutorials-cat-item-description{color:var(--gray-500);margin:0;font-size:.8125rem;line-height:1.5}.tutorials-cat-item-cta{color:var(--gray-400);flex-shrink:0;align-items:center;padding:0 1.25rem;transition:color .2s,transform .2s;display:flex}.tutorials-cat-item--available:hover .tutorials-cat-item-cta{color:var(--primary);transform:translate(3px)}.tutorials-empty--category{gap:.75rem;padding:3.5rem 2rem}.tutorials-empty-icon{border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:.25rem;display:flex}.tutorials-card{border:1px solid var(--border);cursor:default;background:#fff;border-radius:14px;flex-direction:column;padding:1.5rem;transition:all .25s;display:flex}.tutorials-card:hover{border-color:var(--gray-300);transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.tutorials-card--clickable{cursor:pointer;text-align:left;width:100%}.tutorials-card--clickable:hover .tutorials-card-chevron{color:var(--primary);transform:translate(3px)}.tutorials-card--selected{animation:.4s cubic-bezier(.34,1.4,.64,1) forwards tutorialCardExpand;border-color:var(--cat-color,var(--gray-300))!important;background:linear-gradient(to right, var(--cat-bg,#f8fafc), white)!important;border-width:2px!important;padding:1.25rem 1.5rem!important;box-shadow:0 10px 32px #0000001f!important}.tutorials-card--selected:hover{transform:translateY(-6px)!important}@keyframes tutorialCardExpand{0%{clip-path:inset(0 67% 0 0 round 14px);opacity:.7;transform:translateY(0)}60%{transform:translateY(-8px)}to{clip-path:inset(0 0% 0 0 round 14px);opacity:1;transform:translateY(-6px)}}.tutorials-card-expanded{align-items:center;gap:1.25rem;width:100%;min-height:72px;display:flex}.tutorials-card-expanded-icon{border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.tutorials-card-expanded-body{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.tutorials-card-expanded-body .tutorials-card-title{margin:.2rem 0 0}.tutorials-card-expanded-body .tutorials-card-description{margin:0}.tutorials-card-expanded-close{width:34px;height:34px;color:var(--gray-500);background:#0000000f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.tutorials-card--selected:hover .tutorials-card-expanded-close{color:var(--gray-700);background:#0000001a}.tutorials-inline-panel{border-radius:14px;margin-top:-.5rem;animation:.35s .15s both tutorialPanelReveal;overflow:hidden}@keyframes tutorialPanelReveal{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tutorials-card-chevron{color:var(--gray-300);flex-shrink:0;transition:color .2s,transform .2s}.tutorials-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.tutorials-card-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.tutorials-card-badge{color:var(--gray-500);background:var(--gray-100);white-space:nowrap;border-radius:20px;padding:.25rem .6rem;font-size:.7rem;font-weight:600}.tutorials-card-badge--active{color:#059669;background:#d1fae5}.tutorials-card-title{color:var(--gray-800);margin:0 0 .5rem;font-size:1.05rem;font-weight:600}.tutorials-card-description{color:var(--gray-500);flex:1;margin:0;font-size:.825rem;line-height:1.5}.tutorials-card-footer{border-top:1px solid var(--gray-100);justify-content:space-between;align-items:center;margin-top:1.25rem;padding-top:1rem;display:flex}.tutorials-card-count{color:var(--gray-400);align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;display:flex}.tutorials-empty{color:var(--gray-400);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.tutorials-empty h3{color:var(--gray-600);margin:1rem 0 .25rem;font-size:1.1rem;font-weight:600}.tutorials-empty p{color:var(--gray-400);margin:0;font-size:.875rem}.tutorials-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:12500;background:#00000073;justify-content:center;align-items:center;padding:1rem;animation:.2s tutorialFadeIn;display:flex;position:fixed;inset:0}@keyframes tutorialFadeIn{0%{opacity:0}to{opacity:1}}.tutorials-modal{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:520px;max-height:88vh;animation:.25s tutorialSlideUp;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000040}@keyframes tutorialSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tutorials-modal-header{flex-shrink:0;padding:2rem 2rem 1.5rem;position:relative}.tutorials-modal-header-content{flex-direction:column;gap:.5rem;display:flex}.tutorials-modal-title{color:#fff;margin:0;font-size:1.2rem;font-weight:700;line-height:1.3}.tutorials-modal-subtitle{color:#fffc;margin:0;font-size:.825rem;line-height:1.5}.tutorials-modal-header-meta{align-items:center;gap:1rem;margin-top:.25rem;display:flex}.tutorials-modal-header-meta span{color:#ffffffd9;align-items:center;gap:.35rem;font-size:.78rem;font-weight:500;display:flex}.tutorials-modal-back{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:flex;position:absolute;top:1rem;left:1rem}.tutorials-modal-back:hover{background:#ffffff59}.tutorials-modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:flex;position:absolute;top:1rem;right:1rem}.tutorials-modal-close:hover{background:#ffffff59}.tutorials-chatbot{z-index:100;flex-direction:column;align-items:flex-start;gap:.75rem;display:flex;position:fixed;bottom:1.25rem;left:1.25rem;right:auto}.tutorials-chatbot-toggle{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f766e 0%,#0ea5a4 100%);border:none;border-radius:999px;align-items:center;gap:.45rem;padding:.65rem .95rem;font-size:.82rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 12px 24px #0f766e4d}.tutorials-chatbot-toggle:hover{transform:translateY(-1px);box-shadow:0 16px 30px #0f766e61}.tutorials-chatbot-panel{background:#fff;border:1px solid #dbe4eb;border-radius:16px;flex-direction:column;width:min(430px,100vw - 2rem);max-height:min(78vh,760px);display:flex;overflow:hidden;box-shadow:0 18px 40px #02061733}.tutorials-chatbot-header{color:#ecfeff;background:linear-gradient(135deg,#0f766e 0%,#0ea5a4 100%);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem .95rem;display:flex}.tutorials-chatbot-title{margin:0;font-size:.88rem;font-weight:700}.tutorials-chatbot-subtitle{opacity:.98;align-items:center;gap:.35rem;margin:.2rem 0 0;font-size:.73rem;display:inline-flex}.tutorials-chatbot-online-dot{background:#22c55e;border-radius:999px;width:8px;height:8px;animation:1.8s ease-in-out infinite tutorialsChatOnlinePulse;box-shadow:0 0 #22c55e80}@keyframes tutorialsChatOnlinePulse{0%{box-shadow:0 0 #22c55e73}70%{box-shadow:0 0 0 7px #22c55e00}to{box-shadow:0 0 #22c55e00}}.tutorials-chatbot-close{color:#ecfeff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff59;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.tutorials-chatbot-body{background:linear-gradient(#f0fdfa 0%,#f8fafc 100%);flex-direction:column;gap:.65rem;padding:.9rem;display:flex;overflow-y:auto}.tutorials-chat-msg{display:flex}.tutorials-chat-msg--bot{justify-content:flex-start}.tutorials-chat-msg--user{justify-content:flex-end}.tutorials-chat-bubble{border:1px solid #0000;border-radius:14px;max-width:92%;padding:.62rem .8rem;font-size:.8rem;line-height:1.45}.tutorials-chat-bubble--bot{color:#0f172a;background:#fff;border-color:#dbe4eb}.tutorials-chat-bubble--user{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#0d9488 100%);border-bottom-right-radius:4px}.tutorials-chat-bubble--bot{border-bottom-left-radius:4px}.tutorials-chat-bubble--tutorial{background:#fff;border:1px solid #dbe4eb;border-radius:14px;width:100%;max-width:100%;padding:0;overflow:hidden}.tutorials-chat-tutorial-head{color:#fff;gap:.65rem;padding:.8rem;display:flex}.tutorials-chat-tutorial-icon{background:#fff3;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.tutorials-chat-tutorial-meta{flex-direction:column;gap:.3rem;min-width:0;display:flex}.tutorials-chat-tutorial-meta h4{margin:0;font-size:.9rem;line-height:1.3}.tutorials-chat-tutorial-meta p{color:#ffffffe6;margin:0;font-size:.74rem;line-height:1.45}.tutorials-chat-tutorial-stats{flex-wrap:wrap;gap:.6rem;display:flex}.tutorials-chat-tutorial-stats span{color:#ffffffe6;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;display:inline-flex}.tutorials-chat-tutorial-video{padding:.8rem .8rem 0}.tutorials-chat-tutorial-video iframe,.tutorials-chat-tutorial-video video{aspect-ratio:16/9;background:#000;border:1px solid #e2e8f0;border-radius:10px;width:100%;display:block}.tutorials-chat-tutorial-steps{flex-direction:column;gap:.55rem;padding:.8rem;display:flex}.tutorials-chat-step{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;align-items:flex-start;gap:.55rem;padding:.55rem;display:flex}.tutorials-chat-step-badge{color:#fff;background:#0f766e;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.69rem;font-weight:700;display:inline-flex}.tutorials-chat-step-body{min-width:0}.tutorials-chat-step-body h5{color:#0f172a;margin:0;font-size:.78rem}.tutorials-chat-step-body p{color:#334155;margin:.2rem 0 0;font-size:.72rem;line-height:1.4}.tutorials-chat-step-visual{margin-top:.45rem}.tutorials-chat-inline-replies{flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:.15rem 0 .35rem;display:flex}.tutorials-chat-reply{color:#0f172a;cursor:pointer;text-align:center;background:#fff;border:1px solid #bae6fd;border-radius:999px;width:fit-content;max-width:100%;padding:.4rem .72rem;font-size:.73rem;font-weight:600;transition:all .2s}.tutorials-chat-reply--category{background:#fff;width:220px;max-width:92%}.tutorials-chat-reply--tutorial{background:#fff;width:fit-content}.tutorials-chat-reply:hover{background:#e0f2fe;border-color:#7dd3fc}.tutorials-chat-back-btn{color:#0f766e;cursor:pointer;text-align:center;background:#ecfeff;border:1px solid #99f6e4;border-radius:999px;align-items:center;gap:.35rem;width:fit-content;max-width:100%;margin-top:.1rem;padding:.4rem .72rem;font-size:.73rem;font-weight:700;display:inline-flex}.tutorials-chat-back-btn:hover{background:#cffafe}.tutorials-chat-custom-question{background:#fff;border:1px solid #dbeafe;border-radius:12px;flex-direction:column;gap:.55rem;width:100%;padding:.75rem;display:flex}.tutorials-chat-custom-question-title{color:#1e293b;text-align:center;margin:0;font-size:.73rem;line-height:1.35}.tutorials-chat-custom-question-input{color:#0f172a;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;min-height:70px;padding:.55rem .65rem;font-size:.76rem}.tutorials-chat-custom-question-input:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 3px #38bdf833}.tutorials-chat-custom-question-send{color:#fff;cursor:pointer;background:#0f766e;border:1px solid #0ea5a4;border-radius:999px;align-self:center;width:fit-content;padding:.42rem .8rem;font-size:.73rem;font-weight:700}.tutorials-chat-custom-question-send:hover{background:#115e59}.tutorials-chat-bubble--typing{align-items:center;gap:.45rem;display:inline-flex}.tutorials-chat-typing-text{color:#475569;font-size:.75rem}.tutorials-chat-typing-dots{align-items:center;gap:.2rem;display:inline-flex}.tutorials-chat-typing-dots span{opacity:.25;background:#0ea5a4;border-radius:999px;width:6px;height:6px;animation:1.1s ease-in-out infinite tutorialsTypingDot}.tutorials-chat-typing-dots span:nth-child(2){animation-delay:.12s}.tutorials-chat-typing-dots span:nth-child(3){animation-delay:.24s}@keyframes tutorialsTypingDot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.tutorials-modal-body{flex:1;padding:1.75rem 2rem;overflow-y:auto}.tutorials-video-thumb{aspect-ratio:16/9;border:1px solid var(--border);cursor:pointer;border-radius:12px;width:100%;margin-bottom:1.5rem;padding:0;transition:transform .2s,box-shadow .2s;display:block;position:relative;overflow:hidden}.tutorials-video-thumb:hover{transform:scale(1.01);box-shadow:0 8px 24px #00000026}.tutorials-video-thumb-bg{opacity:.9;position:absolute;inset:0}.tutorials-video-thumb-decoration{opacity:.18;color:#fff;pointer-events:none;position:absolute;bottom:1rem;right:1.5rem}.tutorials-video-thumb--feat-mp .tutorials-video-thumb-bg:after{content:"";pointer-events:none;background:repeating-linear-gradient(-45deg,#0000,#0000 8px,#ffffff14 8px 16px);position:absolute;inset:0}.tutorials-video-thumb--feat-mp .tutorials-video-thumb-decoration{bottom:1rem;right:1.5rem;transform:rotate(-8deg)}.tutorials-video-thumb--feat-reserva .tutorials-video-thumb-bg:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:14% 20%;position:absolute;inset:0}.tutorials-video-thumb--feat-reserva .tutorials-video-thumb-decoration{opacity:.25;bottom:1.25rem;right:1.25rem}.tutorials-video-thumb--feat-2 .tutorials-video-thumb-bg:after{content:"";pointer-events:none;background:radial-gradient(circle at 15% 25%,#ffffff26 0%,#0000 12%),radial-gradient(circle at 85% 75%,#ffffff1a 0%,#0000 15%),repeating-linear-gradient(45deg,#0000,#0000 20px,#ffffff0a 20px 40px);position:absolute;inset:0}.tutorials-video-thumb--feat-2 .tutorials-video-thumb-decoration{opacity:.22;bottom:.75rem;right:2rem}.tutorials-video-thumb--feat-3 .tutorials-video-thumb-bg:after{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#0000 65%,#ffffff1f 100%),linear-gradient(#0000 75%,#ffffff14 100%),linear-gradient(#0000 80%,#ffffff0f 100%);background-position:15% 0,45% 0,78% 0;background-repeat:no-repeat;background-size:18% 100%,12% 100%,22% 100%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:absolute;inset:0}.tutorials-video-thumb--feat-3 .tutorials-video-thumb-decoration{opacity:.2;bottom:1rem;right:1rem}.tutorials-video-thumb-overlay{color:#fff;background:#00000040;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;inset:0}.tutorials-video-thumb-play{width:64px;height:64px;color:var(--gray-800);background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,background .2s;display:flex}.tutorials-video-thumb:hover .tutorials-video-thumb-play{background:#fff;transform:scale(1.1)}.tutorials-video-thumb-title{color:#fff;text-align:center;text-shadow:0 1px 3px #00000080;max-width:100%;padding:0 1rem;font-size:1rem;font-weight:700;line-height:1.25}.tutorials-video-thumb-label{text-shadow:0 1px 2px #0000004d;font-size:.9rem;font-weight:600}.tutorials-video-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:12600;background:#000000bf;justify-content:center;align-items:center;padding:1rem;animation:.2s tutorialFadeIn;display:flex;position:fixed;inset:0}@media (width>=640px){.tutorials-video-modal-backdrop{padding:2rem}}.tutorials-video-modal{width:100%;max-width:min(900px,100vw - 2rem);max-height:calc(100vh - 5rem);animation:.25s tutorialSlideUp;position:relative;overflow:hidden}.tutorials-video-modal-ratio{aspect-ratio:16/9;background:#000;border-radius:12px;width:100%;max-width:min(900px,100%);max-height:calc(100vh - 7rem);position:relative;overflow:hidden;box-shadow:0 24px 64px #00000080}.tutorials-video-modal-ratio iframe{width:100%;height:100%;position:absolute;inset:0}.tutorials-video-modal-ratio video{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.tutorials-video-modal-close{color:#fff;cursor:pointer;z-index:10;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s;display:flex;position:absolute;top:.75rem;right:.75rem}.tutorials-video-modal-close:hover{background:#ffffff4d}.tutorials-steps{flex-direction:column;display:flex}.tutorials-step{gap:1rem;display:flex}.tutorials-step-left{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.tutorials-step-number{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex;box-shadow:0 2px 8px #3b82f659}.tutorials-step-line{background:linear-gradient(#bfdbfe,#e5e7eb);flex:1;width:2px;min-height:24px;margin:4px 0}.tutorials-step-content{flex:1;padding-bottom:1.5rem}.tutorials-step-icon-row{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.tutorials-step-icon{color:var(--gray-400);flex-shrink:0}.tutorials-step-icon--success{color:#10b981}.tutorials-step-title{color:var(--gray-800);margin:0;font-size:.9rem;font-weight:700}.tutorials-step-description{color:var(--gray-500);margin:0;font-size:.825rem;line-height:1.55}@media (width<=1024px){.tutorials-grid{grid-template-columns:repeat(2,1fr)}.tutorials-featured-layout{grid-template-columns:1fr}.tutorials-hero-visual{width:130px}}@media (width<=768px){.tutorials-category-icon-badge{width:36px;height:36px}.tutorials-cat-item-thumb{width:80px}.tutorials-cat-item-title{font-size:.875rem}.tutorials-page{padding:1rem}.tutorials-title{font-size:1.25rem}.tutorials-subtitle{font-size:.825rem}.tutorials-search-wrapper{max-width:100%}.tutorials-featured-layout{grid-template-columns:1fr}.tutorials-hero-card{flex-direction:column}.tutorials-hero-visual{flex-direction:row;justify-content:flex-start;gap:1rem;width:100%;height:auto;padding:1.25rem}.tutorials-hero-steps-preview{margin-left:auto}.tutorials-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.tutorials-card{padding:1.25rem}.tutorials-card-icon{width:44px;height:44px}.tutorials-card-icon svg{width:22px;height:22px}.tutorials-modal{max-height:92vh}.tutorials-modal-header{padding:1.5rem 1.5rem 1.25rem}.tutorials-modal-body{padding:1.5rem}.tutorials-chatbot{bottom:.75rem;left:.75rem;right:auto}.tutorials-chatbot-panel{width:min(420px,100vw - 1.5rem);max-height:min(72vh,660px)}}@media (width<=480px){.tutorials-grid{grid-template-columns:1fr}.tutorials-card{padding:1rem}.tutorials-chatbot{align-items:stretch;bottom:.5rem;left:.5rem;right:.5rem}.tutorials-chatbot-panel{width:100%}}.tmock-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem 1rem;font-size:.72rem;overflow:hidden}.tmock-container--row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tmock-tabs-bar{flex-direction:column;gap:.2rem;display:flex}.tmock-tab{color:#64748b;background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .65rem;font-size:.7rem;font-weight:500;display:flex}.tmock-tab--active{color:#1d4ed8;background:#dbeafe;border-left:3px solid #3b82f6;padding-left:calc(.65rem - 3px);font-weight:700}.tmock-tabs-hint{color:#3b82f6;margin-top:.5rem;padding-left:.65rem;font-size:.68rem;font-weight:600}.tmock-mp-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.tmock-mp-card--connected{background:#f0fdf4;border-color:#6ee7b7}.tmock-mp-logo{background:#eff6ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.tmock-mp-info{flex-direction:column;flex:1;gap:.2rem;display:flex}.tmock-mp-title{color:#1e293b;font-size:.75rem;font-weight:700}.tmock-mp-status{color:#64748b;font-size:.68rem}.tmock-mp-btn{white-space:nowrap;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px;padding:.35rem .7rem;font-size:.68rem;font-weight:600}.tmock-mp-btn--highlight{color:#fff;background:#009ee3;border-color:#009ee3;box-shadow:0 2px 8px #009ee34d}.tmock-badge{border-radius:20px;align-items:center;gap:.25rem;width:fit-content;padding:.2rem .55rem;font-size:.68rem;font-weight:700;display:inline-flex}.tmock-badge--green{color:#15803d;background:#dcfce7}.tmock-page-title{color:#1e293b;font-size:.8rem;font-weight:700}.tmock-primary-btn{cursor:default;color:#64748b;background:#f1f5f9;border:none;border-radius:7px;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.7rem;font-weight:600;display:flex}.tmock-primary-btn--highlight{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b98159}.tmock-progress{justify-content:center;align-items:center;gap:0;margin-bottom:.75rem;display:flex;overflow:hidden}.tmock-progress-item{align-items:center;gap:0;display:flex}.tmock-progress-dot{color:#94a3b8;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6rem;font-weight:700;display:flex;position:relative}.tmock-progress-dot--active{color:#fff;background:#10b981;box-shadow:0 0 0 3px #10b98133}.tmock-progress-label{color:#94a3b8;white-space:nowrap;font-size:.6rem;position:absolute;bottom:-14px}.tmock-progress-line{background:#e2e8f0;flex-shrink:0;width:28px;height:2px}.tmock-type-cards{gap:.4rem;margin-top:.5rem;display:flex}.tmock-type-card{cursor:default;background:#fff;border:1px solid #e2e8f0;border-radius:7px;flex-direction:column;flex:1;gap:.15rem;padding:.5rem .4rem;display:flex}.tmock-type-card--active{background:#f0fdf4;border-color:#6ee7b7;box-shadow:0 0 0 2px #10b98126}.tmock-type-title{color:#1e293b;font-size:.68rem;font-weight:700}.tmock-type-sub{color:#94a3b8;font-size:.6rem;line-height:1.3}.tmock-date-row{justify-content:center;gap:.4rem;display:flex}.tmock-date-card{cursor:default;background:#fff;border:1px solid #e2e8f0;border-radius:7px;flex-direction:column;flex:1;align-items:center;gap:.15rem;max-width:48px;padding:.4rem .3rem;display:flex}.tmock-date-card--active{background:#10b981;border-color:#10b981}.tmock-date-day{color:#94a3b8;font-size:.6rem;font-weight:500}.tmock-date-num{color:#1e293b;font-size:.8rem;font-weight:700}.tmock-date-card--active .tmock-date-day,.tmock-date-card--active .tmock-date-num{color:#fff}.tmock-slots-grid{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.tmock-slot{text-align:center;color:#475569;cursor:default;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.35rem .2rem;font-size:.68rem;font-weight:500}.tmock-slot--active{color:#fff;background:#10b981;border-color:#10b981;font-weight:700;box-shadow:0 2px 6px #10b9814d}.tmock-form{flex-direction:column;gap:.5rem;display:flex}.tmock-form-row{gap:.5rem;display:flex}.tmock-field{flex-direction:column;flex:1;gap:.2rem;display:flex}.tmock-label{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.62rem;font-weight:600}.tmock-input{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.3rem .5rem;font-size:.7rem;font-weight:500}.tmock-save-btn{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:7px;justify-content:center;align-items:center;gap:.35rem;margin-top:.25rem;padding:.45rem .75rem;font-size:.72rem;font-weight:700;display:flex;box-shadow:0 2px 8px #10b9814d}.tmock-cierre-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:12px}.tmock-cierre-row{justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.tmock-cierre-input{color:#374151;text-align:right;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;min-width:60px;padding:3px 8px;font-size:12px}.tmock-cierre-summary{border-top:1px solid #f1f5f9;justify-content:space-between;padding:8px 0;font-size:12px;font-weight:700;display:flex}.tmock-pay-method-row{background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;margin-bottom:6px;padding:7px 10px;font-size:12px;display:flex}.tmock-pay-method-row--selected{background:#fdf2f8;border-color:#ec4899}.tmock-pay-method-radio{background:0 0;border:2px solid #d1d5db;border-radius:50%;width:12px;height:12px}.tmock-pay-method-radio--selected{background:#ec4899;border-color:#ec4899}.tmock-pay-method-label{color:#6b7280;font-weight:400}.tmock-pay-method-label--selected{color:#be185d;font-weight:600}.tmock-cierre-actions{gap:8px;display:flex}.tmock-cierre-action{color:#374151;text-align:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;flex:1;padding:8px;font-size:12px}.tmock-cierre-action--highlight{color:#be185d;background:#fdf2f8;border:1px solid #fbcfe8;font-weight:600}.app-container{color:#343a40;box-sizing:border-box;background-color:#fff;width:100%;height:100vh;transition:grid-template-columns .3s;display:flex;overflow:hidden}.mobile-header{display:none!important}.mobile-header.force-mobile{display:flex}@media (width<=767px){.mobile-header{display:none!important}}.menu-button{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem;transition:background-color .3s}.menu-button:hover{background-color:#f8f9fa}.menu-button svg{color:#343a40;width:18px;height:18px}.overlay{z-index:250;background-color:#00000080;display:none;position:fixed;inset:0}@media (width<=768px){.overlay{z-index:250}}.overlay.force-mobile.show{display:block}@media (width<=767px){.overlay.show{display:block}}.main-content{box-sizing:border-box;z-index:1;flex-direction:column;width:100%;min-width:0;height:100vh;margin-top:0;display:flex;position:relative;overflow:hidden}.main-content main{box-sizing:border-box;flex:1;height:calc(100vh - 80px);overflow-y:auto}@media (width<=768px){.main-content main{flex:auto;height:auto;min-height:0}}.metrics-content.force-mobile{margin-top:60px}.sidebar-container{color:#fff;z-index:1;box-sizing:border-box;background-color:#fff;border-right:1px solid #dcdcdc;flex-direction:column;flex-shrink:0;align-items:stretch;width:240px;height:100vh;transition:all .3s;display:flex;position:relative;overflow:hidden auto}.sidebar-container.collapsed{width:70px}.sidebar-container.force-mobile{z-index:300;width:280px;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar-container.force-mobile.show{transform:translate(0);box-shadow:2px 0 10px #0000001a}@media (width<=767px){.sidebar-container{z-index:300;width:280px;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar-container.show{transform:translate(0);box-shadow:2px 0 10px #0000001a}.sidebar-container.collapsed{width:280px}}.sidebar-header{box-sizing:border-box;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;height:80px;min-height:80px;padding:1rem 2rem;display:flex}.logo{justify-content:flex-start;align-items:center;min-width:0;transition:all .3s;display:flex}.logo img.logo-icon{flex-shrink:0;width:48px;height:48px}.logo--expanded{gap:0}.logo-mark{flex-shrink:0;width:48px;height:48px;margin-right:-.55rem}.logo-wordmark{letter-spacing:.001em;color:#059669;white-space:nowrap;margin-top:.25rem;font-size:1.5rem;font-weight:700;line-height:2}.toggle-sidebar-button{cursor:pointer;color:#8a8d98;z-index:1000;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-top:1rem;padding:.5rem;transition:all .3s;display:flex}.toggle-sidebar-button:hover{color:var(--primary);background-color:#3b82f61a}.toggle-sidebar-button svg{width:18px;height:18px}.sidebar-container.collapsed .sidebar-header{flex-direction:column;gap:8px;padding:12px 8px}.sidebar-container.collapsed .logo{justify-content:center}@media (width<=767px){.sidebar-container.collapsed .sidebar-header{flex-direction:row;justify-content:space-between;gap:0;padding:16px}}.sidebar-container.collapsed .toggle-sidebar-button{padding:.4rem}@media (width<=767px){.toggle-sidebar-button{display:none}.sidebar-header{padding:16px}.logo{margin:0}}.nav{flex:1;width:100%;padding:0 0 12px 12px}.sidebar-container.collapsed .nav{padding-top:2.5rem}@media (width<=767px){.nav{margin-top:0;padding:0 1rem}}.nav-list{flex-direction:column;margin:0;padding:0;list-style-type:none;display:flex}.nav-section{margin-top:.75rem}.nav-section:first-child{margin-top:0}.nav-section:not(:first-child){border-top:1px solid #94a3b838;padding-top:.75rem}.nav-section-heading{letter-spacing:.055em;text-transform:uppercase;color:#94a3b8;margin:0 0 .35rem;padding:0 .85rem;font-size:.6875rem;font-weight:600;line-height:1.2}.sidebar-container.collapsed .nav-section{border-top:none;margin-top:.28rem;padding-top:0}.sidebar-container.collapsed .nav-section:first-child{margin-top:0}.sidebar-container.collapsed .nav-section-heading{display:none}@media (width<=767px){.sidebar-container.collapsed .nav-section{margin-top:.75rem}.sidebar-container.collapsed .nav-section:first-child{margin-top:0}.sidebar-container.collapsed .nav-section:not(:first-child){border-top:1px solid #94a3b838;padding-top:.75rem}.sidebar-container.collapsed .nav-section-heading{display:block}}.nav-item{flex-direction:column;justify-content:stretch;margin-bottom:4px;display:flex}.nav-item.force-mobile{justify-content:flex-start;margin-bottom:6.4px}.sidebar-container.collapsed .nav-item{justify-content:center}@media (width<=767px){.sidebar-container.collapsed .nav-item{justify-content:flex-start}.nav-item{justify-content:flex-start;margin-bottom:6.4px}}.nav-link{color:#6c7680;cursor:pointer;background-color:#0000;border:none;border-radius:10px;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;width:100%;height:46px;padding:0 .7rem;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.sidebar-container.collapsed .nav-link{justify-content:flex-start;gap:0;width:46px}@media (width<=767px){.sidebar-container.collapsed .nav-link{justify-content:flex-start;gap:12px;width:100%;padding:0 .5rem}.nav-link svg{margin-left:.5rem}}.nav-link.active{color:var(--primary);-webkit-backdrop-filter:blur(10px)saturate(1.3);background-color:#05966933;box-shadow:inset 0 0 0 1px #05966942,0 1px 3px #0f172a0f}.nav-link:hover{color:var(--primary);-webkit-backdrop-filter:blur(8px)saturate(1.2);background-color:#0596691c}.nav-link.active:hover{-webkit-backdrop-filter:blur(12px)saturate(1.35);background-color:#05966942;box-shadow:inset 0 0 0 1px #05966952,0 2px 6px #0f172a12}.nav-link svg{opacity:.85;flex-shrink:0;width:20px;height:20px}.nav-link.active svg{opacity:1}.nav-link.force-mobile{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px;width:100%;height:48px;margin-bottom:4px;padding:0 1rem}@media (width<=767px){.nav-link{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px;width:100%;height:48px;margin-bottom:4px;padding:0 .5rem}.nav-link svg{width:18px;height:18px}}.nav-text{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:500;transition:opacity .2s;display:block;overflow:hidden}.sidebar-container.collapsed .nav-text{display:none}.nav-chevron{align-items:center;margin-left:auto;transition:transform .2s;display:flex}.sidebar-container.collapsed .nav-chevron{display:none}@media (width<=767px){.sidebar-container.collapsed .nav-chevron{display:flex}.sidebar-container.collapsed .nav-text{display:block}}.nav-text.force-mobile{max-width:none;font-size:14px}@media (width<=767px){.nav-text{max-width:none;font-size:14px}}.sidebar-footer{padding:.75rem 0 calc(14px + env(safe-area-inset-bottom));border-top:1px solid #94a3b838;flex-direction:column;flex-shrink:0;gap:.4rem;margin-top:auto;display:flex}.sidebar-help-link{color:#0f766e;cursor:pointer;background:linear-gradient(#0f766e14,#0f766e0a);border:1px solid #0f766e29;border-radius:10px;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;width:auto;height:46px;margin:0 12px .1rem;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative;box-shadow:inset 0 0 0 1px #0f766e08}.sidebar-help-link:hover{color:#0f766e;background:linear-gradient(#0f766e1f,#0f766e14);border-color:#0f766e3d;box-shadow:inset 0 0 0 1px #0f766e0d,0 1px 3px #0f172a0f}.sidebar-help-link svg{color:#0f766e;flex-shrink:0;width:20px;height:20px}.sidebar-help-link-text{font-size:14px;font-weight:600}.sidebar-container.collapsed .sidebar-help-link{justify-content:center;gap:0;width:46px;margin:0 auto .1rem;padding:0}.sidebar-container.collapsed .sidebar-help-link-text{display:none}@media (width<=767px){.sidebar-container.collapsed .sidebar-help-link{justify-content:flex-start;gap:12px;width:calc(100% - 2rem);margin:0 1rem .1rem;padding:0 1rem}.sidebar-container.collapsed .sidebar-help-link-text{display:inline}}.sidebar-help-link.force-mobile{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px;width:calc(100% - 2rem);height:48px;margin:0 1rem .1rem;padding:0 1rem}@media (width<=767px){.sidebar-help-link{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px;width:calc(100% - 2rem);height:48px;margin:0 1rem .1rem;padding:0 1rem}.sidebar-help-link-text{display:inline}}.settings-link{color:#6c7680;cursor:pointer;background-color:#0000;border:none;border-radius:10px;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;width:auto;height:46px;margin:0 12px;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.sidebar-container.collapsed .settings-link{justify-content:center;gap:0;width:46px;margin:0 auto;padding:0}@media (width<=767px){.sidebar-container.collapsed .settings-link{justify-content:flex-start;gap:12px;width:calc(100% - 2rem);margin:0 1rem;padding:0 1rem}}.settings-link.active{color:var(--primary);-webkit-backdrop-filter:blur(10px)saturate(1.3);background-color:#05966933;box-shadow:inset 0 0 0 1px #05966942,0 1px 3px #0f172a0f}.settings-link:hover{color:var(--primary);-webkit-backdrop-filter:blur(8px)saturate(1.2);background-color:#0596691c}.settings-link.active:hover{-webkit-backdrop-filter:blur(12px)saturate(1.35);background-color:#05966942;box-shadow:inset 0 0 0 1px #05966952,0 2px 6px #0f172a12}.settings-link svg{flex-shrink:0;width:20px;height:20px}.settings-link-text{font-size:14px;font-weight:500}.sidebar-container.collapsed .settings-link-text{display:none}@media (width<=767px){.sidebar-container.collapsed .settings-link-text{display:inline}}.settings-link.force-mobile{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px;width:calc(100% - 2rem);height:48px;margin:0 1rem;padding:0 1rem}@media (width<=767px){.settings-link{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px;width:calc(100% - 2rem);height:48px;margin:0 1rem;padding:0 1rem}}.close-button{cursor:pointer;z-index:60;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:background-color .3s;position:absolute;top:1rem;right:1rem;display:none!important}.close-button:hover{background-color:#f8f9fa}@media (width<=767px){.close-button{display:flex!important}}.nav-item-container{justify-content:stretch;align-items:center;width:100%;padding:0;display:flex}.sidebar-container.collapsed .nav-item-container{justify-content:center;width:46px}@media (width<=767px){.sidebar-container.collapsed .nav-item-container{justify-content:stretch;width:100%}.nav-item-container{width:100%;padding:0}}.toggle-button{cursor:pointer;color:#fff;background:0 0;border:none;margin-right:1rem;font-size:.75rem}.sub-nav-list{margin:.5rem 0;padding:0 0 0 44px;list-style-type:none;animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sidebar-container.collapsed .sub-nav-list{display:none}@media (width<=767px){.sidebar-container.collapsed .sub-nav-list{padding-left:44px;display:block}}.sub-nav-item{margin-bottom:.25rem}.sub-nav-link{color:#6c7680;background-color:#0000;border-radius:8px;align-items:center;gap:.75rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sub-nav-icon{opacity:.85;flex-shrink:0;align-items:center;display:flex}.sub-nav-link.active .sub-nav-icon{opacity:1}.sub-nav-link.active{color:var(--primary);-webkit-backdrop-filter:blur(10px)saturate(1.28);background-color:#0596692e;box-shadow:inset 0 0 0 1px #0596693d}.sub-nav-link:hover{color:var(--primary);-webkit-backdrop-filter:blur(8px)saturate(1.15);background-color:#0596691a}.sub-nav-link.active:hover{-webkit-backdrop-filter:blur(11px)saturate(1.32);background-color:#0596693d;box-shadow:inset 0 0 0 1px #0596694d}.sub-nav-link:hover .sub-nav-icon{opacity:1}.logout-button{color:#6c7680;cursor:pointer;background-color:#0000;border:none;border-radius:10px;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;width:auto;height:46px;margin:auto 12px 16px;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-container.collapsed .logout-button{justify-content:center;gap:0;width:46px;margin:12px auto 16px;padding:0}@media (width<=767px){.sidebar-container.collapsed .logout-button{justify-content:flex-start;gap:12px;width:calc(100% - 2rem);margin:.5rem 1rem 1rem;padding:0 1rem}}.logout-button:hover{color:#ef4444;background-color:#ef44441a}.logout-button svg{flex-shrink:0;width:20px;height:20px}.logout-button.force-mobile{flex-direction:row;justify-content:flex-start;gap:12px;width:calc(100% - 2rem);height:48px;margin:.5rem 1rem 1rem;padding:0 1rem}@media (width<=767px){.logout-button{flex-direction:row;justify-content:flex-start;gap:12px;width:calc(100% - 2rem);height:48px;margin:.5rem 1rem 1rem;padding:0 1rem}.logout-button svg{width:18px;height:18px}}.logout-text{white-space:nowrap;font-size:14px;font-weight:500;display:block}.sidebar-container.collapsed .logout-text{display:none}@media (width<=767px){.sidebar-container.collapsed .logout-text{display:block}}.logout-text.force-mobile{display:block}@media (width<=767px){.logout-text{display:block}}.loading-container{flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.loading-spinner{border:4px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:50px;height:50px;margin-bottom:24px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--primary);opacity:.9;margin-bottom:8px;font-size:18px;font-weight:500}.loading-subtext{color:#343a40;opacity:.7;text-align:center;max-width:300px;font-size:14px;line-height:1.4}.logo-container{justify-content:center;align-items:center;margin-bottom:32px;display:flex;background-color:unset!important}.logo-container img{width:64px;height:64px}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--primary:#059669;--primary-dark:#059669;--primary-light:#e8f5e8;--primary-foreground:#fff;--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:#000;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--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, #fffc 0%, #fff9 50%, #ffffffb3 100%);--metric-card-shadow:0 2px 8px #0000001a;--metric-card-hover-shadow:0 8px 25px #00000026;--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 #4faf4433;--shadow-focus:var(--focus-shadow);--shadow-accessible:0 2px 4px #0000001a}body{background:#e4edf3;background-color:var(--background);color:var(--foreground);font-size:16px;line-height:1.6}.container{flex-direction:column;gap:1rem;display:flex}.loading-container{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:300px;display:flex;position:absolute}.loading-spinner{border:3px solid #e5e7eb;border-top:3px solid var(--primary);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideIn{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}: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);margin-bottom:.5em;line-height:1.4}p{max-width:70ch;margin-bottom:1em}a{color:var(--primary);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness: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}.right{margin-left:auto}.btn-primary{background-color:var(--primary);color:#fff;flex:none;width:fit-content;min-width:0;height:fit-content}.btn-primary:hover:not(:disabled){background-color:#047857}.btn-primary:disabled{cursor:not-allowed;opacity:.8;color:#d1d5db!important;background-color:#4b5563!important}.btn-primary:disabled:hover{cursor:not-allowed;color:#d1d5db!important;background-color:#4b5563!important}.btn.btn-primary.btn-loading,.btn-primary.btn-loading{pointer-events:none;cursor:not-allowed!important;background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%)!important}.btn.btn-primary.btn-loading:hover,.btn-primary.btn-loading:hover{background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%)!important}.btn,.btn-secondary{color:#fff;cursor:pointer;border:none;border-radius:10px;flex:none;align-items:center;gap:.5rem;width:fit-content;min-width:0;height:fit-content;padding:.7rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .2s;display:flex}.btn-danger{color:#fff;cursor:pointer;background-color:#dc2626;border:none;border-radius:10px;flex:none;align-items:center;gap:.5rem;width:fit-content;height:fit-content;padding:.5rem;font-size:.875rem;font-weight:500;transition:background-color .2s;display:flex}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-danger:disabled{cursor:not-allowed;opacity:.8;color:#d1d5db!important;background-color:#4b5563!important}.btn-danger:disabled:hover{cursor:not-allowed;color:#d1d5db!important;background-color:#4b5563!important}.btn-edit,.btn-remove{color:#000;background:#dcdcdc;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:.5rem;transition:all .2s;display:flex}.btn-remove:hover{color:#fff;background:#b91c1c}.actions-cell{align-items:center;gap:.5rem;display:flex}.client-search-input{padding:10px 32px!important}select{border:1px solid var(--gray-300);border-radius:var(--radius-md);transition:var(--transition);background-color:#fff;outline:none;width:fit-content;padding:.625rem .75rem;font-size:.875rem}select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}label{color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}input[type=text],input[type=email],input[type=tel]{color:#333;background-color:#fdfdfd;border:1.5px solid #d1d5db;border-radius:6px;width:100%;padding:12px 14px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus{border-color:var(--primary);outline:none}input[type=text]::placeholder,input[type=email]::placeholder,input[type=tel]::placeholder{color:#999}.flex{align-items:center;gap:.5rem;display:flex}.search-container{justify-content:center;align-items:center;width:fit-content;max-width:30rem;margin-bottom:.5rem;padding:.5rem;display:flex;position:relative}.search-icon{color:var(--gray-500)}.search-input{border-radius:var(--radius-lg);border:1px solid var(--gray-300);width:100%;max-width:360px;transition:var(--transition);background-color:#fff;font-size:.875rem;padding:.75rem 1rem .75rem 2.5rem!important}.search-input:focus{border-color:var(--primary);box-shadow:none!important}.sidebar-overlay{z-index:200;will-change:opacity;backface-visibility:hidden;background-color:#0009;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0;transform:translateZ(0)}@media (width<=768px){.sidebar-overlay{z-index:200}}.sales-table{border-collapse:collapse;width:100%}.sales-table th,.sales-table td{text-align:left;border-bottom:1px solid var(--gray-200);padding:.5rem}.sales-table th{background:var(--gray-100);color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.table-row{transition:var(--transition)}.table-row:hover{background:var(--gray-50)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;background:#00000080;justify-content:right;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop-hitarea{cursor:default;z-index:0;background:0 0;border:none;margin:0;padding:0;position:absolute;inset:0}.modal-backdrop>:not(.modal-backdrop-hitarea){z-index:1;position:relative}.modal-header{color:#000;background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h4{color:#000!important}.modal-title-icon{color:var(--primary);flex-shrink:0}.modal-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:.5rem;font-size:1.5rem;transition:all .2s;display:flex}.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{justify-content:right;gap:1rem;padding:1rem;display:flex}.modal-buttons,.modal-footer{border-top:1px solid var(--gray-200);background:var(--gray-50);border-radius:0 0 12px 12px;flex-shrink:0;justify-content:flex-end;gap:.75rem;margin-bottom:5rem;padding:1.25rem 1.5rem;display:flex}.sidebar-modal-content{z-index:100;will-change:transform;backface-visibility:hidden;-webkit-font-smoothing:antialiased;background:#fff;flex-direction:column;width:100%;min-width:500px;max-width:55vw;height:100vh;display:flex;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:-4px 0 20px #00000026}@media (width<=768px){.sidebar-modal-content{z-index:30}}.sidebar-modal-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.sidebar-modal-actions{align-items:center;gap:12px;display:flex}.sidebar-modal-title h3{color:#111827;margin:0;font-size:1.25rem;font-weight:600}.sidebar-modal-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.sidebar-modal-close:hover{color:#374151;background:#f3f4f6;transform:scale(1.05)}.sidebar-modal-close .close-icon{transition:transform .2s}.sidebar-modal-close:hover .close-icon{transform:scale(1.1)}.btn-edit-header{color:#6b7280;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;height:40px;padding:.5rem;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.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{color:#6b7280;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.btn-back-header:hover{color:#374151;background-color:#f9fafb;border-color:#9ca3af;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{-webkit-overflow-scrolling:touch;contain:layout style paint;background:#fff;flex-direction:column;flex:1;padding:1rem;display:flex;overflow:hidden}@media (width<=768px){.sidebar-modal-content{width:100vw;max-width:100vw;min-width:unset}.modal-backdrop{padding:0}.modal-backdrop .modal-title{color:#000!important}.sidebar-modal-header{padding:1rem 1.5rem}.sidebar-modal-body{padding:0}}.sidebar-content{flex-direction:column;flex:1;gap:0;min-height:0;padding-right:.5rem;display:flex;overflow-y:auto}.modal-confirm-header{border-bottom:1px solid var(--gray-200);background:#fff;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;display:flex}.modal-confirm-header-start{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.modal-confirm-header-start .modal-confirm-title{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.modal-confirm-footer{justify-content:right;gap:1rem;margin-left:auto;padding:1rem;display:flex}.btn-cancel,.btn-save,.btn-confirm{border-radius:var(--radius-lg);transition:var(--transition);align-items:center;gap:.5rem;width:fit-content;max-width:fit-content;padding:.75rem 1.25rem;font-weight:600;display:flex}.view-toggle{border-radius:var(--radius-lg);color:var(--gray-700);cursor:pointer;transition:var(--transition);background-color:#fff;border:1px solid #dcdcdc;margin-left:auto;padding:.625rem 1rem;font-size:.875rem}.view-toggle-label{color:#fff}.btn-cancel,.close-btn{border:1px solid var(--gray-300);width:fit-content;color:var(--gray-700);background:#fff;border-radius:10px;align-items:center;gap:.1rem;padding:1rem;display:flex}.btn-cancel:hover,.close-btn:hover{background:var(--gray-100);border-color:var(--gray-400)}.btn-save,.btn-confirm,.finalize-btn{color:#fff;box-shadow:var(--shadow-md);border:none;background:var(--primary)!important}.btn-save:hover,.btn-confirm:hover,.finalize-btn:hover{background:var(--primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-cancel{color:#fff;background:#b91c1c;width:fit-content}.finalize-btn{background-color:var(--success)}.button-icon{font-size:1.125rem}.disabled{background:gray}.disabled:hover{cursor:not-allowed;background:gray}.header-buttons{flex-wrap:wrap;gap:1rem;display:flex}.filters-container{border-radius:10px;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex;justify-content:left!important}.actions-container{flex-wrap:wrap;gap:1rem;display:flex}.form-group{flex-direction:column;width:100%;max-width:480px;margin-bottom:1rem;display:flex}.form-input,.form-select{border:1px solid var(--gray-300);border-radius:var(--radius-md);transition:var(--transition);background-color:#fff;padding:.625rem .75rem;font-size:.875rem;width:100%!important;max-width:380px!important}.form-input:focus,.form-select:focus{border-color:var(--primary)}.date-input,.time-input{border:1px solid var(--gray-300);border-radius:var(--radius-md);width:100%;color:var(--gray-800);transition:var(--transition);background-color:#fff;padding:.75rem;font-size:.875rem}.date-input:focus,.time-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.reservations-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.reservations-title{color:var(--gray-900);margin-bottom:.5rem;font-size:1.75rem;font-weight:700;position:relative}.reservations-title:after{content:"";background-color:var(--primary);border-radius:var(--radius);width:3rem;height:.25rem;position:absolute;bottom:-.5rem;left:0}.btn-new-sale,.btn-new-bill,.btn-new-reservation,.btn-generate-report{background-color:var(--primary);color:#fff;border-radius:var(--radius-lg);width:fit-content;box-shadow:var(--shadow-md);border:none;align-items:center;gap:.5rem;height:fit-content;padding:.75rem 1.25rem;font-size:.8rem;font-weight:600;transition:all .3s;display:flex}.btn-new-sale:hover,.btn-new-bill:hover,.btn-new-reservation:hover,.btn-generate-report:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-new-sale:active,.btn-new-bill:active,.btn-new-reservation:active,.btn-generate-report:active{transform:translateY(0)}.estado-badge{border-radius:var(--radius-full);text-transform:uppercase;align-items:center;padding:0;font-size:.75rem;font-weight:700;display:inline-flex}.estado-in_progress{background-color:var(--primary-light);color:var(--primary)}.estado-scheduled{background-color:var(--warning-light);color:var(--warning)}.stage-badge{border-radius:var(--radius-full);text-transform:uppercase;align-items:center;margin-left:.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:700;display:inline-flex}.stage-group{color:#0f4c81;background-color:#e3f2fd}.stage-elimination{color:#9a3412;background-color:#fff3e0}.stage-finished{color:#1b5e20;background-color:#e8f5e9}.modal-confirm-body{padding:0 1rem}@media screen and (width<=768px){.add-payment-inputs{grid-template-columns:1fr}}@media screen and (width<=640px){.reservations-header{flex-direction:column;align-items:flex-start}}@media screen and (width<=768px){.sales-table{min-width:600px;font-size:.8rem}.sales-table th,.sales-table td{white-space:nowrap;padding:.5rem .3rem}.sales-table th{font-size:.7rem}}@media screen and (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 (width<=640px){.sales-table{border:0;width:100%;font-size:.9rem;min-width:0!important}.sales-table thead{display:none}.sales-table tbody,.sales-table tr,.sales-table td,.sales-table th{display:block}.sales-table tr{border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#fff;margin-bottom:1rem;overflow:hidden}.sales-table td{border:none;border-bottom:1px solid var(--gray-100);white-space:normal;word-break:break-word;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.sales-table td:last-child{border-bottom:none}.sales-table td:before{color:var(--gray-600);flex:0 0 45%;max-width:55%;font-weight:700}.tabs{-webkit-overflow-scrolling:touch;gap:.5rem;overflow-x:auto}.tab{white-space:nowrap;padding:.5rem .75rem;font-size:.875rem}}@media (width<=768px){.form-row{grid-template-columns:1fr;gap:0}.form-row .form-group{margin-bottom:0}.detail-field{flex-direction:column;gap:.25rem}.detail-field label{min-width:auto}.submit-btn{justify-content:center;width:100%}}@media (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:1rem;animation:.4s fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}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-offset:2px;outline:2px solid #fff}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{justify-content:space-between;align-items:flex-start;padding-bottom:1rem;display:flex}.section-title{color:var(--gray-700);border-bottom:1px solid var(--gray-200);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:600}.form-actions{border-top:1px solid var(--gray-200);justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:2rem;display:flex}.custom-prizes-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.custom-prizes-header h4{color:var(--gray-700);margin:0;font-size:1rem;font-weight:600}.dashboard-container{background-image:var(--dashboard-bg);width:100%;color:var(--foreground);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;flex-direction:column;margin:0;display:flex;position:relative;overflow-y:auto;height:100%!important}.dashboard-container:before{content:"";background:var(--dashboard-bg);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:var(--z-content);position:absolute;inset:0}.dashboard-container>*{z-index:2;position:relative}.dashboard-title{color:var(--gray-800);font-size:1.5rem;font-weight:600;position:relative}.dashboard-title:after{content:"";background-color:var(--primary);border-radius:var(--radius);width:3rem;height:.25rem;position:absolute;bottom:-.5rem;left:0}.dashboard-actions{flex-wrap:wrap;gap:1rem;display:flex}.metrics-grid{flex-wrap:wrap;flex-shrink:0;gap:1rem;display:flex}@media (width<=768px){.metrics-grid{width:100%;min-width:0}.metrics-grid .dashboard-card{flex:100%;min-width:0;width:100%!important;max-width:100%!important}}.metrics-content{flex-wrap:wrap;justify-content:space-between;gap:1rem;width:100%;min-width:0;display:flex}@media (width<=1023px){.metrics-content{grid-template-columns:minmax(0,1fr);place-content:start stretch;display:grid}.metrics-content .dashboard-card{min-width:0;width:100%!important;max-width:100%!important}}@media (width>=1024px){.metrics-content{flex-wrap:wrap;justify-content:flex-start;display:flex}}.toggle-container{flex-wrap:wrap;flex-shrink:0;gap:.5rem;margin-bottom:1rem;display:flex}.toggle-button{border:1px solid var(--border);width:fit-content;min-width:fit-content;color:var(--gray-700);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);background:#fff;align-items:center;gap:.5rem;margin:0;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.toggle-button.selected{color:var(--primary-foreground);border-color:var(--primary);padding:.5rem 1rem;background:var(--primary)!important}.toggle-button.selected:hover{background:var(--primary-dark)}.tooltip{display:inline-block;position:relative}.tooltip .tooltip-content{visibility:hidden;opacity:0;z-index:100;background:var(--gray-900);color:#fff;border-radius:var(--radius-md);white-space:nowrap;box-shadow:var(--shadow-lg);padding:.5rem .75rem;font-size:.875rem;transition:all .3s;position:absolute;bottom:125%;left:50%;transform:translate(-50%)}.tooltip .tooltip-content:after{content:"";border:5px solid #0000;border-top-color:var(--gray-900);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip:hover .tooltip-content{visibility:visible;opacity:1}.dashboard-loading{min-height:200px;color:var(--gray-500);justify-content:center;align-items:center;display:flex}.dashboard-loading .spinner{border:3px solid var(--gray-200);border-top:3px solid var(--primary);border-radius:50%;width:2rem;height:2rem;margin-right:1rem;animation:1s linear infinite spin}.dashboard-error{min-height:200px;color:var(--danger);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.dashboard-error .error-icon{opacity:.7;margin-bottom:1rem;font-size:3rem}.dashboard-error .dashboard-error .retry-button{background:var(--danger);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;padding:.5rem 1rem;font-size:.875rem}.dashboard-error .retry-button:hover{background:var(--danger-dark)}@media (width<=768px){.dashboard-title{font-size:1.5rem}.dashboard-actions{justify-content:flex-start;width:100%}.toggle-container,.toggle-button{justify-content:center}}@media (width<=480px){.dashboard-title{font-size:1.25rem}}.tutor-toggle-section{border-bottom:1px solid var(--gray-200);background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);margin:-1px -1px 0;padding:1rem 1.5rem}.tutor-toggle-label{cursor:pointer;color:var(--gray-700);align-items:center;gap:1rem;font-weight:500;display:flex}.tutor-toggle-input{display:none}.tutor-toggle-switch{background-color:var(--gray-300);width:52px;height:28px;transition:var(--transition);border-radius:50px;flex-shrink:0;position:relative}.tutor-toggle-switch:before{content:"";width:24px;height:24px;transition:var(--transition);background-color:#fff;border-radius:50%;position:absolute;top:2px;left:2px;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{align-items:center;gap:.5rem;font-size:.95rem;display:flex}.tutor-toggle-icon{color:var(--primary-color);font-size:1.1rem}.tutor-section{border-radius:var(--radius-lg);background-color:#fefefe;border:1px solid #e1f5fe;margin-bottom:1rem}.tutor-section .section-header{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 100%);border-bottom:1px solid #90caf9;margin:-1px -1px 0;padding:1rem}.tutor-section .section-header h4{color:var(--gray-800);align-items:center;gap:.5rem;margin:0;font-weight:600;display:flex}.section-icon{color:#1976d2;font-size:1.1rem}.tutor-search-container{position:relative}.tutor-search-input{padding-right:3rem}.search-loading{position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.spinner-small{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-right:.5rem;animation:.8s linear infinite spin;display:inline-block}.btn-spinner{box-sizing:border-box;border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:16px;height:16px;margin:0;animation:.8s linear infinite spin;display:block}.btn-loading-content{vertical-align:middle;justify-content:center;align-items:center;gap:.5rem;line-height:1;display:inline-flex}.btn-loading-content .btn-spinner{flex-shrink:0;align-self:center;margin:0}.tutors-list{border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;max-height:200px;margin-top:.5rem;overflow-y:auto;box-shadow:0 4px 6px #0000000d}.tutor-item{cursor:pointer;transition:var(--transition);border-bottom:1px solid var(--gray-100);align-items:center;gap:.75rem;padding:1rem;display:flex}.tutor-item:last-child{border-bottom:none}.tutor-item:hover{background-color:var(--gray-50)}.tutor-item-icon{color:var(--primary-color);flex-shrink:0;font-size:1.25rem}.tutor-item-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.tutor-item-name{color:var(--gray-900);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.tutor-item-contact{color:var(--gray-600);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.btn-add-tutor{border:1px dashed var(--success-color);border-radius:var(--radius-md);width:100%;color:var(--success-color);cursor:pointer;transition:var(--transition);background:linear-gradient(135deg,#e8f5e8 0%,#c8e6c8 100%);align-items:center;gap:.5rem;margin-top:.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;display:flex}.btn-add-tutor:hover{color:#1b5e20;background:linear-gradient(135deg,#d4f4d4 0%,#a8d8a8 100%);border-color:#2e7d32}.btn-icon{font-size:1rem}.selected-tutor{border:1px solid var(--success-color);border-radius:var(--radius-md);background:linear-gradient(135deg,#e8f5e8 0%,#c8e6c8 100%);align-items:center;gap:.75rem;margin-top:.5rem;padding:1rem;display:flex;position:relative}.selected-tutor-icon{color:var(--success-color);flex-shrink:0;font-size:1.25rem}.selected-tutor-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.selected-tutor-name{color:var(--gray-900);font-weight:600}.selected-tutor-contact{color:var(--gray-700);font-size:.85rem}.btn-remove-tutor{color:#450a0a;cursor:pointer;width:24px;height:24px;transition:var(--transition);background:#fee2e2;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:.5rem;right:.5rem}.btn-remove-tutor:hover{color:#fff;background:#b91c1c}.tutor-form{border-radius:var(--radius-md);background:linear-gradient(135deg,#fff3e0 0%,#ffe0b2 100%);border:1px solid #ffb74d;margin-top:1rem;padding:1rem}.tutor-form-header{border-bottom:1px solid #ffb74d4d;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.tutor-form-header h5{color:var(--gray-800);flex:1;align-items:center;gap:.5rem;margin:0;font-weight:600;display:flex}.btn-close-tutor-form{color:#450a0a;cursor:pointer;width:28px;height:28px;transition:var(--transition);background:#fee2e2;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.btn-close-tutor-form:hover{color:#fff;background:#b91c1c}.disabled-input{opacity:.8;background-color:var(--gray-100)!important;color:var(--gray-600)!important;cursor:not-allowed!important}@media (width<=640px){.tutor-toggle-section{padding:.75rem 1rem}.tutor-toggle-label{gap:.75rem;font-size:.9rem}.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{gap:.5rem;padding:.75rem}.tutor-form,.selected-tutor{padding:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){:root{--primary:#2d7a26;--danger:#c53030;--success:#047857;--warning:#d97706;--info:#1d4ed8}}.stat-value{margin-bottom:.125rem;font-size:1rem;font-weight:700;line-height:1}.stat-value.primary{color:#3b82f6}.stat-value.success{color:#10b981}.stat-value.warning{color:#f59e0b}@media (width<=768px){.stat-value{font-size:.9rem}}@media (width<=480px){.stat-value{font-size:.8rem}}.stat-label{color:#666;text-transform:uppercase;letter-spacing:.025em;font-size:.625rem;line-height:1.1}@media (width<=480px){.stat-label{font-size:.55rem}}:is(.data-table-container,.tournaments-list-table-wrap,.tournaments-table-container,.skeleton-table-wrapper:not(:has(.tournaments-list-table-wrap))){border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);box-sizing:border-box;background:#fff;width:100%;max-width:100%;overflow:hidden}.data-table-container{z-index:0;padding:0;position:relative}.skeleton-table-wrapper:not(:has(.tournaments-list-table-wrap)){overflow-x:auto}.skeleton-table-wrapper:has(>.tournaments-list-table-wrap){box-shadow:none;background:0 0;border:none;overflow:visible}.data-table-card{box-sizing:border-box;width:100%}.table-wrapper{box-sizing:border-box;width:100%;max-width:100%;margin:0;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:800px;z-index:var(--z-content);font-size:.9rem;position:relative;overflow:hidden}.data-table thead th{background-color:var(--gray-50);color:var(--gray-700);text-align:left;border-bottom:2px solid var(--gray-200);text-transform:uppercase;letter-spacing:.5px;z-index:10;padding:1rem .75rem;font-size:.85rem;font-weight:600;position:sticky;top:0}.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{opacity:.5;transition:var(--transition);margin-left:.5rem}.data-table thead th.sortable:hover .sort-icon{opacity:1;color:var(--primary)}.data-table tbody td{border-bottom:1px solid var(--gray-200);vertical-align:top;padding:1rem .75rem}.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-table tbody tr.table-row--torneo{background-color:#c4b5fd!important}.data-table tbody tr.table-row--torneo:hover{background-color:#a78bfa!important}.data-name{min-width:200px}.data-name-content{flex-direction:column;gap:.25rem;display:flex}.data-name-content .name{color:var(--gray-800);font-size:.95rem;font-weight:600}.data-name-content .location{color:var(--gray-500);font-size:.8rem;font-style:italic}.data-dates{min-width:150px}.dates-content{color:var(--gray-700);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.data-type{min-width:120px}.type-content{color:var(--gray-700);text-align:center;white-space:normal;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;justify-content:center;align-items:center;gap:.5rem;width:auto;min-width:9rem;max-width:16rem;font-size:.85rem;line-height:1.35;display:flex;overflow:visible}.data-category{min-width:120px}.category-content{color:var(--gray-700);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.data-price{min-width:80px;color:var(--primary);text-align:center;font-weight:600}.data-teams{min-width:120px}.teams-content{color:var(--gray-700);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.data-status{min-width:140px}.data-actions{text-align:center}.data-image{text-align:center;width:60px;padding:.5rem}.image-indicator{justify-content:center;align-items:center;display:flex}.image-preview-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.2rem;transition:background-color .2s}.image-preview-btn:hover{background-color:#f3f4f6}.no-image{color:#9ca3af;font-style:italic}.table-pagination{background-color:var(--gray-50);border-top:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.pagination-left{align-items:center;gap:.75rem;display:flex}.rows-label{color:var(--gray-600);font-size:.85rem}.rows-select{border:1px solid var(--gray-300);border-radius:var(--radius-md);color:var(--gray-700);background:#fff;padding:.375rem .5rem;font-size:.85rem}.pagination-center{align-items:center;display:flex}.results-info{color:var(--gray-600);font-size:.85rem}.pagination-right{gap:.5rem;display:flex}.pagination-arrow{border:1px solid var(--gray-300);width:32px;height:32px;color:var(--gray-600);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);background:#fff;justify-content:center;align-items:center;font-size:.9rem;display:flex}@media (width<=768px){.data-table{min-width:600px;font-size:.8rem}.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{text-align:center;flex-direction:column;gap:1rem}.pagination-left,.pagination-right{justify-content:center}}.view-toggle-btn{width:40px;height:40px;color:var(--gray-500);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;font-size:1rem;display:flex}.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:1rem;display:none}@media (width<=768px){.clients-cards-container{display:block}}.clients-cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;animation:.4s fadeIn;display:grid}.client-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:var(--transition);background-color:#fff;border:1px solid #0000;max-width:768px;height:fit-content;max-height:360px;display:grid;overflow:hidden}.client-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-3px)}.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{border-bottom:1px solid var(--gray-200);align-items:center;gap:1rem;padding:1rem;display:flex}.client-avatar{background-color:var(--primary-light);width:48px;height:48px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.client-info{flex:1}.client-name{color:var(--gray-800);margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.client-alias{color:var(--gray-500);margin:0;font-size:.9rem;font-style:italic}.client-status{flex-shrink:0}.client-card-body{padding:1rem}.client-details{flex-wrap:wrap;gap:.75rem;display:flex}.client-card-footer{border-top:1px solid var(--gray-200);background-color:var(--gray-50);margin-top:auto;padding:1rem 1.5rem}.client-actions{justify-content:flex-end;gap:.5rem;display:flex}@media (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}}.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;color:var(--gray-500);padding:1rem;font-style:italic}.pagination-btn{border:1px solid var(--gray-300);color:var(--gray-700);border-radius:var(--radius-lg);cursor:pointer;background-color:#fff;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;transition:all .2s;display:flex}.pagination-btn:hover:not(:disabled){background-color:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.pagination-btn:disabled{background-color:var(--gray-100);color:var(--gray-400);border-color:var(--gray-200);cursor:not-allowed;opacity:.5}.pagination-info{color:var(--gray-700);padding:0 .5rem;font-size:.95rem;font-weight:600}.cards-view-container{width:100%;max-width:100%}@media screen and (width<=640px){.pagination-btn{justify-content:center;width:100%;padding:.75rem}.pagination-info{text-align:center;order:-1}}@media (width<=768px){.cards-view-container{display:block}}@media (width>=769px){.cards-view-container{display:block}}.action-buttons{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;display:flex}.products_button-filter{margin-bottom:1rem}.action-button{width:32px;height:32px;color:var(--gray-500);cursor:pointer;transition:var(--transition);background-color:#dcdcdc;border:none;border-radius:5px;justify-content:center;align-items:center;padding:.5rem;font-size:.9rem;display:flex}.action-button:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.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 (width<=768px){.action-button{width:32px;height:32px;font-size:.8rem}.action-buttons{gap:.25rem}}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.5rem;padding:0;animation:.4s fadeIn;display:grid}@media (width<=768px){.card-grid{grid-template-columns:1fr;gap:.5rem}}.card{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:var(--transition);background-color:#fff;border:1px solid #dcdcdc;flex-direction:column;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-3px)}.card-header{border-bottom:1px solid var(--gray-200);padding:1rem}.card-header h3{color:var(--gray-800);margin-top:.5rem;font-size:1.2rem}.card-body{flex:1;padding:1rem}.card-info{flex-direction:column;gap:.5rem;display:flex}.card-info p{color:var(--gray-600);align-items:center;gap:.5rem;margin:0;font-size:.9rem;display:flex}.card-footer{border-top:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:1rem;display:flex}.card-actions{justify-content:right;gap:.5rem;margin-left:auto;display:flex}.btn-icon-card{border:1px solid var(--gray-300);width:36px;height:36px;color:var(--gray-500);transition:var(--transition);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex}.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:0 0;padding:0}.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:0 0}.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:0 0}.btn-icon-card.btn-secondary:hover{background-color:var(--gray-600);color:#fff}.btn-view-details{background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius-lg);color:var(--primary);transition:var(--transition);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;display:flex}.btn-view-details:hover{background-color:var(--primary);color:#fff}.skeleton-loader{width:100%;padding:1rem}.skeleton-header{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 1rem;display:flex}.skeleton-title{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius-md);background-size:200% 100%;width:200px;height:2rem;animation:1.5s infinite skeleton-loading}.skeleton-actions{gap:.5rem;display:flex}.skeleton-button{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius-lg);background-size:200% 100%;width:100px;height:2.5rem;animation:1.5s infinite skeleton-loading}.skeleton-cards-container{width:100%}.skeleton-cards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;padding:0 1rem;display:grid}.skeleton-client-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#fff;padding:1rem;animation:.3s fadeIn}.skeleton-card-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.skeleton-avatar{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);background-size:200% 100%;border-radius:50%;width:48px;height:48px;animation:1.5s infinite skeleton-loading}.skeleton-info{flex:1}.skeleton-name{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius-sm);background-size:200% 100%;width:120px;height:1.25rem;margin-bottom:.5rem;animation:1.5s infinite skeleton-loading}.skeleton-alias{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius-sm);background-size:200% 100%;width:80px;height:1rem;animation:1.5s infinite skeleton-loading}.skeleton-status{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius-full);background-size:200% 100%;width:80px;height:24px;animation:1.5s infinite skeleton-loading}.skeleton-card-body{margin-bottom:1rem}.skeleton-details{flex-direction:column;gap:.5rem;display:flex}.skeleton-detail-item{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius-sm);background-size:200% 100%;width:100%;height:1rem;animation:1.5s infinite skeleton-loading}.skeleton-detail-item:first-child{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{justify-content:flex-end;gap:.5rem;display:flex}.skeleton-card-actions{gap:.5rem;display:flex}.skeleton-action-btn{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);background-size:200% 100%;border-radius:50%;width:32px;height:32px;animation:1.5s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@media (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{border-collapse:collapse;width:100%;min-width:800px;font-size:.9rem;overflow:hidden}.data-table-container .skeleton-table thead th{background-color:var(--gray-50);color:var(--gray-700);text-align:left;border-bottom:2px solid var(--gray-200);text-transform:uppercase;letter-spacing:.5px;z-index:10;padding:1rem .75rem;font-size:.85rem;font-weight:600;position:sticky;top:0}.data-table-container .skeleton-table tbody td{border-bottom:1px solid var(--gray-200);vertical-align:top;padding:1rem .75rem}.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{border-radius:var(--radius-full);width:60px;height:1.5rem}.data-table-container .data-actions .action-buttons .skeleton-cell.actions{gap:.5rem;width:120px;display:flex}.data-table-container .data-actions .action-buttons .skeleton-cell.actions:before,.data-table-container .data-actions .action-buttons .skeleton-cell.actions:after{content:"";background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);background-size:200% 100%;border-radius:50%;flex:0 0 32px;height:32px;animation:1.5s infinite skeleton-loading}.table-pagination .skeleton-pagination-info{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius-sm);background-size:200% 100%;width:150px;height:1rem;animation:1.5s infinite skeleton-loading}.table-pagination .skeleton-pagination-btn{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius-md);background-size:200% 100%;width:32px;height:32px;animation:1.5s infinite skeleton-loading}@media (width<=768px){.data-table-container .skeleton-table{min-width:600px;font-size:.8rem}.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{text-align:center;flex-direction:column;gap:1rem}.pagination-right{justify-content:center}}.modal-overlay{z-index:100;background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{z-index:10;background:#fff;flex-direction:column;width:65vw;height:100vh;max-height:100vh;animation:.3s ease-out slideUp;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:1rem;display:flex}.modal-title{color:#111827;align-items:center;gap:.75rem;margin:0;font-size:1.25rem;font-weight:600;display:flex}.modal-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 12px 12px;justify-content:flex-end;gap:.75rem;padding:1rem;display:flex}.modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.modal-close:hover{color:#374151;background-color:#f3f4f6}.spinner{border:2px solid #0000001a;border-top-color:currentColor;border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin;display:inline-block}.spinner-icon{border:3px solid #0000001a;border-top-color:currentColor;border-radius:50%;width:1.5rem;height:1.5rem;animation:.8s linear infinite spin}.status-badge{text-transform:capitalize;white-space:nowrap;text-wrap:wrap;border-radius:20px;align-items:center;max-width:120px;padding:.375rem .75rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex;width:fit-content!important}.status-badge.status-open,.status-badge.status-pending{color:#92400e;background-color:#fef3c7}.status-badge.status-closed,.status-badge.status-completed{color:#065f46;background-color:#d1fae5}.status-badge.status-cancelled,.status-badge.status-rejected{color:#991b1b;background-color:#fee2e2}.status-badge.status-active{color:#1e40af;background-color:#dbeafe}.status-badge.status-inactive{color:#6b7280;background-color:#f3f4f6}.btn-secondary{color:#fff;cursor:pointer;background-color:#6b7280;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-secondary:hover{background-color:#4b5563}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.form-group{flex-direction:column;gap:.5rem;display:flex;position:relative}.form-group label{color:#374151;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.filters-container{background-color:#f9fafb;border-radius:8px;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:0;display:flex}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.empty-state{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.empty-state svg{opacity:.5;width:4rem;height:4rem;margin-bottom:1rem}.empty-state h3{color:#374151;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.empty-state p{color:#6b7280;font-size:.875rem}.error-message{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.skeleton-card-header{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%) 0 0/200% 100%;border-radius:4px;height:1.5rem;margin-bottom:.75rem;animation:1.5s ease-in-out infinite loading}.skeleton-title{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%) 0 0/200% 100%;border-radius:4px;height:1rem;animation:1.5s ease-in-out infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=768px){.modal-content{width:100vw;max-height:100vh;max-width:100vw!important}.modal-header,.modal-body,.modal-footer{padding:1rem}.form-row{grid-template-columns:1fr}.dashboard-header{flex-direction:column;align-items:flex-start}}:root{--primary:#059669;--primary-hover:#047857;--accent:#10b981;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--blue-400:#60a5fa;--blue-500:#3b82f6;--purple-400:#a78bfa;--purple-500:#8b5cf6;--orange-400:#fb923c;--orange-500:#f97316;--yellow-400:#facc15;--yellow-500:#eab308;--green-400:#4ade80;--green-500:#22c55e;--transition-fast:.2s ease;--transition-normal:.3s ease;--bg-main:#f8fafc;--bg-card:#fff;--bg-hover:#f1f5f9;--bg-input:#fff;--text-primary:#0f172a;--text-secondary:#64748b;--border-color:#e2e8f0;--shadow-color:#0000001a;--glass-bg:#fffc;--glass-border:#0000001a;--modal-overlay:#00000080}.admin-crm-container{background-color:var(--bg-main);color:var(--text-primary);min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);padding:24px;line-height:1.5}.animate-slide-in{animation:.3s ease-out slideIn}.animate-fade-in{animation:.3s ease-out fadeIn}.crm-page-header{margin-bottom:32px}.crm-page-header h2{color:var(--text-primary);margin-bottom:8px;font-size:32px;font-weight:700}.crm-page-header p{color:var(--text-secondary);font-size:14px}.crm-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px;display:grid}@media (width<=1400px){.crm-metrics-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.crm-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.crm-metrics-grid{grid-template-columns:1fr}}.gradient-border{background:var(--bg-card);border:1px solid var(--border-color);transition:all var(--transition-normal);border-radius:16px;padding:24px;position:relative}.gradient-border:hover{box-shadow:0 12px 24px var(--shadow-color);transform:translateY(-4px)}.gradient-border-content{z-index:1;flex-direction:column;gap:16px;display:flex;position:relative}.metric-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.metric-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.metric-icon.blue{background-color:#60a5fa1a}.metric-icon.purple{background-color:#a78bfa1a}.metric-icon.orange{background-color:#fb923c1a}.metric-icon.yellow{background-color:#facc151a}.metric-icon.green{background-color:#4ade801a}.metric-icon svg{width:24px;height:24px}.metric-icon.blue svg{color:var(--blue-400)}.metric-icon.purple svg{color:var(--purple-400)}.metric-icon.orange svg{color:var(--orange-400)}.metric-icon.yellow svg{color:var(--yellow-400)}.metric-icon.green svg{color:var(--green-400)}.status-indicator{border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse}.status-indicator.blue{background-color:var(--blue-400)}.status-indicator.purple{background-color:var(--purple-400)}.status-indicator.orange{background-color:var(--orange-400)}.status-indicator.yellow{background-color:var(--yellow-400)}.status-indicator.green{background-color:var(--green-400)}.metric-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:500}.metric-value{font-size:36px;font-weight:700}.metric-value.blue{color:var(--blue-400)}.metric-value.purple{color:var(--purple-400)}.metric-value.orange{color:var(--orange-400)}.metric-value.yellow{color:var(--yellow-400)}.metric-value.green{color:var(--green-400)}.activity-section{margin-bottom:32px}.activity-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.activity-header h3{font-size:20px;font-weight:600}.activity-header button{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px}.activity-header button:hover{background:var(--bg-hover)}.activity-feed{background:var(--bg-card);border-radius:12px;padding:24px}.activity-item{gap:16px;padding:12px 0;display:flex}.activity-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.activity-content{flex:1}.activity-content p{color:var(--text-primary)}.activity-content span{color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.activity-empty{color:var(--text-secondary);flex-direction:column;align-items:center;padding:48px 24px;display:flex}.activity-empty svg{width:48px;height:48px}.kanban-grid{grid-template-columns:repeat(5,1fr);gap:24px;display:grid}@media (width<=1400px){.kanban-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.kanban-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.kanban-grid{grid-template-columns:1fr}}.kanban-column{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;min-height:500px;padding:20px;display:flex}.column-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.column-title{align-items:center;gap:8px;display:flex}.column-dot{border-radius:50%;width:8px;height:8px}.column-dot.blue{background-color:var(--blue-400)}.column-dot.purple{background-color:var(--purple-400)}.column-dot.orange{background-color:var(--orange-400)}.column-dot.yellow{background-color:var(--yellow-400)}.column-dot.green{background-color:var(--green-400)}.column-title h3{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:600}.column-count{background:var(--bg-hover);border-radius:12px;padding:4px 8px;font-size:12px;font-weight:600}.column-count.blue{color:var(--blue-400);background-color:#60a5fa33}.column-count.purple{color:var(--purple-400);background-color:#a78bfa33}.column-count.orange{color:var(--orange-400);background-color:#fb923c33}.column-count.yellow{color:var(--yellow-400);background-color:#facc1533}.column-count.green{color:var(--green-400);background-color:#4ade8033}.column-cards{flex-direction:column;flex:1;gap:12px;min-height:200px;display:flex}.column-cards.drag-over{background:var(--bg-hover);border-radius:8px}.kanban-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:move;transition:all var(--transition-fast);border-left:3px solid;border-radius:8px;padding:16px}.kanban-card:hover{box-shadow:0 4px 8px var(--shadow-color);transform:translateY(-2px)}.kanban-card.dragging{opacity:.5;cursor:grabbing}.kanban-card.blue{border-left-color:var(--blue-400)}.kanban-card.purple{border-left-color:var(--purple-400)}.kanban-card.orange{border-left-color:var(--orange-400)}.kanban-card.yellow{border-left-color:var(--yellow-400)}.kanban-card.green{border-left-color:var(--green-400)}.kanban-card h4{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:600}.kanban-card .company{color:var(--text-secondary);margin-bottom:12px;font-size:12px}.kanban-card-footer{justify-content:space-between;align-items:center;display:flex}.card-seller{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.card-seller svg{width:14px;height:14px}.card-comments{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;display:flex}.card-comments svg{width:14px;height:14px}.table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.leads-table{border-collapse:collapse;width:100%}.leads-table thead tr{background:var(--bg-hover)}.leads-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:16px;font-size:12px;font-weight:600}.leads-table tbody tr{border-bottom:1px solid var(--border-color);transition:background var(--transition-fast)}.leads-table tbody tr:hover{background:var(--bg-hover)}.leads-table td{color:var(--text-primary);padding:16px}.leads-table .client-name{font-weight:600}.leads-table .text-muted{color:var(--text-secondary)}.leads-table .view-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:6px;padding:8px 16px}.leads-table .view-btn:hover{background:var(--bg-hover);border-color:var(--primary)}.leads-table .view-btn svg{width:16px;height:16px}.status-badge{border-radius:12px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-badge.blue{color:var(--blue-400);background-color:#60a5fa33}.status-badge.purple{color:var(--purple-400);background-color:#a78bfa33}.status-badge.orange{color:var(--orange-400);background-color:#fb923c33}.status-badge.yellow{color:var(--yellow-400);background-color:#facc1533}.status-badge.green{color:var(--green-400);background-color:#4ade8033}.empty-state{flex-direction:column;align-items:center;padding:48px;display:flex}.empty-state svg{width:64px;height:64px;color:var(--text-secondary);margin-bottom:16px}.modal-overlay{background:var(--modal-overlay);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);width:100%;max-width:500px;max-height:90vh;box-shadow:0 20px 25px -5px var(--shadow-color);border-radius:16px;animation:.3s ease-out slideIn;overflow:auto}.modal-lg{max-width:800px}.modal-header h2{font-size:20px;font-weight:600}.modal-close{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.modal-close:hover{background:var(--bg-hover)}.modal-close svg{width:20px;height:20px}.modal-body{padding:24px}@media (width<=600px){.form-grid{grid-template-columns:1fr}}.form-grid .full-width{grid-column:1/-1}.form-group label{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-input{background:var(--bg-input);border:1px solid var(--border-color);width:100%;color:var(--text-primary);transition:all var(--transition-fast);border-radius:8px;padding:10px 12px;font-size:14px}.form-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0596691a}.form-actions{justify-content:flex-end;gap:12px;display:flex}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500}.btn-secondary:hover{background:var(--bg-hover)}.btn-submit{background:linear-gradient(135deg, var(--primary), var(--accent));color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0596694d}.detail-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=600px){.detail-grid{grid-template-columns:1fr}}.detail-item label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.detail-item p{color:var(--text-primary)}.comments-section{border-top:1px solid var(--border-color);margin-top:24px;padding-top:24px}.comments-header{align-items:center;gap:8px;margin-bottom:16px;display:flex}.comments-header svg{width:20px;height:20px}.comments-header h3{font-size:16px;font-weight:600}.comments-list{flex-direction:column;gap:12px;max-height:300px;margin-bottom:16px;padding-right:8px;display:flex;overflow-y:auto}.comment-item{background:var(--bg-hover);border-radius:8px;padding:12px}.comment-item p{color:var(--text-primary);margin-bottom:4px}.comment-item span{color:var(--text-secondary);font-size:12px}.comment-empty{text-align:center;color:var(--text-secondary);padding:24px;font-size:14px}.comment-form{gap:8px;display:flex}.comment-form input{flex:1}.btn-icon{background:linear-gradient(135deg, var(--primary), var(--accent));color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.btn-icon:hover{transform:translateY(-2px)}.btn-icon svg{width:20px;height:20px}.crm-nav-tabs{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;gap:8px;margin-bottom:24px;padding:8px;display:flex}.crm-nav-tab{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;flex:1;padding:12px 24px;font-size:14px;font-weight:500}.crm-nav-tab:hover{background:var(--bg-hover)}.crm-nav-tab.active{background:linear-gradient(135deg, var(--primary), var(--accent));color:#fff}.btn-primary-crm{background:linear-gradient(135deg, var(--primary), var(--accent));color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;display:flex}.btn-primary-crm:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0596694d}.btn-primary-crm svg{width:20px;height:20px}.not-found-page{background-color:#f5f5f5;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.not-found-card{text-align:center;background-color:#fff;border-radius:12px;width:100%;max-width:600px;padding:40px;box-shadow:0 4px 6px #0000001a}.not-found-code{color:#1976d2;margin-bottom:10px;font-size:120px;font-weight:700;line-height:1}.not-found-title{color:#1a1a1a;margin-bottom:12px;font-size:28px;font-weight:600}.not-found-message{color:#666;margin-bottom:30px;font-size:16px;line-height:1.5}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.not-found-btn{cursor:pointer;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:500;transition:all .2s}.not-found-btn--outline{color:#1976d2;background-color:#fff;border:2px solid #1976d2}.not-found-btn--outline:hover,.not-found-btn--outline:focus{background-color:#f5f5f5}.not-found-btn--primary{color:#fff;background-color:#1976d2;border:none;transition:background-color .2s}.not-found-btn--primary:hover,.not-found-btn--primary:focus{background-color:#1565c0}.not-found-footer{border-top:1px solid #e0e0e0;margin-top:30px;padding-top:20px}.not-found-footer-text{color:#999;margin:0;font-size:14px}.login-page{--accent-primary:#059669;--accent-hover:#047857;--accent-light:#d1fae5;--accent-lighter:#ecfdf5;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-error:#dc2626;--text-success:#059669;--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--bg-error:#fef2f2;--bg-success:#ecfdf5;--border-light:#e5e7eb;--border-medium:#d1d5db;--border-focus:#059669;--border-error:#fca5a5;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--transition-fast:.15s ease;background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);min-height:100vh;color:var(--text-primary);justify-content:center;align-items:center;font-family:inherit;display:flex}.login-form-panel{justify-content:center;align-items:center;width:100%;padding:2rem;display:flex}.login-form-container{width:100%;max-width:420px}.login-page .login-brand{justify-content:center;align-items:center;margin-bottom:2rem;display:flex}.login-page .login-brand .logo-mark{flex-shrink:0;width:48px;height:48px;margin-right:-.55rem}.login-page .login-brand .logo-wordmark{letter-spacing:.001em;color:var(--accent-primary);white-space:nowrap;margin-top:.25rem;font-size:1.5rem;font-weight:700;line-height:2}.login-card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border-light);padding:2.5rem}.login-header{text-align:center;margin-bottom:1.5rem}.login-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--text-secondary);font-size:.925rem;line-height:1.5}.login-page .alert{border-radius:var(--radius-md);text-align:left;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:1rem;font-size:.875rem;line-height:1.5;display:flex}.login-page .alert svg{flex-shrink:0;width:20px;height:20px;margin-top:1px}.login-page .alert-error{background:var(--bg-error);color:var(--text-error);border:1px solid var(--border-error)}.login-page .alert-success{background:var(--bg-success);color:var(--text-success);border:1px solid var(--accent-light)}.login-form{flex-direction:column;gap:1rem;display:flex}.login-step-title{color:var(--text-primary);text-align:center;margin:0;font-size:1.2rem;font-weight:700}.login-step-description{color:var(--text-secondary);text-align:center;margin:0;font-size:.925rem;line-height:1.5}.form-group{margin-bottom:0}.form-forgot-row{justify-content:center;margin-top:.5rem;display:flex}.input-wrapper{position:relative}.input-leading-icon{width:18px;height:18px;color:var(--text-muted);pointer-events:none;z-index:1;flex-shrink:0;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.form-input{width:100%;height:48px;color:var(--text-primary);background:var(--bg-primary);border:1.5px solid var(--border-light);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none;padding:0 1rem;font-size:.95rem}.form-input.form-input-password{padding-left:2.75rem;padding-right:2.75rem}.form-input:not(.form-input-password){padding-left:2.75rem}.form-input:hover:not(:disabled){border-color:var(--border-medium)}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light)}.form-input.input-error{border-color:var(--text-error);background:var(--bg-error)}.form-input.input-error:focus{box-shadow:0 0 0 3px #fee2e2}.form-input:disabled{background:var(--bg-tertiary);cursor:not-allowed;opacity:.7}.input-toggle{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.input-toggle:hover:not(:disabled){color:var(--text-secondary);background:var(--bg-tertiary)}.input-toggle:focus{box-shadow:0 0 0 2px var(--accent-light);outline:none}.input-toggle:disabled{cursor:not-allowed;opacity:.5}.input-toggle svg{width:18px;height:18px;display:block}.field-error{color:var(--text-error);align-items:center;gap:.375rem;margin-top:.5rem;font-size:.8125rem;display:flex}.field-error svg{flex-shrink:0;width:14px;height:14px}.form-link{color:var(--accent-primary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0;font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none}.form-link:hover{color:var(--accent-hover);text-decoration:underline}.form-link:focus{outline:none;text-decoration:underline}.form-link:disabled{color:var(--text-muted);cursor:not-allowed;text-decoration:none}.login-page button.btn-submit,.login-page button.btn-submit:hover:not(:disabled),.login-page button.btn-submit:disabled,.login-page button.btn-submit.btn-submit--loading:disabled{background:var(--accent-primary)!important;color:#fff!important;border:none!important;padding:0 1rem!important}.login-page button.btn-submit.btn-submit--blocked,.login-page button.btn-submit.btn-submit--blocked:hover:not(:disabled),.login-page button.btn-submit.btn-submit--blocked:disabled{color:#64748b!important;box-shadow:none!important;opacity:1!important;background:#cbd5e1!important;transform:none!important}.login-page .btn-submit{white-space:nowrap;border-radius:var(--radius-md);cursor:pointer;width:100%;height:48px;min-height:48px;transition:background var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);flex-wrap:nowrap;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.95rem;font-weight:600;display:flex}.login-page .btn-submit:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px);background:var(--accent-hover)!important}.login-page .btn-submit:active:not(:disabled){transform:translateY(0)}.login-page .btn-submit:focus{box-shadow:0 0 0 3px var(--accent-light);outline:none}.login-page .btn-submit:disabled{opacity:.85;cursor:not-allowed;transform:none}.login-page .btn-submit.btn-submit--blocked:disabled{opacity:1}.login-page .btn-loading-content{justify-content:center;align-items:center;gap:.5rem;line-height:1;display:inline-flex}.login-page .btn-submit-label{line-height:1}.login-page .btn-submit-spinner{box-sizing:border-box;border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.8s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.activation-code-group{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.activation-code-inputs{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.activation-code-input{border:1.5px solid var(--border-light);border-radius:var(--radius-md);text-align:center;width:100%;height:52px;color:var(--text-primary);background:var(--bg-secondary);transition:all var(--transition-fast);font-size:1.1rem;font-weight:600}.activation-code-input:focus{border-color:var(--border-focus);background:var(--bg-primary);box-shadow:0 0 0 3px var(--accent-light);outline:none}.activation-code-input:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.activation-back-btn{color:var(--accent-primary);cursor:pointer;text-align:center;transition:color var(--transition-fast);background:0 0;border:none;padding:.5rem 0;font-size:.875rem;font-weight:500;text-decoration:underline}.activation-back-btn:hover:not(:disabled){color:var(--accent-hover)}.activation-back-btn:disabled{color:var(--text-muted);cursor:not-allowed;text-decoration:none}.club-cards{flex-direction:column;gap:12px;max-height:300px;padding-right:4px;display:flex;overflow-y:auto}.club-cards::-webkit-scrollbar{width:6px}.club-cards::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.club-cards::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.club-card{border:1.5px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--bg-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:16px;padding:16px;display:flex}.club-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.club-card:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light);outline:none}.club-card.selected{border-color:var(--accent-primary);background:var(--accent-lighter);box-shadow:var(--shadow-md)}.club-card input[type=radio]{width:18px;height:18px;accent-color:var(--accent-primary);flex-shrink:0;margin:0}.club-card-content{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.club-logo{border-radius:var(--radius-md);background-color:var(--bg-tertiary);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.club-logo img{object-fit:cover;width:100%;height:100%}.club-logo-placeholder{background:linear-gradient(135deg, var(--accent-primary), var(--accent-hover));color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.2rem;font-weight:700;display:flex}.club-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.club-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.club-address{color:var(--text-secondary);font-size:.8125rem;line-height:1.3}.turnstile-wrapper{justify-content:center;align-items:center;width:100%;min-height:65px;margin:.25rem 0;display:flex}.turnstile-wrapper>div{justify-content:center;width:100%;display:flex}.turnstile-wrapper iframe{border-radius:var(--radius-sm);margin:0 auto;display:block}.register-link{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.9rem}.register-link a{color:var(--accent-primary);transition:color var(--transition-fast);font-weight:600;text-decoration:none}.register-link a:hover{color:var(--accent-hover);text-decoration:underline}.login-footer{text-align:center;color:var(--text-muted);margin-top:2rem;font-size:.8125rem}.login-footer a{color:var(--text-secondary);transition:color var(--transition-fast);text-decoration:none}.login-footer a:hover{color:var(--accent-primary)}@media (width<=480px){.login-form-panel{padding:1rem}.login-card{border-radius:var(--radius-md);padding:1.5rem}.form-input{font-size:16px}.activation-code-input{height:48px;font-size:1rem}.club-card{gap:12px;padding:14px}.club-logo{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.login-page *,.login-page :before,.login-page :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.form-input:focus-visible,.btn-submit:focus-visible,.input-toggle:focus-visible,.form-link:focus-visible,.activation-back-btn:focus-visible,.register-link a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (prefers-contrast:high){.login-page .form-input{border-width:2px}.login-page .btn-submit{border:2px solid #0000}}.forgot-password-overlay{z-index:100;background-color:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.forgot-password-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;padding:32px;position:relative;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.close-button{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:4px;font-size:24px;transition:color .2s;position:absolute;top:16px;right:16px}.close-button:hover{color:#374151}.modal-title{color:#111827;text-align:center;margin:0 0 24px;font-size:24px;font-weight:600}.step-content{flex-direction:column;gap:24px;display:flex}.step-description{color:#6b7280;text-align:center;margin:0;line-height:1.5}.method-selection{flex-direction:column;gap:12px;display:flex}.method-option{cursor:pointer;border:2px solid #e5e7eb;border-radius:8px;align-items:center;padding:16px;transition:all .2s;display:flex}.method-option:hover{background-color:#f9fafb;border-color:#d1d5db}.method-option input[type=radio]{display:none}.method-option input[type=radio]:checked+.method-content{background-color:#f0f9f5;border-color:#04724b}.method-content{border:2px solid #0000;border-radius:6px;align-items:center;gap:16px;width:100%;padding:8px;transition:all .2s;display:flex}.method-icon{background-color:#f3f4f6;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;display:flex}.method-text h3{color:#111827;margin:0 0 4px;font-size:16px;font-weight:600}.method-text p{color:#6b7280;margin:0;font-size:14px}.input-group{flex-direction:column;gap:8px;display:flex}.input-label{color:#374151;font-size:14px;font-weight:500}.input-field{border:2px solid #e5e7eb;border-radius:8px;padding:12px 16px;font-size:16px;transition:border-color .2s}.input-field:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.code-input-group{flex-direction:column;gap:12px;display:flex}.code-inputs{justify-content:center;gap:8px;display:flex}.code-input{text-align:center;background-color:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;width:48px;height:56px;font-size:20px;font-weight:600;transition:all .2s}.code-input:focus{background-color:#fff;border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.password-wrapper{align-items:center;display:flex;position:relative}.password-input{padding-right:48px}.toggle-password-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:color .2s;position:absolute;right:12px}.toggle-password-btn:hover{color:#374151}.button-group{align-items:center;gap:12px;margin-top:8px;display:flex}.button-group .button,.button-group .login-button{cursor:pointer;border:none;border-radius:8px;margin-top:0;padding:12px 24px;font-size:16px;font-weight:500;transition:all .2s}.button{color:#374151;text-align:center;background-color:#e5e7eb;border:none;justify-content:center;align-items:center;height:fit-content;display:flex;width:fit-content!important}.button:hover{background-color:#d1d5db}.login-button{color:#fff;background-color:#3b82f6}.login-button:hover:not(:disabled){background-color:#2563eb}.login-button:disabled{cursor:not-allowed;background-color:#9ca3af}.primary-button,.secondary-button,.continue-button{cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px 24px;font-size:16px;font-weight:500;transition:all .2s}.primary-button{color:#fff;background-color:#3b82f6}.primary-button:hover:not(:disabled){background-color:#2563eb}.primary-button:disabled{cursor:not-allowed;background-color:#9ca3af}.secondary-button{color:#374151;background-color:#f3f4f6;border:2px solid #e5e7eb}.secondary-button:hover{background-color:#e5e7eb}.continue-button{color:#fff;background-color:#3b82f6;margin-top:16px}.continue-button:hover:not(:disabled){background-color:#2563eb}.continue-button:disabled{cursor:not-allowed;background-color:#9ca3af}@media (width<=480px){.forgot-password-modal{margin:20px;padding:24px}.code-inputs{gap:6px}.code-input{width:44px;height:52px;font-size:18px}.button-group{flex-direction:column}}:root{--primary:#059669;--primary-hover:#047857;--primary-light:#0596691a;--primary-lighter:#0596690d;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--border:#e5e7eb;--border-focus:#059669;--background:#fff;--background-secondary:#f9fafb;--error:#dc2626;--error-bg:#fef2f2;--success:#059669;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--register-hero-image:url(https://images.pexels.com/photos/32897040/pexels-photo-32897040.jpeg)}.registro-container{background-color:var(--background);max-width:100vw;height:100vh;min-height:100vh;display:flex;overflow:hidden}.branding-panel{background-image:var(--register-hero-image);background-color:#0b3d2f;background-position:50%;background-repeat:no-repeat;background-size:contain;width:50%;display:none;position:relative;overflow:hidden}.branding-panel:before{content:"";background-image:var(--register-hero-image);filter:blur(24px)saturate(1.05);opacity:.75;z-index:0;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;transform:scale(1.08)}.branding-panel:after{content:"";z-index:0;pointer-events:none;background:#054e3b9e;position:absolute;inset:0}.branding-content{z-index:2;color:#fff;flex-direction:column;justify-content:center;height:100%;padding:3rem;display:flex;position:relative}.registro-container .logo-container{align-items:center;gap:0;margin-bottom:3rem;display:flex}.logo-svg{flex-shrink:0;width:48px;height:48px;margin-right:-.55rem}.logo-svg path{fill:#fff}.logo-text{letter-spacing:-.025em;margin-left:-.05rem;font-size:1.75rem;font-weight:700}.branding-hero{margin-bottom:2.5rem}.branding-title{letter-spacing:-.025em;text-wrap:balance;color:#fff;margin-bottom:1rem;font-size:2.5rem;font-weight:700;line-height:1.2}.branding-subtitle{opacity:.9;text-wrap:pretty;font-size:1.125rem;line-height:1.6}.features-list{flex-direction:column;gap:1rem;margin-bottom:3rem;display:flex}.feature-item{align-items:center;gap:.75rem;font-size:1rem;display:flex}.feature-icon{background:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.feature-icon svg{width:14px;height:14px}.testimonial{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);background:#ffffff1a;border:1px solid #ffffff26;padding:1.5rem}.testimonial-text{opacity:.95;margin-bottom:1rem;font-size:1rem;font-style:italic;line-height:1.6}.testimonial--info .testimonial-text{margin-bottom:0;font-style:normal}.testimonial-author{align-items:center;gap:.75rem;display:flex}.testimonial-avatar{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:.875rem;font-weight:600;display:flex}.testimonial-name{font-size:.875rem;font-weight:600}.testimonial-role{opacity:.8;font-size:.75rem}.form-panel{background-color:#fff;flex-direction:column;flex:1;justify-content:flex-start;align-items:flex-start;width:100%;min-width:0;min-height:0;padding:2rem 0 0;display:flex;overflow:hidden auto}.form-container{flex-direction:column;flex:none;align-self:flex-start;width:100%;min-width:0;max-width:600px;margin:0 auto;padding:0 .5rem;display:flex}.form-logo-mobile{display:none}.form-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:0;display:flex}.form-title{color:var(--text-primary);letter-spacing:-.025em;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.form-title-promo{color:var(--primary);text-align:center;width:100%;margin-top:2rem;font-size:2rem;font-weight:700;line-height:1.3}.form-subtitle{color:var(--text-secondary);text-align:center;margin-top:.125rem;font-size:.9375rem}.stepper{justify-content:center;align-items:center;gap:0;width:100%;margin-top:0;margin-bottom:0;display:flex}.step-wrapper{align-items:center;display:flex}.step{background-color:var(--background-secondary);border:2px solid var(--border);width:40px;height:40px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.step svg{width:18px;height:18px}.step.active,.step.completed{background-color:var(--primary);border-color:var(--primary);color:#fff}.step-connector{background-color:var(--border);width:40px;height:2px;transition:background-color .2s}.step-connector.completed{background-color:var(--primary)}.registration-form{flex-direction:column;gap:.5rem;height:100%;min-height:0;max-height:none;display:flex;overflow:hidden auto}.step-content{flex-direction:column;gap:.5rem;animation:.3s fadeIn;display:flex}.step-content.step-3-admin{grid-template-columns:1fr;gap:.5rem;display:grid}@media (width>=768px){.step-content.step-3-admin{grid-template-columns:1fr 1fr}.step-content.step-3-admin .terms-section{grid-column:1/-1}.step-content.step-3-admin .password-fields-row{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:.5rem;display:grid}}.field-group{flex-direction:column;gap:.5rem;display:flex}.field-label{color:var(--text-primary);font-size:.875rem;font-weight:500}.field-hint{color:var(--text-secondary);margin-top:-.25rem;font-size:.8125rem}.field-row,.user-type-grid{grid-template-columns:1fr;gap:1rem;display:grid}.user-type-card{text-align:center;border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;background:#fff;flex-direction:column;align-items:center;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s;display:flex}.user-type-card:hover{background:#f8fffc;border-color:#10b981;transform:translateY(-2px);box-shadow:0 8px 18px #0f172a1a}.user-type-card.selected{background:linear-gradient(#ecfdf5 0%,#d1fae5 100%);border-color:#059669;box-shadow:0 0 0 2px #05966938,0 10px 24px #0596693d}.user-type-icon{background:var(--primary-light);border-radius:var(--radius-md);width:48px;height:48px;color:var(--primary);justify-content:center;align-items:center;margin-bottom:.75rem;display:flex}.user-type-icon svg{width:24px;height:24px}.user-type-card.selected .user-type-icon{background:var(--primary);color:#fff}.user-type-title{color:var(--text-primary);margin-bottom:.25rem;font-size:1rem;font-weight:600}.user-type-description{color:var(--text-secondary);font-size:.8125rem;line-height:1.4}.sports-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.sport-card{border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem .5rem;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s;display:flex;position:relative}.sport-card:hover{background:#f8fffc;border-color:#10b981;transform:translateY(-2px);box-shadow:0 8px 16px #0f172a1a}.sport-card.selected{background:linear-gradient(#ecfdf5 0%,#d1fae5 100%);border-color:#059669;box-shadow:0 0 0 2px #05966938,0 10px 20px #05966938}.sport-icon{color:var(--text-secondary);font-size:1.5rem}.sport-card.selected .sport-icon{color:var(--primary)}.sport-card.selected .sport-label,.user-type-card.selected .user-type-title{color:#065f46}.user-type-card.selected .user-type-description{color:#0f766e}.sport-label{color:var(--text-primary);font-size:.8125rem;font-weight:500}.sport-check{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:.5rem;right:.5rem}.sport-check svg{width:12px;height:12px}.text-input,.select-input{width:100%;height:44px;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;outline:none;padding:0 1rem;font-size:.9375rem;transition:all .2s}.text-input:focus,.select-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.text-input.error,.select-input.error{border-color:var(--error);background:var(--error-bg)}.text-input.error:focus,.select-input.error:focus{box-shadow:0 0 0 3px #dc26261a}.text-input::placeholder{color:var(--text-muted)}.text-input.with-icon{width:100%;padding-left:2.75rem}.text-input.with-toggle{padding-right:2.75rem}.input-with-icon{border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;background:#fff;flex-direction:row;align-items:center;gap:.75rem;width:100%;height:44px;padding-left:1rem;padding-right:1rem;display:flex;position:relative}.input-with-icon:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.input-with-icon:has(.text-input.error){border-color:var(--error);background:var(--error-bg)}.input-with-icon .text-input{min-width:0;height:100%;box-shadow:none;background:0 0;border:none;flex:1;align-self:stretch;padding-left:0;padding-right:0}.input-with-icon .text-input:focus{box-shadow:none;outline:none}.input-icon{color:var(--text-muted);pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.password-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--text-secondary)}.password-toggle svg{width:18px;height:18px}.select-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.upload-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.upload-area{border:2px dashed var(--border);border-radius:var(--radius-md);cursor:pointer;background:#fff;flex-direction:column;justify-content:center;align-items:center;height:120px;transition:all .2s;display:flex;position:relative}.upload-area:hover{border-color:var(--primary);background:var(--primary-lighter)}.upload-icon{width:24px;height:24px;color:var(--text-muted);margin-bottom:.5rem}.upload-text{color:var(--text-secondary);font-size:.8125rem}.upload-preview{object-fit:cover;width:100%;height:100%}.file-input{opacity:0;cursor:pointer;position:absolute;inset:0}.error-message{color:var(--error);font-size:.8125rem}.step3-sin-validar .text-input.error{border-color:var(--border)!important;box-shadow:none!important;background:#fff!important}.step3-sin-validar .input-with-icon:has(.text-input.error){border-color:var(--border)!important;box-shadow:none!important;background:#fff!important}.step3-sin-validar .error-message{display:none!important}.terms-section{margin-top:.5rem}.terms-text{color:var(--text-secondary);font-size:.8125rem;line-height:1.5}.terms-link{color:var(--primary);font-weight:500;text-decoration:none}.terms-link:hover{text-decoration:underline}.form-navigation{flex-shrink:0;gap:1rem;margin-top:auto;padding-top:1rem;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;height:48px;padding:0 1.5rem;font-size:.9375rem;font-weight:600;transition:all .2s;display:inline-flex}.btn svg{width:18px;height:18px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{transform:scale(.98)}.registro-container .form-navigation .btn-secondary,.registro-container .form-navigation .btn-back-register{border:2px solid var(--border);background:var(--background-secondary)!important;color:#111827!important}.registro-container .form-navigation .btn-secondary,.registro-container .form-navigation .btn-secondary span,.registro-container .form-navigation .btn-secondary svg,.registro-container .form-navigation .btn-back-register,.registro-container .form-navigation .btn-back-register span,.registro-container .form-navigation .btn-back-register svg{color:#111827!important}.registro-container .form-navigation .btn-secondary svg,.registro-container .form-navigation .btn-back-register svg{fill:none!important;stroke:#111827!important}.registro-container .form-navigation .btn-secondary:hover,.registro-container .form-navigation .btn-back-register:hover{background:var(--border);color:#111827!important}.registro-container .form-navigation .btn-secondary:hover span,.registro-container .form-navigation .btn-secondary:hover svg,.registro-container .form-navigation .btn-back-register:hover span,.registro-container .form-navigation .btn-back-register:hover svg{color:#111827!important;stroke:#111827!important}.btn-secondary:hover,.registro-container .form-navigation .btn-back-register:hover{background:var(--border)}.registro-container .form-navigation .btn-back-register:hover,.registro-container .form-navigation .btn-back-register:hover span,.registro-container .form-navigation .btn-back-register:hover svg{color:#111827!important}.btn-submit{background:var(--primary)}.login-link{text-align:center;color:var(--text-secondary);justify-content:center;gap:.5rem;font-size:.875rem;display:flex}.login-link a{color:var(--primary);font-weight:500;text-decoration:none}.login-link a:hover{text-decoration:underline}.demo-section{border-top:1px solid var(--border-color,#e5e7eb);justify-content:center;align-items:center;gap:.75rem;margin-top:.25rem;padding-top:.75rem;display:flex}.demo-text{color:var(--text-secondary);white-space:nowrap;font-size:.875rem}.registro-container .demo-section-register{box-sizing:border-box!important;flex-flow:row!important;justify-content:left!important;align-items:center!important;gap:.5rem!important;width:100%!important;display:flex!important}.registro-container .demo-text-register{white-space:nowrap!important;margin:0!important}.registro-container .demo-section .btn-whatsapp-register{justify-content:center;align-items:center;display:inline-flex;background-color:var(--primary)!important;color:#fff!important;border:1px solid var(--primary-hover)!important;white-space:nowrap!important;border-radius:9999px!important;gap:.45rem!important;padding:.52rem 1rem!important;font-size:.875rem!important;font-weight:700!important;text-decoration:none!important;transition:background-color .2s,transform .15s,box-shadow .2s!important;box-shadow:0 8px 18px #0596693d!important}.registro-container .demo-section .btn-whatsapp-register:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 10px 24px #04785752}.registro-container .demo-section .btn-whatsapp-register:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}.registro-container .demo-section .whatsapp-icon-register{width:1.6rem;min-width:1.6rem;height:1.6rem;color:#fff!important;stroke-width:1px!important;flex-shrink:0!important;display:block!important}@media (width>=640px){.user-type-grid,.field-row{grid-template-columns:1fr 1fr}}@media (width<=1023px){.registro-container{background-image:var(--register-hero-image);background-color:#0b3d2f;background-position:50%;background-repeat:no-repeat;background-size:contain;position:relative}.registro-container:before{content:"";background-image:var(--register-hero-image);filter:blur(24px)saturate(1.05);opacity:.75;z-index:0;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;transform:scale(1.08)}.registro-container:after{content:"";z-index:0;pointer-events:none;background:#054e3b80;position:absolute;inset:0}.form-logo-mobile{align-items:center;gap:0;margin-bottom:1.5rem;display:flex}.form-logo-mobile .logo-svg{flex-shrink:0;width:36px;height:36px;margin-right:-.5rem}.form-logo-mobile .form-logo-text{color:#fff;letter-spacing:-.025em;margin-left:-.05rem;font-size:1.5rem;font-weight:700}.deportes-label{color:#fff!important}.form-panel{z-index:1;-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:none;padding:0;padding-top:max(1rem, env(safe-area-inset-top));background:#ffffff1a;border:1px solid #ffffff26;align-items:flex-start;position:relative}.form-container{z-index:1;-webkit-backdrop-filter:none;width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;margin-top:.5rem;position:relative}.form-title,.form-subtitle,.field-hint,.terms-text,.login-link,.demo-text-register{color:#ffffffeb}.registro-container .form-panel .field-label,.registro-container .form-panel .deportes-label{color:#fff!important}.login-link a,.terms-link{color:#bbf7d0}.user-type-card,.sport-card{background:#ffffffeb;border-color:#ffffffa6}.user-type-card.selected,.sport-card.selected{background:#d1fae5;border-color:#059669;box-shadow:0 0 0 2px #0596693d,0 10px 22px #05966933}.user-type-title,.sport-label{color:#0f172a}.text-input,.select-input,.input-with-icon{background:#fffffff5;border-color:#ffffffb8}.text-input,.select-input,.input-with-icon .text-input,.input-icon,.password-toggle{color:#0f172a}.text-input::placeholder{color:#64748b}.error-message{color:#fecaca}.demo-section{border-top-color:#ffffff40}.form-header{margin-bottom:.25rem}.form-title{font-size:1.5rem}.form-subtitle{font-size:.875rem}.stepper{margin-bottom:.25rem}.step{color:#ffffffeb;background-color:#054e3b8c;border-color:#ffffff73;width:36px;height:36px}.step svg{width:16px;height:16px}.step-connector{background-color:#ffffff40;width:24px}.registration-form{gap:.75rem}.user-type-card{padding:1rem .75rem}.user-type-description{color:#475569;font-size:.75rem}.sport-card{padding:.75rem .35rem}.sport-label{font-size:.75rem}.btn{min-height:48px}}@media (width<=480px){.form-title{font-size:1.375rem}.form-subtitle{font-size:.8125rem}.stepper{margin-bottom:.25rem}.step{width:32px;height:32px}.step svg{width:14px;height:14px}.step-connector{width:16px}.upload-row{grid-template-columns:1fr;gap:1rem}.upload-area{height:100px}.user-type-card{text-align:left;flex-direction:row;gap:1rem;padding:.75rem .5rem}.user-type-icon{margin-bottom:0}.user-type-description{display:none}.form-navigation{flex-direction:column}.btn-secondary{order:1}.btn-primary{order:2}.text-input,.select-input{min-height:48px;font-size:16px}}@media (width>=1024px){.branding-panel{display:block}.form-panel{flex:none;width:50%}.form-container{max-width:600px}.branding-content{padding:4rem}.branding-title{font-size:2.75rem}}@media (width>=1280px){.branding-content{padding:5rem}.branding-title{font-size:3rem}}.register-success-shell{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex}.register-success-icon{background:#d1fae5;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto;display:flex}.register-success-icon svg{color:#059669;font-size:32px}.register-success-login-link{justify-content:center;align-items:center;gap:.5rem;width:100%;max-width:320px;text-decoration:none;display:inline-flex}.modal-close:hover{color:#dc2626;background:#fee2e2}.dashboard-container-with-bg{background-position:50%;background-repeat:no-repeat;background-size:cover}.dashboard-overlay{z-index:0;background:linear-gradient(135deg,#10b98166 0%,#05966966 100%);inset:0;position:absolute!important}.dashboard-content{z-index:1;width:100%;margin:0 auto;padding:1rem;position:relative}.dashboard-grid-layout{gap:1rem;width:100%;margin:0 auto;padding:0;display:grid}.dashboard-header{background:#fffffff2;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;display:flex;box-shadow:0 2px 8px #00000014}.dashboard-header-left{align-items:center;display:flex}.dashboard-title-container{flex-direction:column;gap:.25rem;display:flex}.real-time-badge-container{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:1rem;width:100%;display:flex}.real-time-badge{color:#10b981;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff;border:2px solid #10b981e6;border-radius:20px;align-items:center;gap:.5rem;width:fit-content;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-flex}.home-date-filter-container{justify-content:flex-start;align-items:center;width:100%;margin:0;display:flex}.home-date-filter-dropdown{width:fit-content;max-width:100%;padding:0;display:inline-block;position:relative;box-shadow:none!important;background:0 0!important;border:none!important}.home-date-filter-dropdown.date-filter-dropdown{width:fit-content;min-width:0;padding:0;position:relative;inset:auto}.home-date-filter-dropdown .date-filter-button{background:#fffffff5}.home-date-filter-dropdown .date-filter-menu{z-index:40;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:.5rem;width:240px;min-width:220px;max-width:min(260px,100vw - 2rem);padding:.5rem;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 32px #0f172a1f}.home-date-filter-dropdown .date-filter-option{text-align:left;border-radius:8px;justify-content:flex-start;width:100%;padding-left:.75rem}.home-date-filter-dropdown .date-range-inputs{margin-top:.5rem}.pulse-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.3}}.cash-closure-tabs{display:flex}.dashboard-actions{flex-flow:row;align-items:center;gap:.625rem;display:flex}.home-dashboard-action-btn{color:#374151;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-width:fit-content;padding:0 1rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.25;text-decoration:none;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s;display:inline-flex;box-shadow:0 1px 2px #0000000d,0 2px 4px #0000000f}.home-dashboard-action-btn:hover{color:#059669;background:#f9fafb;border-color:#10b981;transform:translateY(-1px);box-shadow:0 2px 6px #10b9811f,0 4px 8px #0000000f}.home-dashboard-action-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0000000f}.home-dashboard-action-btn svg{color:#10b981;flex-shrink:0}.home-dashboard-action-btn:hover svg{color:#059669}.toggle-button:hover{background:#f3f4f6}.toggle-button.selected{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);padding:.5rem 1rem;box-shadow:0 2px 8px #10b9814d}.charts-with-ai-grid{grid-template-columns:1fr 33%;align-items:start;gap:1.5rem;display:grid}@media (width<=1200px){.charts-with-ai-grid{grid-template-columns:1fr}}@media (width<=768px){.dashboard-container{height:auto;min-height:auto}.dashboard-grid-layout{gap:1rem;padding:0}.dashboard-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem}.dashboard-logo-img{width:40px}.dashboard-title{font-size:1.25rem}.dashboard-actions{flex-flow:wrap;gap:.5rem;width:100%}.home-dashboard-action-btn{flex:auto;min-width:0;padding:.625rem .875rem;font-size:.8125rem}.real-time-badge{padding:.375rem .75rem;font-size:.75rem}.pulse-dot{width:6px;height:6px}.stat-card{padding:1rem}.charts-with-ai-grid{grid-template-columns:1fr;gap:1rem}.toggle-container{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;width:100%}.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;padding:.25rem;font-size:.75rem}.heatmap-day-label{font-size:.75rem}.ai-recommendations-container{min-height:280px;padding:1rem}.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{max-width:100%;font-size:.75rem}.coming-soon-features span{padding:.375rem .75rem;font-size:.75rem}}@media (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}.toggle-button.selected{padding:.5rem .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{padding:.25rem .5rem;font-size:.6875rem}.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{padding:.3125rem .625rem;font-size:.6875rem}}.dashboard-logo{align-items:center;gap:.5rem;display:flex}.dashboard-logo-img{border-radius:15px;width:48px;box-shadow:0 2px 4px #0000001a}.difference-icon{font-size:2rem}.difference-label{text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.875rem;font-weight:600}.difference-amount{font-size:1.5rem;font-weight:900}.cash-closure-header-title{border-bottom:2px solid #e5e7eb;margin-bottom:1rem;padding-bottom:1rem}.cash-closure-header-title h4{color:#111827;align-items:center;margin:0;font-size:1.25rem;font-weight:600;display:flex}.cash-closure-summary{margin-bottom:1rem}.closure-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.closure-column{flex-direction:column;gap:1rem;display:flex}.column-title{color:#374151;border-bottom:1px solid #e5e7eb;align-items:center;margin:0 0 .5rem;padding-bottom:.5rem;font-size:1rem;font-weight:600;display:flex}.closure-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.closure-item{background:#f9fafb;border-left:3px solid #e5e7eb;border-radius:6px;flex-direction:column;padding:.75rem;display:flex}.closure-item.positive{background:#f0fdf4;border-left-color:#16a34a}.closure-item.negative{background:#fef2f2;border-left-color:#dc2626}.closure-item.theoretical{background:#eff6ff;border-left-color:#3b82f6}.closure-item.final{background:#f5f3ff;border-left-color:#8b5cf6;font-weight:600}.item-label{color:#6b7280;align-items:center;font-size:.875rem;display:flex}.item-value{color:#111827;font-size:1rem;font-weight:600}.difference-badge{border-radius:8px;align-items:center;gap:.75rem;margin-top:.5rem;padding:1rem;display:flex}.difference-badge.excess{background:#d1fae5;border:1px solid #6ee7b7}.difference-badge.shortage{background:#fee2e2;border:1px solid #fca5a5}.difference-badge.excess .difference-icon{color:#fff;background:#059669}.difference-badge.shortage .difference-icon{color:#fff;background:#dc2626}.difference-text{align-items:center;gap:.5rem;display:flex}.difference-badge.excess .difference-amount{color:#059669}.difference-badge.shortage .difference-amount{color:#dc2626}.payment-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;overflow:hidden}.payment-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f9fafb;justify-content:space-between;align-items:center;padding:.875rem 1rem;transition:background .2s;display:flex}.payment-header:hover{background:#f3f4f6}.payment-header-left{align-items:center;gap:.5rem;display:flex}.payment-title{color:#374151;font-size:.875rem;font-weight:600}.payment-header-right{align-items:center;gap:.75rem;display:flex}.payment-total{font-size:1rem;font-weight:700}.payment-total.positive{color:#16a34a}.payment-total.negative{color:#dc2626}.payment-detail-list{border-top:1px solid #e5e7eb;margin:0;padding:0;list-style:none}.payment-detail-item{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.payment-detail-item:last-child{border-bottom:none}.payment-method{color:#6b7280;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.payment-method .payment-icon{color:#9ca3af;font-size:1rem}@media (width<=768px){.closure-grid{grid-template-columns:1fr;gap:1.5rem}}.summary-item{justify-content:space-between;margin-bottom:.5rem;display:flex}.summary-item:last-child{margin-bottom:0}.closure-header{cursor:pointer;justify-content:space-between;align-items:center;padding:1rem;transition:background-color .2s;display:flex}.closure-header:hover{background:#f9fafb}.closure-amount{align-items:center;gap:.5rem;font-weight:600;display:flex}.closure-details{background:#f9fafb;border-top:1px solid #e5e7eb;padding:1rem}.closure-details p{margin:.25rem 0}.total-card{background:#fff;border-left:4px solid;border-radius:10px;align-items:center;gap:.75rem;padding:1rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 4px #0000001a}.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{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.total-value{color:#1e293b;font-size:1.125rem;font-weight:700}.summary-details{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.section-header{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);border-bottom:1px solid #e2e8f0;padding:.75rem 1rem}.section-header h5{color:#374151;margin:0;font-size:.875rem;font-weight:600}.method-amount{font-size:1rem;font-weight:700}.method-amount.positive{color:#10b981}.method-amount.negative{color:#ef4444}.no-data{text-align:center;color:#64748b;padding:1.5rem 1rem;font-style:italic}.closure-details-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.details-section{background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;padding:.75rem}.details-section h5{color:#374151;border-bottom:1px solid #e5e7eb;margin:0 0 .5rem;padding-bottom:.25rem;font-size:.875rem;font-weight:600}.details-section p{margin:.25rem 0;font-size:.875rem}@media (width<=768px){.summary-details{grid-template-columns:1fr}.total-card{padding:.75rem}}.method-name-with-icon{align-items:center;gap:.5rem;display:flex}.payment-icon{color:#3b82f6;justify-content:center;align-items:center;min-width:20px;font-size:1rem;display:flex}.payment-icon.cash{color:#10b981}.payment-icon.transfer{color:#8b5cf6}.history-method-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem .75rem;display:flex}.history-method-item .method-name-with-icon{color:#374151;font-weight:500}.history-method-item .method-amount{color:#1f2937;font-weight:600}.stat-card,.chart-card{background:#fff;border:1px solid #10b9811a;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #00000014}.chart-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.chart-title{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.filter-button{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.filter-button:hover{background:#f9fafb;border-color:#d1d5db}.filter-button.active{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-color:#10b981}.heatmap-container{margin-top:1rem}.heatmap-grid{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.heatmap-day{text-align:center}.heatmap-day-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.heatmap-slots{flex-direction:column;gap:.5rem;display:flex}.heatmap-cell{cursor:pointer;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;height:60px;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.heatmap-cell:hover{border-color:#10b981;transform:scale(1.05)}.heatmap-cell.high{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.heatmap-cell.medium{color:#fff;background:linear-gradient(135deg,#d97706 0%,#b45309 100%)}.heatmap-cell.low{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.heatmap-cell.empty{color:#9ca3af;background:#f3f4f6}.ai-recommendations-container{min-height:300px;position:relative;overflow:hidden}.ai-recommendations-content{width:100%;position:relative}.recommendations-skeleton{flex-direction:column;gap:1rem;display:flex}.skeleton-item{background:#f9fafb;border-radius:8px;gap:1rem;padding:1rem;display:flex}.skeleton-text{flex-direction:column;flex:1;gap:.5rem;display:flex}.skeleton-line{background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%) 0 0/200% 100%;border-radius:4px;height:12px;animation:1.5s ease-in-out infinite skeleton-loading}.skeleton-line-title{width:60%;height:16px}.skeleton-line-desc{width:90%}.coming-soon-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#fffffff2;border-radius:12px;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.coming-soon-overlay.disabled-overlay{cursor:not-allowed;background:#f3f4f6fa}.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{color:#9ca3af;opacity:.7;background:#f3f4f6cc;border:1px solid #e5e7eb}.coming-soon-content{text-align:center;width:100%;max-width:100%;padding:1rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.coming-soon-content h4{color:#111827;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.coming-soon-content p{color:#6b7280;margin:0 0 1.5rem;font-size:1rem}.coming-soon-features{flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:280px;margin:0 auto;display:flex}.coming-soon-features span{color:#059669;text-align:center;box-sizing:border-box;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border:1px solid #bbf7d0;border-radius:8px;width:100%;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-block}.pie-chart-container{flex-direction:column;align-items:center;gap:1rem;width:100%;padding:.5rem 0;display:flex}.refresh-button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.responsive-chart-no-data{flex-direction:column;justify-content:center;align-items:center;display:flex}.responsive-chart-no-data-icon{margin-bottom:1rem;font-size:3rem}.responsive-chart-no-data-icon-muted{opacity:.5}.responsive-chart-no-data-subtitle{opacity:.7;margin-top:.5rem;font-size:.875rem}.responsive-chart-retry-btn{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:1rem;padding:.5rem 1rem}.refresh-button:hover{color:#334155;background-color:#f1f5f9}.refresh-button:active{transform:rotate(180deg)}@media (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{width:100%!important;max-width:100%!important;height:auto!important;max-height:360px!important}.dashboard-card.sales-by-product-type-card{height:auto!important;max-height:360px!important}.sales-by-product-type-card .dashboard-card-body{max-height:360px!important;overflow:visible!important}.sales-by-payment-method-card{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important}.required-asterisk{color:#dc2626;margin-left:2px}.form-input.input-error{background-color:#fef2f2;border-color:#dc2626}.form-input.input-error:focus{border-color:#dc2626}.info-message{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:1px solid #93c5fd;border-radius:8px;align-items:flex-start;gap:.75rem;margin-top:.5rem;margin-bottom:1rem;padding:.875rem 1rem;display:flex}.info-message .info-icon{color:#3b82f6;flex-shrink:0;margin-top:2px;font-size:1rem}.info-message span{color:#1e40af;font-size:.875rem;line-height:1.5}.validation-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.validation-message .validation-icon{color:#dc2626;flex-shrink:0;font-size:1rem}.validation-message span{color:#991b1b;font-size:.875rem}.btn-loading{pointer-events:none;cursor:not-allowed!important;background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%)!important}.btn-loading:hover{background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%)!important}.spinner-icon{vertical-align:middle;margin-right:8px;animation:1s linear infinite spin}.summary-skeleton{padding:1rem}.summary-skeleton .skeleton-header{margin-bottom:1rem}.summary-skeleton .skeleton-title{background:linear-gradient(90deg, var(--gray-200,#e5e7eb) 25%, var(--gray-100,#f3f4f6) 50%, var(--gray-200,#e5e7eb) 75%);background-size:200% 100%;border-radius:6px;width:60%;height:28px;animation:1.5s infinite skeleton-loading}.summary-skeleton .skeleton-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.summary-skeleton .skeleton-column{flex-direction:column;gap:.75rem;display:flex}.summary-skeleton .skeleton-subtitle{background:linear-gradient(90deg, var(--gray-200,#e5e7eb) 25%, var(--gray-100,#f3f4f6) 50%, var(--gray-200,#e5e7eb) 75%);background-size:200% 100%;border-radius:4px;width:80%;height:20px;margin-bottom:.5rem;animation:1.5s infinite skeleton-loading}.summary-skeleton .skeleton-row{background:linear-gradient(90deg, var(--gray-200,#e5e7eb) 25%, var(--gray-100,#f3f4f6) 50%, var(--gray-200,#e5e7eb) 75%);background-size:200% 100%;border-radius:6px;height:40px;animation:1.5s infinite skeleton-loading}.summary-skeleton .skeleton-badge{background:linear-gradient(90deg, var(--gray-200,#e5e7eb) 25%, var(--gray-100,#f3f4f6) 50%, var(--gray-200,#e5e7eb) 75%);background-size:200% 100%;border-radius:8px;height:60px;margin-top:.5rem;animation:1.5s infinite skeleton-loading}@media (width<=768px){.summary-skeleton .skeleton-grid{grid-template-columns:1fr}}.cc-back-btn{cursor:pointer;color:#374151;background:0 0;border:none;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem;font-size:.875rem;font-weight:500;display:flex}.cc-open-section{margin-bottom:2rem}.cc-open-section__title{margin-bottom:1rem;font-size:1rem;font-weight:600}.cc-closures-list-stack{flex-direction:column;gap:1rem;display:flex}.cc-closure-selectable{cursor:pointer;text-align:left;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:1.5rem;transition:opacity .2s,transform .2s,background-color .2s,box-shadow .2s,border-color .2s;box-shadow:0 1px 3px #0000001a}.cc-closure-selectable:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.cc-closure-selectable--selected{border:2px solid #3b82f6;box-shadow:0 4px 6px #3b82f64d}.cc-closure-selectable--selected:hover{transform:none}.cc-closure-card-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.cc-closure-card-fields{flex-wrap:wrap;flex:1;gap:2rem;display:flex}.cc-closure-field-label{color:#6b7280;margin-bottom:.25rem;font-size:.875rem}.cc-closure-field-value{color:#1a1a1a;font-size:1rem;font-weight:600}.cc-status-badge--open{color:#92400e;background-color:#fef3c7;border-radius:6px;padding:.375rem .75rem;font-size:.875rem;font-weight:500}.cc-detail-header-row{align-items:center;gap:1rem;display:flex}.cc-detail-title{margin:0;font-size:1.25rem;font-weight:600}.cc-status-badge--closed{color:#6b7280;background-color:#e5e7eb;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.cc-btn-edit-outline{color:#3b82f6;cursor:pointer;background:#fff;border:1px solid #3b82f6;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .2s;display:flex}.cc-btn-edit-outline:hover{background-color:#eff6ff}.cc-btn-cancel{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.cc-btn-cancel:disabled{cursor:not-allowed;opacity:.6}.cc-btn-primary{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.cc-btn-primary:disabled{cursor:not-allowed;opacity:.6}.cc-balance-net-row{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem;display:flex}.cc-balance-net-label{color:#1a1a1a;font-size:1rem;font-weight:600}.cc-balance-net-value{font-size:1.125rem;font-weight:700}.cc-balance-net-value--positive{color:#16a34a}.cc-balance-net-value--negative{color:#dc2626}.cc-open-new-btn{justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;display:flex}.cc-detail-header-spaced{margin-bottom:1.5rem}.cc-info-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.cc-form-grid-2{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.cc-comments-card{background-color:#fff;border-radius:8px;margin-top:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.cc-comments-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.cc-comments-title{color:#1a1a1a;margin:0;font-size:1rem;font-weight:600}.cc-btn-text-link{color:#3b82f6;cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.875rem;font-weight:500}.cc-comment-textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-size:.875rem}.cc-comment-actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.cc-edit-actions{gap:.5rem;display:flex}.cc-form-group--flush{margin-bottom:0}.cc-form-group--spaced,.cc-form-group--spaced-dynamic{margin-bottom:1.5rem}.cc-form-group--spaced-dynamic.cc-form-group--compact{margin-bottom:1rem}.cc-form-row--spaced{margin-bottom:1.5rem}.cc-form-group--grow{flex:1}.cc-open-section--spaced{margin-top:2rem}.cc-label-icon{vertical-align:middle;margin-right:6px}.cc-icon-lg{font-size:1.25rem}.cc-icon-positive{color:#16a34a;margin-right:6px}.cc-icon-negative{color:#dc2626;margin-right:6px}.cc-closure-detail-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.cc-closure-detail-meta-item-label{color:#6b7280;margin-bottom:.25rem;font-size:.875rem}.cc-closure-detail-meta-item-value{color:#1a1a1a;font-size:1rem;font-weight:600}.cc-closure-detail-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.cc-closure-detail-card{background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.cc-closure-detail-card--spaced{margin-bottom:1.5rem}.cc-closure-detail-card-title{color:#1a1a1a;margin:0 0 1rem;font-size:1rem;font-weight:600}.cc-closure-detail-card-title--sm{margin:0 0 .75rem;font-size:.875rem}.cc-closure-detail-card-title--sales{color:#16a34a}.cc-closure-detail-card-title--expenses{color:#dc2626}.cc-closure-detail-rows{flex-direction:column;gap:.75rem;display:flex}.cc-closure-detail-rows--tight{gap:.5rem}.cc-closure-detail-row{justify-content:space-between;align-items:center;display:flex}.cc-closure-detail-row--total{border-top:1px solid #e5e7eb;padding-top:.75rem}.cc-closure-detail-label{color:#6b7280;font-size:.875rem}.cc-closure-detail-label--strong{color:#1a1a1a;font-weight:600}.cc-closure-detail-value{color:#1a1a1a;font-size:.875rem;font-weight:500}.cc-closure-detail-value--strong{font-weight:600}.cc-closure-detail-value--danger{color:#dc2626}.cc-closure-detail-value--positive{color:#16a34a}.cc-closure-detail-value--negative{color:#dc2626}.cc-closure-detail-edit-input{text-align:right;border:1px solid #d1d5db;border-radius:4px;width:120px;padding:.25rem .5rem;font-size:.875rem;font-weight:500}.cc-closure-activities-table{background-color:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.cc-closure-activities-table__title{color:#1a1a1a;margin:0 0 1rem;font-size:1rem;font-weight:600}.cc-closure-activities-table__table{border-collapse:collapse;width:100%}.cc-closure-activities-table__head-row{border-bottom:1px solid #e5e7eb}.cc-closure-activities-table__th{text-align:left;color:#6b7280;padding:.75rem 0;font-size:.875rem;font-weight:600}.cc-closure-activities-table__th--right{text-align:right}.cc-closure-activities-table__row{border-bottom:1px solid #f3f4f6}.cc-closure-activities-table__td{color:#6b7280;padding:.75rem 0;font-size:.875rem}.cc-closure-activities-table__td--primary{color:#1a1a1a}.cc-closure-activities-table__td--right{text-align:right}.cc-form-group--dynamic{margin-bottom:1.5rem}.cc-closure-activities-table__td--amount-positive{color:#16a34a;font-weight:500}.cc-closure-activities-table__td--amount-negative{color:#dc2626;font-weight:500}.clients-container{box-sizing:border-box;margin:0 auto;padding:1rem}.clients-container>.list-search-box{margin-bottom:1rem}.expenses-dashboard{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}@media (width>=768px){.expenses-dashboard{grid-template-columns:repeat(12,minmax(0,1fr))}}@media (width>=1200px){.expenses-dashboard{grid-template-columns:repeat(12,minmax(0,1fr))}}.dashboard-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #0000000d;border-radius:12px;width:280px;max-width:280px;height:128px;max-height:128px;padding:.75rem;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 6px #00000012,0 1px 3px #0000000f}.dashboard-card-responsive{grid-column:1/-1;min-width:0;width:100%!important;max-width:100%!important}@media (width>=860px){.dashboard-card-responsive{grid-column:span 6;width:100%!important;max-width:100%!important}}@media (width>=1200px){.dashboard-card-responsive{grid-column:span 3}}.dashboard-card:before{content:"";opacity:0;background:linear-gradient(90deg,#8b5cf6,#ec4899);height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.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{color:#64748b;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.dashboard-card-header .card-icon{color:#8b5cf6;font-size:1.1rem}.dashboard-card-header h3{text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.75rem;font-weight:600}.dashboard-card-body{padding:.125rem 0}.metric-value{color:#1e293b;margin-bottom:.25rem;font-size:1.5rem;font-weight:700;line-height:1}.metric-subtitle{color:#64748b;margin:0;font-size:.75rem}.metric-note{color:#94a3b8;margin:.35rem 0 0;font-size:.6875rem;line-height:1.35}.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{flex-direction:column;height:380px;max-height:380px;display:flex}.category-card .dashboard-card-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.evolution-card{flex-direction:column;width:50%;max-width:50%;height:380px;max-height:380px;display:flex}.evolution-card .dashboard-card-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.variation-card,.recurring-card,.onetime-card,.total-card{height:130px}.filter-select{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.pie-chart-container{flex-direction:column;flex:1;align-items:center;gap:1rem;width:100%;min-height:0;padding:.5rem 0;display:flex;overflow:hidden}.pie-chart{filter:drop-shadow(0 4px 6px #0000001a);max-width:200px;margin:0 auto;width:200px!important;height:200px!important;display:block!important}.category-card .pie-chart-container{justify-content:center;align-items:center;height:100%}.category-card .pie-chart-container .expenses-pie-chart{flex:none;max-width:240px;max-height:240px}.pie-legend{flex-direction:column;gap:.5rem;width:100%;display:flex}.legend-item{border-radius:6px;align-items:center;gap:.5rem;padding:.375rem;transition:background-color .2s;display:flex}.legend-item:hover{background-color:#f8fafc}.legend-color{border-radius:3px;flex-shrink:0;width:12px;height:12px;box-shadow:0 2px 4px #0000001a}.legend-info{flex:1;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.legend-label{color:#334155;font-size:.8rem;font-weight:500}.legend-value{color:#64748b;white-space:nowrap;font-size:.8rem;font-weight:600}.no-data{color:#94a3b8;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.no-data svg{opacity:.5;margin-bottom:1rem}.no-data p{margin:0;font-size:.875rem}.dashboard-loading .loading-spinner{border:4px solid #e2e8f0;border-top-color:#8b5cf6;border-radius:50%;width:48px;height:48px;margin-bottom:1rem;animation:1s linear infinite spin}.dashboard-loading p{margin:0;font-size:.875rem}.skeleton-dashboard-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #0000000d;border-radius:12px;grid-column:1/-1;height:128px;max-height:128px;padding:.75rem;position:relative;overflow:hidden auto;box-shadow:0 4px 6px #00000012,0 1px 3px #0000000f}@media (width>=860px){.skeleton-dashboard-card{grid-column:span 6}}@media (width>=1200px){.skeleton-dashboard-card{grid-column:span 3}.skeleton-dashboard-card.large.bills-evolution-card{grid-column:span 7}.skeleton-dashboard-card.large.bills-category-card{grid-column:span 5}}.skeleton-chart{border-radius:8px;width:100%;height:280px;margin-top:1rem}.skeleton-table{border-collapse:collapse;width:100%}.skeleton-table-row{border-bottom:1px solid #f3f4f6}.skeleton-table-cell{padding:1rem}.skeleton-table-text{width:100%;max-width:150px;height:16px}.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-left:4px solid #e5e7eb;border-radius:12px;margin-bottom:1rem;padding:1.25rem;box-shadow:0 2px 8px #0000001a}.skeleton-card-title{width:70%;height:20px;margin-bottom:1rem}.skeleton-info-icon{border-radius:50%;width:16px;height:16px}.skeleton-info-text{flex:1;height:14px}@media (width<=768px){.skeleton-card-info{grid-template-columns:1fr}}.evolution-chart-container{flex-direction:column;flex:1;align-items:center;gap:.75rem;width:100%;min-height:0;padding:.5rem 0;display:flex;overflow:hidden}.evolution-chart{width:100%;max-width:90%;height:auto;min-height:250px;margin:0 auto;display:block}.evolution-card .evolution-chart-container{height:100%}.chart-point{cursor:pointer;transition:all .3s}.chart-point:hover{r:7;filter:drop-shadow(0 2px 4px #8b5cf666)}.grid-lines line{transition:stroke .3s}.evolution-legend{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:.5rem;display:flex}.legend-item-evolution{color:#334155;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;display:flex}.legend-line{border-radius:2px;width:28px;height:2.5px}.legend-line.total-line{background:#8b5cf6}.legend-line.recurring-line{background:#3b82f6 repeating-linear-gradient(90deg,#3b82f6,#3b82f6 5px,#0000 5px 10px)}.legend-line.onetime-line{background:#f59e0b repeating-linear-gradient(90deg,#f59e0b,#f59e0b 5px,#0000 5px 10px)}@media (width<=768px){.expenses-dashboard{grid-template-columns:1fr;gap:1rem;margin:1.5rem 0;padding:0 .5rem}.dashboard-card{padding:1rem;width:100%!important;max-width:100%!important}.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 (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{background:linear-gradient(135deg,#f59e0b0d 0%,#f59e0b1a 100%);margin-top:1rem;animation:.3s ease-out slideInFromRight;border-left:4px solid #f59e0b!important}.pending-sales-header{background:linear-gradient(135deg,#f59e0b1a 0%,#f59e0b26 100%);border-bottom:1px solid #f59e0b33;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{color:#6b7280;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex}.loading-pending-sales .spinning{animation:1s linear infinite spin}.pending-sales-list{flex-direction:column;gap:1rem;display:flex}.pending-sale-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;transition:box-shadow .2s}.pending-sale-item:hover{box-shadow:0 4px 6px -1px #0000001a}.pending-sale-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.pending-sale-info{flex-direction:column;gap:.25rem;display:flex}.pending-sale-id{color:#6b7280;font-size:.875rem;font-weight:600}.pending-sale-description{color:#374151;font-size:1rem;font-weight:500}.pending-sale-amount{color:#dc2626;font-size:1.125rem;font-weight:700}.pending-sale-details{flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;display:flex}.pending-sale-detail{color:#6b7280;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.pending-sale-detail svg{color:#9ca3af}.pending-sale-items{border-top:1px solid #e5e7eb;padding-top:.75rem}.items-label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.items-list{flex-direction:column;gap:.25rem;display:flex}.sale-item{justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.875rem;display:flex}.item-name{color:#374151;flex:1}.item-quantity{color:#6b7280;margin:0 .5rem}.pending-sale-divider{background:#e5e7eb;height:1px;margin:.75rem 0}.payer-autocomplete{z-index:100;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:0;max-height:300px;padding:.25rem;animation:.2s ease-out slideDown;display:flex;overflow-y:auto;box-shadow:0 4px 12px #0000001a,0 2px 4px #0000000f;background:#fff!important}.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{cursor:pointer;color:#374151;border-radius:6px;align-items:center;gap:.5rem;margin:.125rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:none!important;background:#fff!important;border:none!important}.payer-option:before{content:"";background:linear-gradient(135deg,#3b82f6,#8b5cf6);width:3px;transition:transform .2s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.payer-option:hover{color:#1e293b;font-weight:600;transform:translate(4px);background:linear-gradient(135deg,#f0f9ff 0%,#ede9fe 100%)!important;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 0%,#e9d5ff 100%)!important}.payer-autocomplete:empty:after{content:"No se encontraron resultados";text-align:center;color:#9ca3af;padding:1rem;font-size:.875rem;font-style:italic;display:block}@media (width<=768px){.payer-autocomplete{max-height:250px}.payer-option{padding:.875rem 1rem;font-size:.95rem}}.tabs-header{background:#fff;gap:1rem;padding:0 1rem;display:flex}.tab-button{color:var(--gray-600);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;width:fit-content;max-width:fit-content;padding:1rem;font-size:1rem;font-weight:600;transition:color .2s,border-bottom .2s}.tab-button.tab-active{color:var(--primary);border-bottom:2px solid var(--primary);border-radius:0;outline:none;overflow:hidden}.bill-detail-info{flex-direction:column;gap:1rem;display:flex}.payer-info{flex-grow:1;justify-content:space-between;margin-right:.75rem;display:flex}.payer-name{color:var(--gray-700);font-weight:600}.remove-payer-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.remove-payer-btn:hover{background:#ef44441a;transform:scale(1.1)}.payment-warning{color:#e74c3c;text-align:center;background-color:#e74c3c1a;border-radius:4px;margin-top:.5rem;padding:.5rem;font-size:.9rem}.payment-amount-input{text-align:right;border:1px solid #ddd;border-radius:4px;width:120px;margin-left:0;padding:.7rem}.new-category-modal{width:90%;max-width:400px}.new-category-modal .modal-body{padding:1rem}.new-category-modal .form-group{margin-bottom:0}.new-category-modal .form-input{width:100%}.add-category-option{color:var(--primary);font-style:italic;font-weight:600}@media screen and (width<=768px){.new-category-modal{max-width:95%}}.bill-detail-modal .btn-edit{width:fit-content;color:#374151!important;border-radius:var(--radius-lg)!important;transition:var(--transition)!important;cursor:pointer!important;background:#fff!important;border:1px solid #dcdcdc!important;align-items:center!important;gap:.5rem!important;padding:1.25rem!important;font-weight:600!important;display:flex!important;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f!important}.bill-detail-modal .btn-edit:hover{color:#1f2937!important;background:#f9fafb!important;border-color:#9ca3af!important;transform:translateY(-1px)!important;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f!important}.bill-detail-buttons{justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.comment-text{color:#6b7280;word-wrap:break-word;white-space:pre-wrap;font-size:.85rem;font-style:italic;line-height:1.5}.warning-icon-container{margin-left:.5rem;display:inline-block;position:relative}.warning-icon{transition:all .2s}.warning-icon:hover{filter:brightness(1.2);transform:scale(1.1)}.warning-tooltip{visibility:hidden;color:#fff;white-space:nowrap;z-index:110;opacity:0;pointer-events:none;background:#000000e6;border-radius:.25rem;padding:.5rem .75rem;font-size:.75rem;transition:opacity .3s;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 2px 8px #0000004d}.warning-tooltip:after{content:"";border:5px solid #0000;border-top-color:#000000e6;margin-left:0;position:absolute;top:100%;right:4px}.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{flex-direction:column;gap:.5rem;display:flex}.file-input{text-align:center;cursor:pointer;border:2px dashed #d1d5db;border-radius:8px;padding:1rem;transition:all .3s}.file-input:hover{background-color:#f8fafc;border-color:#3b82f6}.selected-image-container{flex-direction:column;gap:.75rem;display:flex}.selected-image-preview{background:#f3f4f6;border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem;font-size:.875rem;display:flex}.image-preview-display{border:1px solid #e5e7eb;border-radius:8px;max-width:100%;overflow:hidden}.modal-image-preview{object-fit:contain;width:100%;max-width:300px;height:auto;max-height:200px;margin:0 auto;display:block}.image-name{color:#374151;font-weight:500}.improved-modal{max-height:85vh;overflow-y:auto}.new-bill-form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1rem;display:grid}.new-bill-form-grid .full-width{grid-column:1/-1}.amount-input-container{position:relative}.amount-input-container .currency-symbol{color:#6b7280;z-index:1;font-weight:600;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.amount-input{padding-left:32px!important}.additional-fields{border-top:1px solid #e5e7eb;grid-template-columns:auto 1fr;align-items:start;gap:1.5rem;margin-bottom:1rem;padding-top:1rem;display:grid}.toggle-group{align-items:center;display:flex}.toggle-label{color:#374151;cursor:pointer;align-items:center;gap:.75rem;font-weight:500;display:flex}.comment-group{flex:1}.image-upload-group{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.selected-payers-section{margin-top:1.5rem}.selected-payers-header{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border:1px solid #cbd5e1;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;display:flex}.selected-payers-header h5{color:#1e293b;align-items:center;gap:.5rem;margin:0;font-weight:600;display:flex}.contributions-total{align-items:center;gap:.5rem;display:flex}.total-label{color:#64748b;font-size:.875rem;font-weight:500}.total-amount{color:#059669;background:#0596691a;border-radius:4px;padding:.25rem .5rem;font-size:1.1rem;font-weight:700}.selected-payers-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.payer-contribution-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px #0000001a}.payer-contribution-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.payer-card-header{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem;display:flex}.payer-icon{color:#3b82f6;font-size:1.1rem}.payer-card-body{padding:1rem}.add-payer-option{background:#fff!important;border:1px solid #dcdcdc!important}.contribution-input-group{flex-direction:column;gap:.5rem;padding:.75rem 1.5rem;display:flex}.contribution-input-group label{color:#374151;font-size:.875rem;font-weight:500}.contribution-input-container{position:relative}.contribution-input-container .currency-symbol{color:#6b7280;z-index:1;font-weight:600;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.contribution-input{color:#059669;border:1px solid #d1d5db;border-radius:6px;width:100%;font-size:.875rem;font-weight:600;transition:all .2s;padding:.75rem 1.5rem!important}.contribution-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.btn-save.saving{position:relative;cursor:not-allowed!important;background:#9ca3af!important}.btn-save.saving:hover{background:#9ca3af!important;transform:none!important}.spinner-icon{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;margin-right:.5rem;animation:1s linear infinite spin}@media (width<=768px){.new-bill-form-grid,.additional-fields{grid-template-columns:1fr;gap:1rem}.selected-payers-grid{grid-template-columns:1fr}.selected-payers-header{text-align:center;flex-direction:column;gap:.5rem}.improved-modal{max-height:90vh}}.remove-image-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:background-color .2s;display:flex}.remove-image-btn:hover{background:#dc2626}.uploading-indicator{color:#3b82f6;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;display:flex}.image-preview-container{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.bill-image-preview{border:1px solid #e5e7eb;transition:transform .2s}.bill-image-preview:hover{transform:scale(1.05)}.view-full-image-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:4px;padding:.375rem .75rem;font-size:.875rem;transition:background-color .2s}.view-full-image-btn:hover{background:#2563eb}.bills-cards-container{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=768px){.bills-cards-container{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}}.bill-card{background:#fff;border-left:4px solid #6b7280;border-radius:12px;padding:1.25rem;transition:all .2s;position:relative;box-shadow:0 2px 8px #0000001a}.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{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.bill-card-title{color:#1f2937;flex:1;margin:0 .5rem 0 0;font-size:1.1rem;font-weight:600;line-height:1.3}.bill-status-badge{color:#fff;text-align:center;white-space:nowrap;border-radius:20px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.bill-status-badge.paid{background:#10b981}.bill-status-badge.pending{background:#f59e0b}.bill-status-badge.overdue{background:#ef4444}.bill-card-info{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.bill-info-item{color:#6b7280;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.bill-info-icon{color:#6b7280;align-items:center;display:flex}.bill-info-icon.gastos{color:#ef4444}.bill-info-icon.ingresos{color:#10b981}.bill-card-comment{margin-bottom:1rem}.bill-card-actions{border-top:1px solid #f3f4f6;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.bill-action-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.bill-action-btn:hover{transform:translateY(-1px)}.bill-action-btn:active{transform:translateY(0)}.bill-action-btn.view-btn{color:#374151;background:#fff;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{color:#374151;background:#fff;border:1px solid #dcdcdc;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.bill-action-btn.edit-btn.gastos:hover,.bill-action-btn.edit-btn.ingresos:hover{color:#1f2937;background:#f9fafb;border-color:#9ca3af;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.action-button.delete-btn{color:#ef4444;background:#fff;border:1px solid #fecaca;box-shadow:0 1px 3px #ef44441a}.action-button.delete-btn:hover{color:#dc2626;background:#fef2f2;border-color:#f87171;box-shadow:0 4px 6px #ef444433}.cards-pagination{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem;display:flex;box-shadow:0 1px 3px #0000001a}.cards-pagination .pagination-center{text-align:center;flex:1}.cards-pagination .pagination-right{align-items:center;gap:1rem;display:flex}.cards-pagination .results-info{color:#6b7280;font-size:.875rem}.cards-pagination .page-info{color:#374151;font-size:.875rem;font-weight:500}.cards-pagination .pagination-arrow{cursor:pointer;color:#6b7280;background:#f3f4f6;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;transition:all .2s;display:flex}.cards-pagination .pagination-arrow:hover:not(:disabled){color:#374151;background:#e5e7eb}.cards-pagination .pagination-arrow:disabled{opacity:.5;cursor:not-allowed}@media (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{background:#fff;border-radius:10px;justify-content:flex-end;align-items:center;margin-bottom:1rem;padding:.5rem;display:flex}.view-toggle-buttons{background:#f3f4f6;border-radius:8px;padding:2px;display:flex}.view-toggle-btn:hover{color:#374151;background:#ffffff80}.view-toggle-btn.active{color:#1f2937;background:#fff;box-shadow:0 1px 3px #0000001a}@media (width<=768px){.view-controls{justify-content:center;padding:0 .5rem}.view-toggle-label{display:none}.cards-pagination{text-align:center;flex-direction:column;gap:1rem}.cards-pagination .pagination-center{order:2}.cards-pagination .pagination-right{order:1;justify-content:center}}.client-with-tutor{transition:all .3s;background:linear-gradient(135deg,#9333ea14 0%,#c4b5fd1f 100%)!important;border:2px solid #9333ea33!important;box-shadow:0 4px 12px #9333ea26!important}.client-with-tutor:hover{background:linear-gradient(135deg,#9333ea1f 0%,#c4b5fd2e 100%)!important;border-color:#9333ea4d!important;box-shadow:0 6px 20px #9333ea33!important}.row-with-tutor{transition:all .3s;background:linear-gradient(135deg,#9333ea0f 0%,#c4b5fd1a 100%)!important;border-left:4px solid #9333ea66!important}.row-with-tutor:hover{background:linear-gradient(135deg,#9333ea1a 0%,#c4b5fd26 100%)!important}.tutor-indicator{cursor:help;margin-left:.5rem;font-size:.9rem}.tutor-info{color:#7c3aed;margin:0;font-size:.75rem;font-style:italic;font-weight:500}.tutor-info-row{color:#7c3aed;margin-top:2px;font-size:.7rem;font-style:italic;font-weight:500;display:block}.tutor-data-indicator{opacity:.8;cursor:help;margin-left:.25rem;font-size:.8rem}.client-name .tutor-indicator,.data-name .tutor-indicator{vertical-align:middle;display:inline-block}.table-row.row-with-tutor td{position:relative}.table-row.row-with-tutor td:first-child:before{content:"";background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);width:4px;position:absolute;top:0;bottom:0;left:0}@media (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{transition:all .3s;background:linear-gradient(135deg,#f59e0b14 0%,#fbbf241f 100%)!important;border:2px solid #f59e0b33!important;box-shadow:0 4px 12px #f59e0b26!important}.client-with-pending-sales:hover{background:linear-gradient(135deg,#f59e0b1f 0%,#fbbf242e 100%)!important;border-color:#f59e0b4d!important;box-shadow:0 6px 20px #f59e0b33!important}.row-with-pending-sales{transition:all .3s;background:linear-gradient(135deg,#f59e0b0f 0%,#fbbf241a 100%)!important;border-left:4px solid #f59e0b66!important}.row-with-pending-sales:hover{background:linear-gradient(135deg,#f59e0b1a 0%,#fbbf2426 100%)!important}.table-row.row-with-pending-sales td{position:relative}.table-row.row-with-pending-sales td:first-child:before{content:"";background:linear-gradient(135deg,#f59e0b 0%,#fbbf24 100%);width:4px;position:absolute;top:0;bottom:0;left:0}.client-with-tutor.client-with-pending-sales{background:linear-gradient(135deg,#9333ea14 0%,#c4b5fd14 50%,#f59e0b14 100%)!important;border:2px solid #c4718f4d!important;box-shadow:0 4px 12px #c4718f33!important}.client-with-tutor.client-with-pending-sales:hover{background:linear-gradient(135deg,#9333ea1f 0%,#c4b5fd1f 50%,#f59e0b1f 100%)!important;border-color:#c4718f66!important;box-shadow:0 6px 20px #c4718f40!important}.row-with-tutor.row-with-pending-sales{background:linear-gradient(135deg,#9333ea0f 0%,#c4b5fd0f 50%,#f59e0b0f 100%)!important;border-left:4px solid #c4718f66!important}.row-with-tutor.row-with-pending-sales:hover{background:linear-gradient(135deg,#9333ea1a 0%,#c4b5fd1a 50%,#f59e0b1a 100%)!important}.table-row.row-with-tutor.row-with-pending-sales td:first-child:before{background:linear-gradient(135deg,#7c3aed 0%,#c471a0 50%,#f59e0b 100%)}.detail-card-tutor{transition:all .3s!important;box-shadow:0 4px 12px #9333ea26!important}.detail-card-tutor:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px #9333ea33!important}.modal-content .bill-detail-modal{position:relative}.bill-detail-modal.has-tutor{border:2px solid #9333ea33;box-shadow:0 8px 25px #9333ea26}.bill-detail-modal .detail-card-tutor,.bill-detail-modal .tutor-indicator{animation:2s ease-in-out infinite subtle-pulse}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.9}}.modal-content.has-tutor{background:linear-gradient(145deg,#fffffffa,#f7fafff2);border:2px solid #9333ea4d;box-shadow:0 10px 25px #9333ea1a,0 0 0 1px #9333ea1a,inset 0 1px #ffffff1a}.modal-content.has-tutor .modal-header{background:linear-gradient(135deg,#9333ea14,#a855f70d);border-bottom:1px solid #9333ea26}.modal-content.has-tutor .modal-title{color:#7c3aed;text-shadow:0 1px 2px #9333ea1a}.bills-category-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #0000000d;border-radius:12px;flex-direction:column;grid-column:1/-1;width:100%;min-width:0;height:fit-content;max-height:100%;padding:.75rem;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px #00000012,0 1px 3px #0000000f}.bills-category-card-header{border-bottom:1px solid #0000000d;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.bills-category-card-icon{color:#ec4899;font-size:1.25rem}.bills-category-card-header h3{color:#1e293b;margin:0;font-size:.875rem;font-weight:600}.bills-category-card-body{flex-direction:column;flex:1;padding:.125rem 0;display:flex;overflow:hidden}.bills-category-no-data{color:#94a3b8;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex}.bills-category-chart-container{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;width:100%;height:100%;min-height:0;padding:.5rem 0;display:flex;overflow:hidden}.bills-category-pie-chart{filter:drop-shadow(0 4px 6px #0000001a);background:0 0;flex-shrink:0;margin:0 auto;width:100%!important;max-width:240px!important;height:100%!important;max-height:240px!important;display:block!important}.bills-category-legend{flex-direction:column;flex:1;gap:.5rem;width:100%;min-height:0;display:flex;overflow-y:auto}.bills-category-legend-item{border-radius:6px;align-items:center;gap:.5rem;padding:.375rem;transition:background-color .2s;display:flex}.bills-category-legend-item:hover{background-color:#f8fafc}.bills-category-legend-color{border-radius:3px;flex-shrink:0;width:12px;height:12px;box-shadow:0 2px 4px #0000001a}.bills-category-legend-info{flex:1;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.bills-category-legend-label{color:#334155;font-size:.75rem;font-weight:500}.bills-category-legend-value{color:#1e293b;font-size:.75rem;font-weight:600}.bills-evolution-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #0000000d;border-radius:12px;flex-direction:column;grid-column:1/-1;width:100%;min-width:0;height:380px;max-height:380px;padding:.75rem;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px #00000012,0 1px 3px #0000000f}.bills-evolution-card-header{border-bottom:1px solid #0000000d;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.bills-evolution-card-icon{color:#8b5cf6;font-size:1.25rem}.bills-evolution-card-header h3{color:#1e293b;margin:0;font-size:.875rem;font-weight:600}.bills-evolution-card-body{flex-direction:column;flex:1;padding:.125rem 0;display:flex;overflow:hidden}.bills-evolution-no-data{color:#94a3b8;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex}.bills-evolution-chart-container{flex-direction:column;flex:1;align-items:center;gap:.75rem;width:100%;height:100%;min-height:0;padding:.5rem 0;display:flex;overflow:hidden}.bills-evolution-line-chart{flex:1;min-height:0;margin:0 auto;display:block;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}.bills-evolution-legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.bills-evolution-legend-item{color:#64748b;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.bills-evolution-legend-line{border-radius:2px;width:24px;height:3px}.bills-evolution-legend-total{background:#8b5cf6}.bills-evolution-legend-recurring{background:#3b82f6;border-top:2px dashed #3b82f6}.bills-evolution-legend-onetime{background:#f59e0b;border-top:2px dashed #f59e0b}@media (width>=1200px){.bills-evolution-card{grid-column:span 7}.bills-category-card{grid-column:span 5}}.client-history-table-empty{padding:1rem}.client-history-table-wrap{padding:.5rem}.client-history-table-scroll{overflow-x:auto}.client-history-table{border-collapse:collapse;width:100%}.client-history-table-th{text-align:left;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.65rem .6rem;font-size:.78rem;font-weight:700}.client-history-table-td{color:#1f2937;white-space:nowrap;border-bottom:1px solid #f1f5f9;padding:.65rem .6rem;font-size:.85rem}.shared-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;background:#00000080;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;inset:0;position:fixed!important}.shared-modal-backdrop-dismiss{cursor:default;z-index:0;background:0 0;border:none;margin:0;padding:0;position:absolute;inset:0}.shared-modal-backdrop>:not(.shared-modal-backdrop-dismiss){z-index:1;position:relative}.shared-modal-native-button{font:inherit;cursor:pointer;text-align:inherit;color:inherit;background:0 0;border:none;padding:0}.shared-modal-native-button:disabled{cursor:not-allowed;opacity:.6}.shared-modal-backdrop--elevated{z-index:1300!important}.ft-player-action-spinner{box-sizing:border-box;border:1.5px solid color-mix(in srgb, var(--primary) 22%, transparent);border-top-color:var(--primary);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.65s linear infinite spin}.shared-modal-content{z-index:140;background-color:#fff;border-radius:12px;flex-direction:column;width:90vw;max-width:768px;max-height:90vh;animation:.4s slideInFromTop;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.shared-modal-content-large{z-index:140;background-color:#fff;border-radius:12px;flex-direction:column;width:90vw;max-width:90vw;max-height:90vh;animation:.4s slideInFromTop;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.shared-modal-content-medium{z-index:140;background-color:#fff;border-radius:12px;flex-direction:column;width:90vw;max-width:800px;max-height:90vh;animation:.4s slideInFromTop;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.shared-modal-header{background:#fff;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.shared-modal-title{color:#111827;align-items:center;gap:.75rem;margin:0;font-size:1.25rem;font-weight:600;display:flex}.shared-modal-title-icon{color:#059669;flex-shrink:0}.shared-modal-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:.5rem;font-size:1.5rem;transition:all .2s;display:flex}.shared-modal-close:hover{color:#b91c1c;background:#fee2e2}.close-button{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:.5rem;font-size:1.5rem;transition:all .2s;display:flex;position:absolute;top:1.25rem;right:1.5rem}.close-button:hover{color:#b91c1c;background:#fee2e2}.shared-modal-body{background:#fff;flex:1;padding:1rem;overflow-y:auto}.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{background:#fff;border-top:1px solid #e5e7eb;border-radius:0 0 12px 12px;flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.shared-form{flex-direction:column;gap:1rem;display:flex}.shared-form-group{flex-direction:column;gap:.5rem;display:flex}.shared-form-label{color:#374151;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;display:flex}.shared-form-label svg{color:#059669;flex-shrink:0}.shared-form-input,.shared-form-select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.shared-form-input:focus,.shared-form-select:focus{border-color:#059669;outline:none;box-shadow:0 0 0 3px #0596691a}.shared-form-input:disabled,.shared-form-select:disabled{cursor:not-allowed;opacity:.6;background:#f3f4f6}.shared-form-help-text{color:#6b7280;margin:0;font-size:.75rem}.shared-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.shared-form-row{grid-template-columns:1fr}}.shared-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-height:40px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.shared-btn svg{flex-shrink:0}.shared-btn:disabled{opacity:.8;cursor:not-allowed}.shared-btn-primary{color:#fff;background:#059669}.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,.shared-btn-primary:disabled:hover{color:#d1d5db!important;box-shadow:none!important;background:#4b5563!important;transform:none!important}.shared-btn-secondary{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.shared-btn-secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.shared-btn-download{color:#fff;background:#059669}.shared-btn-download:hover:not(:disabled){background:#047857;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0596694d}.shared-error-message{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.shared-error-message svg{color:#dc2626;flex-shrink:0}.shared-loading-container{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.shared-spinner{border:4px solid #e5e7eb;border-top-color:#059669;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.shared-loading-text{color:#6b7280;font-size:.875rem}.shared-no-data-message{text-align:center;color:#9ca3af;padding:3rem 1rem;font-size:.875rem;font-style:italic}.shared-preselected-info{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;margin-bottom:1rem;padding:1rem}.shared-preselected-info h4{color:#0369a1;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.shared-preselected-info-content{align-items:center;gap:.75rem;font-size:.875rem;display:flex}.shared-preselected-info-content span{color:#111827;font-weight:600}.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 (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 (width<=480px){.shared-modal-content,.shared-modal-content-medium,.shared-modal-content-large{border-radius:0;width:100vw;max-width:100vw;max-height:100vh}.shared-modal-header{border-radius:0;padding:.875rem}.shared-modal-title{font-size:1rem}.shared-modal-body{padding:.875rem}.shared-modal-footer{border-radius:0;padding:.875rem}}.shared-report-selection{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}@media (width<=640px){.shared-report-selection{grid-template-columns:1fr}}.shared-report-summary{background:linear-gradient(135deg,#f0fdf4 0%,#f0f9ff 100%);border:1px solid #d1fae5;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;padding:1rem;display:grid}.shared-summary-metric{text-align:center}.shared-summary-metric .value{color:#059669;margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.shared-summary-metric .label{color:#6b7280;font-size:.875rem;font-weight:500}.shared-tab-buttons{background:#fff;border-bottom:2px solid #e5e7eb;gap:.5rem;margin-bottom:1rem;padding-bottom:0;display:flex;position:sticky;top:-1.5em;overflow-x:auto}.shared-tab-button{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s}.shared-tab-button:hover{color:#059669}.shared-tab-button.active{color:#059669;border-bottom-color:#059669}.shared-report-table{border-collapse:collapse;width:100%;font-size:.875rem}.shared-report-table thead{z-index:10;background:#f9fafb}.shared-report-table th{text-align:left;color:#374151;border-bottom:2px solid #e5e7eb;padding:.75rem 1rem;font-weight:600}.shared-report-table td{border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.shared-report-table tbody tr:hover{background:#f9fafb}.shared-report-table tbody tr:last-child td{border-bottom:none}@media (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}}.confirmation-dialog{flex-direction:column;align-items:center;gap:1rem;width:100%;padding:.25rem 0 0;display:flex}.confirmation-icon.cancel{color:#ea580c;background-color:#ffedd5}.confirmation-message{text-align:center;color:var(--gray-700,#374151);margin:0;font-size:1rem;line-height:1.5}.shared-modal-footer.confirmation-dialog-footer{gap:.5rem;margin:0;padding:.5rem 1rem}.shared-modal-footer.confirmation-dialog-footer .shared-btn{min-height:36px;padding:.45rem 1rem}.shared-modal-footer.confirmation-dialog-footer .btn.btn-primary{min-height:36px;padding:.45rem 1rem;font-size:.875rem}.ftrtm-tabs{border-bottom:1px solid var(--gray-200);padding:0 1.5rem;display:flex}.ftrtm-tab{color:var(--gray-500);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:1rem;font-weight:600}.ftrtm-tab--active{border-bottom-color:var(--primary);color:var(--primary)}.ftrtm-search-wrap{margin-bottom:1rem;position:relative}.ftrtm-search-icon{color:var(--gray-400);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.ftrtm-search-input{padding-left:2.75rem}.ftrtm-teams-list{border:1px solid var(--gray-200);border-radius:8px;max-height:300px;overflow:auto}.ftrtm-teams-empty{text-align:center;color:var(--gray-500);padding:1rem}.ftrtm-team-row{border-bottom:1px solid var(--gray-100);cursor:pointer;text-align:left;background:#fff;border-top:none;border-left:none;border-right:none;align-items:center;gap:.75rem;width:100%;padding:1rem;display:flex}.ftrtm-team-row--selected{background:var(--primary-light)}.ftrtm-team-avatar{background:var(--gray-200);border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.ftrtm-team-name{font-weight:600}.ftrtm-new-team-form{flex-direction:column;gap:1rem;display:flex}.ftrtm-form-label{color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.ftrtm-logo-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.ftrtm-logo-preview{object-fit:cover;border:1px solid var(--gray-200);border-radius:8px;width:80px;height:80px}.ftrtm-logo-remove-btn{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex;position:absolute;top:-6px;right:-6px}.ftrtm-logo-upload-label{border:2px dashed var(--gray-300);cursor:pointer;width:80px;height:80px;color:var(--gray-400);border-radius:8px;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:flex}.ftrtm-logo-upload-label:hover{border-color:var(--primary);color:var(--primary)}.ftrtm-captain-status{border-radius:6px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;font-size:.75rem;display:flex}.ftrtm-captain-status--found-player{background:var(--success-light);color:var(--success-dark)}.ftrtm-captain-status--found-user{background:var(--warning-light);color:var(--warning-dark)}.ftrtm-captain-status--create{background:var(--info-light);color:var(--info-dark)}.subscription-expired-backdrop{z-index:10050}.subscription-expired-modal{max-width:480px}.subscription-expired-modal__warning-icon{color:#eab308;flex-shrink:0}.subscription-expired-modal__primary{color:#374151;margin:0 0 .75rem;line-height:1.55}.subscription-expired-modal__secondary{color:#6b7280;margin:0;font-size:.9rem}.subscription-expired-modal__footer{flex-wrap:wrap;justify-content:flex-end}.subscription-expired-modal__footer--split{justify-content:space-between}.subscription-expired-modal__link{color:#fff;background-color:#10b981;border-radius:8px;align-items:center;padding:.5rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.subscription-expired-modal__dismiss{color:#374151;cursor:pointer;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.class-picker-option{text-align:left;cursor:pointer;width:100%;color:inherit;opacity:1;background-color:#fff;border:none;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.class-picker-option:hover:not(:disabled){background-color:#f3f4f6}.class-picker-option--disabled{cursor:not-allowed;color:#9ca3af;opacity:.75;background-color:#f8fafc}.class-picker-selected{background-color:#f0fdf4;border:1px solid #86efac;border-radius:.5rem;justify-content:space-between;align-items:center;margin-top:.5rem;padding:.75rem;display:flex}.class-day-toggle{cursor:pointer;background-color:#fff;border:2px solid #d1d5db;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:400;display:flex}.class-day-toggle--selected{background-color:#d1fae5;border-color:#10b981;font-weight:500}.client-modal-header-actions{align-items:center;gap:.5rem;display:flex}.client-modal-icon-btn{cursor:pointer;color:#374151;background:#f3f4f6;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .2s,transform .2s,background-color .2s;display:flex}.client-modal-icon-btn--active{color:#fff;background:#4f46e5}.client-history-tab{color:#374151;cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.65rem .85rem;font-size:.875rem;font-weight:500;transition:background-color .2s,border-color .2s,color .2s}.client-history-tab--active{color:#4338ca;background:#eef2ff;border-color:#c7d2fe;font-weight:600}.shared-modal-header-actions{align-items:center;gap:.5rem;display:flex}.clients-detail-modal-content{max-width:860px}.client-history-sticky-header{z-index:3;background:#f8fafc;border:1px solid #e2e8f0;border-radius:0 0 10px 10px;margin:0 -1rem .5rem;padding:.75rem 1rem .5rem;position:sticky;top:0;box-shadow:0 1px 2px #0f172a0d,0 10px 16px -12px #0f172a59}.client-history-tablist{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:.25rem;padding-bottom:.5rem;display:flex}.client-history-tab-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.5rem .8rem;font-size:.82rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s}.client-history-tab-btn--active{color:#3730a3;background:#f8fafc;border-bottom:2px solid #4f46e5}@keyframes client-history-skel-pulse{0%,to{opacity:1}50%{opacity:.55}}.client-history-skeleton{width:100%;display:block}.client-history-skeleton-block{background:linear-gradient(90deg,#f0f0f0 25%,#e5e7eb 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:8px;animation:1.4s ease-in-out infinite client-history-skel-pulse;display:block}.client-history-skeleton-header{pointer-events:none}.client-history-skeleton-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.client-history-skeleton-name{width:min(220px,60%);height:1.35rem}.client-history-skeleton-badge{border-radius:999px;width:72px;height:1.75rem}.client-history-skeleton-summary{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}.client-history-skeleton-summary-card{min-height:3.25rem}.client-history-skeleton-tabs{pointer-events:none;border-bottom:none;padding-bottom:0}.client-history-skeleton-tab{flex:0 auto;min-width:88px;height:2rem}.client-history-skeleton-body{flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.client-history-skeleton-cards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.5rem;display:grid}.client-history-skeleton-card{min-height:140px}.client-history-skeleton-card--wide{min-height:100px}.client-day-picker-btn{cursor:pointer;background-color:#fff;border:2px solid #d1d5db;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:400;display:flex}.client-day-picker-btn--selected{background-color:#d1fae5;border-color:#10b981;font-weight:500}.client-class-picker-option{text-align:left;cursor:pointer;background-color:#fff;border:none;width:100%;padding:.75rem;transition:background .2s}.client-class-picker-option:hover{background-color:#f9fafb}.client-import-dropzone{text-align:center;color:#4faf44;cursor:pointer;background:0 0;border:2px dashed #a5b4fc;border-radius:.5rem;width:100%;margin-bottom:1rem;padding:2rem}body.club-onboarding-active .modal-backdrop,body.club-onboarding-active .shared-modal-overlay,body.club-onboarding-active .shared-modal-backdrop{z-index:12000!important}body.club-onboarding-active .topbar{z-index:11900!important}.club-onboarding-root{z-index:12400;pointer-events:none;position:fixed;inset:0}.club-onboarding-tooltip-layer{z-index:13500;pointer-events:none;position:fixed;inset:0}.club-onboarding-curtain-piece{pointer-events:auto;background:#000000b8;position:fixed}.club-onboarding-tooltip{pointer-events:auto;background:#fff;border-radius:12px;max-width:min(360px,100vw - 32px);padding:1rem 1.125rem;position:fixed;box-shadow:0 18px 44px #00000047}.club-onboarding-tooltip--centered{top:50%;left:50%;transform:translate(-50%,-50%)}.club-onboarding-tooltip h3{color:#111827;margin:0 0 .5rem;font-size:1rem;font-weight:700}.club-onboarding-tooltip p{color:#4b5563;margin:0 0 .75rem;font-size:.875rem;line-height:1.45}.club-onboarding-tooltip-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.club-onboarding-tooltip button{cursor:pointer;border:none;border-radius:8px;padding:.45rem .85rem;font-size:.8125rem;font-weight:600}.club-onboarding-btn-primary{color:#fff;background:#111827}.club-onboarding-btn-secondary{color:#374151;background:#f3f4f6}.club-onboarding-btn-ghost{color:#6b7280;background:0 0;text-decoration:underline}.club-onboarding-public-intro-backdrop{z-index:13900;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.club-onboarding-public-intro-modal{background:#fff;border-radius:14px;width:100%;max-width:420px;padding:1.5rem;box-shadow:0 24px 48px #0003}.club-onboarding-public-intro-modal h2{color:#111827;margin:0 0 .75rem;font-size:1.2rem;font-weight:700}.club-onboarding-public-intro-modal p{color:#4b5563;margin:0 0 1.25rem;font-size:.9rem;line-height:1.5}.club-onboarding-public-intro-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}@media (width<=380px){.club-onboarding-public-intro-actions{flex-direction:column;align-items:stretch}.club-onboarding-public-intro-actions .sch-btn{justify-content:center;width:100%}}.club-onboarding-congrats-backdrop{z-index:14000;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.club-onboarding-congrats-modal{background:#fff;border:1px solid #0f172a0f;border-radius:16px;width:100%;max-width:420px;padding:1.75rem 1.5rem;box-shadow:0 24px 48px #00000040}.club-onboarding-congrats-modal h2{color:#111827;letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.375rem;font-weight:700}.club-onboarding-congrats-modal .club-onboarding-congrats-lead{color:#4b5563;margin:0 0 1.25rem;font-size:.9375rem;line-height:1.55}.club-onboarding-congrats-actions{flex-flow:wrap;gap:.5rem;display:flex}.club-onboarding-congrats-action-btn{box-sizing:border-box;flex:1 1 0;justify-content:center;align-items:center;gap:.5rem;width:auto;min-width:0;transition:background-color .15s,border-color .15s,color .15s,box-shadow .2s;box-shadow:0 2px 4px #0f172a0f,0 6px 16px #0f172a1a,0 0 0 1px #0f172a0a;color:#1f2937!important;background:#fff!important;border:1px solid #e5e7eb!important;font-weight:600!important;text-decoration:none!important;display:inline-flex!important}.club-onboarding-congrats-action-btn:hover{box-shadow:0 4px 8px #0f172a14,0 12px 28px #25d36624,0 0 0 1px #0f172a0d;color:#111827!important;background:#f9fafb!important;border-color:#d1d5db!important}.club-onboarding-congrats-action-btn:focus-visible{outline:2px solid var(--primary,#059669);outline-offset:2px}.club-onboarding-congrats-action-icon{flex-shrink:0;width:1.125rem;height:1.125rem}.club-onboarding-congrats-action-icon--tutorials{color:var(--primary,#059669)}.club-onboarding-congrats-action-icon--whatsapp{color:#25d366}.club-onboarding-congrats-primary{flex:100%;width:100%;min-width:0;margin-top:.75rem;padding-top:.55rem;padding-bottom:.55rem;font-weight:600}@media (width<=380px){.club-onboarding-congrats-actions{flex-direction:column}.club-onboarding-congrats-action-btn,.club-onboarding-congrats-primary{flex:none;width:100%}.club-onboarding-congrats-primary{margin-top:.625rem}}.toggle-container{vertical-align:middle;align-items:center;gap:.75rem;width:fit-content;display:inline-flex}.toggle-container.disabled{opacity:.6;cursor:not-allowed}.toggle-label{color:var(--gray-700);margin:0;font-size:.875rem;font-weight:600;background:0 0!important;border:none!important;padding:0!important}.toggle-button:has(.toggle-slider){cursor:pointer;border-radius:var(--radius-full,9999px);vertical-align:middle;outline:none;padding:0;transition:all .2s;display:inline-block;position:relative;background:0 0!important;border:none!important}.toggle-button:has(.toggle-slider):focus-visible{box-shadow:0 0 0 2px #4f46e51a}.toggle-button:has(.toggle-slider).disabled{cursor:not-allowed}.toggle-slider{background-color:#d1d5db;border-radius:9999px;transition:all .2s;display:block;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{background-color:#fff;border-radius:9999px;transition:all .2s;display:block;transform:translate(0);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.toggle-button.checked .toggle-thumb{background-color:var(--primary);transform:translate(100%)}.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 (width<=768px){.toggle-container{gap:.5rem}.toggle-label{font-size:.8rem}}.settings-toggle-button{cursor:pointer;border-radius:12px;outline:none;width:44px;height:24px;transition:all .3s;position:relative;background:0 0!important;border:none!important}.settings-toggle-button:before{content:"";background-color:#ccc;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;top:2px;left:2px}.settings-toggle-button.active:before{background-color:var(--primary,#007bff);left:22px}.section-card{cursor:default;background-color:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:1rem;padding:1rem;transition:all .2s;box-shadow:0 2px 8px #0000001a}.courts-selection-grid{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.court-selection-item{cursor:pointer;background-color:#0000;border:1px solid #ccc;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.875rem;transition:all .2s;display:flex}.court-selection-item:hover{background-color:#f3f7ff;border-color:#1976d2}.court-selection-item.selected{color:#1976d2;background-color:#e3f2fd;border-color:#1976d2}.court-selection-item input[type=checkbox]{margin:0}.court-selection-all{font-weight:700;border-color:#f44336!important}.court-selection-all.selected{color:#f44336;background-color:#ffebee;border-color:#f44336!important}.settings-modal-overlay{z-index:2000;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal-panel{background:#fff;border-radius:6px;min-width:280px;max-width:420px;max-height:80vh;padding:1rem;position:relative;overflow-y:auto}.settings-modal-close{cursor:pointer;color:#666;background:0 0;border:none;font-size:1.25rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.settings-info-banner{background-color:#e3f2fd;border:1px solid #2196f3;border-radius:8px;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.settings-info-banner__icon{color:#2196f3;flex-shrink:0;margin-top:.125rem;font-size:1.5rem}.settings-config-remove-btn{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #fca5a5;border-radius:4px;padding:.2rem .45rem;font-size:.8rem;line-height:1}.settings-checkbox-pill{cursor:pointer;background-color:#0000;border:1px solid #ccc;border-radius:4px;align-items:center;gap:.3rem;padding:.25rem .5rem;display:inline-flex}.settings-checkbox-pill--selected-blue{background-color:#e3f2fd;border-color:#2196f3}.settings-checkbox-pill--selected-blue-strong{background-color:#e3f2fd;border:1px solid #2196f3}.settings-checkbox-pill--selected-red{background-color:#ffebee;border:1px solid #f44336;font-weight:700}.settings-checkbox-pill--selected-green{color:#4caf50;background-color:#e8f5e9;border:1px solid #4caf50;font-weight:700}.settings-checkbox-pill--bold{font-weight:700}.settings-checkbox-pill--flex{align-items:center;gap:.25rem;display:flex}.settings-badge-pill{white-space:nowrap;border-radius:999px;padding:.2rem .5rem;font-size:.8rem}.settings-badge-pill--interval{color:#1565c0;background-color:#e3f2fd}.settings-badge-pill--slot-types{color:#6b21a8;text-overflow:ellipsis;background-color:#f3e8ff;max-width:100%;overflow:hidden}.settings-member-discount-grid{gap:.75rem;max-width:28rem;display:grid}.settings-member-discount-card{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;grid-template-columns:1fr auto;align-items:end;gap:.75rem;padding:.75rem 1rem;display:grid}.settings-member-discount-input{text-align:right;border:1px solid #ccc;border-radius:4px;width:4.5rem;padding:.5rem}.settings-member-discount-input--invalid{border-color:#e53935}.settings-court-picker-scroll{border:1px solid var(--border,#e5e7eb);background:#fafafa;border-radius:6px;max-height:210px;padding:.5rem;overflow-y:auto}.settings-court-picker-item{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;padding:.7rem;transition:border-color .2s,background-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 1px 2px #0000001a}.settings-court-picker-item--selected{border:1px solid var(--primary);background:#e0f2fe;box-shadow:0 1px 4px #0ea5e926}.settings-court-picker-checkbox{background:0 0;border:1px solid #d1d5db;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;margin-right:.5rem;transition:border-color .2s,background-color .2s;display:flex}.settings-court-picker-checkbox--checked{border:1px solid var(--primary);background:var(--primary)}.settings-court-picker-selected-dot{background:var(--primary);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px;box-shadow:0 0 0 1px #fff}.settings-court-type-chip{color:#fff;text-transform:uppercase;border-radius:8px;padding:.1rem .3rem;font-size:.6rem;font-weight:500}.settings-court-picker-empty{text-align:center;color:#9ca3af;background:#fff;border:1px dashed #e5e7eb;border-radius:6px;padding:1.4rem}.settings-court-picker-summary{border:1px solid var(--primary);color:#0c4a6e;background:#f0f9ff;border-radius:4px;align-items:center;gap:.35rem;margin-top:.5rem;padding:.5rem;font-size:.7rem;display:flex}.settings-days-off-card{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1rem;padding:1rem}.settings-radio-pill{cursor:pointer;background-color:#0000;border:2px solid #ccc;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:400;display:flex}.settings-radio-pill--recurring-active{background-color:#e3f2fd;border-color:#2196f3;font-weight:600}.settings-radio-pill--specific-active{background-color:#fff3e0;border-color:#ff9800;font-weight:600}.settings-btn-delete-row{background:#dc2626;border-color:#dc2626;justify-content:center;align-items:center;min-width:2.25rem;padding:.4rem;font-size:.75rem;display:inline-flex}.settings-disponibilidad-root{gap:.5rem;display:grid}.settings-number-input-narrow{border:1px solid #ccc;border-radius:4px;width:160px;margin-top:.25rem;padding:.5rem;font-size:.875rem}.settings-pill-row{flex-wrap:wrap;gap:.5rem;display:flex}.settings-pill-row--mt{margin-top:.5rem}.settings-pill-row--mt-sm{margin-top:.25rem}.settings-checkbox-pill input[type=checkbox]{margin:0}.settings-checkbox-pill--selected-blue-alt{background-color:#e3f2fd;border:1px solid #1976d2;font-size:.875rem}.settings-field-block{margin-bottom:1rem}.settings-percent-row{align-items:center;gap:.35rem;display:flex}.settings-percent-suffix{color:#444;padding-bottom:.25rem;font-size:.875rem}.settings-anticipo-panel{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:1rem;margin-top:.5rem;padding:1rem;display:flex}.settings-anticipo-section{flex-direction:column;gap:.75rem;display:flex}.settings-anticipo-title{color:#1f2937;margin:0 0 .25rem;font-size:.95rem;font-weight:600}.settings-anticipo-desc{color:#6b7280;margin:0;font-size:.8rem}.settings-anticipo-card-title{color:#495057;margin:0 0 .1rem;font-size:.9rem;font-weight:700}.settings-anticipo-card-title--selected{color:var(--primary)}.settings-anticipo-card-desc{color:#6c757d;margin:0;font-size:.65rem;line-height:1.1}.settings-icon-delete-btn{cursor:pointer;color:#6b7280;background:0 0;border:1px solid #e5e7eb;border-radius:3px;margin-left:.7rem;padding:.25rem;transition:border-color .2s,color .2s,background-color .2s}.settings-icon-delete-btn:hover{color:#dc2626;background:#fef2f2;border-color:#dc2626}.settings-form-shell{width:100%;max-width:100%;padding:.25rem 0}.settings-security-toggle-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.settings-security-input-wrap{position:relative}.settings-security-input{border:1px solid var(--border);border-radius:3px;width:100%;padding:.5rem 2.5rem .5rem .5rem;font-size:.875rem}.settings-security-code-input{text-align:center;background-color:#f9fafb;border:2px solid #e5e7eb;border-radius:6px;width:40px;height:45px;font-size:16px;font-weight:600}.settings-users-delete-section{border-top:1px solid #e5e7eb;margin-top:1.25rem;padding-top:1rem}.settings-users-delete-btn{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.875rem;font-weight:600;display:inline-flex}.settings-users-delete-hint{color:#6b7280;max-width:32rem;margin:.5rem 0 0;font-size:.75rem}.settings-user-type-tooltip{z-index:1100;top:var(--settings-tooltip-top);left:var(--settings-tooltip-left);color:#fff;background:#0a0a0f;border-radius:4px;width:max-content;min-width:320px;max-width:420px;padding:.875rem 1rem;font-size:.875rem;line-height:1.5;position:fixed;box-shadow:0 2px 8px #00000026}.settings-court-picker-count-dot{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;font-size:.6rem;font-weight:600;display:flex}.settings-cobros-stack{flex-direction:column;gap:0;display:flex}.settings-cobros-group{box-shadow:none;background:0 0;border:none;flex-direction:column;gap:1rem;padding:0;display:flex}.settings-cobros-group+.settings-cobros-group{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.settings-cobros-group-title{color:#374151;margin:0;font-size:1rem;font-weight:600}.settings-cobros-group-intro{color:#6b7280;margin:-.35rem 0 0;font-size:.875rem;line-height:1.5}.settings-cobros-subsection{flex-direction:column;gap:0;display:flex}.settings-cobros-group--bookings>.benko-info-banner,.settings-cobros-group--bookings>.settings-cobros-anticipo-stack{border-top:1px solid #e5e7eb;margin-top:.25rem;padding-top:1.25rem}.settings-cobros-section-title{color:#1f2937;margin:0 0 1rem;font-size:1rem;font-weight:600}.settings-cobros-section-title--tight{margin:0 0 .35rem}.settings-cobros-text{color:#6b7280;margin:0 0 1rem;font-size:.85rem;line-height:1.5}.settings-cobros-text--sm{color:#6b7280;margin:0 0 .75rem;font-size:.9rem}.settings-cobros-text--warning{color:#92400e;margin:0 0 .75rem;font-size:.85rem}.settings-cobros-error-inline{color:#dc2626;margin:0 0 .5rem;font-size:.8rem}.settings-cobros-alert{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.9rem}.settings-cobros-anticipo-stack{gap:.5rem;display:grid}.settings-cobros-form-group-mt{margin-top:1.5rem}.settings-form-label-sm{color:#4b5563;margin-bottom:.5rem;font-size:.85rem}.settings-cobros-turnos-banner{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin:1rem 0;padding:1rem}.settings-cobros-turnos-banner__title{color:#856404;margin:0 0 .5rem}.settings-cobros-turnos-banner__text{color:#856404;margin:0;line-height:1.5}.settings-notifications-form-group{margin-bottom:1rem}.settings-notifications-section{margin-bottom:1.5rem}.settings-notifications-section--bordered{border-bottom:2px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1.5rem}.settings-notifications-section-title{color:#1f2937;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.1rem;font-weight:700;display:flex}.settings-notifications-toggle-row{justify-content:space-between;align-items:center;display:flex}.settings-notifications-toggle-title{color:#1f2937;margin-bottom:.3rem;font-size:.85rem;font-weight:600}.settings-notifications-toggle-desc{color:#6b7280;font-size:.7rem}.settings-notifications-field-stack{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.settings-notifications-field-block{margin-top:.75rem}.settings-notifications-label{color:#1f2937;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.settings-notifications-select{width:100%;max-width:200px;padding:.5rem}.settings-notifications-hint{color:#6b7280;margin-top:.5rem;font-size:.7rem}.settings-notifications-info-box{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:4px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:1rem;display:flex}.settings-notifications-info-box p{color:#0369a1;margin:0;font-size:.9rem}.settings-notifications-email-section{border-top:2px solid #e5e7eb;margin:2rem 0;padding-top:1.5rem}.settings-notifications-email-desc{color:#6b7280;font-size:.8rem}.settings-notifications-email-row{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.settings-notifications-email-input{border:1px solid #d1d5db;border-radius:6px;flex:1;min-width:220px;padding:.625rem .75rem;font-size:.875rem}.settings-notifications-email-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #0ea5e926}.settings-notifications-email-list{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.settings-notifications-email-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}.settings-notifications-email-text{color:#1f2937;word-break:break-all;font-size:.875rem}.settings-notifications-section-title--tight{margin-bottom:.5rem}.settings-checkout-card{border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.settings-checkout-card-title{margin:0;font-size:1rem;font-weight:600}.settings-checkout-badge-main{color:#166534;background:#dcfce7;border-radius:999px;margin-top:.35rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.settings-checkout-edit-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem}.settings-checkout-modal-overlay{z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-checkout-modal-backdrop{background:#00000080;border:none;padding:0;position:absolute;inset:0}.settings-checkout-modal-panel{z-index:1;background:#fff;border-radius:8px;width:90%;max-width:500px;padding:2rem;position:relative}.settings-descuento-card{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:.75rem;overflow:hidden}.settings-descuento-card.has-warning{border-color:#f5a623}.settings-descuento-header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;width:100%;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.settings-descuento-header-main{flex-wrap:wrap;flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.settings-descuento-time{color:#1f2937;white-space:nowrap;font-size:.875rem;font-weight:600}.settings-descuento-type-badge{color:#1565c0;white-space:nowrap;background-color:#e3f2fd;border-radius:999px;padding:.2rem .5rem;font-size:.8rem}.settings-descuento-value{color:#16a34a;white-space:nowrap;font-size:.95rem;font-weight:700}.settings-descuento-warning{color:#d97706;font-size:.78rem}.settings-descuento-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.settings-descuento-body{border-top:1px solid #e5e7eb;padding:0 1rem 1rem}.settings-descuento-grid{grid-template-columns:1fr 1fr;align-items:end;gap:.5rem;margin-top:1rem;margin-bottom:1rem;display:grid}.anticipo-card{cursor:pointer;background:#fff;border:3px solid #dee2e6;border-radius:8px;flex-shrink:0;width:100px;height:100px;transition:border-color .15s,background-color .15s}.anticipo-card:hover{border-color:#9ca3af}.anticipo-card.selected{background-color:#f0f9ff;border:3px solid var(--primary)!important}.payment-methods-grid--single{grid-template-columns:1fr;max-width:22rem}.payment-method-card{cursor:pointer;background:#fff;border:2px solid #93c5fd;border-radius:12px;outline:none;flex-direction:column;gap:.75rem;padding:1.25rem;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #00000012}.payment-method-card:hover:not(.disabled):not(.selected){border-color:#60a5fa;box-shadow:0 4px 14px #0000001a}.payment-method-card:focus-visible:not(.disabled){border-color:var(--primary);box-shadow:0 0 0 3px #3b82f640}.payment-method-card.selected{border-color:var(--primary);background-color:#f0f9ff;box-shadow:0 4px 14px #3b82f626}.payment-method-card.disabled{cursor:not-allowed;box-shadow:none;filter:grayscale(.6);opacity:.7;background-color:#f9fafb;border-color:#e5e7eb}.payment-method-card.disabled:not(:has(.payment-method-card__action)){pointer-events:none}.payment-method-card__header{align-items:center;gap:.75rem;display:flex}.payment-method-card__icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.payment-method-card__icon--mp{background-color:#009ee3}.payment-method-card__icon--benko{background-color:#10b981}.payment-method-card__title-group{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.payment-method-card__title{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.payment-method-card__subtitle{color:#6b7280;font-size:.75rem}.payment-method-card__badge-wrap{flex-shrink:0;margin-left:auto}.payment-method-card__select-primary{cursor:inherit;flex-direction:column;gap:.75rem;display:flex}.payment-method-card__tooltip-slot{justify-content:flex-end;margin-top:-.5rem;display:flex}.payment-method-card__body{align-items:center;gap:.5rem;display:flex}.payment-method-card__details{border-top:1px solid #f3f4f6;flex-direction:column;gap:.25rem;padding-top:.25rem;display:flex}.payment-method-card__detail-line{color:#4b5563;margin:0;font-size:.8rem}.payment-method-card__detail-line span{font-weight:600}.payment-method-card__warning{color:#854d0e;background-color:#fef9c3;border:1px solid #fde68a;border-radius:6px;padding:.6rem .875rem;font-size:.8rem;line-height:1.4}.payment-method-card__action{padding-top:.25rem}.payment-method-card__unavailable-msg{color:#9ca3af;margin:0;font-size:.78rem;font-style:italic;line-height:1.4}.btn-connect{color:#fff;cursor:pointer;background-color:#009ee3;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.85rem;font-weight:600;transition:background-color .15s;display:inline-flex}.btn-connect:hover:not(:disabled){background-color:#0082c8}.btn-connect:disabled{cursor:not-allowed;background-color:#93c5fd}.method-status-badge{white-space:nowrap;border-radius:9999px;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.7rem;font-weight:600;display:inline-flex}.method-status-badge__dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.method-status-badge--connected{color:#166534;background-color:#dcfce7}.method-status-badge--connected .method-status-badge__dot{background-color:#16a34a}.method-status-badge--expired{color:#854d0e;background-color:#fef9c3}.method-status-badge--expired .method-status-badge__dot{background-color:#ca8a04}.method-status-badge--disconnected{color:#6b7280;background-color:#f3f4f6}.method-status-badge--disconnected .method-status-badge__dot{background-color:#9ca3af}.commission-badge{letter-spacing:.01em;border-radius:9999px;align-items:center;padding:.2rem .6rem;font-size:.7rem;font-weight:700;display:inline-flex}.commission-badge--amber{color:#92400e;background-color:#fef3c7}.commission-badge--green{color:#166534;background-color:#dcfce7}.commission-tooltip-btn{color:#4b5563;cursor:pointer;background-color:#d1d5db;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:17px;height:17px;padding:0;font-size:.65rem;font-weight:800;line-height:1;transition:background-color .15s;display:inline-flex}.commission-tooltip-btn:hover{color:#1f2937;background-color:#9ca3af}.commission-tooltip-portal{bottom:var(--commission-tooltip-bottom);left:var(--commission-tooltip-left);color:#f9fafb;z-index:1100;pointer-events:none;background-color:#1f2937;border-radius:10px;width:240px;padding:.875rem 1rem;font-size:.75rem;line-height:1.5;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}.commission-tooltip-portal:after{content:"";border:7px solid #0000;border-top-color:#1f2937;position:absolute;top:100%;left:50%;transform:translate(-50%)}.commission-tooltip__title{color:#fff;margin:0 0 .5rem;font-size:.78rem;font-weight:700}.commission-tooltip__row{justify-content:space-between;gap:.5rem;margin:.2rem 0;display:flex}.commission-tooltip__row span:first-child{color:#d1d5db}.commission-tooltip__row span:last-child{white-space:nowrap;color:#fbbf24;font-weight:700}.commission-tooltip__divider{border:none;border-top:1px solid #374151;margin:.5rem 0}.commission-tooltip__note{color:#9ca3af;margin:0;font-size:.7rem;font-style:italic;line-height:1.4}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background-color .2s,opacity .2s,box-shadow .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark,#0369a1);box-shadow:0 2px 8px #0ea5e959}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.anticipo-toggle-row{justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem;display:flex}.anticipo-toggle-row__label{flex:1;min-width:0}.anticipo-indent{border-left:2px solid #d1d5db;margin-left:1.5rem;padding-left:1rem}.anticipo-cards-container{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}@media (width<=560px){.payment-methods-grid{grid-template-columns:1fr}.payment-method-card__header{flex-wrap:wrap}.payment-method-card__badge-wrap{order:3;width:100%;margin-left:0}.anticipo-indent{margin-left:.5rem;padding-left:.75rem}.commission-tooltip{width:210px;left:0;transform:none}.commission-tooltip:after{left:18px;transform:none}}@media (width<=400px){.payment-method-card{padding:1rem}.payment-method-card__title{font-size:.875rem}.method-status-badge{padding:.2rem .5rem;font-size:.65rem}.anticipo-indent{margin-left:0;padding-left:.5rem}.anticipo-card{width:85px;height:90px}}.benko-info-banner{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;align-items:flex-start;gap:.875rem;padding:.875rem 1rem;display:flex}.benko-info-banner__icon{color:#3b82f6;flex-shrink:0;margin-top:2px}.benko-info-banner__title{color:#1e40af;margin:0 0 .3rem;font-size:.875rem;font-weight:700}.benko-info-banner__text{color:#1d4ed8;margin:0;font-size:.82rem;line-height:1.55}.reservations-recurring-payments-page{padding:1rem}.reservations-back-to-calendar{color:#4b5563;align-items:center;gap:.5rem;width:fit-content;margin-bottom:.75rem;padding:.35rem 0;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.reservations-back-to-calendar:hover{color:#111827;text-decoration:none}.reservations-container{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;padding:1em}.reservations-container select.filter-select{border-radius:var(--radius-lg);border:1px solid var(--gray-300);width:fit-content;color:var(--gray-800);cursor:pointer;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-color:#fff;padding:.625rem 1rem;font-size:.875rem}.reservations-container select.filter-select option{color:var(--gray-800);background-color:#fff}.reservations-container .view-toggle{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--gray-800);border:1px solid var(--gray-300);background-color:#fff}.reservations-container .view-toggle svg{color:currentColor;stroke:currentColor}.reservations-container .data-table-container{z-index:1;padding:1rem;animation:.4s fadeIn;position:relative}.btn-new-reservation-text{display:inline}.dragging{opacity:.5;z-index:1000;transform:rotate(5deg)}.drag-mode{opacity:.3!important;pointer-events:none!important;z-index:2400!important;border:2px solid var(--primary)!important;transition:none!important;transform:translate(-50%,-50%)!important;box-shadow:0 8px 32px #0000004d!important}.drag-mode-indicator{background:var(--primary);color:#fff;border-radius:8px;justify-content:space-between;align-items:center;min-width:400px;margin-left:16px;padding:12px 16px;font-size:14px;display:flex;box-shadow:0 4px 12px #0003}.drag-mode-content{flex-direction:column;gap:4px;display:flex}.drag-mode-title{font-size:16px;font-weight:700}.drag-hint{opacity:.9;font-size:12px;font-style:italic}.context-menu{z-index:2400;background:#fff;border:1px solid #ccc;border-radius:4px;min-width:120px;padding:4px 0;position:fixed;box-shadow:0 2px 8px #00000026}.context-menu-item{cursor:pointer;padding:8px 12px;font-size:14px;transition:background-color .2s}.context-menu-item:hover{background-color:#f0f0f0}.drag-navigation-hint{color:#fff;z-index:2401;pointer-events:none;opacity:0;background:#000c;border-radius:8px;padding:12px 16px;font-size:14px;transition:opacity .3s;position:fixed;top:50%;left:20px;transform:translateY(-50%)}.drag-navigation-hint.show{opacity:1}.drag-navigation-hint.right{left:auto;right:20px}.drop-target{border:2px dashed var(--primary)!important;background-color:#4faf441a!important}.drop-target-slot{border-radius:var(--radius-md);transition:all .2s;border:2px dashed var(--primary)!important;background-color:#4faf4426!important}.drop-target-slot .empty-slot{color:var(--primary);background-color:#4faf441a;font-weight:700}.drop-target-slot .occupied-slot{border:1px solid var(--primary);background-color:#4faf441a}.time-slot-cell.drag-over-invalid{border-radius:var(--radius-md);transition:all .2s;border:2px dashed var(--danger)!important;background-color:#dc35451a!important}.time-slot-cell.drag-over-invalid .empty-slot,.time-slot-cell.drag-over-invalid .occupied-slot{color:var(--danger);border-color:var(--danger);background-color:#dc35451a}.court-column.drag-over-invalid{transition:all .2s;border:2px dashed var(--danger)!important;background-color:#dc35450d!important}.court-column{border:1px solid #eee;width:240px;min-width:240px;max-width:240px;transition:all .3s;overflow:hidden}.reservation-card-column{cursor:move;background:var(--primary);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:10;flex-direction:column;justify-content:flex-start;min-height:60px;padding:.4rem;transition:all .2s;display:flex;position:absolute;overflow:hidden}.reservation-card-column:hover{box-shadow:var(--shadow-lg);z-index:1500}.reservation-card-column.resizing{-webkit-user-select:none;user-select:none;border:2px solid var(--primary);box-shadow:0 0 0 2px #4faf4480;cursor:ns-resize!important;transition:none!important}.resize-handle-bottom{cursor:ns-resize;opacity:0;border-radius:0 0 var(--radius-md) var(--radius-md);z-index:10;background:#fff3;justify-content:center;align-items:center;height:8px;transition:opacity .2s;display:flex;position:absolute;bottom:0;left:0;right:0}.reservation-card-column:hover .resize-handle-bottom{opacity:1}.resize-handle-bottom:hover{background:#fff6;opacity:1!important}.resize-handle-bottom svg{color:#fff;pointer-events:none;font-size:12px;transform:rotate(90deg)}.reservation-card-column.resizing .resize-handle-bottom{opacity:1;background:var(--primary)}.reservation-card-column .reservation-info{flex-direction:column;flex-grow:1;gap:.25rem;height:calc(100% - 16px);padding:8px 0;display:flex}.reservation-tooltip{color:#333;z-index:1100;pointer-events:none;background:#fff;border-radius:8px;min-width:220px;max-width:280px;padding:12px;animation:.2s tooltipFadeIn;box-shadow:0 4px 20px #00000026}@keyframes tooltipFadeIn{0%{opacity:0}to{opacity:1}}.reservation-tooltip--right:before{content:"";filter:drop-shadow(-2px 0 2px #0000001a);border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:8px solid #fff;width:0;height:0;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.reservation-tooltip--left:before{content:"";filter:drop-shadow(2px 0 2px #0000001a);border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:8px solid #fff;width:0;height:0;position:absolute;top:50%;right:-8px;transform:translateY(-50%)}.reservation-tooltip .tooltip-header{color:var(--primary);border-bottom:1px solid #e0e0e0;margin-bottom:10px;padding-bottom:8px;font-size:14px}.reservation-tooltip .tooltip-content{flex-direction:column;gap:8px;display:flex}.reservation-tooltip .tooltip-item{color:#555;align-items:center;gap:8px;font-size:13px;display:flex}.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{color:#fff;background:linear-gradient(135deg,#1d4ed8,#1e3a8a);border-bottom:none;padding:1rem}.reservation-detail-info{flex-direction:column;gap:1.5rem;display:flex}.detail-card{border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);transition:var(--transition);z-index:0;background-color:#fff;height:fit-content}.detail-card-content{max-height:500px;padding:1.25rem;overflow:scroll}.detail-card-content-reservations{padding:1.25rem;overflow-y:auto}.detail-field{align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.detail-field-icon{color:var(--primary);flex-shrink:0;font-size:1.125rem}.detail-field label{width:70px;color:var(--gray-600);flex-direction:row;flex-shrink:0;gap:.2rem;margin-bottom:0;margin-right:.5rem;font-size:.875rem;font-weight:600;display:flex}.product-search-container{z-index:10001;margin-bottom:1rem;position:relative;overflow:visible!important}.product-search-container h4{color:var(--gray-800);align-items:center;margin-bottom:1rem;font-size:1rem;font-weight:700;display:flex}.product-search-field{z-index:10001;margin-bottom:0;position:relative;display:block!important;overflow:visible!important}.product-search-icon{color:var(--gray-500);position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.product-search-input{border-radius:var(--radius-lg);border:1px solid var(--gray-200);width:100%;color:var(--gray-800);box-shadow:var(--shadow-sm);background-color:#fff;padding:.75rem 1rem .75rem 2.5rem;font-size:.875rem}.product-autocomplete-list{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);background-color:#fff;max-height:200px;margin-top:.375rem;top:100%;left:0;right:0;overflow-y:auto;z-index:50!important;position:absolute!important}.product-autocomplete-item{cursor:pointer;border:1px solid #dcdcdc;border-bottom:1px solid var(--gray-100);background:0 0;justify-content:space-between;width:100%;padding:.75rem 1rem;transition:background-color .2s;display:flex}.product-name{color:var(--gray-800);font-weight:500}.calendar-container{z-index:1;border-radius:var(--radius-xl);background:#fff;border:1px solid #e5e7eb;padding:1rem;animation:.4s fadeIn;position:relative;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000000f}.calendar-header{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;padding:.5rem;display:flex}.data-table-container .calendar-header{padding-top:0}.calendar-header>h3{flex:0 auto;margin-right:.25rem}.calendar-header h3{color:var(--gray-800);margin:0;font-size:1.25rem;font-weight:600}.calendar-header .calendar-header-filters{border-radius:0;flex:auto;justify-content:flex-end;gap:.5rem;min-width:min(280px,100%);margin-bottom:0;padding:0}.reservations-container .filter-group,.calendar-header .calendar-header-filters .filter-group{min-width:0;margin-bottom:0}.calendar-header--loading{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#fff;border:1px solid #e5e7eb}.calendar-mode-toggle{flex-wrap:wrap;flex:none;gap:.5rem;margin-left:auto;display:flex}.calendar-mode-toggle .view-toggle{color:#000;background:#fff!important;width:fit-content!important}.calendar-mode-toggle .view-toggle.active{color:#fff;border-color:var(--primary);background-color:var(--primary)!important}.calendar-mode-toggle .view-toggle:not(.active),.view-toggle.tabla-view{color:#000!important;background:#fff!important}.view-toggle.whatsapp-notify-btn{color:#fff;background-color:#0f766e;border:none;align-items:center;gap:.5rem;margin-right:.5rem;display:flex}.view-toggle.whatsapp-notify-btn:hover{background-color:#0f766e;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{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);overflow-x:auto}.calendar-table{border-collapse:collapse;background:#fff;width:100%;min-width:600px;display:block}.calendar-table thead,.calendar-table tbody{display:block}.calendar-table tr{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;display:grid}.calendar-day-header{background:var(--primary);color:#fff;text-align:center;border:1px solid var(--primary-dark);vertical-align:middle;min-width:0;padding:.75rem .5rem;font-size:.875rem;font-weight:600}.calendar-week{border-bottom:1px solid var(--gray-200)}.calendar-day-cell{border:1px solid var(--gray-200);vertical-align:top;min-width:0;min-height:120px;transition:var(--transition);cursor:pointer;background:#fff;padding:.5rem;position:relative}.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{color:var(--gray-700);text-align:center;border-radius:var(--radius-sm);background:var(--gray-100);width:fit-content;min-width:24px;margin:0 auto .5rem;padding:.25rem;font-size:.875rem;font-weight:600}.calendar-reservations{flex-direction:column;gap:.25rem;display:flex}.calendar-item{background:var(--primary-light);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--primary);color:var(--primary-dark);transition:var(--transition);flex-direction:column;gap:.125rem;min-height:55px;margin-bottom:.25rem;padding:.375rem .5rem;line-height:1.2;display:flex;overflow:hidden}.calendar-item:hover{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.calendar-reservation-item{background:var(--primary-light);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--primary);color:var(--primary-dark);transition:var(--transition);flex-direction:column;gap:.125rem;margin-bottom:.25rem;padding:.375rem .5rem;line-height:1.2;display:flex;overflow:hidden}.calendar-reservation-item:hover{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.reservation-time{opacity:.9;font-size:.7rem;font-weight:600}.calendar-reservation-item .reservation-info{flex-direction:column;gap:.125rem;display:flex}.reservation-client-court{white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;line-height:1.2;overflow:hidden}.reservation-students-info{opacity:.9;align-items:center;gap:.25rem;font-size:.65rem;display:flex}.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;text-overflow:ellipsis;overflow:hidden}.day-view-container{margin-top:1.5rem;overflow-x:scroll}.day-view-header{align-items:center;margin-bottom:1rem;display:flex}.day-view-header h4{color:var(--gray-800);margin:0;font-size:1.125rem;font-weight:600}.courts-columns-container{border-radius:var(--radius-lg);border:1px solid var(--gray-200);background:#fff;width:fit-content;margin-top:1rem}.courts-columns-container.zoomed{width:100%;overflow:visible}.courts-grid-fixed{width:fit-content;display:flex;position:relative;overflow:visible}.courts-scrollable-container{flex:1;width:fit-content;overflow:auto visible}.courts-scrollable-container.zoomed{width:100%;overflow:hidden visible}.courts-grid{background:#fff;width:fit-content;min-width:fit-content;display:flex}.time-column{border-right:1px solid var(--gray-200);background:var(--gray-50);z-index:1000;flex-shrink:0;width:60px;min-width:60px;position:sticky;left:0}.time-header{text-align:center;border-bottom:1px solid var(--gray-200);background:var(--gray-100);color:var(--gray-700);padding:1rem .5rem;font-size:.875rem;font-weight:600}.reservations-container .time-header{box-sizing:border-box!important;justify-content:center!important;align-items:center!important;height:60px!important;padding:1rem .5rem!important;display:flex!important}.reservations-container .time-header-teacher{box-sizing:border-box!important;justify-content:center!important;align-items:center!important;height:40px!important;padding:1rem .5rem!important;display:flex!important}.time-slot-label{text-align:center;border-bottom:1px solid var(--gray-200);color:var(--gray-600);box-sizing:border-box;justify-content:center;align-items:center;height:40px;padding:.75rem .5rem;font-size:.75rem;display:flex}.reservations-container .time-slot-label{border-bottom:1px solid var(--gray-300)!important;box-sizing:border-box!important;height:40px!important;padding:0 .5rem!important}.court-header{text-align:center;border-bottom:1px solid var(--gray-200);background:var(--primary-light);height:auto;min-height:60px;color:var(--primary);box-sizing:border-box;justify-content:center;align-items:center;padding:.65rem 2.75rem .65rem 1rem;font-size:.875rem;font-weight:600;display:flex;position:relative}.court-header-name-block{flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-width:0;display:flex}.court-header-name{min-width:0;padding:0 .25rem;line-height:1.2}.court-header-type-subtitle{opacity:.88;color:var(--primary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.72rem;font-weight:500;line-height:1.2;overflow:hidden}.court-header-title-row{flex:1;justify-content:center;align-items:center;gap:.4rem;min-width:0;padding-right:.25rem;display:inline-flex}.court-header-sport-icon{color:var(--primary);opacity:.9;flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.court-header-actions{justify-content:flex-end;align-items:center;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.court-catalog-prices-trigger{border:1px solid color-mix(in srgb, var(--gray-400) 55%, transparent);border-radius:var(--radius-md,6px);width:28px;height:28px;color:var(--gray-700);box-shadow:none;cursor:pointer;background:#ffffffbf;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.court-catalog-prices-trigger:hover{border-color:var(--gray-400);color:var(--primary);background:#fff}.court-catalog-prices-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.court-catalog-prices-trigger--disabled,.court-catalog-prices-trigger--disabled:hover{opacity:.45;cursor:not-allowed;color:var(--gray-500);border-color:var(--gray-300);background:#ffffff73}.court-catalog-prices-popover{border:1px solid var(--gray-200);border-radius:var(--radius-lg,10px);min-width:220px;max-width:min(320px,100vw - 16px);max-height:min(320px,70vh);box-shadow:var(--shadow-lg,0 10px 40px #0000001f);color:var(--gray-800);background:#fff;padding:.65rem .75rem;font-size:.8125rem;overflow-y:auto}.court-catalog-prices-popover__title{text-transform:uppercase;letter-spacing:.02em;color:var(--gray-600);border-bottom:1px solid var(--gray-100);margin-bottom:.5rem;padding-bottom:.35rem;font-size:.75rem;font-weight:700}.court-catalog-prices-popover__section{margin-bottom:.65rem}.court-catalog-prices-popover__section:last-child{margin-bottom:0}.court-catalog-prices-popover__section-head{color:var(--gray-800);align-items:center;gap:.35rem;margin-bottom:.35rem;font-size:.8rem;font-weight:700;display:flex}.court-catalog-prices-popover__section-icon{color:var(--primary);opacity:.9;flex-shrink:0}.court-catalog-prices-popover__list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.court-catalog-prices-popover__row{border-radius:var(--radius-sm,4px);background:var(--gray-50);grid-template-columns:1fr auto;align-items:baseline;gap:.15rem .5rem;padding:.35rem .4rem;display:grid}.court-catalog-prices-popover__duration{color:var(--gray-700);font-weight:600}.court-catalog-prices-popover__row-note{color:var(--gray-500);font-size:.72rem;font-weight:500}.court-catalog-prices-popover__price{color:var(--primary);text-align:right;font-weight:700}.court-reservations{height:fit-content;position:relative;overflow:visible}.time-slot-cell{z-index:0;justify-content:center;align-items:center;height:40px;margin:0;padding:0;display:flex;position:relative;overflow:visible}.empty-slot{width:100%;height:100%;color:var(--gray-400);cursor:pointer;transition:var(--transition);border-radius:var(--radius-md);box-sizing:border-box;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.5rem;display:flex;min-height:0!important;max-height:40px!important}.empty-slot:hover{background:var(--gray-100);color:var(--primary)}.time-slot-cell.disabled-by-days-off-calendar{opacity:.6;background-color:#f8f9fa}.time-slot-cell.disabled-by-days-off-calendar .empty-slot{cursor:not-allowed;background-color:#e9ecef}.time-slot-cell.disabled-by-days-off-calendar .empty-slot:hover{color:#4b5563;background-color:#e9ecef}.empty-slot.disabled-by-days-off{color:#4b5563;cursor:not-allowed;background-color:#e9ecef}.empty-slot.disabled-by-days-off:hover{color:#4b5563;background-color:#e9ecef}.students-available{font-weight:600}.students-available.full{color:#ef4444}.students-available.low{color:#f59e0b}.students-available.good{color:#10b981}.reservation-students{opacity:.95;flex-shrink:0;align-items:center;gap:.25rem;margin:.15rem 0;font-size:.65rem;display:flex}.reservation-students svg{color:#fff;background:#1f2937;border:1px solid #fff3;border-radius:50%;width:20px;height:20px;padding:.2rem;box-shadow:0 1px 3px #0000004d}.reservation-students .students-available{font-size:.6rem;font-weight:600;line-height:1}.reservation-students .students-available.full{color:#1f2937;background:#fca5a5;border:1px solid #dc2626;border-radius:.2rem;padding:.1rem .3rem;font-weight:700}.reservation-students .students-available.low{color:#1f2937;background:#fde68a;border:1px solid #d97706;border-radius:.2rem;padding:.1rem .3rem;font-weight:700}.reservation-students .students-available.good{color:#1f2937;background:#fff;border:1px solid #e5e7eb;border-radius:.2rem;padding:.1rem .3rem;font-weight:700}.day-view-container .reservation-info{flex-direction:column;justify-content:space-between;gap:.15rem;height:100%;display:flex}.reservation-client{margin-bottom:.1rem;font-size:.7rem;font-weight:600;line-height:1.1}.reservation-status{opacity:.9;margin-top:auto;font-size:.65rem;font-weight:500}.reservations-container .time-slot-cell{box-sizing:border-box!important;height:40px!important}.reservations-container .empty-slot{border-bottom:1px solid #dcdcdc;color:#0000!important;cursor:default!important;font-size:0!important}.reservations-container .empty-slot:hover{color:#0000!important;background:0 0!important}.reservations-container .court-column{vertical-align:top!important;margin:0!important;display:inline-block!important}.reservations-container .courts-grid{align-items:flex-start!important;gap:0!important;display:flex!important}.reservations-container .time-column{vertical-align:top!important;display:inline-block!important}.reservations-container .court-header{box-sizing:border-box!important;justify-content:center!important;align-items:center!important;height:auto!important;min-height:60px!important;padding:.65rem 2.75rem .65rem 1rem!important;display:flex!important;position:relative!important}.reservations-container .court-reservations{vertical-align:top!important;position:relative!important;top:0!important}.calendar-view-container{border-radius:var(--radius-lg);border:1px solid var(--gray-200);margin-top:1rem;overflow-x:auto}.calendar-grid{background:#fff;grid-template-columns:80px 1fr;min-width:fit-content;display:grid}.reservations-container .calendar-grid{grid-template-columns:50px 1fr!important}@media (width<=768px){.reservations-container .calendar-view-container{border-radius:var(--radius-md);margin-top:.5rem;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{margin:0 auto .25rem;padding:.125rem .25rem;font-size:.75rem}.calendar-item,.calendar-reservation-item{min-height:55px;font-size:var(--font-size-xs);flex-direction:column;justify-content:center;margin-bottom:.125rem;padding:.25rem .375rem;line-height:1.1;display:flex}.reservations-container .calendar-grid{min-width:100%;grid-template-columns:45px 1fr!important}.reservations-container .time-header,.reservations-container .events-header{height:45px!important;padding:.5rem .25rem!important;font-size:.75rem!important}.reservations-container .time-slot-label{justify-content:center!important;align-items:center!important;height:40px!important;min-height:0!important;max-height:40px!important;padding:0 .25rem!important;font-size:.7rem!important;display:flex!important}.reservations-container .time-slot-row{height:30px!important;padding:0 4px!important}}.events-column{border-left:1px solid var(--gray-200)}.events-header{text-align:center;border-bottom:1px solid var(--gray-200);background:var(--primary-light);height:40px;color:var(--primary);justify-content:center;align-items:center;padding:.5rem;font-size:.875rem;font-weight:600;display:flex}.events-container{margin:0;padding:0;position:relative}.time-slot-row{border-bottom:1px solid var(--gray-200);align-items:center;height:40px;padding:0 8px;display:flex}.empty-time-slot{width:100%;height:100%}.reservations-container .time-slot-row{border-bottom:1px solid var(--gray-300)!important}.reservation-card{border-left:3px solid var(--primary);box-shadow:var(--shadow-md);z-index:10;white-space:nowrap;text-overflow:ellipsis;border-radius:var(--radius-md);width:fit-content;height:calc(100% - .75rem);transition:var(--transition);background:#fff;align-items:center;padding:1.5rem .75rem .625rem;font-size:.875rem;display:flex;top:0;left:.375rem;right:.375rem;overflow:hidden}.reservation-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.reservation-modal{width:65vw;min-width:50vw;max-width:65vw;height:100vh;box-shadow:var(--shadow-xl);background:#fff;padding:0;overflow:hidden}.reservation-modal-header{color:#1f2937;border-bottom:1px solid var(--gray-200);background:#fff;border-radius:0;padding:1rem}.reservation-modal-header .modal-title{color:#1f2937}.reservation-modal-header .modal-close{color:#64748b}.reservation-modal-header .modal-close:hover{color:#1f2937}.reservation-modal--detail .reservation-modal-header.reservation-detail-modal-header,.reservation-detail-modal-header{color:#1f2937;border-bottom:1px solid var(--gray-200);background:#fff;border-radius:0}.reservation-modal--detail-pending .reservation-modal-header.reservation-detail-modal-header{background:#fef3c7;border-bottom:1px solid #fde68a}.reservation-modal--detail .reservation-modal-header.reservation-detail-modal-header .modal-title{color:#1f2937}.reservation-modal--detail .reservation-modal-header.reservation-detail-modal-header .modal-close{color:#64748b}.reservation-modal--detail .reservation-modal-header.reservation-detail-modal-header .modal-close:hover{color:#1f2937}.reservation-modal-body{overflow-y:auto;max-height:calc(100% - 73px)!important;padding:1rem!important;overflow-x:visible!important}.reservation-products-section{z-index:10002;position:relative;overflow:visible!important}.reservation-products-section--readonly,.payment-section--readonly{pointer-events:none}.reservation-progress{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.progress-step{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative;border:none!important;width:fit-content!important;height:fit-content!important}.step-number{background-color:var(--gray-200);width:2.25rem;height:2.25rem;color:var(--gray-600);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;font-weight:700;transition:all .3s;display:flex}.step-label{color:var(--gray-600);font-size:.75rem;font-weight:600;transition:all .3s}.progress-step-active{box-shadow:none!important;background:0 0!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{background-color:var(--gray-200);z-index:0;flex-grow:1;height:2px;margin:0 .5rem;position:relative;top:-1.125rem}.reservation-type-options{justify-content:center;gap:1.5rem;margin-top:1rem;display:flex}.reservation-type-card{border-radius:var(--radius-xl);border:2px solid var(--gray-200);cursor:pointer;background-color:#fff;flex-direction:column;align-items:center;width:200px;padding:1rem;transition:all .3s;display:flex}.reservation-type-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-5px)}.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;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;transition:all .3s;display:flex;margin-right:0!important}.reservation-type-card.selected .type-icon{background-color:var(--primary);color:#fff}.type-info{text-align:center}.type-info h5{color:var(--gray-800);margin-bottom:.5rem;font-size:1rem;font-weight:700}.type-info p{color:var(--gray-600);font-size:.875rem}.date-selection{animation:.3s slideIn}.date-navigation{justify-content:center;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex;position:relative}.nav-button{border:1px solid var(--gray-200);cursor:pointer;width:2.5rem;height:2.5rem;color:var(--gray-600);background-color:#fff;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.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{scrollbar-width:none;-ms-overflow-style:none;gap:.75rem;padding:.75rem 0;display:flex;overflow-x:auto}.date-cards-container::-webkit-scrollbar{display:none}.date-card{border-radius:var(--radius-xl);border:2px solid var(--gray-200);cursor:pointer;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;width:5rem;height:5rem;transition:all .2s;display:flex}.date-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}.selected{border-color:var(--primary);box-shadow:var(--shadow-md)}.input{width:100px}.date-card-day{color:var(--gray-600);text-transform:uppercase;font-size:.75rem;font-weight:700}.date-card-date{color:var(--gray-800);font-size:1.25rem;font-weight:800}.weekday-selection{animation:.3s slideIn}.weekday-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.weekday-card{border-radius:var(--radius-xl);border:2px solid var(--gray-200);cursor:pointer;background-color:#fff;flex-direction:column;align-items:center;padding:1.25rem;transition:all .2s;display:flex}.weekday-icon{background-color:var(--gray-100);width:3rem;height:3rem;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.75rem;display:flex}.weekday-name{color:var(--gray-800);font-size:.875rem;font-weight:700}.time-slot-selection{animation:.3s slideIn}.time-slots-container{margin-bottom:1rem}.loading-slots{color:var(--gray-600);flex-direction:column;align-items:center;padding:3rem;display:flex}.no-slots-message{color:var(--gray-600);text-align:center;flex-direction:column;align-items:center;padding:3rem;display:flex}.no-slots-message svg{color:var(--gray-400);margin-bottom:1rem}.try-another-date{background-color:var(--primary);color:#fff;border-radius:var(--radius-lg);cursor:pointer;border:none;margin-top:1rem;padding:.5rem 1rem;font-weight:600;transition:all .2s}.try-another-date:hover{background-color:var(--primary-dark)}.time-slots-grid{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.time-slot-card{border-radius:var(--radius-xl);border:2px solid var(--gray-200);cursor:pointer;background-color:#fff;flex-direction:column;align-items:center;width:160px;max-width:160px;padding:1.25rem;transition:all .2s;display:flex}.time-slot-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}.time-slot-card.disabled-by-days-off{cursor:not-allowed;opacity:.6;background-color:#f8f9fa;border-color:#dee2e6}.time-slot-card.disabled-by-days-off:hover{box-shadow:none;border-color:#dee2e6;transform: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{color:#dc3545;font-size:.75rem;font-weight:500}.time-slot-icon{width:3rem;height:3rem;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.time-slot-time{color:var(--gray-800);margin-bottom:.25rem;font-size:1rem;font-weight:700}.time-slot-duration{color:var(--gray-600);font-size:.875rem}.reservation-confirmation{animation:.3s slideIn}.confirm-step-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-right:.25rem;display:flex}.confirm-step-header .back-button--inline{flex-shrink:0;margin:0;padding:.5rem .85rem;font-size:.8125rem}.confirm-section-title{color:var(--gray-800);flex:1;min-width:0;margin:0;font-size:.9375rem;font-weight:600;line-height:1.35}@media (width>=480px){.confirm-section-title{font-size:1rem}}.reservation-summary{margin-bottom:1rem}.summary-card{border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);background-color:#fff;margin-bottom:1rem;overflow:hidden}.summary-header{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.summary-icon{color:var(--primary);font-size:1.25rem}.summary-header h5{color:var(--gray-800);margin:0;font-size:1rem;font-weight:700}.summary-details{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;padding:1rem;display:grid}.summary-details--inline-pair{grid-template-columns:unset;flex-flow:wrap;align-items:center;gap:.5rem 1rem;padding:.6rem .85rem;display:flex}.summary-pair-item{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);flex-direction:row;flex:0 auto;align-items:baseline;gap:.35rem;min-width:0;padding:.35rem .5rem;display:inline-flex}.summary-label--pair{color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.6875rem;font-weight:700}.summary-label--pair:after{content:":";margin-left:0}.summary-value--pair{color:var(--gray-800);min-height:unset;word-break:break-word;font-size:.8125rem;font-weight:600;line-height:1.3}.summary-details--inline-pair .summary-pair-item:first-child .summary-value--pair{white-space:nowrap;max-width:none}.summary-details--inline-pair .summary-label--pair{flex-shrink:0;align-items:baseline;display:inline-flex}.summary-details--inline-pair .summary-value--pair{display:inline}.summary-details--inline-pair .summary-pair-item:last-child .summary-value--pair{white-space:normal;max-width:min(100%,22rem)}.summary-value--pair-highlight{color:var(--primary);font-weight:700}.summary-details--price-pair .summary-pair-item .summary-value--money{white-space:nowrap;font-variant-numeric:tabular-nums;gap:0;max-width:none;display:inline}.summary-details--price-pair .summary-pair-item--discount-line{border-radius:var(--radius-md);background:#16a34a14;border:1px solid #16a34a47;padding:.4rem .55rem;display:block}.summary-discount-line-all{color:#16a34a;font-variant-numeric:tabular-nums;white-space:normal;word-break:break-word;font-size:.8125rem;font-weight:700;line-height:1.35}.summary-details--price-pair .summary-label--pair{-webkit-hyphens:auto;hyphens:auto;text-transform:none;letter-spacing:.02em;max-width:7.25rem;font-size:.65rem;line-height:1.25}.summary-details--price-pair .summary-pair-item{align-items:center;gap:.45rem}.summary-item{background:linear-gradient(135deg, var(--gray-50) 0%, white 100%);border:1px solid var(--gray-200);border-radius:var(--radius-lg);flex-direction:column;gap:.5rem;width:100%;min-width:400px;padding:1rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.summary-item:before{content:"";background:var(--primary);opacity:0;width:4px;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.summary-item:hover{border-color:var(--primary-light);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.summary-item:hover:before{opacity:1}.dates{flex-direction:column;gap:.5rem;width:100%;display:flex}.summary-label{color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex}.summary-label svg{color:var(--primary);font-size:1rem}.summary-value{color:var(--gray-900);align-items:center;gap:.5rem;min-height:24px;font-size:1rem;font-weight:600;display:flex}.summary-value input{border:1px solid var(--gray-300);border-radius:var(--radius-md);width:100%;padding:.5rem;font-size:.875rem;transition:all .2s}.summary-value input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.summary-value.highlight{color:var(--primary);font-size:1.125rem;font-weight:700}.court-selection{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:#fff;flex-direction:column;grid-column:1/-1;gap:.75rem;padding:1rem;display:flex}.court-select{border-radius:var(--radius-md);border:1px solid var(--gray-300);width:100%;color:var(--gray-800);cursor:pointer;background-color:#fff;padding:.75rem;font-size:.875rem;transition:all .2s}.court-select:hover{border-color:var(--primary)}.court-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.summary-details>.summary-item:first-child,.summary-details>.summary-item:nth-child(2),.summary-details>.summary-item:nth-child(3){background:linear-gradient(135deg,#f0f9ff 0%,#fff 100%)}.client-selection-container{border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);background-color:#fff;scroll-margin-bottom:min(320px,42vh);overflow:visible}.client-selection-header{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.client-icon{color:var(--primary);font-size:1.25rem}.client-selection-header h5{color:var(--gray-800);margin:0;font-size:1rem;font-weight:700}.client-search-container{z-index:1001;padding:1.25rem;position:relative;overflow:visible!important}.search-with-icon{z-index:10001;position:relative;overflow:visible!important}.client-search-icon{color:var(--gray-500);position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.client-autocomplete{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);background-color:#fff;flex-direction:column;gap:.5rem;max-height:calc(100vh - 300px);margin-top:.375rem;padding:.5rem;display:flex;top:100%;left:0;right:0;overflow-y:auto;z-index:50!important;position:relative!important}.client-option{text-align:left;background:var(--gray-50);cursor:pointer;border:1px solid #dcdcdc;border-bottom:1px solid var(--gray-100);border-radius:5px;padding:.75rem 1rem;transition:background-color .2s}.client-option:last-child{border-bottom:none}.remove-client-btn{color:var(--gray-500);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.25rem;transition:all .2s}.remove-client-btn:hover{background-color:var(--gray-200);color:var(--gray-700)}.slot-filters{flex-wrap:wrap;gap:.5rem;display:flex}.back-button{border:1px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-600);cursor:pointer;background-color:#fff;align-items:center;gap:.5rem;margin:1rem;padding:.75rem 1.5rem;font-weight:600;transition:all .2s;display:flex}.back-button:hover{background-color:var(--gray-100);border-color:var(--gray-300);color:var(--gray-800)}.save-reservation-btn{background-color:var(--primary);border-radius:var(--radius-lg);color:#fff;cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:700;transition:all .2s;display:flex}.save-reservation-btn:hover:not(.disabled){background-color:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.save-reservation-btn.disabled{opacity:.5;cursor:not-allowed}.reservation-detail-buttons{background-color:var(--gray-50);border-top:1px solid var(--gray-200);flex-wrap:wrap;justify-content:flex-end;gap:1rem;margin-top:auto;padding:1rem;display:flex;margin-bottom:3rem!important}.finalize-btn:hover{background-color:var(--success-dark)}.finalize-btn.loading{cursor:not-allowed;pointer-events:none;background-color:#6b7280!important}.finalize-btn.loading:hover{transform:none;background-color:#6b7280!important}.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{margin:1rem;display:flex}.view-mode-toggle{gap:.5rem;display:flex}.reservations-container .view-mode-toggle .view-toggle.active,.reservations-container .view-toggle.active{background:var(--primary)!important;color:#fff!important}@media (width<=768px){.reservation-modal{width:100vw;max-width:100vw;margin:0!important}.reservation-type-options{flex-wrap:wrap;justify-content:center;align-items:center;flex-direction:row!important}.reservation-type-card{width:100%;max-width:140px}.weekday-cards{grid-template-columns:repeat(2,1fr)}.time-slots-grid{flex-wrap:wrap;display:flex}.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{border-bottom:1px solid var(--gray-200);grid-template-columns:2fr 1fr 1fr 1fr 1fr 40px;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.875rem;display:grid}.item-price{color:var(--gray-700)}.discount-input{border:1px solid var(--gray-200);border-radius:var(--radius-md);width:100%;padding:.375rem .5rem;font-size:.875rem}.payment-details{border-top:1px solid var(--gray-200);margin-top:1.5rem;padding-top:1.5rem}.order-summary{background-color:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1rem}.summary-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.summary-row:last-child{margin-bottom:0}.discount-row{border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);padding:.5rem 0}.discount-input-container{align-items:center;gap:.5rem;display:flex}.global-discount-input{border:1px solid var(--gray-200);border-radius:var(--radius-md);width:80px;padding:.25rem .5rem;font-size:.875rem}.reservations-discount .discount-input-container{flex-direction:column;gap:4px;min-width:120px;display:flex}.reservations-discount .discount-type-toggle{align-self:flex-start;min-width:60px;margin:auto}.reservations-discount .reservations-discount-input{width:100%;margin-top:4px}.total-row{border-top:2px solid var(--primary);padding-top:.5rem;font-size:1.125rem}.per-player-row{border-top:1px solid var(--gray-200);background-color:var(--gray-50);border-radius:0 0 var(--radius-lg) var(--radius-lg);margin-top:.5rem;padding:.75rem 1rem;font-size:1rem}.per-player-value{color:var(--success);font-size:1.125rem;font-weight:700}.payment-section-title{color:var(--gray-800);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;font-weight:700;display:flex}.payment-icon{color:var(--primary)}.payment-methods-list{margin-bottom:1rem}.payment-method-info{flex-grow:1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.payment-method-icon-label{align-items:center;gap:.5rem;display:flex}.payment-method-comment{color:var(--gray-600);font-size:.875rem;font-style:italic}.remove-payment-btn{color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:50%;margin-left:1rem;padding:.25rem;transition:all .2s}.remove-payment-btn:hover{background-color:var(--danger-light)}.payment-total-row{background-color:var(--gray-100);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;font-weight:700;display:flex}.payment-total-label{color:var(--gray-700)}.payment-total-amount{color:var(--primary)}.no-payment-methods{text-align:center;color:var(--gray-600);background-color:var(--gray-50);border-radius:var(--radius-lg);padding:1rem;font-style:italic}.add-payment-method{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background-color:#fff;padding:1rem}.add-payment-btn{background-color:var(--primary);color:#fff;border-radius:var(--radius-lg);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex;margin:0!important}.add-payment-btn:disabled{opacity:.5;cursor:not-allowed}@media (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{text-wrap:wrap;text-overflow:ellipsis;flex-wrap:wrap;margin-bottom:.25rem;font-size:.8rem;font-weight:700;display:flex}.reservation-type{opacity:.8;text-transform:uppercase;color:#000;text-align:center;background:#fffc;border-radius:.25rem;margin-top:0;margin-left:auto;padding:.125rem .25rem;font-size:.65rem;font-weight:600}.students-dropdown{border:none!important;position:relative!important}.students-dropdown-trigger{border:1px solid var(--gray-200);border-radius:var(--radius-lg);width:100%;color:var(--gray-700);cursor:pointer;text-align:left;background-color:#fff;justify-content:space-between;align-items:center;padding:.75rem;font-size:.875rem;transition:all .2s;display:flex}.students-dropdown-trigger:hover{border-color:var(--primary);background-color:var(--gray-50)}.students-dropdown-trigger:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4faf441a}.students-dropdown-content{border:1px solid var(--gray-200);border-radius:var(--radius-lg);z-index:1000;background:#fff;flex-direction:column;width:100%;margin-top:.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.students-dropdown-header{border-bottom:1px solid var(--gray-200);background-color:var(--gray-50);border-radius:var(--radius-lg) var(--radius-lg) 0 0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.students-dropdown-header h4{color:var(--gray-800);margin:0;font-size:.95rem;font-weight:600}.students-dropdown-close{cursor:pointer;color:var(--gray-500);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.students-dropdown-close:hover{background-color:var(--gray-200);color:var(--gray-700)}.students-dropdown-list{max-height:none;padding:.4em}.student-item{border:1px solid #dcdcdc;border-bottom:1px solid var(--gray-100);background:#fff;margin-bottom:1rem;padding:.2rem;transition:all .2s;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{flex-direction:column;justify-content:left;gap:.5rem;width:100%;display:flex}.student-name{color:var(--gray-800);margin-bottom:.25rem;font-size:.9rem;font-weight:600}.student-details{flex-wrap:wrap;justify-content:left;align-items:center;gap:.5rem;width:100%;display:flex}.student-type{background-color:var(--primary-light);color:var(--primary);border-radius:12px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.student-classes{background-color:var(--gray-100);color:var(--gray-700);border-radius:12px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.student-contact{flex-wrap:wrap;gap:1rem;margin-top:.25rem;display:flex}.student-email,.student-phone{color:var(--gray-600);align-items:center;gap:.25rem;font-size:.8rem;display:flex}.student-email svg,.student-phone svg{color:var(--gray-500)}@media (width<=768px){.students-dropdown-trigger{padding:.6rem;font-size:.8rem}.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{z-index:1;position:relative;border:2px solid #e2e8f0!important;border-radius:12px!important;margin:1rem 0!important;overflow:auto hidden!important}.reservations-items-table{z-index:1;position:relative;border-collapse:separate!important;border-spacing:0!important;table-layout:auto!important;background-color:#fff!important;width:100%!important;min-width:750px!important}.reservations-items-table thead th{text-align:center!important;color:#374151!important;text-transform:uppercase!important;letter-spacing:.3px!important;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%)!important;border-bottom:2px solid #cbd5e1!important;padding:.6rem .3rem!important;font-size:.75rem!important;font-weight:700!important}.reservations-items-table tbody td{z-index:1;position:relative;color:#1f2937!important;text-align:center!important;vertical-align:middle!important;border-bottom:1px solid #f1f5f9!important;padding:.5rem .3rem!important;font-size:.8rem!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{text-align:left!important;text-overflow:ellipsis!important;white-space:nowrap!important;width:150px!important;min-width:150px!important;max-width:180px!important;font-weight:600!important;overflow:hidden!important}.reservations-price-header,.reservations-price{color:#059669!important;width:90px!important;min-width:90px!important;font-size:.8rem!important;font-weight:500!important}.reservations-qty-header,.reservations-qty{width:80px!important;min-width:80px!important;padding:.5rem .2rem!important}.reservations-discount-header,.reservations-discount{width:120px!important;min-width:120px!important;padding:.5rem .2rem!important}.reservations-total-header,.reservations-total{color:#dc2626!important;width:100px!important;min-width:100px!important;font-size:.8rem!important;font-weight:700!important}.reservations-actions-header,.reservations-actions{width:60px!important;min-width:60px!important}.reservations-qty-input{text-align:center!important;box-sizing:border-box!important;background-color:#fff!important;border:1px solid #d1d5db!important;border-radius:4px!important;width:50px!important;height:28px!important;margin:0 auto!important;padding:.2rem!important;font-size:.75rem!important;font-weight:500!important;transition:all .2s!important;display:block!important}.reservations-discount-input{text-align:center!important;box-sizing:border-box!important;background-color:#fff!important;border:1px solid #d1d5db!important;border-radius:4px!important;width:90px!important;height:28px!important;margin:0 auto!important;padding:.2rem .4rem!important;font-size:.75rem!important;font-weight:500!important;transition:all .2s!important;display:block!important}.reservations-qty-input:focus,.reservations-discount-input:focus{background-color:#fefefe!important;border-color:#3b82f6!important;outline:none!important;box-shadow:0 0 0 3px #3b82f61a!important}.reservations-remove-btn{color:#dc2626!important;cursor:pointer!important;background:0 0!important;border:none!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:30px!important;height:30px!important;margin:0 auto!important;padding:.25rem!important;font-size:14px!important;transition:all .2s!important;display:flex!important}.reservations-remove-btn:hover{color:#991b1b!important;background-color:#fee2e2!important;transform:scale(1.1)!important}.reservations-no-items-msg{text-align:center!important;color:#6b7280!important;padding:1rem!important;font-size:.875rem!important;font-style:italic!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{text-align:center!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #d1d5db!important;border-radius:4px!important;width:50px!important;height:28px!important;margin:0 auto!important;padding:.2rem!important;font-size:.75rem!important;display:block!important}.modal-content .reservations-items-table .reservations-discount-input{text-align:center!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #d1d5db!important;border-radius:4px!important;width:90px!important;height:28px!important;margin:0 auto!important;padding:.2rem .4rem!important;font-size:.75rem!important;display:block!important}.modal-content .reservations-items-table .reservations-qty{width:80px!important;min-width:80px!important;max-width:80px!important;padding:.5rem .2rem!important}.modal-content .reservations-items-table .reservations-discount{width:120px!important;min-width:120px!important;max-width:120px!important;padding:.5rem .2rem!important}.modal-content .reservations-items-table .reservations-product{text-align:left!important;width:150px!important;min-width:150px!important;max-width:180px!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{color:#6b7280!important;-webkit-user-select:none!important;user-select:none!important;pointer-events:none!important;font-size:1.2rem!important;font-weight:600!important;transition:all .2s!important}.empty-slot:hover .empty-slot-plus{color:var(--accent)!important;transform:scale(1.1)!important}.empty-slot:active{background-color:rgba(var(--accent-rgb), .2)!important;transform:scale(.98)!important}.payment-mode-selection-container{border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);background-color:#fff;margin-bottom:1rem;overflow:hidden}.payment-mode-header{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.payment-mode-header h5{color:var(--gray-800);margin:0;font-size:1.1rem;font-weight:600}.payment-mode-icon{color:var(--primary);font-size:1.25rem}.payment-mode-options{justify-content:center;gap:1rem;padding:1rem;display:flex}.payment-mode-card{border-radius:var(--radius-xl);border:2px solid var(--gray-200);cursor:pointer;text-align:center;background-color:#fff;flex-direction:column;align-items:center;width:200px;padding:1rem;transition:all .3s;display:flex}.payment-mode-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-5px)}.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;color:var(--gray-600);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1rem;transition:all .3s;display:flex}.payment-mode-card.selected .payment-mode-icon{background-color:var(--primary);color:#fff}.payment-mode-info h6{color:var(--gray-800);margin:0 0 .5rem;font-size:1rem;font-weight:600}.payment-mode-info p{color:var(--gray-600);margin:0;font-size:.875rem}@media (width<=768px){.payment-mode-options{flex-direction:column;align-items:center}.payment-mode-card{width:100%;max-width:300px}}.category-search-btn{color:var(--primary);border:1px solid var(--gray-300);border-radius:var(--radius-lg);cursor:pointer;background:#fff;justify-content:center;align-items:center;min-width:48px;height:100%;margin:.5rem 0;padding:.75rem;font-size:1.125rem;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000001a}.category-search-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.category-search-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.category-card{border:2px solid var(--gray-200);border-radius:var(--radius-xl);cursor:pointer;text-align:center;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:140px;padding:1rem;transition:all .3s;display:flex}.category-info{flex-direction:column;flex:1;justify-content:center;display:flex}.category-name{color:var(--gray-800);margin:0 0 .5rem;font-size:1rem;font-weight:700;line-height:1.3}.category-count{color:var(--gray-600);margin:0;font-size:.875rem;font-weight:500}.category-products-container{flex-direction:column;gap:1.5rem;display:flex}.back-to-categories-btn{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;align-self:flex-start;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.product-card{border:2px solid var(--gray-200);border-radius:var(--radius-xl);cursor:pointer;text-align:center;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#fff;flex-direction:column;justify-content:space-between;align-items:center;min-height:160px;padding:1rem;transition:all .3s;display:flex;overflow:hidden}.product-image{border-radius:var(--radius-lg);background:var(--gray-100);flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:.75rem;display:flex;overflow:hidden}.product-image img{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:100%}.no-categories,.no-content{color:var(--gray-500);text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.no-categories svg,.no-content svg{opacity:.5;margin-bottom:1rem}.no-categories p,.no-content p{margin:0;font-size:1rem;font-weight:500}@media (width<=768px){.category-modal{width:98vw;max-height:90vh}.category-modal-body{max-height:70vh;padding:1rem}.category-card{min-height:120px;padding:1rem}.category-icon{width:2.5rem;height:2.5rem;margin-bottom:.75rem;font-size:1rem}.category-name{font-size:.875rem}.category-count{font-size:.75rem}.unified-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.product-card{min-height:140px;padding:.75rem}.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 (width<=480px){.unified-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.category-card{min-height:100px;padding:.75rem}.product-card{min-height:120px;padding:.5rem}}.calendar-virtualized-list{width:100%}.calendar-virtualized-list .calendar-item,.calendar-virtualized-list .calendar-reservation-item{border-radius:var(--radius-sm);background:var(--primary-light);border:1px solid var(--primary);cursor:pointer;flex-direction:column;min-height:55px;margin:1px 0;padding:.375rem .5rem;transition:all .2s;display:flex;overflow:hidden}.calendar-virtualized-list .calendar-item:hover{background:var(--primary);color:#fff;transform:scale(1.02)}.calendar-virtualized-list .calendar-item div{margin:0;line-height:1.2;font-size:var(--font-size-xs)!important}.calendar-virtualized-list .calendar-item div:first-child{font-weight:600;font-size:var(--font-size-xs)!important}@media (width<=768px){.calendar-header{flex-direction:column;align-items:stretch;gap:.75rem}.calendar-header h3{width:100%;font-size:1.125rem}.calendar-header .calendar-header-filters{justify-content:flex-start;width:100%;min-width:0}.calendar-header .calendar-header-filters .filter-select{flex:auto;min-width:0}.calendar-mode-toggle{justify-content:flex-start;width:100%;margin-left:0}.reservations-container{padding:.5rem}.btn-new-reservation{z-index:100;border-radius:50%;width:56px;height:56px;position:fixed;bottom:1rem;right:1rem;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{width:100%;display:flex}.courts-scrollable-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.courts-grid{overflow-x:visible}.court-column{min-width:200px}.time-column{z-index:11;background:#fff;align-self:flex-start;position:sticky;left:0}.reservation-card-column,.empty-slot{justify-content:center;align-items:center;min-height:44px;display:flex}.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-width:44px;min-height:44px;padding:.75rem}.btn-new-reservation{width:64px;height:64px;font-size:1.5rem}.calendar-day-cell{min-height:80px}.time-slot-label{justify-content:center;align-items:center;height:40px;min-height:40px;display:flex}}@media (width<=480px){.reservations-container{padding:1rem}.calendar-header h3{font-size:1.125rem}.calendar-mode-toggle{gap:.25rem}.view-toggle{padding:.5rem;font-size:.75rem}.court-column{min-width:150px}.reservation-card-column{padding:.25rem;font-size:.6rem}.empty-slot-plus{font-size:1.25rem}}.notification-container{z-index:1100;pointer-events:none;flex-direction:column;gap:12px;max-width:400px;display:flex;position:fixed;top:20px;right:20px}.notification{pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 10px 25px #00000026}.notification-content{padding:16px;position:relative}.notification-header{align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.notification-icon{flex-shrink:0;margin-top:2px}.notification-text{flex:1;min-width:0}.notification-title{margin:0 0 4px;font-size:14px;font-weight:700;line-height:1.3}.notification-message{word-wrap:break-word;margin:0;font-size:13px;font-weight:500;line-height:1.4}.notification-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.notification-close:hover{color:#111827;background:#ffffffd9}.notification-details{border-top:1px solid #0000001a;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;display:flex}.detail-icon{color:#9ca3af;flex-shrink:0}.notification-progress{background:#0000001a;height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.progress-bar{transform-origin:0;border-radius:0 0 12px 12px;height:100%}.loading-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:13000;background:#000000d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.loading-content{text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;width:100%;max-width:400px;padding:40px 32px;box-shadow:0 20px 40px #0000004d}.loading-title{color:#1f2937;margin:0 0 20px;font-size:18px;font-weight:700;line-height:1.3}.loading-details{background:#4faf441a;border:1px solid #4faf4433;border-radius:12px;flex-direction:column;gap:8px;margin-bottom:24px;padding:16px;display:flex}.loading-detail-item{color:#374151;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.loading-detail-item .detail-icon{color:var(--primary)}.loading-dots{justify-content:center;gap:8px;display:flex}.loading-dot{background:var(--primary);border-radius:50%;width:8px;height:8px}@media (width<=768px){.notification-container{max-width:none;top:10px;left:10px;right:10px}.notification{border-radius:8px}.notification-content{padding:12px}.notification-title{font-size:13px}.notification-message{font-size:12px}.loading-content{margin:20px;padding:32px 24px}.loading-title{font-size:16px}.loading-details{padding:12px}.loading-detail-item{font-size:13px}}.time-picker-custom-container{flex-direction:column;gap:.5rem;width:100%;display:flex}.time-picker-label{color:var(--gray-700);align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.875rem;font-weight:600;display:flex}.time-picker-label .label-icon{color:var(--primary);font-size:1rem}.mui-time-picker-container{border-radius:var(--radius-lg);background-color:#fff;width:100%;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!important}.mui-time-picker-field .MuiOutlinedInput-root:hover{border-color:var(--gray-300)!important}.time-picker-row{align-items:flex-start;gap:1rem;width:100%;display:flex}.time-picker-half{flex:1;min-width:0}@media (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%}.btn-new-reservation{width:fit-content!important;height:48px!important}.reservation-detail-modal{border-radius:1rem;max-width:95vw!important;max-height:95vh!important;margin:2.5vh auto!important}.reservation-detail-modal .reservation-detail-header{border-bottom:1px solid var(--gray-200);flex-shrink:0;padding:1rem}.reservation-detail-header .modal-title{margin:0;font-size:1.125rem}.reservation-detail-body{-webkit-overflow-scrolling:touch;flex:1;padding:1rem;overflow-y:auto}.reservation-detail-info{gap:1rem;flex-direction:column!important;display:flex!important}.detail-card{width:100%!important;margin-bottom:0!important}.detail-card-header{background:var(--gray-50);border-radius:.5rem .5rem 0 0;padding:.75rem 1rem}.detail-card-header h4{margin:0;font-size:1rem}.detail-card-content{padding:1rem}.detail-field{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.detail-field label{color:var(--gray-600);font-size:.875rem;font-weight:600}.detail-value{color:var(--gray-900);word-break:break-word;font-size:.875rem}.reservations-items-wrapper{-webkit-overflow-scrolling:touch;margin:1rem 0;overflow-x:auto}.reservations-items-table{min-width:600px;font-size:.8rem}.reservations-items-table th,.reservations-items-table td{white-space:nowrap;padding:.5rem .25rem}.reservations-qty-input{width:60px;padding:.25rem;font-size:.8rem}.reservations-discount-input{width:90px;padding:.25rem .4rem;font-size:.8rem}.payment-details{flex-direction:column;gap:1.5rem;display:flex}.order-summary{background:var(--gray-50);border-radius:.75rem;width:100%;padding:1rem}.summary-row{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.summary-row:last-child{border-bottom:none;font-size:1.1rem;font-weight:600}.summary-label{color:var(--gray-600);font-size:.875rem}.summary-value{color:var(--gray-900);font-size:.875rem;font-weight:500}.total-value{color:var(--primary)!important;font-size:1.25rem!important;font-weight:700!important}.per-player-value{color:var(--success)!important;font-weight:600!important}.payment-section{width:100%;padding:1rem}.payment-section-title{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;display:flex}.add-payment-inputs{flex-direction:column;gap:1rem;display:flex}.payment-input-group{flex-direction:column;gap:.5rem;display:flex}.payment-input-group label{color:var(--gray-700);font-size:.875rem;font-weight:600}.payment-method-select,.payment-amount-input,.payment-input-group input{border:1px solid var(--gray-300);border-radius:.5rem;width:100%;padding:.75rem;font-size:.875rem}.add-payment-btn{background:var(--primary);color:#fff;border:none;border-radius:.5rem;width:fit-content;padding:.75rem;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{border:1px solid var(--gray-200);background:#fff;border-radius:.5rem;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem;display:flex}.payment-method-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.payment-method-name{font-size:.875rem;font-weight:500}.payment-method-amount{color:var(--primary);font-size:.875rem;font-weight:600}.remove-payment-btn{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.payment-total-row{border-top:1px solid var(--gray-200);justify-content:space-between;padding:1rem;font-weight:600;display:flex}.payment-total-label{color:var(--gray-700)}.payment-total-amount{color:var(--primary)}.comments-section{width:100%}.comments-section label{color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.comments-section textarea{border:1px solid var(--gray-300);resize:vertical;border-radius:.5rem;min-height:80px;padding:.75rem;font-size:.875rem;width:100%!important}.reservation-detail-buttons{border-top:1px solid var(--gray-200);flex-shrink:0;gap:.75rem;padding:1rem;display:flex;margin-bottom:3rem!important}.reservation-detail-buttons button{border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.875rem;font-size:.875rem;font-weight:600;display:flex}.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{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.players-section-header h5{margin:0;font-size:1rem}.selected-players-list{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.selected-player-card{border:1px solid var(--gray-200);background:#fff;border-radius:.5rem;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.selected-player-info{flex-direction:column;flex:1;gap:.5rem;display:flex}.selected-player-name{font-size:.875rem;font-weight:500}.selected-player-comment{border:1px solid var(--gray-300);border-radius:.25rem;width:100%;padding:.5rem;font-size:.8rem}.remove-player-btn{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.player-search-container{width:100%}.player-search-title{color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem;font-weight:600}.player-search-input{border:1px solid var(--gray-300);border-radius:.5rem;width:100%;padding:.75rem;font-size:.875rem}.client-autocomplete{border:1px solid var(--gray-300);border-radius:.5rem;max-height:200px;margin-top:.5rem;overflow-y:auto}.client-option{border-bottom:1px solid var(--gray-200);cursor:pointer;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.client-option:hover{background:var(--gray-50)}.client-option:last-child{border-bottom:none}}@media (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{width:50px;padding:.125rem;font-size:.75rem}.reservations-discount-input{width:80px;padding:.125rem .25rem;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{border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);background-color:#fff;margin-bottom:1rem;overflow:hidden}.monthly-price-header{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.monthly-price-header h5{color:var(--gray-800);margin:0;font-size:1.1rem;font-weight:600}.monthly-price-icon{color:var(--primary);font-size:1.25rem}.monthly-price-options{flex-direction:column;gap:1rem;padding:1rem;display:flex}.monthly-price-card{border-radius:var(--radius-xl);border:2px solid var(--gray-200);cursor:pointer;background-color:#fff;align-items:center;gap:1rem;padding:1rem;transition:all .3s;display:flex}.monthly-price-card.elongated{width:100%}.monthly-price-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-2px)}.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;color:var(--gray-600);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s;display:flex}.monthly-price-card.selected .monthly-price-icon{background-color:var(--primary);color:#fff}.monthly-price-info{text-align:left;flex:1}.monthly-price-info h6{color:var(--gray-800);margin:0 0 .5rem;font-size:1rem;font-weight:600}.monthly-price-info p{color:var(--gray-600);margin:0;font-size:.875rem}.price-preview{border-radius:var(--radius-md);background-color:#f8fafc;border:1px solid #e2e8f0;margin-top:.75rem;padding:1rem}.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{color:var(--gray-600);margin-bottom:0;font-style:italic}.manual-price-input{margin-top:.75rem}.manual-price-input input{border:1px solid var(--gray-300);border-radius:var(--radius-md);width:100%;padding:.75rem;font-size:.9rem;transition:border-color .3s}.manual-price-input input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}@media (width<=768px){.monthly-price-options{padding:1rem}.monthly-price-card{text-align:center;flex-direction:column;gap:1rem}.monthly-price-info{text-align:center}}.cards-view-container .calendar-header{border-bottom:1px solid #e5e7eb;margin-bottom:1rem;padding:.5rem 1rem}.calendar-container>.calendar-header,.calendar-container .calendar-header{padding:.5rem}.cards-view-container .calendar-header h3{color:#1f2937;margin:0;font-size:1.25rem}.toast-styled{color:#fff;z-index:1200;border-radius:4px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 2px 6px #0003}.toast-styled.success{background:#10b981}.toast-styled.error{background:#ef4444}.filter-button{color:#000;cursor:pointer;background-color:#e0e0e0;border:none;border-radius:5px;padding:10px 20px;transition:all .2s}.filter-button.active{background-color:var(--primary);color:#fff}.filter-button:hover{opacity:.9}.cards-container{flex-wrap:wrap;gap:1rem;padding:0;display:flex}.cards-container .reservation-card{border-left:4px solid var(--primary);background:#fff;border-radius:12px;width:100%;max-width:360px;padding:1.25rem;transition:box-shadow .2s;position:relative;box-shadow:0 2px 8px #0000001a}.cards-container .reservation-card:hover{box-shadow:0 4px 12px #00000026}.cards-container .reservation-card.reservation-card--torneo{background:#d8b4fe;border-left:5px solid #6d28d9;box-shadow:0 2px 10px #6d28d938}.cards-container .reservation-card.reservation-card--torneo .info-icon{color:#5b21b6}.card-title{color:#1f2937;margin:0;font-size:1.1rem;font-weight:600;line-height:1.3}.info-icon{color:var(--primary);align-items:center;display:flex}.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 (width<=768px){.data-table-container{display:none!important}.cards-view-container{display:block!important}.reservations-actions-container .list-search-box{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{z-index:1000;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;min-width:140px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #0000001a}.actions-dropdown button{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:14px;transition:background-color .2s;display:flex}.actions-dropdown button:hover{background-color:#f8f9fa!important}.skeleton-loader{margin-top:1.5rem}.skeleton-calendar-header{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#fff;border:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.5rem;display:flex}.skeleton-title-text{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:6px;width:200px;height:28px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-header-actions{align-items:center;gap:.5rem;display:flex}.skeleton-button-small{border-radius:var(--radius-md);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;width:40px;height:36px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-button-medium{border-radius:var(--radius-md);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;width:80px;height:36px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-day-header{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#fff;border:1px solid #e5e7eb;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.skeleton-day-title{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:6px;width:250px;height:24px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-calendar-container{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#fff;border:1px solid #e5e7eb;padding:1rem}.skeleton-calendar{gap:16px;display:flex}.skeleton-time-column{flex-shrink:0;width:80px}.skeleton-time-header{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border:1px solid #e5e7eb;border-radius:6px;height:48px;margin-bottom:8px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-time-slot{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border:1px solid #e5e7eb;border-radius:4px;height:60px;margin-bottom:4px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-courts-container{flex:1;overflow-x:auto}.skeleton-courts-grid{gap:16px;min-width:max-content;display:flex}.skeleton-court-column{flex-shrink:0;width:200px}.skeleton-court-header{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border:1px solid #e5e7eb;border-radius:6px;height:48px;margin-bottom:8px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-court-slot{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border:1px solid #e5e7eb;border-radius:4px;height:60px;margin-bottom:4px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-court-slot.highlight{height:120px}@media (width<=768px){.skeleton-calendar-header{flex-direction:column;align-items:flex-start}.skeleton-header-actions{flex-wrap:wrap;width:100%}.skeleton-calendar-container{border-radius:var(--radius-md);padding:.75rem}.skeleton-calendar{flex-direction:column}.skeleton-courts-grid{flex-direction:column;min-width:auto}.skeleton-court-column{width:100%}}.class-details-form{padding:1rem;animation:.3s slideIn}.class-details-form .form-group{margin-bottom:1rem}.class-details-form .form-group label{color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.class-details-form .form-input{border:1px solid var(--gray-300);border-radius:var(--radius-md);width:100%;padding:.75rem;font-size:.875rem;transition:all .2s}.class-details-form .form-input:focus{border-color:var(--primary);outline:none}.class-details-form .form-actions{justify-content:space-between;gap:1rem;margin-top:1rem;display:flex}.class-details-form .class-details-form .class-details-form .btn-primary{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.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{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}@media (width<=768px){.reservations-actions-container{flex-direction:column;align-items:stretch}}.reservation-action-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:120px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 2px 4px #0000001a}.reservation-action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.reservation-action-btn:active:not(:disabled){transform:translateY(0)}.reservation-action-btn:disabled{cursor:not-allowed;opacity:.6}.reservation-action-btn.whatsapp-btn{color:#fff;background:linear-gradient(135deg,#0f5f57 0%,#0b4f48 100%)}.reservation-action-btn.whatsapp-btn:hover:not(:disabled){background:linear-gradient(135deg,#0f766e 0%,#0b5d56 100%);box-shadow:0 4px 12px #25d36666}.reservation-action-btn.finalize-btn{color:#fff;background:linear-gradient(135deg,#047857 0%,#065f46 100%)}.reservation-action-btn.finalize-btn:hover:not(:disabled){background:linear-gradient(135deg,#065f46 0%,#064e3b 100%);box-shadow:0 4px 12px #10b98166}.reservation-action-btn.finalize-btn.loading{pointer-events:none;background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%)}.reservation-action-btn.finalize-btn.loading:hover{transform:none;box-shadow:0 2px 4px #0000001a}.reservation-action-btn.save-btn{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)}.reservation-action-btn.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%);box-shadow:0 4px 12px #3b82f666}.reservation-action-btn.save-btn.saving{pointer-events:none;background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%)}.reservation-action-btn.save-btn.disabled{cursor:not-allowed;background:linear-gradient(135deg,#9ca3af 0%,#6b7280 100%)}.reservation-action-btn.save-btn.disabled:hover{background:linear-gradient(135deg,#9ca3af 0%,#6b7280 100%);transform:none;box-shadow:0 2px 4px #0000001a}.reservation-action-btn .spinner-icon{animation:1s linear infinite spin-button}@keyframes spin-button{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.reservation-action-btn,.reservation-detail-buttons .btn{flex:120px;min-width:0;padding:10px 20px;font-size:13px}.reservation-detail-buttons{flex-wrap:wrap}}@media (width<=480px){.reservation-detail-buttons{flex-direction:column;align-items:stretch}.reservation-action-btn,.reservation-detail-buttons .btn{width:100%;min-width:0;padding:12px 16px}.modal-actions{flex-direction:column}}.context-menu-reservation{z-index:50;background:#fff;border-radius:8px;min-width:200px;padding:4px;animation:.15s ease-out fadeIn;box-shadow:0 4px 24px #00000026}.context-menu-reservation .context-menu-item{color:#374151;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:12px;width:100%;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.context-menu-reservation .context-menu-item:hover{color:#047857;background:#f3f4f6}.context-menu-item svg{flex-shrink:0}.modal-copy-link{width:90%;max-width:500px}.copy-link-info{background:#f9fafb;border-radius:8px;margin-bottom:24px;padding:16px}.info-row{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.info-row:not(:last-child){border-bottom:1px solid #e5e7eb}.duration-section h3{color:#111827;margin-bottom:16px;font-size:16px;font-weight:600}.duration-quick-buttons{gap:8px;margin-bottom:20px;display:flex}.duration-quick-btn{color:#6b7280;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;flex:1;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.duration-quick-btn:hover{color:#047857;background:#ecfdf5;border-color:#047857}.duration-quick-btn.active{color:#fff;background:#047857;border-color:#047857}.duration-inputs{gap:16px;margin-bottom:20px;display:flex}.duration-input-group{flex:1}.duration-input-group label{color:#6b7280;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.duration-input-group input{color:#111827;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;transition:all .2s}.duration-input-group input:focus{border-color:#059669;outline:none;box-shadow:0 0 0 3px #0596691a}.end-time-preview{background:#f0fdf4;border:2px solid #059669;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.preview-label{color:#059669;font-size:14px;font-weight:600}.preview-value{color:#047857;font-size:18px;font-weight:700}.advance-payment-container{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:1rem}.advance-payment-header{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.advance-payment-icon{color:var(--primary);font-size:1.25rem}.advance-payment-header h5{color:#1f2937;margin:0;font-size:1rem;font-weight:600}.advance-payment-content{flex-direction:column;gap:.5rem;display:flex}.advance-payment-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=768px){.advance-payment-row{grid-template-columns:1fr}}.advance-payment-input,.advance-payment-select{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-size:.875rem;transition:all .2s}.advance-payment-input:focus,.advance-payment-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0596691a}.advance-payment-hint{color:#6b7280;margin-top:.25rem;font-size:.75rem;display:block}.res-calendar-teacher-badge{text-align:center;color:#1e3a8a;background-color:#dbeafe;border-radius:3px;margin-top:4px;padding:2px 4px;font-size:.6rem;font-weight:500}.res-schedule-teacher-badge{text-align:center;color:#005bb5;background-color:#ffffffe6;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:500;position:absolute;bottom:4px;left:4px;right:4px}.res-schedule-card{width:100%;height:var(--res-height);left:0;right:0;top:var(--res-top);z-index:var(--res-z,10);opacity:var(--res-opacity,1);background:var(--res-bg,gray);cursor:var(--res-cursor,move);position:absolute}.reservation-card-column--open-schedule{color:#fff;box-shadow:0 2px 8px #23d86559}.reservation-card-column--open-schedule .resize-handle-bottom svg,.reservation-card-column--open-schedule .reservation-info{color:#fff}.cards-container .reservation-card.reservation-card--open-schedule{background:#f0fdf4;border-left-color:#23d865}.res-current-time-line{z-index:1001;pointer-events:none;height:1px;left:0;top:var(--line-top);width:var(--line-width);background-color:#ef4444;position:absolute;box-shadow:0 0 4px #ef444480}.res-tournament-short-badge{background:var(--primary-dark,#047857);color:#fff;letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;margin-left:.5rem;padding:.2rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.res-qty-control-btn{cursor:pointer;color:#475569;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:.25rem .5rem;font-size:1rem;line-height:1;transition:background-color .2s,border-color .2s;display:flex}.res-qty-control-btn:hover{background-color:#e2e8f0;border-color:#94a3b8}.res-payments-accordion-btn{background:var(--gray-50);border:none;border-top:1px solid var(--gray-200);cursor:pointer;width:100%;color:var(--text-primary);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:background .2s;display:flex}.res-payments-accordion-btn:hover{background:var(--gray-100)}.res-payment-timeline-dot{background:var(--dot-bg,var(--gray-400));width:.75rem;height:.75rem;box-shadow:0 0 0 2px var(--gray-200);z-index:1;border:2px solid #fff;border-radius:50%;position:absolute;top:.25rem;left:-1.375rem}.res-whatsapp-attendance-btn{color:#422006;cursor:pointer;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:transform .3s,box-shadow .3s;display:flex}.res-whatsapp-attendance-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #fbbf2480}.sales-container{padding:1rem}@keyframes quantity-bump{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.quantity-input-animated{animation:.6s ease-in-out quantity-bump}.modal-content .sales-new-items-table .sales-qty-input.quantity-input-animated,.modal-content .sales-edit-items-table .sales-qty-input.quantity-input-animated{color:#fff!important;background-color:orange!important;border-color:orange!important;font-weight:700!important;transition:none!important}.discount-input-container{flex-direction:column;gap:4px;display:flex}.discount-type-toggle{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;display:flex;overflow:hidden}.discount-type-btn{color:#666;cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;min-height:24px;padding:4px 8px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.discount-type-btn:hover{color:#495057;background:#e9ecef}.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{flex-direction:column;gap:4px;width:100%;display:flex}.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{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;display:flex}.tip-label{color:#495057;font-size:14px;font-weight:600}.tip-amount{color:#28a745;font-size:14px;font-weight:600}.remove-tip-btn-small{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px 6px;font-size:12px;transition:background-color .2s;display:flex}.remove-tip-btn-small:hover{background:#c82333}.payment-total-with-tip-row{color:#0d47a1;background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;justify-content:space-between;align-items:center;margin:8px 0;padding:8px 12px;font-weight:600;display:flex}.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{border-radius:var(--radius-2xl);width:100%;height:fit-content;max-height:95vh;box-shadow:var(--shadow-xl);background:#fff;margin:0 auto;padding:0;overflow:hidden;max-width:85vw!important}.reservation-detail-modal .modal-body{max-height:75vh!important}.reservation-detail-header{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;border-bottom:none;padding:1rem}.reservation-detail-header .modal-title{align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;display:flex}.reservation-icon{font-size:1.75rem}.reservation-detail-body{padding:0}.reservation-detail-buttons{background-color:var(--gray-50);border-top:1px solid var(--gray-200);justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;display:flex}.client-autocomplete{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);z-index:10;background-color:#fff;max-height:200px;margin-top:.375rem;top:100%;left:0;right:0;overflow-y:auto}.client-option{cursor:pointer;padding:.75rem 1rem;transition:background-color .2s}.client-option:hover{background-color:var(--gray-100)}.add-client-option{color:var(--primary);align-items:center;gap:.625rem;font-weight:600;display:flex}.add-client-icon{font-size:1rem}.selected-client-card{background-color:var(--primary-light);border-radius:var(--radius-lg);border:1px solid #4f46e54d;justify-content:space-between;align-items:center;margin-top:1rem;padding:.75rem 1rem;display:flex}.selected-client-info{align-items:center;gap:.75rem;display:flex}.selected-client-icon{color:var(--primary)}.selected-client-name{color:var(--gray-800);font-weight:600}.selected-client{background-color:var(--primary-light);border-radius:var(--radius-md);color:var(--gray-800);border:1px solid #4f46e54d;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;font-weight:500;display:flex}.remove-client-btn{color:var(--gray-400);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .2s;display:flex}.remove-client-btn:hover{color:var(--danger);background-color:#ef44441a}.product-search-input{border-radius:var(--radius-lg);border:1px solid var(--gray-200);width:100%;color:var(--gray-800);box-shadow:var(--shadow-sm);background-color:#fff;padding:.75rem 1rem .75rem 2.5rem;font-size:.875rem;position:relative}.product-autocomplete-item{cursor:pointer;border-bottom:1px solid var(--gray-100);justify-content:space-between;padding:.75rem 1rem;transition:background-color .2s;display:flex}.product-autocomplete-item:last-child{border-bottom:none}.product-autocomplete-item:hover{background-color:var(--gray-100)}.product-name{color:var(--gray-800);margin:0 0 .5rem;font-size:.9rem;font-weight:600;line-height:1.2}.product-price{color:var(--success);margin:0 0 .5rem;font-size:.875rem;font-weight:700}.sale-item{border-bottom:1px solid var(--gray-100);transition:var(--transition);grid-template-columns:2fr 1fr 1fr 1fr 1fr .5fr;align-items:center;gap:.5rem;padding:.875rem 1rem;display:grid}.sales-detail-items-wrapper{border:2px solid #e2e8f0!important;border-radius:12px!important;margin:1rem 0!important;overflow:auto hidden!important}.sales-detail-items-table{border-collapse:separate!important;border-spacing:0!important;table-layout:auto!important;background-color:#fff!important;width:100%!important;min-width:600px!important}.sales-detail-items-table thead th{text-align:center!important;color:#374151!important;text-transform:uppercase!important;letter-spacing:.5px!important;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%)!important;border-bottom:2px solid #cbd5e1!important;padding:1rem .75rem!important;font-size:.875rem!important;font-weight:700!important}.sales-detail-items-table tbody td{color:#1f2937!important;text-align:center!important;border-bottom:1px solid #f1f5f9!important;padding:.875rem .75rem!important;font-size:.875rem!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{text-align:left!important;text-overflow:ellipsis!important;white-space:nowrap!important;width:200px!important;min-width:200px!important;max-width:250px!important;font-weight:600!important;overflow:hidden!important}.sales-detail-price-header,.sales-detail-price{color:#059669!important;width:120px!important;min-width:120px!important;font-weight:500!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{color:#dc2626!important;width:130px!important;min-width:130px!important;font-weight:700!important}.sales-new-items-wrapper,.sales-edit-items-wrapper{border:2px solid #e2e8f0!important;border-radius:12px!important;margin:1rem 0!important;overflow:auto hidden!important}.sales-new-items-table,.sales-edit-items-table{border-collapse:separate!important;border-spacing:0!important;table-layout:auto!important;background-color:#fff!important;width:100%!important;min-width:750px!important}.sales-new-items-table thead th,.sales-edit-items-table thead th{text-align:center!important;color:#374151!important;text-transform:uppercase!important;letter-spacing:.3px!important;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%)!important;border-bottom:2px solid #cbd5e1!important;padding:.6rem .3rem!important;font-size:.75rem!important;font-weight:700!important}.sales-new-items-table tbody td,.sales-edit-items-table tbody td{color:#1f2937!important;text-align:center!important;vertical-align:middle!important;border-bottom:1px solid #f1f5f9!important;padding:.5rem .3rem!important;font-size:.8rem!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{text-align:left!important;text-overflow:ellipsis!important;white-space:nowrap!important;width:150px!important;min-width:150px!important;max-width:180px!important;font-weight:600!important;overflow:hidden!important}.sales-new-price-header,.sales-new-price,.sales-edit-price-header,.sales-edit-price{color:#059669!important;width:90px!important;min-width:90px!important;font-size:.8rem!important;font-weight:500!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{color:#dc2626!important;width:100px!important;min-width:100px!important;font-size:.8rem!important;font-weight:700!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{text-align:center!important;box-sizing:border-box!important;background-color:#fff!important;border:1px solid #d1d5db!important;border-radius:4px!important;width:50px!important;height:28px!important;margin:0 auto!important;padding:.2rem!important;font-size:.75rem!important;font-weight:500!important;transition:all .2s!important;display:block!important}.sales-qty-input:focus,.sales-discount-input:focus{background-color:#fefefe!important;border-color:#3b82f6!important;outline:none!important;box-shadow:0 0 0 3px #3b82f61a!important}.sales-remove-btn{color:#dc2626!important;cursor:pointer!important;background:0 0!important;border:none!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:30px!important;height:30px!important;margin:0 auto!important;padding:.25rem!important;font-size:14px!important;transition:all .2s!important;display:flex!important}.sales-remove-btn:hover{color:#991b1b!important;background-color:#fee2e2!important;transform:scale(1.1)!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{text-align:center!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #d1d5db!important;border-radius:4px!important;width:50px!important;height:28px!important;margin:0 auto!important;padding:.2rem!important;font-size:.75rem!important;display:block!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{text-align:left!important;width:150px!important;min-width:150px!important;max-width:180px!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{color:var(--gray-800);font-weight:500}.item-price{color:var(--gray-700);font-weight:600}.item-quantity{justify-content:center;align-items:center;display:flex}.status-filter{width:fit-content;padding:0;margin:0!important}.discount-input{border-radius:var(--radius-md);border:1px solid var(--gray-300);text-align:center;width:100%;max-width:4rem;padding:.5rem;font-weight:500}.remove-icon{font-size:1.125rem}.sale-form-container{margin-bottom:1rem}.form-row{flex-wrap:wrap;gap:1rem;display:flex}.form-row .form-group{z-index:10;flex-direction:column;gap:.5rem;min-width:0;display:flex;position:relative!important}.form-group.flex-1{flex:1;min-width:200px}.sale-type-info{background-color:var(--gray-50);border-radius:var(--radius-md);border-left:4px solid var(--primary);margin-top:.5rem;padding:.75rem}.form-row .form-input{box-sizing:border-box;width:100%}.form-row .client-autocomplete,.form-row .product-autocomplete-list{top:100%;left:0;right:0;position:absolute!important}.payment-method-item{border:1px solid var(--gray-200);border-radius:var(--radius-md);background-color:#fff;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.75rem 1rem;display:flex}.payment-method-info{align-items:center;gap:1rem;display:flex}.payment-method-name{color:var(--gray-800);font-weight:500}.payment-method-amount{color:var(--primary);font-weight:700}.payment-amount-input{border-radius:var(--radius-md);border:1px solid var(--gray-300);text-align:right;width:100px;padding:.5rem;font-weight:500}.remove-payment-btn{color:var(--gray-400);cursor:pointer;background:0 0;border:none;transition:color .2s}.remove-payment-btn:hover{color:var(--danger)}.payment-total-row{border-top:1px solid var(--gray-200);color:var(--gray-800);justify-content:space-between;padding:.5rem;font-weight:600;display:flex}.payment-total-label{color:var(--gray-600);font-size:1rem}.payment-total-amount{color:var(--primary);font-size:1.1rem;font-weight:700}.payment-pending-row{border-top:2px solid var(--gray-300);border-radius:var(--radius-md);background-color:#f8f9fa;justify-content:space-between;margin-top:.5rem;padding:.75rem;display:flex}.payment-pending-label{color:var(--gray-700);font-size:1.1rem;font-weight:700}.payment-pending-amount{color:#ff9800;font-size:1.25rem;font-weight:700}.add-payment-method{margin-top:1rem}.payment-input-group{flex-direction:column;gap:.25rem;margin-right:1rem;display:flex}.payment-method-select{border-radius:var(--radius-md);border:1px solid var(--gray-300);color:var(--gray-800);background-color:#fff;padding:.75rem;font-size:.875rem}.add-payment-btn{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;width:fit-content;margin:1rem;padding:.75rem 1.25rem;transition:background-color .2s}.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{border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);background-color:#fff;padding:1.25rem}.summary-row{border-bottom:1px solid var(--gray-100);justify-content:space-between;padding:.75rem 0;display:flex}.discount-row{background-color:var(--gray-50);border-radius:var(--radius-lg);margin:.5rem 0;padding:.75rem}.total-row{border-top:2px solid var(--gray-200);margin-top:.5rem;padding-top:1rem}.summary-value.discount-input-container{align-items:center;display:flex}.global-discount-input{border-radius:var(--radius-md);border:1px solid var(--gray-300);text-align:center;width:4rem;padding:.5rem;font-weight:500}.tip-row{background-color:var(--success-light);border-radius:var(--radius-lg);border-left:4px solid var(--success);margin:.5rem 0;padding:.75rem}.tip-display-container{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.tip-amount-display{color:var(--success);font-size:1rem;font-weight:700}.remove-tip-btn{border:1px solid var(--danger);background:var(--danger-light);width:2rem;height:2rem;color:var(--danger);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.875rem;transition:all .2s;display:flex}.remove-tip-btn:hover{background:var(--danger);color:#fff;transform:scale(1.1)}.tip-add-row{justify-content:center;margin:.5rem 0;display:flex}.add-tip-button{background:var(--success-light);border:2px solid var(--success);border-radius:var(--radius-lg);color:var(--success);cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.add-tip-button:hover{background:var(--success);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-2px)}.add-tip-button:active{transform:translateY(0)}.tip-input-row{border-radius:var(--radius-lg);justify-content:left;gap:.5rem;margin:.5rem 0;padding:.75rem}.tip-input-container{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.tip-input-group{border-radius:var(--radius-md);border:1px solid #dcdcdc;align-items:center;gap:.25rem;padding:0;display:flex}.tip-currency-symbol{color:var(--info);font-size:.875rem;font-weight:600}.tip-amount-input{color:var(--gray-800);text-align:right;background:0 0;border:none;outline:none;width:4rem;font-size:.875rem;font-weight:600}.tip-amount-input::placeholder{color:var(--gray-400)}.tip-input-actions{align-items:center;gap:.5rem;display:flex}.tip-confirm-btn{border:1px solid var(--success);background:var(--success-light);width:2rem;height:2rem;color:var(--success);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.875rem;transition:all .2s;display:flex}.tip-confirm-btn:hover{background:var(--success);color:#fff;transform:scale(1.1)}.tip-cancel-btn{border:1px solid var(--gray-400);background:var(--gray-100);width:2rem;height:2rem;color:var(--gray-600);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.875rem;transition:all .2s;display:flex}.tip-cancel-btn:hover{color:#fff;background:red;transform:scale(1.1)}.sales-container .modal-content .btn-cancel:hover{color:#fff;background:#991b1b;border-color:#7f1d1d}.tabs{border:none;border-bottom:1px solid var(--gray-200);gap:1rem;margin-bottom:1rem;display:flex}.tab{cursor:pointer;color:var(--gray-600);background:0 0;border:#0000;border-bottom:2px solid #0000;padding:.75rem 1rem;font-weight:600;transition:all .2s}.tab:hover{color:var(--primary)}.tab.active{border-color:var(--primary);color:#000!important;background:0 0!important}@media screen and (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{flex:none;min-width:100%}}@media screen and (width<=640px){.sale-item{grid-template-columns:2fr 1fr 1fr}.item-quantity{display:none}}.product-search-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.category-search-btn{border-radius:var(--radius-lg);border:1px solid var(--primary);background:var(--primary-light);width:2rem;height:2rem;color:var(--primary);cursor:pointer;justify-content:center;align-items:center;font-size:.875rem;transition:all .2s;display:flex}.category-search-btn:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.modal-backdrop:has(.category-modal){z-index:120!important}.shared-modal-overlay:has(.category-modal){z-index:120!important}.category-modal{z-index:121;width:95vw;max-width:900px;max-height:80vh}.category-modal-body{max-height:60vh;padding:1rem;overflow-y:auto}.category-card{border:2px solid var(--gray-200);border-radius:var(--radius-xl);cursor:pointer;text-align:center;box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;align-items:center;padding:1rem;transition:all .3s;display:flex;width:fit-content!important;min-width:fit-content!important;height:140px!important;min-height:140px!important}.category-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.category-card:active{background:var(--primary-light);transform:translateY(-2px)}.category-icon{background:var(--primary-light);color:var(--primary);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:1rem;font-size:1.25rem;transition:all .3s;display:flex}.category-card:hover .category-icon{background:var(--primary);color:#fff;transform:scale(1.1)}.category-info{flex-direction:column;flex:1;justify-content:center;width:100%;display:flex}.category-name{color:var(--gray-800);margin:0 0 .5rem;font-size:1rem;font-weight:600}.category-count{color:var(--gray-500);margin:0;font-size:.875rem}.back-to-categories-btn{background:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius-lg);color:var(--gray-700);cursor:pointer;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.back-to-categories-btn:hover{background:var(--gray-200);color:var(--gray-800)}.no-categories{color:var(--gray-500);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.no-categories svg{opacity:.5;margin-bottom:1rem}.categories-grid{flex-wrap:wrap;gap:.75rem;display:flex!important}.product-card{border:2px solid var(--gray-200);border-radius:var(--radius-xl);cursor:pointer;text-align:center;min-height:160px;box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;align-items:center;padding:1rem;transition:all .3s;display:flex}.product-card:hover{border-color:var(--success);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.product-card:active{background:var(--success-light);transform:translateY(-2px)}.product-image{border-radius:var(--radius-lg);background:var(--gray-100);justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:1rem;display:flex;overflow:hidden}.product-image img{object-fit:cover;width:100%;height:100%}.product-image svg{color:var(--gray-400);font-size:1.25rem}.product-card:hover .product-image svg{color:var(--success)}.product-info{flex-direction:column;flex:1;justify-content:center;width:100%;display:flex}.product-description{color:var(--gray-600);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.3;display:-webkit-box;overflow:hidden}.unified-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:.5rem 0;display:grid}.no-content{color:var(--gray-500);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.no-content svg{opacity:.5;margin-bottom:1rem}@media (width<=768px){.category-modal{width:98vw;max-height:90vh}.category-modal-body{max-height:70vh;padding:1rem}.category-card{min-height:120px;padding:1rem;height:120px!important}.category-icon{width:2.5rem;height:2.5rem;margin-bottom:.75rem;font-size:1rem}.category-name{font-size:.9rem}.category-count{font-size:.8rem}.product-card{min-height:140px;padding:.75rem}.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 (width<=480px){.category-card{padding:.75rem;height:120px!important;min-height:100px!important}.product-card{min-height:120px;padding:.5rem}.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{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;display:flex;box-shadow:0 1px 3px #ffc10733}.pending-filter-indicator svg{color:#ffc107;font-size:1rem}@media (width<=768px){.pending-filter-indicator{padding:.4rem .6rem;font-size:.8rem}.pending-filter-indicator svg{font-size:.9rem}}.status-badge.pendiente{color:#856404;background:#fff3cd;border:1px solid #ffe082}.status-badge.completada{color:#155724;background:#d4edda;border:1px solid #a5d6a7}.status-badge.eliminada,.status-badge.deleted{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.status-badge.otros{color:#383d41;background:#e2e3e5;border:1px solid #d6d8db}.status-badge svg{margin-right:.25em;font-size:1em}.comments-container{flex-direction:column;gap:12px;display:flex}.comments-list{background:#f8f9fa;border-radius:8px;flex-direction:column;gap:8px;max-height:300px;padding:8px;display:flex;overflow-y:auto}.comment-item{background:#fff;border:1px solid #e0e0e0;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;transition:all .2s;display:flex}.comment-item:hover{border-color:var(--primary);box-shadow:0 2px 4px #0000000d}.comment-text{color:#333;word-wrap:break-word;flex:1;margin:0;font-size:14px;line-height:1.5}.comment-actions{flex-shrink:0;gap:6px;display:flex}.btn-edit-comment,.btn-delete-comment{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px 8px;font-size:16px;transition:all .2s;display:flex}.btn-edit-comment{color:#4faf44}.btn-edit-comment:hover{color:#357a38;background:#e8f5e7}.btn-delete-comment{color:#dc3545}.btn-delete-comment:hover{color:#a71d2a;background:#ffe5e8}.comment-edit-form{flex-direction:column;gap:8px;width:100%;display:flex}.comment-textarea{resize:vertical;border:1px solid #e0e0e0;border-radius:6px;width:100%;min-height:60px;padding:10px;font-family:inherit;font-size:14px;transition:border-color .2s}.comment-textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #4faf441a}.comment-edit-buttons{justify-content:flex-end;gap:8px;display:flex}.btn-save-comment,.btn-cancel-comment{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.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{color:#666;background:#f8f9fa}.btn-cancel-comment:hover{background:#e9ecef}.no-comments{text-align:center;color:#999;padding:20px;font-size:14px;font-style:italic}.add-comment-form{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.add-comment-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;align-self:flex-end;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.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{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:12px}.comment-item-readonly .comment-text{color:#333;margin:0;font-size:14px;line-height:1.5}@media (width<=768px){.comment-item{flex-direction:column;gap:8px}.comment-actions{justify-content:flex-end;width:100%}.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{box-shadow:none;background:#9e9e9e;transform:none}.spinner-icon{color:#fff;animation:1s linear infinite spin}.sales-skeleton-loader,.sales-skeleton-loader .skeleton-table-wrapper{width:100%}.sales-skeleton-loader .skeleton-table{border-collapse:collapse;width:100%}.sales-skeleton-loader .skeleton-table th{text-align:left;color:#374151;background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:.75rem;font-size:.875rem;font-weight:600}.sales-skeleton-loader .skeleton-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.75rem}.sales-skeleton-loader .skeleton-cell{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:4px;height:1rem;animation:2.5s ease-in-out infinite skeleton-loading}.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 (width<=1024px){.modal-backdrop{align-items:flex-end!important}}@media (width>=1200px){.sales-container .expenses-dashboard{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(4,1fr);gap:1rem;height:290px}.sales-container .expenses-dashboard .total-card{grid-area:1/1}.sales-container .expenses-dashboard .variation-card{grid-area:2/1}.sales-container .expenses-dashboard .average-card{grid-area:1/2}.sales-container .expenses-dashboard .status-card{grid-area:2/2}.sales-container .expenses-dashboard .evolution-card{grid-area:1/3/3/5;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{flex-direction:column;gap:.75rem;padding-top:.5rem;display:flex}.average-card .card-icon,.average-card .metric-value{color:#06b6d4}@media (width<=1199px){.sales-container .expenses-dashboard{grid-template-rows:auto;grid-template-columns:repeat(2,1fr);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 (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{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}@media (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{justify-content:center;width:100%}}.skeleton{background:linear-gradient(90deg,#f0f0f0 0,#f8f8f8 40px,#f0f0f0 80px) 0 0/200px 100%;border-radius:4px;animation:1.4s ease-in-out infinite skeleton-loading}.skeleton-dashboard-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #0000000d;border-radius:12px;height:128px;max-height:128px;padding:.75rem;position:relative;overflow:hidden auto;box-shadow:0 4px 6px #00000012,0 1px 3px #0000000f}.skeleton-dashboard-card.large{height:380px;max-height:380px}.skeleton-icon{border-radius:4px;width:20px;height:20px}.skeleton-value{width:140px;height:32px;margin-bottom:.5rem}.skeleton-subtitle{width:100px;height:12px}.skeleton-chart{border-radius:8px;width:100%;margin-top:1rem;height:150px!important}.sales-product-comment-input{color:#64748b;border:1px solid #e2e8f0;border-radius:4px;width:100%;padding:.35rem .5rem;font-size:.85rem;font-style:italic;transition:all .2s}.sales-product-comment-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.sales-product-comment-input::placeholder{color:#94a3b8;font-style:italic}.date-filter-button{cursor:pointer;color:#374151;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000d}.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{z-index:200;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:280px;padding:12px;position:fixed;box-shadow:0 10px 25px #0000001a,0 4px 6px #0000000d}.date-filter-dropdown h4{color:#111827;margin-top:0;margin-bottom:12px;font-size:.95rem;font-weight:600}.date-filter-options{flex-direction:column;gap:8px;display:flex}.date-filter-option{cursor:pointer;text-align:left;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:10px 12px;font-size:.9rem;font-weight:400;transition:all .2s}.date-filter-option:hover{background:#f9fafb;border-color:#d1d5db}.date-filter-option.active{color:#1e40af;background:#eff6ff;border:2px solid #3b82f6;padding:9px 11px;font-weight:600}.date-range-inputs{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-top:8px;padding:12px}.date-range-inputs label{color:#374151;margin-bottom:4px;font-size:.85rem;font-weight:500;display:block}.date-range-inputs input[type=date]{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:4px;width:100%;padding:8px;font-size:.9rem;transition:all .2s}.date-range-inputs input[type=date]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.date-range-inputs>div:first-child{margin-bottom:10px}.date-range-apply-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;width:100%;margin-top:12px;padding:8px;font-size:.9rem;font-weight:500;transition:all .2s;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)}@media (width<=480px){.payment-methods-grid{grid-template-columns:repeat(2,1fr)}}.payment-method-card-icon{font-size:28px;line-height:1}.payment-method-card.selected .payment-method-card-label{color:#1d4ed8}.payment-amount-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:8px;padding:16px;display:flex}.checkout-select-section{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:8px;padding:16px;display:flex}.checkout-select-section label{color:#0369a1;font-size:14px;font-weight:500}.checkout-select{color:#0c4a6e;cursor:pointer;background:#fff;border:2px solid #7dd3fc;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;transition:all .2s}.qr-checkout-text{color:#6b7280;margin-top:4px;font-size:13px}.payment-amount-section label{color:#374151;font-size:14px;font-weight:500}.payment-amount-input-modal{text-align:right;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:12px 16px;font-size:18px;font-weight:600;transition:all .2s}.shared-modal-overlay{z-index:130;background:#00000080;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;inset:0}.shared-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.shared-modal-header h3{color:#111827;margin:0;font-size:18px;font-weight:600}.shared-modal-header .icon-button{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.shared-modal-header .icon-button:hover{color:#111827;background:#f3f4f6}.shared-modal-body{padding:20px;overflow-y:auto}.shared-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.button-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 20px;font-weight:500;transition:all .2s}.button-primary{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;padding:10px 20px;font-weight:500;transition:all .2s}.button-primary:hover{background:#2563eb}.button-primary:disabled{cursor:not-allowed;background:#9ca3af}.qr-code-container{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:16px;box-shadow:0 4px 12px #0000001a}.qr-cobrar-button{background:#10b981}.qr-cobrar-button:disabled{background:#9ca3af}.status-filter-dropdown{position:relative!important}.filters-panel{z-index:10001;background:#fff;border:1px solid #e0e0e0;border-radius:8px;width:360px;max-height:400px;padding:12px;position:fixed;top:140px;left:auto;overflow-y:auto;box-shadow:0 8px 20px #0000001f}.sales-empty-results{text-align:center;z-index:0;background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:fit-content;padding:1rem;display:flex;position:relative;box-shadow:0 1px 3px #0000001a}.sales-empty-results--cards{box-shadow:none;background:0 0;border-radius:0}.sales-client-change-btn{color:#fff;cursor:pointer;background-color:#dc3545;border:none;border-radius:3px;margin-left:10px;padding:2px 8px;font-size:12px}.sales-dropdown-menu{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:250px;margin-top:.5rem;position:absolute;top:100%;right:0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.sales-dropdown-menu--compact{min-width:180px;margin-top:.25rem}.sales-dropdown-item{cursor:pointer;color:#374151;text-align:left;background:0 0;border:none;border-radius:8px 8px 0 0;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:background .2s;display:flex}.sales-dropdown-item:hover{background:#f3f4f6}.sales-dropdown-item--danger{color:#ef4444;border-radius:8px}.sales-dropdown-item--danger:hover{background:#fef2f2}.sales-dropdown-item--disabled{color:#9ca3af;cursor:not-allowed;border-radius:8px;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.sales-icon-menu-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;transition:background .2s;display:flex}.sales-icon-menu-btn:hover{background:#f3f4f6}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.header-content{align-items:center;gap:16px;display:flex}.whatsapp-icon{color:#10b981;background:#ecfdf5;border-radius:10px;width:40px;height:40px;padding:8px}.modal-header h2{color:#111827;margin:0;font-size:20px;font-weight:600}.subtitle{color:#6b7280;margin:4px 0 0;font-size:14px;font-weight:400}.close-button{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:background-color .2s;display:flex}.close-button:hover{background:#f3f4f6}.close-button svg{color:#6b7280;width:20px;height:20px}.info-banner{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;font-size:14px;display:flex}.info-icon{color:#10b981;flex-shrink:0;width:20px;height:20px}.info-banner strong{color:#047857;font-weight:600}.table-container{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.turnos-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.turnos-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;font-size:12px;font-weight:600}.turnos-table tbody tr{cursor:pointer;border-bottom:1px solid #e5e7eb;transition:background-color .15s}.turnos-table tbody tr:last-child{border-bottom:none}.turnos-table tbody tr:hover{background:#f9fafb}.turnos-table tbody tr.selected{background:#ecfdf5}.checkbox-column{text-align:center;width:48px}.checkbox{cursor:pointer;accent-color:#10b981;width:18px;height:18px}.hora-cell{color:#111827;font-variant-numeric:tabular-nums;font-weight:600}.cancha-badge{color:#374151;background:#f3f4f6;border-radius:6px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-block}.cliente-cell{font-weight:500}.whatsapp-cell{color:#6b7280;font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.phone-icon{color:#10b981;width:16px;height:16px}.button{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.button-secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.button-secondary:hover{background:#f9fafb;border-color:#9ca3af}.button-primary{color:#fff;background:#10b981;box-shadow:0 1px 2px #0000000d}.button-primary:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 6px -1px #10b9814d}.button-primary:disabled{opacity:.6;cursor:not-allowed}.send-icon{width:16px;height:16px}@media (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{justify-content:center;width:100%}}.validate-pin-modal{max-width:450px}.validate-pin-modal-title{align-items:center;gap:.5rem;display:flex}.validate-pin-modal-title-icon{color:#4f46e5}.validate-pin-field-group{margin-bottom:1rem}.validate-pin-label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.validate-pin-input{text-align:center;letter-spacing:.5rem;border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:.75rem;font-size:1.125rem;font-weight:600;transition:border-color .2s}.validate-pin-input:focus{border-color:#4f46e5;outline:none}.validate-pin-input--error,.validate-pin-input--error:focus{border-color:#ef4444}.validate-pin-error{color:#ef4444;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.875rem;display:flex}.list-search-box{border-radius:var(--radius-lg);border:1px solid var(--gray-300);box-sizing:border-box;width:100%;max-width:20rem;transition:var(--transition);background-color:#fff;align-items:center;gap:.625rem;padding:0 .875rem;display:flex}.list-search-box:focus-within{border-color:var(--primary)}.list-search-box__icon{width:1.125rem;height:1.125rem;color:var(--gray-500);pointer-events:none;flex-shrink:0}.list-search-box__input{flex:1;width:100%;min-width:0;font-size:.875rem;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;outline:none!important;padding:.75rem 0!important}.list-search-box__input:focus,.list-search-box__input:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.list-search-box__clear{color:var(--gray-500);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.list-search-box__clear:hover{color:var(--gray-700)}@media (width<=768px){.list-search-box{max-width:100%}}.shared-modal-overlay.shared-modal-overlay--elevated{z-index:1400!important}.shared-modal-overlay.shared-modal-overlay--elevated .payment-method-modal{width:90%;max-width:600px;z-index:1401!important}.payment-methods-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.payment-method-card{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem 1rem;transition:all .2s;display:flex}.payment-method-card:hover{background:#f0fdf4;border-color:#10b981;transform:translateY(-2px);box-shadow:0 4px 12px #10b98126}.payment-method-card.selected{background:#f0fdf4;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.payment-method-card-icon{color:#10b981;justify-content:center;align-items:center;font-size:2rem;display:flex}.payment-method-card-icon--success{color:#10b981}.payment-method-card-label{color:#374151;text-align:center;font-size:.875rem;font-weight:500}.checkout-select-section{margin-bottom:1rem}.checkout-select-section label{color:#374151;margin-bottom:.5rem;font-weight:500;display:block}.checkout-select{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem;font-size:1rem}.checkout-select:focus{border-color:#10b981;outline:none;box-shadow:0 0 0 3px #10b9811a}.payment-amount-section{flex-direction:column;gap:.5rem;display:flex}.payment-amount-section label{color:#374151;font-weight:500}.payment-amount-input-modal{text-align:right;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem;font-size:1.125rem}.payment-amount-input-modal:focus{border-color:#10b981;outline:none;box-shadow:0 0 0 3px #10b9811a}.pending-amount-hint{color:#6b7280;text-align:right;font-size:.875rem}.payment-hour-section{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.payment-hour-section label{color:#374151;font-weight:500}.payment-hour-input-modal{color:#374151;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem;font-size:1rem}.payment-hour-input-modal:focus{border-color:#10b981;outline:none;box-shadow:0 0 0 3px #10b9811a}.qr-payment-waiting{flex-direction:column;align-items:center;gap:1.5rem;padding:1rem;display:flex}.qr-code-container{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 4px 12px #0000001a}.qr-code-image{width:200px;height:200px;display:block}.qr-waiting-info{flex-direction:column;align-items:center;gap:.5rem;display:flex}.qr-loader-icon{color:#10b981}.qr-loader-icon.spinning{animation:1s linear infinite spin}.qr-waiting-text{color:#374151;margin:0;font-size:1.125rem;font-weight:600}.qr-amount-text{color:#10b981;margin:0;font-size:1.5rem;font-weight:700}.qr-checkout-text{color:#6b7280;margin:0;font-size:.875rem}.qr-cancel-button{margin-top:1rem}.qr-cobrar-button{color:#fff;background:#10b981}.qr-cobrar-button:hover{background:#059669}.qr-cobrar-button:disabled{cursor:not-allowed;background:#d1d5db}@media (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}}.slots-story-modal-overlay.shared-modal-overlay{z-index:1250}.slots-story-modal{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#111827;background:#fff;flex-direction:column;width:95%;max-width:550px;max-height:85vh;display:flex}.slots-story-modal .modal-header,.slots-story-modal .shared-modal-body,.slots-story-modal .shared-modal-footer{color:#111827;background:#fff}.slots-story-modal .modal-header h2,.slots-story-modal .modal-header h2 svg{color:#111827}.slots-story-modal .modal-header h2{align-items:center;gap:12px;display:flex}.slots-loading,.slots-empty{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 24px;display:flex}.slots-empty svg{opacity:.5}.slots-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.slots-actions .btn-sm{padding:6px 12px;font-size:13px}.selected-count{color:#6b7280;margin-left:auto;font-size:13px;font-weight:500}.slots-list{flex-direction:column;gap:8px;max-height:400px;padding-right:8px;display:flex;overflow-y:auto}.slot-wrapper{flex-direction:column;gap:8px;display:flex}.slots-list::-webkit-scrollbar{width:6px}.slots-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.slots-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.slots-list::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.slot-item{cursor:pointer;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.slot-item:hover{border-color:var(--primary);background:#f0fdf4}.slot-item.selected{border-color:var(--primary);background:linear-gradient(135deg,#0596691a 0%,#0596690d 100%)}.slot-checkbox{border:2px solid #d1d5db;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex}.slot-item.selected .slot-checkbox{background:var(--primary);border-color:var(--primary);color:#fff}.slot-time{color:#374151;align-items:center;gap:10px;font-size:15px;font-weight:500;display:flex}.slot-time svg{color:var(--primary);flex-shrink:0}.courts-selection{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-left:36px;padding:12px}.courts-label{color:#6b7280;margin-bottom:8px;font-size:13px;font-weight:600}.courts-list{flex-direction:column;gap:6px;display:flex}.court-option{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;transition:all .2s;display:flex}.court-option:hover{border-color:var(--primary);background:#f0fdf4}.court-option.selected{border-color:var(--primary);background:#0596690d}.court-checkbox{border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s;display:flex}.court-option.selected .court-checkbox{background:var(--primary);border-color:var(--primary);color:#fff}.slots-story-modal .modal-footer{border-top:1px solid #e5e7eb;margin-top:auto;padding-top:16px}.spinner-small{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@media (width<=480px){.slots-story-modal{max-height:90vh}.slots-actions{flex-direction:column;align-items:flex-start}.selected-count{margin-top:8px;margin-left:0}.slot-item{padding:12px 14px}.slot-time{font-size:14px}}.generar-comanda-modal{flex-direction:column;gap:1rem;min-width:320px;display:flex}.generar-comanda-question{color:var(--text-primary,#1f2937);margin:0;font-size:1rem}.generar-comanda-summary{background:var(--bg-secondary,#f9fafb);border-radius:8px;max-height:200px;padding:.75rem;overflow-y:auto}.generar-comanda-products{flex-direction:column;gap:.5rem;display:flex}.generar-comanda-product-row{justify-content:space-between;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.generar-comanda-product-row .product-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.generar-comanda-product-row .product-qty{color:var(--text-secondary,#6b7280);flex-shrink:0}.generar-comanda-product-row .product-price{flex-shrink:0;font-weight:600}.generar-comanda-total{border-top:1px solid var(--border,#e5e7eb);justify-content:space-between;margin-top:.75rem;padding-top:.75rem;font-size:1rem;font-weight:700;display:flex}.generar-comanda-field{flex-direction:column;gap:.75rem;display:flex}.generar-comanda-field label{color:var(--text-primary,#1f2937);font-size:.9rem;font-weight:500}.generar-comanda-field input{border:1px solid var(--border,#e5e7eb);border-radius:6px;padding:.5rem .75rem;font-size:1rem}.generar-comanda-field input:focus{border-color:var(--primary,#059669);outline:none;box-shadow:0 0 0 2px #05966933}.generar-comanda-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.generar-comanda-actions .btn-cancel{border:1px solid var(--border,#e5e7eb);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1rem;font-size:.9rem}.generar-comanda-actions .btn-cancel:hover{background:var(--bg-secondary,#f9fafb)}.generar-comanda-actions .btn-confirm{background:var(--primary,#059669);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem}.generar-comanda-actions .btn-confirm:hover:not(:disabled){background:var(--primary-hover,#047857)}.generar-comanda-actions .btn-confirm:disabled{opacity:.6;cursor:not-allowed}@keyframes skeleton-loading-home{0%{background-position:200% 0}to{background-position:-200% 0}}.classes-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.classes-title{color:var(--gray-900);margin-bottom:.5rem;font-size:1.75rem;font-weight:700;position:relative}.classes-title:after{content:"";background-color:var(--primary);border-radius:var(--radius);width:3rem;height:.25rem;position:absolute;bottom:-.5rem;left:0}.btn-new-class{z-index:1000;background-color:var(--primary);color:#fff;width:60px;height:60px;box-shadow:var(--shadow-md);border:none;border-radius:50%;justify-content:center;align-items:center;gap:.5rem;padding:.6rem;font-weight:600;transition:all .3s;display:flex;position:absolute;bottom:1rem;right:1rem}.btn-new-class-text{display:none}.btn-new-class:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-new-class:active{transform:translateY(0)}.filters-section{flex-wrap:wrap;gap:1rem;margin:0;padding:0;display:flex}.filter-group{flex-direction:column;display:flex}.filter-group label{color:var(--gray-600);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.filter-select{border-radius:var(--radius-lg);border:1px solid var(--gray-300);width:fit-content;color:var(--gray-700);cursor:pointer;transition:var(--transition);background-color:#fff;padding:.625rem 1rem;font-size:.875rem}.classes-grid{gap:1.5rem;min-height:calc(100vh - 200px);display:grid}.class-card{will-change:transform, opacity;background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:360px;height:fit-content;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 2px 4px #0000001a}.class-card:hover{box-shadow:var(--shadow-lg)}.class-card-header{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;margin:-1.25rem -1.25rem 0;padding:2.25rem;display:flex}.class-card-header h3{margin:0;font-size:1.25rem;font-weight:600}.class-actions{white-space:nowrap;vertical-align:middle;width:1%;display:table-cell}.class-actions .action-buttons,.data-table .actions-cell .action-buttons{flex-flow:row;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.classes-page .data-table .actions-cell{white-space:nowrap;vertical-align:middle;width:1%;display:table-cell}@media (width>=769px){.classes-page .data-table thead th:last-child,.classes-page .data-table .actions-cell,.class-actions{min-width:8.5rem}}.btn-icon.delete{color:#b91c1c;background-color:#fef2f2}.btn-icon.delete:hover{background:var(--danger);color:#b91c1c}.class-card-body{flex-direction:column;flex-grow:1;gap:1rem;padding:1.25rem;display:flex}.class-info{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.info-icon{color:var(--primary);flex-shrink:0}.class-teachers{margin-top:.5rem}.class-teachers h4{color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem;font-weight:600}.teachers-list{flex-wrap:wrap;gap:.5rem;display:flex}.teacher-tag{background-color:var(--primary-light);color:var(--primary);border-radius:var(--radius-full);align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;display:flex}.teacher-icon{font-size:.875rem}.class-level{margin-top:.5rem}.level-badge{border-radius:var(--radius-full);text-transform:uppercase;align-items:center;padding:.375rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.level-badge.small{padding:.25rem .5rem;font-size:.7rem}.payment-progress{margin-top:auto;padding-top:1rem}.progress-label{color:var(--gray-600);justify-content:space-between;margin-bottom:.5rem;font-size:.75rem;display:flex}.payment-stats{font-weight:600}.progress-bar{background-color:var(--gray-200);border-radius:var(--radius-full);height:.5rem;overflow:hidden}.progress-fill{background-color:var(--success);border-radius:var(--radius-full);height:100%;transition:width .3s}.class-card-footer{border-top:1px solid var(--gray-200);text-align:center;padding:1.25rem}.btn-view-details:hover{background-color:var(--gray-200);transform:translateY(-2px)}.form-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.full-width{grid-column:1/-1}.days-selector{flex-wrap:wrap;gap:.5rem;display:flex}.class-detail-modal{max-width:800px}.class-detail-info{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1rem;display:grid}.detail-card{border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);transition:var(--transition);background-color:#fff;overflow:hidden}.detail-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.detail-card-header{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.detail-card-icon{color:var(--primary);font-size:1.25rem}.detail-card-header h4{color:var(--gray-800);margin:0;font-size:1rem;font-weight:700}.detail-card-content{flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.25rem;display:flex}.detail-field{margin-bottom:.75rem;display:flex}.payment-method-actions{gap:.5rem;margin:1rem;display:flex}.detail-field:last-child{margin-bottom:0}.detail-teachers-list{flex-direction:column;gap:1rem;display:flex}.detail-teacher-item{background-color:var(--gray-50);border-radius:var(--radius-lg);align-items:center;gap:1rem;padding:.75rem;display:flex}.teacher-avatar{background-color:var(--primary-light);width:3rem;height:3rem;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.teacher-avatar-icon{font-size:1.5rem}.teacher-info{flex-direction:column;display:flex}.teacher-name{color:var(--gray-800);font-weight:600}.teacher-rating{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.rating-value{color:var(--gray-700);font-weight:600}.class-details-header-actions{justify-content:flex-end;margin-bottom:12px;display:flex}.class-students-table-wrapper{overflow-x:auto}.class-students-table{border-collapse:collapse;width:100%;font-size:14px}.class-students-table thead tr{background:#f3f4f6}.class-students-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;padding:.625rem .875rem;font-size:11px;font-weight:700}.class-students-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:.625rem .875rem}.class-students-table tbody tr:last-child td{border-bottom:none}.class-students-table tbody tr:hover{background:#f9fafb}.student-name-cell{align-items:center;gap:.5rem;display:flex}.student-type-badge{color:#4338ca;background:#e0e7ff;border-radius:9999px;padding:.2rem .6rem;font-size:12px;font-weight:500;display:inline-block}.students-section{border-radius:var(--radius-xl);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);background-color:#fff;min-height:250px;overflow:hidden}.section-header{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.section-header h4{color:var(--gray-800);align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:700;display:flex}.btn-add-student{background-color:var(--primary);color:#fff;border-radius:var(--radius-lg);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.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{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.no-students-icon{color:var(--gray-400);margin-bottom:1rem;font-size:3rem}.no-students p{color:var(--gray-600)}.students-table-container{padding:1.25rem;overflow-x:auto}.students-table{border-collapse:collapse;width:100%}.students-table th{text-align:left;background-color:var(--gray-100);color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.students-table td{border-bottom:1px solid var(--gray-200);padding:.75rem 1rem}.student-name-cell{min-width:250px}.student-info{align-items:center;gap:.75rem;display:flex}.student-avatar{background-color:var(--primary-light);width:2.5rem;height:2.5rem;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.student-avatar.large{width:4rem;height:4rem;font-size:1.5rem}.student-avatar-icon{font-size:1.25rem}.student-name{color:var(--gray-800);font-weight:600}.student-email{color:var(--gray-600);font-size:.75rem}.payment-status{align-items:center;display:flex}.payment-badge{border-radius:var(--radius-full);align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:flex}.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{gap:.5rem;display:flex}.modal-footer .btn-edit{background-color:var(--primary);color:#fff;border-radius:var(--radius-lg);cursor:pointer;border:none;align-items:center;gap:.5rem;width:fit-content;margin:auto 0;padding:1.25rem;font-weight:600;transition:all .2s;display:flex}.modal-footer .btn-edit:hover{background-color:var(--primary-dark);transform:translateY(-2px)}.modal-footer .btn-close{color:var(--gray-700);border:1px solid var(--gray-300);border-radius:var(--radius-lg);cursor:pointer;background-color:#fff;padding:.75rem 1.25rem;font-weight:600;transition:all .2s}.modal-footer .btn-close:hover{background-color:var(--gray-100)}.no-results{text-align:center;color:var(--gray-600);flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.students-list{flex-direction:column;gap:.75rem;display:flex}.add-icon{transition:transform .2s}.payment-modal{max-width:800px}.payment-modal .payment-method-selector{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin:1rem 0 1.5rem;padding:1.25rem;box-shadow:0 2px 4px #0000000d}.payment-modal .payment-method-header{color:var(--gray-700);align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.payment-modal .payment-method-icon{color:var(--primary);font-size:1.2rem}.payment-modal .payment-method-header h4{margin:0;font-size:1.05rem;font-weight:700}.payment-modal .payment-method-content p{color:var(--gray-600);margin:.25rem 0 .75rem;font-size:.9rem}.payment-modal .payment-summary-inline{background:#fff;border:1px dashed #e9ecef;border-radius:8px;grid-template-columns:1fr 1fr;gap:.5rem 1rem;margin:0 0 .75rem;padding:.75rem;display:grid}.payment-modal .payment-summary-inline .summary-row{color:var(--gray-700);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.payment-modal .payment-summary-inline .summary-row strong{color:var(--gray-900)}.payment-modal .method-grid{gap:.75rem;margin-bottom:1rem;display:flex}.payment-modal .method-card{width:100%;color:var(--gray-800);background:#fff;border:1px solid #ced4da;border-radius:10px;align-items:center;gap:.5rem;padding:.8rem .9rem;transition:border-color .2s,box-shadow .2s,transform 50ms;display:flex}.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{color:var(--primary);min-width:40px;font-size:1.1rem;display:inline-flex}.payment-modal .method-card.active .method-icon{color:var(--success)}.payment-modal .method-label{font-size:.9rem;font-weight:700}.payment-modal .payment-method-actions{justify-content:flex-end;gap:.75rem;display:flex}.payment-modal .btn-cancel-payment{border:1px solid var(--gray-400);color:var(--gray-700);cursor:pointer;background:#fff;border-radius:8px;padding:.6rem 1rem;font-size:.9rem;transition:all .2s}.payment-modal .btn-cancel-payment:hover{background:var(--gray-700);color:#fff}.payment-modal .btn-confirm-payment{border:1px solid var(--success);background:var(--success);color:#fff;cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;transition:all .2s;display:flex}.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:1s linear infinite logo-spin}.payment-modal .payment-row.highlight{animation:2s row-flash}@keyframes row-flash{0%{background-color:#e7f7ee}to{background-color:#0000}}.payment-modal .modal-header{border-bottom:1px solid var(--gray-200)!important;background:var(--primary)!important;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0!important;justify-content:space-between!important;align-items:center!important;margin:0!important;display:flex!important}.payment-modal .modal-title{color:#fff!important;align-items:center!important;gap:.5rem!important;margin:0!important;font-size:1.25rem!important;font-weight:600!important;display:flex!important}.payment-modal .modal-title-icon{color:#fff!important;font-size:1.5rem!important}.payment-modal .modal-close{color:#fff!important;cursor:pointer!important;background:0 0!important;border:none!important;border-radius:50%!important;padding:.5rem!important;font-size:1.5rem!important;transition:background-color .2s!important}.payment-modal .modal-close:hover{background-color:#ffffff1a}.payment-info-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1.5rem;display:flex}.payment-class-info h4{color:var(--gray-800);margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.payment-class-details{color:var(--gray-600);flex-wrap:wrap;gap:1rem;font-size:.875rem;display:flex}.payment-student-info{align-items:center;gap:1rem;display:flex}.student-phone{color:var(--gray-600);font-size:.75rem}.amount-icon{color:#28a745;font-size:1rem}.amount-value{color:#155724;font-size:.9rem;font-weight:600}.original-price{text-decoration:line-through;color:var(--gray-500)!important}.price-note{color:var(--gray-500);font-size:.75rem;font-style:italic}.payments-table-container{margin-bottom:1rem;overflow-x:auto}.payments-table{border-collapse:collapse;width:100%}.payments-table th{text-align:left;background-color:var(--gray-100);color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.payments-table td{border-bottom:1px solid var(--gray-200);padding:.75rem 1rem}.payment-row.paid{background-color:var(--success-light)}.payment-period{align-items:center;gap:.5rem;font-weight:500;display:flex}.period-icon{color:var(--primary)}.payment-status-badge{border-radius:var(--radius-full);align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.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{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.payment-menu-container{position:absolute;top:.5rem;right:.5rem}.btn-icon:hover{color:#1f2937;background:#00000014}.btn-icon svg{font-size:1.25rem}.payment-menu-backdrop{z-index:999;cursor:default;background:0 0;border:none;padding:0;position:fixed;inset:0}.payment-menu-dropdown{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:160px;animation:.2s slideDown;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.payment-menu-item{color:#374151;cursor:pointer;text-align:left;background:#fff;border:none;border-bottom:1px solid #f3f4f6;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.payment-menu-item:last-child{border-bottom:none}.payment-menu-item:hover{color:var(--primary);background:#f9fafb}.payment-menu-item svg{flex-shrink:0;font-size:1rem}.payment-menu-item-danger{color:#b91c1c}.payment-menu-item-danger:hover{color:#991b1b;background:#fef2f2}.btn-mark-paid,.btn-mark-pending{border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.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:1rem!important}.no-payments-message{text-align:center;color:var(--gray-600);flex-direction:column;justify-content:center;align-items:center;display:flex}.no-payments-icon{color:var(--gray-400);margin-bottom:1rem;font-size:2.5rem}.payment-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1.25rem;display:grid;background-color:#fff!important;border:1px solid #e9ecef!important;border-radius:12px!important;margin-top:0!important}.summary-label{color:var(--gray-600);font-size:.75rem;font-weight:500}.summary-value{color:var(--gray-800);font-size:1.25rem;font-weight:700}.summary-value.paid{color:var(--success)}.summary-value.pending{color:var(--warning)}.summary-value.amount{color:var(--primary)}@media screen and (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 (width<=480px){.class-info,.payment-summary{grid-template-columns:1fr}.days-selector{justify-content:center}}@media screen and (width>=768px){.detail-card-content{flex-flow:column}.btn-new-class{background-color:var(--primary);color:#fff;border-radius:var(--radius-lg);width:fit-content;height:fit-content;box-shadow:var(--shadow-md);border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.8rem;font-weight:600;transition:all .3s;display:flex;position:relative}.btn-new-class-text{display:flex}}.days-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:.5rem;display:grid}.day-card{cursor:pointer;background:#f3f4f6;border:2px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex}.day-card:hover{background:#e5e7eb}.day-card.selected{background:#dbeafe;border-color:#3b82f6}.day-name{font-weight:500}.day-check{color:#3b82f6}.ages-grid{grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:.75rem;max-height:200px;margin-top:.5rem;display:grid;overflow-y:auto}.age-card{cursor:pointer;background:#f3f4f6;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:.75rem;transition:all .2s;display:flex;position:relative}.age-card:hover{background:#e5e7eb}.age-card.selected{background:#dbeafe;border-color:#3b82f6}.age-number{font-size:.875rem;font-weight:500}.age-check{color:#3b82f6;font-size:.75rem;position:absolute;top:4px;right:4px}.selected-ages-info{background:#f0f9ff;border:1px solid #e0f2fe;border-radius:6px;margin-top:.5rem;padding:.5rem}.selected-ages-info span{color:#0369a1;font-size:.875rem;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{color:#d97706;font-size:.75rem;font-style:italic;font-weight:500}.teachers-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:.5rem;display:grid}.teacher-card{cursor:pointer;background:#f3f4f6;border:2px solid #0000;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.teacher-card:hover{background:#e5e7eb}.teacher-card.selected{background:#dbeafe;border-color:#3b82f6}.class-type-selector{gap:1rem;margin-top:.5rem;display:flex}.class-type-option{cursor:pointer;background:#f3f4f6;border:2px solid #0000;border-radius:8px;flex:1;justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex}.class-type-option:hover{background:#e5e7eb}.class-type-option.selected{background:#dbeafe;border-color:#3b82f6}.class-type-label{color:#374151;font-weight:500}.class-type-check{color:#3b82f6;font-size:1.25rem}.class-form{flex-direction:column;gap:1rem;width:100%;height:100%;display:flex;overflow:auto;max-height:unset!important;padding:0!important}.class-sidebar-modal.sidebar-modal-content{flex-direction:column;display:flex;overflow:hidden}.class-sidebar-modal .sidebar-modal-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.class-sidebar-modal .sidebar-content{flex:1;min-height:0;overflow-y:visible}.class-sidebar-modal .class-form{height:auto;min-height:min-content;overflow:visible}.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:1px solid #e2e8f0;border-radius:12px;padding:1rem}.sidebar-section h4{color:#1e293b;border-bottom:2px solid #3b82f6;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:600}.class-form .form-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.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{color:#374151;text-align:left;font-size:.875rem;font-weight:500}.class-form .form-input{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.75rem 1rem;font-size:.875rem;transition:all .2s}.class-form .form-input:focus{border-color:#3b82f6;outline:none}.class-form .form-input.error{border-color:#ef4444}.class-form .error-message{color:#ef4444;margin-top:.25rem;font-size:.75rem}.form-footer{border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:flex-end;gap:1rem;margin-top:auto;padding:1.5rem 0 0;display:flex}.form-footer-scrollable{background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 12px 12px;justify-content:flex-end;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.class-form-cancel-btn{box-shadow:var(--shadow-sm);color:var(--gray-700)!important;border:1px solid var(--gray-300)!important;background:#fff!important}.class-form-cancel-btn:hover:not(:disabled){border-color:var(--gray-400)!important;background:#f8fafc!important}.class-form-cancel-btn svg{width:1rem;height:1rem}.club-search-container{z-index:2500;margin-top:.5rem;position:relative}.club-search-container input{padding-left:2.75rem}.club-name{color:#374151;margin-bottom:.25rem;font-weight:500;display:block}.club-address{color:#6b7280;font-size:.875rem;display:block}.courts-classes-grid{z-index:1;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:.5rem;display:grid;position:relative}.court-classes-card{cursor:pointer;text-align:left;width:100%;font-family:inherit;font-size:inherit;background:#f3f4f6;border:2px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex}.court-info{flex-direction:column;flex:1;display:flex}.court-classes-card.selected{background:#dbeafe;border-color:#3b82f6}.court-classes-card:hover{background:#e5e7eb}.court-club-name{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#1e40af;border-radius:9999px;margin-bottom:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.court-name{color:#374151;font-weight:500}.court-description{color:#6b7280;margin-top:.25rem;font-size:.875rem;font-style:italic;display:block}.court-check{color:#3b82f6;font-size:1.25rem}.no-courts{color:#6b7280;background:#f9fafb;border-radius:8px;justify-content:center;align-items:center;padding:1rem;font-style:italic;display:flex}.selected-courts-info{color:#01579b;background:#e0f2fe;border:1px solid #81d4fa;border-radius:6px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500}.teacher-level{color:#6b7280;font-size:.875rem}.teacher-check{color:#3b82f6}.form-input.error{border-color:#ef4444}.error-message{color:#ef4444;margin-top:.25rem;font-size:.875rem;display:block}.selected-student-info{background-color:var(--gray-50);border-radius:var(--radius-lg);align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.student-details{flex:1;justify-content:left}.student-details h4{color:var(--gray-900);margin:0;font-size:1.125rem}.student-details p{color:var(--gray-600);margin:.25rem 0 0;font-size:.875rem}.type-content h4{color:var(--gray-900);margin:0;font-size:1rem}.type-content p{color:var(--gray-600);margin:.25rem 0 0;font-size:.875rem}.check-icon{color:var(--primary);font-size:1.25rem}.classes-table-container{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);box-sizing:border-box;background:#fff;width:100%;max-width:100%;overflow:hidden}.classes-table-card{box-sizing:border-box;width:100%}.classes-table{border-collapse:collapse;width:100%;min-width:800px;font-size:.9rem;overflow:hidden}.classes-table thead th{background-color:var(--gray-50);color:var(--gray-700);text-align:left;border-bottom:2px solid var(--gray-200);text-transform:uppercase;letter-spacing:.5px;z-index:10;padding:1rem .75rem;font-size:.85rem;font-weight:600;position:sticky;top:0}.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{border-bottom:1px solid var(--gray-200);vertical-align:top;padding:1rem .75rem}.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{color:#6b7280;margin-top:.25rem;font-size:.625rem;font-weight:400}.pagination-arrow:hover:not(:disabled){color:#374151;background-color:#f3f4f6;border-color:#9ca3af}.pagination-arrow:disabled{color:#6b7280;cursor:not-allowed;opacity:.5;background-color:#f9fafb}@media screen and (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{flex-direction:column;gap:1rem;padding:.75rem 1.5rem}.pagination-left,.pagination-center,.pagination-right{justify-content:center;width:100%}}@media screen and (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%;min-width:600px;font-size:.8rem}.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{text-align:center;flex-direction:column;gap:1rem}.pagination-left,.pagination-right{justify-content:center}.view-toggle{justify-content:center;width:fit-content}}@media screen and (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{color:#333;margin-bottom:10px;font-size:16px;line-height:1.5}.delete-confirm-warning{color:#e74c3c;margin-bottom:20px;font-size:14px;font-weight:500}.delete-confirm-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.delete-confirm-actions .btn{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.delete-confirm-actions .btn-secondary{color:#fff;background-color:#6c757d}.delete-confirm-actions .btn-secondary:hover{background-color:#5a6268}.delete-confirm-actions .btn-danger{color:#fff;background-color:#dc3545}.delete-confirm-actions .btn-danger:hover{background-color:#c82333}.class-details-content{padding:0}.class-info-section{margin-bottom:24px}.info-grid{grid-template-columns:1fr;gap:12px;display:grid}.class-info-section .info-grid{grid-template-columns:repeat(2,1fr);gap:10px}@media (width>=1024px){.class-info-section .info-grid{grid-template-columns:repeat(3,1fr)}}.class-info-section .info-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:row;align-items:flex-start;gap:.625rem;padding:.625rem .875rem}.class-info-section .info-item-icon{width:1.25rem;height:1.25rem;color:var(--primary,#059669);flex-shrink:0;margin-top:.125rem}.class-info-section .info-item-text{flex-direction:column;gap:.2rem;min-width:0;display:flex}.class-info-section .info-label{color:#9ca3af;font-size:12px;font-weight:500}.class-info-section .info-value{color:#111827;font-size:14px;font-weight:600}.info-label{color:#6b7280;font-size:14px;font-weight:500}.info-value{color:#111827;font-size:14px;font-weight:600}.teachers-section,.students-section,.workplan-section,.pdf-section{margin-bottom:24px}.teachers-section h4,.students-section h4,.workplan-section h4,.pdf-section h4{color:#111827;margin-bottom:12px;font-size:16px;font-weight:600}.workplan-content{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;max-height:300px;padding:16px;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{color:#374151;background-color:#f3f4f6;border-radius:6px;padding:8px 12px;font-size:14px}.student-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;transition:all .2s ease-in-out;display:flex}.student-name-container{align-items:center;gap:6px;display:flex;position:relative}.tutor-badge{cursor:help;z-index:1;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:12px;transition:all .2s;display:inline-flex;position:relative}.tutor-badge:hover{z-index:1100;background-color:#e5e7eb;border-color:#9ca3af;transform:scale(1.1)}.tutor-badge.large{min-width:24px;height:24px;margin-left:8px;font-size:14px}.student-header-name{align-items:center;gap:8px;display:flex}.student-type{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:12px}.payment-status-indicator{letter-spacing:.3px;font-size:12px;font-weight:500}.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{background-color:#f9fafb;border-left:4px solid #e5e7eb;border-radius:8px;padding:12px}.payment-status-info{align-items:center;gap:8px;display:flex}.payment-status-label{color:#374151;font-weight:500}.payments-history{margin-top:16px}.btn-edit-header:hover{background-color:#3d8b40}.btn-back{color:#6b7280;cursor:pointer;background-color:#0000;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;transition:all .2s;display:flex}.btn-back:hover{color:#374151;background-color:#f9fafb;border-color:#9ca3af}.form-label{color:#374151;margin-bottom:.5rem;font-size:14px;font-weight:500;display:block}.form-input,.form-textarea,.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:#4faf44;outline:none}.form-textarea{resize:vertical;min-height:80px}.btn-loading{opacity:.7;cursor:not-allowed}.btn-loading:hover{background-color:none!important}.payments-list{flex-direction:column;gap:12px;display:flex}.payments-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.student-payments-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.875rem}.student-payments-table th:first-child,.student-payments-table td:first-child{width:22%}.student-payments-table th:nth-child(2),.student-payments-table td:nth-child(2){width:14%}.student-payments-table th:nth-child(3),.student-payments-table td:nth-child(3){width:16%}.student-payments-table th:nth-child(4),.student-payments-table td:nth-child(4){width:18%}.student-payments-table th:nth-child(5),.student-payments-table td:nth-child(5){width:30%}.payments-table-wrapper .student-payments-table th:first-child,.payments-table-wrapper .student-payments-table td:first-child,.payments-table-wrapper .student-payments-table th:nth-child(2),.payments-table-wrapper .student-payments-table td:nth-child(2){width:18%}.payments-table-wrapper .student-payments-table th:nth-child(3),.payments-table-wrapper .student-payments-table td:nth-child(3){width:12%}.payments-table-wrapper .student-payments-table th:nth-child(4),.payments-table-wrapper .student-payments-table td:nth-child(4),.payments-table-wrapper .student-payments-table th:nth-child(5),.payments-table-wrapper .student-payments-table td:nth-child(5){width:14%}.payments-table-wrapper .student-payments-table th:nth-child(6),.payments-table-wrapper .student-payments-table td:nth-child(6){width:24%}.student-payments-table thead tr{background-color:#f3f4f6;border-bottom:1px solid #e5e7eb}.student-payments-table thead th{text-align:left;color:#374151;white-space:nowrap;padding:10px 14px;font-weight:600}.student-payments-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .15s}.student-payments-table tbody tr:last-child{border-bottom:none}.student-payments-table tbody tr:hover{background-color:#f9fafb}.student-payment-row.paid{background-color:#f0fdf4}.student-payment-row.pending{background-color:#fefce8}.student-payment-row.deleted{color:#9ca3af;background-color:#fef2f2}.student-payments-table td{vertical-align:middle;padding:10px 14px}.payment-date-cell{white-space:nowrap;color:#374151}.payment-amount-cell{color:#1f2937;white-space:nowrap;font-weight:600}.payment-status-cell .payment-status-badge{border-radius:12px;align-items:center;gap:.3rem;padding:3px 8px;font-size:.8rem;font-weight:500;display:inline-flex}.payment-status-badge.paid{color:#16a34a;background-color:#dcfce7}.payment-status-badge.pending{color:#ca8a04;background-color:#fef9c3}.payment-status-badge.deleted{color:#dc2626;background-color:#fee2e2}.payment-method-cell .payment-method-badge{color:#4b5563;align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.payment-method-cell .payment-method-empty{color:#9ca3af}.payment-actions-cell{white-space:nowrap}.payment-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s;position:relative}.payment-item:hover{background-color:#f3f4f6;border-color:#d1d5db}.payment-item.paid{background-color:#f0fdf4;border-color:#22c55e;border-left-style:solid;border-left-width:4px}.payment-item.pending{background-color:#fefce8;border-color:#eab308;border-left-style:solid;border-left-width:4px}.payment-details{color:#6b7280;flex-direction:column;gap:4px;font-size:12px;display:flex}.payment-membership{color:#4b5563;font-size:13px}.loading-state,.empty-state{text-align:center;color:#6b7280;padding:24px}.btn-sm{padding:6px 12px;font-size:12px}.payment-actions-cell .btn-sm{white-space:nowrap;padding:5px 10px;font-size:.7rem;line-height:1.4}.sidebar-navigation{border-bottom:1px solid #e5e7eb;margin-bottom:10px;padding-bottom:16px}.student-payments-content{flex-direction:column;flex:1;gap:16px;display:flex}.student-info-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.student-details-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.payments-section{flex-direction:column;flex:1;display:flex}.payments-section h4{color:#111827;border-bottom:1px solid #e5e7eb;margin-bottom:16px;padding-bottom:8px;font-size:16px;font-weight:600}.class-detail-tabs-wrapper{border-bottom:2px solid #e5e7eb;flex-wrap:nowrap;align-items:center;gap:.5rem;min-height:40px;margin-bottom:1rem;display:flex;position:relative;overflow:visible}.class-detail-tabs{flex:0 auto;gap:0;min-width:0;display:flex}.add-student-inline-btn{background:var(--primary,#059669);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:28px;height:28px;margin-bottom:2px;font-size:1rem;line-height:1;transition:background .15s,transform .2s;display:flex}.add-student-inline-btn:hover{background:#047857}.add-student-inline-btn.active{background:#374151;transform:rotate(45deg)}.inline-student-search{z-index:2;background:#fff;flex-direction:column;justify-content:center;display:flex;position:absolute;top:0;bottom:0;right:32px;overflow:hidden}.inline-search-input-wrapper{background:#fff;align-items:center;gap:.4rem;height:100%;padding:0 .625rem;display:flex}.inline-search-icon{color:#059669;flex-shrink:0;font-size:.95rem}.inline-search-input{color:#374151;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.875rem}.inline-search-input::placeholder{color:#9ca3af}.inline-search-clear{color:#9ca3af;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.9rem;transition:color .12s;display:flex}.inline-search-clear:hover{color:#374151}.inline-students-dropdown{z-index:10;background:#fff;border:1.5px solid #e5e7eb;border-radius:0 0 8px 8px;width:55%;max-height:220px;position:absolute;top:calc(100% + 2px);right:32px;overflow-y:auto;box-shadow:0 6px 16px #0000001a}.inline-student-option{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f3f4f6;align-items:center;gap:.625rem;width:100%;padding:.625rem .875rem;transition:background .12s;display:flex}.inline-student-option:last-child{border-bottom:none}.inline-student-option:hover{background:#f0fdf4}.inline-student-option.new-client:hover{background:#ecfdf5}.inline-student-icon{color:#9ca3af;flex-shrink:0;font-size:1rem}.inline-student-option.new-client .inline-student-icon{color:#059669}.inline-student-info{flex-direction:column;gap:.125rem;min-width:0;display:flex}.inline-student-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.inline-student-option.new-client .inline-student-name{color:#059669;font-weight:500}.inline-student-email{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.class-detail-tab{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.4rem;margin-bottom:-2px;padding:.6rem 1.1rem;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s;display:flex}.class-detail-tab:hover{color:#374151}.class-detail-tab.active{color:var(--primary,#2563eb);border-bottom-color:var(--primary,#2563eb)}.student-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.student-header h3{color:#111827;margin:0;font-size:18px;font-weight:600}.student-type-badge{color:#1e40af;text-transform:uppercase;letter-spacing:.5px;background-color:#dbeafe;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500}.btn-success{color:#fff;cursor:pointer;background-color:#16a34a;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.btn-success:hover{background-color:#15803d}.btn-warning{color:#451a03;cursor:pointer;background-color:#f59e0b;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.btn-warning:hover{background-color:#d97706}.add-student-content{flex-direction:column;flex:1;gap:20px;display:flex}.add-student-header{margin-bottom:4px;padding-bottom:12px}.add-student-header h3{color:#111827;margin:0 0 8px;font-size:18px;font-weight:600}.student-search-section{position:relative}.search-input:focus{border-color:#3b82f6;outline:none}.students-dropdown{z-index:10;background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:200px;margin-top:4px;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a;position:relative!important}.student-option{cursor:pointer;text-align:left;width:100%;font-family:inherit;font-size:inherit;background:0 0;border:none;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:12px 16px;transition:background-color .2s;display:flex}.student-option:last-child{border-bottom:none}.student-option:hover{background-color:#f9fafb}.student-option.selected{color:#1e40af;background-color:#eff6ff}.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{align-items:center;gap:.5rem;display:flex}.form-section:after{content:"";z-index:0;background:linear-gradient(135deg,#22c55e1a,#86efac1a);border-radius:50%;width:100px;height:100px;position:absolute;bottom:-30px;left:-30px}.form-section.personal-section:after{opacity:.4;background-color:#3b82f608;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-position:50%;background-repeat:no-repeat;background-size:30px 30px}.form-section.contact-section:after{opacity:.4;background-color:#10b98108;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-position:50%;background-repeat:no-repeat;background-size:30px 30px}.form-section.sports-section:after{opacity:.4;background-color:#f59e0b08;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-position:50%;background-repeat:no-repeat;background-size:30px 30px}.form-row:last-child{margin-bottom:0}.form-group label{color:#374151;text-align:left;align-items:center;gap:.75rem;min-height:20px;margin-bottom:.25rem;font-size:.875rem;font-weight:500;line-height:1.4;display:flex}.input-icon{color:#6b7280;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:1rem;display:flex!important;position:static!important}.form-input,.form-input:focus,.form-select:focus{border-color:#3b82f6;outline:none}.form-input::placeholder{color:#9ca3af}.phone-input-group{gap:.5rem;display:flex}.phone-code-select{background:#fff;border:2px solid #d1d5db;border-radius:8px;flex:none;align-items:center;min-width:140px;min-height:44px;padding:.75rem .5rem;font-size:.875rem;transition:all .2s;display:flex}.phone-code-select:focus{border-color:#3b82f6;outline:none}.phone-number-input{background:#fff;border:2px solid #d1d5db;border-radius:8px;flex:1;align-items:center;min-height:44px;padding:.75rem 1rem;font-size:.875rem;transition:all .2s;display:flex}.phone-number-input:focus{border-color:#3b82f6;outline:none}.shared-modal-content .phone-input-group{grid-template-columns:minmax(96px,120px) minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.shared-modal-content .phone-code-select{width:100%;min-width:96px;max-width:120px;padding:.75rem .4rem}.shared-modal-content .phone-number-input{width:100%;min-width:0}@media (width<=640px){.phone-input-group{flex-direction:column}.phone-code-select{min-width:auto}}.student-config-section{flex-direction:column;gap:20px;display:flex}.selected-student{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:16px}.selected-student h4{color:#0369a1;margin:0 0 8px;font-size:14px;font-weight:600}.selected-student-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.selected-student-change-btn{color:var(--primary,#059669);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.8125rem;font-weight:600}.selected-student-change-btn:hover{background:#05966914}.selected-student-picker{flex-direction:column;gap:.5rem;display:flex}.selected-student-picker-actions{justify-content:flex-end;display:flex}.class-detail-tabs-actions{flex-shrink:0;align-items:center;gap:.5rem;margin-left:auto;display:flex}.class-students-toolbar{flex-direction:row;flex:none;align-items:center;gap:.5rem;margin-bottom:0;display:flex}.class-students-search-wrapper{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:.5rem;width:220px;min-width:180px;max-width:260px;height:36px;padding:0 .75rem;display:flex}.class-students-search-icon{color:#9ca3af;pointer-events:none;flex-shrink:0;font-size:1rem;line-height:1;display:block}.class-students-search-wrapper .class-students-search-input,.class-students-search-wrapper input.class-students-search-input[type=text]{box-sizing:border-box;width:0;min-width:0;height:100%;box-shadow:none;background:0 0;border:none;outline:none;flex:1;padding:0;font-size:.875rem;line-height:1.25;transition:none}.class-students-search-wrapper .class-students-search-input:focus,.class-students-search-wrapper input.class-students-search-input[type=text]:focus{box-shadow:none;border:none;outline:none}.class-students-search-wrapper .class-students-search-input::placeholder,.class-students-search-wrapper input.class-students-search-input[type=text]::placeholder{color:#9ca3af}.class-students-type-filter{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;flex-shrink:0;width:auto;min-width:118px;height:36px;padding:0 .625rem;font-size:.8125rem}@media (width<=640px){.class-detail-tabs-wrapper{flex-wrap:wrap;row-gap:.5rem}.class-detail-tabs-actions{flex:100%;order:3;justify-content:flex-end;width:100%;margin-left:0}.class-students-toolbar{flex:1;min-width:0}.class-students-search-wrapper{flex:1;width:auto;min-width:0;max-width:none}}.user-icon{color:#0284c7}.type-selector{flex-wrap:wrap;gap:8px;display:flex}.type-btn{color:#6b7280;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;min-width:150px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex;position:relative}.type-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.type-btn.active{color:#fff;background-color:#1e40af;border-color:#1e40af}.type-btn.disabled{color:#4b5563;cursor:not-allowed;opacity:.6;background-color:#f3f4f6;border-color:#e5e7eb}.type-btn.disabled:hover{background-color:#f3f4f6;border-color:#e5e7eb}.type-btn .help-icon-wrapper{cursor:help;align-items:center;margin-left:4px;display:inline-flex;position:relative}.type-btn .help-icon{color:#6b7280;pointer-events:none;font-size:16px}.help-icon-wrapper:before{content:attr(data-tooltip);color:#fff;white-space:normal;text-align:center;opacity:0;visibility:hidden;z-index:1000;pointer-events:none;background-color:#1f2937;border-radius:6px;max-width:250px;padding:8px 12px;font-size:12px;line-height:1.4;transition:opacity .2s,visibility .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.help-icon-wrapper:after{content:"";opacity:0;visibility:hidden;z-index:1000;pointer-events:none;border:6px solid #0000;border-top-color:#1f2937;transition:opacity .2s,visibility .2s;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.type-btn.disabled:hover .help-icon-wrapper:before,.type-btn.disabled:hover .help-icon-wrapper:after{opacity:1;visibility:visible}.date-input-container{align-items:center;display:flex;position:relative}.date-icon{color:#9ca3af;pointer-events:none;z-index:1;font-size:1.125rem;position:absolute;left:.75rem}.date-input:focus{border-color:var(--primary);outline:none;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{align-items:center;gap:8px;margin-bottom:16px;display:flex}.discounts-section h4{color:#374151;margin:0;font-size:14px;font-weight:600}.add-discount-btn{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;padding:0;transition:background-color .2s;display:flex}.add-discount-btn:hover{background-color:var(--primary-dark)}.add-discount-labeled-btn{color:#374151;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:6px;margin-bottom:12px;padding:6px 12px;font-size:.8125rem;transition:border-color .2s,background-color .2s;display:flex}.add-discount-labeled-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.discount-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.discount-type-select,.discount-input{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;padding:8px 12px;font-size:14px}.remove-discount-btn{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background-color .2s;display:flex}.remove-discount-btn:hover{background-color:#dc2626}.price-preview{text-align:center;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:12px}.price-preview p{color:#166534;margin:0;font-weight:600}.input-error{color:#ef4444;margin:4px 0 0;font-size:12px}.add-student-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:20px;display:flex}*{box-sizing:border-box}body{overflow-x:hidden}.classes-page{margin:0}.header-content{justify-content:space-between;align-items:center;width:100%;display:flex}.page-title{color:#1a1a1a;margin:0;font-size:1.75rem;font-weight:600;position:relative}.header-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.btn:hover{background-color:#10b981}.btn-outline{color:var(--primary);border:2px solid var(--primar);background:0 0}.btn-outline:hover{color:#fff;background:#155724}.stat-group-card{box-sizing:border-box;background-color:#fff;border:2px solid #bec1c8;border-radius:12px;width:100%;min-width:0;max-width:100%;padding:1rem;overflow:hidden;box-shadow:0 2px 8px #00000026}.stat-card{box-sizing:border-box;background-color:#f8f9fa;border:1px solid #d1d5db;border-radius:8px;flex-direction:column;min-width:0;max-width:100%;padding:1rem;display:flex;overflow:hidden;box-shadow:0 1px 3px #00000014}@media (width<=768px){.filters-grid{grid-template-columns:1fr;gap:1rem}.stats-grid{gap:1rem}.stat-value{font-size:1.5rem}}.pagination-controls{background-color:#fafafa;border-top:1px solid #e5e7eb;border-radius:0 0 8px 8px;justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem 0;display:flex}.pagination-text{color:#6b7280;font-size:.875rem;font-weight:500}.pagination-buttons{align-items:center;gap:1rem;display:flex}.pagination-btn:hover:not(:disabled){color:#1f2937;background-color:#f9fafb;border-color:#9ca3af}.pagination-btn:disabled{color:#4b5563;cursor:not-allowed;background-color:#f3f4f6;border-color:#e5e7eb}.pagination-btn svg{width:16px;height:16px}.pagination-page-info{color:#374151;text-align:center;background-color:#f3f4f6;border-radius:6px;min-width:80px;padding:.5rem 1rem;font-size:.875rem;font-weight:600}@media (width<=768px){.pagination-controls{flex-direction:column;align-items:stretch;gap:1rem}.pagination-info,.pagination-buttons{justify-content:center}.pagination-btn{flex:1;justify-content:center;min-width:120px}.pagination-page-info{min-width:100px}}@media (width<=480px){.pagination-buttons{flex-direction:column;gap:.5rem}.pagination-btn{width:100%}}.mui-time-picker-container{width:100%;position:relative}.mui-time-picker-field{width:100%!important}.mui-time-picker-field .MuiOutlinedInput-root{border-radius:6px;min-height:40px}.MuiPickersPopper-root{z-index:15000!important}.label-icon{color:#6b7280;width:16px;height:16px;margin-right:.5rem}.date-hint{color:#6b7280;margin-top:.25rem;font-size:.75rem;font-style:italic;display:block}.form-input[type=date]{position:relative}.form-input[type=date]:focus{border-color:#3b82f6}.lexical-html-editor{flex-direction:column;gap:.5rem;width:100%;display:flex}.lexical-toolbar{background:#f8fafc;border:1px solid #dbe1ea;border-radius:12px;flex-wrap:wrap;gap:.5rem;padding:.75rem;display:flex}.lexical-toolbar-group{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.lexical-toolbar-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .75rem;font-size:.875rem;font-weight:600;line-height:1;transition:border-color .2s,background-color .2s,transform .2s;display:inline-flex}.lexical-toolbar-button:hover{background:#f8fafc;border-color:#94a3b8}.lexical-toolbar-button:active{transform:translateY(1px)}.lexical-toolbar-button svg{width:.95rem;height:.95rem}.lexical-toolbar-button--text{justify-content:center;min-width:4rem}.lexical-editor-shell{background:#fff;border:1px solid #d1d5db;border-radius:12px;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.lexical-html-editor:focus-within .lexical-editor-shell{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.lexical-html-editor--error .lexical-editor-shell{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.lexical-editor-input{color:#111827;outline:none;min-height:180px;padding:1rem 1.1rem;font-size:.95rem;line-height:1.6;position:relative}.lexical-editor-placeholder{color:#9ca3af;pointer-events:none;font-size:.95rem;line-height:1.6;position:absolute;top:1rem;left:1.1rem}.lexical-editor-input p{margin:0 0 .75rem}.lexical-editor-input p:last-child{margin-bottom:0}.lexical-editor-input h1,.lexical-editor-input h2,.lexical-editor-input h3{color:#111827;margin:0 0 .75rem;line-height:1.25}.lexical-editor-input h1{font-size:1.5rem}.lexical-editor-input h2{font-size:1.25rem}.lexical-editor-input h3{font-size:1.1rem}.lexical-editor-input ul,.lexical-editor-input ol{margin:.75rem 0;padding-left:1.5rem}.lexical-editor-input li+li{margin-top:.25rem}.lexical-editor-input a{color:#2563eb;text-decoration:underline}.lexical-html-editor--embedded{gap:0}.lexical-html-editor--embedded .lexical-toolbar{display:none}.lexical-html-editor--embedded .lexical-editor-shell{box-shadow:none;background:0 0;border:none;border-radius:0}.lexical-html-editor--embedded .lexical-editor-input{background:0 0;min-height:0;padding:0}.lexical-html-editor--embedded .lexical-editor-placeholder{top:0;left:0}.date-picker-container{z-index:1;position:relative}.date-picker-container:focus-within{z-index:50}.custom-date-picker{color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem;font-weight:500;transition:all .2s}.custom-date-picker:hover{border-color:#9ca3af}.custom-date-picker:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.custom-date-picker.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.custom-datepicker-popper-portal{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:1200!important;position:fixed!important}.custom-datepicker-popper-portal .react-datepicker{border:none;font-family:inherit;position:relative;z-index:1200!important}.custom-datepicker-popper{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:1200!important;position:absolute!important}.custom-datepicker-popper .react-datepicker{border:none;font-family:inherit;position:relative;z-index:1200!important}.react-datepicker,.react-datepicker__portal{z-index:1200!important}@media (width<=768px){.custom-date-picker{padding:.75rem;font-size:1rem}.custom-datepicker-popper,.custom-datepicker-popper-portal{max-width:calc(100vw - 1rem);margin:.5rem}}.payment-modal-top-section{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.payment-details-section{margin-bottom:0}.payment-details-section h4{color:#333;margin:0 0 .5rem;font-size:1rem;font-weight:600}.discounts-section-compact{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-bottom:1rem;padding:.75rem}.discounts-section-compact .section-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.discounts-section-compact .section-header h4{color:#333;margin:0;font-size:.9rem;font-weight:600}.discounts-section-compact .discounts-content{margin-bottom:.5rem}.discounts-section-compact .discount-row{align-items:center;gap:.25rem;margin-bottom:.25rem;display:flex}.discounts-section-compact .discount-type-select,.discounts-section-compact .discount-input{border:1px solid #ddd;border-radius:3px;flex:1;padding:.25rem .5rem;font-size:.8rem}.discounts-section-compact .remove-discount-btn{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:3px;justify-content:center;align-items:center;padding:.25rem;font-size:.8rem;display:flex}.discounts-section-compact .price-preview{border-top:1px solid #e9ecef;padding-top:.5rem}.discounts-section-compact .price-breakdown{flex-direction:column;gap:.15rem;display:flex}.discounts-section-compact .price-row{justify-content:space-between;font-size:.8rem;display:flex}.discounts-section-compact .price-row.final-price{color:#28a745;border-top:1px solid #e9ecef;margin-top:.15rem;padding-top:.15rem;font-weight:600}.price-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-bottom:1rem;padding:.75rem}.price-section .price-breakdown{flex-direction:column;gap:.15rem;display:flex}.price-section .price-row{justify-content:space-between;font-size:.9rem;display:flex}.price-section .price-row.final-price{color:#28a745;border-top:1px solid #e9ecef;margin-top:.25rem;padding-top:.25rem;font-weight:600}.payment-summary h4{color:var(--gray-800);margin-bottom:.75rem;font-size:1rem;font-weight:600}.payment-method-section{width:100%;margin-top:1rem;margin-bottom:0}.payment-comment-section{width:100%;margin-top:1rem}.payment-comment-section h4{color:var(--gray-800);margin-bottom:.5rem;font-size:.9rem;font-weight:600}.payment-comment-input{border:1px solid var(--gray-300);width:100%;color:var(--gray-800);background:var(--white);resize:vertical;box-sizing:border-box;border-radius:6px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.payment-comment-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb), .15);outline:none}.payment-comment-cell{max-width:200px;color:var(--gray-700);white-space:normal;word-break:break-word;font-size:.8rem}.payment-method-section h4{color:var(--gray-800);margin-bottom:.5rem;font-size:.9rem;font-weight:600}.payment-method-section h5{color:var(--gray-700);margin-top:1rem;margin-bottom:.75rem;font-size:.85rem;font-weight:600}.payment-method-selector{margin-bottom:1rem}body>.payment-method-selector{z-index:15001!important;background:#fff!important;border-radius:12px!important;width:90%!important;max-width:600px!important;margin:0!important;padding:1.5rem!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a!important}.payment-method-input-group{align-items:stretch;gap:.5rem;display:flex}.payment-method-select{cursor:pointer;background:#fff;border:2px solid #e9ecef;border-radius:6px;flex:1;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.payment-method-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.payment-amount-input{border:2px solid #e9ecef;border-radius:6px;flex:1;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.payment-amount-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.btn-add-payment{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:.375rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.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{color:#c33;background:#fee;border:1px solid #fcc;border-radius:6px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.error-message-small svg{flex-shrink:0}.payment-methods-list{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem}.payment-method-item{background:#fff;border:1px solid #e9ecef;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem;transition:all .2s;display:flex}.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{flex:1;align-items:center;gap:.75rem;display:flex}.payment-method-info svg{color:var(--primary);font-size:1.125rem}.payment-method-name{color:var(--gray-700);font-size:.875rem;font-weight:500}.payment-method-amount{color:var(--gray-900);margin-left:auto;font-size:.9rem;font-weight:700}.btn-remove-payment{color:#c33;cursor:pointer;background:#fee;border:1px solid #fcc;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.btn-remove-payment:hover{color:#fff;background:#dc2626;transform:scale(1.05)}.btn-remove-payment svg{font-size:1rem}.payment-summary{border-top:2px solid #e9ecef;margin-top:.5rem;padding-top:.75rem}.payment-summary-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem;display:flex}.payment-summary-row:last-child{margin-bottom:0}.payment-summary-row span:first-child{color:var(--gray-600);font-weight:500}.payment-summary-amount{color:var(--gray-900);font-size:1rem;font-weight:700}.payment-summary-remaining{font-size:1rem;font-weight:700}.payment-summary-remaining.complete{color:#22c55e}.payment-summary-remaining.pending{color:#eab308}.payment-methods-grid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.25rem;display:grid}.price-breakdown{flex-direction:column;gap:.375rem;display:flex}.price-row{justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.price-row.final-price{color:#28a745;border-top:1px solid #28a745;padding-top:.375rem;font-size:.875rem}.manual-price-input-wrapper{align-items:center;gap:2px;display:flex}.manual-price-prefix{font-weight:600}.manual-price-input{color:#28a745;text-align:right;background:#fff;border:1px solid #d1d5db;border-radius:4px;outline:none;width:90px;padding:2px 6px;font-size:.875rem;font-weight:600}.manual-price-input:focus{border-color:#9ca3af}.btn-processing{color:#fff!important;cursor:not-allowed!important;background:#4a5568!important;border-color:#4a5568!important}.btn-processing:hover{background:#4a5568!important;border-color:#4a5568!important}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}@media (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{border:2px solid var(--gray-300);border-radius:var(--radius);background-color:var(--white);color:var(--gray-700);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;min-width:100px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.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{color:var(--gray-600);margin:.25rem 0 .5rem;font-size:.875rem;line-height:1.4}.form-error{color:var(--red-600);background-color:var(--red-50);border-radius:var(--radius);border:1px solid var(--red-200);align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;font-size:.875rem;display:flex}.btn-loading .btn-loading svg{color:#fff!important}.pdf-info-text{color:var(--gray-600);background-color:var(--blue-50);border:1px solid var(--blue-200);border-radius:var(--radius);margin:.5rem 0 1rem;padding:.75rem;font-size:.875rem;line-height:1.4}.file-upload-container{border:2px dashed var(--gray-300);border-radius:var(--radius);text-align:center;background-color:var(--gray-50);padding:1rem;transition:all .3s}.file-upload-container:hover{border-color:var(--primary);background-color:var(--primary-50)}.file-upload-area{flex-direction:column;align-items:center;gap:.5rem;display:flex}.file-upload-label{cursor:pointer;border-radius:var(--radius);color:var(--gray-600);flex-direction:column;align-items:center;gap:.5rem;padding:1rem;transition:all .3s;display:flex}.file-upload-label:hover{color:var(--primary);background-color:var(--white)}.upload-icon{color:var(--primary);font-size:2rem}.file-selected,.file-uploaded{background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.file-info{flex:1;align-items:center;gap:.75rem;display:flex}.file-icon{color:var(--primary);font-size:1.5rem}.file-details{flex-direction:column;gap:.25rem;display:flex}.file-name{color:var(--gray-900);font-weight:500}.file-size{color:var(--gray-500);font-size:.875rem}.file-status{color:var(--success);font-size:.875rem;font-weight:500}.file-actions{align-items:center;gap:.5rem;display:flex}.btn-save-pdf{background-color:var(--success);color:var(--white);border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .3s;display:flex}.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{background-color:var(--success);color:var(--white);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.btn-view:hover{background-color:var(--success-dark)}.upload-error{background-color:var(--danger-50);border:1px solid var(--danger);border-radius:var(--radius);margin-top:.75rem;padding:.75rem}.error-text{color:var(--danger);font-size:.875rem;font-weight:500}.existing-pdf-container{flex-direction:column;gap:1rem;display:flex}.existing-pdf-info{background-color:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.btn-view-pdf{background-color:var(--primary);color:var(--white);border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .3s;display:flex}.btn-view-pdf:hover{background-color:var(--primary-dark)}.class-payment-detail-backdrop{z-index:25000!important}.class-payment-amount-final--emphasis{color:#1a1a1a;font-size:.95rem;font-weight:600}.class-payment-amount-cell--compact .class-payment-amount-final--emphasis{font-size:.875rem}.class-payment-amount-cell--discounted .original-price{margin-top:.15rem;font-size:.75rem;display:block}.class-payment-discount-badge{color:#047857;background:#ecfdf5;border-radius:4px;margin-top:.25rem;padding:.1rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.class-payment-amount-cell--compact .class-payment-discount-badge{margin-top:.15rem}.pdf-modal-backdrop{z-index:20000;background-color:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.pdf-modal-content{background-color:var(--white);border-radius:var(--radius);z-index:20001;flex-direction:column;width:90%;max-width:1200px;height:90%;max-height:800px;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.pdf-modal-header{border-bottom:1px solid var(--gray-200);background-color:var(--gray-50);border-radius:var(--radius) var(--radius) 0 0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.pdf-modal-controls{align-items:center;gap:1rem;display:flex}.btn-download-pdf{background-color:var(--success);color:var(--white);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.btn-download-pdf:hover{background-color:var(--success-dark);color:var(--white);text-decoration:none}.pdf-viewer-container{flex-direction:column;align-items:center;width:100%;min-height:100%;display:flex}.page-info{color:var(--gray-700);text-align:center;min-width:120px;font-size:.875rem;font-weight:500}.pdf-loading{color:var(--gray-600);flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.pdf-loading .pdf-loading-note{color:var(--gray-500);margin-top:.5rem;font-size:.75rem;font-style:italic}.pdf-error{color:var(--error);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.btn-download-fallback{background-color:var(--success);color:var(--white);border-radius:var(--radius);margin-top:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .3s}.btn-download-fallback:hover{background-color:var(--success-dark);color:var(--white);text-decoration:none}.pdf-pages-container{background:#fff;flex-direction:column;align-items:center;gap:1rem;width:100%;min-height:auto;padding:1rem 0;display:flex}.pdf-page-wrapper{flex-direction:column;flex-shrink:0;align-items:center;width:100%;margin-bottom:1rem;display:flex}.pdf-page-number{color:var(--gray-600);background-color:var(--gray-100);border-radius:var(--radius);border:1px solid var(--gray-200);margin-bottom:.5rem;padding:.25rem .75rem;font-size:.875rem;font-weight:500}.pdf-modal-title{color:var(--gray-900);margin:0;font-size:1.125rem;font-weight:600}.pdf-modal-close{background-color:var(--gray-200);width:2rem;height:2rem;color:var(--gray-600);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;transition:all .3s;display:flex}.pdf-modal-close:hover{background-color:var(--gray-300);color:var(--gray-800)}.pdf-modal-body{flex:1;height:70vh;min-height:500px;padding:0;overflow:hidden auto}@media (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{flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem 1rem}.pdf-modal-title{text-align:center;font-size:1rem}.pdf-modal-controls{justify-content:center}.btn-download-pdf{padding:.4rem .8rem;font-size:.8rem}.page-info{min-width:100px;font-size:.8rem}.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{padding:.2rem .6rem;font-size:.8rem}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:4px;animation:2.5s ease-in-out infinite skeleton-loading;display:inline-block}.skeleton-card-info{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.skeleton-info-item{align-items:center;gap:.5rem;display:flex}.skeleton-icon{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:50%;width:16px;height:16px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-text{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:4px;height:.9rem;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-text.short{width:70px}.skeleton-text.medium{width:110px}.skeleton-text.long{width:140px}.skeleton-table-row{background:#fff}.skeleton-table-cell{border-bottom:1px solid #e5e7eb;padding:1rem}.spinner-icon{color:var(--primary);margin-bottom:1rem;font-size:2rem;animation:1s linear infinite spin}@media (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{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:50%;width:20px;height:20px;animation:2.5s ease-in-out .2s infinite skeleton-loading}.skeleton-stat-value{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:4px;width:60%;height:28px;margin:.5rem 0;animation:2.5s ease-in-out .1s infinite skeleton-loading}@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{background:#e0e0e0;animation:none}}@media (width<=768px){.skeleton-stat-value{width:70%;height:24px}}.tab-button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:1rem;font-size:1rem;font-weight:500;transition:all .3s;position:relative}.tab-button:hover{color:var(--primary)}.tab-button.active{border-bottom-color:var(--primary);font-weight:600;color:var(--primary)!important;background:0 0!important}.teacher-dropdown{z-index:50;background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:300px;margin-top:.5rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.teacher-dropdown label{cursor:pointer;border-bottom:1px solid #f3f4f6;align-items:center;padding:.75rem 1rem;transition:background .2s;display:flex}.teacher-dropdown label:hover{background:#f9fafb}.teacher-dropdown label:last-child{border-bottom:none}.teacher-dropdown input[type=checkbox]{cursor:pointer;margin-right:.75rem}.reports-tab{width:100%}@media (width<=768px){.tab-button{padding:.75rem 1rem;font-size:.9rem}}.reschedule-info{margin-bottom:1rem}.reschedule-description{color:#4b5563;margin-bottom:1rem;font-size:.95rem;line-height:1.6}.reschedule-current-date{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.reschedule-current-date .detail-label{color:#6b7280;font-size:.875rem;font-weight:600}.reschedule-current-date .detail-value{color:#1f2937;font-size:.95rem;font-weight:500}.class-manager{min-height:100vh}.stats-section{grid-template-columns:repeat(4,1fr);justify-content:space-between;gap:1.5rem;margin-bottom:1rem;display:grid}.stats-section .stat-card{background:var(--bg-primary,#fff);text-align:center;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:1rem;width:280px;padding:1rem;transition:box-shadow .2s,transform .2s;display:flex;box-shadow:0 1px 2px #0000000d}.stats-section .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.stats-section .stat-icon{border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stats-section .stat-icon.total{color:#7c3aed;background:#ede9fe}.stats-section .stat-icon.active{color:#059669;background:#d1fae5}.stats-section .stat-icon.students{color:#2563eb;background:#dbeafe}.stats-section .stat-icon.pending{color:#f59e0b;background:#fef3c7}.stats-section .stat-info{flex-direction:column;display:flex}.stats-section .stat-value{color:#111827;font-size:1.75rem;font-weight:700}.stats-section .stat-label{color:#6b7280;font-size:.875rem}.stats-section .skeleton-stat-card{background:#f9fafb}.stats-section .skeleton-stat-icon{background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%) 0 0/200% 100%;border-radius:8px;width:48px;height:48px;animation:2.5s ease-in-out infinite skeleton-loading-home}.stats-section .skeleton-stat-value{background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%) 0 0/200% 100%;border-radius:4px;width:60px;height:28px;margin-bottom:.25rem;animation:2.5s ease-in-out infinite skeleton-loading-home}.stats-section .skeleton-stat-label{background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%) 0 0/200% 100%;border-radius:4px;width:80px;height:16px;animation:2.5s ease-in-out infinite skeleton-loading-home}.filters-section-new{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1rem;padding:1rem;box-shadow:0 1px 2px #0000000d}.filters-section-new .filters-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.filters-section-new .search-filter-group{flex:auto;min-width:200px;max-width:480px}.filters-section-new .search-box{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;width:100%;display:flex;position:relative}.filters-section-new .view-toggle{background:#f3f4f6;border-radius:8px;flex:none;align-items:center;gap:.25rem;padding:.25rem;display:flex}.filters-section-new .view-toggle-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.filters-section-new .view-toggle-btn:hover{color:#374151;background:#e5e7eb}.filters-section-new .view-toggle-btn.active{color:#059669;background:#fff;box-shadow:0 1px 2px #0000000d}.filters-section-new .view-toggle-btn svg{width:18px;height:18px}.filters-section-new .search-icon{color:#9ca3af;pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:.625rem;transform:translateY(-50%)}.filters-section-new .search-input{background:0 0;border:none;border-radius:8px;width:100%;padding:.5rem .75rem .5rem 2.125rem;font-size:.875rem}.filters-section-new .search-box:focus-within{border-color:#059669;box-shadow:none!important}.filters-section-new .search-input:focus{outline:none;box-shadow:none!important}.filters-section-new .filters-row{flex:1;align-items:flex-end;gap:1rem;display:flex}.filters-section-new .filter-group{flex-direction:column;flex:0 auto;gap:.375rem;min-width:120px;display:flex}.filters-section-new .filter-group label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.filters-section-new .filter-group select{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:fit-content;padding:.5rem .75rem;font-size:.875rem;transition:border-color .2s}.filters-section-new .filter-group select:focus{border-color:#059669;outline:none}.pill-badge{white-space:nowrap;border-radius:12px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;line-height:1.2;display:inline-block}.pill-teacher{color:#4338ca;background-color:#e0e7ff}.pill-court{color:#065f46;background-color:#d1fae5}.classes-section{margin-bottom:1rem}.classes-section .section-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.classes-section .section-header h2{font-size:1.25rem;font-weight:600}.classes-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.classes-section .class-card,.classes-grid .class-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-top:3px solid #059669;border-radius:12px;padding:1rem;transition:box-shadow .2s,transform .2s;box-shadow:0 1px 2px #0000000d}.classes-section .class-card:hover,.classes-grid .class-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.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{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.classes-section .sport-badge,.classes-grid .sport-badge{text-transform:uppercase;letter-spacing:.025em;border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600}.classes-section .sport-badge.padel,.classes-grid .sport-badge.padel{color:#047857;background:#d1fae5}.classes-section .sport-badge.tenis,.classes-grid .sport-badge.tenis{color:#1d4ed8;background:#dbeafe}.classes-section .status-badge,.classes-grid .classes-section .status-badge.active,.classes-grid .status-badge.active{color:#047857;background:#d1fae5}.classes-section .status-badge.inactive,.classes-grid .status-badge.inactive{color:#6b7280;background:#f3f4f6}.classes-section .class-name,.classes-grid .class-name{color:#111827;margin-bottom:1rem;font-size:1.125rem;font-weight:600}.classes-section .class-details,.classes-grid .class-details{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.classes-section .detail-row,.classes-grid .detail-row{color:#6b7280;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.classes-section .detail-row svg,.classes-grid .detail-row svg{color:#9ca3af;flex-shrink:0}.classes-section .class-footer,.classes-grid .class-footer{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.classes-section .students-count,.classes-grid .students-count{color:#6b7280;align-items:center;gap:.375rem;font-size:.875rem;display:flex}.classes-section .view-btn,.classes-grid .view-btn{color:#059669;cursor:pointer;background:0 0;border:1px solid #059669;border-radius:8px;padding:0;font-size:.875rem;font-weight:500;transition:background .2s,color .2s}.classes-section .view-btn:hover,.classes-grid .view-btn:hover{color:#fff;background:#059669}.classes-section .no-results,.classes-grid .no-results{text-align:center;color:#6b7280;grid-column:1/-1;padding:3rem}.classes-section .no-results svg,.classes-grid .no-results svg{opacity:.5;margin-bottom:1rem}.classes-section .no-results h3,.classes-grid .no-results h3{color:#374151;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.classes-section .no-results p,.classes-grid .no-results p{margin-bottom:1rem}.class-card.skeleton{cursor:default;background:#f9fafb;animation:none}.class-card.skeleton:hover{transform:none;box-shadow:0 1px 2px #0000000d}.class-card .skeleton-badge{background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%) 0 0/200% 100%;border-radius:9999px;width:60px;height:24px;animation:2s ease-in-out infinite skeleton-loading-home!important}.class-card .skeleton-title{background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%) 0 0/200% 100%;border-radius:4px;width:70%;height:24px;margin-bottom:1rem;animation:2s ease-in-out infinite skeleton-loading-home!important}.class-card .skeleton-detail-row{background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%) 0 0/200% 100%;border-radius:4px;width:100%;height:16px;margin-bottom:.5rem;animation:2s ease-in-out infinite skeleton-loading-home!important}.class-card .skeleton-detail-row:nth-child(2){width:80%}.class-card .skeleton-detail-row:nth-child(3){width:60%}.class-card .skeleton-students{background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%) 0 0/200% 100%;border-radius:4px;width:40px;height:20px;animation:2s ease-in-out infinite skeleton-loading-home!important}.class-card .skeleton-button{background:linear-gradient(90deg,#e5e7eb 0%,#f3f4f6 50%,#e5e7eb 100%) 0 0/200% 100%;border-radius:8px;width:100px;height:36px;animation:2s ease-in-out infinite skeleton-loading-home!important}@media (width<=1024px){.stats-section,.filters-section-new .filters-row{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.stats-section{flex-wrap:wrap;gap:1rem;display:flex}.stats-section .stat-card{width:150px}.filters-section-new .filters-row{flex-direction:row}.filters-section-new .filter-group{width:fit-content}.classes-grid{grid-template-columns:1fr}}.class-hours-container,.class-hours-list{flex-direction:column;gap:1rem;display:flex}.class-hour-item{border:1px solid var(--gray-300);border-radius:var(--radius-lg);background-color:var(--gray-50);flex-direction:column;padding:1rem;display:flex}.class-hour-time-pickers{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.class-hour-time-picker{flex-direction:column;flex:1;gap:.5rem;min-width:150px;display:flex}.class-hour-time-picker label{color:var(--gray-700);font-size:.875rem;font-weight:600}.btn-remove-hour{border-radius:var(--radius);background-color:var(--error);color:#fff;cursor:pointer;width:36px;height:36px;transition:var(--transition);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.btn-remove-hour:hover{background-color:var(--error-dark);transform:scale(1.05)}.btn-remove-hour:active{transform:scale(.95)}.btn-add-hour{border:2px dashed var(--gray-300);border-radius:var(--radius-lg);color:var(--gray-700);cursor:pointer;transition:var(--transition);background-color:#fff;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;display:flex}.btn-add-hour:hover{border-color:var(--primary);color:var(--primary);background-color:var(--primary-light)}.btn-add-hour:active{transform:scale(.98)}.no-class-hours{text-align:center;color:var(--gray-500);padding:1rem;font-size:.875rem;font-style:italic}@media (width<=768px){.class-hour-time-pickers{flex-direction:column}.class-hour-time-picker{min-width:100%}.btn-remove-hour{width:100%;height:40px}}.students-tab-wrapper{padding:1rem}.students-tab-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.students-tab-title{color:var(--gray-800);margin:0;font-size:1.35rem;font-weight:700}.students-tab-subtitle{color:var(--gray-500);margin:.35rem 0 0;font-size:.9rem}.students-tab-metric{border:1px solid var(--gray-200);background:var(--gray-50);border-radius:10px;min-width:170px;padding:.65rem .85rem}.students-tab-metric-label{color:var(--gray-600);margin-bottom:.25rem;font-size:.75rem;display:block}.students-tab-metric-value{color:var(--primary);font-size:1.45rem;font-weight:700;line-height:1}.students-tab-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.students-tab-filter-group{flex-direction:column;gap:.375rem;display:flex}.students-tab-filter-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.students-tab-search{border:1px solid var(--gray-300);background:#fff;border-radius:8px;align-items:center;min-width:300px;display:flex;position:relative}.students-tab-search:focus-within{border-color:#9ca3af}.students-tab-search-icon{color:#9ca3af;pointer-events:none;flex-shrink:0;width:15px;height:15px;position:absolute;top:50%;left:.625rem;transform:translateY(-50%)}.students-tab-search input{background:0 0;border:none;border-radius:8px;outline:none;width:100%;padding:.5rem .75rem .5rem 2rem;font-size:.875rem}.students-tab-status-filter{border:1px solid var(--gray-300);cursor:pointer;background:#fff;border-radius:8px;width:fit-content;padding:.5rem .75rem;font-size:.875rem}.students-tab-table-wrap{overflow-x:auto}.students-tab-table{border-collapse:collapse;width:100%}.students-tab-table th,.students-tab-table td{text-align:left;border-bottom:1px solid var(--gray-200);vertical-align:top;padding:.75rem;font-size:.875rem}.students-tab-table th{color:var(--gray-600);font-weight:600}.students-tab-name{color:var(--gray-800);font-weight:600}.students-tab-alias{color:var(--gray-500);margin-top:.15rem;font-size:.75rem}.students-tab-expand-btn{border:1px solid var(--gray-300);color:var(--gray-700);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.students-tab-badge{border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.74rem;font-weight:600;display:inline-flex}.students-tab-badge.active,.students-tab-badge.present{color:#166534;background:#dcfce7}.students-tab-badge.inactive{color:#374151;background:#e5e7eb}.students-tab-badge.absent{color:#991b1b;background:#fee2e2}.students-tab-detail-row td{background:#fafafa}.students-tab-detail-content{flex-direction:column;gap:.75rem;display:flex}.students-tab-class-card{border:1px solid var(--gray-200);background:#fff;border-radius:10px;padding:.7rem}.students-tab-class-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.students-tab-class-title{color:var(--gray-800);font-size:.92rem;font-weight:600}.students-tab-class-subtitle,.students-tab-validity{color:var(--gray-600);font-size:.78rem}.students-tab-validity{margin-top:.35rem}.students-tab-attendances{margin-top:.55rem}.students-tab-attendances-title{color:var(--gray-700);margin-bottom:.35rem;font-size:.78rem;font-weight:600}.students-tab-attendance-list{flex-direction:column;gap:.35rem;display:flex}.students-tab-attendance-item{justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.students-tab-empty-inline{color:var(--gray-500);font-size:.8rem}.students-tab-state{text-align:center;min-height:220px;color:var(--gray-500);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.students-tab-error{color:#b91c1c}.students-tab-retry{border:1px solid var(--gray-300);color:var(--gray-700);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:.35rem;padding:.55rem .75rem;display:inline-flex}.students-tab-cards{display:none}.students-tab-card{border:1px solid var(--gray-200);background:#fff;border-radius:10px;padding:.75rem}.students-tab-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.55rem;display:flex}.students-tab-card-info{color:var(--gray-700);flex-direction:column;gap:.25rem;margin-bottom:.6rem;font-size:.85rem;display:flex}@media (width<=900px){.students-tab-table-wrap{display:none}.students-tab-cards{grid-template-columns:1fr;gap:.75rem;display:grid}.students-tab-search{min-width:100%}}@keyframes stsk-pulse{0%,to{opacity:1}50%{opacity:.45}}.students-tab-skeleton{flex-direction:column;gap:1.25rem;padding:1.5rem 1rem;display:flex}.stsk-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.stsk-title-block,.stsk-metric-block{flex-direction:column;gap:.45rem;display:flex}.stsk-metric-block{align-items:flex-end}.stsk-filters{gap:.75rem;display:flex}.stsk-search,.stsk-select{background:#e5e7eb;border-radius:8px;height:36px;animation:1.4s ease-in-out infinite stsk-pulse}.stsk-search{flex:1}.stsk-select{width:130px}.stsk-cards{flex-direction:column;gap:.75rem;display:flex}.stsk-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:.55rem;padding:.85rem;display:flex}.stsk-card-head{justify-content:space-between;align-items:center;display:flex}.stsk-line{background:#e5e7eb;border-radius:6px;height:12px;animation:1.4s ease-in-out infinite stsk-pulse}.stsk-title{width:160px;height:18px}.stsk-subtitle{width:230px;height:12px}.stsk-metric-label{width:110px;height:11px}.stsk-metric-value{background:#e5e7eb;border-radius:6px;width:40px;height:22px;animation:1.4s ease-in-out infinite stsk-pulse}.stsk-name{width:55%;height:14px}.stsk-info{width:85%}.stsk-info.short{width:50%}.stsk-badge{background:#e5e7eb;border-radius:999px;width:56px;height:20px;animation:1.4s ease-in-out infinite stsk-pulse}.quota-skel-card{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:.875rem 1rem;display:flex}.schedule-reservation-modal .quota-skel-card{margin:1rem 1.25rem 0}.quota-skel-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.quota-skel-line{background:#e5e7eb;border-radius:6px;height:12px;animation:1.4s ease-in-out infinite stsk-pulse;display:block}.quota-skel-line--title{width:40%;height:14px}.quota-skel-line--count{width:22%;height:14px}.quota-skel-line--detail{width:85%}.quota-skel-line--detail.short{width:55%}.quota-skel-line--date{width:55%;height:13px}.quota-skel-line--time{width:40%;height:12px}.quota-skel-line--capacity{width:70%;height:11px}.quota-skel-progress{background:#e5e7eb;border-radius:999px;height:6px;animation:1.4s ease-in-out infinite stsk-pulse;display:block}.quota-skel-rows{flex-direction:column;gap:.5rem;display:flex}.quota-skel-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.quota-skel-row-main{flex-direction:column;flex:1;gap:.35rem;display:flex}.quota-skel-btn{background:#e5e7eb;border-radius:6px;flex-shrink:0;width:72px;height:32px;animation:1.4s ease-in-out infinite stsk-pulse}.quota-skel-reservation-list{flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.quota-skel-reservation-item{background:#e5e7eb;border:1px solid #e5e7eb;border-radius:8px;height:40px;animation:1.4s ease-in-out infinite stsk-pulse}.quota-usage-card{background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);border:1px solid #a7f3d0;border-radius:10px;margin-bottom:1rem;padding:.875rem 1rem}.quota-usage-card-header{color:#065f46;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:flex}.quota-usage-count{font-variant-numeric:tabular-nums}.quota-progress-bar{background:#d1fae5;border-radius:999px;height:6px;margin-bottom:.5rem;overflow:hidden}.quota-progress-bar-fill{background:#10b981;border-radius:999px;height:100%;transition:width .25s}.quota-usage-remaining,.quota-usage-detail,.quota-usage-meta{color:#047857;margin:0;font-size:.8125rem}.student-quota-panel{flex-direction:column;gap:1rem;display:flex}.student-quota-payment-alert{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem;font-size:.8125rem;display:flex}.student-quota-section-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.student-quota-section-header h4{margin:0;font-size:.9375rem}.student-quota-reservation-list{flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.student-quota-reservation-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.student-type-badge--quota{color:#1e40af;background:#dbeafe}.student-quota-chip{color:#6b7280;margin-top:.15rem;font-size:.75rem;display:block}.schedule-reservation-backdrop{z-index:26000;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.schedule-reservation-modal{z-index:26001;background:#fff;border-radius:12px;flex-direction:column;width:min(520px,100%);max-height:min(85vh,640px);display:flex;position:relative;box-shadow:0 20px 40px #00000026}.schedule-reservation-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;display:flex}.schedule-reservation-header h3{margin:0;font-size:1.0625rem;font-weight:600}.schedule-reservation-close{cursor:pointer;color:#6b7280;background:0 0;border:none;padding:.25rem}.schedule-reservation-modal .quota-usage-card{margin:1rem 1.25rem 0}.schedule-reservation-error{color:#b91c1c;background:#fef2f2;border-radius:8px;align-items:center;gap:.5rem;margin:.75rem 1.25rem 0;padding:.5rem .75rem;font-size:.8125rem;display:flex}.schedule-reservation-filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}.schedule-reservation-filters label{color:#6b7280;flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.schedule-reservation-filters input[type=date]{border:1px solid #d1d5db;border-radius:6px;padding:.4rem .5rem;font-size:.875rem}.schedule-reservation-list{flex-direction:column;flex:1;gap:.5rem;padding:0 1.25rem 1.25rem;display:flex;overflow-y:auto}.schedule-reserve-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.schedule-reserve-row--disabled{opacity:.72;background:#f9fafb}.schedule-reserve-row-main{flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.schedule-reserve-date,.schedule-reserve-time{align-items:center;gap:.35rem;display:inline-flex}.schedule-reserve-reason{color:#b45309;font-size:.75rem}.schedule-reserve-row-actions{flex-direction:column;flex-shrink:0;gap:.35rem;display:flex}.csm-occupancy-block{color:#374151;background:#f3f4f6;border-radius:8px;margin:.75rem 0;padding:.65rem .75rem;font-size:.8125rem}.csm-quota-students{margin-top:.75rem}.csm-quota-students-label{color:#6b7280;margin-bottom:.35rem;font-size:.75rem;font-weight:600}.csm-student-pill--reserved{background:#ecfdf5;border-color:#10b981}.csm-student-pill-tag{color:#1e40af;text-transform:uppercase;background:#dbeafe;border-radius:4px;margin-left:.35rem;padding:.1rem .35rem;font-size:.65rem;font-weight:600}.csm-student-pill-tag--ok{color:#065f46;background:#d1fae5}.csm-btn-reserve{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.csm-btn-reserve:hover{background:#2563eb}.att-quota-hint{color:#6b7280;margin:.25rem 0 0;font-size:.75rem;font-weight:400}.csm-attendance-section{border-top:1px solid #e5e7eb;margin-top:.875rem;padding-top:.75rem}.csm-attendance-table{border-collapse:collapse;width:100%;margin-top:.4rem;font-size:.8125rem}.csm-attendance-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #f3f4f6;padding:.25rem .4rem .35rem;font-size:.7rem;font-weight:600}.csm-attendance-table td{color:#374151;border-bottom:1px solid #f9fafb;padding:.3rem .4rem}.csm-attendance-table tr:last-child td{border-bottom:none}.attendance-table-wrapper.payments-table-wrapper .student-payments-table th:first-child,.attendance-table-wrapper.payments-table-wrapper .student-payments-table td:first-child{width:28%}.attendance-table-wrapper.payments-table-wrapper .student-payments-table th:nth-child(2),.attendance-table-wrapper.payments-table-wrapper .student-payments-table td:nth-child(2){width:42%}.attendance-table-wrapper.payments-table-wrapper .student-payments-table th:nth-child(3),.attendance-table-wrapper.payments-table-wrapper .student-payments-table td:nth-child(3){width:30%}.attendance-tab-section{margin-top:.25rem}.att-badge.att-quota{color:#1e40af;vertical-align:middle;background:#dbeafe;margin-left:.5rem;font-size:.7rem}.monthly-quota-config{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.enrollment-option-reset-card{cursor:pointer;text-align:left;background:#f9fafb;border:2px dashed #d1d5db;border-radius:10px;align-items:flex-start;gap:.75rem;width:100%;padding:.875rem 1rem;transition:border-color .15s,background .15s;display:flex}.enrollment-option-reset-card:hover{background:#f3f4f6;border-color:#9ca3af}.enrollment-option-reset-icon{color:#6b7280;flex-shrink:0;margin-top:.15rem;font-size:1.125rem}.enrollment-option-reset-text{flex-direction:column;gap:.2rem;display:flex}.enrollment-option-reset-text strong{color:#374151;font-size:.875rem}.enrollment-option-reset-text small{color:#6b7280;font-size:.75rem;font-weight:400}@keyframes table-skel-pulse{0%,to{opacity:1}50%{opacity:.5}}.table-skel-cell{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:4px;height:1rem;animation:1.4s ease-in-out infinite table-skel-pulse;display:block}.table-skel-cell+.table-skel-cell{margin-top:.5rem}.table-skel-cell--client{background:#e9ecef;width:150px;height:20px;animation:1.4s ease-in-out infinite table-skel-pulse}.table-skel-cell--sport{background:#e9ecef;width:80px;height:20px}.table-skel-cell--court{background:#e9ecef;width:120px;height:20px}.table-skel-cell--schedule{background:#e9ecef;width:100px;height:20px}.table-skel-cell--day{background:#e9ecef;width:80px;height:20px}.table-skel-cell--period{background:#e9ecef;width:120px;height:20px}.table-skel-cell--amount-sm{background:#e9ecef;width:90px;height:20px}.table-skel-cell--class-name{background:#e9ecef;width:120px;height:20px}.table-skel-cell--type{background:#e9ecef;width:100px;height:20px}.table-skel-cell--wide{width:180px;height:1rem}.table-skel-cell--narrow{width:100px;height:1rem}.table-skel-cell--short{width:70px;height:1rem}.table-skel-cell--medium{width:120px;height:1rem}.table-skel-cell--long{width:160px;height:1rem}.table-skel-cell--actions{background:#e9ecef;width:60px;height:20px}.table-skel-cell--status{background:#e9ecef;border-radius:999px;width:80px;height:20px}.table-skel-cell--description{width:200px}.table-skel-cell--price{width:70px}.table-skel-cell--date{width:90px}.table-skel-cell--hour{width:60px}.table-skel-cell--name{width:140px}.table-skel-cell--sku{width:80px}.table-skel-cell--cost{width:70px}.table-skel-cell--stock{width:40px}.table-skel-cell--categories{width:120px}.table-skel-cell--profit{width:70px}.table-skel-cell--report-th{width:100%;min-width:80px;height:14px}.table-skel-cell--report-cell{width:100%;min-width:60px;height:16px}.data-table-container .data-name .data-name-content .skeleton-cell.name,.data-table-container .data-name .data-name-content span.skeleton-cell.name{width:120px;height:1.25rem}.data-table-container .data-name .data-name-content .skeleton-cell.alias,.data-table-container .data-name .data-name-content span.skeleton-cell.alias{width:80px;height:.8rem;margin-top:.25rem}.data-table-container span.skeleton-cell{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:4px;animation:1.4s ease-in-out infinite table-skel-pulse;display:block}:root{--sch-primary:#059669;--sch-primary-light:#10b981;--sch-primary-dark:#047857;--sch-primary-bg:#ecfdf5;--sch-bg:#fafafa;--sch-surface:#fff;--sch-text:#111827;--sch-text-secondary:#6b7280;--sch-text-muted:#9ca3af;--sch-border:#e5e7eb;--sch-border-light:#f3f4f6;--sch-error:#ef4444;--sch-error-bg:#fef2f2;--sch-warning:#f59e0b;--sch-warning-bg:#fffbeb;--sch-space-xs:4px;--sch-space-sm:8px;--sch-space-md:12px;--sch-space-lg:16px;--sch-space-xl:24px;--sch-space-2xl:32px;--sch-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--sch-text-xs:12px;--sch-text-sm:14px;--sch-text-base:16px;--sch-text-lg:18px;--sch-text-xl:20px;--sch-text-2xl:24px;--sch-radius:12px;--sch-radius-sm:8px;--sch-radius-full:9999px;--sch-shadow-sm:0 1px 2px #0000000a;--sch-shadow:0 4px 12px #00000014;--sch-transition:.2s ease}.sch-container{background:var(--sch-bg);min-height:100vh;font-family:var(--sch-font);color:var(--sch-text);padding-bottom:var(--sch-space-lg);position:relative}.sch-background-wrapper{z-index:0;position:fixed;inset:0;overflow:hidden}.sch-background-image{filter:blur(8px);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;transform:scale(1.1)}.sch-background-overlay{background:#ffffff80;position:absolute;inset:0}.sch-content{z-index:1;max-width:100%;padding:.5rem;position:relative}.sch-header{align-items:center;gap:var(--sch-space-md);padding:var(--sch-space-lg);color:#fff;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000008c;border-bottom:1px solid #fff3;display:flex;position:relative;top:0;overflow:hidden}.sch-header-no-image{background:#000}.sch-header:before{content:"";z-index:2;background:#00000080;position:absolute;inset:0}.sch-header-info,.sch-header-back,.sch-header-logo{z-index:3;position:relative}@media (width<=639px){.sch-header{color:#fff;padding:var(--sch-space-lg);background:#0000004d;min-height:120px}.sch-background-overlay{background:#fff}.sch-header-title{color:#fff}.sch-header-subtitle{color:#ffffffe6}.sch-header-back{color:#fff;background:#fff3}}.sch-header-back{color:#fff;cursor:pointer;border-radius:var(--sch-radius-sm);width:40px;height:40px;transition:background var(--sch-transition);background:#fff3;border:none;justify-content:center;align-items:center;display:flex}.sch-header-back:hover{background:#ffffff4d}.sch-header-info{min-width:0}.sch-header-logo{border-radius:var(--sch-radius-sm);object-fit:cover;background:var(--sch-border-light);width:44px;height:44px}.sch-header-title{font-size:var(--sch-text-base);color:#fff;white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.sch-header-subtitle{font-size:var(--sch-text-xs);color:#ffffffe6;margin:0}.sch-header-background{z-index:1;background:#000;border-radius:0;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.sch-header-background img{object-fit:cover;width:100%;height:100%}.sch-progress{padding:var(--sch-space-lg);background:var(--sch-surface);border-bottom:1px solid var(--sch-border);z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;position:relative}.sch-progress-bar{align-items:center;gap:var(--sch-space-sm);margin-bottom:var(--sch-space-sm);display:flex}.sch-progress-step{border-radius:var(--sch-radius-full);background:var(--sch-border);width:8px;height:8px;transition:all var(--sch-transition)}.sch-progress-step.active{background:var(--sch-primary);width:24px}.sch-progress-step.completed{background:var(--sch-primary)}.sch-progress-line{background:var(--sch-border);flex:1;height:2px}.sch-progress-line.completed{background:var(--sch-primary)}.sch-progress-text{font-size:var(--sch-text-xs);color:var(--sch-text-secondary)}.sch-fade-in{flex-direction:column;animation:.3s sch-fade-in;display:flex}.sch-step-slot-container{flex-direction:column;display:flex}.sch-fade-in.sch-step-slot-container{background:0 0;border-radius:0;padding:0}@keyframes sch-fade-in{0%{opacity:0}to{opacity:1}}.sch-section-title{font-size:var(--sch-text-lg);margin:0 0 var(--sch-space-lg) 0;align-items:center;gap:var(--sch-space-sm);font-weight:600;display:flex}.sch-section-title svg{color:var(--sch-primary)}.sch-club-info-cards{flex-direction:column;gap:1rem;margin-top:.5rem;margin-bottom:.5rem;display:flex}.sch-desktop-only{display:none}.sch-mobile-only{gap:.5rem;margin-bottom:.5rem;display:flex}.sch-info-card{background:var(--sch-surface);border:1px solid var(--sch-border);border-radius:var(--sch-radius);padding:var(--sch-space-lg);box-shadow:var(--sch-shadow-sm)}.sch-info-card:last-child{margin-bottom:2rem}.sch-info-card-header{align-items:center;gap:var(--sch-space-sm);margin-bottom:var(--sch-space-md);color:var(--sch-primary);display:flex}.sch-info-card-header h3{font-size:var(--sch-text-base);color:var(--sch-text);margin:0;font-weight:600}.sch-info-card-content{color:var(--sch-text-secondary);font-size:var(--sch-text-sm);line-height:1.6}.sch-info-card-content p{margin:0}.sch-info-time-item{padding:var(--sch-space-sm) 0;flex-direction:column;gap:4px;display:flex}.sch-info-time-item:not(:last-child){border-bottom:1px solid var(--sch-border-light);margin-bottom:var(--sch-space-sm)}.sch-info-time-text{color:var(--sch-text);font-weight:500}.sch-info-time-desc{font-size:var(--sch-text-xs);color:var(--sch-text-muted);font-weight:600}.sch-info-service-item{padding:var(--sch-space-sm);background:var(--sch-primary-bg);border-radius:var(--sch-radius-sm);margin-bottom:var(--sch-space-sm);font-size:var(--sch-text-sm)}.sch-info-service-item:last-child{margin-bottom:0}.sch-sports-wrapper{gap:var(--sch-space-lg);width:100%;margin-top:var(--sch-space-lg);flex-direction:column;display:flex}.sch-sports{gap:var(--sch-space-sm);padding-bottom:var(--sch-space-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;margin-bottom:0;display:flex;overflow-x:auto}.sch-sports::-webkit-scrollbar{display:none}.sch-sport-pill{align-items:center;gap:var(--sch-space-sm);padding:var(--sch-space-sm) var(--sch-space-lg);border:1px solid var(--sch-border);border-radius:var(--sch-radius-full);background:var(--sch-surface);font-size:var(--sch-text-sm);color:var(--sch-text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--sch-transition);display:flex}.sch-sport-pill:hover{border-color:var(--sch-primary);color:var(--sch-primary)}.sch-sport-pill.active{background:var(--sch-primary);border-color:var(--sch-primary);color:#fff}.sch-sport-pill svg{font-size:var(--sch-text-base)}.sch-flow-toggle{gap:var(--sch-space-sm);background:var(--sch-surface);border:1px solid var(--sch-border);border-radius:var(--sch-radius);padding:var(--sch-space-xs);display:flex}.sch-flow-toggle-btn{justify-content:center;align-items:center;gap:var(--sch-space-sm);padding:var(--sch-space-sm) var(--sch-space-md);border-radius:calc(var(--sch-radius) - 4px);font-size:var(--sch-text-sm);color:var(--sch-text-secondary);cursor:pointer;transition:all var(--sch-transition);white-space:nowrap;background:0 0;border:none;flex:1;font-weight:500;display:flex}.sch-flow-toggle-btn:hover{background:var(--sch-border-light);color:var(--sch-text)}.sch-flow-toggle-btn.active{background:var(--sch-primary);color:#fff;box-shadow:var(--sch-shadow-sm)}.sch-flow-toggle-btn svg{font-size:var(--sch-text-base)}.sch-calendar{background:var(--sch-surface);border-radius:var(--sch-radius);border:1px solid var(--sch-border);margin-bottom:.5rem;overflow:hidden}.sch-calendar-header{padding:var(--sch-space-lg);border-bottom:1px solid var(--sch-border-light);justify-content:space-between;align-items:center;display:flex}.sch-calendar-title{font-size:var(--sch-text-base);text-transform:capitalize;font-weight:600}.sch-calendar-nav{gap:var(--sch-space-sm);display:flex}.sch-calendar-nav-btn{border:1px solid var(--sch-border);border-radius:var(--sch-radius-sm);background:var(--sch-surface);width:36px;height:36px;color:var(--sch-text);cursor:pointer;transition:all var(--sch-transition);justify-content:center;align-items:center;display:flex}.sch-calendar-nav-btn:hover{background:var(--sch-border-light)}.sch-calendar-nav-btn:disabled{opacity:.4;cursor:not-allowed}.sch-calendar-weekdays{padding:var(--sch-space-sm) var(--sch-space-lg);border-bottom:1px solid var(--sch-border-light);grid-template-columns:repeat(7,1fr);display:grid}.sch-calendar-weekday{text-align:center;font-size:var(--sch-text-xs);color:var(--sch-text-muted);text-transform:uppercase;font-weight:600}.sch-calendar-days{padding:var(--sch-space-sm);gap:var(--sch-space-xs);grid-template-columns:repeat(7,1fr);display:grid}.sch-calendar-day{aspect-ratio:1;font-size:var(--sch-text-sm);border-radius:var(--sch-radius-sm);color:var(--sch-text);cursor:pointer;transition:all var(--sch-transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sch-calendar-day:hover:not(:disabled):not(.empty){background:var(--sch-primary-bg);color:var(--sch-primary)}.sch-calendar-day.selected{background:var(--sch-primary);color:#fff;font-weight:600}.sch-calendar-day.today:not(.selected){border:2px solid var(--sch-primary);color:var(--sch-primary)}.sch-calendar-day:disabled,.sch-calendar-day.empty{color:var(--sch-text-muted);cursor:default;opacity:.4}.sch-calendar-day.empty{opacity:0;pointer-events:none}.sch-slots-header{margin-bottom:var(--sch-space-lg);justify-content:space-between;align-items:center;display:flex}.sch-slots-date{font-size:var(--sch-text-sm);color:var(--sch-text-secondary)}.sch-slots-list{gap:var(--sch-space-sm);flex-direction:column;display:flex}.sch-slot{padding:var(--sch-space-lg);background:var(--sch-surface);border:1px solid var(--sch-border);border-radius:var(--sch-radius);cursor:pointer;transition:all var(--sch-transition);justify-content:space-between;align-items:center;display:flex}.sch-slot:hover{border-color:var(--sch-primary)}.sch-slot.selected{border-color:var(--sch-primary);background:var(--sch-primary-bg)}.sch-slot-time{font-size:var(--sch-text-base);font-weight:600}.sch-slot-time-block{align-items:flex-start;gap:var(--sch-space-xs);flex-direction:column;min-width:0;display:flex}.sch-slot-discount-badge{font-size:var(--sch-text-xs);color:#fff;background:var(--sch-primary-dark);padding:2px var(--sch-space-sm);border-radius:var(--sch-radius-full);white-space:nowrap;font-weight:600;line-height:1.2}.sch-slot.selected .sch-slot-discount-badge{background:var(--sch-primary-dark);color:#fff}.sch-slot-info{align-items:center;gap:var(--sch-space-sm);color:var(--sch-text-secondary);font-size:var(--sch-text-sm);display:flex}.sch-slot-info svg{color:var(--sch-primary)}.sch-sport-group{margin-bottom:5rem}.sch-sport-group-header{align-items:center;gap:var(--sch-space-sm);margin-bottom:var(--sch-space-md);padding:var(--sch-space-md) var(--sch-space-lg);background:var(--sch-primary-bg);border-radius:var(--sch-radius);display:flex}.sch-sport-group-header svg{color:var(--sch-primary)}.sch-sport-group-title{font-size:var(--sch-text-lg);color:var(--sch-text);margin:0;font-weight:600}.sch-selected-slot-display{margin-bottom:var(--sch-space-lg)}.sch-selected-card-inline{justify-content:center;align-items:center;gap:var(--sch-space-md);flex-direction:row;width:100%;display:flex}.sch-selected-card-body{flex-direction:column;align-items:center;min-width:0;display:flex}.sch-selected-duration-text{align-items:center;gap:var(--sch-space-xs);flex-direction:row;min-width:0;display:flex}.sch-selected-card-icon{flex-shrink:0}.sch-selected-card-icon--duration,.sch-selected-card-icon--slot{color:var(--sch-primary-dark)}.sch-selected-slot-card{align-items:center;gap:var(--sch-space-sm);padding:var(--sch-space-md) var(--sch-space-lg);background:var(--sch-primary-bg);border:2px solid var(--sch-primary);border-radius:var(--sch-radius);text-align:center;flex-direction:column;display:flex}.sch-selected-slot-info{justify-content:center;align-items:center;gap:var(--sch-space-xs);flex-direction:column;width:100%;display:flex}.sch-selected-slot-time{font-size:var(--sch-text-base);color:var(--sch-primary);text-align:center;font-weight:600}.sch-selected-slot-duration{font-size:var(--sch-text-sm);color:var(--sch-text-secondary);text-align:center}.sch-selected-slot-sports{gap:var(--sch-space-sm);padding-top:var(--sch-space-sm);border-top:1px solid var(--sch-border-light);flex-wrap:wrap;justify-content:center;width:100%;display:flex}.sch-selected-slot-sport{align-items:center;gap:var(--sch-space-xs);font-size:var(--sch-text-xs);color:var(--sch-text-secondary);padding:var(--sch-space-xs) var(--sch-space-sm);background:var(--sch-surface);border-radius:var(--sch-radius-sm);display:flex}.sch-selected-slot-sport svg{color:var(--sch-primary)}.sch-selected-slot-sport.active{background:var(--sch-primary);color:#fff}.sch-selected-slot-sport.active svg{color:#fff}.sch-selected-summary-row{gap:var(--sch-space-lg);margin-bottom:var(--sch-space-lg);flex-direction:column;display:flex}@media (width>=768px){.sch-selected-summary-row{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.sch-selected-summary-row .sch-selected-duration-display,.sch-selected-summary-row .sch-selected-slot-display{flex-direction:column;align-self:stretch;align-items:stretch;width:100%;min-width:0;margin-bottom:0;display:flex}.sch-selected-summary-row .sch-selected-card-inline{margin-bottom:0}.sch-selected-summary-row .sch-selected-duration-card,.sch-selected-summary-row .sch-selected-slot-card{box-sizing:border-box;flex:1;justify-content:center;width:100%}}.sch-selected-duration-display{margin-bottom:var(--sch-space-lg)}.sch-selected-duration-card{justify-content:center;align-items:center;gap:var(--sch-space-md);padding:var(--sch-space-md) var(--sch-space-lg);background:var(--sch-primary-bg);border:2px solid var(--sch-primary);border-radius:var(--sch-radius);text-align:center;flex-direction:row;display:flex}.sch-selected-duration-value{font-size:var(--sch-text-2xl);color:var(--sch-primary);text-align:center;flex-shrink:0;font-weight:600}.sch-selected-duration-label{font-size:var(--sch-text-sm);color:var(--sch-text-secondary);text-align:center;flex-shrink:0}.sch-duration-list{gap:var(--sch-space-md);grid-template-columns:repeat(2,1fr);margin-bottom:3rem;display:grid}.sch-duration-option{padding:var(--sch-space-lg);background:var(--sch-surface);border:1px solid var(--sch-border);border-radius:var(--sch-radius);cursor:pointer;transition:all var(--sch-transition);flex-direction:column;align-items:center;display:flex}.sch-duration-option:hover{border-color:var(--sch-primary)}.sch-duration-option.selected{border-color:var(--sch-primary);background:var(--sch-primary-bg)}.sch-duration-value{font-size:var(--sch-text-2xl);color:var(--sch-primary);font-weight:600}.sch-duration-label{font-size:var(--sch-text-sm);color:var(--sch-text-secondary);margin-top:var(--sch-space-xs)}.sch-courts-list{gap:var(--sch-space-md);flex-direction:column;margin-bottom:3rem;display:flex}.sch-court{align-items:center;gap:var(--sch-space-lg);padding:var(--sch-space-lg);background:var(--sch-surface);border:1px solid var(--sch-border);border-radius:var(--sch-radius);cursor:pointer;transition:all var(--sch-transition);display:flex}.sch-court:hover{border-color:var(--sch-primary)}.sch-court.selected{border-color:var(--sch-primary);background:var(--sch-primary-bg)}.sch-court-image{border-radius:var(--sch-radius-sm);object-fit:cover;background:var(--sch-border-light);width:64px;height:64px}.sch-court-info{flex:1;min-width:0}.sch-court-name{font-size:var(--sch-text-base);margin:0 0 var(--sch-space-xs) 0;font-weight:600}.sch-court-type{font-size:var(--sch-text-sm);color:var(--sch-text-secondary);align-items:center;gap:var(--sch-space-xs);display:flex}.sch-court-price{font-size:var(--sch-text-lg);color:var(--sch-primary);font-weight:600}.sch-court-check{border-radius:var(--sch-radius-full);border:2px solid var(--sch-border);width:24px;height:24px;transition:all var(--sch-transition);justify-content:center;align-items:center;display:flex}.sch-court.selected .sch-court-check{background:var(--sch-primary);border-color:var(--sch-primary);color:#fff}.sch-confirm-summary{background:var(--sch-surface);border:1px solid var(--sch-border);border-radius:var(--sch-radius);padding:var(--sch-space-lg);margin-bottom:var(--sch-space-xl)}.sch-confirm-summary-row{align-items:center;gap:var(--sch-space-md);padding:var(--sch-space-sm) 0;display:flex}.sch-confirm-summary-row:not(:last-child){border-bottom:1px solid var(--sch-border-light)}.sch-confirm-summary-icon{background:var(--sch-primary-bg);width:32px;height:32px;color:var(--sch-primary);border-radius:var(--sch-radius-sm);justify-content:center;align-items:center;display:flex}.sch-confirm-summary-text{font-size:var(--sch-text-sm);flex:1}.sch-confirm-summary-value{font-weight:600}.sch-form{gap:var(--sch-space-lg);flex-direction:column;display:flex}.sch-form-group{gap:var(--sch-space-sm);flex-direction:column;display:flex}.sch-form-label{font-size:var(--sch-text-sm);color:var(--sch-text);font-weight:600;margin:0!important}.sch-form-input{padding:var(--sch-space-md) var(--sch-space-lg);border:1px solid var(--sch-border);border-radius:var(--sch-radius);font-size:var(--sch-text-base);font-family:var(--sch-font);background:var(--sch-surface);transition:all var(--sch-transition)}.sch-form-input:focus{border-color:var(--sch-primary);box-shadow:0 0 0 3px var(--sch-primary-bg);outline:none}.sch-form-input.error{border-color:var(--sch-error)}.sch-form-input::placeholder{color:var(--sch-text-muted)}.sch-form-error{font-size:var(--sch-text-xs);color:var(--sch-error);align-items:center;gap:var(--sch-space-xs);display:flex}.sch-form-note{font-size:var(--sch-text-xs);color:var(--sch-text-muted);text-align:center;margin-top:var(--sch-space-md)}.sch-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:0;display:flex}.sch-success-icon{border-radius:var(--sch-radius-full);background:var(--sch-primary-bg);width:80px;height:80px;color:var(--sch-primary);margin-bottom:var(--sch-space-xl);justify-content:center;align-items:center;font-size:40px;animation:.4s sch-success-pop;display:flex}@keyframes sch-success-pop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.sch-success-title{font-size:var(--sch-text-xl);margin:0 0 var(--sch-space-sm) 0;font-weight:600}.sch-success-subtitle{font-size:var(--sch-text-sm);color:var(--sch-text-secondary);margin:0 0 var(--sch-space-xl) 0}.sch-success-card{background:var(--sch-surface);border:1px solid var(--sch-border);border-radius:var(--sch-radius);width:100%;max-width:320px;padding:var(--sch-space-lg);text-align:left;margin-bottom:.5rem}.sch-success-card-row{align-items:center;gap:var(--sch-space-md);padding:var(--sch-space-sm) 0;font-size:var(--sch-text-sm);display:flex}.sch-success-card-row svg{color:var(--sch-primary);flex-shrink:0}.sch-success-actions{gap:var(--sch-space-md);flex-direction:column;width:100%;max-width:320px;display:flex}.sch-btn{justify-content:center;align-items:center;gap:var(--sch-space-sm);padding:var(--sch-space-md) var(--sch-space-lg);border-radius:var(--sch-radius);font-size:var(--sch-text-base);font-weight:600;font-family:var(--sch-font);cursor:pointer;transition:all var(--sch-transition);border:none;width:fit-content;display:flex}.sch-btn-primary{background:var(--sch-primary);color:#fff}.sch-btn-primary:hover:not(:disabled){background:var(--sch-primary-dark)}.sch-btn-secondary{background:var(--sch-surface);color:var(--sch-text);border:1px solid var(--sch-border)}.sch-btn-secondary:hover:not(:disabled){background:var(--sch-border-light)}.sch-btn:disabled{opacity:.5;cursor:not-allowed}.sch-btn-loading{position:relative}.sch-btn-loading:after{content:"";border-radius:var(--sch-radius-full);border:2px solid #0000;border-top-color:currentColor;width:16px;height:16px;animation:.8s linear infinite sch-spin}@keyframes sch-spin{to{transform:rotate(360deg)}}.sch-footer{padding:var(--sch-space-lg);background:var(--sch-surface);border-top:1px solid var(--sch-border);z-index:100;position:fixed;bottom:0;left:0;right:0}.sch-footer-content{max-width:100%;padding:0;display:flex}.sch-skeleton-loader{padding:var(--sch-space-xl);max-width:1200px;margin:0 auto}.sch-skeleton-header{align-items:center;gap:var(--sch-space-md);margin-bottom:var(--sch-space-2xl);flex-direction:column;display:flex}.sch-skeleton-logo{border-radius:var(--sch-radius);background:linear-gradient(90deg, var(--sch-border) 25%, var(--sch-border-light) 50%, var(--sch-border) 75%);background-size:200% 100%;width:80px;height:80px;animation:1.5s ease-in-out infinite sch-skeleton-shimmer}.sch-skeleton-title{background:linear-gradient(90deg, var(--sch-border) 25%, var(--sch-border-light) 50%, var(--sch-border) 75%);background-size:200% 100%;border-radius:4px;width:200px;height:24px;animation:1.5s ease-in-out infinite sch-skeleton-shimmer}.sch-skeleton-subtitle{background:linear-gradient(90deg, var(--sch-border) 25%, var(--sch-border-light) 50%, var(--sch-border) 75%);background-size:200% 100%;border-radius:4px;width:280px;height:16px;animation:1.5s ease-in-out infinite sch-skeleton-shimmer}.sch-skeleton-body{gap:var(--sch-space-xl);grid-template-columns:1fr;display:grid}@media (width>=768px){.sch-skeleton-body{grid-template-columns:320px 1fr}}.sch-skeleton-calendar{background:var(--sch-surface);border-radius:var(--sch-radius);padding:var(--sch-space-lg);border:1px solid var(--sch-border)}.sch-skeleton-calendar-header{background:linear-gradient(90deg, var(--sch-border) 25%, var(--sch-border-light) 50%, var(--sch-border) 75%);height:32px;margin-bottom:var(--sch-space-lg);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite sch-skeleton-shimmer}.sch-skeleton-calendar-grid{gap:var(--sch-space-sm);display:grid}.sch-skeleton-calendar-row{background:linear-gradient(90deg, var(--sch-border) 25%, var(--sch-border-light) 50%, var(--sch-border) 75%);background-size:200% 100%;border-radius:4px;height:36px;animation:1.5s ease-in-out infinite sch-skeleton-shimmer}.sch-skeleton-slots{background:var(--sch-surface);border-radius:var(--sch-radius);padding:var(--sch-space-lg);border:1px solid var(--sch-border)}.sch-skeleton-slots-header{background:linear-gradient(90deg, var(--sch-border) 25%, var(--sch-border-light) 50%, var(--sch-border) 75%);width:60%;height:24px;margin-bottom:var(--sch-space-lg);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite sch-skeleton-shimmer}.sch-skeleton-slots-list{gap:var(--sch-space-md);flex-direction:column;display:flex}.sch-skeleton-slot{border-radius:var(--sch-radius-sm);background:linear-gradient(90deg, var(--sch-border) 25%, var(--sch-border-light) 50%, var(--sch-border) 75%);background-size:200% 100%;height:48px;animation:1.5s ease-in-out infinite sch-skeleton-shimmer}@keyframes sch-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sch-loading{justify-content:center;align-items:center;gap:var(--sch-space-lg);flex-direction:column;min-height:200px;display:flex}.sch-loading-spinner{border:3px solid var(--sch-border);border-top-color:var(--sch-primary);border-radius:var(--sch-radius-full);width:40px;height:40px;animation:.8s linear infinite sch-spin}.sch-loading-text{font-size:var(--sch-text-sm);color:var(--sch-text-secondary)}.sch-empty{padding:var(--sch-space-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.sch-empty-icon{border-radius:var(--sch-radius-full);background:var(--sch-border-light);width:64px;height:64px;color:var(--sch-text-muted);margin-bottom:var(--sch-space-lg);justify-content:center;align-items:center;font-size:28px;display:flex}.sch-empty-title{font-size:var(--sch-text-base);margin:0 0 var(--sch-space-sm) 0;font-weight:600}.sch-empty-text{font-size:var(--sch-text-sm);color:var(--sch-text-secondary);margin:0}.sch-toast{bottom:100px;left:var(--sch-space-lg);right:var(--sch-space-lg);padding:var(--sch-space-lg);background:var(--sch-text);color:#fff;border-radius:var(--sch-radius);font-size:var(--sch-text-sm);align-items:center;gap:var(--sch-space-md);z-index:200;animation:.3s sch-toast-in;display:flex;position:fixed}.sch-toast.error{background:var(--sch-error)}.sch-toast.success{background:var(--sch-primary)}@keyframes sch-toast-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sch-fade-in{background:#fff;border-radius:10px;padding:1rem;animation:.2s sch-fade-in}.sch-slide-up{background:#fff;border-radius:10px;padding:1rem;animation:.3s sch-slide-up}@media (width<=768px){.sch-slide-up{border-radius:var(--sch-border-radius,8px);background:#fff;padding:.5rem}}@keyframes sch-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sch-hidden{display:none}.sch-sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=639px){.sch-header,.sch-progress,.sch-content,.sch-footer{margin-top:0!important;margin-bottom:0!important}}@media (width>=640px){.sch-content{max-width:600px;padding:var(--sch-space-lg);margin:0 auto}.sch-header{padding:var(--sch-space-lg)}.sch-header-logo{color:#fff;background:#fff3;width:56px;height:56px}.sch-header-title{font-size:var(--sch-text-xl)}.sch-footer-content{background:#ffffff4d;justify-content:right;max-width:600px}.sch-duration-list{gap:var(--sch-space-lg);grid-template-columns:repeat(3,1fr)}.sch-slots-list{gap:var(--sch-space-md);grid-template-columns:repeat(2,1fr);display:grid}.sch-sport-group{margin-bottom:3rem}.sch-sport-group-header{padding:var(--sch-space-md) var(--sch-space-lg)}.sch-sport-group-title{font-size:var(--sch-text-xl)}.sch-courts-list{gap:var(--sch-space-lg);grid-template-columns:repeat(2,1fr);display:grid}.sch-court{padding:var(--sch-space-lg)}.sch-calendar{margin-bottom:var(--sch-space-xl)}.sch-form-group{margin-bottom:.5rem}.sch-form-input,.sch-form-textarea{padding:var(--sch-space-md) var(--sch-space-lg);font-size:var(--sch-text-base)}.sch-toast{min-width:400px;max-width:500px;left:50%;right:auto;transform:translate(-50%)}@keyframes sch-toast-in{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}}@media (width>=1024px){.sch-container{padding-top:var(--sch-space-lg);padding-bottom:var(--sch-space-lg);flex-direction:column;align-items:center;display:flex}.sch-header{border-radius:var(--sch-radius) var(--sch-radius) 0 0;border:1px solid var(--sch-border);width:100%;max-width:900px;padding:var(--sch-space-lg);border-bottom:none;position:relative}.sch-header-logo{width:64px;height:64px}.sch-header-title{font-size:var(--sch-text-2xl)}.sch-progress{border-left:1px solid var(--sch-border);border-right:1px solid var(--sch-border);width:100%;max-width:900px}.sch-content{background:var(--sch-surface);border:1px solid var(--sch-border);border-radius:0 0 var(--sch-radius) var(--sch-radius);width:100%;max-width:900px;min-height:500px;padding:var(--sch-space-lg);border-top:none}.sch-fade-in,.sch-step-slot-container{gap:var(--sch-space-2xl);grid-template-rows:auto;grid-template-columns:280px 1fr;align-items:start;display:grid}.sch-club-info-cards.sch-desktop-only{width:100%;top:var(--sch-space-xl);flex-direction:column;grid-area:1/1/4/2;position:sticky;display:flex!important}.sch-main-content{gap:var(--sch-space-xl);flex-direction:column;grid-area:1/2/auto/3;min-width:0;display:flex}.sch-sports-wrapper{gap:var(--sch-space-lg);flex-direction:column;grid-area:2/2/auto/3;width:100%;display:flex}.sch-sports-wrapper .sch-sports{gap:var(--sch-space-md);flex-flow:column;overflow-x:visible}.sch-sports-wrapper .sch-sport-pill{width:120px;padding:var(--sch-space-md) var(--sch-space-lg);justify-content:flex-start}.sch-desktop-only{display:flex}.sch-mobile-only{display:none}.sch-main-content .sch-calendar{max-width:100%;margin-bottom:0}.sch-main-content .sch-calendar-header{padding:var(--sch-space-md) var(--sch-space-lg)}.sch-main-content .sch-calendar-title{font-size:var(--sch-text-sm)}.sch-main-content .sch-calendar-nav-btn{width:32px;height:32px}.sch-main-content .sch-calendar-weekdays{display:none}.sch-main-content .sch-calendar-days{padding:var(--sch-space-sm);gap:var(--sch-space-xs);flex-flow:wrap;justify-content:flex-start;display:flex}.sch-main-content .sch-calendar-day{font-size:var(--sch-text-xs);aspect-ratio:1;flex-shrink:0;min-width:36px;min-height:36px}.sch-main-content .sch-calendar-day.empty{display:none}.sch-main-content .sch-slide-up{width:100%}.sch-main-content .sch-slots-header{margin-bottom:var(--sch-space-xl)}.sch-main-content .sch-main-content .sch-slots-list{gap:var(--sch-space-lg);grid-template-columns:repeat(3,1fr)}.sch-main-content .sch-slot{padding:var(--sch-space-lg);align-items:flex-start;gap:var(--sch-space-md);flex-direction:column}.sch-main-content .sch-slot-time{font-size:var(--sch-text-lg)}.sch-main-content .sch-sport-group{margin-bottom:var(--sch-space-2xl)}.sch-main-content .sch-sport-group-header{padding:var(--sch-space-md) var(--sch-space-lg);margin-bottom:var(--sch-space-lg)}.sch-main-content .sch-sport-group-title{font-size:var(--sch-text-xl)}.sch-duration-list{gap:var(--sch-space-lg);grid-template-columns:repeat(4,1fr)}.sch-duration-option{padding:var(--sch-space-lg)}.sch-duration-value{font-size:32px}.sch-courts-list{gap:var(--sch-space-xl);grid-template-columns:repeat(3,1fr)}.sch-court{padding:var(--sch-space-lg);text-align:center;flex-direction:column}.sch-court-image{width:80px;height:80px;margin:0 auto}.sch-court-info{margin:var(--sch-space-md) 0}.sch-court-name{font-size:var(--sch-text-lg)}.sch-confirm-summary{gap:var(--sch-space-xl);grid-template-columns:repeat(2,1fr);display:grid}.sch-confirm-summary-row{margin-bottom:0}.sch-form{max-width:600px;margin:0 auto}.sch-form-row{gap:var(--sch-space-lg);grid-template-columns:repeat(2,1fr);display:grid}.sch-footer{border:1px solid var(--sch-border);border-radius:var(--sch-radius);width:fit-content;max-width:900px;margin-top:var(--sch-space-xl);box-shadow:var(--sch-shadow);position:relative}.sch-footer-content{max-width:100%;padding:0}.sch-toast{min-width:450px;max-width:600px}}@media (width>=1280px){.sch-header,.sch-progress,.sch-content{max-width:1200px}.sch-fade-in{grid-template-columns:350px 1fr}.sch-slots-list,.sch-courts-list{grid-template-columns:repeat(4,1fr)}.sch-footer{max-width:1200px}}.sch-mobile-tabs{border-bottom:1px solid var(--sch-border);background:var(--sch-surface);z-index:20;position:sticky;top:0;display:flex!important}@media (width>=768px){.sch-mobile-tabs{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sch-reservation-type-content{max-width:520px;padding:var(--sch-space-lg);margin:0 auto}.sch-reservation-type-title{margin:0 0 var(--sch-space-sm) 0;font-size:var(--sch-text-xl);text-align:center;color:var(--sch-text);font-weight:600}.sch-reservation-type-subtitle{margin:0 0 var(--sch-space-xl) 0;font-size:var(--sch-text-sm);color:var(--sch-text-secondary);text-align:center}.sch-reservation-type-cards{gap:var(--sch-space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.sch-reservation-type-card{padding:var(--sch-space-xl);background:var(--sch-surface);border:2px solid var(--sch-border);border-radius:var(--sch-radius);cursor:pointer;transition:all var(--sch-transition);text-align:center;flex-direction:column;align-items:center;display:flex}.sch-reservation-type-card:hover{border-color:var(--sch-primary);box-shadow:var(--sch-shadow);transform:translateY(-2px)}.sch-reservation-type-card-icon{border-radius:var(--sch-radius);width:56px;height:56px;margin-bottom:var(--sch-space-lg);justify-content:center;align-items:center;display:flex}.sch-reservation-type-card-icon-single{background:var(--sch-primary-bg);color:var(--sch-primary)}.sch-reservation-type-card-icon-recurring{color:#2563eb;background:#eff6ff}.sch-reservation-type-card-title{margin:0 0 var(--sch-space-sm) 0;font-size:var(--sch-text-base);color:var(--sch-text);font-weight:600}.sch-reservation-type-card-desc{font-size:var(--sch-text-sm);color:var(--sch-text-secondary);margin:0;line-height:1.4}.sch-recurring-day-selector{gap:var(--sch-space-lg);flex-direction:column;display:flex}.sch-reservation-type-back{align-items:center;gap:var(--sch-space-sm);padding:var(--sch-space-sm) 0;color:var(--sch-text-secondary);font-size:var(--sch-text-sm);cursor:pointer;transition:color var(--sch-transition);background:0 0;border:none;align-self:flex-start;display:inline-flex}.sch-reservation-type-back:hover{color:var(--sch-primary)}.sch-recurring-day-title{font-size:var(--sch-text-lg);color:var(--sch-text);margin:0;font-weight:600}.sch-recurring-day-grid{gap:var(--sch-space-md);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.sch-recurring-day-btn{padding:var(--sch-space-lg);background:var(--sch-surface);border:2px solid var(--sch-border);border-radius:var(--sch-radius-sm);font-size:var(--sch-text-base);color:var(--sch-text);cursor:pointer;transition:all var(--sch-transition);font-weight:500}.sch-recurring-day-btn:hover{border-color:var(--sch-primary);color:var(--sch-primary)}.sch-recurring-day-btn.selected{background:var(--sch-primary);border-color:var(--sch-primary);color:#fff}.sch-recurring-from-date{margin-top:var(--sch-space-xl);padding-top:var(--sch-space-lg);border-top:1px solid var(--sch-border)}.sch-recurring-from-date-input{width:100%;padding:var(--sch-space-md);border:2px solid var(--sch-border);border-radius:var(--sch-radius-sm);font-size:var(--sch-text-base);margin-top:var(--sch-space-sm)}.sch-recurring-from-date-input:focus{border-color:var(--sch-primary);outline:none}.sch-recurring-day-display{align-items:center;gap:var(--sch-space-md);padding:var(--sch-space-lg);background:var(--sch-surface);border:2px solid var(--sch-primary);border-radius:var(--sch-radius);margin-bottom:var(--sch-space-lg);display:flex}.sch-recurring-day-display-label{font-size:var(--sch-text-lg);color:var(--sch-primary);font-weight:600}.sch-sena-info-banner{color:#1e40af;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:.75rem 0;padding:.75rem;font-size:.8rem;line-height:1.5}.sch-payment-center-wrap{justify-content:center;align-items:center;min-height:100%;padding:1rem;display:flex}.sch-payment-glass-card{-webkit-backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff2e;border-radius:12px;width:100%;max-width:600px;padding:1.5rem;box-shadow:0 8px 32px #1f26875e}.sch-payment-confirmed-box{text-align:center;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;width:fit-content;padding:2rem}.sch-payment-success-icon{background-color:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;display:flex}.sch-mp-tip-row{color:#92400e;align-items:flex-start;gap:.4rem;font-size:.8rem;line-height:1.4;display:flex}.sch-reload-reservation-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:8px;margin-top:1rem;padding:.75rem 1.5rem;font-weight:600}.sch-transfer-field-value{color:#854d0e;background-color:#fff;border-radius:4px;margin-top:.25rem;padding:.4rem;font-size:.9rem;font-weight:600}.sch-transfer-field-value--mono{word-break:break-all;letter-spacing:.05em;font-family:monospace}.sch-payment-waiting-msg{color:#4b5563;text-align:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:.75rem;padding:.75rem;font-size:.8rem}.sch-mobile-tab{color:var(--sch-text-secondary);cursor:pointer;font-weight:500;font-size:var(--sch-text-base);transition:opacity var(--sch-transition), transform var(--sch-transition), background-color var(--sch-transition), border-color var(--sch-transition), color var(--sch-transition);background:0 0;border:none;flex:1;padding:12px 16px}.sch-mobile-tab.active{background:var(--sch-surface);border-bottom:3px solid var(--sch-primary);color:var(--sch-primary);font-weight:600}.clubs-management{flex-direction:column;min-height:100vh;display:flex}.header{background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1rem;display:flex}.header h1{color:#333;font-size:1.5rem;font-weight:600}.clubs-management__header-row{flex-direction:column;align-items:flex-start;gap:.5rem;width:100%;display:flex}.clubs-management__back{color:#059669;font-size:.875rem;font-weight:600;text-decoration:none}.clubs-management__back:hover{text-decoration:underline}.logout-button{color:#333;cursor:pointer;background:0 0;border:none;align-items:center;font-size:.9rem;display:flex}.content{background-color:#f9f9f9;flex:1;padding:1rem}.list-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.list-header h2{color:#333;font-size:1.2rem;font-weight:600}.new-button{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:4px;align-items:center;padding:.5rem 1rem;font-size:.9rem;display:flex}.new-button span{margin-right:.5rem;font-size:1.2rem}.filters-section{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.filters-section .search-container{flex:1;min-width:250px;margin-bottom:0}.filter-group label{color:#374151;font-size:.875rem;font-weight:500}.filter-select{cursor:pointer;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:.7rem 1rem;font-size:.9rem;transition:border-color .2s}.filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.clear-filters-btn{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:4px;align-self:flex-end;height:fit-content;padding:.7rem 1.2rem;font-size:.875rem;font-weight:500;transition:background-color .2s}.clear-filters-btn:hover{background-color:#dc2626}.search-container{margin-bottom:1rem}.search-input{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-position:10px;background-repeat:no-repeat;border:1px solid #e0e0e0;border-radius:4px;width:100%;padding:.7rem 1rem .7rem 2.5rem;font-size:.9rem}.table-container{-webkit-overflow-scrolling:touch;background-color:#fff;border-radius:8px;overflow-x:auto;box-shadow:0 1px 3px #0000001a}.clubs-table{border-collapse:collapse;width:100%;min-width:720px}.clubs-table th{text-align:left;color:#666;border-bottom:1px solid #e0e0e0;padding:1rem;font-size:.8rem;font-weight:600}.clubs-table td{color:#333;border-bottom:1px solid #e0e0e0;padding:1rem;font-size:.9rem}.clubs-table tr:last-child td{border-bottom:none}.clubs-table thead th:last-child,.clubs-table td.actions{z-index:2;white-space:nowrap;vertical-align:middle;background-color:#fff;width:1%;min-width:5.5rem;position:sticky;right:0;box-shadow:-6px 0 8px -4px #00000014}.clubs-table thead th:last-child{z-index:3}.actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.edit-button,.delete-button{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.3rem;display:flex}.edit-button{color:#3751ff}.delete-button{color:#f44336}.modal-overlay{z-index:50;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:#fff;border-radius:8px;width:100%;max-width:600px;box-shadow:0 4px 6px #0000001a}.modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:.5rem;display:flex}.modal-header h2{color:#fff;font-size:1.2rem;font-weight:600}.modal-header .close-button{cursor:pointer;color:#fff;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.8rem;line-height:1;transition:all .2s;position:relative;display:flex!important}.modal-header .close-button:hover{opacity:.8;transform:scale(1.1)}.shared-modal-body form{max-height:none;padding:0;overflow:visible}.form-row{gap:1rem;display:flex}.form-group{flex:1;margin-bottom:1rem}label{color:#333;margin-bottom:.5rem;font-size:.9rem;display:block}input,select{border:1px solid #e0e0e0;border-radius:4px;width:100%;padding:.7rem;font-size:.9rem}.modal-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:1rem;padding:1rem;display:flex}.cancel-button{cursor:pointer;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.create-button{color:#fff;cursor:pointer;background-color:#3751ff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.impersonate-button{font:inherit;cursor:pointer;color:#047857;background:linear-gradient(#f0fdf4 0%,#ecfdf5 100%);border:1px solid #05966973;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin:0;padding:.55rem 1rem;font-size:.875rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:inline-flex;box-shadow:0 1px 2px #0596691f}.impersonate-button svg{color:#059669;flex-shrink:0}.impersonate-button:hover{color:#065f46;background:linear-gradient(#ecfdf5 0%,#d1fae5 100%);border-color:#059669a6;box-shadow:0 2px 8px #0596692e}.impersonate-button:hover svg{color:#047857}.impersonate-button:focus-visible{outline-offset:2px;outline:2px solid #059669}.impersonate-button:active{transform:translateY(1px);box-shadow:0 1px 2px #05966926}.confirm-modal{max-width:450px}.confirm-content{text-align:center;padding:1.5rem 1rem}.warning{color:#f44336;margin-top:.5rem;font-size:.9rem}.delete-confirm-button{color:#fff;cursor:pointer;background-color:#f44336;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.dropdown-list{z-index:100;background-color:#fff;border:1px solid #ddd;border-radius:4px;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.dropdown-item{cursor:pointer;text-align:left;color:#333;background-color:#fff;border:none;border-bottom:1px solid #f0f0f0;width:100%;padding:.75rem 1rem;font-size:.9rem;transition:background-color .2s}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item:focus{background-color:#e3f2fd;outline:none}.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{color:#6b7280;cursor:pointer;background-color:#fff;border:2px solid #e5e7eb;border-radius:20px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.service-pill:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.service-pill.selected{color:#065f46;background-color:#d1fae5;border-color:#059669}.service-pill:active{transform:translateY(0)}.club-details-section{border-bottom:1px solid #e5e7eb;margin-bottom:1rem;padding-bottom:2rem}.club-details-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header{color:#111827;align-items:center;gap:.75rem;margin-bottom:1rem;padding:0;display:flex}.section-header svg{flex-shrink:0}.section-header h3{margin:0;padding:0;font-size:1.25rem;font-weight:600}.details-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;display:grid}.detail-item-view{flex-direction:column;gap:.375rem;display:flex}.detail-label{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-size:.75rem;font-weight:600}.detail-value{color:#111827;font-size:.938rem;font-weight:500}.status-badge-view{border-radius:12px;align-items:center;width:fit-content;padding:.25rem .75rem;font-size:.813rem;font-weight:600;display:inline-flex}.status-badge-view.active{color:#065f46;background-color:#d1fae5}.status-badge-view.inactive{color:#991b1b;background-color:#fee2e2}.subscription-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1rem;padding:1rem;transition:all .2s}.subscription-card:hover{box-shadow:0 4px 6px -1px #0000001a}.subscription-card:last-child{margin-bottom:0}.subscription-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.subscription-header>div{align-items:center;gap:.75rem;display:flex}.subscription-type-badge{color:#6b21a8;background-color:#ede9fe;border-radius:20px;align-items:center;padding:.375rem 1rem;font-size:.813rem;font-weight:600;display:inline-flex}.subscription-status-badge{border-radius:20px;align-items:center;width:fit-content;padding:.375rem 1rem;font-size:.813rem;font-weight:600;display:inline-flex}.subscription-status-badge.active{color:#065f46;background-color:#d1fae5}.subscription-status-badge.expired{color:#991b1b;background-color:#fee2e2}.subscription-status-badge.pending{color:#92400e;background-color:#fef3c7}.subscription-status-badge.trial{color:#1d4ed8;background-color:#dbeafe}.subscription-status-badge.inactive{color:#374151;background-color:#e5e7eb}.subscription-details{flex-direction:column;gap:1.5rem;display:flex}.subscription-dates{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:1rem;padding:1rem;display:flex}.date-item{flex:1;align-items:center;gap:.75rem;display:flex}.date-item svg{color:#059669;flex-shrink:0}.date-item>div{flex-direction:column;gap:.25rem;display:flex}.date-label{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-size:.75rem;font-weight:600}.date-value{color:#111827;font-size:.875rem;font-weight:500}.date-separator{color:#9ca3af;font-size:1.5rem;font-weight:300}.services-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.services-title{color:#374151;margin:0 0 1rem;font-size:.875rem;font-weight:600}.empty-subscriptions{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.empty-subscriptions svg{color:#9ca3af;margin-bottom:1rem}.empty-subscriptions p{color:#6b7280;margin:0;font-size:.938rem}.view-button{cursor:pointer;color:#059669;background:0 0;border:1px solid #059669;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .2s;display:flex}.view-button:hover{background-color:#ecfdf5;transform:scale(1.05)}.view-button:active{transform:scale(.95)}@media (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{margin:.5rem 0;transform:rotate(90deg)}.services-grid{grid-template-columns:1fr}}.admin-contracted-services-pills{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.admin-service-pill{color:#065f46;background-color:#d1fae5;border:2px solid #059669;border-radius:999px;justify-content:center;align-items:center;max-width:100%;min-height:2.35rem;padding:1.05rem .85rem .45rem;font-size:.875rem;font-weight:500;display:inline-flex;position:relative}.admin-service-pill-remove{color:#64748b;cursor:pointer;background:#ffffffeb;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;margin:0;padding:0;font-size:.95rem;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:3px;right:5px}.admin-service-pill-remove:hover:not(:disabled){color:#b91c1c;background:#fee2e2}.admin-service-pill-remove:disabled{opacity:.5;cursor:not-allowed}.admin-service-pill-label{padding-left:.125rem;padding-right:.125rem}.admin-subscription-actions{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.admin-error-box{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;font-size:.875rem;display:flex}.admin-subscription-description{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem}.admin-subscription-description p{color:#374151;margin:.35rem 0 0;font-size:.9rem}.admin-payments-block{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.9rem}.admin-payments-block h4{color:#1f2937;margin:0;font-size:.95rem}.admin-payments-list{flex-direction:column;gap:.65rem;margin-top:.75rem;display:flex}.admin-payment-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.65rem .75rem}.admin-payment-item p{color:#4b5563;margin:.4rem 0 0;font-size:.825rem;line-height:1.4}.admin-payment-item-main{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-payment-status{color:#065f46;background:#d1fae5;border-radius:999px;justify-content:center;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.admin-form-grid{grid-template-columns:1fr;gap:.9rem;display:grid}.admin-form-group{flex-direction:column;gap:.35rem;display:flex}.admin-text-input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.55rem .7rem;font-size:.9rem}.admin-textarea-input{resize:vertical;min-height:84px}.admin-text-input:focus{border-color:#059669;outline:none;box-shadow:0 0 0 2px #05966926}.admin-field-error{color:#b91c1c;margin:0;font-size:.8rem}.admin-plan-preview,.admin-payment-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem}.admin-plan-preview p,.admin-payment-preview p{color:#374151;margin:.25rem 0;font-size:.875rem}.admin-payment-preview h4{color:#111827;margin:0 0 .4rem;font-size:.9rem}.admin-muted{color:#6b7280;margin:.25rem 0 0;font-size:.8rem}.admin-warning-text{color:#b45309;font-weight:600}.admin-record-payment-submit-green{background-color:#16a34a;border-color:#15803d}.admin-record-payment-submit-green:hover:not(:disabled){background-color:#15803d;border-color:#166534}.admin-record-payment-open-green{background-color:#16a34a;border-color:#15803d}.admin-record-payment-open-green:hover:not(:disabled){background-color:#15803d;border-color:#166534}.acv-tabs{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;gap:.25rem;padding:.75rem 1.25rem 0;display:flex}.acv-tab-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;align-items:center;gap:.5rem;margin-bottom:-1px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex;position:relative}.acv-tab-btn:hover{color:#059669;background:#f0fdf4}.acv-tab-btn.acv-tab-active{color:#059669;background:0 0;border-bottom:2px solid #059669;font-weight:600}.acv-tab-badge{color:#fff;background:#dc2626;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.625rem;font-weight:700;display:inline-flex}.acv-tab-panel{padding:1.25rem}.acv-general-header{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem;display:flex}.acv-club-logo{object-fit:cover;background:#e5e7eb;border:2px solid #e5e7eb;border-radius:10px;flex-shrink:0;width:56px;height:56px}.acv-club-logo-placeholder{color:#059669;background:#d1fae5;border:2px solid #a7f3d0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.acv-club-header-info{flex:1;min-width:0}.acv-club-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;margin:0 0 .375rem;font-size:1.125rem;font-weight:700;overflow:hidden}.acv-club-id{color:#9ca3af;margin:0 0 .375rem;font-family:monospace;font-size:.7rem}.acv-details-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.acv-detail-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:flex-start;gap:.625rem;padding:.75rem;display:flex}.acv-detail-icon{color:#9ca3af;flex-shrink:0;margin-top:1px}.acv-detail-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.acv-detail-label{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;font-size:.7rem;font-weight:600}.acv-detail-value{color:#111827;word-break:break-word;font-size:.875rem;font-weight:500}.acv-sub-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.acv-sub-badges{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.acv-sub-actions{flex-wrap:wrap;gap:.5rem;display:flex}.acv-progress-block{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:1rem}.acv-progress-dates{justify-content:space-between;margin-bottom:.4rem;display:flex}.acv-progress-date{color:#6b7280;font-size:.75rem}.acv-progress-date strong{color:#374151;margin-bottom:1px;font-size:.8rem;display:block}.acv-progress-track{background:#e5e7eb;border-radius:999px;width:100%;height:8px;margin-bottom:.4rem;overflow:hidden}.acv-progress-fill{background:#059669;border-radius:999px;height:100%;transition:width .4s}.acv-progress-fill.acv-progress-expired{background:#dc2626}.acv-progress-fill.acv-progress-warning{background:#d97706}.acv-progress-label{color:#6b7280;text-align:right;font-size:.75rem}.acv-days-remaining{border-radius:999px;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.acv-days-remaining.ok{color:#065f46;background:#d1fae5}.acv-days-remaining.warning{color:#92400e;background:#fef3c7}.acv-days-remaining.danger{color:#991b1b;background:#fee2e2}.acv-payments-table-wrap{border:1px solid #e5e7eb;border-radius:8px;margin-top:.5rem;overflow-x:auto}.acv-payments-table{border-collapse:collapse;width:100%;font-size:.825rem}.acv-payments-table thead th{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:.625rem .75rem;font-size:.7rem;font-weight:600}.acv-payments-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s}.acv-payments-table tbody tr:last-child{border-bottom:none}.acv-payments-table tbody tr:hover{background:#f9fafb}.acv-payments-table tbody td{color:#374151;vertical-align:middle;padding:.625rem .75rem}.acv-sub-description{color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.acv-sub-description-label{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:.25rem;font-size:.7rem;font-weight:600;display:block}.acv-services-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.acv-services-count{color:#6b7280;font-size:.8rem;font-weight:500}.acv-services-grid{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.acv-service-chip{cursor:default;border:1.5px solid;border-radius:999px;align-items:center;gap:.375rem;padding:.4rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex;position:relative}.acv-service-chip.cat-payments{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.acv-service-chip.cat-communication{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.acv-service-chip.cat-operations{color:#374151;background:#f3f4f6;border-color:#d1d5db}.acv-service-chip.cat-billing{color:#5b21b6;background:#ede9fe;border-color:#c4b5fd}.acv-service-chip.cat-sports{color:#9a3412;background:#fff7ed;border-color:#fdba74}.acv-chip-remove{width:1.1rem;height:1.1rem;color:inherit;cursor:pointer;background:#00000014;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.7rem;line-height:1;transition:background .15s,color .15s;display:inline-flex}.acv-chip-remove:hover:not(:disabled){color:#b91c1c;background:#b91c1c26}.acv-chip-remove:disabled{opacity:.45;cursor:not-allowed}.acv-add-service-row{border-top:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:1rem;display:flex}.acv-add-service-select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex:180px;min-width:160px;padding:.5rem .75rem;font-size:.875rem}.acv-add-service-select:focus{border-color:#059669;outline:none;box-shadow:0 0 0 2px #05966926}.acv-add-service-select:disabled{cursor:not-allowed;opacity:.6;background:#f3f4f6}.acv-plan-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.acv-plan-card{cursor:pointer;text-align:left;background:#fff;border:2px solid #e5e7eb;border-radius:10px;width:100%;padding:.875rem;transition:all .2s}.acv-plan-card:hover{background:#f0fdf4;border-color:#a7f3d0}.acv-plan-card.acv-plan-selected{background:#f0fdf4;border-color:#059669;box-shadow:0 0 0 2px #05966926}.acv-plan-card-name{color:#111827;margin:0 0 .375rem;font-size:.875rem;font-weight:600}.acv-plan-card-price{color:#059669;margin:0 0 .25rem;font-size:1.125rem;font-weight:700}.acv-plan-card-meta{color:#6b7280;margin:0;font-size:.75rem}.acv-payment-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.25rem;padding:.875rem;display:flex}.acv-payment-preview-date{text-align:center;flex:1;min-width:100px}.acv-payment-preview-date-label{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:.25rem;font-size:.7rem;font-weight:600;display:block}.acv-payment-preview-date-value{color:#374151;font-size:.875rem;font-weight:600}.acv-payment-preview-arrow{color:#9ca3af;flex-shrink:0;font-size:1.25rem}.acv-payment-preview-new .acv-payment-preview-date-value{color:#059669}.acv-remove-service-body{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem .5rem;display:flex}.acv-remove-warning-icon{color:#d97706;background:#fef3c7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.acv-remove-service-message{color:#374151;margin:0;font-size:.9rem}.acv-remove-service-note{color:#6b7280;margin:0;font-size:.8rem}.acv-header-impersonate{color:#059669;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #059669;border-radius:8px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.acv-header-impersonate:hover{color:#047857;background:#ecfdf5;border-color:#047857}.acv-header-deactivate{color:#dc2626;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #dc2626;border-radius:8px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.acv-header-deactivate:hover:not(:disabled){color:#b91c1c;background:#fef2f2;border-color:#b91c1c}.acv-header-deactivate:disabled{opacity:.45;cursor:not-allowed}@media (width<=640px){.acv-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.acv-tab-btn{white-space:nowrap;padding:.5rem .75rem;font-size:.8rem}.acv-details-grid,.acv-plan-cards{grid-template-columns:1fr}.acv-sub-hero{flex-direction:column;align-items:flex-start}.acv-payment-preview{text-align:center;flex-direction:column;align-items:stretch}.acv-payment-preview-arrow{align-self:center;transform:rotate(90deg)}}.finance-admin-outlet{box-sizing:border-box;background:#f9fafb;min-height:calc(100vh - 4rem);padding:1.25rem 1.5rem 2rem}.finance-root{background:#f9fafb;min-height:calc(100vh - 4rem);display:flex}.finance-aside{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;width:16rem;padding:1rem;display:flex}.finance-brand{align-items:center;gap:.5rem;margin-bottom:2rem;display:flex}.finance-brand-icon{border-radius:.5rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.finance-brand-title{color:#1f2937;font-size:1.25rem;font-weight:700}.finance-nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.finance-nav-link{text-align:left;cursor:pointer;color:#4b5563;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.finance-nav-link:hover{background:#f3f4f6}.finance-nav-link--active{color:#fff!important}.finance-main{flex:1;padding:2rem;overflow:auto}.finance-page-title{color:#1f2937;margin:0 0 1.5rem;font-size:1.5rem;font-weight:700}.finance-grid-kpi{grid-template-columns:repeat(1,1fr);gap:1rem;display:grid}@media (width>=768px){.finance-grid-kpi{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.finance-grid-kpi{grid-template-columns:repeat(4,1fr)}}.finance-card{background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;padding:1rem 1.25rem;box-shadow:0 1px 2px #0000000d}.finance-grid-kpi .finance-card{padding:.625rem .875rem}.finance-grid-kpi .finance-brand-icon{width:2rem;height:2rem}.finance-grid-kpi .finance-brand-icon svg{width:17px;height:17px}.finance-grid-kpi .finance-kpi-value{font-size:1.125rem;line-height:1.2}.finance-grid-kpi .finance-muted{font-size:.8125rem}.finance-charts-grid .finance-card{padding:.875rem 1rem}.finance-charts-grid .finance-card-title{margin-bottom:.625rem}.finance-card-title{color:#1f2937;margin:0 0 1rem;font-weight:600}.finance-muted{color:#6b7280;font-size:.875rem}.finance-kpi-value{color:#111827;font-size:1.5rem;font-weight:700}.finance-btn-primary{color:#fff;cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;transition:opacity .15s;display:inline-flex}.finance-btn-primary:hover{opacity:.92}.finance-btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;padding:.5rem 1rem}.finance-btn-secondary:hover{background:#f9fafb}.finance-btn-danger{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:.25rem}.finance-btn-danger:hover{color:#b91c1c}.finance-table-actions{justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.finance-detail-dl{grid-template-columns:minmax(7rem,10rem) 1fr;gap:.35rem 1rem;margin:0;font-size:.875rem;display:grid}.finance-detail-dl dt{color:#6b7280;margin:0;font-weight:500}.finance-detail-dl dd{color:#111827;word-break:break-word;margin:0}.finance-detail-dl--extra dt{font-size:.75rem}.finance-detail-section-title{color:#374151;margin:1.25rem 0 .5rem;font-size:.8125rem;font-weight:600}.finance-detail-pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:ui-monospace,monospace;font-size:.75rem}.finance-table-wrap{background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 2px #0000000d}.finance-table{border-collapse:collapse;width:100%}.finance-table th{text-align:left;text-transform:uppercase;color:#6b7280;background:#f9fafb;padding:.75rem 1.5rem;font-size:.75rem;font-weight:500}.finance-table td{border-top:1px solid #f3f4f6;padding:1rem 1.5rem;font-size:.875rem}.finance-table tr:hover td{background:#fafafa}.finance-row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.finance-filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.finance-filter-period{flex-wrap:nowrap;align-items:center;gap:.5rem;display:flex}@media (width<=540px){.finance-filter-period{flex-wrap:wrap}}.finance-input,.finance-select{border:1px solid #d1d5db;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem}.finance-input:focus,.finance-select:focus{outline-offset:0;outline:2px solid #059669}.finance-input--date{box-sizing:border-box;flex:none;width:9.85rem;min-width:0;max-width:9.85rem}.finance-badge{color:#059669;text-transform:capitalize;background:#d1fae5;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;display:inline-block}.finance-empty{text-align:center;color:#6b7280;padding:2rem}.finance-modal-overlay{z-index:1300;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.finance-modal-backdrop-hitarea{cursor:default;z-index:0;background:0 0;border:none;margin:0;padding:0;position:absolute;inset:0}.finance-modal-overlay>:not(.finance-modal-backdrop-hitarea){z-index:1;position:relative}.finance-modal{background:#fff;border-radius:.75rem;width:100%;max-width:28rem;max-height:90vh;margin:1rem;padding:1.5rem;overflow:auto}.finance-modal-wide{max-width:36rem}.finance-modal-title{color:#1f2937;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.finance-form-label{color:#374151;margin-bottom:.25rem;font-size:.875rem;font-weight:500;display:block}.finance-form-row{margin-bottom:1rem}.finance-form-actions{gap:.75rem;margin-top:1.5rem;display:flex}.finance-form-actions>*{flex:1}.finance-toggle-row{justify-content:space-between;align-items:center;gap:1rem;padding:.125rem 0;display:flex}.finance-switch{cursor:pointer;background:#d1d5db;border:none;border-radius:9999px;flex-shrink:0;width:2.75rem;height:1.5rem;padding:0;transition:background .2s;position:relative}.finance-switch[aria-checked=true]{background:#059669}.finance-switch-thumb{pointer-events:none;background:#fff;border-radius:50%;width:1.1rem;height:1.1rem;transition:transform .2s;position:absolute;top:.2rem;left:.2rem;box-shadow:0 1px 2px #0000001f}.finance-switch[aria-checked=true] .finance-switch-thumb{transform:translate(1.25rem)}.finance-switch:focus-visible{outline-offset:2px;outline:2px solid #059669}.finance-radio-fieldset{border:none;min-width:0;margin:0;padding:0}.finance-radio-fieldset legend.finance-form-label{float:none;width:100%;margin-bottom:.5rem;padding:0}.finance-radio-stack{flex-direction:column;gap:.625rem;display:flex}.finance-radio-option{cursor:pointer;color:#374151;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:500;display:flex}.finance-radio-option input[type=radio]{accent-color:#059669;cursor:pointer;flex-shrink:0;width:1.125rem;min-width:1.125rem;height:1.125rem;margin:0}.finance-radio-option span{-webkit-user-select:none;user-select:none;line-height:1.35}.finance-docs-grid{grid-template-columns:repeat(1,1fr);gap:1rem;display:grid}@media (width>=768px){.finance-docs-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.finance-docs-grid{grid-template-columns:repeat(3,1fr)}}.finance-doc-card{background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;padding:1rem;box-shadow:0 1px 2px #0000000d}.finance-doc-actions{gap:.5rem;margin-top:1rem;display:flex}.finance-doc-actions>*{flex:1}.finance-pagination{color:#4b5563;background:#fafafa;border-top:1px solid #f3f4f6;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:.875rem;display:flex}.finance-error{color:#b91c1c;margin-bottom:1rem;font-size:.875rem}.finance-charts-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=1024px){.finance-charts-grid{grid-template-columns:repeat(2,1fr)}}.admin-dashboard{box-sizing:border-box;background:#f9fafb;flex-direction:column;gap:28px;max-width:1400px;min-height:100%;margin:0 auto;padding:24px;display:flex}.admin-dashboard__header{flex-flow:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-dashboard__header-main{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-dashboard__header-new-club{color:#059669;border:1px solid #05966973;border-radius:8px;flex-shrink:0;padding:8px 14px;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.admin-dashboard__header-new-club:hover{color:#047857;background:#0596691a}.admin-dashboard__title-row{color:#111827;align-items:center;gap:10px;display:flex}.admin-dashboard__title-row svg{color:#059669;flex-shrink:0}.admin-dashboard__title{color:#111827;margin:0;font-size:1.6rem;font-weight:700}.admin-dashboard__subtitle{color:#6b7280;margin:0;font-size:.9rem}.admin-dashboard__loading{color:#6b7280;align-items:center;gap:12px;padding:40px 0;display:flex}.admin-dashboard__spinner{border:3px solid #e5e7eb;border-top-color:#059669;border-radius:50%;flex-shrink:0;width:22px;height:22px;animation:.7s linear infinite admin-dashboard-spin}@keyframes admin-dashboard-spin{to{transform:rotate(360deg)}}.admin-dashboard__metrics-grid{width:100%}.admin-dashboard__metric{box-sizing:border-box;appearance:none;width:100%;font:inherit;cursor:pointer;text-align:left;margin:0;transition:transform .15s,box-shadow .15s;position:relative;overflow:visible}.admin-dashboard__metric:hover{transform:translateY(-1px);box-shadow:0 4px 14px #00000012}.admin-dashboard__metric:focus-visible{outline-offset:2px;outline:2px solid #059669}.admin-dashboard__metric--active:after{content:"";background:#059669;border-radius:0 0 .75rem .75rem;height:3px;position:absolute;bottom:0;left:0;right:0}.admin-dashboard__metric-inner{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.admin-dashboard__metric-text{min-width:0}.admin-dashboard .finance-grid-kpi .finance-brand-icon{width:2rem;height:2rem}.admin-dashboard .finance-grid-kpi .finance-brand-icon svg{width:17px;height:17px}.admin-dashboard .finance-grid-kpi .finance-kpi-value{font-size:1.125rem}.admin-dashboard__filters-row{flex-wrap:nowrap;align-items:center;gap:12px;width:100%;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.admin-dashboard__table-section{background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 2px #0000000d}.admin-dashboard__table-top{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;padding:16px 20px 0;display:flex}.admin-dashboard__tabs{flex-wrap:wrap;gap:4px;display:flex}.admin-dashboard__tab{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;align-items:center;gap:6px;padding:8px 14px;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s;display:flex}.admin-dashboard__tab:hover{color:#111827}.admin-dashboard__tab--active{background:#0596690f;border-bottom-color:#059669;color:#059669!important}.admin-dashboard__tab-count{color:#4b5563;background:#f3f4f6;border-radius:20px;padding:1px 7px;font-size:.75rem;font-weight:600}.admin-dashboard__tab--active .admin-dashboard__tab-count{color:#047857;background:#05966926}.admin-dashboard__filters{flex-wrap:nowrap;flex:auto;justify-content:flex-start;align-items:center;gap:10px;min-width:0;display:flex}.admin-dashboard__search-wrap{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:10rem;align-items:center;gap:8px;min-width:8rem;max-width:18rem;padding:0 10px;transition:border-color .15s;display:flex;overflow:hidden}.admin-dashboard__search-wrap:focus-within{border-color:#059669}.admin-dashboard__search-icon{color:#9ca3af;pointer-events:none;flex-shrink:0}.admin-dashboard__search-wrap input.admin-dashboard__search{width:0;min-width:0;box-shadow:none;color:#111827;appearance:none;background:0 0;border:none;border-radius:0;outline:none;flex:1 1 0;margin:0;padding:8px 0;font-size:.875rem}.admin-dashboard__search-wrap input.admin-dashboard__search:focus{box-shadow:none;border:none;outline:none}.admin-dashboard__filter-select{color:#111827;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;outline:none;flex:0 auto;width:auto;min-width:0;max-width:13rem;padding:7px 12px;font-size:.875rem;transition:border-color .15s}.admin-dashboard__filter-select:focus{border-color:#059669}.admin-dashboard__search-wrap input.admin-dashboard__search::placeholder{color:#9ca3af}.admin-dashboard__table-scroll{padding:0 0 4px;overflow-x:auto}.admin-dashboard__table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:.875rem}.admin-dashboard__table th:first-child,.admin-dashboard__cell-name{box-sizing:border-box;width:140px;max-width:140px}.admin-dashboard__table thead tr{background:#f9fafb}.admin-dashboard__table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-size:.75rem;font-weight:600}.admin-dashboard__table td{color:#374151;white-space:nowrap;border-bottom:1px solid #f3f4f6;padding:13px 16px}.admin-dashboard__table tbody tr:hover{background:#f9fafb}.admin-dashboard__table tbody tr.admin-dashboard__row--overdue{background:#fef2f2;box-shadow:inset 3px 0 #dc2626}.admin-dashboard__table tbody tr.admin-dashboard__row--overdue:hover{background:#fee2e2}.admin-dashboard__table tbody tr.admin-dashboard__row--due-today{background:#fffbeb;box-shadow:inset 3px 0 #f59e0b}.admin-dashboard__table tbody tr.admin-dashboard__row--due-today:hover{background:#fef3c7}.admin-dashboard__table tbody tr:last-child td{border-bottom:none}.admin-dashboard__cell-name{vertical-align:middle;overflow:hidden}.admin-dashboard__cell-name .admin-dashboard__club-name{text-overflow:ellipsis;white-space:nowrap;color:#111827;font-weight:600;display:block;overflow:hidden}.admin-dashboard__cell-days{font-weight:600}.admin-dashboard__cell-days--warn{color:#d97706}.admin-dashboard__cell-days--danger{color:#dc2626}.admin-dashboard__badge{letter-spacing:.03em;border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-block}.admin-dashboard__badge--deuda{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.admin-dashboard__badge--pendiente{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.admin-dashboard__badge--al_dia{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.admin-dashboard__badge--prueba{color:#5b21b6;background:#ede9fe;border:1px solid #ddd6fe}.admin-dashboard__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-dashboard__action-link{color:#059669;cursor:pointer;background:0 0;border:1px solid #05966959;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.admin-dashboard__action-link:hover{color:#047857;background:#0596691a}.admin-dashboard__action-btn{font:inherit;color:#059669;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #05966959;border-radius:6px;align-items:center;gap:6px;margin:0;padding:4px 10px;font-size:.8rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.admin-dashboard__action-btn svg{flex-shrink:0}.admin-dashboard__action-btn:hover{color:#047857;background:#0596691a}.admin-dashboard__action-btn:focus-visible{outline-offset:2px;outline:2px solid #059669}.admin-dashboard__wa-confirm{text-align:left;align-self:stretch;width:100%;max-width:100%}.admin-dashboard__wa-confirm-intro{color:#374151;text-align:center;margin:0 0 12px;font-size:.9rem;line-height:1.45}.admin-dashboard__wa-preview-label{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin:0 0 6px;font-size:.7rem;font-weight:700}.admin-dashboard__wa-preview-text{color:#111827;white-space:pre-wrap;word-break:break-word;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;max-height:220px;margin:0;padding:12px 14px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.8rem;line-height:1.45;overflow-y:auto}.admin-dashboard__empty{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:60px 20px;font-size:.9rem;display:flex}.admin-dashboard__empty svg{color:#d1d5db}.admin-dashboard__empty p{color:#6b7280;margin:0}@media (width<=640px){.admin-dashboard{gap:20px;padding:16px}.admin-dashboard__table-top{flex-direction:column;align-items:flex-start}.admin-dashboard__filters-row{flex-wrap:wrap;width:100%}.admin-dashboard__filters{flex-flow:wrap;justify-content:flex-start;align-items:stretch;width:100%}.admin-dashboard__search-wrap,.admin-dashboard__filter-select{width:100%;min-width:unset;flex:100%;max-width:none}}.tournament-container{box-sizing:border-box;color:var(--gray-800);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff}.tournament-container>.list-search-box{margin-bottom:1rem}.tournament-searchbox-wrap{margin-top:1rem;margin-bottom:1rem}.tournament-detail-page{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);background-color:#fff;padding:1rem}.tournament-detail-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.btn-back{border:1px solid var(--gray-300);color:var(--gray-700);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;align-items:center;gap:.5rem;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.btn-back:hover{background-color:var(--gray-50);color:var(--gray-800);border-color:var(--gray-300);box-shadow:var(--shadow-md);transform:translate(-2px)}.btn-back:active{transform:translate(-1px)}.header-left{align-items:center;gap:1rem;display:flex}.add-prize-btn{align-items:center;width:fit-content;display:flex}.btn-new-tournament{background-color:var(--primary);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;transition:all .3s;display:flex}.btn-new-tournament:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-danger:hover{background-color:var(--danger-dark)}.tournament-topbar-new-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 15px #4faf444d}.tournament-topbar-new-btn:hover,.tournament-topbar-new-btn:focus{transform:translateY(-2px);box-shadow:0 6px 20px #4faf4466}.btn-view-details:hover{background-color:var(--primary-light)}.remove-player-btn{color:var(--gray-400);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:color .2s;display:flex}.remove-player-btn:hover{color:var(--danger);background-color:var(--danger-light)}.filter-tabs{flex-wrap:wrap;gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.filter-tabs button{border:1px solid var(--gray-300);border-radius:var(--radius-lg);color:var(--gray-600);transition:var(--transition);white-space:nowrap;background:#fff;height:fit-content;padding:.5rem 1rem;font-weight:500}.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{border:1px solid var(--gray-300);border-radius:var(--radius-lg);background:#fff;align-items:center;gap:.5rem;width:fit-content;padding:.5rem .75rem;display:flex}.category-filter-label{color:var(--gray-600);white-space:nowrap;align-items:center;gap:.25rem;font-size:.9rem;font-weight:500;display:flex}.category-select{border:1px solid var(--gray-300);border-radius:var(--radius-md);color:var(--gray-700);cursor:pointer;background:#fff;min-width:150px;padding:.25rem .5rem;font-size:.9rem}.category-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #3b82f61a}.search-results{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem 1rem;font-size:.9rem;display:flex}.clear-search{color:var(--gray-500);background:0 0;border:none;align-items:center;gap:.25rem;font-size:.85rem;display:flex}.clear-search:hover{color:var(--primary)}.empty-state{border-radius:var(--radius-xl);color:var(--gray-500);text-align:center;box-shadow:var(--shadow);background-color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;display:flex}.help-text{color:var(--gray-500);font-size:.9rem;font-style:italic}.tournament-form{flex-direction:column;gap:1.5rem;display:flex}.detail-view{flex-direction:column;gap:1.5rem;display:flex}.tournament-breadcrumb{color:var(--gray-500);align-items:center;gap:.45rem;min-width:0;font-size:.92rem;font-weight:500;display:inline-flex}.tournament-breadcrumb__root{appearance:none;color:var(--gray-400);cursor:pointer;background:0 0;border:none;padding:0;transition:color .2s,opacity .2s}.tournament-breadcrumb__root:hover,.tournament-breadcrumb__root:focus-visible{color:var(--primary);outline:none}.tournament-breadcrumb__separator{color:var(--gray-300)}.tournament-breadcrumb__current{color:var(--gray-900);font-weight:700}.tournament-actions{gap:.5rem}.tournament-tabs{border-bottom:1px solid var(--gray-200);z-index:30;background:#fff;flex-direction:column;gap:.65rem;margin-top:0;padding-top:.25rem;padding-bottom:.1rem;display:flex;position:sticky;top:0;overflow-x:auto}.tournament-tabs--with-actions{justify-content:flex-start;align-items:stretch}.tournament-tabs__top{justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}.tournament-tabs__group{flex:auto;gap:.5rem;min-width:0;display:flex;overflow-x:auto}.tournament-tabs__action{white-space:nowrap;flex:none;margin-left:auto}.tournament-tabs button{color:var(--gray-600);transition:var(--transition);white-space:nowrap;background:0 0;border:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:500;display:flex;position:relative}.tournament-tabs button:hover,.tournament-tabs button.active{color:var(--primary)}.tournament-tabs button.active:after{content:"";background-color:var(--primary);width:100%;height:2px;position:absolute;bottom:-1px;left:0}.tab-content{min-height:300px}.info-tab{flex-direction:column;gap:1rem;display:flex}.tournament-info-state{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.tab-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.tab-header h3{color:var(--gray-800);font-size:1.2rem;font-weight:600}.info-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background-color:#fff;margin-bottom:1rem;padding:1rem}.info-row{align-items:start;margin-bottom:1rem;display:flex}.info-value img{border-radius:20px;width:128px;height:128px}.info-row:last-child{margin-bottom:0}.info-label{width:150px;color:var(--gray-600);align-items:center;gap:.5rem;font-weight:500;display:flex}.info-value{color:var(--gray-800);flex:1}.registration-section{border-radius:var(--radius-xl);background-color:#fff;padding:.5rem}.registration-section h3{color:var(--gray-800);margin-bottom:1rem;font-size:1.1rem}.registration-form{gap:1rem;display:flex}.info-message{color:var(--gray-600);font-style:italic}.teams-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.teams-filters-container{background-color:var(--gray-50);border-radius:var(--radius-lg);flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.search-box{width:100%;position:relative}.search-input-teams{border:1px solid var(--gray-300);border-radius:var(--radius-md);width:100%;padding:.75rem 2.5rem .75rem 1rem;font-size:.875rem;transition:all .2s}.search-input-teams:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.clear-search-btn{color:var(--gray-500);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.clear-search-btn:hover{background-color:var(--gray-100);color:var(--gray-700)}.status-filters{flex-wrap:wrap;gap:.5rem;display:flex}.filter-btn{border:1px solid var(--gray-300);color:var(--gray-700);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background-color:#fff;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.filter-btn:hover{border-color:var(--primary);background-color:var(--gray-50)}.filter-btn.active{background-color:var(--primary);color:#fff;border-color:var(--primary)}.empty-state{text-align:center;color:var(--gray-500);padding:3rem 1rem;font-size:.875rem}.teams-list-container{flex-direction:column;gap:.5rem;width:100%;display:flex}.team-list-item{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background-color:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.team-list-item:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014}.team-info-section{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.team-names{color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.team-contact{color:var(--gray-600);gap:1.5rem;font-size:.85rem;display:flex}.contact-item{align-items:center;gap:.35rem;display:flex}.team-meta{color:var(--gray-500);font-size:.8rem}.team-status-section{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.validation-badge{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.validation-badge:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.validation-valid{color:#065f46;background-color:#d1fae5}.validation-valid:hover{background-color:#a7f3d0}.validation-invalid{color:#991b1b;background-color:#fee2e2}.validation-invalid:hover{background-color:#fecaca}.validation-doubtful{color:#92400e;background-color:#fed7aa}.validation-doubtful:hover{background-color:#fdba74}.payment-status-badge{border-radius:var(--radius-md);align-items:center;padding:.4rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.payment-pending{color:#92400e;background-color:#fef3c7}.payment-enrolled{color:#065f46;background-color:#d1fae5}.payment-rejected{color:#991b1b;background-color:#fee2e2}.team-actions-section{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.btn-list-action{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-list-action.btn-primary{padding:.4rem .75rem;font-size:.8rem}.btn-list-action:disabled{opacity:.5;cursor:not-allowed}.btn-view{background-color:var(--gray-100);color:var(--gray-700)}.btn-view:hover:not(:disabled){background-color:var(--gray-200)}.btn-delete{color:#991b1b;background-color:#fee2e2}.btn-delete:hover:not(:disabled){background-color:#fecaca}.btn-confirm{color:#fff;background-color:#10b981}.btn-confirm:hover:not(:disabled){background-color:#059669}.validation-modal{width:90%;max-width:800px}.validation-modal .shared-modal-header{padding-right:4rem;position:relative}.validation-section{background-color:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1rem}.validation-section:last-child{margin-bottom:0}.validation-section-title{color:var(--gray-800);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;font-weight:600;display:flex}.ai-result-container{border-radius:var(--radius-md);background-color:#fff;padding:1rem}.ai-result-summary{border-bottom:1px solid var(--gray-200);align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.ai-result-label{color:var(--gray-700);font-weight:600}.ai-result-value{border-radius:var(--radius-md);text-transform:uppercase;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.ai-result-valid,.ai-result-valido{color:#065f46;background-color:#d1fae5}.ai-result-invalid,.ai-result-invalido{color:#991b1b;background-color:#fee2e2}.ai-result-doubtful,.ai-result-dudoso{color:#92400e;background-color:#fed7aa}.ai-details{flex-direction:column;gap:.75rem;display:flex}.ai-detail-item{background-color:var(--gray-50);border-radius:var(--radius-sm);padding:.5rem;font-size:.9rem;line-height:1.5}.ai-detail-item strong{color:var(--gray-700);margin-right:.5rem}.proof-container{flex-direction:column;align-items:center;gap:1rem;display:flex}.proof-image{object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--gray-200);max-width:100%;height:auto;max-height:400px;box-shadow:0 2px 8px #0000001a}.btn-view-full{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-view-full:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.no-data{color:var(--gray-500);text-align:center;padding:1rem;font-style:italic}.payment-info-container{border-radius:var(--radius-md);background-color:#fff;padding:1rem}.payment-info-row{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.payment-info-row:last-child{border-bottom:none}.payment-label{color:var(--gray-700);font-weight:500}.payment-value{color:var(--gray-900);font-size:1.1rem;font-weight:600}.modal-edit-team{max-height:90vh;overflow-y:auto;max-width:900px!important}.team-detail-status-bar{background-color:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200);flex-direction:column;gap:1rem;margin-bottom:0;padding:1.25rem;display:flex}.status-section{flex-flow:wrap;align-items:center;gap:.75rem;display:flex}.team-payment-summary-compact{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.payment-chip{background:var(--gray-100);color:var(--gray-800);border:1px solid var(--gray-200);border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.payment-chip-pending{color:#f59e0b;background:#fffbeb;border-color:#f59e0b}.payment-chip-paid{color:#16a34a;background:#f0fdf4;border-color:#16a34a}.actions-section{border-top:1px solid var(--gray-300);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.team-form{flex-direction:column;gap:.5rem;display:flex}.status-badge{border-radius:var(--radius-md);text-align:center;white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;gap:.5rem;width:100px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex;overflow:hidden;text-wrap:wrap!important}.status-enrolled{color:#065f46;background-color:#d1fae5}.status-pending{color:#92400e;background-color:#fef3c7}.ai-badge{border-radius:var(--radius-md);align-items:center;gap:.35rem;padding:.5rem .9rem;font-size:.85rem;font-weight:600;display:inline-flex}.ai-valid{color:#065f46;background-color:#d1fae5}.ai-invalid{color:#991b1b;background-color:#fee2e2}.ai-doubtful{color:#92400e;background-color:#fed7aa}.team-detail-section{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background-color:#fff;margin-bottom:1rem;padding:1rem}.team-detail-section:last-of-type{margin-bottom:0}.section-header-detail{border-bottom:2px solid var(--gray-200);align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.section-header-detail h3{color:var(--gray-800);margin:0;font-size:1.1rem;font-weight:600}.section-header-detail svg{color:var(--primary)}.payments-table{flex-direction:column;gap:.75rem;display:flex}.payment-row{background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex}.payment-info{flex-direction:column;gap:.25rem;display:flex}.payment-method{color:var(--gray-800);font-size:.95rem;font-weight:600}.payment-date{color:var(--gray-600);font-size:.85rem}.payment-amount{color:var(--primary);font-size:1.1rem;font-weight:700}.payment-total{background-color:var(--primary-light);border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin-top:.5rem;padding:1rem;font-size:1.05rem;font-weight:600;display:flex}.total-value{color:var(--primary);font-size:1.25rem}.ai-validation-details{margin-bottom:1rem}.ai-validation-details h4{color:var(--gray-700);margin-bottom:.75rem;font-size:.95rem;font-weight:600}.ai-result-box{background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1rem}.ai-result-main{border-bottom:1px solid var(--gray-300);align-items:center;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.ai-label{color:var(--gray-700);font-size:.9rem;font-weight:600}.ai-value{border-radius:var(--radius-sm);text-transform:uppercase;padding:.4rem .9rem;font-size:.85rem;font-weight:700}.ai-valid,.ai-valido{color:#065f46;background-color:#d1fae5}.ai-invalid,.ai-invalido{color:#991b1b;background-color:#fee2e2}.ai-doubtful,.ai-dudoso{color:#92400e;background-color:#fed7aa}.ai-details-box{flex-direction:column;gap:.5rem;display:flex}.ai-detail-row{gap:.5rem;font-size:.9rem;line-height:1.5;display:flex}.ai-detail-row strong{color:var(--gray-700);min-width:100px}.ai-detail-row span{color:var(--gray-600);flex:1}.proof-section{margin-top:1.5rem}.proof-section h4{color:var(--gray-700);margin-bottom:.75rem;font-size:.95rem;font-weight:600}.proof-preview{flex-direction:column;align-items:center;gap:1rem;display:flex}.proof-thumbnail{object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--gray-300);max-width:100%;height:auto;max-height:300px;box-shadow:0 2px 8px #0000001a}.btn-view-proof{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-view-proof:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.selected-player-card{background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:.875rem 1rem;transition:all .2s;display:flex}.selected-player-card:hover{border-color:var(--primary);box-shadow:0 2px 6px #00000014}.player-info{flex-direction:column;gap:.25rem;display:flex}.player-name{color:var(--gray-800);font-size:.95rem;font-weight:600}.player-email,.player-phone{color:var(--gray-600);font-size:.85rem}.btn-confirm{color:#fff;border-radius:var(--radius-md);cursor:pointer;background-color:#10b981;border:none;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-confirm:hover{background-color:#059669;transform:translateY(-1px)}.btn-edit-toggle{background-color:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-edit-toggle:hover{background-color:var(--gray-200);border-color:var(--gray-400)}.btn-edit-toggle:active{transform:scale(.98)}.btn-ai-analysis{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-ai-analysis:hover{background-color:var(--primary-dark);transform:translateY(-1px)}.btn-view-proof-small{color:#fff;border-radius:var(--radius-md);cursor:pointer;background-color:#6366f1;border:none;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-view-proof-small:hover{background-color:#4f46e5;transform:translateY(-1px)}.btn-danger-outline{color:#dc3545;border-radius:var(--radius-md);cursor:pointer;background-color:#fff;border:2px solid #dc3545;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-danger-outline:hover{color:#fff;background-color:#dc3545;transform:translateY(-1px)}.feedback-badge{border-radius:var(--radius-md);align-items:center;gap:.35rem;padding:.625rem 1rem;font-size:.85rem;font-weight:500;display:inline-flex}.feedback-success{color:#065f46;background-color:#d1fae5;border:1px solid #6ee7b7}.feedback-info{color:#1e40af;background-color:#dbeafe;border:1px solid #93c5fd}.feedback-warning{color:#92400e;background-color:#fef3c7;border:1px solid #fcd34d}@media (width<=768px){.modal-edit-team{max-width:95%!important}.team-detail-status-bar{padding:1rem}.status-section{flex-direction:row;align-items:center;width:100%}.actions-section{flex-direction:column;width:100%}.actions-section button,.actions-section a,.actions-section span{justify-content:center;width:100%}.payment-row,.payment-total{flex-direction:column;align-items:flex-start;gap:.5rem}.shared-modal-footer{gap:.75rem;flex-direction:column!important}.shared-modal-footer>div{justify-content:center;width:100%}.team-list-item{flex-direction:column;align-items:flex-start;gap:1rem}.team-status-section,.team-actions-section{flex-wrap:wrap;justify-content:flex-start;width:100%}}.team-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:var(--transition);background-color:#fff;border:1px solid #dcdcdc;flex-direction:column;font-size:.7rem;display:flex;overflow:hidden}.team-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.team-card-header{border-bottom:1px solid var(--gray-200);padding:1rem}.team-card-header h3{color:var(--gray-800);font-size:.9rem}.team-card-body{flex:1;padding:1rem}.team-card-body li{list-style:none}.team-card-body p{color:var(--gray-600);align-items:center;gap:.5rem;margin-top:.5rem;font-size:.9rem;display:flex}.team-card-footer{border-top:1px solid var(--gray-200);justify-content:flex-end;padding:1rem;display:flex}.matches-list-container{flex-direction:column;gap:.5rem;width:100%;display:flex}.match-list-item{border:1px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;background-color:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.match-list-item:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014}.match-info-section{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.match-teams-names{color:var(--gray-800);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.match-teams-names .team-name{color:var(--gray-800)}.match-teams-names .vs-text{color:var(--gray-500);font-size:.75rem;font-weight:500}.match-details{color:var(--gray-600);flex-wrap:wrap;gap:1rem;font-size:.8rem;display:flex}.match-detail-item{align-items:center;gap:.25rem;display:flex}.match-result-text{color:var(--gray-700);align-items:center;gap:.375rem;font-size:.85rem;font-weight:500;display:flex}.match-list-item__primary{flex:1;justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}@media (width<=768px){.match-list-item__primary{flex-direction:column;align-items:flex-start;width:100%}}.match-status-section{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.match-status-badge{border-radius:var(--radius-md);white-space:nowrap;align-items:center;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.match-status-badge.status-not-scheduled{color:#6b7280;background-color:#f3f4f6}.match-status-badge.status-pending{color:#92400e;background-color:#fef3c7}.match-status-badge.status-in-progress{color:#1e40af;background-color:#dbeafe}.match-status-badge.status-completed{color:#065f46;background-color:#d1fae5}.match-actions-section{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=768px){.match-list-item{flex-direction:column;align-items:flex-start}.match-status-section,.match-actions-section{align-items:flex-start;width:100%}}.matches-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.match-card{border-radius:var(--radius-xl);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-md);background-color:#fff;padding:1rem}.match-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.match-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.btn-reschedule-match{width:28px;height:28px;color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-md);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.btn-reschedule-match:hover{background-color:var(--primary);color:#fff}.btn-reschedule-match:active{transform:scale(.95)}.group-badge{border-radius:var(--radius-full);color:#1976d2;text-transform:uppercase;background-color:#e3f2fd;align-items:center;padding:.5rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.match-date{color:var(--gray-500);font-size:.85rem}.match-teams{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.match-team{align-items:center;gap:.5rem;display:flex}.team-name{color:var(--gray-700);font-weight:500}.team-score{color:var(--primary);font-size:1.1rem;font-weight:700}.vs{color:var(--gray-400);margin:0 .5rem;font-size:.85rem}.match-info{color:var(--gray-500);justify-content:space-between;font-size:.85rem;display:flex}.match-info p{align-items:center;gap:.25rem;display:flex}.match-teams-detail{justify-content:space-between;align-items:center;margin:2rem 0;display:flex}.match-team-detail{text-align:center;flex:1}.match-team-detail h3{color:var(--gray-800);margin-bottom:.75rem;font-size:1.2rem}.team-players{flex-direction:column;gap:.5rem;display:flex}.player-name{color:var(--gray-600);font-size:.9rem}.match-vs{color:var(--gray-400);margin:0 1rem;font-size:1.5rem}.match-result-form{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border-top:1px solid var(--gray-200);background-color:#fff;margin-top:1rem;padding:1.5rem 1rem 1rem}.match-result-form h3{color:var(--gray-800);margin-bottom:1rem;font-size:1.2rem}.sets-container{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.set-row{background-color:var(--gray-50);border-radius:var(--radius-lg);align-items:center;gap:1.5rem;padding:1rem;display:flex}.set-header{color:var(--gray-700);min-width:80px;font-weight:600}.set-scores{flex:1;align-items:center;gap:1rem;display:flex}.team-score-input{flex-direction:column;flex:1;gap:.5rem;display:flex}.team-score-input label{color:var(--gray-600);font-size:.9rem}.score-input{text-align:center;border:2px solid var(--gray-200);border-radius:var(--radius-lg);width:60px;transition:var(--transition);background-color:#fff;padding:.5rem;font-size:1.2rem;font-weight:600}.score-input:focus{border-color:var(--primary);outline:none}.score-input.error{border-color:var(--danger);background-color:var(--danger-light)}.score-separator{color:var(--gray-400);margin:0 .5rem;padding-top:1.5rem;font-size:1.5rem}.score-help{background-color:var(--gray-50);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1rem}.score-help p{color:var(--gray-600);margin-bottom:.5rem;font-size:.9rem}.score-help p:last-child{margin-bottom:0}.sets-display{justify-content:center;gap:1.5rem;display:flex}.set-display{text-align:center}.set-display .set-header{color:var(--gray-600);margin-bottom:.5rem;font-size:.9rem}.set-display .set-score{color:var(--primary);align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;display:flex}@media (width<=768px){.match-detail-header{flex-direction:column;gap:1rem}.match-info-details{flex-direction:column;gap:.75rem}.match-teams-detail{text-align:center;flex-direction:column;gap:1.5rem}.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{background-color:var(--gray-50);border-radius:var(--radius-lg);padding:1rem}}.finalize-match-section{background-color:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200);margin:1.5rem 0;padding:1rem}.finalize-toggle{margin-bottom:.75rem}.tournament-toggle-container{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.1rem;display:flex}.finalize-warning{background-color:var(--warning-light);border:1px solid var(--warning);border-radius:var(--radius-md);padding:.75rem;animation:.3s fadeIn}.finalize-warning p{color:var(--warning-dark);margin:0;font-size:.9rem;font-weight:500}.modal-back-button{color:#fff;cursor:pointer;width:2rem;height:2rem;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.modal-back-button:hover{background-color:#fff3}.team-search{width:100%;max-width:400px;margin-bottom:1rem;position:relative}.search-results-dropdown{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg);z-index:50;background-color:#fff;max-height:300px;margin-top:.5rem;position:absolute;top:100%;left:0;overflow-y:auto}.search-results-dropdown ul{margin:0;padding:0;list-style:none}.search-results-dropdown li{cursor:pointer;transition:var(--transition);border-bottom:1px solid var(--gray-200);padding:.75rem 1rem}.search-results-dropdown li:last-child{border-bottom:none}.search-results-dropdown li:hover{background-color:var(--gray-100)}.no-results{color:var(--gray-500);text-align:center;padding:.5rem;font-size:.9rem}.btn-create-team{background-color:var(--primary-light);color:var(--primary);border-radius:var(--radius-lg);transition:var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;margin:.75rem auto 0;padding:.5rem 1rem;font-weight:500;display:flex}.btn-create-team:hover{background-color:var(--primary);color:#fff}.team-form{flex-direction:column;gap:1.5rem;animation:.4s fadeIn;display:flex}.players-section{flex-direction:column;gap:1rem;display:flex}.player-number{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-weight:600;display:flex}.program-match-form{animation:.4s fadeIn}.toast{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:120;background-color:#fff;align-items:center;gap:.75rem;max-width:350px;padding:1rem 1.5rem;transition:transform .3s,opacity .3s;display:flex;position:fixed;bottom:2rem;right:2rem}.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{justify-content:center;align-items:center;display:flex}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:var(--primary)}.toast-message{color:var(--gray-700);flex:1;font-size:.9rem}.toast-close{color:var(--gray-400);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.toast-visible{opacity:1;transform:translate(0)}.toast-hidden{opacity:0;transform:translate(100%)}.tournament-tooltip-container{flex-shrink:0;display:inline-block;position:relative}.tournament-tooltip{background:var(--gray-900);color:#fff;border-radius:var(--radius-md);white-space:nowrap;box-shadow:var(--shadow-lg);z-index:120;pointer-events:none;padding:.35rem .55rem;font-size:.75rem;line-height:1.2;position:absolute;left:50%;transform:translate(-50%)}.tournament-tooltip-top{bottom:calc(100% + 8px)}.tournament-tooltip-top:after{content:"";border-style:solid;border-width:5px;border-color:var(--gray-900) transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}.confirmation-dialog{flex-direction:column;align-items:center;gap:1.5rem;padding:1rem;display:flex}.confirmation-icon{border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.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;color:var(--gray-700);font-size:1rem}.player-selection{flex-direction:column;gap:0;margin-top:.5rem;display:flex}.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{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem;display:grid}.selected-player-card{border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:var(--transition);background-color:#fff;justify-content:space-between;align-items:center;padding:.75rem;display:flex;position:relative}.selected-player-card:hover{border-color:var(--danger-light)}.selected-player-card .btn-remove-player{background:var(--gray-100);width:24px;height:24px;color:var(--gray-500);cursor:pointer;transition:var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:.5rem;right:.5rem}.selected-player-card .btn-remove-player:hover{color:#fff;background-color:var(--danger)}.selected-player-card .player-info{padding-right:2rem}.player-card{background-color:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:var(--transition);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:relative}.player-card:hover{background-color:var(--gray-100);border-color:var(--primary-light);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.player-avatar{background-color:var(--primary-light);width:40px;height:40px;color:var(--primary);border:2px solid var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.player-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.player-card .player-name{color:var(--gray-800);word-break:break-word;font-size:.9rem;font-weight:600;line-height:1.3}.player-card .player-number{color:var(--gray-500);background-color:var(--gray-200);border-radius:var(--radius-sm);align-self:flex-start;width:fit-content;padding:.125rem .375rem;font-size:.8rem;font-weight:500}@media (width<=768px){.player-card{gap:.625rem;padding:.625rem .75rem}.player-avatar{width:36px;height:36px}.player-name{font-size:.85rem}.player-number{padding:.1rem .3rem;font-size:.75rem}}.player-result-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;width:100%;transition:var(--transition);background-color:#fff;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.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{justify-content:center;align-items:center;display:flex}.selected-icon{color:var(--primary)}.add-icon{color:var(--gray-400)}.player-result-card:not(.selected):hover .add-icon{color:var(--primary)}.tournaments-table-container,.tournaments-list-table-wrap{border-radius:var(--radius-xl)}.tournaments-list-table{border-collapse:collapse;width:100%}.tournaments-list-table-wrap .tournaments-list-table thead th,.tournaments-list-table-wrap .tournaments-table.tournaments-list-table thead th{background-color:var(--gray-50);border-bottom:2px solid var(--gray-200);text-align:left;font-weight:600;font-size:inherit;text-transform:none;letter-spacing:normal;color:var(--gray-800);padding:1rem;position:static}.tournaments-list-table-wrap .tournaments-list-table thead th.tournaments-list-table__th--center,.tournaments-list-table-wrap .tournaments-table.tournaments-list-table thead th.tournaments-list-table__th--center{text-align:center}.tournaments-list-table-wrap .tournaments-list-table tbody td,.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody td{border-bottom:1px solid var(--gray-100);vertical-align:middle;padding:1rem}.tournaments-list-table-wrap .tournaments-list-table tbody tr,.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr{transition:background-color .2s}.tournaments-list-table-wrap .tournaments-list-table tbody tr:hover,.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr:hover{background-color:var(--gray-50)}.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr.even,.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr.odd{background-color:#fff}.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr.group-row{border-top:none;font-weight:600;background-color:#fff!important}.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr.group-row.is-expanded,.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr.group-row:hover{background-color:var(--gray-50)!important}.tournaments-list-table-wrap .table-pagination{border-top:1px solid var(--gray-100)}.tournaments-list-table__row--clickable{cursor:pointer}.tournaments-list-table__td--center,.tournaments-list-table-wrap .tournament-status,.tournaments-list-table-wrap .tournament-actions{text-align:center}.tournaments-list-table-wrap .tournament-actions .action-buttons{flex-wrap:nowrap;justify-content:center;gap:.35rem;display:flex}.tournaments-list-table-wrap .tournament-actions .action-button{flex:none}.tournaments-list-table-wrap .expand-toggle--tree{text-align:center;width:40px;min-width:40px;padding:.5rem!important}.tournaments-list-table-wrap .tournament-sub-row-spacer--tree{width:40px;min-width:40px;position:relative;padding:0!important}.tournaments-list-table-wrap .tournament-sub-row-spacer--tree:before{content:"";background:linear-gradient(180deg, var(--gray-300), var(--gray-200));border-radius:999px;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.tournaments-list-table-wrap .tournament-sub-row-spacer--tree:after{content:"";background:linear-gradient(90deg, var(--gray-300), var(--gray-200));border-radius:999px;width:18px;height:2px;position:absolute;top:50%;left:50%;transform:translateY(-50%)}.tournaments-list-table-wrap .sub-row--first .tournament-sub-row-spacer--tree:before{top:0}.tournaments-list-table-wrap .sub-row--last .tournament-sub-row-spacer--tree:before{bottom:50%}.tournaments-list-table-wrap .expand-toggle--tree .expand-button{background:0 0;width:26px;height:26px;margin:0 auto;position:static}.tournaments-list-table-wrap .expand-toggle--tree .expand-button svg{display:block}.tournament-view-mode-toggle{background:0 0;border:none;flex-shrink:0;align-items:center;margin-left:auto;padding:0;display:flex}.tournaments-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.tournaments-list-toolbar .search-container{justify-content:flex-start;width:fit-content;max-width:100%;margin-bottom:0;padding:0}.tournaments-list-toolbar .tournament-view-mode-toggle{flex-shrink:0;margin-left:0}.tournament-view-mode-toggle .view-toggle-buttons{background-color:var(--gray-100);border-radius:var(--radius-lg);align-items:center;gap:2px;padding:2px;display:flex}.tournament-view-mode-toggle .view-toggle-btn{width:40px;height:40px;color:var(--gray-500);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.tournament-view-mode-toggle .view-toggle-btn:hover{background-color:var(--gray-200);color:var(--gray-700)}.tournament-view-mode-toggle .view-toggle-btn.active{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.tournaments-table-card{box-sizing:border-box;width:100%}.tournaments-table{border-collapse:collapse;width:100%;min-width:800px;font-size:.9rem;overflow:hidden}.tournaments-table thead th{background-color:var(--gray-50);color:var(--gray-700);text-align:left;border-bottom:2px solid var(--gray-200);text-transform:uppercase;letter-spacing:.5px;z-index:10;padding:1rem .75rem;font-size:.85rem;font-weight:600;position:sticky;top:0}.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{border-bottom:1px solid var(--gray-200);vertical-align:top;padding:1rem .75rem}.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}.tournaments-table tbody tr.group-row{border-top:2px solid var(--gray-300);font-weight:600;background-color:var(--gray-50)!important}.tournaments-table tbody tr.group-row:hover{background-color:var(--gray-100)!important}.tournaments-table tbody tr.sub-row{background-color:var(--gray-25)!important}.tournaments-table tbody tr.sub-row:hover{background-color:var(--gray-50)!important}.expand-toggle{text-align:center;width:10px;padding:.5rem!important}.expand-button{cursor:pointer;color:var(--gray-600);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.expand-button:hover{background-color:var(--gray-200);color:var(--primary)}.expand-button:focus{outline:2px solid var(--primary);outline-offset:2px}.tournament-name{min-width:200px}.tournament-name-content{flex-direction:column;gap:.25rem;display:flex}.tournament-name-content .name{color:var(--gray-800);font-size:.95rem;font-weight:600}.tournament-name-content .location{color:var(--gray-500);font-size:.8rem;font-style:italic}.tournament-dates{min-width:150px}.tournament-type{width:120px;min-width:120px;max-width:120px}.tournaments-list-table-wrap .tournament-type .type-content{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.4rem;min-width:0;max-width:100%;display:flex;overflow:hidden}.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr.group-row{background-color:#fff!important}.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr.group-row.is-expanded,.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr.group-row:hover{background-color:var(--gray-50)!important}.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr.sub-row{background-color:var(--gray-25)!important}.tournaments-list-table-wrap .tournaments-table.tournaments-list-table tbody tr.sub-row:hover{background-color:var(--gray-50)!important}.tournament-category{min-width:120px}.tournament-price{min-width:80px;color:var(--primary);text-align:center;font-weight:600}.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 (width<=768px){.header-left{flex:1}.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{flex-wrap:wrap;justify-content:space-between;width:100%;margin-bottom:1rem}.category-select{flex:1;min-width:120px}.tournaments-table{min-width:600px;font-size:.8rem}.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{text-align:center;flex-direction:column;gap:1rem}.pagination-left,.pagination-right{justify-content:center}}.active-tab{border-bottom:2px solid var(--primary)!important;color:var(--primary)!important;border-radius:0!important}.payment-modal{flex-direction:column;gap:1.5rem;display:flex}.payment-info{background-color:var(--gray-50);border-radius:var(--radius-lg);padding:1rem}.payment-info h3{color:var(--gray-800);margin-bottom:1rem}.payment-info p{color:var(--gray-600);margin-bottom:.5rem}.btn-save.disabled{opacity:.5;cursor:not-allowed}.btn-save.is-loading{cursor:not-allowed;opacity:.95;background:#6b7280!important}.groups-section{margin-bottom:1rem}.groups-section h4{color:var(--gray-800);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.groups-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.group-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:var(--transition);border:1px solid var(--gray-200);background-color:#fff;overflow:hidden}.group-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-2px)}.group-card-header{border-bottom:1px solid var(--gray-200);background-color:var(--gray-50);justify-content:space-between;align-items:center;padding:1rem;display:flex}.group-card-header h5{color:var(--gray-800);margin:0;font-size:1rem;font-weight:600}.btn-add-team-to-group{background:#fff;border:1px dotted #dcdcdc;align-items:center;margin:auto;display:flex}.btn-add-team-to-group:hover{background-color:#dcdcdc;transform:scale(1.1)}.registration-confirmed-badge{color:#fff;background:#15803d;border-radius:20px;justify-content:center;align-items:center;gap:.5rem;width:fit-content;margin-left:auto;padding:.3rem 1rem;display:flex;overflow:hidden}.btn-confirm-registration{color:#fff;background:var(--primary);align-items:center;gap:.5rem;display:flex}.group-card-body{padding:1rem}.group-teams{flex-direction:column;gap:.75rem;display:flex}.group-team-card{background-color:var(--gray-50);border-radius:var(--radius-lg);transition:var(--transition);border:1px solid #dcdcdc;padding:.75rem;position:relative}.group-team-card:hover{background-color:var(--gray-100);border-color:var(--primary-light)}.group-team-card .team-name{color:var(--gray-800);margin-bottom:.25rem;font-weight:500;display:block}.team-players small{background-color:var(--primary-light);color:var(--primary);border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:.75rem;font-weight:500}.empty-group{text-align:center;color:var(--gray-500);padding:1rem;font-style:italic}.empty-group p{margin:0;font-size:.9rem}.add-team-to-group-form{flex-direction:column;gap:1.5rem;display:flex}.available-teams-list h3{color:var(--gray-800);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.error-message{background-color:var(--danger-light);color:var(--danger);border-radius:var(--radius-lg);margin-bottom:1rem;padding:.75rem;font-size:.9rem}.error-message p{margin:0}.add-prize-btn:hover{background-color:var(--primary-dark)}.add-new-player-btn{background-color:var(--primary-light);border:1px dashed var(--primary);border-radius:var(--radius-lg);width:100%;color:var(--primary);cursor:pointer;transition:var(--transition);align-items:center;gap:.5rem;padding:.75rem;font-size:.9rem;display:flex}.add-new-player-btn:hover{background-color:var(--primary);color:#fff}.add-new-player-btn strong{font-weight:600}.match-detail{flex-direction:column;gap:1.5rem;padding:1rem;animation:.4s fadeIn;display:flex}.match-detail-header{background-color:var(--gray-50);border-radius:var(--radius-xl);justify-content:space-between;align-items:center;padding:1rem;display:flex}.match-info-details{gap:1.5rem;display:flex}.match-info-details p{color:var(--gray-600);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.match-completed-notice{background-color:var(--success-50);border:1px solid var(--success-200);border-radius:var(--radius-xl);text-align:center;flex-direction:column;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;display:flex}.completed-badge{background-color:var(--success-100);color:var(--success-700);border-radius:var(--radius-full);align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;display:flex}.match-completed-notice p{color:var(--gray-600);margin:0;font-size:.95rem}.tournament-phase-tabs{border-bottom:1px solid var(--gray-200);gap:.5rem;margin-bottom:1rem;display:flex;overflow-x:auto}.tournament-phase-tabs button{color:var(--gray-600);transition:var(--transition);white-space:nowrap;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:0 0;border:none;align-items:center;gap:.5rem;min-width:fit-content;padding:.75rem 1rem;font-weight:500;display:flex;position:relative}.tournament-phase-tabs button:hover{color:var(--primary);background-color:var(--gray-50)}.tournament-phase-tabs button.active{color:var(--primary);border:1px solid var(--gray-200);background-color:#fff;border-bottom:1px solid #fff;margin-bottom:-1px}.tournament-phase-tabs button.active:after{content:"";background-color:#fff;width:100%;height:2px;position:absolute;bottom:-1px;left:0}.tm-matches-panel{flex-direction:column;gap:1rem;display:flex}.tm-matches-tabs{border-bottom:1px solid var(--gray-200);gap:.5rem;padding-bottom:.75rem;display:flex}.tm-matches-tabs button{border:1px solid var(--gray-200);color:var(--gray-600);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.7rem 1rem;font-weight:600;transition:all .18s;display:inline-flex}.tm-matches-tabs button:hover{border-color:var(--gray-300);color:var(--gray-800);transform:translateY(-1px)}.tm-matches-tabs button.tm-matches-tabs__button--active{background:var(--gray-900);color:#fff;border-color:var(--gray-900);transform:none;box-shadow:0 10px 24px #0f172a1f}.tm-matches-tabs button.tm-matches-tabs__button--active:hover{color:#fff;border-color:var(--gray-900);transform:none}.tm-matches-tabs button.tm-matches-tabs__button--active svg{color:inherit}.tm-section-bar{border:1px solid var(--gray-200);background:linear-gradient(#fff 0%,#fafafa 100%);border-radius:20px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.tm-section-bar h3{color:var(--gray-900);margin:0;font-size:1.1rem}.tm-section-bar p{color:var(--gray-500);margin:.25rem 0 0;font-size:.9rem}.tm-section-bar__action{white-space:nowrap}.tm-fixture-groups,.tm-fixture-groups__stack{flex-direction:column;gap:1rem;display:flex}.tm-group-card{border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;overflow:hidden}.tm-group-card__header{border-bottom:1px solid var(--gray-200);background:linear-gradient(#fff 0%,#fafafa 100%);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.tm-group-card__title-wrap{min-width:0}.tm-group-card__title{color:var(--gray-900);margin:0;font-size:1.15rem;font-weight:700}.tm-group-card__meta{color:var(--gray-500);margin-top:.25rem;font-size:.875rem;display:inline-block}.tm-group-card__toggle{border:1px solid var(--gray-200);color:var(--primary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.65rem .9rem;font-weight:600;transition:all .18s;display:inline-flex}.tm-group-card__toggle:hover{border-color:var(--primary);background:var(--primary-light)}.tm-group-card__body{padding-bottom:1rem}.tm-group-table-wrap{padding:1rem 1.25rem 0;overflow-x:auto}.tm-group-table{border-collapse:collapse;width:100%;min-width:760px}.tm-group-table thead th{text-align:left;color:var(--gray-500);border-bottom:1px solid var(--gray-200);padding:.75rem .5rem;font-size:.78rem;font-weight:700}.tm-group-table tbody td{border-bottom:1px solid var(--gray-100);color:var(--gray-700);padding:.85rem .5rem;font-size:.92rem}.tm-group-table tbody tr:last-child td{border-bottom:none}.tm-group-table__pos,.tm-group-table__strong{color:var(--gray-900);font-weight:700}.tm-group-team-cell{align-items:center;gap:.65rem;min-width:0;display:flex}.tm-group-team-logo{object-fit:cover;border-radius:999px;flex-shrink:0;width:28px;height:28px}.tm-group-team-logo--placeholder{background:var(--gray-100);color:var(--gray-400);justify-content:center;align-items:center;display:inline-flex}.tm-group-matches{gap:.75rem;padding:1rem 1.25rem 0;display:grid}.tm-group-matches__empty{text-align:center;color:var(--gray-500);border:1px dashed var(--gray-200);background:var(--gray-50);border-radius:16px;padding:1rem}.tm-group-match-card{text-align:left;border:1px solid var(--gray-200);cursor:pointer;background:#fcfcfd;border-radius:16px;gap:.6rem;width:100%;padding:.85rem;transition:all .18s;display:grid}.tm-group-match-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tm-group-match-card__header,.tm-bracket-match-card__header,.tm-flat-fixture__head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tm-group-match-card__title,.tm-group-match-card__score,.tm-bracket-match-card__score{color:var(--gray-900);font-weight:700}.tm-group-match-card__status{background:var(--gray-100);color:var(--gray-600);border-radius:999px;padding:.25rem .5rem;font-size:.76rem;font-weight:700}.tm-group-match-card__status--completed,.tm-group-match-card__status--played,.tm-group-match-card__status--finished{color:#166534;background:#ecfdf3}.tm-group-match-card__status--scheduled{color:#1d4ed8;background:#eff6ff}.tm-group-match-card__status--in_progress,.tm-group-match-card__status--in-progress{color:#b45309;background:#fffbeb}.tm-group-match-card__teams{gap:.5rem;display:grid}.tm-group-match-card__team{border:1px solid var(--gray-200);color:var(--gray-800);background:#fff;border-radius:14px;gap:.2rem;padding:.65rem .75rem;font-weight:600;display:grid}.tm-group-match-card__team.is-winner{color:#166534;background:#f0fdf4;border-color:#22c55e59}.tm-group-match-card__vs,.tm-bracket-match-card__divider{letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400);justify-content:center;align-items:center;font-size:.74rem;display:flex}.tm-group-match-card__team-players,.tm-bracket-card__team-players,.tm-flat-fixture__team-players{color:var(--gray-500);font-size:.74rem;font-weight:500;line-height:1.15}.tm-group-match-card__meta,.tm-bracket-match-card__meta,.tm-flat-fixture__meta{color:var(--gray-500);flex-wrap:wrap;gap:.75rem;font-size:.82rem;display:flex}.tm-group-match-card__meta span,.tm-bracket-match-card__meta span,.tm-flat-fixture__meta span{align-items:center;gap:.35rem;display:inline-flex}.tm-bracket-tree{--tm-bracket-column-width:280px;align-items:flex-start;gap:1.75rem;min-height:320px;padding:1rem .25rem 1.25rem;display:flex;position:relative;overflow-x:auto}.tm-bracket-tree__lines{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tm-bracket-tree__lines path{fill:none;stroke:#0f172acc;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.tm-bracket-column{flex:0 0 var(--tm-bracket-column-width);width:var(--tm-bracket-column-width);min-width:var(--tm-bracket-column-width);z-index:1;gap:.85rem;display:grid;position:relative}.tm-bracket-column__header{color:#fff;letter-spacing:.01em;background:#09072a;border-radius:14px;justify-content:center;align-items:center;min-height:48px;padding:.85rem 1rem;font-size:.98rem;font-weight:700;display:flex;box-shadow:0 12px 30px #09072a26}.tm-bracket-column__body{align-items:start;gap:0;min-height:100%;display:grid;position:relative}.tm-bracket-column__slot{align-items:flex-start;min-height:0;display:flex}.tm-bracket-card{text-align:left;border:1px solid var(--gray-200);cursor:pointer;width:100%;box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;gap:.65rem;min-height:106px;padding:.8rem .9rem;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.tm-bracket-card:hover{box-shadow:var(--shadow-md);border-color:var(--gray-300);transform:translateY(-1px)}.tm-bracket-card__top{color:var(--gray-500);justify-content:space-between;align-items:center;gap:.75rem;font-size:.86rem;display:flex}.tm-bracket-card__label{font-weight:500}.tm-bracket-card__score{color:var(--gray-900);font-size:1rem;font-weight:800}.tm-bracket-card__score.is-empty{color:var(--gray-400);font-weight:700}.tm-bracket-card__teams{gap:.4rem;display:grid}.tm-bracket-card__team{color:var(--gray-900);gap:.15rem;font-size:.96rem;font-weight:700;line-height:1.2;display:grid}.tm-bracket-card__team.is-winner{color:#111827}.tm-bracket-card__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tm-bracket-card__status{color:var(--gray-600);background:#f1f5f9;border-radius:999px;align-items:center;padding:.28rem .55rem;font-size:.76rem;font-weight:700;display:inline-flex}.tm-bracket-card__status--completed,.tm-bracket-card__status--played,.tm-bracket-card__status--finished{color:#0f766e;background:#f0fdfa}.tm-bracket-card__status--in_progress,.tm-bracket-card__status--in-progress{color:#1d4ed8;background:#eff6ff}.tm-bracket-card__meta{color:var(--gray-500);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.78rem;display:flex}.tm-bracket-card__meta span{background:var(--gray-50);border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .45rem;display:inline-flex}.tm-flat-fixture{gap:.75rem;display:grid}.tm-flat-fixture__card{text-align:left;border:1px solid var(--gray-200);cursor:pointer;background:#fff;border-radius:18px;gap:.6rem;width:100%;padding:.85rem 1rem;transition:all .18s;display:grid}.tm-flat-fixture__card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.tm-flat-fixture__head span:last-child{background:var(--gray-100);color:var(--gray-600);border-radius:999px;padding:.25rem .5rem;font-size:.78rem;font-weight:700}.tm-flat-fixture__teams{color:var(--gray-900);gap:.35rem;font-weight:600;display:grid}.tm-flat-fixture__team{gap:.15rem;display:grid}.tm-flat-fixture__team-name{line-height:1.2}.tm-flat-fixture__vs{color:var(--gray-400);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.tm-empty-state,.tm-loading-state{border:1px dashed var(--gray-200);background:var(--gray-50);text-align:center;color:var(--gray-500);border-radius:20px;place-items:center;gap:.8rem;padding:2rem 1.25rem;display:grid}.tm-empty-state h3,.tm-empty-state p{margin:0}.tm-empty-state__action{margin-top:.25rem}.tm-empty-state--brackets{min-height:280px}.tm-color-win{color:#166534;font-weight:600}.tm-color-loss{color:#b91c1c;font-weight:600}.tm-text-win{color:#166534}.tm-text-loss{color:#b91c1c}@media (width<=768px){.tm-section-bar,.tm-group-card__header{flex-direction:column;align-items:flex-start}.tm-group-card__toggle,.tm-section-bar__action{justify-content:center;width:100%}.tm-group-table-wrap,.tm-group-matches,.tm-bracket-column__body{padding-left:1rem;padding-right:1rem}.tm-matches-tabs{padding-bottom:.5rem;overflow-x:auto}.tm-bracket-tree{--tm-bracket-column-width:240px;gap:1rem}.tm-bracket-tree__lines path{stroke-width:2px}}.groups-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.groups-header h4{color:var(--gray-800);margin:0;font-size:1.2rem;font-weight:600}.elimination-bracket{flex-direction:column;gap:1.5rem;display:flex}.bracket-header{text-align:center;background-color:var(--gray-50);border-radius:var(--radius-xl);padding:1rem}.bracket-header h4{color:var(--gray-800);margin:0 0 .5rem;font-size:1.3rem;font-weight:600}.bracket-info{color:var(--gray-600);margin:0;font-size:.9rem}.bracket-matches{margin-bottom:1rem}.matches-grid{zoom:.8;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.bracket-match-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--gray-200);transition:var(--transition);background-color:#fff;height:fit-content;padding:1.25rem}.bracket-match-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-2px)}.match-number{text-align:center;color:var(--primary);background-color:var(--primary-light);border-radius:var(--radius-lg);width:fit-content;margin:0 auto 1rem;padding:.25rem .5rem;font-size:.85rem;font-weight:600}.match-teams-bracket{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.match-team-bracket{background-color:var(--gray-50);border-radius:var(--radius-lg);transition:var(--transition);border:2px solid #0000;justify-content:center;align-items:center;min-height:80px;padding:1rem .75rem;display:flex}.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{color:var(--gray-700);flex:1;font-weight:500}.match-team-bracket .team-score{color:var(--primary);text-align:center;min-width:40px;font-size:1.2rem;font-weight:700}.team-sets{align-items:center;gap:.25rem;display:flex}.set-score{background-color:var(--primary-light);color:var(--primary);border-radius:var(--radius-sm);text-align:center;min-width:30px;padding:.25rem .5rem;font-size:.85rem;font-weight:600}.match-team-bracket.winner .set-score{background-color:var(--success);color:#fff}.team-info{flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex}.team-name-container{justify-content:center;align-items:center;gap:.5rem;display:flex}.winner-trophy{color:var(--success);filter:drop-shadow(0 2px 4px #0003);animation:.6s ease-in-out trophyBounce}@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{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;display:flex}.set-score-below{background-color:var(--gray-200);color:var(--gray-700);border-radius:var(--radius-sm);text-align:center;border:1px solid var(--gray-300);min-width:24px;padding:.2rem .4rem;font-size:.8rem;font-weight:600;transition:all .2s}.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;color:var(--gray-400);margin:.25rem 0;font-size:.85rem;font-weight:500}.match-info-bracket{border-top:1px solid var(--gray-200);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.match-time{color:var(--gray-600);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.match-status-bracket{align-self:flex-start}.match-score-detail{color:var(--gray-700);background-color:var(--gray-100);border-radius:var(--radius-lg);align-items:center;gap:.5rem;padding:.5rem;font-size:.9rem;display:flex}.match-winner{color:var(--success);background-color:var(--success-light);border-radius:var(--radius-lg);align-items:center;gap:.5rem;padding:.5rem;font-size:.9rem;font-weight:600;display:flex}.bracket-match-card.clickable{cursor:pointer;transition:all .2s}.bracket-match-card.clickable:hover{box-shadow:var(--shadow-xl);border-color:var(--primary);background-color:var(--primary-light);transform:translateY(-3px)}.bracket-match-card.clickable:active{transition:all .1s;transform:translateY(-1px)}.match-action-hint{color:var(--primary);background-color:var(--primary-light);border-radius:var(--radius-lg);border:1px dashed var(--primary);opacity:.8;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.4rem .8rem;font-size:.8rem;font-weight:500;transition:opacity .2s;display:flex}.bracket-match-card.clickable:hover .match-action-hint{opacity:1;background-color:var(--primary);color:#fff;border-style:solid}.match-completed-info{color:var(--success-dark);background-color:var(--success-light);border-radius:var(--radius-lg);border:1px solid var(--success);justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.4rem .8rem;font-size:.8rem;font-weight:500;display:flex}@media (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{text-align:center;flex-direction:column;gap:1rem}.groups-header button{width:100%}}.full-brackets{flex-direction:column;gap:1rem;padding:1rem;display:flex}.full-brackets-container{width:100%}.tournament-info h3{color:var(--gray-800);text-transform:uppercase;letter-spacing:1px;margin:0 0 .5rem;font-size:1.8rem;font-weight:700}.bracket-tree{border-radius:var(--radius-xl);background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1rem;display:grid;position:relative;overflow-x:auto}.bracket-tree-block{border-radius:var(--radius-xl);background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);padding:1rem 1rem 2rem}.bracket-tree-block .brackets-brand{justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}.brackets-brand-chip{background:#fff;border:1px solid #00000014;border-radius:10px;align-items:center;gap:8px;width:fit-content;margin-bottom:6px;padding:.5rem .7rem;display:flex;box-shadow:0 8px 24px #0000001a,0 2px 6px #0000000f}.brackets-brand-chip__logo{object-fit:contain;width:40px;height:40px}.brackets-brand-chip__text{letter-spacing:.02em;color:var(--primary);margin-left:-.8rem;font-size:28px;font-weight:800}.trn-stat-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background-color:#fff;align-items:center;gap:1rem;padding:1rem;display:flex}.trn-stat-card__icon{border-radius:var(--radius-md);background-color:var(--trn-accent-bg,#3b82f614);width:48px;height:48px;color:var(--trn-accent-color,#3b82f6);flex-shrink:0;justify-content:center;align-items:center;display:flex}.trn-stat-card__label{color:var(--gray-500);margin-bottom:.25rem;font-size:.875rem}.trn-stat-card__value{color:var(--gray-800);font-size:1.75rem;font-weight:700}.ft-standings-legend{background:var(--gray-50);border-top:1px solid var(--gray-200);color:var(--gray-600);flex-wrap:wrap;gap:2rem;padding:1rem;font-size:.75rem;display:flex}.bracket-tree-block .bracket-tree{background:0 0;padding-top:1rem}.bracket-side{flex-direction:row;align-items:center;gap:1rem;display:flex}.bracket-side.left,.bracket-side.right{align-items:center}.bracket-center{z-index:10;flex-direction:column;justify-content:center;align-items:center;min-width:200px;display:flex}.bracket-round{flex-direction:column;gap:1rem;display:flex;position:relative}.round-label{color:var(--gray-600);text-align:center;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background-color:#fff;margin-bottom:.5rem;padding:.5rem;font-size:.9rem;font-weight:600}.round-matches{flex-direction:column;gap:1rem;display:flex;position:relative}.bracket-match{flex-direction:column;gap:.5rem;width:200px;display:flex;position:relative}.match-connector{background-color:var(--gray-400);width:2px;height:10px;margin:0 auto}.bracket-team-slot{border:2px solid var(--gray-300);border-radius:var(--radius-lg);min-height:50px;box-shadow:var(--shadow-sm);background-color:#fff;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:all .3s;display:flex;position:relative}.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{color:#fff;background:linear-gradient(135deg,#d97706 0%,#b45309 100%);border-color:#92400e;font-weight:600;transform:scale(1.02);box-shadow:0 4px 12px #d977064d}.bracket-team-slot.winner .team-name{color:#fff;font-weight:600}.bracket-team-slot.winner .team-sets{color:#fff;background-color:#fff3;border-color:#ffffff4d}.winner-icon{color:inherit;margin-left:.5rem}.champion-section{border-radius:var(--radius-xl);background:linear-gradient(135deg,#d97706 0%,#b45309 100%);border:3px solid #92400e;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 25px #d9770666}.champion-section:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);width:200%;height:200%;animation:3s ease-in-out infinite shimmer;position:absolute;top:-50%;left:-50%}@keyframes shimmer{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}.champion-trophy{z-index:2;position:relative}.trophy-icon{color:#fef3c7;filter:drop-shadow(0 4px 8px #0003);animation:2s ease-in-out infinite trophyFloat}@keyframes trophyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.champion-info{text-align:center;z-index:2;position:relative}.champion-info h3{color:#fff;text-shadow:0 2px 4px #0000004d;letter-spacing:1px;margin:0 0 .5rem;font-size:1.2rem;font-weight:700}.champion-name{color:#fff;border-radius:var(--radius-lg);text-shadow:0 1px 2px #0003;background-color:#fff3;border:1px solid #ffffff4d;padding:.5rem 1rem;font-size:1.1rem;font-weight:600}.final-section{border-radius:var(--radius-xl);background:linear-gradient(135deg,#ffd7001a 0%,#ffc10726 50%,#ffd7001a 100%);border:3px solid gold;flex-direction:column;align-items:center;gap:1rem;margin:2rem 0;padding:3rem 2rem;transition:all .3s;display:flex;position:relative;overflow:hidden;transform:scale(1.05);box-shadow:0 10px 30px #ffd7004d,0 4px 20px #0000001a,inset 0 1px #ffffff4d}.final-section:before{content:"";z-index:1;background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%);width:100%;height:100%;animation:3s infinite finalShine;position:absolute;top:0;left:-100%}.final-section>*{z-index:2;position:relative}@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;text-shadow:0 2px 4px #0000004d;box-shadow:var(--shadow-md), 0 0 20px rgba(var(--primary-rgb), .3);text-transform:uppercase;letter-spacing:1px;border-radius:var(--radius-lg);border:none;padding:1rem 2rem;font-size:1.3rem;font-weight:700}.third-place-section{text-align:center;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background-color:#fff;border:2px solid #cd7c2f;margin-top:3rem;padding:1rem}.third-place-section h4{color:#cd7c2f;text-transform:uppercase;letter-spacing:.5px;margin:0 0 1.5rem;font-size:1.2rem;font-weight:600}.third-place-match{justify-content:center;display:flex}.match-detail-overlay{z-index:100;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.match-detail-modal{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);background-color:#fff;width:90%;max-width:600px;max-height:80vh;animation:.3s scaleIn;overflow-y:auto}.team-detail{background-color:var(--gray-50);border-radius:var(--radius-lg);flex:1;align-items:center;gap:.75rem;padding:1rem;display:flex}.team-detail span{color:var(--gray-700);font-weight:500}.vs-detail{color:var(--gray-400);font-size:1.2rem;font-weight:500}.score-detail{background-color:var(--primary-light);border-radius:var(--radius-lg);align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.score-detail span{color:var(--primary);font-size:1.1rem;font-weight:600}.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;color:var(--gray-500);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background-color:#fff;padding:4rem 2rem}.empty-brackets-icon{opacity:.6;margin-bottom:1rem}.empty-brackets h4{color:var(--gray-600);margin-bottom:.75rem;font-size:1.2rem}.empty-brackets p{color:var(--gray-500);font-size:.95rem}@media (width<=1200px){.bracket-tree{text-align:center;grid-template-columns:1fr;gap:3rem}.bracket-side,.bracket-side.left,.bracket-side.right,.bracket-round,.round-matches{align-items:center}}@media (width<=768px){.full-brackets{padding:.5rem}.bracket-tree{gap:1rem;padding:1rem}.bracket-match{width:180px}.bracket-team-slot{min-height:45px;padding:.5rem .75rem}}.manual-bracket-setup{flex-direction:column;gap:1rem;height:100%;display:flex}.setup-header{background-color:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:1rem;display:flex}.setup-info h3{color:var(--gray-800);margin:0;font-size:1.1rem}.setup-info p{color:var(--gray-600);margin:.25rem 0 0;font-size:.9rem}.setup-actions{gap:.75rem;display:flex}.setup-content{flex:1;grid-template-columns:1fr 1fr;gap:1.5rem;min-height:0;display:grid}.teams-panel,.brackets-panel{border-radius:var(--radius-lg);border:1px solid var(--gray-200);background-color:#fff;flex-direction:column;display:flex;overflow:hidden}.panel-header{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);align-items:center;gap:.5rem;padding:1rem;display:flex}.panel-header h4{color:var(--gray-800);margin:0;font-size:1rem}.teams-table-container{flex:1;overflow:auto}.teams-table th,.teams-table td{text-align:left;border-bottom:1px solid var(--gray-200);padding:.75rem}.teams-table th{background-color:var(--gray-50);color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.team-table-row{cursor:grab;transition:background-color .2s}.team-table-row:hover{background-color:var(--primary-light)}.team-table-row:active{cursor:grabbing}.position-cell{text-align:center;width:50px;color:var(--primary);font-weight:600}.group-pill{background-color:var(--primary-light);color:var(--primary-dark);border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:.8rem;font-weight:500;display:inline-block}.points-cell{text-align:center;width:60px;color:var(--primary);font-weight:600}.empty-matches{text-align:center;color:var(--gray-500);padding:1rem;font-style:italic}.validation-message{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;padding:1rem}.manual-config-options{background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);margin:1rem 0;padding:1rem}.manual-config-options .form-group{margin-bottom:.75rem}.manual-config-options label{cursor:pointer;color:var(--gray-700);justify-content:flex-start;align-items:center;gap:.5rem;font-weight:500;display:flex}.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 (width<=1024px){.setup-content{grid-template-columns:1fr;gap:1rem}.setup-header{flex-direction:column;align-items:stretch;gap:1rem}.setup-actions{justify-content:center}}@media (width<=768px){.teams-table{font-size:.85rem}.teams-table th,.teams-table td{padding:.5rem}.bracket-match{padding:.75rem}.bracket-team-slot{min-height:50px;padding:.5rem}.team-name{font-size:.8rem}.champion-section{padding:1rem}.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:1rem}.match-teams-detail{flex-direction:column;gap:1rem}.team-detail{text-align:center;justify-content:center}.vs-detail{font-size:1rem}}.groups-subtabs{border-bottom:1px solid var(--gray-200);gap:.5rem;margin-bottom:1rem;display:flex;overflow-x:auto}.groups-subtabs button{color:var(--gray-600);transition:var(--transition);white-space:nowrap;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:0 0;border:none;align-items:center;gap:.5rem;min-width:fit-content;padding:.75rem 1rem;font-weight:500;display:flex;position:relative}.groups-subtabs button:hover{color:var(--primary);background-color:var(--gray-50)}.groups-subtabs button.active{color:var(--primary);border:1px solid var(--gray-200);background-color:#fff;border-bottom:1px solid #fff;margin-bottom:-1px}.groups-subtabs button.active:after{content:"";background-color:var(--primary);width:100%;height:2px;position:absolute;bottom:-1px;left:0}.fixture-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.fixture-header h4{color:var(--gray-800);margin:0;font-size:1.2rem;font-weight:600}.fixture-cards-header{flex-direction:column;gap:1.5rem;margin-bottom:1rem;display:flex}.fixture-cards-header h5{color:var(--gray-800);margin:0;font-size:1.1rem;font-weight:600}.fixture-filters-wrapper{flex-flow:wrap;align-items:center;gap:1rem;width:100%;display:flex}.modern-search-container{flex-shrink:0;width:100%;max-width:350px;position:relative}.search-icon-wrapper{color:var(--gray-400);pointer-events:none;z-index:1;align-items:center;display:flex;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.modern-search-input{border:2px solid var(--gray-200);border-radius:var(--radius-lg);width:100%;color:var(--gray-800);background-color:#fff;font-size:.95rem;transition:all .2s;box-shadow:0 1px 3px #0000000d;padding:.875rem 3rem .875rem 2.2rem!important}.modern-search-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #6366f11a,0 1px 3px #0000000d}.modern-search-input::placeholder{color:var(--gray-400)}.search-clear-btn{color:var(--gray-400);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.search-clear-btn:hover{background-color:var(--gray-100);color:var(--gray-600)}.fixture-filters-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.modern-filter-container{border:2px solid var(--gray-200);border-radius:var(--radius-lg);background-color:#fff;align-items:center;gap:.625rem;padding:.625rem 1rem;transition:all .2s;display:flex;position:relative;box-shadow:0 1px 3px #0000000d}.modern-filter-container:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #6366f11a,0 1px 3px #0000000d}.filter-icon{color:var(--gray-500);flex-shrink:0}.modern-filter-select{color:var(--gray-700);cursor:pointer;background:0 0;border:none;outline:none;min-width:150px;padding:0;font-size:.9rem;font-weight:500}.modern-filter-select:focus{outline:none}.modern-filter-select option{padding:.5rem}.date-filter-container{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);background-color:#fff;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.date-filter-label{color:var(--gray-700);white-space:nowrap;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.date-filter-select{border:1px solid var(--gray-300);border-radius:var(--radius-md);color:var(--gray-800);min-width:150px;transition:var(--transition);background-color:#fff;padding:.5rem .75rem;font-size:.9rem}.date-filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.date-filter-select:hover{border-color:var(--gray-400)}.fixture-view-controls{background-color:var(--gray-100);border-radius:var(--radius-lg);gap:.5rem;padding:.25rem;display:flex}.fixture-controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.btn-download-flyer{color:#fff;border-radius:var(--radius-lg);cursor:pointer;background:linear-gradient(135deg,#059669 0%,#047857 100%);border:none;align-items:center;gap:.5rem;min-height:44px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex;box-shadow:0 2px 8px #0596694d}.btn-download-flyer:hover{background:linear-gradient(135deg,#10b981 0%,#059669 100%);transform:translateY(-2px);box-shadow:0 4px 12px #05966966}.btn-download-flyer:active{transform:translateY(0);box-shadow:0 2px 6px #0596694d}.btn-download-flyer svg{flex-shrink:0;width:18px;height:18px}.btn-download-flyer:disabled{background:var(--gray-400);cursor:not-allowed;box-shadow:none;transform:none}.btn-download-flyer:disabled:hover{box-shadow:none;transform:none}.btn-view-mode{color:var(--gray-600);transition:var(--transition);border-radius:var(--radius-md);background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;display:flex}.btn-view-mode:hover{color:var(--primary)}.btn-view-mode.active{color:var(--primary);box-shadow:var(--shadow-sm);background-color:#fff}.fixture-table-view h5{color:var(--gray-800);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.fixture-table{border-collapse:collapse;width:100%;font-size:.9rem}.fixture-table thead th{background-color:var(--gray-50);color:var(--gray-700);text-align:left;border-bottom:2px solid var(--gray-200);text-transform:uppercase;letter-spacing:.5px;padding:1rem .75rem;font-size:.85rem;font-weight:600}.fixture-table tbody td{border-bottom:1px solid var(--gray-200);vertical-align:top;padding:1rem .75rem}.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{color:var(--gray-800);margin-bottom:.25rem;font-weight:500;display:block}.team-players-small small{background-color:var(--primary-light);color:var(--primary);border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:.7rem;font-weight:500}@media (width<=768px){.fixture-header,.fixture-cards-header{flex-direction:column;align-items:stretch}.date-filter-container{flex-wrap:wrap;justify-content:space-between}.date-filter-label{font-size:.85rem}.date-filter-select{min-width:120px;font-size:.85rem}.fixture-view-controls{justify-content:center;width:100%}.btn-view-mode{flex:1;justify-content:center}.groups-subtabs{flex-wrap:wrap;gap:.25rem}.groups-subtabs button{flex:1;justify-content:center;min-width:120px}.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 (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{letter-spacing:.25px;padding:.2rem .4rem;font-size:.6rem}.points-cell{font-size:1rem}}@media (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{flex-direction:column;gap:1rem;max-height:80vh;display:flex;overflow-y:auto}.form-group label{color:#374151;align-items:center;gap:.375rem;margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:flex}.label-icon{color:var(--primary)}.form-input.enhanced,.form-select.enhanced{background:#fff;border:2px solid #e2e8f0;border-radius:6px;padding:.625rem .75rem;font-size:.875rem;transition:all .2s}.form-input.enhanced:focus,.form-select.enhanced:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-input.enhanced::placeholder{color:#9ca3af}.payment-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:.75rem;padding:.75rem}.summary-row{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.375rem 0;font-size:.8rem;display:flex}.summary-row:last-child{border-bottom:none}.summary-row.total{border-top:2px solid #e2e8f0;margin-top:.375rem;padding-top:.5rem;font-size:.875rem;font-weight:600}.total-amount{color:var(--primary);font-size:1rem;font-weight:700}.modal-footer.enhanced{border-top:2px solid #e2e8f0;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}.btn-cancel.enhanced{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:.375rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.btn-cancel.enhanced:hover:not(:disabled){color:#475569;background:#f1f5f9;border-color:#cbd5e1}.btn-confirm.enhanced{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.btn-confirm.enhanced:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-confirm.enhanced:disabled{color:#9ca3af;cursor:not-allowed;box-shadow:none;background:#e2e8f0;transform:none}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-spinner-small{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}@media (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{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.time-preference-group{background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);padding:.5rem}.preference-date{color:var(--gray-700);align-items:center;gap:.25rem;margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:flex}.preference-slots{flex-wrap:wrap;gap:.25rem;display:flex}.time-slot-badge{background-color:var(--primary-light);color:var(--primary-dark);border-radius:var(--radius-sm);border:1px solid var(--primary);padding:.125rem .375rem;font-size:.7rem;font-weight:500}.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 (width<=768px){.time-preferences-container{gap:.375rem}.time-preference-group{padding:.375rem}.preference-date{font-size:.7rem}.time-slot-badge{padding:.1rem .25rem;font-size:.65rem}}.tournament-modal-content{width:65vw;max-width:65vw}.tournament-modal-content .sidebar-modal-body{flex:1!important;max-height:calc(100vh - 80px)!important;padding:1rem!important;overflow:hidden auto!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 (width<=1024px){.tournament-modal-content{width:90vw!important;min-width:90vw!important;max-width:90vw!important}.tournament-modal-content .sidebar-modal-body{max-height:calc(100vh - 70px)!important;padding:.75rem!important}}@media (width<=768px){.tournament-modal-content{width:100vw!important;min-width:100vw!important;max-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:210!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;background:#0009!important}.tournament-submodal-content{z-index:211!important;max-width:90vw!important;max-height:90vh!important;overflow-y:auto!important;box-shadow:0 25px 50px -12px #00000040!important}@media (width<=768px){.tournament-submodal-content{max-width:95vw!important;max-height:95vh!important;margin:1rem!important}}.tournament-modal-content .sidebar-content{flex-direction:column;flex:1;gap:1rem;min-height:0;padding-right:0;display:flex;overflow-y:auto}.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:1px solid #e2e8f0;border-radius:12px;padding:1rem}.tournament-modal-content .sidebar-section h4{color:#1e293b;border-bottom:2px solid #3b82f6;align-items:center;gap:.5rem;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:600;display:flex}.tournament-modal-content .sidebar-section .section-icon{color:#3b82f6;font-size:1.25rem}.tournament-modal-content .form-footer{background:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0;gap:1rem;margin-top:auto;padding:1rem;display:flex}@media (width<=768px){.tournament-modal-content .sidebar-section{padding:1rem}}.create-tournament-grid{flex-wrap:wrap;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1rem;display:flex}@media (width<=768px){.create-tournament-grid{flex-wrap:wrap;display:flex}}.tournament-skeleton-loader{padding:1rem;animation:.3s ease-in fadeIn}.skeleton-filters{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.skeleton-filter-tabs{flex-wrap:wrap;gap:.75rem;display:flex}.skeleton-filter-tab{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:8px;width:120px;height:36px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-view-toggle{gap:.5rem;display:flex}.skeleton-toggle-btn{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:8px;width:36px;height:36px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.skeleton-tournament-card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000001a}.skeleton-badge{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:12px;width:100px;height:24px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-card-title{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:6px;width:80%;height:28px;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-info-row{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:4px;width:100%;height:20px;animation:2.5s ease-in-out infinite skeleton-loading}.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-list-table-wrap{border-radius:var(--radius-xl)}.skeleton-table-wrapper .table-wrapper{overflow-x:auto}.skeleton-table-wrapper .tournaments-table{border-collapse:collapse;width:100%}.skeleton-table-wrapper .tournaments-table th{text-align:left;border-bottom:2px solid var(--gray-200,#e5e7eb);background:var(--gray-50,#f9fafb);color:var(--gray-700,#374151);white-space:nowrap;padding:1rem;font-size:.875rem;font-weight:600}.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{opacity:.5;margin-left:.5rem;transition:opacity .2s}.skeleton-table-wrapper .tournaments-table td.skeleton-table-cell{border-bottom:1px solid var(--gray-100,#f3f4f6);vertical-align:top;padding:1rem}.skeleton-table-content{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:4px;width:100%;height:1rem;animation:2.5s ease-in-out infinite skeleton-loading}.skeleton-table-content.wide{width:80%}.skeleton-table-content.narrow{width:60%}.skeleton-table-content.short{width:40%}@media (width<=768px){.skeleton-card-grid{grid-template-columns:1fr}.skeleton-filters{flex-direction:column;align-items:flex-start}.skeleton-filter-tabs{flex-wrap:nowrap;width:100%;padding-bottom:.5rem;overflow-x:auto}.skeleton-view-toggle{justify-content:flex-end;width:100%}.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 (width<=480px){.skeleton-tournament-card{padding:1rem}.skeleton-card-footer{flex-wrap:wrap}.skeleton-action-btn{flex:1;min-width:32px}}.clone-banner{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:8px;margin:0 0 1.5rem;padding:1rem;box-shadow:0 2px 8px #0000001a}.clone-banner-header{margin-bottom:.5rem;display:flex}.clone-banner-icon{background-color:#fff3;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:flex}.clone-banner-text{opacity:.9;margin:0;font-size:.875rem;line-height:1.4}.mode-category-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.mode-category-title{color:#374151;align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:600;display:flex}.mode-category-actions{gap:.5rem;display:flex}.mode-category-info{background-color:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;margin-bottom:1rem;padding:1rem}.mode-category-info-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.mode-category-info-title{color:#0c4a6e}.mode-category-info-text{color:#0c4a6e;margin:0;font-size:.875rem;line-height:1.4}.mode-category-count{background-color:#fff;border:1px solid #0ea5e9;border-radius:4px;margin-top:.5rem;padding:.5rem}.mode-category-count-text{color:#0c4a6e}.mode-category-duplicate-warning{background-color:#fef2f2;border:1px solid #ef4444;border-radius:4px;margin-top:.5rem;padding:.5rem}.mode-category-duplicate-text{color:#dc2626}.mode-category-combinations-container{flex-direction:column;gap:1rem;display:flex}.mode-category-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;position:relative}.mode-category-remove-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:700;transition:all .2s;display:flex;position:absolute;top:.75rem;right:.75rem}.mode-category-remove-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444}.mode-category-content{margin-bottom:1rem}.mode-category-label{color:#374151;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:1rem;padding:.5rem 1rem;font-size:1rem;font-weight:600}.mode-category-fields{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.mode-category-field-label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.mode-category-select{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem;font-size:.875rem;transition:border-color .2s}.mode-category-empty{text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:1rem}.mode-category-empty-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.mode-category-empty-title{color:#dc2626;margin:0 0 .5rem;font-size:1rem;font-weight:500}.mode-category-empty-text{color:#6b7280;margin:0;font-size:.875rem}.date-field-label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.date-field-input{border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem;font-size:.875rem;transition:border-color .2s}.entry-fee-container{align-items:center;display:flex;position:relative}.entry-fee-symbol{color:#6b7280;z-index:1;font-size:.875rem;font-weight:500;position:absolute;left:.75rem}.entry-fee-input{border:1px solid #d1d5db;border-radius:8px;padding-left:2rem;font-size:.875rem;transition:border-color .2s;width:fit-content!important;padding:.75rem 1.4rem!important}.prize-card-container{flex-direction:column;gap:1rem;display:flex}.prize-card-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;position:relative}.prize-remove-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:700;transition:all .2s;display:flex;position:absolute;top:.75rem;right:.75rem}.prize-remove-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444}.prize-fields-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.prize-field-label{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.prize-field-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem;font-size:.875rem;transition:border-color .2s}.prize-cost-container{align-items:center;display:flex;position:relative}.prize-cost-symbol{color:#6b7280;z-index:1;font-size:.875rem;font-weight:500;position:absolute;left:.75rem}.prize-cost-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding-left:2rem;font-size:.875rem;transition:border-color .2s;padding:.75rem 1.5rem!important}.prize-description-field{margin-bottom:1rem}.prize-image-field{margin-bottom:0}.prize-image-preview{margin-bottom:.5rem}.prize-image-preview img{object-fit:cover;border-radius:8px}.prize-file-input{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.75rem;font-size:.875rem}.form-footer-scrollable{flex-wrap:wrap;gap:1rem;display:flex}.form-submit-btn{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;width:fit-content;min-width:160px;height:42px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:background-color .2s;display:flex}.form-submit-btn:disabled{cursor:not-allowed;background-color:#6b7280}.form-submit-btn:not(:disabled):hover{background-color:var(--primary-dark)}.form-confirm-btn{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;width:fit-content;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:background-color .2s;display:flex}.form-submit-spinner{will-change:transform;flex-shrink:0;animation:1s linear infinite spinLoader}@keyframes spinLoader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.match-result-modal-backdrop{z-index:210;background-color:#0000004d;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.match-result-modal-content{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;margin:auto;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px #00000026}.match-result-modal-header{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.match-result-modal-title{color:#fff;margin:0;font-size:1.25rem;font-weight:600}.match-result-modal-close{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.match-result-modal-close:hover{background:#ffffff4d;transform:scale(1.05)}.match-result-modal-body{flex:1;padding:.5rem;overflow-y:auto}.match-result-modal-body .MuiOutlinedInput-root{width:100%!important;max-width:480px!important}.match-result-teams{background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.match-result-team{text-align:center;flex:1}.match-result-team h4{color:var(--gray-800);margin:0 0 .5rem;font-size:1rem;font-weight:600}.match-result-team .team-players{flex-direction:column;gap:.25rem;display:flex}.match-result-team .player-name{color:var(--gray-600);font-size:.875rem}.match-result-vs{color:var(--primary);padding:0 .5rem;font-size:1rem;font-weight:600}.match-result-sets{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.match-result-set-row{background:#fff;border:2px solid #e5e7eb;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.match-result-set-row:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000d}.match-result-set-row .set-header{color:var(--gray-700);min-width:60px;font-size:.875rem;font-weight:600}.match-result-set-row .set-scores{flex:1;align-items:center;gap:.75rem;display:flex}.match-result-set-row .team-score-input{flex-direction:column;flex:1;gap:.25rem;display:flex}.match-result-set-row .team-score-input label{color:var(--gray-600);font-size:.75rem;font-weight:500}.match-result-set-row .score-input{text-align:center;border:2px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem;font-size:1.25rem;font-weight:600;transition:all .2s}.match-result-set-row .score-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}.match-result-set-row .score-input.error{border-color:#ef4444}.match-result-set-row .score-separator{color:var(--gray-400);font-size:1.25rem;font-weight:600}.match-result-previous{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:1.5rem;padding:1rem}.match-result-previous h4{color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.match-result-previous .sets-display{flex-wrap:wrap;gap:.75rem;display:flex}.match-result-previous .set-display{background:#fff;border:1px solid #d1d5db;border-radius:6px;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;display:flex}.match-result-previous .set-display .set-header{color:var(--gray-600);font-size:.75rem;font-weight:500}.match-result-previous .set-display .set-score{color:var(--gray-800);align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;display:flex}.match-result-previous .set-display .score-separator{color:var(--gray-400)}.match-result-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.match-result-modal-footer .btn-save{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.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{cursor:not-allowed;opacity:.6;background:#9ca3af}@media (width<=640px){.match-result-modal-content{border-radius:0;max-width:100%;max-height:100vh}}.match-result-modal-backdrop .shared-modal-backdrop{z-index:220!important}.match-result-teams{flex-direction:row;gap:.5rem}.match-result-set-row{flex-direction:column;align-items:stretch}.match-result-set-row .set-header{text-align:center}.fixture-calendar{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.calendar-header{background:var(--gray-50);border-bottom:1px solid var(--gray-200);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.calendar-nav{align-items:center;gap:.5rem;display:flex}.btn-nav{border:1px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;transition:var(--transition);color:var(--gray-600);background:#fff;justify-content:center;align-items:center;display:flex}.btn-nav:hover{background:var(--gray-100);border-color:var(--gray-400)}.btn-today{border:1px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);color:var(--gray-700);background:#fff;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.btn-today:hover{background:var(--primary);border-color:var(--primary);color:#fff}.calendar-title{color:var(--gray-800);text-transform:capitalize;margin:0;font-size:1.1rem;font-weight:600}.calendar-view-toggle{background:var(--gray-100);border-radius:var(--radius-md);gap:.25rem;padding:.25rem;display:flex}.btn-view{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);color:var(--gray-600);background:0 0;border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.btn-view:hover{color:var(--primary)}.btn-view.active{color:var(--primary);box-shadow:var(--shadow-sm);background:#fff}.calendar-container{overflow-x:auto}.calendar-week-view{min-width:800px}.calendar-days-header{border-bottom:1px solid var(--gray-200);background:var(--gray-50);z-index:10;grid-template-columns:60px repeat(7,1fr);display:grid;position:sticky;top:0}.calendar-time-gutter{border-right:1px solid var(--gray-200)}.calendar-day-header{border-right:1px solid var(--gray-200);flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.75rem .5rem;display:flex}.calendar-day-header:last-child{border-right:none}.calendar-day-header .day-name{color:var(--gray-500);text-transform:uppercase;font-size:.75rem;font-weight:500}.calendar-day-header .day-number{color:var(--gray-700);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;font-weight:600;display:flex}.calendar-day-header.is-today .day-number{background:var(--primary);color:#fff}.calendar-grid{grid-template-columns:60px repeat(7,1fr);max-height:600px;display:grid;overflow-y:auto}.calendar-grid.single-day{grid-template-columns:60px 1fr}.calendar-time-column{border-right:1px solid var(--gray-200)}.calendar-time-slot{border-bottom:1px solid var(--gray-100);justify-content:flex-end;align-items:flex-start;height:60px;padding:0 .5rem;display:flex}.calendar-time-slot .time-label{color:var(--gray-500);font-size:.75rem;transform:translateY(-50%)}.calendar-day-column{border-right:1px solid var(--gray-200);grid-auto-rows:60px;display:grid}.calendar-day-column:last-child{border-right:none}.calendar-day-column.is-today{background:#6366f108}.calendar-day-column.full-width{min-width:300px}.calendar-cell{border-bottom:1px solid var(--gray-100);flex-direction:column;gap:2px;padding:2px;display:flex;position:relative}.calendar-grid-cell{z-index:0;background-color:#fff;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;flex-direction:column;align-items:stretch;gap:2px;min-height:60px;padding:2px;display:flex;position:relative}.fixture-calendar-slot-more{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px dashed #93c5fd;border-radius:6px;flex-shrink:0;width:100%;min-height:22px;padding:2px 4px;font-family:inherit;font-size:.72rem;font-weight:700}.fixture-calendar-slot-more:hover{background:#dbeafe}.calendar-grid-cell.is-drop-target{border:2px dashed var(--primary-color);background-color:#6366f11a}.calendar-match-card{background:linear-gradient(135deg, var(--primary-light) 0%, #6366f126 100%);border:none;border-left:3px solid var(--primary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);text-align:left;box-sizing:border-box;flex-direction:column;justify-content:flex-start;gap:2px;width:calc(100% - 4px);padding:4px 6px;font-family:inherit;font-size:.7rem;display:flex;position:relative;overflow:hidden}.calendar-match-card:hover{box-shadow:var(--shadow-md);z-index:5;transform:scale(1.02)}.calendar-match-card.is-draggable{cursor:grab}.calendar-match-card.is-draggable:active{cursor:grabbing}.calendar-match-card.is-dragging{opacity:.5;cursor:grabbing;transform:scale(.95)}.calendar-cell.is-drop-target{border:2px dashed var(--primary);border-radius:var(--radius-sm);background:#6366f11a}.calendar-match-card.status-pending{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-left-color:#f59e0b}.calendar-match-card.status-in-progress{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border-left-color:#3b82f6}.calendar-match-card.status-completed{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-left-color:#10b981}.calendar-match-time{color:var(--gray-600);align-items:center;gap:3px;margin-bottom:2px;font-weight:600;display:flex}.calendar-match-teams{color:var(--gray-800);flex-wrap:wrap;align-items:center;gap:3px;font-weight:500;line-height:1.2;display:flex}.calendar-match-teams .team-name{white-space:nowrap;text-overflow:ellipsis;max-width:60px;overflow:hidden}.calendar-match-teams .vs{color:var(--gray-400);font-size:.65rem}.calendar-match-court{color:var(--gray-500);align-items:center;gap:3px;margin-top:2px;font-size:.65rem;display:flex}.calendar-legend{background:var(--gray-50);border-top:1px solid var(--gray-200);flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;padding:1rem;display:flex}.legend-item{color:var(--gray-600);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.legend-dot{border-radius:50%;width:12px;height:12px}.legend-dot.status-pending{background:#f59e0b}.legend-dot.status-in-progress{background:#3b82f6}.legend-dot.status-completed{background:#10b981}.calendar-day-view{min-width:400px}@media (width<=768px){.calendar-header{flex-direction:column;align-items:stretch;gap:.75rem}.calendar-nav{justify-content:center}.calendar-title{text-align:center}.calendar-view-toggle{justify-content:center}.calendar-grid{max-height:500px}.calendar-match-teams .team-name{max-width:40px}}@keyframes trn-sk-pulse{0%,to{opacity:1}50%{opacity:.45}}.trn-skeleton-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.trn-skeleton-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:1rem;padding:1.25rem;display:flex}.trn-sk-icon{background:#e5e7eb;border-radius:10px;flex-shrink:0;width:48px;height:48px;animation:1.4s ease-in-out infinite trn-sk-pulse}.trn-sk-stat-info{flex-direction:column;flex:1;gap:.5rem;display:flex}.trn-sk-line{background:#e5e7eb;border-radius:6px;animation:1.4s ease-in-out infinite trn-sk-pulse}.trn-sk-value{width:50px;height:22px}.trn-sk-label{width:90px;height:12px}.trn-sk-title{width:200px;height:20px}.trn-sk-cell-wide{width:70%;height:13px}.trn-sk-cell-narrow{width:90px;height:13px}.trn-skeleton-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.trn-skeleton-view-btns{gap:.5rem;display:flex}.trn-sk-btn{background:#e5e7eb;border-radius:8px;width:36px;height:36px;animation:1.4s ease-in-out infinite trn-sk-pulse}.trn-skeleton-table{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.trn-skeleton-table-head{background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:1rem;padding:.85rem 1.25rem;display:flex}.trn-sk-th{background:#e5e7eb;border-radius:4px;flex:1;height:12px;animation:1.4s ease-in-out infinite trn-sk-pulse}.trn-skeleton-row{border-bottom:1px solid #f3f4f6;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.trn-skeleton-row:last-child{border-bottom:none}.trn-sk-badge{background:#e5e7eb;border-radius:999px;flex-shrink:0;width:100px;height:22px;animation:1.4s ease-in-out infinite trn-sk-pulse}.trn-sk-actions{flex-shrink:0;gap:.5rem;margin-left:auto;display:flex}.trn-sk-action-btn{background:#e5e7eb;border-radius:8px;width:32px;height:32px;animation:1.4s ease-in-out infinite trn-sk-pulse}.tournament-scoreboard-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:opacity .3s,transform .3s,box-shadow .3s;display:flex;box-shadow:0 4px 15px #667eea4d}.tournament-scoreboard-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.schedule-groups-warning-note{color:var(--gray-600);text-align:center;background:#3b82f61a;border:1px solid #3b82f633;border-radius:6px;margin-top:1rem;padding:.75rem;font-size:.75rem;font-style:italic}.btn-generate-matches-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:1s linear infinite spin;display:inline-block}.payments-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.payments-list-title{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:600}.payment-item-row{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;display:flex}.payment-item-details{flex-direction:column;gap:4px;display:flex}.btn-add-payment-full{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:16px;padding:12px 20px;font-size:14px;font-weight:600;transition:opacity .3s,transform .3s,background-color .3s;display:flex}.btn-add-payment-full:disabled{cursor:not-allowed;opacity:.6}.btn-remove-payment-icon{color:#dc3545;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.validation-modal-header{padding-right:4rem;position:relative}.validation-modal-title{margin:0;font-size:1.25rem;font-weight:600}.validation-modal-close-btn{cursor:pointer;color:#9ca3af;z-index:10;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:.5rem;transition:opacity .2s,transform .2s,background-color .2s;display:flex;position:absolute;top:1.25rem;right:1.5rem}.validation-modal-close-btn:hover{color:#b91c1c;background:#fee2e2}.tournament-btn-new-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:opacity .3s,transform .3s,box-shadow .3s;display:flex;box-shadow:0 4px 15px #4f46e54d}.tournament-btn-new-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4f46e566}.advance-elimination-content{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);flex-direction:column;gap:1rem;width:100%;max-width:none;min-height:500px;padding:1rem;display:flex}.advance-info-section{margin-bottom:1rem}.advance-info-card{background:#fff;border:none;border-radius:16px;padding:1rem;position:relative;overflow:hidden;box-shadow:0 10px 25px #0000001a}.advance-info-card:before{content:"";background:linear-gradient(90deg,#10b981,#059669);height:4px;position:absolute;top:0;left:0;right:0}.info-header{color:var(--primary);align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.advance-config .form-group{margin-bottom:1rem}.advance-config label{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;display:flex}.advance-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin:2rem 0;padding:0;display:grid}.summary-item{text-align:center;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:12px;flex-direction:column;padding:1.5rem 1rem;transition:transform .2s,box-shadow .2s;display:flex}.summary-item:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.summary-item .label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.summary-item .value{color:#0ea5e9;text-shadow:0 1px 2px #0000001a;font-size:1.5rem;font-weight:800}.warning-message,.info-message{border-radius:8px;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:1rem;display:flex}.warning-message{color:#856404;background:#fef3cd;border:1px solid #faebcd}.info-message{color:#0c5460;background:#d1ecf1;border:1px solid #bee5eb}.advance-options{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.option-card{text-align:center;cursor:pointer;background:#fff;border:none;border-radius:16px;padding:2.5rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 15px #00000014}.option-card:before{content:"";background:linear-gradient(90deg,#10b981,#059669);height:4px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.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 0%,#d1fae5 100%)}.option-card.manual{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%)}.option-header{justify-content:center;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.option-card.automatic .option-header{color:#059669}.option-card.manual .option-header{color:#2563eb}.option-header h3{margin:0;font-size:1.25rem;font-weight:700}.option-card p{color:#64748b;margin-bottom:1rem;font-size:.95rem;line-height:1.6}.option-card .btn-primary,.option-card .btn-secondary{cursor:pointer;border:none;border-radius:10px;padding:.75rem 2rem;font-size:.95rem;font-weight:600;transition:all .2s}.option-card.automatic .btn-primary{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);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{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 4px 12px #3b82f64d}.option-card.manual .btn-secondary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}.manual-bracket-setup{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);flex-direction:column;height:100%;display:flex;overflow:hidden}.setup-header{background:#fff;border-bottom:none;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;position:relative;box-shadow:0 2px 10px #0000001a}.setup-header:after{content:"";background:linear-gradient(90deg,#10b981,#059669,#3b82f6);height:3px;position:absolute;bottom:0;left:0;right:0}.btn-back{color:#475569;cursor:pointer;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:flex}.btn-back:hover{background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 100%);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.setup-info h3{color:#1e293b;margin:0;font-size:1.5rem;font-weight:700}.setup-info p{color:#64748b;margin:.5rem 0 0;font-size:.95rem;font-weight:500}.setup-actions{align-items:center;gap:1rem;display:flex}.setup-actions .btn-secondary,.setup-actions .btn-primary{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.setup-actions .btn-secondary{color:#fff;background:linear-gradient(135deg,#d97706 0%,#b45309 100%);box-shadow:0 4px 12px #d977064d}.setup-actions .btn-secondary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #d9770666}.setup-actions .btn-primary{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);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{box-shadow:none;cursor:not-allowed;background:#9ca3af;transform:none}.setup-content{flex:1;grid-template-columns:400px 1fr;display:grid;overflow:hidden}.teams-panel{z-index:1;background:#fff;border-right:none;flex-direction:column;display:flex;position:relative;box-shadow:2px 0 10px #0000001a}.panel-header{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:.75rem;padding:1.5rem 2rem;display:flex;position:relative}.panel-header:after{content:"";background:linear-gradient(90deg,#10b981,#3b82f6);height:2px;position:absolute;bottom:0;left:0;right:0}.panel-header h4{color:#1e293b;margin:0;font-size:1.1rem;font-weight:700}.teams-table-container{flex:1;overflow-y:auto}.teams-table{border-collapse:collapse;width:100%}.teams-table th{background:var(--background-light);text-align:left;color:var(--text-primary);border-bottom:1px solid var(--border-color);z-index:1;padding:.75rem .5rem;font-size:.875rem;font-weight:600;position:sticky;top:0}.team-table-row{cursor:grab;transition:all .2s;position:relative}.team-table-row:hover{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);transform:translate(4px)}.team-table-row:active{cursor:grabbing;background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);transform:scale(1.02)}.teams-table td{border-bottom:1px solid var(--border-light);padding:.75rem .5rem;font-size:.875rem}.position-cell{text-align:center;color:var(--primary);width:40px;font-weight:600}.team-name-cell{min-width:180px}.team-info .team-name{color:var(--text-primary);margin-bottom:.25rem;font-weight:600;display:block}.team-players-small{flex-wrap:wrap;gap:.25rem;display:flex}.team-players-small small{color:var(--text-secondary);font-size:.75rem}.group-cell{width:80px}.group-pill{background:var(--primary);color:#fff;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.points-cell{text-align:center;color:var(--primary);width:50px;font-weight:700}.positive{color:#28a745}.negative{color:#dc3545}.empty-teams{text-align:center;color:var(--text-secondary);padding:1rem}.brackets-panel{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);flex-direction:column;display:flex;position:relative}.brackets-container{flex:1;padding:1rem;overflow:auto}.bracket-round{margin-bottom:3rem}.round-label{color:#fff;text-align:center;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:12px;margin-bottom:1rem;padding:1rem;font-size:1.25rem;font-weight:800;box-shadow:0 4px 15px #10b9814d}.round-matches{flex-flow:wrap;gap:1.5rem;display:flex}.bracket-match{background:#fff;border:none;border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000001a}.bracket-match:before{content:"";background:linear-gradient(90deg,#3b82f6,#10b981);height:3px;position:absolute;top:0;left:0;right:0}.bracket-match:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.bracket-team-slot{cursor:pointer;border:2px dashed #cbd5e1;border-radius:10px;flex-direction:column;justify-content:center;min-height:70px;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}button.bracket-team-slot{appearance:none;box-sizing:border-box;width:100%;font:inherit;color:inherit}.bracket-team-slot.empty{color:#64748b;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-style:dashed}.bracket-team-slot.empty:hover{background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 100%);border-color:#94a3b8}.bracket-team-slot.filled{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:2px solid #3b82f6;box-shadow:0 4px 12px #3b82f64d}.bracket-team-slot.filled:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.bracket-team-slot.drag-over{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-style:solid;border-color:#10b981;transform:scale(1.05);box-shadow:0 0 20px #10b9814d}.bracket-team-slot .team-name{margin-bottom:.25rem;font-size:.95rem;font-weight:700}.bracket-team-slot .team-group{opacity:.9;background:#fff3;border-radius:6px;width:fit-content;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.bracket-team-slot.empty .team-group{background:#64748b1a}.bracket-team-slot .placeholder{text-align:center;font-size:.9rem;font-style:italic;font-weight:500}.match-connector{background:linear-gradient(90deg,#e2e8f0,#cbd5e1,#e2e8f0);border-radius:2px;height:3px;margin:.5rem 0}.validation-message{color:#92400e;text-align:center;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #f59e0b;border-radius:12px;margin-top:1.5rem;padding:1rem;font-weight:600;box-shadow:0 4px 12px #f59e0b33}.empty-brackets,.empty-matches{text-align:center;color:#64748b;padding:3rem 2rem;font-style:italic}.empty-brackets{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:2px dashed #cbd5e1;border-radius:16px;font-size:1.1rem;font-weight:500}.empty-matches{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px dashed #cbd5e1;border-radius:10px;padding:1rem;font-size:.95rem;font-weight:500}@media (width<=1200px){.setup-content{grid-template-columns:350px 1fr}}@media (width<=768px){.setup-content{grid-template-columns:1fr}.teams-panel{max-height:40vh}.advance-options{grid-template-columns:1fr}.setup-header{flex-direction:column;align-items:stretch;gap:1rem}.setup-actions{justify-content:center}}.page-container{margin:0 auto;padding:0}.classes-header{background-color:#0000;align-items:center;margin-bottom:1rem;padding:1rem;display:flex}.classes-header .header-content{justify-content:space-between;align-items:center;width:100%;display:flex}.page-title{color:#1a1a1a;margin:0;padding-bottom:.5rem;font-size:1.75rem;font-weight:600;position:relative}.page-title:after{content:"";background-color:#4faf44;border-radius:.25rem;width:3rem;height:.25rem;position:absolute;bottom:0;left:0}.tabs-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.page-container.page-with-sticky-tabs{box-sizing:border-box;flex-direction:column;height:100%;min-height:0;display:flex}.page-with-sticky-tabs .tabs-container{flex-direction:column;flex:1;min-height:0;display:flex;overflow:visible}.page-with-sticky-tabs .tabs-header{z-index:10;background:#fff;border-bottom:1px solid #e9ecef;flex-shrink:0;position:sticky;top:0}.page-with-sticky-tabs .tabs-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.tabs-header{display:flex}.tab-button{color:#6c757d;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:1rem;font-size:15px;font-weight:500;transition:all .2s;position:relative;bottom:-2px}.tab-button.active{color:#00bfa6;border-bottom-color:#00bfa6}.tab-button-with-icon{align-items:center;gap:.5rem;display:inline-flex}.tab-button-icon{flex-shrink:0;align-items:center;display:inline-flex}.tournament-page-with-tabs .tabs-body{padding:0}.tournament-page-with-tabs .tournament-container{box-sizing:border-box;padding:0 1rem 1rem}.tab-button.disabled{color:#cbd5e0;cursor:not-allowed;opacity:.5}.tab-button.disabled:hover{color:#cbd5e0;background:0 0}.tabs-body{padding:1rem}.tab-content{animation:.3s fadeIn}.tab-content h2{color:#343a40;margin:0 0 16px;font-size:22px;font-weight:600}.tab-content p{color:#6c757d;font-size:15px;line-height:1.6}.tab-content:has(.sales-report-container){padding:0}@media (width<=768px){.page-container.page-with-sticky-tabs{min-height:calc(100dvh - 80px)}.tabs-header{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-button{white-space:nowrap;padding:12px 16px;font-size:14px}.tabs-body{padding:1rem}.tab-content h2{font-size:20px}}.classes-reports-teacher-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:0 1rem;display:flex}.classes-reports-teacher-tag{color:#fff;background:#3b82f6;border-radius:20px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:inline-flex}.classes-reports-teacher-tag-remove{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex}.classes-reports-clear-teachers-btn{align-self:flex-end}.teacher-dropdown-empty{color:#6b7280;padding:.75rem 1rem}.classes-report-teacher-option{cursor:pointer;border-bottom:1px solid #f3f4f6;grid-template-columns:18px 1fr;align-items:start;column-gap:.75rem;padding:.75rem 1rem;transition:background .2s;display:grid}.classes-report-teacher-checkbox{justify-self:center;width:16px;height:16px;margin:.15rem 0 0}.classes-report-teacher-name{line-height:1.35}.reports-tab .date-filter-container{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.reports-tab .date-filter-dropdown{flex:none;width:fit-content;max-width:100%;display:inline-block;position:relative;top:0;box-shadow:none!important;background:0 0!important;border:none!important}.reports-tab .date-filter-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.reports-tab .date-filter-button:hover{background:#f8fafc;border-color:#cbd5e1}.reports-tab .date-filter-button:disabled{opacity:.6;cursor:not-allowed}.reports-tab .date-filter-menu{z-index:20;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:220px;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.reports-tab .date-filter-option{text-align:left;color:#334155;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f1f5f9;width:100%;padding:10px 16px;font-size:14px;transition:all .2s;display:block}.reports-tab .date-filter-option:last-child{border-bottom:none}.reports-tab .date-filter-option:hover{background:#f8fafc}.reports-tab .date-filter-option.active{color:#2563eb;background:#eff6ff;font-weight:500}.reports-tab .date-range-inputs{border-top:1px solid #e2e8f0;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.reports-tab .date-range-inputs input{color:#334155;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-size:14px}.reports-tab .date-range-inputs input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.reports-tab .apply-range-button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:8px 12px;font-size:14px;font-weight:500;transition:all .2s}.reports-tab .apply-range-button:hover:not(:disabled){background:#2563eb}.reports-tab .apply-range-button:disabled{cursor:not-allowed;background:#cbd5e1}.classes-report-export-btn{align-self:center;margin-left:auto}.classes-report-teacher-filter{flex-direction:column;justify-content:flex-start;align-self:center;min-width:240px;display:flex}.classes-attendance-section{margin-top:1.5rem}.classes-attendance-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.classes-attendance-title{color:#1f2937;margin:0;font-size:1.15rem;font-weight:700}.classes-attendance-subtitle{color:#6b7280;margin:.25rem 0 0;font-size:.95rem}.classes-attendance-export-btn{flex-shrink:0}.classes-attendance-status{border-radius:999px;justify-content:center;align-items:center;min-width:88px;padding:.35rem .7rem;font-size:.85rem;font-weight:700;display:inline-flex}.classes-attendance-status.is-present{color:#15803d;background:#dcfce7}.classes-attendance-status.is-absent{color:#b91c1c;background:#fee2e2}.classes-report-loading{flex-direction:column;gap:1.5rem;margin-bottom:1rem;display:flex}.classes-report-table{min-width:900px}.classes-report-attendance-table{min-width:1020px}.reservation-teacher-student-item{background-color:#e0e0e0;border:1px solid #00f;margin:5px 0;padding:5px}@media (width<=768px){.reports-tab .date-filter-menu{min-width:250px;left:auto;right:0}.reports-tab .date-filter-container{align-items:stretch}.classes-attendance-header{flex-direction:column}.classes-report-export-btn{justify-content:center;align-self:stretch;width:100%;margin-left:0}.classes-report-teacher-filter{width:100%;min-width:0}}:root{--color-primary:#0f766e;--color-primary-dark:#0d5d57;--color-primary-light:#14b8a6;--color-secondary:#f59e0b;--color-background:#f8fafc;--color-surface:#fff;--color-text:#1e293b;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-success:#10b981;--color-error:#ef4444;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a}._tournament-container_8nohb_29{background-color:var(--color-background);min-height:100vh;color:var(--color-text);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;line-height:1.5;position:relative}._tournament-container_8nohb_29:before{content:"";pointer-events:none;z-index:0;background:#ffffffeb;position:fixed;inset:0}._tournament-content_8nohb_53{z-index:1;width:100%;max-width:640px;margin:0 auto;padding:1rem;position:relative}._header_8nohb_62{text-align:center;padding:0}._header-title_8nohb_67{color:var(--color-primary);font-size:1.5rem;font-weight:700}._stepper_8nohb_74,._progress-bar_8nohb_75{justify-content:space-between;align-items:center;padding:0 .5rem;display:flex}._stepper-step_8nohb_82,._progress-step_8nohb_83{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}._stepper-step_8nohb_82:not(:last-child):after,._progress-step_8nohb_83:not(:last-child):after{content:"";background-color:var(--color-border);z-index:0;width:calc(100% - 2.5rem);height:2px;position:absolute;top:1rem;left:calc(50% + 1.25rem)}._stepper-step_8nohb_82._completed_8nohb_103:not(:last-child):after,._progress-step_8nohb_83._completed_8nohb_103:not(:last-child):after{background-color:var(--color-primary)}._stepper-circle_8nohb_108,._step-circle_8nohb_109{background-color:var(--color-border);width:2.5rem;height:2.5rem;color:var(--color-text-muted);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;transition:all .3s;display:flex;position:relative}._stepper-step_8nohb_82._active_8nohb_125 ._stepper-circle_8nohb_108,._progress-step_8nohb_83._active_8nohb_125 ._step-circle_8nohb_109{background-color:var(--color-primary);color:#fff;box-shadow:0 0 0 4px #0f766e33}._stepper-step_8nohb_82._completed_8nohb_103 ._stepper-circle_8nohb_108,._progress-step_8nohb_83._completed_8nohb_103 ._step-circle_8nohb_109{background-color:var(--color-primary);color:#fff}._stepper-label_8nohb_138,._step-label_8nohb_139{color:var(--color-text-muted);text-align:center;white-space:nowrap;margin-top:.5rem;font-size:.625rem}._stepper-step_8nohb_82._active_8nohb_125 ._stepper-label_8nohb_138,._progress-step_8nohb_83._active_8nohb_125 ._step-label_8nohb_139{color:var(--color-primary);font-weight:600}._progress-line_8nohb_153{display:none}._card_8nohb_158{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1rem}._card-title_8nohb_165{color:var(--color-text);margin-bottom:1rem;font-size:1.125rem;font-weight:600}._tournament-header-section_8nohb_173{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}._tournament-header-badge_8nohb_182{color:var(--color-primary);background-color:#0f766e1a;border-radius:9999px;align-items:center;gap:.5rem;width:fit-content;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}._tournament-header-name_8nohb_195{color:var(--color-text);text-wrap:balance;font-size:1.25rem;font-weight:700}._tournament-header-description_8nohb_202{color:var(--color-text-muted);font-size:.875rem}._tournament-info_8nohb_207{grid-template-columns:1fr;gap:.75rem;display:grid}._tournament-info-item_8nohb_213{align-items:flex-start;gap:.75rem;display:flex}._tournament-info-icon_8nohb_219{border-radius:var(--radius-md);background-color:var(--color-background);flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}._tournament-info-icon_8nohb_219 svg{width:1rem;height:1rem;color:var(--color-primary)}._tournament-info-content_8nohb_236{flex:1}._tournament-info-label_8nohb_240{color:var(--color-text-muted);margin-bottom:.125rem;font-size:.75rem}._tournament-info-value_8nohb_246{color:var(--color-text);font-size:.875rem;font-weight:500}._prizes_8nohb_253{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}._prize_8nohb_253{background-color:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-border);align-items:center;gap:.5rem;padding:.5rem;display:flex}._prize-icon_8nohb_270{font-size:1rem}._prize-position_8nohb_274{color:var(--color-text-muted);font-size:.75rem}._prize-value_8nohb_279{color:var(--color-text);font-size:.875rem;font-weight:600}._form-group_8nohb_288 label{color:var(--color-text);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}._form-group_8nohb_288 label:after{content:""}._form-input_8nohb_300,._form-select_8nohb_301{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}._form-input_8nohb_300:focus,._form-select_8nohb_301:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #0f766e1a}._form-input_8nohb_300::placeholder{color:var(--color-text-muted)}._form-select_8nohb_301{appearance:none;cursor:pointer;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-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}._btn-group_8nohb_334{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}._btn_8nohb_334{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s;display:flex}._btn-primary_8nohb_355{background-color:var(--color-primary);color:#fff}._btn-primary_8nohb_355:hover{background-color:var(--color-primary-dark)}._btn-primary_8nohb_355:disabled{background-color:var(--color-text-muted);cursor:not-allowed}._btn-secondary_8nohb_369{color:var(--color-text-muted);border:1px solid var(--color-border);background-color:#0000}._btn-secondary_8nohb_369:hover{background-color:var(--color-background)}._wizard-back-btn_8nohb_379{color:var(--color-text);border-color:var(--color-border);box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:.5rem;padding-inline:1rem;display:inline-flex}._wizard-back-btn_8nohb_379:hover{background:var(--color-background);color:var(--color-text)}._wizard-back-btn_8nohb_379 svg{flex-shrink:0}._step-section_8nohb_400{display:none}._step-section_8nohb_400._active_8nohb_125{display:block}._step-content_8nohb_408{animation:.5s ease-out _fadeInUp_8nohb_1}@keyframes _fadeInUp_8nohb_1{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}._summary_8nohb_424{text-align:center;margin:2rem 0}._summary-icon_8nohb_429{background-color:#0f766e1a;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;margin:0 auto 1rem;display:flex}._summary-icon_8nohb_429 svg{width:2rem;height:2rem;color:var(--color-primary)}._summary-title_8nohb_446{color:var(--color-text);font-size:1.5rem;font-weight:700}._summary-subtitle_8nohb_452{color:var(--color-text-muted);font-size:.875rem}._summary-details_8nohb_457{text-align:left}._summary-item_8nohb_461{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:.75rem 0;display:flex}._summary-item_8nohb_461:last-child{border-bottom:none}._summary-item-label_8nohb_472{color:var(--color-text-muted);font-weight:500}._summary-item-value_8nohb_477{color:var(--color-text);text-align:right;font-weight:600}._next-steps-title_8nohb_485{color:var(--color-text);margin-bottom:1rem;font-size:1.125rem;font-weight:700}._next-steps-list_8nohb_492{flex-direction:column;gap:1rem;display:flex}._next-step_8nohb_485{align-items:flex-start;gap:.75rem;display:flex}._next-step-number_8nohb_504{background-color:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;min-width:1.5rem;height:1.5rem;margin-top:.125rem;font-size:.75rem;font-weight:700;display:flex}._next-step-content_8nohb_519{flex:1}._next-step-text_8nohb_523{color:var(--color-text);font-size:.875rem}._next-step-text_8nohb_523 strong{font-weight:600}._player-header_8nohb_533{border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}._player-header-avatar_8nohb_542{background-color:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;font-weight:600;display:flex}._player-header-info_8nohb_555{flex:1}._player-header-title_8nohb_559{color:var(--color-text);font-size:1rem;font-weight:700}._player-header-subtitle_8nohb_565{color:var(--color-text-muted);font-size:.75rem}._form-actions_8nohb_571{justify-content:space-between;gap:.75rem;margin-top:1rem;display:flex}._back-btn_8nohb_578{color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s}._back-btn_8nohb_578:hover{background:var(--color-background);border-color:var(--color-text-muted)}._submit-btn_8nohb_596{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s;display:flex}._submit-btn_8nohb_596:hover{background-color:var(--color-primary-dark)}._submit-btn_8nohb_596:disabled{background-color:var(--color-text-muted);cursor:not-allowed}._success-section_8nohb_624{text-align:center;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:1rem;max-width:600px;margin:0 auto;padding:1rem;display:flex}._success-icon_8nohb_637{background:var(--color-success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;animation:.6s cubic-bezier(.68,-.55,.265,1.55) _bounceIn_8nohb_1;display:flex;box-shadow:0 8px 32px #10b98159}@keyframes _bounceIn_8nohb_1{0%{opacity:0;transform:scale(0)rotate(-180deg)}50%{transform:scale(1.2)rotate(10deg)}to{opacity:1;transform:scale(1)rotate(0)}}._success-title_8nohb_664{color:var(--color-text);margin:0;font-size:1.5rem;font-weight:700}._success-message_8nohb_671{color:var(--color-text-muted);margin:0;font-size:1rem;line-height:1.6}._success-summary_8nohb_678{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md);background:#fff;padding:1rem}._success-summary-title_8nohb_687{color:var(--color-text);text-align:center;margin:0 0 1.25rem;font-size:1.125rem;font-weight:700}._success-detail_8nohb_695{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:1rem;padding:.875rem 0;display:flex}._success-detail_8nohb_695:last-child{border-bottom:none;padding-bottom:0}._success-detail-icon_8nohb_708{color:var(--color-primary);flex-shrink:0;margin-top:2px;font-size:20px}._success-detail-content_8nohb_715{text-align:left;flex-direction:column;flex:1;gap:.25rem;display:flex}._success-detail-label_8nohb_723{color:var(--color-text-muted);font-size:.75rem;font-weight:600}._success-detail-value_8nohb_729{color:var(--color-text);font-size:.9375rem;font-weight:600;line-height:1.5}._success-next-steps_8nohb_736{flex-direction:column;gap:1rem;width:100%;display:flex}._success-next-steps-title_8nohb_743{color:var(--color-text);text-align:center;margin:0;font-size:1.125rem;font-weight:700}._success-steps-list_8nohb_751{flex-direction:column;gap:.875rem;margin:0;padding:0;list-style:none;display:flex}._success-step-item_8nohb_760{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:left;background:#fff;align-items:flex-start;gap:1rem;padding:1rem;display:flex}._success-step-number_8nohb_772{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;min-width:1.75rem;height:1.75rem;margin-top:2px;font-size:.875rem;font-weight:700;display:flex}._success-step-item_8nohb_760 p{color:var(--color-text);margin:0;font-size:.9375rem;line-height:1.6}._success-actions_8nohb_794{flex-direction:column;gap:.875rem;width:100%;margin-top:.5rem;display:flex}._loading-container_8nohb_803,._error-container_8nohb_804{text-align:center;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;min-height:100vh;padding:0;display:flex;position:relative;overflow-x:hidden}._loading-container_8nohb_803{background:linear-gradient(#f8fafce6 0%,#fffffffa 100%)}._loading-container_8nohb_803>*{width:100%}._loading-skeleton_8nohb_825{flex-direction:column;gap:1rem;width:min(100%,1180px);padding:1rem 0 2rem;display:flex}._loading-skeleton-hero_8nohb_833,._loading-skeleton-card_8nohb_834{border:1px solid var(--color-border);box-shadow:var(--shadow-md);background:#fff;border-radius:1rem;overflow:hidden}._loading-skeleton-hero_8nohb_833{flex-direction:column;align-items:center;gap:.9rem;padding:1.5rem 1.25rem;display:flex}._loading-skeleton-badge_8nohb_850,._loading-skeleton-title_8nohb_851,._loading-skeleton-card-title_8nohb_852,._loading-skeleton-card-subtitle_8nohb_853,._loading-skeleton-tab_8nohb_854,._loading-skeleton-step_8nohb_855,._loading-skeleton-line_8nohb_856,._loading-skeleton-meta_8nohb_857 span{background:linear-gradient(90deg,#eef2f7 25%,#dde5ef 50%,#eef2f7 75%) 0 0/220px 100%;animation:1.6s ease-in-out infinite _loading-shimmer_8nohb_1}._loading-skeleton-badge_8nohb_850{border-radius:999px;width:150px;height:26px}._loading-skeleton-title_8nohb_851{border-radius:10px;width:min(72%,360px);height:34px}._loading-skeleton-meta_8nohb_857{flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;display:flex}._loading-skeleton-meta_8nohb_857 span{border-radius:999px;width:92px;height:18px}._loading-skeleton-tabs_8nohb_889{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}._loading-skeleton-tab_8nohb_854{border-radius:999px;flex:88px;min-width:88px;max-width:140px;height:38px}._loading-skeleton-tab--active_8nohb_904{min-width:110px;max-width:150px}._loading-skeleton-card_8nohb_834{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}._loading-shell-hero_8nohb_916{flex-direction:column;align-items:center;gap:.9rem;width:min(100%,560px);display:flex}._loading-skeleton-card-header_8nohb_924{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}._loading-skeleton-card-title_8nohb_852{border-radius:8px;width:min(100%,260px);height:24px}._loading-skeleton-card-subtitle_8nohb_853{border-radius:8px;width:min(100%,420px);height:16px}._loading-skeleton-stepper_8nohb_943{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;display:grid}._loading-skeleton-step_8nohb_855{border-radius:999px;height:54px}._loading-skeleton-content_8nohb_954{gap:.75rem;display:grid}._loading-skeleton-line_8nohb_856{border-radius:999px;height:18px}._loading-skeleton-line_8nohb_856:first-child{width:92%}._loading-skeleton-line_8nohb_856:nth-child(2){width:100%}._loading-skeleton-line_8nohb_856:nth-child(3){width:84%}._loading-skeleton-line_8nohb_856:nth-child(4){width:96%}._loading-skeleton-line_8nohb_856:nth-child(5){width:78%}._loading-skeleton-line_8nohb_856:nth-child(6){width:88%}._loading-skeleton-status_8nohb_971{background:linear-gradient(90deg,#eef2f7 25%,#dde5ef 50%,#eef2f7 75%) 0 0/220px 100%;border-radius:999px;width:120px;height:28px;animation:1.6s ease-in-out infinite _loading-shimmer_8nohb_1}._loading-skeleton-footer-logo_8nohb_980{background:linear-gradient(90deg,#eef2f7 25%,#dde5ef 50%,#eef2f7 75%) 0 0/220px 100%;border-radius:.5rem;width:2.2rem;height:2.2rem;animation:1.6s ease-in-out infinite _loading-shimmer_8nohb_1}._loading-skeleton-footer-brand_8nohb_989{background:linear-gradient(90deg,#eef2f7 25%,#dde5ef 50%,#eef2f7 75%) 0 0/220px 100%;border-radius:999px;width:90px;height:18px;margin-left:-.3rem;animation:1.6s ease-in-out infinite _loading-shimmer_8nohb_1}._loading-skeleton-footer-text_8nohb_999{background:linear-gradient(90deg,#eef2f7 25%,#dde5ef 50%,#eef2f7 75%) 0 0/220px 100%;border-radius:12px;width:min(100%,320px);height:44px;margin-top:1rem;animation:1.6s ease-in-out infinite _loading-shimmer_8nohb_1}._loading-skeleton-footer-socials_8nohb_1009{gap:.5rem;margin-top:1rem;display:flex}._loading-skeleton-footer-socials_8nohb_1009 span{background:linear-gradient(90deg,#eef2f7 25%,#dde5ef 50%,#eef2f7 75%) 0 0/220px 100%;border-radius:999px;width:2.5rem;height:2.5rem;animation:1.6s ease-in-out infinite _loading-shimmer_8nohb_1}._loading-skeleton-footer-title_8nohb_1024{background:linear-gradient(90deg,#eef2f7 25%,#dde5ef 50%,#eef2f7 75%) 0 0/220px 100%;border-radius:999px;width:110px;height:18px;margin-bottom:.75rem;animation:1.6s ease-in-out infinite _loading-shimmer_8nohb_1}._loading-skeleton-footer-links_8nohb_1034{gap:.5rem;display:grid}._loading-skeleton-footer-links_8nohb_1034 span{background:linear-gradient(90deg,#eef2f7 25%,#dde5ef 50%,#eef2f7 75%) 0 0/220px 100%;border-radius:999px;width:180px;height:14px;animation:1.6s ease-in-out infinite _loading-shimmer_8nohb_1}._loading-skeleton-footer-organizer_8nohb_1048{align-items:flex-start;gap:.75rem;display:flex}._loading-skeleton-footer-org-logo_8nohb_1054{background:linear-gradient(90deg,#eef2f7 25%,#dde5ef 50%,#eef2f7 75%) 0 0/220px 100%;border-radius:.75rem;flex-shrink:0;width:3rem;height:3rem;animation:1.6s ease-in-out infinite _loading-shimmer_8nohb_1}._loading-skeleton-footer-org-name_8nohb_1064,._loading-skeleton-footer-org-detail_8nohb_1065,._loading-skeleton-footer-bottom_8nohb_1066{background:linear-gradient(90deg,#eef2f7 25%,#dde5ef 50%,#eef2f7 75%) 0 0/220px 100%;border-radius:999px;animation:1.6s ease-in-out infinite _loading-shimmer_8nohb_1}._loading-skeleton-footer-org-name_8nohb_1064{width:180px;height:16px;margin-bottom:.5rem}._loading-skeleton-footer-org-detail_8nohb_1065{width:220px;height:12px}._loading-skeleton-footer-bottom_8nohb_1066{width:min(100%,340px);height:14px}._loading-skeleton-sr_8nohb_1089{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._loading-spinner_8nohb_1101{animation:1s linear infinite _spin_8nohb_1}@keyframes _loading-shimmer_8nohb_1{0%{background-position:-220px 0}to{background-position:calc(220px + 100%) 0}}@keyframes _spin_8nohb_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._retry-btn_8nohb_1123{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}._retry-btn_8nohb_1123:hover{background-color:var(--color-primary-dark)}@media (width>=480px){._tournament-content_8nohb_53{padding:1rem}._stepper-label_8nohb_138,._step-label_8nohb_139{font-size:.75rem}._prizes_8nohb_253{flex-wrap:nowrap}._tournament-info_8nohb_207{grid-template-columns:1fr 1fr}}@media (width>=768px){._header-title_8nohb_67{font-size:2rem}._stepper-circle_8nohb_108,._step-circle_8nohb_109{width:2.5rem;height:2.5rem}._stepper-label_8nohb_138,._step-label_8nohb_139{font-size:.875rem}._card_8nohb_158{padding:1rem}._btn-group_8nohb_334{justify-content:flex-end}._form-actions_8nohb_571{gap:1rem}}._registration-form_8nohb_1189[style*="display: none"]{display:none!important}._enrollment-closed-banner_8nohb_1193{border-radius:var(--radius-lg);background-color:#ef44441a;border:1px solid #ef444433;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}._banner-icon_8nohb_1204{color:var(--color-error);flex-shrink:0}._banner-content_8nohb_1209 h3{color:var(--color-error);margin:0 0 .5rem;font-size:1.125rem;font-weight:700}._banner-content_8nohb_1209 p{color:var(--color-text);margin:0 0 .25rem}._banner-content_8nohb_1209 small{color:var(--color-text-muted);font-size:.875rem}._tournament-info-section_8nohb_1226{margin-bottom:1rem}._detail-card_8nohb_1230{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;overflow:hidden}._detail-card-header_8nohb_1237{background:var(--color-background);border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;padding:1rem;display:flex}._detail-card-header_8nohb_1237 h4{color:var(--color-text);margin:0;font-size:1.125rem;font-weight:700}._detail-card-content_8nohb_1253{padding:1rem}._detail-field_8nohb_1257{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.5rem;padding:.75rem 0 .75rem 2.5rem;display:flex;position:relative}._detail-field_8nohb_1257:last-child{border-bottom:none}._detail-field-icon_8nohb_1271{color:var(--color-primary);position:absolute;top:.75rem;left:0}._detail-field_8nohb_1257 label{color:var(--color-text-muted);margin:0;font-size:.75rem;font-weight:600}._detail-field_8nohb_1257 label:after{content:""}._detail-value_8nohb_1289{color:var(--color-text);font-size:.9375rem;font-weight:500}._tournament-selectors_8nohb_1295{margin-bottom:1rem}._selector-card_8nohb_1299{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;overflow:hidden}._selector-header_8nohb_1306{background:var(--color-background);border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;padding:1rem;display:flex}._selector-header_8nohb_1306 h4{color:var(--color-text);margin:0;font-size:1.125rem;font-weight:700}._selector-content_8nohb_1322{padding:1rem}._mode-selector_8nohb_1326,._category-selector_8nohb_1327{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text);appearance:none;cursor:pointer;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-position:right .75rem center;background-repeat:no-repeat;padding:.75rem 2.5rem .75rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}._mode-selector_8nohb_1326:focus,._category-selector_8nohb_1327:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #0f766e1a}._form-section_8nohb_1352{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;margin-bottom:1rem;padding:1rem}._section-header_8nohb_1360{border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}._section-header_8nohb_1360 h3{color:var(--color-text);margin:0;font-size:1.125rem;font-weight:700}._form-row_8nohb_1376{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){._form-row_8nohb_1376{grid-template-columns:1fr 1fr}}._form-group_8nohb_288 input,._form-group_8nohb_288 select{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}._form-group_8nohb_288 input:focus,._form-group_8nohb_288 select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #0f766e1a}._checkbox-group_8nohb_1408{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}._checkbox-label_8nohb_1415{cursor:pointer;align-items:center;gap:.5rem;font-size:.9375rem;display:flex}._checkbox-label_8nohb_1415 input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}._day-selection_8nohb_1429{margin-top:.5rem}._time-slots-selection_8nohb_1433{margin-top:1rem}._registration-disabled_8nohb_1437{text-align:center;padding:1rem}._disabled-message_8nohb_1442 h3{color:var(--color-text);margin:0 0 .5rem;font-size:1.25rem;font-weight:700}._disabled-message_8nohb_1442 p{color:var(--color-text-muted);margin:0}:root{--tennis-primary:#0ea5e9;--tennis-secondary:#6366f1;--tennis-accent:#22c55e;--tennis-dark:#0f172a;--tennis-card-bg:#fff;--tennis-text:#1e293b;--tennis-text-muted:#64748b;--tennis-border:#e2e8f0;--tennis-radius:16px;--tennis-shadow:0 4px 24px #0ea5e91a;--tennis-shadow-hover:0 8px 32px #0ea5e933}.tennis-public-container{background:#f8fafc;min-height:100vh;font-family:Gotham,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.tennis-team-avatar-fallback{color:#0ea5e9;background:linear-gradient(135deg,#e0f2fe,#eff6ff);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;font-weight:700;display:flex}.tennis-hero{text-align:center;color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 50%,#0ea5e9 100%);flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:2.25rem 1.25rem;display:flex;position:relative;overflow:hidden}.tennis-hero:before{content:"";pointer-events:none;background:radial-gradient(at 30%,#0ea5e94d 0%,#0000 60%),radial-gradient(at 70% 20%,#6366f140 0%,#0000 50%);position:absolute;inset:0}.tennis-hero-badge{color:#7dd3fc;letter-spacing:.05em;text-transform:uppercase;z-index:1;background:#0ea5e940;border:1px solid #0ea5e980;border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.375rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex;position:relative}.tennis-hero-title{z-index:1;color:#fff;text-shadow:0 2px 20px #0000004d;margin:0 0 1rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1;position:relative}.tennis-hero-meta{color:#ffffffd9;z-index:1;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;font-size:.95rem;display:flex;position:relative}.tennis-hero-image{object-fit:cover;z-index:1;border:4px solid #ffffff4d;border-radius:50%;width:120px;height:120px;margin-bottom:1.5rem;position:relative;box-shadow:0 8px 32px #0000004d}.tennis-hero-status{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex;position:relative}.tennis-nav{border-bottom:1px solid var(--tennis-border);z-index:100;background:#fff;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;display:flex;position:sticky;top:0;overflow-x:auto;box-shadow:0 2px 8px #0000000f}.tennis-nav-btn{cursor:pointer;color:var(--tennis-text-muted);white-space:nowrap;background:0 0;border:none;border-radius:9999px;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.tennis-nav-btn.active{background:linear-gradient(135deg, var(--tennis-primary), var(--tennis-secondary));color:#fff;box-shadow:0 4px 12px #0ea5e94d}.tennis-nav-btn:hover:not(.active){color:var(--tennis-text);background:#f1f5f9}.tennis-nav-btn--disabled,.tennis-nav-btn:disabled{opacity:.65;cursor:not-allowed}.tennis-nav-btn--disabled .tennis-nav-badge,.tennis-nav-btn:disabled .tennis-nav-badge{color:var(--tennis-text-muted);background:#e2e8f0;border-radius:9999px;margin-left:.25rem;padding:.15rem .5rem;font-size:.65rem;font-weight:600}.tennis-content{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.tennis-category-selector{flex-wrap:wrap;gap:.625rem;margin-bottom:1.5rem;display:flex}.tennis-category-btn{border:2px solid var(--tennis-border);color:var(--tennis-text-muted);cursor:pointer;background:#fff;border-radius:9999px;padding:.5rem 1.125rem;font-size:.875rem;font-weight:500;transition:all .2s}.tennis-category-btn.active{border-color:var(--tennis-primary);background:var(--tennis-primary);color:#fff}.tennis-card{background:var(--tennis-card-bg);border-radius:var(--tennis-radius);box-shadow:var(--tennis-shadow);border:1px solid var(--tennis-border);transition:all .3s;overflow:hidden}.tennis-card:hover{box-shadow:var(--tennis-shadow-hover);transform:translateY(-2px)}.tennis-card-header{border-bottom:1px solid var(--tennis-border);background:linear-gradient(135deg,#f0f9ff 0%,#eff6ff 100%);padding:1.25rem 1.5rem}.tennis-card-title{color:var(--tennis-text);margin:0;font-size:1.1rem;font-weight:700}.tennis-card-body{padding:1.25rem 1.5rem}.tennis-team-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.tennis-team-card{border:1px solid var(--tennis-border);text-align:center;cursor:pointer;background:#fff;border-radius:12px;padding:1.25rem;transition:all .2s}.tennis-team-card:hover{border-color:var(--tennis-primary);transform:translateY(-2px);box-shadow:0 4px 16px #0ea5e926}button.tennis-team-card{appearance:none;font:inherit;text-align:center;width:100%}.tennis-team-avatar{object-fit:cover;border:3px solid var(--tennis-border);border-radius:50%;width:64px;height:64px;margin:0 auto .75rem;display:block}.tennis-team-avatar-placeholder{width:64px;height:64px;color:var(--tennis-primary);background:linear-gradient(135deg,#e0f2fe,#eff6ff);border-radius:50%;justify-content:center;align-items:center;margin:0 auto .75rem;font-size:1.5rem;font-weight:700;display:flex}.tennis-match-card{border:1px solid var(--tennis-border);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:1rem;margin-bottom:.625rem;padding:1rem 1.25rem;transition:all .2s;display:flex}.tennis-match-card:hover{border-color:var(--tennis-primary);box-shadow:0 4px 12px #0ea5e926}button.tennis-match-card{appearance:none;font:inherit;text-align:left;width:100%}.tennis-match-team{color:var(--tennis-text);flex:1;font-size:.9rem;font-weight:600}.tennis-match-team.right{text-align:right}.tennis-match-score{justify-content:center;gap:.3rem;min-width:120px;display:flex}.tennis-match-set{border:1px solid var(--tennis-border);background:#f8fafc;border-radius:6px;padding:.25rem .5rem;font-size:.85rem;font-weight:700}.tennis-standings-table{border-collapse:collapse;width:100%}.tennis-standings-table th{text-align:center;color:var(--tennis-text-muted);border-bottom:2px solid var(--tennis-border);white-space:nowrap;background:#f8fafc;padding:.75rem .875rem;font-size:.8rem;font-weight:600}.tennis-standings-table td{text-align:center;color:var(--tennis-text);border-bottom:1px solid #f1f5f9;padding:.75rem .875rem;font-size:.875rem}.tennis-standings-table tbody tr:hover{background:#f8fafc}.tennis-section-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.tennis-section-icon{background:linear-gradient(135deg, var(--tennis-primary), var(--tennis-secondary));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.tennis-section-title{color:var(--tennis-text);margin:0;font-size:1.25rem;font-weight:700}.tennis-footer{text-align:center;background:var(--tennis-dark);color:#fff9;margin-top:3rem;padding:2rem 1.5rem;font-size:.875rem}.tennis-footer-logo{color:var(--tennis-primary);margin-bottom:.5rem;font-size:1rem;font-weight:700;display:block}.tennis-status{border-radius:9999px;align-items:center;gap:.3rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.tennis-status.open{color:#1d4ed8;background:#dbeafe}.tennis-status.in-progress{color:#15803d;background:#dcfce7}.tennis-status.finished{color:#475569;background:#f1f5f9}.tennis-status.draft{color:#92400e;background:#fef3c7}.tennis-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.tennis-modal{border-radius:var(--tennis-radius);background:#fff;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.tennis-nav-btn--register{background:var(--primary)!important;color:#fff!important;box-shadow:0 4px 12px #0596694d!important}.tennis-nav-btn--register:hover{opacity:.88}.tennis-cat-register-btn{cursor:pointer;background:var(--primary);color:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:opacity .2s,transform .15s;display:flex}.tennis-cat-register-btn:disabled{cursor:not-allowed;color:#94a3b8;background:#e2e8f0}.tennis-category-pill{cursor:pointer;color:#475569;background:#f1f5f9;border:1.5px solid #e2e8f0;border-radius:999px;padding:.375rem 1rem;font-size:.8rem;font-weight:600;transition:opacity .15s,transform .15s,background-color .15s,border-color .15s,color .15s}.tennis-category-pill.active{background:var(--primary,#4f46e5);color:#fff;border-color:var(--primary,#4f46e5)}.tennis-phase-pill{cursor:pointer;color:#475569;background:#f1f5f9;border:1.5px solid #e2e8f0;border-radius:999px;padding:.375rem 1rem;font-size:.8rem;font-weight:600;transition:opacity .15s,transform .15s,background-color .15s,border-color .15s,color .15s}.tennis-phase-pill.active{color:#fff;background:#1e293b;border-color:#1e293b}.tennis-player-initial{color:#4f46e5;background:#e0e7ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.7rem;font-weight:700;display:flex}.tennis-btn-remove{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.tennis-btn-remove-sm{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:6px;padding:.375rem .75rem;font-size:.8rem;font-weight:500}.tennis-btn-edit-sm{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;padding:.375rem .75rem;font-size:.8rem;font-weight:500}.tennis-btn-add-player{color:#fff;cursor:pointer;background-color:#10b981;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-bottom:1rem;padding:1rem;font-size:1rem;font-weight:600;display:flex}.tennis-transfer-value{color:#854d0e;background-color:#fff;border-radius:6px;margin-top:.25rem;padding:.5rem;font-family:monospace;font-size:.95rem;font-weight:600}.tennis-upload-label{text-align:center;cursor:pointer;background-color:#fff;border:2px dashed #d1d5db;border-radius:8px;padding:1.5rem;transition:border-color .2s,background-color .2s,opacity .2s;display:block}.tennis-upload-label:hover:not(.is-disabled){background-color:#f0f9ff;border-color:#3b82f6}.tennis-upload-label.is-disabled{cursor:not-allowed;opacity:.5}.tennis-confirm-payment-btn{color:#fff;cursor:pointer;background-color:#059669;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:opacity .2s,transform .2s,background-color .2s;display:flex}.tennis-confirm-payment-btn:disabled{cursor:not-allowed;background-color:#9ca3af}.tennis-cat-register-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.tennis-cat-register-btn:active:not(:disabled){opacity:1;transform:translateY(0)}.tennis-nav-mobile{display:none}.tennis-nav--desktop{display:flex}@media (width<=768px){.tennis-hero{min-height:260px;padding:1.5rem 1rem}.tennis-hero-title{font-size:1.75rem}.tennis-hero-meta{gap:.75rem;font-size:.875rem}.tennis-content{padding:1.5rem 1rem}.tennis-nav--desktop{display:none}.tennis-nav-mobile{border-bottom:1px solid var(--tennis-border);z-index:100;background:#fff;padding:.625rem 1rem;display:block;position:sticky;top:0;box-shadow:0 2px 8px #0000000f}.tennis-nav-mobile-inner{flex-direction:column;gap:0;display:flex}.tennis-nav-mobile-current{display:none}.tennis-nav-mobile-options{grid-template-columns:repeat(3,1fr);gap:.375rem;display:grid}.tennis-nav-mobile-opt{border:1.5px solid var(--tennis-border);color:var(--tennis-text-muted);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .25rem;font-size:0;transition:all .18s;display:flex}.tennis-nav-mobile-opt-label{text-align:center;font-size:.7rem;font-weight:600;line-height:1.2}.tennis-nav-mobile-opt-badge{display:none}.tennis-nav-mobile-opt.active{background:linear-gradient(135deg, var(--tennis-primary), var(--tennis-secondary));color:#fff;border-color:#0000;box-shadow:0 3px 10px #0ea5e94d}.tennis-nav-mobile-opt.register{border-color:var(--primary);color:var(--primary)}.tennis-nav-mobile-opt.register.active{background:var(--primary);color:#fff;border-color:#0000;box-shadow:0 3px 10px #0596694d}.tennis-nav-mobile-opt.disabled{opacity:.45;cursor:not-allowed}.tennis-nav-mobile-opt:not(.active):not(.disabled):hover{color:var(--tennis-text);background:#f1f5f9;border-color:#cbd5e1}.tennis-team-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.tennis-public-container{padding-bottom:5rem}}@media (width<=480px){.tennis-hero-title{font-size:1.5rem}.tennis-match-card{text-align:center;flex-direction:column}.tennis-match-team.right{text-align:center}}.tennis-mobile-cta{display:none}@media (width<=768px){.tennis-mobile-cta{z-index:200;pointer-events:none;background:linear-gradient(#0000,#f8fafcfa 30%);padding:.875rem 1rem;display:block;position:fixed;bottom:0;left:0;right:0}.tennis-mobile-cta-btn{pointer-events:all;background:var(--primary);color:#fff;cursor:pointer;letter-spacing:.01em;border:none;border-radius:14px;justify-content:center;align-items:center;gap:.625rem;width:100%;padding:1rem 1.5rem;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 20px #05966959}.tennis-mobile-cta-btn:active{transform:scale(.97);box-shadow:0 2px 10px #05966940}}.ttp-reg-success-panel{text-align:center;background-color:#f0fdf4;border:2px solid #86efac;border-radius:16px;padding:3rem 2rem}.ttp-reg-success-icon{color:#22c55e;margin-bottom:1rem}.ttp-reg-success-title{color:#15803d;margin-bottom:.5rem;font-weight:700}.ttp-reg-success-text{color:#166534;margin-bottom:1.5rem}.ttp-reg-success-btn{color:#fff;cursor:pointer;background-color:#22c55e;border:none;border-radius:9999px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600}.ttp-reg-form{gap:1.25rem;max-width:600px;margin:0 auto;display:grid}.ttp-reg-category-btn{color:#475569;cursor:pointer;background-color:#fff;border:2px solid #cbd5e1;border-radius:9999px;padding:.4rem .875rem;font-size:.875rem;font-weight:500}.ttp-reg-category-btn.is-selected{border-color:var(--tennis-primary,#0ea5e9);background-color:var(--tennis-primary,#0ea5e9);color:#fff}.ttp-reg-add-player-btn{color:var(--tennis-primary,#0ea5e9);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;display:flex}.ttp-reg-player-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;position:relative}.ttp-reg-remove-player-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:.25rem;position:absolute;top:.5rem;right:.5rem}.ttp-team-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;padding:1.5rem;display:flex}.ttp-team-modal-logo-fallback{color:#0ea5e9;background:linear-gradient(135deg,#e0f2fe,#eff6ff);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;font-weight:700;display:flex}:root{--ftp-font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ftp-primary:#059669;--ftp-primary-dark:#047857;--ftp-primary-light:#ecfdf5;--ftp-primary-soft:#d1fae5;--ftp-bg:#f0f4f3;--ftp-surface:#fff;--ftp-text:#111827;--ftp-text-secondary:#6b7280;--ftp-text-muted:#9ca3af;--ftp-border:#e5e7eb;--ftp-border-light:#f3f4f6;--ftp-danger:#dc2626;--ftp-warning:#d97706;--ftp-info:#3b82f6;--ftp-gold:#ca8a04;--ftp-silver:#71717a;--ftp-bronze:#b45309;--ftp-radius-sm:8px;--ftp-radius-md:14px;--ftp-radius-lg:20px;--ftp-radius-full:100px;--ftp-shadow-sm:0 1px 2px #0000000a;--ftp-shadow-md:0 2px 8px #0000000f, 0 0 1px #00000014;--ftp-shadow-lg:0 8px 24px #00000014, 0 2px 8px #0000000a;--ftp-shadow-xl:0 16px 48px #0000001f, 0 4px 12px #0000000f}html:has(.ftp-root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f8fafc}.ftp-root{min-height:100vh;font-family:var(--ftp-font);color:var(--ftp-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;line-height:1.5;position:relative;overflow-x:hidden}.ftp-root:after{content:"";background-image:var(--ftp-bg-image);filter:blur(8px);opacity:.6;z-index:0;pointer-events:none;background-position:50%;background-size:cover;width:100vw;position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%)}.ftp-root:before{content:"";background:linear-gradient(to bottom, transparent 0%, var(--ftp-bg) 50%);z-index:1;pointer-events:none;width:100vw;position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%)}.ftp-root *,.ftp-root :before,.ftp-root :after{box-sizing:border-box;margin:0;padding:0}.ftp-landing{z-index:3;position:relative}.ftp-landing__hero{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.ftp-landing__hero-bg{background-position:50%;background-size:cover;animation:30s ease-in-out infinite alternate ftp-heroZoom;position:absolute;inset:0;transform:scale(1.1)}@keyframes ftp-heroZoom{0%{transform:scale(1.1)}to{transform:scale(1.25)}}.ftp-landing__hero-overlay{background:linear-gradient(180deg, #00000080 0%, #000000b3 50%, #000000e0 80%, var(--ftp-bg) 100%);position:absolute;inset:0}.ftp-landing__hero-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:1.25rem;max-width:700px;padding:2rem;animation:1.2s cubic-bezier(.23,1,.32,1) .3s both ftp-heroContentIn;display:flex;position:relative}@keyframes ftp-heroContentIn{0%{opacity:0;filter:blur(8px);transform:translateY(40px)scale(.95)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.ftp-landing__logo{object-fit:cover;border:4px solid #ffffff4d;border-radius:50%;width:80px;height:80px;animation:3s ease-in-out infinite ftp-logoPulse;box-shadow:0 8px 32px #0006}@keyframes ftp-logoPulse{0%,to{box-shadow:0 8px 32px #0006}50%{box-shadow:0 8px 48px #05966966}}.ftp-landing__status-badge{border-radius:var(--ftp-radius-full);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#6ee7b7;letter-spacing:.03em;background:#05966940;border:1px solid #6ee7b733;align-items:center;gap:.5rem;padding:.4rem 1rem;font-size:.78rem;font-weight:600;display:inline-flex}.ftp-landing__status-pulse{background:#6ee7b7;border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite ftp-pulse}.ftp-landing__title{color:#fff;letter-spacing:-.03em;text-shadow:0 4px 24px #0000004d;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:1.1}.ftp-landing__subtitle{color:#fff9;font-size:1rem;font-weight:500}.ftp-landing__hero-stats{border-radius:var(--ftp-radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff14;border:1px solid #ffffff1a;align-items:center;gap:0;margin-top:1rem;padding:1rem 2rem;display:flex}.ftp-landing__hero-stat{color:#fff;flex-direction:column;align-items:center;gap:.25rem;padding:0 1.5rem;display:flex}.ftp-landing__hero-stat svg{color:#6ee7b7;font-size:1.25rem}.ftp-landing__hero-stat span{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.ftp-landing__hero-stat small{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:600}.ftp-landing__hero-stat-divider{background:#ffffff26;width:1px;height:40px}.ftp-landing__scroll-hint{color:#ffffff80;z-index:2;flex-direction:column;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;animation:1s 1.5s both ftp-fadeInUp;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.ftp-landing__scroll-arrow{font-size:1.25rem;animation:2s ease-in-out infinite ftp-bounce}@keyframes ftp-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes ftp-fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.ftp-landing__float{opacity:.08;color:#fff;pointer-events:none;z-index:1;font-size:2.5rem;position:absolute}.ftp-landing__float--1{animation:22s ease-in-out infinite ftp-drift1;top:12%;left:8%}.ftp-landing__float--2{animation:28s ease-in-out infinite ftp-drift2;top:25%;right:10%}.ftp-landing__float--3{animation:18s ease-in-out infinite ftp-drift3;bottom:30%;left:15%}.ftp-landing__float--4{animation:24s ease-in-out infinite ftp-drift4;bottom:20%;right:20%}@keyframes ftp-drift1{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(20px,-30px)rotate(10deg)}50%{transform:translate(-10px,-50px)rotate(-5deg)}75%{transform:translate(-25px,-20px)rotate(8deg)}}@keyframes ftp-drift2{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(-30px,20px)rotate(-12deg)}66%{transform:translate(15px,-25px)rotate(6deg)}}@keyframes ftp-drift3{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(30px,-40px)rotate(15deg)}}@keyframes ftp-drift4{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(-20px,-30px)rotate(-8deg)}66%{transform:translate(25px,10px)rotate(12deg)}}.ftp-landing__section{background:var(--ftp-bg);z-index:2;padding:5rem 2rem;position:relative}.ftp-landing__section-inner{max-width:960px;margin:0 auto}.ftp-landing__tag{text-transform:uppercase;letter-spacing:.1em;color:var(--ftp-primary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.78rem;font-weight:700;display:inline-flex}.ftp-landing__section h2{color:var(--ftp-text);letter-spacing:-.02em;margin-bottom:1.5rem;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;line-height:1.2}.ftp-landing__about{opacity:0;transition:all .9s cubic-bezier(.23,1,.32,1);transform:translate(-60px)}.ftp-landing__about.ftp-landing__section--visible{opacity:1;transform:translate(0)}.ftp-landing__about .ftp-landing__section-inner{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.ftp-landing__about-text p{color:var(--ftp-text-secondary);font-size:1rem;line-height:1.8}.ftp-landing__about-cards{flex-direction:column;gap:1rem;display:flex}.ftp-landing__info-card{background:var(--ftp-surface);border-radius:var(--ftp-radius-md);box-shadow:var(--ftp-shadow-md);border:1px solid var(--ftp-border-light);align-items:center;gap:1rem;padding:1.25rem;transition:all .3s;display:flex}.ftp-landing__info-card:hover{box-shadow:var(--ftp-shadow-lg);border-color:var(--ftp-primary-soft);transform:translate(8px)}.ftp-landing__info-card-icon{background:var(--ftp-primary-light);width:48px;height:48px;color:var(--ftp-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.ftp-landing__info-card-value{color:var(--ftp-text);font-size:1.5rem;font-weight:800;line-height:1}.ftp-landing__info-card-label{color:var(--ftp-text-muted);font-size:.73rem;font-weight:500}.ftp-landing__prizes{opacity:0;background:linear-gradient(180deg, var(--ftp-bg) 0%, var(--ftp-surface) 100%);transition:all .9s cubic-bezier(.23,1,.32,1);transform:translateY(60px)}.ftp-landing__prizes.ftp-landing__section--visible{opacity:1;transform:translateY(0)}.ftp-landing__prizes .ftp-landing__section-inner{text-align:center}.ftp-landing__prizes-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;display:grid}.ftp-landing__prize-card{border-radius:var(--ftp-radius-lg);background:var(--ftp-surface);border:2px solid var(--ftp-border);opacity:0;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1.5rem;transition:all .4s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden;transform:translateY(30px)}.ftp-landing__prizes.ftp-landing__section--visible .ftp-landing__prize-card{opacity:1;transform:translateY(0)}.ftp-landing__prizes.ftp-landing__section--visible .ftp-landing__prize-card:first-child{transition-delay:.15s}.ftp-landing__prizes.ftp-landing__section--visible .ftp-landing__prize-card:nth-child(2){transition-delay:.3s}.ftp-landing__prizes.ftp-landing__section--visible .ftp-landing__prize-card:nth-child(3){transition-delay:.45s}.ftp-landing__prize-card:hover{box-shadow:var(--ftp-shadow-xl);transform:translateY(-8px)scale(1.02)}.ftp-landing__prize-glow{opacity:.06;pointer-events:none;border-radius:50%;width:200%;height:200%;transition:opacity .3s;position:absolute;top:-50%;left:50%;transform:translate(-50%)}.ftp-landing__prize-card:hover .ftp-landing__prize-glow{opacity:.12}.ftp-landing__prize-card--gold{border-color:#ca8a044d}.ftp-landing__prize-card--gold .ftp-landing__prize-glow{background:radial-gradient(circle,#ca8a04 0%,#0000 70%)}.ftp-landing__prize-card--gold .ftp-landing__prize-icon{color:#ca8a04;background:#fef3c7}.ftp-landing__prize-card--gold .ftp-landing__prize-place{color:#ca8a04}.ftp-landing__prize-card--silver{border-color:#71717a4d}.ftp-landing__prize-card--silver .ftp-landing__prize-glow{background:radial-gradient(circle,#71717a 0%,#0000 70%)}.ftp-landing__prize-card--silver .ftp-landing__prize-icon{color:#71717a;background:#f4f4f5}.ftp-landing__prize-card--silver .ftp-landing__prize-place{color:#71717a}.ftp-landing__prize-card--bronze{border-color:#b453094d}.ftp-landing__prize-card--bronze .ftp-landing__prize-glow{background:radial-gradient(circle,#b45309 0%,#0000 70%)}.ftp-landing__prize-card--bronze .ftp-landing__prize-icon{color:#b45309;background:#ffedd5}.ftp-landing__prize-card--bronze .ftp-landing__prize-place{color:#b45309}.ftp-landing__prize-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.75rem;display:flex}.ftp-landing__prize-place{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700}.ftp-landing__prize-name{color:var(--ftp-text);font-size:1.15rem;font-weight:800}.ftp-landing__prize-desc{color:var(--ftp-text-muted);font-size:.82rem}.ftp-landing__registration{opacity:0;transition:all .8s cubic-bezier(.34,1.56,.64,1);transform:scale(.9)}.ftp-landing__registration.ftp-landing__section--visible{opacity:1;transform:scale(1)}.ftp-landing__registration .ftp-landing__section-inner{text-align:center}.ftp-landing__reg-card{background:var(--ftp-surface);border-radius:var(--ftp-radius-lg);max-width:600px;box-shadow:var(--ftp-shadow-lg);border:1px solid var(--ftp-border-light);margin:2rem auto 0;padding:2rem;overflow:hidden}.ftp-landing__reg-header{border-bottom:1px solid var(--ftp-border-light);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.ftp-landing__reg-status{color:var(--ftp-text);align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.ftp-landing__reg-dot{background:var(--ftp-text-muted);border-radius:50%;width:10px;height:10px}.ftp-landing__reg-dot--open{background:var(--ftp-primary);animation:1.8s ease-in-out infinite ftp-pulse}.ftp-landing__reg-price{color:var(--ftp-primary);align-items:center;gap:.35rem;font-size:1.5rem;font-weight:800;display:flex}.ftp-landing__reg-price svg{font-size:1.25rem}.ftp-landing__reg-details{text-align:left;flex-direction:column;gap:1rem;display:flex}.ftp-landing__reg-detail{color:var(--ftp-text-secondary);justify-content:space-between;align-items:center;gap:1rem;font-size:.88rem;display:flex}.ftp-landing__reg-detail strong{color:var(--ftp-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.ftp-landing__reveal{background:linear-gradient(to bottom, var(--ftp-bg) 0%, var(--ftp-bg) 70%, transparent 100%);z-index:4;justify-content:center;align-items:center;min-height:40vh;margin-bottom:-60px;padding-bottom:60px;display:flex;position:relative;overflow:visible}.ftp-landing__reveal-particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ftp-landing__reveal-particle{bottom:-10px;left:var(--p-x);width:var(--p-size);height:var(--p-size);background:var(--ftp-primary);opacity:0;border-radius:50%;position:absolute}.ftp-landing__reveal--visible .ftp-landing__reveal-particle{animation:ftp-particleRise var(--p-duration) var(--p-delay) ease-out infinite}@keyframes ftp-particleRise{0%{opacity:0;transform:translateY(0)scale(0)}20%{opacity:.6;transform:translateY(-40px)scale(1)}to{opacity:0;transform:translateY(-300px)scale(.3)}}.ftp-landing__reveal-content{z-index:2;flex-direction:column;align-items:center;gap:1.5rem;display:flex;position:relative}.ftp-landing__reveal-line{background:linear-gradient(90deg, transparent, var(--ftp-primary), transparent);border-radius:2px;width:0;height:2px;transition:width 1.2s cubic-bezier(.23,1,.32,1)}.ftp-landing__reveal--visible .ftp-landing__reveal-line{width:200px}.ftp-landing__reveal-text{color:var(--ftp-text);opacity:0;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;transition:all .6s cubic-bezier(.23,1,.32,1) .4s;display:flex;transform:translateY(10px)}.ftp-landing__reveal--visible .ftp-landing__reveal-text{opacity:1;transform:translateY(0)}.ftp-landing__reveal-text svg{color:var(--ftp-primary)}.ftp-landing__reveal-arrow{color:var(--ftp-primary);opacity:0;font-size:1.5rem;transition:opacity .4s .8s;animation:2s ease-in-out infinite ftp-bounce}.ftp-landing__reveal--visible .ftp-landing__reveal-arrow{opacity:.6}.ftp-hero{z-index:2;-webkit-backdrop-filter:blur(20px);text-align:center;color:#fff;background:#00000026;border-bottom:none;justify-content:center;align-items:center;max-height:150px;padding:.6rem 1rem;display:flex;position:relative;overflow:hidden;box-shadow:0 1px #ffffff0a,0 8px 32px #0000002e}.ftp-hero__inner{z-index:1;flex-direction:column;align-items:center;gap:.5rem;max-width:800px;margin:0 auto;display:flex;position:relative}.ftp-hero__logo{object-fit:cover;border:2px solid #ffffff4d;border-radius:50%;width:32px;height:32px}.ftp-hero__title{letter-spacing:-.02em;color:#fff;font-size:1rem;font-weight:700;line-height:1.2}.ftp-hero__badges{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.ftp-hero__badge{border-radius:var(--ftp-radius-full);color:#fffc;background:#ffffff1a;align-items:center;gap:.35rem;padding:.2rem .5rem;font-size:.68rem;font-weight:600;display:inline-flex}.ftp-hero__badge-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.ftp-hero__badge-dot--green{background:#6ee7b7}.ftp-hero__badge-dot--blue{background:#93c5fd}.ftp-hero__badge-dot--gray{background:#fff6}.ftp-hero__badge-dot--pulse{animation:1.8s ease-in-out infinite ftp-pulse}@keyframes ftp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.ftp-semicircle{z-index:100;transition:opacity .4s;position:fixed;top:50%;left:1.25rem;transform:translateY(-50%)}.ftp-semicircle__center{z-index:5;-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#05966940;border:1.5px solid #05966966;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;transition:all .3s;display:flex;position:relative;box-shadow:0 2px 12px #05966933}.ftp-semicircle__center:hover{background:#05966980;border-color:#059669cc;scale:1.1;box-shadow:0 4px 20px #05966966}.ftp-semicircle__btn{-webkit-backdrop-filter:blur(6px);color:#ffffff80;cursor:pointer;z-index:4;opacity:0;pointer-events:none;background:#ffffff14;border:1.5px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-top:-18px;margin-left:-18px;font-size:.9rem;transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .3s,scale .45s cubic-bezier(.34,1.56,.64,1),border-color .2s,color .2s,background .2s,box-shadow .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(0)scale(.4)}.ftp-semicircle--expanded .ftp-semicircle__center{background:var(--ftp-primary);border-color:var(--ftp-primary);width:44px;height:44px;font-size:1.2rem;box-shadow:0 4px 20px #05966973}.ftp-semicircle--expanded .ftp-semicircle__btn{transform:translate(var(--sc-x,0px), var(--sc-y,0px));opacity:1;pointer-events:auto;background:var(--ftp-surface);color:var(--ftp-text);border-color:var(--ftp-border);box-shadow:var(--ftp-shadow-lg);width:42px;height:42px;margin-top:-21px;margin-left:-21px;font-size:1.05rem;scale:1}.ftp-semicircle--expanded .ftp-semicircle__btn:hover{border-color:var(--ftp-primary);color:var(--ftp-primary);scale:1.2;box-shadow:0 4px 20px #0596694d}.ftp-semicircle--expanded .ftp-semicircle__btn--active{background:var(--ftp-primary);color:#fff;border-color:var(--ftp-primary);box-shadow:0 4px 20px #05966980}.ftp-semicircle--expanded .ftp-semicircle__btn--active:hover{background:var(--ftp-primary-dark);border-color:var(--ftp-primary-dark);color:#fff}.ftp-semicircle__label{white-space:nowrap;color:var(--ftp-text);background:var(--ftp-surface);border-radius:var(--ftp-radius-sm);box-shadow:var(--ftp-shadow-md);opacity:0;pointer-events:none;padding:.2rem .5rem;font-size:.68rem;font-weight:600;transition:opacity .2s;position:absolute;left:calc(100% + 8px)}.ftp-semicircle--expanded .ftp-semicircle__btn:hover .ftp-semicircle__label{opacity:1}.ftp-content{z-index:2;max-width:1200px;margin:0 auto;padding:1rem;position:relative}.ftp-single-page{z-index:2;position:relative}.ftp-single-page .ftp-grid{grid-template-rows:auto auto 1fr;grid-template-columns:minmax(260px,340px) 1fr minmax(220px,280px);gap:1rem;transition:all .4s cubic-bezier(.23,1,.32,1);display:grid;position:relative}.ftp-card--next-match{grid-area:1/1}.ftp-card--teams{grid-area:2/1}.ftp-card--fixture{grid-area:1/2/3/4}.ftp-card--standings{grid-area:3/1/auto/3}.ftp-card--stats{grid-area:3/3}.ftp-grid--focused{justify-content:center;align-items:flex-start;min-height:50vh;display:flex!important}.ftp-grid__close{border:1px solid var(--ftp-border);border-radius:var(--ftp-radius-full);background:var(--ftp-surface);color:var(--ftp-text-secondary);font-family:var(--ftp-font);cursor:pointer;z-index:5;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.ftp-grid__close:hover{background:var(--ftp-primary-light);color:var(--ftp-primary);border-color:var(--ftp-primary-soft)}.ftp-card--hidden{display:none!important}.ftp-card--visible:not(.ftp-card--focused):not(.ftp-card--hidden):hover{box-shadow:var(--ftp-shadow-xl);transform:translateY(-3px)}.ftp-card--focused{opacity:1;width:100%;max-width:800px;animation:.5s cubic-bezier(.34,1.56,.64,1) both ftp-cardExpand;transform:none}@keyframes ftp-cardExpand{0%{opacity:0;transform:scale(.85)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.ftp-card--focused .ftp-teams--compact{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:none}.ftp-card--focused .ftp-card__header{padding:1.25rem;font-size:1rem}.ftp-card--focused .ftp-matches{max-height:none}@media (width<=900px){.ftp-single-page .ftp-grid{grid-template-rows:auto;grid-template-columns:1fr}.ftp-card--next-match,.ftp-card--fixture,.ftp-card--standings,.ftp-card--stats,.ftp-card--teams{grid-area:auto/1}}@keyframes ftp-cardFromLeft{0%{opacity:0;transform:translate(-40px)translateY(10px)}to{opacity:1;transform:translate(0)translateY(0)}}@keyframes ftp-cardFromRight{0%{opacity:0;transform:translate(40px)translateY(10px)}to{opacity:1;transform:translate(0)translateY(0)}}@keyframes ftp-cardFromBottom{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}@keyframes ftp-cardScale{0%{opacity:0;transform:scale(.92)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.ftp-card{background:var(--ftp-surface);border-radius:var(--ftp-radius-lg);box-shadow:var(--ftp-shadow-md);opacity:0;will-change:opacity, transform;transition:opacity .55s,transform .55s cubic-bezier(.23,1,.32,1),box-shadow .25s;overflow:hidden;transform:translateY(32px)}@media (width<=900px){.ftp-card{opacity:1;transition:box-shadow .25s;transform:translateY(0)}}.ftp-card--next-match{transition-delay:0s}.ftp-card--teams{transition-delay:80ms}.ftp-card--fixture{transition-delay:.16s}.ftp-card--standings{transition-delay:60ms}.ftp-card--stats{transition-delay:.12s}.ftp-card--visible{opacity:1;transform:translateY(0)}.ftp-card--compact .ftp-card__header{padding:1rem;font-size:.85rem}.ftp-card--compact .ftp-card__header-icon{width:26px;height:26px;font-size:.9rem}.ftp-card__header{color:var(--ftp-text);border-bottom:1px solid var(--ftp-border-light);align-items:center;gap:1rem;padding:1rem;font-size:.92rem;font-weight:700;display:flex}.ftp-card__header-icon{border-radius:var(--ftp-radius-sm);background:var(--ftp-primary-light);width:32px;height:32px;color:var(--ftp-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.ftp-card__body{padding:1rem}.ftp-loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:200px;display:flex}.ftp-spinner{border:3px solid var(--ftp-border);border-top-color:var(--ftp-primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite ftp-spin}@keyframes ftp-spin{to{transform:rotate(360deg)}}.ftp-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1rem;display:flex}.ftp-empty__icon{color:var(--ftp-border);font-size:2.5rem}.ftp-empty__text{color:var(--ftp-text-muted);font-size:.9rem;font-weight:500}.ftp-empty--compact{padding:1rem}.ftp-next-match{cursor:pointer;border-radius:0 0 var(--ftp-radius-lg) var(--ftp-radius-lg);background:var(--ftp-bg);padding:1rem;transition:background .2s}.ftp-next-match:hover{background:var(--ftp-border-light)}.ftp-next-match__teams{flex-flow:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.ftp-next-match__team{flex:1;align-items:center;gap:1rem;min-width:0;font-size:.78rem;font-weight:600;display:flex}.ftp-next-match__team span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ftp-next-match__team img{object-fit:cover;border-radius:6px;flex-shrink:0;width:20px;height:20px}.ftp-next-match__ph{background:var(--ftp-border-light);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6rem;font-weight:700;display:flex}.ftp-next-match__vs{color:var(--ftp-text-muted);flex-shrink:0;font-size:.7rem;font-weight:600}.ftp-next-match__date{border-top:1px solid var(--ftp-border-light);color:var(--ftp-text-secondary);margin-top:1rem;padding-top:1rem;font-size:.72rem}.ftp-teams{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;padding:1rem;display:grid}.ftp-teams--compact{grid-template-columns:repeat(2,1fr);gap:1rem;max-height:280px;padding:1rem;overflow-y:auto}.ftp-teams--compact .ftp-team{gap:1rem;padding:1rem}.ftp-teams--compact .ftp-team__logo,.ftp-teams--compact .ftp-team__placeholder{width:32px;height:32px;font-size:.7rem}.ftp-teams--compact .ftp-team__name{font-size:.78rem}.ftp-team{background:var(--ftp-bg);border-radius:var(--ftp-radius-md);cursor:pointer;border:2px solid #0000;flex-direction:column;align-items:center;gap:1rem;padding:1rem;transition:all .25s;display:flex}.ftp-team:hover{background:var(--ftp-surface);border-color:var(--ftp-primary-soft);box-shadow:var(--ftp-shadow-md);transform:translateY(-3px)}.ftp-team__logo{object-fit:cover;background:var(--ftp-surface);width:56px;height:56px;box-shadow:var(--ftp-shadow-sm);border-radius:50%}.ftp-team__placeholder{background:var(--ftp-primary-light);width:56px;height:56px;color:var(--ftp-primary);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.ftp-team__name{text-align:center;color:var(--ftp-text);font-size:.84rem;font-weight:600;line-height:1.3}.ftp-matches{flex-direction:column;gap:.5rem;padding:1rem;display:flex}.ftp-match{border-radius:var(--ftp-radius-md);background:var(--ftp-bg);cursor:pointer;border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.6rem 1rem;transition:all .2s;display:flex;position:relative}.ftp-match:hover{background:var(--ftp-primary-light);border-left-color:var(--ftp-primary);box-shadow:var(--ftp-shadow-sm)}.ftp-match__team{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.ftp-match__team--away{text-align:right;flex-direction:row-reverse}.ftp-match__team-ph{background:var(--ftp-border-light);width:32px;height:32px;color:var(--ftp-text-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.ftp-match__team-logo{object-fit:cover;background:var(--ftp-surface);width:32px;height:32px;box-shadow:var(--ftp-shadow-sm);border-radius:50%;flex-shrink:0}.ftp-match__team-name{color:var(--ftp-text);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:600;overflow:hidden}.ftp-match__center{flex-direction:column;flex-shrink:0;align-items:center;gap:.2rem;min-width:60px;display:flex}.ftp-match__score{border-radius:var(--ftp-radius-full);color:#fff;font-variant-numeric:tabular-nums;background:#1e293b;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.88rem;font-weight:700;display:flex}.ftp-match__score--pending{background:var(--ftp-border);color:var(--ftp-text-muted);font-weight:600}.ftp-match__date{color:var(--ftp-text-muted);white-space:nowrap;font-size:.65rem}.ftp-match__status{border-radius:var(--ftp-radius-full);white-space:nowrap;flex-shrink:0;align-items:center;gap:.3rem;padding:.25rem .5rem;font-size:.68rem;font-weight:600;display:inline-flex}.ftp-match__arrow{color:var(--ftp-text-muted);opacity:0;flex-shrink:0;align-items:center;font-size:.85rem;transition:all .2s;display:flex;transform:translate(-4px)}.ftp-match:hover .ftp-match__arrow{opacity:1;transform:translate(0)}.ftp-standings-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.ftp-standings{border-collapse:separate;border-spacing:0;width:100%;font-size:.84rem}.ftp-standings th{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--ftp-text-muted);background:var(--ftp-bg);border-bottom:2px solid var(--ftp-border);z-index:2;padding:1rem;font-size:.72rem;font-weight:600;position:sticky;top:0}.ftp-standings th:first-child{text-align:center;width:44px}.ftp-standings th:nth-child(2){text-align:left}.ftp-standings td{text-align:center;border-bottom:1px solid var(--ftp-border-light);color:var(--ftp-text-secondary);font-variant-numeric:tabular-nums;padding:1rem}.ftp-standings td:nth-child(2){text-align:left;color:var(--ftp-text);font-weight:600}.ftp-standings tbody tr{transition:background .15s}.ftp-standings tbody tr:nth-child(2n){background:#f0f4f366}.ftp-standings tbody tr:hover{background:var(--ftp-primary-light)}.ftp-standings__pos{background:var(--ftp-border-light);width:26px;height:26px;color:var(--ftp-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.76rem;font-weight:700;display:inline-flex}.ftp-standings__pos--1{color:var(--ftp-gold);background:#fef3c7}.ftp-standings__pos--2{color:var(--ftp-silver);background:#f4f4f5}.ftp-standings__pos--3{color:var(--ftp-bronze);background:#ffedd5}.ftp-standings__pts{border-radius:var(--ftp-radius-full);background:var(--ftp-primary-light);min-width:30px;color:var(--ftp-primary);justify-content:center;align-items:center;padding:1rem;font-size:.84rem;font-weight:800;display:inline-flex}.ftp-standings__gd--positive{color:var(--ftp-primary);font-weight:600}.ftp-standings__gd--negative{color:var(--ftp-danger);font-weight:600}.ftp-stats-filters{border-bottom:1px solid var(--ftp-border-light);flex-wrap:nowrap;gap:.5rem;padding:.6rem 1rem;display:flex;overflow-x:auto}.ftp-stats-filter{border:1.5px solid var(--ftp-border);border-radius:var(--ftp-radius-full);background:var(--ftp-surface);color:var(--ftp-text-secondary);font-size:.75rem;font-family:var(--ftp-font);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;align-items:center;gap:.35rem;padding:.4rem .7rem;font-weight:500;transition:all .2s;display:inline-flex}.ftp-stats-filter:hover{border-color:var(--ftp-primary);color:var(--ftp-primary)}.ftp-stats-filter--active{background:var(--ftp-primary);border-color:var(--ftp-primary);color:#fff;font-weight:600;box-shadow:0 2px 8px #0596694d}.ftp-stats-filter--active:hover{background:var(--ftp-primary-dark);border-color:var(--ftp-primary-dark);color:#fff}.ftp-stats-filter__icon{align-items:center;font-size:.8rem;display:flex}.ftp-stats-list{margin:0;padding:0;list-style:none}.ftp-stats-item{border-bottom:1px solid var(--ftp-border-light);align-items:center;gap:1rem;padding:1rem;transition:background .15s;animation:.3s ease-out both ftp-fadeUp;display:flex}.ftp-stats-item:last-child{border-bottom:none}.ftp-stats-item:hover{background:var(--ftp-bg)}.ftp-stats-item--clickable{cursor:pointer}.ftp-stats-item--clickable:hover{background:var(--ftp-primary-light)}.ftp-stats-item:first-child{animation-delay:0s}.ftp-stats-item:nth-child(2){animation-delay:30ms}.ftp-stats-item:nth-child(3){animation-delay:60ms}.ftp-stats-item:nth-child(4){animation-delay:90ms}.ftp-stats-item:nth-child(5){animation-delay:.12s}.ftp-stats-item-action{all:unset;cursor:pointer;align-items:center;gap:1rem;width:100%;display:flex}.ftp-stats-rank{background:var(--ftp-border-light);width:30px;height:30px;color:var(--ftp-text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.ftp-stats-rank--1{color:var(--ftp-gold);background:#fef3c7}.ftp-stats-rank--2{color:var(--ftp-silver);background:#f4f4f5}.ftp-stats-rank--3{color:var(--ftp-bronze);background:#ffedd5}.ftp-stats-info{flex:1;min-width:0}.ftp-stats-name{color:var(--ftp-text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.ftp-stats-team{color:var(--ftp-text-muted);margin-top:.1rem;font-size:.73rem}.ftp-stats-value{border-radius:var(--ftp-radius-full);background:var(--ftp-primary-light);min-width:36px;color:var(--ftp-primary);flex-shrink:0;justify-content:center;align-items:center;padding:1rem;font-size:.88rem;font-weight:800;display:inline-flex}.ftp-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:1rem;animation:.25s ease-out ftp-overlayIn;display:flex;position:fixed;inset:0}.ftp-overlay--mac{animation:.3s cubic-bezier(.32,.72,0,1) ftp-overlayMacIn}.ftp-overlay--mac.ftp-overlay--closing{animation:.25s cubic-bezier(.32,.72,0,1) forwards ftp-overlayMacOut}@keyframes ftp-overlayIn{0%{opacity:0}to{opacity:1}}@keyframes ftp-overlayMacIn{0%{opacity:0}to{opacity:1}}@keyframes ftp-overlayMacOut{0%{opacity:1}to{opacity:0}}.ftp-modal{background:var(--ftp-surface);border-radius:var(--ftp-radius-lg);box-shadow:var(--ftp-shadow-xl);width:100%;max-width:500px;max-height:90vh;animation:.35s cubic-bezier(.34,1.56,.64,1) ftp-modalIn;position:relative;overflow-y:auto}.ftp-modal--mac{animation:.4s cubic-bezier(.32,.72,0,1) ftp-modalMacIn}.ftp-modal--mac.ftp-modal--closing{animation:.3s cubic-bezier(.32,.72,0,1) forwards ftp-modalMacOut}@keyframes ftp-modalIn{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ftp-modalMacIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes ftp-modalMacOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}.ftp-modal__close{color:#fff;cursor:pointer;z-index:5;-webkit-backdrop-filter:blur(4px);background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.15rem;transition:all .2s;display:flex;position:absolute;top:.75rem;right:.75rem}.ftp-modal__close:hover{background:#fff6;transform:scale(1.08)}.ftp-player-card{text-align:center;padding:2rem 1.5rem}.ftp-player-card__avatar{background:var(--ftp-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;font-size:1.8rem;font-weight:800;display:flex}.ftp-player-card__name{color:var(--ftp-text);margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.ftp-player-card__team{color:var(--ftp-text-secondary);margin-bottom:1rem;font-size:.85rem}.ftp-player-card__stat{background:var(--ftp-bg);border-radius:var(--ftp-radius-md);flex-direction:column;gap:.25rem;padding:1rem;display:flex}.ftp-player-card__stat-label{color:var(--ftp-text-muted);text-transform:uppercase;font-size:.72rem}.ftp-player-card__stat-value{color:var(--ftp-primary);font-size:1.5rem;font-weight:800}.ftp-team-card{text-align:center;padding:2rem 1.5rem}.ftp-team-card__logo{background:var(--ftp-bg);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 1rem;display:flex;overflow:hidden}.ftp-team-card__logo img{object-fit:cover;width:100%;height:100%}.ftp-team-card__logo span{color:var(--ftp-primary);font-size:2rem;font-weight:800}.ftp-team-card__name{color:var(--ftp-text);margin-bottom:1rem;font-size:1.25rem;font-weight:700}.ftp-team-card__standings{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.ftp-team-card__stat{background:var(--ftp-bg);border-radius:var(--ftp-radius-md);flex-direction:column;gap:.25rem;min-width:70px;padding:.75rem 1rem;display:flex}.ftp-team-card__stat span:first-child{color:var(--ftp-text-muted);text-transform:uppercase;font-size:.7rem}.ftp-team-card__stat span:last-child{color:var(--ftp-text);font-size:1.1rem;font-weight:700}.ftp-modal__hero{border-radius:var(--ftp-radius-lg) var(--ftp-radius-lg) 0 0;background:linear-gradient(160deg,#065f46 0%,#059669 50%,#34d399 100%);justify-content:center;align-items:center;gap:1rem;padding:1rem;display:flex;position:relative;overflow:hidden}.ftp-modal__hero:before{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.ftp-modal__team-col{z-index:1;flex-direction:column;flex:1;align-items:center;gap:1rem;min-width:0;display:flex;position:relative}.ftp-modal__team-logo{object-fit:cover;background:#ffffff26;border:2px solid #ffffff80;border-radius:50%;width:56px;height:56px;box-shadow:0 4px 12px #00000026}.ftp-modal__team-logo-ph{color:#fffc;background:#fff3;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.2rem;font-weight:700;display:flex}.ftp-modal__team-name{color:#ffffffe6;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.8rem;font-weight:600;overflow:hidden}.ftp-modal__score-col{z-index:1;flex-direction:column;align-items:center;gap:1rem;display:flex;position:relative}.ftp-modal__score{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.05em;text-shadow:0 2px 8px #0003;font-size:2.25rem;font-weight:800}.ftp-modal__score-label{color:#ffffff8c;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:600}.ftp-modal__body{flex-direction:column;gap:1rem;padding:1rem;display:flex}.ftp-modal__info-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.ftp-modal__info-item{background:var(--ftp-bg);border-radius:var(--ftp-radius-sm);align-items:center;gap:1rem;padding:1rem;display:flex}.ftp-modal__info-icon{color:var(--ftp-primary);flex-shrink:0;align-items:center;font-size:1.05rem;display:flex}.ftp-modal__info-content{min-width:0}.ftp-modal__info-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ftp-text-muted);font-size:.65rem;font-weight:600}.ftp-modal__info-value{color:var(--ftp-text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.ftp-modal__notes{background:var(--ftp-primary-light);border-left:3px solid var(--ftp-primary);border-radius:0 var(--ftp-radius-sm) var(--ftp-radius-sm) 0;color:var(--ftp-text-secondary);padding:1rem;font-size:.85rem;line-height:1.6}.ftp-modal__notes-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ftp-primary);font-size:.7rem;font-weight:700}@media (width<=768px){.ftp-landing__about .ftp-landing__section-inner{grid-template-columns:1fr;gap:2rem}.ftp-landing__prizes-grid{grid-template-columns:1fr;gap:1rem}.ftp-landing__hero-stats{grid-template-columns:1fr auto 1fr auto 1fr;gap:0;width:100%;max-width:320px;padding:.85rem 1rem;display:grid}.ftp-landing__hero-stat{padding:0 .5rem}.ftp-landing__hero-stat span{font-size:1.2rem}.ftp-landing__hero-stat-divider{align-self:center;width:1px;height:32px}.ftp-landing__section{padding:3rem 1rem}.ftp-semicircle{left:.75rem}.ftp-semicircle--expanded .ftp-semicircle__btn{width:36px;height:36px;font-size:.9rem}}@media (width<=640px){.ftp-landing__title{font-size:1.8rem}.ftp-landing__logo{width:60px;height:60px}.ftp-hero{padding:.5rem 1rem}.ftp-hero__title{font-size:.88rem}.ftp-content{padding:1rem}.ftp-match{flex-wrap:wrap;gap:1rem}.ftp-match__team-name{font-size:.78rem}.ftp-match__arrow{display:none}.ftp-stats-filters{padding:1rem}.ftp-modal__hero{gap:1rem;padding:1rem}.ftp-modal__team-logo,.ftp-modal__team-logo-ph{width:44px;height:44px}.ftp-modal__score{font-size:1.75rem}.ftp-modal__info-grid{grid-template-columns:1fr}.ftp-modal__body{padding:1rem}.ftp-landing__reg-header{text-align:center;flex-direction:column}}.ftp-topnav{z-index:200;pointer-events:none;position:fixed;top:0;left:0;right:0}.ftp-topnav:before{content:"";filter:blur(6px);z-index:-1;pointer-events:none;background:linear-gradient(#0009 0%,#0000 100%);height:160px;position:absolute;top:0;left:0;right:0}.ftp-topnav--solid{-webkit-backdrop-filter:blur(20px);background:#fffffff7;border-bottom:1px solid #e2e8f0;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s}.ftp-topnav--solid:before{display:none}.ftp-topnav .ftp-topnav__inner{pointer-events:auto;z-index:1;position:relative}.ftp-topnav__inner{align-items:center;gap:1.5rem;max-width:1280px;height:56px;margin:0 auto;padding:0 1.5rem;display:flex}.ftp-topnav__brand{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.ftp-topnav__logo{object-fit:cover;border:1.5px solid #e2e8f0;border-radius:50%;width:30px;height:30px}.ftp-topnav__name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.9rem;font-weight:700;overflow:hidden}.ftp-topnav__links{flex:1;justify-content:center;align-items:center;gap:.25rem;display:flex}.ftp-topnav__link{border-radius:var(--ftp-radius-full);color:#475569;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.82rem;font-weight:500;transition:all .2s;display:flex}.ftp-topnav__link:hover{color:#059669;background:#f0fdf4;border-color:#0000}.ftp-topnav__link--active{color:#059669;background:#f0fdf4;border-color:#0000;font-weight:600}.ftp-topnav__link--active:hover{color:#059669;background:#f0fdf4}.ftp-topnav__link svg{flex-shrink:0;font-size:1rem}.ftp-topnav__link--brand{color:#475569;background:0 0;border-color:#0000;font-weight:500}.ftp-topnav__link--brand:hover{color:#059669;background:#f0fdf4;border-color:#0000}.ftp-content.ftp-single-page{padding-left:5rem;padding-right:5rem}@media (width<=900px){.ftp-content.ftp-single-page{padding-left:1rem;padding-right:1rem}.ftp-semicircle{display:none}.ftp-landing__about,.ftp-landing__prizes,.ftp-landing__registration{opacity:1!important;transform:none!important}.ftp-topnav{background:linear-gradient(#00000080 0%,#0000 100%)}.ftp-topnav:before{display:none}.ftp-topnav--solid{-webkit-backdrop-filter:blur(16px);background:#fffffff7;border-bottom:1px solid #e2e8f0}.ftp-topnav__inner{flex-direction:column;align-items:flex-start;gap:.5rem;height:auto;padding:.5rem 1rem .6rem}.ftp-topnav__brand{width:100%}.ftp-topnav__links{flex-flow:row;gap:.3rem;width:100%;margin-top:.6rem;display:flex}.ftp-topnav__link{border-radius:var(--ftp-radius-full);white-space:nowrap;background:#ffffff1f;border:1px solid #ffffff2e;flex:1;justify-content:center;padding:.45rem .5rem;font-size:.68rem}.ftp-topnav__link span{display:inline}.ftp-topnav__link svg{display:none}}.ftp-footer{color:#ffffffbf;font-family:var(--ftp-font);z-index:10;background:#070f1ef5;border-top:1px solid #ffffff12;position:relative}.ftp-footer__inner{grid-template-columns:2fr 1fr 1fr 1.5fr;gap:2.5rem;max-width:1280px;margin:0 auto;padding:3.5rem 2rem 2.5rem;display:grid}.ftp-footer__brand{flex-direction:column;gap:1rem;display:flex}.ftp-footer__logo-wrap{align-items:center;gap:.6rem;display:flex}.ftp-footer__brand-icon{color:var(--ftp-primary);font-size:1.8rem}.ftp-footer__brand-name{color:#fff;letter-spacing:-.02em;font-size:1.3rem;font-weight:800}.ftp-footer__brand-desc{color:#ffffff80;max-width:280px;font-size:.82rem;line-height:1.6}.ftp-footer__socials{gap:.6rem;display:flex}.ftp-footer__social{color:#ffffffb3;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;text-decoration:none;transition:all .2s;display:flex}.ftp-footer__social:hover{background:var(--ftp-primary);border-color:var(--ftp-primary);color:#fff;transform:translateY(-2px)}.ftp-footer__col{flex-direction:column;gap:.75rem;display:flex}.ftp-footer__col-title{text-transform:uppercase;letter-spacing:.08em;color:#ffffff73;margin:0 0 .25rem;font-size:.78rem;font-weight:700}.ftp-footer__links{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.ftp-footer__links li a,.ftp-footer__links li button{color:#fff9;cursor:pointer;font-size:.83rem;font-family:var(--ftp-font);background:0 0;border:none;align-items:center;gap:.45rem;padding:0;text-decoration:none;transition:color .2s;display:flex}.ftp-footer__links li a:hover,.ftp-footer__links li button:hover{color:var(--ftp-primary)}.ftp-footer__links li a svg,.ftp-footer__links li button svg{color:#ffffff59;flex-shrink:0;font-size:.9rem}.ftp-footer__organizer{align-items:flex-start;gap:.8rem;display:flex}.ftp-footer__org-logo{object-fit:cover;border:1.5px solid #ffffff26;border-radius:50%;flex-shrink:0;width:42px;height:42px}.ftp-footer__org-name{color:#ffffffd9;margin:0 0 .4rem;font-size:.88rem;font-weight:600}.ftp-footer__org-detail{color:#ffffff73;align-items:center;gap:.35rem;margin:0 0 .2rem;font-size:.78rem;display:flex}.ftp-footer__org-detail svg{flex-shrink:0;font-size:.85rem}.ftp-footer__bottom{color:#ffffff59;border-top:1px solid #ffffff0f;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:1280px;margin:0 auto;padding:1.25rem 2rem;font-size:.78rem;display:flex}.ftp-footer__bottom-sep{color:#fff3}.ftp-footer__heart{vertical-align:middle;color:var(--ftp-primary);font-size:.85rem;display:inline-block}@media (width<=900px){.ftp-footer__inner{grid-template-columns:1fr 1fr;gap:2rem}.ftp-footer__brand{grid-column:1/-1}}@media (width<=640px){.ftp-footer__inner{grid-template-columns:1fr;padding:2rem 1.25rem 1.5rem}.ftp-footer__brand{grid-column:auto}.ftp-topnav__name{display:none}}button.ftp-landing__scroll-hint{font-family:var(--ftp-font);cursor:pointer;background:0 0;border:none}.ftp-hero-v2{z-index:2;justify-content:center;align-items:center;height:340px;padding-top:64px;display:flex;position:relative;overflow:hidden}.ftp-hero-v2__bg{filter:brightness(.75);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.06)}.ftp-hero-v2__overlay{background:linear-gradient(160deg,#059669a6 0%,#022c22d1 100%);position:absolute;inset:0}.ftp-hero-v2__content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 2rem;display:flex;position:relative}.ftp-hero-v2__logo{object-fit:cover;background:#fff;border:3px solid #ffffff59;border-radius:50%;width:64px;height:64px;margin-bottom:.25rem}.ftp-hero-v2__badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#ffffff2e;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .875rem;font-size:.78rem;font-weight:600;display:inline-flex}.ftp-hero-v2__pulse{background:#4ade80;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite ftp-pulse;display:inline-block}.ftp-hero-v2__title{color:#fff;text-shadow:0 2px 12px #0000004d;margin:0;font-size:clamp(1.4rem,4vw,2.25rem);font-weight:900;line-height:1.15}.ftp-hero-v2__subtitle{color:#ffffffbf;margin:0;font-size:.875rem}.ftp-hero-v2__stats{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #fff3;border-radius:999px;align-items:center;gap:.5rem;margin-top:.5rem;margin-bottom:.5rem;padding:.5rem 1.25rem;display:flex}.ftp-hero-v2__stat{color:#ffffffd9;flex-direction:column;align-items:center;gap:.1rem;font-size:.75rem;display:flex}.ftp-hero-v2__stat svg{color:#86efac;font-size:.9rem}.ftp-hero-v2__stat strong{color:#fff;font-size:.95rem;font-weight:800}.ftp-hero-v2__stat small{color:#ffffffa6;text-transform:uppercase;letter-spacing:.04em;font-size:.65rem}.ftp-hero-v2__stat-div{background:#fff3;width:1px;height:28px;margin:0 .25rem}.ftp-tabnav-v2{z-index:90;scrollbar-width:none;background:#fff;border-bottom:1.5px solid #e2e8f0;position:sticky;top:64px;overflow-x:auto;box-shadow:0 1px 6px #0000000f}.ftp-tabnav-v2::-webkit-scrollbar{display:none}.ftp-tabnav-v2__inner{align-items:center;gap:0;max-width:900px;margin:0 auto;padding:0 1rem;display:flex}.ftp-tabnav-v2__btn{font-family:var(--ftp-font);color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.375rem;margin-bottom:-1.5px;padding:.875rem 1rem;font-size:.85rem;font-weight:500;transition:color .15s,border-color .15s;display:flex}.ftp-tabnav-v2__btn svg{font-size:1rem}.ftp-tabnav-v2__btn:hover{color:#059669}.ftp-tabnav-v2__btn--active{color:#059669;border-bottom-color:#059669;font-weight:700}.ftp-tabnav-v2__register{color:#fff;font-family:var(--ftp-font);cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:999px;align-items:center;gap:.35rem;margin-left:auto;padding:.45rem 1.1rem;font-size:.825rem;font-weight:700;transition:opacity .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #0596694d}.ftp-tabnav-v2__register:hover{opacity:.88}.ftp-tabnav-v2__register svg{font-size:.95rem}.ftp-panel-v2{z-index:2;max-width:900px;margin:2rem auto 4rem;padding:0 1.25rem;position:relative}.ftp-panel-card{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #0000000d}.ftp-panel-card__header{border-bottom:1px solid #f1f5f9;align-items:center;gap:.875rem;padding:1.125rem 1.5rem;display:flex}.ftp-panel-card__icon{color:#fff;background:linear-gradient(135deg,#059669,#047857);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.05rem;display:flex}.ftp-panel-card__title{color:#1e293b;font-size:.95rem;font-weight:700}.ftp-panel-card__body{color:#334155;padding:1.375rem 1.5rem}@media (width<=640px){.ftp-hero-v2{height:300px}.ftp-hero-v2__stats{gap:.4rem;padding:.4rem .875rem}.ftp-panel-v2{margin:1.25rem auto 3rem;padding:0 .875rem}.ftp-panel-card__body{padding:1rem 1.125rem}.ftp-panel-card__header{padding:.875rem 1.125rem}}.ftp-teams-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.875rem;display:grid}.ftp-team-card-btn{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:.625rem;padding:1.25rem .75rem;transition:border-color .15s,background-color .15s;display:flex}.ftp-team-card-btn:hover{background:#f0fdf4;border-color:#059669}.ftp-team-card-btn__logo{object-fit:cover;border-radius:50%;width:48px;height:48px}.ftp-team-card-btn__name{color:#1e293b;text-align:center;font-size:.8rem;font-weight:600;line-height:1.3}.ftp-register-modal--mac{border-radius:20px;width:100%;max-width:500px;padding:0;overflow:hidden}.ftp-register-success{text-align:center;padding:3rem 2rem}.ftp-register-success__icon{background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1.25rem;display:flex;box-shadow:0 8px 24px #22c55e4d}.ftp-register-success__icon svg{color:#fff;font-size:2rem}.ftp-register-success__title{margin:0 0 .5rem;font-size:1.4rem;font-weight:800}.ftp-register-success__text{color:var(--gray-500);margin:0 0 2rem;font-size:.95rem;line-height:1.5}.ftp-register-success__close-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.75rem 2rem;font-size:.95rem;font-weight:700;box-shadow:0 4px 14px #00000026}.ftp-register-header{background:linear-gradient(135deg, var(--primary,#4f46e5) 0%, #6d28d9 100%);padding:1.75rem 1.75rem 1.5rem;position:relative}.ftp-register-header__close{cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;display:flex;position:absolute;top:1rem;right:1rem}.ftp-register-header__row{align-items:center;gap:.875rem;display:flex}.ftp-register-header__icon-wrap{background:#fff3;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.ftp-register-header__icon-wrap svg{color:#fff}.ftp-register-header__title{color:#fff;margin:0;font-size:1.2rem;font-weight:800}.ftp-register-header__subtitle{color:#ffffffbf;margin:2px 0 0;font-size:.8rem}.ftp-register-fee-bar{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border-radius:10px;justify-content:space-between;align-items:center;margin-top:1.25rem;padding:.625rem 1rem;display:flex}.ftp-register-fee-bar__label{color:#ffffffd9;font-size:.8rem;font-weight:500}.ftp-register-fee-bar__amount{color:#fff;font-size:1.1rem;font-weight:800}.ftp-register-body{padding:1.5rem 1.75rem 1.75rem}.ftp-register-alert{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:.6rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;display:flex}.ftp-register-alert svg{flex-shrink:0;font-size:1.2rem}.ftp-register-form{flex-direction:column;gap:1.125rem;display:flex}.ftp-register-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--gray-400,#9ca3af);margin:0 0 .625rem;font-size:.7rem;font-weight:700}.ftp-register-field{flex-direction:column;gap:.3rem;display:flex}.ftp-register-field-label{color:var(--gray-600,#4b5563);font-size:.8rem;font-weight:600}.ftp-register-field-label__req{color:#ef4444}.ftp-register-input{border:1.5px solid var(--gray-200,#e5e7eb);background:var(--gray-50,#f9fafb);box-sizing:border-box;border-radius:10px;width:100%;padding:.65rem .875rem;font-size:.9rem;transition:border-color .15s}.ftp-register-input:focus{border-color:var(--primary,#4f46e5);outline:none}.ftp-register-input--grid{box-sizing:border-box}.ftp-register-captain-grid{grid-template-columns:1fr 1fr;gap:.625rem;display:grid}.ftp-register-captain-fields{flex-direction:column;gap:.75rem;display:flex}.ftp-register-hint{color:var(--gray-400,#9ca3af);margin:0;font-size:.72rem}.ftp-register-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.85rem;font-weight:500;display:flex}.ftp-register-error svg{flex-shrink:0;font-size:1.1rem}.ftp-register-mp-tip{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;display:flex}.ftp-register-mp-tip__emoji{flex-shrink:0;margin-top:1px;font-size:1.25rem}.ftp-register-mp-tip__title{color:#15803d;margin:0 0 .2rem;font-size:.8rem;font-weight:700}.ftp-register-mp-tip__text{color:#166534;margin:0;font-size:.75rem;line-height:1.4}.ftp-register-submit{background:linear-gradient(135deg, var(--primary,#4f46e5), #6d28d9);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem;font-size:1rem;font-weight:700;transition:opacity .2s,transform .1s;display:flex;box-shadow:0 4px 14px #4f46e559}.ftp-register-submit:hover:not(:disabled){opacity:.9}.ftp-register-submit:disabled{background:var(--gray-300,#d1d5db);cursor:not-allowed;box-shadow:none;opacity:.75}.ftp-register-submit__spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.tw-stepper-tabs{border-bottom:2px solid var(--gray-200);gap:.5rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.tw-stepper-tab-btn{color:var(--gray-600);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;padding:.875rem 1.25rem;font-weight:500;transition:opacity .2s,background-color .2s}.tw-stepper-tab-btn.is-active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.tw-stepper-progress{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.75rem;display:flex}.tw-stepper-step-row{align-items:center;gap:.75rem;display:flex}.tw-stepper-step-label-row{align-items:center;gap:.5rem;display:flex}.tw-stepper-circle{border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85rem;font-weight:700;display:flex}.tw-stepper-circle.is-completed{color:#fff;background-color:#22c55e}.tw-stepper-circle.is-active{background-color:var(--primary);color:#fff}.tw-stepper-circle.is-pending{color:#6b7280;background-color:#e5e7eb}.tw-stepper-title{color:#9ca3af;font-size:.9rem;font-weight:600}.tw-stepper-title.is-active{color:var(--gray-800);font-weight:700}.tw-stepper-title.is-completed{color:var(--gray-800)}.tw-stepper-arrow{color:#d1d5db;font-size:1rem;font-weight:700}.tw-stepper-arrow.is-completed{color:var(--primary)}.tw-option-card{border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;text-align:left;background-color:#fff;align-items:center;gap:1rem;width:100%;padding:1rem;transition:border-color .2s,background-color .2s;display:flex}.tw-option-card.is-selected{border-color:var(--primary);background-color:var(--primary-light)}.tw-option-card-icon{font-size:2rem}.tw-option-card-body{flex:1}.tw-option-card-title{color:var(--gray-700);font-weight:600}.tw-option-card.is-selected .tw-option-card-title{color:var(--primary)}.tw-option-card-desc{color:var(--gray-500);margin-top:.25rem;font-size:.875rem}.tw-option-check{background-color:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;display:flex}.tw-toggle-row{cursor:pointer;border-radius:var(--radius-md);border:2px solid var(--gray-200);background-color:#fff;align-items:center;gap:.5rem;padding:1rem;transition:border-color .2s,background-color .2s;display:flex}.tw-toggle-row.is-selected{border-color:var(--primary)}.tw-toggle-row-body{flex:1}.tw-toggle-row-title{color:var(--gray-700);font-weight:600}.tw-toggle-row-desc{color:var(--gray-500);margin-top:.25rem;font-size:.875rem}.tw-payment-method-row{border-radius:var(--radius-md);border:2px solid var(--gray-200);cursor:pointer;background-color:#fff;align-items:center;gap:.75rem;padding:1rem;transition:border-color .2s,background-color .2s;display:flex}.tw-payment-method-row.is-selected{border-color:var(--primary)}.tw-wizard-checkbox{cursor:pointer;width:20px;height:20px}.tw-loading-center{justify-content:center;align-items:center;min-height:50vh;display:flex}.tw-wizard-modal-body{flex:1;padding:1.5rem;overflow-y:auto}.tw-wizard-page{box-sizing:border-box;background-color:#fff;width:100%;padding:1rem}.tw-wizard-page--padded{padding:1.5rem}.tw-wizard-page-title{color:var(--gray-800);text-align:center;margin-bottom:.5rem;font-size:1.875rem;font-weight:700}.tw-wizard-page-subtitle{color:var(--gray-500);text-align:center;margin-bottom:2rem;font-size:1rem}.tw-wizard-step-wrap{margin-bottom:2rem}.tw-wizard-nav-row{justify-content:space-between;gap:1rem;display:flex}.tw-wizard-nav-spinner{width:16px;height:16px}.tw-wizard-modal-body .form-input,.tw-wizard-modal-body .form-select,.tw-wizard-modal-body input[type=text],.tw-wizard-modal-body input[type=number],.tw-wizard-modal-body input[type=date],.tw-wizard-modal-body input[type=datetime-local],.tw-wizard-modal-body textarea,.tw-wizard-page .form-input,.tw-wizard-page .form-select,.tw-wizard-page input[type=text],.tw-wizard-page input[type=number],.tw-wizard-page input[type=date],.tw-wizard-page input[type=datetime-local],.tw-wizard-page textarea{border:1px solid var(--gray-300);border-radius:var(--radius-md)}.tw-wizard-modal-body .form-input:focus,.tw-wizard-modal-body .form-select:focus,.tw-wizard-modal-body input[type=text]:focus,.tw-wizard-modal-body input[type=number]:focus,.tw-wizard-modal-body input[type=date]:focus,.tw-wizard-modal-body input[type=datetime-local]:focus,.tw-wizard-modal-body textarea:focus,.tw-wizard-page .form-input:focus,.tw-wizard-page .form-select:focus,.tw-wizard-page input[type=text]:focus,.tw-wizard-page input[type=number]:focus,.tw-wizard-page input[type=date]:focus,.tw-wizard-page input[type=datetime-local]:focus,.tw-wizard-page textarea:focus{border-color:var(--primary);outline:none}.tw-wizard-nav-spinner--lg{width:20px;height:20px}.tw-step-section-title{color:var(--gray-800);margin-bottom:1.5rem;font-size:1.25rem;font-weight:600}.tw-step-section-title--inline{margin:0}.tw-form-stack{gap:1.25rem;display:grid}.tw-form-two-col{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:1rem;display:grid}.tw-categories-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.tw-btn-add-category{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.tw-field-error{color:var(--danger);margin-bottom:1rem;font-size:.875rem}.tw-image-upload-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:linear-gradient(#fff 0%,#f8fafc 100%);gap:1rem;padding:1rem;display:grid}.tw-image-upload-header{flex-direction:column;gap:.25rem;display:flex}.tw-image-upload-title{color:var(--gray-800);cursor:pointer;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.tw-image-upload-hint{color:var(--gray-500);font-size:.75rem}.tw-image-upload-preview{border:2px dashed var(--gray-200);border-radius:var(--radius-lg);background:#fff;justify-content:center;align-items:center;min-height:220px;display:flex;overflow:hidden}.tw-image-upload-preview-img{object-fit:cover;width:100%;height:100%;min-height:220px;display:block}.tw-image-upload-empty{min-height:220px;color:var(--gray-400);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.95rem;display:flex}.tw-image-upload-input{display:none}.tw-image-upload-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.tw-image-upload-button,.tw-image-upload-clear{border-radius:var(--radius-md);cursor:pointer;border:none;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:opacity .2s,transform .2s,background-color .2s}.tw-image-upload-button{background:var(--primary);color:#fff;justify-content:center;align-items:center;display:inline-flex}.tw-image-upload-button:hover,.tw-image-upload-clear:hover{opacity:.95;transform:translateY(-1px)}.tw-image-upload-clear{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.tw-empty-categories{text-align:center;color:var(--gray-500);border:2px dashed var(--gray-200);border-radius:var(--radius-md);padding:2rem}.tw-category-list{flex-direction:column;gap:1rem;display:flex}.tw-category-card-header{background-color:var(--gray-50);justify-content:space-between;align-items:center;padding:1rem;display:flex}.tw-category-card-title{color:var(--gray-800);font-weight:600}.tw-category-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem}.tw-category-badge--modality{background-color:var(--primary-light,#e8f5e9);color:var(--primary)}.tw-category-badge--groups{color:#0284c7;background-color:#e0f2fe}.tw-category-card-actions{align-items:center;gap:.5rem;display:flex}.tw-category-icon-btn{cursor:pointer;background:0 0;border:none;padding:0;display:flex}.tw-category-icon-btn--danger{color:var(--danger)}.tw-category-form-body{gap:1rem;padding:1.25rem;display:grid}.tw-category-form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.tw-groups-knockout-grid{background-color:var(--gray-50);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;padding:1rem;display:grid}.form-input--resize-vertical{resize:vertical}.error-boundary-shell{background-color:#f5f5f5;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.error-boundary-card{text-align:center;background-color:#fff;border-radius:12px;width:100%;max-width:600px;padding:40px;box-shadow:0 4px 6px #0000001a}.error-boundary-icon{margin-bottom:20px;font-size:64px}.error-boundary-title{color:#1a1a1a;margin-bottom:12px;font-size:24px;font-weight:600}.error-boundary-description{color:#666;margin-bottom:30px;font-size:16px;line-height:1.5}.error-boundary-details{text-align:left;background-color:#f9f9f9;border-radius:8px;max-height:200px;margin-bottom:20px;padding:15px;font-size:14px;overflow:auto}.error-boundary-details-summary{cursor:pointer;color:#d32f2f;margin-bottom:10px;font-weight:600}.error-boundary-pre{white-space:pre-wrap;word-break:break-word;color:#333;margin:0;font-size:12px}.error-boundary-actions{justify-content:center;gap:12px;display:flex}.error-boundary-btn{cursor:pointer;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:500;transition:background-color .2s}.error-boundary-btn-primary{color:#fff;background-color:#1976d2;border:none}.error-boundary-btn-primary:hover,.error-boundary-btn-primary:focus{background-color:#1565c0}.error-boundary-btn-secondary{color:#1976d2;background-color:#fff;border:2px solid #1976d2}.error-boundary-btn-secondary:hover,.error-boundary-btn-secondary:focus{background-color:#f5f5f5}.tt-btn-outline{color:var(--gray-800);border:1px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;background-color:#fff;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;display:flex}.tt-btn-outline:disabled{cursor:not-allowed;background-color:var(--gray-100);opacity:.65}.tt-btn-primary{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;display:flex}.tt-btn-primary:disabled{background-color:var(--gray-300);cursor:not-allowed;opacity:.9}.tt-btn-primary--lg{justify-content:center;align-items:center;padding:.75rem 1.5rem;display:inline-flex}.tt-empty-state{text-align:center;background-color:var(--gray-50);border-radius:var(--radius-lg);border:2px dashed var(--gray-200);padding:3rem}.tt-groups-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.tt-group-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);background-color:#fff;overflow:hidden}.tt-group-card-header{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:1rem}.tt-group-delete-btn{color:#dc2626;cursor:pointer;background-color:#fef2f2;border:1px solid #fecaca;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.tt-group-delete-btn:disabled{background-color:var(--gray-100);color:var(--gray-400);cursor:not-allowed;opacity:.6}.tt-group-teams-list{flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.tt-group-team-row{border:1px solid var(--gray-100);border-radius:var(--radius-md);background-color:#fff;flex-direction:column;align-items:stretch;gap:.75rem;min-width:0;padding:.5rem .75rem;display:flex}.tt-group-team-inner{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex;overflow:hidden}.tt-team-logo{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.tt-team-logo--lg{border:2px solid var(--gray-200);width:48px;height:48px}.tt-team-logo-ph{background-color:var(--gray-100);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.tt-team-logo-ph--lg{width:48px;height:48px}.tt-team-name-ellipsis{color:var(--gray-800);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.9rem;font-weight:500;overflow:hidden}.tt-group-move-select{border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;background-color:#fff;min-width:6.5rem;max-width:100%;padding:.25rem .5rem;font-size:.75rem}.tt-group-move-select:disabled{cursor:not-allowed;opacity:.6}.tt-teams-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.tt-team-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);z-index:1;background-color:#fff;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden}.tt-team-card--menu-open{box-shadow:var(--shadow-md);z-index:30;transform:translateY(-2px)}.tt-btn-register{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;display:flex}.tt-btn-register:disabled{background-color:var(--gray-300);cursor:not-allowed}.tt-btn-action{background-color:var(--gray-50);min-width:80px;color:var(--gray-700);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:.25rem;padding:.5rem;font-size:.8rem;display:flex}.tt-btn-move{color:#0284c7;border-radius:var(--radius-md);cursor:pointer;background-color:#e0f2fe;border:1px solid #bae6fd;align-items:center;gap:.25rem;padding:.5rem .75rem;display:flex}.tt-btn-icon{background-color:var(--gray-50);color:var(--gray-700);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:.25rem;padding:.5rem .75rem;display:flex}.tt-btn-icon--danger{color:#dc2626;background-color:#fee2e2;border-color:#fecaca}.tt-move-menu{top:var(--tt-menu-top,0);left:var(--tt-menu-left,0);width:var(--tt-menu-width,12rem);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:3000;background-color:#fff;max-height:260px;padding:.5rem;position:fixed;overflow-y:auto}.tt-move-menu-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.35rem;width:100%;padding:.45rem .6rem;font-size:.82rem;display:block}.tt-move-menu-item:disabled{cursor:not-allowed}.tt-move-menu-item:hover:not(:disabled){background-color:var(--gray-50)}.tt-bracket-toolbar-label{color:var(--gray-600);font-size:.8rem;font-weight:500}.tt-bracket-btn-sm{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.tt-bracket-btn-sm--primary{background-color:var(--primary);color:#fff}.tt-bracket-btn-sm--primary:disabled{cursor:not-allowed;opacity:.7}.tt-bracket-btn-sm--outline{color:var(--gray-700);border:1px solid var(--gray-300);background-color:#fff}.tt-bracket-btn-sm--outline-active{background-color:var(--primary);color:#fff;border:1px solid var(--gray-300)}.tt-bracket-btn-sm--success{color:#fff;background-color:#22c55e}.tt-bracket-btn-sm--success:disabled{background-color:var(--gray-200);cursor:not-allowed}.tt-bracket-team-chip{border-radius:var(--radius-md);cursor:grab;background-color:#fff;border:1px solid #86efac;align-items:center;gap:.25rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;display:flex}.tt-bracket-warning{border-radius:var(--radius-md);color:#92400e;background-color:#fffbeb;border:1px solid #fde68a;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;font-size:.875rem;display:flex}.tt-bracket-warning__icon{flex-shrink:0;font-weight:700}.tt-spinner-inline{border-width:2px;width:18px;height:18px}.tt-loading-center{justify-content:center;align-items:center;padding:3rem;display:flex}.tt-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.tt-section-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tt-section-title{color:var(--gray-800);margin:0;font-weight:600}.tt-section-subtitle{color:var(--gray-500);margin:0;font-size:.875rem}.tt-group-card-title-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.tt-group-card-title-block{min-width:0}.tt-group-card-name{color:var(--gray-800);margin:0;font-size:1rem;font-weight:600}.tt-group-card-meta{color:var(--gray-500);font-size:.8rem}.tt-empty-icon{color:var(--gray-300);margin-bottom:1rem}.tt-empty-title{color:var(--gray-600);margin-bottom:.5rem}.tt-empty-text{color:var(--gray-500);margin-bottom:1.5rem}.tt-team-card-header{border-bottom:1px solid var(--gray-100);align-items:center;gap:.75rem;padding:1rem;display:flex}.tt-team-card-title-block{flex:1;min-width:0}.tt-team-card-name{color:var(--gray-800);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.95rem;font-weight:600;overflow:hidden}.tt-team-card-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tt-team-status{font-size:.75rem;font-weight:500}.tt-team-group-badge{color:#0284c7;background-color:#e0f2fe;border-radius:9999px;padding:.1rem .4rem;font-size:.7rem;font-weight:500}.tt-team-card-body{padding:.75rem 1rem}.tt-team-no-players{color:var(--gray-400);margin:0;font-size:.8rem}.tt-team-players{flex-direction:column;gap:.25rem;display:flex}.tt-team-player-row{align-items:center;gap:.5rem;font-size:.8rem;display:flex}.tt-team-player-name{color:var(--gray-700)}.tt-team-player-rank{color:var(--gray-400)}.tt-team-card-actions{border-top:1px solid var(--gray-100);flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;display:flex}.tt-move-trigger-wrap{position:relative}.tt-logo-placeholder-icon{color:var(--gray-400)}.tt-page-stack{gap:1.5rem;display:grid}.tt-page-stack--col{flex-direction:column;gap:1.5rem;display:flex}.tt-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.tt-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.tt-ranking-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.tt-stat-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);background-color:#fff;align-items:center;gap:.75rem;padding:1rem;display:flex}.tt-stat-card--payments{border-color:var(--gray-200)}.tt-stat-card__icon{border-radius:var(--radius-md);background-color:var(--tt-accent-bg,#0ea5e914);width:40px;height:40px;color:var(--tt-accent-color,#0ea5e9);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tt-stat-card__label{color:var(--gray-500);margin-bottom:.2rem;font-size:.75rem}.tt-stat-card__value{color:var(--gray-800);font-weight:600}.tt-stat-card__value--lg{font-size:1.25rem;font-weight:700}.tt-panel-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);background-color:#fff;padding:1.5rem}.tt-panel-card--compact{padding:1rem 1.25rem}.tt-panel-card--flush{border-color:var(--gray-200);padding:0;overflow:hidden}.tt-panel-title{color:var(--gray-800);margin-bottom:.75rem;font-size:1rem;font-weight:600}.tt-panel-title--inline{margin:0}.tt-panel-header-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.tt-panel-body-text{color:var(--gray-600);line-height:1.6}.tt-btn-ghost-sm{border:1px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;color:var(--gray-600);background:0 0;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.8rem;display:flex}.tt-btn-advance{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.tt-btn-link{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.375rem;font-size:.8rem;font-weight:500;display:flex}.tt-btn-pay-sm{background-color:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.375rem .875rem;font-size:.8rem;font-weight:500}.tt-category-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.tt-category-card{border-radius:var(--radius-md);border:1px solid var(--tt-cat-border,var(--gray-200));background-color:var(--tt-cat-bg,var(--gray-50));padding:1rem}.tt-category-card__header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.tt-category-card__name{color:var(--gray-800);margin:0;font-size:.95rem;font-weight:600}.tt-category-badge{background-color:var(--tt-cat-badge-bg,var(--gray-100));color:var(--tt-cat-color,var(--gray-600));white-space:nowrap;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.tt-category-meta{color:var(--gray-600);flex-direction:column;gap:.375rem;font-size:.8rem;display:flex}.tt-meta-row{align-items:center;gap:.5rem;display:flex}.tt-tag-blue{color:#1d4ed8;background-color:#dbeafe;border-radius:9999px;padding:.1rem .4rem;font-size:.7rem}.tt-tag-amber{color:#92400e;background-color:#fef3c7;border-radius:9999px;padding:.1rem .4rem;font-size:.7rem}.tt-ranking-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);background-color:#fff;overflow:hidden}.tt-ranking-card__header{border-bottom:2px solid var(--gray-100);background-color:var(--tt-rank-header-bg,var(--gray-50));padding:.875rem 1rem}.tt-ranking-card__title{color:var(--gray-800);margin:0;font-size:.9rem;font-weight:600}.tt-ranking-row{border-bottom:1px solid var(--gray-100);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.tt-ranking-pos{color:var(--gray-500);min-width:24px;font-size:.9rem;font-weight:700}.tt-ranking-pos--first{color:#f59e0b;font-size:1.1rem}.tt-ranking-logo{object-fit:cover;border-radius:50%;width:28px;height:28px}.tt-ranking-name{color:var(--gray-800);flex:1;font-size:.875rem;font-weight:500}.tt-ranking-value{font-size:1rem;font-weight:700}.tt-standings-group-grid{gap:1.5rem;display:grid}.tt-standings-group-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);background-color:#fff;overflow:hidden}.tt-standings-group-header{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);color:var(--gray-800);padding:.75rem 1rem;font-weight:600}.tt-standings-scroll{overflow-x:auto}.tt-standings-table{border-collapse:collapse;width:100%;min-width:500px}.tt-standings-table--wide{min-width:600px}.tt-standings-th{text-align:center;color:var(--tt-col-color,var(--gray-700));background-color:var(--gray-50);border-bottom:2px solid var(--gray-200);white-space:nowrap;padding:.875rem .75rem;font-size:.8rem;font-weight:600}.tt-standings-th--left{text-align:left}.tt-standings-td{text-align:center;color:var(--gray-700);padding:.875rem .75rem;font-size:.9rem}.tt-standings-td--left{text-align:left}.tt-standings-row{border-bottom:1px solid var(--gray-100);background-color:#fff;transition:background-color .15s}.tt-standings-row:hover{background-color:var(--gray-50)}.tt-standings-row--leader,.tt-standings-row--leader:hover{background-color:#fffbeb}.tt-standings-pos{color:var(--gray-600);font-weight:700}.tt-standings-pos--top{color:#0ea5e9}.tt-standings-team-cell{align-items:center;gap:.5rem;display:flex}.tt-standings-team-logo{object-fit:cover;border-radius:50%;width:28px;height:28px}.tt-standings-team-name{color:var(--gray-800);font-weight:600}.tt-standings-legend{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.tt-standings-legend-item{color:var(--gray-500);align-items:center;gap:.25rem;font-size:.72rem;display:flex}.tt-standings-legend-dot{background-color:var(--tt-legend-color,var(--gray-400));border-radius:50%;width:8px;height:8px;display:inline-block}.tt-payments-table{border-collapse:collapse;width:100%}.tt-payments-thead{background-color:var(--gray-50);border-bottom:2px solid var(--gray-200)}.tt-payments-th{text-align:left;color:var(--gray-700);padding:.875rem 1rem;font-size:.875rem;font-weight:600}.tt-payments-th--center{text-align:center}.tt-payments-row{border-bottom:1px solid var(--gray-100);transition:background-color .15s}.tt-payments-row:hover{background-color:var(--gray-50)}.tt-payments-td{padding:.875rem 1rem}.tt-payments-td--center{text-align:center}.tt-status-pill{color:var(--tt-status-color,var(--gray-700));background-color:var(--tt-status-bg,var(--gray-100));border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.tt-payment-tip{border-radius:var(--radius-lg);background-color:#fffbeb;border:1px solid #fde68a;padding:1.25rem}.tt-payment-tip__title{color:#92400e;margin:0 0 .5rem;font-weight:600}.tt-payment-tip__text{color:#78350f;white-space:pre-wrap;margin:0;line-height:1.6}.tt-fixture-match{background-color:var(--tt-match-bg,white);border:1px solid var(--tt-match-border,var(--gray-200));border-radius:var(--radius-md);cursor:pointer;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:opacity .2s,background-color .2s;display:flex}.tt-fixture-match:hover{opacity:.85}.tt-fixture-team{color:var(--gray-800);flex:1;font-size:.95rem;font-weight:600}.tt-fixture-team--right{text-align:right}.tt-fixture-score-wrap{text-align:center;min-width:100px}.tt-fixture-sets{justify-content:center;gap:.25rem;display:flex}.tt-fixture-set{border:1px solid var(--gray-200);background-color:#fff;border-radius:4px;padding:.2rem .4rem;font-size:.8rem;font-weight:700}.tt-fixture-vs{font-size:.875rem;font-weight:600}.tt-fixture-state{margin-top:.2rem;font-size:.7rem;font-weight:500}.tt-fixture-date{color:var(--gray-500);text-align:right;min-width:80px;font-size:.75rem}.tt-btn-move-round{color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background-color:#fff;flex-shrink:0;align-items:center;gap:.35rem;padding:.45rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.tt-move-round-modal{width:100%;max-width:400px}.tt-move-round-modal .shared-modal-title{font-size:1.05rem}.tt-move-round-subtitle{color:var(--gray-600);margin:.35rem 0 0;font-size:.85rem}.tt-move-round-meta{color:var(--gray-500);margin:.35rem 0 0;font-size:.8rem}.tt-move-round-vs{color:var(--gray-400)}.tt-move-round-label{color:var(--gray-700);margin-bottom:.35rem;font-size:.875rem;font-weight:500;display:block}.tt-move-round-select{width:100%;margin-bottom:1rem}.tt-move-round-error{color:#dc2626;border-radius:var(--radius-md);background-color:#fee2e2;margin-bottom:.75rem;padding:.6rem;font-size:.8rem}.tt-move-round-disabled-msg{color:var(--gray-600);font-size:.875rem}.tt-davis-badge{color:var(--primary);white-space:nowrap;background-color:#e0f2fe;border-radius:9999px;padding:.2rem .5rem;font-size:.7rem}.tt-fixture-sync-btn:disabled{cursor:not-allowed;opacity:.7}.tt-color-win{color:#22c55e;font-weight:600}.tt-color-loss{color:#ef4444}.tt-color-neutral{color:var(--gray-600);font-weight:600}.tt-text-win{color:#22c55e}.tt-text-loss{color:#ef4444}.tt-text-fee{color:#22c55e;font-weight:600}.tt-text-bold{font-weight:700}.tt-text-muted-sm{color:var(--gray-400);font-size:.8rem}.tt-error-retry-wrap{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.tt-error-icon{color:#f59e0b}.tt-error-title{color:var(--gray-700);margin:0 0 .25rem;font-weight:600}.tt-error-text{color:var(--gray-500);margin:0;font-size:.8rem}.tt-spin-icon{animation:1s linear infinite spin}.tt-fixtures-stack{flex-direction:column;gap:1.5rem;display:flex}.tt-fixtures-stack--compact{flex-direction:column;gap:1rem;display:flex}.tt-fixture-phase-title{color:var(--gray-800);margin:0 0 1rem;font-weight:600}.tt-fixture-panel{border:1px solid var(--gray-200);border-radius:var(--radius-lg);margin-bottom:1rem;overflow:hidden}.tt-fixture-panel-header{cursor:pointer;background-color:var(--gray-50);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.tt-fixture-panel-header-left{align-items:center;gap:1rem;display:flex}.tt-fixture-panel-title{color:var(--gray-800);margin:0;font-weight:600}.tt-fixture-panel-meta{color:var(--gray-500);font-size:.8rem}.tt-fixture-panel-body{gap:.75rem;padding:1rem;display:grid}.tt-fixture-match .tt-fixture-vs,.tt-fixture-match .tt-fixture-state{color:var(--tt-match-color)}.tt-empty-text--emphasis{color:var(--gray-600);margin-bottom:1rem;font-weight:500}.tt-empty-text--sm{color:var(--gray-500);font-size:.875rem}.tt-empty-btn-icon{margin-right:.5rem;display:inline}.tt-davis-hint{text-align:center;margin-top:1rem}.tt-davis-hint-text{color:var(--gray-500);font-size:.875rem}.tt-fixtures-stack--compact>.tt-fixture-panel{margin-bottom:0}.tt-bracket-empty-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.tt-bracket-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tt-bracket-toolbar-label{color:var(--gray-600);margin-right:.25rem;font-size:.875rem}.tt-bracket-btn-sm{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;display:inline-flex}.tt-bracket-btn-sm:disabled{cursor:not-allowed;opacity:.7}.tt-bracket-btn-sm--primary{background-color:var(--primary);color:#fff;border-color:var(--primary)}.tt-bracket-btn-sm--muted{background-color:var(--gray-200);color:var(--gray-700)}.tt-bracket-btn-sm--outline{color:var(--gray-700);border-color:var(--gray-300);background-color:#fff}.tt-bracket-btn-sm--outline-active{background-color:var(--gray-100);color:var(--gray-800);border-color:var(--gray-400)}.tt-bracket-btn-sm--success{color:#fff;background-color:#22c55e;border-color:#22c55e}.tt-bracket-manual-tip{border-radius:var(--radius-lg);background-color:#f0fdf4;border:1px solid #bbf7d0;margin-bottom:1.5rem;padding:1rem 1.25rem}.tt-bracket-manual-tip-header{color:#166534;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;display:flex}.tt-bracket-chips-row{flex-wrap:wrap;gap:.5rem;display:flex}.tt-bracket-team-chip{border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:grab;background-color:#fff;flex-direction:column;gap:.125rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;display:flex}.tt-bracket-team-chip-meta{color:var(--gray-500);font-size:.7rem}.tt-bracket-warning{border-radius:var(--radius-md);color:#92400e;background-color:#fef3c7;border:1px solid #fde68a;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.875rem 1rem;font-size:.875rem;display:flex}.tt-bracket-warning__icon{flex-shrink:0}.tt-bracket-rounds-stack{flex-direction:column;gap:1rem;display:flex}.tt-bracket-stage-panel{border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.tt-bracket-stage-panel--third{border-color:#fde68a}.tt-bracket-stage-header{cursor:pointer;background-color:var(--gray-50);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.tt-bracket-stage-panel--third .tt-bracket-stage-header{background-color:#fef3c7}.tt-bracket-stage-title{color:var(--gray-800);margin:0;font-weight:600}.tt-bracket-stage-panel--third .tt-bracket-stage-title{color:#92400e}.tt-bracket-stage-badge{color:#b45309;margin-left:.5rem;font-size:.8rem;font-weight:500}.tt-bracket-stage-meta{color:var(--gray-500);font-size:.8rem}.tt-bracket-stage-body{gap:.75rem;padding:1rem;display:grid}.tt-bracket-match-row{border:1px solid var(--gray-100);border-radius:var(--radius-md);background-color:#fff;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.tt-bracket-slot{font:inherit;color:inherit;background:0 0;border:none;flex:1;padding:0;font-size:.9rem;font-weight:600}.tt-bracket-slot--right{text-align:right}.tt-bracket-slot--droppable{border-radius:var(--radius-sm);cursor:copy;background-color:#f0fdf4;border:2px dashed #22c55e;min-height:36px;padding:.5rem}.tt-spinner-inline{width:18px;height:18px}.tt-payment-modal{width:100%;max-width:520px}.tt-payment-modal .shared-modal-title{font-size:1.125rem}.tt-payment-subtitle{color:var(--gray-500);margin:.25rem 0 0;font-size:.875rem}.tt-payment-body-stack{flex-direction:column;gap:1.25rem;display:flex}.tt-payment-summary-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.tt-payment-summary-card{background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);text-align:center;padding:.75rem 1rem}.tt-payment-summary-card__label{color:var(--gray-500);margin-bottom:.25rem;font-size:.7rem;font-weight:500}.tt-payment-summary-card__value{color:var(--tt-payment-accent,var(--gray-700));font-size:1rem;font-weight:700}.tt-payment-form-stack{gap:.75rem;display:grid}.tt-payment-method-pills{flex-wrap:wrap;gap:.5rem;display:flex}.tt-payment-method-pill{border:2px solid var(--gray-200);color:var(--gray-600);cursor:pointer;background-color:#fff;border-radius:9999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.tt-payment-method-pill--selected{border-color:var(--primary);background-color:var(--primary);color:#fff}.tt-payment-checkout-select{border-radius:var(--radius-md);border:1px solid var(--gray-300);background-color:#fff;width:100%;padding:.625rem .75rem;font-size:.9rem}.tt-payment-checkout-select--error{border-color:#ef4444}.tt-payment-field-row{grid-template-columns:1fr 1fr auto;align-items:flex-end;gap:.5rem;display:grid}.tt-payment-add-btn{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.25rem;padding:.6rem 1rem;font-size:.875rem;font-weight:500;display:flex}.tt-payment-field-error{color:#dc2626;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.tt-payment-field-error--sm{margin:.25rem 0 0;font-size:.75rem}.tt-payment-methods-panel{background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);padding:1rem}.tt-payment-methods-panel__title{color:var(--gray-700);margin:0 0 .75rem;font-size:.875rem;font-weight:600}.tt-payment-methods-list{flex-direction:column;gap:.5rem;display:flex}.tt-payment-method-row{border-radius:var(--radius-sm);border:1px solid var(--gray-200);background-color:#fff;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.tt-payment-method-row__left{align-items:center;gap:.5rem;display:flex}.tt-payment-method-row__icon{color:var(--gray-500)}.tt-payment-method-row__label{font-size:.875rem;font-weight:500}.tt-payment-method-row__comment{color:var(--gray-500);font-size:.75rem}.tt-payment-method-row__right{align-items:center;gap:.75rem;display:flex}.tt-payment-method-row__amount{color:var(--gray-800);font-weight:600}.tt-payment-remove-btn{cursor:pointer;color:var(--danger);background:0 0;border:none;padding:.1rem}.tt-payment-total-row{border-top:1px solid var(--gray-200);justify-content:space-between;margin-top:.75rem;padding-top:.75rem;display:flex}.tt-payment-total-row__label{font-size:.875rem;font-weight:600}.tt-payment-total-row__value{color:var(--gray-800);font-weight:700}.tt-payment-total-row__value--success{color:#22c55e}.tt-form-label{color:var(--gray-700);margin-bottom:.25rem;font-size:.8rem;font-weight:500;display:block}.tt-form-label--md{margin-bottom:.375rem;font-size:.875rem}.tt-error-banner{color:#dc2626;border-radius:var(--radius-md);background-color:#fee2e2;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;display:flex}.tt-match-modal-backdrop{z-index:13000!important}.tt-match-modal-title{margin:0;font-size:1.125rem;font-weight:600}.tt-match-modal-meta{gap:.5rem;margin-top:.25rem;display:flex}.tt-match-state-label{color:var(--tt-state-color);font-size:.75rem;font-weight:600}.tt-match-round-meta{color:var(--gray-500);font-size:.75rem}.tt-match-modal-tabs{border-bottom:1px solid var(--gray-200);padding:0 1.5rem;display:flex}.tt-match-modal-tab{color:var(--gray-600);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1rem;font-size:.875rem;font-weight:400}.tt-match-modal-tab--active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.tt-match-modal-section{gap:1rem;display:grid}.tt-match-modal-section--stack{flex-direction:column;gap:1rem;display:flex}.tt-match-info-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.tt-match-info-label{color:var(--gray-500);margin-bottom:.2rem;font-size:.75rem}.tt-match-info-value{color:var(--gray-800);font-weight:500}.tt-match-section-title{margin:0;font-weight:600}.tt-match-section-title--spaced{margin:0 0 .5rem;font-weight:600}.tt-match-muted-text--dim{color:var(--gray-400);font-size:.875rem}.tt-match-sets-row{flex-wrap:wrap;gap:.5rem;display:flex}.tt-match-sets-row--lg{gap:.75rem}.tt-match-set-card{background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);text-align:center;padding:.5rem 1rem}.tt-match-set-card--lg{padding:.75rem 1.25rem}.tt-match-set-card__label{color:var(--gray-500);margin-bottom:.25rem;font-size:.75rem}.tt-match-set-card__label--sm{margin-bottom:.2rem;font-size:.7rem}.tt-match-set-card__score{font-size:1.1rem;font-weight:700}.tt-match-set-card__score--lg{font-size:1.25rem;font-weight:800}.tt-match-set-card__tb{color:var(--gray-400);font-size:.7rem}.tt-match-winner-text{color:#22c55e;margin-top:.75rem;font-weight:600}.tt-match-winner-text--flat{margin:0}.tt-match-schedule-grid{grid-template-columns:1fr;gap:1rem;display:grid}.tt-match-schedule-times{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.tt-match-muted-text{color:var(--gray-500);font-size:.875rem}.tt-match-empty-panel{text-align:center;background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);padding:2rem}.tt-match-empty-panel__title{color:var(--gray-600);margin:0 0 .5rem;font-weight:500}.tt-match-empty-panel__text{color:var(--gray-500);margin:0;font-size:.875rem}.tt-match-empty-panel__btn{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;margin-top:1rem;padding:.5rem 1rem;font-size:.875rem}.tt-match-sets-form-grid,.tt-match-sub-form-grid{gap:.5rem;display:grid}.tt-match-result-header{align-items:center;gap:.5rem;display:flex}.tt-match-state-badge{color:var(--tt-state-color);background-color:color-mix(in srgb, var(--tt-state-color) 10%, transparent);border-radius:9999px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.tt-match-result-toolbar{justify-content:space-between;align-items:center;display:flex}.tt-match-add-set-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;font-size:.8rem;display:flex}.tt-match-sets-form-header,.tt-match-sets-form-row{grid-template-columns:60px 1fr 1fr 32px;align-items:center;gap:.5rem;display:grid}.tt-match-sets-form-header{color:var(--gray-500);font-size:.8rem;font-weight:500}.tt-match-set-number{color:var(--gray-600);font-weight:600}.tt-match-remove-set-btn{cursor:pointer;color:var(--danger);background:0 0;border:none}.tt-match-action-row{flex-wrap:wrap;gap:.5rem;display:flex}.tt-match-action-row--center{align-items:center}.tt-btn-action-primary{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;display:flex}.tt-btn-action-primary:disabled{cursor:not-allowed;opacity:.85}.tt-btn-action-primary--secondary{background-color:var(--gray-600)}.tt-btn-action-primary--sm{padding:.375rem .75rem;font-size:.8rem}.tt-match-davis-tip{background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);gap:.75rem;padding:1rem;display:grid}.tt-match-davis-tip__text{color:var(--gray-600);margin:0;font-size:.875rem}.tt-match-sub-panel{border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.tt-match-sub-panel-header{cursor:pointer;background-color:var(--gray-50);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.tt-match-sub-panel-header-left{align-items:center;gap:.5rem;display:flex}.tt-match-sub-panel-title{font-size:.875rem;font-weight:600}.tt-match-sub-state{color:var(--tt-state-color);font-size:.75rem;font-weight:500}.tt-match-sub-body{padding:1rem}.tt-match-sub-sets{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tt-match-sub-set-chip{background-color:var(--gray-50);border-radius:var(--radius-sm);border:1px solid var(--gray-200);text-align:center;padding:.375rem .75rem;font-size:.875rem;font-weight:700}.tt-match-sub-form-label{color:var(--gray-600);margin:0;font-size:.8rem;font-weight:600}.tt-match-sub-form-row{grid-template-columns:50px 1fr 1fr;align-items:center;gap:.5rem;display:grid}.tt-match-sub-set-label{color:var(--gray-600);font-size:.8rem}.tt-match-link-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;font-size:.8rem}.tt-spinner-inline--sm{width:12px;height:12px}.tt-spinner-inline--action{box-sizing:border-box;flex-shrink:0;align-self:center;width:14px;height:14px;display:block}.football-team-players-action-icon-slot{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;line-height:0;display:inline-flex}.football-team-players-modal-content{max-width:700px}.football-team-players-title{flex-direction:column;align-items:flex-start;gap:.25rem}.football-team-players-subtitle{color:var(--gray-500);margin:0;font-size:.875rem;font-weight:400}.football-team-players-search-row{gap:.75rem;margin-bottom:1rem;display:flex}.football-team-players-search-wrap{flex:1;position:relative}.football-team-players-search-icon{color:var(--gray-400);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.football-team-players-search-input{border:1px solid var(--gray-300);border-radius:8px;width:100%;padding:.75rem 1rem .75rem 2.75rem;font-size:.875rem}.football-team-players-add-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;display:flex}.football-team-players-list-wrap{max-height:400px;overflow:auto}.football-team-players-empty{text-align:center;color:var(--gray-500);padding:3rem}.football-team-players-list{flex-direction:column;gap:.5rem;display:flex}.football-team-players-item{border:1px solid var(--gray-200);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.football-team-players-item.is-captain{background:var(--primary-light)}.football-team-players-item-main{flex:1;align-items:center;gap:1rem;display:flex}.football-team-players-avatar,.football-team-players-avatar-placeholder{border-radius:50%;width:40px;height:40px}.football-team-players-avatar{object-fit:cover}.football-team-players-avatar-placeholder{background:var(--primary);color:#fff;justify-content:center;align-items:center;font-size:1.125rem;font-weight:700;display:flex}.football-team-players-item-info{flex:1}.football-team-players-item-name{align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;display:flex}.football-team-players-jersey,.football-team-players-position{color:var(--gray-500)}.football-team-players-jersey{margin-right:4px}.football-team-players-position{font-size:.75rem}.football-team-players-captain-icon{color:var(--primary)}.football-team-players-form{border-radius:8px;margin-bottom:1rem;padding:1rem}.football-team-players-form-edit{background:var(--warning-light)}.football-team-players-form-add{background:var(--gray-50)}.football-team-players-form-title{margin:0 0 .75rem}.football-team-players-form-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:.75rem;display:grid}.football-team-players-form-label{color:var(--gray-700);margin-bottom:.25rem;font-size:.75rem;font-weight:500;display:block}.football-team-players-form-input{border:1px solid var(--gray-300);border-radius:6px;width:100%;padding:.5rem}.football-team-players-form-input-text{font-size:.875rem}.football-team-players-photo-row{align-items:center;gap:.5rem;display:flex}.football-team-players-photo-wrap{position:relative}.football-team-players-photo{object-fit:cover;border:1px solid var(--gray-200);border-radius:8px;width:56px;height:56px}.football-team-players-photo-remove-btn{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:50%;width:18px;height:18px;font-size:12px;position:absolute;top:-4px;right:-4px}.football-team-players-photo-upload{border:2px dashed var(--gray-300);cursor:pointer;width:56px;height:56px;color:var(--gray-400);border-radius:8px;justify-content:center;align-items:center;display:flex}.football-team-players-file-input{display:none}.football-team-players-photo-help{color:var(--gray-500);font-size:.7rem}.football-team-players-form-error,.football-team-players-form-success{margin-bottom:.5rem;font-size:.75rem}.football-team-players-form-error{color:var(--danger)}.football-team-players-form-success{color:var(--success)}.football-team-players-form-actions{justify-content:flex-end;gap:.5rem;display:flex}.football-team-players-btn{border:none;border-radius:6px;padding:.5rem 1rem;font-size:.75rem;font-weight:600}.football-team-players-btn-secondary{background:var(--gray-200);cursor:pointer}.football-team-players-btn-primary{background:var(--primary);color:#fff}.football-team-players-btn-save{cursor:pointer}.football-team-players-btn-save:disabled{background:var(--gray-400);cursor:not-allowed}.football-team-players-item-actions{gap:.5rem;display:flex}.football-team-players-action-btn{box-sizing:border-box;background:var(--gray-100);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.football-team-players-action-btn:disabled{cursor:not-allowed}.football-team-players-action-btn.is-faded{opacity:.5}.football-team-players-action-btn-edit,.football-team-players-action-btn-captain{color:var(--gray-700)}.football-team-players-action-btn-remove{color:#ef4444}@media (width<=768px){.football-team-players-form-grid{grid-template-columns:1fr}}.ft-edit-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ft-edit-dialog{background:#fff;border-radius:12px;width:90%;max-width:450px;overflow:auto}.ft-edit-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:1rem;display:flex}.ft-edit-title{margin:0;font-size:1.25rem;font-weight:600}.ft-edit-close{cursor:pointer;color:var(--gray-500);background:0 0;border:none;padding:.5rem}.ft-edit-form{padding:1.5rem}.ft-edit-field{margin-bottom:1rem}.ft-edit-label{color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.ft-edit-input{border:1px solid var(--gray-300);border-radius:8px;width:100%;padding:.75rem;font-size:.875rem}.ft-edit-logo-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.ft-edit-logo-preview{object-fit:cover;border:1px solid var(--gray-200);border-radius:8px;width:80px;height:80px}.ft-edit-logo-remove{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex;position:absolute;top:-6px;right:-6px}.ft-edit-logo-upload{border:2px dashed var(--gray-300);cursor:pointer;width:80px;height:80px;color:var(--gray-400);border-radius:8px;justify-content:center;align-items:center;transition:opacity .2s,transform .2s,background-color .2s;display:flex}.ft-edit-logo-upload:hover{border-color:var(--primary);color:var(--primary)}.ft-edit-actions{border-top:1px solid var(--gray-200);gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.ft-edit-btn-cancel{background:var(--gray-200);cursor:pointer;border:none;border-radius:8px;flex:1;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600}.ft-edit-btn-cancel:disabled{cursor:not-allowed}.ft-edit-btn-save{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;display:flex}.ft-edit-btn-save:disabled{background:var(--gray-400);cursor:not-allowed}.ft-teams{background:0 0;min-height:200px}.ft-teams__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.ft-teams__title{margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.ft-teams__subtitle{color:var(--gray-500);margin:0;font-size:.875rem}.ft-teams__actions{align-items:center;gap:1rem;display:flex}.ft-teams__search-wrap{position:relative}.ft-teams__search-icon{color:var(--gray-400);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.ft-teams__search-input{border:1px solid var(--gray-300);border-radius:8px;width:250px;padding:.75rem 1rem .75rem 2.75rem;font-size:.875rem}.ft-teams__btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:opacity .2s,transform .2s,background-color .2s;display:flex}.ft-teams__btn-primary--lg{padding:.75rem 1.5rem;display:inline-flex}.ft-teams__loading{text-align:center;color:var(--gray-500);padding:3rem}.ft-teams__loading-spinner{margin:0 auto 1rem}.ft-teams__empty{text-align:center;color:var(--gray-500);border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:3rem}.ft-teams__empty-icon{opacity:.3;margin-bottom:1rem}.ft-teams__empty-title{margin:0 0 .5rem}.ft-teams__empty-desc{margin:0 0 1.5rem}.ft-teams__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.ft-teams__card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:1rem;transition:opacity .2s,transform .2s,background-color .2s}.ft-teams__card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.ft-teams__card-identity{align-items:center;gap:.75rem;display:flex}.ft-teams__logo{object-fit:cover;border-radius:8px;width:48px;height:48px}.ft-teams__logo-placeholder{background:var(--primary-light);border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.ft-teams__card-name{margin:0;font-size:1.125rem;font-weight:600}.ft-teams__captain{color:var(--gray-500);align-items:center;gap:.25rem;margin-top:.25rem;font-size:.75rem;display:flex}.ft-teams__stats{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.ft-teams__stat{text-align:center;background:var(--gray-50);border-radius:8px;padding:.75rem}.ft-teams__stat-value{font-size:1.25rem;font-weight:700}.ft-teams__stat-value--primary{color:var(--primary)}.ft-teams__stat-value--green{color:#10b981}.ft-teams__stat-value--blue{color:#3b82f6}.ft-teams__stat-label{color:var(--gray-500);font-size:.75rem}.ft-teams__card-actions{border-top:1px solid var(--gray-200);flex-wrap:wrap;gap:.5rem;padding-top:1rem;display:flex}.ft-teams__btn-secondary{background:var(--gray-100);color:var(--gray-700);cursor:pointer;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;font-weight:500;display:flex}.ft-teams__btn-icon{background:var(--gray-100);color:var(--gray-700);cursor:pointer;border:none;border-radius:6px;padding:.5rem .75rem}.csm-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1100;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.csm-modal{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000002e}.csm-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 16px;display:flex}.csm-title-area{flex-direction:column;gap:6px;min-width:0;display:flex}.csm-level-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;width:fit-content;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-block}.csm-title{color:#1a1a2e;margin:0;font-size:1.15rem;font-weight:700;line-height:1.3}.csm-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.csm-close:hover{color:#374151;background:#f3f4f6}.csm-body{flex-direction:column;flex:1;gap:10px;padding:16px 20px;display:flex;overflow-y:auto}.csm-info-row{color:#374151;align-items:center;gap:10px;font-size:.9rem;display:flex}.csm-icon{color:var(--primary,#10b981);flex-shrink:0;width:16px;height:16px}.csm-students-section{flex-direction:column;gap:8px;margin-top:6px;display:flex}.csm-students-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.csm-students-pills{flex-wrap:wrap;gap:6px;display:flex}.csm-student-pill{color:#065f46;white-space:nowrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;padding:4px 12px;font-size:.82rem;font-weight:500;display:inline-block}.csm-footer{border-top:1px solid #f0f0f0;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.csm-btn-attendance{background:var(--primary,#10b981);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 18px;font-size:.88rem;font-weight:600;transition:opacity .15s,transform .1s}.csm-btn-attendance:hover{opacity:.88}.csm-btn-attendance:active{transform:scale(.97)}.csm-btn-close{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:8px;padding:8px 16px;font-size:.88rem;font-weight:500;transition:background .15s,color .15s}.csm-btn-close:hover{color:#374151;background:#f9fafb}.att-modal{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000002e}.att-date-label{color:#9ca3af;margin:2px 0 0;font-size:.78rem}.att-table-container{flex:1;padding:4px 0;overflow-y:auto}.att-empty{text-align:center;color:#9ca3af;padding:32px 20px;font-size:.9rem}.att-table{border-collapse:collapse;width:100%;font-size:.88rem}.att-table thead{z-index:1;background:#f9fafb;position:sticky;top:0}.att-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e5e7eb;padding:10px 14px;font-size:.78rem;font-weight:600}.att-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:10px 14px}.att-table tbody tr:last-child td{border-bottom:none}.att-row-selected{background:#f0fdf4}.att-student-name{color:#111827;font-weight:500}.att-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.att-present{color:#15803d;background:#dcfce7}.att-absent{color:#b91c1c;background:#fee2e2}.att-none{color:#d1d5db}.att-footer{border-top:1px solid #f0f0f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.att-selection-info{color:#9ca3af;font-size:.82rem;font-weight:500}.att-footer-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.att-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-size:.84rem;font-weight:600;transition:opacity .15s,transform .1s;display:inline-flex}.att-btn:disabled{opacity:.45;cursor:not-allowed}.att-btn:not(:disabled):active{transform:scale(.97)}.att-btn-present{color:#fff;background:#10b981}.att-btn-present:not(:disabled):hover{background:#059669}.att-btn-absent{color:#fff;background:#ef4444}.att-btn-absent:not(:disabled):hover{background:#dc2626}.cce-event{background:color-mix(in srgb, var(--event-color,#10b981) 15%, white);border-radius:4px;flex-direction:column;gap:2px;height:100%;padding:3px 6px;display:flex;overflow:hidden}.cce-title{color:color-mix(in srgb, var(--event-color,#10b981) 80%, #111);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.cce-teacher{color:color-mix(in srgb, var(--event-color,#10b981) 70%, #555);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.cce-slot-more-btn{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px dashed #93c5fd;border-radius:6px;width:100%;height:100%;min-height:24px;font-size:.76rem;font-weight:700}.cce-slot-more-btn:hover{background:#dbeafe}.dem-modal{will-change:transform, opacity;background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:520px;max-height:82vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000038}.dem-body{flex:1;padding:12px 16px 16px;overflow-y:auto}.dem-empty{text-align:center;color:#9ca3af;padding:36px 20px;font-size:.9rem}.dem-list{flex-direction:column;gap:10px;display:flex}.dem-class-card{text-align:left;cursor:pointer;background:#f9fafb;border:1px solid #f0f0f0;border-radius:10px;align-items:stretch;width:100%;padding:0;transition:box-shadow .15s,transform .12s,background .15s;display:flex;overflow:hidden}.dem-class-card:hover{background:#f3f4f6;transform:translateY(-1px);box-shadow:0 4px 16px #00000014}.dem-card-left{flex-shrink:0;width:5px}.dem-card-content{flex-direction:column;flex:1;gap:5px;min-width:0;padding:10px 14px;display:flex}.dem-card-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.dem-class-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.dem-level-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-block}.dem-card-meta{flex-wrap:wrap;gap:8px;display:flex}.dem-meta-item{color:#6b7280;align-items:center;gap:4px;font-size:.78rem;display:inline-flex}.rbc-month-view .rbc-day-bg{cursor:pointer}.rbc-month-view .rbc-day-bg:hover{background:#10b9810a!important}.rbc-slot-selection{display:none!important}.ccal-container{padding:8px 12px}.ccal-loading{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;font-size:.92rem;display:flex}.ccal-spinner{border:3px solid #e5e7eb;border-top-color:var(--primary,#10b981);border-radius:50%;width:36px;height:36px;animation:.75s linear infinite ccal-spin}@keyframes ccal-spin{to{transform:rotate(360deg)}}.rbc-calendar{background:#fff;border-radius:10px;font-family:inherit;overflow:hidden;border:1px solid #e5e7eb!important}.rbc-toolbar{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:8px;padding:10px 14px}.rbc-toolbar-label{color:#111827;text-transform:capitalize;font-size:1rem;font-weight:700}.rbc-btn-group button{cursor:pointer;padding:5px 12px;font-family:inherit;font-size:.83rem;font-weight:500;transition:background .15s,color .15s;color:#374151!important;background:#fff!important;border:1px solid #d1d5db!important}.rbc-btn-group button:hover{background:#f3f4f6!important}.rbc-btn-group button.rbc-active{background:var(--primary,#10b981)!important;color:#fff!important;border-color:var(--primary,#10b981)!important}.rbc-header{color:#6b7280;text-transform:uppercase;background:#f9fafb;padding:8px 6px;font-size:.8rem;font-weight:600;border-bottom:1px solid #e5e7eb!important}.rbc-date-cell{color:#374151;cursor:pointer;padding:4px 8px;font-size:.82rem}.rbc-date-cell.rbc-now{color:var(--primary,#10b981);font-weight:700}.rbc-event{font-size:.78rem;border:none!important;border-radius:5px!important;padding:1px 4px!important}.rbc-show-more{color:var(--primary,#10b981);font-size:.75rem;font-weight:600}.rbc-time-view{background:#fff;border:none!important}.rbc-time-header{background:#fff;border-bottom:1px solid #e5e7eb!important}.rbc-time-content{background:#fff;border-top:1px solid #e5e7eb!important}.rbc-time-slot{color:#9ca3af;font-size:.75rem}.rbc-time-view .rbc-timeslot-group{min-height:76px}.rbc-day-bg{background:#fff!important}.rbc-month-view{background:#fff;border:none!important}.rbc-month-row{background:#fff}.rbc-current-time-indicator{background:var(--primary,#10b981);height:2px}.rbc-day-slot .rbc-event{border:none!important;border-radius:6px!important}.rbc-today{background:#10b9810f!important}.cls-calendar-card{cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#0087ff22 0%,#0087ff11 100%);border:1.5px solid #0087ff55;border-left:4px solid #0087ff;border-radius:6px;padding:4px 8px;transition:box-shadow .15s,transform .1s;overflow:hidden}.cls-calendar-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0087ff33}.cls-card-name{color:#0060cc;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:700;display:block;overflow:hidden}.cls-card-time{color:#4a90d9;font-size:.72rem;display:block}.cls-card-teacher{color:#6aabf7;white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;display:block;overflow:hidden}.cls-month-pill{color:#1e40af;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#dbeafe;border-left:3px solid #3b82f6;border-radius:4px;margin-bottom:2px;padding:2px 6px;font-size:.73rem;font-weight:600;transition:background .15s;display:block;overflow:hidden}.cls-month-pill:hover{background:#bfdbfe}@keyframes ccsk-pulse{0%,to{opacity:1}50%{opacity:.45}}.ccal-skeleton{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:0;padding:8px 12px;display:flex;overflow:hidden}.ccsk-toolbar{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.ccsk-nav-group,.ccsk-views-group{align-items:center;gap:6px;display:flex}.ccsk-btn{background:#e5e7eb;border-radius:6px;width:36px;height:30px;animation:1.4s ease-in-out infinite ccsk-pulse}.ccsk-btn.wide{width:70px}.ccsk-title{background:#e5e7eb;border-radius:6px;width:160px;height:18px;animation:1.4s ease-in-out infinite ccsk-pulse}.ccsk-grid{flex-direction:column;display:flex}.ccsk-day-headers{border-bottom:1px solid #e5e7eb;grid-template-columns:repeat(7,1fr);display:grid}.ccsk-day-header{text-align:center;color:#9ca3af;border-right:1px solid #f3f4f6;padding:8px 4px;font-size:.78rem;font-weight:600}.ccsk-day-header:last-child{border-right:none}.ccsk-week-row{border-bottom:1px solid #f3f4f6;grid-template-columns:repeat(7,1fr);min-height:90px;display:grid}.ccsk-week-row:last-child{border-bottom:none}.ccsk-day-cell{border-right:1px solid #f3f4f6;flex-direction:column;gap:4px;padding:6px 5px;display:flex}.ccsk-day-cell:last-child{border-right:none}.ccsk-day-num{background:#e5e7eb;border-radius:4px;width:22px;height:10px;margin-bottom:4px;animation:1.4s ease-in-out infinite ccsk-pulse}.ccsk-event{background:#d1fae5;border-radius:4px;width:90%;height:18px;animation:1.4s ease-in-out infinite ccsk-pulse}.ft-match-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);margin-bottom:.75rem;font-size:.875rem;font-weight:700}.ft-match-card{background:var(--gray-50);border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.ft-match-card--compact{padding:.5rem .75rem}.ft-match-card--empty{color:var(--gray-400);justify-content:center}.ft-match-card--suspended{opacity:.5}.ft-match-card--team2{flex-direction:row-reverse}.ft-match-badge{background:var(--ft-badge-bg,var(--gray-100));color:var(--ft-badge-color,var(--gray-700));border-radius:12px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.7rem;font-weight:600;display:inline-flex}.ft-match-badge--danger{--ft-badge-bg:#fee2e2;--ft-badge-color:#dc2626}.ft-match-modal-header{background:var(--primary);color:#fff;border-bottom:none}.ft-match-modal-header-inner{align-items:center;gap:.75rem;display:flex}.ft-match-modal-title{color:#fff;margin:0;font-size:1.1rem;font-weight:700}.ft-match-modal-subtitle{opacity:.85;margin-top:.25rem;font-size:.8rem}.ft-match-close-btn{color:#fff;background:#fff3}.ft-match-close-btn:hover{background:#ffffff4d}.ft-match-scoreboard{background:var(--gray-50);border-bottom:1px solid var(--gray-200);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1rem;display:grid}.ft-match-team-col{text-align:center}.ft-match-team-logo{object-fit:cover;border-radius:10px;width:56px;height:56px;margin-bottom:.5rem}.ft-match-team-logo-placeholder{background:var(--gray-200);border-radius:10px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto .5rem;display:flex}.ft-match-team-name{font-size:1rem;font-weight:700}.ft-match-score-col{text-align:center}.ft-match-status-badge{margin-top:.5rem}.ft-match-info-row{border-bottom:1px solid var(--gray-200);flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem 0;display:flex}.ft-match-info-pill{color:var(--gray-600);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.ft-match-error-banner{color:#dc2626;background:#fee2e2;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.ft-match-jersey{background:var(--primary);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.ft-match-player-row{align-items:center;gap:.5rem;display:flex}.ft-match-player-row--reverse{flex-direction:row-reverse}.ft-match-player-name{font-size:.85rem;font-weight:600}.ft-match-player-meta{color:var(--gray-500);font-size:.7rem}.ft-match-roster-list{flex-direction:column;gap:.35rem;display:flex}.ft-match-score-edit{align-items:center;gap:.75rem;display:flex}.ft-match-score-input{border:2px solid var(--gray-300);background:#fff;border-radius:10px;min-width:60px;padding:.25rem;font-size:2.5rem;font-weight:800}.ft-match-score-sep{color:var(--gray-400);font-size:1.5rem;font-weight:700}.ft-match-score-display{align-items:center;gap:.75rem;display:flex}.ft-match-score-value{font-size:2.5rem;font-weight:800}.ft-match-score-vs{color:var(--gray-400);font-size:1.25rem;font-weight:700}.ft-match-error-state{text-align:center;padding:3rem}.ft-match-error-icon{color:var(--danger);margin-bottom:1rem}.ft-match-error-text{color:var(--gray-600)}.ft-match-error-close{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:1rem;padding:.75rem 1.5rem;font-weight:600}.ft-match-add-btn{color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.25rem;padding:.3rem .6rem;font-size:.75rem;display:flex}.ft-match-add-btn--goal{background:var(--primary)}.ft-match-add-btn--yellow{background:#f59e0b}.ft-match-add-btn--red{background:#ef4444}.ft-match-notes-textarea{border:1px solid var(--gray-300);resize:vertical;border-radius:8px;width:100%;min-height:80px;padding:.75rem;font-family:inherit;font-size:.875rem}.ft-match-footer-cancel{border:1px solid var(--gray-300);color:var(--gray-700);cursor:pointer;background:#fff;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600}.ft-match-footer-cancel:disabled{cursor:not-allowed}.ft-match-footer-save{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;width:fit-content;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;display:flex}.ft-match-footer-save:disabled{background:var(--gray-400);cursor:not-allowed}.ft-match-entry-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.ft-match-entry-card--yellow{border-color:#f59e0b40}.ft-match-entry-card--red{border-color:#ef444440}.ft-match-entry-remove{cursor:pointer;color:var(--danger);background:0 0;border:none;padding:.2rem;display:flex}.ft-match-form-input{border:1px solid var(--gray-300);background:#fff;border-radius:6px;width:100%;padding:.5rem;font-size:.8rem}.ft-match-roster-badge{font-size:.75rem}.ft-match-section-block{margin-bottom:1.5rem}.ft-match-two-col-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.ft-match-team-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.ft-match-team-name-label{font-size:.875rem;font-weight:600}.ft-match-stack{flex-direction:column;gap:.5rem;display:flex}.ft-move-round-backdrop{z-index:50;background-color:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.ft-move-round-dialog{border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);background-color:#fff;width:100%;max-width:400px;padding:1.25rem}.ft-move-round-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.ft-move-round-title{margin:0;font-size:1.05rem;font-weight:600}.ft-move-round-subtitle{color:var(--gray-600);margin:.35rem 0 0;font-size:.85rem}.ft-move-round-meta{color:var(--gray-500);margin:.35rem 0 0;font-size:.8rem}.ft-move-round-close{cursor:pointer;background:0 0;border:none;padding:.25rem}.ft-move-round-error{color:#dc2626;border-radius:var(--radius-md);background-color:#fee2e2;margin-bottom:.75rem;padding:.6rem;font-size:.8rem}.ft-move-round-label{color:var(--gray-700);margin-bottom:.35rem;font-size:.875rem;font-weight:500;display:block}.ft-move-round-select{width:100%;margin-bottom:1rem}.ft-move-round-actions{justify-content:flex-end;gap:.5rem;display:flex}.ft-move-round-btn-cancel{background:var(--gray-100);color:var(--gray-800);border-radius:var(--radius-md);cursor:pointer;border:none;padding:.6rem 1rem;font-size:.875rem;font-weight:500}.ft-move-round-btn-confirm{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.6rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.ft-move-round-btn-confirm:disabled{cursor:not-allowed;opacity:.85}.ft-fix-btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;display:flex}.ft-fix-loading{text-align:center;color:var(--gray-500);padding:3rem}.ft-fix-loading .spinner{margin:0 auto 1rem}.ft-fix-empty{text-align:center;color:var(--gray-500);border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:3rem}.ft-fix-empty__icon{opacity:.3;margin-bottom:1rem}.ft-fix-empty__title{margin:0 0 .5rem}.ft-fix-empty__text{margin:0 0 1.5rem}.ft-fix-btn-generate{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;display:inline-flex}.ft-fix-btn-generate:disabled{background:var(--gray-400);cursor:not-allowed}.ft-fix-calendar-wrap{border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:.75rem}.ft-fix-rounds-stack{flex-direction:column;gap:1.5rem;display:flex}.ft-fix-match-card{text-align:left;width:100%;font:inherit;color:inherit;border:1px solid var(--gray-200);cursor:pointer;background:#fff;border-radius:12px;padding:1rem;transition:opacity .2s,transform .2s,background-color .2s,box-shadow .2s}.ft-fix-match-card:hover{box-shadow:0 4px 12px #0000001a}.ft-fix-move-round-btn{color:var(--primary);border:1px solid var(--primary);cursor:pointer;background-color:#fff;border-radius:8px;align-items:center;gap:.35rem;padding:.4rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.ft-fix-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.ft-fix-modal-panel{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;padding:1rem;overflow:auto}.ft-fix-modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.ft-fix-modal-title{margin:0;font-size:1.5rem;font-weight:600}.ft-fix-modal-close{cursor:pointer;color:var(--gray-600);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem;display:flex}.ft-fix-form-stack{flex-direction:column;gap:1rem;display:flex}.ft-fix-form-label{color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.ft-fix-form-actions{gap:.75rem;margin-top:1rem;display:flex}.ft-fix-btn-cancel{border:1px solid var(--gray-300);color:var(--gray-700);cursor:pointer;background:#fff;border-radius:8px;flex:1;padding:.75rem;font-size:.875rem;font-weight:600}.ft-fix-btn-cancel:disabled{cursor:not-allowed}.ft-fix-btn-submit{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;flex:1;padding:.75rem;font-size:.875rem;font-weight:600}.ft-fix-btn-submit:disabled{background:var(--gray-400);cursor:not-allowed}.fts-root{background:0 0;min-height:200px}.fts-header{margin-bottom:1.5rem}.fts-title{margin:0 0 1rem;font-size:1.5rem;font-weight:600}.fts-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.fts-tab{border:2px solid var(--gray-200);color:var(--gray-700);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:opacity .2s,transform .2s,background-color .2s,border-color .2s,color .2s;display:flex}.fts-tab--active{border-color:var(--fts-tab-color,var(--primary));background:var(--fts-tab-bg,white);color:var(--fts-tab-color,var(--primary))}.fts-empty-panel{text-align:center;color:var(--gray-500);border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:3rem}.fts-empty-panel--plain{background:0 0;border:none}.fts-empty-icon{opacity:.3;margin-bottom:1rem}.fts-loading{text-align:center;color:var(--gray-500);padding:3rem}.fts-loading-spinner{margin:0 auto 1rem}.fts-table-wrap{border:1px solid var(--gray-200);background:#fff;border-radius:12px;overflow:hidden}.fts-table{border-collapse:collapse;width:100%;font-size:.875rem}.fts-thead-row{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.fts-th{text-align:left;color:var(--gray-700);padding:1rem;font-weight:600}.fts-th--pos{width:60px}.fts-th--center{text-align:center}.fts-th--accent{background:var(--fts-th-accent-bg,var(--primary-light))}.fts-tbody-row{border-bottom:1px solid var(--gray-100);transition:background-color .2s}.fts-tbody-row:hover{background:var(--gray-50)}.fts-td{padding:1rem}.fts-td--center{text-align:center}.fts-td--accent{background:var(--primary-light)}.fts-rank-badge{background:var(--gray-200);width:36px;height:36px;color:var(--gray-700);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.fts-rank-badge--top{background:var(--fts-accent-color,var(--primary));color:#fff;font-size:1.125rem}.fts-rank-badge--first{font-size:1.125rem}.fts-player-cell{align-items:center;gap:.75rem;display:flex}.fts-player-photo{object-fit:cover;border:2px solid var(--gray-200);border-radius:50%;width:40px;height:40px}.fts-player-name{color:var(--gray-900);font-weight:600}.fts-player-jersey{color:var(--gray-500);font-size:.75rem}.fts-team-cell{align-items:center;gap:.5rem;display:flex}.fts-team-logo{object-fit:cover;border-radius:4px;width:24px;height:24px}.fts-team-logo--md{border-radius:6px;width:32px;height:32px}.fts-team-name{color:var(--gray-700)}.fts-team-name--bold{color:var(--gray-900);font-weight:600}.fts-stat-pill{background:var(--fts-stat-bg,var(--primary-light));color:var(--fts-stat-color,var(--primary));border-radius:8px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:1.125rem;font-weight:700;display:inline-flex}.fts-stat-pill--fair-play{color:var(--primary);background:#fff}.fts-card-yellow{color:#f59e0b;font-weight:600}.fts-card-red{color:#ef4444;font-weight:600}.ft-detail-root{background:#fff;border-radius:12px;min-height:calc(100vh - 3rem);padding:1rem}.ft-detail-loading{justify-content:center;align-items:center;min-height:400px;display:flex}.ft-detail-not-found{text-align:center;color:var(--gray-500);padding:3rem}.ft-detail-not-found__icon{opacity:.3;margin-bottom:1rem}.ft-detail-not-found__btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:1rem;padding:.75rem 1.5rem}.ft-detail-hero{background:var(--primary);color:#fff;border-radius:16px;margin-bottom:1.5rem;padding:2rem;box-shadow:0 4px 20px #4faf4433}.ft-detail-hero__inner{align-items:flex-start;gap:1.5rem;display:flex}.ft-detail-hero__img{object-fit:cover;border:3px solid #fff;border-radius:12px;width:100px;height:100px;box-shadow:0 4px 12px #0000001a}.ft-detail-hero__img-placeholder{background:#fff3;border:3px solid #fff;border-radius:12px;justify-content:center;align-items:center;width:100px;height:100px;display:flex}.ft-detail-hero__body{flex:1}.ft-detail-hero__title{color:#fff;margin:0 0 .5rem;font-size:2rem;font-weight:700}.ft-detail-hero__meta{opacity:.95;flex-wrap:wrap;gap:1.5rem;font-size:.95rem;display:flex}.ft-detail-hero__badge{background:#fff3;border:1px solid #ffffff59;border-radius:999px;padding:.125rem .625rem;font-weight:600}.ft-detail-hero__desc{opacity:.9;margin-top:.75rem;margin-bottom:0;font-size:.95rem}.ft-detail-hero__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.ft-detail-header-btn{cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.ft-detail-header-btn--ghost{color:var(--gray-700);border:1px solid var(--gray-300);background:#fff}.ft-detail-header-btn--ghost:hover{background:var(--gray-50)}.ft-detail-header-btn--primary{background:var(--primary);color:#fff;border:none}.ft-detail-header-btn--danger{background:var(--danger);color:#fff;border:none}.ft-detail-topbar{flex-wrap:nowrap;align-items:center;gap:.5rem;display:flex}.ft-detail-tabs{border-bottom:2px solid var(--gray-200);gap:.5rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.ft-detail-tab{color:var(--gray-600);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-weight:500;transition:all .2s;display:flex}.ft-detail-tab--active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.ft-detail-error-fallback{text-align:center;border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:3rem}.ft-detail-error-fallback__icon{color:var(--danger);margin-bottom:1rem}.ft-detail-error-fallback__title{color:var(--gray-800);margin-bottom:.5rem}.ft-detail-error-fallback__text{color:var(--gray-500);margin-bottom:1.5rem}.ft-detail-error-fallback__btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:500}:root{--color-primary:#0f766e;--color-primary-dark:#0d5d57;--color-primary-light:#14b8a6;--color-secondary:#f59e0b;--color-background:#f8fafc;--color-surface:#fff;--color-text:#1e293b;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-success:#10b981;--color-error:#ef4444;--color-warning:#f59e0b;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a}._container_565ez_30{min-height:100vh;color:var(--color-text);background:linear-gradient(135deg,#f8fafc 0%,#e0f2f1 100%);padding:2rem 1rem}._content_565ez_37{max-width:900px;margin:0 auto}._loadingContainer_565ez_43,._errorContainer_565ez_44{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;display:flex}._spinner_565ez_54{animation:1s linear infinite _spin_565ez_54}@keyframes _spin_565ez_54{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._errorIcon_565ez_67{color:var(--color-error)}._btnPrimary_565ez_71{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}._btnPrimary_565ez_71:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}._successContainer_565ez_90{justify-content:center;align-items:center;min-height:60vh;padding:2rem 1rem;display:flex}._successCard_565ez_98{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;background:#fff;max-width:600px;padding:3rem 2rem}._successIcon_565ez_107{color:var(--color-success);margin-bottom:1.5rem}._successCard_565ez_98 h2{color:var(--color-primary);margin-bottom:1rem;font-size:2rem}._successMessage_565ez_118{color:var(--color-text);margin-bottom:2rem;font-size:1.125rem}._successInfo_565ez_124{background:var(--color-background);border-radius:var(--radius-md);text-align:left;margin:2rem 0;padding:1.5rem}._successInfo_565ez_124 h3{color:var(--color-primary);margin-bottom:1rem;font-size:1.25rem}._successInfo_565ez_124 p{color:var(--color-text-muted);margin-bottom:.5rem}._paymentInfo_565ez_143{border:2px solid var(--color-warning);border-radius:var(--radius-md);text-align:left;background:#fef3c7;align-items:flex-start;gap:1rem;margin:2rem 0;padding:1.5rem;display:flex}._paymentInfo_565ez_143 svg{color:var(--color-warning);flex-shrink:0}._paymentInfo_565ez_143 h4{color:var(--color-text);margin-bottom:.5rem}._paymentInfo_565ez_143 p{color:var(--color-text-muted);font-size:.875rem}._successNote_565ez_170{color:var(--color-text-muted);margin-top:1.5rem;font-size:.875rem}._tournamentHeader_565ez_177{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;margin-bottom:2rem;overflow:hidden}._tournamentImageContainer_565ez_185{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);width:100%;height:300px;overflow:hidden}._tournamentImage_565ez_185{object-fit:cover;width:100%;height:100%}._tournamentInfo_565ez_198{padding:2rem}._tournamentBadge_565ez_202{background:var(--color-primary-light);color:#fff;border-radius:var(--radius-md);align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-flex}._tournamentName_565ez_215{color:var(--color-primary);margin-bottom:.75rem;font-size:2rem;font-weight:700}._tournamentDescription_565ez_222{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:1rem;line-height:1.6}._tournamentDetails_565ez_229{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}._detailItem_565ez_236{align-items:flex-start;gap:1rem;display:flex}._detailItem_565ez_236 svg{color:var(--color-primary);flex-shrink:0;margin-top:.25rem}._detailItem_565ez_236>div{flex-direction:column;display:flex}._detailLabel_565ez_253{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.875rem}._detailValue_565ez_259{color:var(--color-text);font-size:1rem;font-weight:600}._detailSubvalue_565ez_265{color:var(--color-text-muted);font-size:.875rem}._statsRow_565ez_270{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2rem;display:grid}._statCard_565ez_277{background:var(--color-background);border-radius:var(--radius-md);text-align:center;border:2px solid var(--color-border);padding:1.5rem}._statLabel_565ez_285{color:var(--color-text-muted);margin-bottom:.5rem;font-size:.875rem;display:block}._statValue_565ez_292{color:var(--color-primary);font-size:1.5rem;font-weight:700;display:block}._formSection_565ez_300{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;padding:2rem}._formTitle_565ez_307{color:var(--color-primary);text-align:center;margin-bottom:2rem;font-size:1.75rem;font-weight:700}._registrationForm_565ez_315{flex-direction:column;gap:2rem;display:flex}._formGroup_565ez_321{flex-direction:column;gap:1.5rem;display:flex}._sectionTitle_565ez_327{color:var(--color-primary);border-bottom:2px solid var(--color-border);align-items:center;gap:.5rem;padding-bottom:.75rem;font-size:1.25rem;font-weight:600;display:flex}._inputGroup_565ez_338{flex-direction:column;gap:.5rem;display:flex}._inputGroup_565ez_338 label{color:var(--color-text);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}._input_565ez_338,._select_565ez_354{border:2px solid var(--color-border);border-radius:var(--radius-md);background:#fff;width:100%;padding:.75rem;font-size:1rem;transition:all .2s}._input_565ez_338:focus,._select_565ez_354:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #0f766e1a}._helpText_565ez_371{color:var(--color-text-muted);font-size:.75rem}._inputRow_565ez_376{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}._radioGroup_565ez_382{flex-direction:column;gap:1rem;display:flex}._radioLabel_565ez_388{border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:.75rem;padding:1rem;transition:all .2s;display:flex}._radioLabel_565ez_388:hover{border-color:var(--color-primary);background:var(--color-background)}._radioLabel_565ez_388 input[type=radio]{width:1.25rem;height:1.25rem;accent-color:var(--color-primary);cursor:pointer}._radioLabel_565ez_388 span{font-weight:500}._formActions_565ez_416{justify-content:center;margin-top:1rem;display:flex}._btnSubmit_565ez_422{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-md);border:none;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:1.125rem;font-weight:600;transition:all .3s;display:flex}._btnSubmit_565ez_422:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}._btnSubmit_565ez_422:disabled{opacity:.6;cursor:not-allowed}._formNote_565ez_449{text-align:center;color:var(--color-text-muted);margin-top:1rem;font-size:.875rem}@media (width<=768px){._container_565ez_30{padding:1rem .5rem}._tournamentInfo_565ez_198{padding:1.5rem}._tournamentName_565ez_215{font-size:1.5rem}._tournamentDetails_565ez_229{grid-template-columns:1fr}._formSection_565ez_300{padding:1.5rem 1rem}._inputRow_565ez_376,._statsRow_565ez_270{grid-template-columns:1fr}._btnSubmit_565ez_422{justify-content:center;width:100%}}@media (width<=480px){._tournamentImageContainer_565ez_185{height:200px}._tournamentName_565ez_215{font-size:1.25rem}._formTitle_565ez_307{font-size:1.5rem}._successCard_565ez_98{padding:2rem 1rem}}.tennis-register-team-overlay{z-index:13000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.tennis-register-team-modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);background-color:#fff;flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex}.tennis-register-team-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.tennis-register-team-title{margin:0;font-size:1.125rem;font-weight:600}.tennis-register-team-close-btn{cursor:pointer;color:var(--gray-500);background:0 0;border:none;align-items:center;padding:.25rem;display:flex}.tennis-register-team-body{max-height:calc(80vh - 130px);padding:1.5rem;overflow-y:auto}.tennis-register-team-error{color:#dc2626;border-radius:var(--radius-md);background-color:#fee2e2;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.tennis-register-team-singles-info{border-radius:var(--radius-md);color:#0369a1;background-color:#e0f2fe;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.tennis-register-team-field-wrap{margin-bottom:1.25rem}.tennis-register-team-auto-input{background-color:var(--gray-50);cursor:default}.tennis-register-team-players-section{margin-bottom:1rem}.tennis-register-team-players-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.tennis-register-team-create-player-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;font-size:.8rem;display:flex}.tennis-register-team-player-list{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.tennis-register-team-player-row{background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.tennis-register-team-player-main{align-items:center;gap:.5rem;display:flex}.tennis-register-team-player-icon{color:var(--gray-400)}.tennis-register-team-player-name{font-weight:500}.tennis-register-team-player-ranking{color:var(--gray-500);font-size:.75rem}.tennis-register-team-player-remove-btn{cursor:pointer;color:var(--danger);background:0 0;border:none}.tennis-register-team-search-wrap,.tennis-register-team-search-anchor{position:relative}.tennis-register-team-search-icon{color:var(--gray-400);position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.tennis-register-team-search-input{padding-left:2.25rem}.tennis-register-team-search-status{color:var(--gray-500);margin-top:.25rem;font-size:.8rem}.tennis-register-team-create-form{background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);gap:.75rem;padding:1rem;display:grid}.tennis-register-team-create-form-title{margin:0;font-size:.9rem;font-weight:600}.tennis-register-team-create-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.tennis-register-team-create-submit-btn{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:.5rem 1rem;font-size:.875rem}.tennis-register-team-footer{border-top:1px solid var(--gray-200);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.tennis-register-team-btn-cancel,.tennis-register-team-btn-primary{border-radius:var(--radius-md);cursor:pointer;padding:.75rem 1.25rem;font-weight:500}.tennis-register-team-btn-cancel{color:var(--gray-700);border:1px solid var(--gray-300);background-color:#fff}.tennis-register-team-btn-primary{background-color:var(--primary);color:#fff;border:none}.tennis-register-team-client-list{top:var(--tt-client-list-top);left:var(--tt-client-list-left);width:var(--tt-client-list-width);max-height:var(--tt-client-list-max-height);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:13050;background-color:#fff;margin:0;padding:0;list-style:none;position:fixed;overflow-y:auto}.tennis-register-team-client-btn:hover{background-color:var(--gray-50)}.tennis-register-team-client-list-item{border-bottom:1px solid var(--gray-100)}.tennis-register-team-client-btn{cursor:pointer;text-align:left;background:#fff;border:none;width:100%;padding:.75rem 1rem}.tennis-register-team-client-name{font-weight:500}.tennis-register-team-client-meta{color:var(--gray-500);font-size:.8rem}@media (width<=640px){.tennis-register-team-create-grid{grid-template-columns:1fr}}.tennis-team-players-modal-content{max-width:560px}.tennis-team-players-modal-body{padding:1.5rem}.tennis-team-players-section{margin-bottom:1.25rem}.tennis-team-players-section-title{color:var(--gray-700);margin-bottom:.75rem;font-size:.9rem;font-weight:600}.tennis-team-players-empty{color:var(--gray-400);text-align:center;padding:1rem;font-size:.875rem}.tennis-team-players-list{flex-direction:column;gap:.5rem;display:flex}.tennis-team-players-row{background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.tennis-team-players-main{align-items:center;gap:.5rem;display:flex}.tennis-team-players-avatar,.tennis-team-players-avatar-placeholder{border-radius:50%;width:32px;height:32px}.tennis-team-players-avatar{object-fit:cover}.tennis-team-players-avatar-placeholder{background-color:var(--gray-200);justify-content:center;align-items:center;display:flex}.tennis-team-players-avatar-icon{color:var(--gray-500)}.tennis-team-players-name{font-size:.875rem;font-weight:500}.tennis-team-players-ranking{color:var(--gray-500);font-size:.75rem}.tennis-team-players-remove-btn{cursor:pointer;color:var(--danger);background:0 0;border:none;padding:.25rem}.tennis-team-players-add-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.tennis-team-players-add-title{color:var(--gray-700);margin:0;font-size:.9rem;font-weight:600}.tennis-team-players-create-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;font-size:.8rem;display:flex}.tennis-team-players-search-wrap{position:relative}.tennis-team-players-search-icon{color:var(--gray-400);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.tennis-team-players-search-input{padding-left:2.25rem}.tennis-team-players-search-results{border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:10;background-color:#fff;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.tennis-team-players-search-result-btn{cursor:pointer;border-bottom:1px solid var(--gray-100);text-align:left;background:#fff;border-top:none;border-left:none;border-right:none;width:100%;padding:.75rem 1rem}.tennis-team-players-search-result-name{font-size:.875rem;font-weight:500}.tennis-team-players-search-result-meta,.tennis-team-players-search-status{color:var(--gray-500);font-size:.75rem}.tennis-team-players-search-status{margin-top:.25rem}.tennis-team-players-create-form{background-color:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);gap:.75rem;margin-top:.75rem;padding:1rem;display:grid}.tennis-team-players-create-title{margin:0;font-size:.875rem;font-weight:600}.tennis-team-players-create-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.tennis-team-players-form-label{margin-bottom:.25rem;font-size:.8rem;font-weight:500;display:block}.tennis-team-players-create-submit{width:fit-content}@media (width<=640px){.tennis-team-players-create-grid{grid-template-columns:1fr}}.tt-detail-root{background:#fff;border-radius:12px;min-height:calc(100vh - 3rem);padding:1rem}.tt-detail-hero{color:#fff;background:linear-gradient(135deg,#0ea5e9 0%,#6366f1 100%);border-radius:16px;margin-bottom:1rem;padding:1rem 1.25rem;box-shadow:0 4px 20px #0ea5e933}.tt-detail-hero__inner{align-items:flex-start;gap:1rem;display:flex}.tt-detail-hero__img{object-fit:cover;border:2px solid #fff;border-radius:10px;flex-shrink:0;width:72px;height:72px;box-shadow:0 4px 12px #0000001a}.tt-detail-hero__img-placeholder{background:#fff3;border:2px solid #fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.tt-detail-hero__body{flex:1;min-width:0}.tt-detail-hero__title{color:#fff;margin:0 0 .25rem;font-size:1.35rem;font-weight:700;line-height:1.25}.tt-detail-hero__meta{opacity:.95;flex-wrap:wrap;gap:.75rem;font-size:.8125rem;display:flex}.tt-detail-hero__desc{opacity:.9;margin-top:.45rem;margin-bottom:0;font-size:.8125rem;line-height:1.4}.tt-detail-hero__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.65rem;display:flex}.tt-detail-header-btn{border:1px solid var(--gray-300);color:var(--gray-700);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.tt-detail-header-btn--compact{gap:5px;padding:7px 12px;font-size:13px}.tt-detail-header-btn--primary{background:var(--primary);color:#fff;border:none}.tt-detail-header-btn--white{border:1px solid var(--gray-300);color:var(--gray-700);background:#fff}.tt-detail-header-btn--white:hover{background:var(--gray-50);color:var(--gray-800);border-color:var(--gray-300)}.tt-detail-header-btn--danger{background:var(--danger);color:#fff;border:none}.tt-detail-tabs{border-bottom:2px solid var(--gray-200);gap:.5rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.tt-detail-tab{color:var(--gray-600);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-weight:500;transition:all .2s;display:flex}.tt-detail-tab--active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.tt-detail-category-section{margin-bottom:1.5rem}.tt-detail-category-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.tt-detail-category-pill{border:2px solid var(--gray-300);color:var(--gray-700);cursor:pointer;background-color:#fff;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.tt-detail-category-pill--active{border-color:var(--primary);background-color:var(--primary);color:#fff}.tt-detail-category-pill__format{opacity:.7;font-size:.75rem}.tt-detail-category-pill--active .tt-detail-category-pill__format{opacity:.9}.tt-detail-format-badge{border-radius:var(--radius-md);color:var(--gray-600);background-color:#f1f5f9;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;display:inline-flex}.tt-detail-format-badge--groups{color:#0369a1;background-color:#e0f2fe}.tt-detail-format-link{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.tt-detail-empty-categories{text-align:center;color:var(--gray-500);background:var(--gray-50);border-radius:12px;margin-bottom:1.5rem;padding:2rem}.tt-detail-empty-link{color:var(--primary);cursor:pointer;background:0 0;border:none;font-weight:600}.tt-detail-fixtures-tabs{gap:.5rem;margin-top:1rem;margin-bottom:1rem;display:flex}.tt-detail-subtab{border-radius:var(--radius-md);background:var(--gray-100);color:var(--gray-700);cursor:pointer;border:none;padding:.5rem 1rem;font-weight:500}.tt-detail-subtab--active{background:var(--primary);color:#fff}.tt-detail-not-found{text-align:center;color:var(--gray-500);padding:3rem}.tt-detail-not-found__icon{opacity:.3;margin-bottom:1rem}.tt-detail-not-found-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:1rem;padding:.75rem 1.5rem}.tt-detail-error-fallback{text-align:center;border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:3rem}.tt-detail-error-fallback__icon{color:var(--danger);margin-bottom:1rem}.tt-detail-error-fallback__title{margin-bottom:.5rem}.tt-detail-error-fallback-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem}.tt-detail-teams-stack{flex-direction:column;gap:2rem;display:flex}@media (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 (width<=768px){.classes-header{text-align:center;flex-direction:column;align-items:stretch;gap:1rem}.classes-grid,.filters-container{grid-template-columns:1fr}.search-input{width:100%}.filters-section-new .filters-header{flex-direction:column;align-items:stretch}.filters-section-new .search-box{width:100%;max-width:100%}.filters-section-new .filters-row{flex-direction:column;width:100%}.filters-section-new .filter-group{width:100%;min-width:unset}.filters-section-new .view-toggle{align-self:flex-end}.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{text-align:center;flex-direction:column;align-items:center}.payment-modal .method-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media (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 (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{content:"";border:3px solid #ccc;border-width:3px 3px 0 0;width:9px;height:9px;display:block;position:absolute;top:6px}.react-datepicker__sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker-wrapper{border:0;padding:0;display:inline-block}.react-datepicker{color:#000;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:initial;background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative}.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-right-radius:.3rem;border-bottom-left-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{margin:0 15px;display:inline-block}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{color:#000;margin-top:0;font-size:.944rem;font-weight:700}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{text-align:center;cursor:pointer;z-index:1;text-indent:-999em;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:2px;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{margin-left:auto;margin-right:auto;display:block;position:relative;top:0}.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{width:0;font-size:20px;position:relative;top:-1px}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{text-align:center;margin:.4rem}.react-datepicker__year-wrapper{flex-wrap:wrap;max-width:180px;display:flex}.react-datepicker__year .react-datepicker__year-text{width:4rem;margin:2px;display:inline-block}.react-datepicker__month{text-align:center;margin:.4rem}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{width:4rem;margin:2px;display:inline-block}.react-datepicker__input-time-container{clear:both;float:left;text-align:left;width:100%;margin:5px 0 10px 15px}.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{margin-left:10px;display:inline-block}.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{-webkit-appearance:none;margin:0}.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{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;top:0;right:-87px}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{text-align:center;border-bottom-right-radius:.3rem;width:85px;margin:0 auto;overflow-x:hidden}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:content-box;width:100%;height:calc(195px + .85rem);margin:0;padding-left:0;padding-right:0;list-style:none;overflow-y:scroll}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{white-space:nowrap;height:30px;padding:5px 10px}.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{color:#fff;background-color:#216ba5;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:#0000}.react-datepicker__week-number{color:#ccc;text-align:center;width:1.7rem;margin:.166rem;line-height:1.7rem;display:inline-block}.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{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{color:#fff;background-color:#216ba5;border-radius:.3rem}.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;text-align:center;width:1.7rem;margin:.166rem;line-height:1.7rem;display:inline-block}.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{background-color:#f0f0f0;border-radius:.3rem}.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{color:#fff;background-color:#3dcc4a;border-radius:.3rem}.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{color:#fff;background-color:#ff6803;border-radius:.3rem;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.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{color:#fff;background-color:#216ba5;border-radius:.3rem}.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{color:#000;background-color:#bad9f1;border-radius:.3rem}.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{color:#fff;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){color:#000;background-color:#f0f0f0}.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{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:70%;left:50%;transform:translate(-50%)}.react-datepicker__input-container{width:100%;display:inline-block;position:relative}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:content-box;padding:.5rem;position:absolute}.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 #0000;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{top:0;right:-16px;transform:rotate(135deg)}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{z-index:1;text-align:center;background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;width:50%;position:absolute;top:30px;left:25%}.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{width:100%;margin-left:auto;margin-right:auto;line-height:20px;display:block}.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;user-select:none;border-bottom-right-radius:.3rem;border-bottom-left-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;vertical-align:middle;background-color:#0000;border:0;outline:0;height:100%;padding:0 6px 0 0;display:table-cell;position:absolute;top:0;right:0}.react-datepicker__close-icon:after{cursor:pointer;color:#fff;text-align:center;vertical-align:middle;content:"×";background-color:#216ba5;border-radius:50%;width:16px;height:16px;padding:2px;font-size:12px;line-height:1;display:table-cell}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{cursor:pointer;text-align:center;clear:left;background:#f0f0f0;border-top:1px solid #aeaeae;padding:5px 0;font-weight:700}.react-datepicker__portal{z-index:2147483647;background-color:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.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 (width<=400px),(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;height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem}.react-datepicker__aria-live{clip-path:circle(0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker__calendar-icon{vertical-align:-.125em;width:1em;height:1em}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{text-transform:none;appearance:button;cursor:pointer;overflow:visible}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:10px;font-size:16px;display:flex}.rbc-toolbar .rbc-toolbar-label{text-align:center;flex-grow:1;padding:0 10px}.rbc-toolbar button{color:#373a3c;text-align:center;vertical-align:middle;white-space:nowrap;background:0 0;border:1px solid #ccc;border-radius:4px;margin:0;padding:.375rem 1rem;line-height:normal;display:inline-block}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-color:#e6e6e6;background-image:none;border-color:#adadad;box-shadow:inset 0 3px 5px #00000020}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{white-space:nowrap;display:inline-block}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (width<=767px){.rbc-toolbar{flex-direction:column}}.rbc-event{box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;color:#fff;cursor:pointer;text-align:left;background-color:#3174ad;border:none;border-radius:5px;width:100%;margin:0;padding:2px 5px}.rbc-slot-selecting .rbc-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected{background-color:#265985}.rbc-event:focus{outline:5px auto #3b99fc}.rbc-event-label{text-overflow:ellipsis;white-space:nowrap;font-size:80%;display:block;overflow:hidden}.rbc-event-overlaps{box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-right-radius:0;border-bottom-left-radius:0}.rbc-row{flex-direction:row;display:flex}.rbc-row-segment{padding:0 1px 1px}.rbc-row-segment .rbc-event-content{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{text-overflow:ellipsis;white-space:nowrap;z-index:4;color:#3174ad;background-color:#ffffff4d;height:auto;font-size:85%;font-weight:700;line-height:normal;display:block;overflow:hidden}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{-webkit-user-select:none;user-select:none;border:1px solid #ddd;flex-direction:column;flex:1 0 0;width:100%;height:100%;display:flex;position:relative}.rbc-month-header{flex-direction:row;display:flex}.rbc-month-row{flex-direction:column;flex:1 0 0;height:100%;display:flex;position:relative;overflow:hidden}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{text-align:right;flex:1 1 0;min-width:0;padding-right:5px}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{flex-direction:row;flex:1 0 0;display:flex;position:absolute;inset:0 1px 0 0;overflow:hidden}.rbc-day-bg{flex:1 0}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{z-index:5;background-color:#fff;border:1px solid #e5e5e5;padding:10px;position:absolute;box-shadow:0 5px 15px #00000040}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{flex-direction:column;flex:1 0 0;display:flex;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{border-spacing:0;border-collapse:collapse;border:1px solid #ddd;width:100%}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{vertical-align:top;padding:5px 10px}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{text-transform:lowercase;padding-left:15px;padding-right:15px}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:left;border-bottom:1px solid #ddd;padding:3px 5px}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{flex-direction:column;min-height:100%;display:flex}.rbc-time-column .rbc-timeslot-group{flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;flex-flow:column;min-height:40px;display:flex}.rbc-time-gutter,.rbc-header-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{margin-right:10px;position:absolute;inset:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;flex-flow:column wrap;align-items:flex-start;min-height:20px;max-height:100%;display:flex;position:absolute;overflow:hidden}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;width:auto;padding-right:5px}.rbc-day-slot .rbc-event-content{word-wrap:break-word;flex:1 1 0;width:100%;height:100%;min-height:1em;line-height:1}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{z-index:10;background-color:#fff;border-right:1px solid #ddd;margin-right:-1px;position:sticky;left:0}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{flex:1 0 0;min-width:auto}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{flex:1 1 0;width:140px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;color:#fff;background-color:#00000080;width:100%;padding:3px;font-size:75%;position:absolute}.rbc-slot-selecting{cursor:move}.rbc-time-view{border:1px solid #ddd;flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{z-index:4;position:relative}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{flex-direction:row;flex:none;display:flex}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-left:1px solid #ddd;border-right-width:0}.rbc-time-header>.rbc-row:first-child,.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{border-left:1px solid #ddd;flex-direction:column;flex:1;min-width:0;display:flex}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{border-top:2px solid #ddd;flex:1 0;align-items:flex-start;width:100%;display:flex;position:relative;overflow-y:auto}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{-webkit-user-select:none;user-select:none;width:100%}.rbc-current-time-indicator{z-index:3;pointer-events:none;background-color:#74ad31;height:1px;position:absolute;left:0;right:0}.rbc-resource-grouping.rbc-time-header-content{flex-direction:column;display:flex}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.rbc-calendar{box-sizing:border-box;flex-direction:column;align-items:stretch;height:100%;display:flex}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar :before,.rbc-calendar :after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full{position:absolute;inset:0;overflow:hidden}.rbc-ellipsis{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{text-overflow:ellipsis;white-space:nowrap;text-align:center;vertical-align:middle;border-bottom:1px solid #ddd;flex:1 0;min-height:0;padding:0 3px;font-size:90%;font-weight:700;overflow:hidden}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;cursor:pointer;-webkit-user-select:text;user-select:text;background:0 0;border:none;margin:0;padding:0}.rbc-row-content{-webkit-user-select:none;user-select:none;z-index:4;position:relative}.rbc-row-content-scrollable{flex-direction:column;height:100%;display:flex}.rbc-row-content-scrollable .rbc-row-content-scroll-container{-ms-overflow-style:none;scrollbar-width:none;height:100%;overflow-y:scroll}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.turnos-container{z-index:1;background-color:#fff;border-radius:10px;margin:0;padding:0;position:relative}.stats-grid{gap:1rem;width:100%;margin-bottom:1rem;display:flex}@media (width<=768px){.stats-grid{grid-template-columns:1fr;gap:1rem}}.stat-group-card{box-sizing:border-box;background-color:#fff;border:2px solid #bec1c8;border-radius:12px;width:100%;min-width:0;max-width:100%;padding:1rem;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 2px 8px #00000026}.stat-group-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.stat-group-title{color:#1a1a1a;border-bottom:2px solid var(--primary);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:600}.stat-cards-container{box-sizing:border-box;grid-template-columns:repeat(4,1fr);gap:1rem;min-width:0;max-width:100%;display:grid}@media (width<=768px){.stat-cards-container{grid-template-columns:repeat(2,1fr);gap:.5rem}}.stat-card{box-sizing:border-box;background-color:#f8f9fa;border:1px solid #d1d5db;border-radius:8px;flex-direction:column;min-width:0;max-width:100%;padding:1rem;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 1px 3px #00000014}@media (width<=768px){.stat-card{padding:.75rem}}.stat-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.stat-title{color:#6c757d;text-transform:uppercase;letter-spacing:.5px;word-wrap:break-word;overflow-wrap:break-word;margin:0;font-size:.875rem;font-weight:600}.stat-icon{color:#383d41;background:#e2e3e5;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.stat-value{color:#1a1a1a;margin-bottom:.5rem;font-size:2rem;font-weight:700}@media (width<=768px){.stat-value{font-size:1.5rem}}.stat-change{word-wrap:break-word;overflow-wrap:break-word;flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.stat-change.positive{color:#28a745}.stat-change.negative{color:#dc3545}.filters-section{background-color:#fff;border:1px solid #e5e7eb;border-radius:.25rem;margin-bottom:1rem;padding:1rem}.filters-grid{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.filter-group{flex-direction:column;gap:.25rem;display:flex}.filter-label{color:#495057;font-size:.8rem;font-weight:500}.filter-select{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .2s}.search-box{flex:1;max-width:300px;position:relative}.search-input{background:#fff;border:1px solid #dee2e6;border-radius:6px;width:100%;padding:.5rem 1rem .5rem 2.5rem;font-size:.875rem;transition:border-color .2s}.search-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea14}.search-icon{color:#6c757d;font-size:.875rem;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.table-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:.25rem;overflow:hidden}.turnos-table{border-collapse:collapse;width:100%}.turnos-table thead{background:#f8f9fa}.turnos-table th{text-align:left;color:#495057;border-bottom:1px solid #dee2e6;padding:1rem;font-size:.875rem;font-weight:600}.turnos-table tr{cursor:pointer;border-bottom:1px solid #f1f3f4;transition:background-color .2s}.turnos-table tbody tr:hover{background-color:#f8f9fa}.turnos-table tr:last-child{border-bottom:none}.turnos-table td{color:#495057;padding:1rem;font-size:.875rem}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.status-badge.confirmada{color:#155724;background:#d4edda}.status-badge.pendiente{color:#856404;background:#fff3cd}.status-badge.cancelada{color:#721c24;background:#f8d7da}.status-badge.al_dia{color:#0c5460;background:#d1ecf1}.status-badge.overdue{color:#721c24;background:#f8d7da}.action-button{cursor:pointer;color:#6c757d;background:0 0;border:none;border-radius:6px;padding:.5rem;transition:background-color .2s}.action-button:hover{color:#495057;background-color:#f8f9fa}.action-button.primary{color:var(--primary)}.action-button.primary:hover{background-color:#f0f9f0}.actions-cell{align-items:center;gap:.5rem;padding:1rem;display:flex}.empty-state{text-align:center;color:#6c757d;padding:1rem}.empty-state-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.empty-state-title{color:#495057;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.empty-state-text{margin-bottom:1rem;font-size:.875rem}.spinning-icon{animation:1s linear infinite spin}.cards-container{margin-bottom:1rem}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;animation:.4s fadeIn;display:grid}@media (width<=768px){.cards-grid{grid-template-columns:1fr;gap:1rem}}.schedule-card{cursor:pointer;background-color:#fff;border:1px solid #0000;border-radius:12px;transition:all .2s;overflow:hidden;box-shadow:0 4px 6px #0000001a}.schedule-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 8px 25px #00000026}.turnos-th-sort-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;display:inline-flex}.turnos-bulk-bar{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.625rem 1rem;display:flex}.turnos-bulk-bar__count{color:#15803d;font-size:.875rem;font-weight:600}.turnos-bulk-bar__whatsapp{color:#fff;cursor:pointer;background-color:#25d366;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.875rem;font-weight:600;display:flex}.turnos-bulk-bar__clear{color:#6c757d;cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:.8rem}.turnos-btn-whatsapp{color:#fff;cursor:pointer;background-color:#25d366;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;display:flex}.turnos-modal-footer-primary{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;display:flex}.turnos-modal-footer-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600}.turnos-bulk-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.turnos-bulk-stat{text-align:center;border-radius:8px;padding:.875rem}.turnos-bulk-stat--success{background:#f0fdf4;border:1px solid #bbf7d0}.turnos-bulk-stat--warning{background:#fef9c3;border:1px solid #fde68a}.turnos-bulk-stat--muted{background:#f3f4f6;border:1px solid #e5e7eb}.turnos-bulk-stat__value{font-size:1.5rem;font-weight:700}.turnos-bulk-stat__value--success{color:#15803d}.turnos-bulk-stat__value--warning{color:#92400e}.turnos-bulk-stat__value--muted{color:#6b7280}.turnos-bulk-stat__label{color:#6b7280;margin-top:.2rem;font-size:.75rem;font-weight:600}.turnos-checkbox{cursor:pointer;accent-color:#25d366;width:15px;height:15px}.turnos-section-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.8rem;font-weight:600}.turnos-preview-block{margin-bottom:1.25rem}.turnos-whatsapp-preview{white-space:pre-line;color:#1a1a1a;background:#e7f8f0;border:2px solid #25d366;border-radius:12px;padding:1rem;font-size:.875rem;line-height:1.6;box-shadow:0 2px 8px #25d3661a}.turnos-whatsapp-preview--lg{padding:1.25rem;font-size:.9rem}.turnos-bulk-results{margin-bottom:1.25rem}.turnos-alert{border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;display:flex}.turnos-alert--success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;margin-bottom:.5rem}.turnos-alert--error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.turnos-recipients-list{flex-direction:column;gap:.375rem;max-height:220px;display:flex;overflow-y:auto}.turnos-recipient-row{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.75rem;padding:.5rem .875rem;display:flex}.turnos-recipient-row--success{background:#f0fdf4;border-color:#bbf7d0}.turnos-recipient-row--failed{background:#fef2f2;border-color:#fecaca}.turnos-recipient-row__main{flex:1;min-width:0}.turnos-recipient-row__name{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.turnos-recipient-row__meta{color:#6b7280;font-size:.75rem}.turnos-icon--success{color:#15803d;flex-shrink:0}.turnos-icon--error{color:#b91c1c;flex-shrink:0}.turnos-icon--whatsapp{color:#25d366;flex-shrink:0}.turnos-empty-state{text-align:center;color:#6b7280;padding:2rem}.turnos-bulk-footer-cancel{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;margin-right:auto;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600}.turnos-bulk-send-btn{color:#fff;cursor:pointer;background-color:#25d366;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;display:flex}.turnos-bulk-send-btn:disabled{cursor:not-allowed;background-color:#9ca3af}.turnos-bulk-close-btn{color:#fff;cursor:pointer;background-color:#6b7280;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;display:flex}.turnos-whatsapp-info-box{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.turnos-whatsapp-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.turnos-field-label{color:#6c757d;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.turnos-field-value{font-size:1rem;font-weight:600}.turnos-field-value--amount{color:var(--primary);font-size:1.2rem;font-weight:700}.turnos-preview-title{color:#6c757d;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:flex}.turnos-btn-whatsapp:disabled{cursor:not-allowed;opacity:.6}.turnos-toast{color:#fff;z-index:1100;word-wrap:break-word;border-radius:8px;align-items:center;gap:.5rem;max-width:400px;padding:1rem;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 4px 12px #0000004d}.turnos-toast--success{background-color:#28a745}.turnos-toast--error{background-color:#dc3545}.turnos-modal-close-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:24px;display:flex}.turnos-modal-close-btn:hover{background-color:#f0f0f0}.turnos-info-panel{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1rem;padding:1rem}.turnos-info-panel__title{color:#495057;margin:0 0 .5rem}.turnos-info-panel__title--flush{margin:0}.turnos-info-panel__grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;font-size:.875rem;display:grid}.turnos-discount-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.turnos-discount-add-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.25rem;padding:.5rem;display:flex}.turnos-pay-methods{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;display:grid}.turnos-pay-method{color:#495057;cursor:pointer;background:#fff;border:2px solid #dee2e6;border-radius:8px;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem;font-size:.875rem;font-weight:500;transition:opacity .2s,transform .2s,background-color .2s;display:flex}.turnos-pay-method--selected{border-color:var(--primary);background:var(--primary);color:#fff}.turnos-modal-actions{justify-content:flex-end;gap:1rem;display:flex}.turnos-btn-cancel{color:#495057;cursor:pointer;background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500}.turnos-btn-cancel:disabled{cursor:not-allowed}.turnos-btn-confirm{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;display:flex}.turnos-btn-confirm:disabled{cursor:not-allowed;background:#6c757d}.turnos-discount-row{background:#fff;border:1px solid #dee2e6;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:.5rem;display:grid}.turnos-discount-input{border:1px solid #dee2e6;border-radius:4px;padding:.25rem;font-size:.875rem}.turnos-discount-remove{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:4px;align-items:center;padding:.25rem;display:flex}.card-header{border-bottom:1px solid #e5e7eb;align-items:center;gap:1rem;padding:1rem;display:flex}@media (width<=768px){.card-header{padding:1rem}}.card-avatar{width:48px;height:48px;color:var(--primary);background-color:#e7f5e7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width<=768px){.card-avatar{width:40px;height:40px}}.card-info{flex:1}.card-title{color:#1a1a1a;margin:0 0 .25rem;font-size:1.1rem;font-weight:600}@media (width<=768px){.card-title{font-size:1rem}}.card-subtitle{color:#6b7280;margin:0;font-size:.9rem}.card-status-container{flex-shrink:0}.card-body{padding:1rem}@media (width<=768px){.card-body{padding:1rem}}.card-details{flex-direction:column;gap:.75rem;display:flex}.detail-item{border-bottom:1px solid #f3f4f6;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.detail-item:last-child{border-bottom:none}@media (width<=768px){.detail-item{padding:.375rem 0}}.detail-item svg{color:var(--primary);flex-shrink:0}.detail-label{color:#6b7280;min-width:80px;font-size:.9rem;font-weight:500}.detail-value{color:#1a1a1a;flex:1;font-size:.9rem;font-weight:500}.card-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;padding:1rem 1.5rem}@media (width<=768px){.card-footer{padding:.75rem 1rem}}.card-actions{justify-content:flex-end;gap:.5rem;display:flex}.subscriptions-page{background-color:#fff;min-height:100vh;margin:0;padding:0}.tabs-container{background-color:#fff;border-bottom:2px solid #e5e7eb;margin-bottom:0!important}.tabs{gap:.5rem;display:flex;margin-bottom:0!important}.tab{cursor:pointer;color:#6c757d;background:0 0;border:none;border-bottom:3px solid #0000;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;position:relative}.tab:hover{color:var(--primary);background-color:#f8f9fa}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-content{padding:0}@media (width<=768px){.tab{padding:.75rem 1rem;font-size:.875rem}}.sales-report-container{width:100%}.payments-report-date-filter{margin-bottom:1.5rem}.payments-report-time-from{margin-top:.5rem}.payments-report-export-btn{margin-left:auto}.payments-report-info-banner{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.payments-report-info-icon{color:#16a34a;flex-shrink:0;font-size:1.25rem}.payments-report-info-text{color:#15803d;margin:0;font-size:.875rem;line-height:1.5}.payments-report-dashboard-spacing{margin-bottom:2rem}.payments-report-dashboard-spacing.dashboard-card-responsive,.payments-report-dashboard-spacing .dashboard-card-responsive{min-width:0;width:100%!important;max-width:100%!important}.payments-report-dashboard-spacing .dashboard-card{width:100%;min-width:0;max-width:none;height:auto;max-height:none}.payments-report-metric-value-method{font-size:1.5rem}.payments-report-table-header{margin-bottom:1rem}.payments-report-table-header-row{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.payments-report-checkout-filter-row{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;display:flex}.payments-report-checkout-filter-label{color:var(--text-primary);white-space:nowrap;font-size:.875rem;font-weight:500}.payments-report-checkout-filter-select{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:6px;flex:none;width:fit-content;min-width:fit-content;max-width:100%;padding:.5rem 1rem;font-size:.875rem}.payments-report-table{min-width:1100px}.payments-report-table-container{margin-top:0}.sales-report-container .date-filter-container{justify-content:flex-start;align-items:center;margin-bottom:1rem;display:flex}.sales-report-date-filter-spacing{margin-bottom:1.5rem}.sales-report-time-from{margin-top:.5rem}.sales-report-modal-loading{flex-direction:column;justify-content:center;align-items:center;min-height:200px;display:flex}.sales-report-modal-spinner{border:4px solid #f3f3f3;border-top-color:#3498db;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.sales-report-modal-loading-text{color:#666;margin-top:1rem}.sales-report-modal-ready-banner{color:#155724;background-color:#d4edda;border-radius:4px;margin-bottom:1rem;padding:.75rem}.sales-report-modal-actions-row{justify-content:flex-end;gap:8px;margin-top:1rem;display:flex}.sales-report-toast{color:#fff;z-index:10001;border-radius:8px;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:.875rem;font-weight:500;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 6px #0000001a}.sales-report-toast.is-success{background-color:#10b981}.sales-report-toast.is-error{background-color:#ef4444}.sales-report-container .date-filter-dropdown{display:inline-block;position:relative;top:0;box-shadow:none!important;background:0 0!important;border:none!important}.sales-report-container .date-filter-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.sales-report-container .date-filter-button:hover{background:#f8fafc;border-color:#cbd5e1}.sales-report-container .date-filter-menu{z-index:20;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:200px;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.sales-report-container .date-filter-option{text-align:left;color:#334155;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f1f5f9;width:100%;padding:10px 16px;font-size:14px;transition:all .2s;display:block}.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{color:#2563eb;background:#eff6ff;font-weight:500}.sales-report-container .date-range-inputs{border-top:1px solid #e2e8f0;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.sales-report-container .date-range-inputs input{color:#334155;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-size:14px}.sales-report-container .date-range-inputs input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.sales-report-container .apply-range-button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:8px 12px;font-size:14px;font-weight:500;transition:all .2s}.sales-report-container .apply-range-button:hover:not(:disabled){background:#2563eb}.sales-report-container .apply-range-button:disabled{cursor:not-allowed;background:#cbd5e1}@media (width<=768px){.sales-report-container .date-filter-menu{min-width:250px;left:auto;right:0}}.sales-report-dashboard{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.sales-report-card-evolution,.sales-report-card-dynamic{grid-column:span 2}.sales-report-card{background:#fff;border-radius:12px;padding:1rem;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px #0000001a}.sales-report-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.sales-report-card-header{align-items:center;gap:.75rem;margin-bottom:.75rem;padding:0;display:flex}.sales-report-card-icon{color:#64748b;font-size:1.5rem}.sales-report-card-header h3{color:#1e293b;margin:0;font-size:1rem;font-weight:600}.sales-report-card-body{padding:0}.sales-report-metric-value{color:#1e293b;margin-bottom:.25rem;font-size:1.875rem;font-weight:700}.sales-report-metric-subtitle{color:#64748b;margin:0;font-size:.875rem}.sales-report-card-status .sales-report-card-body{flex-direction:column;gap:.5rem;height:auto;min-height:auto;max-height:none;padding:0;display:flex;overflow:visible}.sales-report-status-item{justify-content:space-between;align-items:center;margin:0;padding:0;display:flex}.sales-report-status-label{font-size:.875rem;font-weight:600}.sales-report-status-label.sales-report-status-completed{color:#10b981}.sales-report-status-label.sales-report-status-pending{color:#f59e0b}.sales-report-status-value{font-size:1.25rem;font-weight:700}.sales-report-status-value.sales-report-status-completed{color:#10b981}.sales-report-status-value.sales-report-status-pending{color:#f59e0b}.sales-report-evolution-chart-container{width:100%;height:255px}.sales-report-evolution-chart{width:100%;max-width:100%;height:100%}.sales-report-pie-chart-container{justify-content:center;align-items:center;width:100%;height:400px;padding:20px;display:flex}.sales-report-pie-chart{width:100%;max-width:100%;height:100%;overflow:visible}.sales-report-bar-chart-container{width:100%;height:300px;padding:20px}.sales-report-bar-chart{width:100%;max-width:100%;height:100%;overflow:visible}.sales-report-pie-chart path{transition:opacity .2s}.sales-report-pie-chart path:hover{cursor:pointer;opacity:1!important}.sales-report-bar-chart rect{transition:all .2s}.sales-report-bar-chart rect:hover{cursor:pointer;opacity:1!important}.sales-report-evolution-legend{justify-content:center;gap:1.5rem;margin-top:1rem;display:flex}.sales-report-legend-item{color:#64748b;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.sales-report-legend-line{border-radius:2px;width:30px;height:3px}.sales-report-legend-line-current{background:#10b981}.sales-report-legend-line-previous{background:#94a3b8 repeating-linear-gradient(90deg,#94a3b8,#94a3b8 5px,#0000 5px 10px)}.sales-report-no-data{text-align:center;color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.sales-report-no-data svg{opacity:.5;margin-bottom:1rem}.sales-report-no-data p{margin:0;font-size:.875rem}.sales-report-skeleton-card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 1px 3px #0000001a}.sales-report-skeleton-card-large{grid-column:span 2}.sales-report-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite loading}.sales-report-skeleton-icon{border-radius:50%;width:24px;height:24px}.sales-report-skeleton-title{width:60%;height:16px}.sales-report-skeleton-title-partial{width:60%}.sales-report-skeleton-value{width:80%;height:32px;margin-bottom:.5rem}.sales-report-skeleton-subtitle{width:50%;height:12px}.sales-report-skeleton-chart{width:100%;height:200px}@media (width<=1400px){.sales-report-dashboard{grid-template-columns:repeat(2,1fr)}.sales-report-card-evolution,.sales-report-card-dynamic{grid-column:span 1}}@media (width<=768px){.sales-report-dashboard{grid-template-columns:1fr}.sales-report-card-evolution,.sales-report-card-dynamic{grid-column:span 1}}.sales-report-chart-text-day{fill:#64748b;font-size:11px;font-weight:500}.sales-report-chart-text-value{fill:#94a3b8;font-size:10px;font-weight:500}.sales-report-chart-text-label{fill:#334155;font-size:14px;font-weight:500}.sales-report-chart-text-date{fill:#64748b;font-size:10px;font-weight:500}.sales-tabs-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.tabs-header{background:#fafafa;border-bottom:2px solid #f1f5f9;flex-wrap:wrap;display:flex}.tab-button{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.tab-button:hover{color:#334155;background:#f8fafc}.tab-button svg{font-size:1.1rem}.sales-report-container .data-table-container{padding:0}.sales-report-container .data-table-card{box-shadow:none;border-radius:0}.sales-report-container .table-wrapper{overflow-x:auto}.sales-report-container .data-table{border-collapse:collapse;width:100%}.sales-report-container .data-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.sales-report-container .data-table th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.5px;padding:1rem;font-size:.875rem;font-weight:600}.sales-report-container .data-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .2s}.sales-report-container .data-table tbody tr:hover{background:#f8fafc}.sales-report-container .data-table tbody tr.even{background:#fff}.sales-report-container .data-table tbody tr.odd{background:#fafafa}.sales-report-container .data-table tbody tr.pending-sale{background:#fef3c7}.sales-report-container .data-table td{color:#334155;padding:1rem;font-size:.875rem}.sales-report-container .data-name-content{flex-direction:column;gap:.25rem;display:flex}.sales-report-container .data-name-content .name{color:#1e293b;font-weight:500}.sales-report-container .data-name-content .location{color:#94a3b8;font-size:.8rem}.sales-report-container .client-cell{flex-direction:column;gap:.2rem;display:flex}.sales-report-container .client-cell .client-name{color:#1e293b;font-weight:500}.sales-report-container .client-cell .client-email{color:#64748b;font-size:.75rem}.sales-report-container .data-price{color:#10b981;font-weight:600}.sales-report-container .status-badge{border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8rem;font-weight:500;display:inline-flex}.sales-report-container .status-badge.pendiente{color:#92400e;background:#fef3c7}.sales-report-container .status-badge.completada{color:#065f46;background:#d1fae5}.sales-report-container .table-pagination{background:#fafafa;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.sales-report-container .pagination-center{text-align:center;flex:1}.sales-report-container .results-info{color:#64748b;font-size:.875rem}.sales-report-container .pagination-right{gap:.5rem;display:flex}.sales-report-container .pagination-arrow{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.sales-report-container .pagination-arrow:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.sales-report-container .pagination-arrow:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.tab-button{border-bottom:none;border-left:3px solid #0000}.sales-report-container .table-pagination{flex-direction:column;gap:1rem}.sales-report-container .data-table{font-size:.8rem}.sales-report-container .data-table th,.sales-report-container .data-table td{padding:.75rem .5rem}}.sales-report-header-actions{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.sales-report-info-banner{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex:1;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.sales-report-info-icon{color:#3b82f6;flex-shrink:0;font-size:1.25rem}.sales-report-info-text{color:#1e40af;margin:0;font-size:.875rem;line-height:1.5}.sales-report-generate-button{white-space:nowrap;align-items:center;gap:.5rem;padding:.75rem 1.5rem;display:flex}.sales-report-empty-state{text-align:center;background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex;box-shadow:0 1px 3px #0000001a}.sales-report-empty-icon{color:#9ca3af;margin-bottom:1rem;font-size:4rem}.sales-report-empty-title{color:#374151;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.sales-report-empty-text{color:#6b7280;font-size:.95rem}.sales-tabs-container{margin-top:2rem}@media (width<=768px){.sales-report-header-actions{flex-direction:column}.sales-report-info-banner{width:100%}}.products-reports-container{max-width:1400px;margin:0 auto}.reports-header{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);background-color:#fff;align-items:center;gap:.75rem;margin:0 0 1rem;padding:1rem;display:flex}.range-selector{flex-wrap:wrap;gap:1rem;display:flex}.range-btn{border:2px solid var(--gray-300);cursor:pointer;color:var(--gray-700);background:#fff;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.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{border-top:1px solid var(--gray-200);padding-top:1rem}.date-inputs{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.date-input-group{flex-direction:column;gap:.5rem;display:flex}.date-input-group label{color:var(--gray-700);font-size:.875rem;font-weight:500}.date-input-group input[type=date]{border:1px solid var(--gray-300);border-radius:8px;padding:.75rem;font-size:.95rem;transition:border-color .2s}.date-input-group input[type=date]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.btn-apply-range{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.btn-apply-range:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.loading-container,.error-container{background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex;box-shadow:0 2px 8px #0000001a}.error-container{color:var(--error)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1rem;display:grid}.stat-card{background:#fff;border-radius:12px;align-items:center;gap:1rem;padding:1rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #0000001a}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;display:flex}.stat-icon.total{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.stat-icon.products{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.stat-icon.increase{color:#fff;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.stat-icon.decrease{color:#fff;background:linear-gradient(135deg,#fa709a 0%,#fee140 100%)}.stat-icon.cost-up{color:#fff;background:linear-gradient(135deg,#30cfd0 0%,#330867 100%)}.stat-icon.cost-down{color:#333;background:linear-gradient(135deg,#a8edea 0%,#fed6e3 100%)}.stat-icon.stock-up{color:#333;background:linear-gradient(135deg,#d299c2 0%,#fef9d7 100%)}.stat-icon.stock-down{color:#333;background:linear-gradient(135deg,#ebc0fd 0%,#d9ded8 100%)}.stat-content{flex:1}.stat-content h3{color:var(--gray-900);margin:0 0 .25rem;font-size:2rem;font-weight:700}.stat-content p{color:var(--gray-600);margin:0;font-size:.875rem}.history-section{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000001a}.history-section h2{color:var(--gray-900);margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.empty-state{color:var(--gray-500);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.empty-state svg{opacity:.5;margin-bottom:1rem}.history-table-container{overflow-x:auto}.history-table{border-collapse:collapse;width:100%;font-size:.875rem}.history-table thead{background:var(--gray-50)}.history-table th{text-align:left;color:var(--gray-700);border-bottom:2px solid var(--gray-200);white-space:nowrap;padding:1rem;font-weight:600}.history-table tbody tr{border-bottom:1px solid var(--gray-100);transition:background-color .2s}.history-table tbody tr:hover{background:var(--gray-50)}.history-table td{vertical-align:middle;padding:1rem}.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{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.old-value{color:var(--gray-500);font-size:.85rem;text-decoration:line-through}.arrow{color:var(--gray-400)}.new-value{color:var(--gray-900);font-weight:600}.variation{border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:flex}.variation.positive{color:#16a34a;background:#22c55e1a}.variation.negative{color:#dc2626;background:#ef44441a}.products-report-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite products-report-loading}@keyframes products-report-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.products-report-skeleton-card{background:#fff;border-radius:12px;align-items:center;gap:1rem;padding:1rem;display:flex;box-shadow:0 2px 8px #0000001a}.products-report-skeleton-icon{border-radius:10px;flex-shrink:0;width:50px;height:50px}.products-report-skeleton-content{flex-direction:column;flex:1;gap:.5rem;display:flex}.products-report-skeleton-value{width:60%;height:32px}.products-report-skeleton-label{width:80%;height:16px}.products-report-skeleton-title{border-radius:8px;width:300px;height:28px;margin-bottom:1rem}.products-report-skeleton-th{border-radius:4px;width:100%;height:20px;margin:.5rem 0}.history-table thead th .products-report-skeleton-th{background:0 0;margin:0}.history-table tbody td{padding:1rem}.products-report-skeleton-cell{border-radius:4px;width:100%;height:20px;margin:0}@media (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{justify-content:center;width:100%}.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}}.reservations-report-container{width:100%}.reservations-report-container .date-filter-container{justify-content:flex-start;align-items:center;margin-bottom:1rem;display:flex}.reservations-report-date-filter-spacing{margin-bottom:1.5rem}.reservations-report-group-by-spacing{margin-left:1rem}.reservations-report-container .date-filter-dropdown{display:inline-block;position:relative;top:0;box-shadow:none!important;background:0 0!important;border:none!important}.reservations-report-container .date-filter-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.reservations-report-container .date-filter-button:hover{background:#f8fafc;border-color:#cbd5e1}.reservations-report-container .date-filter-menu{z-index:20;background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-width:200px;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.reservations-report-container .date-filter-option{text-align:left;color:#334155;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f1f5f9;width:100%;padding:10px 16px;font-size:14px;transition:all .2s;display:block}.reservations-report-container .date-filter-option:last-child{border-bottom:none}.reservations-report-container .date-filter-option:hover{background:#f8fafc}.reservations-report-container .date-filter-option.active{color:#2563eb;background:#eff6ff;font-weight:500}.reservations-report-container .date-range-inputs{border-top:1px solid #e2e8f0;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.reservations-report-container .date-range-inputs input{color:#334155;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-size:14px}.reservations-report-container .date-range-inputs input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.reservations-report-container .apply-range-button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:8px 12px;font-size:14px;font-weight:500;transition:all .2s}.reservations-report-container .apply-range-button:hover:not(:disabled){background:#2563eb}.reservations-report-container .apply-range-button:disabled{cursor:not-allowed;background:#cbd5e1}.group-by-dropdown{display:inline-block;position:relative}.group-by-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.group-by-button:hover{background:#f8fafc;border-color:#cbd5e1}@media (width<=768px){.reservations-report-container .date-filter-menu{min-width:250px;left:auto;right:0}}.reservations-report-dashboard{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.reservations-report-card-evolution,.reservations-report-card-unused-hours,.reservations-report-card-courts{grid-column:span 2}.reservations-report-card{background:#fff;border-radius:12px;padding:1rem;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px #0000001a}.reservations-report-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.reservations-report-card-header{align-items:center;gap:.75rem;margin-bottom:.75rem;padding:0;display:flex}.reservations-report-card-icon{color:#64748b;font-size:1.5rem}.reservations-report-card-header h3{color:#1e293b;margin:0;font-size:1rem;font-weight:600}.reservations-report-card-body{padding:0}.reservations-report-metric-value{color:#1e293b;margin-bottom:.25rem;font-size:1.875rem;font-weight:700}.reservations-report-metric-subtitle{color:#64748b;margin:0;font-size:.875rem}.reservations-report-card-reservations .reservations-report-card-body{flex-direction:column;gap:.5rem;padding:0;display:flex}.reservations-report-status-item{justify-content:space-between;align-items:center;margin:0;padding:0;display:flex}.reservations-report-status-label{font-size:.875rem;font-weight:600}.reservations-report-status-label.reservations-report-status-recurring{color:#3b82f6}.reservations-report-status-label.reservations-report-status-eventual{color:#f59e0b}.reservations-report-status-value{font-size:1.25rem;font-weight:700}.reservations-report-status-value.reservations-report-status-recurring{color:#3b82f6}.reservations-report-status-value.reservations-report-status-eventual{color:#f59e0b}.reservations-report-courts-container{justify-content:space-around;gap:1.5rem;display:flex}.reservations-report-court-item{background:#f8fafc;border-radius:8px;flex-direction:column;flex:1;align-items:center;padding:1rem;display:flex}.reservations-report-court-item.most-used{background:#f0fdf4;border:2px solid #10b981}.reservations-report-court-item.least-used{background:#fef2f2;border:2px solid #ef4444}.reservations-report-court-label{text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.reservations-report-court-item.most-used .reservations-report-court-label{color:#10b981}.reservations-report-court-item.least-used .reservations-report-court-label{color:#ef4444}.reservations-report-court-name{color:#1e293b;text-align:center;font-size:1.125rem;font-weight:600}.reservations-report-evolution-chart-container{width:100%;height:255px}.reservations-report-evolution-chart{width:100%;max-width:100%;height:100%}.reservations-report-unused-hours-container{width:100%;height:300px;padding:20px}.reservations-report-bar-chart{width:100%;max-width:100%;height:100%;overflow:visible}.reservations-report-bar-chart rect{transition:all .2s}.reservations-report-bar-chart rect:hover{cursor:pointer;opacity:1!important}.reservations-report-no-data{text-align:center;color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.reservations-report-no-data svg{opacity:.5;margin-bottom:1rem}.reservations-report-no-data p{margin:0;font-size:.875rem}.reservations-report-skeleton-card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 1px 3px #0000001a}.reservations-report-skeleton-card-large{grid-column:span 2}.reservations-report-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite loading}.reservations-report-skeleton-icon{border-radius:50%;width:24px;height:24px}.reservations-report-skeleton-title{width:60%;height:16px}.reservations-report-skeleton-title-partial{width:60%}.reservations-report-skeleton-value{width:80%;height:32px;margin-bottom:.5rem}.reservations-report-skeleton-subtitle{width:50%;height:12px}.reservations-report-skeleton-chart{width:100%;height:200px}.reservations-report-chart-text-day{fill:#64748b;font-size:11px;font-weight:500}.reservations-report-chart-text-value{fill:#94a3b8;font-size:10px;font-weight:500}.reservations-report-chart-text-date{fill:#64748b;font-size:10px;font-weight:500}.reservations-report-stats-table-container{margin-top:2rem}.reservations-report-stats-table-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.reservations-report-table-title{color:#1e293b;border-bottom:1px solid #e2e8f0;margin:0;padding:1.5rem 1.5rem 1rem;font-size:1.25rem;font-weight:600}.reservations-report-stats-table{border-collapse:collapse;width:100%}.reservations-report-stats-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.reservations-report-stats-table th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.5px;padding:1rem;font-size:.875rem;font-weight:600}.reservations-report-stats-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .2s}.reservations-report-stats-table tbody tr:hover{background:#f8fafc}.reservations-report-stats-table tbody tr.even{background:#fff}.reservations-report-stats-table tbody tr.odd{background:#fafafa}.reservations-report-stats-table td{color:#334155;padding:1rem;font-size:.875rem}.data-period{color:#1e293b;font-weight:500}.data-minutes{color:#3b82f6;font-weight:600}.data-minutes-detail{color:#94a3b8;margin-left:.5rem;font-size:.75rem;font-weight:400}.data-cancelled{color:#ef4444;font-weight:600}.data-available{color:#64748b;font-weight:500}.data-occupation{text-align:center}.occupation-badge{border-radius:9999px;padding:.375rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.occupation-badge.high{color:#065f46;background:#d1fae5}.occupation-badge.medium{color:#92400e;background:#fef3c7}.occupation-badge.low{color:#991b1b;background:#fee2e2}@media (width<=1400px){.reservations-report-dashboard{grid-template-columns:repeat(2,1fr)}.reservations-report-card-evolution,.reservations-report-card-unused-hours,.reservations-report-card-courts{grid-column:span 1}}@media (width<=768px){.reservations-report-dashboard{grid-template-columns:1fr}.reservations-report-card-evolution,.reservations-report-card-unused-hours,.reservations-report-card-courts{grid-column:span 1}.reservations-report-filters,.date-range-inputs,.date-input-group{flex-direction:column;align-items:stretch}.date-input-group label{margin-bottom:.25rem}.reservations-report-courts-container{flex-direction:column}.reservations-report-stats-table{font-size:.8rem}.reservations-report-stats-table th,.reservations-report-stats-table td{padding:.75rem .5rem}}.suppliers-container{margin:0 auto;padding:1rem}.suppliers-back-to-products{color:#4b5563;align-items:center;gap:.5rem;width:fit-content;margin-bottom:.75rem;padding:.35rem 0;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.suppliers-back-to-products:hover{color:#111827;text-decoration:none}.suppliers-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.suppliers-header h1{color:#1a1a1a;margin:0 0 .5rem;font-size:2rem;font-weight:700}.suppliers-header p{color:#6b7280;margin:0;font-size:.95rem}.header-actions{gap:1rem;display:flex}.suppliers-container .header-actions .btn-secondary{color:#fff;background-color:#6b7280;border:1px solid #4b5563}.suppliers-container .header-actions .btn-secondary:hover{color:#fff;background-color:#4b5563}.suppliers-container .header-actions .btn-primary{background-color:var(--primary,#059669);color:#fff;border:1px solid var(--primary,#059669)}.suppliers-container .header-actions .btn-primary:hover:not(:disabled){color:#fff;background-color:#047857}.suppliers-modal .shared-modal-header h2{color:#1a1a1a!important}.suppliers-modal .btn-secondary{border:1px solid #4b5563;color:#fff!important;background-color:#6b7280!important}.suppliers-modal .btn-secondary:hover{color:#fff!important;background-color:#4b5563!important}.suppliers-modal .shared-modal-body{min-height:0}.filters-section{background:#fff;border-radius:12px;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex;box-shadow:0 1px 3px #0000001a}.filter-group{flex-direction:column;gap:.5rem;min-width:200px;display:flex}.filter-group label{color:#374151;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.filter-select{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.625rem 1rem;font-size:.95rem;transition:all .2s}.filter-select:hover{border-color:#3b82f6}.filter-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.orders-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;display:grid}.order-card{background:#fff;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 1px 3px #0000001a}.order-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.order-card-header{background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;padding:1rem;display:flex}.order-card-header h3{color:#1a1a1a;margin:0 0 .25rem;font-size:1.125rem;font-weight:700}.supplier-name{color:#6b7280;margin:0;font-size:.875rem}.order-card-body{padding:1rem}.order-info{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.info-item{color:#4b5563;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.order-total{background:#f9fafb;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;display:flex}.order-total strong{color:#10b981;font-size:1.25rem}.order-notes{color:#92400e;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:4px;padding:.75rem;font-size:.875rem}.order-card-actions{background:#fafafa;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.5rem;padding:1rem;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-draft{color:#4b5563;background:#f3f4f6}.status-sent{color:#1e40af;background:#dbeafe}.status-received{color:#065f46;background:#d1fae5}.status-cancelled{color:#991b1b;background:#fee2e2}.orders-loading,.suppliers-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:1rem;display:flex}.spinner{border:4px solid #f3f4f6;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.no-orders,.no-suppliers,.no-products,.no-items{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:200px;display:flex}.no-orders svg,.no-suppliers svg,.no-products svg,.no-items svg{color:#d1d5db}.no-orders h3{color:#374151;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.no-orders p,.no-suppliers p,.no-products p,.no-items p{color:#6b7280;margin:0;font-size:.95rem}.no-products.small,.no-items.small{min-height:auto;padding:1rem}.no-products.small p,.no-items.small p{font-size:.875rem}.btn-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;transition:all .2s;display:flex}.btn-close:hover{color:#1a1a1a;background:#0000000d}.modal-body{flex:1;padding:1rem;overflow-y:auto}.modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:1rem;padding:1rem;display:flex}.modal-actions{justify-content:flex-end;margin-bottom:1rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:#374151;font-size:.875rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:8px;padding:.75rem 1rem;font-size:.95rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;font-family:inherit}.form-group.small input{max-width:100px}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.suppliers-list{flex-direction:column;gap:1rem;display:flex}.supplier-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex}.supplier-item:hover{background:#fff;box-shadow:0 2px 8px #0000001a}.supplier-info h4{color:#1a1a1a;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.supplier-info p{color:#6b7280;margin:.25rem 0;font-size:.875rem}.supplier-info small{color:#9ca3af;font-size:.75rem}.supplier-meta{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.product-count{color:#6b7280;font-size:.875rem;font-weight:500}.supplier-detail-info{background:#f9fafb;border-radius:12px;margin-bottom:1rem;padding:1rem}.supplier-detail-info p{color:#4b5563;margin:.5rem 0;font-size:.95rem}.products-section{margin-top:1rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h3{color:#1a1a1a;margin:0;font-size:1.25rem;font-weight:600}.products-table{overflow-x:auto}.products-table table{border-collapse:collapse;width:100%}.products-table th{text-align:left;color:#374151;background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:.75rem 1rem;font-size:.875rem;font-weight:600}.products-table td{color:#4b5563;border-bottom:1px solid #e5e7eb;padding:1rem;font-size:.95rem}.products-table tr:hover{background:#f9fafb}.items-section{border-top:2px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.items-list{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.item-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s;overflow:hidden}.item-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.item-card-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;align-items:flex-end;gap:1rem;padding:1rem;display:flex}.item-card-body{grid-template-columns:1fr 1fr 1fr;align-items:flex-end;gap:1rem;padding:1rem;display:grid}.quantity-control{flex-direction:column;gap:.5rem;display:flex}.quantity-control label{color:#374151;font-size:.875rem;font-weight:600}.quantity-input-group{background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;display:flex;overflow:hidden}.quantity-btn{color:#374151;cursor:pointer;background:#f9fafb;border:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;font-weight:600;transition:all .2s;display:flex}.quantity-btn:hover{color:#fff;background:#3b82f6}.quantity-btn:active{transform:scale(.95)}.quantity-input{text-align:center;border:none;flex:1;min-width:60px;padding:.5rem;font-size:1rem;font-weight:600}.quantity-input:focus{background:#f9fafb;outline:none}.item-subtotal{flex-direction:column;gap:.5rem;display:flex}.item-subtotal label{color:#374151;font-size:.875rem;font-weight:600}.subtotal-amount{color:#10b981;background:#ecfdf5;border:1px solid #10b981;border-radius:8px;justify-content:center;align-items:center;height:40px;padding:.75rem;font-size:1.125rem;font-weight:700;display:flex}.item-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;gap:1rem;padding:1rem;display:flex}.item-fields{flex:1;align-items:flex-end;gap:1rem;display:flex}.item-total{color:#10b981;justify-content:flex-end;align-items:center;min-width:120px;font-weight:600;display:flex}.order-total-section{background:#f9fafb;border-radius:8px;justify-content:flex-end;margin-top:1rem;padding:1rem;display:flex}.order-total-section strong{color:#10b981;font-size:1.5rem}.order-detail-header{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.order-detail-info,.order-detail-supplier{background:#f9fafb;border-radius:12px;padding:1rem}.order-detail-supplier h4{color:#1a1a1a;margin:0 0 1rem;font-size:1rem;font-weight:600}.order-detail-supplier p{color:#6b7280;margin:.25rem 0;font-size:.875rem}.info-row{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.info-row:last-child{border-bottom:none}.info-row span{color:#6b7280;font-size:.875rem}.info-row strong{color:#1a1a1a}.info-row p{color:#4b5563;margin:.5rem 0 0}.order-items-section{margin-top:1rem}.order-items-section h3{color:#1a1a1a;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.order-items-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden}.order-items-table th{text-align:left;color:#374151;background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:1rem;font-size:.875rem;font-weight:600}.order-items-table td{color:#4b5563;border-bottom:1px solid #e5e7eb;padding:1rem;font-size:.95rem}.order-items-table tbody tr:hover{background:#f9fafb}.order-items-table tfoot td{background:#f9fafb;border-top:2px solid #e5e7eb;border-bottom:none;padding:1.25rem 1rem;font-size:1rem}.btn-icon{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:inline-flex}.btn-icon:hover{color:#1a1a1a;background:#f9fafb;border-color:#9ca3af}.btn-icon.danger{color:#dc2626;border-color:#fecaca}.btn-icon.danger:hover{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.toast{z-index:1100;background:#fff;border-radius:12px;align-items:center;gap:.75rem;padding:1rem;font-size:.95rem;font-weight:500;animation:.3s ease-out slideIn;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 40px #0003}.toast.success{color:#065f46;border-left:4px solid #10b981}.toast.error{color:#991b1b;border-left:4px solid #ef4444}@media (width<=768px){.suppliers-container{padding:1rem}.suppliers-header{flex-direction:column;align-items:flex-start}.header-actions{flex-direction:column;width:100%}.header-actions button{width:100%}.orders-grid,.order-detail-header,.form-row{grid-template-columns:1fr}.item-fields{flex-wrap:wrap}.filters-section{flex-direction:column}.filter-group{width:100%}}.product-search-container{margin-bottom:1rem;position:relative}.product-search-input{border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:.875rem 1rem;font-size:1rem;transition:all .2s}.product-search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.product-dropdown{z-index:10;background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:300px;margin-top:.5rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.product-dropdown-item{cursor:pointer;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:.875rem 1rem;transition:all .2s;display:flex}.product-dropdown-item:last-child{border-bottom:none}.product-dropdown-item:hover{background:#f9fafb}.product-sku{color:#6b7280;font-size:.875rem}.product-price{color:#10b981;font-weight:600}.products-added-list{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.product-added-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex}.product-added-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.product-added-info{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;display:flex}.product-added-info strong{color:#1a1a1a;font-size:1rem}.product-sku-small{color:#6b7280;font-size:.875rem}.product-unit-price{color:#6b7280;margin-left:auto;font-size:.875rem}.product-added-controls{align-items:center;gap:1rem;display:flex}.quantity-control-inline{background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;display:flex;overflow:hidden}.quantity-btn-inline{color:#374151;cursor:pointer;background:#f9fafb;border:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.125rem;font-weight:600;transition:all .2s;display:flex}.quantity-btn-inline:hover{color:#fff;background:#3b82f6}.quantity-btn-inline:active{transform:scale(.95)}.quantity-control-inline .quantity-input-inline{text-align:center;border:none;width:60px;height:32px;padding:0;font-size:.95rem;font-weight:600}.quantity-control-inline .quantity-input-inline:focus{background:#f9fafb;outline:none}.product-subtotal-inline{text-align:right;color:#10b981;min-width:100px;font-size:1.125rem;font-weight:700}.btn-remove-circular{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.btn-remove-circular:hover{color:#fff;background:#dc2626;transform:scale(1.1)}.btn-remove-circular:active{transform:scale(.95)}.sup-form-group-relative{position:relative}.sup-geo-dropdown{z-index:1000;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a}.sup-geo-dropdown-empty{text-align:center;color:#6b7280;padding:.75rem}.sup-geo-dropdown-item{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:.75rem;transition:background-color .15s}.sup-geo-dropdown-item:hover{background-color:#f9fafb}.sup-delete-modal-body{text-align:center;padding:2rem 1.5rem}.sup-delete-icon-circle{background-color:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.25rem;display:flex}.sup-order-selection-bar{background-color:#eff6ff;border:1px solid #3b82f6;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem;display:flex}.sup-order-selection-count{color:#1e40af;font-weight:600}.sup-order-products-scroll{border:1px solid #e5e7eb;border-radius:8px;max-height:300px;margin-bottom:1rem;overflow-y:auto}.sup-order-products-scroll--compact{max-height:250px}.sup-order-product-row{cursor:pointer;opacity:1;background-color:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:1rem;padding:1rem;transition:background-color .2s,opacity .2s;display:flex}.sup-order-product-row--selected{background-color:#eff6ff}.sup-order-product-row--disabled{cursor:not-allowed;opacity:.5;background-color:#f9fafb}.sup-payment-methods-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.sup-payment-method-btn{cursor:pointer;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;transition:border-color .2s,background-color .2s;display:flex}.sup-payment-method-btn--active{background-color:#eff6ff;border:2px solid #3b82f6}.sup-payment-method-btn__icon{color:#10b981}.comandas-page-root{box-sizing:border-box;flex-direction:column;flex:1;align-self:stretch;width:100%;min-width:0;max-width:100%;display:flex}.comandas-back-to-sales{color:#4b5563;align-items:center;gap:.5rem;width:fit-content;margin:1rem 1rem 0;padding:.35rem 0;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.comandas-back-to-sales:hover{color:#111827;text-decoration:none}.postics-container{box-sizing:border-box;background:var(--bg-primary,#f5f5f5);flex-direction:column;width:100%;min-width:0;max-width:100%;height:calc(100vh - 2rem);margin:0;padding:1rem;display:flex;overflow:hidden}.postics-header{flex-shrink:0;margin-bottom:.75rem}.postics-title{color:var(--text-primary,#1f2937);margin:0;font-size:1.5rem;font-weight:800}.postics-tabs{border-bottom:2px solid var(--border,#e5e7eb);flex-shrink:0;gap:.5rem;margin-bottom:1rem;display:flex}.postics-tab{color:var(--text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.postics-tab:hover{color:var(--text-primary,#1f2937);background:var(--gray-50,#f9fafb)}.postics-tab.active{color:var(--primary,#059669);border-bottom-color:var(--primary,#059669);background:0 0}.postics-content{flex-direction:column;flex:1;gap:.75rem;width:100%;max-width:100%;min-height:0;display:flex;overflow:hidden}.postics-products-comandas-wrapper{flex-direction:column;flex:1;gap:.75rem;width:100%;min-height:0;display:flex;overflow:hidden}@keyframes postics-skel-pulse{0%,to{opacity:1}50%{opacity:.55}}.postics-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e5e7eb 50%,#f0f0f0 75%) 0 0/200px 100%;border-radius:8px;animation:1.4s ease-in-out infinite postics-skel-pulse;display:block}.postics-tabs--skeleton{pointer-events:none}.postics-skeleton-tab{border-radius:8px 8px 0 0;flex:1;max-width:140px;height:2.5rem}.postics-skeleton-title{width:160px;height:1.25rem;margin-bottom:.75rem}.postics-skeleton-category{min-height:3.5rem}.postics-skeleton-comanda{border-radius:4px;flex:220px;max-width:280px;min-height:140px}.postics-content--loading{flex:1;min-height:0}.postics-categories-section{background:#fff;border-radius:12px;flex-direction:column;grid-column:1/-1;width:100%;min-height:0;padding:.75rem;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.postics-section-title{color:var(--text-primary,#1f2937);flex-shrink:0;margin:0 0 .5rem;font-size:1rem;font-weight:700}.postics-categories-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;min-height:0;display:grid;overflow-y:auto}.postics-category-card{border:2px solid var(--border,#e5e7eb);cursor:pointer;text-align:center;background:#fff;border-radius:8px;flex-shrink:0;padding:.75rem;transition:all .2s}.postics-category-card:hover{border-color:var(--primary,#059669);background:var(--primary-ultra-light,#f0fdf4);transform:translateY(-2px);box-shadow:0 4px 12px #05966933}.postics-category-card.selected{background:var(--primary,#059669);border-color:var(--primary,#059669);color:#fff}.postics-category-name{color:inherit;font-size:.9375rem;font-weight:600}.postics-products-section{background:#fff;border-radius:12px;flex-direction:column;flex-shrink:0;min-height:0;max-height:300px;padding:.75rem;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.postics-products-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.postics-close-btn{cursor:pointer;color:var(--text-secondary,#6b7280);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.postics-close-btn:hover{background:var(--gray-100,#f3f4f6);color:var(--text-primary,#1f2937)}.postics-products-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;min-height:0;display:grid;overflow-y:auto}.postics-product-card{border:2px solid var(--border,#e5e7eb);cursor:pointer;text-align:left;background:#fff;border-radius:8px;flex-shrink:0;height:fit-content;padding:.75rem;transition:all .2s}.postics-product-card:hover{border-color:var(--primary,#059669);background:var(--primary-ultra-light,#f0fdf4);transform:translateY(-2px);box-shadow:0 4px 12px #05966933}.postics-product-card.in-comanda{border-color:var(--primary,#059669);background:var(--primary-ultra-light,#f0fdf4);position:relative}.postics-product-quantity-badge{background:var(--primary,#059669);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 8px #05966966}.postics-product-info{flex-direction:column;gap:.5rem;display:flex}.postics-product-name{color:var(--text-primary,#1f2937);font-size:.9375rem;font-weight:600}.postics-product-price{color:var(--primary,#059669);font-size:.875rem;font-weight:700}.postics-empty-products{text-align:center;color:var(--text-secondary,#6b7280);grid-column:1/-1;padding:2rem}.postics-empty-comandas{text-align:center;color:var(--text-secondary,#6b7280);padding:3rem 1rem;font-size:1rem}.postics-comandas-section{box-sizing:border-box;background:#fff;border-radius:12px;flex-direction:column;flex:1;width:100%;max-width:100%;min-height:0;padding:.75rem;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.postics-comandas-section .postics-section-title{flex-shrink:0;margin-bottom:.5rem}.postics-comandas-grid{flex-wrap:wrap;flex:1;align-content:start;gap:.75rem;min-height:0;display:flex;overflow-y:auto}.postics-comanda-card{cursor:pointer;background:#fff9e6;border:1px solid #fbbf24;border-radius:4px;flex-direction:column;min-height:120px;padding:.75rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;transform:rotate(-1.5deg);box-shadow:0 4px 12px #00000026,0 0 0 1px #fbbf2433}.postics-comanda-card:before{content:"";background:linear-gradient(135deg,#0000 50%,#fbbf244d 50%);border-bottom-left-radius:4px;width:20px;height:20px;position:absolute;top:0;right:0}.postics-comanda-card:nth-child(2n){background:#f0f9ff;border-color:#3b82f6;transform:rotate(1.5deg);box-shadow:0 4px 12px #00000026,0 0 0 1px #3b82f633}.postics-comanda-card:nth-child(2n):before{background:linear-gradient(135deg,#0000 50%,#3b82f64d 50%)}.postics-comanda-card:nth-child(3n){background:#f5f0ff;border-color:#a855f7;transform:rotate(-.8deg);box-shadow:0 4px 12px #00000026,0 0 0 1px #a855f733}.postics-comanda-card:nth-child(3n):before{background:linear-gradient(135deg,#0000 50%,#a855f74d 50%)}.postics-comanda-card:nth-child(4n){background:#fef2f2;border-color:#ef4444;transform:rotate(.8deg);box-shadow:0 4px 12px #00000026,0 0 0 1px #ef444433}.postics-comanda-card:nth-child(4n):before{background:linear-gradient(135deg,#0000 50%,#ef44444d 50%)}.postics-comanda-card:hover{z-index:10;transform:rotate(0)scale(1.02);box-shadow:0 8px 20px #0003,0 0 0 1px #0000001a}.postics-comanda-card--listas{cursor:default}.postics-comanda-card.selected{z-index:11;box-shadow:0 0 0 3px var(--primary,#059669), 0 8px 24px #05966940;border-color:var(--primary,#059669);transform:rotate(0)scale(1.02)}.postics-comanda-card.selected:nth-child(2n),.postics-comanda-card.selected:nth-child(3n),.postics-comanda-card.selected:nth-child(4n){border-color:var(--primary,#059669);box-shadow:0 0 0 3px var(--primary,#059669), 0 8px 24px #05966940}.postics-comanda-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.postics-comanda-category{text-transform:uppercase;color:var(--text-primary,#1f2937);letter-spacing:.5px;font-size:.875rem;font-weight:700}.postics-comanda-notes{text-transform:none;letter-spacing:0;color:var(--text-secondary,#6b7280);margin:2px 0 0;font-size:.75rem;font-weight:400}.postics-comanda-timer{color:var(--primary,#059669);letter-spacing:1px;background:#0596691a;border-radius:4px;padding:.25rem .5rem;font-family:Courier New,monospace;font-size:.875rem;font-weight:600}.postics-comanda-delete{cursor:pointer;color:#dc2626;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.postics-comanda-delete:hover{background:#fee2e2;transform:scale(1.1)}.postics-send-kitchen-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#059669 0%,#047857 100%);border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.6rem .75rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 8px #05966940}.postics-send-kitchen-btn span{line-height:1}.postics-send-kitchen-btn .postics-send-icon{flex-shrink:0;margin:0;display:block}.postics-send-kitchen-btn:hover{background:linear-gradient(135deg,#047857 0%,#065f46 100%);transform:translateY(-2px);box-shadow:0 6px 16px #05966959}.postics-send-kitchen-btn:active{transform:translateY(0)}.postics-send-kitchen-btn.disabled,.postics-send-kitchen-btn:disabled{background:var(--gray-400,#9ca3af);color:var(--gray-600,#4b5563);cursor:not-allowed;opacity:.6}.postics-send-kitchen-btn.disabled:hover,.postics-send-kitchen-btn:disabled:hover{background:var(--gray-400,#9ca3af);box-shadow:none;transform:none}.postics-finish-btn{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.postics-finish-btn:hover{background:#047857;transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.postics-finish-btn:active{transform:translateY(0)}.postics-finish-btn.disabled,.postics-finish-btn:disabled{background:var(--gray-400,#9ca3af);color:var(--gray-600,#4b5563);cursor:not-allowed;opacity:.6}.postics-finish-btn.disabled:hover,.postics-finish-btn:disabled:hover{background:var(--gray-400,#9ca3af);box-shadow:none;transform:none}.postics-sent-badge{background:var(--gray-100,#f3f4f6);width:100%;color:var(--text-secondary,#6b7280);text-align:center;border:1px solid var(--border,#e5e7eb);border-radius:6px;flex-shrink:0;margin-top:.5rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:600}.postics-remove-item-btn{color:#dc2626;cursor:pointer;background:#fee2e2;border:2px solid #fecaca;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;min-height:28px;margin-left:auto;transition:all .2s;display:flex}.postics-remove-item-btn svg{flex-shrink:0}.postics-remove-item-btn:hover{color:#b91c1c;background:#fecaca;border-color:#f87171;transform:scale(1.05)}.postics-comanda-items{flex-direction:column;flex:1;gap:.5rem;min-height:0;margin-bottom:.5rem;display:flex;overflow-y:auto}.postics-comanda-item{background:#ffffff80;border-bottom:1px solid #0000001a;border-radius:6px;flex-shrink:0;padding:.5rem;overflow:visible}.postics-comanda-item-info{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.postics-comanda-item-price{color:var(--primary,#059669);font-size:.875rem;font-weight:600}.postics-comanda-item-quantity{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.postics-comanda-product{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.postics-comanda-product-name{color:var(--text-primary,#1f2937);font-size:1rem;font-weight:700}.postics-comanda-product-price{color:var(--primary,#059669);font-size:.875rem;font-weight:600}.postics-comanda-total{border-top:2px solid #0000001a;flex-shrink:0;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.5rem;display:flex}.postics-comanda-total-label{color:var(--text-primary,#1f2937);text-transform:uppercase;letter-spacing:.5px;font-size:.875rem;font-weight:700}.postics-comanda-total-value{color:var(--primary,#059669);font-size:1.125rem;font-weight:800}.postics-quantity-btn{color:#000;cursor:pointer;background:0 0;border:2px solid #d1d5db;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;min-height:28px;transition:all .2s;display:flex}.postics-quantity-btn svg{flex-shrink:0}.postics-quantity-btn:hover{background:#f3f4f6;border-color:#9ca3af;transform:scale(1.05)}.postics-quantity-btn:active{transform:scale(.95)}.postics-quantity-value{color:var(--text-primary,#1f2937);text-align:center;min-width:30px;font-size:1.125rem;font-weight:700}@media (width<=768px){.postics-container{padding:.75rem}.postics-title{font-size:1.5rem}.postics-categories-grid,.postics-products-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}}.integrations-status-wrapper{justify-content:center;align-items:center;min-height:60vh;padding:2rem 1rem;display:flex}.integrations-status-wrapper .payment-status-card{margin:0}.payment-status-container{background:linear-gradient(135deg,#059669 0%,#047857 100%);justify-content:center;align-items:center;width:100vw;height:100vh;min-height:100vh;padding:1rem;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.payment-status-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:600px;margin:auto;padding:1.75rem 1.25rem;animation:.5s ease-out slideUp;box-shadow:0 20px 60px #0000004d}.payment-status-card.loading{padding:3rem 1.5rem}.payment-status-icon{border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;animation:.6s ease-out .2s both scaleIn;display:flex}.success-icon{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.failure-icon{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.pending-icon{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.payment-status-title{color:#1a1a1a;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.payment-status-subtitle{color:#666;margin:0 0 1.25rem;font-size:1rem}.payment-info{text-align:left;background:#f8f9fa;border-radius:8px;margin-bottom:1.25rem;padding:1rem}.payment-info-row{justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.payment-info-row:not(:last-child){border-bottom:1px solid #e5e7eb;margin-bottom:.5rem;padding-bottom:.75rem}.payment-info-label{color:#4b5563;font-size:.95rem;font-weight:600}.payment-info-value{color:#1a1a1a;background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:.25rem .75rem;font-family:Courier New,monospace;font-size:.9rem}.payment-message{text-align:left;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:1.25rem;padding:1rem;font-size:.9rem;line-height:1.5}.payment-message p{margin:.5rem 0}.payment-message ul{margin:1rem 0;padding-left:1.5rem}.payment-message li{margin:.5rem 0}.failure-message{color:#991b1b;background:#fef2f2;border-color:#fecaca}.pending-message{color:#92400e;background:#fffbeb;border-color:#fde68a}.alert-box{background:#fff;border-radius:8px;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.alert-box svg{color:#f59e0b;flex-shrink:0}.payment-actions{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.payment-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.payment-btn-primary{color:#fff;background:linear-gradient(135deg,#059669 0%,#047857 100%)}.payment-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #05966966}.payment-btn-secondary{color:#667eea;background:#fff;border:2px solid #667eea}.payment-btn-secondary:hover{background:#f3f4f6}.spinner{border:4px solid #f3f4f6;border-top-color:#667eea;border-radius:50%;width:50px;height:50px;margin:0 auto 1rem;animation:.8s linear infinite spin}@media (width<=640px){.payment-status-container{padding:1rem}.payment-status-card{padding:1.5rem}.payment-status-title{font-size:1.5rem}.payment-status-subtitle{font-size:1rem}.payment-status-icon{width:100px;height:100px}.payment-status-icon svg{width:48px;height:48px}}.to-app{--to-bg:#f7f7f7;--to-surface:#fff;--to-text:#1a1a1a;--to-text-secondary:#6b7280;--to-text-muted:#9ca3af;--to-border:#e5e7eb;--to-border-light:#f3f4f6;--to-primary:var(--primary,#c4841d);--to-primary-light:#c4841d26;--to-primary-pale:#c4841d12;--to-success:#16a34a;--to-success-light:#f0fdf4;--to-dark:#1a1a1a;--to-dark-elevated:#2a2a2a;--to-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--to-radius:12px;--to-radius-sm:8px;--to-radius-lg:16px;--to-shadow:0 2px 8px #0000000f;--to-shadow-lg:0 4px 20px #0000001a;--to-transition:.18s ease;background:var(--to-bg);max-width:430px;min-height:100dvh;font-family:var(--to-font);color:var(--to-text);-webkit-font-smoothing:antialiased;margin:0 auto;position:relative;overflow-x:hidden}@media (width>=431px){.to-app{box-shadow:0 0 40px #00000014}}.to-screen{background:var(--to-bg);flex-direction:column;min-height:100dvh;display:flex}.to-loading{min-height:100dvh;color:var(--to-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:15px;display:flex}.to-loading-spinner{border:3px solid var(--to-border);border-top-color:var(--to-primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite to-spin}.to-header{background:var(--to-surface);border-bottom:1px solid var(--to-border-light);z-index:10;align-items:center;gap:12px;padding:16px 20px;display:flex;position:sticky;top:0}.to-back-btn{width:40px;height:40px;color:var(--to-text);cursor:pointer;transition:background var(--to-transition);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.to-back-btn:active{background:var(--to-border-light)}.to-header-text h1{margin:0;font-size:18px;font-weight:700;line-height:1.3}.to-header-text p{color:var(--to-text-muted);margin:0;font-size:13px}.to-bottom-fixed{width:100%;max-width:430px;padding:12px 20px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:var(--to-surface);border-top:1px solid var(--to-border-light);z-index:20;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.to-btn{border-radius:var(--to-radius);cursor:pointer;width:100%;transition:all var(--to-transition);appearance:none;border:none;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-family:inherit;font-size:16px;font-weight:600;display:flex}.to-btn:active{transform:scale(.98)}.to-btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.to-btn-dark{background:var(--to-dark);color:#fff;-webkit-appearance:none}.to-btn-dark:active{background:#333}.to-btn-primary{background:var(--to-primary);color:#fff;-webkit-appearance:none}.to-btn-primary:active{filter:brightness(.9)}.to-btn-success{background:var(--to-success);color:#fff;-webkit-appearance:none}.to-btn-success:active{background:#15803d}.to-btn-light{background:var(--to-border-light);color:var(--to-text-secondary);-webkit-appearance:none}.to-btn-light:active{background:var(--to-border)}.to-btn-outline{color:var(--to-text);border:1.5px solid var(--to-border);-webkit-appearance:none;background:0 0}.to-food-icon{border-radius:var(--to-radius);background:var(--to-border-light);flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden}.to-product-img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.to-product-card--oos{opacity:.6}.to-product-oos{letter-spacing:.5px;color:#ef4444;background:#fee2e2;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}.to-add-btn:disabled{opacity:.4;cursor:not-allowed}.to-qty-btn:disabled{opacity:.3;cursor:not-allowed}.to-qty-controls{align-items:center;gap:4px;display:flex}.to-qty-btn{cursor:pointer;width:32px;height:32px;transition:all var(--to-transition);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.to-qty-minus{background:var(--to-border-light);color:var(--to-text-secondary)}.to-qty-minus:active{background:var(--to-border)}.to-qty-plus{background:var(--to-dark);color:#fff}.to-qty-plus:active{background:#333}.to-qty-value{text-align:center;min-width:24px;font-size:15px;font-weight:700}.to-welcome{background:var(--to-surface)}.to-welcome-hero{background:var(--to-dark);flex-direction:column;justify-content:flex-end;min-height:320px;padding:48px 24px 32px;display:flex;position:relative;overflow:hidden}.to-welcome-qr{opacity:.2;position:absolute;top:50%;left:55%;transform:translate(-50%,-55%)}.to-welcome-hero-info{z-index:2;position:relative}.to-welcome-mesa{color:var(--to-primary);letter-spacing:1.5px;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:700;display:inline-flex}.to-welcome-dot{background:var(--to-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px}.to-welcome-name{color:#fff;letter-spacing:-.5px;margin:0 0 4px;font-size:36px;font-weight:900;line-height:1.1}.to-welcome-subtitle{color:var(--to-text-muted);letter-spacing:.3px;margin:0;font-size:15px}.to-welcome-content{padding:32px 24px 120px}.to-welcome-content h2{margin:0 0 12px;font-size:24px;font-weight:700}.to-welcome-desc{color:var(--to-text-secondary);margin:0 0 32px;font-size:15px;line-height:1.6}.to-welcome-steps{flex-direction:column;gap:20px;display:flex}.to-welcome-step{align-items:center;gap:16px;display:flex}.to-welcome-step-icon{border-radius:var(--to-radius);background:var(--to-primary-pale);border:1.5px solid var(--to-primary-light);width:48px;height:48px;color:var(--to-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.to-welcome-step-text{flex-direction:column;gap:2px;display:flex}.to-welcome-step-text strong{font-size:15px;font-weight:600}.to-welcome-step-text span{color:var(--to-text-muted);font-size:13px}.to-menu{background:var(--to-surface)}.to-menu-sticky{z-index:10;background:var(--to-surface);position:sticky;top:0}.to-menu-header{justify-content:space-between;align-items:center;padding:20px 20px 12px;display:flex}.to-menu-title{letter-spacing:-.3px;margin:0;font-size:22px;font-weight:900}.to-menu-mesa{color:var(--to-text-muted);margin:2px 0 0;font-size:13px}.to-cart-btn{width:44px;height:44px;color:var(--to-text);cursor:pointer;transition:background var(--to-transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.to-cart-btn:active{background:var(--to-border-light)}.to-cart-badge{background:var(--to-primary);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.to-menu-tabs-wrapper{border-bottom:1px solid var(--to-border-light)}.to-menu-tabs{scrollbar-width:none;-ms-overflow-style:none;gap:0;padding:0 20px;display:flex;overflow-x:auto}.to-menu-tabs::-webkit-scrollbar{display:none}.to-menu-tab{letter-spacing:.8px;color:var(--to-text-muted);cursor:pointer;transition:color var(--to-transition);white-space:nowrap;background:0 0;border:none;border-radius:20px;flex-shrink:0;padding:10px 16px 12px;font-family:inherit;font-size:13px;font-weight:600;position:relative}.to-menu-tab.active{color:var(--to-text)}.to-menu-tab.active:after{content:"";background:var(--to-primary);border-radius:2px 2px 0 0;height:2.5px;position:absolute;bottom:0;left:16px;right:16px}.to-menu-list{background:var(--to-bg);flex-direction:column;gap:12px;padding:8px 16px 100px;display:flex}.to-product-card{background:var(--to-surface);border-radius:var(--to-radius);border:1px solid var(--to-border-light);align-items:flex-start;gap:12px;padding:16px;display:flex}.to-product-info{flex:1;min-width:0}.to-product-name{margin:0 0 4px;font-size:16px;font-weight:700}.to-product-desc{color:var(--to-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.to-product-price{font-size:16px;font-weight:700}.to-product-right{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;display:flex}.to-add-btn{background:var(--to-dark);color:#fff;cursor:pointer;width:36px;height:36px;transition:all var(--to-transition);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.to-add-btn:active{background:#333;transform:scale(.9)}.to-floating-cart{width:calc(100% - 32px);max-width:398px;margin-bottom:max(16px, env(safe-area-inset-bottom));background:var(--to-dark);color:#fff;border-radius:var(--to-radius);cursor:pointer;z-index:20;box-shadow:var(--to-shadow-lg);transition:transform var(--to-transition);justify-content:space-between;align-items:center;padding:14px 20px;animation:.3s ease-out to-slide-up;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.to-floating-cart:active{transform:translate(-50%)scale(.98)}.to-floating-cart-left{align-items:center;gap:12px;display:flex}.to-floating-cart-count{background:var(--to-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.to-floating-cart-text{font-size:15px;font-weight:600}.to-floating-cart-total{font-size:16px;font-weight:700}.to-cart{background:var(--to-bg)}.to-cart .to-header{background:var(--to-surface)}.to-cart-content{flex:1;padding:16px 16px 100px}.to-cart-items{flex-direction:column;gap:12px;display:flex}.to-cart-item{background:var(--to-surface);border-radius:var(--to-radius);border:1px solid var(--to-border-light);align-items:center;gap:12px;padding:16px;display:flex}.to-cart-item .to-food-icon{width:52px;height:52px}.to-cart-item-info{flex:1;min-width:0}.to-cart-item-info h3{margin:0 0 2px;font-size:15px;font-weight:700}.to-cart-item-info p{color:var(--to-text-muted);margin:0;font-size:13px}.to-cart-item-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.to-delete-btn{width:36px;height:36px;color:var(--to-text-muted);cursor:pointer;transition:all var(--to-transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.to-delete-btn:active{background:var(--to-border-light);color:var(--to-text-secondary)}.to-cart-empty{color:var(--to-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:64px 24px;display:flex}.to-cart-empty p{margin:0;font-size:16px}.to-cart-empty .to-btn{width:auto;padding:12px 32px}.to-cart-notes{border-top:1px solid var(--to-border);margin-top:24px;padding-top:20px}.to-cart-notes label{letter-spacing:1px;color:var(--to-text-secondary);margin-bottom:10px;font-size:12px;font-weight:700;display:block}.to-cart-notes--last{border-top:none;margin-top:0;padding-top:0}.to-cart-notes textarea{border-radius:var(--to-radius);width:100%;color:var(--to-text);resize:none;transition:box-shadow var(--to-transition), border-color var(--to-transition);box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;outline:none;padding:14px 16px;font-family:inherit;font-size:14px;box-shadow:0 1px 3px #0000000f}.to-cart-notes textarea:focus{box-shadow:0 1px 3px #0000000f, 0 0 0 2px var(--to-primary-light);border-color:#9ca3af}.to-cart-notes textarea::placeholder{color:var(--to-text-muted)}.to-cart-totals{border-top:1px solid var(--to-border);flex-direction:column;gap:8px;margin-top:20px;padding-top:16px;display:flex}.to-cart-total-row{color:var(--to-text-secondary);justify-content:space-between;align-items:center;font-size:14px;display:flex}.to-cart-total-final{border-top:1px solid var(--to-border);color:var(--to-text);margin-top:4px;padding-top:12px;font-size:17px;font-weight:700}.to-summary{background:var(--to-surface)}.to-summary-content{flex:1;padding:20px 20px 100px}.to-summary-time-banner{background:var(--to-primary-pale);border-radius:var(--to-radius);margin-bottom:24px;padding:16px 20px}.to-summary-time-banner>div:first-child{align-items:center;gap:12px;display:flex}.to-summary-time-icon{background:var(--to-primary-light);width:40px;height:40px;color:var(--to-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.to-summary-time-text{flex-direction:column;gap:1px;display:flex}.to-summary-time-text strong{font-size:15px}.to-summary-time-text span{color:var(--to-text-secondary);font-size:13px}.to-summary-time-note{color:var(--to-primary);margin:10px 0 0;font-size:13px;line-height:1.4}.to-summary-items{padding:0}.to-summary-item{border-bottom:1px solid var(--to-border-light);align-items:center;padding:14px 0;display:flex}.to-summary-item:last-child{border-bottom:none}.to-summary-item-qty{color:var(--to-text-secondary);flex-shrink:0;width:36px;font-size:14px}.to-summary-item-name{flex:1;font-size:15px;font-weight:500}.to-summary-item-price{flex-shrink:0;font-size:15px;font-weight:600}.to-summary-totals{border-top:1px solid var(--to-border);flex-direction:column;gap:8px;margin-top:8px;padding-top:16px;display:flex}.to-summary-total-row{color:var(--to-text-secondary);justify-content:space-between;font-size:14px;display:flex}.to-summary-total-final{border-top:1px solid var(--to-border);color:var(--to-text);margin-top:4px;padding-top:12px;font-size:18px;font-weight:700}.to-payment{background:var(--to-bg)}.to-payment .to-header{background:var(--to-surface)}.to-payment-content{flex-direction:column;flex:1;align-items:center;padding:24px 20px 140px;display:flex}.to-payment-qr-card{background:var(--to-surface);border-radius:var(--to-radius-lg);box-shadow:var(--to-shadow);justify-content:center;align-items:center;margin-bottom:24px;padding:24px;display:flex}.to-payment-qr-img{object-fit:contain;width:200px;height:200px;display:block}.to-payment-title{text-align:center;margin:0 0 8px;font-size:20px;font-weight:700}.to-payment-desc{color:var(--to-text-secondary);text-align:center;max-width:320px;margin:0 0 24px;font-size:18px;line-height:1.5}.to-payment-desc strong{color:var(--to-text)}.to-payment-mp-section{flex-direction:column;align-items:center;gap:12px;margin-bottom:24px;display:flex}.to-payment-mp-label{color:var(--to-text-secondary);text-align:center;margin:0;font-size:15px}.to-payment-total-card{background:var(--to-dark);color:#fff;border-radius:var(--to-radius);text-align:center;margin-bottom:28px;padding:18px 32px}.to-payment-total-label{letter-spacing:1.5px;color:#ffffff80;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.to-payment-total-amount{font-size:32px;font-weight:800}.to-payment-instructions{background:var(--to-surface);border-radius:var(--to-radius);text-align:center;width:100%;margin-bottom:24px;padding:20px}.to-payment-instructions-label{letter-spacing:1.2px;color:var(--to-text-muted);margin-bottom:16px;font-size:11px;font-weight:700;display:block}.to-payment-instructions-icons{justify-content:center;align-items:center;gap:20px;display:flex}.to-payment-qr-type{flex-direction:column;align-items:center;gap:8px;display:flex}.to-payment-qr-type span{color:var(--to-text-secondary);font-size:12px;font-weight:600}.to-payment-qr-icon{border-radius:var(--to-radius);justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}.to-payment-qr-menu{border:2px solid var(--to-primary);color:var(--to-primary)}.to-payment-qr-pago{border:2px solid var(--to-success);color:var(--to-success)}.to-payment-check-badge{background:var(--to-success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:-5px;right:-5px}.to-payment-arrow{color:var(--to-text-muted);margin-bottom:24px;font-size:20px}.to-payment-waiting{color:var(--to-text-muted);align-items:center;gap:8px;font-size:14px;display:flex}.to-payment-dots{gap:4px;display:flex}.to-payment-dots span{background:var(--to-text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both to-dot-pulse}.to-payment-dots span:nth-child(2){animation-delay:.2s}.to-payment-dots span:nth-child(3){animation-delay:.4s}.to-payment-demo{text-align:center;flex-direction:column;gap:10px;display:flex}.to-demo-label{letter-spacing:1.2px;color:var(--to-text-muted);font-size:11px;font-weight:700}.to-confirmed{background:var(--to-bg)}.to-confirmed-content{flex-direction:column;flex:1;align-items:center;padding:64px 20px 100px;display:flex}.to-confirmed-check{background:var(--to-success-light);width:80px;height:80px;color:var(--to-success);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;animation:.5s ease-out to-check-pop;display:flex}.to-confirmed-content h1{margin:0 0 8px;font-size:24px;font-weight:700}.to-confirmed-subtitle{color:var(--to-text-secondary);margin:0 0 32px;font-size:14px}.to-confirmed-card{background:var(--to-surface);border-radius:var(--to-radius);width:100%;box-shadow:var(--to-shadow);padding:20px}.to-confirmed-row{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.to-confirmed-label{letter-spacing:.8px;color:var(--to-text-muted);font-size:12px;font-weight:600}.to-confirmed-value{font-size:15px;font-weight:700}.to-confirmed-divider{background:var(--to-border-light);height:1px;margin:10px 0}.to-confirmed-item{justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;display:flex}.to-confirmed-total{font-size:15px;font-weight:700}.to-confirmed-status{background:var(--to-primary-pale);border-radius:var(--to-radius);align-items:center;gap:14px;width:100%;margin-top:20px;padding:16px 20px;display:flex}.to-confirmed-status-icon{background:var(--to-primary-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.to-confirmed-status-text{flex-direction:column;gap:2px;display:flex}.to-confirmed-status-text strong{font-size:15px}.to-confirmed-status-text span{color:var(--to-text-secondary);font-size:13px}@keyframes to-spin{to{transform:rotate(360deg)}}@keyframes to-slide-up{0%{opacity:0;transform:translate(-50%)translateY(100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes to-dot-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@keyframes to-check-pop{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media (width<=360px){.to-welcome-name{font-size:30px}.to-menu-tab{padding:10px 12px 12px;font-size:12px}.to-product-card{gap:10px;padding:12px}.to-food-icon{width:52px;height:52px}}.to-cart-customer{border-top:1px solid var(--to-border);flex-direction:column;gap:16px;margin-top:24px;padding-top:20px;display:flex}.to-field{flex-direction:column;gap:6px;display:flex}.to-field label{letter-spacing:1px;color:var(--to-text-secondary);margin-bottom:2px;font-size:12px;font-weight:700;display:block}.to-field input{border-radius:var(--to-radius);width:100%;color:var(--to-text);transition:box-shadow var(--to-transition), border-color var(--to-transition);box-sizing:border-box;-webkit-appearance:none;background:#fff;border:1px solid #e5e7eb;outline:none;padding:14px 16px;font-family:inherit;font-size:14px;box-shadow:0 1px 3px #0000000f}.to-field input::placeholder{color:var(--to-text-muted)}.to-field input:focus{box-shadow:0 1px 3px #0000000f, 0 0 0 2px var(--to-primary-light);border-color:#9ca3af}.to-field-error{color:#ef4444;margin-top:2px;font-size:12px}.to-customer-api-error,.to-summary-api-error{border-radius:var(--to-radius);color:#dc2626;text-align:center;background:#ef444414;border:1px solid #ef444440;padding:12px 16px;font-size:14px}.to-summary-api-error{margin-top:10px}:root{--primary:#059669;--primary-hover:#047857;--primary-light:#0596691a;--primary-lighter:#0596690d;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--border:#e5e7eb;--border-focus:#059669;--background:#fff;--background-secondary:#f9fafb;--background-tertiary:#f3f4f6;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px}*{box-sizing:border-box;margin:0;padding:0}.bienvenida-loader{background-color:var(--background);flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:100vh;display:flex}.bienvenida-spinner{border:4px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.bienvenida-loader-text{color:var(--text-secondary);font-size:1rem;font-weight:500}.bienvenida-container{background-color:var(--background);flex-direction:column;min-height:100vh;display:flex}.logo-container{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.logo-svg{width:48px;height:48px}.logo-text{color:#fff;letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.btn-primary{background-color:var(--primary);color:#fff;border-radius:var(--radius-lg);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary.btn-large{padding:1rem 2rem;font-size:1rem}.btn-secondary{background-color:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-secondary:hover{background-color:var(--background-tertiary);border-color:var(--text-muted)}.btn-outline{color:#fff;border-radius:var(--radius-lg);cursor:pointer;background-color:#0000;border:2px solid #ffffff80;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-outline:hover{background-color:#ffffff1a;border-color:#ffffffb3}.btn-outline.btn-large{padding:1rem 2rem;font-size:1rem}.hero-section{background-image:url(https://images.unsplash.com/photo-1554068865-24cecd4e34b8?q=80&w=2070&auto=format&fit=crop);background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100vh;padding:3rem 1.5rem;display:flex;position:relative}.hero-overlay{background:linear-gradient(135deg,#059669d9 0%,#064e3be6 100%);position:absolute;inset:0}.hero-content{z-index:10;text-align:center;max-width:700px;position:relative}.bienvenida-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1rem}.hero-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background-color:#fff3;border:1px solid #ffffff4d;border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.badge-icon{width:18px;height:18px}.hero-title{color:#fff;letter-spacing:-.025em;text-wrap:balance;margin-bottom:1rem;font-size:2.5rem;font-weight:700;line-height:1.2}.hero-subtitle{color:#ffffffe6;text-wrap:pretty;max-width:600px;margin:0 auto 2.5rem;font-size:1.125rem;line-height:1.6}.hero-ctas{flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.btn-whatsapp{background-color:var(--primary);color:#fff;border:1px solid var(--primary-hover);border-radius:var(--radius-lg);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;transition:background-color .2s,transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 18px #0596693d}.btn-whatsapp:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 10px 24px #04785752}.btn-whatsapp svg{color:#fff;fill:currentColor;width:20px;height:20px}.welcome-badge-container{justify-content:center;margin-bottom:1.25rem;display:flex}.welcome-badge{background-color:var(--primary-light);color:var(--primary);border-radius:9999px;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.features-section{text-align:center;padding:0 0 3rem}.btn-start{margin-bottom:2.5rem}.features-section>.welcome-badge{background-color:var(--primary-light);color:var(--primary);border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.welcome-badge .badge-icon{width:18px;height:18px}.section-title{color:var(--text-primary);text-align:center;letter-spacing:-.025em;margin-bottom:.75rem;font-size:1.75rem;font-weight:700}.section-subtitle{color:var(--text-secondary);text-align:center;max-width:500px;margin:0 auto 2.5rem;font-size:1rem;line-height:1.5}.bento-grid{grid-template-columns:1fr;grid-auto-flow:dense;gap:1rem;display:grid}.bento-card{background-color:var(--background-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.5rem;transition:all .3s;position:relative}.bento-card:hover{box-shadow:var(--shadow-lg);border-color:var(--text-muted);transform:translateY(-2px)}.bento-card.highlighted{background:linear-gradient(135deg, var(--primary-lighter) 0%, var(--background) 100%);border-color:var(--primary)}.bento-card.highlighted:hover{border-color:var(--primary-hover)}.bento-card.medium-large{padding:1.5rem}.bento-card.medium-large .card-icon-wrapper{width:48px;height:48px}.bento-card.medium-large .card-icon{width:24px;height:24px}.bento-card.compact .card-description{margin-bottom:0}.card-icon-wrapper{background-color:var(--primary-light);border-radius:var(--radius-lg);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;display:flex}.bento-card.highlighted .card-icon-wrapper{background-color:var(--primary)}.card-icon{width:24px;height:24px;color:var(--primary)}.bento-card.highlighted .card-icon{color:#fff}.card-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.card-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.card-badge{background-color:var(--primary);color:#fff;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;position:absolute;top:1rem;right:1rem}.demo-section{padding:2rem 0}.demo-content{text-align:center;border-radius:var(--radius-2xl);color:#fff;background:linear-gradient(135deg,#064e3b 0%,#059669 100%);flex-direction:column;align-items:center;gap:1.5rem;padding:2.5rem 1.5rem;display:flex}.demo-text{flex-direction:column;gap:.5rem;display:flex}.demo-title{letter-spacing:-.025em;color:#fff;font-size:1.5rem;font-weight:700}.demo-subtitle{opacity:.9;color:#fff;font-size:1rem;line-height:1.5}.demo-content .btn-primary{color:var(--primary);background-color:#fff;flex-wrap:nowrap;width:100%;max-width:100%}.demo-content .btn-primary:hover{background-color:var(--background-secondary)}.btn-whatsapp-demo{overflow:hidden}.btn-whatsapp-demo span{white-space:nowrap}.tutorials-section{padding:2rem 0}.tutorials-grid{grid-template-columns:1fr;gap:1rem;display:grid}.tutorial-card{background-color:var(--background-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.5rem;transition:all .2s}.tutorial-card:hover{border-color:var(--text-muted)}.tutorial-icon-wrapper{background-color:var(--primary-light);border-radius:var(--radius-lg);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;display:flex}.tutorial-icon{width:24px;height:24px;color:var(--primary)}.tutorial-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.tutorial-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem;line-height:1.5}.tutorial-link{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.375rem;padding:0;font-size:.875rem;font-weight:600;text-decoration:none;transition:gap .2s;display:inline-flex}.tutorial-link:hover{gap:.625rem}.bienvenida-footer{background-color:var(--background-secondary);border-top:1px solid var(--border);padding:2rem 1.5rem}.footer-content{text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;display:flex}.footer-brand{align-items:center;gap:.5rem;display:flex}.footer-brand .logo-svg{width:28px;height:28px}.footer-text{color:var(--text-secondary);font-size:.875rem}.footer-copy{color:var(--text-muted);font-size:.75rem}@media (width>=640px){.logo-svg{width:56px;height:56px}.logo-text{font-size:1.75rem}.hero-title{font-size:3rem}.hero-ctas{flex-direction:row;justify-content:center}.bento-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(120px,auto);grid-auto-flow:dense}.bento-card:first-child{grid-area:span 2/span 3}.bento-card:nth-child(2),.bento-card:nth-child(3){grid-area:span 1/span 3}.bento-card:nth-child(4),.bento-card:nth-child(5),.bento-card:nth-child(6){grid-area:span 1/span 2}.bento-card:nth-child(7),.bento-card:nth-child(8){grid-area:span 1/span 3}.tutorials-grid{grid-template-columns:repeat(2,1fr)}.demo-content{text-align:left;flex-flow:wrap;align-items:center;padding:3rem}.demo-text{min-width:0}.demo-content .btn-primary{width:auto;max-width:100%;margin-left:auto}}@media (width>=1024px){.bienvenida-main{padding:1rem}.logo-svg{width:64px;height:64px}.logo-text{font-size:2rem}.hero-title{font-size:3.5rem}.hero-subtitle{font-size:1.25rem}.section-title{font-size:2rem}.bento-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(110px,auto);grid-auto-flow:dense;gap:1.25rem}.bento-card:first-child{grid-area:span 2/span 5}.bento-card:nth-child(2){grid-area:span 1/span 3}.bento-card:nth-child(3),.bento-card:nth-child(4){grid-area:span 1/span 4}.bento-card:nth-child(5){grid-area:span 1/span 3}.bento-card:nth-child(6){grid-area:span 1/span 5}.bento-card:nth-child(7){grid-area:span 1/span 3}.bento-card:nth-child(8){grid-area:span 1/span 4}.bento-card.large{padding:2rem}.bento-card.large .card-icon-wrapper{width:56px;height:56px}.bento-card.large .card-icon{width:28px;height:28px}.bento-card.large .card-title{font-size:1.25rem}.bento-card.large .card-description{font-size:.9375rem}.demo-content{padding:3.5rem 4rem}.demo-title{font-size:1.75rem}.footer-content{flex-direction:row;justify-content:space-between}}@media (width>=1280px){.hero-title{font-size:4rem}.bento-grid{gap:1.5rem}.bento-card.large{padding:2.5rem}}.snc-backdrop{z-index:10040;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.2s sncFadeIn;display:flex;position:fixed;inset:0}@keyframes sncFadeIn{0%{opacity:0}to{opacity:1}}.snc-dialog{background:#fff;border-radius:14px;flex-direction:column;width:min(920px,100%);max-height:min(86vh,720px);display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #0f172a40}.snc-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.snc-brand-chip{color:#475569;letter-spacing:.02em;background:#f1f5f9;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.snc-dots{align-items:center;gap:6px;display:flex}.snc-dot{background:#e2e8f0;border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.snc-dot--active{background:var(--primary,#3b82f6);transform:scale(1.15)}.snc-close{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.35rem .5rem;font-size:1.35rem;line-height:1;display:flex}.snc-close:hover{color:#475569;background:#f1f5f9}.snc-body{flex:1;min-height:0;padding:1rem 1rem 1.25rem;overflow:auto}.snc-step-panel{animation:.22s sncStepIn}@keyframes sncStepIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.snc-split-labels{justify-content:space-between;gap:1rem;margin-bottom:.65rem;display:flex}.snc-mini-label{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;flex:1;font-size:11px;font-weight:700}.snc-split{justify-content:center;align-items:stretch;gap:1rem;display:flex}.snc-mini-sidebar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;flex:1;gap:6px;min-width:0;max-width:260px;padding:10px 10px 12px;display:flex}.snc-mini-row{color:#64748b;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:11px;font-weight:600;display:flex}.snc-mini-row svg{opacity:.75;flex-shrink:0}.snc-mini-row--sub{background:#f8fafc;margin-left:14px;padding:4px 8px;font-size:10px;font-weight:500}.snc-mini-row--selected{color:#14532d;background:#ecfdf5;border-width:2px;border-color:#22c55e;font-weight:700}.snc-mini-row--selected svg{opacity:1;color:#15803d}.snc-split-after-app{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex:1.2;align-items:stretch;min-width:0;min-height:260px;display:flex;overflow:hidden}.snc-mini-sidebar--nested{border:none;border-right:1px solid #e2e8f0;border-radius:0;flex:1;min-width:0;max-width:220px}.snc-after-app-pane{background:#fff;flex-direction:column;flex:1;min-width:0;display:flex}.snc-after-app-topbar{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:8px;padding:8px 10px;display:flex}.snc-after-app-body{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);flex:1;min-height:120px}.snc-after-app-body--compact{min-height:48px}.snc-mini-row--expandable{justify-content:space-between}.snc-mini-chevron{opacity:.55;flex-shrink:0;transform:rotate(90deg)}.snc-after-dual-pane{gap:0}.snc-after-module-pane{border-bottom:1px solid #e2e8f0;flex-direction:column;flex:1;min-height:0;display:flex}.snc-after-module-pane:last-child{border-bottom:none}.snc-after-module-pane .snc-after-app-topbar{flex-shrink:0}.snc-page-tabs{background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;flex-shrink:0;gap:0;padding:0 6px;display:flex}.snc-page-tab{color:#94a3b8;white-space:nowrap;border-bottom:2px solid #0000;padding:6px 8px;font-size:9px;font-weight:600}.snc-page-tab--active{color:#00bfa6;border-bottom-color:#00bfa6}.snc-after-app-caption{color:#94a3b8;letter-spacing:.06em;text-transform:uppercase;text-align:left;flex:1;font-size:9px;font-weight:600}.snc-mini-row--sub.snc-mini-row--selected{background:#ecfdf5}.snc-step-explain{text-align:left;width:100%;max-width:560px;margin:0 auto 1rem;padding:0 .5rem}.snc-step-explain-title{color:#111827;margin:0 0 .4rem;font-size:.95rem;font-weight:700;line-height:1.3}.snc-step-explain-body{color:#4b5563;margin:0;font-size:.85rem;line-height:1.5}.snc-strip-item--selected{color:#14532d;background:#dcfce7;border:2px solid #22c55e;font-weight:700;box-shadow:0 0 0 1px #22c55e33}.snc-section-block{background:#ffffffb3;border:1px dashed #cbd5e1;border-radius:10px;padding:8px 8px 10px}.snc-section-title{text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;margin:0 0 6px 4px;font-size:9px;font-weight:700}.snc-footer-row{border-top:1px solid #e2e8f0;margin-top:auto;padding-top:8px}.snc-footer-chip{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:11px;font-weight:600;display:flex}.snc-move-canvas{flex-direction:column;align-items:stretch;gap:.85rem;min-height:0;padding:.25rem 0 .5rem;display:flex}.snc-wire-wrap{justify-content:center;display:flex}.snc-app-frame{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;width:100%;max-width:420px;position:relative;overflow:hidden;box-shadow:0 4px 14px #0f172a14}.snc-app-topbar{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:8px;padding:8px 10px;display:flex}.snc-chip-cta{color:#fff;background:var(--primary,#3b82f6);border-radius:8px;padding:4px 12px;font-size:10px;font-weight:700;box-shadow:0 1px 3px #3b82f659}.snc-app-main{min-height:200px;display:flex}.snc-app-sidebar-strip{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;gap:8px;width:112px;padding:10px 8px;display:flex}.snc-strip-item{color:#475569;text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:6px 8px;font-size:10px;font-weight:600}.snc-strip-item--muted{color:#6366f1;background:#eef2ff;border-style:dashed}.snc-strip-item--ghost{opacity:.65}.snc-app-content{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);flex:1}.snc-ghost-side-item{color:#b45309;z-index:2;background:#fffbeb;border:1px dashed #f59e0b;border-radius:6px;padding:4px 8px;font-size:9px;font-weight:700;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.snc-arrow-layer{pointer-events:none;z-index:3;position:absolute;inset:0}.snc-arrow-svg{width:100%;height:100%}.snc-vs-divider{background:linear-gradient(#0000,#cbd5e1 12% 88%,#0000);flex-shrink:0;align-self:stretch;width:1px}.snc-footer-nav{background:#fafafa;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.snc-footer-nav button{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;padding:.45rem .95rem;font-size:13px;font-weight:600;display:inline-flex}.snc-footer-nav button:hover:not(:disabled){background:#f3f4f6}.snc-footer-nav button:disabled{opacity:.45;cursor:not-allowed}.snc-btn-primary{background:var(--primary,#3b82f6)!important;border-color:var(--primary,#2563eb)!important;color:#fff!important}.snc-btn-primary:hover:not(:disabled){filter:brightness(1.06)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){.snc-split{flex-direction:column;align-items:center}.snc-mini-sidebar{width:100%;max-width:100%}.snc-vs-divider{align-self:center;width:100%;height:1px;min-height:1px}.snc-split-after-app{flex-direction:column;width:100%;max-width:100%;min-height:0}.snc-mini-sidebar--nested{border-bottom:1px solid #e2e8f0;border-right:none;max-width:100%}.snc-app-frame{max-width:100%}}.snc-nov-schematic{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:.55rem .6rem}.snc-nov-schematic--stack{flex-direction:column;gap:.45rem;display:flex}.snc-nov-step-frame{width:100%;max-width:480px;margin:.35rem auto 0}.snc-nov-step-frame--app{max-width:320px}.snc-nov-mini-topbar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:6px 8px;display:flex}.snc-nov-mini-caption{letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;font-size:9px;font-weight:700}.snc-nov-pill{border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:9px;font-weight:700;display:inline-flex}.snc-nov-pill--primary{color:#1d4ed8;background:#3b82f61f;border:1px solid #3b82f659}.snc-nov-pill--accent{color:#047857;background:#ecfdf5;border:1px solid #6ee7b7}.snc-nov-price-rows{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.snc-nov-price-row{background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;padding:4px 8px;font-size:10px;display:flex}.snc-nov-recurrent-strip{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:10px;font-weight:600;display:flex}.snc-nov-muted{color:#94a3b8;font-size:10px}.snc-nov-strong{color:#334155;font-size:10px;font-weight:700}.snc-nov-field-label{color:#64748b;align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.snc-nov-email-chips{flex-wrap:wrap;gap:6px;display:flex}.snc-nov-email-chip{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:4px 8px;font-size:9px;font-weight:600}.snc-nov-browser-chrome{background:#e2e8f0;border-radius:8px 8px 0 0;align-items:center;gap:5px;margin:-2px -2px 0;padding:5px 8px;display:flex}.snc-nov-dot{background:#cbd5e1;border-radius:50%;width:6px;height:6px}.snc-nov-url{text-align:center;color:#64748b;flex:1;font-size:8px;font-weight:600}.snc-nov-map-row{align-items:stretch;gap:10px;padding:8px 6px 6px;display:flex}.snc-nov-map-fake{background:linear-gradient(135deg,#dbeafe 0%,#e0f2fe 50%,#ccfbf1 100%);border:1px solid #bae6fd;border-radius:8px;justify-content:center;align-items:center;width:72px;min-height:56px;display:flex}.snc-nov-map-pin{color:#dc2626;filter:drop-shadow(0 1px 1px #00000026)}.snc-nov-address{flex-direction:column;flex:1;justify-content:center;gap:2px;display:flex}.snc-nov-role-grid{flex-direction:column;gap:6px;display:flex}.snc-nov-role-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:5px 8px;font-size:10px;display:flex}.snc-nov-toggle{background:#e2e8f0;border-radius:999px;flex-shrink:0;width:28px;height:16px;position:relative}.snc-nov-toggle:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000001f}.snc-nov-toggle.on{background:#22c55e}.snc-nov-toggle.on:after{left:14px}.snc-nov-att-row{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:5px 8px;font-size:10px;font-weight:600;display:flex}.snc-nov-att-row+.snc-nov-att-row{margin-top:4px}.snc-nov-check{border:2px solid #cbd5e1;border-radius:4px;flex-shrink:0;width:14px;height:14px}.snc-nov-check.on{background:#22c55e;border-color:#22c55e;box-shadow:inset 0 0 0 2px #fff}.snc-nov-att-schematic--stack{flex-direction:column;gap:10px;display:flex}.snc-nov-att-block{flex-direction:column;gap:4px;display:flex}.snc-nov-att-block-label{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;padding:0 2px;font-size:9px;font-weight:700}.snc-nov-enroll-strip{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:10px;font-weight:600;display:flex}.snc-nov-enroll-strip svg{opacity:.75;flex-shrink:0}.snc-nov-enroll-pill{color:#15803d;white-space:nowrap;background:#ecfdf5;border:1px solid #86efac;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:9px;font-weight:700}.snc-nov-quota-header{color:#64748b;justify-content:space-between;align-items:center;padding:0 2px;font-size:10px;font-weight:600;display:flex}.snc-nov-quota-bar{background:#e2e8f0;border-radius:999px;height:6px;overflow:hidden}.snc-nov-quota-fill{background:#00bfa6;border-radius:999px;height:100%}.snc-nov-reserve-row{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:5px 8px;font-size:10px;font-weight:600;display:flex}.snc-nov-reserve-row svg{opacity:.75;color:#00bfa6;flex-shrink:0}.snc-nov-reserve-clock{margin-left:auto;opacity:.5!important;color:#94a3b8!important}.snc-nov-phone-wrap{justify-content:center;padding:.5rem 0 .25rem;display:flex}.snc-nov-device{filter:drop-shadow(0 18px 32px #0f172a38);align-items:center;gap:0;display:flex}.snc-nov-device-side{background:linear-gradient(#334155 0%,#1e293b 40%,#0f172a 100%);border-radius:2px;flex-shrink:0;width:3px}.snc-nov-device-side--mute{align-self:flex-start;height:22px;margin-top:3.2rem;margin-right:2px}.snc-nov-device-side--vol{align-self:flex-start;height:42px;margin-top:2.8rem;margin-left:2px}.snc-nov-phone.snc-nov-phone--mock{background:linear-gradient(145deg,#475569 0%,#1e293b 45%,#0f172a 100%);border:none;border-radius:36px;width:min(220px,92vw);padding:5px;box-shadow:inset 0 0 0 1px #ffffff1f,0 2px 8px #00000059}.snc-nov-phone-bezel{background:#020617;border-radius:32px;flex-direction:column;align-items:stretch;gap:0;padding:8px 8px 6px;display:flex}.snc-nov-phone-statusbar{letter-spacing:.02em;color:#f8fafc;justify-content:space-between;align-items:center;padding:2px 10px 4px;font-size:10px;font-weight:700;display:flex}.snc-nov-phone-status-icons{color:#f8fafc;opacity:.95;align-items:center;gap:5px;display:inline-flex}.snc-nov-phone-island{background:#020617;border-radius:14px;width:38%;max-width:88px;height:22px;margin:0 auto 6px;box-shadow:0 0 0 1px #ffffff14}.snc-nov-phone-screen{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:22px;flex-direction:column;gap:6px;min-height:168px;padding:10px 10px 6px;display:flex}.snc-nov-app-top{align-items:center;gap:8px;margin-bottom:2px;display:flex}.snc-nov-app-logo{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;flex-shrink:0;width:22px;height:22px}.snc-nov-app-title{color:#0f172a;letter-spacing:-.02em;flex:1;font-size:11px;font-weight:800}.snc-nov-app-bell{color:#64748b;flex-shrink:0}.snc-nov-app-greeting{color:#64748b;margin:0 0 2px;font-size:9px;font-weight:600}.snc-nov-app-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;display:flex;box-shadow:0 2px 6px #0f172a0f}.snc-nov-app-card-icon{color:var(--primary,#3b82f6);flex-shrink:0}.snc-nov-app-card-k{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-size:8px;font-weight:700;display:block}.snc-nov-app-card-v{color:#1e293b;margin-top:1px;font-size:10px;font-weight:700;display:block}.snc-nov-app-row{color:#334155;background:#ffffffd9;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:8px;padding:6px 8px;font-size:9px;font-weight:600;display:flex}.snc-nov-app-row svg{color:#64748b;flex-shrink:0}.snc-nov-app-row--muted{opacity:.88}.snc-nov-app-tabbar{background:#ffffffa6;border-top:1px solid #e2e8f0;border-radius:0 0 16px 16px;justify-content:space-around;align-items:stretch;margin:auto -10px -6px;padding:6px 4px 8px;display:flex}.snc-nov-app-tab{color:#94a3b8;flex-direction:column;align-items:center;gap:2px;min-width:44px;font-size:7px;font-weight:700;display:flex}.snc-nov-app-tab svg{opacity:.65}.snc-nov-app-tab--active{color:var(--primary,#2563eb)}.snc-nov-app-tab--active svg{opacity:1;color:var(--primary,#2563eb)}.snc-nov-phone-home-indicator{background:#f8fafc59;border-radius:4px;width:32%;max-width:72px;height:4px;margin:6px auto 0}
