@font-face { font-family: "ADAM VK"; src: url("./VKSansDisplay-Regular.140f771ff3da.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "ADAM VK"; src: url("./VKSansDisplay-Medium.7fcd739365e0.ttf") format("truetype"); font-weight: 500; font-display: swap; }
@font-face { font-family: "ADAM VK"; src: url("./VKSansDisplay-SemiBold.a93c65e42ff0.ttf") format("truetype"); font-weight: 600 900; font-display: swap; }
:root {
    --font-sans: "ADAM VK", Arial, sans-serif;
    --adam-surface: #ffffff;
    --adam-text: #152b27;
    --adam-muted: #52645f;
    --adam-border: #748780;
    --adam-action: #087f6c;
    --adam-action-hover: #086657;
    --adam-action-text: #ffffff;
    --adam-error: #b42318;
    --adam-error-bg: #fff1f0;
    --adam-panel: #031b16;
    --adam-panel-text: #ffffff;
    --adam-panel-muted: #d4e8e3;
    --adam-scrim: linear-gradient(180deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .75));
    --adam-control-height: 3rem;
    --adam-radius: .75rem;
}
html.dark {
    --adam-surface: #122620;
    --adam-text: #eff8f5;
    --adam-muted: #b0c7be;
    --adam-border: #809d90;
    --adam-action: #12c09e;
    --adam-action-hover: #36cbae;
    --adam-action-text: #061c18;
    --adam-error: #ffb4a9;
    --adam-error-bg: #3c1918;
}
body { font-family: var(--font-sans); }
.adam-login { display: grid; min-height: 100vh; min-height: 100dvh; background: var(--adam-surface); color: var(--adam-text); }
.adam-brand { display: none; position: relative; overflow: hidden; background: var(--adam-panel); color: var(--adam-panel-text); }
.adam-brand-image { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.adam-brand-content { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 100%; padding: 3rem; background: var(--adam-scrim); }
.adam-wordmark { width: 13rem; height: auto; }
.adam-brand-caption { padding-block: 3rem; }
.adam-brand-caption p:first-child { font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; line-height: 1.2; }
.adam-brand-caption p:last-child { margin-top: 1rem; color: var(--adam-panel-muted); font-size: 1rem; }
.adam-login-panel { display: flex; flex-direction: column; min-width: 0; padding: 1.5rem; }
.adam-login-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.adam-mobile-brand img { width: 7rem; height: auto; }
.adam-logo-dark, .dark .adam-logo-light { display: none; }
.dark .adam-logo-dark { display: block; }
.adam-theme-toggle { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: var(--adam-text); border-radius: var(--adam-radius); cursor: pointer; }
.adam-theme-toggle:hover { color: var(--adam-action); }
.adam-login-form { width: 100%; max-width: 25rem; margin: auto; padding-block: 3rem; }
.adam-section-label { color: var(--adam-muted); font-size: .875rem; margin-bottom: .75rem; }
.adam-login h1 { font-size: clamp(1.5rem, 2.3vw, 1.875rem); line-height: 1.25; font-weight: 600; }
.adam-form-intro { margin-top: 1rem; margin-bottom: 2rem; color: var(--adam-muted); font-size: .875rem; line-height: 1.6; }
.adam-login .form-field { margin-bottom: 1.5rem; }
.adam-login label { color: var(--adam-text); font-size: .875rem; font-weight: 500; }
.adam-login input:not([type="hidden"]) { min-height: var(--adam-control-height); width: 100%; background: var(--adam-surface); color: var(--adam-text); border: 1px solid var(--adam-border); border-radius: var(--adam-radius); box-shadow: none; font-size: 1rem; }
.adam-login :is(button, a, input):focus-visible { outline: 2px solid var(--adam-action); outline-offset: 3px; }
.adam-password { position: relative; }
.adam-password input { padding-right: 6rem; }
.adam-password-toggle { position: absolute; top: 1.75rem; right: .25rem; min-height: var(--adam-control-height); padding: 0 .75rem; color: var(--adam-muted); font-size: .8125rem; background: transparent; border-radius: var(--adam-radius); }
.adam-password-toggle:hover { color: var(--adam-action); }
.adam-submit { display: flex; align-items: center; justify-content: center; width: 100%; min-height: var(--adam-control-height); border-radius: var(--adam-radius); background: var(--adam-action); color: var(--adam-action-text); font-size: .875rem; font-weight: 600; cursor: pointer; }
.adam-submit:hover { background: var(--adam-action-hover); }
.adam-submit:active { filter: brightness(.95); }
.adam-reset { display: block; padding: 1rem; text-align: center; color: var(--adam-action); }
.adam-login-errors { padding: 1rem; margin-bottom: 1.5rem; border-radius: var(--adam-radius); color: var(--adam-error); background: var(--adam-error-bg); font-size: .875rem; line-height: 1.6; overflow-wrap: anywhere; }
.adam-login-errors ul { list-style: none; margin: 0; padding: 0; }
.adam-login [x-cloak] { display: none !important; }
@media (min-width: 900px) {
    .adam-login { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .adam-brand { display: block; }
    .adam-login-panel { padding: 2.5rem; }
    .adam-login-header { justify-content: flex-end; }
    .adam-mobile-brand { display: none; }
}
