/* Sign-in gate, account bar and Approvals. Uses the site's colour tokens. */
.gate{min-height:calc(100vh - 90px);display:flex;align-items:flex-start;justify-content:center;padding:48px 16px}
.gate[hidden]{display:none}
.gate-card{width:100%;max-width:400px;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:28px 28px 24px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.gate-card h2{margin:0 0 6px;font-size:22px;font-weight:600}
.gate-card .lede{margin:0 0 20px;color:var(--muted);font-size:14px}
.gate-card form{display:flex;flex-direction:column;gap:14px}
.gate-card label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600}
.gate-card label .hint{font-weight:400;color:var(--muted);font-size:13px}
.gate-card input[type=email],.gate-card input[type=password],.gate-card input[type=text]{font:inherit;font-weight:400;padding:9px 10px;border:1px solid var(--rule);border-radius:4px;background:#fff;color:var(--ink)}
.gate-card input:focus-visible{outline:3px solid var(--orange);outline-offset:1px}
.gate-card .show-pw{flex-direction:row;align-items:center;gap:8px;font-weight:400;color:var(--muted)}
.gate-card .show-pw input{accent-color:var(--orange);margin:0}
.gate-card button.primary{margin-top:4px;padding:10px 12px;background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}
.gate-card button.primary[disabled]{opacity:.6;cursor:progress}
.gate-card .alt{margin:18px 0 0;font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 16px}
.gate-card .link{border:0;padding:0;background:none;color:#8a4a00;text-decoration:underline;font:inherit;cursor:pointer}
.gate-msg{margin:0;padding:10px 12px;border-radius:4px;font-size:14px}
.gate-msg:empty{display:none}
.gate-msg.err{background:#fdecea;color:var(--bad);border:1px solid #f3c1bd}
.gate-msg.ok{background:#e9f5ec;color:var(--ok);border:1px solid #bfe0c9}
.gate-card .who{font-weight:600;color:var(--ink);word-break:break-all}

.userbar{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--muted);flex-wrap:wrap}
.userbar[hidden]{display:none}
.userbar .me{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.userbar button{padding:5px 10px;font-size:13px}
.userbar .badge{display:inline-block;min-width:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--orange);color:#fff;font-size:12px;font-weight:600;text-align:center}
.userbar .badge:empty{display:none}

.approvals{max-width:960px;margin:0 auto;padding:24px 32px 48px}
.approvals[hidden]{display:none}
.approvals h2{font-size:20px;font-weight:600;margin:0 0 4px}
.approvals .lede{margin:0 0 18px;color:var(--muted);font-size:14px}
.acct-list{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:6px;background:#fff}
.acct{display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:center;padding:12px 16px;border-top:1px solid var(--rule)}
.acct:first-child{border-top:0}
.acct .name{font-weight:600}
.acct .meta{font-size:13px;color:var(--muted);word-break:break-all}
.acct .acts{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.acct .acts button{padding:5px 12px;font-size:13px}
.acct .acts button.approve{background:var(--ok);border-color:var(--ok);color:#fff}
.acct .acts button.reject{border-color:var(--bad);color:var(--bad)}
.status{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.status.pending{background:var(--orange-soft);color:#8a4a00}
.status.approved{background:#e9f5ec;color:var(--ok)}
.status.rejected{background:#f1efeb;color:var(--skip)}
.acct-empty{padding:16px;color:var(--muted);font-size:14px}
@media (max-width:600px){.approvals{padding:20px 16px 40px}.acct{grid-template-columns:1fr}.acct .acts{justify-content:flex-start}.gate-card{padding:22px 18px}}
