@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Playfair+Display:wght@700&display=swap");

:root {
  --navy: #081D3A;
  --navy2: #0B274A;
  --gold: #C89C3A;
  --gold2: #E0B95F;
  --cream: #FFFCF6;
  --soft: #F7F2E8;
  --gray: #6F747C;
  --danger: #B83B3B;
  --ok: #247B54;
  --shadow: 0 24px 70px rgba(8, 29, 58, .16);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Montserrat", Arial, sans-serif;
  background:
    radial-gradient(circle at 12% 10%, rgba(200,156,58,.18), transparent 32%),
    radial-gradient(circle at 88% 22%, rgba(255,255,255,.08), transparent 28%),
    linear-gradient(135deg, #081D3A, #071526);
  color: #fff;
}

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

.login-card {
  max-width: 480px;
  margin: 7vh auto 0;
  padding: 34px;
  border-radius: 30px;
  background: rgba(255,255,255,.96);
  color: var(--navy);
  box-shadow: var(--shadow);
  border: 1px solid rgba(200,156,58,.24);
  animation: panelIn .55s ease both;
}

.brand-block {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  margin-bottom: 26px;
}

.logo-frame {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 98px;
  padding: 16px 18px;
  border-radius: 24px;
  background: linear-gradient(145deg, #fff, #f7f0e3);
  border: 1px solid rgba(200,156,58,.28);
  box-shadow: 0 18px 46px rgba(8,29,58,.10);
  transition: transform .25s ease, box-shadow .25s ease;
}

.brand-block:hover .logo-frame {
  transform: translateY(-3px);
  box-shadow: 0 24px 60px rgba(8,29,58,.15);
}

.brand-block img {
  width: min(300px, 92%);
  height: auto;
}

.brand-block p {
  color: var(--gold);
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0;
}

.admin-form, .password-form {
  display: grid;
  gap: 14px;
}

label {
  display: grid;
  gap: 8px;
  font-weight: 800;
  color: var(--navy);
}

input {
  width: 100%;
  border: 1px solid rgba(8,29,58,.15);
  border-radius: 14px;
  padding: 14px;
  font: inherit;
  outline: none;
  background: #FFFCF6;
}

input:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 4px rgba(200,156,58,.15);
}

button, .link-btn {
  border: 0;
  border-radius: 999px;
  min-height: 48px;
  padding: 0 20px;
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  color: var(--navy);
  font-weight: 900;
  cursor: pointer;
  transition: .22s ease;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

button:hover, .link-btn:hover {
  transform: translateY(-2px);
}

.ghost {
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
}

.hidden { display: none !important; }

.panel {
  display: grid;
  gap: 24px;
  animation: panelIn .5s ease both;
}

.panel-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  padding: 30px;
  border-radius: 30px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(200,156,58,.26);
  box-shadow: 0 24px 70px rgba(0,0,0,.16);
  backdrop-filter: blur(16px);
}

.admin-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.kicker {
  margin: 0 0 8px;
  color: var(--gold);
  font-weight: 900;
  letter-spacing: .16em;
  font-size: .75rem;
}

h1, h2 {
  font-family: "Playfair Display", Georgia, serif;
  margin: 0;
  line-height: 1.05;
}

h1 { font-size: clamp(2.2rem, 5vw, 4rem); }
h2 { color: var(--navy); font-size: clamp(1.8rem, 3.4vw, 2.7rem); }

.panel-header span {
  color: rgba(255,255,255,.74);
}

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

.card, .password-box, .contacts-box {
  padding: 26px;
  border-radius: 26px;
  background: rgba(255,255,255,.97);
  color: var(--navy);
  box-shadow: var(--shadow);
  border: 1px solid rgba(200,156,58,.17);
}

.card {
  display: grid;
  gap: 12px;
  transition: transform .25s ease, box-shadow .25s ease;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 30px 80px rgba(8,29,58,.20);
}

.card-label {
  color: var(--gold);
  font-weight: 900;
  letter-spacing: .12em;
  font-size: .72rem;
  text-transform: uppercase;
}

.card strong {
  font-size: 1.25rem;
}

.card p, .password-box p, .contacts-box p {
  color: var(--gray);
  margin: 0;
}

.card.danger button {
  background: var(--danger);
  color: #fff;
}

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

.contacts-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
}

.contacts-head .ghost {
  background: var(--navy);
}

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

.contact-item {
  padding: 16px;
  border-radius: 16px;
  background: var(--soft);
  border: 1px solid rgba(200,156,58,.18);
  transition: .2s ease;
}

.contact-item:hover {
  transform: translateX(4px);
}

.contact-item strong {
  display: block;
  margin-bottom: 4px;
}

.contact-item span {
  display: block;
  color: var(--gray);
  font-size: .92rem;
  word-break: break-word;
}

.status, .global-status {
  min-height: 22px;
  font-weight: 800;
}

.status.ok, .global-status.ok { color: var(--ok); }
.status.err, .global-status.err { color: var(--danger); }

@keyframes panelIn {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
  .cards, .password-box {
    grid-template-columns: 1fr;
  }

  .panel-header, .contacts-head {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .admin-actions .ghost {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .admin-shell { width: min(100% - 24px, 1180px); padding: 24px 0; }
  .login-card, .card, .password-box, .contacts-box, .panel-header { padding: 22px; }
  .brand-block img { width: min(245px, 92%); }
  .logo-frame { min-height: 86px; padding: 14px; }
}

.cards{
  grid-template-columns:repeat(3,1fr);
}
.fire-card{
  background:linear-gradient(145deg,#fff,#fff6e3);
  border-color:rgba(200,156,58,.38);
}
.inline-actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}
.inline-actions input{
  min-height:48px;
}
.ticket-badge,.review-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#081D3A;
  color:#C89C3A;
  font-size:.78rem;
  font-weight:900;
  margin:6px 0;
}
.item-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.item-actions button{
  min-height:38px;
  padding:0 14px;
  font-size:.82rem;
}
.item-actions select{
  min-height:38px;
  border-radius:999px;
  border:1px solid rgba(8,29,58,.16);
  padding:0 12px;
  font:inherit;
  font-weight:700;
}
.stars-admin{
  color:#C89C3A;
  font-size:1.05rem;
  margin:5px 0;
}
@media (max-width:1100px){
  .cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .cards,.inline-actions{grid-template-columns:1fr}
}


/* Organização refinada do painel administrativo */
.admin-section-block{
  display:grid;
  gap:18px;
}
.section-label-admin{
  padding:22px 26px;
  border-radius:24px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(200,156,58,.22);
}
.section-label-admin h2{
  color:#fff;
}
.admin-subtitle{
  display:block;
  color:var(--gray);
  margin-top:6px;
  line-height:1.5;
}
.contacts-head .admin-subtitle{
  color:var(--gray);
}
.cards{
  align-items:stretch;
}
.card{
  min-height:230px;
}
.card.fire-card{
  position:relative;
  overflow:hidden;
}
.card.fire-card::after{
  content:"";
  position:absolute;
  right:18px;
  top:18px;
  font-size:2rem;
  animation:adminFire 1.4s ease-in-out infinite;
}
@keyframes adminFire{
  0%,100%{transform:scale(1) rotate(-2deg)}
  50%{transform:scale(1.14) rotate(4deg)}
}
.contacts-box{
  overflow:hidden;
}
.contacts-head{
  padding-bottom:18px;
  border-bottom:1px solid rgba(200,156,58,.18);
}
.contacts-list{
  margin-top:18px;
}
.contact-item{
  position:relative;
  display:grid;
  gap:5px;
}
.contact-item::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:4px;
  border-radius:999px;
  background:var(--gold);
}
.contact-item strong,
.contact-item span,
.contact-item .item-actions,
.contact-item .stars-admin{
  margin-left:12px;
}
.ticket-badge,.review-badge{
  width:max-content;
}
.item-actions{
  padding-top:8px;
  border-top:1px solid rgba(8,29,58,.08);
}
.inline-actions{
  margin-top:auto;
}
.password-box{
  border-left:4px solid var(--gold);
}
.global-status{
  position:sticky;
  bottom:16px;
  z-index:10;
  padding:12px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:var(--navy);
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  width:max-content;
  max-width:100%;
}
.global-status.ok{color:var(--ok)}
.global-status.err{color:var(--danger)}

@media (max-width:700px){
  .card{min-height:auto}
  .section-label-admin{padding:20px}
  .global-status{
    width:100%;
    border-radius:18px;
  }
}

.dark-link{background:#081D3A!important;color:#fff!important;margin-top:auto}.dark-link:hover{background:#0b274a!important}

.admin-grid-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.admin-grid-form label{
  display:grid;
  gap:8px;
  color:var(--navy);
  font-weight:800;
}
.admin-grid-form input,
.admin-grid-form select{
  width:100%;
  border:1px solid rgba(8,29,58,.15);
  border-radius:14px;
  padding:14px;
  font:inherit;
  background:#FFFCF6;
}
.admin-grid-form button{
  grid-column:1 / -1;
}
.generated-link{
  margin-top:16px;
  display:none;
  padding:16px;
  border-radius:18px;
  background:#F7F2E8;
  border:1px solid rgba(200,156,58,.28);
  color:var(--navy);
  word-break:break-word;
}
.generated-link.show{
  display:block;
}
.generated-link a{
  color:var(--navy);
  font-weight:900;
  text-decoration:underline;
}
@media(max-width:700px){
  .admin-grid-form{grid-template-columns:1fr}
}


/* Painel comercial e atendimentos */
.commercial-panel {
  display: grid;
  gap: 20px;
  padding: 26px;
  border-radius: 28px;
  background: rgba(255,255,255,.97);
  color: var(--navy);
  border: 1px solid rgba(200,156,58,.24);
  box-shadow: var(--shadow);
}

.commercial-panel .contacts-head {
  margin: 0;
}

.commercial-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.commercial-metrics article {
  padding: 20px;
  border-radius: 22px;
  background: linear-gradient(145deg, #fff, #F7F2E8);
  border: 1px solid rgba(200,156,58,.24);
  display: grid;
  gap: 6px;
  min-height: 130px;
}

.commercial-metrics article span {
  font-size: 1.55rem;
}

.commercial-metrics article strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 2.8rem;
  line-height: 1;
  color: var(--navy);
}

.commercial-metrics article small {
  color: var(--gray);
  font-weight: 800;
}

.commercial-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
}

.chart-card,
.tracking-form-card,
.tracking-list-card,
.budget-card {
  padding: 22px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(200,156,58,.22);
  box-shadow: 0 16px 40px rgba(8,29,58,.07);
}

.mini-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
}

.mini-head strong {
  display: block;
  color: var(--navy);
  font-size: 1.06rem;
}

.mini-head span {
  display: block;
  color: var(--gray);
  font-size: .88rem;
  margin-top: 3px;
}

.partner-list {
  display: grid;
  gap: 10px;
}

.partner-item {
  display: grid;
  gap: 7px;
  padding: 12px;
  border-radius: 16px;
  background: #F7F2E8;
  border: 1px solid rgba(200,156,58,.16);
}

.partner-item strong {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.partner-bar {
  height: 9px;
  border-radius: 999px;
  background: rgba(8,29,58,.10);
  overflow: hidden;
}

.partner-bar span {
  display: block;
  height: 100%;
  width: 0%;
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  border-radius: inherit;
}

.tracking-wrap {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 18px;
}

.tracking-list,
.budget-list {
  display: grid;
  gap: 12px;
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}

.tracking-item,
.budget-item {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: 18px;
  background: #F7F2E8;
  border: 1px solid rgba(200,156,58,.18);
}

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

.tracking-item strong,
.budget-item strong {
  color: var(--navy);
}

.tracking-item span,
.budget-item span {
  color: var(--gray);
  font-size: .9rem;
}

.status-pill {
  display: inline-flex;
  width: max-content;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--navy);
  color: #fff !important;
  font-size: .76rem !important;
  font-weight: 900;
}

.tracking-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.tracking-actions select,
.tracking-actions input {
  width: 100%;
  border: 1px solid rgba(8,29,58,.13);
  border-radius: 12px;
  padding: 10px;
  font: inherit;
  background: #fff;
}

.tracking-actions button {
  grid-column: 1 / -1;
  min-height: 38px;
}

