/* Universal Plywood & Timbers modern login system
   Shared by Sales, Counter Sales, Management Studio, CRM and Warehouse.
   Copy this file to: assets/brand/up-login-modern.css inside each app root. */
:root{
  --up-green:#62a744;
  --up-green-2:#88c85f;
  --up-green-dark:#3c7f2b;
  --up-ink:#050807;
  --up-charcoal:#101613;
  --up-card:#0e1512;
  --up-card-2:#131d18;
  --up-white:#ffffff;
  --up-muted:#aeb9b1;
  --up-line:rgba(255,255,255,.14);
  --up-danger:#ff6b6b;
  --up-danger-bg:rgba(255,107,107,.12);
  --up-shadow:0 28px 85px rgba(0,0,0,.48);
}
*{box-sizing:border-box}
html{min-height:100%}
body.up-login-page{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:#050807;
  color:#fff;
  overflow-x:hidden;
}
body.up-login-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.32) 100%),
    url('up-login-hero.png') center/cover no-repeat;
  transform:scale(1.015);
}
body.up-login-page::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 14%,rgba(98,167,68,.36),transparent 30%),
    radial-gradient(circle at 86% 82%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.045) 0 1px,transparent 1px 14px);
  opacity:.95;
}
.up-login-shell{
  width:min(1240px,100%);
  min-height:100vh;
  margin:0 auto;
  padding:clamp(18px,4vw,62px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,500px);
  gap:clamp(22px,4vw,58px);
  align-items:center;
}
.up-hero-panel,.up-auth-card{
  border:1px solid var(--up-line);
  border-radius:34px;
  box-shadow:var(--up-shadow);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}
