/* Barber Hub 1.8 — estrutura funcional de assinaturas e benefícios.
   Mantém a direção visual existente; esta camada cuida principalmente de
   hierarquia, estados de plano e adaptação desktop/mobile. */

.panel-plan-overview{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);
  gap:22px;
  align-items:stretch;
  margin:18px 0 22px;
  padding:24px;
  border:1px solid var(--gold-border);
  border-radius:var(--radius);
  background:linear-gradient(135deg,var(--gold-soft),var(--surface));
  box-shadow:var(--shadow-soft);
}
.panel-plan-copy h3{font-size:clamp(1.35rem,2vw,1.85rem);margin:10px 0 6px}
.panel-plan-copy p{color:var(--muted);max-width:760px}
.panel-plan-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.panel-plan-features span,.plan-current-benefits span{
  display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;
  border:1px solid var(--border);background:var(--surface-soft);font-size:.82rem;color:var(--text)
}
.panel-plan-features i,.plan-current-benefits i{color:var(--gold-2)}
.panel-plan-usage{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}
.panel-plan-usage>div{padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}
.panel-plan-usage span{display:block;color:var(--muted);font-size:.78rem}
.panel-plan-usage strong{display:block;margin-top:4px;font-size:1.1rem}
.panel-plan-usage .btn{grid-column:1/-1}

.side-menu [data-plan-feature].plan-locked{opacity:.62;position:relative}
.side-menu [data-plan-feature].plan-locked:hover{opacity:.82}
.plan-lock-icon{margin-left:auto!important;font-size:.78rem!important;color:var(--gold-2)}

.client-summary{color:var(--muted);font-size:.9rem}
.client-roster{display:grid;gap:10px}
.client-row-card{
  display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1fr);gap:18px;align-items:center;
  padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)
}
.client-row-main{display:flex;align-items:center;gap:12px;min-width:0}
.client-row-main>div:last-child{min-width:0}
.client-row-main strong,.client-row-main span{display:block;overflow-wrap:anywhere}
.client-row-main span{color:var(--muted);font-size:.82rem;margin-top:3px}
.client-row-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.client-row-metrics span{padding:9px;border-radius:12px;background:var(--surface);border:1px solid var(--border);font-size:.72rem;color:var(--muted);min-width:0}
.client-row-metrics b{display:block;color:var(--text);font-size:.86rem;overflow-wrap:anywhere}
.input-compact{max-width:300px}

.promotion-manager-list{display:grid;gap:12px}
.promotion-manage-card{
  display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px;border:1px solid var(--border);
  border-radius:18px;background:var(--surface-soft)
}
.promotion-manage-card.inactive{opacity:.68}
.promotion-manage-card strong{display:block;margin:8px 0 5px}
.promotion-manage-card p{color:var(--muted);margin:0 0 7px;overflow-wrap:anywhere}
.promotion-manage-card small{color:var(--muted-2)}
.report-plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 18px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}
.report-plan-toolbar>span{font-weight:800}
.report-advanced{margin-top:18px}

.plan-current-benefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;max-width:780px}

.admin-subscriptions-hero .admin-health-card{align-self:stretch}
.subscription-workspace{display:grid;grid-template-columns:minmax(0,.85fr) minmax(340px,1.15fr);gap:22px;margin:28px 0}
.subscription-plan-stack{display:grid;gap:10px}
.subscription-plan-mini{padding:15px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}
.subscription-plan-mini.recommended{border-color:var(--gold-border);background:linear-gradient(135deg,var(--gold-soft),var(--surface-soft))}
.subscription-plan-mini>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}
.subscription-plan-mini>div:first-child span{font-weight:800}.subscription-plan-mini>div:first-child strong{color:var(--gold-2)}
.subscription-plan-mini small{display:block;color:var(--muted);margin-top:3px}
.subscription-plan-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.subscription-plan-chips span{font-size:.7rem;padding:6px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}
.subscription-impact{display:flex;gap:12px;align-items:flex-start;margin:16px 0;padding:14px;border-radius:16px;border:1px solid var(--gold-border);background:var(--gold-soft)}
.subscription-impact i{font-size:1.25rem;color:var(--gold-2)}
.subscription-impact p{margin:0;color:var(--muted)}
.subscription-list-section{margin-top:10px}
.subscription-plan-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-weight:800;font-size:.78rem;border:1px solid var(--border);background:var(--surface-soft)}
.subscription-plan-badge.plan-essencial{border-color:var(--gold-border);color:var(--gold-2)}
.subscription-plan-badge.plan-profissional{border-color:rgba(52,152,219,.3)}
.subscription-plan-badge.plan-elite{border-color:rgba(212,175,55,.5);box-shadow:inset 0 0 0 1px rgba(212,175,55,.12)}

