/* Native com_users only; no alternate authentication, cloned fields or JS. */
body.sl-stage-shell .account-entry-page {
    padding-block: 36px 72px;
    background: var(--sl-bg);
    color: var(--sl-text);
}
body.sl-stage-shell .account-entry-page > .uk-container { max-width: 600px; }
.account-entry-page .uk-breadcrumb { font-size: 14px; }
.account-entry-page #system-message-container { margin-block-end: 20px; }
.account-entry-page #system-message-container .alert { padding: 20px; border: 1px solid var(--sl-line); border-radius: 12px; background: var(--sl-raised); color: var(--sl-text); }
.account-entry-page #system-message-container .alert :is(h3, p, a) { color: var(--sl-text); }
.account-entry {
    padding: clamp(24px, 5vw, 40px);
    border: 1px solid var(--sl-line);
    border-radius: 16px;
    background: var(--sl-surface);
    color: var(--sl-text);
    overflow-wrap: anywhere;
}
.account-entry .account-entry__title,
.account-entry .page-header h1 {
    margin: 0 0 16px;
    color: var(--sl-text);
    font-family: var(--sl-yoo-font-heading, "Playfair Display", serif);
    font-size: clamp(30px, 5vw, 40px);
    line-height: 1.16;
    text-transform: none;
    letter-spacing: -.02em;
}
.account-entry__intro { margin: 0 0 28px; color: var(--sl-muted); font-size: 18px; line-height: 1.55; }
.account-entry .login { margin: 0; }
.account-entry form { margin: 0; padding: 0; border: 0; background: none; }
.account-entry fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.account-entry fieldset + fieldset { margin-block-start: 20px; }
.account-entry .control-group { margin: 0 0 20px; }
.account-entry .control-label { float: none; width: auto; padding: 0; text-align: start; }
.account-entry .controls { margin: 0; }
.account-entry label { display: block; margin: 0 0 8px; color: var(--sl-text); font-size: 16px; line-height: 1.5; }
.account-entry input:not([type="hidden"]):not([type="checkbox"]) {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    padding: 10px 14px;
    border: 1px solid var(--sl-line);
    border-radius: 8px;
    background: var(--sl-bg);
    color: var(--sl-text);
    font: inherit;
    font-size: 16px;
    caret-color: var(--sl-copper);
}
.account-entry input[aria-invalid="true"] { border-color: var(--sl-accent); }
.account-entry .control-group:has(input[type="checkbox"]) { display: flex; align-items: center; gap: 12px; min-height: 44px; }
.account-entry .control-group:has(input[type="checkbox"]) .control-label { order: 1; }
.account-entry .control-group:has(input[type="checkbox"]) label { margin: 0; }
.account-entry input[type="checkbox"] { width: 20px; height: 20px; margin: 0; accent-color: var(--sl-accent); }
.account-entry button[type="submit"] {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 12px 18px;
    border: 0;
    border-radius: 8px;
    background: var(--sl-accent);
    color: #1d110d;
    font: inherit;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: none;
}
.account-entry button[type="submit"]:hover { background: var(--sl-yoo-link-hover, #ff7b55); }
.account-entry button[type="submit"]:disabled { opacity: .65; cursor: not-allowed; }
.account-entry :is(input, button, a):focus-visible { outline: 2px solid var(--sl-focus); outline-offset: 3px; }
.account-entry .slogin-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
body.sl-stage-shell .account-entry .slogin-buttons > a { display: inline-flex; align-items: center; box-sizing: border-box; flex: 1 1 140px; gap: 12px; min-height: 48px; margin: 0; padding: 8px 12px; border: 1px solid var(--sl-line); border-radius: 8px; background: var(--sl-raised); color: var(--sl-text); text-decoration: none; font-size: 16px; }
body.sl-stage-shell .account-entry .slogin-buttons > a:hover { background: var(--sl-bg); }
body.sl-stage-shell .account-entry .slogin-buttons .text-socbtn { float: none; width: auto; height: auto; flex: 1; white-space: normal; color: inherit; font-size: 16px; line-height: 1.4; }
.account-entry .nav { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 24px 0 0; padding: 0; border: 0; list-style: none; }
.account-entry .nav > li { margin: 0; padding: 0; }
.account-entry .nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--sl-copper); font-size: 16px; text-underline-offset: .2em; }
.account-entry .nav a:hover { color: var(--sl-text); }
@media (max-width: 620px) {
    body.sl-stage-shell .account-entry-page { padding-block: 20px 44px; }
    .account-entry__intro { font-size: 16px; }
}
