/* RaccoonCloud login redesign v1.0 - calm light glass UI */
:root{
  --rc-login-ink:#111827;
  --rc-login-muted:#667085;
  --rc-login-faint:#98a2b3;
  --rc-login-line:rgba(17,24,39,.105);
  --rc-login-blue:#2364ff;
  --rc-login-cyan:#1aa7c8;
  --rc-login-green:#16a06d;
  --rc-login-green-deep:#08784f;
  --rc-login-bg:#f5f7fb;
}
body:has(#loginForm){
  min-height:100vh!important;
  overflow-x:hidden;
  color:var(--rc-login-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif!important;
  background:
    radial-gradient(circle at 16% 4%,rgba(35,100,255,.13),transparent 28%),
    radial-gradient(circle at 86% 13%,rgba(26,167,200,.11),transparent 30%),
    radial-gradient(circle at 78% 76%,rgba(22,160,109,.10),transparent 30%),
    linear-gradient(180deg,#fff 0%,var(--rc-login-bg) 45%,#eef2f7 100%)!important;
}
body:has(#loginForm)::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.34;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
}
body:has(#loginForm)::after{
  content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;
  background:linear-gradient(90deg,rgba(17,24,39,.045) 1px,transparent 1px),linear-gradient(rgba(17,24,39,.04) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,transparent,black 10%,black 84%,transparent);
}
body:has(#loginForm) section{
  min-height:100vh!important;
  background:transparent!important;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}
body:has(#loginForm) section::before{
  content:"RaccoonCloud";
  position:absolute;left:42px;top:34px;z-index:0;
  color:rgba(17,24,39,.78);font-size:14px;font-weight:900;letter-spacing:-.025em;
  padding-left:52px;line-height:40px;
}
body:has(#loginForm) section::after{
  content:"RC";
  position:absolute;left:42px;top:34px;width:40px;height:40px;border-radius:15px;z-index:0;
  display:grid;place-items:center;color:#fff;font-size:14px;font-weight:950;letter-spacing:-.08em;
  background:linear-gradient(135deg,#111827,#2364ff 58%,#1aa7c8);
  box-shadow:0 18px 38px rgba(35,100,255,.22);
}
body:has(#loginForm) .container{position:relative;z-index:1;max-width:1120px!important;}
body:has(#loginForm) .row.align-items-center.justify-content-center.min-vh-100{min-height:100vh!important;}
body:has(#loginForm) .col-md-7.col-lg-6.col-xl-5{
  flex:0 0 430px!important;max-width:430px!important;padding-top:0!important;padding-bottom:0!important;
}
body:has(#loginForm) .card.semi-transparent-white-bg{
  position:relative;overflow:hidden!important;border:1px solid rgba(255,255,255,.74)!important;border-radius:30px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,255,255,.58))!important;
  backdrop-filter:blur(28px) saturate(1.7);-webkit-backdrop-filter:blur(28px) saturate(1.7);
  box-shadow:0 30px 90px rgba(15,23,42,.13),inset 0 1px 0 rgba(255,255,255,.92)!important;
}
body:has(#loginForm) .card.semi-transparent-white-bg::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(circle at 18% 0%,rgba(35,100,255,.13),transparent 34%),radial-gradient(circle at 92% 18%,rgba(22,160,109,.11),transparent 30%);
}
body:has(#loginForm) .card.semi-transparent-white-bg::after{
  content:"";position:absolute;left:28px;right:28px;bottom:16px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(35,100,255,.28),rgba(26,167,200,.24),rgba(22,160,109,.22),transparent);
}
body:has(#loginForm) .card.semi-transparent-white-bg>.p-1.bg-info{
  position:relative;z-index:1;height:2px!important;padding:0!important;margin:0 28px!important;border-radius:999px!important;
  background:linear-gradient(90deg,transparent,#2364ff,#1aa7c8,#16a06d,transparent)!important;
  opacity:.68;
}
body:has(#loginForm) .card.semi-transparent-white-bg>.p-1.bg-info:first-child{margin-top:16px!important;}
body:has(#loginForm) .card.semi-transparent-white-bg>.p-1.bg-info:last-child{margin-bottom:16px!important;}
body:has(#loginForm) .card-body{position:relative;z-index:2;padding:44px 44px 30px!important;}
body:has(#loginForm) .card-body .mb-3.container{padding:0!important;margin-bottom:26px!important;}
body:has(#loginForm) h1.text-primary{
  margin:0!important;color:var(--rc-login-ink)!important;font-size:34px!important;line-height:1.05!important;font-weight:900!important;letter-spacing:-.065em;
}
body:has(#loginForm) h1.text-primary::after{
  content:"安全进入 RaccoonCloud 客户中心";display:block;margin-top:10px;color:var(--rc-login-muted);font-size:13px;font-weight:760;letter-spacing:0;line-height:1.6;
}
body:has(#loginForm) .form-group{margin-bottom:18px!important;}
body:has(#loginForm) .form-control-label{
  margin-bottom:8px!important;color:#344054!important;font-size:12px!important;font-weight:850!important;letter-spacing:.04em;
}
body:has(#loginForm) .input-group{
  min-height:48px;border:1px solid var(--rc-login-line)!important;border-radius:17px!important;background:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 10px 28px rgba(15,23,42,.045)!important;overflow:hidden;transition:.18s ease!important;
}
body:has(#loginForm) .input-group:focus-within{border-color:rgba(35,100,255,.38)!important;box-shadow:0 0 0 4px rgba(35,100,255,.10),0 15px 38px rgba(35,100,255,.08)!important;background:#fff!important;}
body:has(#loginForm) .input-group-text{
  width:48px;min-height:48px;border:0!important;border-radius:0!important;background:transparent!important;color:var(--rc-login-blue)!important;display:grid;place-items:center;padding:0!important;
}
body:has(#loginForm) .input-group-text svg{width:18px;height:18px;stroke-width:2.15;}
body:has(#loginForm) .form-control{
  height:48px!important;min-height:48px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--rc-login-ink)!important;
  font-size:14px!important;font-weight:650!important;box-shadow:none!important;padding-left:2px!important;
}
body:has(#loginForm) .form-control::placeholder{color:#98a2b3!important;font-weight:560!important;}
body:has(#loginForm) #loginForm>.row.pt-2{
  padding-top:2px!important;margin-top:0!important;margin-bottom:22px!important;align-items:center;
}
body:has(#loginForm) #loginForm a{
  color:var(--rc-login-green-deep)!important;font-size:13px!important;font-weight:850!important;text-decoration:none!important;transition:.18s ease!important;
}
body:has(#loginForm) #loginForm a:hover{color:var(--rc-login-blue)!important;}
body:has(#loginForm) #loginForm .mt-4{margin-top:0!important;}
body:has(#loginForm) #loginBtn{
  height:48px!important;border:0!important;border-radius:17px!important;color:#fff!important;font-size:14px!important;font-weight:900!important;letter-spacing:.02em;
  background:linear-gradient(135deg,#111827,#2364ff 56%,#1aa7c8)!important;
  box-shadow:0 18px 44px rgba(35,100,255,.22)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
body:has(#loginForm) #loginBtn:hover{transform:translateY(-2px);box-shadow:0 24px 58px rgba(35,100,255,.28)!important;filter:saturate(1.04);}
body:has(#loginForm) #loginBtn:active{transform:translateY(0);}
body:has(#loginForm) .card>.mb-1.d-flex.justify-content-center{position:relative;z-index:2;margin:0 44px 20px!important;}
body:has(#loginForm) .card>.mb-1.d-flex.justify-content-center a{
  display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px;border:1px solid rgba(22,160,109,.18);border-radius:999px;
  background:rgba(22,160,109,.065);color:var(--rc-login-green-deep)!important;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;text-decoration:none!important;
}
body:has(#loginForm) .card>.mb-1.d-flex.justify-content-center a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rc-login-green);box-shadow:0 0 0 5px rgba(22,160,109,.12);}
@media (min-width:992px){
  body:has(#loginForm) .row.align-items-center.justify-content-center.min-vh-100::before{
    content:"RaccoonCloud";position:absolute;right:calc(50% + 248px);top:50%;transform:translateY(-50%);width:330px;
    color:var(--rc-login-ink);font-size:54px;line-height:.96;font-weight:930;letter-spacing:-.075em;
  }
  body:has(#loginForm) .row.align-items-center.justify-content-center.min-vh-100::after{
    content:"服务好每一个用户是我们的核心经营导向，真诚是我们的核心文化价值，合作共赢是我们对合作伙伴的真挚宣言！";white-space:normal;position:absolute;right:calc(50% + 252px);top:calc(50% + 92px);width:390px;
    color:var(--rc-login-muted);font-size:14px;line-height:1.75;font-weight:700;
  }
}
@media (max-width:768px){
  body:has(#loginForm) section::before,body:has(#loginForm) section::after{display:none;}
  body:has(#loginForm) .container{padding-left:18px!important;padding-right:18px!important;}
  body:has(#loginForm) .col-md-7.col-lg-6.col-xl-5{flex:0 0 100%!important;max-width:420px!important;}
  body:has(#loginForm) .card-body{padding:34px 26px 26px!important;}
  body:has(#loginForm) h1.text-primary{font-size:30px!important;}
}
@media (prefers-reduced-motion:reduce){body:has(#loginForm) *,body:has(#loginForm) *::before,body:has(#loginForm) *::after{transition:none!important;animation:none!important;}}

/* RaccoonCloud auth pages redesign v1.3 - register and password reset alignment */
body:has(#registerForm){
  --rc-auth-ink:#111827;
  --rc-auth-muted:#667085;
  --rc-auth-faint:#98a2b3;
  --rc-auth-line:rgba(17,24,39,.105);
  --rc-auth-blue:#2364ff;
  --rc-auth-cyan:#1aa7c8;
  --rc-auth-green:#16a06d;
  --rc-auth-green-deep:#08784f;
  --rc-auth-bg:#f5f7fb;
  color:var(--rc-auth-ink);
  background:
    radial-gradient(circle at 18% 18%,rgba(35,100,255,.10),transparent 28%),
    radial-gradient(circle at 84% 18%,rgba(26,167,200,.12),transparent 30%),
    radial-gradient(circle at 70% 84%,rgba(22,160,109,.10),transparent 30%),
    linear-gradient(180deg,#fff 0%,var(--rc-auth-bg) 45%,#eef2f7 100%)!important;
}
body:has(#registerForm)::before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.36;z-index:0;
  background-image:linear-gradient(rgba(35,100,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(35,100,255,.045) 1px,transparent 1px);
  background-size:38px 38px;
}
body:has(#registerForm)::after{
  content:"";position:fixed;inset:auto 10% 8% auto;width:300px;height:300px;border-radius:999px;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(22,160,109,.12),transparent 64%);filter:blur(2px);
}
body:has(#registerForm) section{position:relative;min-height:100vh!important;background:transparent!important;overflow:hidden;}
body:has(#registerForm) section::before{
  content:"RaccoonCloud";
  position:absolute;left:34px;top:30px;z-index:1;color:var(--rc-auth-ink);font-size:18px;font-weight:900;letter-spacing:-.045em;
  padding-left:42px;line-height:32px;
}
body:has(#registerForm) section::after{
  content:"RC";position:absolute;left:34px;top:30px;z-index:1;width:32px;height:32px;border-radius:11px;
  display:grid;place-items:center;background:linear-gradient(135deg,var(--rc-auth-blue),var(--rc-auth-cyan));color:#fff;font-size:12px;font-weight:950;box-shadow:0 12px 30px rgba(35,100,255,.20);
}
body:has(#registerForm) .container{position:relative;z-index:1;max-width:1120px!important;}
body:has(#registerForm) .row.align-items-center.justify-content-center.min-vh-100{min-height:100vh!important;}
body:has(#registerForm) .col-md-7.col-lg-6.col-xl-5{flex:0 0 470px!important;max-width:470px!important;margin-left:auto!important;}
body:has(#registerForm) .card.semi-transparent-white-bg{
  position:relative;border:1px solid rgba(17,24,39,.095)!important;border-radius:30px!important;background:rgba(255,255,255,.82)!important;
  box-shadow:0 28px 80px rgba(27,76,160,.14),0 2px 10px rgba(15,23,42,.035),inset 0 1px 0 rgba(255,255,255,.78)!important;
  backdrop-filter:blur(20px) saturate(1.12);-webkit-backdrop-filter:blur(20px) saturate(1.12);overflow:hidden!important;
}
body:has(#registerForm) .card.semi-transparent-white-bg::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--rc-auth-blue),var(--rc-auth-cyan),var(--rc-auth-green));opacity:.88;}
body:has(#registerForm) .card.semi-transparent-white-bg::after{content:"";position:absolute;inset:auto -70px -90px auto;width:210px;height:210px;border-radius:999px;background:radial-gradient(circle,rgba(35,100,255,.10),transparent 66%);pointer-events:none;}
body:has(#registerForm) .card.semi-transparent-white-bg>.p-1.bg-info{display:none!important;}
body:has(#registerForm) .card-body{position:relative;z-index:2;padding:42px 42px 28px!important;}
body:has(#registerForm) .card-body .mb-3.container{padding:0!important;margin-bottom:24px!important;}
body:has(#registerForm) h1.text-primary{margin:0!important;color:var(--rc-auth-ink)!important;font-size:33px!important;line-height:1.05!important;font-weight:900!important;letter-spacing:-.06em;}
body:has(#registerForm) h1.text-primary::after{content:"安全进入 RaccoonCloud 客户中心";display:block;margin-top:10px;color:var(--rc-auth-muted);font-size:13px;font-weight:760;letter-spacing:0;line-height:1.6;}
body:has(#registerForm) form[action*="/register"] h1.text-primary::after{content:"创建 RaccoonCloud 客户中心账号";}
body:has(#registerForm) form[action*="/pwreset"] h1.text-primary::after{content:"验证邮箱并重设账户密码";}
body:has(#registerForm) .form-group{margin-bottom:16px!important;}
body:has(#registerForm) .form-control-label{margin-bottom:8px!important;color:#344054!important;font-size:13px!important;font-weight:820!important;}
body:has(#registerForm) .input-group{min-height:48px;border:1px solid var(--rc-auth-line)!important;border-radius:17px!important;background:rgba(255,255,255,.72)!important;box-shadow:0 10px 28px rgba(15,23,42,.035)!important;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;}
body:has(#registerForm) .input-group:focus-within{border-color:rgba(35,100,255,.38)!important;box-shadow:0 0 0 4px rgba(35,100,255,.10),0 15px 38px rgba(35,100,255,.08)!important;background:#fff!important;}
body:has(#registerForm) .input-group-text{width:48px;min-height:48px;border:0!important;border-radius:0!important;background:transparent!important;color:var(--rc-auth-blue)!important;display:grid;place-items:center;padding:0!important;}
body:has(#registerForm) .input-group-text svg{width:18px;height:18px;stroke-width:2.15;}
body:has(#registerForm) .form-control{height:48px!important;min-height:48px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--rc-auth-ink)!important;font-size:14px!important;font-weight:650!important;box-shadow:none!important;padding-left:0!important;}
body:has(#registerForm) .form-control::placeholder{color:#98a2b3!important;font-weight:560!important;}
body:has(#registerForm) .input-group-append .btn,
body:has(#registerForm) button[onclick*="email_send"]{height:48px!important;border:0!important;border-left:1px solid rgba(17,24,39,.08)!important;border-radius:0!important;background:rgba(35,100,255,.08)!important;color:#1559d5!important;font-size:12px!important;font-weight:850!important;padding:0 14px!important;box-shadow:none!important;}
body:has(#registerForm) .custom-control{margin-top:4px!important;}
body:has(#registerForm) .custom-control-label{font-size:12px!important;color:var(--rc-auth-muted)!important;font-weight:650!important;line-height:1.6;}
body:has(#registerForm) .custom-control-label a,
body:has(#registerForm) #registerForm a{color:var(--rc-auth-green-deep)!important;font-weight:850!important;text-decoration:none!important;}
body:has(#registerForm) #registerBtn{height:50px!important;border:0!important;border-radius:17px!important;background:linear-gradient(135deg,#153a7a 0%,#2364ff 52%,#1aa7c8 100%)!important;box-shadow:0 20px 48px rgba(35,100,255,.24)!important;color:#fff!important;font-size:15px!important;font-weight:900!important;letter-spacing:.02em;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;}
body:has(#registerForm) #registerBtn:hover{transform:translateY(-2px);box-shadow:0 24px 58px rgba(35,100,255,.28)!important;filter:saturate(1.04);}
body:has(#registerForm) #registerBtn:active{transform:translateY(0);}
body:has(#registerForm) .card>.mb-1.d-flex.justify-content-center{position:relative;z-index:2;margin:0 42px 20px!important;}
body:has(#registerForm) .card>.mb-1.d-flex.justify-content-center a{min-height:32px;padding:0 14px;border:1px solid rgba(22,160,109,.14);border-radius:999px;display:inline-flex;align-items:center;gap:8px;background:rgba(22,160,109,.065);color:var(--rc-auth-green-deep)!important;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;text-decoration:none!important;}
body:has(#registerForm) .card>.mb-1.d-flex.justify-content-center a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rc-auth-green);box-shadow:0 0 0 5px rgba(22,160,109,.12);}
@media (min-width:992px){
  body:has(#registerForm) .row.align-items-center.justify-content-center.min-vh-100::before{content:"RaccoonCloud";position:absolute;right:calc(50% + 248px);top:50%;transform:translateY(-50%);width:330px;color:var(--rc-auth-ink);font-size:54px;line-height:.96;font-weight:930;letter-spacing:-.075em;}
  body:has(#registerForm) .row.align-items-center.justify-content-center.min-vh-100::after{content:"服务好每一个用户是我们的核心经营导向，真诚是我们的核心文化价值，合作共赢是我们对合作伙伴的真挚宣言！";position:absolute;right:calc(50% + 252px);top:calc(50% + 92px);width:390px;color:var(--rc-auth-muted);font-size:14px;line-height:1.75;font-weight:700;}
}
@media (max-width:991.98px){
  body:has(#registerForm) section::before,body:has(#registerForm) section::after{display:none;}
  body:has(#registerForm) .container{padding-left:18px!important;padding-right:18px!important;}
  body:has(#registerForm) .col-md-7.col-lg-6.col-xl-5{flex:0 0 100%!important;max-width:440px!important;margin:0 auto!important;}
  body:has(#registerForm) .card-body{padding:34px 26px 26px!important;}
  body:has(#registerForm) h1.text-primary{font-size:30px!important;}
}
@media (prefers-reduced-motion:reduce){body:has(#registerForm) *,body:has(#registerForm) *::before,body:has(#registerForm) *::after{transition:none!important;animation:none!important;}}

/* RaccoonCloud auth pages grid background v1.4 - match web home */
body:has(#loginForm),
body:has(#registerForm){
  background:
    radial-gradient(circle at 11% 10%, rgba(35,100,255,.13), transparent 28rem),
    radial-gradient(circle at 82% 6%, rgba(26,167,200,.14), transparent 24rem),
    radial-gradient(circle at 78% 88%, rgba(117,87,246,.10), transparent 30rem),
    linear-gradient(180deg,#fff 0%,#f5f7fb 42%,#eef2f7 100%)!important;
}
body:has(#loginForm)::before,
body:has(#registerForm)::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:-2!important;
  opacity:.38!important;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.20'/%3E%3C/svg%3E")!important;
}
body:has(#loginForm)::after,
body:has(#registerForm)::after{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:-3!important;
  opacity:1!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  filter:none!important;
  background:linear-gradient(90deg,rgba(17,24,39,.045) 1px,transparent 1px),linear-gradient(rgba(17,24,39,.04) 1px,transparent 1px)!important;
  background-size:64px 64px!important;
  mask-image:linear-gradient(to bottom,transparent,black 12%,black 80%,transparent)!important;
  -webkit-mask-image:linear-gradient(to bottom,transparent,black 12%,black 80%,transparent)!important;
}
body:has(#loginForm) section,
body:has(#registerForm) section{
  background:transparent!important;
}

/* RaccoonCloud auth grid visibility fix v1.5 */
body:has(#loginForm)::before,
body:has(#registerForm)::before{
  z-index:0!important;
  opacity:.30!important;
}
body:has(#loginForm)::after,
body:has(#registerForm)::after{
  z-index:0!important;
  opacity:.95!important;
}
body:has(#loginForm) section,
body:has(#registerForm) section,
body:has(#loginForm) .container,
body:has(#registerForm) .container,
body:has(#loginForm) .row.align-items-center.justify-content-center.min-vh-100,
body:has(#registerForm) .row.align-items-center.justify-content-center.min-vh-100,
body:has(#loginForm) .col-md-7.col-lg-6.col-xl-5,
body:has(#registerForm) .col-md-7.col-lg-6.col-xl-5{
  position:relative!important;
  z-index:1!important;
}