@media(max-width:900px){
  .panel-plan-overview{grid-template-columns:1fr;padding:18px;margin:14px 0 18px}
  .panel-plan-usage{grid-template-columns:1fr 1fr}
  .panel-plan-features{display:grid;grid-template-columns:1fr 1fr}
  .panel-plan-features span{border-radius:14px;min-width:0;overflow-wrap:anywhere}
  .client-row-card{grid-template-columns:1fr;padding:14px}
  .client-row-metrics{grid-template-columns:1fr 1fr 1fr}
  .promotion-manage-card{align-items:stretch}
  .subscription-workspace{grid-template-columns:1fr}
  .page-admin-subscriptions .admin-tools{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .page-admin-subscriptions .admin-tools input{grid-column:1/-1;max-width:none}
}

@media(max-width:560px){
  .panel-plan-features{grid-template-columns:1fr}
  .panel-plan-usage{grid-template-columns:1fr 1fr}
  .client-row-metrics{grid-template-columns:1fr}
  .promotion-manage-card{display:grid;grid-template-columns:1fr}
  .promotion-manage-card .item-actions{justify-content:flex-end}
  .report-plan-toolbar{align-items:flex-start;flex-direction:column}
  .report-plan-toolbar .btn{width:100%}
  .page-admin-subscriptions .admin-tools{grid-template-columns:1fr}
  .page-admin-subscriptions .admin-tools input{grid-column:auto}
  .subscription-plan-mini>div:first-child{align-items:flex-start;flex-direction:column}
}

.subscription-effective-note {
  display: block;
  margin-top: .35rem;
  font-size: .72rem;
  color: var(--text-muted, #8f8f8f);
}

/* ===== Conta 1.8 — hub interativo para cliente/profissional/admin ===== */
.page-conta .account-hub-container{width:min(100% - 40px,1120px);margin-inline:auto}
.page-conta .account-hub-layout{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);gap:20px;align-items:start}
.page-conta .account-hub-sidebar{position:sticky;top:100px;padding:20px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-soft)}
.page-conta .account-hub-profile{display:grid;grid-template-columns:66px minmax(0,1fr);gap:13px;align-items:center}
.page-conta .account-hub-profile>div:last-child{min-width:0}
.page-conta .account-hub-profile span{display:block;color:var(--gold-2);font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.page-conta .account-hub-profile strong{display:block;margin-top:3px;font-size:1.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-conta .account-hub-profile small{display:block;margin-top:3px;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-conta .account-hub-avatar,.page-conta .account-hub-avatar-fallback{width:66px;height:66px;border-radius:20px;object-fit:cover;border:1px solid var(--gold-border);background:linear-gradient(145deg,var(--gold-2),var(--gold));color:#161109;display:grid;place-items:center;font-size:1.45rem;font-weight:950}
.page-conta .profile-photo-edit{display:flex;align-items:center;gap:10px;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--border)}
.page-conta .profile-photo-edit>img{display:none!important}
.page-conta .profile-photo-edit>div{width:100%}
.page-conta .profile-photo-edit .btn{width:100%;justify-content:center}
.page-conta .profile-photo-edit p{margin-top:7px;text-align:center;color:var(--muted);font-size:.68rem}
.page-conta .account-hub-menu{display:grid;gap:7px;margin-top:16px}
.page-conta .account-hub-menu button{min-height:48px;padding:0 13px;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--muted);font-weight:800;transition:.16s ease}
.page-conta .account-hub-menu button i{width:24px;color:var(--muted)}
.page-conta .account-hub-menu button:hover,.page-conta .account-hub-menu button.ativo{border-color:var(--gold-border);background:var(--gold-soft);color:var(--text)}
.page-conta .account-hub-menu button.ativo i{color:var(--gold-2)}
.page-conta .account-hub-links{display:grid;grid-template-columns:1fr;gap:7px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.page-conta .account-hub-links a{min-height:44px;padding:0 12px;display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft);color:var(--muted);font-size:.76rem;font-weight:800}
.page-conta .account-hub-links a:hover{border-color:var(--gold-border);color:var(--gold-2)}
.page-conta .account-hub-workspace{min-width:0}
.page-conta .account-hub-panel{display:none;margin:0;animation:bh-account-panel-in .18s ease both}
.page-conta .account-hub-panel.ativo{display:block}
@keyframes bh-account-panel-in{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
.page-conta .account-hub-workspace .form-card,.page-conta .account-hub-workspace .danger-zone{padding:24px;border-radius:24px}
@media(max-width:840px){.page-conta .account-hub-layout{grid-template-columns:1fr}.page-conta .account-hub-sidebar{position:static}}

/* ===== Auditoria de espaçamento — Sobre (desktop + mobile) ===== */
.page-sobre .about-purpose .about-split{gap:48px;align-items:start}
.page-sobre .about-purpose .about-sticky-copy{padding:28px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface-soft) 72%,transparent));box-shadow:var(--shadow-soft)}
.page-sobre .about-purpose .about-sticky-copy .tag{margin-bottom:10px}
.page-sobre .about-brand-section .brand-relationship{gap:44px}
.page-sobre .about-brand-section .brand-tree{min-height:360px}
.page-sobre .about-final-section{padding-top:48px}
@media(max-width:920px){
  .page-sobre .about-purpose .about-split{gap:18px}
  .page-sobre .about-purpose .about-sticky-copy{position:static;padding:22px}
  .page-sobre .about-brand-section .brand-tree{min-height:0}
}
