/* JAGUAR BOWL — Sistema visual renovado
   Solo capa visual: no modifica consultas, sesiones ni flujos PHP. */
:root{
 --jb-orange:#f36b16; --jb-orange-dark:#d94e0b; --jb-black:#111214;
 --jb-ink:#202124; --jb-muted:#697078; --jb-white:#fff;
 --jb-bg:#f4f5f7; --jb-line:#e3e5e8; --jb-soft:#fff1e8;
 --jb-radius:16px; --jb-shadow:0 12px 32px rgba(17,18,20,.08);
}
html{scroll-behavior:smooth}
body{
 color:var(--jb-ink)!important;background:var(--jb-bg)!important;
 font-family:Inter,"Segoe UI",Arial,sans-serif!important;
 line-height:1.5;
}
::selection{background:var(--jb-orange);color:#fff}
a{color:var(--jb-orange-dark)}
a:hover{color:#a93b00}
.navbar{
 background:var(--jb-black)!important;border-bottom:4px solid var(--jb-orange);
 box-shadow:0 8px 24px rgba(0,0,0,.14);padding:.65rem 1rem!important;
}
.navbar .container-fluid{gap:1rem}
.navbar-brand{color:#fff!important;font-weight:850!important;letter-spacing:.2px}
.navbar-brand img,.logo-nav{max-height:46px!important;width:auto;object-fit:contain}
.logo-central{max-height:52px!important}
.navbar .nav-link{
 color:#f5f5f5!important;font-weight:650;padding:.65rem .8rem!important;
 border-radius:9px;transition:background .18s,color .18s;
}
.navbar .nav-link:hover,.navbar .nav-link:focus{
 background:var(--jb-orange)!important;color:#fff!important;
}
.navbar-toggler{border:1px solid #666!important}
.navbar-toggler-icon{filter:invert(1)}
.container,.container-fluid{--bs-gutter-x:1.5rem}
h1,h2,h3,h4,h5,h6{color:var(--jb-black);font-weight:800;letter-spacing:-.025em}
h1{font-size:clamp(1.8rem,3vw,2.65rem)}
h2{font-size:clamp(1.45rem,2.3vw,2rem)}
p{color:inherit}
hr{border-color:var(--jb-line);opacity:1}
.card,.admin-card,.login-card,.login-box,.container > .card{
 border:1px solid var(--jb-line)!important;border-radius:var(--jb-radius)!important;
 box-shadow:var(--jb-shadow);overflow:hidden;
}
.card-header{background:#fff;border-bottom:1px solid var(--jb-line);font-weight:800}
.admin-container{max-width:1500px;margin:32px auto!important;padding:0 20px}
.admin-card{background:#fff!important;text-align:left!important;padding:24px!important;transition:transform .2s,box-shadow .2s}
.admin-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(17,18,20,.12)}
.admin-card h5{font-weight:800;color:var(--jb-black)}
.admin-btn,.btn-primary,.btn-success,.btn-warning,.btn-danger,.btn-secondary,.btn-dark,
button[type=submit],input[type=submit]{
 font-weight:750!important;border-radius:10px!important;transition:transform .16s,filter .16s,box-shadow .16s;
}
.admin-btn,.btn-primary,.btn-warning,button[type=submit],input[type=submit]{
 background:var(--jb-orange)!important;border-color:var(--jb-orange)!important;color:#fff!important;
}
.admin-btn:hover,.btn-primary:hover,.btn-warning:hover,button[type=submit]:hover,input[type=submit]:hover{
 background:var(--jb-orange-dark)!important;border-color:var(--jb-orange-dark)!important;
 transform:translateY(-1px);box-shadow:0 7px 18px rgba(243,107,22,.22)
}
.btn-dark,.btn-secondary{background:#202124!important;border-color:#202124!important;color:#fff!important}
.btn-success{background:#238653!important;border-color:#238653!important}
.btn-danger{background:#c93737!important;border-color:#c93737!important}
.btn-outline-primary,.btn-outline-warning{color:var(--jb-orange-dark)!important;border-color:var(--jb-orange)!important}
.btn-outline-primary:hover,.btn-outline-warning:hover{background:var(--jb-orange)!important;color:#fff!important}
.form-control,.form-select,input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=file]),
select,textarea{
 border:1px solid #d5d9de!important;border-radius:10px!important;min-height:43px;
 padding:.65rem .8rem;box-shadow:none!important;max-width:100%;
}
.form-control:focus,.form-select:focus,input:focus,select:focus,textarea:focus{
 border-color:var(--jb-orange)!important;outline:0!important;
 box-shadow:0 0 0 .2rem rgba(243,107,22,.15)!important;
}
label,.form-label{font-weight:700;color:#35383c}
table{border-color:var(--jb-line)!important}
.table,.table-responsive table{background:#fff}
.table thead th,table thead th{
 background:var(--jb-black)!important;color:#fff!important;font-weight:800;
 border-color:#2f3032!important;vertical-align:middle;
}
.table thead th:first-child,table thead th:first-child{border-radius:0}
.table tbody td,table tbody td{vertical-align:middle}
.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-bg-type:#fff7f2}
.table-hover>tbody>tr:hover>*{--bs-table-bg-state:#fff0e5}
.table-responsive{border-radius:12px}
.badge,.alert{border-radius:9px}
.alert{border:1px solid transparent}
.alert-warning{background:#fff1e5;border-color:#ffd0b0;color:#873600}
.alert-success{background:#e9f7ef;color:#17643a}
.alert-danger,.alerta.error,.error{background:#fff0f0;color:#9b2424;border-color:#f1bcbc}
.pagination .page-link{color:var(--jb-orange-dark)}
.pagination .active>.page-link{background:var(--jb-orange);border-color:var(--jb-orange);color:#fff}
.admin-card .btn{margin-top:8px}
img{max-width:100%;height:auto}
footer,.footer{background:var(--jb-black)!important;color:#fff!important;border-top:4px solid var(--jb-orange)}
/* Formularios de acceso */
.login-card,.login-box{
 width:min(100% - 28px,440px)!important;max-width:440px!important;
 padding:clamp(24px,4vw,42px)!important;background:#fff!important;color:var(--jb-ink)!important;
 border:1px solid var(--jb-line)!important;border-top:6px solid var(--jb-orange)!important;
 box-shadow:0 25px 70px rgba(0,0,0,.14)!important;text-align:left!important;
}
.login-card h2,.login-box h2{color:var(--jb-black)!important;text-align:center;font-weight:900}
.login-card button,.login-box button{background:var(--jb-orange)!important;color:#fff!important}
.login-card button:hover,.login-box button:hover{background:var(--jb-orange-dark)!important}
.login-box input{background:#fff!important;color:var(--jb-ink)!important;border-color:#d5d9de!important}
body:has(.login-card),body:has(.login-box){background:linear-gradient(135deg,#111214 0%,#27282b 48%,#f36b16 48%,#f36b16 51%,#f4f5f7 51%,#f4f5f7 100%)!important}
body:has(.login-card) .login-card,body:has(.login-box) .login-box{margin:auto}
/* Página pública / torneo */
.hero{min-height:calc(100vh - 70px)!important;padding:36px 18px}
.hero::after{background:linear-gradient(110deg,rgba(10,10,11,.82),rgba(10,10,11,.35))!important}
.poster{border-radius:14px!important;box-shadow:0 24px 70px rgba(0,0,0,.42)!important}
.hero-info h1,.overlay-content h2{color:#ff8a3d!important}
.buttons a,.btn-registro{background:var(--jb-orange)!important;color:#fff!important;border-radius:10px!important}
.buttons a:hover,.btn-registro:hover{background:#fff!important;color:var(--jb-black)!important}
.stat-box{background:#fff!important;color:var(--jb-black)!important;border-top:5px solid var(--jb-orange)!important;box-shadow:var(--jb-shadow)}
.stat-box h2,.stat-box h3{color:var(--jb-orange-dark)!important}
.poster-overlay{background:rgba(12,12,13,.86)!important}
@media(max-width:992px){
 .navbar-brand{gap:.45rem!important;font-size:1rem}
 .navbar-brand img,.logo-nav{max-height:36px!important}
 .navbar .nav-link{padding:.6rem .7rem!important}
 .admin-container{margin-top:20px!important;padding:0 12px}
 .table-responsive{font-size:.9rem}
}
@media(max-width:576px){
 body{font-size:15px!important}
 .navbar{padding:.55rem .75rem!important}
 .navbar-brand img:nth-of-type(1),.navbar-brand img:nth-of-type(3){display:none}
 .admin-card{padding:18px!important}
 .table th,.table td{padding:.55rem .45rem}
 .hero{min-height:unset!important;padding:22px 12px}
 .poster{max-height:68vh!important}
}
@media print{
 body{background:#fff!important}
 .navbar,.btn,.no-print,button{display:none!important}
 .card,.admin-card{box-shadow:none!important}
}
