/* =====================================================================
   MBTS · Account pages (public/frontend/css/mbts-auth.css)
   Login · Create account · Forgot / Reset / Confirm password · Verify email
   - Every class starts with "mba-"; header / footer come from mbts-site.css.
   - Breakpoints: desktop ≥1280 · laptop ≤1279 · tablet ≤1023 · big phone ≤767 · phone ≤575
   ===================================================================== */
.mba{
  --ink:#111A14; --ink2:#4B564E; --ink3:#7D877F;
  --forest:#1E3A2B; --forest2:#2C5540; --green:#2F7A42; --sage:#EAF2EA;
  --cream:#FAF8F3; --line:#E4E7E1; --line2:#CFD8CC;
  --gold:#F5B800; --goldt:#F2D27C;
  --danger:#B42318; --danger-bg:#FDECEC; --ok-bg:#EAF6EC;
  margin:0; background:var(--cream); color:var(--ink);
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:1rem; line-height:1.55; -webkit-font-smoothing:antialiased;
}
:where(.mba) *,:where(.mba) *::before,:where(.mba) *::after{box-sizing:border-box}
:where(.mba) :is(h1,h2,h3,p){margin:0}
:where(.mba) a{color:inherit}
:where(.mba) :is(button,input){font:inherit;color:inherit}

