:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html, body { min-height: 100%; }

.login-v2-body {
  margin: 0;
  padding: 35px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 50% 45%, #fffaf5 0, #fff4ea 55%, #ffecdd 100%);
  color: #161616;
}

.login-v2-body * { box-sizing: border-box; }
.login-v2-shell { width: 100%; max-width: 1180px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 35px; align-items: stretch; }
.login-v2-showcase { position: relative; overflow: hidden; min-height: 720px; padding: 55px 70px; border-radius: 28px; color: #fff; background: radial-gradient(circle at 95% 85%, rgba(255,106,0,.95), rgba(255,106,0,.28) 25%, transparent 52%), linear-gradient(135deg, #080808 0, #14100d 45%, #351205 100%); box-shadow: 0 20px 60px rgba(71,31,6,.18); }
.login-v2-showcase::before { content: ""; position: absolute; width: 520px; height: 520px; right: -150px; bottom: -150px; border: 1px solid rgba(255,121,0,.25); border-radius: 50%; box-shadow: 0 0 0 30px rgba(255,121,0,.03), 0 0 0 65px rgba(255,121,0,.03), 0 0 0 100px rgba(255,121,0,.025); }
.login-v2-showcase::after { content: ""; position: absolute; right: 50px; top: 80px; width: 210px; height: 420px; background: repeating-linear-gradient(110deg, transparent 0, transparent 13px, rgba(255,120,0,.09) 14px, transparent 15px); opacity: .7; transform: rotate(10deg); }
.login-v2-showcase-content { position: relative; z-index: 2; }
.login-v2-brand-logo { display: block; width: 330px; max-width: 100%; height: 125px; object-fit: contain; object-position: left center; margin-bottom: 50px; }
.login-v2-showcase h1 { max-width: 620px; margin: 0 0 24px; font-size: clamp(42px, 4vw, 62px); line-height: 1.05; }
.login-v2-showcase h1 span { color: #ff6900; }
.login-v2-description { max-width: 540px; margin: 0 0 42px; color: rgba(255,255,255,.83); font-size: 18px; line-height: 1.55; }
.login-v2-benefits { display: grid; gap: 25px; max-width: 500px; }
.login-v2-benefits article { display: grid; grid-template-columns: 52px 1fr; gap: 16px; align-items: start; }
.login-v2-benefits article > span { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid rgba(255,121,0,.35); border-radius: 14px; background: rgba(255,121,0,.08); color: #ff6900; font-size: 24px; font-weight: 900; }
.login-v2-benefits h2 { margin: 0 0 5px; color: #fff; font-size: 16px; }
.login-v2-benefits p { margin: 0; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.45; }
.login-v2-card { display: flex; flex-direction: column; justify-content: center; min-height: 720px; padding: 45px 48px; border-radius: 28px; background: #fff; box-shadow: 0 18px 55px rgba(80,41,13,.12); }
.login-v2-form-logo { display: block; width: 260px; max-width: 100%; height: 105px; object-fit: contain; margin: 0 auto 28px; }
.login-v2-label { margin: 0 0 10px; color: #ff6900; font-size: 13px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; }
.login-v2-card > h2 { margin: 0 0 14px; font-size: clamp(34px, 3vw, 46px); line-height: 1.05; }
.login-v2-card-description { margin: 0 0 28px; color: #60677a; font-size: 16px; line-height: 1.55; }
.login-v2-form { display: grid; gap: 9px; }
.login-v2-form label { margin-top: 7px; font-size: 14px; font-weight: 800; }
.login-v2-input { position: relative; }
.login-v2-input > span { position: absolute; left: 17px; top: 50%; transform: translateY(-50%); color: #687084; pointer-events: none; }
.login-v2-input input { width: 100%; height: 56px; padding: 0 16px 0 48px; border: 1px solid #dfe3ea; border-radius: 12px; background: #fff; color: #151515; font: inherit; outline: none; }
.login-v2-input input:focus { border-color: #ff6900; box-shadow: 0 0 0 3px rgba(255,105,0,.11); }
.login-v2-submit { width: 100%; height: 58px; margin-top: 12px; border: 0; border-radius: 12px; background: linear-gradient(90deg, #ff5b00 0, #ff7600 55%, #ff5c00 100%); color: #fff; font-size: 17px; font-weight: 800; cursor: pointer; box-shadow: 0 11px 25px rgba(255,94,0,.25); }
.login-v2-forgot { align-self: center; margin: 16px 0 0; border: 0; background: transparent; color: #ff6900; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; text-decoration: underline; }
.login-v2-message { min-height: 0; }
.login-v2-message:not(:empty) { display: block; margin: 15px 0 0; padding: 12px 14px; border: 1px solid #bce7ca; border-radius: 9px; background: #effbf3; color: #16763a; }
.login-v2-message.is-error:not(:empty) { border-color: #ffc9c9; background: #fff1f1; color: #b32323; }
.login-v2-separator { height: 1px; margin: 20px 0; background: #e6e8ec; }
.login-v2-partner { display: flex; align-items: center; gap: 14px; padding: 15px; border: 1px solid #ffd7bb; border-radius: 13px; background: #fffaf6; color: #424755; text-decoration: none; }
.login-v2-partner-icon { display: grid; place-items: center; flex: 0 0 45px; height: 45px; border-radius: 50%; background: #fff0e3; font-size: 22px; }
.login-v2-partner > span:nth-child(2) { display: grid; gap: 4px; flex: 1; }
.login-v2-partner small { font-size: 13px; }
.login-v2-partner strong, .login-v2-partner b { color: #ff6900; font-size: 14px; }
.login-v2-customer { display: grid; grid-template-columns: 38px 1fr; gap: 12px; align-items: start; margin-top: 15px; padding: 14px; border: 1px solid #e2e5eb; border-radius: 12px; background: #fafbfd; }
.login-v2-customer > span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #cbd1db; border-radius: 50%; color: #687084; font-weight: 800; }
.login-v2-customer p { margin: 0; color: #555d6e; font-size: 13px; line-height: 1.5; }

@media (max-width: 1000px) {
  .login-v2-shell { max-width: 760px; grid-template-columns: 1fr; }
  .login-v2-showcase { min-height: auto; padding: 45px; }
  .login-v2-card { min-height: auto; }
  .login-v2-brand-logo { width: 280px; margin-bottom: 35px; }
}

@media (max-width: 600px) {
  .login-v2-body { align-items: flex-start; padding: 16px; }
  .login-v2-shell { gap: 18px; }
  .login-v2-showcase { padding: 35px 25px; border-radius: 20px; }
  .login-v2-card { padding: 35px 24px; border-radius: 20px; }
  .login-v2-showcase h1 { font-size: 37px; }
  .login-v2-description { font-size: 16px; }
  .login-v2-benefits { gap: 21px; }
  .login-v2-form-logo { width: 220px; height: 88px; margin-bottom: 24px; }
}
