
/* ==============================================================
   SuperSwish v117 — SISTEMA VISUAL UNIFICADO (AUDITADO)
   Capa aditiva y acotada: no modifica lógica ni oculta módulos.
   Referencia: panel comercial v115 — amarillo, grafito y blanco.
   ============================================================== */
:root{
  --ssu-yellow:#ffd600;--ssu-yellow-soft:#fff8d9;
  --ssu-ink:#171b23;--ssu-muted:#697586;--ssu-canvas:#f4f5f8;
  --ssu-line:#e6eaf0;--ssu-card:#fff;--ssu-radius:18px;
  --ssu-shadow:0 4px 24px rgba(17,24,39,.045);
}
/* Alcance: administración, formularios de socios, componentes interiores
   del comerciante y del rider. El escaparate del cliente conserva v114. */
#mainContainer:is(.ss-unified-admin,.ss-unified-partner),
#mainContainer .ss-merchant-dashboard,
#mainContainer .ss-rider-dashboard{
  font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif!important;
  color:var(--ssu-ink);
}
html body#ssRacingPage:has(#mainContainer.ss-unified-admin),
html body#ssRacingPage:has(#mainContainer.ss-unified-partner):not(:has(.ss-merchant-dashboard,.ss-rider-dashboard)){
  background:var(--ssu-canvas)!important;background-image:none!important;
}
html body#ssRacingPage #mainContainer.ss-unified-admin,
html body#ssRacingPage #mainContainer.ss-unified-partner:not(:has(.ss-merchant-dashboard,.ss-rider-dashboard)){
  width:min(100%,1120px)!important;max-width:1120px!important;
  margin:0 auto!important;padding:26px 24px 95px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  border-radius:0!important;min-height:72vh!important;
}
:is(#mainContainer.ss-unified-admin,#mainContainer.ss-unified-partner) *,
.ss-merchant-dashboard *, .ss-rider-dashboard *{box-sizing:border-box}

/* ADMIN: cabecera auténtica, estadísticas legibles y tarjetas uniformes */
#mainContainer.ss-unified-admin>.card.destacada{
  background:#141517!important;color:white!important;border:0!important;
  border-top:4px solid var(--ssu-yellow)!important;border-radius:20px!important;
  padding:24px 26px!important;box-shadow:var(--ssu-shadow)!important;
  margin-bottom:20px!important;overflow:visible!important;
  display:flex!important;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  text-align:left!important;
}
#mainContainer.ss-unified-admin>.card.destacada h2{
  color:#fff!important;font-size:clamp(20px,2.5vw,29px)!important;
  letter-spacing:-.7px!important;font-weight:850!important;margin:0!important;
}
#mainContainer.ss-unified-admin>.card.destacada .btn{
  background:var(--ssu-yellow)!important;border:1px solid var(--ssu-yellow)!important;
  color:#101318!important;margin:0!important;flex:0 0 auto!important;
}
#mainContainer.ss-unified-admin>.stats-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;margin:0 0 22px!important;
}
#mainContainer.ss-unified-admin>.stats-grid>.stat-card,
#mainContainer.ss-unified-admin>.stats-grid>.stat-card[style]{
  background:#fff!important;background-image:none!important;color:var(--ssu-ink)!important;
  border:1px solid var(--ssu-line)!important;border-radius:17px!important;
  box-shadow:var(--ssu-shadow)!important;text-align:left!important;
  min-width:0!important;min-height:110px!important;padding:20px!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
}
#mainContainer.ss-unified-admin>.stats-grid>.stat-card:nth-child(6),
#mainContainer.ss-unified-admin>.stats-grid>.stat-card:nth-child(7){
  background:#fff9df!important;border-color:#ffe7a0!important;
}
#mainContainer.ss-unified-admin>.stats-grid .stat-value{
  color:#171b23!important;font-size:clamp(21px,2.1vw,28px)!important;
  font-weight:850!important;line-height:1.24!important;letter-spacing:-.7px;
  overflow-wrap:anywhere;
}
#mainContainer.ss-unified-admin>.stats-grid .stat-label{
  color:#667182!important;opacity:1!important;font-weight:650!important;
  font-size:12px!important;line-height:1.5!important;margin-top:10px!important;
}
#mainContainer.ss-unified-admin>.card,
#mainContainer.ss-unified-partner>.card,
#mainContainer.ss-unified-admin>.ss-review-modal,
#mainContainer.ss-unified-partner>.ss-compliance-panel{
  background:#fff!important;background-image:none!important;color:var(--ssu-ink)!important;
  border:1px solid var(--ssu-line)!important;border-radius:var(--ssu-radius)!important;
  box-shadow:var(--ssu-shadow)!important;padding:22px!important;
  margin:0 0 16px!important;transform:none!important;
  overflow:visible!important;
}
#mainContainer.ss-unified-admin>.card:hover,
#mainContainer.ss-unified-partner>.card:hover{transform:none!important;box-shadow:var(--ssu-shadow)!important}
#mainContainer.ss-unified-admin>.card>.card-title,
#mainContainer.ss-unified-partner>.card>.card-title,
#mainContainer.ss-unified-admin .card-title,
#mainContainer.ss-unified-partner .card-title{
  color:#202630!important;font-weight:800!important;font-size:18px!important;
  letter-spacing:-.3px!important;line-height:1.4!important;margin-bottom:16px!important;
}
#mainContainer.ss-unified-admin>.card .card,
#mainContainer.ss-unified-partner>.card .card{
  background:#f9fafb!important;border:1px solid var(--ssu-line)!important;
  border-radius:14px!important;box-shadow:none!important;
}

