:root{--cta-ink:#002d4b;--cta-slate:#4b5a7b;--cta-accent:#785177;--cta-paper:#fbfbfa;--cta-surface:#fff;--cta-line:#d9dde2;--cta-muted:#53616d;--cta-soft:#f1f4f7}
.skip{position:absolute;left:15px;top:-100px;background:#fff;color:var(--cta-ink);padding:10px;z-index:99}.skip:focus{top:10px}
.cta-wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.cta-institution{background:var(--cta-ink);color:#eef3f6;font:600 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.13em;padding:8px 0}
.cta-institution .cta-wrap{display:flex;justify-content:space-between;gap:24px}
.cta-institution span{font-weight:400;letter-spacing:.04em}
.cta-header{position:relative;z-index:40;background:var(--cta-surface);border-bottom:1px solid var(--cta-line);font-family:Arial,Helvetica,sans-serif;color:var(--cta-ink)}
.cta-header-inner{min-height:80px;display:flex;align-items:center;gap:28px}
.cta-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--cta-ink);font-size:15px;font-weight:700;line-height:1.25;white-space:nowrap}
.cta-brand img{display:block;width:146px;height:50px;object-fit:contain;object-position:left center}
.cta-brand small{display:block;margin-top:3px;color:var(--cta-muted);font-size:9px;font-weight:400;letter-spacing:.02em}
.cta-global-nav{display:flex;align-items:center;gap:23px;margin-left:auto}
.cta-global-nav a,.cta-account-actions>a,.cta-account-actions button{color:var(--cta-slate);font-size:12px;font-weight:600;text-decoration:none;background:transparent;border:0;border-bottom:2px solid transparent;padding:10px 0;cursor:pointer;white-space:nowrap}
.cta-global-nav a:hover,.cta-global-nav a[aria-current=page],.cta-account-actions>a:hover,.cta-account-actions>a[aria-current=page],.cta-account-actions button:hover{color:var(--cta-ink);border-color:var(--cta-accent)}
.cta-account-actions{display:flex;align-items:center;gap:13px}
.cta-account-actions form{margin:0}
.cta-user{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cta-muted);font-size:11px}
.cta-login{border:1px solid var(--cta-slate)!important;border-radius:7px;padding:8px 13px!important}
.workspace-home{min-height:60vh}
.workspace-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}
.workspace-card{display:flex;flex-direction:column;min-height:260px;padding:28px;background:var(--cta-surface);border:1px solid var(--cta-line);border-radius:12px}
.workspace-card-kicker{color:var(--cta-accent);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.workspace-card h2{margin:18px 0 12px;color:var(--cta-ink)}
.workspace-card p{flex:1}
.workspace-card .button{align-self:flex-start}
.auth-page{max-width:620px}.account-page{max-width:900px}.admin-users-page{max-width:1180px}
.section-gap{margin-top:2rem}.back-link{margin-top:1rem}.stacked-form,.admin-user-list{display:grid;gap:1rem}
.stacked-form label{display:grid;gap:.45rem;color:var(--cta-ink);font-size:.82rem;font-weight:700}
.stacked-form .input{display:block;width:100%;min-height:44px;border:1px solid #b8c3cc;border-radius:7px;background:#fff;color:var(--cta-ink);padding:.7rem .8rem;font-size:.92rem;font-weight:400}
.stacked-form .input:focus{border-color:var(--cta-accent);outline:3px solid #78517726;outline-offset:1px}
.stacked-form .button{justify-self:start}.auth-page .stacked-form .button{justify-self:stretch}
.import-preview{margin-top:1rem;padding:1rem;background:#f1f4f7;border:1px solid var(--cta-line);border-radius:8px}.import-preview h3{margin-bottom:.5rem;color:var(--cta-ink)}
.import-balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.import-balance-card{display:flex;flex-direction:column;gap:.3rem;padding:1.2rem;background:var(--cta-ink);border-radius:10px;color:#fff}.import-balance-card span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#cddce6}.import-balance-card strong{font-size:2rem;line-height:1.1}.import-balance-card small{color:#e5edf2}.import-delta{font-weight:700;color:#28613a}.import-status-alerta{background:#fff3dc;color:#7a4c12}
.inline-form{display:inline;margin-left:1rem}.text-button{border:0;background:transparent;padding:0;cursor:pointer;font:inherit}.text-button-danger,.button-danger{color:#9f1239}.text-button-warning{color:#9a3412}.text-button-success{color:#28613a}.button-danger{background:#8f1239;color:#fff;border-color:#8f1239;box-shadow:0 1px 2px #001e3030}.button-danger:hover{background:#6f0d2c;border-color:#6f0d2c;color:#fff}.button-danger:focus-visible,.text-button:focus-visible,.table-scroll-top:focus-visible{outline:3px solid #f0b429;outline-offset:3px}.import-delete-detail{margin:1rem 0 1.5rem}.review-form{display:grid;gap:.4rem;min-width:290px}.button-small{padding:.45rem .65rem;font-size:.75rem}.table-scroll-top{overflow-x:auto;overflow-y:hidden;height:17px;margin-bottom:.25rem;border:1px solid var(--cta-line);border-radius:5px;background:#eef2f5;scrollbar-color:var(--cta-slate) #eef2f5}.table-scroll-top>div{height:1px}
.table-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-table th,.admin-table td{padding:.8rem;text-align:left;border-bottom:1px solid var(--cta-line);white-space:nowrap}.admin-table th{color:var(--cta-ink);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.import-status{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:#eef1f3;color:var(--cta-slate);font-size:.7rem;font-weight:700}.import-status-aplicada{background:#e7f2e9;color:#28613a}.import-status-previa{background:#fff3dc;color:#7a4c12}
.cta-workspace-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 114px);background:#f8fafc}
.cta-sidebar{background:var(--cta-ink);color:white;padding:24px 16px;border-top:1px solid rgba(255,255,255,.08);font-family:Arial,Helvetica,sans-serif}
.cta-hub-sidebar{background:var(--cta-ink);color:white;padding:24px 16px;border-top:1px solid rgba(255,255,255,.08);font-family:Arial,Helvetica,sans-serif;min-height:calc(100vh - 114px)}
.cta-hub-sidebar nav{display:grid;gap:5px;margin-top:18px}.cta-hub-sidebar a{display:flex;align-items:center;border-radius:7px;padding:11px 12px;background:transparent;color:#dbe5eb;font:600 13px/1.3 Arial,Helvetica,sans-serif;text-decoration:none}.cta-hub-sidebar a:hover,.cta-hub-sidebar a[aria-current=page]{background:rgba(255,255,255,.12);color:#fff}
.cta-account-menu{position:relative}.cta-account-menu summary{list-style:none;cursor:pointer;color:var(--cta-slate);font-size:12px;font-weight:600;padding:10px 0}.cta-account-menu summary::-webkit-details-marker{display:none}.cta-account-menu nav{position:absolute;right:0;top:100%;z-index:50;display:grid;min-width:190px;padding:8px;background:#fff;border:1px solid var(--cta-line);box-shadow:0 8px 20px #001e3022;border-radius:7px}.cta-account-menu nav a,.cta-account-menu nav button{padding:9px 10px;border:0;background:#fff;color:var(--cta-slate);text-align:left;text-decoration:none;font:600 12px Arial;cursor:pointer}.cta-account-menu nav a:hover,.cta-account-menu nav button:hover{background:var(--cta-soft);color:var(--cta-ink)}.cta-account-menu form{margin:0}
.cta-sidebar-title{padding:0 10px 18px;border-bottom:1px solid rgba(255,255,255,.13)}
.cta-sidebar-title small{display:block;color:#b9c7d3;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.cta-sidebar-title strong{display:block;margin-top:5px;font-size:16px}
.cta-sidebar nav{display:grid;gap:5px;margin-top:18px}
.cta-sidebar button,.cta-sidebar a{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;border-radius:7px;padding:11px 12px;background:transparent;color:#dbe5eb;font:600 13px/1.3 Arial,Helvetica,sans-serif;text-decoration:none;cursor:pointer}
.cta-sidebar button:hover,.cta-sidebar button[aria-current=page],.cta-sidebar a:hover,.cta-sidebar a[aria-current=page]{background:rgba(255,255,255,.12);color:white}
.cta-sidebar .cta-sidebar-section{margin:18px 10px 5px;color:#98adba;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.cta-workspace-content{min-width:0;display:flex;flex-direction:column}
.cta-workspace-footer{margin-top:auto;background:var(--cta-ink);color:#b9c7d3;padding:15px 24px;border-top:3px solid #d8ccdc;font:400 11px/1.5 Arial,Helvetica,sans-serif}
.cta-workspace-footer>div{max-width:1280px;margin:auto;display:flex;justify-content:space-between;gap:20px}
@media(max-width:1000px){.cta-wrap{width:calc(100% - 48px)}.cta-header-inner{flex-wrap:wrap;padding-block:12px;gap:10px 20px}.cta-global-nav{order:3;width:100%;margin-left:0}.cta-account-actions{margin-left:auto}.cta-workspace-shell{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:760px){.cta-wrap{width:calc(100% - 32px)}.cta-institution span,.cta-user{display:none}.cta-brand img{width:118px;height:42px}.cta-brand span{font-size:12px}.cta-global-nav{justify-content:space-between}.cta-account-actions{gap:8px}.cta-account-actions>a,.cta-account-actions button{font-size:10px}.workspace-cards{grid-template-columns:1fr}.cta-workspace-shell{display:block}.cta-sidebar{padding:12px 16px}.cta-sidebar-title{padding-bottom:10px}.cta-sidebar nav{display:flex;overflow-x:auto;margin-top:10px;padding-bottom:4px}.cta-sidebar button,.cta-sidebar a{width:auto;white-space:nowrap}.cta-sidebar .cta-sidebar-section{display:none}.cta-workspace-footer>div{display:block}.cta-workspace-footer span{display:block;margin-top:3px}}
@media(max-width:760px){.cta-hub-sidebar{min-height:0;padding:12px 16px}.cta-hub-sidebar nav{display:flex;overflow-x:auto;margin-top:10px;padding-bottom:4px}.cta-hub-sidebar a{width:auto;white-space:nowrap}.cta-hub-sidebar .cta-sidebar-section{display:none}}
@media(max-width:760px){.import-balance-grid{grid-template-columns:1fr}}
@media(max-width:480px){.cta-brand span{display:none}.cta-account-actions a[href='/mi-cuenta']{display:none}}

/* Shared contextual navigation, release 4. */
.cta-workspace-shell{align-items:start}.cta-workspace-content{min-width:0}
.cta-hub-sidebar{box-sizing:border-box;width:244px;flex:0 0 244px;background:var(--cta-surface);border-right:1px solid var(--cta-line);padding:22px 14px;font:14px/1.5 Arial,Helvetica,sans-serif;color:var(--cta-ink)}
.cta-hub-sidebar .cta-sidebar-title{padding:0 10px 18px}.cta-hub-sidebar .cta-sidebar-title strong{white-space:normal;line-height:1.35}
.cta-hub-sidebar nav{display:grid;gap:5px}.cta-hub-sidebar nav a{display:block;text-decoration:none;padding:11px 12px;border-radius:7px;border-left:3px solid transparent;color:var(--cta-slate)}
.cta-hub-sidebar nav a:hover,.cta-hub-sidebar nav a:focus-visible{background:var(--cta-soft);color:var(--cta-ink)}.cta-hub-sidebar nav a:focus-visible{outline:3px solid var(--cta-accent);outline-offset:2px}.cta-hub-sidebar nav a[aria-current=page]{background:var(--cta-soft);border-left-color:var(--cta-accent);font-weight:700;color:var(--cta-ink)}
.hub-return{display:block;margin:22px 10px 0;color:var(--cta-slate);text-decoration:none}.hub-menu-mobile{display:none}
.hub-module-switcher{position:relative;font:13px/1.4 Arial,Helvetica,sans-serif;flex-shrink:0}.hub-module-switcher summary{cursor:pointer;padding:10px;border:1px solid var(--cta-line);border-radius:7px;color:var(--cta-ink);background:#fff}
.hub-module-switcher nav{position:absolute;right:0;top:calc(100% + 8px);z-index:90;min-width:245px;background:#fff;border:1px solid var(--cta-line);border-radius:8px;box-shadow:0 6px 20px #002d4b18;padding:6px;display:grid}
.hub-module-switcher nav a{padding:11px;color:var(--cta-ink);text-decoration:none;white-space:normal}.hub-module-switcher nav a:hover,.hub-module-switcher nav a[aria-current]{background:var(--cta-soft)}
.hub-menu-mobile button{font:inherit;min-height:44px;border:1px solid var(--cta-line);padding:8px 12px;border-radius:7px;background:#fff;color:var(--cta-ink)}
@media(max-width:1100px){.cta-header-inner{flex-wrap:wrap;gap:12px;padding-block:12px}.cta-global-nav{margin-left:auto;gap:14px}}
@media(max-width:900px){.cta-workspace-shell{display:block}.hub-menu-mobile{display:block;padding:12px 20px}.cta-hub-sidebar{display:none;width:100%;border-right:0;border-bottom:1px solid var(--cta-line)}.cta-hub-sidebar.is-open{display:block}.cta-header-inner{gap:10px}.cta-global-nav{margin-left:0}.hub-module-switcher{margin-left:auto}.cta-wrap{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.cta-workspace-shell{grid-template-columns:244px minmax(0,1fr)}.cta-hub-sidebar .cta-sidebar-title strong{color:var(--cta-ink)}.cta-hub-sidebar .cta-sidebar-title small{color:var(--cta-muted)}.cta-hub-sidebar a{white-space:normal}.cta-hub-sidebar .hub-return{color:var(--cta-slate)}

/* H1: account disclosure and restrained shared interaction states. */
.cta-account-menu summary{display:inline-flex;align-items:center;gap:9px;max-width:min(260px,35vw);min-height:40px;padding:8px 11px;border:1px solid var(--cta-line);border-radius:7px;background:var(--cta-surface);color:var(--cta-ink);line-height:1.3}
.cta-account-menu summary::marker{content:""}
.cta-account-menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cta-account-menu-chevron{width:7px;height:7px;flex:0 0 7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.cta-account-menu summary:hover,.cta-account-menu[open] summary{background:var(--cta-soft);border-color:var(--cta-accent)}
.cta-account-menu summary:focus-visible,.hub-module-switcher summary:focus-visible,.cta-global-nav a:focus-visible,.hub-menu-mobile button:focus-visible,.cta-account-menu nav :is(a,button):focus-visible,.hub-module-switcher nav a:focus-visible{outline:3px solid var(--cta-accent);outline-offset:2px}
.cta-account-menu[open] .cta-account-menu-chevron{transform:rotate(225deg);margin-top:4px}
.cta-account-menu nav{top:calc(100% + 8px);min-width:210px}
.cta-account-menu nav :is(a,button){border-radius:5px}
.hub-module-switcher summary:hover,.hub-module-switcher[open] summary{background:var(--cta-soft);border-color:var(--cta-accent)}
.hub-module-switcher nav a{border-radius:5px}
@media(prefers-reduced-motion:no-preference){
  .cta-account-menu summary,.cta-account-menu-chevron,.hub-module-switcher summary,.cta-global-nav a,.cta-hub-sidebar nav a,.workspace-card,.hub-menu-mobile button{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
  .cta-account-menu[open] nav,.hub-module-switcher[open] nav{animation:cta-menu-enter .16s ease-out}
  .workspace-card:hover,.workspace-card:focus-within{border-color:#b9a6ba;box-shadow:0 7px 18px #002d4b12;transform:translateY(-2px)}
  @keyframes cta-menu-enter{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
}
/* H8: feedback shared by public and internal controls. */
:is(.input,.filters input,.filters select):hover:not(:focus-visible){border-color:#8798a8}
:is(.input,.filters input,.filters select):focus-visible{border-color:var(--cta-accent);box-shadow:0 0 0 3px #78517720}
.filters .field:focus-within label{color:var(--cta-accent)}
.button:hover,.service-card:hover,.service-card:focus-within{box-shadow:0 7px 18px #002d4b16}
:is(.button,.search button):disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
:is(.admin-table,.users-table) tbody tr:hover,:is(.admin-table,.users-table) tbody tr:focus-within{background:#f6f9fb}
.notice[role="status"]{border-left:4px solid #39724b}
.notice[role="alert"]{border-left:4px solid #a23f36}
@media(prefers-reduced-motion:no-preference){
  :is(.button,.search button,.service-card,.input,.filters input,.filters select){transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
  :is(.button,.search button):active{transform:translateY(1px)}
  .service-card:hover,.service-card:focus-within{transform:translateY(-2px)}
  .notice[role="status"],.notice[role="alert"]{animation:cta-feedback-enter .18s ease-out}
  @keyframes cta-feedback-enter{from{opacity:.65;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
}

/* Shared footer restored from the previous working release. */
.cta-unified-footer{background:#edf0e9;border-top:1px solid #d2ddd3;padding-top:40px;color:var(--cta-ink);font:400 11px/1.5 Arial,Helvetica,sans-serif}
.cta-unified-footer-grid,.cta-unified-footer-bottom{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.cta-unified-footer-grid{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:40px;padding-bottom:35px}
.cta-unified-footer-brand{display:flex;align-items:center;gap:13px;font-size:17px;font-weight:700;line-height:1.3;white-space:nowrap}
.cta-unified-footer-brand img{display:block;width:146px;height:50px;object-fit:contain;object-position:left center}
.cta-unified-footer-brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.03em;margin-top:4px}
.cta-unified-footer strong{font-size:12px}.cta-unified-footer p{margin:0 0 6px;color:var(--cta-muted)}
.cta-unified-footer-grid>div:last-child a{display:block;margin-bottom:9px;color:var(--cta-ink);text-decoration:none}
.cta-unified-footer-grid>div:last-child a:hover{text-decoration:underline}
.cta-unified-footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #d2ddd3;padding-block:18px;color:var(--cta-muted);font-size:10px}
@media(max-width:760px){.cta-unified-footer-grid{width:calc(100% - 32px);grid-template-columns:1fr;gap:25px}.cta-unified-footer-bottom{width:calc(100% - 32px);display:flex;flex-direction:column;gap:4px}.cta-unified-footer-brand{white-space:normal}}
/* Keep the workspace at its content height in flex page layouts. */
.cta-workspace-shell{flex:0 0 auto;height:auto}
