/* Kuwait Trust — auth portal (login & register) */
*{box-sizing:border-box}
html,body{margin:0}
body.vipro-portal.sea-trade-ui{
  margin:0;
  overflow-x:hidden;
  color:#e8eef7;
  font-family:Outfit,Manrope,sans-serif;
  background-color:#050b16!important;
  background-image:
    radial-gradient(1000px 520px at 6% -8%, rgba(233,190,92,.18), transparent 56%),
    radial-gradient(760px 460px at 102% 2%, rgba(73,224,200,.12), transparent 50%),
    linear-gradient(180deg,#091426 0%,#050b16 50%,#070e1c 100%)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}
body.vipro-portal.sea-trade-ui:after{display:none!important}
body.vipro-portal main{
  position:relative;
  z-index:1;
  min-height:100vh;
  min-height:100dvh;
  margin:0;
  padding:0!important;
  overflow:visible;
  max-width:none;
}
body.vipro-portal .avenor-guide,
body.vipro-portal #backToTop,
body.vipro-portal .luxury-footer{display:none!important}

/* Shared brand & button used by auth pages */
.tt-brand{display:flex;align-items:center;gap:10px;min-width:0;color:#fff;text-decoration:none}
.tt-brand img{width:42px;height:42px;border-radius:12px;display:block;flex:0 0 auto}
.tt-brand span{display:flex;flex-direction:column;line-height:1.05}
.tt-brand strong{font-size:1.02rem;font-weight:800;letter-spacing:-.03em}
.tt-brand small{color:#E9BE5C;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}

.tt-btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:52px;padding:0 22px;border:0;border-radius:14px;
  background:linear-gradient(135deg,#FBE7A6,#E9BE5C 52%,#C0881F);
  color:#1a1203;font:inherit;font-weight:800;letter-spacing:.01em;text-decoration:none;
  box-shadow:0 12px 26px rgba(233,190,92,.28), inset 0 1px 0 rgba(255,255,255,.5);
  transition:transform .18s ease, box-shadow .18s ease;cursor:pointer;
}
.tt-btn:hover{color:#1a1203;transform:translateY(-1px);box-shadow:0 16px 34px rgba(233,190,92,.38)}

/* Auth pages (login / register) */
.tt-auth{
  position:relative;z-index:1;
  width:min(980px, calc(100% - 28px));
  margin:22px auto 28px;
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  min-height:calc(100dvh - 48px);
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(246,241,232,.12);
  background:rgba(10,14,22,.72);
  box-shadow:0 30px 80px rgba(0,0,0,.4);
}
.tt-aside{
  position:relative;
  padding:32px 28px;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,90,82,.35), transparent 42%),
    linear-gradient(180deg,#1a0c12 0%,#120910 100%);
  display:flex;
  flex-direction:column;
}
.tt-aside .tt-brand{margin-bottom:auto}
.tt-aside h1{
  margin:28px 0 0;
  font-family:Fraunces,Georgia,serif;
  font-size:clamp(2.2rem, 4vw, 3.3rem);
  font-weight:560;
  letter-spacing:-.04em;
  line-height:.98;
}
.tt-aside h1 em{font-style:italic;color:#ffb0aa}
.tt-aside .tt-lead{color:#f0d7d4;font-size:.98rem;margin:16px 0 0;line-height:1.6}
.tt-aside-list{
  margin:22px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.tt-aside-list li{
  display:flex;
  align-items:center;
  gap:10px;
  color:#f6e8e6;
  font-weight:600;
}
.tt-aside-list i{
  width:28px;height:28px;display:grid;place-items:center;
  border-radius:9px;
  background:rgba(255,255,255,.08);
  color:#ffb0aa;
}
.tt-panel{padding:32px 28px 26px;background:rgba(7,11,18,.35)}
.tt-panel h2{
  margin:0;
  font-family:Fraunces,Georgia,serif;
  font-size:2rem;
  font-weight:560;
  letter-spacing:-.03em;
}
.tt-sub{margin:6px 0 16px;color:#c5ced8}
.vt-error,.vt-note{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:12px;
  font-size:.86rem;
  line-height:1.4;
}
.vt-error{background:rgba(120,16,24,.55);border:1px solid rgba(255,140,140,.4);color:#ffe4e4}
.vt-note{background:rgba(225,6,0,.12);border:1px solid rgba(255,120,110,.35);color:#ffd8d4}
.tt-panel .vt-label{
  display:flex;
  align-items:center;
  gap:7px;
  margin:12px 2px 6px;
  color:#f6f1e8;
  font-size:.9rem;
  font-weight:650;
}
.tt-panel .vt-label i{color:#ff6a62;font-size:.82rem}
.tt-panel .vt-field{
  position:relative;
  display:flex;
  align-items:center;
  min-height:52px;
  padding:0 12px 0 14px;
  border:1px solid rgba(246,241,232,.14);
  border-radius:14px;
  background:rgba(6,8,14,.72);
}
.tt-panel .vt-field:focus-within{border-color:rgba(255,90,82,.7);box-shadow:0 0 0 3px rgba(225,6,0,.15)}
.tt-panel .vt-field > i{color:#ff6a62;width:18px;text-align:center}
.tt-panel .vt-field input,.tt-panel .vt-select{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:.95rem;
}
.tt-panel .vt-field input{height:50px;padding:0 36px 0 10px}
.tt-panel .vt-field input::placeholder{color:rgba(255,255,255,.38)}
.tt-panel .vt-select-wrap{position:relative;display:block}
.tt-panel .vt-select{
  height:52px;
  padding:0 36px 0 14px;
  border:1px solid rgba(246,241,232,.14);
  border-radius:14px;
  background:rgba(6,8,14,.72);
  appearance:none;
  cursor:pointer;
}
.tt-panel .vt-select-wrap:after{
  content:"";
  position:absolute;
  right:16px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid #ff6a62;
  border-bottom:2px solid #ff6a62;
  transform:translateY(-70%) rotate(45deg);
  pointer-events:none;
}
.tt-panel .password-toggle{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#ff8d86;
  cursor:pointer;
}
.tt-panel .quick-login{margin-bottom:4px}
.tt-panel .vt-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:12px 2px 14px;
}
.tt-panel .vt-check{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:#e7edf3;
  font-size:.86rem;
}
.tt-panel .vt-check input{accent-color:#e10600;width:15px;height:15px}
.tt-panel .vt-forgot{
  border:0;
  background:transparent;
  color:#ff8d86;
  font:inherit;
  font-size:.82rem;
  font-weight:700;
  cursor:pointer;
  padding:0;
}
.tt-panel .vt-forgot-note{margin:-4px 2px 12px;color:#d7c4c2;font-size:.8rem}
.tt-panel .tt-btn{width:100%;margin-top:6px}
.tt-switch{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(246,241,232,.1);
  color:#c5ced8;
  font-size:.92rem;
}
.tt-switch a{color:#fff;font-weight:800;text-decoration:none}
.tt-switch a:hover{color:#ffb0aa}

.acct-lock{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(5,7,12,.82)}
.acct-lock-card{width:min(92vw,380px);padding:26px 20px 18px;border-radius:22px;text-align:center;color:#fff;background:linear-gradient(180deg,#1c1216,#100c10);border:1px solid rgba(255,120,110,.45)}
.acct-lock-ico{width:60px;height:60px;margin:0 auto 10px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#9d1024;font-size:1.4rem}
.acct-lock-hi{margin:0;font-weight:700;color:#ffd0cb}
.acct-lock-card h2{margin:6px 0 8px;font-size:1.3rem}
.acct-lock-card p{margin:0 0 14px;color:#f3e4e2;font-size:.92rem}
.acct-lock-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;border-radius:12px;background:linear-gradient(180deg,#ff5147,#c8102e);color:#fff;font-weight:800;text-decoration:none}
.acct-lock-close{display:block;width:100%;margin-top:8px;border:0;background:transparent;color:#ffb0aa;font-weight:700;cursor:pointer}

@media (max-width:860px){
  .tt-auth{grid-template-columns:1fr;min-height:0}
  .tt-aside{padding-bottom:22px}
  .tt-panel{padding:22px 18px 20px}
}
