/* Same palette and controls as the timesheet and vacation pages. */
@import url('/vacation.css');
.auth-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--text);margin:0}
.auth-card{width:min(100%,470px);padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-sizing:border-box}
.auth-card h1{font-size:28px;line-height:1.2;margin:0 0 20px}.auth-card h2{font-size:22px;margin:24px 0 12px}.auth-card p{line-height:1.55;color:var(--muted)}
.auth-card label{display:block;margin:16px 0 8px;font-size:16px;font-weight:650}.auth-card input:not([type=checkbox]){width:100%;min-height:52px;font-size:18px;box-sizing:border-box;letter-spacing:normal;text-align:left}
.auth-card label.auth-check{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 0;cursor:pointer;text-align:left;line-height:1.45}
.auth-card .auth-check input[type=checkbox]{width:24px;height:24px;min-height:24px;flex:0 0 24px;margin:0;padding:0;accent-color:var(--accent);cursor:pointer}
.auth-card .auth-back{display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:10px 0;border:0;background:transparent;color:var(--muted)}
.auth-back svg{width:20px;height:20px;flex:none}.auth-card .auth-back:hover{color:var(--ink)}
.auth-card button,.auth-card .button{min-height:50px;font-size:16px;padding:12px 18px}.auth-card .primary{width:100%;margin-top:22px}.auth-card .secondary{width:100%;margin-top:12px}.auth-error{color:var(--holiday-ink,#ae2633)!important;min-height:24px;overflow-wrap:anywhere}.auth-note{font-size:14px}.auth-theme{float:right;margin:0 0 14px 14px}.auth-brand{width:40px;height:60px;object-fit:contain;margin-bottom:24px}html[data-theme=dark] .auth-brand{filter:invert(1)}
.auth-card input:focus-visible,.auth-card button:focus-visible,.auth-card a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.auth-card button:disabled{cursor:wait;opacity:.6}.auth-card pre,.auth-card code{white-space:pre-wrap;overflow-wrap:anywhere}.auth-qr{display:block;max-width:240px;width:100%;background:white;padding:12px;box-sizing:border-box;margin:18px auto}
.auth-reauth{padding:0;border:1px solid var(--line);border-radius:16px;max-width:500px;width:calc(100% - 24px);height:min(740px,92dvh);margin:auto;background:var(--panel)}.auth-reauth iframe{width:100%;height:100%;border:0}.auth-reauth::backdrop{background:#0009}.auth-embedded{padding:18px}.auth-embedded .auth-card{border:0;padding:12px;max-width:none}.auth-embedded .auth-brand,.auth-embedded .auth-theme{display:none}
.auth-settings{max-width:850px;margin:24px auto;padding:0 20px}.auth-settings>section{border-top:1px solid var(--line);padding:24px 0}.auth-settings input{font-size:16px;min-height:46px}.auth-settings label{display:block;margin:12px 0 5px}.auth-settings button{min-height:46px;margin:10px 8px 0 0}.auth-settings li{padding:12px 0}.auth-actions{display:flex;gap:12px;flex-wrap:wrap}.auth-settings form{max-width:480px}.auth-settings header{display:flex;justify-content:space-between;align-items:center;gap:16px}.auth-settings h1{font-size:30px}
@media(max-width:480px){.auth-page{padding:14px}.auth-card{padding:24px 20px}.auth-settings{padding:0 16px}.auth-settings header{align-items:start;flex-direction:column}.auth-card h1{font-size:26px}}
.terminal-entry [hidden]{display:none!important}
.terminal-entry-choices{display:flex;flex-direction:column;gap:14px;margin-top:26px}
.terminal-entry-choices button{display:flex;align-items:center;gap:20px;width:100%;min-height:88px;padding:18px 22px;text-align:left}
.terminal-entry-choices svg{width:32px;height:32px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.terminal-entry-choices strong,.terminal-entry-choices small{display:block}
.terminal-entry-choices strong{font-size:21px;line-height:1.35}
.terminal-entry-choices small{margin-top:4px;color:var(--muted);font-size:15px;font-weight:400}
.terminal-entry .auth-back svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.terminal-entry .terminal-camera{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:var(--bg)}
.terminal-entry #qrStatus{min-height:3em;font-size:16px}
.terminal-entry #terminalPin{font-size:28px;letter-spacing:.2em;text-align:center;min-height:64px;font-variant-numeric:tabular-nums}
.terminal-entry #error:empty{display:none}
