/* GT Brothers · capa visual compartida 2026-07-18
   Se carga al final para modernizar páginas públicas, Paddock y módulos admin
   sin alterar su lógica ni las pantallas OBS. */
:root{
  --gtb-bg:#04080e;
  --gtb-bg-soft:#07101a;
  --gtb-surface:rgba(11,18,29,.94);
  --gtb-surface-2:rgba(17,27,41,.88);
  --gtb-border:rgba(137,166,198,.18);
  --gtb-border-strong:rgba(0,212,255,.36);
  --gtb-text:#eef6ff;
  --gtb-muted:#93a5ba;
  --gtb-primary:#22d3ee;
  --gtb-secondary:#b82ee6;
  --gtb-success:#00e889;
  --gtb-warning:#ffb020;
  --gtb-danger:#ff536b;
  --gtb-radius:16px;
  --gtb-shadow:0 18px 50px rgba(0,0,0,.28);
}
html{color-scheme:dark;background:var(--gtb-bg)}
body{
  min-width:0;
  color:var(--gtb-text);
  font-family:'Rajdhani',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:
    radial-gradient(circle at 8% -10%,rgba(0,212,255,.16),transparent 31rem),
    radial-gradient(circle at 93% 3%,rgba(184,46,230,.12),transparent 34rem),
    linear-gradient(180deg,#04080e 0%,#050a11 55%,#03070c 100%);
  background-attachment:fixed;
}
body *{box-sizing:border-box}
img,video,canvas,svg{max-width:100%}
main,.main-content,.content-wrapper,.page-content,.admin-content,.paddock-content{min-width:0}

/* Contenedores clásicos: mismo ancho y respiración que las páginas nuevas. */
body>.main-content,
body>main:not(.gtb-page-shell),
.main-container,
.content-container,
.page-container{
  width:min(1440px,calc(100% - 28px));
  margin-inline:auto;
}
.main-content,.content-wrapper,.page-content{padding-inline:clamp(14px,2vw,28px)}

/* Cabeceras y títulos */
.header-title,.page-header,.section-header,.admin-page-header{
  position:relative;
  margin-bottom:22px;
}
.header-title h1,.page-header h1,.section-header h1,.admin-content>h1{
  color:var(--gtb-text);
  font-weight:900;
  letter-spacing:-.025em;
  line-height:.96;
  text-transform:uppercase;
}
.header-title p,.page-header p,.section-header p{color:var(--gtb-muted);line-height:1.55}

/* Superficies compartidas. No se usa [class*=card] para evitar tocar cromos y OBS. */
.admin-card,.filters-card,.filter-card,.form-card,.info-card,.dashboard-card,
.panel-card,.content-card,.stat-card,.graphic-card,.comparison-card,
.gtb-panel,.gtb-card,.gtb-stat-card,.gtb-chart-card,
.history-season,.history-event,.season-card{
  border:1px solid var(--gtb-border);
  border-radius:var(--gtb-radius);
  background:linear-gradient(145deg,var(--gtb-surface-2),var(--gtb-surface));
  box-shadow:var(--gtb-shadow);
}
.admin-card,.filters-card,.filter-card,.form-card,.info-card,.dashboard-card,
.panel-card,.content-card,.comparison-card{padding:clamp(16px,2vw,24px)}
.gtb-panel,.gtb-card,.gtb-stat-card,.gtb-chart-card{padding:clamp(16px,2vw,22px)}
.admin-card>h1:first-child,.admin-card>h2:first-child,.filters-card>h2:first-child,
.gtb-panel>h1:first-child,.gtb-panel>h2:first-child{margin-top:0}

/* Formularios clásicos y modernos */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),
select,textarea{
  max-width:100%;
  min-height:44px;
  border:1px solid rgba(145,171,202,.23);
  border-radius:11px;
  color:var(--gtb-text);
  background:#07101a;
  font-family:'Rajdhani',sans-serif;
  font-size:.96rem;
  font-weight:700;
}
textarea{padding:12px 13px;line-height:1.5}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]){padding:10px 13px}
select{padding:9px 38px 9px 12px}
input:focus,select:focus,textarea:focus{
  outline:0;
  border-color:var(--gtb-primary);
  box-shadow:0 0 0 3px rgba(34,211,238,.11);
}
label{line-height:1.35}
.form-group,.f-group,.gtb-field{min-width:0}
.form-group label,.f-group label{display:block;margin-bottom:6px;color:#9fb0c3;font-size:.75rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}

button,.btn,.btn-action,.btn-primary,.btn-secondary,.btn-view-fiab,.chip-link{
  min-height:42px;
  border-radius:11px;
  font-family:'Rajdhani',sans-serif;
  font-weight:900;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--gtb-primary);
  outline-offset:2px;
}

