.navbar{--navbar-height:72px;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;color:var(--text-color);display:flex;height:var(--navbar-height);justify-content:space-between;left:0;padding:.75rem 2rem;position:fixed;right:0;top:0;z-index:1100}.navbar-logo{color:#036;color:var(--color-primary,#036);font-size:1.5rem;font-weight:700}.navbar-links{gap:.5rem;list-style:none;margin:0;padding:0}.navbar-links,.navbar-links li{align-items:center;display:flex}.navbar .navbar-links li a,.navbar .navbar-links li a:link,.navbar .navbar-links li a:visited,.navbar .navbar-links li button.navbar-link-btn{background:#0000;background:var(--nav-button-bg,#0000);border:none;border-radius:6px;color:#4a5568!important;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:12px 24px;position:relative;text-decoration:none;transition:all .2s ease}.navbar-links li a:not(.active):hover,.navbar-links li button.navbar-link-btn:not(.active):hover{background:#667eea0d;background:#0000;box-shadow:none;color:#667eea;font-weight:700;transform:none}.navbar-links li a:not(.active):hover:after,.navbar-links li button.navbar-link-btn:not(.active):hover:after{background:#0000001f;border-radius:1px;bottom:6px;content:"";height:2px;left:12px;position:absolute;right:12px}.navbar .navbar-links li a.active,.navbar .navbar-links li button.navbar-link-btn.active{background:#036!important;background:var(--nav-active-bg,#036)!important;border-radius:0;box-shadow:none;color:#fff!important;color:var(--nav-button-active-text,#fff)!important}.navbar .navbar-links li a:not(.active):hover,.navbar .navbar-links li button.navbar-link-btn:not(.active):hover{color:#333!important;font-weight:700!important}.navbar-links li a:focus,.navbar-links li a:focus-visible,.navbar-links li button.navbar-link-btn:focus,.navbar-links li button.navbar-link-btn:focus-visible{border-radius:0;outline:3px solid #0066cc2e;outline-offset:2px}.navbar-links li a.active:focus,.navbar-links li a.active:focus-visible,.navbar-links li button.navbar-link-btn.active:focus,.navbar-links li button.navbar-link-btn.active:focus-visible{color:#fff;color:var(--nav-button-active-text,#fff);outline:3px solid #ffffff14;outline-offset:2px}.navbar-left{align-items:center;display:flex;gap:1rem}.navbar-left .company-name{color:#036;color:var(--color-primary,#036);font-size:1.4rem;font-weight:700}.navbar-logo-img{border:none!important;border-radius:6px!important;box-shadow:0 2px 8px #0000000f!important;height:48px!important;margin-right:0!important;object-fit:cover!important;transition:all .2s ease!important;width:48px!important}.navbar-logo-img:hover{box-shadow:0 4px 12px #0003!important;transform:scale(1.05)}[data-theme=dark] .navbar-logo-img,body.dark-mode .navbar-logo-img{box-shadow:0 2px 8px #ffffff1a!important}[data-theme=dark] .navbar-logo-img:hover,body.dark-mode .navbar-logo-img:hover{box-shadow:0 4px 12px #fff3!important}@media (max-width:768px){.navbar{flex-wrap:wrap;padding:.5rem 1rem}.navbar-links{flex-wrap:wrap;gap:.25rem}.navbar-links li a,.navbar-links li button.navbar-link-btn{font-size:.95rem;padding:10px 16px}.navbar-left .company-name{font-size:1.2rem}.navbar-logo-img{height:40px!important;width:40px!important}}html{scroll-behavior:smooth}body.dark-mode .navbar,html[data-theme=dark] .navbar{background:#fff!important;border-bottom-color:#00000014!important;color:#333!important}body.dark-mode .navbar .navbar-links li a,body.dark-mode .navbar .navbar-links li button.navbar-link-btn,html[data-theme=dark] .navbar .navbar-links li a,html[data-theme=dark] .navbar .navbar-links li button.navbar-link-btn{background:#0000!important;box-shadow:none!important;color:#333!important}body.dark-mode .navbar .navbar-links li a.active,body.dark-mode .navbar .navbar-links li button.navbar-link-btn.active,html[data-theme=dark] .navbar .navbar-links li a.active,html[data-theme=dark] .navbar .navbar-links li button.navbar-link-btn.active{background:#036!important;background:var(--nav-active-bg,#036)!important;color:#fff!important;color:var(--nav-button-active-text,#fff)!important}.dropdown,.dropdown details{position:relative}.dropdown-toggle{list-style:none;white-space:nowrap}.dropdown summary{cursor:pointer;list-style:none}.dropdown summary::-webkit-details-marker{display:none}.dropdown-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 12px 24px #00000014;display:none;left:0;min-width:220px;padding:.5rem;position:absolute;top:calc(100% + 8px)}.dropdown details[open] .dropdown-menu,.dropdown:hover .dropdown-menu{display:block}.dropdown-item{border-radius:6px;color:var(--text-color);display:block;padding:.5rem .75rem;text-decoration:none}.dropdown-item:hover{background:#007bff1a;background:var(--nav-button-bg,#007bff1a)}.section{padding:80px 16px}.section.alt{background:var(--color-surface)}.container{margin:0 auto;max-width:1400px;width:100%}.section-title{color:var(--text-color);font-size:2rem;margin:0 0 24px}h1.hero-title{color:var(--text-color);font-size:2.5rem;line-height:1.2;margin:0 0 12px}h2{font-size:2rem}h3{font-size:1.5rem}.navbar-links li a,.navbar-links li button.navbar-link-btn,body,html{font-size:16px}.grid{grid-gap:20px;display:grid;gap:20px}.grid.two{grid-template-columns:repeat(12,1fr)}.grid.two>*{grid-column:span 6}@media (max-width:900px){.grid.two>*{grid-column:span 12}}.grid.three{grid-template-columns:repeat(12,1fr)}.grid.three>*{grid-column:span 4}@media (max-width:1100px){.grid.three>*{grid-column:span 6}}@media (max-width:700px){.grid.three>*{grid-column:span 12}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 6px 18px #0000000f;padding:20px}.card.subtle{box-shadow:0 2px 10px #0000000a}.bulleted{margin:0;padding-left:18px}.bulleted li{margin-bottom:12px}.bulleted p{color:var(--text-color);margin:6px 0 0}.industry-block{scroll-margin-top:96px}.btn{background:#007bff1a;background:var(--nav-button-bg,#007bff1a);border:1px solid #007bff4d;border:1px solid var(--nav-button-border,#007bff4d);border-radius:10px;color:var(--text-color);display:inline-block;font-weight:600;padding:.6rem 1rem;text-decoration:none;transition:all .2s ease}.btn:hover{background:#007bffcc;background:var(--nav-button-hover-bg,#007bffcc);color:#fff;color:var(--nav-button-hover-text,#fff)}.btn-primary,.btn:hover{border-color:#007bff;border-color:var(--color-primary,#007bff)}.btn-primary{background:var(--color-primary,#007bff)}.btn-primary:hover{filter:brightness(1.05)}.tabview{display:block;min-height:calc(100vh - 72px);padding-top:var(--navbar-height)}.tabview .tab-section{display:none;min-height:calc(100vh - 72px)}.tabview .tab-section:target{animation:fadeIn .24s ease;display:block}main.tabview .tab-section:first-of-type{display:block}main.tabview:has(.tab-section:target) .tab-section:first-of-type{display:none}body:has(#modal-lodges:target) main.tabview #industries,body:has(#modal-martial:target) main.tabview #industries,body:has(#modal-other:target) main.tabview #industries,body:has(#modal-paintball:target) main.tabview #industries{display:block}.visually-hidden{clip:rect(0 0 0 0);border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.tab-section>.container{grid-row-gap:20px;align-content:start;display:grid;min-height:calc(100vh - 152px);row-gap:20px}.tab-section .grid.three,.tab-section .grid.two{align-items:stretch}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.modal{align-items:center;background:#00000080;display:none;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1500}.modal:target{display:flex}.modal-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 24px 60px #00000040;color:var(--text-color);max-height:88vh;overflow:auto;padding:24px;width:min(900px,92vw)}.modal-close{color:var(--text-color);font-size:28px;line-height:1;position:absolute;right:24px;text-decoration:none;top:16px}.modal-actions,.modal-body h4{margin-top:1rem}.modal-actions{text-align:right}.home-landing{background:#fff;background:var(--color-surface,#fff);color:#222;color:var(--text-color,#222)}.home-landing .hero{background:linear-gradient(180deg,#00000005,#00000003);padding:80px 16px}.home-landing .hero-inner{align-items:center;display:flex;gap:40px;justify-content:space-between;margin:0 auto;max-width:1200px}.home-landing .hero-copy{max-width:720px}.hero-title{color:#036;color:var(--color-primary,#036);font-size:2.25rem;margin:0 0 12px}.hero-lead{color:#000000bf;font-size:1.125rem;margin:0 0 18px}.device-mock,.hero-ctas{align-items:center;display:flex}.device-mock{background:linear-gradient(180deg,#0b3858,#06304a);border-radius:12px;box-shadow:0 8px 30px #00000014;height:200px;justify-content:center;width:320px}.device-screen{background:#fff;border-radius:8px;box-shadow:inset 0 1px 0 #00000008;color:#036;height:72%;padding:12px;width:88%}.features .card{padding:18px}.features .card h3{margin-top:0}.trust{background:#00000005;padding:40px 16px}@media (max-width:900px){.home-landing .hero-inner{flex-direction:column-reverse;gap:20px}.device-mock{height:160px;width:260px}}.admin-dashboard{background-color:#f8f9fa;min-height:100vh;padding:96px 2rem 2rem}.dashboard-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.dashboard-header h1{color:#2c3e50;font-size:2rem;font-weight:600}.dashboard-header p{color:#7f8c8d;font-size:1rem;margin:.5rem 0 0}.refresh-button{background:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.refresh-button:hover{background:#2980b9;transform:translateY(-1px)}.quick-actions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.action-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.action-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.action-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;font-size:2.5rem;height:60px;justify-content:center;min-width:60px}.action-content{flex:1 1}.action-content h3{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.action-content p{color:#7f8c8d;font-size:.9rem;margin:0 0 .5rem}.action-link{color:#3498db;font-size:.9rem;font-weight:500;text-decoration:none}.action-card:hover .action-link{color:#2980b9}.dashboard-error,.dashboard-loading{align-items:center;display:flex;flex-direction:column;height:50vh;justify-content:center;text-align:center}.loading-spinner{height:50px;width:50px}.dashboard-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2.5rem;padding:1.5rem}.dashboard-section h2{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.5rem}.health-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.health-card{align-items:center;background:#f8f9fa;border-left:4px solid #27ae60;border-radius:10px;display:flex;padding:1.5rem}.health-indicator{border-radius:50%;height:12px;margin-right:1rem;width:12px}.health-indicator.success{background:#27ae60;box-shadow:0 0 10px #27ae604d}.health-content h3{color:#2c3e50;font-size:1.1rem;margin:0 0 .25rem}.health-content p{color:#27ae60;font-weight:500;margin:0 0 .25rem}.health-content small{color:#7f8c8d;font-size:.8rem}.metrics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.metric-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;overflow:hidden;padding:1.5rem;position:relative;transition:transform .3s ease}.metric-card:hover{transform:translateY(-2px)}.metric-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.metric-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.metric-card:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.metric-card:nth-child(5){background:linear-gradient(135deg,#fa709a,#fee140)}.metric-card:nth-child(6){background:linear-gradient(135deg,#a8edea,#fed6e3);color:#2c3e50}.metric-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.metric-header h3{font-size:1rem;font-weight:500;margin:0;opacity:.9}.metric-icon{font-size:1.5rem;opacity:.8}.metric-value{font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:.75rem}.metric-breakdown{display:flex;flex-direction:column;gap:.25rem}.metric-breakdown span{font-size:.85rem;opacity:.8}.metric-breakdown .active{color:#2ecc71;font-weight:500}.metric-breakdown .pending{color:#f39c12;font-weight:500}.metric-breakdown .expired{color:#e74c3c;font-weight:500}.activity-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.activity-column h3{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:1.2rem;margin:0 0 1rem;padding-bottom:.5rem}.activity-list{max-height:400px}.activity-item{align-items:flex-start;border-radius:8px;margin-bottom:.75rem;padding:1rem;transition:all .3s ease}.activity-item:hover{background:#e9ecef;transform:translateX(2px)}.activity-icon{font-size:1.2rem;margin-right:.75rem;margin-top:.1rem}.activity-content p{font-size:.9rem;margin:0 0 .25rem}.activity-content strong{color:#2c3e50}.activity-content small{color:#7f8c8d;font-size:.8rem}.top-clients-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.top-client-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;padding:1.5rem;transition:transform .3s ease}.top-client-card:hover{transform:translateY(-2px)}.top-client-card:first-child{background:linear-gradient(135deg,#ffd89b,#19547b)}.top-client-card:nth-child(2){background:linear-gradient(135deg,#667eea,#764ba2)}.top-client-card:nth-child(3){background:linear-gradient(135deg,#f093fb,#f5576c)}.client-rank{font-size:2rem;font-weight:700;margin-right:1.5rem;min-width:50px;opacity:.8}.client-info h4{font-size:1.2rem}.client-info p{margin:0 0 1rem;opacity:.8}.client-stats{display:flex;flex-wrap:wrap;gap:1rem}.client-stats span{background:#ffffff1a;border-radius:4px;font-size:.85rem;opacity:.9;padding:.25rem .5rem}@media (max-width:768px){.admin-dashboard{padding:1rem}.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem}.activity-container,.metrics-grid,.top-clients-container{grid-template-columns:1fr}.metric-value{font-size:2rem}}.activity-list::-webkit-scrollbar{width:6px}.activity-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.activity-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.activity-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.customer-view{background-color:#f8f9fa;min-height:100vh;padding:calc(72px + 2rem) 2rem 2rem}.customer-view-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:1.5rem}.customer-view-header h1{color:#2c3e50;font-size:2rem;font-weight:600;margin:0}.customer-view-header p{color:#7f8c8d;font-size:1rem;margin:.5rem 0 0}.customer-view-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:300px 1fr;min-height:600px}.client-selector{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;height:fit-content;padding:1.5rem}.client-selector h3{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:1.2rem;margin:0 0 1rem;padding-bottom:.5rem}.client-search{margin-bottom:1rem}.search-input{border:2px solid #ecf0f1;border-radius:8px;font-family:inherit;font-size:.9rem;outline:none;padding:.75rem;transition:border-color .3s ease;width:100%}.search-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.search-input::placeholder{color:#95a5a6}.client-list{max-height:500px;overflow-y:auto}.client-item{border:2px solid #ecf0f1;margin-bottom:.75rem;transition:all .3s ease}.client-item:hover{background-color:#f8f9fa;border-color:#3498db}.client-item.selected{background-color:#e3f2fd;border-color:#3498db}.client-info h4{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 .5rem}.client-info p{color:#7f8c8d;font-size:.9rem;margin:0 0 .5rem}.status{border-radius:12px;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:uppercase}.status.active{background-color:#d4edda;color:#155724}.status.pending{background-color:#fff3cd;color:#856404}.status.expired{background-color:#f8d7da;color:#721c24}.status.trial{background-color:#d1ecf1;color:#0c5460}.pagination-controls{border-top:1px solid #ecf0f1;margin-top:1rem;padding-top:1rem}.pagination-info{color:#7f8c8d;font-size:.85rem;margin-bottom:.75rem;text-align:center}.pagination-buttons{align-items:center;display:flex;justify-content:space-between}.pagination-btn{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem .75rem;transition:all .3s ease}.pagination-btn:hover:not(:disabled){background:#2980b9}.pagination-btn:disabled{background:#bdc3c7;cursor:not-allowed}.page-info{color:#2c3e50;font-size:.9rem;font-weight:500}.client-view-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.client-view-header{margin-bottom:2rem}.client-view-header h2{color:#2c3e50;font-size:1.5rem;margin:0 0 1rem}.view-tabs{border-bottom:2px solid #ecf0f1;display:flex;gap:1rem}.view-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.view-tabs button:hover{color:#3498db}.view-tabs button.active{border-bottom-color:#3498db;color:#3498db}.dashboard-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.dashboard-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:1.5rem;text-align:center}.dashboard-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.dashboard-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.dashboard-card:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.dashboard-card h3{font-size:1rem;margin:0 0 1rem;opacity:.9}.card-value{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.dashboard-card p{font-size:.85rem;margin:0;opacity:.8}.status-indicator{border-radius:20px;font-size:.9rem;font-weight:600;padding:.5rem 1rem;text-transform:uppercase}.status-indicator.active{background-color:#28a745;color:#fff}.status-indicator.pending{background-color:#ffc107;color:#000}.status-indicator.expired{background-color:#dc3545;color:#fff}.status-indicator.trial{background-color:#17a2b8;color:#fff}.recent-activity{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.activity-section h3{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:1.2rem;margin:0 0 1rem;padding-bottom:.5rem}.activity-list{max-height:300px;overflow-y:auto}.activity-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.activity-time{color:#7f8c8d;font-size:.85rem;font-weight:500}.activity-customer{color:#2c3e50;font-size:.9rem;font-weight:500}.no-activity{color:#7f8c8d;font-style:italic;padding:2rem;text-align:center}.client-info-view{display:flex;flex-direction:column;gap:2rem}.info-section h3{border-bottom:2px solid #ecf0f1;color:#2c3e50;font-size:1.2rem;margin:0 0 1rem;padding-bottom:.5rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{flex-direction:column;gap:.25rem}.info-item label{color:#7f8c8d;font-size:.9rem;font-weight:600}.info-item span{color:#2c3e50;font-size:1rem}.action-buttons{display:flex;flex-wrap:wrap;gap:1rem}.action-button{background:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.action-button:hover{background:#2980b9;transform:translateY(-1px)}.error-state,.loading-state,.no-client-selected{align-items:center;display:flex;flex-direction:column;height:400px;justify-content:center;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin-bottom:1rem;width:40px}.retry-button{background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:1rem;padding:.75rem 1.5rem}.retry-button:hover{background:#c0392b}.no-client-selected h3{color:#7f8c8d;margin-bottom:.5rem}.no-client-selected p{color:#bdc3c7}.loading-dashboard{color:#7f8c8d;padding:3rem;text-align:center}@media (max-width:1024px){.customer-view-content{grid-template-columns:250px 1fr}.recent-activity{grid-template-columns:1fr}}@media (max-width:768px){.customer-view{padding:1rem}.customer-view-content{grid-template-columns:1fr}.client-selector{max-height:200px}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.card-value{font-size:2rem}}.activity-list::-webkit-scrollbar,.client-list::-webkit-scrollbar{width:6px}.activity-list::-webkit-scrollbar-track,.client-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.activity-list::-webkit-scrollbar-thumb,.client-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.activity-list::-webkit-scrollbar-thumb:hover,.client-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.login-container{background:#fff;border:1px solid #d0d7de;border-radius:8px;box-shadow:0 6px 16px #00000014;color:#111;color-scheme:light;margin:110px auto 40px;max-width:800px;padding:20px}.login-container h2{color:#111;margin-bottom:20px;text-align:center}.form-group{margin-bottom:15px}.form-group label{color:#111!important;font-weight:600;margin-bottom:6px}.login-container .form-group input{appearance:none;background:#fff!important;border:1px solid #d0d7de!important;border-radius:6px;color:#111!important;font-size:16px;height:44px;padding:10px 12px;width:100%}.login-container .form-group input::placeholder{color:#6b7280}.login-container .form-group input:focus{border-color:#0076d1;box-shadow:0 0 0 3px #0076d126;outline:none}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:#111;box-shadow:inset 0 0 0 1000px #fff;-webkit-transition:background-color 9999s ease-in-out 0s;transition:background-color 9999s ease-in-out 0s}[data-theme=dark] .login-container,body.dark-mode .login-container{background:#fff!important;color:#111!important}[data-theme=dark] .login-container .form-group label,body.dark-mode .login-container .form-group label{color:#111!important}[data-theme=dark] .login-container .form-group input,body.dark-mode .login-container .form-group input{background:#fff!important;border-color:#d0d7de!important;color:#111!important}.error-message,.success-message{margin-bottom:15px}.success-message{color:#28a745;text-align:center}button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px;width:100%}button:hover{background-color:#0056b3}.plan-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:600px}.plan-card{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:20px;position:relative;text-align:center;transition:all .3s ease}.plan-card:hover{border-color:#3498db;box-shadow:0 4px 8px #3498db1a}.plan-card.selected{background-color:#f8faff;border-color:#3498db;border-width:3px}.plan-card h3{color:#333;font-size:18px;margin:0 0 10px}.plan-price{color:#3498db;font-size:28px;font-weight:700;margin:10px 0}.plan-price-period{color:#666;font-size:16px}.plan-savings{color:#666;font-size:12px;margin-bottom:10px}.plan-features{color:#666;font-size:14px;list-style:none;margin:15px 0;padding:0}.plan-features li{margin:5px 0}.plan-trial{background-color:#e8f5e8;border-radius:4px;color:#27ae60;font-size:12px;font-weight:700;padding:8px}.plan-badge{background-color:#e74c3c;border-radius:12px;color:#fff;font-size:10px;font-weight:700;padding:4px 8px;position:absolute;right:-10px;top:-10px}@media (max-width:768px){.login-container{margin:90px auto 20px;max-width:95%;padding:15px}.plan-grid{gap:15px;grid-template-columns:1fr;max-width:400px}.plan-card{padding:15px}.plan-price{font-size:24px}}.square-customer-management{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:96px 20px 20px}.management-header{margin-bottom:2rem;text-align:center}.management-header h2{color:#2c3e50;font-size:2rem;font-weight:600;margin-bottom:.5rem}.management-header p{color:#6c757d;font-size:1.1rem}.section-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.section-card h3{border-bottom:2px solid #f8f9fa;color:#2c3e50;font-size:1.4rem;padding-bottom:.5rem}.section-card h3,.section-card h4{font-weight:600;margin-bottom:1rem}.section-card h4{color:#495057;font-size:1.1rem}.loading-spinner{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem}.error-message{color:#dc3545;padding:2rem;text-align:center}.retry-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem 1rem}.retry-btn:hover{background:#0056b3}.customer-profile{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.profile-info .info-row{align-items:center;border-bottom:1px solid #f8f9fa;display:flex;justify-content:space-between;padding:.75rem 0}.profile-info .info-row:last-child{border-bottom:none}.profile-info label{color:#495057;font-weight:600;min-width:100px}.profile-info span{color:#212529;text-align:right}.customer-id{background:#f8f9fa;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;padding:.25rem .5rem}.payment-methods-summary{background:#f8f9fa;border-radius:8px;padding:1rem}.payment-methods-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.update-payment-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease}.update-payment-btn:hover:not(:disabled){background:#0056b3}.update-payment-btn:disabled{cursor:not-allowed;opacity:.6}.payment-methods-list{display:flex;flex-direction:column;gap:.75rem}.payment-method-card{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.card-info{display:flex;flex-direction:column;gap:.25rem}.card-brand{color:#495057;font-weight:600;text-transform:capitalize}.card-number{color:#6c757d;font-family:Courier New,monospace;font-size:.9rem}.card-expiry{color:#6c757d;font-size:.85rem}.card-status{align-items:center;display:flex;gap:.5rem}.primary-badge{background:#28a745;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.payment-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:1rem;text-align:center}.modal-overlay{z-index:1000}.modal-content{border-radius:12px;max-height:90vh;max-width:500px}.payment-method-modal .modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem}.payment-method-modal .modal-header h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.close-btn:hover{background:#f8f9fa}.close-btn:disabled{cursor:not-allowed;opacity:.5}.modal-body{padding:1.5rem}.form-section{margin-bottom:1.5rem}.form-section label{color:#495057;display:block;font-weight:600;margin-bottom:.5rem}.card-container{background:#fff;border:1px solid #ced4da;border-radius:6px;min-height:50px;padding:.75rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.cancel-btn,.submit-btn{border-radius:6px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-btn{background:#6c757d;border:none;color:#fff}.cancel-btn:hover:not(:disabled){background:#545b62}.submit-btn{background:#28a745}.submit-btn:hover:not(:disabled){background:#1e7e34}.cancel-btn:disabled,.submit-btn:disabled{cursor:not-allowed;opacity:.6}.no-charges,.no-profile,.no-subscription{background:#f8f9fa;border-radius:8px;color:#6c757d;padding:2rem;text-align:center}.subscription-status{display:flex;flex-direction:column;gap:1.5rem}.status-header{align-items:center;display:flex;gap:1rem}.status-badge{border-radius:20px;font-size:.9rem;padding:.5rem 1rem}.expiration-info{color:#6c757d;font-weight:500}.status-details{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-row{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.detail-row label{color:#495057;font-weight:600}.detail-row span{color:#212529}.auto-renewal-section{background:#e7f3ff;border-left:4px solid #007bff;border-radius:8px;padding:1rem}.auto-renewal-toggle label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:.5rem}.auto-renewal-toggle input[type=checkbox]{accent-color:#007bff;height:18px;width:18px}.auto-renewal-note{color:#495057;font-size:.9rem;margin-top:.5rem}.manual-renewal-section{background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;padding:1rem}.renewal-options{display:flex;flex-wrap:wrap;gap:1rem}.renewal-btn.yearly{position:relative}.charges-table table{margin-top:1rem}.charge-status{font-size:.8rem;font-weight:600;text-transform:uppercase}@media (max-width:768px){.square-customer-management{padding:1rem}.management-header h2{font-size:1.5rem}.customer-profile{gap:1rem}.customer-profile,.status-details{grid-template-columns:1fr}.detail-row{align-items:flex-start;gap:.25rem}.detail-row,.renewal-options{flex-direction:column}.renewal-btn{min-width:auto}.charges-table{font-size:.9rem}.charges-table td,.charges-table th{padding:.5rem}}.plan-selection-section{border-top:2px solid #f8f9fa;margin-top:1.5rem;padding-top:1.5rem}.plan-selection-section h4{color:#495057;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.plan-options{display:flex;gap:1rem;margin-bottom:.5rem}.plan-switch-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s ease}.plan-switch-btn.monthly{background:linear-gradient(135deg,#667eea,#764ba2)}.plan-switch-btn.yearly{background:linear-gradient(135deg,#f093fb,#f5576c)}.plan-switch-btn:hover:not(:disabled){box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.plan-switch-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.plan-note{color:#d63384;font-size:.9rem;font-weight:500;margin-top:.5rem}.expired-subscription-banner{animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.expired-subscription-banner{align-items:flex-start!important;flex-direction:column}.expired-subscription-banner>div{width:100%}.expired-subscription-banner button{margin-top:12px;width:100%}}.client-dashboard{min-height:100vh;padding:112px 20px 40px}.client-dashboard.dark{background-color:#181818;color:#fff}.client-dashboard.light{background:linear-gradient(135deg,#f7fafc,#edf2f7);color:#1a202c}.dashboard-header{margin-bottom:2.5rem;text-align:left}.dashboard-header h1{color:#667eea;color:var(--accent-color,#667eea);font-size:2.5rem;font-weight:700;letter-spacing:-.025em;margin:0}.title-section{padding:0 20px}.dashboard-content,.title-section{margin:0 auto;max-width:1300px}.quick-actions{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:25px}.quick-action-btn{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);background:linear-gradient(135deg,var(--accent-color,#007bff) 0,#0056b3 100%);border:none;border-radius:10px;box-shadow:0 4px 12px #007bff33;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:10px;padding:12px 20px;transition:all .3s ease}.quick-action-btn:hover{box-shadow:0 6px 20px #007bff59;transform:translateY(-3px)}.quick-action-icon{font-size:1.3rem}.quick-action-text{font-size:.95rem}.top-row{display:flex;gap:2rem;margin-bottom:2rem}.dashboard-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-template-rows:repeat(3,minmax(220px,auto))}.card{border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 25px #00000026;cursor:pointer;padding:2rem;transition:all .3s ease}.card:hover{box-shadow:0 20px 40px #0003;transform:translateY(-4px)}.client-dashboard.dark .card{background-color:#2a2a2a;border:1px solid #444}.client-dashboard.light .card{background-color:#fff;border:1px solid #e2e8f0}.card h3{color:#007bff;color:var(--accent-color,#007bff);font-size:1.3rem;margin:0 0 10px}.card p{margin:0;opacity:.8}.card-1{display:flex;flex-direction:column;flex-shrink:0;height:300px;width:300px}.card-1 h3{font-size:1.5rem;margin-bottom:20px;text-align:left}.logo-container{align-items:center;display:flex;flex:1 1;justify-content:center;max-height:200px;max-width:100%;overflow:hidden;padding:10px}.client-logo{border-radius:8px;display:block;height:auto;margin:0 auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.logo-placeholder{align-items:center;border:2px dashed #ccc;border-radius:8px;color:#999;display:flex;font-size:1.1rem;height:100%;justify-content:center;width:100%}.client-dashboard.dark .logo-placeholder{border-color:#555;color:#777}.card-2{display:flex;flex:1 1;flex-direction:column;height:300px;min-width:0}.card-2 h3{font-size:1.5rem;margin-bottom:30px}.booking-stats{align-items:center;display:flex;flex:1 1;gap:20px;justify-content:space-around}.stat-item{flex:1 1;text-align:center}.stat-number{color:#007bff;color:var(--accent-color,#007bff);font-size:3rem;font-weight:700;line-height:1;margin-bottom:10px}.stat-label{font-size:1rem;font-weight:500;letter-spacing:.5px;opacity:.8;text-transform:uppercase}.card-3{grid-column:span 1;grid-row:span 2}.parties-list{max-height:300px;overflow-y:auto;padding-right:8px}.parties-list::-webkit-scrollbar{width:6px}.parties-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.parties-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.parties-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.day-section{margin-bottom:16px}.day-header{border-bottom:1px solid #eee;color:#666;font-size:.9em;font-weight:600;margin:0 0 8px;padding-bottom:4px}.party-item{color:#333;font-size:.85em;line-height:1.3;padding:4px 0}.no-parties{color:#999;font-size:.8em;font-style:italic;padding:4px 0}.client-dashboard.dark .day-header{border-bottom-color:#444;color:#ccc}.client-dashboard.dark .party-item{color:#ddd}.client-dashboard.dark .no-parties{color:#888}.client-dashboard.dark .parties-list::-webkit-scrollbar-track{background:#2a2a2a}.client-dashboard.dark .parties-list::-webkit-scrollbar-thumb{background:#555}.client-dashboard.dark .parties-list::-webkit-scrollbar-thumb:hover{background:#666}.card-4{display:flex;flex-direction:column;grid-column:span 1;grid-row:span 1}.card-4 h3{font-size:1.5rem;margin-bottom:30px}.datetime-display{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:15px;justify-content:center}.current-date{font-size:1.2rem;font-weight:600;line-height:1.3}.current-date,.current-time{color:#007bff;color:var(--accent-color,#007bff);text-align:center}.current-time{font-family:Courier New,monospace;font-size:2rem;font-weight:700;letter-spacing:1px}.card-5{display:flex;flex-direction:column;grid-column:span 2;grid-row:span 2}.card-5 h3{font-size:1.5rem;margin-bottom:20px}.waiver-chart{align-items:center;display:flex;flex:1 1;justify-content:center;padding:10px 0}.chart-container{align-items:flex-end;display:flex;gap:.5rem;height:220px;justify-content:space-between;padding:1rem 0 2rem;position:relative;width:100%}.bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:flex-end;position:relative}.bar-value{color:#007bff;color:var(--accent-color,#007bff);font-size:.9rem;font-weight:600;position:absolute;text-align:center;top:-25px;width:100%;z-index:2}.bar{border-radius:4px 4px 0 0;max-width:40px;min-height:4px;position:relative;transition:all .3s ease;width:100%}.bar:hover{opacity:.8;transform:scaleY(1.05)}.bar-label{bottom:-30px;color:#6b7280;font-size:.8rem;font-weight:500;left:0;position:absolute;text-align:center;width:100%}.client-dashboard.dark .bar-label{color:#9ca3af}.client-dashboard.dark .bar-value{color:#60a5fa;color:var(--accent-color,#60a5fa)}.card-6{grid-column:span 1;grid-row:span 1}@media (max-width:768px){.top-row{flex-direction:column}.dashboard-grid{grid-template-columns:1fr;grid-template-rows:auto}.card-1{height:250px;width:100%}.card-2{height:200px}.booking-stats{flex-direction:column;gap:15px}.stat-number{font-size:2.5rem}.card-3,.card-4,.card-5,.card-6{grid-column:span 1;grid-row:span 1}.current-time{font-size:1.5rem}.current-date{font-size:1rem}.dashboard-header h1{font-size:2rem}.chart-container{height:180px;padding:1rem 0 2.5rem}.bar-value{font-size:.8rem;top:-20px}.bar-label{bottom:-25px;font-size:.7rem}}.client-blackout-manager{background:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:112px 20px 40px}.client-blackout-manager .header{background:linear-gradient(135deg,#fff,#f8f9fb);border:1px solid #0033661a;border-radius:12px;box-shadow:0 2px 16px #0033661f;margin-bottom:30px;padding:30px}.client-blackout-manager .header h1{color:#007bff;color:var(--accent-color,#007bff);font-size:2.5rem;font-weight:700;margin:0 0 10px}.client-blackout-manager .subtitle{color:#666;font-size:1.1rem;line-height:1.5;margin:0}.client-blackout-manager .loading{color:#666;font-size:1.2rem;padding:60px 20px;text-align:center}.client-blackout-manager .alert{border-radius:8px;font-weight:500;margin-bottom:20px;padding:15px 20px}.client-blackout-manager .alert-error{background:#fee;border:1px solid #fcc;color:#c33}.client-blackout-manager .alert-success{background:#efe;border:1px solid #cfc;color:#3c3}.client-blackout-manager .actions{display:flex;justify-content:flex-end;margin-bottom:30px}.client-blackout-manager .btn-primary{background:#007bff;background:var(--accent-color,#007bff);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.client-blackout-manager .btn-primary:hover{background:#0056b3;box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.client-blackout-manager .blackout-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.client-blackout-manager .blackout-list h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 20px}.client-blackout-manager .empty-state{color:#999;padding:60px 20px;text-align:center}.client-blackout-manager .empty-state p{font-size:1.1rem;margin:10px 0}.client-blackout-manager .help-text{color:#666;font-size:.95rem}.client-blackout-manager .blackout-table{overflow-x:auto}.client-blackout-manager table{border-collapse:collapse;width:100%}.client-blackout-manager thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.client-blackout-manager th{color:#333;font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.client-blackout-manager td{border-bottom:1px solid #e9ecef;padding:15px}.client-blackout-manager tr:hover{background:#f8f9fa}.client-blackout-manager .date-cell{color:#333;font-weight:600;white-space:nowrap}.client-blackout-manager .no-reason{color:#999;font-style:italic}.client-blackout-manager .created-cell{color:#666;font-size:.9rem}.client-blackout-manager .actions-cell{text-align:right}.client-blackout-manager .btn-delete-small{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:all .2s ease}.client-blackout-manager .btn-delete-small:hover{background:#c82333;transform:scale(1.05)}.client-blackout-manager .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding-top:72px;position:fixed;right:0;top:0;z-index:1200}.client-blackout-manager .modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:calc(90vh - 72px);max-width:600px;overflow-y:auto;padding:0;width:90%}.client-blackout-manager .modal-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:24px 30px}.client-blackout-manager .modal-header h3{color:#036;font-size:1.5rem;font-weight:600;margin:0}.client-blackout-manager .close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.client-blackout-manager .close-btn:hover{background:#f0f0f0;color:#333}.client-blackout-manager .modal-body{padding:30px}.client-blackout-manager .form-section{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.client-blackout-manager .form-section.full-width{background:#0000;padding:20px 0}.client-blackout-manager .form-section h4{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 15px}.client-blackout-manager .form-group{margin-bottom:15px}.client-blackout-manager .form-group label{color:#333;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.client-blackout-manager .form-group input[type=date],.client-blackout-manager .form-group textarea{border:2px solid #dee2e6;border-radius:8px;font-family:inherit;font-size:1rem;padding:10px 12px;transition:all .3s ease;width:100%}.client-blackout-manager .form-group input[type=date]:focus,.client-blackout-manager .form-group textarea:focus{border-color:#007bff;border-color:var(--accent-color,#007bff);box-shadow:0 0 0 3px #007bff1a;outline:none}.client-blackout-manager .form-group textarea{line-height:1.5;min-height:80px;resize:vertical}.client-blackout-manager .form-group small{color:#666;display:block;font-size:.85rem;margin-top:6px}.client-blackout-manager .form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.client-blackout-manager .divider{margin:30px 0;position:relative;text-align:center}.client-blackout-manager .divider:before{background:#dee2e6;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.client-blackout-manager .divider span{background:#fff;color:#999;font-weight:600;padding:0 15px;position:relative;z-index:1}.client-blackout-manager .modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding:20px 30px}.client-blackout-manager .btn-secondary{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px;transition:all .2s ease}.client-blackout-manager .btn-secondary:hover{background:#545b62;color:#fff}@media (max-width:768px){.client-blackout-manager{padding:92px 15px 30px}.client-blackout-manager .header h1{font-size:2rem}.client-blackout-manager .form-row{grid-template-columns:1fr}.client-blackout-manager .modal-content{max-width:none;width:95%}.client-blackout-manager table{font-size:.9rem}.client-blackout-manager td,.client-blackout-manager th{padding:10px}}.my-offerings{background-color:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:112px 20px 20px}.my-offerings h2{color:#333;margin-bottom:30px;text-align:center}.offerings-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,1fr);margin-bottom:30px;min-height:800px}.offering-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 8px #0000001a;cursor:pointer;display:flex;flex-direction:column;min-height:140px;padding:30px;transition:all .3s ease}.offering-card:hover{border-color:#007bff;box-shadow:0 8px 16px #00000026;transform:translateY(-3px)}.offering-card.has-offering{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-color:#28a745}.offering-card.empty-offering{background:#f8f9fa;border-style:dashed}.offering-number{color:#666;font-size:16px;font-weight:700;margin-bottom:15px}.offering-content{display:flex;flex:1 1;flex-direction:column;justify-content:center}.offering-content h3{color:#333;font-size:22px;margin:0 0 15px}.offering-content.empty{color:#999;font-size:18px;font-style:italic;text-align:center}.offering-id{color:#666;font-family:monospace;font-size:14px;margin:0 0 15px}.copy-embed-btn{align-self:flex-start;background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.copy-embed-btn:hover{background:#0056b3;transform:translateY(-1px)}.copy-embed-btn.copied{background:#28a745}.copy-embed-btn.copied:hover{background:#28a745;transform:none}.loading{color:#666;font-size:18px;padding:50px;text-align:center}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding-top:72px;position:fixed;right:0;top:0;z-index:1200}.modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;max-height:calc(90vh - 72px);max-width:600px;overflow-y:auto;padding:0;width:90%}.modal-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding:24px 20px}.modal-header h3{color:#036;font-size:20px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.close-button:hover{color:#f0f0f0}.offering-form{padding:20px}.form-group{margin-bottom:20px}.form-row{grid-gap:15px;gap:15px}.form-group label{color:#333;margin-bottom:5px}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.5;padding:10px;width:100%}.form-group textarea{font-family:inherit;min-height:80px;resize:vertical}.weekly-schedule{display:flex;flex-direction:column;gap:12px}.day-schedule{align-items:center;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;display:flex;gap:12px;padding:8px}.day-label{color:#333;font-weight:500;min-width:100px}.time-inputs{align-items:center;display:flex;gap:12px;margin:8px 0}.time-inputs select.time-select{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;min-width:140px;padding:8px 12px;transition:all .3s ease}.time-inputs select.time-select:focus{background-color:#f8f9ff;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.time-inputs select.time-select:hover:not(:disabled){border-color:#007bff}.time-inputs select.time-select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.clear-time-btn{align-items:center;background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:28px}.clear-time-btn:hover{background:#c82333;transform:scale(1.1)}.clear-time-btn:active{transform:scale(.95)}.time-inputs input[type=time]{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;min-width:120px;padding:8px 12px;transition:all .3s ease}.time-inputs input[type=time]:focus{background-color:#f8f9ff;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.time-inputs input[type=time]:hover{border-color:#007bff}.time-separator{color:#666;font-size:14px;font-weight:500;padding:0 4px}#interval_minutes{max-width:120px}.modal-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.modal-actions .left,.modal-actions .right{display:flex;gap:10px}.btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:background-color .3s}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62;color:#fff}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333;color:#fff}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3;color:#fff}.dark-mode .my-offerings h2{color:#fff}.dark-mode .offering-card{background:#2d2d2d;border-color:#444;color:#fff}.dark-mode .offering-card.has-offering{background:linear-gradient(135deg,#2d2d2d,#3d3d3d);border-color:#28a745}.dark-mode .offering-card.empty-offering{background:#1a1a1a;border-color:#444}.dark-mode .offering-content h3{color:#fff}.dark-mode .offering-id,.dark-mode .offering-number{color:#ccc}.dark-mode .modal-content{background:#2d2d2d;color:#fff}.dark-mode .modal-header{border-bottom-color:#444}.dark-mode .modal-header h3{color:#fff}.dark-mode .close-button{color:#ccc}.dark-mode .close-button:hover,.dark-mode .form-group label{color:#fff}.dark-mode .form-group input,.dark-mode .form-group textarea{background:#1a1a1a;border-color:#444;color:#fff}.dark-mode .modal-actions{background:#1a1a1a;border-top-color:#444}.dark-mode .day-schedule{background-color:#1a1a1a;border-color:#444}.dark-mode .day-label{color:#fff}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.offerings-grid{grid-template-columns:1fr;grid-template-rows:repeat(10,1fr);min-height:1200px}.offering-card{min-height:100px;padding:20px}.day-schedule{align-items:flex-start;flex-direction:column;gap:8px}.day-label{min-width:auto}}.booking-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;padding:40px 20px}.booking-card{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1100px;overflow:hidden}.booking-card,.booking-error,.booking-loading{background:#fff;border:1px solid #fff3;border-radius:16px;box-shadow:0 20px 40px #00000040}.booking-error,.booking-loading{margin:50px auto;max-width:600px;padding:3rem;text-align:center}.booking-loading{color:#667eea;font-size:1.1em;font-weight:500;position:relative}.booking-loading:after{animation:spin 1s linear infinite;border:3px solid #667eea;border-radius:50%;border-top-color:#0000;content:"";display:inline-block;height:24px;margin-left:12px;vertical-align:middle;width:24px}.booking-error{color:#dc3545;font-weight:600}.offering-details{background:#f8f9fa;border-right:1px solid #e2e8f0;padding:3rem}.offering-details h1{color:#333;font-size:3.5em;font-weight:700;margin:0 0 20px}.offering-details h2{color:#000;font-size:1.8em;font-weight:700;margin:0 0 15px}.offering-side-text{color:#666;font-size:1.2em;font-style:italic;line-height:1.5;margin-bottom:20px}.offering-description{color:#666;font-size:1.1em;line-height:1.6;margin-bottom:30px}.offering-info{margin-bottom:30px}.info-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:12px 0}.info-item:last-child{border-bottom:none}.info-item .label{color:#495057;font-weight:600}.info-item .value{color:#333;font-size:1.1em;font-weight:700}.availability{margin-top:30px}.availability h3{color:#000;font-size:1.5em;font-weight:700;margin:0 0 20px}.days-list{display:flex;flex-wrap:wrap;gap:8px}.available-day{background:#28a745;border-radius:20px;color:#fff;font-size:.9em;font-weight:600;padding:6px 12px}.calendar-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:15px;padding:20px}.calendar-header{justify-content:space-between;margin-bottom:20px}.calendar-header,.calendar-nav{align-items:center;display:flex}.calendar-nav{background:#667eea;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:18px;height:40px;justify-content:center;transition:background-color .2s ease;width:40px}.calendar-nav:hover:not(.disabled){background:#5a6fd8}.calendar-nav.disabled,.calendar-nav:disabled{background:#ccc;color:#999;cursor:not-allowed}.calendar-month{color:#333;font-size:1.4em;font-weight:600;margin:0}.calendar-weekdays{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:10px}.calendar-weekday{color:#666;font-size:.9em;font-weight:600;padding:10px 5px;text-align:center}.calendar-grid{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;border-radius:4px;cursor:pointer;display:flex;font-weight:500;justify-content:center;min-height:40px;transition:all .2s ease}.calendar-day.empty{cursor:default}.calendar-day.available{background:#e8f5e8;border:1px solid #28a745;color:#28a745}.calendar-day.available:hover{background:#28a745;color:#fff;transform:scale(1.05)}.calendar-day.unavailable{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.calendar-day.holiday{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;cursor:not-allowed;position:relative}.calendar-day.holiday .holiday-indicator{font-size:10px;position:absolute;right:2px;top:2px}.calendar-day.selected{background:#667eea;border:2px solid #5a6fd8;color:#fff;font-weight:700}.calendar-loading{color:#666;font-style:italic;grid-column:1/-1;padding:20px;text-align:center}.calendar-legend{background:#f8f9fa;border-radius:6px;display:flex;gap:20px;justify-content:center;margin-top:15px;padding:10px}.legend-item{align-items:center;display:flex;font-size:.9em;gap:6px}.legend-color{border:1px solid #ddd;border-radius:3px;height:16px;width:16px}.legend-color.available{background:#e8f5e8;border-color:#28a745}.legend-color.unavailable{background:#f8f9fa;border-color:#6c757d}.legend-color.holiday{align-items:center;background:#fff3cd;border-color:#ffeaa7;display:flex;font-size:10px;justify-content:center}.booking-form{padding:40px}.booking-form h2{color:#333;font-size:1.8em;font-weight:700;margin:0 0 30px}.form-error{background:linear-gradient(135deg,#f8d7da,#f1aeb5);border:1px solid #f5c6cb;border-radius:10px;box-shadow:0 4px 12px #f2aeb54d;color:#721c24;font-weight:500;margin-bottom:24px;overflow:hidden;padding:16px 20px;position:relative}.form-error:before{content:"⚠️";font-size:1.1em;margin-right:8px}.form-success{background:linear-gradient(135deg,#d4edda,#b8e6c1);border:1px solid #c3e6cb;border-radius:10px;box-shadow:0 4px 12px #c3e6cb4d;color:#155724;font-weight:500;margin-bottom:24px;overflow:hidden;padding:16px 20px;position:relative}.form-success:before{content:"✅";font-size:1.1em;margin-right:8px}.form-group{margin-bottom:24px}.form-group label{color:#2c3e50;display:block;font-size:1.05em;font-weight:700;letter-spacing:.3px;margin-bottom:10px}.form-group input,.form-group select{background:#fff;border:2px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #00000005;font-size:1em;font-weight:500;padding:14px 18px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea26,0 4px 12px #0000001a;outline:none;transform:translateY(-1px)}.form-group input:hover:not(:focus):not([readonly]),.form-group select:hover:not(:focus){border-color:#c0c8e4;box-shadow:0 4px 8px #0000000d}.form-group input[readonly]{background-color:#f8f9fa;cursor:not-allowed;opacity:.8}.form-group small{color:#6c757d;display:block;font-size:.9em;margin-top:5px}.date-label{font-size:1.1em!important;font-weight:700!important;text-decoration:underline}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.total-price{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 25px #667eea4d;color:#fff;margin:30px 0;padding:25px;text-align:center}.total-price h3{font-size:1.6em;font-weight:700;margin:0;text-shadow:0 2px 4px #0003}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.2em;font-weight:700;letter-spacing:.5px;overflow:hidden;padding:18px 24px;position:relative;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 10px 25px #667eea66;transform:translateY(-3px)}.submit-btn:active:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-1px)}.submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.booking-card{grid-template-columns:1fr;max-width:500px}.offering-details{border-bottom:1px solid #e9ecef;border-right:none}.form-row{grid-template-columns:1fr}.calendar-container{padding:15px}.calendar-day{font-size:.9em;min-height:35px}}.waiver-container{align-items:flex-start;background:linear-gradient(135deg,#f7fafc,#edf2f7);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.waiver-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 25px #00000026;margin-top:20px;max-width:900px;padding:3rem;transition:all .3s ease;width:100%}.waiver-header{border-bottom:1px solid #e2e8f0;margin-bottom:2.5rem;padding-bottom:2rem;text-align:center}.waiver-header h1{color:#1a202c;font-size:2.5rem;font-weight:700;letter-spacing:-.025em;margin:0 0 1rem}.waiver-header h2{color:#4a5568;font-size:1.25rem;font-weight:500;margin:0}.waiver-pdf-section{margin-bottom:2.5rem}.waiver-pdf-viewer{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000d;overflow:hidden}.waiver-iframe{border:none;display:block;height:600px;width:100%}.waiver-no-pdf{background:#667eea0d;border:2px dashed #cbd5e0;border-radius:12px;color:#4a5568;padding:3rem;text-align:center}.waiver-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.waiver-btn{border:none;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:600;letter-spacing:.5px;min-width:140px;padding:15px 30px;text-transform:uppercase;transition:all .3s ease}.waiver-btn-adult{background-color:#007bff;color:#fff}.waiver-btn-adult:hover{background-color:#0056b3;box-shadow:0 4px 8px #007bff4d;transform:translateY(-2px)}.waiver-btn-minor{background-color:#28a745;color:#fff}.waiver-btn-minor:hover{background-color:#1e7e34;box-shadow:0 4px 8px #28a7454d;transform:translateY(-2px)}.waiver-btn-both{background-color:#6f42c1;color:#fff}.waiver-btn-both:hover{background-color:#5a32a3;box-shadow:0 4px 8px #6f42c14d;transform:translateY(-2px)}.waiver-error,.waiver-loading{font-size:1.2rem;padding:40px;text-align:center}.waiver-loading{color:#6c757d}.waiver-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#dc3545}@media (max-width:768px){.waiver-container{padding:10px}.waiver-card{margin-top:10px;padding:20px}.waiver-header h1{font-size:1.8rem}.waiver-header h2{font-size:1.2rem}.waiver-iframe{height:400px}.waiver-actions{align-items:center;flex-direction:column}.waiver-btn{max-width:250px;width:100%}}.admin-square-customers{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1600px;padding:20px}.admin-header{border-bottom:2px solid #e9ecef;margin-bottom:2rem;padding-bottom:1rem;text-align:center}.admin-header h1{color:#2c3e50;font-size:2.5rem;font-weight:600;margin-bottom:.5rem}.admin-header p{color:#6c757d;font-size:1.1rem;margin-bottom:1rem}.admin-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.auto-renewal-btn,.refresh-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.auto-renewal-btn{background:#dc3545;color:#fff}.auto-renewal-btn:hover:not(:disabled){background:#c82333}.refresh-btn{background:#007bff;color:#fff}.refresh-btn:hover{background:#0056b3}.auto-renewal-btn:disabled,.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.loading-details,.loading-spinner{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.admin-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 2fr;height:80vh}.clients-panel{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden;padding:1.5rem}.clients-panel h2{border-bottom:2px solid #f8f9fa;color:#2c3e50;font-size:1.4rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.clients-list{flex:1 1;overflow-y:auto}.client-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;margin-bottom:.5rem;padding:1rem;transition:all .2s ease}.client-item:hover{border-color:#007bff;box-shadow:0 2px 4px #007bff1a}.client-item.selected{background:#f8f9ff;border-color:#007bff;box-shadow:0 2px 8px #007bff33}.client-info{margin-bottom:.75rem}.client-name{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.client-id{background:#f8f9fa;border-radius:4px;color:#495057;display:inline-block;font-family:Courier New,monospace;font-size:.9rem;margin-bottom:.25rem;padding:.25rem .5rem}.client-email{color:#6c757d;font-size:.9rem}.client-status{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.status-badge{border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.expiration{color:#495057;font-size:.9rem;font-weight:600}.expiration.warning{color:#dc3545}.square-status{font-size:.9rem}.has-square{color:#28a745;font-weight:600}.no-square{color:#6c757d;font-weight:600}.details-panel{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow-y:auto;padding:1.5rem}.client-details h2{border-bottom:2px solid #f8f9fa;color:#2c3e50;font-size:1.6rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.detail-section{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin-bottom:2rem;padding:1rem}.detail-section h3{color:#495057;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.customer-profile,.subscription-details{display:flex;flex-direction:column;gap:.75rem}.profile-row{align-items:center;background:#fff;border-radius:6px;display:flex;justify-content:space-between;padding:.5rem}.profile-row label{color:#495057;font-weight:600;min-width:150px}.profile-row span{color:#212529;text-align:right}.monospace{background:#e9ecef;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;padding:.25rem .5rem}.status-text{font-weight:600;text-transform:uppercase}.warning{color:#dc3545!important;font-weight:600}.no-data{color:#6c757d;font-style:italic;padding:1rem;text-align:center}.admin-renewal-actions{display:flex;flex-wrap:wrap;gap:1rem}.renewal-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;min-width:200px;padding:.75rem 1rem;transition:all .2s ease}.renewal-btn:disabled{cursor:not-allowed;opacity:.6}.renewal-btn.monthly{background:#007bff;color:#fff}.renewal-btn.monthly:hover:not(:disabled){background:#0056b3}.renewal-btn.yearly{background:#28a745;color:#fff}.renewal-btn.yearly:hover:not(:disabled){background:#1e7e34}.renewal-note{color:#856404;font-size:.9rem;font-style:italic;margin-top:.75rem}.charges-table{background:#fff;border-radius:6px;overflow-x:auto}.charges-table table{border-collapse:collapse;width:100%}.charges-table td,.charges-table th{border-bottom:1px solid #dee2e6;padding:.75rem;text-align:left}.charges-table th{color:#495057;font-weight:600}.charges-table tbody tr:hover,.charges-table th{background:#f8f9fa}.no-selection,.no-square-profile{color:#6c757d;padding:3rem;text-align:center}.no-selection h2,.no-square-profile h3{color:#495057;margin-bottom:1rem}@media (max-width:1200px){.admin-content{grid-template-columns:1fr;height:auto}.clients-panel{max-height:400px}}@media (max-width:768px){.admin-square-customers{padding:1rem}.admin-header h1{font-size:2rem}.admin-actions{align-items:center;flex-direction:column}.auto-renewal-btn,.refresh-btn{max-width:300px;width:100%}.profile-row{align-items:flex-start;flex-direction:column;gap:.25rem}.profile-row span{text-align:left}.admin-renewal-actions{flex-direction:column}.renewal-btn{min-width:auto}}
/*# sourceMappingURL=main.de0ec6e7.css.map*/