/* Flying Star authentication UI — design only, no PHP/logic changes */
:root{
  --fs-bg:#070d32;
  --fs-card:#18265d;
  --fs-card2:#13204f;
  --fs-line:rgba(117,151,255,.26);
  --fs-text:#f7f9ff;
  --fs-muted:#b8c3e7;
  --fs-blue:#38bdf8;
  --fs-purple:#7567f8;
  --fs-gold:#ffc94a;
  --fs-pink:#ff0b5b;
  --fs-green:#28d17c;
  --fs-danger:#ff667d;
}

html,body{min-height:100%;}
body{
  background:
    radial-gradient(circle at 10% 10%,rgba(56,189,248,.10),transparent 28%),
    radial-gradient(circle at 90% 85%,rgba(255,11,91,.09),transparent 30%),
    linear-gradient(135deg,#060b29 0%,#09113e 55%,#090d32 100%) !important;
  color:var(--fs-text);
}
.body-shape{opacity:.07;pointer-events:none;}
.login-section{
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:42px 14px !important;
}
.login-section>.container{width:100%;}

.account-wrapper,
.success-card{
  position:relative;
  overflow:hidden;
  width:min(100%,560px) !important;
  margin-inline:auto !important;
  padding:34px 38px 32px !important;
  border:1px solid var(--fs-line) !important;
  border-radius:20px !important;
  background:linear-gradient(155deg,rgba(31,48,108,.98),rgba(18,30,76,.98)) !important;
  box-shadow:0 26px 70px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04) !important;
  color:var(--fs-text) !important;
}
.account-wrapper::before,.success-card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--fs-blue),var(--fs-gold),var(--fs-pink));
}
.account-wrapper::after,.success-card::after{
  content:"";
  position:absolute;
  width:220px;height:220px;border-radius:50%;
  right:-110px;top:-120px;
  background:rgba(117,103,248,.12);
  filter:blur(2px);
  pointer-events:none;
}
.account-wrapper>* ,.success-card>*{position:relative;z-index:1;}
.account-wrapper>a:first-child{display:flex;justify-content:center;margin-bottom:8px;}
.account-wrapper .brand-logo,.success-logo{
  width:108px !important;
  height:94px !important;
  object-fit:contain;
  filter:drop-shadow(0 8px 15px rgba(0,0,0,.22));
}
.account-wrapper .title,.success-card h1{
  margin:6px 0 8px !important;
  color:#fff !important;
  text-align:center;
  font-size:30px !important;
  line-height:1.2;
  font-weight:800 !important;
  letter-spacing:.4px;
  text-transform:uppercase;
}
.account-wrapper .breadcrumb{
  display:flex;
  gap:0;
  margin:0 0 24px !important;
  padding:0;
  background:none !important;
}
.account-wrapper .breadcrumb li,.account-wrapper .breadcrumb a{
  color:#dce4ff !important;
  font-size:14px;
}
.account-wrapper .breadcrumb a:hover{color:var(--fs-gold) !important;}

