/* Login Kasuya — mesma fonte sans-serif e cor primária do painel Tailwind 2. */
:root { --kasuya: #ce9512; --kasuya-ink: #171717; }
.login-layout { min-height:100vh; min-height:100svh; }
.login-panel { background:var(--kasuya); color:var(--kasuya-ink); min-width:0; }
.login-content { width:100%; max-width:25rem; }
.login-logo { width:13rem; max-width:70%; height:auto; }
.login-field {
    width:100%; min-height:3.25rem; padding:.85rem 1rem;
    border:1px solid rgba(23,23,23,.2); border-radius:.65rem;
    background:#fff; color:var(--kasuya-ink);
}
.login-field::placeholder { color:#6b7280; }
.login-panel :is(input, button, a):focus-visible {
    outline:2px solid var(--kasuya-ink); outline-offset:3px;
}
.login-submit {
    width:100%; min-height:3.25rem; border-radius:.65rem;
    background:var(--kasuya-ink); color:white; font-weight:700;
    transition:background-color .15s;
}
.login-submit:hover { background:#343434; }
.login-media { position:relative; overflow:hidden; min-width:0; background:#26362a; }
.login-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.login-media::after {
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, transparent 30%, rgba(0,0,0,.7));
    pointer-events:none;
}
.login-media-copy { position:relative; z-index:1; margin-top:auto; max-width:36rem; }
.login-photo-placeholder {
    position:absolute; inset:2rem; display:flex; align-items:center; justify-content:center;
    border:1px dashed rgba(255,255,255,.25); border-radius:1rem;
    color:#e5e7eb; text-align:center;
}
@media (min-width:1024px) {
    .login-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .login-panel { min-height:100vh; min-height:100svh; }
}
