/* EJ Sistemas — paleta y tipografia del sitio corporativo. */
:root { --ej-navy:#071f34; --ej-navy-2:#0b385d; --ej-blue:#2f8ff0; --ej-blue-light:#70b9ff; --ej-green:#58b74d; --ej-ink:#0e2236; --ej-muted:#617181; --ej-line:#dbe5ee; --ej-panel:#f5f9fc; }
body, button, input, textarea, select, md-select, .md-button { font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif !important; }
body { color:var(--ej-ink); }
body > main.view:has(#loginContent) { background:radial-gradient(circle at 78% 15%,rgba(47,143,240,.3),transparent 32%),linear-gradient(120deg,#071f34,#0b385d 65%,#0d4c74) !important; min-height:100dvh; }
main.view:has(#loginContent) > md-content { background:transparent !important; justify-content:center !important; align-items:center !important; padding:48px 24px !important; overflow:auto; }
#loginContent { width:min(960px,100%) !important; max-width:960px !important; flex:none !important; border-radius:20px; overflow:hidden; box-shadow:0 28px 70px rgba(4,25,43,.35) !important; border:1px solid rgba(112,185,255,.24); }
#loginContent .sg-logo { background:linear-gradient(145deg,#fff,#f5f9fc) !important; padding:44px 40px !important; border-right:1px solid var(--ej-line); position:relative; }
#loginContent .sg-logo::before { content:""; position:absolute; left:0; top:0; right:0; height:4px; background:linear-gradient(90deg,var(--ej-blue),var(--ej-green)); }
#loginContent .sg-logo > div:first-child { display:block !important; padding:0 !important; }
#loginContent .sg-logo > div:first-child > .md-flex { display:none !important; }
.ej-login-logo { display:block; margin:0 0 36px; }
.ej-login-logo img { display:block; width:100% !important; max-width:360px; height:auto !important; margin:0 !important; }
.ej-login-intro .ej-eyebrow { margin:0 0 12px; color:#1c68bd; font-size:11px; letter-spacing:.18em; font-weight:750; text-transform:uppercase; }
.ej-login-intro h1 { margin:0 0 18px; color:var(--ej-navy); font-size:35px; font-weight:730; letter-spacing:-.045em; line-height:1.12; }
.ej-login-intro p { color:var(--ej-muted); font-size:15px; line-height:1.65; margin:0; }
.ej-login-intro .ej-login-site { display:inline-block; margin-top:32px; color:#1c68bd; font-size:13px; font-weight:650; text-decoration:none; }
.ej-login-intro .ej-login-site:hover { text-decoration:underline; }
#loginContent .sg-login { background:#fff !important; color:var(--ej-ink) !important; padding:16px 16px 12px; }
#loginContent .sg-login-content { padding:30px 28px 24px !important; }
.ej-login-heading h2 { margin:0 0 8px; font-size:22px; font-weight:700; color:var(--ej-navy); letter-spacing:-.025em; }
.ej-login-heading p { margin:0 0 27px; color:var(--ej-muted); font-size:13px; line-height:1.6; }
#loginContent md-input-container .md-input, #loginContent md-select .md-select-value { color:var(--ej-ink) !important; border-color:#bfcedb !important; }
#loginContent md-input-container label, #loginContent md-icon { color:#526c80 !important; }
#loginContent md-input-container.md-input-focused label, #loginContent md-input-container.md-input-focused md-icon { color:#1c68bd !important; }
#loginContent md-input-container.md-input-focused .md-input { border-color:var(--ej-blue) !important; }
#loginContent .md-button:not(.md-icon-button) { border-radius:999px; font-weight:650; letter-spacing:.01em; }
#loginContent button[type=submit]:not([disabled]) { color:#fff !important; background:linear-gradient(135deg,#2f8ff0,#1c68bd) !important; box-shadow:0 8px 20px rgba(47,143,240,.22); }
#loginContent button[type=submit] { min-height:44px; }
#loginContent .md-button[disabled] { color:#617181 !important; background:#eaf1f7 !important; }
md-toolbar.md-default-theme, md-toolbar { background:var(--ej-navy) !important; color:#fff !important; }
md-toolbar .md-button, md-toolbar md-icon, md-toolbar a { color:#fff !important; }
md-toolbar.ej-user-toolbar { background:linear-gradient(130deg,#071f34,#0b385d) !important; height:166px !important; min-height:166px !important; padding:18px 16px 16px; box-sizing:border-box; }
md-toolbar.ej-user-toolbar > sg-avatar-image { display:none !important; }
.ej-app-brand { display:block; width:202px; max-width:100%; background:#fff; border-radius:8px; margin:0 0 16px; overflow:hidden; line-height:0; }
.ej-app-brand img { width:100%; height:auto; display:block; }
.ej-user-toolbar .sg-md-title { font-size:16px; font-weight:650; }
.ej-user-toolbar .md-caption { color:#d4e6f4; font-size:12px; }
md-sidenav.md-default-theme, md-sidenav, .sg-sidenav { background:#f5f9fc; border-right:1px solid var(--ej-line); }
.md-button.md-default-theme.md-accent.md-fab:not([disabled]), .md-button.md-accent.md-fab:not([disabled]) { background:var(--ej-blue) !important; color:#fff !important; box-shadow:0 7px 18px rgba(47,143,240,.26); }
.md-button.md-default-theme.md-primary.md-raised:not([disabled]), .md-button.md-primary.md-raised:not([disabled]) { background:#1c68bd !important; color:white !important; }
.md-button.md-default-theme.md-primary:not(.md-fab):not(.md-raised):not([disabled]), .md-button.md-primary:not(.md-fab):not(.md-raised):not([disabled]) { color:#1c68bd !important; }
md-tabs md-ink-bar { color:var(--ej-blue) !important; background:var(--ej-blue) !important; }
md-tabs .md-tab.md-active { color:#1c68bd !important; }
md-switch.md-checked .md-thumb, md-checkbox.md-checked .md-icon { background:var(--ej-green) !important; }
md-switch.md-checked .md-bar { background:rgba(88,183,77,.42) !important; }
md-list-item.selected, md-list-item.md-default-theme.selected, .sg-selected, .sg-selected.md-default-theme { background:#e4f1fc !important; color:var(--ej-ink) !important; }
md-input-container.md-input-focused .md-input { border-color:var(--ej-blue) !important; }
md-input-container.md-input-focused label { color:#1c68bd !important; }
a { color:#1c68bd; }
@media(min-width:960px) { #loginContent { display:flex !important; flex-direction:row !important; } #loginContent .sg-logo,#loginContent .sg-login { flex:0 0 50% !important; max-width:50% !important; } }
@media(max-width:959px) { main.view:has(#loginContent) > md-content { padding:24px 16px !important; } #loginContent { max-width:520px !important; } #loginContent .sg-logo { padding:24px 30px !important; border-right:0; border-bottom:1px solid var(--ej-line); } .ej-login-logo { margin-bottom:16px; } .ej-login-logo img { max-width:285px; margin:auto !important; } .ej-login-intro h1 { font-size:27px; } .ej-login-intro .ej-login-site { margin-top:15px; } #loginContent .sg-login-content { padding:24px 14px 20px !important; } }
@media(max-width:480px) { main.view:has(#loginContent) > md-content { padding:16px 12px !important; } #loginContent .sg-logo { padding:20px 24px !important; } .ej-login-intro p { font-size:13px; } .ej-login-intro h1 { font-size:25px; margin-bottom:10px; } .ej-login-heading h2 { font-size:20px; } #loginContent .sg-login { padding:6px 10px; } }
/* Ajustes de flujo: la pantalla de acceso permanece completa en pantallas cortas. */
#loginContent .sg-logo { margin:0 !important; }
main.view:has(#loginContent) > md-content { justify-content:safe center !important; }
#loginContent .sg-login form button.md-fab:not([disabled]) { background:linear-gradient(135deg,#2f8ff0,#1c68bd) !important; color:#fff !important; }
#loginContent .sg-login form button.md-fab:not([disabled]) md-icon { color:#fff !important; }
