/*
 * Barber Hub — estilos das páginas internas
 * Agrupa portal, estabelecimento, autenticação, painéis, planos,
 * página Sobre, avaliações e ajustes responsivos específicos.
 */
.page-hero {
  padding:82px 0 50px;
  background:radial-gradient(circle at 10% 0,var(--gold-soft),transparent 36%),linear-gradient(180deg,var(--bg-2),var(--bg));
  border-bottom:1px solid var(--border)
}

.page-hero .breadcrumb {
  color:var(--muted);
  font-weight:700;
  margin-bottom:17px;
  font-size:.88rem
}

.page-hero h1 {
  font-size:clamp(2.5rem,5vw,4.2rem);
  line-height:1.03;
  max-width:920px;
  margin-top:14px
}

.page-hero p {
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.75;
  max-width:790px;
  margin-top:15px
}

.filters {
  display:grid;
  grid-template-columns:1.35fr .75fr .75fr .8fr;
  gap:13px;
  margin-bottom:26px
}

.portal-summary {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:13px;
  margin-bottom:28px
}

.summary-item {
  padding:18px;
  border-radius:20px;
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:var(--shadow-soft)
}

.summary-item strong {
  display:block;
  font-size:1.7rem;
  color:var(--gold-2)
}

.summary-item span {
  display:block;
  color:var(--muted);
  font-size:.75rem;
  font-weight:750;
  margin-top:5px;
  text-transform:uppercase;
  letter-spacing:.3px
}

.barbearia-card {
  position:relative;
  overflow:hidden
}

.barbearia-cover {
  height:170px;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  border-bottom:1px solid var(--border)
}

.barbearia-info {
  padding:23px
}

.barbearia-info h3 {
  font-size:1.4rem;
  margin:12px 0 8px
}

.barbearia-info p {
  color:var(--muted);
  line-height:1.65
}

.card-meta {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin:14px 0
}

.card-actions {
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:18px
}

.rating {
  color:var(--gold-2);
  font-weight:900
}

.business-hero {
  position:relative;
  background-image:linear-gradient(90deg,color-mix(in srgb,var(--bg) 94%,transparent),color-mix(in srgb,var(--bg) 70%,transparent)),var(--business-cover);
  background-size:cover;
  background-position:center
}

.business-hero::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent,var(--bg));
  pointer-events:none
}

.business-hero .container {
  position:relative;
  z-index:1
}

.detail-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:26px;
  align-items:start
}

.detail-grid>* {
  min-width:0
}

.detail-grid .card,.detail-grid .card-body {
  color:var(--text)
}

.detail-grid h2,.detail-grid h3,.detail-grid h4 {
  color:var(--text)
}

.detail-panel {
  position:sticky;
  top:104px
}

/* Informações públicas: contraste e leitura no tema escuro/claro. */
.detail-panel .card-body>h2,
.detail-panel .card-body>h3 {
  color:var(--text)
}

.detail-panel .card-body>p {
  color:var(--muted);
  line-height:1.65;
  overflow-wrap:anywhere
}

.detail-panel .card-body>p strong {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:3px;
  color:var(--text)
}

.detail-panel .card-body>p small {
  color:var(--muted-2)
}

.service-list,.barber-list {
  display:grid;
  gap:12px
}

.simple-item {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:15px;
  border-radius:16px;
  background:var(--surface-soft);
  color:var(--text);
  border:1px solid var(--border)
}

.simple-item>div {
  min-width:0
}

.simple-item strong {
  overflow-wrap:anywhere
}

.simple-item strong,.simple-item span {
  display:block
}

.simple-item span {
  color:var(--muted);
  font-size:.78rem;
  margin-top:3px
}

.price {
  color:var(--gold-2);
  font-size:1.12rem;
  font-weight:900
}

.avatar,.avatar-image {
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:14px
}

.avatar {
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:#111;
  font-weight:900
}

.avatar-image {
  object-fit:cover
}

.hours-list {
  display:grid;
  gap:6px
}

.hours-row {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid var(--border);
  color:var(--muted)
}

.hours-row strong {
  color:var(--text)
}

.promo {
  padding:17px;
  border-radius:16px;
  background:var(--gold-soft);
  border:1px solid var(--gold-border);
  margin-top:12px
}

.promo strong {
  color:var(--gold-2)
}

.auth-wrap {
  min-height:calc(100vh - 84px);
  display:grid;
  place-items:center;
  padding:52px 0;
  background:radial-gradient(circle at top,var(--gold-soft),transparent 38%),var(--bg)
}

.auth-wide {
  align-items:start
}

.auth-card {
  width:min(100% - 28px,530px);
  text-align:left
}

.register-card {
  width:min(100% - 28px,760px)
}

.auth-logo {
  justify-content:center;
  margin-bottom:18px
}

.auth-tag {
  display:flex;
  width:max-content;
  margin:0 auto 12px
}

.auth-card h1 {
  text-align:center;
  font-size:2.2rem
}

.auth-subtitle {
  text-align:center;
  color:var(--muted);
  line-height:1.65;
  margin-top:8px
}

.auth-divider {
  display:flex;
  align-items:center;
  gap:12px;
  margin:20px 0;
  color:var(--muted)
}

.auth-divider::before,.auth-divider::after {
  content:"";
  height:1px;
  background:var(--border);
  flex:1
}

.auth-note {
  text-align:center;
  color:var(--muted);
  font-size:.84rem;
  margin-top:16px;
  line-height:1.55
}

.auth-note a {
  color:var(--gold-2);
  font-weight:800
}

.account-type-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:22px 0
}

.account-type {
  display:grid;
  text-align:left;
  gap:6px;
  padding:18px;
  border-radius:18px;
  background:var(--surface-soft);
  border:1px solid var(--border);
  color:var(--text);
  cursor:pointer
}

.account-type i {
  font-size:1.5rem;
  color:var(--gold-2)
}

.account-type span {
  color:var(--muted);
  font-size:.8rem;
  line-height:1.45
}

.account-type.ativo {
  background:var(--gold-soft);
  border-color:var(--gold-border)
}

.confirmation-box {
  text-align:center;
  padding:24px
}

.confirmation-box i {
  font-size:3rem;
  color:var(--green)
}

.confirmation-box h2 {
  margin:12px 0
}

.confirmation-box p {
  color:var(--muted);
  line-height:1.65;
  margin-bottom:18px
}

.onboarding-page {
  padding:58px 0 80px;
  background:radial-gradient(circle at top,var(--gold-soft),transparent 34%),var(--bg)
}

.onboarding-container {
  width:min(100% - 30px,970px)
}

.onboarding-head {
  text-align:center;
  margin-bottom:28px
}

.onboarding-head h1 {
  font-size:clamp(2.2rem,5vw,4rem);
  line-height:1.05;
  margin:15px auto;
  max-width:800px
}

.onboarding-head p {
  color:var(--muted)
}

.stepper {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:20px
}

.stepper>div {
  display:flex;
  align-items:center;
  gap:9px;
  padding:13px;
  border-radius:15px;
  background:var(--surface);
  border:1px solid var(--border);
  color:var(--muted)
}

.stepper span {
  width:28px;
  height:28px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:var(--surface-soft);
  font-weight:900
}

.stepper .ativo,.stepper .concluido {
  border-color:var(--gold-border);
  color:var(--text)
}

.stepper .ativo span,.stepper .concluido span {
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:#111
}

.step-panel {
  display:none
}

.step-panel.ativo {
  display:block
}

.step-panel h2 {
  font-size:1.65rem;
  margin-bottom:5px
}

.onboarding-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:24px
}

.hours-editor {
  display:grid;
  gap:9px;
  margin-top:18px
}

.horario-config {
  display:grid;
  grid-template-columns:190px 1fr auto 1fr;
  gap:10px;
  align-items:center;
  padding:13px;
  border-radius:15px;
  background:var(--surface-soft);
  border:1px solid var(--border)
}

.horario-config.fechado {
  opacity:.62
}

.horario-config input[type="time"] {
  background:var(--surface);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:11px;
  padding:10px
}

.day-toggle {
  display:flex;
  align-items:center;
  gap:9px;
  font-weight:800
}

.day-toggle input {
  accent-color:var(--gold)
}

.switch-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:17px;
  border-radius:17px;
  background:var(--surface-soft);
  border:1px solid var(--border);
  cursor:pointer
}

.switch-card strong,.switch-card small {
  display:block
}

.switch-card small {
  color:var(--muted);
  margin-top:3px
}

