:root{
  --bg:#f6f1e8;
  --card:#fffdfa;
  --text:#111;
  --muted:#5f5a53;
  --gold:#9b7d48;
  --line:rgba(17,17,17,.10);
}

*{box-sizing:border-box}

body{
  margin:0;
  min-height:100vh;
  font-family:Inter,system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 0%, rgba(184,154,98,.14), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(17,17,17,.045), transparent 24%),
    linear-gradient(180deg,#f8f4ec 0%,#f4eee4 100%);
}

a{color:inherit;text-decoration:none}

.account-header{
  width:min(1180px,calc(100% - 32px));
  margin:18px auto 0;
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,253,250,.92);
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-shadow:0 10px 30px rgba(0,0,0,.04);
}

.logo-link img{
  height:48px;
  width:auto;
  display:block;
}

.top-button{
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
}

.account-shell{
  width:min(1180px,calc(100% - 32px));
  margin:28px auto 0;
}

.account-card,
.dashboard-card{
  min-height:680px;
  padding:64px;
  border-radius:32px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,253,250,.88),rgba(250,246,239,.96));
  box-shadow:0 24px 60px rgba(0,0,0,.08);
  position:relative;
  overflow:hidden;
}

.account-card{
  display:grid;
  grid-template-columns:1fr 430px;
  gap:56px;
  align-items:center;
}

.account-card::after,
.dashboard-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-10px;
  height:210px;
  background:url("/assets/images/ink-bg_1.png") center bottom / 100% auto no-repeat;
  opacity:.08;
  mix-blend-mode:multiply;
  pointer-events:none;
}

.account-copy,
.form-card,
.dashboard-card > *{
  position:relative;
  z-index:2;
}

.eyebrow{
  margin:0 0 18px;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
  font-weight:900;
}

h1{
  margin:0;
  max-width:680px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(48px,6vw,86px);
  line-height:.9;
  letter-spacing:-.055em;
}

.account-copy p:not(.eyebrow),
.dashboard-intro{
  margin:24px 0 0;
  max-width:620px;
  color:var(--muted);
  font-size:19px;
  line-height:1.75;
}

.form-card{
  padding:30px;
  border-radius:28px;
  border:1px solid var(--line);
  background:rgba(255,253,250,.95);
  box-shadow:0 18px 40px rgba(0,0,0,.07);
}

.form-card h2{
  margin:0 0 22px;
  font-family:"Playfair Display",Georgia,serif;
  font-size:38px;
  line-height:1;
  letter-spacing:-.04em;
}

label{
  display:block;
  margin-top:16px;
}

label span{
  display:block;
  margin-bottom:8px;
  font-size:14px;
  font-weight:800;
  color:#4e4942;
}

input{
  width:100%;
  height:52px;
  padding:0 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  font:inherit;
  outline:none;
}

input:focus{
  border-color:#b89a62;
  box-shadow:0 0 0 4px rgba(184,154,98,.14);
}

button{
  width:100%;
  height:54px;
  margin-top:22px;
  border:0;
  border-radius:999px;
  background:#111;
  color:#fff;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.switch{
  margin:18px 0 0;
  text-align:center;
  color:var(--muted);
}

.switch a{
  color:#111;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}

.form-error{
  padding:14px 16px;
  border-radius:16px;
  background:#fff0f0;
  border:1px solid #e7b8b8;
  color:#841d1d;
  font-weight:800;
}

.dashboard-grid{
  margin-top:38px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.dashboard-grid div{
  min-height:150px;
  padding:22px;
  border-radius:22px;
  border:1px solid var(--line);
  background:rgba(255,253,250,.96);
  box-shadow:0 8px 22px rgba(0,0,0,.035);
}

.dashboard-grid strong{
  display:block;
  font-size:20px;
  margin-bottom:10px;
}

.dashboard-grid span{
  display:block;
  color:var(--muted);
  line-height:1.6;
}

@media(max-width:980px){
  .account-card{
    grid-template-columns:1fr;
    padding:44px;
  }

  .dashboard-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:680px){
  .account-header{
    width:calc(100% - 20px);
    border-radius:24px;
  }

  .logo-link img{
    height:40px;
  }

  .top-button{
    min-height:38px;
    padding:0 14px;
    font-size:13px;
  }

  .account-shell{
    width:calc(100% - 20px);
    margin-top:18px;
  }

  .account-card,
  .dashboard-card{
    min-height:auto;
    padding:28px 20px;
    border-radius:24px;
  }

  h1{
    font-size:clamp(42px,14vw,64px);
  }

  .account-copy p:not(.eyebrow),
  .dashboard-intro{
    font-size:17px;
  }

  .form-card{
    padding:22px;
    border-radius:22px;
  }

  .form-card h2{
    font-size:32px;
  }
}