/* Tablas */
.table-responsive,.table-wrapper,.gtb-table-wrap{max-width:100%;overflow:auto;border-radius:13px}
table{max-width:100%}
.admin-content table,.main-content table,.gtb-page-shell table{border-collapse:separate;border-spacing:0}
.admin-content th,.main-content th,.gtb-page-shell th{color:#9eb0c5;background:#09121d;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.admin-content th,.admin-content td,.main-content th,.main-content td{padding:11px 12px}
.admin-content tr:hover td,.main-content tr:hover td{background:rgba(34,211,238,.035)}

/* Pestañas clásica/moderna */
.gtb-view-switch{
  display:inline-flex;
  flex-wrap:wrap;
  gap:7px;
  padding:5px;
  border:1px solid var(--gtb-border);
  border-radius:13px;
  background:rgba(4,10,17,.68);
}
.gtb-view-switch a,.gtb-view-switch button{
  min-height:38px;
  padding:8px 13px;
  border:1px solid transparent;
  border-radius:9px;
  color:#9caec2;
  background:transparent;
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
}
.gtb-view-switch .active,.gtb-view-switch .is-active{
  color:#041017;
  background:var(--gtb-primary);
  border-color:var(--gtb-primary);
  box-shadow:0 10px 24px rgba(34,211,238,.18);
}

/* Selectores de piloto con búsqueda */
.gtb-native-search-select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.gtb-search-select{position:relative;width:100%;min-width:0}
.gtb-search-select-input{width:100%!important;padding-right:42px!important;cursor:text}
.gtb-search-select-toggle{position:absolute;right:5px;top:5px;width:34px;height:34px;min-height:34px;padding:0;border:0;border-radius:8px;color:#8ea1b6;background:transparent;cursor:pointer}
.gtb-search-select-toggle:hover{color:#fff;background:rgba(255,255,255,.06)}
.gtb-search-select-menu{
  position:absolute;
  z-index:3000;
  left:0;right:0;top:calc(100% + 6px);
  display:none;
  max-height:280px;
  overflow:auto;
  padding:6px;
  border:1px solid rgba(34,211,238,.28);
  border-radius:12px;
  background:#07101a;
  box-shadow:0 22px 50px rgba(0,0,0,.52);
}
.gtb-search-select.open .gtb-search-select-menu{display:block}
.gtb-search-select-option{
  width:100%;min-height:38px;padding:8px 10px;border:0;border-radius:8px;
  color:#dce8f5;background:transparent;text-align:left;cursor:pointer;
  font-size:.9rem;font-weight:800;text-transform:none;
}
.gtb-search-select-option:hover,.gtb-search-select-option[aria-selected=true],.gtb-search-select-option.active{color:#051018;background:var(--gtb-primary)}
.gtb-search-select-empty{padding:13px;color:#788ba1;text-align:center}

/* Cards con texto muy pegado: garantiza respiración común. */
.gtb-grid>.gtb-panel,.gtb-grid>.gtb-card,.gtb-grid>.gtb-stat-card,
.gtb-grid>.season-card,.gtb-grid>.history-event{min-width:0}
.gtb-panel p,.gtb-card p,.gtb-stat-card p,.admin-card p{line-height:1.5}
.gtb-compare-season{padding:clamp(20px,3vw,30px)!important}
.gtb-compare-season h2{margin:0 0 18px;font-size:clamp(1.45rem,3vw,2.05rem)}
.gtb-metric-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.gtb-metric-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 12px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.025)}
.gtb-metric-row span{color:var(--gtb-muted)}
.gtb-metric-row b{color:#fff;font-size:1.08rem}

/* Administración: modernización sin perder el sistema de menú. */
.admin-content{width:min(1520px,calc(100% - 28px));margin:26px auto 70px;padding:0!important}
.admin-content>.admin-card,.admin-content>.gtb-card,.admin-content>.gtb-hub{max-width:none}
.admin-content>.gtb-hub{width:100%!important;margin-top:0!important}
.admin-content h1{font-size:clamp(2rem,4.4vw,3.8rem)}
.admin-content .grid,.admin-content [class*=grid]{min-width:0}
.admin-content .alert{border-radius:12px;padding:13px 15px}
.admin-content .btn-sm{border-radius:8px}

/* Evita scroll horizontal producido por botones y formularios. */
.gtb-toolbar,.filters-form,.controls-bar,.button-row,.actions-row{max-width:100%}
.gtb-toolbar>a,.gtb-toolbar>button,.button-row>a,.button-row>button{white-space:normal;text-align:center}

@media(max-width:1050px){
  .admin-content{width:min(100% - 20px,1520px)}
  .generator-grid{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  body>.main-content,body>main:not(.gtb-page-shell),.main-container,.content-container,.page-container{width:min(100% - 16px,1440px)}
  .main-content,.content-wrapper,.page-content{padding-inline:8px}
  .admin-content{width:min(100% - 14px,1520px);margin-top:16px}
  .admin-card,.filters-card,.filter-card,.form-card,.info-card,.dashboard-card,.panel-card,.content-card,.comparison-card{padding:15px}
  .gtb-view-switch{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .gtb-view-switch a,.gtb-view-switch button{width:100%;text-align:center}
  .gtb-metric-row{align-items:flex-start;flex-direction:column;gap:4px}
  .admin-content table{min-width:680px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