.switch-card input {
  width:20px;
  height:20px;
  accent-color:var(--gold)
}

.upload-preview {
  width:100%;
  height:160px;
  object-fit:contain;
  border-radius:15px;
  background:var(--surface-soft);
  border:1px solid var(--border);
  margin-top:8px
}

.upload-preview.cover {
  object-fit:cover
}

.slot-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(82px,1fr));
  gap:9px;
  margin-top:8px
}

.slot {
  padding:11px 9px;
  border-radius:12px;
  background:var(--surface-soft);
  border:1px solid var(--border);
  color:var(--text);
  font-weight:850;
  cursor:pointer
}

.slot:hover,.slot.ativo {
  background:var(--gold-soft);
  border-color:var(--gold-border);
  color:var(--gold-2)
}

.slot.ocupado {
  opacity:.35;
  text-decoration:line-through;
  cursor:not-allowed
}

.side-info {
  gap:18px
}

.pagamento-box {
  padding:20px;
  border-radius:20px;
  background:color-mix(in srgb,var(--blue) 8%,var(--surface));
  border:1px solid color-mix(in srgb,var(--blue) 24%,var(--border));
  color:var(--muted);
  line-height:1.65
}

.pagamento-box strong {
  color:var(--text);
  display:block;
  margin-bottom:6px
}

.dashboard {
  display:grid;
  grid-template-columns:270px 1fr;
  min-height:calc(100vh - 84px)
}

.sidebar {
  background:var(--bg-2);
  border-right:1px solid var(--border);
  padding:22px;
  position:sticky;
  top:84px;
  height:calc(100vh - 84px);
  overflow:auto
}

.sidebar .user-box {
  padding:16px;
  border-radius:18px;
  background:var(--surface);
  border:1px solid var(--border);
  margin-bottom:16px
}

.sidebar .user-box strong,.sidebar .user-box span {
  display:block
}

.sidebar .user-box span {
  color:var(--muted);
  font-size:.78rem;
  margin-top:3px
}

.side-menu {
  display:grid;
  gap:7px
}

.side-menu .btn {
  justify-content:flex-start
}

.painel-content {
  padding:31px;
  min-width:0
}

.panel-section {
  display:none
}

.panel-section.ativo {
  display:block
}

.kpis {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
  margin:22px 0
}

.kpi {
  padding:20px;
  border-radius:20px;
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:var(--shadow-soft)
}

.kpi span {
  color:var(--muted);
  font-size:.75rem;
  font-weight:750
}

.kpi strong {
  display:block;
  font-size:1.75rem;
  color:var(--gold-2);
  margin-top:7px
}

.recommend-card {
  padding:21px;
  border-radius:20px;
  background:linear-gradient(135deg,var(--gold-soft),var(--surface));
  border:1px solid var(--gold-border);
  margin-top:17px
}

.recommend-card h3 {
  color:var(--gold-2);
  margin-bottom:7px
}

.recommend-card p {
  color:var(--muted);
  line-height:1.65
}

.panel-grid {
  margin-top:22px
}

.chart-bars {
  display:grid;
  gap:11px
}

.bar-row {
  display:grid;
  grid-template-columns:130px 1fr 34px;
  align-items:center;
  gap:10px;
  color:var(--muted)
}

.bar-bg {
  height:11px;
  background:var(--surface-soft);
  border-radius:999px;
  overflow:hidden
}

.bar-fill {
  height:100%;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
  border-radius:999px
}

.business-preview {
  position:relative;
  padding:0 24px 24px;
  margin:24px 0;
  border-radius:24px;
  background:var(--surface);
  border:1px solid var(--border);
  overflow:hidden
}

.business-cover-preview {
  width:calc(100% + 48px);
  height:220px;
  object-fit:cover;
  margin:0 -24px 0
}

.business-logo-preview {
  width:100px;
  height:100px;
  object-fit:contain;
  border-radius:24px;
  background:var(--surface);
  border:5px solid var(--surface);
  margin-top:-48px;
  position:relative
}

.business-preview h3 {
  font-size:1.45rem;
  margin-top:10px
}

.business-preview p {
  color:var(--muted)
}

.hours-form {
  margin-top:22px
}

.client-kpis {
  grid-template-columns:repeat(3,1fr)
}

.account-section {
  margin-top:50px
}

.profile-photo-edit {
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:24px;
  padding-bottom:22px;
  border-bottom:1px solid var(--border)
}

.profile-photo-edit img {
  width:100px;
  height:100px;
  border-radius:24px;
  object-fit:cover;
  background:var(--surface-soft);
  border:1px solid var(--border)
}

.profile-photo-edit p {
  color:var(--muted);
  font-size:.8rem;
  margin-top:8px
}

.ticket-list {
  display:grid;
  gap:12px
}

.ticket-card {
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  padding:17px;
  border-radius:17px;
  background:var(--surface);
  border:1px solid var(--border)
}

.ticket-card strong,.ticket-card span {
  display:block
}

.ticket-card span {
  color:var(--muted);
  font-size:.78rem;
  margin-top:4px
}

.ticket-card p {
  grid-column:1/-1;
  color:var(--muted);
  padding-top:12px;
  border-top:1px solid var(--border)
}

.info-list {
  display:grid;
  gap:11px;
  margin-top:18px
}

.info-list span {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted)
}

.info-list i {
  color:var(--gold-2)
}

.admin-section {
  margin-top:52px
}

.admin-section>h2 {
  margin-bottom:18px
}

.ticket-admin .ticket-message {
  color:var(--muted);
  line-height:1.65;
  padding:15px;
  border-radius:15px;
  background:var(--surface-soft)
}

.beauty-mode {
  --gold:#c98ca6;
  --gold-2:#e9adc5;
  --gold-soft:rgba(201,140,166,.14);
  --gold-border:rgba(201,140,166,.3)
}

.beauty-mode.claro {
  --gold:#a85478;
  --gold-2:#bf668c;
  --gold-soft:#fae7ef;
  --gold-border:#ddb3c5
}

.beauty-hero {
  padding:100px 0;
  background:radial-gradient(circle at 20% 20%,var(--gold-soft),transparent 34%),linear-gradient(135deg,var(--bg),var(--bg-2))
}

.beauty-grid {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:48px;
  align-items:center
}

.beauty-hero h1 {
  font-size:clamp(2.8rem,6vw,5rem);
  line-height:1.02;
  margin:18px 0
}

.beauty-hero p {
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.75
}

.beauty-orbit {
  display:grid;
  place-items:center;
  min-height:380px;
  background:radial-gradient(circle,var(--gold-soft),transparent 62%)
}

.beauty-core {
  width:245px;
  height:245px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-align:center;
  background:var(--surface);
  border:1px solid var(--gold-border);
  box-shadow:var(--shadow)
}

.beauty-core i {
  font-size:3.5rem;
  color:var(--gold-2)
}

.beauty-core strong,.beauty-core span {
  display:block
}

.beauty-core strong {
  font-size:1.6rem
}

.beauty-core span {
  color:var(--muted)
}

.not-found {
  min-height:calc(100vh - 84px);
  display:grid;
  place-items:center;
  text-align:center;
  padding:50px 0
}

.not-found-code {
  font-size:clamp(6rem,18vw,13rem);
  font-weight:900;
  line-height:.9;
  color:var(--gold-2);
  opacity:.5
}

.not-found h1 {
  font-size:2.2rem;
  margin:18px 0 8px
}

.not-found p {
  color:var(--muted);
  margin-bottom:20px
}

@media(max-width:980px) {
  .filters,.detail-grid,.beauty-grid {
    grid-template-columns:1fr
  }
  .portal-summary {
    grid-template-columns:1fr 1fr
  }
  .detail-panel {
    position:static
  }
  .dashboard {
    grid-template-columns:1fr
  }
  .sidebar {
    position:static;
    height:auto
  }
  .side-menu {
    grid-template-columns:1fr 1fr
  }
  .painel-content {
    padding:22px
  }
  .kpis {
    grid-template-columns:1fr 1fr
  }
  .stepper {
    grid-template-columns:1fr 1fr
  }
  .account-type-grid {
    grid-template-columns:1fr
  }
  .horario-config {
    grid-template-columns:1fr 1fr
  }
  .horario-config .day-toggle {
    grid-column:1/-1
  }
  .beauty-orbit {
    order:-1;
    min-height:280px
  }
}