/* ACCIONES Y CAMPOS: formato común con estados hover/foco y tamaños táctiles */
:is(#mainContainer.ss-unified-admin,#mainContainer.ss-unified-partner,
    #mainContainer .ss-merchant-dashboard,#mainContainer .ss-rider-dashboard)
:is(.form-input,.form-select,.form-textarea,input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='hidden']),select,textarea){
  max-width:100%;min-width:0;min-height:44px;
  background:#fff!important;border:1px solid #dce2e9!important;
  border-radius:12px!important;color:#222936!important;
  padding:11px 13px!important;font:inherit;font-size:14px!important;
  box-shadow:none!important;
}
:is(#mainContainer.ss-unified-admin,#mainContainer.ss-unified-partner,
    #mainContainer .ss-merchant-dashboard,#mainContainer .ss-rider-dashboard)
:is(input,select,textarea):focus-visible{
  outline:2px solid #efc500!important;outline-offset:1px!important;
  border-color:#ddb800!important;
}
:is(#mainContainer.ss-unified-admin,#mainContainer.ss-unified-partner,
    #mainContainer .ss-merchant-dashboard,#mainContainer .ss-rider-dashboard)
.form-label{color:#4a5566!important;font-weight:700!important;font-size:12px!important;
  margin-bottom:7px!important;line-height:1.45!important}
:is(#mainContainer.ss-unified-admin,#mainContainer.ss-unified-partner,
    #mainContainer .ss-merchant-dashboard,#mainContainer .ss-rider-dashboard)
:is(.btn,.btn-primary,.btn-secondary,.btn-gold,.btn-outline,.btn-orange){
  border-radius:11px!important;min-height:44px!important;
  font-weight:750!important;letter-spacing:0!important;
  text-transform:none!important;font-size:13px!important;
  transition:background-color .16s ease,border-color .16s ease!important;
  box-shadow:none!important;transform:none!important;
  max-width:100%;white-space:normal;
}
:is(#mainContainer.ss-unified-admin,#mainContainer.ss-unified-partner,
    #mainContainer .ss-merchant-dashboard,#mainContainer .ss-rider-dashboard)
:is(.btn-primary,.btn-gold,.btn-orange){
  background:#ffd600!important;background-image:none!important;
  border:1px solid #ffd600!important;color:#14171c!important;
}
:is(#mainContainer.ss-unified-admin,#mainContainer.ss-unified-partner,
    #mainContainer .ss-merchant-dashboard,#mainContainer .ss-rider-dashboard)
:is(.btn-secondary,.btn-outline){
  background:#f7f8fa!important;background-image:none!important;
  border:1px solid #e1e6ee!important;color:#253042!important;
}
:is(#mainContainer.ss-unified-admin,#mainContainer.ss-unified-partner,
    #mainContainer .ss-merchant-dashboard,#mainContainer .ss-rider-dashboard)
:is(.btn,.btn-primary,.btn-secondary,.btn-gold,.btn-orange):hover{
  filter:brightness(.985);transform:none!important;box-shadow:none!important;
}
:is(#mainContainer.ss-unified-admin,#mainContainer.ss-unified-partner,
    #mainContainer .ss-merchant-dashboard,#mainContainer .ss-rider-dashboard)
:is(button,a,summary):focus-visible{outline:3px solid #d4aa00!important;outline-offset:3px!important}

/* ADMIN: tablas anchas desplazables sin cortar columnas ni acciones */
#mainContainer.ss-unified-admin .table-container,
#mainContainer.ss-unified-partner .table-container{
  max-width:100%;overflow-x:auto!important;border:1px solid var(--ssu-line)!important;
  border-radius:14px!important;background:white!important;
  -webkit-overflow-scrolling:touch;
}
#mainContainer.ss-unified-admin .table-container>table,
#mainContainer.ss-unified-partner .table-container>table{
  border-collapse:separate!important;border-spacing:0!important;width:100%!important;
  font-size:13px!important;min-width:640px;
}
#mainContainer.ss-unified-admin .table-container th,
#mainContainer.ss-unified-partner .table-container th{
  position:relative;background:#f6f7f9!important;color:#4b5564!important;
  font-size:11px!important;font-weight:800!important;white-space:nowrap;
  padding:13px 12px!important;border-bottom:1px solid var(--ssu-line)!important;
}
#mainContainer.ss-unified-admin .table-container td,
#mainContainer.ss-unified-partner .table-container td{
  background:#fff!important;color:#222b38!important;
  font-size:12px!important;line-height:1.5!important;
  border-bottom:1px solid #eef1f5!important;padding:12px!important;
  vertical-align:middle!important;overflow-wrap:anywhere;
}
#mainContainer.ss-unified-admin .table-container tr:hover td{background:#fffdf4!important}
#mainContainer.ss-unified-admin .table-container tr:last-child td{border-bottom:0!important}
#mainContainer.ss-unified-admin .table-container .btn{
  width:auto!important;padding:9px 12px!important;min-height:40px!important;
}
/* SOCIOS: registro, acceso y documentos */
#mainContainer.ss-unified-partner:not(:has(.ss-merchant-dashboard,.ss-rider-dashboard))>.card{max-width:900px;margin-left:auto!important;margin-right:auto!important}
#mainContainer.ss-unified-partner .section-title{
  font-size:16px!important;font-weight:800!important;color:#1c2635!important;
  border-bottom:1px solid #e9edf2!important;padding-bottom:11px!important;
  margin:26px 0 17px!important;
}
#mainContainer.ss-unified-partner .cat-check-label{
  background:#f6f7f9!important;border:1px solid #e6eaf0!important;
  color:#455162!important;border-radius:11px!important;
  min-height:38px!important;padding:8px 11px!important;gap:6px!important;
  font-size:12px!important;font-weight:650!important;
}
#mainContainer.ss-unified-partner .cat-check-label:has(input:checked){
  background:#fff5c7!important;border-color:#f2cb19!important;color:#141922!important;
}
#mainContainer.ss-unified-partner .upload-area,
#mainContainer.ss-unified-partner .ss-compliance-upload-grid .upload-area{
  background:#f8fafc!important;border:1.5px dashed #cdd6e1!important;
  border-radius:15px!important;min-height:120px!important;
  padding:17px!important;overflow:hidden;
}
#mainContainer.ss-unified-partner .upload-area:focus-within{
  outline:2px solid #d4aa00!important;outline-offset:2px!important;
}
#mainContainer.ss-unified-partner .upload-preview{max-width:100%;object-fit:contain}
#mainContainer.ss-unified-partner .hours-box,
#mainContainer.ss-unified-partner .ss-compliance-contract{
  background:#f8f9fb!important;border:1px solid #e5eaf0!important;
  border-radius:15px!important;padding:16px!important;
}
#mainContainer.ss-unified-partner .ss-id-instructions{
  background:#fff9df!important;border-left:3px solid var(--ssu-yellow)!important;
  color:#624c11!important;border-radius:11px!important;
}

