/* The sign-in, account and admin pages. Same tokens as src/styles.css, kept to
   the handful these pages use; the rule there applies here too: no raw hex on
   a UI rule outside this block. */
:root{
  color-scheme:dark;
  --bg:#0e0f12; --panel:#16181d; --panel2:#1c1f26; --line:#2a2e37; --lineHi:#39404d;
  --tx:#e8eaf0; --tx2:#9aa2b1; --tx3:#6b7283;
  --acc:#E90003; --acc2:#ff6b5e; --accTx:#ff6b5e; --accSoft:#2b1a1c;
  --ok:#4ca97a; --btnHover:#242833; --lineFocus:#4a5262;
  --r:8px;
}
[data-theme=light]{
  color-scheme:light;
  --bg:#e9ecf1; --panel:#ffffff; --panel2:#f4f6f9; --line:#d8dde5; --lineHi:#c3c9d3;
  --tx:#1a1d23; --tx2:#585f6d; --tx3:#848b99;
  --acc:#E90003; --acc2:#c0392c; --accTx:#c0392c; --accSoft:#fdeceb;
  --ok:#2e7d55; --btnHover:#eef0f4; --lineFocus:#9aa2b1;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--tx);
  font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
body{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 40px}
.card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);
  border-radius:12px;padding:28px}
.card.wide{max-width:760px}
h1{font-size:18px;margin:0 0 4px}
.sub{color:var(--tx2);margin:0 0 20px}
label{display:block;font-size:12px;color:var(--tx2);margin:14px 0 6px}
input[type=email],input[type=password],input[type=text]{width:100%;padding:10px 12px;border-radius:var(--r);
  border:1px solid var(--line);background:var(--panel2);color:var(--tx);font:inherit}
input:focus{outline:none;border-color:var(--lineFocus)}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn{appearance:none;border:1px solid var(--line);background:var(--panel2);color:var(--tx);
  padding:9px 14px;border-radius:var(--r);font:inherit;cursor:pointer}
.btn:hover{background:var(--btnHover);border-color:var(--lineHi)}
.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.btn.primary:hover{background:var(--acc2);border-color:var(--acc2)}
.btn.block{width:100%;margin-top:20px}
.btn:disabled{opacity:.5;cursor:default}
.btn.small{padding:5px 10px;font-size:12px}
.msg{margin:14px 0 0;min-height:1.45em;color:var(--accTx)}
.msg.ok{color:var(--ok)}
a{color:var(--accTx)}
.links{margin-top:20px;display:flex;gap:16px;font-size:13px}
.links button{all:unset;color:var(--accTx);cursor:pointer;text-decoration:underline}
.temp{margin-top:14px;padding:12px;border-radius:var(--r);background:var(--accSoft);border:1px solid var(--line)}
.temp code{font-size:16px;letter-spacing:.04em;user-select:all}
table{width:100%;border-collapse:collapse;margin-top:16px;font-size:13px}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
th{color:var(--tx3);font-weight:500;font-size:12px}
td.actions{text-align:right;white-space:nowrap}
.tag{font-size:11px;color:var(--tx2);border:1px solid var(--line);border-radius:4px;padding:1px 5px;margin-left:6px}
/* Phone width: the table scrolls inside the card rather than the page. */
.tablewrap{overflow-x:auto}
