/* ============================================================
   EFM — Sprint 2.1 auth pages (login / register / setup-owner).
   Self-contained, Arabic RTL, matches the executive "paper" theme.
   ============================================================ */
:root{
  --paper:#F7F5F0; --card:#FFFFFF; --card-2:#FBFAF6;
  --ink:#23282E; --ink-2:#5A6470; --ink-3:#97A0AB;
  --line:#E7E3DA; --line-2:#EFEBE2;
  --accent:#2F6F5E; --accent-soft:#EAF2EF; --accent-2:#245546;
  --red:#C0523F; --red-bg:#FBEDE9;
  --shadow-lift:0 4px 10px rgba(35,40,46,.06), 0 20px 44px -22px rgba(35,40,46,.28);
  --r:16px; --r-sm:11px;
}
*{margin:0; padding:0; box-sizing:border-box; font-family:"Segoe UI",Tahoma,system-ui,-apple-system,sans-serif}
html,body{height:100%}
body{
  background:linear-gradient(160deg,#EEF2F0 0%, var(--paper) 55%);
  color:var(--ink); font-size:14px; line-height:1.6;
  display:grid; place-items:center; padding:24px;
  -webkit-font-smoothing:antialiased;
}
.auth-card{
  width:100%; max-width:420px; background:var(--card);
  border:1px solid var(--line); border-radius:var(--r);
  box-shadow:var(--shadow-lift); padding:32px 30px; position:relative;
}
.auth-brand{display:flex; align-items:center; gap:12px; margin-bottom:22px}
.auth-seal{
  width:46px; height:46px; border-radius:13px; flex:none; display:grid; place-items:center;
  background:linear-gradient(145deg,var(--accent),var(--accent-2)); color:#fff;
  font-weight:800; font-size:22px; box-shadow:0 6px 14px -6px rgba(47,111,94,.5);
}
.auth-brand h1{font-size:16px; font-weight:800; line-height:1.3}
.auth-brand p{font-size:11px; color:var(--ink-3); margin-top:1px}
.auth-title{font-size:20px; font-weight:800; margin-bottom:4px}
.auth-sub{font-size:12.5px; color:var(--ink-2); margin-bottom:20px}
.auth-note{
  font-size:12px; color:var(--accent-2); background:var(--accent-soft);
  border:1px solid #D8E7E1; border-radius:var(--r-sm); padding:9px 12px; margin-bottom:18px;
}
.fld{margin-bottom:15px}
.fld label{display:block; font-size:12px; font-weight:700; color:var(--ink-2); margin-bottom:6px}
.fld input{
  width:100%; font-size:14px; color:var(--ink); background:var(--paper);
  border:1px solid var(--line); border-radius:10px; padding:11px 13px; transition:border-color .15s, background .15s;
}
.fld input:focus{outline:none; border-color:var(--accent); background:var(--card)}
.fld input::placeholder{color:var(--ink-3)}
.hint{font-size:11px; color:var(--ink-3); margin-top:5px}
.btn-primary{
  width:100%; font-size:14.5px; font-weight:800; color:#fff;
  background:linear-gradient(145deg,var(--accent),var(--accent-2));
  border-radius:11px; padding:12px; margin-top:6px; transition:filter .15s, transform .05s;
}
.btn-primary:hover{filter:brightness(1.05)}
.btn-primary:active{transform:translateY(1px)}
.btn-primary:disabled{opacity:.6; cursor:not-allowed}
.auth-alt{text-align:center; font-size:12.5px; color:var(--ink-2); margin-top:18px}
.auth-alt a{color:var(--accent); font-weight:700; text-decoration:none}
.auth-alt a:hover{text-decoration:underline}
.auth-msg{
  display:none; font-size:12.5px; font-weight:600; border-radius:var(--r-sm);
  padding:10px 12px; margin-bottom:16px;
}
.auth-msg.err{display:block; color:var(--red); background:var(--red-bg); border:1px solid #F1D3CC}
.auth-msg.ok{display:block; color:var(--accent-2); background:var(--accent-soft); border:1px solid #D8E7E1}
.auth-closed{
  font-size:13px; color:var(--red); background:var(--red-bg);
  border:1px solid #F1D3CC; border-radius:var(--r-sm); padding:12px 14px; text-align:center;
}