@media(max-width:560px) {
  .filters,.portal-summary,.kpis,.client-kpis,.side-menu,.stepper {
    grid-template-columns:1fr
  }
  .card-actions .btn {
    width:100%
  }
  .simple-item {
    align-items:flex-start;
    flex-direction:column
  }
  .bar-row {
    grid-template-columns:90px 1fr 28px
  }
  .horario-config {
    grid-template-columns:1fr
  }
  .horario-config .day-toggle {
    grid-column:auto
  }
  .onboarding-actions {
    flex-direction:column
  }
  .onboarding-actions .btn {
    width:100%
  }
  .profile-photo-edit {
    align-items:flex-start;
    flex-direction:column
  }
  .ticket-card {
    grid-template-columns:1fr
  }
  .ticket-card p {
    grid-column:1
  }
  .beauty-core {
    width:200px;
    height:200px
  }
}

.field-help-row {
  display:flex;
  justify-content:flex-end;
  margin-top:2px;
  font-size:.8rem
}

.field-help-row a {
  color:var(--gold-2);
  font-weight:800
}

.security-card {
  margin-top:20px
}

.security-card h2 {
  margin-top:12px
}

.recovery-note {
  margin:18px 0;
  padding:16px;
  border:1px solid var(--gold-border);
  background:var(--gold-soft);
  border-radius:16px;
  color:var(--muted);
  line-height:1.6
}

body.claro .auth-wrap,body.claro .onboarding-page {
  background:linear-gradient(180deg,#fbfaf7 0%,var(--bg) 46%)
}

body.claro .recommend-card,body.claro .promo {
  background:var(--surface-soft);
  border-color:var(--border)
}

body.claro .feature:hover {
  box-shadow:0 12px 28px rgba(24,24,24,.07)
}

/* ===== Central de notificações ===== */
.notifications-hero::before {
  background-image:url('../img/backgrounds/dashboard-hero.svg')
}

.notification-toolbar {
  gap:18px
}

.notification-filters {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}

.filter-chip {
  border:1px solid var(--border);
  background:var(--surface-soft);
  color:var(--muted);
  padding:9px 13px;
  border-radius:999px;
  font:inherit;
  font-size:.78rem;
  font-weight:800;
  cursor:pointer
}

.filter-chip:hover,.filter-chip.ativo {
  background:var(--gold-soft);
  border-color:var(--gold-border);
  color:var(--gold-2)
}

.notification-summary {
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--muted);
  margin:18px 0
}

.notification-summary strong {
  color:var(--gold-2);
  font-size:1.2rem
}

.notification-list {
  display:grid;
  gap:12px
}

.notification-item {
  display:grid;
  grid-template-columns:52px 1fr;
  gap:15px;
  padding:18px;
  border:1px solid var(--border);
  background:var(--surface);
  border-radius:20px;
  transition:.22s
}

.notification-item.nao-lida {
  border-color:var(--gold-border);
  background:linear-gradient(135deg,var(--gold-soft),var(--surface))
}

.notification-item.lida {
  opacity:.82
}

.notification-icon {
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:var(--gold-soft);
  color:var(--gold-2);
  font-size:1.2rem
}

.notification-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px
}

.notification-head time {
  color:var(--muted-2);
  font-size:.74rem;
  white-space:nowrap
}

.notification-content p {
  color:var(--muted);
  line-height:1.55;
  margin-top:5px
}

.notification-actions {
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:13px
}

.read-label {
  color:var(--muted-2);
  font-size:.78rem;
  font-weight:750
}

/* ===== Gerenciador de portfólio ===== */
.portfolio-limit {
  display:flex;
  align-items:baseline;
  gap:5px;
  padding:13px 16px;
  border:1px solid var(--border);
  background:var(--surface);
  border-radius:16px
}

.portfolio-limit strong {
  font-size:1.55rem;
  color:var(--gold-2)
}

.portfolio-limit span {
  font-size:.75rem;
  color:var(--muted)
}

.portfolio-manager-grid {
  display:grid;
  grid-template-columns:minmax(340px,.9fr) minmax(420px,1.2fr);
  gap:24px;
  align-items:start;
  margin-top:22px
}

.portfolio-form {
  position:sticky;
  top:106px
}

.form-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:20px
}

.form-head p {
  color:var(--muted);
  font-size:.82rem;
  margin-top:4px
}

.field-hint {
  display:block;
  color:var(--muted-2);
  font-size:.72rem;
  margin-top:6px
}

.dependent-check {
  margin-left:20px
}

.portfolio-form-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px
}

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

.portfolio-preview-item {
  position:relative;
  aspect-ratio:1;
  border-radius:16px;
  overflow:hidden;
  background:var(--surface-soft);
  border:1px solid var(--border)
}

.portfolio-preview-item img {
  width:100%;
  height:100%;
  object-fit:cover
}

.portfolio-preview-item>span {
  position:absolute;
  left:7px;
  bottom:7px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:.68rem;
  font-weight:850
}

.portfolio-preview-item .icon-btn {
  position:absolute;
  right:6px;
  top:6px;
  width:32px;
  height:32px
}

.portfolio-existing {
  margin-top:18px
}

.portfolio-existing h4 {
  margin-bottom:4px
}

.portfolio-list-column {
  min-width:0
}

.portfolio-list-toolbar {
  margin-bottom:14px
}

.portfolio-admin-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px
}

.portfolio-admin-card {
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--surface);
  border-radius:21px;
  box-shadow:var(--shadow-soft)
}

.portfolio-admin-cover {
  position:relative;
  aspect-ratio:16/10;
  background:var(--surface-soft)
}

.portfolio-admin-cover img {
  width:100%;
  height:100%;
  object-fit:cover
}

.featured-label {
  position:absolute;
  top:10px;
  left:10px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(10,10,10,.78);
  color:var(--gold-2);
  font-size:.69rem;
  font-weight:900;
  backdrop-filter:blur(8px)
}

.portfolio-admin-body {
  padding:16px
}

.portfolio-admin-body h3 {
  margin:10px 0 5px
}

.portfolio-admin-body>p {
  color:var(--muted);
  font-size:.82rem;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}

.portfolio-card-stats {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  color:var(--muted-2);
  font-size:.72rem;
  margin:13px 0
}

.portfolio-admin-actions {
  display:flex;
  gap:7px;
  border-top:1px solid var(--border);
  padding-top:12px
}

/* ===== Galeria pública ===== */
.portfolio-public-section {
  overflow:visible
}

.portfolio-total {
  color:var(--gold-2)
}

.portfolio-public-filters {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  margin:20px 0
}

.portfolio-public-filters select {
  min-width:0
}

.portfolio-public-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px
}

.portfolio-public-card {
  border:1px solid var(--border);
  border-radius:22px;
  overflow:hidden;
  background:var(--surface);
  box-shadow:var(--shadow-soft)
}

.portfolio-public-media {
  position:relative;
  background:var(--surface-soft)
}

.portfolio-main-photo {
  display:block;
  width:100%;
  aspect-ratio:4/3;
  border:0;
  padding:0;
  background:transparent;
  cursor:zoom-in;
  position:relative
}

.portfolio-main-photo img {
  width:100%;
  height:100%;
  object-fit:cover
}

.portfolio-main-photo>span {
  position:absolute;
  right:10px;
  bottom:10px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(0,0,0,.75);
  color:#fff;
  font-size:.72rem
}

.before-after-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  aspect-ratio:4/3
}

.portfolio-photo-button {
  position:relative;
  border:0;
  padding:0;
  overflow:hidden;
  cursor:zoom-in;
  background:transparent
}

.portfolio-photo-button+ .portfolio-photo-button {
  border-left:2px solid var(--surface)
}

.portfolio-photo-button img {
  width:100%;
  height:100%;
  object-fit:cover
}

.portfolio-photo-button span {
  position:absolute;
  left:8px;
  bottom:8px;
  background:rgba(0,0,0,.72);
  color:#fff;
  padding:5px 8px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900
}

.portfolio-public-body {
  padding:17px
}

.portfolio-public-body h3 {
  margin:10px 0 6px
}

.portfolio-public-body>p {
  color:var(--muted);
  font-size:.84rem;
  line-height:1.5
}

.portfolio-byline {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  color:var(--muted);
  font-size:.75rem;
  margin-top:12px
}

.portfolio-tags {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:10px
}

.portfolio-tags span {
  font-size:.68rem;
  color:var(--gold-2);
  background:var(--gold-soft);
  padding:5px 7px;
  border-radius:999px
}

