:root{color-scheme:dark;font-family:Arial,sans-serif;color:#f2ede4;background:#13120f}
*{box-sizing:border-box}
body.login-body{margin:0;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at top left,#383123 0,transparent 65%),#13120f}
.login-card{width:100%;max-width:460px;padding:44px 40px;background:#191813;border:1px solid #b69a6340;box-shadow:0 24px 80px #0005}
.logo{display:block;width:110px;height:90px;object-fit:contain;margin:0 auto 36px}
.eyebrow{font-size:10px;letter-spacing:.2em;color:#c6ac7c;margin-bottom:20px}
h1{font-family:Georgia,serif;font-weight:400;font-size:38px;line-height:1.15;margin:0 0 16px}
.intro{color:#bbb6ac;font-size:14px;line-height:1.7;margin-bottom:28px}
label{display:block;font-size:12px;margin:20px 0 9px}
input:not([type=hidden]){width:100%;border:1px solid #ffffff30;background:#ffffff05;padding:14px;color:#fff;font:16px Arial,sans-serif;border-radius:2px}
button{width:100%;margin-top:26px;padding:16px 20px;background:#c3a66e;border:0;color:#171614;font:600 14px Arial,sans-serif;cursor:pointer;display:flex;justify-content:space-between}
button:hover{background:#d7bd8b}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #dbc596;outline-offset:4px}
.back{display:inline-block;margin-top:28px;font-size:12px;color:#bbb6ac;text-decoration:none}
.back:hover{color:#fff}
.error{padding:14px;background:#c8645420;border:1px solid #d9907660;color:#f0baaa;font-size:13px;line-height:1.6}
.success{padding:14px;background:#749c6520;border:1px solid #91b47c60;color:#c1d9af;font-size:13px;line-height:1.6}
.create-user{border-top:1px solid #b69a6340;border-bottom:1px solid #b69a6340;padding:26px 0;margin-top:26px}
.create-user h2{font:400 26px Georgia,serif;margin:0 0 12px}
.field-help{font-size:12px;line-height:1.5;color:#bbb6ac;margin:8px 0 0}
@media(max-width:480px){.login-card{padding:32px 24px}h1{font-size:32px}}

/* Shared password controls for login and every private-panel form. */
.password-visibility{display:flex;align-items:stretch;width:100%;min-width:0}
.password-visibility input:not([type=hidden]){flex:1;min-width:0;width:0;border-radius:2px 0 0 2px}
.password-visibility .password-visibility-toggle{flex:0 0 auto;width:auto;min-width:72px;margin:0;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffffff30;border-left:0;border-radius:0 2px 2px 0;background:#b69a6314;color:#dfc695;font:13px Arial,sans-serif;letter-spacing:normal;text-transform:none;cursor:pointer}
.password-visibility .password-visibility-toggle:hover{background:#b69a6330}
.password-visibility .password-visibility-toggle:focus-visible{outline:2px solid #dbc596;outline-offset:3px}

@media(max-width:480px){body.login-body{padding:20px 12px;align-items:start}.login-card{padding:28px 18px;margin:auto 0}.login-card h1{font-size:clamp(27px,8vw,34px);overflow-wrap:anywhere}.login-card .logo{width:88px;height:72px;margin-bottom:24px}.login-card :is(p,li,strong){overflow-wrap:anywhere}.login-card button{min-height:46px}.password-visibility .password-visibility-toggle{min-width:62px;padding:10px}.login-card input{min-width:0;max-width:100%}}
