:root{--primary: #00A86B;--secondary: #2E86AB;--primary-light: #E4F6EE;--primary-dark: #008D59;--dark: #16241D;--gray: #68766E;--light-gray: #98A59D;--extra-light-gray: #E5EAE6;--background: #FFFFFF;--page-bg: #FFFFFF;--surface: #FAFAFA;--white: #FFFFFF;--btn-bg: #0A0A0A;--btn-bg-hover: #262626;--btn-fg: #FFFFFF;--text-primary: #16241D;--text-secondary: #68766E;--card-background: #FFFFFF;--divider: #ECF0ED;--chip-background: #E4F6EE;--available: #00A86B;--busy: #FDECEC;--busy-text: #C03030;--tennis: #00A86B;--padel: #2E86AB;--badminton: #FF6B6B;--error: #C03030;--warning: #F59E0B;--success: #00A86B;--info: #2E86AB;--spacing-xxs: 4px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 20px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 48px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--icon-size-sm: 16px;--icon-size-md: 20px;--icon-size-lg: 24px;--text-h1: 24px;--text-h2: 20px;--text-h3: 18px;--text-body: 16px;--text-body-large: 18px;--text-body-small: 14px;--text-caption: 12px;--text-tiny: 11px;--text-micro: 10px;--shadow-sm: 0 1px 2px rgba(22, 36, 29, .04);--shadow-md: 0 2px 8px -2px rgba(22, 36, 29, .08);--shadow-lg: 0 8px 24px -8px rgba(22, 36, 29, .14);--shadow-xl: 0 12px 32px -8px rgba(22, 36, 29, .18)}body{font-family:Golos Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--page-bg);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h1{font-size:var(--text-h1);font-weight:700;color:var(--dark);line-height:1.2}.h2{font-size:var(--text-h2);font-weight:700;color:var(--dark);line-height:1.3}.h3{font-size:var(--text-h3);font-weight:700;color:var(--dark);line-height:1.3}.body{font-size:var(--text-body);font-weight:400;color:var(--dark);line-height:1.5}.body-large{font-size:var(--text-body-large);font-weight:400;color:var(--dark);line-height:1.5}.body-small{font-size:var(--text-body-small);font-weight:400;color:var(--gray);line-height:1.5}.body-bold{font-size:var(--text-body);font-weight:600;color:var(--dark);line-height:1.5}.caption{font-size:var(--text-caption);font-weight:400;color:var(--gray);line-height:1.4}.caption-bold{font-size:var(--text-caption);font-weight:600;color:var(--dark);line-height:1.4}.tiny{font-size:var(--text-tiny);font-weight:400;color:var(--gray);line-height:1.3}.tiny-bold{font-size:var(--text-tiny);font-weight:600;color:var(--dark);line-height:1.3}.flutter-card{background:var(--card-background);border:1px solid var(--extra-light-gray);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.flutter-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--text-body);font-weight:600;color:var(--btn-fg);background-color:var(--btn-bg);border:none;border-radius:10px;cursor:pointer;transition:background-color .15s ease;height:48px;min-width:120px}.flutter-button:hover{background-color:var(--btn-bg-hover)}.flutter-button:disabled{background-color:var(--light-gray);cursor:not-allowed;transform:none;box-shadow:none}.flutter-button-outlined{background-color:transparent;color:var(--btn-bg);border:1px solid var(--btn-bg)}.court-card{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--extra-light-gray);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);cursor:pointer;transition:all .2s ease}.court-card:hover{border-color:var(--dark);box-shadow:var(--shadow-md)}.court-card.selected{background-color:var(--white);border-color:var(--btn-bg);border-width:2px;box-shadow:var(--shadow-md)}.sport-chip{display:inline-flex;padding:2px var(--spacing-xs);border-radius:var(--radius-xs);font-size:var(--text-tiny);font-weight:600;color:var(--white)}.sport-chip.tennis{background-color:var(--tennis)}.sport-chip.padel{background-color:var(--padel)}.sport-chip.badminton{background-color:var(--badminton)}.rating-chip{display:inline-flex;align-items:center;gap:var(--spacing-xxs);padding:var(--spacing-xs) var(--spacing-md);background-color:var(--chip-background);border-radius:var(--radius-xl)}.rating-chip .star-icon{color:var(--warning);font-size:var(--icon-size-sm)}.info-section{background:var(--white);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.info-section-title{font-size:var(--text-body);font-weight:600;color:var(--dark);margin-bottom:var(--spacing-sm)}.amenity-item{display:inline-flex;align-items:center;gap:var(--spacing-xxs);margin-right:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.amenity-item .check-icon{color:var(--success);font-size:var(--icon-size-sm)}.sticky-bottom-bar{position:fixed;bottom:0;left:0;right:0;background:var(--white);padding:var(--spacing-md);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -4px 20px #0000001a;z-index:100;min-height:120px}.hero-image{position:relative;height:250px;background-color:var(--extra-light-gray);overflow:hidden}.hero-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.hero-image .back-button{position:absolute;top:var(--spacing-md);left:var(--spacing-md);width:40px;height:40px;background:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;cursor:pointer;border:none;transition:all .2s ease}.hero-image .back-button:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000026}.image-gallery{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding:var(--spacing-md) 0;margin-bottom:var(--spacing-xl)}.image-gallery::-webkit-scrollbar{height:6px}.image-gallery::-webkit-scrollbar-track{background:var(--extra-light-gray);border-radius:var(--radius-full)}.image-gallery::-webkit-scrollbar-thumb{background:var(--light-gray);border-radius:var(--radius-full)}.gallery-image{min-width:200px;height:150px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-md);cursor:pointer;transition:transform .2s ease}.gallery-image:hover{transform:scale(1.05)}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content{background:var(--white);border-radius:var(--radius-xl);max-width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-content::-webkit-scrollbar{width:0;height:0}.flutter-button-outlined{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--text-body);font-weight:600;background-color:transparent;color:var(--btn-bg);border:1px solid var(--btn-bg);border-radius:10px;cursor:pointer;transition:background-color .15s ease;height:48px;min-width:120px}.flutter-button-outlined:hover{background-color:#f5f5f5}@media (min-width: 769px){.desktop-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 400px;gap:var(--spacing-2xl);padding:var(--spacing-2xl);min-height:calc(100vh - 350px)}.desktop-main-content{flex:1}.desktop-sidebar{position:sticky;top:var(--spacing-2xl);height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;gap:var(--spacing-lg)}.hero-image{height:350px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.info-section{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all .3s ease}.info-section:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.courts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg)}.court-card{padding:var(--spacing-xl);margin-bottom:0}.desktop-container .sticky-bottom-bar{position:static;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);min-height:auto}.selected-court-summary{background:var(--chip-background);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.h1{font-size:32px}.h2{font-size:28px}.h3{font-size:22px}.amenities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.amenity-item{background:var(--page-bg);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin:0}.mobile-app-promo{display:none}}@media (min-width: 769px) and (max-width: 1024px){.desktop-container{grid-template-columns:1fr;max-width:800px}.sticky-bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:100}.courts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.sticky-bottom-bar{position:fixed!important;bottom:0!important;left:0!important;right:0!important;padding:var(--spacing-md) var(--spacing-sm);z-index:100!important}.flutter-button{width:100%}.desktop-container{display:block;padding:0}.info-grid,.courts-grid,.amenities-grid{display:block}}.spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#00a86b;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}:root{--primary: #00A86B;--primary-dark: #008D59;--primary-light: #33C18A;--primary-soft: #E4F6EE;--primary-ring: rgba(0, 168, 107, .18);--tennis: #00A86B;--padel: #2E86AB;--badminton: #FF6B6B;--dark: #16241D;--gray: #68766E;--light-gray: #98A59D;--extra-light-gray: #E5EAE6;--line: #E5EAE6;--background: #F5F7F6;--white: #FFFFFF;--sidebar-bg: #0E2B1F;--sidebar-bg-2: #0A2118;--sidebar-text: #8FAF9F;--sidebar-text-active: #FFFFFF;--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-active: rgba(0, 168, 107, .18);--sidebar-line: rgba(255, 255, 255, .08);--success: #10B981;--warning: #F59E0B;--danger: #EF4444;--border-radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(22, 36, 29, .04);--shadow-pop: 0 12px 32px -8px rgba(22, 36, 29, .18);--font: "Golos Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--background);color:var(--dark);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background:var(--primary-soft)}::selection{background:var(--primary-soft)}.sidebar{position:fixed;left:0;top:0;width:252px;height:100vh;background:linear-gradient(180deg,var(--sidebar-bg) 0%,var(--sidebar-bg-2) 100%);overflow-y:auto;z-index:100;transition:transform .28s cubic-bezier(.4,0,.2,1);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.logo-section{padding:20px;border-bottom:1px solid var(--sidebar-line)}.platform-logo{display:flex;align-items:center;gap:12px;margin-bottom:0}.logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.logo-text{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--sidebar-text-active);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-info{display:flex;align-items:center;gap:12px;padding:12px;background:var(--sidebar-hover);border-radius:var(--radius-sm)}.club-logo{width:40px;height:40px;background:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;overflow:hidden}.club-logo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.club-name{flex:1;font-weight:600;font-size:14px;color:var(--sidebar-text-active)}.nav-menu{padding:14px 12px 24px}.nav-group-label{padding:18px 12px 6px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff57;-webkit-user-select:none;-moz-user-select:none;user-select:none}.nav-menu>.nav-group-label:first-child{padding-top:4px}.nav-item{display:flex;align-items:center;gap:12px;margin:2px 0;padding:10px 12px;color:var(--sidebar-text);font-size:14px;font-weight:500;text-decoration:none;border-radius:var(--radius-sm);transition:background .15s ease,color .15s ease;position:relative;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item:hover{color:var(--sidebar-text-active);background:var(--sidebar-hover)}.nav-item.active{color:var(--sidebar-text-active);background:var(--sidebar-active);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--primary-light)}.nav-icon{width:20px;height:20px;fill:currentColor;display:flex;align-items:center;opacity:.9}.nav-icon svg{font-size:20px!important}.main-container{margin-left:252px;min-height:100vh;transition:margin-left .28s ease}.header{background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:0 32px;height:64px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:16px;min-width:0;flex:1}.page-title{font-size:19px;font-weight:700;letter-spacing:-.015em;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;align-items:center;gap:8px}.header-club-chip{display:flex;align-items:center;gap:10px;margin-right:8px;padding:6px 12px 6px 6px;background:var(--white);border-radius:999px;border:1px solid var(--line)}.header-club-chip .club-chip-logo{width:30px;height:30px;background:var(--primary);border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;overflow:hidden}.header-club-chip .club-chip-logo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.header-club-chip .club-chip-name{font-size:13px;font-weight:600;color:var(--dark);line-height:1.15}.header-club-chip .club-chip-role{font-size:11px;color:var(--gray);line-height:1.15}.notification-btn,.user-btn{width:38px;height:38px;border-radius:999px;background:transparent;border:none;color:var(--gray);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.notification-btn:hover,.user-btn:hover{background:var(--primary-soft);color:var(--primary-dark)}.user-menu{display:flex;align-items:center;gap:8px}.user-info{display:flex;flex-direction:column;align-items:flex-end;margin-right:4px}.user-name{font-size:13px;font-weight:600;color:var(--dark);line-height:1.2}.user-role{font-size:11px;color:var(--gray);line-height:1.2}.logout-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:999px;transition:background .15s ease,color .15s ease;color:var(--gray);display:flex;align-items:center}.logout-btn:hover{background:#fdecec;color:var(--danger)}@media (min-width: 1024px){.user-info{display:flex}}@media (max-width: 1023px){.user-info{display:none}}.content{padding:28px 32px 48px;animation:contentIn .25s ease}@keyframes contentIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:28px}.stat-card{background:var(--white);padding:20px 22px;border-radius:var(--border-radius);border:1px solid var(--line);box-shadow:var(--shadow);transition:border-color .15s ease,box-shadow .15s ease}.stat-card:hover{border-color:#d3dcd6;box-shadow:0 6px 20px -6px #16241d1a}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.stat-label{color:var(--gray);font-size:13px;font-weight:500}.stat-icon{width:38px;height:38px;background:var(--primary-soft);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--primary-dark)}.stat-value{font-size:28px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--dark);margin-bottom:6px}.stat-change{font-size:13px;color:var(--primary-dark);display:flex;align-items:center;gap:4px}.stat-change.negative{color:var(--danger)}.section-card{background:var(--white);padding:24px;border-radius:var(--border-radius);border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--dark)}.btn{padding:9px 16px;border-radius:var(--radius-sm);border:none;font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease;display:inline-flex;align-items:center;gap:8px;line-height:1.3}.btn:active{transform:translateY(1px)}button.btn:disabled,a.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:inset 0 -1px #00000014}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--white);color:var(--dark);border:1px solid var(--line)}.btn-secondary:hover{background:var(--background);border-color:#cbd6cf}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-icon{padding:8px;min-width:auto}.form-label{display:block;margin-bottom:7px;font-weight:600;font-size:13px;color:var(--dark)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font);font-size:14px;color:var(--dark);transition:border-color .15s ease,box-shadow .15s ease;background:var(--white)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:#cbd6cf}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.form-textarea{resize:vertical;min-height:100px}.form-hint{font-size:13px;color:var(--gray);margin-top:5px}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius-sm)}table{width:100%;border-collapse:collapse}th{text-align:left;padding:11px 16px;background:#fafbfa;font-weight:600;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--gray);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 16px;border-bottom:1px solid #EFF3F0;font-size:14px;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}tr:hover{background:#fafbfa}.courts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.court-card{background:var(--white);border:1px solid var(--line);border-radius:var(--border-radius);padding:20px;transition:border-color .15s ease,box-shadow .15s ease}.court-card:hover{border-color:var(--primary-light);box-shadow:0 6px 20px -6px #00a86b29}.court-header{display:flex;justify-content:space-between;align-items:start}.court-name{font-size:15px;font-weight:700;color:var(--dark)}.court-type{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.court-type.tennis{background:var(--primary-soft);color:var(--primary-dark)}.court-type.padel{background:#2e86ab1f;color:var(--padel)}.court-type.badminton{background:#ff6b6b1f;color:#e05252}.court-details{font-size:13px;color:var(--gray);margin-bottom:16px}.court-actions{display:flex;gap:8px;flex-wrap:wrap}.modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0e1e1673;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:1000;align-items:center;justify-content:center}.modal.active{display:flex}.modal-content{background:var(--white);border-radius:16px;max-width:min(600px,calc(100vw - 20px));width:90%;max-height:90vh;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-pop);animation:modalSlideIn .22s cubic-bezier(.2,.8,.3,1)}@keyframes modalSlideIn{0%{transform:translateY(14px) scale(.985);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--white);z-index:2}.modal-title{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--dark)}.modal-close{width:32px;height:32px;border:none;background:none;color:var(--gray);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .15s ease}.modal-close:hover{background:var(--background);color:var(--dark)}.modal .modal-header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--white);z-index:2}.modal .modal-body{padding:24px}.modal .modal-footer{padding:18px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:12px}.modal-header h2.modal-title,.modal-header h3.modal-title{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--dark);margin:0}.modal-header .modal-close{width:32px;height:32px;padding:0;background:none;border:none;border-radius:8px;color:var(--gray)}.modal-header .modal-close:hover{background:var(--background);color:var(--dark)}.modal-header .modal-action-btn{width:32px;height:32px;padding:0;min-width:auto;background:none;border:none;border-radius:8px;color:var(--gray);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.modal-header .modal-action-btn:hover{background:var(--primary-soft);color:var(--primary-dark)}.modal-body{padding:24px}.modal-footer{padding:18px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:12px}.cal-nav-btn{width:34px;height:34px;border:1px solid var(--line);background:var(--white);color:var(--gray);border-radius:999px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease,color .15s ease,background .15s ease}.cal-nav-btn:hover{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-soft)}.cal-month-label{font-weight:600;font-size:14px;color:var(--gray);min-width:140px;text-align:center;font-variant-numeric:tabular-nums}.seg{display:inline-flex;padding:3px;background:#eef2ef;border-radius:999px;gap:2px}.seg-btn{padding:6px 14px;border:none;border-radius:999px;background:transparent;color:var(--gray);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.seg-btn:hover{color:var(--dark)}.seg-btn.active{background:var(--white);color:var(--dark);box-shadow:0 1px 3px #16241d1f}.cal-toolbar{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fafbfa;border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap}.cal-toolbar .form-select{width:auto;min-width:200px;padding:8px 12px}.cal-toolbar-divider{width:1px;height:22px;background:var(--line)}.btn-split{margin-left:auto;padding:8px 14px;background:var(--dark);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease;white-space:nowrap}.btn-split:hover{background:#223529}.cal-legend{display:flex;align-items:center;gap:14px;margin-top:14px;margin-bottom:6px;flex-wrap:wrap}.cal-legend-title{font-size:12px;color:var(--light-gray);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cal-legend-item{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--gray)}.legend-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.cal-note{margin-bottom:16px;padding:10px 14px;background:var(--primary-soft);border-radius:var(--radius-sm);border:1px solid #C9EBDC;font-size:13.5px;color:#14684a}.tl-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.tl-inner{min-width:1000px}.tl-ruler{display:flex;border-bottom:1px solid var(--line);background:#fafbfa;position:sticky;top:0;z-index:10}.tl-ruler-gutter{width:150px;padding:8px;border-right:1px solid var(--line);flex-shrink:0}.tl-ruler-hours{flex:1;display:flex;position:relative}.tl-hour{flex:1;padding:7px 4px;text-align:center;font-size:11.5px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--light-gray);border-right:1px dashed #EDF1EE}.tl-hour:last-child{border-right:none}.tl-day{border-bottom:1px solid var(--line)}.tl-day:last-child{border-bottom:none}.tl-day-head{display:flex;background:#f3f6f4;border-bottom:1px solid var(--line)}.tl-day-head.today{background:var(--primary-soft)}.tl-day-title{width:150px;flex-shrink:0;padding:9px 12px;font-weight:600;font-size:13px;color:var(--dark);border-right:1px solid var(--line);white-space:nowrap;display:flex;align-items:center;gap:6px;position:relative;z-index:1;overflow:visible}.tl-day-date{font-size:12px;color:var(--gray);font-weight:500}.tl-day-head.today .tl-day-date{color:var(--primary-dark)}.tl-today-badge{font-size:10px;font-weight:700;letter-spacing:.04em;background:var(--primary);color:#fff;padding:2px 7px;border-radius:999px;text-transform:uppercase}.tl-row{display:flex;min-height:56px;border-bottom:1px solid #F1F4F2}.tl-row:last-child{border-bottom:none}.tl-court{width:150px;flex-shrink:0;padding:8px 12px;font-size:12.5px;color:var(--gray);border-right:1px solid var(--line);display:flex;align-items:center;gap:7px;background:#fdfefd}.tl-court-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.tl-court-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-court-num{display:none}@media (max-width: 768px){.tl-court{width:44px;padding:8px 4px;position:sticky;left:0;z-index:6;justify-content:center;border-right:1px solid var(--line)}.tl-wrap .tl-court-name{display:none}.tl-court-num{display:inline;font-weight:600;font-size:12px;color:var(--dark)}.tl-ruler-gutter{width:44px;position:sticky;left:0;z-index:6;background:#fafbfa}.tl-day-title{position:sticky;left:0;z-index:6;width:auto;max-width:85vw;border-right:none}body.hide-support-widget-mobile .fbw-btn{display:none!important}}.tl-lane{flex:1;position:relative;background:var(--white);cursor:pointer}.tl-lane:hover{background:#fbfdfc}.tl-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;pointer-events:none}.tl-grid-cell{flex:1;border-right:1px dashed #F0F3F1}.tl-grid-cell:last-child{border-right:none}.booking-block{position:absolute;top:3px;bottom:3px;min-height:40px;background:var(--white);border:1px solid var(--line);border-left-width:3px;border-radius:7px;padding:3px 7px;font-size:11px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:1px;z-index:5;box-shadow:0 1px 2px #16241d0f;transition:box-shadow .12s ease,transform .12s ease}.booking-block:hover{box-shadow:0 4px 12px -2px #16241d2e;z-index:8}.booking-block .bb-time{font-weight:700;font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--dark);flex-shrink:0}.booking-block .bb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3d4a42;font-size:10.5px;width:100%}.booking-block .bb-trainer{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:500;width:100%}.booking-block.tournament{background:#fffbeb;border-color:#f59e0b;border-left-color:#f59e0b;z-index:6}.booking-block.tournament .bb-name{color:#92600a;font-weight:600}.menu-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);background:var(--white);border-radius:10px;color:var(--dark);cursor:pointer;align-items:center;justify-content:center;transition:background .15s ease}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#0e1e1680;z-index:99}.sidebar-overlay.active{display:block}.sidebar-close{display:none;position:absolute;right:16px;top:22px;width:32px;height:32px;border:none;background:var(--sidebar-hover);color:var(--sidebar-text-active);border-radius:999px;cursor:pointer;align-items:center;justify-content:center}@media (max-width: 768px){.menu-toggle{display:flex}input,select,textarea,.form-input,.form-select,.form-textarea{font-size:16px!important}.sidebar{transform:translate(-100%);z-index:101}.sidebar.active{transform:translate(0)}.sidebar-close{display:flex}.main-container{margin-left:0}.header{padding:0 16px;gap:8px}.header-left{gap:10px}.page-title{font-size:16px}.header-actions{flex-shrink:0}.content{padding:16px 16px 40px}.header-club-chip{display:none}.stats-grid,.courts-grid{grid-template-columns:1fr}.calendar-header{flex-direction:column!important;gap:16px!important;align-items:stretch!important}.calendar-nav{flex-wrap:wrap!important;justify-content:center!important}.calendar-nav>span{order:-1;width:100%;text-align:center!important;margin-bottom:8px}.calendar-nav button[style*=marginLeft]{margin-left:0!important;margin-top:8px}.calendar-grid{min-width:700px!important;overflow-x:visible!important}.section-card:has(.calendar-grid){overflow-x:auto!important;-webkit-overflow-scrolling:touch;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.day-header{font-size:11px!important;padding:6px 2px!important;white-space:nowrap!important}.time-slot{font-size:11px!important;padding:6px!important}.booking-slot{min-height:30px!important;padding:2px 4px!important;font-size:10px!important}.booking-slot>div{font-size:9px!important;margin-bottom:2px!important}.booking-slot>div:last-child{margin-bottom:0!important}.booking-slot .booking-slot-details,.booking-slot .booking-slot-status{display:none!important}.booking-slot:not(:has(>div>div)){min-height:25px!important}.table-wrapper{margin:0 -16px;padding:0 16px;border:none;border-radius:0}table{font-size:12px}th,td{padding:8px!important;font-size:11px}.section-header{flex-direction:column;align-items:stretch;gap:12px}.section-header .btn{width:100%;justify-content:center}.booking-filters-mobile{flex-direction:column!important;gap:12px!important}.booking-filters-mobile>div{width:100%}.booking-filters-mobile .form-select{width:100%!important}.cal-toolbar{align-items:stretch}.cal-toolbar .form-select{width:100%;min-width:0}.btn-split{margin-left:0;width:100%}}@media (max-width: 500px){.modal{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}.modal-content,.modal-content.modal-sm,.modal-content.modal-lg,.modal-content.modal-xl{width:calc(100% - 20px);max-width:calc(100vw - 20px);margin:0 auto;max-height:calc(100vh - 20px);max-height:calc(100dvh - max(20px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))}}@media (max-width: 768px){.nav-item{padding:12px 14px;font-size:14px}.sidebar{width:248px}}.info-section-title{font-size:13px!important;font-weight:700!important;letter-spacing:.05em;text-transform:uppercase;color:var(--light-gray);margin-bottom:10px!important}.info-rows{display:flex;flex-direction:column;background:#fafbfa;border:1px solid var(--line);border-radius:12px;padding:4px 16px}.info-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-bottom:1px dashed #E7EDE9;min-height:42px}.info-row:last-child{border-bottom:none}.info-rows>div:not(.info-row){padding:6px 0}.info-rows>div:not(.info-row) .info-row{border-bottom:none;padding:5px 0}.info-label{color:var(--gray);font-size:13.5px;flex-shrink:0}.info-value{font-weight:600;font-size:14px;color:var(--dark);text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}.info-value.accent{color:var(--primary-dark)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge.success{background:var(--primary-soft);color:#0c7a52}.badge.warning{background:#fef4e2;color:#a16207}.badge.danger{background:#fdecec;color:#c03030}.badge.neutral{background:#eef2ef;color:var(--gray)}.filters-panel{margin-bottom:20px;padding:14px 16px;background:#fafbfa;border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.filters-panel .form-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--light-gray);margin-bottom:5px}.filters-panel .form-select{min-width:150px}.count-chip{font-size:12.5px;font-weight:600;color:var(--gray);padding:4px 12px;background:#eef2ef;border-radius:999px}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}.form-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:14px}.form-card.form-group{margin-bottom:0}.form-card-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--light-gray);margin-bottom:12px}.form-input,.form-select{height:42px;line-height:1.2}select.form-select,input[type=date].form-input,input[type=time].form-input{padding-top:0;padding-bottom:0}.form-card .form-group{margin-bottom:0}.toggle-row,.form-group label.toggle-row,label.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-bottom:0}.toggle-row-title{font-size:14px;font-weight:600;color:var(--dark)}.toggle-row-sub{font-size:12.5px;color:var(--gray);margin-top:2px}input.switch,.form-group input.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:42px;min-width:42px;max-width:42px;height:24px;min-height:24px;max-height:24px;padding:0;border-radius:999px;background:#d3ddd7;position:relative;cursor:pointer;transition:background .15s ease;flex-shrink:0;margin:0;border:none;outline:none}input.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #16241d40;transition:transform .18s cubic-bezier(.4,0,.2,1)}input.switch:checked{background:var(--primary)}input.switch:checked:after{transform:translate(18px)}input.switch:disabled{opacity:.5;cursor:not-allowed}input.switch:focus-visible{box-shadow:0 0 0 3px var(--primary-ring)}.stat-titles{display:flex;flex-direction:column;gap:4px}.stat-desc{font-size:11px;color:var(--light-gray);line-height:1.3;max-width:200px}.page-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.page-center h2{color:var(--dark)}.page-center p{color:var(--gray)}.table-empty{text-align:center;padding:40px;color:var(--gray)}.share-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.share-row .share-link-col{flex:1;min-width:250px}.qr-tile{cursor:pointer;padding:8px;border:1px solid var(--line);border-radius:var(--radius-sm);transition:box-shadow .15s ease,border-color .15s ease}.qr-tile:hover{border-color:#d3dcd6;box-shadow:0 6px 20px -6px #16241d1f}.link-copy-label{font-size:14px;color:var(--gray);display:block;margin-bottom:6px}.link-copy-row{display:flex;gap:8px;padding:10px 12px;background:var(--background);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;margin-bottom:12px}.link-copy-row input{flex:1;min-width:0;border:none;background:transparent;font-size:14px;outline:none;color:var(--dark);font-family:var(--font)}.section-title-note{font-size:14px;font-weight:500;color:var(--gray);margin-left:8px}.modal-content.modal-sm{max-width:min(420px,calc(100vw - 20px))}.modal-content.modal-lg{max-width:min(800px,calc(100vw - 20px))}.modal-content.modal-xl{max-width:min(900px,calc(100vw - 20px))}.qr-modal-hint{margin-top:16px;color:var(--gray);font-size:14px}.section-actions{display:flex;gap:12px;align-items:center}.customer-cell{display:flex;align-items:center;gap:12px}.customer-avatar{width:38px;height:38px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.customer-name{font-weight:600;color:var(--dark)}.customer-nick{font-size:12px;color:var(--gray);margin-left:8px;font-weight:400}.icon-edit-btn{background:none;border:none;color:var(--light-gray);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;transition:color .15s ease,background .15s ease}.icon-edit-btn:hover{color:var(--primary-dark);background:var(--primary-soft)}.icon-edit-btn svg{font-size:16px!important}.link-btn{background:none;border:none;padding:0;cursor:pointer;font-size:12.5px;font-family:var(--font);color:var(--primary-dark)}.link-btn:hover{text-decoration:underline}.th-sub{font-size:10.5px;font-weight:400;color:var(--light-gray);margin-top:2px;text-transform:none;letter-spacing:0}.figure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.figure{text-align:center}.figure-value,.mini-stat-value{font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--dark)}.figure-label,.mini-stat-label{color:var(--gray)}.mini-stat-value.accent{color:var(--primary-dark)}.mini-stat-value.danger{color:var(--danger)}.mini-stat-value.muted{color:var(--gray)}.figure-value{font-size:26px}.figure-label{font-size:13px;margin-top:2px}.figure-panel{margin-top:20px;padding:16px;background:var(--background);border:1px solid var(--line);border-radius:var(--radius-sm)}.figure-panel .figure-value{font-size:18px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.section-subtitle{color:var(--gray);font-size:14px;margin-top:4px}.empty-state{text-align:center;padding:60px 20px;color:var(--gray)}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state h3{margin-bottom:8px;color:var(--dark)}.empty-state p{font-size:14px}.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.mini-stat{padding:14px 16px;background:var(--background);border:1px solid var(--line);border-radius:var(--radius-sm)}.mini-stat-value{font-size:24px}.mini-stat-label{font-size:12.5px;margin-top:3px}.tournament-card{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--border-radius);padding:20px 20px 20px 24px;overflow:hidden;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.tournament-card.clickable{cursor:pointer}.tournament-card.mini{padding:14px 16px;display:flex;flex-direction:column;gap:8px}.tournament-card.mini .tournament-name{font-size:16px}.tournament-toprow{display:flex;align-items:center;gap:6px}.tournament-toprow-date{font-size:13.5px;font-weight:600;color:var(--dark);font-variant-numeric:tabular-nums}.tournament-card.mini .tournament-status{margin-left:0}.tournament-countrow{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:2px;color:var(--gray);font-size:13px}.tournament-count{font-variant-numeric:tabular-nums}.tournament-count.full{color:var(--danger);font-weight:600}.tournament-price{margin-left:auto;font-size:14px;font-weight:700;color:var(--primary-dark);font-variant-numeric:tabular-nums}.tournament-card.clickable:hover{transform:translateY(-2px);border-color:#d3dcd6;box-shadow:0 8px 24px -8px #16241d24}.tournament-rail{position:absolute;left:0;top:0;bottom:0;width:4px}.tournament-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.tournament-name{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--dark);margin:0;flex:1}.tournament-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;margin-left:12px;white-space:nowrap}.tournament-status .live-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:livePulse 1.6s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.35}}.badge.info{background:#e4eef6;color:#205f80}.tournament-tags{display:flex;gap:6px;flex-wrap:wrap}.tournament-date{display:flex;align-items:center;gap:6px;margin-bottom:16px;color:var(--gray);font-size:13px}.tournament-card .tournament-meta{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--background);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:16px}.tournament-card .tournament-meta-label{font-size:11px;color:var(--gray);margin-bottom:4px}.tournament-card .tournament-meta-value{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary-dark)}.tournament-card .tournament-meta-value.full{color:var(--danger)}.tournament-card .tournament-meta-value.plain{color:var(--dark)}.progress-track{width:100%;height:6px;background:#e5eae6;border-radius:3px;overflow:hidden;margin-bottom:4px}.progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .3s ease}.progress-fill.full{background:var(--danger)}.tournament-places{font-size:11px;color:var(--gray);text-align:right}.tournament-footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.tournament-footer-row{display:flex;gap:8px;margin-top:8px}.tournament-footer-row .btn{flex:1}.tournament-footer-row .btn-icon{flex:0 0 auto}.btn-block{width:100%}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.input-icon-wrap{position:relative;flex:1;min-width:200px}.input-icon-wrap>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--light-gray);font-size:20px!important;pointer-events:none}.input-icon-wrap .form-input{padding-left:40px}.filters-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap}.icon-btn{width:34px;height:34px;border:1px solid var(--line);background:var(--white);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--gray);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.icon-btn:hover{border-color:#cbd6cf;color:var(--dark);background:var(--background)}.td-sub{font-size:13px;color:var(--gray)}.subsection-title{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--dark);margin:0 0 14px}.plan-card{position:relative;padding:22px;background:var(--white);border:1px solid var(--line);border-radius:var(--border-radius);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.plan-card:hover{transform:translateY(-2px);border-color:#d3dcd6;box-shadow:0 8px 24px -8px #16241d24}.plan-card.inactive{background:#fafbfa;opacity:.75}.plan-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.plan-card-title{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--dark);margin:0}.plan-card.inactive .plan-card-title{color:var(--light-gray)}.plan-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line);margin-bottom:2px}.plan-row-label{font-size:13px;color:var(--gray);font-weight:500}.plan-row-value{font-size:14px;font-weight:600;color:var(--dark);font-variant-numeric:tabular-nums}.plan-row-value.accent{color:var(--primary-dark)}.plan-duration{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--background);border:1px solid var(--line);border-radius:var(--radius-sm)}.plan-duration-name{font-size:14px;font-weight:500;color:var(--dark)}.plan-duration-name .muted{color:var(--gray);font-size:13px;font-weight:400}.plan-duration-price{font-size:14px;font-weight:600;color:var(--dark);font-variant-numeric:tabular-nums}.feature-line{display:flex;align-items:center;gap:8px;font-size:13px;color:#0c7a52}.feature-line.off{color:#c03030}.feature-dot{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--primary-soft);border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}.feature-line.off .feature-dot{background:#fdecec}.trainer-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:17px;flex-shrink:0}.trainer-meta{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--gray);margin-bottom:16px}.trainer-meta-row{display:flex;align-items:center;gap:8px}.trainer-meta-row svg{font-size:16px!important}.trainer-meta-row .muted{color:var(--light-gray)}.cal-note.warning{background:#fef4e2;border-color:#f3dfb6;color:#a16207}.cal-note.info{background:#eaf1f7;border-color:#cfe0ee;color:#2c5a7a}.cal-note.danger{background:#fdecec;border-color:#f8c9c9;color:#c03030}.day-row{display:flex;align-items:center;gap:16px;padding:12px 16px;margin-bottom:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);transition:background .15s ease}.day-row.enabled{background:var(--background)}.day-times{display:flex;align-items:center;gap:8px;flex:1}.day-times .form-input{width:140px}.vacation-grid{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:12px;align-items:center}.inset-card{padding:16px;background:var(--background);border:1px solid var(--line);border-radius:var(--radius-sm)}.date-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#fdecec;border:1px solid #F8C9C9;border-radius:999px;font-size:13px;color:#c03030}.date-chip button{background:none;border:none;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center}.icon-btn.danger{background:#fdecec;border-color:#f8c9c9;color:#c03030}.icon-btn.danger:hover{background:#fbdcdc;color:#a82626}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:16px}.photo-tile{position:relative;padding-bottom:56.25%;overflow:hidden;border-radius:var(--radius-sm);background:var(--line)}.photo-tile img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.photo-del-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#ffffffeb;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #16241d29;transition:background .15s ease}.photo-del-btn:hover{background:#fff}.photo-add-tile{position:relative;padding-bottom:56.25%;overflow:hidden;border-radius:var(--radius-sm);border:2px dashed var(--line);background:var(--background);cursor:pointer;transition:border-color .15s ease,background .15s ease}.photo-add-tile:hover{border-color:var(--primary);background:var(--primary-soft)}.photo-tile-caption{position:absolute;bottom:8px;left:8px;padding:4px 8px;background:#0e1e16b8;color:#fff;border-radius:6px;font-size:12px}.photo-add-tile-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--gray)}.court-color-dot{width:22px;height:22px;border-radius:6px;border:1px solid var(--line);flex-shrink:0}.table-row-link{cursor:pointer}.table-row-link:hover td{background:#f7faf8}th.th-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}th.th-sortable:hover{color:var(--dark)}.customers-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:14px}.customers-pager .pager-info{font-size:13px;color:var(--gray)}.level-chips{display:flex;flex-wrap:wrap;gap:4px}.customer-card-section{margin-bottom:22px}.customer-card-section>h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray);margin:0 0 10px}.level-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.level-row:last-child{border-bottom:none}.level-row .level-sport{min-width:110px;font-weight:600;font-size:14px}.level-row .level-source{font-size:12.5px;color:var(--gray);flex:1}.level-row .level-actions{display:flex;gap:6px}.level-history-item{display:flex;gap:8px;font-size:13px;color:var(--gray);padding:5px 0;border-bottom:1px dashed var(--line)}.level-history-item:last-child{border-bottom:none}@media (max-width: 640px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}.seg{display:flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg-btn{flex:0 0 auto}.day-row{flex-wrap:wrap;gap:10px}.day-times{width:100%}.day-times .form-input{width:auto;flex:1;min-width:0}.vacation-grid{grid-template-columns:1fr}}.seo-management{padding:20px;max-width:1400px;margin:0 auto}.seo-management .loading{text-align:center;padding:60px 20px;font-size:18px;color:#6b7280}.seo-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e5e7eb;flex-wrap:wrap}.seo-tab{padding:12px 20px;background:none;border:none;border-bottom:3px solid transparent;font-size:15px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s;margin-bottom:-2px}.seo-tab:hover{color:#111827;background:#f9fafb}.seo-tab.active{color:#00d632;border-bottom-color:#00d632}.seo-tab-content{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.general-settings{max-width:800px}.settings-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid #e5e7eb}.settings-section:last-of-type{border-bottom:none}.settings-section h2{font-size:20px;font-weight:600;color:#111827;margin:0 0 8px}.section-hint{color:#6b7280;font-size:14px;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input[type=text],.form-group input[type=url],.form-group textarea{width:100%;padding:10px 12px;font-size:14px;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#00d632;box-shadow:0 0 0 3px #00d6321a}.form-group small{display:block;color:#6b7280;font-size:12px;margin-top:4px}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:12px;justify-content:flex-start;padding-top:24px}.form-actions .btn{min-width:180px}.btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.seo-management{padding:16px}.seo-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.seo-tab{font-size:14px;padding:10px 16px;white-space:nowrap}.seo-tab-content{padding:16px}.general-settings{max-width:100%}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.tournaments-section{padding:0;background:none}.tournaments-container{max-width:none;margin:0;padding:0}.tournaments-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:1rem 1.25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:#00a86b;border-radius:12px;box-shadow:0 2px 8px #00a86b40;transition:transform .2s,box-shadow .2s}.tournaments-header:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00a86b59}.tournaments-header:active{transform:translateY(0)}.tournaments-title{font-size:1.25rem;font-weight:700;color:#fff;margin:0;display:flex;align-items:center;gap:.5rem}.tournaments-count{font-size:1rem;color:#ffffffe6;font-weight:400}.tournaments-expand-button{background:#fff3;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.tournaments-expand-button:hover{background:#ffffff4d}.tournaments-expand-button svg{stroke-width:2.5;color:#fff}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:1.5rem;margin-bottom:2rem}@media (max-width: 768px){.tournaments-section{padding:0}.tournaments-container{padding:0 1.5rem}.tournaments-header{padding:.875rem 1rem;border-radius:10px}.tournaments-title{font-size:1.125rem}.tournaments-count{font-size:.95rem}.tournaments-expand-button{padding:.375rem}.tournaments-expand-button svg{width:20px;height:20px}.tournaments-grid{grid-template-columns:1fr;gap:1.5rem}}.tlv{--tlv-ink: #16241D;--tlv-gray: #68766E;--tlv-line: #E5EAE6;--tlv-bg: #F5F7F6;--tlv-green: #00A86B;--tlv-green-dark: #0C7A52;--tlv-amber: #A16207;--tlv-red: #C03030;color:var(--tlv-ink);font-size:15px}.tlv-tabs{display:flex;border-bottom:1px solid var(--tlv-line);margin-bottom:12px;position:sticky;top:0;background:#fff;z-index:1}.tlv-tab{flex:1;padding:12px 4px;background:none;border:none;border-bottom:2px solid transparent;font-size:15px;font-weight:600;color:var(--tlv-gray);cursor:pointer;font-family:inherit}.tlv-tab.active{color:var(--tlv-ink);border-bottom-color:var(--tlv-green)}.tlv-tab:focus,.tlv-round-header:focus{outline:none}.tlv-empty{padding:32px 16px;text-align:center;color:var(--tlv-gray);font-size:14px}.tlv-avatar-wrap{position:relative;width:44px;flex-shrink:0}.tlv-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff}.tlv-avatar-level{position:absolute;top:-5px;right:-7px;background:var(--tlv-green);color:#fff;font-size:10.5px;font-weight:700;padding:2px 5px;border-radius:999px;border:2px solid #fff;line-height:1.1;white-space:nowrap}.tlv-avatar-sm .tlv-avatar{width:36px;height:36px;font-size:13px}.tlv-avatar-sm{width:36px}.tlv-avatar-sm .tlv-avatar-level{font-size:9.5px;padding:1px 4px;top:-5px;right:-6px}.tlv-standings{display:flex;flex-direction:column}.tlv-standing-row{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--tlv-line)}.tlv-standing-row:last-child{border-bottom:none}.tlv-standing-row.me{background:#f0faf5;border-radius:10px}.tlv-place{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:13px;color:var(--tlv-gray);flex-shrink:0}.tlv-place.p1{background:#f3c74c;color:#fff}.tlv-place.p2{background:#b9c2c9;color:#fff}.tlv-place.p3{background:#d29a6b;color:#fff}.tlv-standing-name{flex:1;min-width:0;font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tlv-standing-sub{display:block;font-size:12px;font-weight:400;color:var(--tlv-gray);margin-top:1px}.tlv-standing-score{font-size:19px;font-weight:700;color:var(--tlv-green-dark);flex-shrink:0}.tlv-standing-score small{display:block;font-size:10.5px;font-weight:500;color:var(--tlv-gray);text-align:right}.tlv-standing-rating{display:flex;align-items:baseline;gap:8px;flex-shrink:0}.tlv-standing-rating strong{font-size:19px;font-weight:800;color:var(--tlv-ink)}.tlv-delta{font-size:13px;font-weight:700}.tlv-delta.up{color:var(--tlv-green-dark)}.tlv-delta.down{color:var(--tlv-red)}.tlv-round{border-bottom:1px solid var(--tlv-line)}.tlv-round-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 4px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:17px;font-weight:700;color:var(--tlv-ink)}.tlv-round-header .tlv-round-state{font-size:12.5px;font-weight:500;color:var(--tlv-gray);display:flex;align-items:center;gap:8px}.tlv-score-count{font-weight:700;padding:2px 7px;border-radius:999px;font-variant-numeric:tabular-nums}.tlv-score-count.empty{color:var(--tlv-gray);background:#68766e1f}.tlv-score-count.partial{color:var(--tlv-red);background:#c030301f}.tlv-score-count.full{color:var(--tlv-green-dark);background:#00a86b24}.tlv-chevron{width:10px;height:10px;border-right:2px solid var(--tlv-gray);border-bottom:2px solid var(--tlv-gray);transform:rotate(45deg);transition:transform .15s;margin-left:2px}.tlv-round.open .tlv-chevron{transform:rotate(-135deg)}.tlv-round-body{padding:0 0 14px;display:flex;flex-direction:column;gap:10px}.tlv-match{border:1px solid var(--tlv-line);border-radius:12px;padding:10px 12px;background:#fff}.tlv-match.me{border-color:var(--tlv-green)}.tlv-match-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--tlv-gray);margin-bottom:8px}.tlv-match-flag{font-weight:600;white-space:nowrap}.tlv-match-flag.pending{color:var(--tlv-amber)}.tlv-match-flag.noscore{color:var(--tlv-red)}.tlv-match-flag.done{color:var(--tlv-green-dark)}.tlv-team{display:flex;align-items:center;gap:8px;padding:6px 0}.tlv-team+.tlv-team{border-top:1px dashed var(--tlv-line)}.tlv-team-avatars{display:flex;gap:10px;flex-shrink:0}.tlv-team-names{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.25}.tlv-team-names .muted{color:var(--tlv-gray);font-weight:400}.tlv-team-score{font-size:24px;font-weight:800;min-width:34px;text-align:right;color:#b7c0ba;flex-shrink:0}.tlv-team.winner .tlv-team-score,.tlv-team.winner .tlv-team-names{color:var(--tlv-ink)}.tlv-sets{display:flex;gap:8px;font-size:12.5px;color:var(--tlv-gray);padding-top:6px}.tlv-match-note{font-size:12.5px;color:var(--tlv-amber);padding-top:6px}.tlv-match-actions{display:flex;gap:8px;padding-top:10px}.tlv-btn{flex:1;padding:10px 12px;border-radius:10px;border:none;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;background:var(--tlv-green);color:#fff}.tlv-btn.secondary{background:#fff;color:var(--tlv-ink);border:1px solid var(--tlv-line)}.tlv-stats-wrap{overflow-x:auto}.tlv-stats{width:100%;border-collapse:collapse;font-size:13.5px}.tlv-stats th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--tlv-gray);font-weight:600;padding:8px 6px;border-bottom:1px solid var(--tlv-line);white-space:nowrap}.tlv-stats td{padding:9px 6px;border-bottom:1px solid var(--tlv-line);white-space:nowrap}.tlv-stats td.num,.tlv-stats th.num{text-align:center}.tlv-stats .name-cell{max-width:140px;overflow:hidden;text-overflow:ellipsis;font-weight:600}
