/* Phase 279 — Login rebuilt to match the public Logos landing. */
:root{--l279-black:#102030;--l279-orange:#FF4600;--l279-green:#CDFF59;--l279-yellow:#FFA600;--l279-line:#e5e9ee;--l279-soft:#f5f7fa;--l279-muted:#6c7b8e}
[data-phase279-login]{min-height:100vh;background:#fff;color:var(--l279-black);font-family:"Yekan Bakh","Dana","Vazirmatn",Tahoma,Arial,sans-serif;padding:18px;position:relative;overflow:hidden}
[data-phase279-login]::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.48;background-image:linear-gradient(rgba(16,32,48,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,32,48,.035) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(90deg,#000,transparent 72%)}
.login279-shell{position:relative;z-index:1;width:min(1180px,100%);min-height:calc(100vh - 36px);margin:auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(430px,.72fr);overflow:hidden;border:1px solid rgba(16,32,48,.08);border-radius:34px;background:#fff;box-shadow:0 28px 70px rgba(16,32,48,.12)}
.login279-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:34px 38px;background:linear-gradient(145deg,#102030,#0d2133);color:#fff;isolation:isolate}.login279-grid{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:18px 18px;opacity:.55}.login279-splash{position:absolute;z-index:-1;left:20%;bottom:23%;width:145px;height:110px;background:var(--l279-orange);clip-path:polygon(8% 25%,24% 12%,36% 26%,48% 4%,65% 18%,82% 9%,94% 36%,78% 52%,90% 75%,63% 71%,50% 94%,34% 72%,10% 86%,18% 54%)}.login279-logo{height:52px;width:auto;object-fit:contain;align-self:flex-start}.login279-copy{position:relative;z-index:2;max-width:520px}.login279-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.09);color:var(--l279-green);font-size:11px}.login279-copy h1{margin:13px 0 0;font-size:clamp(36px,4vw,58px);line-height:1.45;font-weight:600}.login279-copy h1 span{color:var(--l279-orange)}.login279-copy p{margin:14px 0 0;color:rgba(255,255,255,.68);font-size:13px;line-height:2}.login279-hoshy{position:absolute;left:1%;bottom:-8px;width:min(48%,420px);max-height:500px;object-fit:contain;filter:drop-shadow(0 24px 28px rgba(0,0,0,.3))}.login279-proof{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:8px}.login279-proof span{padding:7px 10px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.06);font-size:10px;color:rgba(255,255,255,.72)}
.login279-panel{display:flex;align-items:center;justify-content:center;padding:42px 38px;background:linear-gradient(180deg,#fff,#fbfcfd)}.login279-card{width:min(430px,100%)}.login279-mobile-logo{display:none}.login279-eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--l279-orange);font-size:11px;font-weight:600}.login279-eyebrow::before{content:"";width:8px;height:8px;background:var(--l279-orange);clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%)}.login279-card h2{margin:9px 0 0;font-size:28px;line-height:1.5;font-weight:600}.login279-card>p,.login279-step>p{margin:7px 0 0;color:var(--l279-muted);font-size:12px;line-height:1.9}.login279-form{display:grid;gap:16px;margin-top:25px}.login279-field{display:grid;gap:7px}.login279-field label{font-size:12px;font-weight:500;color:#34485f}.login279-input-wrap{position:relative}.login279-icon{position:absolute;right:11px;top:50%;width:38px;height:38px;display:grid;place-items:center;transform:translateY(-50%);border-radius:12px;background:#fff1eb;color:var(--l279-orange);font-size:18px}.login279-input{width:100%;min-height:56px;padding:0 58px 0 44px;border:1px solid #e1e7ed;border-radius:16px;background:#f8fafc;color:var(--l279-black);font:inherit;font-size:13px;outline:none;transition:.18s}.login279-input:focus{border-color:var(--l279-orange);background:#fff;box-shadow:0 0 0 4px rgba(255,70,0,.08)}.login279-eye{position:absolute;left:13px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#8996a5;cursor:pointer}.login279-submit{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;background:linear-gradient(90deg,var(--l279-orange),#ff6a30);color:#fff;font:inherit;font-size:13px;font-weight:600;box-shadow:0 16px 30px rgba(255,70,0,.20);cursor:pointer;transition:.18s}.login279-submit:hover{transform:translateY(-1px);box-shadow:0 18px 36px rgba(255,70,0,.28)}.login279-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.login279-forgot{margin-top:18px;border:0;background:transparent;color:var(--l279-orange);font:inherit;font-size:11px;font-weight:600;cursor:pointer}.login279-step-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.login279-back{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--l279-line);border-radius:13px;background:#fff;color:#66788d;cursor:pointer}.login279-step-title{text-align:right}.login279-step-title small{display:block;color:var(--l279-orange);font-size:10px}.login279-step-title strong{display:block;margin-top:3px;font-size:18px;font-weight:600}.login279-step{animation:fade279 .24s ease}.login279-meta-row{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:10px}.login279-meta-row button{border:0;background:transparent;font:inherit;color:#7d8998;cursor:pointer}.login279-meta-row .accent{color:var(--l279-orange)}.login279-otp{text-align:center;letter-spacing:.5em;padding-inline:50px}
@keyframes fade279{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes shake279{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}.animate-shake{animation:shake279 .45s ease}[x-cloak]{display:none!important}
@media(max-width:900px){[data-phase279-login]{padding:0}.login279-shell{min-height:100vh;border:0;border-radius:0;grid-template-columns:1fr}.login279-visual{display:none}.login279-panel{padding:28px 20px}.login279-mobile-logo{display:block;height:50px;width:auto;margin-bottom:34px}}
@media(max-width:520px){.login279-panel{align-items:flex-start;padding-top:38px}.login279-card h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* PHASE-323-LOGIN-SYMBOL-VISUAL:BEGIN */
.login279-hoshy {
  display: none !important;
}

.login323-history-asset {
  display: none !important;
}

.login323-symbol-stage {
  position: absolute;
  z-index: 1;
  inset: 34% 5% 10% 5%;
  pointer-events: none;
  display: grid;
  place-items: center;
}

.login323-core {
  position: relative;
  z-index: 4;
  width: 132px;
  height: 132px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 38px;
  background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.055));
  box-shadow: 0 30px 70px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.13);
  backdrop-filter: blur(10px);
  transform: rotate(-4deg);
}

.login323-core::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(205,255,89,.24);
  border-radius: 30px;
}

.login323-core i {
  position: relative;
  z-index: 2;
  color: #CDFF59;
  font-size: 52px;
}

.login323-core span {
  position: relative;
  z-index: 2;
  color: rgba(255,255,255,.84);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

.login323-orbit {
  position: absolute;
  border: 1px solid rgba(205,255,89,.22);
  border-radius: 50%;
}

.login323-orbit-a {
  width: 310px;
  height: 310px;
  box-shadow: inset 0 0 70px rgba(205,255,89,.035);
}

.login323-orbit-b {
  width: 410px;
  height: 220px;
  border-color: rgba(255,70,0,.18);
  transform: rotate(-13deg);
}

.login323-orbit-a::before,
.login323-orbit-a::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #CDFF59;
  box-shadow: 0 0 20px rgba(205,255,89,.56);
}

.login323-orbit-a::before {
  top: 30px;
  left: 52px;
}

.login323-orbit-a::after {
  right: 24px;
  bottom: 72px;
  background: #FF4600;
  box-shadow: 0 0 20px rgba(255,70,0,.48);
}

.login323-symbol-card {
  position: absolute;
  z-index: 3;
  min-width: 154px;
  min-height: 68px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.075);
  box-shadow: 0 16px 34px rgba(0,0,0,.13);
  backdrop-filter: blur(8px);
}

.login323-symbol-card > i {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: rgba(205,255,89,.10);
  color: #CDFF59;
  font-size: 22px;
}

.login323-symbol-card strong,
.login323-symbol-card small {
  display: block;
}

.login323-symbol-card strong {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}

.login323-symbol-card small {
  margin-top: 2px;
  color: rgba(255,255,255,.52);
  font-size: 9px;
}

.login323-symbol-card-a {
  top: 3%;
  right: 2%;
  transform: rotate(2deg);
}

.login323-symbol-card-b {
  top: 43%;
  left: 0;
  transform: rotate(-2deg);
}

.login323-symbol-card-c {
  right: 10%;
  bottom: 0;
  transform: rotate(1deg);
}

.login323-dot {
  position: absolute;
  z-index: 2;
  width: 16px;
  height: 16px;
  border-radius: 999px;
}

.login323-dot-a {
  top: 18%;
  left: 23%;
  background: #FF4600;
}

.login323-dot-b {
  right: 23%;
  bottom: 19%;
  background: #CDFF59;
}

.login323-cross {
  position: absolute;
  top: 10%;
  left: 7%;
  color: rgba(255,255,255,.64);
  font-size: 34px;
  line-height: 1;
  transform: rotate(8deg);
}

@media (max-width: 1100px) and (min-width: 901px) {
  .login323-symbol-stage {
    transform: scale(.88);
    transform-origin: center;
  }
}

@media (max-width: 900px) {
  .login323-symbol-stage {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .login323-core,
  .login323-symbol-card,
  .login323-orbit {
    transition: none !important;
    animation: none !important;
  }
}
/* PHASE-323-LOGIN-SYMBOL-VISUAL:END */

/* DEV-RELAY-LOGIN-GRAPHIC-CLEANUP-V2:BEGIN */
@media (min-width: 961px) {
  .login279-visual.login-clean-v2 {
    min-height: 640px;
  }

  /* Headline/copy safe zone: target the existing wrapper structurally. */
  .login279-visual.login-clean-v2 *:has(> .login-clean-headline) {
    position: absolute !important;
    top: 28% !important;
    right: clamp(28px, 5.5%, 58px) !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 7 !important;
    width: min(52%, 490px) !important;
    max-width: 490px !important;
    margin: 0 !important;
    padding: 16px 0 18px clamp(22px, 4vw, 48px);
    transform: none !important;
    text-align: right;
    isolation: isolate;
  }

  .login279-visual.login-clean-v2 *:has(> .login-clean-headline)::before {
    content: "";
    position: absolute;
    inset: -16px -22px -16px -54px;
    z-index: -1;
    pointer-events: none;
    border-radius: 28px;
    background: linear-gradient(
      90deg,
      rgba(13, 33, 51, 0),
      rgba(13, 33, 51, .42) 30%,
      rgba(13, 33, 51, .76) 70%,
      rgba(13, 33, 51, .88)
    );
  }

  .login279-visual.login-clean-v2 .login-clean-headline {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    font-size: clamp(38px, 4.25vw, 60px) !important;
    line-height: 1.42 !important;
    letter-spacing: -.035em;
    text-wrap: balance;
  }

  .login279-visual.login-clean-v2 .login-clean-headline span {
    color: #FF4600;
  }

  .login279-visual.login-clean-v2 .login-clean-headline + p {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    max-width: 440px !important;
    margin: 14px 0 0 !important;
    transform: none !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 13px !important;
    line-height: 2.05 !important;
  }

  /* Each card is located by the stable copy element inside it. */
  .login279-visual.login-clean-v2 *:has(> .login-clean-feature-copy) {
    z-index: 5 !important;
    width: clamp(168px, 20%, 205px) !important;
    max-width: 205px !important;
    transform: none !important;
  }

  .login279-visual.login-clean-v2 *:has(> .login-clean-feature-program-copy) {
    position: absolute !important;
    top: 34% !important;
    right: auto !important;
    bottom: auto !important;
    left: 5.5% !important;
  }

  .login279-visual.login-clean-v2 *:has(> .login-clean-feature-analysis-copy) {
    position: absolute !important;
    top: 58% !important;
    right: auto !important;
    bottom: auto !important;
    left: 4% !important;
  }

  .login279-visual.login-clean-v2 *:has(> .login-clean-feature-path-copy) {
    position: absolute !important;
    top: auto !important;
    right: auto !important;
    bottom: 10.5% !important;
    left: 33% !important;
  }

  .login279-visual.login-clean-v2 .login-clean-feature-copy {
    min-width: 0;
  }

  .login279-visual.login-clean-v2 .login-clean-feature-copy strong,
  .login279-visual.login-clean-v2 .login-clean-feature-copy small {
    display: block;
    max-width: 100%;
    white-space: normal;
  }

  .login279-visual.login-clean-v2 .login-clean-feature-copy strong {
    line-height: 1.5;
  }

  .login279-visual.login-clean-v2 .login-clean-feature-copy small {
    margin-top: 4px;
    line-height: 1.65;
    opacity: .64;
  }

  .login279-visual.login-clean-v2 .login279-proof {
    position: absolute !important;
    right: clamp(24px, 6%, 58px) !important;
    bottom: 28px !important;
    left: auto !important;
    z-index: 8 !important;
    max-width: 54%;
    margin: 0 !important;
    transform: none !important;
  }

  .login279-visual.login-clean-v2 .login279-logo {
    position: relative !important;
    inset: auto !important;
    z-index: 9 !important;
    transform: none !important;
  }
}

@media (max-width: 960px) {
  .login279-visual.login-clean-v2 .login-clean-headline {
    line-height: 1.5 !important;
  }

  .login279-visual.login-clean-v2 .login-clean-headline + p {
    line-height: 1.95 !important;
  }

  .login279-visual.login-clean-v2 .login-clean-feature-copy {
    transform: none !important;
  }
}
/* DEV-RELAY-LOGIN-GRAPHIC-CLEANUP-V2:END */
