body.client-page{min-height:100vh;background:#08060b;color:#fff8f3}.client-shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:22px 0 44px}.client-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:rgba(8,6,11,.72);backdrop-filter:blur(18px);position:sticky;top:14px;z-index:10}.brand-mini{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand-mini div{display:flex;flex-direction:column}.brand-mini small{color:#cfc2cf;text-transform:uppercase;letter-spacing:.2em;font-size:.68rem}.client-top-actions{display:flex;gap:10px}.client-top-actions a{color:#fff;text-decoration:none;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12)}.client-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center;padding:56px 0 30px}.client-hero h1{font-family:var(--display,Georgia,serif);font-size:clamp(42px,6vw,78px);line-height:.94;margin:10px 0 14px}.client-hero p{color:#cfc2cf;max-width:680px;line-height:1.7}.client-login-card,.summary-card,.subscription-buy,.history-section,.cuts-section{border:1px solid rgba(255,255,255,.13);background:linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.028));box-shadow:0 22px 60px rgba(0,0,0,.24),0 0 38px rgba(107,221,255,.06);border-radius:28px}.client-login-card{padding:24px}.client-login-card h2{margin:0 0 6px;font-size:1.8rem}.client-login-card form{display:grid;gap:10px;margin:16px 0 10px}.client-login-card input,.client-login-card button{min-height:48px;border-radius:16px;border:1px solid rgba(255,255,255,.14);padding:0 14px}.client-login-card input{color:#fff;background:rgba(0,0,0,.24)}.client-login-card button,.plan-card button,.section-line-title button{background:linear-gradient(135deg,#d8a45f,#fff0b6);color:#130d17;font-weight:900;border:none;cursor:pointer}.client-dashboard{display:grid;gap:18px}.client-summary{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:14px}.summary-card{padding:18px}.summary-card span{color:#d8a45f;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:800}.summary-card strong{display:block;font-size:1.45rem;margin:8px 0 4px}.summary-card small{color:#cfc2cf}.subscription-buy{display:grid;grid-template-columns:1fr 330px;gap:18px;align-items:center;padding:24px}.subscription-buy h2,.history-section h2,.cuts-section h2{font-family:var(--display,Georgia,serif);font-size:clamp(26px,3.5vw,44px);margin:6px 0 8px}.plan-card{border-radius:22px;border:1px solid rgba(216,164,95,.22);padding:20px;background:rgba(216,164,95,.08)}.plan-card span{color:#d8a45f;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem}.plan-card strong{display:block;font-size:1.4rem;margin:8px 0}.plan-card button{width:100%;min-height:46px;border-radius:999px}.history-section,.cuts-section{padding:22px}.section-line-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-line-title button{min-height:40px;padding:0 14px;border-radius:999px}.history-list,.cuts-timeline{display:grid;gap:10px}.history-item,.cut-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.04)}.history-item strong,.cut-item strong{display:block;margin-bottom:4px}.history-item span,.cut-item span{color:#cfc2cf}.badge-ok,.badge-pending{align-self:start;padding:8px 10px;border-radius:999px;font-size:.78rem;font-weight:800}.badge-ok{color:#baf7d1;background:rgba(86,210,132,.12)}.badge-pending{color:#ffe0a6;background:rgba(216,164,95,.13)}.client-entry{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:20px 0}.client-entry-card{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border:1px solid rgba(107,221,255,.14);border-radius:28px;padding:24px;background:linear-gradient(150deg,rgba(255,255,255,.07),rgba(255,255,255,.025))}.client-entry-card h2{font-family:var(--display,Georgia,serif);font-size:clamp(26px,3vw,42px);margin:6px 0}.owner-link{color:#f4cf8a;text-decoration:none;border:1px solid rgba(216,164,95,.25);border-radius:999px;padding:10px 14px;font-weight:800}.owner-back-site{position:fixed;right:18px;top:18px;z-index:9999;color:#fff;text-decoration:none;padding:10px 14px;border-radius:999px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px)}@media(max-width:900px){.client-hero,.client-summary,.subscription-buy,.client-entry-card{grid-template-columns:1fr}}@media(max-width:620px){.client-top{flex-direction:column;align-items:flex-start}.client-top-actions{width:100%}.client-top-actions a{flex:1;text-align:center}.history-item,.cut-item{grid-template-columns:1fr}}

/* Assinatura no site público */
.site-subscription-section{
  width:min(1180px,calc(100% - 36px));
  margin:20px auto;
}
.site-subscription-card{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:22px;
  align-items:center;
  padding:clamp(24px,4vw,42px);
  border-radius:32px;
  border:1px solid rgba(216,164,95,.22);
  background:
    radial-gradient(circle at 8% 12%, rgba(216,164,95,.16), transparent 24%),
    radial-gradient(circle at 92% 82%, rgba(107,221,255,.12), transparent 26%),
    linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.028));
  box-shadow:0 28px 80px rgba(0,0,0,.28), 0 0 44px rgba(216,164,95,.08);
}
.site-subscription-copy h2{
  font-family:var(--display,Georgia,serif);
  font-size:clamp(32px,4.4vw,60px);
  line-height:1;
  margin:8px 0 12px;
}
.site-subscription-copy p{
  color:#cfc2cf;
  max-width:700px;
  line-height:1.7;
}
.site-plan-highlights{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.site-plan-highlights span{
  padding:9px 13px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:#fff;
}
.site-plan-box{
  padding:24px;
  border-radius:26px;
  border:1px solid rgba(216,164,95,.28);
  background:rgba(216,164,95,.08);
  box-shadow:0 0 38px rgba(216,164,95,.09);
}
.site-plan-box span{
  color:#d8a45f;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  font-weight:900;
}
.site-plan-box strong{
  display:block;
  font-size:clamp(28px,3vw,42px);
  margin:10px 0 4px;
}
.site-plan-box small{
  display:block;
  color:#cfc2cf;
  margin-bottom:18px;
}
@media(max-width:900px){
  .site-subscription-card{
    grid-template-columns:1fr;
  }
}


/* Área do cliente mais clara: primeiro só login */
.client-login-only{
  grid-template-columns:1fr !important;
  min-height:calc(100vh - 150px);
  place-items:center;
  padding:42px 0 28px !important;
}
.client-login-only .client-login-card{
  width:min(520px,100%);
  text-align:left;
  padding:clamp(24px,4vw,38px);
  border-color:rgba(216,164,95,.22);
  box-shadow:0 34px 90px rgba(0,0,0,.34), 0 0 46px rgba(216,164,95,.10);
}
.client-login-only .client-login-card h1{
  font-family:var(--display, Georgia, serif);
  font-size:clamp(38px,6vw,64px);
  line-height:.96;
  margin:8px 0 12px;
}
.client-private-title{
  padding:10px 0 4px;
}
.client-private-title h1{
  font-family:var(--display, Georgia, serif);
  font-size:clamp(36px,5vw,64px);
  line-height:1;
  margin:8px 0 10px;
}
.client-private-title p{
  color:#cfc2cf;
  max-width:720px;
  line-height:1.7;
}


/* CORREÇÃO CRÍTICA: área reservada não aparece antes do PIN */
[hidden],
*[hidden],
.client-dashboard[hidden],
.client-private-area[hidden],
#clientDashboard[hidden],
#clientLoginArea[hidden]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.client-private-area:not([hidden]){
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
}

