/* =========================================================
   Cantera Digital · Portal de Familias · App UI
   Mobile first. Solo presentación: no altera lógica funcional.
   ========================================================= */
:root{
  --pf-navy:#0b263e;
  --pf-navy-2:#103b5d;
  --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),
    #0b263e;
}

/* 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:#0b263e;}
.cd-app-mini-card--attendance strong{color:#0b263e;}

.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 de Familias
   ========================================================= */
.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:#123f63!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:#0b263e!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;
}
