/* Tenant login page (/t/<slug>/login). The brand colours arrive as CSS variables set by tlogin.js. */
:root{
  --p:#0e1621;--on-p:#ffffff;--s:#2563eb;--on-s:#ffffff;--a:#e8a317;
  --bg:#f4f6f9;--card:#ffffff;--ink:#16202c;--mute:#5d6b7a;--line:#d8e0e8;
  --font:"Segoe UI Variable Text","Segoe UI",Ubuntu,"Helvetica Neue",Arial,sans-serif;
}
:root[data-theme="dark"]{--bg:#0f1620;--card:#1a2330;--ink:#e6edf3;--mute:#9fb0c2;--line:#2c3a4b;color-scheme:dark}
@media (prefers-color-scheme:dark){
  :root[data-theme="auto"]{--bg:#0f1620;--card:#1a2330;--ink:#e6edf3;--mute:#9fb0c2;--line:#2c3a4b;color-scheme:dark}
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--font)}
body.loading .page{visibility:hidden}
.page{display:grid;grid-template-columns:minmax(280px,42%) minmax(0,1fr);min-height:100vh}
.panel{background:var(--p);color:var(--on-p);padding:56px 44px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.logo{max-width:260px;max-height:96px;width:auto;height:auto;align-self:flex-start}
.panel h1{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.15;font-weight:650;overflow-wrap:anywhere}
.welcome{margin:0;font-size:16px;white-space:pre-line;max-width:46ch;overflow-wrap:anywhere}
.side{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(16px,6vw,80px);gap:24px}
form{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:28px;max-width:420px;width:100%}
form h2{margin:0 0 8px;font-size:20px}
label{font-size:13px;color:var(--mute);margin:12px 0 5px}
input{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:10px 12px}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--a);outline-offset:2px}
button{margin-top:18px;font:inherit;font-weight:600;background:var(--p);color:var(--on-p);border:0;border-radius:6px;padding:11px 14px;cursor:pointer}
:root[data-theme="dark"] button{background:var(--s);color:var(--on-s)}
@media (prefers-color-scheme:dark){:root[data-theme="auto"] button{background:var(--s);color:var(--on-s)}}
button:hover{filter:brightness(1.08)}button:disabled{opacity:.6;cursor:wait}
.err{min-height:22px;margin:10px 0 0;color:#c62828;font-size:14px}
:root[data-theme="dark"] .err{color:#ffb4a8}
@media (prefers-color-scheme:dark){:root[data-theme="auto"] .err{color:#ffb4a8}}
.resume{margin-top:16px;color:var(--s);font-size:14px}
.support{max-width:420px;font-size:14px;color:var(--mute)}
.support h3{font-size:14px;margin:0 0 4px;color:var(--ink)}
.support ul{list-style:none;margin:0;padding:0}
.support li{padding:2px 0;overflow-wrap:anywhere}
.support a{color:var(--s)}
.powered{font-size:12.5px;color:var(--mute);margin:0}
@media (max-width:760px){
  .page{grid-template-columns:minmax(0,1fr)}
  .panel{padding:28px 16px}
  .side{padding:24px 16px}
  form{padding:20px}
}
/* language picker (v0.6.3) */
form.langpick{flex-direction:row;align-items:center;gap:6px;background:none;border:0;padding:0;max-width:420px;width:100%;justify-content:flex-end;color:var(--mute)}
.langpick svg{width:18px;height:18px;flex:none}
.langpick select{font:inherit;font-size:14px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 8px;max-width:160px}
.langpick select:focus-visible{outline:3px solid var(--a);outline-offset:2px}
.langpick .langgo{margin:0;padding:6px 10px;font-size:13px}
