@font-face{font-family:Outfit;src:url('../fonts/Outfit-Regular.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:Outfit;src:url('../fonts/Outfit-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('../fonts/InstrumentSans-Regular.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('../fonts/InstrumentSans-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
/* All presentation is scoped to the new shell. Exported documents do not load it. */
.upcn-ui{--brand:#102f4e;--primary:#2d5e86;--border:#d7e0e5;--muted:#607382;--canvas:#f7f9fa;margin:0;background:var(--canvas);color:#183247;font:16px/1.5 'Instrument Sans',Arial,sans-serif;min-height:100vh;display:flex;flex-direction:column}
.upcn-ui *{box-sizing:border-box}
.upcn-ui a{color:var(--primary);text-underline-offset:3px}
.upcn-ui :is(a,button,input,select,textarea):focus-visible{outline:3px solid #4596c7;outline-offset:3px}
.upcn-ui h1,.upcn-ui h2,.upcn-ui h3,.upcn-ui legend{font-family:Outfit,Arial,sans-serif;color:var(--brand);line-height:1.2}
.upcn-ui h1{font-size:clamp(28px,3vw,40px);margin:0 0 12px}
.upcn-ui h2{font-size:24px}.upcn-ui h3{font-size:20px}
.upcn-ui .ui-skip{position:absolute;left:16px;top:-100px;z-index:2000;padding:12px;background:white}
.upcn-ui .ui-skip:focus{top:10px}
.upcn-ui .ui-topbar{background:var(--brand);color:white}
.upcn-ui .ui-topbar-inner{max-width:1280px;width:calc(100% - 48px);margin:auto;min-height:96px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:14px 0}
.upcn-ui .ui-brand{display:flex;align-items:center;gap:20px;color:white;text-decoration:none;min-width:0}
.upcn-ui .ui-brand img{width:142px;height:56px;object-fit:contain}
.upcn-ui .ui-brand>span{border-left:1px solid #ffffff50;padding-left:20px;font:600 24px/1.3 Outfit,Arial,sans-serif}
.upcn-ui .ui-brand small{display:block;font:12px/1.5 'Instrument Sans',Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#c4d7e6}
.upcn-ui .ui-session{text-align:right;font-size:14px;min-width:0;overflow-wrap:anywhere}
.upcn-ui .ui-session>span{display:block;margin-bottom:4px}
.upcn-ui .ui-session a,.upcn-ui .ui-session button{color:white}
.upcn-ui .ui-session form{margin:0}.upcn-ui .ui-session button{background:transparent;border:1px solid #ffffff60;padding:8px 12px;border-radius:6px;min-height:44px}
.upcn-ui .ui-nav{border-top:1px solid #ffffff25;background:#163b5c}
.upcn-ui .ui-nav>ul{display:flex;flex-wrap:wrap;max-width:1280px;width:calc(100% - 48px);padding:0;margin:0 auto;list-style:none;gap:4px}
.upcn-ui .ui-nav>ul>li>a,.upcn-ui .ui-nav button{display:block;padding:13px 14px;color:white;background:transparent;border:0;font:inherit;text-decoration:none;min-height:48px}
.upcn-ui .ui-nav>ul>li>a:hover,.upcn-ui .ui-nav button:hover,.upcn-ui .ui-nav [aria-current]{background:#ffffff18}
.upcn-ui .dropdown-menu{padding:8px;border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px #102f4e20}
.upcn-ui .dropdown-menu>li>a{padding:10px 14px;border-radius:4px;color:var(--brand)}
.upcn-ui .ui-page{width:calc(100% - 48px);max-width:1280px;margin:auto;padding:32px 0 56px;flex:1;min-width:0}
.upcn-affiliate .ui-page{max-width:1120px}
.upcn-ui .ui-page-head{margin-bottom:24px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}
.upcn-ui .ui-page-head h1{flex:1 1 70%}.upcn-ui .ui-eyebrow{flex-basis:100%;margin:0;color:var(--primary);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.upcn-ui .ui-content{min-width:0;display:flow-root}
.upcn-ui .ui-content>.row{margin-left:0;margin-right:0}
.upcn-ui .ui-content>form,.upcn-ui .ui-content>.cuadro,.upcn-ui .ui-content>.panel,.upcn-ui .ui-content>div:not(.row):not(.ui-actions):not(.alert):not(.ui-table-scroll):not(.table-responsive):not(.modal):not(.ui-user-intro){background:#fff;border:1px solid var(--border);border-radius:8px;padding:22px;box-shadow:0 8px 28px #102f4e08;margin-bottom:20px}
.upcn-ui .ui-content>form:has(fieldset){padding:0;background:transparent;border:0;box-shadow:none}
.upcn-ui fieldset.fieldset_solicitud,.upcn-ui .ui-card{min-width:0;padding:22px;margin:0 0 22px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 28px #102f4e08;display:flow-root}
.upcn-ui fieldset legend{font-size:20px;font-weight:600;width:auto;border:0;padding:0 8px;margin:0 0 12px;max-width:100%}
.upcn-ui .datos_afiliado{padding:8px 0;overflow-wrap:anywhere}
.upcn-ui .datos_afiliado strong{display:block}.upcn-ui .form_titulo{margin:8px 0 18px}
.upcn-ui input:where(:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button])),.upcn-ui select,.upcn-ui textarea{font:inherit;max-width:100%;min-height:44px;border:1px solid #afbec7;border-radius:6px;padding:9px 12px;background:#fff;color:#183247}
.upcn-ui .form-control{height:auto;box-shadow:none}
.upcn-ui input[type=checkbox],.upcn-ui input[type=radio]{width:18px;height:18px;accent-color:var(--primary);vertical-align:middle}
.upcn-ui label{font-weight:600;max-width:100%}.upcn-ui .form-group{margin-bottom:20px}
.upcn-ui .btn{font:700 14px/1.5 'Instrument Sans',Arial,sans-serif;border-radius:6px;min-height:44px;padding:10px 16px;white-space:normal;text-decoration:none;box-shadow:none}
.upcn-ui .btn-primary,.upcn-ui .btn-upcn{background:var(--primary);border-color:var(--primary);color:white}
.upcn-ui .btn-primary:hover,.upcn-ui .btn-upcn:hover{background:#234b6c}
.upcn-ui .btn-default{border-color:var(--border);background:#fff;color:#183247}.upcn-ui .btn-default:hover{background:#edf3f6}
.upcn-ui .btn-link{color:var(--primary)}.upcn-ui .btn-sm,.upcn-ui .btn-xs{padding:6px 10px;min-height:36px}
.upcn-ui .ui-actions,.upcn-ui div.fieldset_solicitud{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.upcn-ui .alert{border-radius:8px;padding:16px 18px;margin-bottom:20px;overflow-wrap:anywhere}
.upcn-ui .alert-info{background:#edf5f9;border-color:#d2e2ec;color:var(--brand)}
.upcn-ui .alert-success{background:#eaf6ef;border-color:#b9dec9;color:#24734b}
.upcn-ui .alert-danger{background:#fff0ee;border-color:#edc2be;color:#a63d36}
.upcn-ui .table{width:100%;background:#fff;border:1px solid var(--border);font-size:14px;margin-bottom:20px}
.upcn-ui .table>thead>tr>th{background:#edf3f6;color:var(--brand);border-bottom:1px solid var(--border);font-weight:700}
.upcn-ui .table>tbody>tr>td,.upcn-ui .table>thead>tr>th{padding:13px 14px;vertical-align:top;border-color:var(--border)}
.upcn-ui .table>tbody>tr:hover{background:#f7fafc}
.upcn-ui .table select{width:100%;min-width:125px}
.upcn-ui .ui-table-scroll,.upcn-ui .table-responsive{max-width:100%;overflow-x:auto;clear:both;border:0}
.upcn-ui .ui-table-scroll>.table{margin-bottom:0}.upcn-ui .ui-table-scroll{margin-bottom:20px}
.upcn-ui .pagination>li>a,.upcn-ui .pagination>li>span{padding:10px 15px;color:var(--primary);border-color:var(--border)}
.upcn-ui .pagination>.active>a,.upcn-ui .pagination>.active>span{background:var(--primary);color:white}
.upcn-ui .info-afiliado{padding:18px 18px 18px 34px;margin:20px 0;background:#eef4f7;border-left:4px solid var(--primary);border-radius:0 6px 6px 0;font-size:14px}
.upcn-ui .modal-content{border-radius:10px}.upcn-ui .modal-header{background:#edf3f6;border-radius:10px 10px 0 0}.upcn-ui .modal-body{overflow-wrap:anywhere}
.upcn-ui .ui-footer{padding:26px max(24px,calc((100% - 1280px)/2));display:flex;justify-content:space-between;gap:24px;background:var(--brand);color:white;font-size:14px;margin-top:auto}
.upcn-ui .ui-footer span{display:block;color:#c4d7e6;margin-top:4px}.upcn-ui .ui-footer a{color:white}
.upcn-ui .ui-login{max-width:440px;margin:0 auto}.upcn-ui .ui-login input{width:100%;margin-bottom:18px}.upcn-ui .ui-login .btn{margin:8px 0 0}
.upcn-ui .ui-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px}
.upcn-ui .ui-data-grid dt{font-size:12px;color:var(--muted);text-transform:uppercase;margin-bottom:4px}
.upcn-ui .ui-data-grid dd{font-weight:600;overflow-wrap:anywhere}.upcn-ui .ui-data-grid>div{min-width:0}
.upcn-ui .ui-contact{max-width:440px}.upcn-ui .ui-contact input{width:100%}
.upcn-ui .ui-contact p{overflow-wrap:anywhere}
.upcn-ui .ui-status{display:inline-block;padding:5px 12px;border-radius:20px;color:#24734b;background:#eaf6ef;font-weight:700;font-size:14px}
.upcn-ui .ui-state{max-width:720px;margin:0 auto;text-align:center;padding:32px}
.upcn-ui .ui-state p{margin:16px 0 24px}.upcn-ui .ui-print{margin-bottom:18px}
@media(max-width:1024px){
 .upcn-ui .ui-page{width:calc(100% - 32px)}
 .upcn-ui .ui-nav>ul,.upcn-ui .ui-topbar-inner{width:calc(100% - 32px)}
 .upcn-ui .ui-nav>ul>li>a,.upcn-ui .ui-nav button{padding-inline:10px}
 .upcn-affiliate .ui-beneficiaries select{min-width:0}
 .upcn-affiliate .ui-beneficiaries th,.upcn-affiliate .ui-beneficiaries td{padding:10px 7px!important}
}
@media(max-width:760px){
 .upcn-affiliate .ui-topbar-inner{gap:12px;flex-wrap:wrap;min-height:80px}
 .upcn-affiliate .ui-brand{gap:12px}.upcn-affiliate .ui-brand img{width:106px;height:44px}
 .upcn-affiliate .ui-brand>span{font-size:18px;padding-left:12px}.upcn-affiliate .ui-brand small{font-size:10px}
 .upcn-affiliate .ui-session{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;text-align:left;font-size:12px}
 .upcn-affiliate .ui-session>span{margin:0}
 .upcn-affiliate .ui-page{padding-block:24px 36px}
 .upcn-affiliate .ui-data-grid{grid-template-columns:1fr;gap:16px}
 .upcn-affiliate fieldset.fieldset_solicitud,.upcn-affiliate .ui-card{padding:16px}
 .upcn-affiliate .ui-beneficiaries,.upcn-affiliate .ui-beneficiaries tbody,.upcn-affiliate .ui-beneficiaries tr,.upcn-affiliate .ui-beneficiaries td{display:block;width:100%}
 .upcn-affiliate .ui-beneficiaries thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .upcn-affiliate .ui-beneficiaries tr{padding:12px;border-bottom:1px solid var(--border)}
 .upcn-affiliate .ui-beneficiaries td{border:0!important;padding:8px 0!important;overflow-wrap:anywhere}
 .upcn-affiliate .ui-beneficiaries td::before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:4px}
 .upcn-affiliate .ui-beneficiaries select{width:100%;min-width:0;font-size:16px}
 .upcn-affiliate .ui-beneficiaries ul{padding-left:20px}
 .upcn-affiliate .table-responsive{overflow:visible;margin:0}
 .upcn-affiliate .ui-actions>.btn,.upcn-affiliate div.fieldset_solicitud>.btn{width:100%}
 .upcn-affiliate .ui-footer{flex-direction:column;gap:12px;padding:24px 16px}
 .upcn-affiliate .ui-content>.ui-state{padding:20px 16px}
}
@media print{
 .upcn-ui{display:block;background:#fff;color:#111;font-size:11pt}
 .upcn-ui .ui-topbar,.upcn-ui .ui-footer,.upcn-ui .ui-actions,.upcn-ui .ui-print,.upcn-ui .ui-skip,.upcn-ui .ui-page-head .btn{display:none!important}
 .upcn-ui .ui-page{width:100%;max-width:none;padding:0}
 .upcn-ui .ui-card,.upcn-ui fieldset.fieldset_solicitud{box-shadow:none;break-inside:avoid}
 .upcn-ui .ui-table-scroll,.upcn-ui .table-responsive{overflow:visible}
 .upcn-affiliate .ui-beneficiaries{display:table}.upcn-affiliate .ui-beneficiaries tbody{display:table-row-group}.upcn-affiliate .ui-beneficiaries tr{display:table-row}.upcn-affiliate .ui-beneficiaries td{display:table-cell;width:auto}
 .upcn-affiliate .ui-beneficiaries thead{display:table-header-group;position:static;width:auto;height:auto;clip:auto}
 .upcn-affiliate .ui-beneficiaries td::before{display:none}
 .upcn-ui a[href]::after{content:none}
}
/* Bootstrap's small-screen table wrapper sets nowrap; cards must wrap names. */
.upcn-ui.upcn-affiliate .ui-beneficiaries td{white-space:normal;overflow-wrap:anywhere}
/* Existing search/report forms retain their Bootstrap columns and receive a shared surface. */
.upcn-internal .ui-content>.row:has(>form){background:#fff;border:1px solid var(--border);border-radius:8px;padding:22px 8px;margin-bottom:24px;box-shadow:0 8px 28px #102f4e08}
.upcn-internal .ui-content>.row>form{display:flow-root}
.upcn-internal .ui-content form .form-control{margin-bottom:12px}
.upcn-ui .mbottom{margin-bottom:20px}
.upcn-ui .modal img{max-width:100%;height:auto}
/* User administration: grouped fields and a single, consistent error treatment. */
.upcn-ui .ui-content>.ui-user-intro{background:transparent;border:0;box-shadow:none;padding:0;margin:0 0 24px;max-width:1040px}
.upcn-ui .ui-user-intro p{margin:0 0 8px;overflow-wrap:anywhere}
.upcn-ui .ui-form-note,.upcn-ui .ui-section-help{color:var(--muted);font-size:14px}
.upcn-ui .ui-user-form{max-width:1040px}
.upcn-ui .ui-user-sections{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:stretch}
.upcn-ui .ui-user-sections .ui-card{margin:0;padding:24px;min-width:0}
.upcn-ui .ui-user-sections legend{margin-bottom:0;padding-inline:8px;font-size:19px}
.upcn-ui .ui-section-help{margin:0 0 24px}
.upcn-ui .ui-user-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.upcn-ui .ui-user-password{grid-column:1/-1}
.upcn-ui .ui-user-sections-password{grid-template-columns:1fr;max-width:720px}
.upcn-ui .ui-user-form .ui-field{min-width:0}
.upcn-ui .ui-user-access .ui-field+.ui-field{margin-top:24px}
.upcn-ui .ui-user-form .ui-field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.upcn-ui .ui-user-form label.required::after{content:' *';color:var(--primary)}
.upcn-ui .ui-user-form .ui-field .form-control{width:100%;max-width:none;min-height:46px;margin:0;font-size:16px}
.upcn-ui .ui-user-form .help-text{font-size:13px;color:var(--muted);margin:8px 0 0}
.upcn-ui .ui-user-form .ui-field-invalid .form-control{border-color:#b54035}
.upcn-ui .ui-field-errors{padding:0;list-style:none;color:#a63d36;font-size:14px;margin:8px 0 0}
.upcn-ui .ui-field-errors li+li{margin-top:4px}
.upcn-ui .ui-password-link{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}
.upcn-ui .ui-password-link p{font-size:13px;color:var(--muted);margin-bottom:12px}
.upcn-ui .ui-user-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}
@media(max-width:900px){
 .upcn-ui .ui-user-sections{grid-template-columns:1fr;gap:24px}
}
@media(max-width:540px){
 .upcn-ui .ui-user-fields{grid-template-columns:1fr;gap:20px}
 .upcn-ui .ui-user-sections .ui-card{padding:18px}
 .upcn-ui .ui-user-actions>.btn{width:100%}
}
/* Request choices retain native controls, with a wrapping visual value. */
.upcn-affiliate .ui-page:has(.ui-request-form){max-width:1280px}
.upcn-ui .ui-beneficiary-container{padding-inline:0}
.upcn-ui .ui-beneficiary-inputs{table-layout:auto}
.upcn-ui .ui-beneficiary-inputs td{white-space:normal;overflow-wrap:anywhere}
.upcn-ui .ui-beneficiary-identity{min-width:190px;max-width:280px}
.upcn-ui .ui-beneficiary-identity strong{display:block;font-size:16px;line-height:1.4;margin-bottom:10px}
.upcn-ui .ui-beneficiary-meta{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:13px;line-height:1.5}
.upcn-ui .ui-select-wrap{position:relative;display:flex;align-items:center;width:100%;min-width:140px;min-height:46px;border:1px solid #afbec7;border-radius:6px;padding:10px 32px 10px 12px;background:#fff;color:#183247;font-size:16px;line-height:1.4}
.upcn-ui .ui-select-wrap:has(.select-anio){min-width:280px}
.upcn-ui .ui-select-wrap::after{content:'';position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.upcn-ui .ui-select-wrap>select{position:absolute;inset:0;width:100%;height:100%;min-width:0;margin:0;opacity:0;cursor:pointer;z-index:1}
.upcn-ui .ui-select-value{min-width:0;white-space:normal;overflow-wrap:anywhere;pointer-events:none}
.upcn-ui .ui-select-wrap:focus-within{outline:3px solid #4596c7;outline-offset:3px}
.upcn-ui .ui-select-wrap:has(select:disabled){background:#edf3f6;color:var(--muted)}
@media(max-width:1279px){
 .upcn-ui .ui-beneficiary-container{overflow:visible}
 .upcn-ui .ui-beneficiary-inputs,.upcn-ui .ui-beneficiary-inputs tbody{display:block;width:100%}
 .upcn-ui .ui-beneficiary-inputs thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .upcn-ui .ui-beneficiary-inputs tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px;border-bottom:1px solid var(--border);width:100%}
 .upcn-ui .ui-beneficiary-inputs tbody td{display:block;min-width:0;width:auto;border:0!important;padding:0!important}
 .upcn-ui .ui-beneficiary-inputs td::before{content:attr(data-label);display:block;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:8px}
 .upcn-ui .ui-beneficiary-inputs .ui-beneficiary-identity{grid-column:1/-1;max-width:none;border-bottom:1px solid var(--border)!important;padding-bottom:16px!important}
 .upcn-ui .ui-beneficiary-inputs .ui-beneficiary-identity::before{display:none}
 .upcn-ui .ui-beneficiary-meta{flex-direction:row;flex-wrap:wrap;gap:6px 24px}
 .upcn-ui .ui-beneficiary-inputs .ui-select-wrap{min-width:0}
}
@media(max-width:600px){
 .upcn-ui .ui-beneficiary-inputs tr{grid-template-columns:1fr;padding:16px;gap:18px}
 .upcn-ui .ui-beneficiary-meta{flex-direction:column;gap:4px}
}