.portfolio-public-actions {
  display:flex;
  align-items:center;
  gap:8px;
  border-top:1px solid var(--border);
  padding-top:13px;
  margin-top:14px
}

.portfolio-public-actions time {
  margin-left:auto;
  color:var(--muted-2);
  font-size:.7rem
}

.like-button,.report-button {
  height:36px;
  min-width:36px;
  padding:0 10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-soft);
  color:var(--muted);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  cursor:pointer
}

.like-button.curtida {
  color:#ff7971;
  border-color:color-mix(in srgb,var(--red) 35%,transparent);
  background:color-mix(in srgb,var(--red) 10%,transparent)
}

.like-button:disabled {
  cursor:not-allowed;
  opacity:.45
}

.portfolio-public-empty {
  aspect-ratio:4/3;
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:2rem
}

.full-grid {
  grid-column:1/-1
}

.portfolio-lightbox {
  position:fixed;
  inset:0;
  z-index:15000;
  display:none
}

.portfolio-lightbox.ativo {
  display:block
}

.portfolio-lightbox-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(10px)
}

.portfolio-lightbox-dialog {
  position:absolute;
  inset:5%;
  display:grid;
  place-items:center
}

.portfolio-lightbox-dialog>img {
  max-width:100%;
  max-height:84vh;
  border-radius:18px;
  box-shadow:0 28px 80px rgba(0,0,0,.55)
}

.portfolio-lightbox-close {
  position:absolute;
  top:0;
  right:0;
  color:#fff;
  background:rgba(0,0,0,.55)
}

.portfolio-lightbox-nav {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:64px;
  border:0;
  border-radius:15px;
  background:rgba(0,0,0,.58);
  color:#fff;
  font-size:1.4rem;
  cursor:pointer
}

.portfolio-lightbox-nav.anterior {
  left:0
}

.portfolio-lightbox-nav.proxima {
  right:0
}

.portfolio-lightbox-caption {
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:14px;
  color:#fff;
  background:rgba(0,0,0,.62);
  padding:9px 14px;
  border-radius:999px
}

.portfolio-lightbox-caption span {
  color:#ddd;
  font-size:.8rem
}

@media(max-width:1100px) {
  .portfolio-manager-grid {
    grid-template-columns:1fr
  }
  .portfolio-form {
    position:static
  }
  .portfolio-public-filters {
    grid-template-columns:repeat(2,1fr)
  }
}

@media(max-width:700px) {
  .notification-item {
    grid-template-columns:42px 1fr;
    padding:14px
  }
  .notification-icon {
    width:40px;
    height:40px
  }
  .notification-head {
    display:block
  }
  .notification-head time {
    display:block;
    margin-top:3px
  }
  .notification-actions {
    flex-wrap:wrap
  }
  .portfolio-admin-list,.portfolio-public-grid {
    grid-template-columns:1fr
  }
  .portfolio-preview-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .portfolio-form-actions {
    grid-template-columns:1fr
  }
  .portfolio-public-filters {
    grid-template-columns:1fr
  }
  .portfolio-lightbox-dialog {
    inset:3%
  }
  .portfolio-lightbox-nav {
    width:40px;
    height:54px
  }
  .portfolio-lightbox-caption {
    max-width:85%;
    white-space:nowrap;
    overflow:hidden
  }
}

/* Moderação da galeria */
.moderation-actions {
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin-top:16px;
  padding-top:15px;
  border-top:1px solid var(--border)
}

.moderation-card {
  border-color:color-mix(in srgb,var(--orange) 25%,var(--border))
}

.moderation-lock {
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:1;
  color:var(--orange);
  font-size:.75rem;
  font-weight:850;
  line-height:1.35
}

.status.ocultada {
  color:#ffbd66;
  background:color-mix(in srgb,var(--orange) 12%,transparent);
  border-color:color-mix(in srgb,var(--orange) 34%,transparent)
}

@media(max-width:700px) {
  .moderation-actions .btn {
    flex:1
  }
  .moderation-lock {
    flex-basis:100%
  }
}

.portfolio-existing-item .portfolio-media-controls {
  position:absolute;
  left:6px;
  right:6px;
  top:6px;
  display:flex;
  justify-content:center;
  gap:4px
}

.portfolio-existing-item .portfolio-media-controls .icon-btn {
  position:static;
  width:30px;
  height:30px;
  background:rgba(0,0,0,.7);
  color:#fff;
  border-color:rgba(255,255,255,.16)
}

.portfolio-existing-item .portfolio-media-controls .icon-btn[disabled] {
  opacity:.35
}

.portfolio-existing-item .portfolio-media-controls .danger {
  color:#ff938c
}

.no-rating {
  color:var(--muted);
  font-weight:750
}

.rating {
  color:var(--gold-2);
  font-weight:900
}

/* ===== Beauty Hub com background ===== */
.beauty-hero {
  position:relative;
  overflow:hidden;
  background-image: linear-gradient(90deg,color-mix(in srgb,var(--bg) 90%,transparent) 0%,color-mix(in srgb,var(--bg) 82%,transparent) 28%,rgba(24,18,20,.18) 100%), url('../img/backgrounds/beauty-home-bg.png');
  background-size:cover;
  background-position:center;
}

.beauty-hero::after {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 25%,rgba(255,255,255,.16),transparent 28%);
  pointer-events:none
}

.beauty-grid {
  position:relative;
  z-index:1
}

.beauty-orbit {
  background:radial-gradient(circle,rgba(255,255,255,.22),transparent 64%)
}

.beauty-core {
  backdrop-filter:blur(10px);
  background:color-mix(in srgb,var(--surface) 92%,transparent)
}

/* ===== Planos ===== */
.plans-hero {
  position:relative;
  overflow:hidden;
  background: radial-gradient(circle at 15% 0,var(--gold-soft),transparent 34%), radial-gradient(circle at 82% 0,color-mix(in srgb,var(--gold) 14%,transparent),transparent 24%), linear-gradient(180deg,var(--bg-2),var(--bg));
}

.plans-hero::after {
  content:"";
  position:absolute;
  inset:auto -8% -40px auto;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle,var(--gold-soft),transparent 68%);
  opacity:.65;
  pointer-events:none
}

.section-top.compact {
  align-items:end
}

.plan-current {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:30px;
  align-items:stretch;
  min-height:240px;
  padding:clamp(24px,4vw,38px);
  overflow:visible
}

.plan-current>div {
  min-width:0
}

.plan-current>div:first-child {
  display:flex;
  flex-direction:column;
  justify-content:center
}

.plan-current .texto-section {
  max-width:780px
}

.plan-current.is-highlight {
  border-color:var(--gold-border);
  box-shadow:var(--shadow)
}

.plan-current h2 {
  margin-top:12px;
  font-size:clamp(1.7rem,3vw,2.5rem)
}

.plan-current-stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-content:stretch
}

.plan-current-stats .summary-item {
  display:flex;
  min-height:130px;
  flex-direction:column;
  justify-content:center;
  overflow:visible
}

.plan-current-stats .summary-item strong {
  overflow-wrap:anywhere
}

.plan-current-stats .summary-item span {
  line-height:1.35
}

.pricing-section {
  padding-top:18px
}

.billing-toggle {
  display:inline-flex;
  align-items:center;
  padding:5px;
  border-radius:999px;
  background:var(--surface);
  border:1px solid var(--border);
  gap:4px
}

.billing-toggle button {
  border:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-weight:800;
  padding:10px 16px;
  border-radius:999px;
  cursor:pointer
}

.billing-toggle button.ativo {
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:#111
}

.pricing-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:24px
}

.plan-card {
  position:relative;
  display:grid;
  grid-template-rows:auto auto auto auto 1fr auto;
  align-content:start;
  gap:14px;
  min-width:0;
  padding:30px 26px 26px;
  border-radius:24px;
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:var(--shadow-soft)
}

.plan-card.featured {
  border-color:var(--gold-border);
  box-shadow:var(--shadow)
}

.plan-card.muted {
  opacity:.95
}

.plan-ribbon {
  position:absolute;
  top:14px;
  right:14px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--gold-soft);
  color:var(--gold-2);
  font-size:.68rem;
  font-weight:900
}

.plan-eyebrow {
  font-size:.72rem;
  color:var(--muted-2);
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase
}

.plan-card h3 {
  font-size:1.6rem
}

.plan-description {
  color:var(--muted);
  line-height:1.6;
  min-height:0;
  overflow-wrap:anywhere
}