@media (max-width: 1100px) {
  .commercial-metrics,
  .commercial-grid,
  .tracking-wrap {
    grid-template-columns: 1fr 1fr;
  }
  .commercial-grid,
  .tracking-wrap {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .commercial-panel {
    padding: 20px;
  }
  .commercial-metrics {
    grid-template-columns: 1fr;
  }
  .tracking-actions {
    grid-template-columns: 1fr;
  }
}

.ceo-login-note{
  margin-top:16px;
  padding:14px 16px;
  border-radius:18px;
  background:#FFFCF6;
  border:1px solid rgba(200,156,58,.24);
  color:#081D3A;
  display:grid;
  gap:4px;
}
.ceo-login-note span{color:#6F747C;font-weight:800}
.admin-item{padding:18px;border-radius:18px;background:#F7F2E8;border:1px solid rgba(200,156,58,.20);display:grid;gap:10px}
.admin-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ticket-replies{display:grid;gap:8px;padding:12px;border-radius:14px;background:#fff;border:1px solid rgba(200,156,58,.16)}
.ticket-replies.empty{color:#6F747C;font-weight:700}
.ticket-reply{display:grid;gap:4px;border-bottom:1px solid rgba(8,29,58,.08);padding-bottom:8px}
.ticket-reply:last-child{border-bottom:0;padding-bottom:0}
.ticket-reply p{margin:0;color:#081D3A}
.ticket-actions,.ticket-reply-box{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
.ticket-reply-box{grid-template-columns:1fr}
.ticket-reply-box textarea{width:100%;border:1px solid rgba(8,29,58,.14);border-radius:14px;padding:12px;font:inherit;background:#fff}
.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#081D3A;color:#fff;font-weight:900;font-size:.8rem}
@media(max-width:760px){.ticket-actions{grid-template-columns:1fr}.admin-item-head{display:grid}}


/* ===== Configurações do usuário / perfil ===== */
.user-settings-section{
  margin-top:26px;
}

.profile-settings-grid{
  display:grid;
  grid-template-columns: minmax(220px,.75fr) 1.1fr 1fr;
  gap:18px;
  align-items:stretch;
}

.profile-card{
  border-radius:28px;
  padding:22px;
  background:
    radial-gradient(circle at 25% 10%, rgba(200,156,58,.20), transparent 38%),
    linear-gradient(135deg, rgba(8,29,58,.96), rgba(9,36,74,.94));
  color:#fff;
  border:1px solid rgba(200,156,58,.28);
  box-shadow:0 22px 55px rgba(8,29,58,.18);
  display:grid;
  place-items:center;
  text-align:center;
  gap:14px;
}

.profile-avatar{
  width:112px;
  height:112px;
  border-radius:32px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#F7F2E8,#fff);
  border:1px solid rgba(200,156,58,.55);
  box-shadow:0 18px 40px rgba(0,0,0,.20);
}

.profile-avatar span{
  color:#081D3A;
  font-size:2.3rem;
  font-weight:900;
  letter-spacing:.06em;
}

.profile-avatar img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:none;
}

.profile-avatar img.show{
  display:block;
}

.profile-card strong{
  display:block;
  font-size:1.25rem;
  margin-bottom:4px;
}

.profile-card span{
  display:block;
  color:#E0B95F;
  font-weight:900;
}

.profile-card small{
  display:block;
  color:rgba(255,255,255,.72);
  margin-top:4px;
  font-weight:800;
}

.profile-form,
.password-form{
  background:rgba(255,255,255,.97);
  border:1px solid rgba(200,156,58,.20);
  border-radius:28px;
  padding:22px;
  box-shadow:0 14px 38px rgba(8,29,58,.08);
}

.photo-field small{
  display:block;
  margin-top:8px;
  color:#6F747C;
  font-size:.82rem;
  line-height:1.4;
}

.photo-field input:disabled,
.profile-form input[readonly]{
  opacity:.65;
  cursor:not-allowed;
}

.profile-form .inline-actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}

.profile-form button:disabled{
  opacity:.55;
  cursor:not-allowed;
}

@media(max-width:1100px){
  .profile-settings-grid{
    grid-template-columns:1fr;
  }
  .profile-card{
    grid-template-columns:auto 1fr;
    place-items:center start;
    text-align:left;
  }
}

@media(max-width:560px){
  .profile-card{
    grid-template-columns:1fr;
    text-align:center;
    place-items:center;
  }
  .profile-form .inline-actions{
    grid-template-columns:1fr;
  }
}

/* ===== Horário fixo do atendimento ===== */
.fixed-hours-card{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:22px;
}
.fixed-hours-card article{
  padding:20px;
  border-radius:22px;
  background:#FFFCF6;
  border:1px solid rgba(200,156,58,.24);
  box-shadow:0 14px 35px rgba(8,29,58,.06);
  display:grid;
  gap:8px;
}
.fixed-hours-card strong{
  color:#081D3A;
  font-size:1.05rem;
}
.fixed-hours-card span{
  color:#6F747C;
  font-weight:800;
  line-height:1.45;
}
@media(max-width:860px){
  .fixed-hours-card{grid-template-columns:1fr}
}

/* ===== Organização administrativa: acompanhamento e financeiro ===== */
.ceo-login-note{
  margin-top:16px;
  padding:14px 16px;
  border-radius:18px;
  background:#FFFCF6;
  border:1px solid rgba(200,156,58,.24);
  color:#081D3A;
  display:grid;
  gap:4px;
}
.ceo-login-note span{color:#6F747C;font-weight:800}

.profile-settings-grid{
  grid-template-columns:minmax(220px,.72fr) 1fr 1fr;
}

.profile-card{
  background:
    radial-gradient(circle at 25% 10%, rgba(200,156,58,.20), transparent 38%),
    linear-gradient(135deg, rgba(8,29,58,.96), rgba(9,36,74,.94));
}

.profile-avatar{
  background:linear-gradient(145deg,#081D3A,#10294E);
  border:1px solid rgba(200,156,58,.55);
}

.profile-avatar span{
  color:#E0B95F;
}

.financial-guide article{
  background:linear-gradient(135deg,#FFFCF6,#F7F2E8);
}

.commercial-metrics{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}

.card .link-btn,
.card button,
.tracking-form-card button,
.profile-form button,
.password-form button{
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.card button:hover,
.tracking-form-card button:hover,
.profile-form button:hover,
.password-form button:hover{
  transform:translateY(-2px);
  filter:brightness(1.03);
}

@media(max-width:1100px){
  .profile-settings-grid{grid-template-columns:1fr}
}


/* ===== Painel administrativo do WhatsApp ===== */
.whatsapp-admin-panel{
  border-color:rgba(37,211,102,.18);
}

.whatsapp-dashboard-grid{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(420px,1.6fr);
  gap:18px;
  margin-top:22px;
}

.whatsapp-thread-list-card,
.whatsapp-conversation-card{
  border-radius:28px;
  padding:18px;
  background:#fff;
  border:1px solid rgba(200,156,58,.18);
  box-shadow:0 16px 42px rgba(8,29,58,.08);
}

.whatsapp-thread-list{
  display:grid;
  gap:10px;
  max-height:620px;
  overflow:auto;
  padding-right:4px;
}

.whatsapp-thread{
  border:1px solid rgba(8,29,58,.12);
  background:#FFFCF6;
  border-radius:20px;
  padding:14px;
  display:grid;
  gap:6px;
  text-align:left;
  cursor:pointer;
  color:#081D3A;
  transition:.22s ease;
}

.whatsapp-thread:hover,
.whatsapp-thread.active{
  border-color:rgba(37,211,102,.42);
  background:linear-gradient(135deg,#F7FFF9,#FFFCF6);
  transform:translateY(-1px);
}

.whatsapp-thread strong{
  font-size:.98rem;
}

.whatsapp-thread span{
  color:#6F747C;
  font-weight:800;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.whatsapp-thread small{
  color:#25A55E;
  font-weight:900;
}

.whatsapp-conversation-card{
  display:grid;
  grid-template-rows:auto minmax(320px,1fr) auto;
  gap:14px;
}

.whatsapp-conversation-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  border-bottom:1px solid rgba(8,29,58,.08);
  padding-bottom:14px;
}

.whatsapp-conversation-head strong{
  display:block;
  font-size:1.15rem;
  color:#081D3A;
}

.whatsapp-conversation-head span{
  display:block;
  color:#6F747C;
  font-weight:800;
  margin-top:4px;
}

.whatsapp-actions-top{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:8px;
  min-width:min(100%,520px);
}

.whatsapp-actions-top select,
.whatsapp-reply-box textarea{
  border:1px solid rgba(8,29,58,.13);
  border-radius:16px;
  padding:12px;
  background:#FFFCF6;
  font:inherit;
  color:#081D3A;
}

.whatsapp-actions-top button,
.whatsapp-reply-actions button{
  border:0;
  border-radius:999px;
  padding:12px 16px;
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.whatsapp-messages{
  background:#F7F2E8;
  border:1px solid rgba(200,156,58,.18);
  border-radius:22px;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:auto;
  max-height:520px;
}

.whatsapp-bubble{
  max-width:78%;
  padding:12px 14px;
  border-radius:18px;
  display:grid;
  gap:6px;
  box-shadow:0 8px 22px rgba(8,29,58,.08);
}

.whatsapp-bubble.in{
  align-self:flex-start;
  background:#fff;
  border-bottom-left-radius:6px;
}

.whatsapp-bubble.out{
  align-self:flex-end;
  background:#DCF8C6;
  border-bottom-right-radius:6px;
}

.whatsapp-bubble p{
  margin:0;
  white-space:pre-wrap;
  color:#081D3A;
  font-weight:800;
  line-height:1.45;
}

.whatsapp-bubble small{
  color:#6F747C;
  font-size:.75rem;
  font-weight:800;
}

.whatsapp-empty{
  padding:18px;
  border-radius:18px;
  background:#FFFCF6;
  color:#6F747C;
  font-weight:900;
  text-align:center;
}

.whatsapp-reply-box{
  display:grid;
  gap:10px;
}

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

@media(max-width:1050px){
  .whatsapp-dashboard-grid{
    grid-template-columns:1fr;
  }

  .whatsapp-actions-top{
    grid-template-columns:1fr;
    width:100%;
  }

  .whatsapp-conversation-head{
    display:grid;
  }
}

@media(max-width:620px){
  .whatsapp-bubble{
    max-width:94%;
  }

  .whatsapp-reply-actions{
    display:grid;
  }
}


/* ===== Correções do painel WhatsApp e histórico ===== */
.security-only-grid{
  grid-template-columns:1fr;
}

.whatsapp-conversation-card{
  min-width:0;
  overflow:hidden;
}

.whatsapp-conversation-head{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(280px,620px);
  gap:16px;
  align-items:start;
}

.whatsapp-actions-top{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(150px,auto);
  gap:10px;
  width:100%;
  max-width:100%;
}

.whatsapp-actions-top button{
  white-space:nowrap;
  min-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.whatsapp-messages{
  font-size:.96rem;
}

.whatsapp-bubble{
  max-width:82%;
}

.whatsapp-bubble p{
  font-size:.96rem;
  line-height:1.45;
  font-weight:700;
  white-space:pre-wrap;
  word-break:break-word;
}

.whatsapp-bubble small{
  display:block;
  margin-top:4px;
  font-size:.78rem;
  font-weight:900;
}

.whatsapp-bubble.out small{
  color:#5f6b58;
}

.activity-log-list{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.activity-item{
  border:1px solid rgba(8,29,58,.10);
  background:#FFFCF6;
  border-radius:22px;
  padding:16px 18px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  box-shadow:0 10px 28px rgba(8,29,58,.06);
}

.activity-item strong{
  display:block;
  color:#081D3A;
  font-size:1rem;
}

.activity-item span{
  display:block;
  color:#6F747C;
  font-weight:800;
  margin-top:4px;
}

.activity-item small{
  color:#C89C3A;
  font-weight:900;
  white-space:nowrap;
}

@media(max-width:1180px){
  .whatsapp-conversation-head{
    grid-template-columns:1fr;
  }

  .whatsapp-actions-top{
    grid-template-columns:1fr;
  }

  .whatsapp-actions-top button{
    width:100%;
  }
}

@media(max-width:680px){
  .whatsapp-bubble{
    max-width:96%;
  }

  .activity-item{
    display:grid;
  }

  .activity-item small{
    white-space:normal;
  }
}


/* ===== Correção segura do painel administrativo no celular ===== */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

.admin-shell {
  width: 100%;
  max-width: 100%;
}

.login-card:not(.hidden) {
  display: block;
}

.panel:not(.hidden) {
  display: block;
}

.panel.hidden,
.login-card.hidden {
  display: none !important;
}

@media (max-width: 900px) {
  .admin-shell {
    padding: 14px;
    min-height: 100vh;
    align-items: flex-start;
  }

  .login-card {
    width: 100%;
    max-width: 520px;
    margin: 18px auto;
    padding: 22px;
    border-radius: 28px;
  }

  .brand-block,
  .logo-frame {
    max-width: 100%;
  }

  .logo-frame img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }

  .panel {
    width: 100%;
    margin: 0;
    padding: 16px 12px;
    border-radius: 26px;
    overflow: hidden;
  }

  .panel-header {
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 24px;
  }

  .panel-header h1 {
    font-size: clamp(2rem, 11vw, 3.4rem);
    line-height: 0.96;
    word-break: break-word;
  }

  .admin-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 10px;
  }

  .admin-actions .ghost,
  .admin-actions .link-btn,
  .contacts-head button,
  .admin-form button,
  .settings-form button,
  .admin-grid-form button,
  .whatsapp-actions-top button,
  .whatsapp-reply-actions button {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .commercial-panel,
  .contacts-box,
  .admin-section-block {
    padding: 16px;
    border-radius: 24px;
    overflow: hidden;
  }

  .contacts-head {
    display: grid;
    gap: 12px;
  }

  .contacts-head h2 {
    font-size: clamp(2rem, 10vw, 3.2rem);
    line-height: 0.98;
    word-break: break-word;
  }

  .commercial-metrics,
  .commercial-grid,
  .tracking-wrap,
  .user-settings-grid,
  .whatsapp-dashboard-grid,
  .form-duo {
    grid-template-columns: 1fr !important;
  }

  input,
  select,
  textarea,
  button {
    max-width: 100%;
    box-sizing: border-box;
  }

  .whatsapp-conversation-head,
  .whatsapp-actions-top,
  .tracking-actions {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
  }

  .whatsapp-messages {
    max-height: 62vh;
  }

  .whatsapp-bubble {
    max-width: 96%;
  }
}

@media (max-width: 480px) {
  .admin-shell {
    padding: 10px;
  }

  .login-card,
  .panel,
  .commercial-panel,
  .contacts-box,
  .admin-section-block {
    border-radius: 22px;
  }

  .login-card {
    padding: 18px;
  }

  .panel {
    padding: 12px 10px;
  }
}


/* ===== Controle de manutenção ===== */
.maintenance-control-section{
  border-color:rgba(200,156,58,.22);
}

.maintenance-actions{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto auto;
  gap:12px;
  align-items:end;
  margin-top:18px;
}

.maintenance-actions label{
  display:grid;
  gap:8px;
  font-weight:900;
  color:#081D3A;
}

.maintenance-actions input{
  border:1px solid rgba(8,29,58,.13);
  border-radius:18px;
  padding:16px;
  background:#FFFCF6;
  font:inherit;
  font-weight:800;
  color:#081D3A;
}

.maintenance-actions button{
  border:0;
  border-radius:999px;
  padding:17px 24px;
  background:linear-gradient(135deg,#E0B95F,#C89C3A);
  color:#081D3A;
  font-weight:950;
  cursor:pointer;
  min-height:56px;
}

.maintenance-actions button.ghost{
  background:#081D3A;
  color:#fff;
}

@media(max-width:900px){
  .maintenance-actions{
    grid-template-columns:1fr;
  }
}


/* ===== HOTFIX FINAL - ADMIN SEM BUG ===== */
body {
  background: #061B35 !important;
}

.admin-shell {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.login-card:not(.hidden) {
  display: block !important;
  background: #F8F8F6 !important;
  color: #081D3A !important;
}

.panel.hidden,
.login-card.hidden {
  display: none !important;
}

.panel:not(.hidden) {
  display: block !important;
}

.panel {
  color: #081D3A !important;
}

.panel-header {
  background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.08)) !important;
  color: #fff !important;
}

.panel-header h1,
.panel-header .kicker,
.panel-header span {
  color: #fff !important;
}

.maintenance-control-section,
.user-settings-section,
.commercial-panel,
.contacts-box,
.admin-section-block {
  background: #F8F8F6 !important;
  color: #081D3A !important;
  border: 1px solid rgba(200,156,58,.28) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.18) !important;
}

.maintenance-control-section h2,
.maintenance-control-section label,
.maintenance-control-section strong,
.maintenance-control-section .kicker,
.user-settings-section h2,
.commercial-panel h2,
.contacts-box h2,
.admin-section-block h2 {
  color: #081D3A !important;
}

.maintenance-control-section .admin-subtitle,
.maintenance-control-section span,
.commercial-panel .admin-subtitle,
.contacts-box .admin-subtitle,
.admin-section-block .admin-subtitle {
  color: #6F747C !important;
}

.fixed-hours-card article,
.commercial-metrics article,
.settings-card,
.chart-card,
.tracking-form-card,
.tracking-list-card,
.budget-card,
.whatsapp-thread-list-card,
.whatsapp-conversation-card {
  background: #FFFCF6 !important;
  color: #081D3A !important;
}

.maintenance-actions {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto auto !important;
  gap: 12px !important;
  align-items: end !important;
}

.maintenance-actions input,
.admin-form input,
.settings-form input,
.admin-grid-form input,
.admin-grid-form select,
.whatsapp-actions-top select,
.whatsapp-reply-box textarea {
  background: #FFFCF6 !important;
  color: #081D3A !important;
  border: 1px solid rgba(8,29,58,.16) !important;
}

.maintenance-actions button,
.admin-form button,
.settings-form button,
.admin-grid-form button {
  color: #081D3A !important;
  background: linear-gradient(135deg, #E0B95F, #C89C3A) !important;
}

.maintenance-actions button.ghost,
.admin-actions .ghost,
.admin-actions .link-btn {
  background: rgba(8,29,58,.92) !important;
  color: #fff !important;
}

.status.ok {
  color: #128C52 !important;
  font-weight: 900 !important;
}

.status.err {
  color: #B42318 !important;
  font-weight: 900 !important;
}

@media (max-width: 900px) {
  .admin-shell {
    padding: 12px !important;
    display: block !important;
  }

  .login-card {
    width: 100% !important;
    max-width: 520px !important;
    margin: 18px auto !important;
    padding: 22px !important;
    border-radius: 28px !important;
  }

  .panel {
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 8px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  .panel-header {
    display: grid !important;
    gap: 14px !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }

  .panel-header h1,
  .contacts-head h2 {
    font-size: clamp(2rem, 10vw, 3.4rem) !important;
    line-height: 1 !important;
    word-break: break-word !important;
  }

  .admin-actions,
  .commercial-metrics,
  .commercial-grid,
  .tracking-wrap,
  .user-settings-grid,
  .whatsapp-dashboard-grid,
  .form-duo,
  .maintenance-actions,
  .whatsapp-conversation-head,
  .whatsapp-actions-top,
  .tracking-actions {
    grid-template-columns: 1fr !important;
  }

  .commercial-panel,
  .contacts-box,
  .admin-section-block {
    padding: 16px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  input,
  select,
  textarea,
  button,
  .ghost,
  .link-btn {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .whatsapp-messages {
    max-height: 60vh !important;
  }

  .whatsapp-bubble {
    max-width: 96% !important;
  }
}


/* =========================================================
   ALVIONTE ADMIN PREMIUM UI - VISUAL REFINADO
   ========================================================= */
:root{
  --alv-navy:#061B35;
  --alv-navy-2:#08284F;
  --alv-gold:#D8AF43;
  --alv-gold-2:#E8C96D;
  --alv-cream:#FFFCF6;
  --alv-paper:#F8F8F6;
  --alv-muted:#6F747C;
  --alv-line:rgba(216,175,67,.28);
  --alv-shadow:0 24px 80px rgba(0,0,0,.22);
  --alv-radius:30px;
}

html{
  scroll-behavior:smooth;
}

body{
  background:
    radial-gradient(circle at 12% 8%, rgba(216,175,67,.13), transparent 34%),
    radial-gradient(circle at 88% 0%, rgba(255,255,255,.10), transparent 28%),
    linear-gradient(135deg, #06182E 0%, #071F3D 45%, #031326 100%) !important;
  color:var(--alv-navy);
}

.admin-shell{
  padding:28px !important;
}

.login-card{
  animation: adminFadeUp .55s ease both;
  border:1px solid rgba(216,175,67,.35) !important;
  box-shadow:var(--alv-shadow) !important;
}

.panel{
  animation: adminFadeUp .55s ease both;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

.panel-header{
  position:relative;
  overflow:hidden;
  border-radius:34px !important;
  padding:34px 36px !important;
  border:1px solid rgba(216,175,67,.32) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.17), rgba(255,255,255,.07)),
    radial-gradient(circle at 80% 20%, rgba(216,175,67,.20), transparent 36%),
    linear-gradient(135deg, #0A274D, #071B35) !important;
  box-shadow:var(--alv-shadow) !important;
}

.panel-header::before{
  content:"";
  position:absolute;
  inset:-80px auto auto -80px;
  width:240px;
  height:240px;
  background:radial-gradient(circle, rgba(216,175,67,.22), transparent 70%);
  filter:blur(6px);
  animation: adminGlow 5s ease-in-out infinite alternate;
}

.panel-header > *{
  position:relative;
  z-index:1;
}

.panel-header .kicker{
  color:var(--alv-gold) !important;
  letter-spacing:.18em !important;
  font-weight:950 !important;
}

.panel-header h1{
  color:#fff !important;
  text-shadow:0 8px 28px rgba(0,0,0,.28);
}

.panel-header span{
  color:rgba(255,255,255,.78) !important;
}

.admin-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
}

.admin-actions .ghost,
.admin-actions .link-btn{
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  backdrop-filter:blur(14px);
  box-shadow:0 14px 32px rgba(0,0,0,.16);
  transition:.22s ease;
}

.admin-actions .ghost:hover,
.admin-actions .link-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(216,175,67,.55) !important;
  background:rgba(216,175,67,.16) !important;
}

.admin-menu-trigger{
  width:56px;
  height:56px;
  border-radius:20px;
  border:1px solid rgba(216,175,67,.42);
  background:linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.07));
  display:grid;
  place-items:center;
  gap:4px;
  padding:15px;
  cursor:pointer;
  box-shadow:0 18px 38px rgba(0,0,0,.18);
  transition:.25s ease;
}

.admin-menu-trigger span{
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--alv-gold);
  display:block;
  transition:.25s ease;
  box-shadow:0 0 14px rgba(216,175,67,.55);
}

.admin-menu-trigger:hover,
.admin-menu-trigger.active{
  transform:translateY(-2px) scale(1.03);
  background:rgba(216,175,67,.16);
}

.admin-menu-trigger.active span:nth-child(1){
  transform:translateY(10px) scaleX(2.2);
}
.admin-menu-trigger.active span:nth-child(2){
  opacity:.25;
}
.admin-menu-trigger.active span:nth-child(3){
  transform:translateY(-10px) scaleX(2.2);
}

.admin-menu-backdrop{
  position:fixed;
  inset:0;
  background:rgba(2,10,20,.42);
  backdrop-filter:blur(4px);
  z-index:80;
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
}

.admin-menu-backdrop.open{
  opacity:1;
  pointer-events:auto;
}

.admin-quick-menu{
  position:fixed;
  top:26px;
  right:26px;
  width:min(420px, calc(100vw - 32px));
  max-height:calc(100vh - 52px);
  overflow:auto;
  z-index:90;
  padding:18px;
  border-radius:30px;
  border:1px solid rgba(216,175,67,.34);
  background:
    linear-gradient(135deg, rgba(255,252,246,.98), rgba(248,248,246,.96));
  box-shadow:0 28px 90px rgba(0,0,0,.34);
  transform:translateY(-12px) scale(.97);
  opacity:0;
  pointer-events:none;
  transition:.28s cubic-bezier(.2,.8,.2,1);
}

.admin-quick-menu.open{
  transform:translateY(0) scale(1);
  opacity:1;
  pointer-events:auto;
}

.quick-menu-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:6px 6px 14px;
  border-bottom:1px solid rgba(8,29,58,.10);
  margin-bottom:12px;
}

.quick-menu-head strong{
  display:block;
  color:var(--alv-navy);
  font-size:1.18rem;
}

.quick-menu-head span{
  display:block;
  color:var(--alv-muted);
  font-weight:800;
  margin-top:3px;
}

.quick-menu-head button{
  width:42px;
  height:42px;
  border:0;
  border-radius:16px;
  background:#081D3A;
  color:#fff;
  font-size:1.5rem;
  cursor:pointer;
}

.admin-quick-menu > button:not(#adminMenuClose){
  width:100%;
  display:flex;
  gap:13px;
  align-items:center;
  text-align:left;
  border:1px solid rgba(8,29,58,.08);
  background:#fff;
  border-radius:20px;
  padding:13px 14px;
  margin-top:9px;
  cursor:pointer;
  transition:.22s ease;
}

.admin-quick-menu > button:not(#adminMenuClose):hover{
  transform:translateX(-4px);
  border-color:rgba(216,175,67,.45);
  background:linear-gradient(135deg,#fff,#FFFCF6);
  box-shadow:0 14px 32px rgba(8,29,58,.10);
}

.admin-quick-menu button span{
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(216,175,67,.15);
  flex:0 0 auto;
}

.admin-quick-menu button strong{
  display:block;
  color:var(--alv-navy);
  font-size:.98rem;
}

.admin-quick-menu button small{
  display:block;
  color:var(--alv-muted);
  font-weight:800;
  margin-top:2px;
}

.maintenance-control-section,
.user-settings-section,
.commercial-panel,
.contacts-box,
.admin-section-block{
  position:relative;
  margin-top:24px !important;
  border-radius:34px !important;
  background:
    linear-gradient(135deg, rgba(255,252,246,.99), rgba(248,248,246,.97)) !important;
  color:var(--alv-navy) !important;
  border:1px solid var(--alv-line) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.16) !important;
  overflow:hidden;
  animation: adminFadeUp .55s ease both;
}

.maintenance-control-section::before,
.user-settings-section::before,
.commercial-panel::before,
.contacts-box::before,
.admin-section-block::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg, transparent, var(--alv-gold), transparent);
  opacity:.75;
}

.contacts-head{
  border-bottom:1px solid rgba(8,29,58,.08);
  padding-bottom:18px;
  margin-bottom:20px;
}

.contacts-head .kicker{
  color:#B88D24 !important;
  letter-spacing:.17em;
  font-weight:950;
}

.contacts-head h2,
.maintenance-control-section h2,
.commercial-panel h2{
  color:var(--alv-navy) !important;
  text-shadow:none !important;
}

.admin-subtitle,
.contacts-head span{
  color:var(--alv-muted) !important;
  font-weight:750;
}

.fixed-hours-card article,
.commercial-metrics article,
.settings-card,
.chart-card,
.tracking-form-card,
.tracking-list-card,
.budget-card,
.whatsapp-thread-list-card,
.whatsapp-conversation-card,
.activity-item{
  border:1px solid rgba(216,175,67,.24) !important;
  background:linear-gradient(135deg,#fff,#FFFCF6) !important;
  border-radius:26px !important;
  box-shadow:0 18px 44px rgba(8,29,58,.08) !important;
  transition:.22s ease;
}

.fixed-hours-card article:hover,
.commercial-metrics article:hover,
.settings-card:hover,
.chart-card:hover,
.tracking-form-card:hover,
.tracking-list-card:hover,
.budget-card:hover,
.whatsapp-thread-list-card:hover,
.whatsapp-conversation-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 58px rgba(8,29,58,.12) !important;
}

input,
select,
textarea{
  border:1px solid rgba(8,29,58,.13) !important;
  background:#FFFCF6 !important;
  color:var(--alv-navy) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  transition:.2s ease;
}

input:focus,
select:focus,
textarea:focus{
  outline:none !important;
  border-color:rgba(216,175,67,.65) !important;
  box-shadow:0 0 0 4px rgba(216,175,67,.14) !important;
}

button{
  transition:.22s ease;
}

button:hover{
  transform:translateY(-1px);
}

.maintenance-actions button,
.admin-form button,
.settings-form button,
.admin-grid-form button,
.whatsapp-reply-actions button,
.whatsapp-actions-top button{
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(135deg, #E8C96D, #C89C3A) !important;
  color:#081D3A !important;
  font-weight:950 !important;
  box-shadow:0 16px 34px rgba(200,156,58,.24) !important;
}

button.ghost,
.maintenance-actions button.ghost{
  background:#081D3A !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(8,29,58,.18) !important;
}

.section-highlight{
  animation: sectionPulse 1.15s ease both;
}

.whatsapp-messages{
  background:
    radial-gradient(circle at 20% 10%, rgba(216,175,67,.10), transparent 30%),
    #F7F2E8 !important;
}

.whatsapp-bubble.in{
  background:#fff !important;
}

.whatsapp-bubble.out{
  background:#DCF8C6 !important;
}

@keyframes adminFadeUp{
  from{opacity:0; transform:translateY(18px);}
  to{opacity:1; transform:translateY(0);}
}

@keyframes adminGlow{
  from{transform:translate(0,0) scale(1);}
  to{transform:translate(24px,18px) scale(1.15);}
}

@keyframes sectionPulse{
  0%{box-shadow:0 0 0 0 rgba(216,175,67,.0), 0 24px 70px rgba(0,0,0,.16);}
  30%{box-shadow:0 0 0 8px rgba(216,175,67,.20), 0 24px 70px rgba(0,0,0,.16);}
  100%{box-shadow:0 0 0 0 rgba(216,175,67,.0), 0 24px 70px rgba(0,0,0,.16);}
}

@media(max-width:900px){
  .admin-shell{
    padding:12px !important;
  }

  .panel-header{
    padding:22px !important;
  }

  .admin-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr 58px !important;
    gap:10px !important;
  }

  .admin-menu-trigger{
    width:100% !important;
    min-width:56px;
  }

  .admin-quick-menu{
    top:12px;
    right:12px;
    width:calc(100vw - 24px);
    max-height:calc(100vh - 24px);
    border-radius:24px;
  }

  .maintenance-control-section,
  .user-settings-section,
  .commercial-panel,
  .contacts-box,
  .admin-section-block{
    border-radius:26px !important;
    padding:18px !important;
  }

  .contacts-head h2,
  .panel-header h1{
    font-size:clamp(2rem, 10vw, 3.4rem) !important;
    line-height:1 !important;
  }

  .commercial-metrics,
  .commercial-grid,
  .tracking-wrap,
  .user-settings-grid,
  .whatsapp-dashboard-grid,
  .maintenance-actions,
  .form-duo,
  .whatsapp-conversation-head,
  .whatsapp-actions-top,
  .tracking-actions{
    grid-template-columns:1fr !important;
  }

  input, select, textarea, button, .ghost, .link-btn{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

@media(max-width:520px){
  .admin-actions{
    grid-template-columns:1fr !important;
  }

  .admin-menu-trigger{
    height:54px;
  }

  .panel-header,
  .maintenance-control-section,
  .user-settings-section,
  .commercial-panel,
  .contacts-box,
  .admin-section-block{
    padding:16px !important;
  }
}


/* =========================================================
   HOTFIX FINAL DE ORGANIZAÇÃO / CENTRALIZAÇÃO
   ========================================================= */
.admin-shell{
  max-width: 1480px !important;
  margin: 0 auto !important;
  padding: 28px 18px !important;
}

.panel{
  width: 100% !important;
  max-width: 1480px !important;
  margin: 0 auto !important;
}

.panel-header{
  width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
}

.maintenance-control-section,
.user-settings-section,
.commercial-panel,
.contacts-box,
.admin-section-block{
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 30px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.contacts-head{
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.contacts-head > div{
  min-width: 0 !important;
}

.contacts-head h2{
  margin-top: 4px !important;
  margin-bottom: 8px !important;
  max-width: 100% !important;
}

.fixed-hours-card,
.commercial-metrics,
.commercial-grid,
.tracking-wrap,
.whatsapp-dashboard-grid,
.user-settings-grid{
  width: 100% !important;
  box-sizing: border-box !important;
}

.maintenance-control-grid.fixed-hours-card{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
  gap: 16px !important;
  margin-top: 22px !important;
}

.maintenance-actions{
  width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) minmax(220px, auto) minmax(260px, auto) !important;
  gap: 14px !important;
  align-items: end !important;
  margin-top: 22px !important;
}

.maintenance-actions label{
  margin: 0 !important;
}

.maintenance-actions input{
  width: 100% !important;
  min-height: 58px !important;
}

.maintenance-actions button{
  min-height: 58px !important;
  white-space: nowrap !important;
}

.admin-quick-menu{
  padding: 20px !important;
}

.admin-quick-menu > button:not(#adminMenuClose){
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 78px !important;
}

.admin-quick-menu button .menu-marker,
.admin-quick-menu button span{
  width: 52px !important;
  height: 52px !important;
  border-radius: 18px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, rgba(216,175,67,.18), rgba(216,175,67,.08)) !important;
  color: #081D3A !important;
  font-size: .88rem !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
}

.admin-quick-menu button div{
  min-width: 0 !important;
  display: grid !important;
  gap: 2px !important;
}

.admin-quick-menu button strong{
  font-size: 1rem !important;
  line-height: 1.15 !important;
}

.admin-quick-menu button small{
  line-height: 1.25 !important;
}

.login-card{
  margin-left: auto !important;
  margin-right: auto !important;
}

/* status de sessão */
.session-hint{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(216,175,67,.12);
  color: #C89C3A;
  font-weight: 900;
}

@media(max-width: 1100px){
  .panel-header{
    grid-template-columns: 1fr !important;
  }

  .admin-actions{
    justify-content: start !important;
    width: 100% !important;
  }

  .maintenance-control-grid.fixed-hours-card{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .maintenance-actions{
    grid-template-columns: 1fr !important;
  }
}

@media(max-width: 760px){
  .admin-shell{
    padding: 12px 10px !important;
  }

  .panel-header{
    padding: 22px 18px !important;
    border-radius: 26px !important;
  }

  .panel-header h1{
    font-size: clamp(2.2rem, 12vw, 3.4rem) !important;
  }

  .admin-actions{
    grid-template-columns: 1fr !important;
    display: grid !important;
  }

  .admin-menu-trigger{
    order: -1 !important;
    height: 58px !important;
  }

  .maintenance-control-section,
  .user-settings-section,
  .commercial-panel,
  .contacts-box,
  .admin-section-block{
    padding: 18px !important;
    border-radius: 26px !important;
  }

  .contacts-head{
    display: grid !important;
  }

  .contacts-head h2{
    font-size: clamp(2rem, 10vw, 3rem) !important;
  }

  .maintenance-control-grid.fixed-hours-card{
    grid-template-columns: 1fr !important;
  }

  .admin-quick-menu{
    inset: 10px auto auto 10px !important;
    width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
  }

  .admin-quick-menu > button:not(#adminMenuClose){
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }

  .admin-quick-menu button .menu-marker,
  .admin-quick-menu button span{
    width: 48px !important;
    height: 48px !important;
  }
}


/* =========================================================
   ALVIONTE ADMIN - REFINO FINAL DE ORGANIZAÇÃO
   ========================================================= */
:root{
  --admin-font: Inter, "Segoe UI", Arial, sans-serif;
  --admin-title: Georgia, "Times New Roman", serif;
  --admin-navy:#061B35;
  --admin-navy-2:#09274C;
  --admin-gold:#D6A936;
  --admin-cream:#FFFCF6;
  --admin-paper:#F7F5F0;
  --admin-muted:#68707A;
}

body,
input,
select,
textarea,
button{
  font-family: var(--admin-font) !important;
}

.admin-shell{
  max-width: 1320px !important;
  padding: 22px 16px !important;
}

.panel{
  max-width: 1320px !important;
}

.panel-header{
  border-radius: 26px !important;
  padding: 26px 30px !important;
  min-height: auto !important;
}

.panel-header h1{
  font-family: var(--admin-title) !important;
  font-size: clamp(2.6rem, 5.4vw, 4.8rem) !important;
  line-height: .95 !important;
  letter-spacing: -.04em !important;
  margin: 4px 0 4px !important;
}

.panel-header span{
  font-size: 1rem !important;
  line-height: 1.45 !important;
}

.kicker{
  font-size: .72rem !important;
  letter-spacing: .20em !important;
}

.maintenance-control-section,
.user-settings-section,
.commercial-panel,
.contacts-box,
.admin-section-block{
  padding: 24px !important;
  border-radius: 26px !important;
  margin-top: 18px !important;
}

.contacts-head{
  align-items: center !important;
  padding-bottom: 14px !important;
  margin-bottom: 18px !important;
}

.contacts-head h2,
.maintenance-control-section h2,
.commercial-panel h2,
.admin-section-block h2{
  font-family: var(--admin-title) !important;
  font-size: clamp(2rem, 3.8vw, 3.35rem) !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
  margin: 3px 0 7px !important;
}

.admin-subtitle,
.contacts-head span{
  font-size: .96rem !important;
  line-height: 1.45 !important;
}

.maintenance-control-grid.fixed-hours-card{
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.fixed-hours-card article,
.commercial-metrics article{
  padding: 18px 20px !important;
  border-radius: 22px !important;
  min-height: 104px !important;
}

.fixed-hours-card article strong,
.commercial-metrics article strong{
  font-size: 1rem !important;
}

.fixed-hours-card article span,
.commercial-metrics article small{
  font-size: .92rem !important;
}

.maintenance-actions{
  grid-template-columns: minmax(220px, 1fr) 210px 240px !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.maintenance-actions input,
.maintenance-actions button,
.admin-form input,
.admin-form button,
.settings-form input,
.settings-form button,
.admin-grid-form input,
.admin-grid-form select,
.admin-grid-form button,
.whatsapp-actions-top select,
.whatsapp-actions-top button{
  min-height: 52px !important;
  padding: 13px 16px !important;
  font-size: .94rem !important;
  border-radius: 16px !important;
}

.maintenance-actions button,
.admin-form button,
.settings-form button,
.admin-grid-form button,
.whatsapp-actions-top button,
.whatsapp-reply-actions button{
  border-radius: 999px !important;
  font-weight: 900 !important;
}

.commercial-metrics{
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.commercial-metrics article span{
  font-size: 1.35rem !important;
}

.commercial-grid,
.tracking-wrap{
  gap: 14px !important;
}

.chart-card,
.tracking-form-card,
.tracking-list-card,
.budget-card,
.settings-card,
.whatsapp-thread-list-card,
.whatsapp-conversation-card{
  padding: 18px !important;
  border-radius: 22px !important;
}

.admin-grid-form{
  gap: 12px !important;
}

.whatsapp-connection-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  margin:0 0 16px;
  border-radius:24px;
  border:1px solid rgba(8,29,58,.10);
  background:linear-gradient(135deg,#fff,#FFFCF6);
  box-shadow:0 16px 42px rgba(8,29,58,.08);
}

.whatsapp-connection-card h3{
  margin:4px 0 5px;
  color:var(--admin-navy);
  font-size:1.25rem;
  line-height:1.2;
}

.whatsapp-connection-card span{
  display:block;
  color:var(--admin-muted);
  font-weight:800;
  line-height:1.35;
}

.whatsapp-connection-card.ok{
  border-color:rgba(18,140,82,.22);
}

.whatsapp-connection-card.ok h3{
  color:#128C52;
}

.whatsapp-connection-card.warn{
  border-color:rgba(180,35,24,.24);
}

.whatsapp-connection-card.warn h3{
  color:#B42318;
}

.whatsapp-dashboard-grid{
  grid-template-columns: minmax(280px,.82fr) minmax(420px,1.55fr) !important;
  gap: 14px !important;
}

.whatsapp-thread-list{
  max-height: 520px !important;
}

.whatsapp-messages{
  max-height: 500px !important;
}

.whatsapp-bubble p{
  font-size:.93rem !important;
  line-height:1.45 !important;
}

.admin-quick-menu{
  width:min(380px, calc(100vw - 28px)) !important;
  border-radius:24px !important;
}

.admin-quick-menu > button:not(#adminMenuClose){
  min-height:68px !important;
  border-radius:18px !important;
}

.admin-quick-menu button .menu-marker,
.admin-quick-menu button span{
  width:44px !important;
  height:44px !important;
  border-radius:15px !important;
  font-size:.78rem !important;
}

.admin-quick-menu button strong{
  font-size:.94rem !important;
}

.admin-quick-menu button small{
  font-size:.78rem !important;
}

@media(max-width:1180px){
  .commercial-metrics{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .maintenance-control-grid.fixed-hours-card{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .maintenance-actions{
    grid-template-columns:1fr !important;
  }

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

@media(max-width:760px){
  .admin-shell{
    padding:10px !important;
  }

  .panel-header,
  .maintenance-control-section,
  .user-settings-section,
  .commercial-panel,
  .contacts-box,
  .admin-section-block{
    padding:16px !important;
    border-radius:22px !important;
  }

  .panel-header h1{
    font-size: clamp(2.3rem, 12vw, 3.5rem) !important;
  }

  .contacts-head{
    display:grid !important;
    gap:10px !important;
  }

  .contacts-head h2{
    font-size: clamp(2rem, 10vw, 3rem) !important;
  }

  .commercial-metrics,
  .maintenance-control-grid.fixed-hours-card{
    grid-template-columns:1fr !important;
  }

  .whatsapp-connection-card{
    display:grid !important;
  }

  .whatsapp-connection-card button{
    width:100% !important;
  }
}


/* =========================================================
   HOTFIX FINAL - BOTÕES E CONTROLE DE MANUTENÇÃO
   ========================================================= */
.maintenance-actions{
  display:grid !important;
  grid-template-columns: minmax(220px, 1fr) minmax(190px, 240px) minmax(220px, 270px) !important;
  gap: 14px !important;
  align-items: end !important;
  width: 100% !important;
  overflow: visible !important;
}

.maintenance-actions label{
  min-width: 0 !important;
  width: 100% !important;
}

.maintenance-actions input{
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.maintenance-actions button{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 54px !important;
  padding: 12px 18px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere !important;
  font-size: .9rem !important;
}

.maintenance-actions button#toggleSiteBtn{
  border-radius: 999px !important;
}

.maintenance-actions button#toggleFormBtn{
  border-radius: 999px !important;
}

@media(max-width: 1180px){
  .maintenance-actions{
    grid-template-columns: 1fr !important;
  }

  .maintenance-actions button{
    white-space: normal !important;
  }
}

@media(max-width: 760px){
  .maintenance-actions{
    gap: 10px !important;
  }

  .maintenance-actions button{
    min-height: 56px !important;
    font-size: .88rem !important;
  }
}


/* =========================================================
   ADMIN - PERFIL LOGADO, CEOS ATIVOS E SEÇÕES RETRÁTEIS
   ========================================================= */
body,
input,
select,
textarea,
button{
  font-weight: 500 !important;
}

strong,
h1,
h2,
h3,
.kicker,
button,
.admin-section-toggle strong,
.ceo-pill strong,
.logged-admin-card h2{
  font-weight: 800 !important;
}

p,
span,
small,
label,
.admin-subtitle,
.whatsapp-bubble p,
.activity-item span,
.fixed-hours-card article span{
  font-weight: 500 !important;
}

.admin-identity-section{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(360px,1.4fr);
  gap:16px;
  margin:18px 0;
}

.logged-admin-card,
.active-ceos-card{
  border:1px solid rgba(216,175,67,.28);
  background:linear-gradient(135deg,#FFFCF6,#F8F8F6);
  border-radius:26px;
  padding:18px;
  box-shadow:0 16px 42px rgba(8,29,58,.10);
}

.logged-admin-card{
  display:flex;
  align-items:center;
  gap:16px;
}

.logged-avatar{
  width:68px;
  height:68px;
  border-radius:22px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:linear-gradient(135deg,#081D3A,#0A2E5E);
  color:#E8C96D;
  border:1px solid rgba(216,175,67,.42);
  font-size:1.3rem;
  font-weight:900;
  letter-spacing:.08em;
}

.logged-admin-card h2{
  margin:2px 0 4px;
  color:#081D3A;
  font-size:1.5rem !important;
  line-height:1.1;
  font-family:var(--admin-font, "Segoe UI", Arial, sans-serif) !important;
}

.logged-admin-card span,
.active-ceos-card small{
  color:#68707A;
  line-height:1.35;
}

.identity-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.identity-head h3{
  color:#081D3A;
  margin:2px 0 0;
  font-size:1.1rem;
  font-family:var(--admin-font, "Segoe UI", Arial, sans-serif) !important;
}

.active-ceos-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.ceo-pill{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(8,29,58,.08);
  background:#fff;
  border-radius:18px;
  padding:10px;
  min-width:0;
}

.ceo-pill > span{
  width:42px;
  height:42px;
  border-radius:15px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:rgba(216,175,67,.16);
  color:#081D3A;
  font-size:.82rem;
  font-weight:900 !important;
}

.ceo-pill div{
  min-width:0;
}

.ceo-pill strong{
  display:block;
  color:#081D3A;
  font-size:.92rem;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ceo-pill small{
  display:block;
  margin-top:2px;
  font-size:.78rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.admin-collapsible{
  padding:0 !important;
  overflow:hidden !important;
}

.admin-section-toggle{
  width:100%;
  border:0;
  background:linear-gradient(135deg,#FFFCF6,#F7F5F0) !important;
  color:#081D3A !important;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  text-align:left;
  padding:20px 24px !important;
  border-radius:26px 26px 0 0 !important;
  cursor:pointer;
  box-shadow:none !important;
}

.admin-section-toggle span{
  display:grid;
  gap:3px;
}

.admin-section-toggle strong{
  color:#081D3A;
  font-size:1.12rem;
  line-height:1.15;
}

.admin-section-toggle small{
  color:#68707A;
  font-size:.86rem;
  line-height:1.25;
}

.admin-section-toggle i{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#081D3A;
  color:#fff;
  font-style:normal;
  font-size:1.4rem;
  line-height:1;
}

.admin-section-content{
  padding:22px 24px 24px;
  border-top:1px solid rgba(8,29,58,.08);
  animation: adminFadeUp .24s ease both;
}

.admin-collapsible.is-collapsed .admin-section-content{
  display:none;
}

.admin-collapsible.is-collapsed{
  margin-bottom:12px !important;
}

.admin-collapsible.is-collapsed .admin-section-toggle{
  border-radius:26px !important;
}

.admin-collapsible .contacts-head{
  margin-top:0 !important;
}

/* Reduz exageros visuais após organizar em sanfona */
.contacts-head h2,
.maintenance-control-section h2,
.commercial-panel h2,
.admin-section-block h2{
  font-size:clamp(1.65rem,2.6vw,2.45rem) !important;
}

.panel-header h1{
  font-size:clamp(2.35rem,4.8vw,4.1rem) !important;
}

.commercial-metrics article,
.fixed-hours-card article{
  min-height:auto !important;
}

/* Melhor leitura no painel WhatsApp */
.whatsapp-bubble p{
  font-weight:500 !important;
}

.whatsapp-thread span,
.whatsapp-thread small{
  font-weight:500 !important;
}

@media(max-width:980px){
  .admin-identity-section{
    grid-template-columns:1fr;
  }

  .active-ceos-list{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .logged-admin-card{
    align-items:flex-start;
  }

  .logged-avatar{
    width:58px;
    height:58px;
    border-radius:18px;
  }

  .admin-section-toggle{
    padding:17px !important;
  }

  .admin-section-content{
    padding:18px 16px 20px;
  }

  .admin-section-toggle strong{
    font-size:1rem;
  }

  .admin-section-toggle small{
    font-size:.8rem;
  }
}


/* ===== Correção definitiva da sanfona administrativa ===== */
.admin-collapsible{
  overflow:hidden !important;
}

.admin-collapsible .admin-section-content{
  display:block !important;
  overflow:hidden !important;
  max-height:5000px;
  opacity:1;
  padding:22px 24px 24px !important;
  border-top:1px solid rgba(8,29,58,.08);
  transition:max-height .38s ease, opacity .24s ease, padding .28s ease, border-color .24s ease;
}

.admin-collapsible.is-collapsed .admin-section-content{
  max-height:0 !important;
  opacity:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  border-top-color:transparent !important;
  pointer-events:none;
}

.admin-collapsible.is-collapsed .admin-section-toggle{
  border-radius:26px !important;
}

.admin-collapsible.is-open .admin-section-toggle{
  border-radius:26px 26px 0 0 !important;
}

.admin-section-toggle i{
  transition:transform .24s ease, background .24s ease;
}

.admin-collapsible.is-open .admin-section-toggle i{
  transform:rotate(180deg);
  background:#D8AF43 !important;
  color:#081D3A !important;
}

.admin-section-toggle{
  position:relative;
  z-index:2;
}

.admin-section-toggle:hover{
  filter:brightness(1.01);
}


/* =========================================================
   CEOS ATIVOS + AUTOATUALIZAÇÃO + LOADING NOS BOTÕES
   ========================================================= */
.ceo-pill{
  position:relative;
  border-color:rgba(8,29,58,.10) !important;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.ceo-pill.online{
  border-color:rgba(18,140,82,.34) !important;
  background:linear-gradient(135deg,#F3FFF8,#FFFFFF) !important;
  box-shadow:0 16px 38px rgba(18,140,82,.10) !important;
}

.ceo-pill.online::after{
  content:"";
  position:absolute;
  top:13px;
  right:13px;
  width:11px;
  height:11px;
  border-radius:999px;
  background:#16A34A;
  box-shadow:0 0 0 5px rgba(22,163,74,.12), 0 0 18px rgba(22,163,74,.55);
}

.ceo-pill.online > span{
  background:linear-gradient(135deg,#16A34A,#0F8A3B) !important;
  color:#fff !important;
  border-color:rgba(22,163,74,.25) !important;
}

.ceo-pill.offline{
  opacity:.78;
}

.ceo-pill em{
  display:block;
  margin-top:3px;
  color:#68707A;
  font-style:normal;
  font-size:.76rem;
  line-height:1.25;
}

.ceo-pill.online em{
  color:#128C52;
  font-weight:700 !important;
}

button.is-loading{
  position:relative;
  color:transparent !important;
  pointer-events:none;
  opacity:.88;
}

button.is-loading::after{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  top:50%;
  left:50%;
  margin-top:-9px;
  margin-left:-9px;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.55);
  border-top-color:#081D3A;
  animation:alvionteSpin .72s linear infinite;
}

button.ghost.is-loading::after{
  border-color:rgba(255,255,255,.35);
  border-top-color:#fff;
}

@keyframes alvionteSpin{
  to{transform:rotate(360deg);}
}

/* Mantém o painel limpo sem botões manuais de atualização */
#refreshCommercialBtn,
#refreshWhatsAppBtn,
#refreshContactsBtn,
#refreshTicketsBtn,
#refreshTicketsBtn2,
#refreshReviewsBtn,
#refreshReviewsBtn2,
#refreshActivityLogBtn{
  display:none !important;
}

/* Tipografia menos pesada no administrativo */
.panel p,
.panel span,
.panel small,
.panel label,
.panel input,
.panel select,
.panel textarea{
  font-weight:500 !important;
}

.panel strong,
.panel h1,
.panel h2,
.panel h3,
.panel .kicker{
  font-weight:800 !important;
}

.active-ceos-card .kicker,
.logged-admin-card .kicker{
  color:#B88D24 !important;
}


/* ===== Ajustes finais de manutenção administrativa ===== */
#maintenanceMinutesInput:disabled{
  opacity:.68;
  cursor:not-allowed;
  background:#EFEDE7 !important;
}

#supportSettingsSection{
  display:none !important;
}


/* ===== Comercial automático: orçamento e acompanhamento ===== */
.auto-tracking-card{
  min-height:100%;
}

.auto-tracking-info{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.auto-tracking-info article{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  border:1px solid rgba(216,175,67,.24);
  border-radius:18px;
  background:#FFFCF6;
  padding:12px;
}

.auto-tracking-info article strong{
  width:42px;
  height:42px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#081D3A;
  color:#E8C96D;
}

.auto-tracking-info article span{
  color:#4B5563;
  line-height:1.45;
}

.tracking-actions select,
.tracking-actions input,
.tracking-actions button{
  min-width:0;
}

.tracking-actions{
  grid-template-columns:repeat(3,minmax(140px,1fr)) minmax(220px,1.5fr) auto !important;
}

@media(max-width:1100px){
  .tracking-actions{
    grid-template-columns:1fr !important;
  }
}


/* ===== Gestão de acessos e permissões ===== */
.access-manager-card{
  grid-column:1 / -1;
}

.access-user-form.hidden{
  display:none !important;
}

.permission-guide{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:18px 0;
}

.permission-guide article{
  border:1px solid rgba(216,175,67,.22);
  border-radius:18px;
  background:#FFFCF6;
  padding:13px;
}

.permission-guide strong{
  display:block;
  color:#081D3A;
  font-size:.92rem;
  margin-bottom:4px;
}

.permission-guide span{
  color:#6B7280;
  font-size:.82rem;
  line-height:1.35;
}

.access-users-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.access-user-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border:1px solid rgba(8,29,58,.10);
  border-radius:18px;
  background:#fff;
  padding:13px;
}

.access-user-item.active{
  border-color:rgba(18,140,82,.25);
  background:linear-gradient(135deg,#F3FFF8,#fff);
}

.access-user-item.blocked{
  opacity:.75;
}

.access-user-item strong{
  display:block;
  color:#081D3A;
  font-size:1rem;
}

.access-user-item span,
.access-user-item small{
  display:block;
  color:#68707A;
  line-height:1.35;
}

.access-user-item button{
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:#081D3A;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  flex:0 0 auto;
}

@media(max-width:1000px){
  .permission-guide{ grid-template-columns:1fr 1fr; }
}

@media(max-width:620px){
  .permission-guide{ grid-template-columns:1fr; }
  .access-user-item{ display:grid; }
  .access-user-item button{ width:100%; }
}


/* =========================================================
   Ajuste final: Central de Atendimento, sanfonas e histórico
   ========================================================= */
.panel{
  max-width:1520px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.admin-section-block,
.commercial-panel,
.contacts-box,
.whatsapp-admin-panel{
  margin-left:auto !important;
  margin-right:auto !important;
  width:100% !important;
}

.admin-section-content{
  padding:26px 30px 30px !important;
}

.contacts-head{
  align-items:center !important;
  gap:20px !important;
}

.contacts-head h2,
.commercial-panel h2,
.maintenance-control-section h2{
  line-height:1.05 !important;
}

.commercial-grid,
.whatsapp-grid,
.settings-grid,
.maintenance-grid{
  gap:22px !important;
}

.commercial-metrics,
.fixed-hours-grid,
.maintenance-cards{
  gap:16px !important;
}

.contacts-list,
.activity-log-list{
  display:grid;
  gap:14px;
}

.reviews-admin-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;
}

.activity-log-controls{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:14px;
  align-items:end;
  margin:0 0 18px;
  padding:18px;
  border:1px solid rgba(216,175,67,.24);
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#FFFCF6);
}

.activity-log-controls label{
  display:grid;
  gap:8px;
  color:#081D3A;
  font-weight:800;
}

.activity-log-controls select,
.activity-log-controls button{
  min-height:48px;
  border-radius:16px;
  border:1px solid rgba(8,29,58,.12);
  padding:10px 14px;
  font-weight:700;
}

.activity-log-controls button{
  border:0;
  background:linear-gradient(135deg,#E8C96D,#C89C3A);
  color:#081D3A;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(200,156,58,.18);
}

.activity-terminal{
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(216,175,67,.28);
  background:#051425;
  box-shadow:0 24px 70px rgba(8,29,58,.18);
}

.terminal-bar{
  display:flex;
  align-items:center;
  gap:8px;
  padding:13px 16px;
  background:linear-gradient(135deg,#061B35,#0A2546);
  border-bottom:1px solid rgba(216,175,67,.22);
}

.terminal-bar span{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#D8AF43;
  opacity:.9;
}

.terminal-bar span:nth-child(2){
  background:#E8C96D;
  opacity:.75;
}

.terminal-bar span:nth-child(3){
  background:#ffffff;
  opacity:.55;
}

.terminal-bar strong{
  margin-left:8px;
  color:#E8C96D;
  font-size:.85rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.terminal-screen{
  max-height:460px;
  overflow:auto;
  padding:16px;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    #04101E;
  background-size:28px 28px;
  font-family:"Consolas","Courier New",monospace;
}

.terminal-line{
  border:1px solid rgba(216,175,67,.12);
  border-radius:16px;
  padding:13px 14px;
  background:rgba(255,255,255,.035);
  color:#DDE7F3;
}

.terminal-line + .terminal-line{
  margin-top:10px;
}

.terminal-index{
  color:#E8C96D;
  font-weight:900;
  margin-right:10px;
}

.terminal-date{
  color:#7DD3FC;
  margin-right:10px;
}

.terminal-author{
  color:#86EFAC;
  margin-right:10px;
}

.terminal-line strong{
  color:#fff;
  font-size:.95rem;
}

.terminal-line p{
  margin:8px 0 0;
  color:#B8C4D6;
  line-height:1.55;
  font-size:.9rem;
}

.admin-collapsible .admin-section-toggle{
  min-height:92px;
}

.admin-collapsible.is-open{
  box-shadow:0 26px 80px rgba(8,29,58,.14) !important;
}

.whatsapp-admin-panel .contacts-head h2::after{
  content:"";
  display:block;
  width:78px;
  height:4px;
  border-radius:999px;
  margin-top:12px;
  background:linear-gradient(90deg,#E8C96D,#B88D24);
}

@media(max-width:900px){
  .activity-log-controls{
    grid-template-columns:1fr;
  }

  .admin-section-content{
    padding:20px 16px 22px !important;
  }

  .contacts-head{
    display:grid !important;
  }
}


/* ===== Correção final: carregamento seguro do painel administrativo ===== */
.login-card.hidden,
.panel.hidden{
  display:none !important;
}

body.panel-open .panel{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
}

body.panel-open .login-card{
  display:none !important;
}

.global-status.ok,
.status.ok{
  color:#128C52 !important;
  font-weight:800 !important;
}

.global-status.err,
.status.err{
  color:#B42318 !important;
  font-weight:800 !important;
}


/* Correção da logo do título no painel */
.brand-block img,
.logo-frame img {
  width: min(330px, 92%) !important;
  height: auto !important;
  object-fit: contain !important;
  max-height: 128px !important;
}

.logo-frame {
  overflow: visible !important;
}


/* Correção final da logo completa no painel administrativo */
.brand-block img,
.logo-frame img {
  width: min(420px, 96%) !important;
  height: auto !important;
  object-fit: contain !important;
  max-height: 150px !important;
}

.logo-frame {
  overflow: visible !important;
  min-height: 150px !important;
}


/* =========================================================
   Correção final de espaçamento do painel administrativo
   ========================================================= */
.panel {
  display: grid !important;
  gap: 30px !important;
  padding-bottom: 48px !important;
}

.panel > section,
.panel > .admin-section-block,
.panel > .commercial-panel,
.panel > .contacts-box,
.panel > .whatsapp-admin-panel,
.panel > .admin-hero {
  margin-bottom: 0 !important;
}

.admin-hero {
  padding: clamp(28px, 4vw, 54px) !important;
  border-radius: 32px !important;
}

.admin-hero h1 {
  margin: 10px 0 12px !important;
  line-height: 1.02 !important;
}

.admin-hero p,
.admin-subtitle,
.contacts-head span,
.commercial-panel p,
.settings-card p,
.maintenance-control-section p {
  line-height: 1.65 !important;
}

.admin-section-toggle {
  padding: 22px 26px !important;
  gap: 18px !important;
}

.admin-section-toggle span {
  display: grid !important;
  gap: 5px !important;
}

.admin-section-toggle strong {
  line-height: 1.25 !important;
}

.admin-section-toggle small {
  line-height: 1.45 !important;
}

.admin-section-content {
  display: grid !important;
  gap: 26px !important;
  padding: 28px 32px 34px !important;
}

.contacts-head,
.commercial-head,
.whatsapp-head {
  margin-bottom: 8px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid rgba(8, 29, 58, .08) !important;
}

.contacts-head > div,
.commercial-head > div,
.whatsapp-head > div {
  display: grid !important;
  gap: 8px !important;
}

.kicker {
  margin: 0 0 4px !important;
  line-height: 1.25 !important;
}

.contacts-head h2,
.commercial-panel h2,
.whatsapp-admin-panel h2,
.maintenance-control-section h2,
.admin-section-content h2 {
  margin: 0 !important;
  line-height: 1.08 !important;
}

.maintenance-grid,
.maintenance-cards,
.commercial-grid,
.commercial-metrics,
.settings-grid,
.whatsapp-grid,
.fixed-hours-grid,
.access-user-form,
.permission-guide,
.access-users-list,
.contacts-list,
.activity-log-list,
.reviews-admin-grid,
.auto-tracking-info {
  gap: 18px !important;
}

.maintenance-cards,
.commercial-metrics,
.fixed-hours-grid {
  margin-top: 4px !important;
}

.maintenance-card,
.metric-card,
.settings-card,
.budget-item,
.tracking-item,
.ticket-item,
.contact-item,
.review-item,
.access-user-item,
.auto-tracking-info article {
  padding: 22px !important;
  border-radius: 22px !important;
}

.maintenance-card,
.metric-card,
.settings-card {
  display: grid !important;
  gap: 10px !important;
}

.maintenance-card strong,
.metric-card strong,
.settings-card h3,
.budget-item strong,
.tracking-item strong,
.ticket-item strong,
.contact-item strong,
.review-item strong {
  display: block !important;
  line-height: 1.25 !important;
  margin: 0 0 4px !important;
}

.maintenance-card span,
.metric-card span,
.budget-item span,
.tracking-item span,
.ticket-item span,
.contact-item span,
.review-item span,
.access-user-item span,
.access-user-item small {
  display: block !important;
  line-height: 1.55 !important;
  margin-top: 4px !important;
}

.tracking-item,
.budget-item,
.ticket-item,
.contact-item,
.review-item {
  display: grid !important;
  gap: 12px !important;
}

.tracking-item-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(8, 29, 58, .08) !important;
}

.tracking-actions,
.ticket-actions,
.review-actions {
  margin-top: 8px !important;
  gap: 12px !important;
  align-items: center !important;
}

.tracking-actions input,
.tracking-actions select,
.tracking-actions button,
.ticket-actions input,
.ticket-actions select,
.ticket-actions button,
.review-actions button,
.settings-form input,
.settings-form select,
.settings-form button,
.maintenance-control-section input,
.maintenance-control-section button {
  min-height: 48px !important;
  line-height: 1.35 !important;
}

.settings-form {
  display: grid !important;
  gap: 16px !important;
}

.form-duo {
  gap: 16px !important;
}

.settings-form label,
.activity-log-controls label {
  display: grid !important;
  gap: 8px !important;
  line-height: 1.35 !important;
}

.activity-log-controls {
  gap: 16px !important;
  padding: 20px !important;
  margin-bottom: 18px !important;
}

.activity-terminal {
  margin-top: 4px !important;
}

.terminal-screen {
  padding: 18px !important;
}

.terminal-line {
  display: grid !important;
  gap: 7px !important;
  padding: 16px !important;
  line-height: 1.5 !important;
}

.terminal-line p {
  margin-top: 4px !important;
  line-height: 1.6 !important;
}

.global-status,
.status {
  margin-top: 10px !important;
  line-height: 1.55 !important;
}

.admin-quick-menu-panel {
  display: grid !important;
  gap: 12px !important;
}

.admin-quick-menu-panel button {
  padding: 18px !important;
  min-height: 76px !important;
}

.admin-quick-menu-panel button div {
  display: grid !important;
  gap: 4px !important;
}

.admin-quick-menu-panel button strong {
  line-height: 1.22 !important;
}

.admin-quick-menu-panel button small {
  line-height: 1.35 !important;
}

@media (max-width: 900px) {
  .panel {
    gap: 22px !important;
  }

  .admin-section-content {
    padding: 22px 16px 26px !important;
    gap: 20px !important;
  }

  .admin-section-toggle {
    padding: 18px !important;
  }

  .tracking-item-head {
    display: grid !important;
  }

  .maintenance-card,
  .metric-card,
  .settings-card,
  .budget-item,
  .tracking-item,
  .ticket-item,
  .contact-item,
  .review-item,
  .access-user-item {
    padding: 18px !important;
  }
}

/* ===== Perfil com foto - administrador, equipe e CEOs ===== */
.profile-config-card{
  grid-column:1 / -1;
}

.profile-config-grid{
  grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);
  align-items:stretch;
  margin-top:14px;
}

.logged-avatar.has-photo,
.ceo-avatar.has-photo,
.access-avatar.has-photo{
  padding:0 !important;
  overflow:hidden;
  background:#fff !important;
  color:transparent !important;
}

.logged-avatar.has-photo img,
.ceo-avatar.has-photo img,
.access-avatar.has-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:inherit;
}

.ceo-avatar{
  overflow:hidden;
}

.access-user-item{
  grid-template-columns:auto 1fr auto;
  align-items:center;
}

.access-avatar{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#081D3A,#0A2E5E);
  color:#E8C96D;
  font-weight:900;
  border:1px solid rgba(216,175,67,.34);
  flex:0 0 auto;
}

.profile-avatar img.show{
  display:block;
}

.profile-form input[type="file"]{
  padding:12px;
  background:#FFFCF6;
}

@media(max-width:900px){
  .profile-config-grid{
    grid-template-columns:1fr;
  }
  .access-user-item{
    grid-template-columns:auto 1fr;
  }
  .access-user-item button{
    grid-column:1 / -1;
  }
}


/* ===== Upload de foto para usuários gerenciados ===== */
.access-photo-config{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(200,156,58,.18);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,252,246,.96), rgba(255,255,255,.94));
}

.access-photo-preview{
  width:66px;
  height:66px;
  border-radius:22px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#081D3A,#0A2E5E);
  color:#E8C96D;
  font-weight:900;
  border:1px solid rgba(216,175,67,.38);
}

.access-photo-preview img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:none;
}

.access-photo-preview img.show{
  display:block;
}

.access-photo-config input[type="file"]{
  padding:12px;
  background:#FFFCF6;
}

.hidden{
  display:none !important;
}

@media(max-width:760px){
  .access-photo-config{
    grid-template-columns:1fr;
    justify-items:stretch;
  }
  .access-photo-preview{
    margin:auto;
  }
}

/* Segurança visual dos acessos e animações premium */
.access-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.danger-btn{
  background:linear-gradient(135deg,#d85a5a,#a92828)!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(184,59,59,.22)!important;
}
.danger-btn:hover{
  transform:translateY(-3px) scale(1.02)!important;
  background:linear-gradient(135deg,#ff7979,#b83b3b)!important;
  box-shadow:0 20px 42px rgba(184,59,59,.34)!important;
}
.security-warning{
  display:grid;
  gap:6px;
  margin:14px 0 18px;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(8,29,58,.06);
  border:1px solid rgba(200,156,58,.28);
  color:var(--navy);
}
.security-warning strong{color:var(--gold);font-weight:900}.security-warning span{color:var(--gray);font-weight:700;line-height:1.5}
.access-user-item,.settings-card,.dashboard-card,.status-card,.commercial-metrics article,.whatsapp-thread-item,button,.link-btn{
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease, color .25s ease;
}
.access-user-item:hover,.settings-card:hover,.dashboard-card:hover,.status-card:hover,.commercial-metrics article:hover,.whatsapp-thread-item:hover{
  transform:translateY(-5px);
  border-color:rgba(200,156,58,.58)!important;
  box-shadow:0 26px 64px rgba(8,29,58,.16),0 12px 28px rgba(200,156,58,.10)!important;
}
.access-user-item:hover strong,.settings-card:hover h3,.dashboard-card:hover strong,.status-card:hover strong{
  color:var(--gold)!important;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at var(--admin-pointer-x,80%) var(--admin-pointer-y,20%), rgba(224,185,95,.20), transparent 24rem);
  z-index:0;
}
.admin-shell,.login-card,.panel{position:relative;z-index:1}
@media (prefers-reduced-motion: reduce){.access-user-item,.settings-card,.dashboard-card,.status-card,.commercial-metrics article,.whatsapp-thread-item,button,.link-btn{transition:none!important}}


/* ===== Refinamento das imagens e cartões do painel administrativo ===== */
.active-ceos-list{
  gap:16px !important;
}
.ceo-pill{
  align-items:center !important;
  gap:14px !important;
  padding:16px !important;
  min-height:96px;
  border-radius:24px !important;
  background:linear-gradient(145deg,#ffffff,#f7f4ee) !important;
  box-shadow:0 16px 38px rgba(8,29,58,.08);
}
.ceo-pill > span,
.access-avatar{
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  line-height:1 !important;
  text-align:center !important;
  flex-shrink:0;
}
.ceo-pill > span{
  width:64px !important;
  height:64px !important;
  border-radius:22px !important;
  font-size:1.05rem !important;
  letter-spacing:.02em !important;
  box-shadow:0 12px 28px rgba(8,29,58,.14);
}
.ceo-pill > span img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ceo-pill div{
  min-width:0;
  display:grid;
  gap:4px;
}
.ceo-pill strong{
  font-size:1rem !important;
  white-space:normal !important;
}
.ceo-pill small,
.ceo-pill em{
  white-space:normal !important;
}
.access-user-item{
  grid-template-columns:auto minmax(0,1fr) auto !important;
  gap:14px;
  min-height:92px;
  padding:16px 18px !important;
  border-radius:24px !important;
  background:linear-gradient(145deg,#ffffff,#f8f5ee) !important;
}
.access-avatar{
  width:62px !important;
  height:62px !important;
  border-radius:20px !important;
  font-size:1.02rem !important;
  box-shadow:0 12px 28px rgba(8,29,58,.12);
}
.access-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.access-user-item strong{
  font-size:1rem;
}
.access-user-item span,
.access-user-item small{
  line-height:1.45;
}
.profile-avatar,
.access-photo-preview{
  box-shadow:0 18px 40px rgba(8,29,58,.18), 0 0 0 1px rgba(255,255,255,.6) inset !important;
}
@media (max-width: 860px){
  .ceo-pill{
    min-height:unset;
    padding:14px !important;
  }
  .ceo-pill > span,
  .access-avatar{
    width:56px !important;
    height:56px !important;
    border-radius:18px !important;
  }
  .access-user-item{
    grid-template-columns:auto 1fr !important;
  }
  .access-actions{
    grid-column:1 / -1;
    justify-content:flex-start !important;
  }
}


/* ===== Orçamento manual no painel comercial ===== */
.manual-budget-card{
  border:1px solid rgba(216,175,67,.28) !important;
  background:linear-gradient(135deg,#FFFFFF 0%,#FFFCF3 100%) !important;
}
.manual-budget-form{
  display:grid;
  gap:14px;
  margin-top:14px;
}
.manual-budget-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.manual-budget-form label{
  display:grid;
  gap:7px;
  color:#081D3A;
  font-weight:800;
  font-size:13px;
}
.manual-budget-form input,
.manual-budget-form select,
.manual-budget-form textarea{
  width:100%;
  border:1px solid rgba(8,29,58,.14);
  background:#FFFFFF;
  border-radius:14px;
  padding:12px 13px;
  color:#081D3A;
  font:inherit;
  font-weight:600;
  outline:none;
  box-shadow:0 10px 26px rgba(8,29,58,.04);
}
.manual-budget-form textarea{
  resize:vertical;
  min-height:92px;
}
.manual-budget-form input:focus,
.manual-budget-form select:focus,
.manual-budget-form textarea:focus{
  border-color:#C89C3A;
  box-shadow:0 0 0 4px rgba(216,175,67,.14);
}
.manual-budget-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.manual-budget-actions button{
  border:0;
  border-radius:14px;
  padding:13px 18px;
  background:#081D3A;
  color:#E8C96D;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 32px rgba(8,29,58,.16);
}
.manual-budget-actions button:disabled{
  opacity:.65;
  cursor:not-allowed;
}
.manual-budget-actions .status{
  margin:0 !important;
  min-height:20px;
}
@media(max-width:1180px){
  .manual-budget-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .manual-budget-grid{grid-template-columns:1fr;}
  .manual-budget-actions{display:grid;align-items:stretch;}
}

/* ===== Central profissional de e-mails administrativos ===== */
.email-admin-panel{
  margin:22px 0 26px;
  padding:18px;
  border:1px solid rgba(214,169,54,.22);
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 8%, rgba(214,169,54,.12), transparent 24rem),
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,244,235,.94));
  box-shadow:0 20px 55px rgba(8,29,58,.08);
}
.email-connection-card{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:18px 20px;
  border-radius:24px;
  background:linear-gradient(135deg,#061B35,#0B315D);
  color:#fff;
  box-shadow:0 18px 45px rgba(8,29,58,.18);
}
.email-connection-card h3{margin:0 0 5px;font-size:1.25rem}
.email-connection-card span{display:block;color:#c4d4ee;line-height:1.55;max-width:720px}
.email-dashboard-grid{
  display:grid;
  grid-template-columns:minmax(280px, .88fr) minmax(420px, 1.35fr);
  gap:18px;
  margin-top:18px;
}
.email-thread-list-card,
.email-conversation-card{
  border:1px solid rgba(214,169,54,.18);
  border-radius:26px;
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 45px rgba(8,29,58,.07);
  overflow:hidden;
}
.email-thread-list-card{padding:16px;}
.email-thread-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;
  max-height:610px;
  overflow:auto;
  padding-right:4px;
}
.email-thread{
  appearance:none;
  text-align:left;
  border:1px solid rgba(214,169,54,.22);
  border-radius:20px;
  padding:14px;
  background:linear-gradient(145deg,#fff,#fbf6ec);
  color:#081D3A;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(8,29,58,.06);
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.email-thread:hover,
.email-thread.active{
  transform:translateY(-3px);
  border-color:rgba(214,169,54,.55);
  background:linear-gradient(145deg,#fffdf7,#f6ead2);
  box-shadow:0 18px 36px rgba(8,29,58,.12);
}
.email-thread-type{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(214,169,54,.16);
  color:#8c6a16;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
}
.email-thread strong,
.email-thread small,
.email-thread span,
.email-thread p,
.email-thread em{
  display:block;
}
.email-thread strong{font-size:.96rem;line-height:1.3;margin-bottom:3px}
.email-thread small{color:#69758a;word-break:break-word;margin-bottom:6px}
.email-thread span:not(.email-thread-type){color:#263854;font-weight:800;font-size:.85rem;margin-bottom:5px}
.email-thread p{color:#6b7280;font-size:.83rem;line-height:1.45;margin:0 0 8px}
.email-thread em{font-style:normal;color:#8a8f99;font-size:.78rem}
.email-conversation-card{display:grid;grid-template-rows:auto minmax(360px,1fr) auto;min-height:690px;}
.email-conversation-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:18px 20px;
  background:linear-gradient(135deg,#fffdf8,#f8f0df);
  border-bottom:1px solid rgba(214,169,54,.18);
}
.email-conversation-head strong{display:block;color:#081D3A;font-size:1.05rem;margin-bottom:5px}
.email-conversation-head span{display:block;color:#667085;font-size:.9rem;line-height:1.45;word-break:break-word}
.email-messages{
  padding:18px 20px;
  overflow:auto;
  background:
    radial-gradient(circle at 8% 0%, rgba(214,169,54,.08), transparent 18rem),
    linear-gradient(180deg,#fff,#fbf7ef);
}
.email-bubble{
  max-width:82%;
  margin:0 0 14px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(214,169,54,.18);
  box-shadow:0 10px 24px rgba(8,29,58,.06);
}
.email-bubble.inbound{
  background:#fff;
  margin-right:auto;
}
.email-bubble.outbound{
  background:linear-gradient(135deg,#061B35,#0b315d);
  color:#fff;
  margin-left:auto;
  border-color:rgba(214,169,54,.24);
}
.email-bubble div{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}
.email-bubble strong{font-size:.92rem}
.email-bubble small{font-size:.76rem;color:inherit;opacity:.75;white-space:nowrap}
.email-bubble span{display:block;font-weight:800;margin-bottom:7px;color:inherit;opacity:.9}
.email-bubble p{margin:0;white-space:pre-wrap;line-height:1.58;font-size:.92rem;word-break:break-word}
.email-reply-box{
  padding:18px 20px;
  border-top:1px solid rgba(214,169,54,.18);
  background:#fffdf8;
}
.email-reply-box textarea{
  width:100%;
  min-height:168px;
  resize:vertical;
  border:1px solid rgba(214,169,54,.30);
  border-radius:18px;
  padding:15px 16px;
  font:inherit;
  color:#081D3A;
  background:#fff;
  outline:none;
  box-shadow:0 12px 26px rgba(8,29,58,.05) inset;
}
.email-reply-box textarea:focus{border-color:rgba(214,169,54,.62);box-shadow:0 0 0 4px rgba(214,169,54,.12)}
.email-reply-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-top:12px;
}
.email-reply-actions span{color:#667085;font-size:.86rem;line-height:1.45}
.email-empty{
  padding:18px;
  border:1px dashed rgba(214,169,54,.3);
  border-radius:18px;
  color:#667085;
  background:rgba(255,255,255,.6);
}
.profile-link-chip{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(214,169,54,.24);
  background:rgba(214,169,54,.10);
  color:#806116;
  font-size:.76rem;
  font-weight:900;
  line-height:1.25;
  text-decoration:none;
}
.profile-link-chip.action{
  cursor:pointer;
  background:linear-gradient(135deg,#d6a936,#f1d372);
  color:#081D3A;
  border-color:rgba(214,169,54,.42);
  box-shadow:0 10px 22px rgba(214,169,54,.20);
}
.profile-link-chip.linked{background:rgba(33,150,83,.10);border-color:rgba(33,150,83,.25);color:#157347}
.profile-link-chip.muted{background:rgba(102,112,133,.08);border-color:rgba(102,112,133,.16);color:#667085}
@media (max-width: 980px){
  .email-dashboard-grid{grid-template-columns:1fr;}
  .email-conversation-card{min-height:620px;}
  .email-conversation-head,.email-reply-actions,.email-connection-card{flex-direction:column;align-items:stretch;}
  .email-bubble{max-width:94%;}
}

/* ===== Painel Comercial: e-mails, protocolos e atualização automática ===== */
.email-admin-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.email-auto-status{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(35,134,87,.10);
  color:#1f6f4a;
  border:1px solid rgba(35,134,87,.18);
  font-size:.78rem;
  font-weight:800;
}
.email-auto-status::before{
  content:"";
  width:8px;
  height:8px;
  margin-right:8px;
  border-radius:50%;
  background:#2ea86a;
  box-shadow:0 0 0 5px rgba(46,168,106,.12);
}
.email-search-wrap{
  display:grid;
  gap:8px;
  margin:0 0 14px;
  color:var(--navy);
  font-size:.85rem;
  font-weight:800;
}
.email-search-wrap input{
  width:100%;
  min-height:44px;
  padding:12px 14px;
  border:1px solid rgba(8,29,58,.12);
  border-radius:16px;
  background:#fff;
  color:var(--charcoal);
  font:inherit;
  font-weight:600;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.email-search-wrap input:focus{
  border-color:rgba(214,169,54,.65);
  box-shadow:0 0 0 4px rgba(214,169,54,.14);
  background:#fffdf8;
}
#commercialPanel .email-admin-panel{
  margin-top:24px;
}
#whatsappPanelSection .email-admin-panel{
  display:none !important;
}
@media(max-width:820px){
  .email-admin-actions{
    justify-content:flex-start;
  }
  .email-auto-status,
  .email-admin-actions .ghost{
    width:100%;
    justify-content:center;
  }
}

/* ===== Anexos de imagem no painel ===== */
.admin-attachment-field{
  display:grid;
  gap:8px;
  padding:14px;
  margin-top:12px;
  border-radius:16px;
  background:rgba(8,29,58,.045);
  border:1px dashed rgba(200,156,58,.48);
  color:var(--navy);
  font-weight:800;
}
.admin-attachment-field input{
  width:100%;
  padding:10px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(8,29,58,.12);
}
.admin-attachment-field small{
  color:#667085;
  font-size:.82rem;
  line-height:1.45;
  font-weight:600;
}
.admin-attachment-preview,
.message-attachments{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}
.image-attachment-thumb,
.message-attachment-thumb{
  width:96px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(200,156,58,.28);
  background:#fff;
  box-shadow:0 10px 22px rgba(8,29,58,.08);
}
.image-attachment-thumb img,
.message-attachment-thumb img{
  width:100%;
  height:72px;
  object-fit:cover;
  display:block;
}
.image-attachment-thumb span,
.message-attachment-thumb span{
  display:block;
  padding:6px 7px;
  color:#667085;
  font-size:.72rem;
  line-height:1.25;
  word-break:break-word;
  background:#FFFCF6;
}
.message-attachment-thumb{width:144px}
.message-attachment-thumb img{height:106px}
.email-message .message-attachments,
.whatsapp-message .message-attachments{
  margin-top:12px;
}
@media(max-width:720px){
  .message-attachment-thumb{width:46%}
}


/* ===== Correção definitiva: métricas e gráficos do Painel Comercial ===== */
.commercial-panel{
  overflow:hidden !important;
}

.commercial-metrics{
  grid-template-columns:repeat(5,minmax(170px,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}

.commercial-metrics article{
  position:relative !important;
  min-height:122px !important;
  padding:20px 22px !important;
  display:grid !important;
  grid-template-rows:auto 1fr auto !important;
  gap:8px !important;
  overflow:hidden !important;
}

.commercial-metrics article::before{
  content:"" !important;
  position:absolute !important;
  inset:auto -20px -34px auto !important;
  width:112px !important;
  height:112px !important;
  border-radius:50% !important;
  background:radial-gradient(circle, rgba(216,175,67,.18), transparent 68%) !important;
  pointer-events:none !important;
}

.commercial-metrics .menu-marker{
  width:max-content !important;
  min-width:42px !important;
  padding:7px 10px !important;
  border-radius:14px !important;
  display:inline-grid !important;
  place-items:center !important;
  color:#081D3A !important;
  background:linear-gradient(135deg,rgba(232,201,109,.32),rgba(255,255,255,.82)) !important;
  border:1px solid rgba(216,175,67,.28) !important;
  font-size:.9rem !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
}

.commercial-metrics article strong{
  display:block !important;
  font-family:"Montserrat",Arial,sans-serif !important;
  font-size:clamp(2rem,2.4vw,2.65rem) !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  font-weight:950 !important;
  color:#081D3A !important;
  margin:4px 0 0 !important;
}

.commercial-metrics article small{
  display:block !important;
  max-width:100% !important;
  color:#6F747C !important;
  font-size:.9rem !important;
  line-height:1.32 !important;
  font-weight:850 !important;
}

.commercial-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr) !important;
  align-items:start !important;
}

.commercial-grid .chart-card{
  min-height:auto !important;
  height:auto !important;
  overflow:hidden !important;
}

.commercial-grid .chart-card:first-child{
  display:grid !important;
  grid-template-rows:auto auto !important;
}

#salesChart{
  display:block !important;
  width:100% !important;
  height:240px !important;
  max-height:240px !important;
  min-height:240px !important;
  margin-top:4px !important;
  border-radius:18px !important;
}

.partner-list{
  max-height:290px !important;
  overflow:auto !important;
  padding-right:4px !important;
}

@media(max-width:1180px){
  .commercial-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .commercial-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:640px){
  .commercial-metrics{
    grid-template-columns:1fr !important;
  }
  .commercial-metrics article{
    min-height:112px !important;
  }
  #salesChart{
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
  }
}

/* ===== Painel administrativo minimalista ===== */
.admin-subtitle,
.admin-section-toggle small,
.admin-menu small,
.fixed-hours-card p,
.profile-help,
.photo-help,
.support-help,
.email-empty,
.whatsapp-empty {
  line-height: 1.45 !important;
}

.admin-subtitle {
  max-width: 720px !important;
  font-size: .92rem !important;
  opacity: .72 !important;
}

.admin-section-toggle small,
.admin-menu small {
  font-size: .76rem !important;
  opacity: .68 !important;
}

.admin-section-block h2,
.admin-card h2,
.commercial-dashboard h2 {
  letter-spacing: -.02em !important;
}

.admin-menu button div,
.admin-section-toggle div {
  gap: 2px !important;
}

.fixed-hours-card,
.admin-card,
.commercial-card,
.email-card,
.whatsapp-card {
  padding-top: clamp(18px, 2.3vw, 26px) !important;
  padding-bottom: clamp(18px, 2.3vw, 26px) !important;
}

.admin-item p,
.email-thread p,
.whatsapp-thread p,
.commercial-card p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


/* ===== Financeiro / DRE ===== */
.finance-panel-section .admin-section-content {
  display: grid;
  gap: 22px;
}

.finance-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.finance-filter-row label {
  display: grid;
  gap: 8px;
  color: var(--text, #081D3A);
  font-weight: 700;
}

.finance-filter-row input,
.finance-entry-form input,
.finance-entry-form select {
  min-height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(8, 29, 58, .12);
  padding: 0 14px;
  background: #fff;
}

.finance-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(200,156,58,.12);
  color: #081D3A;
  font-size: .86rem;
  font-weight: 800;
  border: 1px solid rgba(200,156,58,.22);
}

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

.finance-metric-card {
  padding: 22px;
  border-radius: 24px;
  background: linear-gradient(145deg, #fff, #f8f2e7);
  border: 1px solid rgba(200,156,58,.20);
  box-shadow: 0 18px 45px rgba(8,29,58,.08);
}

.finance-metric-card span {
  display: block;
  color: rgba(8,29,58,.62);
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.finance-metric-card strong {
  display: block;
  margin: 8px 0 4px;
  color: #081D3A;
  font-size: clamp(1.45rem, 2.6vw, 2.2rem);
  letter-spacing: -.03em;
}

.finance-metric-card small {
  color: rgba(8,29,58,.58);
  font-weight: 700;
}

.finance-metric-card.revenue {
  background: linear-gradient(145deg, rgba(228,248,236,.98), #fff);
  border-color: rgba(35,145,85,.22);
}

.finance-metric-card.expense {
  background: linear-gradient(145deg, rgba(255,236,232,.98), #fff);
  border-color: rgba(185,65,40,.18);
}

.finance-metric-card.result {
  background: linear-gradient(145deg, rgba(255,248,229,.98), #fff);
}

.financeResultMetric.negative,
#financeResultMetric.negative,
.dre-total.negative strong {
  color: #B42318 !important;
}

.finance-dre-grid {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(320px, 1fr);
  gap: 18px;
  align-items: start;
}

.finance-entry-form,
.finance-dre-card,
.finance-table-card {
  padding: 24px;
  border-radius: 26px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(8,29,58,.10);
  box-shadow: 0 18px 45px rgba(8,29,58,.07);
}

.finance-entry-form h3,
.finance-dre-card h3,
.finance-table-card h3 {
  margin: 0 0 16px;
  color: #081D3A;
}

.finance-dre-head,
.finance-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.finance-dre-head span,
.finance-table-head span {
  font-size: .82rem;
  color: rgba(8,29,58,.58);
  font-weight: 800;
}

.dre-lines {
  display: grid;
  gap: 10px;
}

.dre-lines div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(8,29,58,.035);
  border: 1px solid rgba(8,29,58,.06);
}

.dre-lines span {
  color: rgba(8,29,58,.70);
  font-weight: 700;
}

.dre-lines strong {
  color: #081D3A;
}

.dre-lines .dre-total {
  background: rgba(200,156,58,.12);
  border-color: rgba(200,156,58,.22);
}

.finance-category-box {
  margin-top: 18px;
}

.finance-category-box h4 {
  margin: 0 0 10px;
  color: #081D3A;
}

.finance-category-list {
  display: grid;
  gap: 10px;
}

.finance-category-list article {
  padding: 12px 14px;
  border-radius: 16px;
  background: #fbf8f1;
  border: 1px solid rgba(200,156,58,.14);
}

.finance-category-list span {
  display: block;
  font-weight: 800;
  color: #081D3A;
}

.finance-category-list strong {
  display: block;
  margin: 4px 0;
  color: #C89C3A;
}

.finance-category-list small {
  color: rgba(8,29,58,.58);
}

.finance-empty {
  padding: 14px;
  border-radius: 16px;
  background: rgba(8,29,58,.04);
  color: rgba(8,29,58,.64);
  font-weight: 700;
}

.finance-table-wrap {
  width: 100%;
  overflow: auto;
}

.finance-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.finance-table th,
.finance-table td {
  text-align: left;
  padding: 13px 12px;
  border-bottom: 1px solid rgba(8,29,58,.08);
  vertical-align: top;
}

.finance-table th {
  color: rgba(8,29,58,.58);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.finance-table td {
  color: #081D3A;
  font-weight: 650;
}

.finance-table td small {
  display: block;
  margin-top: 3px;
  color: rgba(8,29,58,.48);
  font-weight: 700;
}

.finance-type {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 900;
}

.finance-type.income {
  background: rgba(35,145,85,.10);
  color: #1E7A47;
}

.finance-type.expense {
  background: rgba(185,65,40,.10);
  color: #B42318;
}

.income-value {
  color: #1E7A47;
}

.expense-value {
  color: #B42318;
}

button.mini {
  min-height: 34px !important;
  padding: 0 10px !important;
  border-radius: 12px !important;
  font-size: .78rem !important;
}

button.danger {
  color: #B42318 !important;
  border-color: rgba(180,35,24,.24) !important;
}

@media (max-width: 980px) {
  .finance-metrics,
  .finance-dre-grid {
    grid-template-columns: 1fr;
  }

  .finance-dre-head,
  .finance-table-head {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* FIX_FINANCE_MENU_VISIBLE */
.admin-menu button[data-admin-section="financePanelSection"] div,
.admin-section-toggle[data-toggle-section="financePanelSection"] span {
  min-width: 0;
}

.admin-menu button[data-admin-section="financePanelSection"] strong,
.admin-menu button[data-admin-section="financePanelSection"] small {
  display: block;
  white-space: normal;
  line-height: 1.25;
}

.admin-menu button[data-admin-section="financePanelSection"] .menu-marker {
  flex: 0 0 auto;
}

.finance-panel-section {
  display: block;
}


/* PERMISSION_VISIBILITY_FIX */
.permission-hidden {
  display: none !important;
}