/* COMERCIANTE: inventario, formularios, finanzas y menú de cuenta */
.ss-merchant-dashboard :is(.card,.partner-panel,.partner-inventory-panel){
  border-radius:16px!important;box-shadow:none!important;
}
.ss-merchant-dashboard .card:not(.ss-merchant-order){
  background:#fff!important;background-image:none!important;
  border:1px solid var(--ssu-line)!important;
  color:var(--ssu-ink)!important;transform:none!important;
}
.ss-merchant-dashboard :is(.card-title,.section-title){
  color:#1e2734!important;font-size:16px!important;font-weight:800!important;
}
.ss-merchant-dashboard :is(.table-container,.partner-history-table-container){
  max-width:100%!important;overflow-x:auto!important;border-radius:13px!important;
  -webkit-overflow-scrolling:touch;
}
.ss-merchant-dashboard .table-container th{background:#f7f8fa!important;color:#465367!important}
.ss-merchant-dashboard .table-container td{background:#fff!important;color:#273344!important}
.ss-merchant-dashboard :is(.upload-area,.image-upload-area){
  border-radius:13px!important;background:#f8fafc!important;border-color:#dbe3ec!important;
}
/* RIDER: documentos, aprobaciones y componentes secundarios */
.ss-rider-dashboard .card:not(.driver-route-card){
  border-radius:16px!important;background:#fff!important;
  border:1px solid #e6eaf0!important;box-shadow:none!important;
}
.ss-rider-dashboard .ss-rider-section{border:1px solid var(--ssu-line)!important;
  border-radius:17px!important;box-shadow:var(--ssu-shadow)!important}
.ss-rider-dashboard .ss-rider-section[open]>summary{background:#fff9e4!important}

/* CLIENTE: carrito y pago usan IDs/clases REALES del formulario v115.
   No se modifica la barra de categorías ni se cambian las acciones de compra. */
html body#ssRacingPage #mainContainer.ss-client-modern #cartSection{
  background:#fff!important;border:1px solid var(--ssu-line)!important;
  border-radius:18px!important;box-shadow:var(--ssu-shadow)!important;
}
html body#ssRacingPage #mainContainer.ss-client-modern #cartSection>.card-title{
  color:#19222e!important;font-size:18px!important;font-weight:800!important;
}
html body#ssRacingPage #mainContainer.ss-client-modern #cartSection .cart-item{
  border:1px solid #e8ecf1!important;border-radius:14px!important;
  background:#fff!important;margin:8px 0!important;
}
html body#ssRacingPage #mainContainer.ss-client-modern #cartSection .payment-method-card{
  background:#fff!important;color:#273344!important;
  border:1.5px solid #e2e7ed!important;border-radius:14px!important;
  box-shadow:none!important;transition:border-color .18s ease,background-color .18s ease!important;
}
html body#ssRacingPage #mainContainer.ss-client-modern #cartSection .payment-method-card.selected{
  background:#fff8d9!important;color:#171b23!important;
  border-color:#e8c000!important;box-shadow:0 0 0 1px #f7dc55!important;
}
html body#ssRacingPage #mainContainer.ss-client-modern #cartSection #deliveryForm :is(.form-input,.form-textarea,.form-select){
  border:1px solid #dbe2eb!important;border-radius:12px!important;
  color:#273344!important;background:#fff!important;min-height:44px!important;
}
html body#ssRacingPage #mainContainer.ss-client-modern #cartSection #deliveryForm :is(input,textarea,select):focus-visible{
  outline:2px solid #e1b900!important;outline-offset:2px!important;
}
@media(max-width:480px){
  html body#ssRacingPage #mainContainer.ss-client-modern #cartSection .payment-method-selector{
    max-width:100%!important;min-width:0!important;
  }
}

