/* =========================================================
   3dedos · Portal del Jugador · App UI
   Mobile first. Solo presentación: no altera lógica funcional.
   ========================================================= */
:root{
  --pf-navy:#26352d;
  --pf-navy-2:#33443b;
  --pf-green:#16a34a;
  --pf-green-2:#22c55e;
  --pf-mint:#eaf8ef;
  --pf-bg:#f4f7f6;
  --pf-card:#ffffff;
  --pf-text:#102019;
  --pf-muted:#6b7b73;
  --pf-line:#dfe8e3;
  --pf-danger:#dc2626;
  --pf-shadow:0 12px 34px rgba(11,38,62,.09);
  --pf-radius:22px;
}

body.cd-portal-page{
  background:
    radial-gradient(circle at 8% 0%, rgba(34,197,94,.08), transparent 25rem),
    linear-gradient(180deg,#f7faf8 0%,var(--pf-bg) 100%);
  color:var(--pf-text);
  min-height:100vh;
  padding-bottom:88px;
}
body.cd-login-page--familia{
  min-height:100vh;
  background:
    linear-gradient(180deg,rgba(6,29,47,.88),rgba(9,36,58,.94)),
    radial-gradient(circle at 70% 5%,rgba(34,197,94,.26),transparent 24rem),
    #26352d;
}

/* LOGIN / ALTA */
.cd-login-page--familia .cd-login-wrap{min-height:100vh;padding:24px 16px;display:grid;place-items:center;}
.cd-login-page--familia .cd-login-container{width:min(100%,460px);}
.cd-login-page--familia .cd-login-card{
  border:1px solid rgba(255,255,255,.25);
  border-radius:28px;
  background:rgba(255,255,255,.97);
  box-shadow:0 26px 70px rgba(0,0,0,.25);
  padding:28px 24px;
  overflow:hidden;
}
.cd-login-page--familia .cd-login-badge{background:var(--pf-mint);color:#14703a;border:1px solid #c8ecd4;border-radius:999px;padding:7px 11px;font-weight:800;}
.cd-login-page--familia .cd-login-card__title{font-size:27px;letter-spacing:-.03em;color:var(--pf-navy);margin-top:15px;}
.cd-login-page--familia .cd-login-card__sub{font-size:14px;line-height:1.5;color:var(--pf-muted);}
.cd-login-page--familia .cd-form-group label{font-weight:800;color:#274038;}
.cd-login-page--familia input,.cd-login-page--familia select{
  min-height:50px;border:1.5px solid #d9e5df;border-radius:14px;background:#fff;font-size:15px;
}
.cd-login-page--familia input:focus{border-color:var(--pf-green);box-shadow:0 0 0 4px rgba(34,197,94,.12);}
.cd-login-page--familia .cd-btn--primary{min-height:51px;border-radius:14px;background:linear-gradient(135deg,#119c48,#1fbd5d);box-shadow:0 9px 20px rgba(22,163,74,.22);font-weight:850;}
.cd-login-page--familia .cd-login-back-choice{color:#64756d;}

/* CONTENEDOR PRINCIPAL */
.cd-portal-page .cd-portal-shell{max-width:1080px!important;margin:0 auto!important;padding:18px 18px 110px!important;}
.cd-portal-page .cd-portal-main{padding-top:18px;}
.cd-portal-page .cd-card{
  border:1px solid var(--pf-line)!important;
  border-radius:var(--pf-radius)!important;
  background:var(--pf-card)!important;
  box-shadow:0 6px 20px rgba(15,41,31,.045)!important;
}

/* CABECERA APP */
.cd-portal-page .cd-portal-familybar{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:22px 22px 20px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 0%,rgba(42,211,104,.28),transparent 17rem),
    linear-gradient(135deg,var(--pf-navy) 0%,#0d3653 72%,#0a5035 140%);
  box-shadow:0 18px 42px rgba(11,38,62,.18);
}
.cd-portal-page .cd-portal-familybar:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-75px;bottom:-105px;}
.cd-portal-page .cd-portal-familybar__top{position:relative;z-index:1;}
.cd-portal-page .cd-portal-familybar__brand img{width:38px!important;height:38px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.25);}
.cd-portal-page .cd-portal-familybar__club{font-weight:850;letter-spacing:.01em;}
.cd-portal-page .cd-portal-familybar__eyebrow{position:relative;z-index:1;margin:22px 0 2px;font-size:13px;color:rgba(255,255,255,.72);font-weight:700;}
.cd-portal-page .cd-portal-familybar__name{position:relative;z-index:1;font-size:25px!important;line-height:1.12;font-weight:900!important;letter-spacing:-.035em;margin:0 0 17px!important;}
.cd-portal-page .cd-portal-family-switcher{position:relative;z-index:1;display:flex;gap:8px;overflow:auto;padding:2px 1px 3px;scrollbar-width:none;}
.cd-portal-page .cd-portal-family-switcher::-webkit-scrollbar{display:none;}
.cd-portal-page .cd-portal-family-chip{border-radius:14px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important;backdrop-filter:blur(6px);}
.cd-portal-page .cd-portal-family-chip.is-active{background:#fff!important;color:var(--pf-navy)!important;border-color:#fff!important;box-shadow:0 6px 16px rgba(0,0,0,.13);}
.cd-portal-page .cd-portal-family-chip__avatar{background:rgba(34,197,94,.18)!important;color:inherit!important;}

/* TABS SUPERIORES COMO SEGMENTOS */
.cd-portal-page .cd-portal-tabs--header{
  position:sticky;top:10px;z-index:35;
  margin:14px 0 0!important;padding:6px!important;
  border:1px solid rgba(220,231,225,.9)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 10px 26px rgba(11,38,62,.08)!important;
  backdrop-filter:blur(14px);
}
.cd-portal-page .cd-portal-tab{border-radius:13px!important;min-height:44px!important;color:#64756d!important;font-weight:800!important;}
.cd-portal-page .cd-portal-tab.active{background:var(--pf-navy)!important;color:#fff!important;box-shadow:0 7px 17px rgba(11,38,62,.16)!important;}

/* HOME / TARJETAS */
.cd-app-home-summary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:12px;margin:0 0 14px;}
.cd-app-balance-card,.cd-app-mini-card{border-radius:22px;border:1px solid var(--pf-line);background:#fff;box-shadow:0 8px 24px rgba(11,38,62,.055);}
.cd-app-balance-card{padding:18px;background:linear-gradient(145deg,#fff 0%,#f7fcf8 100%);}
.cd-app-balance-card__label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--pf-muted);}
.cd-app-balance-card__amount{display:block;font-size:27px;font-weight:950;letter-spacing:-.04em;color:var(--pf-danger);margin:4px 0 12px;}
.cd-app-balance-card__amount.is-ok{color:#15803d;}
.cd-app-balance-card__action{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:12px;text-decoration:none;background:var(--pf-green);color:#fff!important;font-weight:850;font-size:13px;}
.cd-app-mini-card{padding:15px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;}
.cd-app-mini-card__icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--pf-mint);color:#168341;}
.cd-app-mini-card strong{font-size:14px;}.cd-app-mini-card small{font-size:11.5px;color:var(--pf-muted);line-height:1.35;}

.cd-portal-page .cd-page-header.cd-portal-player-card{
  border-radius:24px!important;
  background:linear-gradient(135deg,#0d314d,#0c5a3d)!important;
  box-shadow:var(--pf-shadow)!important;
}
.cd-portal-page .cd-portal-player-chip{border-radius:999px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.15)!important;color:#fff!important;}
.cd-portal-page .cd-portal-section-banner{border-radius:18px!important;background:#fff!important;border:1px solid var(--pf-line)!important;box-shadow:0 5px 18px rgba(11,38,62,.04)!important;}
.cd-portal-page .cd-portal-quick-grid{gap:10px!important;}
.cd-portal-page .cd-portal-quick-card{border:1px solid var(--pf-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 5px 16px rgba(11,38,62,.04)!important;}
.cd-portal-page .cd-portal-quick-card__icon{border-radius:14px!important;background:var(--pf-mint)!important;color:#168341!important;}
.cd-portal-page .cd-profile-accordion{border:1px solid var(--pf-line)!important;border-radius:18px!important;background:#fff!important;overflow:hidden;margin-bottom:10px!important;box-shadow:0 4px 14px rgba(11,38,62,.035)!important;}
.cd-portal-page .cd-profile-accordion__trigger{min-height:72px!important;padding:14px 15px!important;}
.cd-portal-page .cd-profile-accordion__icon{border-radius:13px!important;background:#edf7f1!important;color:#167d42!important;}

/* CUENTA CORRIENTE */
.cd-portal-page .cd-cc-summary{border-radius:24px!important;padding:19px!important;box-shadow:var(--pf-shadow)!important;border-color:var(--pf-line)!important;}
.cd-portal-page .cd-cc-summary__amount{font-size:31px!important;letter-spacing:-.04em;}
.cd-portal-page .cd-cc-summary__meta-item{border-radius:14px!important;background:#f5f8f6!important;}
.cd-portal-page .cd-cc-row{border-radius:18px!important;border-color:var(--pf-line)!important;box-shadow:0 4px 12px rgba(11,38,62,.035)!important;}
.cd-portal-page .cd-cc-row__actions .cd-btn--primary{background:var(--pf-green)!important;border-color:var(--pf-green)!important;border-radius:12px!important;}

/* TIENDA / FOTOS / MI CUENTA: unificar look */
body.cd-portal-action-tienda>div[style*="max-width"],
body.cd-portal-action-fotos>div[style*="max-width"],
body.cd-portal-action-mi-cuenta>div[style*="max-width"]{max-width:1080px!important;padding-left:18px!important;padding-right:18px!important;padding-bottom:110px!important;}
.cd-portal-page .cd-form-group input,.cd-portal-page .cd-form-group select,.cd-portal-page .cd-form-group textarea{border-radius:13px!important;border-color:#dce7e1!important;min-height:46px;}
.cd-portal-page .cd-btn{border-radius:12px;}

/* ALERTAS */
.cd-portal-page .cd-alert,.cd-portal-page .cd-portal-notice{border-radius:16px!important;}
.cd-portal-page .cd-portal-notice--important{background:#fff9ed!important;border-color:#f4d99e!important;}

/* NAV APP INFERIOR */
.cd-app-bottom-nav{
  position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);
  width:min(calc(100% - 20px),720px);height:68px;z-index:120;
  display:grid;grid-template-columns:repeat(5,1fr);align-items:center;
  padding:6px;border:1px solid rgba(217,230,223,.92);border-radius:22px;
  background:rgba(255,255,255,.94);box-shadow:0 16px 44px rgba(11,38,62,.22);backdrop-filter:blur(16px);
}
.cd-app-bottom-nav__item{height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#66766f;text-decoration:none;border-radius:15px;font-size:10.5px;font-weight:800;position:relative;}
.cd-app-bottom-nav__item svg{width:19px;height:19px;}
.cd-app-bottom-nav__item.is-active{color:#138141;background:#edf9f1;}
.cd-app-bottom-nav__badge{position:absolute;top:5px;left:calc(50% + 8px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;display:grid;place-items:center;border:2px solid #fff;}

/* DESKTOP */
@media (min-width:900px){
  body.cd-portal-page{padding-bottom:28px;}
  .cd-portal-page .cd-portal-shell{padding:28px 28px 56px!important;margin-left:116px!important;max-width:1180px!important;}
  .cd-app-bottom-nav{left:18px;top:50%;bottom:auto;transform:translateY(-50%);width:82px;height:auto;grid-template-columns:1fr;gap:5px;padding:8px;border-radius:24px;}
  .cd-app-bottom-nav__item{height:68px;font-size:10px;}
  .cd-app-bottom-nav__item svg{width:20px;height:20px;}
  .cd-portal-page .cd-portal-familybar{padding:25px 28px;}
  .cd-portal-page .cd-portal-familybar__name{font-size:29px!important;}
  .cd-portal-page .cd-portal-tabs--header{top:16px;}
  body.cd-portal-action-tienda>div[style*="max-width"],body.cd-portal-action-fotos>div[style*="max-width"],body.cd-portal-action-mi-cuenta>div[style*="max-width"]{margin-left:116px!important;max-width:1180px!important;padding-top:28px!important;}
}

/* MOBILE */
@media (max-width:700px){
  body.cd-portal-page{background:#f4f7f6;}
  .cd-portal-page .cd-portal-shell{padding:0 10px 104px!important;}
  .cd-portal-page .cd-portal-familybar{margin:0 -10px;border-radius:0 0 26px 26px;padding:16px 16px 18px;box-shadow:0 12px 30px rgba(11,38,62,.17);}
  .cd-portal-page .cd-portal-familybar__name{font-size:23px!important;}
  .cd-portal-page .cd-portal-familybar__actions{gap:14px!important;}
  .cd-portal-page .cd-portal-tabs--header{display:none!important;}
  .cd-portal-page .cd-portal-main{padding-top:12px;}
  .cd-portal-page .cd-portal-section-banner{display:none!important;}
  .cd-app-home-summary{grid-template-columns:1fr 1fr;gap:9px;}
  .cd-app-balance-card{grid-column:1/-1;padding:16px;}
  .cd-app-mini-card{padding:13px;min-height:105px;}
  .cd-portal-page .cd-page-header.cd-portal-player-card{padding:18px!important;border-radius:20px!important;}
  .cd-portal-page .cd-page-header.cd-portal-player-card img{width:58px!important;height:58px!important;}
  .cd-portal-page .cd-portal-quick-grid{grid-template-columns:1fr 1fr!important;}
  .cd-portal-page .cd-portal-quick-card{min-height:88px;display:block!important;padding:14px!important;}
  .cd-portal-page .cd-portal-quick-card__icon{margin-bottom:9px;}
  .cd-portal-page .cd-portal-quick-card__arrow{display:none!important;}
  .cd-portal-page .cd-cc-summary{margin-top:0!important;padding:16px!important;border-radius:20px!important;}
  .cd-portal-page .cd-cc-row{padding:14px!important;}
  .cd-app-bottom-nav{bottom:max(8px,env(safe-area-inset-bottom));}
  body.cd-portal-action-tienda>div[style*="max-width"],body.cd-portal-action-fotos>div[style*="max-width"],body.cd-portal-action-mi-cuenta>div[style*="max-width"]{padding-left:10px!important;padding-right:10px!important;padding-bottom:104px!important;}
}

@media (max-width:390px){
  .cd-app-bottom-nav{width:calc(100% - 12px);border-radius:19px;}
  .cd-app-bottom-nav__item{font-size:9.5px;}
  .cd-app-home-summary{grid-template-columns:1fr 1fr;}
}

/* =========================================================
   FASE 2 · Pulido visual mobile-first
   ========================================================= */
.cd-portal-page .cd-portal-familybar__top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.cd-portal-page .cd-portal-familybar__brand{
  min-width:0;flex:1;display:flex;align-items:center;gap:11px;
}
.cd-portal-page .cd-portal-familybar__brand img{
  width:44px!important;height:44px!important;border-radius:13px!important;flex:0 0 44px;
}
.cd-portal-page .cd-portal-familybar__club{
  min-width:0;max-width:none!important;white-space:normal!important;overflow:visible!important;
  text-overflow:clip!important;line-height:1.08;font-size:15px;font-weight:900!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.cd-portal-page .cd-portal-familybar__actions{
  display:flex;align-items:center;gap:7px!important;flex:0 0 auto;
}
.cd-portal-page .cd-familybar-action{
  position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;
  color:#fff!important;text-decoration:none!important;background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);transition:.15s ease;
}
.cd-portal-page .cd-familybar-action:active{transform:scale(.96);background:rgba(255,255,255,.15);}
.cd-portal-page .cd-portal-familybar__eyebrow{margin-top:17px!important;font-size:12px!important;}
.cd-portal-page .cd-portal-familybar__name{margin-bottom:14px!important;}

.cd-app-home-summary{align-items:stretch;}
.cd-app-mini-card{
  min-width:0;overflow:hidden;
}
.cd-app-mini-card>div{min-width:0;display:block;}
.cd-app-mini-card strong{
  display:block;font-size:18px!important;line-height:1.05;letter-spacing:-.025em;color:var(--pf-navy);
  white-space:normal;overflow-wrap:anywhere;margin-bottom:4px;
}
.cd-app-mini-card small{
  display:block!important;font-size:12px!important;color:var(--pf-muted);line-height:1.28!important;
  white-space:normal!important;overflow-wrap:anywhere;
}
.cd-app-mini-card--alerts strong{color:#26352d;}
.cd-app-mini-card--attendance strong{color:#26352d;}

.cd-portal-page .cd-page-header.cd-portal-player-card{
  background:linear-gradient(145deg,#ffffff 0%,#f5f9f7 100%)!important;
  border:1px solid var(--pf-line)!important;color:var(--pf-text)!important;
  box-shadow:0 7px 22px rgba(11,38,62,.055)!important;
}
.cd-portal-page .cd-page-header.cd-portal-player-card h1{color:var(--pf-navy)!important;letter-spacing:-.025em;}
.cd-portal-page .cd-page-header.cd-portal-player-card p{color:#71817a!important;}
.cd-portal-page .cd-portal-player-card__avatar{background:var(--pf-mint)!important;color:#168341!important;}
.cd-portal-page .cd-portal-player-chip{
  background:#f0f7f3!important;border:1px solid #dbe9e1!important;color:#38604d!important;
}

/* Cabeceras de pantallas secundarias */
body.cd-portal-action-mi-cuenta .cd-portal-account-header{
  margin:0 0 14px!important;padding:15px 16px!important;border-radius:18px!important;
  background:#fff!important;border:1px solid var(--pf-line)!important;box-shadow:0 6px 18px rgba(11,38,62,.045)!important;
}
body.cd-portal-action-mi-cuenta .cd-portal-account-header h1{font-size:18px!important;line-height:1.1!important;color:var(--pf-navy)!important;}
body.cd-portal-action-mi-cuenta .cd-portal-account-header p{font-size:12.5px!important;margin:4px 0 0!important;color:var(--pf-muted)!important;}
body.cd-portal-action-mi-cuenta .cd-portal-account-back{
  width:40px!important;height:40px!important;padding:0!important;border-radius:12px!important;font-size:0!important;display:grid!important;place-items:center!important;
}
body.cd-portal-action-mi-cuenta .cd-portal-account-back svg{width:18px;height:18px;}
body.cd-portal-action-mi-cuenta .cd-card{padding:18px!important;margin-bottom:14px!important;}
body.cd-portal-action-mi-cuenta .cd-card__title{font-size:17px!important;margin-bottom:14px!important;}
body.cd-portal-action-mi-cuenta .cd-form-actions .cd-btn{width:100%!important;min-height:48px!important;}

/* Mejor presencia táctil de formularios */
.cd-portal-page input,.cd-portal-page select,.cd-portal-page textarea{
  font-size:16px!important; /* evita zoom automático en iOS */
}
.cd-portal-page .cd-form-group{margin-bottom:15px!important;}
.cd-portal-page .cd-form-group label{font-size:13px!important;line-height:1.25!important;}

/* Barra inferior más liviana */
.cd-app-bottom-nav{
  height:62px!important;padding:5px!important;border-radius:20px!important;
}
.cd-app-bottom-nav__item{
  height:50px!important;border-radius:14px!important;gap:2px!important;font-size:10px!important;
}
.cd-app-bottom-nav__item svg{width:18px!important;height:18px!important;}

@media (max-width:700px){
  body.cd-portal-page{padding-bottom:84px!important;}
  .cd-portal-page .cd-portal-shell{padding-bottom:94px!important;}
  .cd-portal-page .cd-portal-familybar{padding:13px 14px 15px!important;}
  .cd-portal-page .cd-portal-familybar__brand img{width:42px!important;height:42px!important;flex-basis:42px;}
  .cd-portal-page .cd-portal-familybar__club{font-size:14px!important;max-width:170px!important;}
  .cd-portal-page .cd-familybar-action{width:36px;height:36px;border-radius:11px;}
  .cd-portal-page .cd-familybar-action--store,
  .cd-portal-page .cd-familybar-action--photos{display:none!important;}
  .cd-portal-page .cd-portal-familybar__eyebrow{margin-top:13px!important;font-size:11.5px!important;}
  .cd-portal-page .cd-portal-familybar__name{font-size:22px!important;margin-bottom:12px!important;}
  .cd-portal-page .cd-portal-family-chip{min-height:44px!important;padding:7px 11px!important;}

  .cd-app-home-summary{gap:8px!important;margin-bottom:11px!important;}
  .cd-app-balance-card{padding:14px 15px!important;border-radius:19px!important;}
  .cd-app-balance-card__amount{font-size:25px!important;margin:3px 0 10px!important;}
  .cd-app-balance-card__action{min-height:38px!important;font-size:12.5px!important;}
  .cd-app-mini-card{min-height:96px!important;padding:12px!important;border-radius:19px!important;}
  .cd-app-mini-card__icon{width:34px!important;height:34px!important;border-radius:11px!important;}
  .cd-app-mini-card strong{font-size:16px!important;}
  .cd-app-mini-card small{font-size:11.5px!important;}

  .cd-portal-page .cd-page-header.cd-portal-player-card{padding:14px!important;border-radius:19px!important;}
  .cd-portal-page .cd-page-header.cd-portal-player-card img{width:54px!important;height:54px!important;}
  .cd-portal-page .cd-page-header.cd-portal-player-card h1{font-size:19px!important;line-height:1.15!important;}
  .cd-portal-page .cd-page-header.cd-portal-player-card p{font-size:12.5px!important;line-height:1.25!important;}
  .cd-portal-page .cd-portal-player-chip{font-size:11px!important;padding:6px 9px!important;}

  body.cd-portal-action-mi-cuenta>div[style*="max-width"]{
    padding-top:10px!important;padding-bottom:94px!important;
  }
  body.cd-portal-action-mi-cuenta .cd-portal-account-header{padding:12px 13px!important;border-radius:16px!important;}
  body.cd-portal-action-mi-cuenta .cd-card{padding:16px 14px!important;border-radius:19px!important;}

  .cd-app-bottom-nav{
    width:calc(100% - 18px)!important;bottom:max(7px,env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:380px){
  .cd-portal-page .cd-portal-familybar__club{max-width:135px!important;font-size:13px!important;}
  .cd-portal-page .cd-familybar-action{width:34px;height:34px;}
  .cd-app-mini-card strong{font-size:15px!important;}
  .cd-app-bottom-nav__item{font-size:9.3px!important;}
}

/* =========================================================
   FASE 2.2 · Jerarquía real del Portal del Jugador
   ========================================================= */
.cd-portal-player-card--home{margin-bottom:12px!important;}
.cd-portal-player-card__identity{display:flex;align-items:center;gap:14px;min-width:0;}
.cd-portal-player-card__photo{width:62px;height:62px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 12px rgba(11,38,62,.12);flex:0 0 62px;cursor:zoom-in;}
.cd-portal-player-card__text{min-width:0;}
.cd-portal-player-card__eyebrow{display:block;font-size:10.5px;line-height:1.1;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:#7a8a82;margin-bottom:4px;}
.cd-app-home-summary--account-only{display:block!important;margin-bottom:14px!important;}
.cd-app-home-summary--account-only .cd-app-balance-card{width:100%;}
.cd-portal-quick-heading--main{margin-top:4px!important;}
.cd-portal-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-bottom:18px!important;}
.cd-portal-core-card{position:relative;min-height:102px!important;}
.cd-portal-core-card__badge{position:absolute;right:12px;top:12px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#dc2626;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900;border:2px solid #fff;}
.cd-portal-core-card__badge--warning{background:#f59e0b;}
.cd-portal-services-grid{margin-bottom:18px!important;}
.cd-portal-more-empty{margin-bottom:14px!important;text-align:center;}

@media (max-width:700px){
  .cd-portal-player-card--home{margin-top:0!important;margin-bottom:10px!important;}
  .cd-portal-player-card__photo{width:58px;height:58px;flex-basis:58px;}
  .cd-portal-core-grid{gap:9px!important;}
  .cd-portal-core-card{min-height:100px!important;}
  .cd-portal-core-card .cd-portal-quick-card__copy strong{font-size:14px!important;}
  .cd-portal-core-card .cd-portal-quick-card__copy small{font-size:11.5px!important;line-height:1.25!important;}
}

@media (max-width:380px){
  .cd-portal-core-grid{grid-template-columns:1fr 1fr!important;}
  .cd-portal-core-card{padding:12px!important;}
}


/* =========================================================
   FASE 2.3 · Navegación simplificada + volver al inicio
   ========================================================= */
.cd-portal-return-home-wrap{
  max-width:640px;
  margin:10px auto 0;
  padding:0 16px;
  display:flex;
  justify-content:center;
}
.cd-portal-return-home{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:10px 18px;
  border-radius:14px;
  background:#16a34a;
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px;
  font-weight:850;
  box-shadow:0 6px 16px rgba(22,163,74,.18);
}
.cd-portal-return-home:active{transform:scale(.98);background:#15803d;}
.cd-app-bottom-nav__item--logout{color:#b42318!important;}
.cd-app-bottom-nav__item--logout svg{stroke:#b42318!important;}

@media (max-width:700px){
  .cd-portal-return-home-wrap{margin-top:9px;padding:0 14px;}
  .cd-portal-return-home{min-height:40px;padding:9px 16px;border-radius:13px;font-size:12.5px;}
}

/* =========================================================
   FASE 2.4 · Mi perfil + navegación de retorno consistente
   ========================================================= */
.cd-portal-return-home-wrap{
  max-width:640px;
  margin:12px auto 2px;
  padding:0 16px;
  display:flex;
  justify-content:center;
}
.cd-portal-return-home{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:9px 16px;
  border:1px solid #d8e5df;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#8d321a!important;
  text-decoration:none!important;
  font-size:12.8px;
  font-weight:850;
  letter-spacing:-.01em;
  box-shadow:0 5px 16px rgba(11,38,62,.07);
  transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.cd-portal-return-home svg{color:#15904a;stroke:#15904a;}
.cd-portal-return-home:hover{
  background:#f7fbf8;
  border-color:#bcd5c8;
  box-shadow:0 7px 20px rgba(11,38,62,.09);
}
.cd-portal-return-home:active{transform:scale(.975);background:#f0f7f3;}
.cd-portal-return-home-wrap--tab{margin-top:2px;margin-bottom:12px;}
.cd-portal-return-home-wrap--account{padding:0;margin:-4px auto 18px;}
.cd-portal-section-banner--profile{margin-top:4px!important;margin-bottom:14px!important;}
.cd-portal-profile-view{animation:cdPortalFadeIn .18s ease-out;}
@keyframes cdPortalFadeIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}

@media (max-width:700px){
  .cd-portal-return-home-wrap{margin-top:9px;padding:0 14px;}
  .cd-portal-return-home-wrap--tab{margin-top:0;margin-bottom:10px;}
  .cd-portal-return-home{min-height:38px;padding:8px 15px;font-size:12.5px;}
}

/* =========================================================
   FASE 2.5 · Acciones secundarias consistentes
   ========================================================= */
.cd-portal-return-home{
  box-shadow:0 8px 24px rgba(11,38,62,.13),0 2px 8px rgba(11,38,62,.06)!important;
  border-color:#cbded4!important;
}
.cd-portal-return-home:hover{
  box-shadow:0 11px 28px rgba(11,38,62,.16),0 3px 9px rgba(11,38,62,.07)!important;
  transform:translateY(-1px);
}
.cd-portal-subtle-action-wrap{
  margin-top:10px;
  display:flex;
  justify-content:center;
}
.cd-portal-subtle-action,
.cd-portal-subnav-action{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  padding:8px 15px;
  border:1px solid #d7e2dd;
  border-radius:999px;
  background:#fff;
  color:#24485f!important;
  font:inherit;
  font-size:12.5px;
  font-weight:800;
  text-decoration:none!important;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(11,38,62,.06);
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
}
.cd-portal-subtle-action:hover,
.cd-portal-subnav-action:hover{
  background:#f7faf8;
  border-color:#bfd2c8;
  box-shadow:0 7px 18px rgba(11,38,62,.09);
  transform:translateY(-1px);
}
.cd-portal-subtle-action:active,
.cd-portal-subnav-action:active{transform:scale(.975);}
.cd-portal-subtle-action--danger{
  color:#a23b35!important;
  border-color:#edd3d0;
  background:#fffafa;
}
.cd-portal-subtle-action--danger svg{stroke:#b3423a;color:#b3423a;}
.cd-portal-subtle-action--danger:hover{background:#fff5f4;border-color:#e8bbb6;}
.cd-portal-subnav-wrap{
  display:flex;
  justify-content:center;
  margin:2px 0 14px;
}
.cd-portal-subnav-action svg{stroke:#15904a;color:#15904a;}
.cd-portal-icon-action{
  width:30px;
  height:30px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  text-decoration:none!important;
  border:1px solid #e2e8e5;
  background:#fff;
  box-shadow:0 2px 7px rgba(11,38,62,.05);
}
.cd-portal-icon-action--danger{color:#b42318!important;border-color:#efd0cc;background:#fff9f8;}
.cd-portal-icon-action--danger svg{stroke:#b42318;color:#b42318;}
.cd-portal-icon-action--danger:active{transform:scale(.94);}

@media (max-width:700px){
  .cd-portal-subtle-action,.cd-portal-subnav-action{min-height:39px;padding:8px 16px;font-size:12.5px;}
  .cd-portal-subnav-wrap{margin-top:0;margin-bottom:12px;}
}

/* =========================================================
   FASE 2.6 · Jugador activo integrado a la cabecera azul
   ========================================================= */
.cd-portal-page .cd-portal-familybar{padding-bottom:22px!important;}
.cd-familybar-player{
  position:relative;z-index:2;margin-top:14px;padding:0 96px 0 2px;min-height:78px;
  display:flex;align-items:center;
}
.cd-familybar-player__copy{display:flex;flex-direction:column;min-width:0;}
.cd-familybar-player__label{
  font-size:10.5px;line-height:1.1;text-transform:uppercase;letter-spacing:.07em;
  font-weight:850;color:rgba(255,255,255,.62);margin-bottom:4px;
}
.cd-familybar-player__name{
  display:block;font-size:20px;line-height:1.08;font-weight:950;letter-spacing:-.025em;
  color:#fff;white-space:normal;overflow-wrap:anywhere;
}
.cd-familybar-player__meta{
  display:block;margin-top:5px;font-size:12.5px;line-height:1.25;font-weight:700;
  color:rgba(255,255,255,.76);white-space:normal;overflow-wrap:anywhere;
}
.cd-familybar-player__photo{
  position:absolute;right:2px;bottom:0;width:82px;height:82px;border-radius:50%;object-fit:cover;
  border:4px solid rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(0,0,0,.22);cursor:zoom-in;
  background:#fff;
}
.cd-familybar-player__photo--empty{
  display:grid;place-items:center;color:#0f7140;background:linear-gradient(145deg,#fff,#eaf8ef);
}
.cd-portal-home-view>.cd-app-home-summary--account-only{margin-top:0!important;}

@media (max-width:700px){
  .cd-portal-page .cd-portal-familybar{padding-bottom:18px!important;}
  .cd-familybar-player{margin-top:12px;min-height:72px;padding-right:86px;}
  .cd-familybar-player__name{font-size:19px;}
  .cd-familybar-player__meta{font-size:12px;}
  .cd-familybar-player__photo{width:74px;height:74px;border-width:3px;right:0;}
}

@media (max-width:380px){
  .cd-familybar-player{padding-right:74px;min-height:66px;}
  .cd-familybar-player__name{font-size:17px;}
  .cd-familybar-player__meta{font-size:11.5px;}
  .cd-familybar-player__photo{width:64px;height:64px;}
}


/* FASE 2.7 — CABECERA INSTITUCIONAL */
.cd-portal-page .cd-portal-familybar__brand{
  align-items:center;
  gap:12px!important;
}
.cd-portal-page .cd-portal-familybar__brand img{
  width:46px!important;
  height:46px!important;
  border-radius:14px!important;
}
.cd-portal-page .cd-portal-familybar__club{
  font-size:20px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
  max-width:none!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.cd-portal-page .cd-portal-familybar__subtitle{
  position:relative;
  z-index:1;
  margin:10px 0 15px;
  color:rgba(255,255,255,.72);
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.cd-portal-page .cd-portal-family-switcher{
  margin-top:0!important;
}

@media (min-width:900px){
  .cd-portal-page .cd-portal-familybar__club{font-size:25px!important;}
  .cd-portal-page .cd-portal-familybar__brand img{width:54px!important;height:54px!important;}
  .cd-portal-page .cd-portal-familybar__subtitle{font-size:13px;margin-top:11px;margin-bottom:16px;}
}

@media (max-width:700px){
  .cd-portal-page .cd-portal-familybar__brand{min-width:0;}
  .cd-portal-page .cd-portal-familybar__brand img{width:48px!important;height:48px!important;flex:0 0 48px!important;}
  .cd-portal-page .cd-portal-familybar__club{
    font-size:20px!important;
    max-width:250px!important;
  }
  .cd-portal-page .cd-portal-familybar__subtitle{
    margin:8px 0 14px;
    font-size:11px;
  }
}

@media (max-width:420px){
  .cd-portal-page .cd-portal-familybar__club{font-size:18px!important;max-width:205px!important;}
}

/* FASE 2.9 — FOTO ESTABLE + SWEETALERT CANTERA */
.cd-familybar-player__photo-shell{
  position:absolute;
  right:2px;
  bottom:0;
  width:82px;
  height:82px;
  border-radius:50%;
  overflow:hidden;
  border:4px solid rgba(255,255,255,.94);
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  background:linear-gradient(145deg,#eaf8ef,#d5eee0);
}
.cd-familybar-player__photo-shell .cd-familybar-player__photo{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  border-radius:50%!important;
  box-shadow:none!important;
  object-fit:cover;
  opacity:0;
  background:transparent!important;
}
.cd-familybar-player__photo-shell.is-loaded .cd-familybar-player__photo{opacity:1;}
.cd-familybar-player__photo-placeholder{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:22px;
  font-weight:950;
  letter-spacing:.02em;
  color:#0f7140;
  background:linear-gradient(145deg,#fff,#eaf8ef);
}
@media (max-width:700px){
  .cd-familybar-player__photo-shell{width:74px;height:74px;border-width:3px;right:0;}
}
@media (max-width:380px){
  .cd-familybar-player__photo-shell{width:64px;height:64px;}
}

/* SweetAlert del Portal: sin iconos genéricos, con lenguaje visual propio. */
.cd-swal-cantera{
  width:min(92vw,390px)!important;
  padding:22px 20px 18px!important;
  border-radius:22px!important;
  border:1px solid rgba(11,38,62,.08)!important;
  box-shadow:0 24px 60px rgba(11,38,62,.22)!important;
}
.cd-swal-cantera .swal2-icon{display:none!important;}
.cd-swal-cantera .swal2-title{
  padding:0!important;
  margin:2px 0 8px!important;
  color:#26352d!important;
  font-size:21px!important;
  line-height:1.2!important;
  font-weight:900!important;
}
.cd-swal-cantera .swal2-html-container{
  margin:0!important;
  color:#5d7080!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.cd-swal-cantera .swal2-actions{margin:18px 0 0!important;gap:8px!important;}
.cd-swal-cantera__confirm,.cd-swal-cantera__cancel{
  min-height:44px!important;
  border-radius:13px!important;
  padding:0 18px!important;
  font-size:14px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.cd-swal-cantera__cancel{
  background:#eef3f6!important;
  color:#17394f!important;
}


/* Consultas a Administración del equipo */
.cd-portal-secretaria-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.cd-portal-secretaria-card__eyebrow{display:block;font-size:10px;letter-spacing:1.1px;font-weight:900;color:#0f8752;margin-bottom:3px}
.cd-portal-secretaria-card__head h3{margin:0;color:#2f3c35;font-size:18px}
.cd-portal-secretaria-card__head p{margin:4px 0 0;color:#71818b;font-size:12.5px;line-height:1.35}
.cd-portal-secretaria-card__icon{width:42px;height:42px;border-radius:13px;background:#eaf8f0;color:#0f8752;display:grid;place-items:center;flex:0 0 auto}
.cd-portal-secretaria-form textarea{width:100%;resize:vertical;min-height:84px}
.cd-portal-secretaria-send{width:100%;justify-content:center}
.cd-portal-thread{padding:14px 0;border-bottom:1px solid #e5ecef}.cd-portal-thread:last-child{border-bottom:0;padding-bottom:0}
.cd-portal-thread__meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.cd-portal-thread__meta strong{font-size:13px;color:#2f3c35}.cd-portal-thread__meta span{font-size:10.5px;color:#87969d}
.cd-portal-thread__messages{display:flex;flex-direction:column;gap:8px}.cd-portal-chat-row{display:flex}.cd-portal-chat-row.is-family{justify-content:flex-end}.cd-portal-chat-row.is-secretaria{justify-content:flex-start}
.cd-portal-chat-bubble{max-width:86%;padding:9px 11px;border-radius:15px;background:#f0f4f6;border:1px solid #e0e7ea}.cd-portal-chat-row.is-family .cd-portal-chat-bubble{background:#e9f8f0;border-color:#c7ead7}
.cd-portal-chat-bubble small{display:block;font-size:9.5px;font-weight:900;color:#58707c;margin-bottom:3px}.cd-portal-chat-bubble p{margin:0;font-size:12.5px;line-height:1.4;color:#213845}.cd-portal-chat-bubble time{display:block;text-align:right;margin-top:4px;font-size:9px;color:#8a989f}


/* Consultas a Administración del equipo — confirmación de archivado con identidad Cantera */
.cd-swal-cantera--archive{
  max-width:390px!important;
  padding:26px 22px 22px!important;
}
.cd-swal-archive{
  text-align:center;
  color:#526474;
}
.cd-swal-archive__icon{
  width:58px;
  height:58px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#eaf3f8;
  color:#8d321a;
  box-shadow:inset 0 0 0 1px rgba(18,63,99,.08);
}
.cd-swal-archive p{
  margin:0;
  font-size:14px;
  line-height:1.5;
}
.cd-swal-archive small{
  display:block;
  margin-top:8px;
  font-size:12px;
  line-height:1.45;
  color:#7b8993;
}
.cd-swal-cantera--archive .swal2-actions{
  width:100%;
  display:grid!important;
  grid-template-columns:1fr 1.25fr;
  gap:9px!important;
}
.cd-swal-cantera--archive .cd-swal-cantera__confirm,
.cd-swal-cantera--archive .cd-swal-cantera__cancel{
  width:100%;
  min-width:0!important;
  margin:0!important;
}
.cd-swal-cantera--archive .cd-swal-cantera__confirm{
  background:#8d321a!important;
  color:#fff!important;
}
@media(max-width:460px){
  .cd-swal-cantera--archive{width:calc(100% - 28px)!important;padding:24px 18px 19px!important;}
  .cd-swal-cantera--archive .swal2-actions{grid-template-columns:1fr;}
}

/* Comunicados del equipo: lectura clara y compacta */
.cd-portal-comunicado{
  border-bottom:1px solid var(--gris-borde);
  padding:14px 0;
}
.cd-portal-comunicado:last-child{border-bottom:0;padding-bottom:2px}
.cd-portal-comunicado__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.cd-portal-comunicado__title-wrap{display:flex;align-items:center;gap:7px;min-width:0}
.cd-portal-comunicado__title-wrap>strong{font-size:14px;line-height:1.25;color:#2f3c35}
.cd-portal-comunicado__new{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;background:#e8f7ef;color:#137747;font-size:9.5px;font-weight:900;letter-spacing:.35px;text-transform:uppercase}
.cd-portal-comunicado__meta{font-size:10.5px;color:var(--gris-texto);white-space:nowrap}
.cd-portal-comunicado__message{margin:7px 0 0;white-space:pre-line;font-size:13px!important;line-height:1.45;color:#3d4f5a}
.cd-portal-comunicado.is-read .cd-portal-comunicado__message{color:#657780}
.cd-portal-comunicado__actions{display:flex;justify-content:flex-end;margin-top:9px}
.cd-portal-comunicado__actions form{margin:0}
.cd-portal-comunicado__read-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #cfe7da;background:#f0faf5;color:#137747;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850;cursor:pointer}
.cd-portal-comunicado__read-state{display:inline-flex;align-items:center;gap:5px;color:#718089;font-size:10.5px;font-weight:750}
@media(max-width:620px){
  .cd-portal-comunicado{padding:12px 0}
  .cd-portal-comunicado__title-wrap>strong{font-size:13.5px}
  .cd-portal-comunicado__message{font-size:12.5px!important;line-height:1.42}
  .cd-portal-comunicado__meta{font-size:10px}
}

/* =========================================================
   CAMPANITA PUSH · ESTADO REAL DEL DISPOSITIVO
   ========================================================= */
.cd-familybar-pushbell{
  position:absolute;
  z-index:8;
  right:-2px;
  top:-13px;
  width:32px;
  height:32px;
  border:2px solid rgba(255,255,255,.96);
  border-radius:50%;
  display:grid;
  place-items:center;
  padding:0;
  cursor:pointer;
  color:#64748b;
  background:#fff;
  box-shadow:0 7px 18px rgba(0,0,0,.22);
  transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease;
}
.cd-familybar-pushbell:active{transform:scale(.93)}
.cd-familybar-pushbell:focus-visible{outline:3px solid rgba(255,255,255,.75);outline-offset:3px}
.cd-familybar-pushbell__icon{display:grid;place-items:center;line-height:0}
.cd-familybar-pushbell__dot{
  position:absolute;
  right:-1px;
  bottom:1px;
  width:9px;
  height:9px;
  border:2px solid #fff;
  border-radius:50%;
  background:#94a3b8;
}
.cd-familybar-pushbell.is-enabled{background:#ecfdf5;color:#078647;box-shadow:0 7px 18px rgba(4,120,87,.28)}
.cd-familybar-pushbell.is-enabled .cd-familybar-pushbell__dot{background:#16a34a}
.cd-familybar-pushbell.is-pending{background:#fff7ed;color:#c56816}
.cd-familybar-pushbell.is-pending .cd-familybar-pushbell__dot{background:#f59e0b}
.cd-familybar-pushbell.is-blocked{background:#fff1f2;color:#be123c}
.cd-familybar-pushbell.is-blocked .cd-familybar-pushbell__dot{background:#e11d48}
.cd-familybar-pushbell.is-error{background:#eff6ff;color:#1d4ed8}
.cd-familybar-pushbell.is-error .cd-familybar-pushbell__dot{background:#3b82f6}
.cd-familybar-pushbell.is-disabled{opacity:.65;cursor:default}
.cd-familybar-pushbell.is-checking .cd-familybar-pushbell__icon{animation:cdPushBellPulse 1s ease-in-out infinite}
@keyframes cdPushBellPulse{50%{opacity:.45;transform:scale(.9)}}
@media (max-width:700px){
  .cd-familybar-pushbell{right:-1px;top:-12px;width:30px;height:30px}
}
@media (max-width:380px){
  .cd-familybar-pushbell{top:-11px;width:28px;height:28px}
}

.cd-swal-push .cd-push-modal-mark{
  width:52px;height:52px;border-radius:17px;margin:0 auto 13px;
  display:grid;place-items:center;background:#eaf5ff;color:#0b5ea8;
}
.cd-swal-push .cd-push-modal-title{margin:0 0 8px;font-size:20px;line-height:1.15;color:#26352d;font-weight:900}
.cd-swal-push .cd-push-modal-text{margin:0 auto;color:#526276;font-size:13.5px;line-height:1.5;max-width:310px}

/* Estado de notificaciones fuera de la foto/cabecera del jugador */
.cd-push-state-card--family{
  width:100%;margin:12px 0 0;padding:12px 14px;border:1px solid #d6e2ea;border-radius:17px;background:#fff;
  display:flex;align-items:center;gap:11px;text-align:left;color:#17384a;box-shadow:0 6px 18px rgba(18,48,65,.07);cursor:pointer;
}
.cd-push-state-card--family .cd-push-state-card__icon{width:40px;height:40px;flex:0 0 40px;border-radius:13px;display:grid;place-items:center;background:#edf4f8;color:#5f7887}
.cd-push-state-card--family .cd-push-state-card__copy{min-width:0;flex:1}.cd-push-state-card--family .cd-push-state-card__copy strong{display:block;font-size:13px;line-height:1.15}.cd-push-state-card--family .cd-push-state-card__copy small{display:block;margin-top:3px;color:#73858d;font-size:10.8px;line-height:1.25}
.cd-push-state-card--family .cd-push-state-card__dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 5px rgba(148,163,184,.12)}
.cd-push-state-card--family.is-enabled{border-color:#bce7cf;background:#f4fcf7}.cd-push-state-card--family.is-enabled .cd-push-state-card__icon{background:#e5f8ed;color:#0c8a4d}.cd-push-state-card--family.is-enabled .cd-push-state-card__dot{background:#18a85a;box-shadow:0 0 0 5px rgba(24,168,90,.12)}
.cd-push-state-card--family.is-pending{border-color:#f0d9a9;background:#fffaf0}.cd-push-state-card--family.is-pending .cd-push-state-card__icon{background:#fff0cf;color:#9a6900}.cd-push-state-card--family.is-pending .cd-push-state-card__dot{background:#e6a51c;box-shadow:0 0 0 5px rgba(230,165,28,.12)}
.cd-push-state-card--family.is-blocked{border-color:#efc4c8;background:#fff7f7}.cd-push-state-card--family.is-blocked .cd-push-state-card__icon{background:#ffe8ea;color:#b8323c}.cd-push-state-card--family.is-blocked .cd-push-state-card__dot{background:#d94a55;box-shadow:0 0 0 5px rgba(217,74,85,.12)}
.cd-push-state-card--family.is-error{border-color:#bdd7ee;background:#f5faff}.cd-push-state-card--family.is-error .cd-push-state-card__icon{background:#e8f3ff;color:#276aa5}.cd-push-state-card--family.is-error .cd-push-state-card__dot{background:#3b82c4;box-shadow:0 0 0 5px rgba(59,130,196,.12)}
.cd-push-state-card--family.is-checking .cd-push-state-card__icon{animation:cdPushStatePulseFamily 1s ease-in-out infinite}@keyframes cdPushStatePulseFamily{50%{opacity:.5;transform:scale(.96)}}

/* ============================================================
   Portal del Jugador · Modal de activación de notificaciones
   Unifica el SweetAlert con el diseño visual del Portal.
   ============================================================ */
.cd-swal-cantera.cd-swal-push{
  width:min(430px,calc(100vw - 28px))!important;
  padding:26px 24px 22px!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%)!important;
  box-shadow:0 26px 70px rgba(8,36,55,.22)!important;
}
.cd-swal-cantera.cd-swal-push .swal2-html-container{
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.cd-swal-cantera.cd-swal-push .cd-push-modal-logo{
  width:82px;
  height:82px;
  margin:0 auto 17px;
  border-radius:24px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(145deg,#e8f7ee,#f8fffb);
  border:1px solid #cce7d7;
  box-shadow:0 12px 28px rgba(22,111,70,.14);
}
.cd-swal-cantera.cd-swal-push .cd-push-modal-logo img{
  width:70px;
  height:70px;
  display:block;
  object-fit:contain;
}
.cd-swal-cantera.cd-swal-push .cd-push-modal-title{
  margin:0 0 10px;
  color:#26352d;
  font-size:24px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.35px;
}
.cd-swal-cantera.cd-swal-push .cd-push-modal-text{
  max-width:340px;
  margin:0 auto;
  color:#5d6f7a;
  font-size:15px;
  line-height:1.58;
}
.cd-swal-cantera.cd-swal-push .cd-push-modal-text strong{color:#183d2d;font-weight:850}
.cd-swal-cantera.cd-swal-push .swal2-actions{
  width:100%!important;
  margin:23px 0 0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
}
.cd-swal-cantera.cd-swal-push .cd-swal-btn{
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:12px 18px!important;
  border:0!important;
  border-radius:15px!important;
  font-family:inherit!important;
  font-size:14.5px!important;
  font-weight:850!important;
  line-height:1.1!important;
  cursor:pointer!important;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease!important;
}
.cd-swal-cantera.cd-swal-push .cd-swal-btn:active{transform:scale(.985)!important}
.cd-swal-cantera.cd-swal-push .cd-swal-btn--primary{
  order:1;
  color:#fff!important;
  background:linear-gradient(135deg,#176b45,#24935f)!important;
  box-shadow:0 10px 22px rgba(23,107,69,.24)!important;
}
.cd-swal-cantera.cd-swal-push .cd-swal-btn--cancel{
  order:2;
  color:#556872!important;
  background:#eef3f1!important;
  box-shadow:none!important;
}
.cd-swal-cantera.cd-swal-push .cd-swal-btn--cancel:hover{background:#e7eeeb!important}
@media(max-width:560px){
  .cd-swal-cantera.cd-swal-push{padding:25px 20px 19px!important;border-radius:25px!important}
  .cd-swal-cantera.cd-swal-push .cd-push-modal-logo{width:76px;height:76px;border-radius:22px;margin-bottom:15px}
  .cd-swal-cantera.cd-swal-push .cd-push-modal-logo img{width:65px;height:65px}
  .cd-swal-cantera.cd-swal-push .cd-push-modal-title{font-size:22px}
  .cd-swal-cantera.cd-swal-push .cd-push-modal-text{font-size:14px;line-height:1.55}
  .cd-swal-cantera.cd-swal-push .cd-swal-btn{min-height:49px!important}
}

/* ==========================================================
   3DEDOS — PORTAL DEL JUGADOR / BRAND LAYER
   ========================================================== */
:root{--td-green:#4f9722;--td-green-dark:#315f1b;--td-orange:#d24a1f;--td-orange-dark:#a63b1b;--td-orange-soft:#fff1e9;--td-graphite:#26352d}
.cd-portal-app{background:linear-gradient(180deg,#f6f8f4 0,#fff 45%,#fffaf6 100%)}
.cd-familybar,.cd-portal-topbar{border-color:#dde8e2}
.cd-familybar-player__avatar,.cd-portal-avatar{box-shadow:0 0 0 3px rgba(79,151,34,.12)}
.cd-familybar-player__name,.cd-portal-home-greeting strong,.cd-portal-account-header h1{color:var(--td-graphite)}
.cd-portal-quick-card:hover,.cd-portal-action-card:hover{border-color:rgba(79,151,34,.35)}
.cd-portal-quick-card__icon,.cd-portal-action-card__icon{color:var(--td-green-dark);background:#eef7e8}
.cd-portal-nav a.active,.cd-portal-bottom-nav a.active{color:var(--td-green-dark)}
.cd-portal-nav a.active::after,.cd-portal-bottom-nav a.active::after{background:var(--td-orange)}
.cd-portal-secretaria-card__eyebrow{color:var(--td-orange-dark)}
.cd-portal-secretaria-card__icon{background:var(--td-orange-soft);color:var(--td-orange-dark)}
.cd-portal-thread__messages .is-secretaria .cd-portal-chat-bubble{border-left-color:var(--td-orange)}
