/* Shared neutral access theme, loaded after existing access form layout. */
html { color-scheme:light; font-family:var(--ui-font); color:var(--ui-text); }
html[data-theme=dark] { color-scheme:dark; }
body.m3-access,body.welcome-page { background:var(--ui-canvas); color:var(--ui-text); }
.login,.access-card { border:1px solid var(--ui-border); background:var(--ui-surface); color:var(--ui-text); box-shadow:var(--ui-shadow-modal); border-radius:20px; }
.brand,.access-brand,.welcome-mark { background:transparent; color:var(--ui-text); }
.login p,.access-card p,.welcome-stage p,.welcome-status { color:var(--ui-muted); }
.login input,.access-card input { background:var(--ui-surface); color:var(--ui-text); border-color:var(--ui-border-strong); }
.login input:focus,.access-card input:focus { border-color:var(--ui-focus); box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-focus) 15%,transparent); }
.login button[type=submit],.access-card button[type=submit],.access-card .primary { color:var(--ui-on-accent); background:var(--ui-accent); }
.login button[type=submit]:hover,.access-card button[type=submit]:hover { background:var(--ui-accent-hover); }
.login a,.access-return { color:var(--ui-text-secondary); }
.welcome-progress { background:var(--ui-border); }.welcome-progress span { background:var(--ui-accent); }
.m3-access>.m3-theme-toggle { position:fixed; top:18px; right:18px; width:auto; height:36px; margin:0; padding:0 12px; border:1px solid var(--ui-border); border-radius:10px; color:var(--ui-muted); background:var(--ui-surface); font:13px var(--ui-font); cursor:pointer; }
.m3-theme-toggle:focus-visible { outline:2px solid var(--ui-focus); outline-offset:3px; }
html[data-theme=dark] img[src*="m3-life-mark.svg"] { filter:invert(1); }
@media(max-width:560px) { body.m3-access { padding:68px 16px 24px; }.login { padding:26px; }.login input { font-size:16px; } }
.access-card button:not(.secondary),.access-card .continue { color:var(--ui-on-accent); background:var(--ui-accent); }
.access-card button.secondary { background:var(--ui-surface-muted); color:var(--ui-text-secondary); }
.welcome-status span,.progress:after { background:var(--ui-accent); }.progress { background:var(--ui-border); }