/* Común: desplazamiento, interacciones accesibles, tamaños sin desbordamiento. */
#mainContainer :is(.ss-merchant-dashboard,.ss-rider-dashboard,.ss-compliance-panel)
:is(.table-container,.ss-compliance-upload-grid){max-width:100%}
#mainContainer.ss-unified-admin img,
#mainContainer.ss-unified-partner img{max-width:100%}
@media(min-width:1250px){
  html body#ssRacingPage #mainContainer.ss-unified-admin{max-width:1160px!important}
}
@media(max-width:850px){
  #mainContainer.ss-unified-admin>.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  html body#ssRacingPage #mainContainer.ss-unified-admin,
  html body#ssRacingPage #mainContainer.ss-unified-partner:not(:has(.ss-merchant-dashboard,.ss-rider-dashboard)){
    width:100%!important;padding:16px 13px 110px!important;
  }
  #mainContainer.ss-unified-admin>.card.destacada{padding:19px 17px!important;border-radius:17px!important}
  #mainContainer.ss-unified-admin>.card.destacada h2{font-size:20px!important}
  #mainContainer.ss-unified-admin>.card,
  #mainContainer.ss-unified-partner>.card{padding:17px!important;border-radius:16px!important}
  #mainContainer.ss-unified-admin>.stats-grid{gap:9px!important}
  #mainContainer.ss-unified-admin>.stats-grid>.stat-card{padding:15px!important;min-height:96px!important}
  #mainContainer.ss-unified-admin>.stats-grid .stat-value{font-size:22px!important}
  #mainContainer.ss-unified-admin>.stats-grid .stat-label{font-size:11px!important}
  #mainContainer.ss-unified-partner .ss-compliance-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  #mainContainer.ss-unified-admin .table-container{margin:0 -2px}
}
@media(max-width:390px){
  #mainContainer.ss-unified-admin>.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #mainContainer.ss-unified-admin>.stats-grid>.stat-card{padding:12px!important}
  #mainContainer.ss-unified-admin>.stats-grid .stat-value{font-size:19px!important}
  #mainContainer.ss-unified-partner .ss-compliance-upload-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  #mainContainer.ss-unified-admin *,#mainContainer.ss-unified-partner *{transition:none!important;animation:none!important}
}
/* Eliminar adornos antiguos de degradados/marcas superiores heredadas. */
#mainContainer.ss-unified-admin>.card::before,
#mainContainer.ss-unified-admin>.card::after,
#mainContainer.ss-unified-admin>.stats-grid>.stat-card::before,
#mainContainer.ss-unified-admin>.stats-grid>.stat-card::after,
#mainContainer.ss-unified-partner>.card::before,
#mainContainer.ss-unified-partner>.card::after,
#mainContainer.ss-unified-partner .section-title::after,
#mainContainer.ss-unified-admin .section-title::after{
  content:none!important;display:none!important;
}
#mainContainer.ss-unified-partner>.card.destacada{
  background:#17191c!important;color:#fff!important;border:0!important;
  border-top:4px solid #ffd600!important;
}
#mainContainer.ss-unified-partner>.card.destacada :is(h2,.card-title){color:#fff!important}
#mainContainer.ss-unified-partner>.card.destacada p{color:#d9dce2!important}
#mainContainer.ss-unified-admin .ssu-title-icon,
#mainContainer.ss-unified-partner .ssu-title-icon{
  width:32px;height:32px;border-radius:10px;display:inline-flex;
  justify-content:center;align-items:center;flex:0 0 32px;
  background:#fff5ca;color:#765c00;vertical-align:middle;
  margin-right:4px;
}
#mainContainer.ss-unified-admin .ssu-title-icon svg,
#mainContainer.ss-unified-partner .ssu-title-icon svg{
  width:18px;height:18px;stroke:currentColor;stroke-width:1.9;
  fill:none;stroke-linecap:round;stroke-linejoin:round;
}
#mainContainer.ss-unified-admin>.stats-grid>.stat-card{position:relative;overflow:hidden}