.up-hero-panel{
  min-height:560px;
  padding:clamp(26px,4vw,54px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(6,10,8,.66),rgba(6,10,8,.34));
}
.up-hero-panel::before{
  content:"";
  position:absolute;
  inset:auto -20% -38% 22%;
  height:320px;
  background:radial-gradient(circle,rgba(98,167,68,.28),transparent 64%);
  pointer-events:none;
}
.up-hero-top,.up-hero-copy,.up-hero-footer{position:relative;z-index:1}
.up-logo-block{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:18px 20px;
  border-radius:28px;
  background:rgba(0,0,0,.58);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 18px 55px rgba(0,0,0,.34);
}
.up-logo-block img{display:block;width:min(360px,68vw);height:auto;max-height:118px;object-fit:contain}
.up-kicker{
  display:inline-flex;
  gap:8px;
  align-items:center;
  color:#dce9d7;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
  font-weight:800;
  margin-bottom:18px;
}
.up-kicker::before{
  content:"";
  width:9px;height:9px;border-radius:99px;background:var(--module-accent,var(--up-green));
  box-shadow:0 0 0 8px rgba(98,167,68,.14);
}
.up-hero-copy h1{
  margin:0;
  max-width:760px;
  font-size:clamp(40px,6vw,78px);
  line-height:.94;
  letter-spacing:-.06em;
  font-weight:900;
}
.up-hero-copy p{
  max-width:680px;
  margin:22px 0 0;
  color:#d5ded8;
  font-size:clamp(16px,1.5vw,20px);
  line-height:1.6;
}
.up-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.up-pill{
  color:#eef6ec;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:10px 14px;
  font-size:13px;
  font-weight:800;
}
.up-hero-footer{
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:#c5d0c7;
  font-size:13px;
}
.up-status-dot{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#e8f3e4}
.up-status-dot::before{content:"";width:8px;height:8px;border-radius:99px;background:var(--module-accent,var(--up-green));box-shadow:0 0 18px rgba(98,167,68,.85)}
.up-auth-card{
  background:linear-gradient(180deg,rgba(12,18,15,.92),rgba(8,12,10,.96));
  padding:clamp(24px,3.3vw,42px);
}
.up-mobile-logo{display:none;margin:0 0 24px;text-align:center}
.up-mobile-logo .up-logo-block{padding:14px 16px;border-radius:24px}
.up-mobile-logo img{max-width:250px;max-height:88px}
.up-auth-title{margin-bottom:24px}
.up-auth-eyebrow{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  color:#d8ead2;
  background:rgba(98,167,68,.14);
  border:1px solid rgba(98,167,68,.22);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.up-auth-title h2{
  margin:16px 0 8px;
  font-size:clamp(28px,3vw,42px);
  line-height:1;
  letter-spacing:-.045em;
}
.up-auth-title p{margin:0;color:var(--up-muted);line-height:1.55;font-size:15px}
.up-alert{
  border-radius:18px;
  padding:13px 14px;
  margin:0 0 18px;
  line-height:1.45;
  font-size:14px;
  font-weight:750;
}
.up-alert-danger{color:#ffd6d6;background:var(--up-danger-bg);border:1px solid rgba(255,107,107,.28)}
.hidden{display:none!important}
.up-form{display:grid;gap:18px}
.up-field{display:grid;gap:8px}
.up-field label{color:#ecf3ef;font-size:13px;font-weight:850;letter-spacing:.01em}
.up-input-wrap{position:relative}
.up-field-icon{
  position:absolute;
  left:16px;top:50%;transform:translateY(-50%);
  width:22px;text-align:center;color:rgba(255,255,255,.62);
  pointer-events:none;
}
.up-input,.up-field input{
  width:100%;
  min-height:56px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.075);
  color:#fff;
  outline:none;
  padding:0 16px 0 48px;
  font:inherit;
  font-size:15px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;
}
.up-input::placeholder,.up-field input::placeholder{color:rgba(255,255,255,.38)}
.up-input:focus,.up-field input:focus{
  border-color:rgba(98,167,68,.88);
  box-shadow:0 0 0 4px rgba(98,167,68,.18), inset 0 1px 0 rgba(255,255,255,.08);
  background:rgba(255,255,255,.105);
}
.up-submit{
  min-height:58px;
  border:0;
  border-radius:18px;
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-weight:950;
  letter-spacing:.02em;
  background:linear-gradient(135deg,var(--module-accent,var(--up-green)),var(--module-accent-2,var(--up-green-2)));
  box-shadow:0 18px 34px rgba(98,167,68,.26), inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.up-submit:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 24px 42px rgba(98,167,68,.32), inset 0 1px 0 rgba(255,255,255,.25)}
.up-submit:active{transform:translateY(0)}
.up-submit:disabled{opacity:.72;cursor:wait;transform:none}
.up-note{
  margin:20px 0 0;
  padding:14px 15px;
  border-radius:18px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
  color:#bfccc3;
  font-size:13px;
  line-height:1.55;
}
.up-url{
  margin-top:18px;
  color:rgba(255,255,255,.42);
  text-align:center;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.up-form-footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:4px;
  color:rgba(255,255,255,.52);
  font-size:12px;
}
.up-system-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  padding:7px 10px;
  background:rgba(98,167,68,.12);
  color:#e5f4df;
  border:1px solid rgba(98,167,68,.20);
  font-weight:900;
  font-size:12px;
}
@media (max-width:980px){
  body.up-login-page{overflow:auto}
  .up-login-shell{grid-template-columns:1fr;padding:18px;gap:18px;align-items:start}
  .up-hero-panel{min-height:auto;padding:22px;border-radius:28px}
  .up-hero-top{display:none}
  .up-hero-copy h1{font-size:clamp(34px,12vw,56px)}
  .up-hero-copy p{font-size:15px;margin-top:14px}
  .up-pill-row{margin-top:18px}
  .up-hero-footer{display:none}
  .up-auth-card{border-radius:28px}
  .up-mobile-logo{display:block}
}
@media (max-width:540px){
  .up-login-shell{padding:12px}
  .up-hero-panel{display:none}
  .up-auth-card{padding:22px 18px;min-height:calc(100vh - 24px);display:flex;flex-direction:column;justify-content:center}
  .up-auth-title h2{font-size:31px}
  .up-form-footer{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}
