:root{
  --sooth-primary:#5266c1;
  --sooth-soft:#eef3ff;
  --sooth-ink:#17213e;
  --sooth-muted:#7280aa;
  --sooth-border:#dfe6f5;
}

.sooth-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:18px;
  align-items:stretch;
  max-width:1200px;
  margin:24px auto;
}
.sooth-stat-card{
  text-align:center;
  background:#fff;
  border:1px solid var(--sooth-border);
  border-radius:22px;
  padding:28px 20px;
  box-shadow:0 14px 40px rgba(42,57,108,.08);
}
.sooth-stat-number{
  font-size:44px;
  line-height:1;
  font-weight:750;
  color:var(--sooth-primary);
  letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
}
.sooth-stat-label{
  margin-top:11px;
  font-size:15px;
  font-weight:650;
  color:var(--sooth-ink);
}

.sooth-profile-wrap{
  max-width:920px;
  margin:30px auto;
  font-family:inherit;
  color:var(--sooth-ink);
}
.sooth-auth-card,
.sooth-profile-hero,
.sooth-detail-card,
.sooth-mini-card,
.sooth-preference-card{
  background:rgba(255,255,255,.96);
  border:1px solid var(--sooth-border);
  border-radius:24px;
  box-shadow:0 18px 52px rgba(45,60,112,.10);
}
.sooth-auth-card{
  width:min(100%,520px);
  box-sizing:border-box;
  margin:0 auto;
  padding:38px;
  text-align:left;
}
.sooth-auth-badge{
  width:54px;
  height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  background:linear-gradient(145deg,#33469d,#7285dc);
  color:#fff;
  font-size:30px;
  box-shadow:0 12px 25px rgba(82,102,193,.28);
}
.sooth-kicker{
  margin:0 0 8px !important;
  color:var(--sooth-primary) !important;
  font-size:13px !important;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sooth-auth-card h2,
.sooth-profile-hero h2{
  margin:0 0 10px;
  color:var(--sooth-ink);
  font-size:40px;
  line-height:1.08;
  letter-spacing:-.03em;
}
.sooth-auth-card>p,
.sooth-profile-hero p,
.sooth-muted{
  color:var(--sooth-muted);
  font-size:16px;
  margin:0 0 24px;
}
.sooth-login-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.sooth-login-form label{
  margin:3px 0 0;
  font-size:14px;
  font-weight:650;
  color:var(--sooth-ink);
}
.sooth-login-form input{
  width:100%;
  box-sizing:border-box;
  border:1px solid #e1e7f3;
  background:#f5f7fc;
  color:var(--sooth-ink);
  border-radius:16px;
  padding:16px 17px;
  font:inherit;
  font-size:16px;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.sooth-login-form input:focus{
  border-color:var(--sooth-primary);
  background:#fff;
  box-shadow:0 0 0 4px rgba(82,102,193,.12);
}
.sooth-password-row{
  display:flex;
  align-items:center;
  border-radius:16px;
  background:#f5f7fc;
}
.sooth-password-row input{
  border-radius:16px 0 0 16px;
  background:transparent;
}
.sooth-toggle-password{
  align-self:stretch;
  border:0;
  background:transparent;
  color:var(--sooth-primary);
  padding:0 16px;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.sooth-forgot-password{
  align-self:flex-end;
  border:0;
  background:transparent;
  color:var(--sooth-primary);
  padding:1px 0 7px;
  font:inherit;
  font-size:13px;
  font-weight:650;
  cursor:pointer;
}
.sooth-forgot-password:disabled{opacity:.55;cursor:not-allowed}
.sooth-btn{
  border:0;
  border-radius:16px;
  background:linear-gradient(90deg,#4960b7,#7184d7);
  color:#fff;
  padding:15px 24px;
  font:inherit;
  font-size:16px;
  font-weight:650;
  cursor:pointer;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
  box-shadow:0 10px 24px rgba(82,102,193,.18);
}
.sooth-btn:hover{filter:brightness(.98);transform:translateY(-1px)}
.sooth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.sooth-danger{
  background:#fff;
  color:#c03838;
  border:1px solid #f1c9c9;
  box-shadow:none;
}
.sooth-form-message{
  min-height:20px;
  margin-top:4px;
  font-size:13px;
  font-weight:650;
  color:#42506e;
}
.sooth-form-message.is-error{color:#b42318}
.sooth-form-message.is-success{color:#286a57}
.sooth-auth-divider{
  display:flex;
  align-items:center;
  gap:12px;
  color:#98a2b3;
  font-size:12px;
  font-weight:600;
  margin:20px 0 14px;
}
.sooth-auth-divider:before,
.sooth-auth-divider:after{
  content:"";
  height:1px;
  background:#e7ebf3;
  flex:1;
}
.sooth-google-login{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#fff;
  color:var(--sooth-ink);
  border:1px solid #dfe5f1;
  box-shadow:none;
}
.sooth-google-login:hover{background:#f9fbff;filter:none}
.sooth-google-g{
  width:24px;
  height:24px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #e1e6ef;
  color:#4285f4;
  background:#fff;
  font-weight:800;
}

.sooth-account-alert,
.sooth-notice{
  max-width:880px;
  margin:0 auto 18px;
  padding:16px 18px;
  border-radius:16px;
  background:#fff5ea;
  border:1px solid #f2d2aa;
  color:#7a3f16;
  font-size:14px;
}
.sooth-profile-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:32px;
  margin-bottom:18px;
  background:linear-gradient(135deg,#fff 0%,#f4f7ff 100%);
}
.sooth-profile-hero p:last-child{margin-bottom:0}
.sooth-avatar{
  flex:0 0 auto;
  width:76px;
  height:76px;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#dce7ff,#c8d6ff);
  color:var(--sooth-primary);
  font-size:32px;
  font-weight:800;
  box-shadow:inset 0 0 0 1px rgba(82,102,193,.10);
}
.sooth-dashboard-section{
  margin:0 0 20px;
}
.sooth-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin:0 2px 14px;
}
.sooth-section-heading h3{
  margin:0;
  color:var(--sooth-ink);
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.02em;
}
.sooth-section-heading>p{
  max-width:430px;
  margin:0;
  color:var(--sooth-muted);
  font-size:13px;
  line-height:1.55;
  text-align:right;
}
.sooth-profile-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.sooth-profile-grid--four{grid-template-columns:repeat(4,1fr)}
.sooth-mini-card{padding:22px}
.sooth-mini-card--plan{
  background:linear-gradient(145deg,#5266c1,#7487dc);
  border-color:transparent;
}
.sooth-mini-card--plan span,.sooth-mini-card--plan strong{color:#fff}
.sooth-mini-card--plan span{opacity:.78}
.sooth-mini-card span,
.sooth-detail-list span{
  display:block;
  color:var(--sooth-muted);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.055em;
  margin-bottom:8px;
}
.sooth-mini-card strong{
  color:var(--sooth-ink);
  font-size:28px;
  line-height:1.1;
}
.sooth-preference-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.sooth-preference-card{
  padding:19px 20px;
  box-shadow:0 12px 34px rgba(45,60,112,.07);
}
.sooth-preference-card span{
  display:block;
  margin-bottom:7px;
  color:var(--sooth-muted);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.sooth-preference-card strong{
  display:block;
  color:var(--sooth-ink);
  font-size:16px;
  line-height:1.45;
  font-weight:700;
}
.sooth-detail-card{padding:28px}
.sooth-detail-card h3{
  margin:0 0 18px;
  color:var(--sooth-ink);
  font-size:25px;
  letter-spacing:-.02em;
}
.sooth-detail-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.sooth-detail-list>div{
  min-width:0;
  border-radius:16px;
  background:var(--sooth-soft);
  padding:15px 16px;
}
.sooth-detail-list strong{
  display:block;
  color:var(--sooth-ink);
  font-size:15px;
  font-weight:650;
  word-break:break-word;
}
.sooth-profile-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
.sooth-profile-actions .sooth-form-message{
  flex-basis:100%;
}

@media(max-width:800px){
  .sooth-stats{grid-template-columns:repeat(2,1fr)}
  .sooth-profile-grid--four{grid-template-columns:repeat(2,1fr)}
  .sooth-detail-list{grid-template-columns:1fr}
  .sooth-section-heading{align-items:flex-start;flex-direction:column;gap:6px}
  .sooth-section-heading>p{text-align:left}
  .sooth-auth-card h2,.sooth-profile-hero h2{font-size:30px}
}
@media(max-width:560px){
  .sooth-profile-wrap{margin:18px auto}
  .sooth-auth-card,.sooth-profile-hero,.sooth-detail-card{padding:22px}
  .sooth-profile-hero{align-items:flex-start}
  .sooth-avatar{width:62px;height:62px;border-radius:20px;font-size:26px}
  .sooth-stats{grid-template-columns:1fr}
  .sooth-profile-grid--four,.sooth-preference-grid{grid-template-columns:1fr}
  .sooth-stat-number{font-size:38px}
  .sooth-profile-actions .sooth-btn{width:100%}
}
