/* Match the dashboard palette without changing other public pages. */
html:has(> .signin-page) { background: #0c121b; color-scheme: dark; }
.signin-page {
    --signin-bg: #0c121b;
    --signin-surface: #141e2b;
    --signin-border: #2a394b;
    --signin-text: #edf3f9;
    --signin-muted: #a1b0c2;
    --signin-accent: #64dbc5;
    background: var(--signin-bg);
    color: var(--signin-text);
    color-scheme: dark;
    font: 400 14px/1.55 'Inter', system-ui, sans-serif;
    min-height: 100%;
    height: auto;
    -webkit-font-smoothing: antialiased;
}
.signin-page .container {
    background: var(--signin-bg);
    min-height: 100svh;
    height: auto;
}
.signin-page .inner {
    position: relative;
    width: 100%;
    max-width: 1120px;
    height: 88px;
    margin: 0 auto;
    left: auto;
    transform: none;
}
.signin-page .page { padding: 48px 20px 96px; }
.signin-page .panel {
    width: min(440px, 100%);
    max-width: 440px;
    padding: 32px;
    background: var(--signin-surface);
    border: 1px solid var(--signin-border);
    border-radius: 0;
}
.signin-page h2 { color: var(--signin-text); font-size: 28px; font-weight: 600; letter-spacing: -.025em; margin: 0 0 28px; }
.signin-page .formlabel { color: #c3cedc; font-size: 12px; font-weight: 500; padding: 0 0 7px; }
.signin-page .formfield { padding-bottom: 20px; }
.signin-page input {
    background: #101924;
    color: var(--signin-text);
    border: 1px solid #3a4b60;
    border-radius: 4px;
    padding: 11px 12px;
    font: inherit;
    font-size: 16px;
    min-height: 44px;
}
.signin-page input::placeholder { color: #8395ac; font-size: inherit; }
.signin-page input:focus { border-color: var(--signin-accent); }
.signin-page :is(input, button, a):focus-visible { outline: 2px solid var(--signin-accent); outline-offset: 3px; }
.signin-page .formfooter { color: var(--signin-muted); font-size: 12px; }
.signin-page a.formlink { color: #97c5ff; }
.signin-page a.formlink:hover { color: var(--signin-accent); text-decoration: underline; }
.signin-page button.primary {
    background: #66dcc7;
    border: 1px solid #66dcc7;
    border-radius: 4px;
    color: #0a2525;
    padding: 11px 16px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    min-height: 44px;
}
.signin-page button.primary:hover { background: #91efdd; border-color: #91efdd; }
.signin-page .forminfo { background: #193c35; border: 1px solid #377266; color: #b8f5df; border-radius: 0; padding: 12px 16px; margin-bottom: 24px; font-size: 13px; }
.signin-page .formwarn { background: #3d282b; border: 1px solid #8c514f; color: #ffcec8; border-radius: 0; }
.signin-page #menu { background: var(--signin-surface); border-color: var(--signin-border); border-radius: 0; }
.signin-page #menu .item { color: var(--signin-text); }
.signin-page #menu .item:hover { background: #1b2838; color: var(--signin-accent); }
.signin-page #menu .item.interest { background: #183a3b; color: var(--signin-accent); border-radius: 4px; }
.signin-page .slice.footer, .signin-page .slice.dark { background: var(--signin-bg); color: var(--signin-muted); }
.signin-page .slice.footer { border-top: 1px solid var(--signin-border); }
.signin-page .slice .content .footer .head { color: var(--signin-text); font-size: 13px; }
.signin-page .slice .content .footer .sub a { color: var(--signin-muted); font-size: 12px; }
.signin-page .slice .content .footer .sub a:hover { color: var(--signin-accent); }
@media (max-width: 600px) {
    .signin-page .inner { height: 76px; }
    .signin-page .page { padding: 28px 16px 48px; }
    .signin-page .panel { padding: 24px; }
    .signin-page h2 { font-size: 25px; margin-bottom: 24px; }
}
