:root{--color-primary:#0c4da2;--color-primary-dark:#094190;--color-primary-light:#eef4ff;--color-accent:#e63946;--color-accent-dark:#c62d39;--color-white:#fff;--color-bg:#f5f7fb;--color-surface:#fff;--color-border:#e4e8ef;--color-border-strong:#cdd2db;--color-text:#111827;--color-text-muted:#6b7280;--color-text-light:#9ca3af;--color-success:#16a34a;--color-success-bg:#dcfce7;--color-warning:#d97706;--color-warning-bg:#fef3c7;--color-danger:#dc2626;--color-danger-bg:#fee2e2;--color-info:#2563eb;--color-info-bg:#dbeafe;--font-sans:'Inter' , system-ui , -apple-system , Segoe UI , Roboto , Arial , sans-serif;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 1px 3px rgba(0,0,0,.08) , 0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.08) , 0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 10px 28px rgba(0,0,0,.10) , 0 4px 8px rgba(0,0,0,.04);--shadow-xl:0 20px 48px rgba(0,0,0,.12) , 0 8px 16px rgba(0,0,0,.05);--transition-fast:120ms ease;--transition-base:180ms ease;--transition-slow:280ms ease;--color-primary-blue:var(--color-primary);--color-primary-blue-hover:var(--color-primary-dark);--color-primary-red:var(--color-accent);--color-dark-navy:#022b50;--color-soft-gray:var(--color-bg);--color-soft-gray-2:#f9fafb;--color-medium-gray:var(--color-border);--color-dark-gray:var(--color-text-muted);--color-success-green:var(--color-success);--color-warning-yellow:#f59e0b;--color-error-red:var(--color-danger);--shadow-soft:var(--shadow-md);--font-family-base:var(--font-sans);--radius-10:var(--radius-md);--radius-14:var(--radius-lg);--radius-16:var(--radius-lg);--radius-20:var(--radius-xl);--h1-size:28px;--h1-weight:700;--h1-letter:-.6px;--h2-size:22px;--h2-weight:700;--h2-letter:-.4px;--h3-size:18px;--h3-weight:600;--h3-letter:-.3px;--body-size:14px;--body-weight:400;--body-letter:0;--body-lg-size:16px;--body-lg-weight:400;--body-lg-letter:0;--small-size:12px;--small-weight:400;--small-letter:0}html,body{font-family: var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.modal-backdrop,.offcanvas-backdrop,.toast-overlay,.bs-backdrop,.cdk-overlay-backdrop,.sweet-overlay{background-color:transparent!important;pointer-events:none!important}body.modal-open{overflow:auto!important;padding-right:0!important}body::before,body::after{pointer-events:none!important}h1{font-size:28px;font-weight:700;letter-spacing:-.6px;line-height:1.2}h2{font-size:22px;font-weight:700;letter-spacing:-.4px;line-height:1.3}h3{font-size:18px;font-weight:600;letter-spacing:-.3px;line-height:1.4}h4{font-size:15px;font-weight:600;letter-spacing:-.2px}h5{font-size:13px;font-weight:600}h6{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}p{font-size:var(--font-size-base)}p,li{font-weight:400}small,.text-small{font-size:var(--font-size-sm)}a{color:inherit;text-decoration-color:rgba(12,77,162,.3);transition:color var(--transition-fast)}a:hover{color:var(--color-primary);text-decoration-color:var(--color-primary)}.btn{font-family: var(--font-sans);font-weight:600;font-size:var(--font-size-base);letter-spacing:.1px;border-radius:var(--radius-md);transition:background var(--transition-fast) , border-color var(--transition-fast) , box-shadow var(--transition-fast) , transform var(--transition-fast);display:inline-flex;align-items:center;gap:var(--space-2)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 2px 6px rgba(12,77,162,.30) , var(--shadow-xs)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:0 4px 12px rgba(12,77,162,.35) , var(--shadow-xs);color:#fff}.btn-secondary{background:var(--color-white);color:var(--color-primary);border:1.5px solid var(--color-border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.btn-danger,.btn-accent{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 2px 6px rgba(230,57,70,.28) , var(--shadow-xs)}.btn-danger:hover,.btn-accent:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 4px 12px rgba(230,57,70,.35);color:#fff}.btn-success{background:var(--color-success);border-color:var(--color-success);color:#fff;box-shadow:0 2px 6px rgba(22,163,74,.28)}.btn-success:hover{background:#15803d;border-color:#15803d;box-shadow:0 4px 12px rgba(22,163,74,.35);color:#fff}.btn-outline-primary{color:var(--color-primary);border-color:var(--color-primary);background:transparent}.btn-outline-primary:hover{background:var(--color-primary-light);color:var(--color-primary)}.btn-outline-secondary,.btn-ghost{background:transparent;color:var(--color-text-muted);border:1.5px solid var(--color-border)}.btn-outline-secondary:hover,.btn-ghost:hover{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border-strong)}.btn-outline-danger{color:var(--color-danger);border-color:var(--color-danger);background:transparent}.btn-outline-danger:hover{background:var(--color-danger-bg);color:var(--color-danger)}.btn:disabled,.btn.disabled{background:var(--color-bg)!important;color:var(--color-text-light)!important;border-color:var(--color-border)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed}.btn-icon{width:36px;height:36px;border-radius:50%;background:var(--color-bg);color:var(--color-primary);border:1px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition-fast) , box-shadow var(--transition-fast)}.btn-icon:hover{background:var(--color-primary-light);box-shadow:var(--shadow-sm)}@media (max-width:768px){.btn{padding:.3rem .65rem;font-size:.82rem}.btn.btn-lg{padding:.45rem .9rem;font-size:.9rem}.btn-sm,.btn-group-sm>.btn{padding:.18rem .45rem;font-size:.78rem}.btn-icon{width:34px;height:34px}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-base) , transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card.ui-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:var(--space-6)}.card.ui-card h3{font-size:18px;font-weight:600}.card.ui-card h4,.card.ui-card h5{font-weight:600}.card-header{background:transparent;border-bottom:1px solid var(--color-border);font-weight:600;padding:var(--space-4) var(--space-6)}.card-body{padding:var(--space-5) var(--space-6)}.card-footer{background:var(--color-bg);border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-6)}.highlight-card{border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-md)}.highlight-card.blue{background:var(--color-primary);color:#fff}.highlight-card.gray{background:var(--color-bg);color:var(--color-text)}.card-accent-left{border-left:4px solid var(--color-primary)}.card-accent-left.accent-success{border-left-color:var(--color-success)}.card-accent-left.accent-warning{border-left-color:var(--color-warning)}.card-accent-left.accent-danger{border-left-color:var(--color-danger)}.form-control,.form-select{font-family: var(--font-sans);font-size:var(--font-size-base);min-height:40px;background:var(--color-white);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:border-color var(--transition-fast) , box-shadow var(--transition-fast);padding:.45rem .75rem}.form-control::placeholder{color:var(--color-text-light)}.form-control:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(12,77,162,.12);outline:none;background:var(--color-white)}.form-control:hover:not(:focus), .form-select:hover:not(:focus) {border-color:var(--color-border-strong)}.form-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);margin-bottom:5px;letter-spacing:.1px}.form-text{font-size:var(--font-size-xs);color:var(--color-text-light);margin-top:4px}.input-group .form-control{border-radius:0}.input-group>.form-control:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-group>.form-control:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.input-group .btn{border-radius:0 var(--radius-md) var(--radius-md) 0}.form-check-input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.form-check-input:focus{box-shadow:0 0 0 3px rgba(12,77,162,.12)}.form-control.is-invalid,.form-select.is-invalid{border-color:var(--color-danger)}.form-control.is-valid,.form-select.is-valid{border-color:var(--color-success)}.table{font-size:var(--font-size-base);border-color:var(--color-border)}.table thead th{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted);border-bottom:1.5px solid var(--color-border);background:var(--color-bg);padding:10px 12px;white-space:nowrap}.table tbody td{padding:11px 12px;border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:rgba(12,77,162,.035)}.table-light thead{background:var(--color-bg)}table.ui-table thead tr{background:var(--color-bg);color:var(--color-text-muted)}table.ui-table thead th{font-weight:700;height:auto}table.ui-table tbody tr:nth-child(even) {background:transparent}table.ui-table tbody tr:hover{background:rgba(12,77,162,.035)}table.ui-table tbody tr.active{border-left:3px solid var(--color-primary)}.table-hover-card tbody tr:hover{background:rgba(12,77,162,.04)!important;box-shadow:0 1px 4px rgba(0,0,0,.06)}.pagination .page-link{border-radius:var(--radius-sm);min-width:32px;height:32px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);border-color:var(--color-border);transition:background var(--transition-fast) , color var(--transition-fast)}.pagination .page-link:hover{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.pagination .page-item{margin:0 2px}.pagination .page-item.active .page-link{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 2px 6px rgba(12,77,162,.3)}.pagination .page-link-prev,.pagination .page-link-next{min-width:64px}.topbar{background:var(--color-white);border-bottom:1px solid var(--color-border);box-shadow:0 1px 4px rgba(0,0,0,.06)}.sidebar{background:#022b50;color:rgba(255,255,255,.9)}.sidebar .nav-link{color:rgba(255,255,255,.7);border-radius:var(--radius-md);transition:background var(--transition-fast) , color var(--transition-fast)}.sidebar .nav-link.active{background:var(--color-primary);color:#fff;position:relative}.sidebar .nav-link.active::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-accent);border-radius:var(--radius-sm) 0 0 var(--radius-sm)}main.container{position:relative;z-index:1;isolation:isolate}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-weight:600;font-size:var(--font-size-xs);letter-spacing:.3px;white-space:nowrap}.chip.booked{background:#fee2e2;color:#991b1b}.chip.available{background:var(--color-success-bg);color:#166534}.chip.pending{background:var(--color-warning-bg);color:#92400e}.chip.completed{background:var(--color-info-bg);color:#1e40af}.chip.cancelled{background:#f3f4f6;color:#4b5563}.chip.active{background:var(--color-success-bg);color:#166534}.chip.inactive{background:#f3f4f6;color:#6b7280}.chip.chip-success{background:var(--color-success-bg);color:#166534}.chip.chip-warning{background:var(--color-warning-bg);color:#92400e}.chip.chip-danger{background:var(--color-danger-bg);color:#991b1b}.chip.chip-info{background:var(--color-info-bg);color:#1e40af}.chip.chip-neutral{background:#f3f4f6;color:#4b5563;border:1px solid var(--color-border)}.status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:9999px;font-weight:600;font-size:11px;letter-spacing:.3px;white-space:nowrap}.status-badge.paid,.status-badge.active,.status-badge.available{background:#dcfce7;color:#166534}.status-badge.due,.status-badge.pending,.status-badge.info{background:#dbeafe;color:#1e40af}.status-badge.overdue,.status-badge.booked,.status-badge.danger{background:#fee2e2;color:#991b1b}.status-badge.void,.status-badge.cancelled,.status-badge.inactive{background:#f3f4f6;color:#6b7280}.status-badge.completed{background:#dbeafe;color:#1e40af}.status-badge.warning{background:#fef3c7;color:#92400e}.tag{display:inline-block;padding:2px 9px;border-radius:var(--radius-full);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:500}.alert{border-radius:var(--radius-md);border:none;font-size:var(--font-size-base);font-weight:500;padding:var(--space-3) var(--space-4)}.alert-success{background:var(--color-success-bg);color:#166534}.alert-danger{background:var(--color-danger-bg);color:#991b1b}.alert-warning{background:var(--color-warning-bg);color:#92400e}.alert-info{background:var(--color-info-bg);color:#1e40af}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.2px}.badge.bg-primary{background:var(--color-primary)!important}.badge.bg-success{background:var(--color-success)!important}.badge.bg-danger{background:var(--color-accent)!important}.badge.bg-warning{background:var(--color-warning)!important;color:#fff!important}.badge.bg-secondary{background:#6b7280!important}.badge-paid{background:var(--color-success-bg);color:#166534}.badge-due{background:var(--color-info-bg);color:#1e40af}.badge-overdue{background:var(--color-danger-bg);color:#991b1b}.badge-void{background:#f3f4f6;color:#6b7280}.toast{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);background:var(--color-white);animation:toastIn 220ms cubic-bezier(.16,1,.3,1)}@keyframes toastIn {
  from { opacity: 0; transform: translateX(20px) scale(.97); }
  to   { opacity: 1; transform: translateX(0)    scale(1); }
}.toast-success{background:var(--color-success-bg);color:#166534;border-color:#bbf7d0}.toast-error{background:var(--color-danger-bg);color:#991b1b;border-color:#fecaca}.toast-info{background:var(--color-info-bg);color:#1e40af;border-color:#bfdbfe}.toast-warning{background:var(--color-warning-bg);color:#92400e;border-color:#fde68a}.players-table tbody tr{transition:background var(--transition-fast)}.players-table-row .row-actions{opacity:0;transition:opacity var(--transition-fast)}.players-table-row:hover .row-actions{opacity:1}.row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center}.row-actions .btn{margin:0}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#f0f2f5 25%,#e8eaed 50%,#f0f2f5 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}.skeleton-text{height:13px;margin-bottom:8px}.skeleton-title{height:20px;width:60%;margin-bottom:12px}.skeleton-avatar{border-radius:50%}.skeleton-kpi{height:80px}.skeleton-row{height:44px;margin-bottom:4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 24px;text-align:center}.empty-state__icon{width:64px;height:64px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:20px}.empty-state__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin-bottom:8px}.empty-state__text{font-size:var(--font-size-base);color:var(--color-text-muted);max-width:340px;margin-bottom:24px;line-height:1.6}hr{border-color:var(--color-border);opacity:1}.text-muted-2{color:var(--color-text-muted)}.bg-soft-gray{background:var(--color-bg)}.radius-16{border-radius:var(--radius-lg)}.surface{background:var(--color-surface)}.border-light{border-color:var(--color-border)!important}.section-label{font-size:var(--font-size-xs);font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--color-text-muted)}.reveal{opacity:0;transform:translateY(12px);transition:opacity 380ms ease , transform 380ms ease;will-change:opacity , transform}.reveal--visible{opacity:1;transform:none}.reveal.fade-in{transform:none}.reveal.zoom-in{transform:scale(.97)}.reveal.zoom-in.reveal--visible{transform:scale(1)}.reveal.delay-1{transition-delay:60ms}.reveal.delay-2{transition-delay:120ms}.reveal.delay-3{transition-delay:180ms}.reveal.delay-4{transition-delay:240ms}