:root{--color-primario:#1a365d;--color-primario-dark:#0f2340;--color-primario-light:#2d4a7c;--color-secundario:#d4a843;--color-secundario-dark:#b8922f;--color-secundario-light:#e8c76e;--color-acento:#c53030;--color-acento-dark:#9b2c2c;--color-exito:#38a169;--color-advertencia:#d69e2e;--bg-tarjeta:rgba(255,255,255,.03);--fuente-principal:'Montserrat',sans-serif;--fuente-titulos:'Bebas Neue',sans-serif;--fuente-decorativa:'Permanent Marker',cursive;--sombra-dorada:0 0 30px rgba(212,168,67,.3);--borde-dorado:2px solid var(--color-secundario);--borde-sutil:1px solid rgba(255,255,255,.1)}
*{box-sizing:border-box}
body{font-family:var(--fuente-principal);background:linear-gradient(135deg,#1a365d 0%,#0f2340 50%,#1a365d 100%);min-height:100vh;color:#fff;overflow-x:hidden}
.titulo-principal{font-family:var(--fuente-decorativa);font-size:3rem;color:var(--color-secundario);text-shadow:3px 3px 0 var(--color-acento)}
.titulo-seccion{font-family:var(--fuente-titulos);font-size:2rem;color:#fff;border-left:4px solid var(--color-secundario);padding-left:15px;margin-bottom:25px}
.navbar-custom{background:linear-gradient(180deg,var(--color-primario-dark) 0%,var(--color-primario) 100%);border-bottom:3px solid var(--color-secundario);padding:15px 0}
.navbar-brand{font-family:var(--fuente-titulos);font-size:1.5rem;letter-spacing:2px}
.nav-link{color:rgba(255,255,255,.85)!important;font-weight:500;padding:10px 20px!important;transition:all .3s}
.nav-link:hover,.nav-link.active{color:var(--color-secundario)!important}
.card-torneo{background:var(--bg-tarjeta);backdrop-filter:blur(10px);border:var(--borde-sutil);border-radius:15px;padding:30px;transition:all .3s;position:relative;overflow:hidden}
.card-torneo::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-secundario),var(--color-acento),var(--color-secundario))}
.card-torneo:hover{background:rgba(255,255,255,.08);transform:translateY(-5px);box-shadow:var(--sombra-dorada)}
.card-destacada{border:var(--borde-dorado);box-shadow:var(--sombra-dorada)}
.form-control-custom{background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);color:#fff;padding:12px 20px;border-radius:10px;transition:all .3s}
.form-control-custom:focus{background:rgba(255,255,255,.1);border-color:var(--color-secundario);box-shadow:0 0 0 3px rgba(212,168,67,.2);color:#fff}
.form-control-custom::placeholder{color:rgba(255,255,255,.4)}
.form-label-custom{color:var(--color-secundario-light);font-weight:600;margin-bottom:8px}
.form-select-custom{background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);color:#fff;padding:12px 20px;border-radius:10px}
.form-select-custom:focus{border-color:var(--color-secundario);box-shadow:0 0 0 3px rgba(212,168,67,.2)}
.form-select-custom option{background:var(--color-primario);color:#fff}
.btn-dorado{background:linear-gradient(135deg,var(--color-secundario) 0%,var(--color-secundario-dark) 100%);color:var(--color-primario-dark);border:none;padding:12px 30px;font-weight:700;font-family:var(--fuente-titulos);letter-spacing:1px;border-radius:50px;transition:all .3s}
.btn-dorado:hover{background:linear-gradient(135deg,var(--color-secundario-light) 0%,var(--color-secundario) 100%);transform:translateY(-2px);box-shadow:0 10px 30px rgba(212,168,67,.4);color:var(--color-primario-dark)}
.btn-outline-dorado{background:transparent;color:var(--color-secundario);border:2px solid var(--color-secundario);padding:10px 28px;font-weight:600;border-radius:50px;transition:all .3s}
.btn-outline-dorado:hover{background:var(--color-secundario);color:var(--color-primario-dark)}
.table-torneo{background:transparent;color:#fff}
.table-torneo thead th{background:linear-gradient(180deg,var(--color-primario-light) 0%,var(--color-primario) 100%);color:var(--color-secundario);font-family:var(--fuente-titulos);letter-spacing:1px;border:none;padding:15px}
.table-torneo tbody tr{background:rgba(255,255,255,.02);border-bottom:1px solid rgba(255,255,255,.05);transition:all .2s}
.table-torneo tbody tr:hover{background:rgba(212,168,67,.1)}
.table-torneo tbody td{padding:15px;vertical-align:middle;border:none}
.badge-pendiente{background:linear-gradient(135deg,var(--color-advertencia) 0%,#b7791f 100%);color:var(--color-primario-dark)}
.badge-aprobado{background:linear-gradient(135deg,var(--color-exito) 0%,#276749 100%);color:#fff}
.badge-rechazado{background:linear-gradient(135deg,var(--color-acento) 0%,var(--color-acento-dark) 100%);color:#fff}
.badge-varonil{background:linear-gradient(135deg,#4299e1 0%,#2b6cb0 100%);color:#fff}
.badge-femenil{background:linear-gradient(135deg,#ed64a6 0%,#b83280 100%);color:#fff}
.stat-card{background:var(--bg-tarjeta);border-radius:15px;padding:25px;text-align:center;border:var(--borde-sutil);transition:all .3s}
.stat-card:hover{transform:translateY(-5px);border-color:var(--color-secundario)}
.stat-icon{font-size:3rem;color:var(--color-secundario);margin-bottom:15px}
.stat-number{font-family:var(--fuente-titulos);font-size:3rem;color:#fff;line-height:1}
.stat-label{color:rgba(255,255,255,.6);font-size:.9rem;margin-top:5px}
.modal-torneo .modal-content{background:linear-gradient(135deg,var(--color-primario) 0%,var(--color-primario-dark) 100%);border:var(--borde-dorado);border-radius:20px}
.modal-torneo .modal-header{border-bottom:1px solid rgba(212,168,67,.3);padding:20px 30px}
.modal-torneo .modal-title{font-family:var(--fuente-titulos);color:var(--color-secundario);font-size:1.5rem}
.modal-torneo .btn-close{filter:brightness(0) invert(1)}
.modal-torneo .modal-body{padding:30px}
.modal-torneo .modal-footer{border-top:1px solid rgba(212,168,67,.3);padding:20px 30px}
.foto-jugador{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--color-secundario)}
.foto-placeholder{width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;border:3px dashed rgba(255,255,255,.3)}
.foto-placeholder i{font-size:2rem;color:rgba(255,255,255,.3)}
.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{background:rgba(0,0,0,.4);backdrop-filter:blur(20px);border:var(--borde-dorado);border-radius:25px;padding:50px 40px;max-width:450px;width:100%}
.login-title{font-family:var(--fuente-decorativa);font-size:2rem;color:var(--color-secundario);margin-bottom:10px}
.login-subtitle{color:rgba(255,255,255,.6);margin-bottom:30px}
.hero-section{background:linear-gradient(rgba(26,54,93,.9),rgba(15,35,64,.95)),url('../img/banner.png') center/cover no-repeat;padding:80px 0;text-align:center}
.hero-badge{display:inline-block;background:var(--color-acento);color:#fff;padding:8px 20px;border-radius:50px;font-weight:600;font-size:.9rem;margin-bottom:20px}
.hero-title{font-family:var(--fuente-decorativa);font-size:4rem;color:#fff;text-shadow:4px 4px 0 var(--color-acento);margin-bottom:20px}
.hero-subtitle{font-family:var(--fuente-titulos);font-size:2rem;color:var(--color-secundario);letter-spacing:3px}
.footer-torneo{background:var(--color-primario-dark);border-top:3px solid var(--color-secundario);padding:40px 0 20px;margin-top:50px}
.footer-text{color:rgba(255,255,255,.6);font-size:.9rem}
.footer-links a{color:rgba(255,255,255,.6);text-decoration:none;transition:all .2s}
.footer-links a:hover{color:var(--color-secundario)}
.text-dorado{color:var(--color-secundario)!important}
.text-rojo{color:var(--color-acento)!important}
.loader-container{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-primario-dark);display:flex;align-items:center;justify-content:center;z-index:9999}
.loader{width:60px;height:60px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--color-secundario);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.dataTables_wrapper .dataTables_length select,.dataTables_wrapper .dataTables_filter input{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:8px;padding:8px 15px}
.dataTables_wrapper .dataTables_length label,.dataTables_wrapper .dataTables_filter label,.dataTables_wrapper .dataTables_info{color:rgba(255,255,255,.7)}
.dataTables_wrapper .dataTables_paginate .paginate_button{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)!important;color:#fff!important;border-radius:8px;margin:0 3px}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.current{background:var(--color-secundario)!important;color:var(--color-primario-dark)!important;border-color:var(--color-secundario)!important}
.contenedor-principal{background:rgba(0,0,0,.2);border-radius:20px;padding:40px;margin:30px auto;max-width:1400px}
@media(max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.5rem}.titulo-principal{font-size:2rem}.contenedor-principal{padding:20px;margin:15px}}
