:root{color-scheme:light;font-family:Arial,sans-serif;color:#20211f;background:#f7f3ec}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;text-align:center}
.box{width:min(100%,580px);padding:48px 28px}
.brand{color:#9a784d;letter-spacing:.16em;font-size:13px;font-weight:bold;text-decoration:none}
.construction-note{font-size:11px;letter-spacing:.14em;color:#9a784d;margin-bottom:0}
.management-login{display:inline-block;margin-top:14px;padding:9px 14px;border:1px solid #d7cbb7;border-radius:6px;color:#665238;font-size:14px;text-decoration:none}
h1{font:600 clamp(36px,8vw,64px)/1.1 Georgia,serif;margin:28px 0 20px}
h2{font:600 28px/1.2 Georgia,serif;margin:0 0 12px}
.preview-login{border-top:1px solid #d7cbb7;margin-top:30px;padding-top:28px}
p{line-height:1.7;color:#666}
.login-form{display:grid;gap:10px;max-width:360px;margin:28px auto 0;text-align:left}
label{font-weight:600;font-size:14px;margin-top:8px}
input{width:100%;padding:13px 12px;border:1px solid #cfc3af;border-radius:6px;background:#fffefa;color:#20211f;font:inherit}
button{padding:13px 18px;margin-top:12px;border:1px solid #20211f;border-radius:6px;background:#20211f;color:#fffefa;font:600 15px Arial,sans-serif;cursor:pointer}
button:disabled{opacity:.55;cursor:wait}
button.secondary{background:transparent;color:#665238;border-color:#d7cbb7;margin-top:0}
a:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid #9a784d;outline-offset:3px}
.message{min-height:1.7em;margin-bottom:6px;font-size:14px}
.message[data-error=true]{color:#9d2828}
.session-message{font-size:13px;margin:8px auto;max-width:360px}
.back-link{font-size:14px;color:#665238;text-underline-offset:3px}
[hidden]{display:none!important}
@media(max-width:480px){.box{padding:36px 24px}h1{margin-top:24px}}