.account-form{margin-top:4px;}
.account-form .form-group{margin-bottom:18px !important;}
.account-form label{
  display:block;
  margin:0 0 7px !important;
  color:#f4f6ff !important;
  font-size:14px !important;
  font-weight:700 !important;
}
.account-form input:not([type="hidden"]):not([type="checkbox"]),
.account-form select,
.account-form textarea{
  display:block;
  width:100% !important;
  height:52px !important;
  margin:0 !important;
  padding:0 15px !important;
  border:1px solid rgba(150,168,224,.38) !important;
  border-radius:10px !important;
  outline:0 !important;
  background:#09143e !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  caret-color:#fff;
  font-size:15px !important;
  line-height:52px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02) !important;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.account-form input::placeholder,.account-form textarea::placeholder{color:#8491bd !important;-webkit-text-fill-color:#8491bd !important;opacity:1;}
.account-form input:focus,.account-form select:focus,.account-form textarea:focus{
  border-color:var(--fs-blue) !important;
  background:#0a1644 !important;
  box-shadow:0 0 0 3px rgba(56,189,248,.14) !important;
}
.account-form input:-webkit-autofill,
.account-form input:-webkit-autofill:hover,
.account-form input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff !important;
  -webkit-box-shadow:0 0 0 1000px #09143e inset !important;
  transition:background-color 9999s ease-out 0s;
}
.account-form a,.account-bottom a{color:#9adfff !important;text-decoration:none !important;font-weight:600;}
.account-form a:hover,.account-bottom a:hover{color:var(--fs-gold) !important;}

.captcha-question{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:38px !important;
  margin-left:7px;
  padding:5px 12px !important;
  border:1px solid rgba(255,201,74,.45) !important;
  border-radius:9px !important;
  background:rgba(255,201,74,.08) !important;
  color:var(--fs-gold) !important;
  font-size:17px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:1px !important;
}

.checkgroup{display:flex !important;align-items:flex-start !important;gap:10px !important;color:var(--fs-muted);}
.checkgroup input[type="checkbox"]{
  flex:0 0 18px;width:18px !important;height:18px !important;margin:3px 0 0 !important;
  accent-color:var(--fs-purple);
}
.checkgroup label{margin:0 !important;font-weight:500 !important;line-height:1.55 !important;color:#cbd4f2 !important;}
.sponsor-result{display:block;min-height:22px;margin-top:6px;color:#80e8b6 !important;font-size:13px;font-weight:700;}
.sponsor-result.is-error{color:#ff9cab !important;}

/* Strong button override: fixes invisible text from old theme rules */
.account-form button[type="submit"],
.account-form .default-button,
.account-wrapper button.default-button,
.success-card .default-button,
.success-card button,
.success-card a.default-button{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:52px !important;
  margin:0 !important;
  padding:12px 18px !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:10px !important;
  background:linear-gradient(135deg,#6658f4 0%,#7a62f7 42%,#ff0b5b 100%) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:.25px !important;
  text-align:center !important;
  text-decoration:none !important;
  text-indent:0 !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px rgba(94,71,226,.28),0 6px 18px rgba(255,11,91,.12) !important;
  transition:transform .2s ease,box-shadow .2s ease !important;
}
.account-form button[type="submit"]::before,.account-form button[type="submit"]::after,
.account-form .default-button::before,.account-form .default-button::after,
.success-card .default-button::before,.success-card .default-button::after{display:none !important;content:none !important;}
.account-form button[type="submit"] span,
.account-form .default-button span,
.success-card .default-button span,
.success-card button span,
.success-card a.default-button span{
  position:relative !important;z-index:2 !important;display:inline !important;
  color:#fff !important;-webkit-text-fill-color:#fff !important;
  opacity:1 !important;visibility:visible !important;
  font:inherit !important;line-height:inherit !important;text-transform:none !important;
}
.account-form button[type="submit"]:hover,
.account-form .default-button:hover,
.success-card .default-button:hover{
  color:#fff !important;-webkit-text-fill-color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(94,71,226,.34),0 8px 22px rgba(255,11,91,.18) !important;
}
.account-form button[type="submit"]:focus-visible,.success-card .default-button:focus-visible{outline:3px solid rgba(56,189,248,.35) !important;outline-offset:3px;}

.account-bottom{
  margin-top:16px !important;
  padding-top:16px !important;
  border-top:1px solid rgba(255,255,255,.09);
  text-align:center;
  color:#cbd4ef !important;
}
.account-bottom .cate{color:#cbd4ef !important;}

/* Error / status messages */
.form-message{
  margin:0 0 18px !important;
  padding:12px 14px 12px 42px !important;
  border:1px solid rgba(255,102,125,.35) !important;
  border-radius:10px !important;
  background:rgba(255,102,125,.11) !important;
  color:#ffd7de !important;
  font-size:14px !important;
  font-weight:600;
  line-height:1.5;
  position:relative;
}
.form-message::before{content:"!";position:absolute;left:14px;top:12px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--fs-danger);color:#fff;font-size:12px;font-weight:900;}
.form-message[role="status"]{border-color:rgba(40,209,124,.32) !important;background:rgba(40,209,124,.10) !important;color:#c7ffe3 !important;}
.form-message[role="status"]::before{content:"✓";background:var(--fs-green);}

/* Registration success page */
.success-card{text-align:center !important;width:min(100%,580px) !important;}
.success-icon{
  display:grid !important;place-items:center !important;
  width:66px !important;height:66px !important;margin:8px auto 12px !important;
  border-radius:50% !important;
  background:rgba(40,209,124,.13) !important;
  border:1px solid rgba(40,209,124,.32);
  color:#69eba8 !important;font-size:34px !important;font-weight:900 !important;
  box-shadow:0 0 0 7px rgba(40,209,124,.05);
}
.success-card>p{color:#cbd4ef !important;margin-bottom:18px !important;}
.credential-box{overflow:hidden;margin-top:18px !important;border:1px solid rgba(255,255,255,.11) !important;border-radius:12px !important;background:rgba(6,13,50,.28) !important;}
.credential-row{display:grid !important;grid-template-columns:170px 1fr !important;gap:16px !important;padding:12px 14px !important;border-bottom:1px solid rgba(255,255,255,.08) !important;text-align:left;}
.credential-row:last-child{border-bottom:0 !important;}
.credential-row span{color:#aebade !important;}.credential-row strong{color:#fff !important;overflow-wrap:anywhere;}
.success-actions{display:flex !important;gap:12px !important;margin-top:20px !important;}
.success-actions>*{flex:1 !important;}

@media(max-width:575.98px){
  .login-section{padding:22px 10px !important;align-items:flex-start;}
  .account-wrapper,.success-card{padding:26px 18px 24px !important;border-radius:16px !important;}
  .account-wrapper .brand-logo,.success-logo{width:90px !important;height:78px !important;}
  .account-wrapper .title,.success-card h1{font-size:24px !important;}
  .account-form .form-group{margin-bottom:15px !important;}
  .account-form input:not([type="hidden"]):not([type="checkbox"]),.account-form select,.account-form textarea{height:48px !important;line-height:48px !important;font-size:14px !important;}
  .captcha-question{margin-left:4px;font-size:15px !important;}
  .credential-row{grid-template-columns:1fr !important;gap:3px !important;}
  .success-actions{flex-direction:column !important;}
}
@media(max-width:360px){
  .account-wrapper,.success-card{padding-left:14px !important;padding-right:14px !important;}
  .account-wrapper .title,.success-card h1{font-size:21px !important;}
}

/* Wallet verification page — matches Flying Star login design */
.account-wrapper .wallet-note{
  margin:2px 0 20px !important;
  color:#cbd4ef !important;
  text-align:center;
  font-size:14px;
  line-height:1.65;
}
.account-wrapper .breadcrumb li{
  list-style:none !important;
}
.account-wrapper .form-message[role="alert"]{
  border-color:rgba(255,102,125,.35) !important;
  background:rgba(255,102,125,.11) !important;
  color:#ffd7de !important;
}
.account-wrapper .form-message[role="alert"]::before{
  content:"!";
  background:var(--fs-danger);
}
