/* Shared presentation for the association's public sections and private panels. */
:root{--up-section-blue:#0759d3;--up-section-ink:#142747;--up-section-paper:#fff;--up-section-line:#dce5f2;--up-section-muted:#52627a}
body.up-unified{--up-area:#0759d3;--up-area-soft:#eaf1ff;background:#f3f6fc!important;color:var(--up-section-ink)!important;font-family:'Atkinson Hyperlegible Next',Arial,sans-serif!important;font-size:18px;line-height:1.6}
body.up-unified[data-up-section=juventud]{--up-area:#087a47;--up-area-soft:#e8f7ee}
body.up-unified[data-up-section=television]{--up-area:#6940b3;--up-area-soft:#f0ebfc}
body.up-unified[data-up-section=ayuda]{--up-area:#08766f;--up-area-soft:#e4f5f1}
body.up-unified[data-up-section=gestion]{--up-area:#a52a3d;--up-area-soft:#fff0f2}
body.up-unified :is(main,.container,.container-form,.dashboard-container,.admin-container,.main-content,.content,.panel-container,.card,.card-body,.welcome-card,.form-group){font-family:'Atkinson Hyperlegible Next',Arial,sans-serif!important}
body.up-unified :is(h1,h2,h3,h4,.page-title,.admin-category-title){font-family:'Plus Jakarta Sans',Arial,sans-serif!important;letter-spacing:-.035em;line-height:1.25}
body.up-unified h1{font-size:clamp(1.8rem,3.5vw,2.65rem)}
body.up-unified h2{font-size:clamp(1.4rem,2.3vw,1.9rem)}
body.up-unified :is(p,li,label,input,select,textarea,button){font-size:1rem}
body.up-unified main p:not(.up-youth-eyebrow){font-size:1.0625rem!important;line-height:1.6!important}
body.up-unified :is(label,input,select,textarea){font-size:1.0625rem!important}
body.up-unified :is(main,.dashboard-container,.admin-container,.panel-container){box-sizing:border-box;max-width:1200px;margin-left:auto;margin-right:auto}
body.up-unified main:not(.up-youth-page){padding:24px clamp(16px,3vw,32px)}
body.up-unified :is(.container-form,.card,.recurso-card,.ayuda-card,.servicio-card,.welcome-card,.panel-card,.dashboard-card,.box,.renovar-card){border:1px solid var(--up-section-line)!important;border-radius:18px!important;box-shadow:0 8px 24px #12284a0a!important}
body.up-unified :is(.card,.recurso-card,.ayuda-card,.servicio-card,.panel-card,.dashboard-card,.box,.renovar-card){background:#fff!important;color:var(--up-section-ink)}
body.up-unified :is(.card-body,.container-form){padding:clamp(20px,3vw,32px)}
body.up-unified :is(.welcome-card,.hero-section,.page-header,.hero-juvenil){background:linear-gradient(115deg,#101f3d,#193e79)!important;color:#fff!important;border:0!important;border-radius:20px!important;padding:clamp(24px,4vw,44px)!important}
body.up-unified :is(.welcome-card,.hero-section,.page-header,.hero-juvenil) :is(h1,h2,h3,p){color:#fff!important}
body.up-unified main>div[style*="linear-gradient"]{background:linear-gradient(115deg,#101f3d,#193e79)!important;border-radius:20px!important;padding:clamp(24px,4vw,44px)!important;box-shadow:none!important}
body.up-unified main>div[style*="linear-gradient"] :is(h1,h2,p){color:white!important}
body.up-unified main>div[style*="linear-gradient"] a{min-height:48px;box-sizing:border-box}
body.up-unified :is(.btn,.btn-submit,.btn-primary,.btn-enviar,.btn-servicio,.btn-joven,.btn-volver,.link-rapido){font-family:'Atkinson Hyperlegible Next',Arial,sans-serif!important;font-size:1rem!important;min-height:46px;box-sizing:border-box;border-radius:11px!important;font-weight:700!important;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 18px;line-height:1.3;white-space:normal}
body.up-unified :is(.btn-submit,.btn-primary,.btn-enviar,.btn-joven,.btn-servicio){background:var(--up-area)!important;color:white!important;border:1px solid var(--up-area)!important;box-shadow:0 5px 14px #17467b15!important}
body.up-unified[data-up-section=gestion] :is(.btn-primary,.btn-submit,.btn-enviar){background:#0759d3!important;color:white!important;border-color:#0759d3!important}
body.up-unified :is(.btn-volver,.btn-secondary){background:#eaf0fa!important;color:#183f7e!important;border:1px solid #d5e1f3!important;box-shadow:none!important}
body.up-unified :is(.btn-danger,.btn-borrar){background:#b32639!important;color:white!important;border-color:#b32639!important}
body.up-unified :is(.btn-success,.btn-leido){background:#087a47!important;color:white!important;border-color:#087a47!important}
body.up-unified :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea){box-sizing:border-box;max-width:100%;min-height:50px;border:1px solid #8fa1bc!important;border-radius:10px!important;background-color:#fff;color:#17294a;padding:11px 13px;font:inherit!important;box-shadow:none}
body.up-unified input[type=file]{height:auto;min-height:52px}
body.up-unified :is(input[type=checkbox],input[type=radio]){accent-color:var(--up-area);min-width:20px;min-height:20px;flex-shrink:0}
body.up-unified label{font-weight:650;line-height:1.4}
body.up-unified .form-group{margin-bottom:20px}
body.up-unified :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #e8ad15!important;outline-offset:3px}
body.up-unified :is(.admin-grid,.grid-cards,.cards-grid,.servicios-grid){gap:20px}
body.up-unified .nav-card{background:white!important;border:1px solid var(--up-section-line)!important;border-top:4px solid var(--up-area)!important;border-radius:16px!important;box-shadow:0 7px 20px #12284a08!important;color:var(--up-section-ink)!important;transition:box-shadow .18s,transform .18s}
body.up-unified .nav-card:hover{transform:translateY(-2px);box-shadow:0 12px 25px #12284a14!important}
body.up-unified .nav-card :is(.panel-desc,small,p){color:var(--up-section-muted)!important}
body.up-unified :is(.sidebar,.admin-sidebar){background:#122749!important;border-radius:0 20px 20px 0}
body.up-unified :is(.sidebar,.admin-sidebar) a{min-height:46px;font-family:inherit!important;border-radius:9px;margin:4px 8px}
body.up-unified table{border-collapse:separate;border-spacing:0;border-radius:14px;border:1px solid var(--up-section-line);background:#fff;color:#17294a;font-family:inherit!important;max-width:100%}
body.up-unified th{background:#eaf0fb!important;color:#173666!important;font-family:inherit!important;padding:15px 16px;border-bottom:1px solid #d7e1ef;font-size:.94rem;text-align:left}
body.up-unified td{padding:14px 16px;border-bottom:1px solid #e7edf6;vertical-align:middle;font-size:.95rem}
body.up-unified tr:last-child td{border-bottom:0}
body.up-unified :is(.alert,.alerta-exito){border-radius:12px;border:1px solid #b8dec9;background:#ecf8f1;color:#175839;padding:16px 20px;box-shadow:none}
body.up-unified .up-connect-card{box-sizing:border-box;width:calc(100% - 32px);max-width:650px!important;margin:40px auto!important;padding:32px!important;background:white!important;border:1px solid #dce5f2;border-radius:20px!important;box-shadow:0 8px 24px #12284a0a!important;color:#142747}
body.up-unified .up-connect-card a{box-sizing:border-box;min-height:50px;display:inline-flex!important;align-items:center;background:#0759d3!important;color:white!important;padding:12px 20px!important;border-radius:11px!important;font:700 1rem 'Atkinson Hyperlegible Next',Arial,sans-serif!important}
body.up-unified nav.navbar{background:white!important;color:#142747!important;border-bottom:1px solid #dce5f2;box-shadow:0 6px 22px #12284a06!important;padding:16px 24px}
body.up-unified nav.navbar a{color:#173b70!important;font-family:inherit!important;font-weight:700}
body.up-unified nav.navbar .navbar-brand{font-family:'Plus Jakarta Sans',Arial,sans-serif!important;font-size:1.3rem}
body.up-unified nav.navbar img{width:48px;height:36px;object-fit:contain}
body.up-unified nav.navbar :is(.btn-outline-light,.btn-outline-secondary){background:#edf2fa!important;border:1px solid #d7e2f1!important;border-radius:10px!important}
body.up-unified :is(.badge,.status-badge){border-radius:7px;font-family:inherit!important;font-weight:700;letter-spacing:.015em}
body.up-unified img{max-width:100%}
body.up-unified :is(.grid,.grid-cards,.cards-grid,.admin-grid,.servicios-grid)>*{min-width:0}
.up-section-top{box-sizing:border-box;max-width:1200px;margin:20px auto 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;border:1px solid var(--up-section-line);border-radius:18px;padding:17px 24px;box-shadow:0 6px 22px #12284a06}
.up-section-top .up-brand{font-size:1.35rem;max-width:100%;color:#142747;text-decoration:none;font-family:'Plus Jakarta Sans',Arial,sans-serif;font-weight:800;display:inline-flex;align-items:center;gap:12px}
.up-section-top .up-brand img{width:54px;height:39px;object-fit:contain}
.up-section-top strong{color:#0759d3}
.up-section-top a.up-section-return{color:#294a7e;font-weight:700;text-decoration:none;padding:10px 14px;min-height:44px;box-sizing:border-box;border:1px solid var(--up-section-line);border-radius:10px}
.up-section-tabs{border-block:1px solid #dce9e2;background:#f0f8f3;margin-bottom:0}
.up-section-tabs>div{max-width:1200px;margin:auto;display:flex;gap:8px;align-items:center;padding:10px 24px;overflow-x:auto}
.up-section-tabs a{font:700 .95rem 'Atkinson Hyperlegible Next',Arial,sans-serif;text-decoration:none;white-space:nowrap;color:#19593b;border-radius:9px;padding:10px 16px;min-height:44px;box-sizing:border-box}
.up-section-tabs a[aria-current=page]{background:#087a47;color:white;box-shadow:0 3px 8px #087a471a}
.up-section-icon{width:1.35em;height:1.35em;vertical-align:middle;flex-shrink:0;stroke:currentColor;fill:none}
.up-module-title>.up-section-icon{width:1.05em;height:1.05em;margin-right:.3em;vertical-align:-.12em}
i.up-modern-icon{font-size:inherit!important;display:inline-flex;align-items:center;justify-content:center;line-height:1}
i.up-modern-icon:before{display:none!important}

/* Espacio joven: same visual language, its own green and warm colour accents. */
.up-youth-page{max-width:1200px;padding:32px 24px 56px;margin:0 auto;box-sizing:border-box}
.up-youth-hero{background:linear-gradient(110deg,#10213f 0%,#173b68 68%,#155d56 100%);border:1px solid #294b77;border-radius:24px;padding:clamp(28px,5vw,62px);color:white;position:relative;overflow:hidden}
.up-youth-hero:after{content:'';position:absolute;inset:0 0 0 auto;width:12px;background:linear-gradient(#3bd6b0,#ffcb37);opacity:.9}
.up-youth-eyebrow{font:800 .8rem 'Plus Jakarta Sans',Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#a9e9d4!important;margin:0 0 20px}
body.up-unified .up-youth-hero h1{font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.05em;max-width:780px;margin:0 0 22px;color:white}
.up-youth-hero h1 span{color:#64e4be}
body.up-unified .up-youth-hero>p:not(.up-youth-eyebrow){font-size:1.2rem!important;line-height:1.55!important;max-width:740px;color:#dfebf9;margin:0 0 28px}
.up-youth-actions{display:flex;flex-wrap:wrap;gap:12px}
.up-youth-actions a{min-height:52px;box-sizing:border-box;display:inline-flex;align-items:center;gap:10px;border-radius:12px;padding:13px 21px;font-size:1rem;font-weight:800;text-decoration:none;line-height:1.35}
.up-youth-actions .up-youth-primary{background:#ffcd3c;color:#15213b;box-shadow:0 5px 18px #00132a1a}
.up-youth-actions .up-youth-secondary{background:#ffffff0d;color:white;border:1px solid #aac6e28c}
.up-youth-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:38px 0 22px}
.up-youth-heading h2{margin:0;color:#142747}
.up-youth-heading p{margin:0;color:#52627a;max-width:420px}
.up-youth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.up-youth-card{--card-accent:#0759d3;--card-soft:#e9f1ff;display:flex;flex-direction:column;position:relative;background:white;border:1px solid #dce5f2;border-top:4px solid var(--card-accent);border-radius:18px;padding:27px;box-shadow:0 7px 24px #12284a07;transition:transform .18s,box-shadow .18s}
.up-youth-card:nth-child(2){--card-accent:#087a47;--card-soft:#e6f6ed}
.up-youth-card:nth-child(3){--card-accent:#7043b5;--card-soft:#f0e9fc}
.up-youth-card:nth-child(4){--card-accent:#a85a00;--card-soft:#fff1d0}
.up-youth-card:nth-child(5){--card-accent:#087a79;--card-soft:#e5f5f3}
.up-youth-card:nth-child(6){--card-accent:#b12e4b;--card-soft:#fff0f3}
.up-youth-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #12284a10}
.up-youth-card>.up-section-icon{box-sizing:border-box;width:56px;height:56px;padding:12px;stroke-width:1.8;background:var(--card-soft);color:var(--card-accent);border-radius:14px;margin-bottom:22px}
.up-youth-card h3{font-size:1.35rem;color:#142747;margin:0 0 12px}
.up-youth-card p{line-height:1.55;color:#52627a;margin:0 0 24px;flex:1}
.up-youth-card>a{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;background:var(--card-soft);color:var(--card-accent);border:1px solid transparent;border-radius:10px;font-weight:800;padding:11px 15px;min-height:48px;box-sizing:border-box}
.up-youth-card>a:hover{border-color:var(--card-accent)}
.up-youth-community{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;border-radius:18px;background:#eaf4ee;border:1px solid #cee3d5;color:#153e2d}
.up-youth-community strong{font:800 2.1rem 'Plus Jakarta Sans',Arial,sans-serif;color:#087a47;display:block}
.up-youth-community p{margin:0;max-width:620px}
.up-youth-community a{color:#155c3c;font-weight:800;text-underline-offset:4px}
body.up-unified[data-up-section=juventud] main [style*="grid-template-columns"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))!important}
body.up-unified[data-up-section=juventud] main div[style*="background: white"][style*="border-radius"]{border:1px solid #dce5f2!important;border-radius:18px!important;box-shadow:0 7px 24px #12284a07!important}

@media(max-width:760px){
 body.up-unified{font-size:17px}
 body.up-unified :is(.container,.dashboard-container,.admin-container,.panel-container){width:auto;max-width:100%;box-sizing:border-box;margin-inline:auto;padding-inline:16px!important}
 body.up-unified :is(.card,.container-form,.box,.welcome-card){max-width:100%;box-sizing:border-box}
 body.up-unified table{display:block;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}
 body.up-unified :is(.btn,.btn-submit,.btn-primary,.btn-enviar){min-height:48px}
 body.up-unified .nav-card{padding:22px}
 .up-section-top{margin:14px 16px 22px;padding:14px 16px;flex-wrap:wrap;gap:10px;border-radius:14px}
 .up-section-top .up-brand{font-size:1.05rem}
 .up-section-top .up-brand img{width:42px;height:32px}
 .up-section-top a.up-section-return{font-size:.9rem}
 .up-section-tabs>div{padding:8px 16px;gap:4px;flex-wrap:wrap;overflow:visible}
 .up-section-tabs a{font-size:.92rem;padding:9px 12px}
 .up-youth-page{padding:20px 16px 36px}
 .up-youth-hero{border-radius:18px;padding:28px 24px}
 body.up-unified .up-youth-hero>p:not(.up-youth-eyebrow){font-size:1.1rem!important}
 .up-youth-actions a{width:100%;justify-content:center}
 .up-youth-heading{display:block;margin-top:30px}
 .up-youth-heading p{margin-top:12px}
 .up-youth-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .up-youth-card{padding:22px}
 .up-youth-community{padding:24px;align-items:start;flex-direction:column;gap:16px}
}
@media(max-width:520px){.up-youth-grid{grid-template-columns:minmax(0,1fr)}.up-youth-card h3{font-size:1.3rem}.up-youth-card>.up-section-icon{margin-bottom:16px}.up-section-top a.up-section-return{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.up-youth-card,body.up-unified .nav-card{transition:none!important;transform:none!important}}
@media print{.up-section-top,.up-section-tabs{display:none!important}body.up-unified{background:white!important;font-size:12pt!important}body.up-unified table{display:table;overflow:visible}}

.up-secretariat-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 24px}
.up-secretariat-members>a{display:flex;flex-direction:column;gap:7px;padding:20px;border:1px solid #a9d2ea;border-left:5px solid #1776a8;border-radius:13px;background:linear-gradient(135deg,#e4f5ff,#fff);color:#12618c;text-decoration:none;min-width:0}
.up-secretariat-members strong{font-size:19px;line-height:1.3}.up-secretariat-members span{font-size:15px;line-height:1.5;color:#47677b}
@media(max-width:760px){
 .up-secretariat-members{grid-template-columns:minmax(0,1fr)}
 .up-secretariat-workspace [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
 .up-secretariat-workspace a{overflow-wrap:anywhere}
 body.up-unified .up-member-management{margin:18px auto!important;padding:16px!important;min-width:0}
 .up-member-management>div:first-child{flex-wrap:wrap;gap:14px}
 .up-member-management form,.up-member-management form>div{min-width:0;max-width:100%;box-sizing:border-box}
 .up-member-management form [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
 .up-member-management :is(input,select,textarea,img){max-width:100%;box-sizing:border-box}
 body.up-unified .up-member-management table{min-width:760px;display:table;width:100%}
 .up-member-management table a{display:inline-flex;align-items:center;min-height:44px}
}