/* ---------- page: photo panel + form ---------- */
.mba-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:calc(100vh - 7.5rem)}
.mba-photo{position:relative;color:#fff;background:#14281C center/cover no-repeat;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(2rem,4vw,3.5rem)}
.mba-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,15,.25) 0%,rgba(10,22,15,.35) 45%,rgba(10,22,15,.82) 100%)}
.mba-photo>*{position:relative}
.mba-eye{display:block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--goldt);margin-bottom:.7rem}
.mba-photo h1{font-size:clamp(2rem,3.6vw,3rem);font-weight:800;letter-spacing:-.025em;line-height:1.05}
.mba-photo h1 em{display:block;font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500;color:var(--goldt);letter-spacing:-.01em}
.mba-photo p{margin-top:.9rem;max-width:26rem;color:rgba(255,255,255,.88);font-size:.95rem}
.mba-pts{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.55rem}
.mba-pts li{display:flex;align-items:center;gap:.55rem;font-size:.86rem;color:rgba(255,255,255,.92)}
.mba-pts li::before{content:"";flex:none;width:1.25rem;height:1.25rem;border-radius:50%;background:rgba(245,184,0,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5B800' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/.7rem no-repeat}
.mba-cap{position:absolute;top:1rem;right:1rem;font-size:.68rem;color:rgba(255,255,255,.8);background:rgba(0,0,0,.35);padding:.2rem .55rem;border-radius:999px}

.mba-side{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:clamp(2rem,4vw,3.5rem) 1.25rem}
.mba-box{width:100%;max-width:27rem}

/* ---------- card ---------- */
.mba-card{background:#fff;border:1px solid var(--line);border-radius:1.25rem;padding:1.8rem 1.6rem;box-shadow:0 1px 2px rgba(17,26,20,.04),0 14px 36px rgba(17,26,20,.07)}
.mba-card+.mba-card{margin-top:.9rem}
.mba-hd{margin-bottom:1.3rem}
.mba-hd h2{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.mba-hd h2 em{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500;color:var(--green)}
.mba-hd p{margin-top:.4rem;font-size:.88rem;color:var(--ink2)}
.mba-icn{width:3rem;height:3rem;border-radius:.9rem;background:var(--sage);color:var(--forest);display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem}
.mba-icn svg{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- messages ---------- */
.mba-msg{display:flex;gap:.55rem;align-items:flex-start;border-radius:.8rem;padding:.75rem .9rem;font-size:.85rem;font-weight:600;margin-bottom:1.1rem;line-height:1.45}
.mba-msg.err{background:var(--danger-bg);color:var(--danger);border:1px solid #F5C2C0}
.mba-msg.ok{background:var(--ok-bg);color:#1F5D31;border:1px solid #BFDDC6}
.mba-msg svg{flex:none;width:1.1rem;height:1.1rem;margin-top:.05rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- fields ---------- */
.mba-f{margin-bottom:1rem}
.mba-f label{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.84rem;font-weight:700;margin-bottom:.4rem;color:var(--ink)}
.mba-f label .req{color:var(--ink3);font-weight:600}
.mba-in{position:relative}
.mba-in input{display:block;width:100%;height:3rem;padding:0 .95rem;border:1.5px solid var(--line2);border-radius:.8rem;background:#fff;font-size:.95rem;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;margin:0;box-shadow:none}
.mba-in input::placeholder{color:#A6B0A8}
.mba-in input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(47,122,66,.15)}
.mba-in.pw input{padding-right:3.1rem}
.mba-eyebtn{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);width:2.4rem;height:2.4rem;border:0;border-radius:.6rem;background:transparent;color:var(--ink3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.mba-eyebtn:hover{color:var(--ink);background:var(--sage)}
.mba-eyebtn svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mba-eyebtn .off{display:none}
.mba-eyebtn[aria-pressed="true"] .on{display:none}
.mba-eyebtn[aria-pressed="true"] .off{display:block}
.mba-help{display:block;font-size:.76rem;color:var(--ink3);margin-top:.35rem}
.mba-e{display:none;font-size:.78rem;color:var(--danger);font-weight:700;margin-top:.35rem}
.mba-f.err .mba-in input{border-color:var(--danger);background:var(--danger-bg)}
.mba-f.err .mba-e{display:block}
.mba-caps{display:none;font-size:.76rem;color:#8a5a12;font-weight:700;margin-top:.35rem}
.mba-caps.on{display:block}

.mba-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;margin:.2rem 0 1.3rem}
.mba-chk{display:inline-flex;align-items:center;gap:.5rem;font-size:.86rem;color:var(--ink2);cursor:pointer;min-height:2.2rem}
.mba-chk input{width:1.05rem;height:1.05rem;accent-color:var(--forest);margin:0}
.mba-link{font-size:.86rem;font-weight:700;color:var(--green);text-decoration:none}
.mba-link:hover{color:var(--forest);text-decoration:underline}

/* ---------- buttons ---------- */
.mba-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:3.1rem;padding:.8rem 1.4rem;border:0;border-radius:999px;background:var(--forest);color:#fff;font-weight:800;font-size:.98rem;cursor:pointer;transition:background .15s,transform .15s;text-decoration:none}
.mba-btn:hover{background:var(--forest2);color:#fff}
.mba-btn:active{transform:translateY(1px)}
.mba-btn[disabled]{opacity:.65;cursor:wait}
.mba-btn.ghost{background:#fff;color:var(--forest);border:1.5px solid var(--line2)}
.mba-btn.ghost:hover{border-color:var(--forest);background:#fff;color:var(--forest)}
.mba-btn .spin{display:none;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:mba-spin .7s linear infinite}
.mba-btn.busy .spin{display:inline-block}
@keyframes mba-spin{to{transform:rotate(360deg)}}

.mba-alt{text-align:center;font-size:.9rem;color:var(--ink2)}
.mba-alt a{color:var(--forest);font-weight:800;text-decoration:none}
.mba-alt a:hover{text-decoration:underline}
.mba-or{display:flex;align-items:center;gap:.8rem;margin:1.2rem 0;color:var(--ink3);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.mba-or::before,.mba-or::after{content:"";flex:1;height:1px;background:var(--line)}
.mba-help-line{margin-top:1rem;text-align:center;font-size:.8rem;color:var(--ink3)}
.mba-help-line a{color:var(--ink2);font-weight:700;text-decoration:none}
.mba-help-line a:hover{color:var(--forest);text-decoration:underline}
.mba-terms{font-size:.76rem;color:var(--ink3);margin:.2rem 0 1.1rem;line-height:1.5}
.mba-terms a{color:var(--ink2);font-weight:700}

/* ---------- responsive ---------- */
@media (max-width:1279px){
  .mba-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
/* tablet: photo becomes a banner on top */
@media (max-width:1023px){
  .mba-page{grid-template-columns:1fr;min-height:0}
  .mba-photo{min-height:15rem;padding:2rem 1.5rem 3.6rem}
  .mba-photo h1{font-size:clamp(1.8rem,5vw,2.4rem)}
  .mba-pts{grid-template-columns:repeat(3,auto);justify-content:start;gap:.5rem 1.2rem}
  .mba-side{padding:0 1.25rem 3rem;align-items:flex-start}
  .mba-box{margin-top:-2.4rem;max-width:30rem}
}
@media (max-width:767px){
  .mba-photo{min-height:12rem;padding:1.5rem 1.25rem 3.2rem}
  .mba-photo p{display:none}
  .mba-pts{display:none}
  .mba-cap{display:none}
  .mba-card{padding:1.5rem 1.25rem}
  .mba-hd h2{font-size:1.4rem}
}
@media (max-width:575px){
  .mba-photo{min-height:10rem;padding:1.25rem 1rem 3rem}
  .mba-photo h1{font-size:1.65rem}
  .mba-side{padding:0 .75rem 2.5rem}
  .mba-card{padding:1.35rem 1.05rem;border-radius:1.1rem}
  .mba-in input{height:3.1rem;font-size:1rem}       /* 16px+: no zoom on iPhone */
}
@media (prefers-reduced-motion:reduce){.mba *{transition:none!important;animation:none!important}}
