/* Native CSS. LeadU architectural login. Variance / motion / density: 4 / 2 / 2.
   8px corners; image and scrim sit below content inside the isolated stage. */
:root {
    color-scheme: light dark;
    --leadu-surface: #fff; --leadu-ink: #172d3b; --leadu-muted: #596773;
    --leadu-line: #bac4cb; --leadu-field: #fff; --leadu-accent: #234e5d;
    --leadu-accent-hover: #163b49; --leadu-focus: #28687d;
    --leadu-message: #eef4f6; --leadu-error: #a12832; --leadu-error-bg: #fff1f2;
    --leadu-header-height: 76px;
}
* { box-sizing: border-box; }
html { background: var(--leadu-surface); }
body.leadu-page { margin: 0; color: var(--leadu-ink); font-family: "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; font-size: 15px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button, a, input { -webkit-tap-highlight-color: transparent; outline-offset: 4px; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--leadu-focus); }
[hidden] { display: none !important; }
.leadu-skip { position: absolute; left: 16px; top: -100px; padding: 12px 20px; background: var(--leadu-surface); z-index: 3; }
.leadu-skip:focus { top: 12px; }
.leadu-header { height: var(--leadu-header-height); display: flex; align-items: center; padding-inline: clamp(20px, 4.5vw, 72px); background: var(--leadu-surface); }
.leadu-brand { display: inline-flex; align-items: center; margin-left: -16px; }
.leadu-brand img { display: block; width: 144px; height: 48px; object-fit: contain; }
.leadu-stage { position: relative; isolation: isolate; display: grid; min-height: calc(100vh - var(--leadu-header-height)); min-height: calc(100dvh - var(--leadu-header-height)); background: #43586b; }
.leadu-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.leadu-stage::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(11 29 42 / 9%), rgb(11 29 42 / 4%) 60%, rgb(11 29 42 / 18%)); z-index: -1; }
.leadu-stage-inner { width: min(100%, 1336px); margin-inline: auto; padding: 56px 64px 76px; display: grid; align-items: center; justify-items: end; }
.leadu-panel { width: min(100%, 424px); padding: 44px 40px 42px; border: 1px solid rgb(255 255 255 / 50%); border-radius: 8px; background: var(--leadu-surface); box-shadow: 0 24px 72px rgb(11 29 42 / 16%); }
.leadu-panel h1 { margin: 0; font-size: 29px; line-height: 1.4; letter-spacing: -1.2px; font-weight: 750; }
.leadu-panel h1 span { font-weight: 400; }
.leadu-intro { margin: 10px 0 30px; color: var(--leadu-muted); font-size: 14px; letter-spacing: -.25px; }
.leadu-intro strong { color: var(--leadu-ink); }
.leadu-form { display: grid; gap: 20px; }
.leadu-field { display: grid; gap: 8px; }
.leadu-field label { font-size: 13px; font-weight: 650; }
.leadu-field input { width: 100%; min-width: 0; height: 52px; border: 1px solid var(--leadu-line); border-radius: 8px; background: var(--leadu-field); color: var(--leadu-ink); padding: 0 15px; font-size: 14px; }
.leadu-field input::placeholder { color: var(--leadu-muted); opacity: 1; }
.leadu-field input:focus { border-color: var(--leadu-focus); }
.leadu-password-field { position: relative; }
.leadu-password-field:has(button:not([hidden])) input { padding-right: 67px; }
.leadu-password-toggle { position: absolute; right: 5px; top: 5px; min-width: 50px; height: 42px; padding: 0 8px; border: 0; background: transparent; color: var(--leadu-muted); font-size: 12px; cursor: pointer; border-radius: 5px; }
.leadu-password-toggle:hover { color: var(--leadu-ink); }
.leadu-submit { min-height: 52px; display: flex; align-items: center; justify-content: center; width: 100%; border: 1px solid transparent; border-radius: 8px; padding: 12px 18px; background: var(--leadu-accent); color: #fff; font-weight: 650; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color .16s, transform .16s; }
.leadu-form > .leadu-submit { margin-top: 8px; }
.leadu-submit:hover { background: var(--leadu-accent-hover); }
.leadu-submit:active { transform: translateY(1px); }
.leadu-submit:disabled { cursor: wait; opacity: .8; }
.leadu-messages { margin: -8px 0 22px; }
.leadu-message { padding: 12px 14px; margin: 0 0 8px; border-radius: 8px; background: var(--leadu-message); font-size: 13px; }
.leadu-error { color: var(--leadu-error); background: var(--leadu-error-bg); }
.leadu-admin-note { margin: 0; color: var(--leadu-muted); font-size: 13px; }
.leadu-social { margin-top: 22px; }
.leadu-divider { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; color: var(--leadu-muted); font-size: 12px; }
.leadu-divider::before, .leadu-divider::after { content: ""; height: 1px; background: var(--leadu-line); flex: 1; }
.leadu-social > a, .leadu-secondary { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 16px; margin-top: 8px; border: 1px solid var(--leadu-line); border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 14px; }
.leadu-social > a:hover, .leadu-secondary:hover { background: var(--leadu-message); }
.leadu-social-policy { margin: 16px 0 0; font-size: 12px; color: var(--leadu-muted); }
.leadu-workspace-links { display: grid; gap: 12px; }
.leadu-secondary { margin: 0; min-height: 52px; }
.leadu-account-actions { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 24px; font-size: 13px; color: var(--leadu-muted); }
.leadu-account-actions a { text-underline-offset: 4px; }
.leadu-account-actions button { border: 0; color: inherit; padding: 10px 0; background: transparent; cursor: pointer; }
.leadu-extension-link { margin: 24px 0 0; color: var(--leadu-muted); font-size: 12px; text-align: center; }
.leadu-extension-link a { text-underline-offset: 4px; }
.leadu-footer { position: absolute; bottom: 18px; right: clamp(20px, 4.5vw, 72px); color: #fff; font-size: 12px; text-shadow: 0 1px 4px #172d3b; }
@media (max-width: 767px) {
    :root { --leadu-header-height: 64px; }
    .leadu-brand img { width: 132px; height: 44px; }
    .leadu-stage-inner { padding: 40px 20px 68px; justify-items: center; }
    .leadu-panel { padding: 34px 28px; }
    .leadu-panel h1 { font-size: 27px; }
    .leadu-background { object-position: 34% center; }
    .leadu-field input { font-size: 16px; }
    .leadu-intro { margin-bottom: 26px; }
}
@media (max-width: 359px) {
    .leadu-stage-inner { padding-inline: 14px; }
    .leadu-panel { padding-inline: 22px; }
    .leadu-panel h1 { font-size: 24px; }
}
@media (prefers-color-scheme: dark) {
    :root { --leadu-surface: #13232e; --leadu-ink: #edf3f6; --leadu-muted: #b1c1cb; --leadu-line: #607786; --leadu-field: #1a2f3d; --leadu-accent: #356777; --leadu-accent-hover: #417889; --leadu-focus: #99d4e6; --leadu-message: #203947; --leadu-error: #ffb9be; --leadu-error-bg: #43282f; }
    .leadu-brand img { filter: brightness(0) invert(1); }
    .leadu-panel { border-color: #425865; }
    .leadu-stage::before { background: rgb(8 19 27 / 24%); }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}
