@import url("https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,400..900&display=swap");
:root{--navy:#07182d;--navy-2:#0c2b4c;--navy-3:#153f68;--red:#cc0f1f;--red-dark:#a70c18;--soft:#f3f6f9;--line:#d5dee7;--ink:#142033;--muted:#52657a;--white:#fff;--gold:#f2c20c;--green:#24b36b;--radius:22px;--shadow:0 18px 48px rgba(7,24,45,.09);--font-scale:1;font-family:"Google Sans Flex","Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--soft);font-size:calc(15px * var(--font-scale))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:280px;line-height:1.55}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}img{max-width:100%}a{color:inherit}.admin-skip{position:fixed;z-index:200;top:8px;left:8px;transform:translateY(-160%);padding:10px 14px;border-radius:10px;background:#fff;color:var(--navy);font-weight:850}.admin-skip:focus{transform:none}

html[data-font-scale="85"]{--font-scale:.85}html[data-font-scale="95"]{--font-scale:.95}html[data-font-scale="100"]{--font-scale:1}html[data-font-scale="110"]{--font-scale:1.1}html[data-font-scale="120"]{--font-scale:1.2}html[data-font-scale="130"]{--font-scale:1.3}

/* Acceso */
.admin-login{display:grid;min-height:100dvh;place-items:center;padding:92px 24px 32px;background:radial-gradient(circle at 84% 8%,rgba(204,15,31,.34),transparent 30%),linear-gradient(145deg,#061629,#0d3155);color:#fff}.admin-login::before{content:"";position:fixed;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}.login-card{position:relative;z-index:1;width:min(100%,500px);padding:clamp(28px,6vw,48px);border:1px solid rgba(255,255,255,.65);border-radius:30px;background:#fff;color:var(--ink);box-shadow:0 35px 90px rgba(0,0,0,.32)}.login-brand{display:flex;align-items:center;gap:14px}.login-brand img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 9px 14px rgba(7,24,45,.16))}.login-brand span{display:grid}.login-brand strong{color:var(--navy);font-size:1.15rem}.login-brand small{color:var(--red);font-weight:750}.login-card h1{margin:10px 0 12px;color:var(--navy);font-size:clamp(2rem,7vw,3.15rem);letter-spacing:-.045em;line-height:.98}.login-card>p:not(.kicker):not(.notice){color:var(--muted)}.login-card form,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.login-card form{grid-template-columns:1fr}.form-grid label,.login-card label{display:grid;gap:7px;color:var(--navy);font-weight:780}.form-grid .full{grid-column:1/-1}.form-grid label small{color:var(--muted);font-weight:500}.back{display:inline-flex;min-height:46px;align-items:center;gap:9px;margin-top:20px;color:var(--navy);font-weight:800;text-decoration:none}.back span{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:#edf3f8;transition:transform .25s,background .25s}.back:hover span{background:#fdebed;color:var(--red);transform:translateX(-3px)}.security-note{display:block;margin-top:18px;color:#6a7a8c}.login-a11y{position:fixed;z-index:10;top:18px;right:18px}

/* Controles */
input,select,textarea{width:100%;min-width:0;border:1px solid #b9c7d4;border-radius:13px;background:#fff;color:var(--ink);font-size:16px}input,select{min-height:50px;padding:10px 13px}textarea{padding:13px;resize:vertical}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:9px;padding:12px 21px;border:2px solid var(--red);border-radius:13px;background:var(--red);color:#fff;font-weight:850;text-decoration:none;cursor:pointer;transition:transform .22s,background .22s,box-shadow .22s}.button:hover{border-color:var(--red-dark);background:var(--red-dark);box-shadow:0 12px 26px rgba(204,15,31,.22);transform:translateY(-2px)}.button:active{transform:translateY(1px)}.notice{padding:14px 16px;border:1px solid #cbd9e6;border-radius:13px;background:#eaf1f8}.notice.error{border-color:#efb7bd;background:#fff0f1;color:#8e0b16}.notice.success{border-color:#bce1cb;background:#e8f7ee;color:#126332}.text-button{min-height:42px;border:0;background:none;color:var(--red);font-weight:850;cursor:pointer}.status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eaf1f8;color:#344a61;font-size:.76rem;font-weight:800}.status--online{background:#e5f8ed;color:#126332}.status--online::before{content:"";width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(36,179,107,.12)}

/* Estructura */
.admin-app{background:var(--soft)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;width:270px;flex-direction:column;padding:18px 14px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;background:linear-gradient(180deg,#06172b,var(--navy));color:#d6e0e9}.admin-brand{display:flex;align-items:center;gap:12px;padding:4px 7px 20px;color:#fff;text-decoration:none}.admin-brand img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 8px 13px rgba(0,0,0,.2));transition:transform .35s}.admin-brand:hover img{transform:rotate(-4deg) scale(1.05)}.admin-brand span{display:grid}.admin-brand strong{font-size:1.15rem}.admin-brand small{color:#9db2c6}.sidebar nav{display:grid;gap:4px}.sidebar nav a,.logout{display:flex;min-height:50px;align-items:center;gap:12px;padding:9px 12px;border-radius:13px;color:inherit;font-weight:720;text-decoration:none;transition:background .22s,color .22s,transform .22s}.sidebar nav a b,.logout b{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:11px;background:rgba(255,255,255,.1);color:#fff;font-size:.9rem;font-style:normal;transition:transform .25s,background .25s}.sidebar nav a:hover,.sidebar nav a.active{background:#fff;color:var(--navy);transform:translateX(3px)}.sidebar nav a:hover b,.sidebar nav a.active b{background:var(--red);transform:rotate(-4deg);color:#fff}.logout{margin-top:auto;color:#ffd5d9}.logout:hover{background:rgba(204,15,31,.2);color:#fff}.logout:hover b{background:var(--red);transform:translateX(3px)}.admin-shell{min-height:100dvh;margin-left:270px}.admin-top{position:sticky;top:0;z-index:30;display:flex;min-height:78px;align-items:center;gap:14px;padding:10px clamp(18px,3vw,42px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);box-shadow:0 8px 30px rgba(7,24,45,.04);backdrop-filter:blur(14px)}.sidebar-toggle{display:none;min-height:46px;padding:8px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);font-weight:800}.public-link{display:inline-flex;min-height:46px;align-items:center;gap:8px;margin-left:auto;padding:8px 13px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--navy);font-weight:800;text-decoration:none;transition:border-color .22s,background .22s,transform .22s}.public-link>span:first-child{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#edf3f8}.public-link:hover{border-color:var(--red);background:#fff8f8;transform:translateY(-2px)}.public-link:hover i{transform:translate(2px,-2px)}.public-link i{color:var(--red);font-style:normal;transition:transform .22s}.profile-chip{display:flex;min-width:0;align-items:center;gap:10px;padding:4px 7px;border-radius:14px;color:var(--navy);text-decoration:none}.profile-chip>span:last-child{display:grid;max-width:170px}.profile-chip strong,.profile-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-chip small{color:var(--muted)}.profile-chip img,.avatar-fallback{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:2px solid #fff;border-radius:14px;background:linear-gradient(145deg,var(--red),#e64050);box-shadow:0 6px 16px rgba(7,24,45,.14);color:#fff;object-fit:cover;font-weight:900}.avatar-fallback--large{width:112px;height:112px;border-radius:30px;font-size:2.4rem}.admin-main{width:min(100%,1380px);margin:auto;padding:clamp(28px,4vw,58px)}.page-heading{margin-bottom:30px}.page-heading h1{margin:8px 0;color:var(--navy);font-size:clamp(2.25rem,5vw,4rem);font-weight:780;letter-spacing:-.05em;line-height:.96}.page-heading>p:last-child{max-width:70ch;color:var(--muted)}.kicker{margin:0;color:var(--red);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}

/* Accesibilidad */
.accessibility{position:relative}.accessibility__trigger,.accessibility-tools button{display:inline-flex;min-height:44px;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);font-weight:800;cursor:pointer}.accessibility__menu{position:absolute;top:calc(100% + 12px);left:0;display:grid;width:min(92vw,470px);grid-template-columns:repeat(4,auto);gap:8px;padding:12px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 22px 60px rgba(7,24,45,.18);visibility:hidden;opacity:0;transform:translateY(-7px);transition:.2s}.accessibility.open .accessibility__menu{visibility:visible;opacity:1;transform:none}.accessibility__menu button,.accessibility__menu a{display:flex;min-height:44px;align-items:center;justify-content:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:750;text-decoration:none;cursor:pointer}.accessibility__menu>a{grid-column:span 2}.language-set{display:flex;grid-column:span 2;gap:7px}.language-set button{flex:1}.accessibility__menu button[aria-pressed=true]{border-color:var(--red);background:var(--red);color:#fff}.accessibility-tools{display:flex;gap:7px;padding:8px;border:1px solid rgba(255,255,255,.25);border-radius:15px;background:rgba(255,255,255,.95);box-shadow:0 12px 35px rgba(0,0,0,.18)}.accessibility-tools button{border:0}.accessibility-tools button[aria-pressed=true]{background:var(--red);color:#fff}

/* Contenido */
.panel,.module-card,.work-summary>*{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.panel{margin-top:22px;padding:clamp(20px,3vw,30px)}.panel h2{margin:0 0 12px}.panel p{color:var(--muted)}.panel-heading{display:flex;align-items:center;gap:13px;margin-bottom:18px}.panel-heading h2,.panel-heading p{margin:0}.panel-icon,.record-icon,.activity-icon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:15px;background:#fdebed;color:var(--red);font-size:1.1rem;font-weight:900}.work-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:22px}.work-summary>*{display:flex;min-height:95px;align-items:center;gap:13px;padding:18px;color:var(--navy);text-decoration:none}.work-summary>*>span{display:grid;width:45px;height:45px;flex:0 0 45px;place-items:center;border-radius:14px;background:#edf3f8;color:var(--red);font-size:1.2rem;transition:transform .25s,background .25s}.work-summary>*:hover>span{background:var(--red);color:#fff;transform:rotate(-5deg) scale(1.05)}.work-summary div{display:grid}.work-summary small{color:var(--muted)}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.module-card{position:relative;display:grid;min-height:228px;grid-template-columns:62px minmax(0,1fr) auto;align-items:start;gap:18px;overflow:hidden;padding:25px;color:var(--ink);text-decoration:none;transition:transform .34s cubic-bezier(.22,1,.36,1),box-shadow .34s,border-color .34s}.module-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--red),#ee5966);transform:scaleX(.18);transform-origin:left;transition:transform .34s}.module-card:hover,.module-card:focus-visible{border-color:#e6adb2;box-shadow:0 25px 58px rgba(7,24,45,.14);transform:translateY(-6px)}.module-card:hover::before,.module-card:focus-visible::before{transform:scaleX(1)}.module-icon{display:grid;width:62px;height:62px;place-items:center;border-radius:18px;background:#fdebed;color:var(--red);font-size:1.7rem;transition:transform .32s,background .32s}.module-card:hover .module-icon{background:var(--red);transform:rotate(-5deg) scale(1.06)}.module-card small{color:var(--red);font-size:.73rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.module-card h2{margin:8px 0;color:var(--navy);font-size:1.28rem}.module-card p{margin:0;color:var(--muted)}.module-card i{align-self:center;color:var(--red);font-size:1.4rem;font-style:normal;transition:transform .25s}.module-card:hover i{transform:translateX(5px)}.editor summary{display:flex;align-items:center;gap:11px;cursor:pointer;color:var(--navy);font-size:1.2rem;font-weight:850}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.record-card{position:relative;min-width:0;padding:21px;border:1px solid var(--line);border-radius:17px;background:#fff}.record-card>.status{position:absolute;top:20px;right:20px}.record-card h3{margin:16px 0 6px;color:var(--navy)}.record-card p{color:var(--muted)}.record-card .text-button{margin-top:8px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px}.media-grid figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.media-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.media-grid figcaption{padding:11px;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}.profile-layout{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr);gap:22px}.profile-layout .panel{margin:0}.profile-preview{text-align:center}.profile-preview>img{width:140px;height:140px;border:5px solid #fff;border-radius:36px;box-shadow:0 18px 40px rgba(7,24,45,.16);object-fit:cover}.profile-preview .avatar-fallback{margin:auto}.profile-preview h2{margin-top:18px}.user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:22px}.user-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.user-card img{width:52px;height:52px;border-radius:16px;object-fit:cover}.user-card h2,.user-card p{margin:0}.user-card p{color:var(--muted)}.user-card>small{grid-column:2;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 11px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}td>small{display:block;color:var(--muted)}.activity-list{display:grid}.activity-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.activity-list p{margin:2px 0 0}.activity-list time{color:var(--muted);font-size:.8rem;white-space:nowrap}.system-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.system-grid .panel{margin:0}.system-grid h2{margin-top:14px}

.accessibility-tools a{display:grid;min-width:42px;min-height:42px;place-items:center;border-radius:10px;background:#edf3f8;color:var(--navy);font-weight:850;text-decoration:none}

/* Barra institucional de accesibilidad */
.admin-top{flex-wrap:wrap;align-content:center;padding-block:10px}.admin-accessibility-bar{order:-1;display:flex;width:100%;min-width:0;align-items:center;gap:8px;padding:6px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(7,24,45,.05);color:var(--navy)}.admin-accessibility-bar strong{display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;gap:8px;padding:0 8px;font-size:.9rem;white-space:nowrap}.accessibility-status{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(204,15,31,.11)}.admin-accessibility-bar button,.admin-accessibility-bar a{display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);font-size:.86rem;font-weight:820;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .2s}.admin-accessibility-bar button:hover,.admin-accessibility-bar a:hover{border-color:var(--red);background:#fff7f8;transform:translateY(-1px)}.admin-accessibility-bar button[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}.accessibility-spacer{min-width:10px;flex:1 1 auto}.admin-top>.admin-accessibility-bar~.public-link{margin-left:auto}.login-a11y{position:fixed;z-index:10;top:max(12px,env(safe-area-inset-top));right:clamp(12px,2vw,28px);left:clamp(12px,2vw,28px);width:auto;max-width:1440px;margin-inline:auto}.admin-login{padding-top:112px}

/* Alto contraste */
html.admin-high-contrast{--navy:#000;--navy-2:#000;--navy-3:#000;--red:#ffeb3b;--red-dark:#00ffff;--soft:#000;--line:#fff;--ink:#fff;--muted:#fff;--gold:#00ffff;color-scheme:dark}html.admin-high-contrast body,html.admin-high-contrast :where(.admin-top,.admin-main,.panel,.module-card,.work-summary>*,.record-card,.user-card,.login-card,.accessibility__menu,.accessibility__menu button,.accessibility__menu a,.profile-chip,.public-link){border-color:#fff!important;background:#000!important;color:#fff!important;background-image:none!important;box-shadow:none!important}html.admin-high-contrast :where(h1,h2,h3,p,small,strong,label,.page-heading h1,.module-card h2,.module-card p,.module-card small){color:#fff!important}html.admin-high-contrast :where(.button,.module-icon,.panel-icon,.record-icon,.activity-icon,.sidebar nav a.active b){border-color:#ffeb3b!important;background:#ffeb3b!important;color:#000!important}html.admin-high-contrast :where(input,select,textarea){border:2px solid #fff;background:#000;color:#fff}html.admin-high-contrast a:not(.button){color:#00ffff}html.admin-high-contrast .sidebar nav a.active{border:2px solid #ffeb3b;background:#000;color:#ffeb3b}

.sidebar-scrim{display:none}
@media(max-width:1150px){.sidebar{width:235px}.admin-shell{margin-left:235px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-grid{grid-template-columns:repeat(2,1fr)}.public-link>span:nth-child(2){display:none}}
@media(max-width:820px){.sidebar{width:min(86vw,310px);visibility:hidden;transform:translateX(-103%);transition:transform .24s,visibility .24s}.sidebar.open{visibility:visible;transform:none}.sidebar-scrim{position:fixed;inset:0;z-index:35;display:block;background:rgba(2,14,27,.56);visibility:hidden;opacity:0;transition:.24s}.sidebar.open+.admin-shell{}.sidebar-scrim.open{visibility:visible;opacity:1}.admin-shell{margin-left:0}.sidebar-toggle{display:inline-flex;align-items:center;gap:7px}.admin-top{justify-content:space-between;padding-inline:14px}.accessibility__trigger{font-size:0}.accessibility__trigger span{font-size:1rem}.accessibility__menu{position:fixed;top:78px;right:12px;left:12px;width:auto;grid-template-columns:repeat(2,1fr)}.profile-chip>span:last-child{display:none}.public-link{margin-left:0}.admin-main{padding:28px 16px}.work-summary,.profile-layout{grid-template-columns:1fr}.module-grid,.record-grid,.user-grid{grid-template-columns:1fr}.module-card{min-height:190px}.module-card:hover{transform:none}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.activity-list article{grid-template-columns:auto minmax(0,1fr)}.activity-list time{grid-column:2}.table-wrap{margin-inline:-20px;padding-inline:20px}.login-a11y{right:10px;left:10px;justify-content:center}.login-a11y button span{display:none}}
@media(max-width:460px){.admin-top{gap:7px}.public-link{padding:7px}.public-link i{display:none}.module-card{grid-template-columns:54px minmax(0,1fr) auto;padding:20px}.module-icon{width:54px;height:54px}.work-summary{gap:10px}.activity-list article{align-items:start}.system-grid{grid-template-columns:1fr}.accessibility-tools{flex-wrap:wrap}.login-card{border-radius:24px}}
html.admin-high-contrast :where(.admin-accessibility-bar,.admin-accessibility-bar button,.admin-accessibility-bar a){border-color:#fff!important;background:#000!important;color:#fff!important;box-shadow:none!important}html.admin-high-contrast .accessibility-status{background:#ffeb3b!important;box-shadow:0 0 0 4px #000,0 0 0 6px #ffeb3b!important}html.admin-high-contrast .admin-accessibility-bar button[aria-pressed=true]{background:#ffeb3b!important;color:#000!important}
@media(max-width:1150px){.admin-accessibility-bar{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.accessibility-spacer{flex:0 0 4px}}
@media(max-width:820px){.admin-top{padding-inline:12px}.admin-accessibility-bar{margin-inline:0}.admin-accessibility-bar strong{padding-inline:6px}.admin-accessibility-bar button,.admin-accessibility-bar a{min-height:42px;padding-inline:10px}.admin-login{padding:104px 14px 24px}}
@media(max-width:460px){.admin-accessibility-bar{gap:6px;border-radius:14px}.login-a11y{right:8px;left:8px}.login-card{width:100%;padding:26px 22px}.admin-login{padding-top:100px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.module-card:hover,.public-link:hover,.button:hover{transform:none!important}}
@media(forced-colors:active){.panel,.module-card,.button,.sidebar-toggle,.public-link{border:2px solid CanvasText}}

/* V106 · capa visual adaptable. No modifica datos ni lógica del panel. */
:root{--sidebar-size:280px;--sidebar-compact:88px;--ui-gap:clamp(14px,1.25vw,22px);--ui-pad:clamp(18px,3vw,48px)}
.admin-app{background:linear-gradient(145deg,#f7f9fb 0%,#edf2f7 100%)}
.sidebar{width:var(--sidebar-size);gap:4px;padding:16px 14px calc(16px + env(safe-area-inset-bottom));background:radial-gradient(circle at 20% 0,rgba(27,73,112,.32),transparent 30%),linear-gradient(180deg,#04162a 0%,#071d34 58%,#06172b 100%);box-shadow:16px 0 40px rgba(4,22,42,.12);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent;transition:width .32s cubic-bezier(.22,1,.36,1),transform .28s ease,visibility .28s}
.admin-brand{min-height:72px;padding:5px 8px 14px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-brand img{width:56px;height:56px}.admin-brand strong{font-weight:880;letter-spacing:.02em}.admin-brand small{font-size:.78rem}
.sidebar-collapse{display:flex;width:100%;min-height:42px;align-items:center;justify-content:center;gap:8px;margin:2px 0 8px;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.055);color:#c8d6e3;font-weight:760;cursor:pointer;transition:.22s}.sidebar-collapse:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.11);color:#fff}.sidebar-collapse span{font-size:1.45rem;line-height:1;transition:transform .3s}.sidebar-collapse b{font-size:.76rem}
.sidebar nav{gap:6px}.sidebar nav a,.logout{position:relative;min-height:52px;padding:8px 10px;border:1px solid transparent;border-radius:15px;font-size:.91rem;font-weight:760}.sidebar nav a b,.logout b{width:38px;height:38px;flex-basis:38px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.09);font-size:1rem}.sidebar nav a::after{content:"";position:absolute;inset:12px auto 12px 0;width:3px;border-radius:0 3px 3px 0;background:var(--red);opacity:0;transform:scaleY(.35);transition:.22s}.sidebar nav a:hover{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.085);color:#fff;transform:translateX(2px)}.sidebar nav a.active{border-color:rgba(255,255,255,.75);box-shadow:0 12px 25px rgba(0,0,0,.18);transform:none}.sidebar nav a.active::after{opacity:1;transform:scaleY(1)}.sidebar nav a:hover b{transform:rotate(-3deg) scale(1.05)}.logout{flex:0 0 auto;margin-top:12px;border-color:rgba(255,255,255,.08)}
.admin-shell{margin-left:var(--sidebar-size);transition:margin-left .32s cubic-bezier(.22,1,.36,1)}.admin-top{gap:12px;padding:10px var(--ui-pad);background:rgba(255,255,255,.92);box-shadow:0 12px 34px rgba(7,24,45,.06)}.admin-accessibility-bar{border-radius:18px}.public-link,.profile-chip,.sidebar-toggle{border-radius:14px}.profile-chip{padding:5px 10px;border:1px solid transparent;transition:.22s}.profile-chip:hover{border-color:var(--line);background:#fff;box-shadow:0 10px 25px rgba(7,24,45,.08)}
.admin-main{width:min(100%,1480px);padding:var(--ui-pad)}.page-heading{max-width:900px;margin-bottom:clamp(22px,3vw,38px)}.page-heading h1{font-size:clamp(2.15rem,4.5vw,4.2rem)}.page-heading>p:last-child{font-size:clamp(.98rem,1.2vw,1.1rem)}
.work-summary{gap:var(--ui-gap)}.work-summary>*{min-height:100px;border-radius:20px;transition:transform .25s,border-color .25s,box-shadow .25s}.work-summary>*:hover{border-color:#e9aeb4;box-shadow:0 18px 38px rgba(7,24,45,.11);transform:translateY(-3px)}
.module-grid{grid-template-columns:repeat(3,minmax(240px,1fr));gap:var(--ui-gap)}.module-card{min-height:220px;grid-template-columns:64px minmax(0,1fr) 34px;gap:18px;padding:clamp(21px,2vw,28px);border-radius:24px}.module-card::after{content:"Abrir";position:absolute;right:20px;bottom:18px;color:var(--red);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:.25s}.module-card:hover::after,.module-card:focus-visible::after{opacity:1;transform:none}.module-icon{width:64px;height:64px;border:1px solid #f6cfd3;border-radius:19px;background:linear-gradient(145deg,#fff3f4,#fbe4e7);font-size:1.45rem;font-weight:900}.module-card:hover .module-icon{box-shadow:0 12px 24px rgba(204,15,31,.2);color:#fff}.module-card h2{font-size:clamp(1.12rem,1.25vw,1.34rem)}.module-card p{max-width:34ch}.module-card i{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:11px;background:#fff}.module-card:hover i{border-color:var(--red);background:var(--red);color:#fff}
.panel{border-radius:24px}.button{border-radius:14px}.button::before{content:"✓";display:grid;width:24px;height:24px;place-items:center;border-radius:8px;background:rgba(255,255,255,.15);font-size:.78rem}.text-button{padding:8px 12px;border:1px solid #f2c2c6;border-radius:10px;background:#fff7f8}.text-button:hover{background:var(--red);color:#fff}.record-card,.user-card{border-radius:20px;transition:transform .23s,border-color .23s,box-shadow .23s}.record-card:hover,.user-card:hover{border-color:#e9aeb4;box-shadow:0 15px 32px rgba(7,24,45,.09);transform:translateY(-3px)}
.admin-enhanced .admin-main>*{animation:admin-enter .5s cubic-bezier(.22,1,.36,1) both}.admin-enhanced .admin-main>*:nth-child(2){animation-delay:.06s}.admin-enhanced .admin-main>*:nth-child(3){animation-delay:.1s}@keyframes admin-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:981px){.sidebar-collapsed .sidebar{width:var(--sidebar-compact)}.sidebar-collapsed .admin-shell{margin-left:var(--sidebar-compact)}.sidebar-collapsed .admin-brand{justify-content:center;padding-inline:0}.sidebar-collapsed .admin-brand span,.sidebar-collapsed .sidebar nav a span,.sidebar-collapsed .logout span,.sidebar-collapsed .sidebar-collapse b{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.sidebar-collapsed .sidebar nav a,.sidebar-collapsed .logout{justify-content:center;padding-inline:4px}.sidebar-collapsed .sidebar-collapse span{transform:rotate(180deg)}.sidebar-collapsed .admin-brand img{width:52px;height:52px}.sidebar-collapsed .sidebar nav a::after{left:-14px}}
@media(max-width:1380px){.module-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){body.sidebar-drawer-open{overflow:hidden}.sidebar{width:min(86vw,320px);visibility:hidden;transform:translateX(-104%)}.sidebar.open{visibility:visible;transform:none}.sidebar-collapse{display:none}.admin-shell,.sidebar-collapsed .admin-shell{margin-left:0}.sidebar-toggle{display:inline-flex;align-items:center;gap:8px}.sidebar-scrim{position:fixed;inset:0;z-index:35;display:block;background:rgba(2,14,27,.62);visibility:hidden;opacity:0;backdrop-filter:blur(3px);transition:.25s}.sidebar-scrim.open{visibility:visible;opacity:1}.admin-main{padding:clamp(20px,4vw,36px)}.admin-top{padding-inline:clamp(12px,3vw,24px)}.profile-chip>span:last-child{display:none}.public-link{margin-left:auto}.work-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.module-card:hover{transform:none}}
@media(max-width:720px){.admin-top{gap:8px}.admin-accessibility-bar{order:-1}.work-summary{grid-template-columns:1fr}.work-summary>*{min-height:84px}.module-grid,.record-grid,.user-grid,.profile-layout,.form-grid{grid-template-columns:1fr}.module-card{min-height:190px}.form-grid .full{grid-column:1}.public-link>span:nth-child(2){display:none}.public-link{padding-inline:9px}.page-heading h1{line-height:1.02}.system-grid{grid-template-columns:1fr}.activity-list article{grid-template-columns:auto minmax(0,1fr)}.activity-list time{grid-column:2}.table-wrap{margin-inline:-18px;padding-inline:18px}}
@media(max-width:430px){:root{font-size:calc(14.5px * var(--font-scale))}.admin-main{padding:22px 14px}.admin-top{padding:8px}.module-card{grid-template-columns:54px minmax(0,1fr) 30px;gap:13px;padding:20px 17px}.module-icon{width:54px;height:54px;border-radius:16px}.module-card i{width:30px;height:30px}.module-card::after{display:none}.panel{padding:19px 16px}.sidebar{width:min(91vw,318px)}.login-card{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){.admin-enhanced .admin-main>*{animation:none!important}.sidebar,.admin-shell,.module-card,.record-card,.user-card{transition:none!important}}
.button::before{display:none}.button[data-ui-icon]::before{content:attr(data-ui-icon);display:grid}

/* V107 · iconografía Lucide local, inspirada en los indicadores del portal */
.ui-icon{display:block;width:22px;height:22px;flex:0 0 22px;overflow:visible}.button-icon{width:19px;height:19px;flex:0 0 19px}.sidebar nav a b .ui-icon,.logout b .ui-icon{width:19px;height:19px;stroke-width:2.15}.sidebar-collapse .ui-icon{width:20px;height:20px}.sidebar-toggle .ui-icon{width:20px;height:20px}
.module-icon,.work-summary>*>span{position:relative;isolation:isolate;border-color:#0d2946;background:linear-gradient(145deg,#07182d,#0d3155);color:#fff;box-shadow:0 10px 22px rgba(7,24,45,.16);contain:layout paint}.module-icon .ui-icon{width:27px;height:27px;stroke-width:2}.module-icon::after,.work-summary>*>span::after{position:absolute;right:-9px;bottom:-9px;display:grid;width:25px;height:25px;place-items:center;border:1px solid #e2e7ed;border-radius:50%;background:#fff;box-shadow:0 5px 12px rgba(7,24,45,.14);color:var(--red);font-size:.62rem;font-weight:900;letter-spacing:0}.module-card:nth-child(1) .module-icon::after{content:"01"}.module-card:nth-child(2) .module-icon::after{content:"02"}.module-card:nth-child(3) .module-icon::after{content:"03"}.module-card:nth-child(4) .module-icon::after{content:"04"}.module-card:nth-child(5) .module-icon::after{content:"05"}.module-card:nth-child(6) .module-icon::after{content:"06"}.module-card:nth-child(7) .module-icon::after{content:"07"}.module-card:nth-child(8) .module-icon::after{content:"08"}.module-card:nth-child(9) .module-icon::after{content:"09"}.work-summary>*:nth-child(1)>span::after{content:"01"}.work-summary>*:nth-child(2)>span::after{content:"02"}.work-summary>*:nth-child(3)>span::after{content:"03"}.work-summary>*>span .ui-icon{width:21px;height:21px}.work-summary>*:hover>span{background:linear-gradient(145deg,#0d3155,#07182d);color:#fff;transform:translateY(-2px) rotate(-2deg)}
.module-card:hover .module-icon{border-color:var(--red);background:var(--red);color:#fff}.module-card:hover .module-icon::after{color:var(--navy)}.sidebar nav a b,.logout b{color:#eaf2f9}.sidebar nav a.active b{box-shadow:0 8px 18px rgba(204,15,31,.25)}
@supports(content-visibility:auto){.module-card,.record-card,.user-card,.panel{content-visibility:auto;contain-intrinsic-size:auto 220px}}
@media(max-width:430px){.module-icon::after{right:-7px;bottom:-7px;width:22px;height:22px}.ui-icon{width:20px;height:20px}.module-icon .ui-icon{width:24px;height:24px}}
@media(forced-colors:active){.module-icon,.work-summary>*>span{border:2px solid CanvasText;background:Canvas;color:CanvasText}.module-icon::after,.work-summary>*>span::after{border:1px solid CanvasText;background:Canvas;color:CanvasText}}

/* V108 · accesibilidad plegable, CTA de retorno y progreso visual */
.a11y-controls{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:8px}.a11y-mobile-toggle{display:none}.admin-accessibility-bar>strong{flex:0 0 auto}.a11y-controls .accessibility-spacer{display:block}.back{position:relative;width:100%;min-height:54px;justify-content:flex-start;padding:7px 48px 7px 8px;border:1px solid #cbd7e2;border-radius:15px;background:#f5f8fb;box-shadow:0 9px 22px rgba(7,24,45,.06);transition:background .23s,color .23s,border-color .23s,transform .23s,box-shadow .23s}.back::after{content:"→";position:absolute;right:18px;color:var(--red);font-size:1.15rem;transition:transform .23s}.back span{width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:var(--navy);color:#fff}.back span .ui-icon{width:19px;height:19px}.back:hover{border-color:var(--navy);background:var(--navy);box-shadow:0 14px 30px rgba(7,24,45,.18);color:#fff;transform:translateY(-2px)}.back:hover span{background:var(--red);color:#fff;transform:none}.back:hover::after{color:#fff;transform:translateX(4px)}.security-note{padding:10px 12px;border-left:3px solid var(--green);border-radius:4px 10px 10px 4px;background:#f3f8f5}
.module-card{--progress:.58}.module-card:nth-child(2n){--progress:.72}.module-card:nth-child(3n){--progress:.86}.module-card::before{height:5px;transform:scaleX(var(--progress));background:linear-gradient(90deg,var(--red),#ef5260 70%,#f6a7ae)}.module-card:hover::before,.module-card:focus-visible::before{transform:scaleX(1)}.work-summary>*{position:relative;overflow:hidden}.work-summary>*::before{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,var(--red) 0 68%,#e7edf2 68%);transform-origin:left;animation:progress-reveal .72s cubic-bezier(.22,1,.36,1) both}.work-summary>*:nth-child(2)::before{background:linear-gradient(90deg,#e6aa13 0 52%,#e7edf2 52%)}.work-summary>*:nth-child(3)::before{background:linear-gradient(90deg,#168b55 0 84%,#e7edf2 84%)}.panel{position:relative;overflow:hidden}.panel::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--red) 0 34%,#ef5966 34% 68%,#f5c6ca 68% 100%);transform-origin:left;animation:progress-reveal .65s ease-out both}.record-card::before,.user-card::before{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--navy) 0 72%,#e5ebf1 72%);transition:background-position .3s}.record-card,.user-card{position:relative;overflow:hidden}@keyframes progress-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:760px){.admin-accessibility-bar{display:block;overflow:visible!important;padding:5px;border-radius:15px}.admin-accessibility-bar>strong{display:none}.a11y-mobile-toggle{display:flex!important;width:100%;min-height:50px;align-items:center;justify-content:flex-start;gap:10px;padding:6px 8px!important;border:0!important;background:#fff!important;color:var(--navy)!important;transform:none!important}.a11y-mobile-toggle .a11y-aa{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#fdebed;color:var(--red);font-size:.78rem;font-weight:900}.a11y-mobile-toggle strong{font-size:.9rem}.a11y-mobile-toggle i{width:9px;height:9px;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .22s}.admin-accessibility-bar.is-open .a11y-mobile-toggle i{transform:rotate(225deg) translate(-2px,-2px)}.a11y-controls{position:absolute;top:calc(100% + 8px);right:0;left:0;display:grid;max-height:min(62vh,410px);grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:auto;padding:9px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 22px 55px rgba(7,24,45,.2);visibility:hidden;opacity:0;transform:translateY(-8px) scale(.98);transform-origin:top;pointer-events:none;transition:visibility .2s,opacity .2s,transform .2s}.admin-accessibility-bar.is-open .a11y-controls{visibility:visible;opacity:1;transform:none;pointer-events:auto}.a11y-controls .accessibility-spacer{display:none}.a11y-controls button,.a11y-controls a{width:100%;min-width:0;white-space:normal}.a11y-controls a{grid-column:1/-1}.login-a11y{top:max(8px,env(safe-area-inset-top));right:10px;left:10px}.admin-login{padding-top:84px}.login-card{margin-top:0}.back{min-height:52px}.security-note{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.work-summary>*::before,.panel::before{animation:none!important}.a11y-controls,.a11y-mobile-toggle i,.back,.back::after{transition:none!important}}

/* V109 · identidad institucional única y límites multiplataforma */
.login-brand,.admin-brand{min-width:0}.login-brand span,.admin-brand span{min-width:0;line-height:1.12}.login-brand strong,.admin-brand strong{display:block;overflow-wrap:normal;word-break:normal;text-transform:uppercase}.login-brand strong{font-size:clamp(.72rem,2.2vw,.86rem);letter-spacing:.025em}.login-brand small,.admin-brand small{margin-top:5px;color:var(--red);font-size:.72rem;font-weight:900;letter-spacing:.035em}.admin-brand strong{font-size:.66rem;letter-spacing:.018em}.admin-brand img,.login-brand img{aspect-ratio:1;flex:none}.logout-form{display:block;width:100%;margin-top:auto}.logout-form .logout{width:100%;margin:0;border:0;background:transparent;font:inherit;cursor:pointer;text-align:left}.sidebar-collapsed .logout-form{margin-top:auto}.sidebar-collapsed .logout-form .logout{justify-content:center;padding-inline:4px}
:where(.module-card,.panel,.record-card,.user-card,.work-summary>*,.login-card){max-width:100%;isolation:isolate;overflow:hidden}:where(.module-card,.panel,.record-card,.user-card,.work-summary>*)>*{min-width:0}.ui-icon,.button-icon{flex:none;max-width:100%}.admin-top>*{min-width:0}.admin-main{overflow:clip}
@media(max-width:430px){.login-brand{gap:10px}.login-brand img{width:60px;height:60px}.login-brand strong{font-size:clamp(.62rem,3vw,.72rem)}.login-brand small{font-size:.65rem}.admin-brand strong{font-size:.64rem}.admin-brand small{font-size:.66rem}}
@media(hover:none),(pointer:coarse){.module-card:hover,.area-card:hover{transform:none!important}}

/* V109b · regla institucional de contención para módulos actuales y futuros */
html,body{max-width:100%;overflow-x:clip}.admin-shell,.admin-top,.admin-main,.panel,.module-card,.record-card,.user-card,.work-summary>*{min-width:0;max-width:100%}.admin-brand span,.module-card>div,.record-card>div,.user-card>div{min-width:0}.admin-brand strong,.admin-brand small,.module-card h2,.module-card p,.record-card h2,.record-card p,.user-card h2,.user-card p{overflow-wrap:anywhere}.module-card,.record-card,.user-card,.panel{isolation:isolate;overflow:hidden}

/* V110 · barra superior, tarjetas y accesibilidad del sistema institucional */
.module-card,.panel,.record-card,.user-card,.work-summary>*{--section-accent:var(--red);position:relative;isolation:isolate;overflow:hidden}.module-card:nth-child(4n+2),.record-card:nth-child(4n+2),.user-card:nth-child(4n+2){--section-accent:#008796}.module-card:nth-child(4n+3),.record-card:nth-child(4n+3),.user-card:nth-child(4n+3){--section-accent:#d09100}.module-card:nth-child(4n),.record-card:nth-child(4n),.user-card:nth-child(4n){--section-accent:#7458cf}.module-card::before,.panel::before,.record-card::before,.user-card::before,.work-summary>*::before{content:"";position:absolute;inset:0 14px auto;height:4px;border-radius:0 0 5px 5px;background:#e4e8ec;transform:none;animation:none}.module-card::after,.record-card::after,.user-card::after,.work-summary>*::after{content:"";position:absolute;z-index:1;inset:0 auto auto 14px;width:calc(100% - 28px);height:4px;border-radius:0 0 5px 5px;background:var(--section-accent);transform:scaleX(0);transform-origin:left;transition:transform .42s cubic-bezier(.22,1,.36,1)}.module-card:hover::after,.module-card:focus-visible::after,.record-card:hover::after,.record-card:focus-within::after,.user-card:hover::after,.user-card:focus-within::after,.work-summary>*:hover::after,.work-summary>*:focus-within::after{transform:scaleX(1)}
.module-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:stretch}.module-card{display:flex;min-height:360px;flex-direction:column;align-items:flex-start;gap:18px;padding:34px 30px;border-radius:26px}.module-card .module-icon{width:78px;height:78px;border-radius:22px}.module-card .module-icon::after{color:var(--section-accent)}.module-card>div{display:flex;flex:1;flex-direction:column}.module-card small{color:var(--section-accent);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.module-card h2{margin:9px 0 10px;font-size:1.45rem}.module-card p{margin:0;color:var(--muted)}.module-card>i{align-self:flex-end;margin-top:auto}.module-card:hover .module-icon{border-color:var(--navy);background:var(--navy)}
.work-summary{align-items:stretch}.work-summary>*{min-height:156px;padding-top:30px}.work-summary>*::before{inset:12px 14px auto}.work-summary>*::after{inset:12px auto auto 14px}.work-summary>*:nth-child(2){--section-accent:#d09100}.work-summary>*:nth-child(3){--section-accent:#168b55}.panel::before{inset:0 18px auto;background:#e4e8ec}.panel::after{content:"";position:absolute;inset:0 auto auto 18px;width:calc(100% - 36px);height:4px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .42s cubic-bezier(.22,1,.36,1)}.panel:hover::after,.panel:focus-within::after{transform:scaleX(1)}
.back,.public-link{width:52px;min-width:52px;max-width:52px;height:52px;min-height:52px;padding:0;justify-content:center;border-radius:17px}.back{margin-top:18px}.back>span,.public-link>span:first-child{display:grid!important;width:100%;height:100%;place-items:center;border:0;background:transparent;color:inherit}.back>span .ui-icon,.public-link .ui-icon{width:24px;height:24px}.back,.public-link{font-size:0}.back::after,.public-link>span:nth-child(2),.public-link>i{font-size:0}.back:hover span{background:transparent}.back:hover{transform:translateX(-3px)}
.admin-accessibility-bar{border:1px solid var(--line);background:#fff;box-shadow:0 8px 24px rgba(7,24,45,.05)}.admin-accessibility-bar button,.admin-accessibility-bar a{border-color:#cbd7e2;background:#fff;color:var(--navy)}.admin-accessibility-bar button[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}.a11y-mobile-toggle{border-radius:12px!important}.a11y-controls{background:#fff}
@media(max-width:720px){.module-card{min-height:0;padding:29px 24px}.module-card .module-icon{width:70px;height:70px}.work-summary>*{min-height:130px}.back,.public-link{width:48px;min-width:48px;max-width:48px;height:48px;min-height:48px}.a11y-controls a[data-short-label]{grid-column:auto;font-size:0}.a11y-controls a[data-short-label]::after{content:attr(data-short-label);font-size:.82rem}}
@media(hover:none),(pointer:coarse){.module-card:hover::after,.record-card:hover::after,.user-card:hover::after,.work-summary>*:hover::after,.panel:hover::after{transform:scaleX(0)}.module-card:focus-visible::after,.record-card:focus-within::after,.user-card:focus-within::after,.work-summary>*:focus-within::after,.panel:focus-within::after{transform:scaleX(1)}}

/* V113 · microinteracción normalizada para indicadores de accesibilidad */
.accessibility-status{animation:admin-indicator-breathe 2.8s ease-in-out infinite}@keyframes admin-indicator-breathe{0%,100%{transform:scale(.92);filter:brightness(.96)}50%{transform:scale(1.08);filter:brightness(1.18)}}@media(prefers-reduced-motion:reduce){.accessibility-status{animation:none}}

/* V114 · movimiento institucional consistente */
.admin-brand img,.login-brand img{transform-origin:50% 58%;filter:drop-shadow(0 7px 9px rgba(0,0,0,.16));animation:admin-crest-float 5.2s ease-in-out infinite}@keyframes admin-crest-float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-3px) rotate(.7deg)}}@media(prefers-reduced-motion:reduce){.admin-brand img,.login-brand img{animation:none}}

/* V115 · accesibilidad compacta, retorno contextual e iconos sin numeración */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.admin-accessibility-bar{gap:6px;padding:5px 6px;border-radius:15px}
.admin-accessibility-bar>strong{min-height:40px;padding-inline:7px;font-size:.84rem}
.admin-accessibility-bar .a11y-mobile-toggle{display:none!important}
.a11y-controls{gap:6px}
.admin-accessibility-bar button,.admin-accessibility-bar a{min-height:40px;padding:7px 11px;font-size:.82rem}
.login-a11y{max-width:1380px}
.admin-login .login-card{padding-top:clamp(30px,5vw,44px)}
.admin-login .login-brand{min-height:82px;padding:0 72px 18px 0;border-bottom:1px solid #e3eaf0}
.admin-login .login-card>.kicker{margin-top:22px}
.admin-login .back{position:absolute;top:24px;right:24px;left:auto;width:52px;min-width:52px;max-width:52px;height:52px;min-height:52px;margin:0;padding:0;border-color:#c8d5e1;background:#f5f8fb;color:var(--navy);box-shadow:0 9px 22px rgba(7,24,45,.08)}
.admin-login .back>span:first-child{display:grid!important;width:100%;height:100%;place-items:center;border-radius:inherit;background:transparent;color:inherit;font-size:1.55rem}
.admin-login .back::after{display:none;content:none}
.admin-login .back:hover{border-color:var(--red);background:#fff2f3;color:var(--red);box-shadow:0 12px 26px rgba(204,15,31,.14);transform:translateX(-3px)}
.module-icon::after,.work-summary>*>span::after{display:none!important;content:none!important}
.module-icon,.work-summary>*>span{overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 24px rgba(7,24,45,.18)}
.module-icon .ui-icon,.work-summary>*>span .ui-icon{margin:auto}
@media(max-width:760px){.admin-accessibility-bar .a11y-mobile-toggle{display:flex!important}.admin-accessibility-bar{padding:5px}.admin-accessibility-bar button,.admin-accessibility-bar a{min-height:44px}.admin-login .login-brand{min-height:72px;padding-right:60px}.admin-login .back{top:18px;right:18px;width:46px;min-width:46px;max-width:46px;height:46px;min-height:46px}}
@media(max-width:430px){.admin-login .login-card{padding-top:24px}.admin-login .login-brand{padding-right:52px}.admin-login .back{top:14px;right:14px;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;border-radius:14px}}
@media(prefers-reduced-motion:reduce){.admin-login .back{transition:none!important}}

/* V116 · acceso visual sin texto redundante */
.admin-login .login-card h1{margin-top:24px}
.login-submit{position:relative;width:68px;min-width:68px;max-width:68px;height:68px;min-height:68px;justify-self:center;padding:0;border-radius:22px;overflow:hidden;box-shadow:0 14px 28px rgba(204,15,31,.24)}
.login-submit svg{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s cubic-bezier(.22,1,.36,1)}
.login-submit::after{content:"";position:absolute;inset:-35% auto -35% -55%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);transition:left .55s cubic-bezier(.22,1,.36,1)}
.login-submit:hover svg,.login-submit:focus-visible svg{transform:translateX(3px) scale(1.06)}
.login-submit:hover::after,.login-submit:focus-visible::after{left:125%}
.login-submit:active svg{transform:translateX(1px) scale(.96)}
html.admin-high-contrast .login-submit{border-color:#ffeb3b!important;background:#ffeb3b!important;color:#000!important}
@media(max-width:430px){.login-submit{width:62px;min-width:62px;max-width:62px;height:62px;min-height:62px;border-radius:20px}.login-submit svg{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.login-submit svg,.login-submit::after{transition:none!important}.login-submit::after{display:none}}
