/* H01 owner sign-in (approved 2026-11-03), shared by the password sign-in and the local session-token entry. */
.signin-page{--si-canvas:#fbf9f6;--si-ink:#141628;--si-muted:#575a6e;--si-line:#d9dae3;--si-accent:#3d4ee0;--si-accent-dark:#2f3fc4;--si-error:#a12a2a;box-sizing:border-box;min-height:100vh;padding:32px 48px 48px;background:var(--si-canvas);color:var(--si-ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.signin-page *{box-sizing:border-box}
body:has(.signin-page){margin:0;background:#fbf9f6}body:has(.signin-page) .topbar{display:none}body:has(.signin-page) main#app{max-width:none;padding:0;margin:0}
.signin-page h1,.signin-page p{margin:0}
.signin-brand{font-family:Georgia,"Times New Roman",serif;font-size:36px;line-height:1.1;letter-spacing:-.6px;font-weight:500}
.signin-card{width:440px;max-width:100%;margin:96px auto 0;padding:32px;background:#fff;border:1px solid var(--si-line);border-radius:14px}
.signin-card h1{font-size:36px;line-height:1.15;letter-spacing:-.8px;font-weight:700}
.signin-sub{font-size:16px;color:var(--si-muted);margin-top:8px!important}
.signin-card form{margin-top:24px}
.signin-card label{display:block;font-size:16px;font-weight:650}
.signin-help{font-size:14px;color:var(--si-muted);margin-top:4px!important}
.signin-field{display:flex;margin-top:12px;border:1px solid #c9cad6;border-radius:10px;background:#fff}
.signin-field:focus-within{border-color:var(--si-accent);box-shadow:0 0 0 3px #3d4ee033}
.signin-field input{flex:1;min-width:0;min-height:48px;padding:12px 16px;border:0;border-radius:10px 0 0 10px;background:transparent;font:inherit;font-size:16px;color:var(--si-ink);outline:none}
.signin-field input::placeholder{color:#6d7083}
.signin-show{flex:none;min-width:72px;min-height:48px;margin:-1px -1px -1px 0;padding:0 16px;border:1px solid var(--si-accent);border-radius:0 10px 10px 0;background:#fff;color:var(--si-accent);font:inherit;font-size:16px;font-weight:650;cursor:pointer}
.signin-show:hover{background:#f3f4fe}.signin-show:disabled{cursor:not-allowed;opacity:.6}
.signin-error{font-size:14px;color:var(--si-error);margin-top:8px!important}.signin-error:empty{display:none}
[aria-invalid="true"]{caret-color:var(--si-error)}.signin-field:has([aria-invalid="true"]){border-color:var(--si-error)}
.signin-submit{display:block;width:100%;min-height:48px;margin-top:24px;padding:12px 16px;border:0;border-radius:10px;background:var(--si-accent);color:#fff;font:inherit;font-size:16px;font-weight:650;cursor:pointer}
.signin-submit:hover{background:var(--si-accent-dark)}.signin-submit:disabled{cursor:progress;opacity:.75}
.signin-page button:focus-visible{outline:3px solid #8f97f0;outline-offset:3px}
.signin-note{text-align:center;font-size:16px;color:var(--si-muted);margin-top:24px!important}
.signin-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:600px){
  .signin-page{padding:24px 24px 40px}
  .signin-brand{font-size:32px}
  .signin-card{width:auto;margin:56px 0 0;padding:0;background:transparent;border:0;border-radius:0}
  .signin-card h1{font-size:28px}
  .signin-card form{margin-top:24px;padding:24px;background:#fff;border:1px solid var(--si-line);border-radius:14px}
  .signin-note{text-align:left}
}
@media(max-width:360px){.signin-page{padding:20px 16px 32px}.signin-card form{padding:20px 16px}}
