/* Shared sign-in presentation for employee and management entry points. */
#authModeLink { display:block; margin-top:16px; text-align:center; color:#71441e; font-size:13px; }
#supabaseTrialNotice { position:fixed; bottom:0; left:0; right:0; z-index:900; padding:8px 16px; background:#fff0ce; color:#482600; border-top:1px solid #d9ba91; font-size:12px; line-height:1.5; }
body.prototype-logged-out #supabaseTrialNotice { display:none; }
body:has(#supabaseTrialNotice) { padding-bottom:100px; }
/* Logged-out pages have no fixed header; remove its reserved space. */
body.prototype-logged-out { padding-top:0 !important; }
#prototypeLoginPage {
  --pf-brown:#482600; --pf-brown-light:#71441e; --pf-cream:#f4d6a6;
  --pf-bg:#fff5e6; --pf-yellow:#f8b62d;
  align-items:start; padding:16px; background:radial-gradient(ellipse at top,#f9e4c3 0%,#fff5e6 65%); color:var(--pf-brown);
}
#prototypeLoginPage[hidden] { display:none; }
#prototypeLoginPage .prototype-login-card { width:min(100%,420px); margin:0; padding:24px; border:1px solid #dfb77e; border-radius:24px; background:#fffdf9; box-shadow:0 8px 28px rgba(86,46,0,.06); }
#prototypeLoginForm::before { content:''; display:block; width:72px; height:92px; margin:0 auto 12px; background:url('assets/features/XiaoFu_2.svg') center / contain no-repeat; }
#prototypeLoginForm h1 { margin:0; text-align:center; font-size:24px; line-height:34px; color:var(--pf-brown); }
#prototypeLoginForm h2 { margin:6px 0 20px; text-align:center; font-size:14px; line-height:22px; font-weight:400; color:var(--pf-brown-light); }
#prototypeLoginForm > p { font-size:12px; line-height:20px; color:var(--pf-brown-light); }
#prototypeLoginForm h2 + p { padding:12px 14px; border:1px solid #dfb77e; border-radius:14px; background:#f9e4c3; }
#prototypeLoginForm label { gap:7px; margin:18px 0; font-size:13px; font-weight:700; color:var(--pf-brown); }
#prototypeLoginForm input { min-width:0; height:46px; padding:12px; border:1px solid #d9ba91; border-radius:12px; background:var(--pf-bg); color:var(--pf-brown); font:inherit; font-size:16px; }
#prototypeLoginForm input:focus { outline:2px solid var(--pf-yellow); outline-offset:2px; }
#prototypeLoginForm > button[type="submit"] { min-height:44px; margin:10px 0 0; padding:10px 16px; border:0; border-radius:26px; background:var(--pf-yellow); color:var(--pf-brown); font-size:14px; font-weight:700; }
#prototypeLoginForm #prototypeForgotPassword { display:block; width:100%; margin:4px 0 0; padding:8px 12px; border:0; border-radius:24px; background:transparent; color:var(--pf-brown-light); font-size:12px; }
#prototypeLoginForm #prototypeLoginError:empty { display:none; }
#prototypeLoginForm #prototypeLoginError:not(:empty) { margin:14px 0; padding:12px; border:1px solid #dba38a; border-radius:12px; background:#fff0e6; color:#913b21; font-size:12px; line-height:20px; }
#prototypeLoginForm details { margin-top:18px; padding:12px 14px; border:1px solid #dfb77e; border-radius:16px; background:var(--pf-bg); }
#prototypeLoginForm summary { cursor:pointer; font-size:12px; line-height:22px; font-weight:700; color:var(--pf-brown); }
#prototypeDemoAccounts { gap:8px; margin-top:12px; }
#prototypeDemoAccounts button { min-width:0; margin:0; padding:10px 12px; border:1px solid #dfb77e; border-radius:12px; background:#fffdf9; color:var(--pf-brown); text-align:left; font-size:12px; line-height:20px; overflow-wrap:anywhere; }
#prototypeLoginForm > p:last-child { margin:16px 0 0; padding-top:14px; border-top:1px solid #ead8be; font-size:11px; line-height:19px; }
#prototypeLoginForm :is(button,summary):focus-visible { outline:2px solid var(--pf-brown); outline-offset:3px; }
@media(max-width:360px) { #prototypeLoginPage { padding:12px; } #prototypeLoginPage .prototype-login-card { padding:20px; } }