#clientLoginArea:not([hidden]){
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Enquanto não logar, nenhuma informação reservada fica visível */
body:not(.cliente-logado) #clientDashboard{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.cliente-logado #clientLoginArea{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.cliente-logado #clientDashboard{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
}


/* Letras menores e área do cliente mais elegante */
.client-page{
  font-size:14px;
}
.client-login-only .client-login-card h1,
.client-private-title h1,
.client-hero h1{
  font-size:clamp(30px,4.6vw,48px)!important;
  letter-spacing:-.03em;
}
.client-login-card h2,
.subscription-buy h2,
.history-section h2,
.cuts-section h2{
  font-size:clamp(22px,2.8vw,34px)!important;
}
.client-login-card p,
.client-hero p,
.client-private-title p,
.subscription-buy p,
.plan-card p{
  font-size:.94rem!important;
}
.summary-card strong{
  font-size:1.18rem!important;
}
.summary-card span,
.plan-card span{
  font-size:.62rem!important;
}
.client-login-card input,
.client-login-card button,
.plan-buy-link{
  min-height:44px!important;
  font-size:.92rem!important;
}
.plan-buy-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  border-radius:999px;
  background:linear-gradient(135deg,#d8a45f,#fff0b6);
  color:#130d17;
  font-weight:900;
  text-decoration:none;
  margin-top:12px;
}
.client-login-only{
  min-height:calc(100vh - 180px)!important;
}
.client-login-only .client-login-card{
  width:min(460px,100%)!important;
}


/* Ajuste final: letras menores para cliente/assinatura */
.client-page,
.purchase-page{
  font-size:12.8px !important;
}
.client-login-only .client-login-card h1,
.client-private-title h1,
.client-hero h1,
.purchase-copy h1{
  font-size:clamp(28px,4vw,44px) !important;
  line-height:1.02 !important;
}
.client-login-card h2,
.subscription-buy h2,
.history-section h2,
.cuts-section h2,
.purchase-form h2{
  font-size:clamp(20px,2.4vw,30px) !important;
}
.client-login-card p,
.client-hero p,
.client-private-title p,
.subscription-buy p,
.plan-card p,
.purchase-copy p,
.purchase-form p{
  font-size:.86rem !important;
  line-height:1.55 !important;
}
.summary-card strong{
  font-size:1.05rem !important;
}
.client-login-card input,
.client-login-card button,
.purchase-form input,
.purchase-form textarea,
.purchase-form button{
  min-height:40px !important;
  font-size:.84rem !important;
}
.client-login-only .client-login-card{
  width:min(420px,100%) !important;
  padding:24px !important;
}
.purchase-hero{
  padding-top:32px !important;
}