.plan-price {
  display:grid;
  gap:3px;
  padding:16px 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border)
}

.plan-price strong {
  font-size:2.1rem;
  line-height:1;
  color:var(--gold-2)
}

.plan-price span {
  color:var(--muted);
  font-size:.82rem
}

.plan-list {
  display:grid;
  gap:9px;
  color:var(--muted);
  padding:0;
  margin:0;
  list-style:none
}

.plan-list li {
  display:flex;
  gap:9px;
  line-height:1.5
}

.plan-list i {
  color:var(--green);
  margin-top:2px
}

.plans-table-wrap {
  overflow:auto
}

.plans-table {
  min-width:760px
}

.plans-table th,.plans-table td {
  text-align:center
}

.plans-table td:first-child,.plans-table th:first-child {
  text-align:left
}

.founder-box {
  background:radial-gradient(circle at top left,var(--gold-soft),transparent 35%),linear-gradient(135deg,var(--surface),var(--bg-2))
}

.founder-benefits {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px
}

.founder-benefits span {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  border-radius:999px;
  background:var(--surface-soft);
  border:1px solid var(--border);
  color:var(--muted)
}

.founder-benefits i {
  color:var(--green)
}

.faq-grid {
  display:grid;
  gap:12px
}

.faq-item {
  padding:18px 20px;
  border-radius:20px;
  background:var(--surface);
  border:1px solid var(--border)
}

.faq-item summary {
  cursor:pointer;
  font-weight:800;
  list-style:none
}

.faq-item summary::-webkit-details-marker {
  display:none
}

.faq-item p {
  margin-top:12px;
  color:var(--muted);
  line-height:1.65
}

@media(max-width:1100px) {
  .pricing-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .plan-current {
    grid-template-columns:1fr;
    min-height:0
  }
  .plan-current-stats {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}

@media(max-width:700px) {
  .pricing-grid,.plan-current-stats {
    grid-template-columns:1fr
  }
  .plan-current {
    padding:22px;
    border-radius:20px
  }
  .plan-current-stats .summary-item {
    min-height:96px
  }
  .billing-toggle {
    width:100%;
    justify-content:space-between
  }
  .billing-toggle button {
    flex:1
  }
  .plan-description {
    min-height:auto
  }
}

/* ===== Barber Hub 1.3: Sobre, reputação, conta, planos e administração ===== */
.page-hero h1 {
  font-size:clamp(2.7rem,5.6vw,5.2rem);
  line-height:.98;
  letter-spacing:-.045em;
  margin:17px 0
}

.page-hero p {
  max-width:760px;
  color:var(--muted);
  font-size:1.04rem;
  line-height:1.72
}

.breadcrumb {
  margin-bottom:16px;
  color:var(--muted-2);
  font-size:.78rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em
}

/* Sobre */
.about-hero {
  padding:82px 0;
  background:radial-gradient(circle at 12% 18%,var(--gold-soft),transparent 32%),linear-gradient(120deg,var(--bg),var(--bg-2))
}

.about-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:65px;
  align-items:center
}

.about-manifesto {
  min-height:380px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:36px;
  border:1px solid var(--gold-border);
  border-radius:30px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.72)),url('../img/backgrounds/sobre-craft.webp') center/cover;
  box-shadow:var(--shadow)
}

.about-manifesto>span {
  color:var(--gold-2);
  font-weight:900;
  letter-spacing:.16em
}

.about-manifesto blockquote {
  font-size:clamp(1.65rem,3vw,2.65rem);
  font-weight:900;
  line-height:1.12;
  margin:14px 0;
  color:#fff
}

.about-manifesto p {
  color:#ddd;
  font-size:.82rem
}

.about-split {
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(440px,1.18fr);
  gap:75px;
  align-items:start
}

.about-sticky-copy {
  position:sticky;
  top:120px
}

.about-values-list {
  display:grid
}

.about-values-list article {
  display:grid;
  grid-template-columns:70px 1fr;
  gap:20px;
  padding:26px 0;
  border-bottom:1px solid var(--border)
}

.about-values-list article:first-child {
  padding-top:0
}

.about-values-list article>span {
  font-size:1.7rem;
  color:var(--gold-2);
  font-weight:900
}

.about-values-list h3 {
  font-size:1.35rem;
  margin-bottom:7px
}

.about-values-list p {
  color:var(--muted);
  line-height:1.7
}

.about-two-sides {
  background:var(--bg-2)
}

.dual-experience {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}

.experience-panel {
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:420px;
  padding:35px;
  border:1px solid var(--border);
  border-radius:28px;
  overflow:hidden;
  background:var(--surface)
}

.experience-panel::after {
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  right:-80px;
  bottom:-90px;
  background:var(--gold-soft)
}

.experience-panel.client::after {
  background:color-mix(in srgb,var(--blue) 12%,transparent)
}

.experience-icon {
  position:relative;
  z-index:1;
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:var(--gold-soft);
  color:var(--gold-2);
  font-size:1.8rem
}

.experience-panel.client .experience-icon {
  background:color-mix(in srgb,var(--blue) 12%,transparent);
  color:#6ac6ff
}

.experience-panel>span {
  display:block;
  margin-top:48px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em
}

.experience-panel h3 {
  font-size:2rem;
  margin:10px 0 20px
}

.experience-panel ul {
  position:relative;
  z-index:1;
  display:grid;
  gap:10px;
  list-style:none;
  color:var(--muted)
}

.experience-panel li::before {
  content:"✓";
  color:var(--green);
  font-weight:900;
  margin-right:9px
}

.experience-panel a {
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin-top:auto;
  padding-top:22px;
  color:var(--gold-2);
  font-weight:900;
  overflow-wrap:anywhere
}

.brand-relationship {
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:65px;
  align-items:center
}

.brand-tree {
  display:grid;
  gap:16px;
  padding:28px;
  border:1px solid var(--gold-border);
  border-radius:28px;
  background:linear-gradient(145deg,var(--surface),var(--bg-2));
  box-shadow:var(--shadow-soft)
}

.brand-root,.brand-branch {
  display:grid;
  gap:6px;
  padding:20px;
  border-radius:19px;
  background:var(--surface-soft);
  border:1px solid var(--border)
}

.brand-root strong {
  font-size:1.6rem;
  color:var(--gold-2)
}

.brand-root span,.brand-branch span {
  color:var(--muted)
}

.brand-branch strong {
  font-size:1.2rem
}

.brand-branch span {
  padding:8px 10px;
  border-radius:10px;
  background:var(--surface)
}

.about-cta {
  background:radial-gradient(circle at top left,var(--gold-soft),transparent 35%),linear-gradient(135deg,var(--surface),var(--bg-2))
}

/* Redes sociais, verificação, favoritos e avaliações */
.social-links,.business-socials {
  display:flex;
  gap:9px;
  flex-wrap:wrap
}

.social-chip {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 13px;
  border-radius:13px;
  border:1px solid var(--border);
  background:var(--surface-soft);
  color:var(--muted);
  font-size:.8rem;
  font-weight:850;
  transition:.2s
}

.social-chip:hover {
  border-color:var(--gold-border);
  color:var(--gold-2);
  transform:translateY(-2px)
}

.social-chip.instagram i {
  color:#e964a3
}

.social-chip.tiktok i {
  color:var(--text)
}

.verified-badge,.verified-text {
  color:var(--gold-2);
  font-weight:900
}

.verified-badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid var(--gold-border);
  background:var(--gold-soft);
  border-radius:999px;
  font-size:.72rem
}

.favorite-button.ativo {
  color:#ff7670;
  border-color:color-mix(in srgb,var(--red) 38%,transparent);
  background:color-mix(in srgb,var(--red) 11%,transparent)
}

.reviews-public,.reviews-manager {
  display:grid;
  gap:16px
}

.rating-summary {
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px;
  border:1px solid var(--border);
  border-radius:19px;
  background:var(--surface-soft)
}

.rating-summary>strong {
  font-size:2.8rem;
  color:var(--gold-2)
}

.rating-summary div {
  display:grid
}

.rating-summary span {
  color:var(--gold-2);
  letter-spacing:.08em
}

.rating-summary small {
  color:var(--muted)
}

.review-card,.admin-review-card {
  padding:21px;
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
  box-shadow:var(--shadow-soft)
}

.review-head,.review-manage-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px
}

.review-head>div,.review-manage-head>div {
  display:grid;
  gap:4px
}

