:root{--gold:#ffad08;--gold2:#ff8a00;--purple:#4b18e8;--ink:#111735;--muted:#687087;--line:#eadfc9;--white:#fff;--shadow:0 10px 30px rgba(255,157,0,.14),0 2px 10px rgba(75,24,232,.07)}
*{box-sizing:border-box}.tm-login-page{margin:0;background:linear-gradient(180deg,#fff 0%,#fffdf8 70%,#fff 100%);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.tm-login-page a{color:inherit}.login-shell{width:min(1480px,calc(100% - 44px));margin:0 auto;padding:14px 0 24px}.login-breadcrumb{height:38px;display:flex;align-items:center;gap:12px;font-size:14px;color:#566078;padding:0 10px}.login-breadcrumb a{text-decoration:none}.login-breadcrumb strong{color:#20233e}.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}.login-card,.login-trust-strip{border:1.5px solid var(--gold);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.login-visual{min-height:870px;overflow:hidden;position:relative;background:radial-gradient(circle at 50% 23%,rgba(255,213,128,.32),transparent 27%),linear-gradient(180deg,#f9f8ff 0%,#fffaf0 42%,#fff 100%)}.login-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,#fff 0 5%,transparent 20%),radial-gradient(circle at 84% 22%,rgba(255,255,255,.95),transparent 22%);pointer-events:none}.login-visual-copy{position:relative;z-index:2;text-align:center;padding:48px 24px 0}.login-visual-copy h1{font-size:36px;line-height:1.1;font-weight:500;margin:0;color:#18203f}.login-visual-copy h2{font-size:48px;line-height:1.05;margin:8px 0 16px;font-weight:800;background:linear-gradient(90deg,#4b18e8,#ef3030);-webkit-background-clip:text;background-clip:text;color:transparent}.login-ornament{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold2);font-size:12px}.login-ornament:before,.login-ornament:after{content:"";width:76px;height:1px;background:linear-gradient(90deg,transparent,var(--gold2))}.login-ornament:after{background:linear-gradient(90deg,var(--gold2),transparent)}.login-ornament b{font-size:17px}.login-visual-copy p{font-size:18px;line-height:1.55;margin:24px 0 0}.login-visual-art{position:absolute;left:0;right:0;bottom:0;height:68%;overflow:hidden}.login-visual-art:before{content:"";position:absolute;z-index:1;left:0;right:0;top:0;height:24%;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,0))}.login-visual-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.login-form-card{padding:34px 44px 36px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.login-symbol{width:86px;height:86px;margin:0 auto 8px;border:1.5px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold2);font-size:54px;line-height:1;background:radial-gradient(circle,#fff,#fffaf0);box-shadow:0 5px 18px rgba(255,160,0,.15)}.login-heading{text-align:center}.login-heading h2{margin:0;font-size:48px;line-height:1;font-weight:800;background:linear-gradient(90deg,#4b18e8,#7d1ad8);-webkit-background-clip:text;background-clip:text;color:transparent}.login-heading p{font-size:18px;line-height:1.55;margin:16px 0 14px}.login-heading .login-ornament{margin-bottom:24px}.login-role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px}.login-role{height:62px;border:1px solid #e2dce8;border-radius:9px;background:#fff;box-shadow:0 5px 16px rgba(27,21,58,.08);font-size:16px;font-weight:600;color:#20233e;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px}.login-role span{font-size:25px;color:#521bf0}.login-role.active{border-color:var(--gold2);background:linear-gradient(180deg,#fffdf6,#fff7e8);box-shadow:0 7px 20px rgba(255,164,0,.13)}.login-alert{background:#fff4f2;border:1px solid #f2aaa2;border-radius:10px;padding:10px 14px;margin:-10px 0 18px;color:#a22618;font-size:13px}.login-alert ul{margin:0;padding-left:18px}.login-field{display:block;margin-bottom:24px}.login-field>span{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700;margin-bottom:10px}.login-field a{color:var(--gold2);text-decoration:none}.login-input{height:58px;border:1px solid #d9d8df;border-radius:10px;background:#fff;display:flex;align-items:center;gap:12px;padding:0 16px;box-shadow:inset 0 1px 2px rgba(0,0,0,.025)}.login-input:focus-within{border-color:#6b35ee;box-shadow:0 0 0 3px rgba(107,53,238,.08)}.login-input i{font-style:normal;font-size:22px;color:#252a49}.login-input input{border:0;outline:0;flex:1;min-width:0;font:inherit;font-size:16px;color:var(--ink);background:transparent}.login-input input::placeholder{color:#8a8da0}.login-eye{border:0;background:transparent;color:#111735;font-size:18px;cursor:pointer;padding:5px}.login-remember{display:flex;align-items:center;gap:10px;font-size:15px;margin:0 0 24px}.login-remember input{appearance:none;width:21px;height:21px;border:1px solid #c9c9d0;border-radius:4px;display:grid;place-items:center;margin:0}.login-remember input:checked{background:#521bf0;border-color:#521bf0}.login-remember input:checked:after{content:"✓";color:#fff;font-weight:800;font-size:14px}.login-submit{height:58px;border:0;border-radius:10px;background:linear-gradient(135deg,#ffd15a,#ffae09);box-shadow:0 8px 18px rgba(255,166,0,.27);font-size:20px;font-weight:700;color:#17172a;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.login-submit b{position:absolute;right:16px;width:38px;height:38px;border:1px solid rgba(92,61,0,.4);border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:400}.login-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:30px 0 22px;font-size:14px}.login-divider span{height:1px;background:linear-gradient(90deg,transparent,#efbd64)}.login-divider span:last-child{background:linear-gradient(90deg,#efbd64,transparent)}.login-socials{display:flex;justify-content:center;gap:34px}.login-socials button{width:68px;height:68px;border-radius:50%;border:1px solid #e5e1e6;background:#fff;box-shadow:0 7px 17px rgba(28,25,43,.09);display:grid;place-items:center;cursor:pointer}.login-socials b{font-size:29px;font-family:Arial,sans-serif}.google{color:#4285f4}.facebook{color:#1877f2}.apple{color:#111}.mobile{color:#5a18ee}.login-register-copy{text-align:center;font-size:17px;margin:30px 0 0}.login-register-copy a{color:#f04b1c;text-decoration:none;font-weight:600}.login-message{text-align:center;min-height:20px;color:#5b5f75;font-size:13px;margin-top:10px}.login-trust-strip{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);padding:20px 18px}.login-trust-strip>div{display:flex;align-items:center;gap:15px;padding:4px 22px;border-right:1px solid #eee4d3}.login-trust-strip>div:last-child{border-right:0}.login-trust-strip i{font-style:normal;width:54px;height:54px;border:1px solid #ffd16a;border-radius:50%;display:grid;place-items:center;color:var(--gold2);font-size:25px;box-shadow:0 5px 14px rgba(255,170,0,.12);flex:0 0 auto}.login-trust-strip b,.login-trust-strip small{display:block}.login-trust-strip b{font-size:16px;margin-bottom:4px}.login-trust-strip small{font-size:13px;color:#4f556d}
@media(max-width:1050px){.login-shell{width:min(920px,calc(100% - 28px))}.login-grid{grid-template-columns:1fr}.login-visual{min-height:700px}.login-form-card{min-height:auto}.login-trust-strip{grid-template-columns:1fr 1fr}.login-trust-strip>div:nth-child(2){border-right:0}.login-trust-strip>div{border-bottom:1px solid #eee4d3;padding:15px}.login-trust-strip>div:nth-child(n+3){border-bottom:0}}
@media(max-width:620px){.login-shell{width:calc(100% - 20px);padding-top:4px}.login-breadcrumb{padding:0 4px;font-size:12px}.login-visual{min-height:610px;border-radius:16px}.login-visual-copy{padding-top:30px}.login-visual-copy h1{font-size:28px}.login-visual-copy h2{font-size:39px}.login-visual-copy p{font-size:14px}.login-visual-art{height:66%}.login-form-card{padding:26px 18px;border-radius:16px}.login-symbol{width:68px;height:68px;font-size:42px}.login-heading h2{font-size:39px}.login-heading p{font-size:14px}.login-role-tabs{gap:8px}.login-role{height:56px;font-size:13px;padding:0 5px}.login-role span{font-size:21px}.login-field>span{font-size:14px}.login-input{height:54px;padding:0 12px}.login-input input{font-size:14px}.login-submit{height:55px;font-size:18px}.login-socials{gap:15px}.login-socials button{width:58px;height:58px}.login-trust-strip{grid-template-columns:1fr;padding:10px}.login-trust-strip>div,.login-trust-strip>div:nth-child(2),.login-trust-strip>div:nth-child(n+3){border-right:0;border-bottom:1px solid #eee4d3;padding:13px 8px}.login-trust-strip>div:last-child{border-bottom:0}.login-register-copy{font-size:14px}}

/* LOGIN V1.0.1 — explicit submit geometry so the Master button cannot collapse
   under unrelated global button rules. Visual language/layout remains unchanged. */
.tm-login-page #loginForm > .login-submit{
  display:flex!important;
  width:100%!important;
  max-width:none!important;
  min-width:100%!important;
  height:58px!important;
  margin:0!important;
  padding:0 68px 0 22px!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  overflow:hidden!important;
  border:1px solid #f0a000!important;
  border-radius:11px!important;
}
.tm-login-page #loginForm > .login-submit > span{
  display:block!important;
  flex:1 1 auto!important;
  width:auto!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.tm-login-page #loginForm > .login-submit > b{
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  flex:0 0 40px!important;
}


/* LOGIN V1.1.0 — provider icons and mobile reading order. */
.tm-login-page .login-socials{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap}
.tm-login-page .login-socials button{width:60px;height:60px;flex:0 0 60px;border-radius:50%;border:1px solid #e8e0d3;background:linear-gradient(180deg,#fff 0%,#fffdf8 100%);color:#151515;box-shadow:0 7px 18px rgba(27,25,43,.09);display:grid;place-items:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.tm-login-page .login-socials button:hover,.tm-login-page .login-socials button:focus-visible{transform:translateY(-2px);border-color:#ffb11b;box-shadow:0 9px 22px rgba(255,166,0,.18);outline:none}
.tm-login-page .login-socials .social-icon{display:block;width:27px;height:27px}
.tm-login-page .login-socials .social-apple{width:25px;height:25px;color:#111}
.tm-login-page .login-socials .social-facebook{width:29px;height:29px;color:#1877f2}
@media(max-width:1050px){
  .tm-login-page .login-grid{display:flex;flex-direction:column}
  .tm-login-page .login-form-card{order:1;width:100%}
  .tm-login-page .login-visual{order:2;width:100%;min-height:0;height:auto;display:flex;flex-direction:column}
  .tm-login-page .login-visual-copy{order:0;padding:24px 18px 20px}
  .tm-login-page .login-visual-art{position:relative;order:1;left:auto;right:auto;bottom:auto;height:auto;aspect-ratio:4/3;max-height:440px;width:100%}
  .tm-login-page .login-visual-art:before{height:10%;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent)}
  .tm-login-page .login-visual-art img{object-fit:cover;object-position:center 35%}
}
@media(max-width:620px){
  .tm-login-page .login-socials{gap:16px;margin-top:4px}
  .tm-login-page .login-socials button{width:54px;height:54px;flex-basis:54px}
  .tm-login-page .login-socials .social-icon{width:25px;height:25px}
  .tm-login-page .login-visual-copy{padding:20px 16px 16px}
  .tm-login-page .login-visual-art{aspect-ratio:5/4;max-height:330px}
}
@media(prefers-reduced-motion:reduce){.tm-login-page .login-socials button{transition:none}}
