:root{
  --portal-primary:#17243a;
  --portal-secondary:#e83e8c;
  --portal-accent:#e83e8c;
  --portal-bg:#f6f7fb;
  --portal-surface:#ffffff;
  --portal-text:#162033;
  --portal-muted:#788397;
  --portal-border:#e7eaf0;
  --portal-success:#1f9d62;
  --portal-warning:#d99a13;
  --portal-danger:#d64545;
  --portal-shadow:0 12px 35px rgba(31,41,55,.07);
  --portal-radius:22px;
}
*{box-sizing:border-box}
html,body{background:var(--portal-bg)!important;color:var(--portal-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body{min-height:100vh}
a{transition:.18s ease}

/* LOGIN */
body.portal-login{background:var(--portal-bg)!important;min-height:100vh}
.portal-login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;overflow:hidden}
.portal-login-shell:before,.portal-login-shell:after{content:"";position:absolute;border-radius:999px;filter:blur(1px);pointer-events:none}
.portal-login-shell:before{width:430px;height:430px;right:-140px;top:-180px;background:color-mix(in srgb,var(--portal-primary) 14%,transparent)}
.portal-login-shell:after{width:340px;height:340px;left:-150px;bottom:-150px;background:color-mix(in srgb,var(--portal-accent) 12%,transparent)}
.portal-login-card{width:100%;max-width:440px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.7);border-radius:28px;box-shadow:0 30px 80px rgba(22,32,51,.15);overflow:hidden;position:relative;z-index:1}
.portal-login-head{padding:34px 34px 10px;text-align:center}
.portal-login-logo{max-height:86px;max-width:230px;object-fit:contain}
.portal-login-title{font-size:25px;font-weight:850;letter-spacing:-.03em;color:var(--portal-text)}
.portal-login-sub{color:var(--portal-muted);font-size:14px;line-height:1.55;max-width:340px;margin:7px auto 0}
.portal-login-body{padding:18px 34px 34px}
.portal-form label{font-size:13px;color:#485367;margin-bottom:7px}
.portal-form .form-control,.portal-panel .form-control,.portal-panel select.form-control,.portal-panel textarea.form-control{border:1px solid var(--portal-border);border-radius:14px;min-height:48px;padding:10px 14px;background:#fff;box-shadow:none!important}
.portal-form .form-control:focus,.portal-panel .form-control:focus{border-color:var(--portal-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-accent) 14%,transparent)!important}
.portal-btn,.portal-panel .btn{border-radius:13px;font-weight:750;padding:11px 17px}
.portal-login .btn-primary{background:var(--portal-primary);border-color:var(--portal-primary)}
.portal-login a{color:var(--portal-primary);font-weight:650}

/* CABECERA */
.portal-navbar{height:72px;background:var(--portal-surface)!important;border-bottom:1px solid var(--portal-border);box-shadow:none!important;padding:0 28px;position:sticky;top:0;z-index:1030}
.portal-navbar .portal-brand{display:flex;align-items:center;gap:12px;color:var(--portal-text)!important;font-weight:850;font-size:16px;max-width:60%}
.portal-navbar .portal-brand img{height:48px;max-width:150px;object-fit:contain}
.portal-navbar .portal-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-navbar .nav-link{color:var(--portal-text)!important;font-weight:650}
.portal-navbar .dropdown-menu{border:1px solid var(--portal-border);border-radius:15px;box-shadow:var(--portal-shadow);padding:8px}
.portal-navbar .dropdown-item{border-radius:10px;padding:9px 12px}

/* SELECTOR DE HIJOS */
.portal-children-bar{background:transparent;border:0;padding:18px 28px 0}
.portal-children-inner{max-width:1180px;margin:0 auto}
.portal-children-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.portal-children-heading>div{font-size:14px;color:var(--portal-text)}
.portal-children-heading small{color:var(--portal-muted);font-weight:600}
.portal-children-grid{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.portal-child-card{display:flex;align-items:center;gap:11px;min-width:260px;max-width:320px;padding:10px 12px;border:1px solid var(--portal-border);border-radius:18px;background:#fff;color:var(--portal-text)!important;text-decoration:none!important;box-shadow:0 5px 18px rgba(31,41,55,.04);position:relative}
.portal-child-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(31,41,55,.08)}
.portal-child-card.is-active{border-color:color-mix(in srgb,var(--portal-accent) 55%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-accent) 10%,transparent)}
.portal-child-photo-wrap{position:relative;flex:0 0 58px;width:58px;height:58px}
.portal-child-photo,.portal-child-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#f0f2f6}
.portal-child-avatar{display:flex;align-items:center;justify-content:center;color:#a6aebe;font-size:26px}
.portal-child-check{position:absolute;right:-2px;bottom:-2px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--portal-accent);color:#fff;border:2px solid #fff;font-size:10px}
.portal-child-main{min-width:0;flex:1}.portal-child-name{font-size:14px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-child-meta{font-size:10px;color:var(--portal-muted);font-weight:650;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-child-summary{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.portal-child-pill{font-size:9px;font-weight:750;padding:3px 6px;border-radius:999px;background:#f2f4f7;color:#677286}.portal-child-pill.is-warning{background:#fff6dd;color:#9c6b00}.portal-child-pill.is-ok{background:#e9f8f0;color:#1d7d4e}

/* NAVEGACION - escritorio como barra, móvil como tab bar */
#wrapper{display:block!important;padding:0}
.portal-sidebar{width:auto!important;min-height:auto!important;position:sticky;top:72px;z-index:1020;display:flex!important;flex-direction:row!important;justify-content:center;gap:4px;background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--portal-border);padding:8px 16px!important;box-shadow:none!important}
.portal-sidebar .nav-item{width:auto!important}.portal-sidebar .nav-link{display:flex;align-items:center;gap:7px;padding:9px 13px!important;margin:0!important;border-radius:12px;color:#6e7889!important;font-size:13px;font-weight:700;white-space:nowrap}
.portal-sidebar .nav-link i{font-size:16px}.portal-sidebar .nav-link:hover,.portal-sidebar .nav-item.active .nav-link{background:#f2f4f8;color:var(--portal-text)!important}
.portal-sidebar .nav-link:focus{outline:none}

/* CONTENIDO */
.portal-content,.container-fluid.portal-content{width:100%;max-width:1180px;margin:0 auto;padding:28px 28px 100px!important}
.portal-page-head,.portal-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}
.portal-section-title{font-size:28px;font-weight:850;letter-spacing:-.035em;margin:0;color:var(--portal-text)}
.portal-muted{color:var(--portal-muted)!important}.portal-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:850;color:var(--portal-muted)}

/* HOME */
.portal-welcome{border-radius:26px;background:linear-gradient(120deg,var(--portal-primary),color-mix(in srgb,var(--portal-primary) 78%,var(--portal-accent)));color:#fff;padding:28px 30px;box-shadow:0 16px 38px color-mix(in srgb,var(--portal-primary) 20%,transparent);position:relative;overflow:hidden}
.portal-welcome:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-70px;top:-130px;background:rgba(255,255,255,.08)}
.portal-welcome .portal-eyebrow{color:rgba(255,255,255,.7)}.portal-welcome h1{font-size:32px;font-weight:850;letter-spacing:-.04em;margin:3px 0 6px}.portal-welcome p{margin:0;color:rgba(255,255,255,.78);font-size:14px}
.portal-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.portal-stat-card{background:#fff;border:1px solid var(--portal-border);border-radius:20px;padding:18px 19px;display:flex;align-items:center;gap:14px;color:var(--portal-text)!important;text-decoration:none!important;box-shadow:0 5px 18px rgba(31,41,55,.035)}
.portal-stat-card:hover{transform:translateY(-2px);box-shadow:var(--portal-shadow)}
.portal-stat-card>i{width:46px;height:46px;flex:0 0 46px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--portal-accent) 9%,#fff);color:var(--portal-accent);font-size:21px}
.portal-stat-card>div{min-width:0}.portal-stat-card span{display:block;color:var(--portal-muted);font-size:12px;font-weight:650}.portal-stat-card strong{display:block;font-size:26px;line-height:1.1;margin:2px 0;font-weight:850;letter-spacing:-.03em}.portal-stat-card small{color:#9aa2b0;font-size:11px}

/* PANELES Y TARJETAS */
.portal-panel,.portal-card,.card.shadow-sm{background:#fff;border:1px solid var(--portal-border)!important;border-radius:var(--portal-radius)!important;box-shadow:0 6px 22px rgba(31,41,55,.04)!important;overflow:hidden}
.portal-panel{padding:22px}.portal-panel h2{font-size:20px;font-weight:850;letter-spacing:-.02em;margin:0}.portal-card .card-header{background:#fff;border-bottom:1px solid var(--portal-border);padding:17px 20px;font-weight:800}.portal-card .card-body,.card.shadow-sm .card-body{padding:20px}
.portal-stat{padding:20px}.portal-stat-value{font-size:28px;font-weight:850;letter-spacing:-.03em}.portal-stat-label{font-size:11px;color:var(--portal-muted);font-weight:650}.portal-progress{height:7px;border-radius:99px;background:#edf0f4;overflow:hidden}.portal-progress>span{height:100%;display:block;border-radius:99px;background:var(--portal-success)}
.portal-panel-head a{font-size:12px;font-weight:750;color:var(--portal-primary)!important;text-decoration:none}
.portal-empty{text-align:center;padding:42px 18px;color:var(--portal-muted)}

/* AGENDA */
.portal-upcoming>a{display:flex;align-items:center;gap:13px;padding:14px 4px;border-top:1px solid #f0f1f4;color:var(--portal-text)!important;text-decoration:none!important}.portal-upcoming>a:first-child{border-top:0}
.portal-upcoming-date,.portal-event-date{background:#f4f5f8;border-radius:14px;text-align:center;color:var(--portal-text)}.portal-upcoming-date{width:46px;padding:7px}.portal-upcoming-date b{font-size:18px;display:block;line-height:1}.portal-upcoming-date span{font-size:9px;color:var(--portal-muted)}
.portal-upcoming>a>div:nth-child(2){min-width:0;flex:1}.portal-upcoming strong{display:block;font-size:13px}.portal-upcoming small{display:block;color:var(--portal-muted);font-size:11px;margin-top:2px}
.portal-event-list{display:flex;flex-direction:column;gap:10px}.portal-event-card{display:flex;align-items:center;gap:15px;padding:15px 17px;background:#fff;border:1px solid var(--portal-border);border-radius:19px;color:var(--portal-text)!important;text-decoration:none!important;box-shadow:0 4px 15px rgba(31,41,55,.03)}.portal-event-card:hover{transform:translateY(-1px);box-shadow:var(--portal-shadow)}
.portal-event-date{width:58px;min-width:58px;padding:10px 7px}.portal-event-date strong{font-size:23px;display:block;line-height:1}.portal-event-date span{font-size:9px;font-weight:850;color:var(--portal-muted)}
.portal-event-body{min-width:0;flex:1}.portal-event-body h3{font-size:16px;font-weight:800;margin:6px 0}.portal-event-tags{display:flex;gap:5px;flex-wrap:wrap}.portal-mini-tag,.portal-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800;background:#f1f3f6;color:#697486}.portal-mini-tag.is-warning{background:#fff5d8;color:#966600}.portal-mini-tag.is-ok{background:#e7f8ef;color:#1e7a4d}.portal-mini-tag.is-danger{background:#fdeaea;color:#b53434}.portal-event-arrow{color:#b5bbc6}.portal-notice-inline{margin-top:8px;padding:8px 10px;border-radius:11px;background:#eef6ff;color:#3a638c;font-size:11px;font-weight:650}.portal-back{font-size:13px;color:var(--portal-muted)!important;font-weight:700;text-decoration:none!important}.portal-event-hero h1{font-size:28px;font-weight:850;letter-spacing:-.03em;margin:8px 0}.portal-event-hero p{margin:4px 0;color:var(--portal-muted)}.portal-event-description{padding-top:16px;margin-top:15px;border-top:1px solid var(--portal-border);line-height:1.6}

/* TABLAS */
.portal-table-responsive{overflow:hidden;border-radius:0 0 var(--portal-radius) var(--portal-radius)}.portal-table{margin:0;background:#fff}.portal-table thead th{border-top:0;border-bottom:1px solid var(--portal-border);background:#fafbfc;color:#7c8696;font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;padding:13px 16px}.portal-table td{padding:15px 16px;border-top:1px solid #f0f2f5;vertical-align:middle;font-size:13px}.table-hover tbody tr:hover{background:#fafbfc!important}
.badge-success{background:#e5f7ed!important;color:#1e7b4d!important}.badge-secondary{background:#eef0f3!important;color:#697486!important}.badge-light{background:#f2f4f7!important;color:#667184!important}.badge-danger{background:#fdeaea!important;color:#b53434!important}

/* BOTONES */
.btn{border-radius:12px;font-weight:700}.btn-primary{background:var(--portal-primary);border-color:var(--portal-primary)}.btn-primary:hover{background:color-mix(in srgb,var(--portal-primary) 88%,#000);border-color:color-mix(in srgb,var(--portal-primary) 88%,#000)}.btn-success{background:var(--portal-success);border-color:var(--portal-success)}.btn-outline-secondary{border-color:#d9dde5;color:#667184}.btn-outline-danger{border-color:#efc5c5;color:var(--portal-danger)}

/* DESAFIOS */
.portal-challenges-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-challenge-card{background:#fff;border:1px solid var(--portal-border);border-radius:20px;padding:20px;box-shadow:0 5px 18px rgba(31,41,55,.035)}.portal-challenge-top{display:flex;justify-content:space-between;gap:12px}.portal-challenge-card h3{font-size:18px;font-weight:850;letter-spacing:-.02em;margin:0}.portal-challenge-card p{font-size:13px;color:var(--portal-muted);line-height:1.5}.portal-record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.portal-record-box{border:1px solid var(--portal-border);border-radius:16px;padding:16px;text-align:center;background:#fff}.portal-record-box small{display:block;color:var(--portal-muted);font-size:9px;font-weight:800;letter-spacing:.05em}.portal-record-box strong{display:block;margin-top:4px;font-size:20px;font-weight:850}

/* Footer */
.sticky-footer{background:transparent!important;border:0!important;color:#9aa2b0;padding:20px 0 90px!important;font-size:11px}.scroll-to-top{display:none!important}

@media(max-width:900px){
 .portal-dashboard-grid{grid-template-columns:1fr 1fr}.portal-dashboard-grid .portal-stat-card:last-child{grid-column:1/-1}.portal-challenges-grid{grid-template-columns:1fr}
}
@media(max-width:767px){
 body{padding-bottom:74px}
 .portal-navbar{height:62px;padding:0 14px}.portal-navbar .portal-brand img{height:40px;max-width:105px}.portal-navbar .portal-brand span{display:none}.portal-navbar .nav-link{font-size:0}.portal-navbar .nav-link i{font-size:22px}
 .portal-children-bar{padding:12px 12px 0}.portal-children-heading small{display:none}.portal-child-card{min-width:238px;max-width:238px}.portal-child-summary{display:none}
 .portal-sidebar{position:fixed!important;left:8px;right:8px;bottom:8px;top:auto!important;height:62px;z-index:1050;border:1px solid rgba(225,228,234,.95);border-radius:20px;background:rgba(255,255,255,.96)!important;box-shadow:0 12px 35px rgba(31,41,55,.16)!important;padding:6px!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:2px;backdrop-filter:blur(14px)}
 .portal-sidebar .nav-item{min-width:0}.portal-sidebar .nav-item:nth-child(n+6){display:none}.portal-sidebar .nav-link{height:50px;padding:5px 2px!important;display:flex;flex-direction:column;justify-content:center;gap:1px;border-radius:14px;font-size:9px!important;text-align:center;overflow:hidden}.portal-sidebar .nav-link i{font-size:18px}.portal-sidebar .nav-link span{display:block!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}
 .portal-content,.container-fluid.portal-content{padding:18px 12px 90px!important}.portal-section-title{font-size:24px}.portal-page-head{margin-bottom:14px}
 .portal-welcome{padding:22px 20px;border-radius:22px}.portal-welcome h1{font-size:27px}.portal-dashboard-grid{grid-template-columns:1fr;gap:9px;margin-top:10px}.portal-dashboard-grid .portal-stat-card:last-child{grid-column:auto}.portal-stat-card{padding:14px;border-radius:17px}.portal-stat-card>i{width:42px;height:42px;flex-basis:42px}.portal-stat-card strong{font-size:23px}
 .portal-panel{padding:17px;border-radius:19px}.portal-panel-head{align-items:center}.portal-panel h2{font-size:18px}
 .portal-event-card{padding:12px;align-items:flex-start}.portal-event-date{width:52px;min-width:52px}.portal-event-body h3{font-size:15px}.portal-event-arrow{display:none}
 .portal-record-grid{grid-template-columns:1fr}.portal-login-shell{padding:14px}.portal-login-head{padding:28px 22px 8px}.portal-login-body{padding:16px 22px 26px}
 .portal-table-responsive .table-responsive{overflow:visible}.portal-table-responsive table.portal-table,.portal-table-responsive .portal-table tbody,.portal-table-responsive .portal-table tr,.portal-table-responsive .portal-table td{display:block;width:100%}.portal-table-responsive .portal-table thead{display:none}.portal-table-responsive .portal-table tr{padding:11px 14px;border-top:1px solid var(--portal-border)}.portal-table-responsive .portal-table tr:first-child{border-top:0}.portal-table-responsive .portal-table td{border:0;padding:4px 0;font-size:12px}.portal-table-responsive .portal-table td:first-child{font-size:14px;padding-top:0}
 .sticky-footer{display:none}
}

/* ===== NAVEGACIÓN PORTAL V2 ===== */
.portal-navbar{height:auto;min-height:76px;padding:0 24px;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(16px);border-bottom:1px solid var(--portal-border);position:sticky;top:0;z-index:1040}
.portal-navbar-inner{width:100%;max-width:1180px;margin:0 auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.portal-user-area{display:flex;align-items:center;gap:10px}.portal-user-name{font-size:13px;font-weight:700;color:var(--portal-muted);max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-account-btn,.portal-logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;border-radius:12px;text-decoration:none!important;font-weight:750;font-size:12px}
.portal-account-btn{padding:0 13px;background:#f3f5f8;color:var(--portal-text)!important}.portal-account-btn:hover{background:#eaedf2;transform:translateY(-1px)}
.portal-logout-btn{width:40px;background:color-mix(in srgb,var(--portal-danger) 8%,#fff);color:var(--portal-danger)!important}.portal-logout-btn:hover{background:color-mix(in srgb,var(--portal-danger) 13%,#fff)}

.portal-main-nav{position:sticky;top:76px;z-index:1025;background:rgba(255,255,255,.97);border-bottom:1px solid var(--portal-border);backdrop-filter:blur(14px)}
.portal-main-nav-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:5px;padding:9px 24px;overflow-x:auto;scrollbar-width:none}.portal-main-nav-inner::-webkit-scrollbar{display:none}
.portal-nav-link{position:relative;display:flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border-radius:13px;color:#717c8f!important;text-decoration:none!important;font-size:13px;font-weight:760;white-space:nowrap}
.portal-nav-link i{font-size:16px}.portal-nav-link:hover{color:var(--portal-text)!important;background:#f4f6f9;transform:translateY(-1px)}
.portal-nav-link.is-active{color:var(--portal-primary)!important;background:color-mix(in srgb,var(--portal-primary) 8%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--portal-primary) 10%,transparent)}
.portal-nav-link.is-active:after{content:"";position:absolute;left:14px;right:14px;bottom:-9px;height:3px;border-radius:9px 9px 0 0;background:var(--portal-accent)}

.portal-mobile-nav,.portal-more-menu,.portal-more-backdrop{display:none}

@media(max-width:767px){
 body{padding-bottom:88px}
 .portal-navbar{min-height:62px;padding:0 12px}.portal-navbar-inner{min-height:62px}.portal-navbar .portal-brand{max-width:58%}.portal-navbar .portal-brand img{height:40px;max-width:112px}.portal-navbar .portal-brand span{display:none}
 .portal-user-name,.portal-account-btn span{display:none}.portal-account-btn,.portal-logout-btn{width:38px;height:38px;padding:0;font-size:17px}
 .portal-main-nav{display:none!important}
 .portal-mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:9px;z-index:1080;height:68px;padding:6px;background:rgba(255,255,255,.96);border:1px solid rgba(223,227,234,.96);border-radius:22px;box-shadow:0 18px 45px rgba(26,34,48,.18);backdrop-filter:blur(18px)}
 .portal-mobile-link{border:0;background:transparent;appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:16px;color:#7b8596!important;text-decoration:none!important;font-family:inherit;font-size:9px;font-weight:760;line-height:1;cursor:pointer;min-width:0}
 .portal-mobile-link i{font-size:19px;line-height:1.1}.portal-mobile-link span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.portal-mobile-link.is-active{background:color-mix(in srgb,var(--portal-primary) 9%,#fff);color:var(--portal-primary)!important}.portal-mobile-link.is-active i{transform:translateY(-1px)}
 .portal-more-backdrop{position:fixed;inset:0;z-index:1085;background:rgba(15,23,42,.35);backdrop-filter:blur(2px)}.portal-more-backdrop.is-open{display:block}
 .portal-more-menu{display:block;position:fixed;left:10px;right:10px;bottom:10px;z-index:1090;background:#fff;border:1px solid var(--portal-border);border-radius:25px;padding:9px 14px 16px;box-shadow:0 25px 70px rgba(15,23,42,.25);transform:translateY(calc(100% + 30px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease}
 .portal-more-menu.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.portal-more-handle{width:42px;height:4px;border-radius:99px;background:#d9dde5;margin:1px auto 10px}.portal-more-head{display:flex;align-items:center;justify-content:space-between;padding:2px 3px 12px}.portal-more-head strong{font-size:17px}.portal-more-head button{width:34px;height:34px;border:0;border-radius:50%;background:#f3f5f8;color:#677286}
 .portal-more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.portal-more-grid a{min-height:74px;border:1px solid var(--portal-border);border-radius:17px;padding:12px;display:flex;align-items:center;gap:11px;color:var(--portal-text)!important;text-decoration:none!important;font-weight:780;font-size:13px;background:#fafbfc}.portal-more-grid a i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--portal-accent) 10%,#fff);color:var(--portal-accent);font-size:18px}
 .portal-more-logout{margin-top:10px;height:48px;border-radius:15px;background:#fff1f1;color:var(--portal-danger)!important;text-decoration:none!important;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:13px}
 .portal-children-bar{padding-top:12px}.portal-content,.container-fluid.portal-content{padding-bottom:104px!important}
}

/* ===== Pie de página del Portal de Familias ===== */
.portal-footer{margin-top:48px;padding:0 24px 28px;background:transparent}
.portal-footer__inner{max-width:1180px;margin:0 auto;padding:22px 26px;border:1px solid rgba(15,23,42,.08);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,250,252,.94));box-shadow:0 12px 34px rgba(15,23,42,.06);display:flex;align-items:center;justify-content:space-between;gap:24px}
.portal-footer__brand{display:flex;align-items:center;gap:13px;min-width:0}
.portal-footer__mark{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--portal-primary,#172554);box-shadow:0 7px 18px rgba(15,23,42,.16)}
.portal-footer__brand strong{display:block;color:#172033;font-size:.92rem;line-height:1.25}
.portal-footer__brand div>span{display:block;margin-top:3px;color:#7a8495;font-size:.76rem}
.portal-footer__meta{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#7a8495;font-size:.76rem}
.portal-footer__meta i{margin-right:4px}.portal-footer__dot{opacity:.45}
@media (max-width:767.98px){
 .portal-footer{margin-top:30px;padding:0 14px 92px}
 .portal-footer__inner{padding:18px;border-radius:19px;display:block;text-align:center}
 .portal-footer__brand{justify-content:center}
 .portal-footer__meta{justify-content:center;margin-top:14px;white-space:normal;flex-wrap:wrap}
}


/* Botones oscuros: texto siempre blanco */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:visited,
.portal-btn-primary,
.portal-btn-primary:hover,
.portal-btn-primary:focus,
.portal-btn-primary:active,
.portal-btn-primary:visited,
a.btn-primary,
a.btn-primary:hover,
a.btn-primary:focus,
a.btn-primary:visited {
  color:#fff !important;
}

/* Nombre del club junto al logo: sin subrayado */
.portal-navbar .portal-brand,
.portal-navbar .portal-brand:hover,
.portal-navbar .portal-brand:focus,
.portal-navbar .portal-brand:active,
.portal-navbar .portal-brand:visited,
.portal-navbar .portal-brand span {
  text-decoration:none !important;
}
