:root{color-scheme:light dark;--bg: #f4f6f8;--surface: #ffffff;--text: #1a1a1a;--muted: #666;--border: #d9dee3;--primary: #0f3d5c;--primary-dark: #0a2c43;--accent: #f0a93d;--accent-contrast: #1a1a1a;--primary-contrast: #ffffff;--danger: #b3261e;--shadow: 0 1px 3px rgba(15, 61, 92, .08), 0 1px 2px rgba(15, 61, 92, .06);--shadow-md: 0 4px 12px rgba(15, 61, 92, .12)}@media (prefers-color-scheme: dark){:root{--bg: #14171a;--surface: #1e2226;--text: #f0f0f0;--muted: #a0a6ab;--border: #33393f;--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .24);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}#root{display:flex;flex-direction:column;height:100%}h1{font-size:1.5rem;line-height:1.3;margin:0 0 1rem}h2{font-size:1.15rem;line-height:1.3;margin:0 0 .75rem}h3{font-size:1rem;line-height:1.3;margin:0 0 .5rem}@media (max-width: 640px){h1{font-size:1.3rem}}.page-scroll{flex:1;min-height:0;overflow-y:auto}.container{max-width:960px;margin:0 auto;padding:1.5rem}.container-wide{max-width:1240px}.navbar{background:var(--surface);border-bottom:3px solid var(--accent);box-shadow:var(--shadow);flex-shrink:0}.navbar-inner{display:flex;align-items:center;justify-content:space-between;max-width:960px;margin:0 auto;padding:.75rem 1.5rem}.navbar-inner-wide{max-width:1240px}.navbar-brand{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1.25rem;color:var(--primary);text-decoration:none}.navbar-logo{height:3.5rem;width:auto;object-fit:contain;display:block}.navbar-links{display:flex;align-items:center;gap:1.25rem}button.language-toggle{background:transparent;color:var(--text);border:1px solid var(--border);padding:.35rem .6rem;font-size:.85rem;display:inline-flex;align-items:center;gap:.35rem}.language-toggle-flag{width:16px;height:16px;object-fit:cover;border-radius:3px;display:block}button.language-toggle:hover:not(:disabled){background:var(--border);box-shadow:none}.navbar-links a{color:var(--text);text-decoration:none;transition:color .15s ease}.navbar-links a:hover{color:var(--primary)}.navbar-links a.navbar-cta{padding:.35rem .8rem;border-radius:6px;background:var(--primary);color:var(--primary-contrast);font-size:.85rem;font-weight:600;transition:background .15s ease,box-shadow .15s ease}.navbar-links a.navbar-cta:hover{background:var(--primary-dark);color:var(--primary-contrast);box-shadow:var(--shadow-md)}.navbar-user{color:var(--muted)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;padding:0;border-radius:50%;background:transparent;color:var(--text);border:1px solid var(--border)}.user-menu-trigger:hover:not(:disabled){background:var(--border);box-shadow:none}.user-menu-avatar{box-sizing:border-box;width:100%;height:100%;object-fit:cover;border-radius:50%;border:1px solid var(--border)}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;z-index:20;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.user-menu-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem .6rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.user-menu-identity{display:flex;flex-direction:column;flex:1;min-width:0}.user-menu-name{font-weight:600}.user-menu-email{color:var(--muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-icon-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;padding:0;border-radius:50%;background:transparent;color:var(--text);border:1px solid var(--border)}.user-menu-icon-button:hover:not(:disabled){background:var(--border);box-shadow:none}.user-menu-icon-button .language-toggle-flag{width:18px;height:18px}.user-menu-item{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;width:100%;text-align:right;padding:.5rem .6rem;border-radius:6px;background:transparent;border:none;color:var(--text);text-decoration:none;font:inherit;cursor:pointer}.user-menu-item:hover{background:var(--border);box-shadow:none}.user-menu-logout{color:var(--danger)}.user-menu-logout:hover{background:color-mix(in srgb,var(--danger) 15%,transparent)}.notification-bell{position:relative}.notification-bell-trigger{position:relative;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;padding:0;border-radius:50%;background:transparent;color:var(--text);border:1px solid var(--border)}.notification-bell-trigger:hover:not(:disabled){background:var(--border);box-shadow:none}.notification-bell-badge{position:absolute;top:.35rem;right:.35rem;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;line-height:1.1rem;text-align:center}.notification-bell-dropdown{position:absolute;top:calc(100% + .5rem);right:0;z-index:20;width:320px;max-height:420px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.notification-bell-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .6rem .5rem;border-bottom:1px solid var(--border);margin-bottom:.25rem;font-weight:600}.notification-bell-empty{padding:.75rem .6rem;color:var(--muted);text-align:center}.notification-bell-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;text-align:left;padding:.5rem .6rem;border-radius:6px;background:transparent;border:none;color:var(--text);font:inherit;cursor:pointer}.notification-bell-item:hover:not(:disabled){background:color-mix(in srgb,var(--text) 3%,transparent);box-shadow:none}.notification-bell-item.unread{background:color-mix(in srgb,var(--primary) 8%,transparent)}.notification-bell-item.unread:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 14%,transparent)}.notification-bell-item-title{font-weight:600}.notification-bell-item-body{color:var(--muted);font-size:.85rem}.notification-bell-item-date{color:var(--muted);font-size:.75rem}.profile-fields{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0}.profile-fields dt{color:var(--muted)}.profile-fields dd{margin:0}.back-link{display:inline-block;margin-bottom:.75rem;color:var(--muted);text-decoration:none;font-size:.9rem}.back-link:hover{color:var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.5rem;box-shadow:var(--shadow)}.auth-card{max-width:360px;margin:2rem auto;border-top:4px solid var(--accent)}.register-role-choice{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.auth-card>button.secondary{display:block;width:100%;margin:1rem 0}form{display:flex;flex-direction:column;gap:.75rem}.password-field{position:relative}.password-field input{width:100%;padding-right:2.25rem}.password-field input::-ms-reveal,.password-field input::-ms-clear{display:none}.password-toggle{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:.25rem;color:var(--muted);cursor:pointer}.password-toggle:hover:not(:disabled){background:var(--border);box-shadow:none;color:var(--text)}.password-toggle:active:not(:disabled){transform:translateY(calc(-50% + 1px))}.inline-form{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:1rem}.form-actions{margin-top:1rem}.checkbox-list{display:flex;flex-direction:column;gap:.75rem}.checkbox-list label{display:flex;flex-direction:row;align-items:center;gap:.5rem}.club-details-form h3{margin:0}.club-details-form .form-actions{margin-top:0}.club-details-form .inline-form{gap:.75rem}.address-fields-grid{display:grid;grid-template-columns:3fr 1fr 1fr 2fr 1fr;gap:.75rem}.phone-fields-grid{display:grid;grid-template-columns:1fr 2fr;gap:.75rem}.phone-fields-grid>label{min-width:0}.profile-avatar-row{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.profile-avatar-button{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:4.5rem;height:4.5rem;padding:0;border-radius:50%;background:transparent;color:var(--text);border:1px solid var(--border)}.profile-avatar-button:hover:not(:disabled){background:var(--border);box-shadow:none}.profile-avatar-badge{position:absolute;right:-.15rem;bottom:-.15rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--primary);color:var(--primary-contrast);border:2px solid var(--surface)}.link-button{background:transparent;color:var(--muted);border:none;padding:0;font-size:.85rem;text-decoration:underline}.link-button:hover:not(:disabled){background:transparent;color:var(--text);box-shadow:none}.profile-avatar-image{box-sizing:border-box;width:100%;height:100%;object-fit:cover;border-radius:50%;border:1px solid var(--border)}.address-fields-grid>label{min-width:0}@media (max-width: 640px){.address-fields-grid{grid-template-columns:1fr 1fr}.container,.card{padding:1rem}.navbar-links a.navbar-cta{padding:.4rem .9rem;font-size:.9rem}.navbar-links{gap:.5rem}}.filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.section{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:1.5rem}.section h2{margin:0 0 1rem;padding:.6rem 1rem;border-bottom:1px solid var(--border);border-radius:8px 8px 0 0;background:var(--surface)}.section .quick-filters{margin-top:1rem;margin-left:1rem;margin-right:1rem}.section .table-scroll{width:calc(100% - 2rem);margin-left:1rem;margin-right:1rem;margin-top:1rem;margin-bottom:0;border:1px solid var(--border);border-radius:8px;overflow-y:hidden}.section .table-scroll table{border-collapse:separate;border-spacing:0;margin-bottom:0}.section .table-scroll:last-child{margin-bottom:1rem}.section form{padding:1rem;margin:0}.section form hr{width:100%;border:none;border-top:1px solid var(--border);margin:0}.section form .filters{margin-bottom:0}.slots-summary{margin:.5em 0}.section>p{margin-left:1rem;margin-right:1rem}.section form .table-scroll{margin:0 0 1rem}.section .pagination{border-top:1px solid var(--border);border-radius:0 0 8px 8px;padding:.75rem 1rem;background:var(--surface);margin:.75rem 0 0}.quick-filters{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.custom-range-label{font-size:.85rem;color:var(--muted)}.quick-filters button{padding:.3rem .65rem;font-size:.8rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-header h1{margin:0}.page-header-subtitle{margin:.25rem 0 0;color:var(--muted)}.page-header-actions{display:flex;flex-wrap:wrap;gap:1rem}.icon-links{display:flex;gap:1rem;flex-wrap:wrap}.icon-links a{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-decoration:none;transition:background .15s ease,box-shadow .15s ease}.icon-links a:hover{background:var(--bg);box-shadow:var(--shadow)}.icon-links a svg{color:var(--primary);flex-shrink:0}.pagination{display:flex;align-items:center;gap:.75rem;margin:.75rem 0 1.5rem}.pagination label{flex-direction:row;align-items:center;gap:.5rem}label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--muted)}input,select{height:2.25rem;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:1rem;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0f3d5c26}button{padding:.5rem 1.1rem;border:none;border-radius:6px;background:var(--primary);color:var(--primary-contrast);font-size:.95rem;cursor:pointer;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}button:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-md)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}button.secondary:hover:not(:disabled){background:var(--border);box-shadow:none}.confirm-panel{border:1px solid var(--primary);border-radius:8px;padding:1rem;margin-top:1.5rem;background:var(--surface);box-shadow:var(--shadow)}.confirm-panel-actions{display:flex;gap:.75rem;margin-top:.75rem}table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.col-shrink{width:1%;white-space:nowrap;text-align:center}.muted-text{color:var(--muted)}.opening-hour-range{display:flex;align-items:center;gap:.5rem}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--border)}thead th{background:var(--border)}td button{padding:.3rem .65rem;font-size:.8rem}.row-cancelled{color:var(--muted)}.row-cancelled td{text-decoration:line-through}button.status-toggle{background:transparent;border:none;padding:.2rem .4rem;font-size:1.15rem;line-height:1;border-radius:6px}button.status-toggle:hover:not(:disabled){background:var(--border);box-shadow:none}button.status-toggle.status-active{color:#1f7a4d}button.status-toggle.status-inactive,.error{color:var(--danger)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.slot{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:background .15s ease,color .15s ease,box-shadow .15s ease}.slot-available{border-color:var(--primary);cursor:pointer}.slot-available:hover{background:var(--primary);color:var(--primary-contrast);box-shadow:var(--shadow-md)}.slot-taken{opacity:.4;cursor:not-allowed}.slot-selected{background:var(--primary);color:var(--primary-contrast);border-color:var(--primary);cursor:pointer}.slot-time{font-weight:600}@media (max-width: 640px){.slot-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.slot{padding:.5rem;font-size:.85rem}}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.8rem;background:var(--border)}.badge-confirmed{background:#1f7a4d;color:#fff}.badge-pending{background:#b8860b;color:#fff}.badge-cancelled,.badge-expired{background:#888;color:#fff}.badge-blocked{background:var(--danger);color:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100;animation:modal-overlay-in .15s ease}.modal{background:var(--surface);border-radius:10px;padding:1.5rem;box-shadow:var(--shadow-md);width:min(360px,calc(100vw - 3rem));animation:modal-in .15s ease}.modal p{margin:0 0 1.25rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.custom-range-modal{width:auto}.custom-range-modal .filters{flex-wrap:nowrap;gap:.75rem;margin-bottom:1rem}.price-wizard-modal{width:min(640px,calc(100vw - 3rem));max-height:calc(100vh - 3rem);display:flex;flex-direction:column}.price-wizard-modal h2{margin-top:0;flex-shrink:0}.price-wizard-modal .modal-body{overflow-y:auto;min-height:0}.price-wizard-modal .modal-actions{flex-shrink:0;padding-top:1rem}.avatar-crop-modal{width:auto;display:flex;flex-direction:column;align-items:center}.avatar-crop-modal h2{margin-top:0;align-self:flex-start}.avatar-crop-stage{position:relative;overflow:hidden;border-radius:8px;background:var(--border);margin-bottom:1rem;touch-action:none}.avatar-crop-image{position:absolute;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.avatar-crop-image:active{cursor:grabbing}.avatar-crop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 0 0 9999px #00000080;pointer-events:none}.avatar-crop-modal input[type=range],.avatar-crop-actions{width:100%}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-container{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column-reverse;align-items:center;gap:.6rem;width:min(420px,calc(100vw - 3rem))}.toast{width:100%;padding:.9rem 1.25rem;border-radius:8px;color:#fff;font-size:1rem;font-weight:500;text-align:center;box-shadow:var(--shadow-md);cursor:pointer;animation:toast-in .2s ease}.toast-success{background:#1f7a4d}.toast-error{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
