:root{--auth-panel:#0d3a59;--auth-panel2:#104b73;--auth-accent:#0d76b5;--auth-line:#277fb5;--auth-text:#173248;--auth-muted:#a9d4f0}
/* B-403: SVG aportado por el usuario, junto al nombre y sin dependencia de Tailwind. */
body>header .sig-brand403{display:flex;align-items:center;gap:10px;min-width:0}
body>header .sig-brand-logo403{--primary-color:#0d76b5;--secondary-color:#25a7ff;--accent-color:#169b75;display:block;width:48px;height:48px;flex:0 0 48px}
.sig-brand-logo403 .text-slate-200{color:#e2e8f0}.sig-brand-logo403 .text-white{color:#fff}.sig-brand-logo403 .text-slate-100{color:#f1f5f9}
body:not([data-theme="light"]) .sig-brand-logo403{--primary-color:#75c7f4}
body:not([data-theme="light"]) .sig-brand-logo403 .text-slate-200{color:#1e293b99}
body:not([data-theme="light"]) .sig-brand-logo403 .text-white{color:#0f172a}
body:not([data-theme="light"]) .sig-brand-logo403 .text-slate-100{color:#1e293b}
.sig-brand-logo403 .anim-badge-body{transform-box:fill-box;transform-origin:center;animation:sig-badge403 4s ease-in-out infinite}
.sig-brand-logo403 .anim-scan{transform:translateY(40px);filter:drop-shadow(0 0 6px var(--accent-color));animation:sig-scan403 4s ease-in-out infinite}
.sig-brand-logo403 .anim-check{transform-box:fill-box;transform-origin:center;animation:sig-check403 4s ease-in-out infinite}
@keyframes sig-badge403{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}
@keyframes sig-scan403{0%,5%{transform:translateY(40px);opacity:0}12%{opacity:1}55%{transform:translateY(158px);opacity:1}62%,100%{transform:translateY(158px);opacity:0}}
@keyframes sig-check403{0%,50%{transform:scale(.65);opacity:0}65%{transform:scale(1.15);opacity:1}74%,90%{transform:scale(1);opacity:1}100%{transform:scale(.65);opacity:0}}
@media(prefers-reduced-motion:reduce){.sig-brand-logo403 .anim-target{animation:none!important}}
@media(prefers-reduced-motion:reduce){.sig-brand-logo403 .anim-scan{display:none}}
@media screen and (min-width:801px){body>header.sig-header403{grid-template-columns:max-content minmax(0,1fr);column-gap:20px}}
@media screen and (max-width:800px){body>header.sig-header403 .sig-brand403{justify-content:center}body>header .sig-brand403{gap:8px}body>header .sig-brand-logo403{width:40px;height:40px;flex-basis:40px}body>header .sig-brand403 h1{font-size:20px;white-space:normal}}
.auth-shell{margin:0;background:#f3f7fa;color:var(--auth-text);font:15px Arial,sans-serif}
.auth-shell *{box-sizing:border-box}
.auth-shell [hidden],.sig-denied396{display:none!important}
.auth-header{min-height:76px;padding:14px 26px;background:var(--auth-panel);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 3px 14px #0d3a5938}
.auth-header h1{font-size:24px;margin:0;white-space:nowrap}.auth-header h1 span{font-size:14px}.auth-header nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;max-width:100%}.auth-header nav span{overflow-wrap:anywhere}
.auth-shell button,.sig-account396 button{border:1px solid var(--auth-line);background:#0b3550;color:#fff;border-radius:9px;padding:10px 14px;font:700 14px Arial,sans-serif;cursor:pointer}
.auth-shell button.primary{background:var(--auth-accent)}.auth-shell button:hover,.sig-account396 button:hover{background:#104b73}.auth-shell button:disabled,.sig-account396 button:disabled{opacity:.5;cursor:not-allowed}
.auth-shell :focus-visible,.sig-account396 :focus-visible{outline:3px solid #ffcd63;outline-offset:3px}
.auth-shell h2{font-size:23px;margin:0 0 16px}.auth-shell p{line-height:1.55}
.auth-card{width:min(100% - 32px,480px);margin:54px auto;background:var(--auth-panel);color:#f5fbff;border:1px solid var(--auth-line);border-radius:15px;padding:28px;box-shadow:0 5px 18px #0d3a5917}
.auth-shell label{display:block;font-size:13px;font-weight:800;margin:10px 0 6px}.auth-card label{color:var(--auth-muted)}
.auth-shell input:not([type=checkbox]),.auth-shell select{display:block;min-width:0;width:100%;padding:11px;border:1px solid #2a82b7;background:#123f5f;color:#fff;border-radius:8px;font:16px Arial,sans-serif}
.auth-shell input::placeholder{color:#b7cbda}.auth-shell input[type=checkbox]{width:19px;height:19px;accent-color:#0d76b5;flex:none}.auth-shell input:disabled{opacity:.65}
.auth-shell fieldset{padding:0;border:0;margin:0;min-width:0}.auth-full{width:100%;margin-top:16px}.auth-small{font-size:12px;color:var(--auth-muted)}
.auth-password{display:flex;gap:8px}.auth-password input{flex:1}.auth-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.auth-steps{display:flex;gap:12px;list-style:none;padding:0;margin:0 0 24px;font-size:12px;font-weight:700;color:var(--auth-muted)}.auth-steps li{padding:8px 10px;border:1px solid #277fb5;border-radius:999px}.auth-steps [aria-current]{background:#0d76b5;color:white;border-color:#75c7f4}
.auth-account{overflow-wrap:anywhere;color:#fff;font-weight:700}.auth-message{padding:12px 14px;border-radius:10px;background:#e3f2ff;color:#173248;border:1px solid #55b8ee;line-height:1.5;overflow-wrap:anywhere}.auth-message.error{background:#ffedf0;color:#761e2c;border-color:#b84d59}.auth-message.success{background:#dff8ed;color:#13553a;border-color:#1ea47b}
#globalMessage{margin:14px 24px}.auth-users{max-width:1480px;margin:24px auto;padding:24px;background:#fff;border:1px solid #c4d8e6;border-radius:15px}.auth-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.auth-toolbar h2{margin:0}.auth-search{display:flex;gap:10px;max-width:620px}.auth-table-wrap{overflow:auto}.auth-shell table{border-collapse:collapse;width:100%;margin-top:16px;font-size:14px}.auth-shell th{background:#0b304a;color:#fff;text-align:left;padding:12px}.auth-shell td{border-bottom:1px solid #c6d7e3;padding:12px;vertical-align:top}.auth-shell td input[type=email]{min-width:220px}.auth-shell td .auth-actions{margin:0;min-width:220px;gap:6px}.auth-shell td button{font-size:12px;padding:8px 10px}.auth-checkbox{display:flex!important;align-items:center;gap:9px!important;line-height:1.4}.auth-badge{display:inline-block;padding:5px 9px;background:#e1f4ed;border-radius:999px;font-size:12px;font-weight:700;margin-top:5px}.auth-badge.inactive{background:#eee;color:#555}
#authDialog{width:min(760px,calc(100% - 24px));max-height:90vh;overflow:auto;padding:24px;border:1px solid #55b8ee;border-radius:15px;background:var(--auth-panel);color:#fff;box-shadow:0 18px 60px #0006}
#authDialog::backdrop{background:#071f33b8}.auth-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.auth-dialog-heading h2{overflow-wrap:anywhere}.auth-dialog-heading button{font-size:24px;line-height:1;padding:5px 11px}.auth-shell dialog label{color:var(--auth-muted)}.auth-shell dialog td{border-bottom-color:#28506a}.auth-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px;margin:16px 0}.auth-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.auth-sort{padding:4px!important;font-size:13px!important;border:0!important}.auth-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#appHost iframe{display:block;border:0;width:100%;height:100dvh}.auth-shell.in-app .auth-header{display:none}.auth-shell.in-app #globalMessage:not([hidden]){position:fixed;z-index:9000;top:8px;right:8px;max-width:480px}
.sig-account396{display:flex;flex-direction:column;gap:8px;margin-top:24px;border-top:1px solid #277fb5;padding-top:14px;color:#fff;font:12px Arial,sans-serif}.sig-account396 span{overflow-wrap:anywhere}.sig-account396 button{text-align:left}.sig-access-loading396{position:fixed;inset:0;z-index:2147483000;display:grid;place-content:center;background:#f3f7fa;color:#173248;font:16px Arial,sans-serif;padding:24px;text-align:center}.sig-access-loading396 p{max-width:480px;line-height:1.5}
html.sig-boot396 body>header,html.sig-boot396 .app-shell{visibility:hidden}
.sig-account-row399{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}.sig-account-name399{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-header .sig-account-row399{max-width:min(100%,340px)}.sig-account396{min-width:0}.sig-account396 .sig-account-row399{justify-content:space-between}
.auth-shell .sig-power399,.sig-account396 .sig-power399{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;padding:10px;box-sizing:border-box;text-align:center}.sig-power399 svg,.sig-users399 svg{display:block;width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.sig-account396 .sig-users399{display:flex;align-items:center;gap:8px;min-height:44px}
.sig-account-error399{padding:10px;margin:0;background:#ffedf0;color:#761e2c;border:1px solid #b84d59;border-radius:8px;font:13px/1.5 Arial,sans-serif;overflow-wrap:anywhere}.sig-account396 [hidden]{display:none!important}
body.menuCollapsed344 .sig-account396 .sig-account-name399{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}body.menuCollapsed344 .sig-account396 .sig-account-row399{justify-content:center}body.menuCollapsed344 .sig-account396 .sig-users399{justify-content:center;padding:10px;gap:0}body.menuCollapsed344 .sig-account-error399{position:fixed;z-index:9000;bottom:16px;left:76px;max-width:min(320px,calc(100vw - 100px));box-sizing:border-box}
@media(max-width:700px){.auth-header{padding:16px;align-items:flex-start;flex-direction:column}.auth-header nav{font-size:13px}.auth-card{margin:24px auto;padding:22px}.auth-users{padding:16px;margin:16px 8px}.auth-toolbar{align-items:flex-start;flex-direction:column;gap:0}.auth-permissions{grid-template-columns:1fr}#authDialog{padding:18px}.auth-shell td{padding:9px}.auth-pager{font-size:13px}.auth-search input{width:100%}}
@media(prefers-reduced-motion:reduce){.auth-shell *,.sig-account396 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.auth-shell button.sig-maintenance400.is-normal400,.sig-account396 button.sig-maintenance400.is-normal400{background:#166534;border-color:#4ade80;color:#fff}.auth-shell button.sig-maintenance400.is-maintenance400,.sig-account396 button.sig-maintenance400.is-maintenance400{background:#b91c1c;border-color:#fca5a5;color:#fff}.sig-maintenance400:hover{filter:brightness(1.15)}
.sig-logout400{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.sig-logout400 svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sig-maintenance-banner400{padding:12px 18px;background:#7f1d1d;color:#fff;text-align:center;font:600 14px/1.5 Arial,sans-serif;overflow-wrap:anywhere}.sig-maintenance-banner400[hidden]{display:none!important}.sig-maintenance-banner400 strong{margin-right:10px}.auth-shell.in-app #maintenanceBanner{display:none}

/* B-401: presentación uniforme del menú; no afecta tablas ni vistas de negocio. */
.embedded-users401 .auth-header,.embedded-users401 #maintenanceBanner{display:none}
.embedded-users401 .auth-users{margin:0;max-width:none;border:0;border-radius:0;padding:18px}
.embedded-users401 .auth-card{margin:20px auto}
.sig-users-view401>iframe{display:block;width:100%;height:calc(100dvh - 150px);min-height:320px;border:1px solid #c4d8e6;border-radius:12px;background:#fff}
.sig-account396 .sig-users399.active{background:#0d76b5;border-color:#4db4ef}
/* Login B-403: composición de la referencia del usuario y controles reales. */
.auth-shell.login-screen403{display:flex;flex-direction:column;min-height:100dvh;padding:24px;background:radial-gradient(ellipse at top left,#e5f3f9,transparent 65%),#f1f5f9}
.login-screen403>.auth-header{display:none}
.login-screen403>#accessMain{display:grid;place-items:center;flex:1 0 auto;width:100%;min-height:0}
.auth-shell .auth-login403{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(1120px,100%);min-height:660px;margin:0;padding:0;border:1px solid #d9e5f0;border-radius:36px;overflow:hidden;background:#fff;color:#294f6e;box-shadow:0 20px 50px #2d497b0c}
.auth-login-visual403{position:relative;overflow:hidden;min-width:0;border-right:1px solid #dae5f4;background:linear-gradient(130deg,#f1faff,#ebefff)}
.auth-login-reference403{position:absolute;display:block;width:206.266%;height:auto;max-width:none;left:-2.872%;top:50%;transform:translateY(-49.5%);pointer-events:none;user-select:none}
.auth-login-form403{align-self:center;min-width:0;padding:56px}
.auth-login403 .auth-steps{height:4px;gap:9px;margin:0 0 40px}
.auth-login403 .auth-steps li{width:42px;height:4px;padding:0;border:0;border-radius:1px;background:#e0e9f3}
.auth-login403 .auth-steps [aria-current]{background:#2787bd}
.auth-login403 .auth-login-step403{margin:0 0 48px;color:#537794;font:700 14px/18px Arial,sans-serif;letter-spacing:2px}
.auth-login403[data-mode="identifier"] #loginDescription{display:none}
.auth-login403 #loginDescription,.auth-login403 #loginAccount{color:#537794}
.auth-login403 label{margin:0 0 16px;color:#28516e;font:700 20px/24px Georgia,"Times New Roman",serif}
.auth-login403 input:not([type=checkbox]){height:78px;padding:20px 24px;border:1px solid #b4cbe2;border-radius:16px;background:#fafcfe;color:#284b68;font:22px Arial,sans-serif}
.auth-login403 input::placeholder{color:#69849d;opacity:1}
.auth-identifier403{position:relative}
.auth-identifier403>svg{position:absolute;left:27px;top:27px;width:24px;height:24px;fill:none;stroke:#7793ad;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.auth-login403 #identifier{padding-left:69px}
.auth-login403 #submitLogin{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;height:78px;margin:30px 0 0;padding:20px 27px;border:1px solid #d9e5f0;border-radius:16px;background:#197db3;color:#fff;font:700 20px Arial,sans-serif;text-align:left}
.auth-login403 #submitLogin::after{content:'→';font-size:28px;font-weight:400;line-height:1}
.auth-login403 #submitLogin:disabled,.auth-login403[data-mode="identifier"]:has(#identifier:placeholder-shown) #submitLogin{background:#e5edf4;color:#728da5;opacity:1}
.auth-login403 .auth-actions{margin:18px 0 0}
.auth-login403 .auth-actions:not(:has(button:not([hidden]))){display:none}
.auth-login403 .auth-password button,.auth-login403 .auth-actions button{border-color:#b4cbe2;background:#eff6fb;color:#28516e}
.auth-login403 #codeHelp{color:#537794}
.auth-login403 .auth-login-footer403{display:flex;align-items:center;justify-content:center;gap:12px;margin:44px 0 0;padding-top:36px;border-top:1px solid #e8eef5;color:#5f7d97;font:18px/22px Georgia,"Times New Roman",serif;text-align:center}
.auth-login-footer403 svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1100px){.auth-login-form403{padding:48px 36px}.auth-login403 input:not([type=checkbox]){font-size:18px}}
@media(max-width:800px){.auth-shell.login-screen403{padding:12px}.auth-shell .auth-login403{display:block;width:min(560px,100%);min-height:0;border-radius:26px}.auth-login-visual403{height:200px;border-right:0;border-bottom:1px solid #dae5f4}.auth-login-reference403{top:0;transform:translateY(-2.3%)}.auth-login-form403{padding:36px 24px}.auth-login403 .auth-steps{margin-bottom:24px}.auth-login403 .auth-login-step403{margin-bottom:32px}.auth-login403 input:not([type=checkbox]),.auth-login403 #submitLogin{height:64px}.auth-identifier403>svg{top:20px}.auth-login403 .auth-login-footer403{margin-top:32px;padding-top:26px;font-size:16px}}
@media screen{
 .sidebar.sig-sidebar401{--sig-header-height401:76px;position:sticky;top:var(--sig-header-height401);height:calc(100dvh - var(--sig-header-height401));min-height:0;align-self:start;display:flex;flex-direction:column;padding:12px 10px;overflow:hidden}
 .sidebar.sig-sidebar401 nav{position:static;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:none;gap:4px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding:3px}
 .sidebar.sig-sidebar401 nav::-webkit-scrollbar{display:none;width:0;height:0}
 .sidebar.sig-sidebar401 nav>*{flex-shrink:0}
 .sidebar.sig-sidebar401 .navgroup315{margin:0;border:0}
 body .app-shell .sidebar.sig-sidebar401 .sig-nav-item401{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:38px;margin:0;padding:9px 8px!important;border:1px solid transparent;border-radius:8px;font:600 13px/1.35 Arial,sans-serif!important;text-align:left;white-space:normal;box-sizing:border-box}
 body:not(.menuCollapsed344) .app-shell .sidebar.sig-sidebar401 .navgroup315>.tab.sig-nav-item401{margin-left:16px;width:calc(100% - 16px);padding-left:8px!important}
 .sidebar.sig-sidebar401 a.groupLink386{display:flex;align-items:center;gap:10px;min-width:0;flex:1;font:inherit;text-decoration:none}
 .sidebar.sig-sidebar401 .sig-nav-label401{flex:1;min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
 .sidebar.sig-sidebar401 nav svg.sig-nav-icon401{display:block;width:20px!important;height:20px!important;min-width:20px!important;flex:0 0 20px;margin:0!important;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
 .sidebar.sig-sidebar401 .navgroup315 summary::after{content:'';width:6px;height:6px;flex:0 0 6px;margin:0 3px 0 auto;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg)}
 .sidebar.sig-sidebar401 .navgroup315[open]>summary::after{transform:rotate(45deg)}
 .sidebar.sig-sidebar401 #menuToggle344{display:flex;align-items:center;justify-content:center;flex:0 0 36px;min-height:36px;margin:0 0 8px;padding:7px;border-radius:8px}
 .sidebar.sig-sidebar401 #menuToggle344 svg{width:20px!important;height:20px!important;min-width:20px!important;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .sidebar.sig-sidebar401 #menuToggle344[aria-expanded="false"] svg{transform:rotate(180deg)}
 .sidebar.sig-sidebar401 .sig-account396{gap:4px;margin-top:10px;padding-top:10px}
 .sidebar.sig-sidebar401 .sig-account396 .sig-users399{display:flex;justify-content:flex-start;gap:10px;min-height:38px;margin:0;padding:8px;font:600 13px/1.35 Arial,sans-serif!important;white-space:normal}
 .sidebar.sig-sidebar401 .sig-account396 .sig-users399 svg{width:20px!important;height:20px!important;min-width:20px!important;margin:0!important;flex:0 0 20px;stroke-width:1.7}
 .sidebar.sig-sidebar401 .sig-account396 .sig-account-name399{white-space:normal;overflow-wrap:anywhere}
 .sidebar.sig-sidebar401 .sig-account396 .sig-account-row399 .sig-account-name399{white-space:nowrap}
 .sidebar.sig-sidebar401 :focus-visible{outline:2px solid #ffcd63;outline-offset:1px}
 body.menuCollapsed344 .sidebar.sig-sidebar401{padding:12px 5px}
 body.menuCollapsed344 .app-shell .sidebar.sig-sidebar401 .sig-nav-item401{justify-content:center!important;gap:0!important;padding:9px 5px!important}
 body.menuCollapsed344 .sidebar.sig-sidebar401 .groupLink386{justify-content:center;gap:0}
 body.menuCollapsed344 .sidebar.sig-sidebar401 .sig-account396 .sig-users399{justify-content:center;padding:9px 5px;gap:0}
 body.menuCollapsed344 .sidebar.sig-sidebar401 .sig-nav-label401{display:none!important}
 @media(max-width:800px){body:not(.menuCollapsed344) .app-shell:has(.sig-sidebar401){grid-template-columns:min(230px,42vw) minmax(0,1fr)}}
 @media(pointer:coarse){body .app-shell .sidebar.sig-sidebar401 .sig-nav-item401,.sidebar.sig-sidebar401 .sig-account396 .sig-users399{min-height:44px}.sidebar.sig-sidebar401 #menuToggle344{min-height:44px;flex-basis:44px}}
}
