@import "https://fonts.googleapis.com/css2?family=Kumbh+Sans:wght@100..900&display=swap";:root{--primary:#d3ff49;--primary-light:#e0ff7a;--primary-dark:#b8e000;--primary-soft:#d3ff4926;--primary-on:#1a1a2e;--accent:#642d90;--accent-light:#7e44ab;--accent-soft:#642d901a;--bg:#f7f7f5;--bg-white:#fff;--text:#1a1a2e;--text-muted:#555;--text-light:#888;--border:#e0e0dc;--green:#d3ff49;--green-soft:#d3ff491f;--radius:16px;--radius-sm:12px;--radius-pill:100px;--danger:#d32f2f;--danger-soft:#d32f2f14;--success:#2e7d32;--success-soft:#2e7d321a;--warning:#b26a00;--warning-soft:#b26a001a;--muted-soft:#1a1a2e0d}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);flex-direction:column;min-height:100dvh;font-family:Kumbh Sans,sans-serif;display:flex}button,input,select,textarea{color:inherit;font-family:inherit}#root{flex-direction:column;min-height:100dvh;display:flex;overflow-x:clip}.header{background:var(--bg-white);z-index:100;border-bottom:none;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.header:after{content:"";background:linear-gradient(90deg,#d0fe38,#642d90);height:3px;position:absolute;bottom:0;left:0;right:0}.logo{color:inherit;cursor:pointer;align-items:center;gap:12px;text-decoration:none;display:flex}.logo-img{object-fit:contain;width:auto;height:44px}.logo-badge{color:#d0fe38;letter-spacing:.5px;background:#642d90;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.header-nav{align-items:center;gap:8px;display:flex}.nav-link{color:var(--text-muted);border-radius:var(--radius-pill);padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s}.nav-link:hover{background:var(--accent-soft);color:var(--accent)}.chat-container{flex-direction:column;flex:1;width:100%;max-width:720px;margin:0 auto;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.message{gap:12px;max-width:85%;animation:.3s ease-out messageIn;display:flex}@keyframes messageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse;align-self:flex-end}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:flex}.message.ai .message-avatar{background:var(--accent);color:#fff}.message.user .message-avatar{background:var(--accent-soft);color:var(--accent)}.message-content{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:14px 18px;box-shadow:0 1px 3px #0000000a}.message:has(.reg-wizard){width:100%;max-width:100%}.message:has(.reg-wizard) .message-content{flex:1;min-width:0}.message.user .message-content{background:var(--accent);border-color:var(--accent);color:#fff}.message-text{font-size:14px;line-height:1.6}.message.ai .message-text{color:var(--text-muted)}.message-details{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;margin-top:10px;padding:12px 14px}.message-details-title{margin-bottom:8px;font-size:14px}.message-details-rows{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;font-size:13px;display:grid}.message-details-row{display:contents}.message-details-row dt{color:var(--text-muted);font-weight:600}.message-details-row dd{margin:0}.message-details-footer{color:var(--text-muted);margin-top:10px;font-size:13px}.group-results{flex-direction:column;gap:8px;max-height:400px;margin-top:14px;display:flex;overflow-y:auto}.group-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:14px;padding:14px 16px;transition:all .2s;display:flex}.group-card:hover{border-color:var(--accent);background:var(--bg-white)}.group-card.selected{border-color:var(--green);background:var(--green-soft)}.group-badge{color:#fff;background:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:15px;font-weight:700;display:flex}.group-badge.full{background:#9e9e9e}.group-badge.court-1{background:#642d90}.group-badge.court-2{background:#1565c0}.group-badge.court-3{background:#e65100}.group-badge.court-4{background:#6a1b9a}.group-info{flex:1;min-width:0}.group-name{color:var(--text);margin-bottom:2px;font-size:14px;font-weight:600}.group-meta{color:var(--text-light);font-size:12px}.group-status{text-align:right;flex-shrink:0}.group-spots{color:var(--accent);margin-bottom:2px;font-size:14px;font-weight:700}.group-spots.low{color:#e65100}.group-price{color:var(--text-light);font-size:12px;font-weight:600}.suggestions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.suggestion-chip{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--radius-pill);color:var(--text);cursor:pointer;white-space:nowrap;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.suggestion-chip:hover{border-color:var(--accent);background:var(--accent-soft)}.typing-indicator{gap:5px;padding:4px 0;display:flex}.typing-indicator span{background:var(--text-light);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite typing}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.input-area{background:0 0;border-top:none;padding:16px 24px 24px}.input-container{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-pill);gap:10px;max-width:560px;margin:0 auto;padding:6px 6px 6px 20px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #0000000f}.input-container:focus-within{border-color:var(--accent);box-shadow:0 2px 12px #642d901f}.chat-input{color:var(--text);resize:none;background:0 0;border:none;flex:1;min-height:24px;max-height:100px;padding:12px 0;font-family:inherit;font-size:14px}.chat-input::placeholder{color:var(--text-light)}.chat-input:focus{outline:none}.send-btn{background:var(--accent);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.send-btn:hover{background:var(--accent-light);transform:scale(1.05)}.send-btn svg{fill:#fff;width:18px;height:18px;margin-left:2px}.booking-confirmation{background:var(--green-soft);border:1px solid var(--green);border-radius:var(--radius-sm);margin-top:14px;padding:18px}.booking-title{color:var(--green);align-items:center;gap:8px;margin-bottom:14px;font-size:14px;font-weight:700;display:flex}.booking-details{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;display:grid}.booking-detail{background:#ffffffb3;border-radius:8px;padding:10px 12px}.booking-detail-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;font-size:10px}.booking-detail-value{color:var(--text);font-size:13px;font-weight:600}.confirm-btn{background:var(--accent);border-radius:var(--radius-pill);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;width:100%;padding:14px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.confirm-btn:hover{background:var(--accent-light)}.confirm-btn.pay-btn{background:linear-gradient(135deg, var(--accent), var(--accent-light))}.confirm-btn.pay-btn:hover{background:linear-gradient(135deg, var(--accent-light), var(--accent))}.confirm-btn.cash-btn{color:var(--accent);border:2px solid var(--accent);background:0 0}.confirm-btn.cash-btn:hover{background:var(--accent-soft)}.welcome-state{text-align:center;background:var(--bg);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 20px 44px;display:flex;position:relative}.welcome-bg-ball{pointer-events:none;color:#642d9012;position:absolute}.welcome-bg-ball svg{width:100%;height:100%}.ball-1{color:#642d9012;width:220px;height:220px;top:-60px;left:-40px;transform:rotate(-25deg)}.ball-2{color:#642d9017;width:160px;height:160px;top:10%;right:-30px;transform:rotate(15deg)}.ball-3{color:#642d9012;width:100px;height:100px;bottom:18%;left:8%;transform:rotate(40deg)}.ball-4{color:#642d901a;width:260px;height:260px;bottom:-80px;right:5%;transform:rotate(-10deg)}.ball-5{color:#642d900f;width:80px;height:80px;top:40%;left:18%;transform:rotate(60deg)}.ball-6{color:#642d900f;width:140px;height:140px;top:5%;left:25%;transform:rotate(-45deg)}.ball-7{color:#642d9012;width:180px;height:180px;bottom:10%;right:20%;transform:rotate(30deg)}.ball-8{color:#642d9017;width:120px;height:120px;top:55%;right:-20px;transform:rotate(-55deg)}.ball-9{color:#642d900f;width:200px;height:200px;bottom:-40px;left:-50px;transform:rotate(20deg)}.chat-container.welcome-active{background:var(--bg);flex:none;max-width:100%}.chat-container.welcome-active .chat-messages{display:none}.chat-container.welcome-active .input-area{background:0 0;border-top:none;padding:16px 24px 28px}.chat-container.welcome-active .input-container{background:var(--bg-white);border:1px solid var(--border);max-width:560px;margin:0 auto}.chat-container.welcome-active .chat-input{color:var(--text)}.chat-container.welcome-active .chat-input::placeholder{color:var(--text-light)}.chat-container.welcome-active .send-btn{background:#d0fe38}.chat-container.welcome-active .send-btn svg{fill:#2a0e50}.welcome-logo{width:200px;margin:0 auto 28px;display:block}.welcome-title{color:var(--accent);margin-bottom:10px;font-size:24px;font-weight:700}.welcome-subtitle{color:var(--text-muted);max-width:380px;margin:0 auto 28px;font-size:14px;line-height:1.6}.welcome-register-btn{border-radius:var(--radius-pill);color:#2a0e50;cursor:pointer;background:#d0fe38;border:none;justify-content:center;align-items:center;gap:10px;margin:24px auto 28px;padding:16px 32px;font-family:inherit;font-size:16px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 16px #d0fe384d}.welcome-register-btn:hover{background:#e0ff7a;transform:translateY(-1px);box-shadow:0 6px 24px #d0fe3866}.header-register-btn{border-radius:var(--radius-pill);color:#d0fe38;cursor:pointer;background:#642d90;border:none;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s}.header-register-btn:hover{background:var(--accent-light)}.header-login-btn{border-radius:var(--radius-pill);color:#642d90;cursor:pointer;background:0 0;border:1.5px solid #642d90;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s}.header-login-btn:hover{color:#fff;background:#642d90}.header-location-btn{border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-white);color:var(--text);cursor:pointer;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.header-location-btn:hover{color:#642d90;border-color:#642d90}.header-location-btn svg{color:#642d90;flex-shrink:0}.header-location-name{font-weight:700}.header-location-change{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-left:1px solid var(--border);margin-left:2px;padding-left:8px;font-size:11px;font-weight:600}.header-location-btn:hover .header-location-change{color:#642d90}.header-nav-items{align-items:center;gap:8px;display:flex}.header-hamburger{cursor:pointer;color:var(--text);border-radius:var(--radius-sm);background:0 0;border:none;padding:6px;transition:background .2s;display:none}.header-hamburger:hover{background:var(--bg)}@media (width<=640px){.header-location-change{display:none}.header-location-btn{padding:6px 10px}.header-hamburger{align-items:center;display:flex}.header-nav-items{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:200;flex-direction:column;gap:8px;min-width:180px;padding:12px;display:none;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000001f}.header-nav-items.open{display:flex}.header-nav-items .header-register-btn,.header-nav-items .header-login-btn{text-align:center;justify-content:center;width:100%}.header-nav-items .nav-link{text-align:center;padding:8px 12px;display:block}.header-nav{position:relative}}.chat-messages::-webkit-scrollbar{width:5px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (width<=600px){.header{padding:10px 16px}.chat-messages{padding:16px 12px}.input-area{padding:12px 12px 20px}.message{gap:8px;max-width:100%}.message-content{flex:1;min-width:0;padding:12px 14px}.booking-details{grid-template-columns:1fr}.welcome-title{font-size:20px}.nav-link{display:none}.logo-img{height:36px}.reg-wizard{margin-top:10px;padding:14px}.reg-wizard-progress{gap:4px}.reg-step-dot{width:24px;height:24px;font-size:11px}.reg-category-buttons{grid-template-columns:1fr;gap:10px}.reg-category-btn{padding:18px 14px}.reg-slots-grid{grid-template-columns:1fr}.reg-day-tabs{gap:3px}.reg-day-tab{padding:6px 10px;font-size:11px}.reg-contract-preview{padding:14px}.reg-contract-preview iframe{height:420px}.welcome-bg-ball.ball-3,.welcome-bg-ball.ball-5,.welcome-bg-ball.ball-6,.welcome-bg-ball.ball-7,.welcome-bg-ball.ball-8{display:none}.ball-1{width:160px;height:160px;top:-40px;left:-30px}.ball-2{width:120px;height:120px;top:8%;right:-25px}.ball-4{width:180px;height:180px;bottom:-50px;right:-20px}.ball-9{width:140px;height:140px;bottom:-30px;left:-40px}}.admin-login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.admin-login-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);text-align:center;width:100%;max-width:400px;padding:40px}.admin-login-logo{width:80px;margin-bottom:24px}.admin-login-card h1{color:var(--text);margin-bottom:24px;font-size:18px;font-weight:700}.admin-error{background:var(--danger-soft);color:var(--danger);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.admin-error-banner{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:16px 20px;font-size:14px;display:flex}.admin-btn-secondary{border:1px solid var(--danger);border-radius:var(--radius-pill);color:var(--danger);cursor:pointer;white-space:nowrap;background:0 0;padding:8px 16px;font-size:13px;font-weight:600}.admin-btn-secondary:hover{background:var(--danger);color:#fff}.admin-field{text-align:left;margin-bottom:16px}.admin-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.admin-field input:not([type=checkbox]):not([type=radio]),.admin-field select,.admin-field textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;height:46px;color:var(--text);background:var(--bg);box-sizing:border-box;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:44px}.password-toggle-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--text)}.admin-field select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.admin-field textarea{resize:vertical;height:auto}.admin-field-checkbox{flex-direction:row;align-items:center;gap:8px;display:flex}.admin-field-checkbox input[type=checkbox]{cursor:pointer;width:auto;margin:0}.admin-field-checkbox label{text-transform:none;cursor:pointer;margin-bottom:0;font-size:14px}.admin-option-row{cursor:pointer;color:var(--text);text-transform:none;letter-spacing:normal;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:500;display:flex}.admin-option-row input[type=radio],.admin-option-row input[type=checkbox]{cursor:pointer;flex-shrink:0;width:16px;height:16px;margin:0}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:var(--accent);outline:none}.admin-field-row{gap:12px;display:flex}.admin-field-row .admin-field{flex:1}.admin-submit-btn{background:var(--accent);color:#fff;border-radius:var(--radius-pill);cursor:pointer;border:none;width:100%;margin-top:8px;padding:14px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s}.admin-submit-btn:hover{background:var(--accent-light)}.admin-submit-btn:disabled{opacity:.6;cursor:not-allowed}.admin-layout{width:100%;min-height:100vh;display:flex;overflow:hidden}.admin-sidebar{background:var(--bg-white);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;display:flex}.admin-sidebar-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:20px;display:flex}.admin-sidebar-logo{width:auto;height:32px}.admin-sidebar-title{color:var(--accent);text-transform:uppercase;letter-spacing:1px;font-size:14px;font-weight:700}.admin-nav{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex}.admin-nav-link{border-radius:var(--radius-sm);color:var(--text-muted);align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.admin-nav-link:hover{background:var(--accent-soft);color:var(--accent)}.admin-nav-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.admin-sidebar-footer{border-top:1px solid var(--border);padding:16px 20px}.admin-user-info{color:var(--text-light);text-overflow:ellipsis;margin-bottom:8px;font-size:12px;overflow:hidden}.admin-logout-btn{border:1.5px solid var(--border);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.admin-logout-btn:hover{border-color:var(--danger);color:var(--danger)}.admin-main{background:var(--bg);flex:1;min-width:0;overflow:hidden auto}.admin-page{max-width:1200px;padding:32px}.admin-page.admin-page-wide{max-width:100%}.admin-table td.nowrap,.admin-table th.nowrap{white-space:nowrap}.admin-page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-page-header h1{color:var(--text);font-size:22px;font-weight:700}.admin-tabs{border-bottom:1px solid var(--border,#e0e0e0);gap:4px;margin:0 0 16px;display:flex}.admin-tab{cursor:pointer;color:var(--text-muted,#555);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:500;transition:color .2s,border-color .2s}.admin-tab:hover{color:var(--text,#222)}.admin-tab--active{border-bottom-color:var(--accent,#1f6feb);color:var(--accent,#1f6feb);font-weight:600}.admin-btn-primary{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s}.admin-btn-primary:hover{background:var(--accent-light)}.admin-btn-primary:disabled{opacity:.5;cursor:not-allowed}.admin-loading,.admin-empty{text-align:center;color:var(--text-light);padding:60px 20px;font-size:14px}.admin-day-tabs{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.admin-day-tab{border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-white);color:var(--text-muted);cursor:pointer;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.admin-day-tab:hover{border-color:var(--accent);color:var(--accent)}.admin-day-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.admin-date-strip{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.admin-date-pill{border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--bg-white);color:var(--text-secondary);letter-spacing:.2px;cursor:pointer;align-items:center;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.admin-date-pill:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.admin-date-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.admin-date-header{color:var(--text-primary);border-bottom:1px solid var(--border);margin-bottom:12px;padding:8px 0;font-size:14px;font-weight:600}.admin-date-pill.timeoff:not(.active){border-color:var(--warning);color:var(--warning);background:var(--warning-soft)}.timeoff-notice{background:var(--warning-soft);border:1px solid var(--warning);border-radius:var(--radius-sm);color:var(--text-primary);margin-bottom:16px;padding:12px 14px;font-size:13px}.timeoff-notice-title{color:var(--warning);margin-bottom:6px;font-weight:700}.timeoff-notice-list{margin:0;padding-left:18px}.timeoff-notice-list li{margin-bottom:2px}.timeoff-form{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);margin-bottom:24px;padding:16px}.timeoff-form-fields{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.timeoff-form-fields .admin-field{min-width:150px;margin-bottom:0}.timeoff-form-reason{flex:1;min-width:220px}.timeoff-hint{color:var(--text-muted);margin:12px 0 0;font-size:13px}@media (width<=700px){.timeoff-form-fields{flex-direction:column;align-items:stretch}.timeoff-form-fields .admin-add-btn{width:100%}}.admin-month-picker{align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-month-arrow{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);background:0 0;padding:4px 10px;font-size:14px;transition:background .15s}.admin-month-arrow:hover{background:var(--accent-soft);color:var(--accent)}.admin-month-label{color:var(--text-primary);text-align:center;min-width:160px;font-size:15px;font-weight:600}.cell-badges{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.cell-badge{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;align-items:center;max-width:100%;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.3;display:inline-flex;overflow:hidden}.cell-badge.cancel{color:#b71c1c;background:#ffcdd2}.cell-badge.override{color:#1565c0;background:#bbdefb}.cell-badge.activity{color:#e65100;background:#fff3e0}.cell-badge.hidden-group{color:#424242;background:#e0e0e0}.day-panel-section{margin-bottom:16px}.day-panel-section-title{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:700}.day-panel-cancelled{color:#b71c1c;border-radius:var(--radius);background:#ffebee;padding:10px 14px;font-size:14px}.day-panel-overridden{color:#1565c0;border-radius:var(--radius);background:#e3f2fd;padding:10px 14px;font-size:14px}.day-panel-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);color:var(--text-primary);cursor:pointer;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.day-panel-btn:hover{border-color:var(--accent);color:var(--accent)}.day-panel-btn:disabled{opacity:.5;cursor:not-allowed}.day-panel-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.day-panel-btn.primary:hover{background:var(--accent-dark,#1565c0)}.day-panel-btn.danger{color:#ef5350;border-color:#ef5350}.day-panel-btn.danger:hover{background:#ffebee}.day-panel-btn.template{text-align:center;width:100%;color:var(--text-muted);border-style:dashed}.day-panel-btn.template:hover{color:var(--accent);border-color:var(--accent)}.day-panel-edit-form{flex-direction:column;gap:8px;margin-top:10px;display:flex}.day-panel-attendance{cursor:pointer;border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.day-panel-attendance.present{color:#43a047;background:#e8f5e9;border-color:#43a047}.day-panel-attendance.present:hover{background:#c8e6c9}.day-panel-attendance.absent{color:#ef5350;background:#ffebee;border-color:#ef5350}.day-panel-attendance.absent:hover{background:#ffcdd2}.day-panel-attendance:disabled{opacity:.5;cursor:not-allowed}.day-panel-booking-tag{border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.day-panel-booking-tag.credit{color:#1565c0;background:#e3f2fd}.day-panel-booking-tag.oneoff{color:#e65100;background:#fff3e0}.admin-grid-cell.cancelled{opacity:.7;background:#ffebee}.admin-schedule-grid{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.admin-grid-header{border-bottom:2px solid var(--border);background:var(--bg);grid-template-columns:70px repeat(4,1fr);display:grid}.admin-grid-header>div{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:center;padding:12px;font-size:12px;font-weight:700}.admin-grid-row{border-bottom:1px solid var(--border);grid-template-columns:70px repeat(4,1fr);display:grid}.admin-grid-row:last-child{border-bottom:none}.admin-grid-time{color:var(--text-muted);justify-content:center;align-items:center;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.admin-grid-court{text-align:center}.admin-grid-cell{border-left:1px solid var(--border);cursor:pointer;justify-content:center;align-items:center;min-height:44px;padding:8px;font-size:12px;transition:background .15s;display:flex}.admin-grid-cell:hover{background:var(--accent-soft)}.admin-grid-cell.filled{background:var(--green-soft)}.admin-grid-cell.blocked{background:#fff3e0}.admin-grid-cell.individual{background:#ede7f6}.admin-grid-cell.self-practice{background:#f3f4f6}.cell-group-tag{text-transform:uppercase;color:#424242;background:#e0e0e0;border-radius:3px;margin-top:2px;padding:1px 4px;font-size:9px;font-weight:700;display:inline-block}.cell-empty{color:var(--text-light);opacity:0;font-size:18px}.admin-grid-cell:hover .cell-empty{opacity:1}.cell-blocked{color:#e65100;text-transform:uppercase;font-size:10px;font-weight:600}.cell-group{text-align:center}.cell-group-name{color:var(--text);font-size:11px;font-weight:600;line-height:1.3;display:block}.cell-group-count{color:var(--text-light);margin-top:2px;font-size:10px;display:block}.cell-group-category{text-transform:uppercase;border-radius:3px;margin-top:2px;padding:1px 4px;font-size:9px;font-weight:700;display:inline-block}.cell-group-category.adults{color:#1565c0;background:#e3f2fd}.cell-group-category.kids{color:#e65100;background:#fff3e0}.cell-group-price{color:var(--accent);font-size:10px;font-weight:600;display:block}.cell-group-coach{color:#4527a0;white-space:nowrap;text-overflow:ellipsis;background:#ede7f6;border-radius:4px;max-width:100%;margin-top:2px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block;overflow:hidden}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-white);border-radius:var(--radius);width:100%;max-width:440px;max-height:calc(100vh - 40px);padding:28px;animation:.2s ease-out modalIn;overflow-y:auto}.registration-modal{max-width:620px;padding:20px}.registration-modal .reg-wizard{border:none;max-width:100%;margin-top:0;padding:0}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-header h2{font-size:18px;font-weight:700}.modal-close{cursor:pointer;color:var(--text-light);background:0 0;border:none;padding:4px;font-size:24px;line-height:1}.modal-meta{color:var(--text-light);margin-bottom:20px;font-size:13px}.modal-sibling-banner{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text);margin-bottom:16px;padding:10px 14px;font-size:13px;line-height:1.5}.multiday-section{border-top:1px dashed var(--border);margin-top:8px;padding-top:12px}.multiday-hint{color:var(--text-light);margin-top:6px;font-size:12px;line-height:1.5}.multiday-hint-edit{border-top:1px dashed var(--border);margin-top:16px;padding-top:12px}.modal-mode-tabs{gap:8px;margin-bottom:20px;display:flex}.modal-mode-tab{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-muted);cursor:pointer;flex:1;padding:10px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.modal-mode-tab.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.modal-actions{gap:10px;margin-top:20px;display:flex}.modal-save-btn{background:var(--accent);color:#fff;border-radius:var(--radius-pill);cursor:pointer;border:none;flex:1;padding:12px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s}.modal-save-btn:hover{background:var(--accent-light)}.modal-delete-btn{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-pill);cursor:pointer;border:none;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s}.modal-delete-btn:hover{background:#d32f2f26}.slot-registrations{border-top:1.5px solid var(--border);margin-top:20px;padding-top:16px}.slot-registrations-title{color:var(--text);margin:0 0 12px;font-size:14px;font-weight:600}.slot-registrations-loading,.slot-registrations-empty{color:var(--text-muted);padding:8px 0;font-size:13px}.slot-registrations-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.slot-registration-item{background:var(--bg);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.slot-reg-name{color:var(--text);font-weight:500}.slot-reg-status{text-transform:uppercase;letter-spacing:.3px;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.slot-reg-status.confirmed{color:#642d90;background:#e8f5e9}.slot-reg-status.pending{color:#e65100;background:#fff3e0}.admin-filters{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.admin-filter-btn{border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-white);color:var(--text-muted);cursor:pointer;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.admin-filter-btn:hover{border-color:var(--accent);color:var(--accent)}.admin-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.bookings-header{margin-bottom:16px}.bookings-header-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.bookings-header-top h1{color:var(--text);margin:0;font-size:20px;font-weight:700}.bookings-header-actions{gap:6px;display:flex}.bookings-tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:12px;display:flex}.bookings-tab{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.bookings-tab:hover{color:var(--text)}.bookings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.bookings-filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-search-input{border:1.5px solid var(--border);background:var(--bg-white);border-radius:6px;outline:none;width:180px;padding:7px 12px;font-family:inherit;font-size:12px;transition:border-color .2s}.admin-search-input:focus{border-color:var(--accent)}.admin-search-input::placeholder{color:#999}.admin-filter-select{border:1.5px solid var(--border);background:var(--bg-white);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:6px;outline:none;padding:7px 28px 7px 10px;font-family:inherit;font-size:12px;transition:border-color .2s}.admin-filter-select:focus{border-color:var(--accent)}.admin-table-wrap{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{background:var(--bg);text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border);padding:12px 16px;font-size:11px;font-weight:700}.admin-table td{border-bottom:1px solid var(--border);color:var(--text-muted);padding:12px 16px}.admin-table tr:last-child td{border-bottom:none}.admin-table td input:not([type=checkbox]):not([type=radio]):not([type=file]){border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;height:38px;color:var(--text);background:var(--bg-white);box-sizing:border-box;padding:8px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.admin-table td input:not([type=checkbox]):not([type=radio]):not([type=file]):focus{border-color:var(--accent);outline:none}.admin-table td button{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--text);cursor:pointer;white-space:nowrap;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.admin-table td button:hover{border-color:var(--accent);color:var(--accent)}.admin-table td button:disabled{opacity:.5;cursor:not-allowed}.admin-logo-thumb{object-fit:contain;background:var(--bg);border:1px solid var(--border);border-radius:6px;width:48px;height:48px;padding:4px;display:block}.admin-logo-editor{align-items:center;gap:10px;display:flex}.admin-logo-preview{object-fit:contain;background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-shrink:0;width:48px;height:48px;padding:4px}.admin-logo-editor input[type=file]{max-width:160px;font-size:12px}.admin-logo-editor button{border-color:var(--danger)!important;color:var(--danger)!important;padding:6px 12px!important;font-size:12px!important}.admin-logo-placeholder{color:var(--text-muted);font-size:12px}.booking-order-id{font-family:SFMono-Regular,monospace;font-size:12px}.status-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.status-pending{color:#e65100;background:#fff3e0}.status-confirmed{color:#1b5e20;background:#e8f5e9}.status-failed{background:var(--danger-soft);color:var(--danger)}.status-cancelled{color:#616161;background:#eee}.status-cancelling{color:#e65100;background:#fff3e0}.status-select{appearance:none;border:1px solid var(--border);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right 8px center;background-repeat:no-repeat;padding:4px 24px 4px 10px;font-size:11px;font-weight:700;transition:filter .15s}.status-select:hover{filter:brightness(.97)}.status-select.status-pending{color:#e65100;background-color:#fff3e0;border-color:#ffcc80}.status-select.status-confirmed{color:#1b5e20;background-color:#e8f5e9;border-color:#a5d6a7}.status-select.status-failed{background-color:var(--danger-soft);color:var(--danger);border-color:#c628284d}.status-select.status-cancelled{color:#616161;background-color:#eee;border-color:#ddd}.status-select.status-cancelling{color:#e65100;background-color:#fff3e0;border-color:#ffcc80}.admin-config-form{max-width:500px}.admin-config-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);margin-bottom:20px;padding:24px 24px 16px}.admin-config-section legend{color:var(--accent);padding:0 8px;font-size:14px;font-weight:600}@media (width<=768px){.admin-layout:not(.coach-layout):not(.admin-app) .admin-sidebar{width:60px}.admin-layout:not(.coach-layout):not(.admin-app) .admin-sidebar-title,.admin-layout:not(.coach-layout):not(.admin-app) .admin-nav-link span,.admin-layout:not(.coach-layout):not(.admin-app) .admin-user-info{display:none}.admin-layout:not(.coach-layout):not(.admin-app) .admin-nav-link{justify-content:center;padding:12px}.admin-page{padding:20px}}.reg-wizard{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;width:100%;max-width:520px;margin-top:14px;padding:20px}.reg-wizard a[href^=tel\:],.reg-wizard a[href*="://maps."],.reg-wizard a[x-apple-data-detectors]{pointer-events:none;color:inherit!important;text-decoration:none!important}.reg-wizard-progress{justify-content:center;gap:8px;margin-bottom:20px;display:flex}.reg-step-dot{color:#999;background:#eee;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.reg-step-dot.active{background:var(--accent-soft);color:var(--accent)}.reg-step-dot.current{background:var(--accent);color:#fff}.reg-step-title{color:var(--text);margin-bottom:16px;font-size:16px;font-weight:700}.reg-back-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-bottom:12px;padding:0;font-size:13px}.reg-back-btn:hover{color:var(--accent)}.reg-category-buttons{grid-template-columns:1fr 1fr;gap:12px;display:grid}.reg-category-btn{border:2px solid var(--border);border-radius:var(--radius);background:var(--bg-white);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;transition:all .2s;display:flex}.reg-category-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.reg-category-icon{color:var(--accent);display:flex}.reg-category-label{font-size:15px;font-weight:700}.reg-category-desc{color:var(--text-muted);font-size:12px}.reg-plans-grid{flex-direction:column;gap:10px;display:flex}.reg-plan-card{text-align:left;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);cursor:pointer;padding:16px;transition:all .2s}.reg-plan-card:hover,.reg-plan-card.selected{border-color:var(--accent);background:var(--accent-soft)}.reg-plan-name{font-size:15px;font-weight:700}.reg-plan-price{color:var(--accent);margin:4px 0;font-size:20px;font-weight:800}.reg-plan-sessions{color:var(--text-muted);font-size:13px}.reg-plan-desc{color:var(--text-light);white-space:pre-wrap;margin-top:4px;font-size:12px}.reg-day-tabs{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.reg-day-tab{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-white);cursor:pointer;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.reg-day-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.reg-day-tab.locked{background:var(--bg);color:var(--text-light);border-color:var(--border);opacity:.55}.reg-day-tab.locked.active{background:var(--accent);color:#fff;opacity:1}.reg-day-tab:disabled{cursor:not-allowed}.reg-day-hint{color:var(--text-muted);margin:-4px 0 12px;font-size:12px;line-height:1.4}.reg-day-hint strong{color:var(--text);font-weight:700}.reg-nvs-notice{text-align:left;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent);color:var(--text);padding:14px 16px;font-size:13px;line-height:1.55}.reg-nvs-notice strong{color:var(--accent);font-weight:700}.reg-nvs-notice p{color:var(--text-muted);margin:4px 0 0}.reg-nvs-notice-standalone{max-width:480px;margin:0 auto 16px}.reg-slots-grid{grid-template-columns:1fr 1fr;gap:8px;max-height:280px;margin-bottom:12px;display:grid;overflow-y:auto}.reg-slot-btn{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);cursor:pointer;text-align:left;flex-direction:column;gap:2px;padding:10px;font-size:12px;transition:all .2s;display:flex}.reg-slot-btn:hover:not(.disabled){border-color:var(--accent)}.reg-slot-btn.selected{border-color:var(--accent);background:var(--accent-soft)}.reg-slot-btn.disabled{opacity:.4;cursor:not-allowed}.reg-slot-time{font-size:14px;font-weight:700}.reg-slot-court{color:var(--text-muted)}.reg-slot-group{font-weight:600}.reg-slot-spots{color:var(--text-light)}.reg-selected-summary{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.reg-selected-chip{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-pill);padding:3px 10px;font-size:12px;font-weight:600}.reg-next-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:none;width:100%;margin-top:8px;padding:12px;font-size:14px;font-weight:700;transition:background .2s}.reg-next-btn:hover:not(:disabled){background:var(--accent-light)}.reg-next-btn:disabled{opacity:.5;cursor:not-allowed}.reg-form{flex-direction:column;gap:18px;margin-bottom:12px;display:flex}.reg-form-section{color:var(--text);border-bottom:1px solid var(--border);margin-top:8px;padding-bottom:4px;font-size:14px;font-weight:700}.reg-field{flex-direction:column;gap:6px;display:flex}.reg-field label{color:var(--text-muted);font-size:12px;font-weight:600}.reg-field input{border:1px solid var(--border);border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.reg-field input:focus{border-color:var(--accent)}.reg-field textarea{border:1px solid var(--border);resize:vertical;box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.reg-field textarea:focus{border-color:var(--accent)}.reg-checkbox-group,.reg-radio-group{flex-direction:column;gap:8px;display:flex}.reg-checkbox-label,.reg-radio-label{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.reg-checkbox-label input,.reg-radio-label input{cursor:pointer;width:16px;height:16px;accent-color:var(--accent);margin:0}.reg-checkbox-label span,.reg-radio-label span{line-height:1.3}.password-rules{flex-wrap:wrap;gap:4px 12px;margin:4px 0 0;padding:0;list-style:none;display:flex}.password-rules li{color:#b00020;font-size:12px}.password-rules li:before{content:"✗ "}.password-rules li.met{color:#2e7d32}.password-rules li.met:before{content:"✓ "}.reg-error{background:var(--danger-soft);color:var(--danger);border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px}.reg-contract-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafafa;margin-bottom:16px;padding:20px;font-size:13px;line-height:1.6}.reg-contract-header{text-align:center;border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:16px;font-weight:700}.reg-contract-section{margin-bottom:8px}.reg-contract-section ul{margin:4px 0 0 20px;padding:0}.reg-download-btn{background:var(--accent-soft);color:var(--accent);border-radius:8px;margin-top:12px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.reg-download-btn:hover{background:var(--accent);color:#fff}button.reg-download-btn{cursor:pointer;font:inherit;border:none;font-size:13px;font-weight:600}.reg-agree-check{cursor:pointer;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.reg-agree-check input[type=checkbox]{accent-color:var(--accent);margin-top:2px}.reg-agree-check a{color:var(--accent)}.reg-payment-summary{text-align:center;margin-bottom:20px}.reg-payment-total{color:var(--text);font-size:18px}.reg-payment-total strong{color:var(--accent);font-size:24px}.reg-payment-buttons{flex-direction:column;gap:10px;display:flex}.reg-pay-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:15px;font-weight:700;transition:all .2s;display:flex}.reg-payment-buttons .reg-pay-btn{width:100%}.reg-pay-btn.online{background:var(--accent);color:#fff}.reg-pay-btn.online:hover{background:var(--accent-light)}.reg-pay-btn.cash{background:var(--bg);color:var(--text);border-color:var(--border)}.reg-pay-btn.cash:hover{background:var(--border)}.reg-pay-btn:disabled{opacity:.5;cursor:not-allowed}.reg-loading{text-align:center;color:var(--text-muted);padding:20px;font-size:13px}.reg-empty{text-align:center;color:var(--text-light);grid-column:1/-1;padding:20px;font-size:13px}.pwreset-page{background:var(--bg);min-height:100dvh;padding:48px 16px 64px}.pwreset-card{max-width:420px;margin:0 auto}.pwreset-hint{color:var(--text-muted);margin-bottom:16px;font-size:13px;line-height:1.6}.pwreset-hint--footer{text-align:center;margin-top:16px;margin-bottom:0}.pwreset-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.pwreset-submit{width:100%}.season-start-page{background:var(--bg);min-height:100dvh;padding:24px 16px 64px}.season-start-card{max-width:560px;margin:0 auto}.season-start-page .reg-back-btn{display:block}.season-start-steps{gap:8px;margin-bottom:24px;display:flex}.season-start-step{text-align:center;color:var(--text-light);border-bottom:2px solid var(--border);flex:1;padding-bottom:8px;font-size:12px;font-weight:600}.season-start-step.done{color:var(--accent);border-bottom-color:var(--accent-soft)}.season-start-step.current{color:var(--accent);border-bottom-color:var(--accent)}.season-start-note{color:var(--text-muted);margin-bottom:16px;font-size:14px}.season-start-costs{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.season-start-cost-row{justify-content:space-between;gap:12px;display:flex}.season-start-cost-row+.season-start-cost-row{margin-top:6px}.season-start-cost-total{border-top:1px solid var(--border);color:var(--text);justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;font-size:15px;font-weight:700;display:flex}.season-start-amount{font-variant-numeric:tabular-nums}.season-start-done{text-align:center;padding:8px 0 4px}.season-start-done-icon{margin-bottom:12px;font-size:48px;line-height:1}.season-start-done-text{color:var(--text-muted);font-size:15px;line-height:1.6}.payment-check-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:.9s linear infinite paymentCheckSpin}@keyframes paymentCheckSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.payment-check-spinner{animation-duration:3s}}.payment-check-overlay{z-index:2000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.payment-check-card{background:var(--bg-white);text-align:center;border-radius:16px;width:100%;max-width:340px;padding:32px 28px;box-shadow:0 12px 40px #0000002e}.payment-check-title{margin-bottom:8px;font-size:17px;font-weight:700}.payment-check-text{color:var(--text-muted);font-size:14px;line-height:1.6}@media (width<=600px){.season-start-page{padding:16px 12px 48px}.season-start-card{padding:14px}.season-start-steps{gap:4px;margin-bottom:20px}.season-start-step{font-size:11px}}.event-cards-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:12px;display:grid}.event-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface,#fff);cursor:pointer;text-align:left;flex-direction:column;padding:0;font-family:inherit;transition:border-color .2s,transform .1s,box-shadow .2s;display:flex;overflow:hidden}.event-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.event-card-image{aspect-ratio:16/9;background-position:50%;background-size:cover;background-color:var(--bg-soft,#f5f5f7);width:100%;color:var(--text-light);justify-content:center;align-items:center;font-size:40px;display:flex}.event-card-image-placeholder{background-image:none}.event-card-body{flex-direction:column;gap:6px;padding:12px;display:flex}.event-card-title{color:var(--text);font-size:15px;font-weight:700}.event-card-date{color:var(--text-muted);font-size:12px}.event-card-desc{color:var(--text-light);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.event-card-price{color:var(--accent);margin-top:auto;font-size:16px;font-weight:800}.event-summary-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft,#fafafa);align-items:center;gap:12px;margin:12px 0;padding:10px;display:flex}.event-summary-image{border-radius:var(--radius-sm,6px);background-position:50%;background-size:cover;flex-shrink:0;width:80px;height:80px}.event-summary-title{color:var(--text);font-size:14px;font-weight:700}.event-summary-date{color:var(--text-muted);margin-top:2px;font-size:12px}.event-summary-desc{color:var(--text-muted);margin-top:4px;font-size:13px;line-height:1.5}.event-summary-price{color:var(--accent);margin-top:6px;font-size:14px;font-weight:700}.welcome-events-btn{border-radius:var(--radius-pill);color:#2a0e50;cursor:pointer;background:#d0fe38;border:none;justify-content:center;align-items:center;gap:10px;margin:0 auto 28px;padding:16px 32px;font-family:inherit;font-size:16px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 16px #d0fe384d}.welcome-events-btn:hover{background:#e0ff7a;transform:translateY(-1px);box-shadow:0 6px 24px #d0fe3866}.welcome-court-btn{border-radius:var(--radius-pill);color:#2a0e50;cursor:pointer;background:#d0fe38;border:none;justify-content:center;align-items:center;gap:10px;margin:0 auto 28px;padding:16px 32px;font-family:inherit;font-size:16px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 16px #d0fe384d}.welcome-court-btn:hover{background:#e0ff7a;transform:translateY(-1px);box-shadow:0 6px 24px #d0fe3866}.social-links{justify-content:center;align-items:center;gap:12px;display:flex}.social-links-item{width:40px;height:40px;color:var(--accent);background:var(--accent-soft);border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s,transform .2s;display:flex}.social-links-item:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}.welcome-social{margin-top:auto;padding-top:28px}.events-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.event-admin-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;flex-direction:column;display:flex;overflow:hidden}.event-admin-card.inactive{opacity:.6}.event-admin-card-image{aspect-ratio:16/9;background-position:50%;background-size:cover;background-color:var(--bg-soft,#f5f5f7);width:100%;color:var(--text-light);justify-content:center;align-items:center;font-size:40px;display:flex}.event-admin-card-body{flex-direction:column;flex:1;gap:6px;padding:12px;display:flex}.event-admin-card-title{font-size:15px;font-weight:700}.event-admin-card-meta{color:var(--text-muted);font-size:12px}.event-admin-card-price{color:var(--accent);font-weight:800}.event-admin-card-actions{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.event-kind-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:100px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.event-kind-badge.tournament{color:#642d90;background:#642d901f}.event-kind-badge.camp{color:#1a8a3a;background:#1a8a3a1f}.admin-add-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:none;padding:8px 18px;font-size:13px;font-weight:700;transition:background .2s}.admin-add-btn:hover{background:var(--accent-light)}.plans-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.plan-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:box-shadow .2s}.plan-card:hover{box-shadow:0 4px 16px #0000000f}.plan-card.inactive{opacity:.6}.plan-card-header{justify-content:space-between;margin-bottom:10px;display:flex}.plan-category-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;font-size:11px;font-weight:700}.plan-category-badge.adults{color:#1565c0;background:#e3f2fd}.plan-category-badge.kids{color:#c62828;background:#fce4ec}.plan-status-badge{border-radius:var(--radius-pill);padding:3px 10px;font-size:11px;font-weight:600}.plan-status-badge.active{background:var(--green-soft);color:var(--green)}.plan-status-badge.inactive{color:#999;background:#eee}.plan-status-badge.admin-only{color:#8a6d3b;background:#fff3cd}.plan-card-name{margin-bottom:4px;font-size:16px;font-weight:700}.plan-card-price{color:var(--accent);font-size:28px;font-weight:800}.plan-card-period{color:var(--text-muted);font-size:14px;font-weight:400}.plan-card-sessions{color:var(--text-muted);margin-bottom:8px;font-size:13px}.plan-card-desc{color:var(--text-light);white-space:pre-wrap;margin-bottom:12px;font-size:12px;line-height:1.5}.plan-card-actions{flex-wrap:wrap;gap:8px;display:flex}.plan-edit-btn,.plan-toggle-btn,.plan-delete-btn{border:1px solid var(--border);background:var(--bg-white);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.plan-edit-btn:hover{border-color:var(--accent);color:var(--accent)}.plan-toggle-btn:hover{color:#f57c00;border-color:#f57c00}.plan-delete-btn:hover{border-color:var(--danger);color:var(--danger)}.plan-edit-btn:disabled,.plan-toggle-btn:disabled,.plan-delete-btn:disabled,.plan-edit-btn:disabled:hover,.plan-toggle-btn:disabled:hover,.plan-delete-btn:disabled:hover{opacity:.45;cursor:not-allowed;border-color:var(--border);color:inherit}.levels-category-section{margin-bottom:1.5rem}.levels-category-title{color:var(--text,#222);margin-bottom:.75rem;font-size:14px;font-weight:600}.levels-row-inactive{opacity:.55}.levels-sort-controls{flex-direction:column;gap:2px;display:flex}.levels-sort-btn{cursor:pointer;color:var(--text-muted,#666);background:0 0;border:none;padding:0;font-size:11px;line-height:1;transition:color .15s}.levels-sort-btn:hover:not(:disabled){color:var(--accent)}.levels-sort-btn:disabled{color:var(--border,#e0e0e0);cursor:default}.levels-key{background:var(--bg,#f5f5f5);color:var(--text-muted,#666);border-radius:4px;padding:2px 8px;font-size:12px}.levels-status-badge{white-space:nowrap;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.levels-status-badge.active{color:#2e7d32;background:#e8f5e9}.levels-status-badge.inactive{color:#d32f2f;background:#fbe9e7}.levels-actions{gap:6px;display:flex}.levels-add-section{border-top:1px solid var(--border,#e0e0e0);margin-top:1.25rem;padding-top:1.25rem}.levels-add-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.levels-add-form .admin-field{margin-bottom:0}.levels-add-form .admin-add-btn{height:38px;margin-bottom:0}.reg-detail-modal{max-width:560px;max-height:90vh;overflow-y:auto}.reg-detail-section{margin-bottom:20px}.reg-detail-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:6px;font-size:13px;font-weight:700}.reg-detail-row{justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.reg-detail-label{color:var(--text-muted);font-weight:500}.reg-detail-value{color:var(--text);text-align:right;font-weight:600}.reg-detail-slots{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.reg-detail-actions{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:8px;padding-top:16px;display:flex}.reg-download-contract-btn{text-align:center;background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-sm);padding:12px;font-size:14px;font-weight:700;text-decoration:none;transition:all .2s;display:block}.reg-download-contract-btn:hover{background:var(--accent);color:#fff}.reg-detail-status-actions{gap:8px;display:flex}.reg-edit-btn{text-align:center;background:var(--bg-light);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:600;transition:all .2s;display:block}.reg-edit-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.reg-edit-btn:disabled{opacity:.5;cursor:not-allowed}.reg-edit-section{border-top:1px solid var(--border);margin-top:4px;padding-top:16px}.reg-edit-no-slots{color:var(--text-muted);padding:12px 0;font-size:13px}.reg-edit-slots-picker{max-height:280px;padding:4px 0;overflow-y:auto}.reg-edit-day-group{margin-bottom:12px}.reg-edit-day-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:700}.reg-edit-day-chips{flex-wrap:wrap;gap:6px;display:flex}.reg-edit-slot-chip{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-white);color:var(--text);cursor:pointer;padding:5px 10px;font-size:12px;transition:all .15s}.reg-edit-slot-chip:hover:not(.disabled){border-color:var(--accent);background:var(--accent-soft)}.reg-edit-slot-chip.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.reg-edit-slot-chip.pinned{background:var(--accent);color:#fff;border-color:var(--accent);opacity:.85;cursor:default}.reg-edit-slot-chip.disabled{opacity:.35;cursor:not-allowed}.reg-edit-price-preview{color:var(--text);padding:12px 0;font-size:14px}.reg-edit-price-change{color:var(--text-muted);margin-left:6px;font-size:12px}.reg-edit-price-note{color:var(--text-muted);margin-top:4px;font-size:11px}.admin-table-clickable{cursor:pointer;transition:background .15s}.admin-table-clickable:hover{background:var(--accent-soft)}.member-container{max-width:900px;margin:0 auto;padding:32px 20px}.member-header{margin-bottom:28px}.member-header h1{color:var(--text);margin:0 0 4px;font-size:24px;font-weight:700}.member-subtitle{color:var(--text-muted);margin:0;font-size:14px}.member-empty{text-align:center;color:var(--text-muted);padding:48px 0}.member-registrations{flex-direction:column;gap:16px;display:flex}.member-reg-card{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--radius);padding:20px;transition:border-color .2s}.member-reg-card:hover{border-color:var(--accent)}.member-reg-card--accent{border-left:4px solid var(--accent)}.member-reg-card--success{border-left:4px solid var(--success)}.member-reg-card--warning{border-left:4px solid var(--warning)}.member-reg-card--danger{border-left:4px solid var(--danger)}.member-reg-card--muted{border-left:4px solid var(--text-light)}.member-note{border-radius:var(--radius-sm);border:1px solid #0000;padding:12px 16px;font-size:14px;line-height:1.5}.member-note--info{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.member-note--success{background:var(--success-soft);border-color:var(--success);color:var(--success)}.member-note--warning{background:var(--warning-soft);border-color:var(--warning);color:var(--text)}.member-note--danger{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.member-note--muted{background:var(--muted-soft);border-color:var(--border);color:var(--text-muted)}.member-chip{border-radius:var(--radius-pill);text-transform:uppercase;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.member-chip--info{background:var(--accent-soft);color:var(--accent)}.member-chip--success{background:var(--success-soft);color:var(--success)}.member-chip--warning{background:var(--warning-soft);color:var(--warning)}.member-chip--danger{background:var(--danger-soft);color:var(--danger)}.member-chip--muted{background:var(--muted-soft);color:var(--text-muted)}.member-reg-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.member-reg-plan{color:var(--text);margin-bottom:6px;font-size:17px;font-weight:700}.member-reg-meta{align-items:center;gap:8px;display:flex}.member-reg-category,.member-reg-status{border-radius:var(--radius-pill);text-transform:uppercase;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.member-reg-category.adults,.member-reg-category.kids{background:var(--muted-soft);color:var(--text-muted)}.member-reg-status.confirmed{background:var(--success-soft);color:var(--success)}.member-reg-status.pending,.member-reg-status.cancelling{background:var(--warning-soft);color:var(--warning)}.member-reg-status.cancelled{background:var(--muted-soft);color:var(--text-muted)}.member-reg-status.failed{background:var(--danger-soft);color:var(--danger)}.member-reg-price{color:var(--accent);font-size:22px;font-weight:700}.member-reg-price-period,.member-reg-price-note{color:var(--text-muted);font-size:13px;font-weight:500}.member-reg-details{border-top:1px solid var(--border);padding:14px 0}.member-reg-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px;font-size:12px;font-weight:700}.member-reg-info-grid{grid-template-columns:1fr 1fr;gap:8px 16px;display:grid}.member-reg-info-item{flex-direction:column;gap:2px;display:flex}.member-reg-info-label{color:var(--text-light);font-size:11px;font-weight:500}.member-reg-info-value{color:var(--text);font-size:14px;font-weight:500}.member-reg-person{margin-bottom:8px;font-size:14px}.member-reg-slots{flex-wrap:wrap;gap:6px;display:flex}.member-reg-slot-chip{background:var(--bg);color:var(--text-muted);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500}.member-reg-slot-coach{color:var(--accent);margin-top:2px;font-size:11px;font-weight:600;display:block}.member-reg-actions{border-top:1px solid var(--border);gap:10px;margin-top:12px;padding-top:12px;display:flex}.member-download-btn{border:1.5px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;background:0 0;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.member-download-btn:hover,.member-download-btn--primary{background:var(--accent);color:#fff}.member-download-btn--primary:hover{background:var(--accent-light);border-color:var(--accent-light)}.member-download-btn:disabled,.member-download-btn--primary:disabled{opacity:.5;cursor:not-allowed}.member-download-btn:disabled:hover{color:var(--accent);background:0 0}.member-download-btn--primary:disabled:hover{background:var(--accent);border-color:var(--accent)}.member-cancel-reg-btn{border:1.5px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);cursor:pointer;background:0 0;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.member-cancel-reg-btn:hover{background:var(--danger);color:#fff}.member-tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:24px;display:flex}.member-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.member-tab:hover{color:var(--text)}.member-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.member-edit-form{margin-top:8px}.member-edit-form .admin-field{margin-bottom:12px}.member-edit-actions{gap:10px;margin-top:16px;display:flex}.member-edit-actions .modal-save-btn{flex:none;padding:10px 24px}.member-cancel-btn{border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.member-cancel-btn:hover{border-color:var(--text-muted);color:var(--text)}.member-save-msg{color:var(--success);background:var(--success-soft);border-radius:var(--radius-sm);margin-top:12px;padding:8px 12px;font-size:13px}.member-field-hint{color:var(--text-light);margin-top:4px;font-size:12px;display:block}.member-orders-table-wrap{overflow-x:auto}.member-orders-table{border-collapse:collapse;width:100%;font-size:14px}.member-orders-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:2px solid var(--border);padding:10px 12px;font-size:11px;font-weight:700}.member-orders-table td{border-bottom:1px solid var(--border);color:var(--text);padding:12px}.member-orders-table tbody tr:hover{background:var(--bg)}.member-order-id{color:var(--text-muted);font-family:monospace;font-size:12px}.signature-pad-wrapper{margin:16px 0}.signature-pad-label{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.signature-pad-canvas-border{border:2px dashed var(--border);border-radius:var(--radius-sm);cursor:crosshair;touch-action:none;background:#fff;display:inline-block}.signature-canvas{display:block}.signature-pad-clear{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;margin-top:6px;padding:6px 14px;font-family:inherit;font-size:12px;transition:background .15s}.signature-pad-clear:hover{background:var(--bg)}.recon-form-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);max-width:640px;padding:24px}.recon-form-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px;display:grid}.recon-file-name{color:var(--text-muted);margin-top:8px;font-size:13px}.recon-help{background:var(--bg);border-radius:var(--radius-sm);color:var(--text-muted);margin-top:16px;padding:12px 14px;font-size:13px;line-height:1.5}.recon-applied-banner{background:var(--primary-soft);border:1px solid var(--primary);color:var(--primary-on);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 16px;font-weight:600}.recon-summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px;display:grid}.recon-stat{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.recon-stat-good{border-color:var(--primary);background:var(--primary-soft)}.recon-stat-warn{background:#f4b40014;border-color:#f4b400}.recon-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px;font-size:12px}.recon-stat-value{color:var(--text);font-size:28px;font-weight:700}.recon-section{margin-top:24px}.recon-section-title{color:var(--text);margin-bottom:10px;font-size:16px;font-weight:600}.recon-tag{border-radius:var(--radius-pill);white-space:nowrap;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.recon-tag-good{background:var(--primary-soft);color:var(--primary-on);border:1px solid var(--primary)}.recon-tag-warn{color:#8a6500;background:#f4b40026;border:1px solid #f4b400}.recon-tag-pending{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-light)}.recon-tag-muted{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.recon-chip-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.analytics-page{padding:24px 32px 64px}.analytics-page-subtitle{color:var(--text-light);margin-top:4px;font-size:14px}.analytics-filterbar{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:20px;padding:16px;box-shadow:0 1px 2px #00000008}.analytics-filterbar-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:12px;display:grid}.analytics-field{flex-direction:column;gap:6px;min-width:0;display:flex}.analytics-field-label{color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:600}.analytics-field-actions{align-self:end}.analytics-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);height:38px;color:var(--text);width:100%;min-width:0;padding:0 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.analytics-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.analytics-filters{flex-wrap:wrap;gap:6px;display:flex}.analytics-reload-btn{background:var(--accent);color:#fff;border:1.5px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;height:38px;padding:0 16px;font-family:inherit;font-weight:600}.analytics-reload-btn:hover:not(:disabled){background:var(--accent-light);border-color:var(--accent-light)}.analytics-reload-btn:disabled{opacity:.6;cursor:not-allowed}.analytics-filterbar-presets{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;display:flex}.analytics-section{margin-bottom:28px}.analytics-section-title{color:var(--text);letter-spacing:.01em;margin-bottom:12px;font-size:16px;font-weight:700}.analytics-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px;display:grid}.analytics-kpi{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:6px;min-height:96px;padding:14px 16px;display:flex;box-shadow:0 1px 2px #00000008}.analytics-kpi-good{border-left:3px solid var(--accent)}.analytics-kpi-warn{border-left:3px solid #f5a623}.analytics-kpi-danger{border-left:3px solid var(--danger)}.analytics-kpi-wide{grid-column:span 2}@media (width<=720px){.analytics-kpi-wide{grid-column:auto}}.analytics-kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.analytics-kpi-value{color:var(--text);font-size:26px;font-weight:700;line-height:1.1}.analytics-kpi-foot{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;font-size:12px;display:flex}.analytics-kpi-delta{border-radius:6px;padding:2px 6px;font-size:12px;font-weight:600}.analytics-kpi-delta.delta-up{color:#1f7a3a;background:#1f7a3a1a}.analytics-kpi-delta.delta-down{color:var(--danger);background:var(--danger-soft)}.analytics-kpi-hint{color:var(--text-light);font-size:12px}.analytics-kpi-microbar{margin-top:4px}.analytics-microbar{background:var(--border);border-radius:6px;width:100%;height:10px;display:flex;overflow:hidden}.analytics-microbar-empty{opacity:.5}.analytics-microbar-seg{height:100%;transition:width .25s}.analytics-microbar-legend{color:var(--text-muted);flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12px;display:flex}.analytics-microbar-legend-item{align-items:center;gap:4px;display:inline-flex}.analytics-microbar-legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.analytics-chart-grid{grid-template-columns:repeat(12,1fr);gap:16px;margin-bottom:16px;display:grid}.analytics-span-4{grid-column:span 4}.analytics-span-6{grid-column:span 6}.analytics-span-8{grid-column:span 8}.analytics-span-12{grid-column:span 12}@media (width<=1100px){.analytics-span-4,.analytics-span-6,.analytics-span-8{grid-column:span 12}}.analytics-chart-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;min-width:0;padding:16px;display:flex;box-shadow:0 1px 2px #00000008}.analytics-chart-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.analytics-chart-title{color:var(--text);margin:0;font-size:14px;font-weight:700}.analytics-chart-subtitle{color:var(--text-light);font-size:12px}.analytics-chart-body{flex:1;min-width:0}.analytics-empty{height:100%;min-height:120px;color:var(--text-light);justify-content:center;align-items:center;font-size:13px;font-style:italic;display:flex}.analytics-progress{align-items:center;gap:8px;min-width:120px;display:flex}.analytics-progress-track{background:var(--border);border-radius:4px;flex:1;min-width:60px;height:8px;overflow:hidden}.analytics-progress-fill{background:var(--accent);height:100%;transition:width .25s}.analytics-progress-fill.analytics-progress-warn{background:#f5a623}.analytics-progress-fill.analytics-progress-danger{background:var(--danger)}.analytics-progress-label{color:var(--text-muted);text-align:right;min-width:40px;font-size:12px;font-weight:600}.analytics-table-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px;padding:16px;box-shadow:0 1px 2px #00000008}.analytics-table-wrap{overflow-x:auto}.analytics-table{border-collapse:collapse;width:100%;font-size:13px}.analytics-table thead th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);background:var(--bg);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:600}.analytics-table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);padding:10px 12px}.analytics-table tbody tr:hover{background:var(--bg)}.analytics-table .analytics-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.analytics-table .analytics-progress-cell{min-width:180px}.analytics-row-sub{color:var(--text-light);font-size:11px}.analytics-warn-text{color:var(--danger);font-weight:600}.analytics-error-banner{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:500}.analytics-skeleton{background:linear-gradient(90deg, var(--bg) 0%, #ececea 50%, var(--bg) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite analyticsShimmer}@keyframes analyticsShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.legal-page{background:var(--bg);min-height:100dvh;padding:24px 16px 80px}.legal-page-inner{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);max-width:860px;margin:0 auto;padding:32px 36px;box-shadow:0 2px 12px #0000000a}.legal-header{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:20px}.legal-back{color:var(--accent);margin-bottom:16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.legal-back:hover{text-decoration:underline}.legal-header h1{color:var(--text);font-size:24px;font-weight:700;line-height:1.3}.legal-subtitle{text-align:center;color:var(--text);letter-spacing:.02em;margin-bottom:28px;font-size:16px;font-weight:700;line-height:1.5}.legal-content section{margin-bottom:28px}.legal-content h3{color:var(--accent);letter-spacing:.02em;margin-bottom:12px;font-size:15px;font-weight:700}.legal-content p{color:var(--text);text-align:justify;margin-bottom:10px;font-size:14px;line-height:1.65}.legal-content p.legal-sub{padding-left:20px}.legal-content p.legal-sub-2{padding-left:40px}.legal-content strong{color:var(--text);font-weight:700}.legal-list{color:var(--text);margin:8px 0 0 22px;font-size:14px;line-height:1.65}.legal-list li{margin-bottom:6px}.legal-h4{color:var(--text);margin-top:14px;margin-bottom:6px;font-size:14px;font-weight:700}.legal-table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);margin:12px 0 16px;overflow-x:auto}.legal-table{border-collapse:collapse;background:var(--bg-white);width:100%;font-size:13px}.legal-table th,.legal-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 12px;line-height:1.5}.legal-table th:last-child,.legal-table td:last-child{border-right:none}.legal-table tbody tr:last-child td{border-bottom:none}.legal-table thead th{background:var(--bg);color:var(--text);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:700}@media (width<=640px){.legal-page-inner{padding:20px 18px}.legal-header h1{font-size:20px}.legal-content p{text-align:left}}.cookie-banner{z-index:9999;pointer-events:none;justify-content:center;animation:.35s ease-out cookieFadeIn;display:flex;position:fixed;bottom:16px;left:16px;right:16px}.cookie-banner-inner{pointer-events:auto;background:var(--bg-white);width:100%;max-width:760px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:16px;padding:16px 20px;display:flex;box-shadow:0 12px 36px #1a1a2e2e}.cookie-banner-icon{flex-shrink:0;font-size:28px;line-height:1}.cookie-banner-text{flex:1;min-width:0}.cookie-banner-text strong{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:700;display:block}.cookie-banner-text p{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.cookie-banner-text a{color:var(--accent);font-weight:600;text-decoration:none}.cookie-banner-text a:hover{text-decoration:underline}.cookie-banner-actions{flex-shrink:0;gap:8px;display:flex}.cookie-btn{border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;border:none;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:700;transition:background .2s,color .2s,transform .1s}.cookie-btn:active{transform:scale(.97)}.cookie-btn-primary{background:var(--accent);color:#fff}.cookie-btn-primary:hover{background:var(--accent-light)}.cookie-btn-secondary{color:var(--text-muted);border:1px solid var(--border);background:0 0}.cookie-btn-secondary:hover{background:var(--bg);color:var(--text)}@keyframes cookieFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.cookie-banner{bottom:12px;left:12px;right:12px}.cookie-banner-inner{text-align:left;flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.cookie-banner-icon{display:none}.cookie-banner-actions{flex-direction:row-reverse;justify-content:stretch}.cookie-btn{flex:1;padding:11px 14px}}.mz-datepicker{width:100%;font-family:inherit;position:relative}.mz-datepicker-input{background:var(--bg-white);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s;display:flex}.mz-datepicker-input:hover{border-color:var(--accent-light)}.mz-datepicker.is-open .mz-datepicker-input,.mz-datepicker-input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.mz-datepicker-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mz-datepicker-placeholder{color:var(--text-light)}.mz-datepicker-icon{color:var(--text-muted);flex-shrink:0;margin-left:10px;transition:color .2s}.mz-datepicker.is-open .mz-datepicker-icon,.mz-datepicker-input:hover .mz-datepicker-icon{color:var(--accent)}.mz-datepicker-popover{z-index:1000;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);-webkit-user-select:none;user-select:none;width:296px;max-width:calc(100vw - 32px);padding:12px;animation:.18s ease-out mzDatepickerPop;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px #1a1a2e29}.mz-datepicker-panel{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.mz-datepicker.opens-up .mz-datepicker-popover{top:auto;bottom:calc(100% + 6px)}@keyframes mzDatepickerPop{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.mz-datepicker-header{justify-content:space-between;align-items:center;gap:4px;margin-bottom:10px;display:flex}.mz-datepicker-title{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-family:inherit;font-size:14px;font-weight:700;transition:background .15s;display:inline-flex}.mz-datepicker-title:hover{background:var(--accent-soft);color:var(--accent)}.mz-datepicker-nav{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.mz-datepicker-nav:hover{background:var(--accent-soft);color:var(--accent)}.mz-datepicker-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.mz-datepicker-weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);padding:6px 0;font-size:11px;font-weight:700}.mz-datepicker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mz-datepicker-day{height:36px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-family:inherit;font-size:13px;font-weight:500;transition:background .12s,color .12s,transform 50ms;display:inline-flex}.mz-datepicker-day:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.mz-datepicker-day:active:not(:disabled){transform:scale(.94)}.mz-datepicker-day.is-outside{color:var(--text-light);opacity:.5}.mz-datepicker-day.is-today{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-soft);font-weight:700}.mz-datepicker-day.is-selected{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 4px 10px #642d904d}.mz-datepicker-day.is-selected:hover{background:var(--accent-light);color:#fff}.mz-datepicker-day.is-disabled{color:var(--text-light);opacity:.35;cursor:not-allowed}.mz-datepicker-years{-webkit-overflow-scrolling:touch;flex-direction:column;max-height:240px;padding:4px 0 6px;display:flex;overflow-y:auto}.mz-datepicker-year{color:var(--text);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;padding:10px 16px;font-family:inherit;font-size:15px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.mz-datepicker-year:hover{background:var(--accent-soft);color:var(--accent)}.mz-datepicker-year.is-selected{background:var(--accent);color:#fff;border-color:var(--accent)}.mz-datepicker-footer{border-top:1px solid var(--border);justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;display:flex}.mz-datepicker-link{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s}.mz-datepicker-link:hover{background:var(--accent-soft)}@media (width<=360px){.mz-datepicker-popover{width:100%;left:50%;transform:translate(-50%)}@keyframes mzDatepickerPop{0%{opacity:0}to{opacity:1}}}@media (width<=640px){.member-container{max-width:100%;padding:20px 14px}.member-header{margin-bottom:18px}.member-header h1{word-break:break-word;font-size:20px;line-height:1.3}.member-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;flex-wrap:nowrap;gap:4px;margin-left:-14px;margin-right:-14px;padding:0 14px;overflow:auto hidden}.member-tabs::-webkit-scrollbar{display:none}.member-tab{white-space:nowrap;scroll-snap-align:start;flex-shrink:0;padding:10px 14px;font-size:13px}.member-reg-card{border-radius:var(--radius-sm);padding:16px}.member-reg-card-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.member-reg-plan{font-size:16px}.member-reg-price{font-size:18px}.member-reg-info-grid{grid-template-columns:1fr;gap:8px}.member-reg-actions{flex-wrap:wrap;gap:8px}.member-reg-actions .member-download-btn,.member-reg-actions .member-cancel-reg-btn{text-align:center;flex:calc(50% - 4px);min-width:0;padding:10px 12px;font-size:12px}.member-reg-slots,.member-edit-actions{flex-wrap:wrap}.member-orders-table-wrap{margin-left:-14px;margin-right:-14px}}.location-picker{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.location-picker-loading{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:18px;display:flex}.location-picker-card{background:var(--bg-white);border-radius:var(--radius);text-align:center;z-index:1;width:100%;max-width:520px;padding:48px 40px;position:relative;box-shadow:0 12px 32px #00000014}.location-picker-logo{width:250px;margin-bottom:20px}.location-picker-card h1{color:var(--text);margin-bottom:8px;font-size:36px}.location-picker-tagline{color:var(--text-muted);margin-bottom:28px;font-size:16px}.location-picker-options{flex-direction:column;gap:12px;display:flex}.location-picker-option{background:var(--bg);border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;flex-direction:row;align-items:center;gap:16px;padding:18px 20px;transition:border-color .15s,transform .15s;display:flex}.location-picker-option-logo{object-fit:contain;flex-shrink:0;width:70px;height:70px}.location-picker-option-text{flex-direction:column;align-items:flex-start;display:flex}.location-picker-option:hover{border-color:var(--primary);transform:translateY(-1px)}.location-picker-option-name{color:var(--text);font-size:18px;font-weight:600}.location-picker-option-address{color:var(--text-muted);margin-top:4px;font-size:14px}.admin-sidebar-location{border-bottom:1px solid var(--border);padding:12px 18px}.admin-location-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-white);cursor:pointer;width:100%;padding:8px 10px;font-size:14px}.admin-location-label{border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--text);text-align:center;padding:8px 10px;font-size:14px;font-weight:600}.invoice-form-modal{width:92vw;max-width:880px}.invoice-row-actions{flex-wrap:wrap;gap:6px;display:flex}.invoice-notes-cell{max-width:260px;color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere}.invoice-buyer-tabs{border-bottom:1px solid var(--border);gap:6px;margin-bottom:16px;display:flex}.invoice-tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:14px;font-weight:500}.invoice-tab.active{color:var(--text);border-bottom-color:var(--primary);font-weight:600}.invoice-buyer-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.invoice-buyer-grid .admin-field{margin-bottom:0}.issuer-hint{color:var(--text-light);max-width:720px;margin:0 0 16px;font-size:13px;line-height:1.5}.issuer-field-hint{color:var(--text-light);margin-top:4px;font-size:12px;display:block}.issuer-cards{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));align-items:start;gap:16px;display:grid}.issuer-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.issuer-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.issuer-card-header h3{margin:0;font-size:16px;font-weight:600}.invoice-reg-suggestions{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-height:220px;margin-top:6px;overflow-y:auto}.invoice-reg-suggestion{text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border);background:0 0;width:100%;padding:8px 12px;font-size:13px;display:block}.invoice-reg-suggestion:last-child{border-bottom:none}.invoice-reg-suggestion:hover{background:var(--primary-soft)}.invoice-reg-suggestion .muted{color:var(--text-muted);font-size:12px}.invoice-reg-empty{color:var(--text-muted);padding:10px 12px;font-size:13px}.invoice-items-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin:8px 0 16px;padding:12px}.invoice-items-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.admin-add-btn-sm{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:6px 12px;font-size:12px;font-weight:600}.invoice-items-table{border-collapse:collapse;width:100%;font-size:13px}.invoice-items-table th,.invoice-items-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:6px}.invoice-items-table th{color:var(--text-muted);text-align:left;text-transform:uppercase;letter-spacing:.02em;font-size:12px;font-weight:600}.invoice-items-table input[type=text],.invoice-items-table input[type=number],.invoice-items-table input:not([type]){border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;padding:6px 8px;font-size:13px}.invoice-items-table tfoot td{border-bottom:none;padding-top:10px}.badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-normal{color:#1a1a2e;background:#d3ff4959}.badge-credit{color:#7f1d1d;background:#fecaca}.badge-info{color:#14532d;background:#bbf7d0}.admin-checkbox-field{cursor:pointer;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:500;display:flex}.admin-checkbox-field input[type=checkbox]{cursor:pointer;width:16px;height:16px}.member-picker{position:relative}.member-picker-input-row{align-items:stretch;gap:8px;display:flex}.member-picker-input-row input{flex:1}.member-picker-new-btn{border:1.5px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--accent);cursor:pointer;white-space:nowrap;padding:0 14px;font-size:13px}.member-picker-new-btn:hover{border-color:var(--accent);background:#6e2fa80d}.member-picker-dropdown{background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--radius-sm);z-index:50;max-height:280px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000014}.member-picker-dropdown-loading{color:var(--text-muted);padding:12px 14px;font-size:13px}.member-picker-dropdown-item{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;width:100%;padding:10px 14px;font-family:inherit;display:block}.member-picker-dropdown-item:last-child{border-bottom:none}.member-picker-dropdown-item:hover{background:#6e2fa80f}.member-picker-dropdown-name{color:var(--text);font-size:14px;font-weight:600}.member-picker-dropdown-meta{color:var(--text-muted);flex-wrap:wrap;gap:12px;margin-top:2px;font-size:12px;display:flex}.member-picker-hint{color:var(--text-muted);margin-top:6px;font-size:12px;font-style:italic}.member-picker-selected{border:1.5px solid var(--accent);border-radius:var(--radius-sm);background:#6e2fa80a;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.member-picker-selected-info{flex:1;min-width:0}.member-picker-selected-name{color:var(--text);font-size:14px;font-weight:600}.member-picker-selected-meta{color:var(--text-muted);flex-wrap:wrap;gap:12px;margin-top:2px;font-size:12px;display:flex}.member-picker-portal-badge{color:var(--accent);background:#6e2fa826;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.member-picker-children-badge{color:#1565c0;white-space:nowrap;background:#1565c01a;border-radius:999px;margin-left:6px;padding:2px 7px;font-size:11px;font-weight:600}.child-picker{margin-bottom:12px}.child-picker-label{color:#555;margin-bottom:8px;font-size:13px;font-weight:600}.child-picker-list{flex-wrap:wrap;gap:8px;display:flex}.child-picker-item{cursor:pointer;background:#fff;border:1.5px solid #e0e0dc;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;font-family:inherit;font-size:13px;transition:border-color .15s,background .15s;display:flex}.child-picker-item:hover{border-color:var(--accent);background:#6e2fa80a}.child-picker-item.selected{border-color:var(--accent);background:#6e2fa81a}.child-picker-item-name{color:#222;font-weight:600}.child-picker-item-dob{color:#888;font-size:11px}.child-picker-new{color:var(--accent);border-style:dashed;font-weight:600}.child-picker-back-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;font-family:inherit;font-size:13px;font-weight:500}.child-picker-back-btn:hover{text-decoration:underline}.member-picker-change-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:0 0;padding:6px 12px;font-size:12px}.member-picker-change-btn:hover{border-color:var(--accent);color:var(--accent)}.slot-context-summary{border-radius:var(--radius-sm);background:#6e2fa80d;border:1px solid #6e2fa833;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.slot-context-summary-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.slot-context-summary-body{color:var(--text);font-size:14px;font-weight:600}.slot-context-summary-meta{color:var(--text-muted);font-size:12px}.slot-context-plan-row{border-top:1px dashed #6e2fa833;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding-top:6px;display:flex}.slot-context-plan-label{color:var(--text);font-size:13px}.slot-context-plan-override{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.toast-container{z-index:10000;pointer-events:none;flex-direction:column-reverse;gap:8px;max-width:420px;display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius-sm);pointer-events:auto;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.45;animation:.3s forwards toast-in;display:flex;box-shadow:0 4px 16px #0000001f}.toast-exit{animation:.3s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}.toast-error{color:var(--danger);border:1px solid var(--danger);background:#fff0f0}.toast-success{color:#2e7d32;background:#f0faf0;border:1px solid #2e7d32}.toast-info{color:#1565c0;background:#f0f4ff;border:1px solid #1565c0}.toast-icon{flex-shrink:0;margin-top:2px;font-size:15px;font-weight:700;line-height:1}.toast-message{word-break:break-word;flex:1}.toast-close{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.toast-close:hover{opacity:1}.court-tabs{border-bottom:1px solid #e5e7eb;gap:8px;margin-bottom:20px;display:flex}.court-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:.95rem;font-weight:600}.court-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.court-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:20px}.court-panel-title{color:#111827;margin:0 0 6px;font-size:1.05rem;font-weight:700}.court-panel-note{color:#6b7280;margin:0 0 16px;font-size:.85rem}.court-day-tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.court-day-tab{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;display:inline-flex}.court-day-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.court-day-count{text-align:center;background:#0000001f;border-radius:999px;min-width:18px;padding:0 6px;font-size:.72rem}.court-day-tab.active .court-day-count{background:#ffffff47}.court-range-table select,.court-range-table input{border:1px solid #d1d5db;border-radius:6px;width:100%;min-width:90px;padding:6px 8px;font-size:.9rem}.court-range-empty{color:#9ca3af;text-align:center;padding:18px 0}.court-range-actions{gap:10px;margin-top:14px;display:flex}.court-copy-row{color:#374151;border-top:1px dashed #e5e7eb;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:14px;font-size:.85rem;display:flex}.court-copy-day{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.court-settings-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:14px;display:grid}.court-settings-save{align-items:flex-end;display:flex}.price-matrix input{text-align:right;border:1px solid #d1d5db;border-radius:6px;width:110px;padding:6px 8px;font-size:.9rem}.price-matrix input:focus{border-color:var(--accent);outline:none}.court-heatmap-wrap{overflow-x:auto}.court-heatmap{border-collapse:collapse;width:100%;font-size:.78rem}.court-heatmap th,.court-heatmap td{text-align:center;white-space:nowrap;border:1px solid #eef2f7;padding:3px 8px}.court-heatmap-time{color:#6b7280;text-align:right;font-weight:500}.court-heatmap-closed{color:#cbd5e1;background:#fafafa}.court-filter-row{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px;display:flex}.court-grid-wrap{border:1px solid #e5e7eb;border-radius:10px;max-height:60vh;overflow:auto}.court-grid{border-collapse:separate;border-spacing:0;width:100%;font-size:.8rem}.court-grid thead th{z-index:2;color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:8px;font-weight:600;position:sticky;top:0}.court-grid-time,.court-grid-time-head{z-index:1;color:#6b7280;white-space:nowrap;background:#f9fafb;border-right:1px solid #e5e7eb;padding:0 10px;font-weight:500;position:sticky;left:0}.court-grid-time-head{z-index:3}.court-grid-cell{border-bottom:1px solid #f3f4f6;padding:2px}.court-cell{cursor:pointer;color:#047857;background:#ecfdf5;border:1px solid #0000;border-radius:6px;width:100%;min-width:92px;min-height:30px;padding:5px 6px;font-size:.75rem;font-weight:600}.court-cell:hover:not(:disabled){background:#d1fae5;border-color:#059669}.court-cell:disabled{cursor:not-allowed;font-weight:500}.court-cell-group,.court-cell-blocked,.court-cell-booked{color:#9ca3af;background:#f3f4f6}.court-cell-closed,.court-cell-past{color:#d1d5db;background:#fafafa}.court-cell-nofit{color:#6ee7b7;background:#f0fdf4}.court-cell-selected,.court-cell-selected:disabled{color:#fff;background:#059669;border-color:#047857}.court-cell-free,.court-cell-reason{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.court-cell-muted{color:#9ca3af;font-size:.78rem}.court-grid-hint,.court-grid-empty{color:#6b7280;margin:0;padding:10px 2px 0;font-size:.82rem}.court-grid-empty{text-align:center;padding:28px}.court-selection-summary{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:10px 14px;font-weight:600;display:flex}.court-selection-price{white-space:nowrap;font-size:1.05rem}.court-modal{width:95vw;max-width:900px}.admin-grid-cell.court-rented{background:repeating-linear-gradient(45deg,#fffbeb,#fffbeb 6px,#fef3c7 6px 12px);border:1px solid #fcd34d;flex-direction:column;justify-content:center;gap:2px;display:flex}.cell-rental{cursor:pointer;color:#b45309;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:600;overflow:hidden}.cell-individual{color:#5b21b6}.court-picker-row{max-width:240px;margin-bottom:14px}.court-duration-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.court-duration-chip{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600}.court-duration-chip.active{color:#fff;background:#111827;border-color:#111827}.court-total-row{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:baseline;gap:10px;margin-top:12px;padding:12px 0;display:flex}.court-total-amount{color:#111827;font-size:1.35rem;font-weight:700}.court-total-discount{color:#059669;font-size:.82rem;font-weight:600}.individual-price-breakdown{color:#4b5563;flex-direction:column;gap:6px;margin-top:12px;font-size:.88rem;display:flex}.individual-price-breakdown>div{justify-content:space-between;gap:12px;display:flex}.individual-confirm-note{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:10px 0 0;padding:10px 12px;font-size:.82rem;line-height:1.5}.court-booking-modal{width:95vw;max-width:1020px;max-height:calc(100vh - 24px)}.court-booking-body{padding:16px}.court-booking-layout{align-items:flex-start;gap:20px;display:flex}.court-booking-side{flex:0 0 300px;max-width:300px}.court-booking-side .court-duration-row{gap:6px;margin:14px 0 0}.court-booking-side .court-duration-row>span{flex:0 0 100%}.court-booking-main{flex-direction:column;flex:1;justify-content:center;min-width:0;min-height:420px;display:flex}.court-booking-main .court-grid-wrap{max-height:min(72vh,720px)}.court-booking-body .modal-actions{justify-content:flex-end;align-items:center}.court-booking-body .modal-actions .reg-next-btn{width:auto;min-width:220px;margin-top:0}.court-booking-body .modal-actions .reg-back-btn{white-space:nowrap;margin-bottom:0}@media (width<=760px){.court-booking-layout{flex-direction:column}.court-booking-side{flex:auto;width:100%;max-width:none}.court-booking-main{width:100%}}.court-booking-body .modal-actions{gap:10px;margin-top:16px;display:flex}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.avail-grid-wrap{-webkit-user-select:none;user-select:none;border:1px solid #e5e7eb;border-radius:10px;max-height:62vh;overflow:auto}.avail-grid{border-collapse:separate;border-spacing:0;width:100%;font-size:.8rem}.avail-grid thead th{z-index:2;color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:4px;font-weight:600;position:sticky;top:0}.avail-grid-time,.avail-grid-time-head{z-index:1;color:#6b7280;white-space:nowrap;background:#f9fafb;border-right:1px solid #e5e7eb;padding:0 10px;font-weight:500;position:sticky;left:0}.avail-grid-time-head{z-index:3}.avail-day-head{cursor:pointer;width:100%;min-width:86px;font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;gap:1px;padding:6px 4px;display:flex}.avail-day-head:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.avail-day-head:disabled{cursor:default;opacity:.55}.avail-day-name{font-weight:700}.avail-day-date{color:#6b7280;font-size:.72rem;font-weight:500}.avail-day-state{color:#9ca3af;font-size:.68rem;font-weight:500}.avail-grid-cell{border-bottom:1px solid #f3f4f6;padding:1px}.avail-cell{cursor:pointer;background:#fff;border:1px solid #f3f4f6;border-radius:4px;width:100%;min-width:86px;height:20px;padding:0;display:block}.avail-cell:hover:not(:disabled){border-color:#059669}.avail-cell-on{background:#059669;border-color:#047857}.avail-cell-locked,.avail-cell:disabled{cursor:not-allowed;background:#fafafa;border-color:#f3f4f6}.avail-cell-locked.avail-cell-on,.avail-cell:disabled.avail-cell-on{background:#a7f3d0;border-color:#6ee7b7}.avail-cell-busy,.avail-cell-busy:disabled,.avail-cell-locked.avail-cell-busy{cursor:not-allowed;background:#fcd34d;border-color:#f59e0b}.avail-cell-away,.avail-cell-away:disabled,.avail-cell-locked.avail-cell-away{cursor:not-allowed;background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 3px,#e5e7eb 3px 6px);border-color:#e5e7eb}.avail-col-locked{background:#f3f4f6}.avail-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.avail-week-label{min-width:190px;font-weight:600}.avail-toolbar-spacer{flex:1}.avail-legend{color:#6b7280;flex-wrap:wrap;align-items:center;gap:16px;margin-top:10px;font-size:.8rem;display:flex}.avail-legend span{align-items:center;gap:6px;display:inline-flex}.avail-legend i{border:1px solid #e5e7eb;border-radius:3px;width:14px;height:14px}.avail-legend .avail-swatch-on{background:#059669;border-color:#047857}.avail-legend .avail-swatch-off{background:#fff}.avail-legend .avail-swatch-locked{background:#fafafa}.avail-legend .avail-swatch-busy{background:#fcd34d;border-color:#f59e0b}.avail-legend .avail-swatch-away{background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 3px,#e5e7eb 3px 6px)}.avail-hint{color:#6b7280;margin:10px 0 0;font-size:.82rem}.avail-unsaved{color:#b45309;font-size:.82rem;font-weight:600}.avail-grid-wrap.is-painting,.avail-cell{touch-action:none}.coach-topbar,.coach-nav-overlay{display:none}.coach-hamburger{cursor:pointer;color:var(--text);border-radius:var(--radius-sm);background:0 0;border:none;margin-left:auto;padding:6px}.coach-hamburger:hover{background:var(--bg)}.admin-schedule-grid-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-topbar-city{display:none}.coach-layout .admin-nav,.admin-app .admin-nav{overflow-y:auto}@media (width<=768px){.coach-layout,.admin-app{flex-direction:column}.coach-topbar{z-index:40;padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));background:var(--bg-white);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;display:flex;position:sticky;top:0}.coach-layout .coach-topbar .admin-sidebar-title,.admin-app .coach-topbar .admin-sidebar-title{display:inline}.coach-nav-overlay{z-index:50;background:#0006;display:none;position:fixed;inset:0}.coach-layout.nav-open .coach-nav-overlay,.admin-app.nav-open .coach-nav-overlay{display:block}.coach-layout .admin-sidebar,.admin-app .admin-sidebar{z-index:60;width:260px;max-width:calc(100vw - 48px);padding-top:env(safe-area-inset-top);box-shadow:none;transition:transform .2s ease-out;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.coach-layout.nav-open .admin-sidebar,.admin-app.nav-open .admin-sidebar{transform:translate(0);box-shadow:8px 0 24px #00000029}.coach-layout .admin-sidebar-title,.coach-layout .admin-nav-link span,.admin-app .admin-sidebar-title,.admin-app .admin-nav-link span{display:inline}.coach-layout .admin-user-info,.admin-app .admin-user-info{display:block}.coach-layout .admin-nav-link,.admin-app .admin-nav-link{justify-content:flex-start;padding:10px 14px}.coach-layout .admin-main,.admin-app .admin-main{flex:1;width:100%}.coach-layout .admin-page,.admin-app .admin-page{padding:16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(16px, env(safe-area-inset-bottom))}.coach-layout .admin-page-header,.admin-app .admin-page-header{flex-direction:column;align-items:flex-start}.coach-layout .admin-page-header h1,.admin-app .admin-page-header h1{font-size:20px}.coach-layout .admin-day-tabs,.coach-layout .admin-date-strip,.admin-app .admin-day-tabs,.admin-app .admin-date-strip{scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));flex-wrap:nowrap;margin-left:-16px;margin-right:-16px;overflow:auto hidden}.coach-layout .admin-day-tabs::-webkit-scrollbar{display:none}.coach-layout .admin-date-strip::-webkit-scrollbar{display:none}.admin-app .admin-day-tabs::-webkit-scrollbar{display:none}.admin-app .admin-date-strip::-webkit-scrollbar{display:none}.coach-layout .admin-day-tab,.coach-layout .admin-date-pill,.admin-app .admin-day-tab,.admin-app .admin-date-pill{flex-shrink:0}.coach-layout .admin-schedule-grid,.admin-app .admin-schedule-grid{min-width:520px;overflow:visible}.coach-layout .admin-grid-header,.coach-layout .admin-grid-row,.admin-app .admin-grid-header,.admin-app .admin-grid-row{min-width:520px}.coach-layout .avail-week-label{text-align:center;flex:100%;min-width:0}.coach-layout .avail-toolbar-spacer{display:none}.coach-layout .avail-toolbar .admin-add-btn,.coach-layout .avail-toolbar .plan-delete-btn{flex:calc(50% - 5px)}.admin-app .admin-sidebar-location{display:none}.admin-app .admin-topbar-city{flex:1;min-width:0;display:block}.admin-app .admin-topbar-city .admin-location-select,.admin-app .admin-topbar-city .admin-location-label{width:100%;padding:6px 8px;font-size:13px}.admin-app .coach-hamburger{flex-shrink:0;margin-left:0}}