.review-stars,.review-manage-head span {
  color:var(--gold-2);
  font-weight:900;
  letter-spacing:.08em
}

.review-card>p,.admin-review-card>p {
  margin:14px 0;
  color:var(--muted);
  line-height:1.65
}

.review-card small,.admin-review-card small {
  color:var(--muted-2)
}

.business-reply {
  margin-top:16px;
  padding:14px;
  border-left:3px solid var(--gold);
  border-radius:0 14px 14px 0;
  background:var(--gold-soft)
}

.business-reply p {
  margin-top:6px;
  color:var(--muted);
  line-height:1.55
}

.review-response-form {
  display:grid;
  gap:10px;
  margin-top:16px
}

.review-response-form textarea {
  min-height:88px;
  padding:12px;
  border-radius:13px;
  border:1px solid var(--border);
  background:var(--surface-soft);
  color:var(--text);
  resize:vertical
}

.favorites-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}

.favorite-card {
  display:grid;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:21px;
  background:var(--surface);
  box-shadow:var(--shadow-soft)
}

.favorite-card-cover {
  min-height:150px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.62)),url('../img/placeholders/barbearia-02.webp') center/cover
}

.favorite-card-body {
  display:grid;
  gap:9px;
  padding:18px
}

.favorite-card-body p {
  color:var(--muted);
  font-size:.82rem
}

.favorite-card-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:5px
}

.review-modal .modal-content {
  max-width:610px
}

.star-picker {
  display:flex;
  gap:4px
}

.star-picker button {
  padding:4px;
  background:transparent;
  color:var(--muted-2);
  font-size:2rem;
  cursor:pointer
}

.star-picker button.ativo,.star-picker button:hover {
  color:var(--gold-2)
}

/* Conta e exclusão */
.danger-zone {
  border-color:color-mix(in srgb,var(--red) 38%,var(--border));
  background:linear-gradient(135deg,color-mix(in srgb,var(--red) 8%,var(--surface)),var(--surface))
}

.danger-zone-content {
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:20px;
  align-items:center
}

.danger-zone-icon {
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:color-mix(in srgb,var(--red) 13%,transparent);
  color:#ff837b;
  font-size:1.7rem
}

.danger-zone h3 {
  margin-bottom:7px
}

.danger-zone p,.delete-warning {
  color:var(--muted);
  line-height:1.58
}

.delete-account-form {
  display:grid;
  gap:15px;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid color-mix(in srgb,var(--red) 28%,var(--border))
}

.delete-check {
  padding:13px;
  border-radius:14px;
  background:color-mix(in srgb,var(--red) 8%,transparent)
}

.delete-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap
}

/* Planos 1.3 */
.plans-hero-new {
  padding:78px 0;
  background:radial-gradient(circle at 12% 10%,var(--gold-soft),transparent 35%),linear-gradient(135deg,var(--bg),var(--bg-2))
}

.plans-hero-grid {
  display:grid;
  grid-template-columns:1fr 330px;
  gap:65px;
  align-items:center
}

.monthly-pricing-note {
  display:grid;
  justify-items:start;
  gap:8px;
  padding:30px;
  border-radius:28px;
  border:1px solid var(--gold-border);
  background:linear-gradient(145deg,var(--surface),var(--bg-2));
  box-shadow:var(--shadow)
}

.monthly-pricing-note>i {
  width:60px;
  height:60px;
  display:grid;
  place-items:center;
  border-radius:19px;
  background:var(--gold-soft);
  color:var(--gold-2);
  font-size:1.7rem
}

.monthly-pricing-note strong {
  font-size:1.5rem
}

.monthly-pricing-note span,.monthly-pricing-note small {
  color:var(--muted)
}

.monthly-badge {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:var(--gold-soft);
  border:1px solid var(--gold-border);
  color:var(--gold-2);
  font-size:.78rem;
  font-weight:900
}

.pricing-grid-monthly .plan-card {
  min-height:100%;
  height:auto
}

.pricing-grid-monthly .plan-card .btn {
  margin-top:auto
}

.founder-section-new {
  background:var(--bg-2)
}

.founder-stage {
  display:grid;
  grid-template-columns:220px 1fr 260px;
  gap:35px;
  align-items:stretch;
  padding:40px;
  border:1px solid var(--gold-border);
  border-radius:32px;
  background:radial-gradient(circle at 0 0,var(--gold-soft),transparent 32%),linear-gradient(135deg,var(--surface),var(--bg));
  box-shadow:var(--shadow)
}

.founder-number {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid var(--border)
}

.founder-number span {
  font-size:6rem;
  line-height:.8;
  color:var(--gold-2);
  font-weight:900
}

.founder-number strong {
  font-size:1.25rem;
  letter-spacing:.09em;
  line-height:1.3
}

.founder-copy h2 {
  font-size:clamp(2.1rem,4vw,3.5rem);
  line-height:1.04;
  margin:17px 0
}

.founder-copy>p {
  color:var(--muted);
  line-height:1.7
}

.founder-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:22px
}

.founder-grid article {
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:10px;
  padding:14px;
  border-radius:15px;
  background:var(--surface-soft);
  border:1px solid var(--border)
}

.founder-grid i {
  grid-row:1/3;
  color:var(--gold-2);
  font-size:1.25rem
}

.founder-grid span {
  color:var(--muted);
  font-size:.73rem;
  line-height:1.45
}

.founder-action {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:25px;
  border-radius:23px;
  background:var(--gold-soft);
  border:1px solid var(--gold-border)
}

.founder-action>span {
  color:var(--muted);
  font-size:.76rem;
  font-weight:800
}

.founder-action>strong {
  font-size:4rem;
  color:var(--gold-2);
  line-height:1;
  margin-top:15px
}

.founder-action>small {
  color:var(--muted);
  margin:5px 0 20px
}

.founder-action>p {
  color:var(--muted);
  font-size:.7rem;
  margin-top:10px
}

/* Administração ampliada */
.admin-hero-new {
  padding:64px 0;
  background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 30%),linear-gradient(135deg,var(--bg),var(--bg-2))
}

.admin-hero-grid {
  display:grid;
  grid-template-columns:1fr 330px;
  gap:55px;
  align-items:center
}

.admin-health-card {
  display:grid;
  gap:9px;
  padding:24px;
  border:1px solid var(--gold-border);
  border-radius:24px;
  background:var(--surface);
  box-shadow:var(--shadow-soft)
}

.admin-health-card>span,.admin-health-card small {
  color:var(--muted);
  font-size:.76rem
}

.admin-health-card strong {
  display:flex;
  gap:8px;
  align-items:center;
  font-size:1.25rem
}

.admin-health-card strong i {
  color:var(--green)
}

.admin-overview-section {
  padding-top:45px
}

.admin-kpi-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:13px
}

.admin-kpi {
  display:flex;
  align-items:center;
  gap:13px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-soft)
}

.admin-kpi>i {
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:14px;
  background:var(--gold-soft);
  color:var(--gold-2);
  font-size:1.2rem
}

.admin-kpi div {
  display:grid;
  min-width:0
}

.admin-kpi span,.admin-kpi small {
  color:var(--muted);
  font-size:.67rem
}

.admin-kpi strong {
  font-size:1.7rem;
  line-height:1.1
}

.admin-insights-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:15px;
  margin-top:16px
}

.admin-insights-grid .recommend-card {
  min-height:165px
}

.admin-revenue {
  display:block;
  font-size:2rem;
  color:var(--gold-2);
  margin:16px 0 6px
}

.admin-section.alternate {
  background:var(--bg-2)
}

.admin-toolbar {
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap
}

.admin-toolbar select,#filtroAdminAgendamentos,#filtroAdminTickets {
  min-height:44px;
  padding:0 13px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface);
  color:var(--text)
}

.admin-search {
  display:flex;
  align-items:center;
  gap:9px;
  min-width:255px;
  padding:0 13px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface)
}

.admin-search i {
  color:var(--muted)
}

.admin-search input {
  width:100%;
  height:42px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text)
}

.admin-entity {
  display:flex;
  align-items:center;
  gap:11px
}

.admin-entity-avatar {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:12px;
  background:var(--gold-soft);
  color:var(--gold-2)
}

.admin-entity>div:last-child {
  display:grid
}

.admin-entity span {
  font-size:.72rem;
  color:var(--muted-2)
}

.admin-state-stack {
  display:grid;
  gap:3px
}

.admin-state-stack small {
  color:var(--gold-2)
}

