/* Sawaed ERP 1.47 — unified Sawaed Arab Company identity */
:root{
  --sawaed-orange:#ef6c12;
  --sawaed-orange-dark:#cc5107;
  --sawaed-charcoal:#1b2733;
  --sawaed-grey:#77777b;
  --sawaed-surface:#ffffff;
  --sawaed-line:#dbe2e8;
}

/* Authenticated application header */
.tb-brand{
  min-width:285px;
  gap:11px;
  padding:6px 14px;
}
.tb-brand-logo{
  width:86px;
  height:40px;
  flex:0 0 auto;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
}
.tb-brand .name{
  font-size:18px;
  line-height:1.25;
  white-space:nowrap;
}
.tb-brand .sub{
  margin-top:2px;
  font-size:11px;
  letter-spacing:.015em;
  direction:ltr;
  text-align:right;
  white-space:nowrap;
}

/* Public login */
body.auth-login{
  background:
    radial-gradient(circle at 10% 12%,rgba(239,108,18,.16),transparent 27rem),
    radial-gradient(circle at 92% 92%,rgba(119,119,123,.12),transparent 29rem),
    linear-gradient(145deg,#f8fafb,#edf2f6);
}
body.auth-login .auth-shell{
  min-height:680px;
  border-color:rgba(210,218,226,.95);
  box-shadow:0 28px 78px rgba(18,30,43,.17);
}
body.auth-login .auth-visual{
  background:
    linear-gradient(145deg,rgba(20,30,42,.985),rgba(43,51,61,.975)),
    var(--sawaed-charcoal);
}
body.auth-login .auth-visual:before{
  width:450px;
  height:450px;
  background:linear-gradient(145deg,rgba(239,108,18,.4),rgba(239,108,18,.025));
}
body.auth-login .auth-visual:after{
  width:330px;
  height:330px;
  background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(239,108,18,.06));
}
.visual-brand{
  width:80px;
  height:58px;
  display:grid;
  place-items:center;
  margin-bottom:24px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.075);
  color:#ff862f;
  font:800 28px/1 Arial,sans-serif;
  letter-spacing:-.06em;
  direction:ltr;
  box-shadow:inset 0 1px rgba(255,255,255,.07);
}
.auth-brand-lockup{
  margin-bottom:25px;
  padding-bottom:22px;
  border-bottom:1px solid #e9edf1;
  text-align:center;
}
body.auth-login .company-logo{
  width:min(325px,88%);
  margin:0 auto 14px;
}
.auth-company-name{
  color:var(--sawaed-charcoal);
  font-size:20px;
  font-weight:800;
  letter-spacing:-.02em;
}
.auth-product-name{
  margin-top:3px;
  color:#727e8d;
  font-size:12.5px;
}
body.auth-login .auth-kicker{
  display:flex;
  align-items:center;
  gap:8px;
}
body.auth-login .auth-kicker:before{
  content:"";
  width:17px;
  height:3px;
  border-radius:99px;
  background:var(--sawaed-orange);
}
body.auth-login .auth-title{font-size:30px}
body.auth-login .auth-main{
  background:
    linear-gradient(180deg,rgba(248,250,252,.72),rgba(255,255,255,0) 24%),
    #fff;
}
body.auth-login .login-button{
  background:linear-gradient(180deg,#f77a1b,var(--sawaed-orange));
}
body.auth-login .auth-version{
  letter-spacing:.06em;
}

/* Password recovery and reset */
body.auth-recovery{
  margin:0;
  min-height:100vh;
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));
  background:
    radial-gradient(circle at 9% 12%,rgba(239,108,18,.14),transparent 26rem),
    radial-gradient(circle at 90% 92%,rgba(119,119,123,.1),transparent 28rem),
    linear-gradient(145deg,#f8fafb,#edf2f6);
  color:var(--sawaed-charcoal);
  font-family:Tahoma,"Segoe UI",Arial,sans-serif;
}
.auth-recovery *{box-sizing:border-box}
.recovery-shell{width:min(500px,100%)}
.recovery-card{
  padding:36px 40px 30px;
  border:1px solid var(--sawaed-line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 24px 68px rgba(18,30,43,.14);
}
.recovery-brand{
  display:block;
  padding-bottom:22px;
  border-bottom:1px solid #e9edf1;
  color:inherit;
  text-align:center;
  text-decoration:none;
}
.recovery-brand img{
  display:block;
  width:min(290px,84%);
  height:auto;
  margin:0 auto 12px;
}
.recovery-brand strong{display:block;font-size:18px}
.recovery-brand span{display:block;margin-top:3px;color:#727e8d;font-size:12px}
.recovery-step{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:23px;
  color:var(--sawaed-orange);
  font-size:12.5px;
  font-weight:800;
}
.recovery-step:before{content:"";width:17px;height:3px;border-radius:99px;background:var(--sawaed-orange)}
.recovery-card h1{margin:6px 0 8px;font-size:25px;line-height:1.45}
.recovery-card p{margin:0 0 18px;color:#657386;font-size:14px;line-height:1.9}
.recovery-card label{display:block;margin:16px 0 7px;color:#344254;font-size:13px;font-weight:700}
.recovery-card input{
  width:100%;
  min-height:50px;
  padding:11px 13px;
  border:1px solid var(--sawaed-line);
  border-radius:11px;
  background:#fbfcfd;
  color:var(--sawaed-charcoal);
  font:15px Tahoma,"Segoe UI",Arial,sans-serif;
}
.recovery-card input:focus{
  outline:none;
  border-color:#f18a44;
  background:#fff;
  box-shadow:0 0 0 4px rgba(239,108,18,.11);
}
.recovery-card button{
  width:100%;
  min-height:50px;
  margin-top:20px;
  padding:12px 18px;
  border:0;
  border-radius:11px;
  color:#fff;
  background:linear-gradient(180deg,#f77a1b,var(--sawaed-orange));
  box-shadow:0 8px 18px rgba(231,94,8,.22);
  font:800 15px Tahoma,"Segoe UI",Arial,sans-serif;
  cursor:pointer;
}
.recovery-card button:hover{background:linear-gradient(180deg,#ee6e12,var(--sawaed-orange-dark))}
.recovery-msg{margin:18px 0;padding:13px 14px;border:1px solid;border-radius:11px;font-size:13.5px;line-height:1.75}
.recovery-msg.success{border-color:#bfe6cf;background:#eaf8f0;color:#176b45}
.recovery-msg.error{border-color:#f4c7c3;background:#fff1f0;color:#a52b2b}
.recovery-back{display:block;margin-top:19px;color:#a44409;font-size:13px;font-weight:700;text-align:center;text-decoration:none}
.recovery-back:hover{text-decoration:underline}
.recovery-version{margin-top:23px;color:#a0a9b5;font:11px/1.4 "Courier New",monospace;text-align:center;direction:ltr;letter-spacing:.06em}

@media(max-width:1050px){
  .tb-brand{min-width:245px}
  .tb-brand-logo{width:72px;height:36px}
}
@media(max-width:880px){
  body.auth-login .auth-shell{min-height:auto}
  body.auth-login .auth-main{min-height:650px}
}
@media(max-width:720px){
  .tb-brand{min-width:215px;padding-inline:10px}
  .tb-brand-logo{width:62px;height:34px}
  .tb-brand .name{font-size:16px}
  .tb-brand .sub{font-size:9px}
}
@media(max-width:520px){
  body.auth-login .auth-main{min-height:calc(100dvh - 24px);padding-top:24px}
  body.auth-login .auth-brand-lockup{margin-bottom:20px;padding-bottom:18px}
  body.auth-login .company-logo{width:min(280px,86%);margin-bottom:10px}
  .auth-company-name{font-size:18px}
  .auth-product-name{font-size:11.5px}
  .recovery-card{padding:28px 22px 24px;border-radius:17px}
  .recovery-brand img{width:min(270px,86%)}
}
@media(prefers-reduced-motion:reduce){
  .recovery-card *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
