/* IP Gestão Executivo v75.1 — tokens semânticos locais. */
/* IP Gestão v74.4 — compact authentication */
:root {
  --auth-bg: var(--ip75-surface); --auth-surface: var(--ip75-surface); --auth-text: var(--ip75-text); --auth-muted: var(--ip75-muted);
  --auth-border: var(--ip75-border); --auth-primary: var(--ip75-primary); --auth-side: var(--ip75-text);
}
html[data-theme="dark"] {
  --auth-bg: var(--ip75-surface); --auth-surface: var(--ip75-surface); --auth-text: var(--ip75-text); --auth-muted: var(--ip75-muted);
  --auth-border: var(--ip75-border); --auth-primary: var(--ip75-primary); --auth-side: var(--ip75-text);
}
body.ip-ui-v744-login { display: grid !important; place-items: center !important; padding: 20px !important; background: var(--auth-bg) !important; overflow: auto !important; }
body.ip-ui-v744-login .ip-login-shell { width: min(980px,100%) !important; min-height: 560px !important; max-height: calc(100dvh - 40px) !important; display: grid !important; grid-template-columns: minmax(0,1.05fr) minmax(360px,.75fr) !important; overflow: hidden !important; border: 1px solid var(--auth-border) !important; border-radius: 18px !important; background: var(--auth-surface) !important; box-shadow: var(--ip75-shadow-xs) !important; }
body.ip-ui-v744-login .ip-login-brand { min-width: 0 !important; padding: 28px !important; background: var(--auth-side) !important; color: var(--ip75-on-primary) !important; overflow: hidden !important; }
body.ip-ui-v744-login .ip-login-brand-main { margin: auto 0 !important; }
body.ip-ui-v744-login .ip-login-brand-main h1 { max-width: 480px !important; font-size: clamp(25px,3vw,38px) !important; line-height: 1.08 !important; }
body.ip-ui-v744-login .ip-login-brand-main p { max-width: 520px !important; font-size: 13px !important; line-height: 1.55 !important; }
body.ip-ui-v744-login .ip-login-capabilities { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; margin-top: 22px !important; }
body.ip-ui-v744-login .ip-login-capability { min-height: 58px !important; padding: 10px !important; border-radius: 10px !important; background: color-mix(in srgb, var(--ip75-surface) 6%, transparent) !important; border: 1px solid color-mix(in srgb, var(--ip75-border) 8%, transparent) !important; }
body.ip-ui-v744-login .ip-login-panel { position: relative !important; display: flex !important; flex-direction: column !important; justify-content: center !important; min-width: 0 !important; padding: 34px !important; background: var(--auth-surface) !important; color: var(--auth-text) !important; overflow: auto !important; }
body.ip-ui-v744-login .ip-login-panel-head h2 { font-size: 24px !important; color: var(--auth-text) !important; }
body.ip-ui-v744-login .ip-login-panel-head p { font-size: 12.5px !important; color: var(--auth-muted) !important; }
body.ip-ui-v744-login .ip-login-form { display: flex !important; flex-direction: column !important; gap: 12px !important; margin-top: 18px !important; }
body.ip-ui-v744-login .ip-login-field input { min-height: 42px !important; height: 42px !important; border-radius: 9px !important; background: var(--auth-surface) !important; color: var(--auth-text) !important; border: 1px solid var(--auth-border) !important; }
body.ip-ui-v744-login .ip-login-submit { min-height: 42px !important; border-radius: 9px !important; background: var(--ip75-primary) !important; color: var(--ip75-on-primary) !important; }
body.ip-ui-v744-login .ip-login-theme-toggle { top: 16px !important; right: 16px !important; width: 34px !important; height: 34px !important; }
@media (max-width: 820px) {
  body.ip-ui-v744-login { padding: 10px !important; }
  body.ip-ui-v744-login .ip-login-shell { width: min(460px,100%) !important; min-height: 0 !important; max-height: none !important; grid-template-columns: 1fr !important; }
  body.ip-ui-v744-login .ip-login-brand { display: none !important; }
  body.ip-ui-v744-login .ip-login-panel { min-height: min(620px,calc(100dvh - 20px)) !important; padding: 28px 22px !important; }
}
@media (max-height: 650px) and (min-width: 821px) {
  body.ip-ui-v744-login .ip-login-shell { min-height: 0 !important; height: calc(100dvh - 24px) !important; }
  body.ip-ui-v744-login .ip-login-brand { padding: 22px !important; }
  body.ip-ui-v744-login .ip-login-capabilities { display: none !important; }
  body.ip-ui-v744-login .ip-login-panel { padding: 24px 30px !important; }
}