.admin-control-group {
  display:flex;
  gap:6px;
  flex-wrap:wrap
}

.admin-control-group select {
  max-width:125px;
  padding:8px;
  border-radius:10px;
  border:1px solid var(--border);
  background:var(--surface-soft);
  color:var(--text)
}

.admin-review-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px
}

.ticket-card {
  padding:22px;
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface)
}

/* Painel: avaliações e compactação */
.reviews-manager {
  grid-template-columns:repeat(2,minmax(0,1fr))
}

.review-manage-card {
  padding:20px;
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface)
}

.review-manage-card>p {
  color:var(--muted);
  line-height:1.62;
  margin:13px 0
}

.panel-section .section-top {
  align-items:flex-start
}

.painel-content .panel-section {
  animation:panelFade .22s ease
}

@keyframes panelFade {
  from {
    opacity:.65;
    transform:translateY(5px)
  }
  to {
    opacity:1;
    transform:none
  }
}

@media(max-width:1120px) {
  .admin-kpi-grid {
    grid-template-columns:repeat(3,1fr)
  }
  .admin-insights-grid {
    grid-template-columns:1fr 1fr
  }
  .admin-insights-grid article:first-child {
    grid-column:1/-1
  }
  .founder-stage {
    grid-template-columns:170px 1fr
  }
  .founder-action {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr auto auto auto;
    gap:14px;
    text-align:left
  }
  .founder-action>p {
    grid-column:1/-1
  }
  .pricing-grid-monthly {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .favorites-grid {
    grid-template-columns:repeat(2,1fr)
  }
}

@media(max-width:920px) {
  .about-hero-grid,.about-split,.brand-relationship,.plans-hero-grid,.admin-hero-grid {
    grid-template-columns:1fr
  }
  .about-sticky-copy {
    position:static
  }
  .dual-experience {
    grid-template-columns:1fr
  }
  .admin-insights-grid {
    grid-template-columns:1fr
  }
  .admin-insights-grid article:first-child {
    grid-column:auto
  }
  .founder-stage {
    grid-template-columns:1fr
  }
  .founder-number {
    min-height:120px;
    border-right:0;
    border-bottom:1px solid var(--border);
    padding-bottom:20px
  }
  .founder-number span {
    font-size:4.8rem
  }
  .founder-action {
    grid-column:auto;
    display:flex;
    text-align:center
  }
  .pricing-grid-monthly .plan-card {
    min-height:auto
  }
  .reviews-manager {
    grid-template-columns:1fr
  }
}

@media(max-width:700px) {
  .page-hero h1 {
    font-size:2.65rem
  }
  .about-hero,.plans-hero-new,.admin-hero-new {
    padding:44px 0
  }
  .about-manifesto {
    min-height:300px;
    padding:23px;
    border-radius:21px
  }
  .about-values-list article {
    grid-template-columns:48px 1fr;
    padding:21px 0
  }
  .about-values-list article>span {
    font-size:1.3rem
  }
  .experience-panel {
    min-height:380px;
    padding:24px
  }
  .experience-panel a {
    padding-top:18px
  }
  .brand-tree {
    padding:18px;
    border-radius:20px
  }
  .brand-root strong {
    font-size:1.3rem
  }
  .favorites-grid,.admin-review-grid {
    grid-template-columns:1fr
  }
  .rating-summary {
    padding:16px
  }
  .review-head,.review-manage-head {
    display:grid
  }
  .danger-zone-content {
    grid-template-columns:auto 1fr
  }
  .danger-zone-content>.btn {
    grid-column:1/-1;
    width:100%
  }
  .danger-zone-icon {
    width:50px;
    height:50px
  }
  .delete-actions {
    display:grid;
    grid-template-columns:1fr
  }
  .delete-actions .btn {
    width:100%
  }
  .monthly-pricing-note {
    padding:22px;
    border-radius:20px
  }
  .pricing-grid-monthly {
    grid-template-columns:1fr
  }
  .founder-stage {
    padding:22px;
    border-radius:21px
  }
  .founder-grid {
    grid-template-columns:1fr
  }
  .founder-action {
    padding:20px
  }
  .plans-table-wrap table {
    display:table;
    min-width:700px
  }
  .plans-table-wrap thead {
    display:table-header-group
  }
  .plans-table-wrap tbody {
    display:table-row-group
  }
  .plans-table-wrap tr {
    display:table-row;
    padding:0;
    border:0;
    background:transparent
  }
  .plans-table-wrap td {
    display:table-cell
  }
  .plans-table-wrap td::before {
    display:none
  }
  .admin-kpi-grid {
    grid-template-columns:1fr 1fr;
    gap:9px
  }
  .admin-kpi {
    padding:13px
  }
  .admin-kpi>i {
    width:37px;
    height:37px
  }
  .admin-kpi strong {
    font-size:1.35rem
  }
  .admin-toolbar {
    width:100%
  }
  .admin-search,.admin-toolbar select,#filtroAdminAgendamentos,#filtroAdminTickets {
    width:100%;
    min-width:0
  }
  .admin-review-grid {
    gap:12px
  }
  .moderation-actions {
    display:grid;
    grid-template-columns:1fr
  }
  .moderation-actions .btn {
    width:100%
  }
  .social-links,.business-socials {
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .social-chip {
    justify-content:center
  }
  .review-modal .modal-content {
    border-radius:20px
  }
}

@media(max-width:420px) {
  .admin-kpi-grid {
    grid-template-columns:1fr
  }
  .social-links,.business-socials {
    grid-template-columns:1fr
  }
}

/* ===== Barber Hub 1.3.1: refinamentos visuais, status e reputação ===== */
.about-brand-section {
  position:relative;
  overflow:hidden
}

.about-brand-section::before {
  content:"";
  position:absolute;
  inset:10% auto auto 58%;
  width:420px;
  height:420px;
  border-radius:50%;
  background:var(--gold-soft);
  filter:blur(80px);
  opacity:.4;
  pointer-events:none
}

.brand-relationship {
  position:relative;
  align-items:stretch
}

.brand-relationship>div:first-child {
  display:flex;
  flex-direction:column;
  justify-content:center
}

.brand-tree {
  position:relative;
  align-content:center;
  min-height:430px;
  padding:34px;
  isolation:isolate
}

.brand-tree::after {
  content:"TG";
  position:absolute;
  right:18px;
  bottom:-20px;
  font-size:9rem;
  font-weight:900;
  color:var(--gold);
  opacity:.035;
  z-index:-1
}

.brand-root {
  display:flex;
  align-items:center;
  gap:16px;
  padding:22px
}

.brand-mark {
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:#111;
  font-weight:950;
  font-size:1.15rem;
  box-shadow:0 12px 30px rgba(212,175,55,.18)
}

.brand-root>div:last-child {
  display:grid;
  gap:4px
}

.brand-root strong {
  line-height:1
}

.brand-connector {
  height:34px;
  display:grid;
  place-items:center
}

.brand-connector span {
  display:block;
  width:2px;
  height:100%;
  background:linear-gradient(var(--gold-border),var(--gold))
}

.brand-branch {
  padding:22px
}

.brand-branch-head {
  display:flex;
  align-items:center;
  gap:13px;
  padding-bottom:17px;
  border-bottom:1px solid var(--border)
}

.brand-branch-head>i {
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:var(--gold-soft);
  color:var(--gold-2);
  font-size:1.25rem
}

.brand-branch-head div {
  display:grid
}

.brand-branch-head small {
  color:var(--muted)
}

.brand-products {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:16px
}

.brand-product {
  display:grid!important;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:3px 10px!important;
  padding:14px!important;
  border:1px solid var(--border);
  border-radius:15px!important;
  background:var(--surface)!important
}

.brand-product i {
  grid-row:1/3;
  font-size:1.25rem;
  color:var(--gold-2)
}

.brand-product b {
  color:var(--text)
}

.brand-product small {
  color:var(--muted-2)
}

.brand-product.future {
  opacity:.72;
  border-style:dashed
}

.about-final-section {
  padding-top:40px
}

.about-cta-shell {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:34px;
  padding:clamp(26px,5vw,52px);
  border:1px solid var(--gold-border);
  border-radius:32px;
  background:radial-gradient(circle at 10% 0,var(--gold-soft),transparent 38%),linear-gradient(140deg,var(--surface),var(--bg-2));
  box-shadow:var(--shadow);
  overflow:hidden;
  position:relative
}

.about-cta-shell::after {
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-120px;
  top:-120px;
  border-radius:50%;
  border:38px solid var(--gold-soft)
}

.about-cta-copy,.about-cta-action {
  position:relative;
  z-index:1
}

.about-cta-copy h2 {
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.02;
  margin:18px 0 14px;
  letter-spacing:-.035em
}

.about-cta-copy>p {
  color:var(--muted);
  line-height:1.75;
  max-width:700px
}

.about-cta-points {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px
}

.about-cta-points span {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:13px;
  background:var(--surface-soft);
  border:1px solid var(--border);
  color:var(--muted);
  font-size:.8rem;
  font-weight:750
}

.about-cta-points i {
  color:var(--green)
}

.about-cta-action {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
  padding:22px;
  border-radius:22px;
  background:color-mix(in srgb,var(--surface) 88%,transparent);
  border:1px solid var(--border)
}

.about-quote {
  font-size:1.25rem;
  font-weight:900;
  line-height:1.35;
  color:var(--gold-2);
  margin-bottom:8px
}

.about-cta-action .btn {
  width:100%
}

/* Status rápido: automático, aberto e fechado */
.quick-status-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  padding:20px 22px;
  margin-bottom:22px;
  border-radius:22px;
  border:1px solid var(--gold-border);
  background:linear-gradient(135deg,var(--surface),var(--bg-2));
  box-shadow:var(--shadow-soft)
}

