/* PROJECTPT auth pages (login/reset) — Ops Console design */
:root {
  --bg: #1a1a1a; --panel: #212120; --thbg: #1c1c1b;
  --line: #2f2f2d; --line2: #3c3c39;
  --tx: #f2efe9; --dim: #a39e93; --faint: #6e6a61;
  --ac: #ff6b35; --ac-hi: #ff8a5c; --ac-fill: rgba(255,107,53,.12); --onac: #1a1a1a;
  --bad: #ff5252; --ok: #4ade80;
  --sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --disp: 'Unbounded', 'Inter', sans-serif;
  --mono: 'JetBrains Mono','Courier New','Liberation Mono',monospace;
}
body[data-theme="cyan"]   { --ac:#35c4ff; --ac-hi:#63d2ff; --ac-fill:rgba(53,196,255,.12); }
body[data-theme="green"]  { --ac:#4ade80; --ac-hi:#6ee7a0; --ac-fill:rgba(74,222,128,.12); }
body[data-theme="violet"] { --ac:#b78bff; --ac-hi:#cba6ff; --ac-fill:rgba(183,139,255,.13); }
body[data-theme="light"] {
  --bg:#f2f0ea; --panel:#ffffff; --thbg:#ece9e2; --line:#ddd9cf; --line2:#c9c4b8;
  --tx:#26241f; --dim:#6f6a60; --faint:#9a958a;
  --ac:#d14d1d; --ac-hi:#e05e2a; --ac-fill:rgba(209,77,29,.10); --onac:#ffffff;
  --bad:#cc2f2f; --ok:#1a9e4b;
}

* { margin:0; padding:0; box-sizing:border-box; }
body {
  background:var(--bg); color:var(--tx); font-family:var(--sans);
  font-size:14.5px; line-height:1.7; min-height:100vh;
  display:flex; align-items:center; justify-content:center; padding:20px;
}
::selection { background:var(--ac); color:var(--onac); }

.box {
  width:min(460px,94vw); border:1px solid var(--line); background:var(--panel);
  border-radius:14px; overflow:hidden;
}
.box .hd {
  padding:16px 22px; border-bottom:1px solid var(--line); background:var(--thbg);
  font-family:var(--disp); color:var(--tx); font-size:15px; letter-spacing:.05em; font-weight:700;
}
.box .hd i { color:var(--ac); font-style:normal; }
.box .hd .sub {
  display:block; font-family:var(--mono); color:var(--faint); font-size:10px; font-weight:400;
  letter-spacing:.14em; text-transform:uppercase; margin-top:6px;
}
.box .bd { padding:22px; }
.f-row { margin:12px 0; }
.f-row label {
  display:block; font-family:var(--mono); color:var(--faint); font-size:10px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; margin-bottom:5px;
}
input[type=text],input[type=password] {
  width:100%; background:var(--panel); border:1px solid var(--line); border-radius:8px; color:var(--tx);
  font-family:var(--sans); font-size:13.5px; padding:9px 11px; outline:none;
}
input:focus { border-color:var(--ac); box-shadow:0 0 0 3px var(--ac-fill); }
.btn {
  display:inline-block; border:1px solid var(--dim); color:var(--tx); padding:8px 22px;
  font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  border-radius:99px; background:transparent; cursor:pointer; text-decoration:none;
}
.btn:hover { background:var(--ac); border-color:var(--ac); color:var(--onac); }
.btn.block { display:block; width:100%; text-align:center; margin-top:16px; }
.btn.ghost { border-color:var(--line2); color:var(--dim); }
.btn.ghost:hover { border-color:var(--ac); color:var(--ac); background:var(--ac-fill); }
.msg { margin:12px 0; font-size:12.5px; min-height:20px; }
.msg.err { color:var(--bad); }
.msg.ok { color:var(--ok); }
.aux { margin-top:18px; padding-top:14px; border-top:1px solid var(--line); font-size:12.5px; color:var(--dim); }
.aux a { color:var(--ac); text-decoration:none; border-bottom:1px dotted var(--line2); }
.aux a:hover { color:var(--ac-hi); }
.lang { position:fixed; top:14px; right:18px; font-size:11px; z-index:9100; }
.lang a { font-family:var(--mono); color:var(--faint); text-decoration:none; letter-spacing:.14em; }
.lang a:hover { color:var(--ac); }
#recover { display:none; }
.hint { color:var(--faint); font-size:11px; margin-top:6px; }