.quick-status-copy {
  display:grid;
  gap:4px
}

.quick-status-copy>span,.sidebar-status-control>span {
  color:var(--muted-2);
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em
}

.quick-status-copy strong {
  font-size:1.2rem
}

.quick-status-copy small {
  color:var(--muted)
}

.status-segment,.choice-segment {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px
}

.status-segment button,.choice-segment button {
  min-width:112px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:2px 9px;
  padding:12px 13px;
  border-radius:15px;
  background:var(--surface-soft);
  border:1px solid var(--border);
  color:var(--muted);
  cursor:pointer;
  text-align:left;
  transition:.2s
}

.status-segment button i,.choice-segment button i {
  grid-row:1/3;
  font-size:1.15rem
}

.status-segment button span,.choice-segment button span {
  font-weight:850;
  color:var(--text)
}

.status-segment button small {
  font-size:.67rem;
  color:var(--muted-2)
}

.status-segment button:hover,.choice-segment button:hover {
  border-color:var(--gold-border);
  transform:translateY(-1px)
}

.status-segment button.ativo,.choice-segment button.ativo {
  background:var(--gold-soft);
  border-color:var(--gold);
  color:var(--gold-2);
  box-shadow:inset 0 0 0 1px var(--gold-border)
}

.status-segment button[data-status-mode="aberto"].ativo,.status-segment button[data-status-quick="aberto"].ativo {
  background:color-mix(in srgb,var(--green) 14%,transparent);
  border-color:color-mix(in srgb,var(--green) 45%,transparent);
  color:#6ee79f
}

.status-segment button[data-status-mode="fechado"].ativo,.status-segment button[data-status-quick="fechado"].ativo {
  background:color-mix(in srgb,var(--red) 13%,transparent);
  border-color:color-mix(in srgb,var(--red) 42%,transparent);
  color:#ff8e86
}

.choice-segment {
  grid-template-columns:1fr 1fr
}

.choice-segment button {
  grid-template-columns:auto 1fr;
  min-width:0
}

.config-status-segment {
  margin-top:2px
}

.sidebar-status-control {
  display:grid;
  gap:8px;
  padding:13px;
  margin:12px 0 18px;
  border-radius:16px;
  background:var(--surface-soft);
  border:1px solid var(--border)
}

.sidebar-status-control strong {
  font-size:.8rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}

.status-segment.compact {
  grid-template-columns:repeat(3,1fr);
  gap:6px
}

.status-segment.compact button {
  min-width:0;
  display:grid;
  place-items:center;
  padding:9px
}

.status-segment.compact button i {
  grid-row:auto
}

.status-segment.compact button span,.status-segment.compact button small {
  display:none
}

/* Avaliações verificadas e da comunidade */
.review-source {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900;
  border:1px solid var(--border);
  background:var(--surface-soft);
  color:var(--muted)
}

.review-source.verified {
  border-color:var(--gold-border);
  background:var(--gold-soft);
  color:var(--gold-2)
}

.review-source.community {
  border-color:color-mix(in srgb,var(--blue) 35%,var(--border));
  background:color-mix(in srgb,var(--blue) 10%,transparent);
  color:#79cbff
}

.review-context {
  margin-top:9px;
  color:var(--muted-2);
  font-size:.76rem
}

.reviews-public-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center
}

.community-review-note {
  margin-bottom:18px
}

.community-review-note p {
  margin:0
}

.portfolio-review-button {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background:transparent;
  border:1px solid var(--border);
  color:var(--muted);
  cursor:pointer;
  font-size:.75rem;
  font-weight:800
}

.portfolio-review-button:hover {
  color:var(--gold-2);
  border-color:var(--gold-border)
}

.portfolio-public-actions {
  flex-wrap:wrap
}

.portfolio-public-actions time {
  margin-left:auto
}

@media(max-width:920px) {
  .about-cta-shell {
    grid-template-columns:1fr
  }
  .brand-tree {
    min-height:auto
  }
  .quick-status-card {
    grid-template-columns:1fr
  }
  .status-segment {
    width:100%
  }
  .about-brand-section::before {
    display:none
  }
}

@media(max-width:700px) {
  .brand-products {
    grid-template-columns:1fr
  }
  .brand-tree {
    padding:18px
  }
  .brand-root {
    padding:16px
  }
  .brand-mark {
    width:48px;
    height:48px
  }
  .about-cta-shell {
    padding:23px;
    border-radius:23px
  }
  .about-cta-action {
    padding:17px
  }
  .about-cta-points {
    display:grid
  }
  .about-cta-points span {
    width:100%
  }
  .quick-status-card {
    padding:17px;
    margin-inline:-2px
  }
  .status-segment {
    grid-template-columns:1fr
  }
  .status-segment button {
    min-width:0;
    grid-template-columns:auto 1fr auto
  }
  .status-segment button i {
    grid-row:auto
  }
  .status-segment button small {
    grid-column:3;
    grid-row:1;
    font-size:.64rem
  }
  .config-status-segment {
    grid-template-columns:1fr
  }
  .choice-segment {
    grid-template-columns:1fr 1fr
  }
  .sidebar-status-control {
    display:none
  }
  .star-picker {
    justify-content:center
  }
  .star-picker button {
    font-size:2.35rem;
    min-width:44px
  }
  .reviews-public-actions {
    display:grid;
    grid-template-columns:1fr
  }
  .reviews-public-actions .btn {
    width:100%
  }
}

/* Avaliações mistas: atendimento verificado + comunidade */
.review-source-badge {
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  padding:6px 9px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:0!important;
  border:1px solid var(--border);
  background:var(--surface-soft);
  color:var(--muted)!important;
  white-space:nowrap
}

.review-source-badge.verified {
  border-color:var(--gold-border);
  background:var(--gold-soft);
  color:var(--gold-2)!important
}

.review-source-badge.community {
  border-color:color-mix(in srgb,var(--blue) 35%,var(--border));
  background:color-mix(in srgb,var(--blue) 10%,transparent);
  color:#79cbff!important
}

.review-meta-stack {
  display:flex!important;
  flex-direction:column;
  align-items:flex-end;
  gap:7px!important
}

.review-meta-stack small {
  white-space:nowrap
}

.review-context {
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:fit-content;
  margin-top:10px;
  padding:7px 10px;
  border-radius:11px;
  background:var(--surface-soft);
  border:1px solid var(--border);
  color:var(--muted-2);
  font-size:.74rem;
  font-weight:700
}

.confirm-message {
  margin:0;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.7
}

.confirm-modal .modal-footer {
  grid-template-columns:1fr 1fr
}

@media(max-width:600px) {
  .review-manage-head {
    align-items:flex-start
  }
  .review-meta-stack {
    align-items:flex-end
  }
  .review-source-badge {
    font-size:.62rem
  }
  .confirm-modal .modal-content {
    max-height:75dvh
  }
}

@media(max-width:560px) {
  .detail-grid .simple-item {
    align-items:flex-start;
    flex-wrap:wrap
  }
  .detail-grid .simple-item>.price,.detail-grid .simple-item>.status {
    margin-left:auto
  }
  .detail-panel {
    position:static
  }
}
