/* ==========================================================================
   VivaMed Cloud - Admin & CMS Stylesheet
   ========================================================================== */

:root {
  --admin-sidebar-bg: #0f172a;
  --admin-sidebar-text: #94a3b8;
  --admin-sidebar-active: #00a86b;
  --admin-bg: #f8fafc;
  --admin-card-bg: #ffffff;
  --admin-border: #e2e8f0;
  --admin-text: #1e293b;
  --admin-primary: #00a86b;
}

body.admin-body {
  background-color: var(--admin-bg);
  color: var(--admin-text);
  font-family: 'Inter', system-ui, sans-serif;
  margin: 0;
  display: flex;
  min-height: 100vh;
}

.admin-layout {
  display: flex;
  width: 100%;
}

/* Sidebar */
.admin-sidebar {
  width: 260px;
  background-color: var(--admin-sidebar-bg);
  color: var(--admin-sidebar-text);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  min-height: 100vh;
}

.admin-brand {
  padding: 1.5rem;
  border-bottom: 1px solid #1e293b;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.admin-brand img {
  height: 32px;
  filter: brightness(0) invert(1);
}
.admin-brand span {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  color: #ffffff;
  font-size: 1.05rem;
}

.admin-nav {
  padding: 1.25rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  list-style: none;
  flex: 1;
}

.admin-nav-item a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  color: var(--admin-sidebar-text);
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.15s ease;
}
.admin-nav-item a:hover {
  background: #1e293b;
  color: #ffffff;
}
.admin-nav-item.active a {
  background: var(--admin-primary);
  color: #ffffff;
  font-weight: 600;
}

.admin-user-bar {
  padding: 1.25rem;
  border-top: 1px solid #1e293b;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.85rem;
}

/* Conteúdo Principal */
.admin-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}

.admin-header {
  height: 70px;
  background: #ffffff;
  border-bottom: 1px solid var(--admin-border);
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.admin-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #0f172a;
}

.admin-content {
  padding: 2rem;
  flex: 1;
}

/* Cards de Métricas */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.stat-card {
  background: #ffffff;
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.stat-card-title {
  font-size: 0.85rem;
  color: #64748b;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.stat-card-value {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 2rem;
  font-weight: 800;
  color: #0f172a;
}

/* Painéis de Conteúdo */
.admin-card {
  background: #ffffff;
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  padding: 1.75rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  margin-bottom: 2rem;
}

.admin-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--admin-border);
}

/* Tabelas */
.admin-table-wrap {
  overflow-x: auto;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 0.9rem;
}

.admin-table th {
  background: #f8fafc;
  padding: 0.85rem 1rem;
  color: #475569;
  font-weight: 600;
  border-bottom: 1px solid var(--admin-border);
}

.admin-table td {
  padding: 1rem;
  border-bottom: 1px solid var(--admin-border);
  color: #334155;
}

.admin-table tr:hover td {
  background: #f8fafc;
}

/* Status Badges */
.badge-status {
  display: inline-block;
  padding: 0.25rem 0.65rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}
.badge-novo { background: #dbeafe; color: #1e40af; }
.badge-contato_iniciado { background: #fef3c7; color: #92400e; }
.badge-demonstracao_agendada { background: #e0e7ff; color: #3730a3; }
.badge-demonstracao_realizada { background: #f3e8ff; color: #6b21a8; }
.badge-em_negociacao { background: #ffedd5; color: #9a3412; }
.badge-cliente { background: #dcfce7; color: #166534; }
.badge-perdido { background: #fee2e2; color: #991b1b; }

/* Grid de Screenshots no Admin */
.admin-screenshots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
}

.admin-screenshot-item {
  border: 1px solid var(--admin-border);
  border-radius: 10px;
  overflow: hidden;
  background: #ffffff;
  display: flex;
  flex-direction: column;
}

.admin-screenshot-thumb {
  height: 180px;
  background: #0f172a;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.admin-screenshot-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-screenshot-info {
  padding: 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* Telas de Login */
.login-body {
  background: #0f172a;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}

.login-card {
  width: 100%;
  max-width: 420px;
  background: #ffffff;
  border-radius: 16px;
  padding: 2.5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* ========================================================================== 
   Admin UI v4 — componentes, formulários e responsividade
   ========================================================================== */
* { box-sizing: border-box; }
body.admin-body { font-size: 15px; line-height: 1.5; }
.admin-main { min-width: 0; }
.admin-header { position: sticky; top: 0; z-index: 30; height: 76px; padding: 0 2rem; box-shadow: 0 1px 0 rgba(15,23,42,.03); }
.admin-title { margin: 0; font-size: 1.25rem; }
.admin-content { width: 100%; max-width: 1600px; margin: 0 auto; padding: 2rem; }
.admin-card { border-radius: 16px; padding: 1.75rem; box-shadow: 0 8px 30px rgba(15,23,42,.035); }
.admin-card-header h2,.admin-card-header h3 { margin: 0; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:40px; padding:.65rem 1rem; border:1px solid transparent; border-radius:9px; font:600 .875rem/1 'Inter',sans-serif; text-decoration:none; cursor:pointer; transition:.18s ease; white-space:nowrap; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--admin-primary); color:#fff; box-shadow:0 5px 14px rgba(0,168,107,.16); }
.btn-primary:hover { background:#008e5b; }
.btn-outline { background:#fff; color:#334155; border-color:#cbd5e1; }
.btn-outline:hover { background:#f8fafc; border-color:#94a3b8; }
.btn-sm { min-height:34px; padding:.5rem .75rem; font-size:.8rem; }
.btn-lg { min-height:46px; padding:.8rem 1.15rem; }
.btn-danger { background:#fff; color:#dc2626; border-color:#fecaca; }
.btn-danger:hover { background:#fef2f2; border-color:#fca5a5; }

/* Forms */
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem 1.35rem; }
.form-col-2 { grid-column:1 / -1; }
.form-group { display:flex; flex-direction:column; gap:.45rem; min-width:0; }
.form-label { display:block; color:#334155; font-size:.82rem; font-weight:700; letter-spacing:.01em; }
.form-input,.form-select,.form-textarea { display:block; width:100%; min-width:0; min-height:44px; padding:.72rem .85rem; border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:#0f172a; font:400 .9rem/1.35 'Inter',sans-serif; transition:border-color .15s,box-shadow .15s; }
.form-textarea { min-height:104px; resize:vertical; }
.form-input::placeholder,.form-textarea::placeholder { color:#94a3b8; }
.form-input:focus,.form-select:focus,.form-textarea:focus { outline:0; border-color:#00a86b; box-shadow:0 0 0 3px rgba(0,168,107,.11); }
input[type=file].form-input { padding:.45rem; }
input[type=file].form-input::file-selector-button { border:0; border-radius:7px; background:#eaf8f2; color:#047857; padding:.55rem .75rem; margin-right:.75rem; font-weight:700; cursor:pointer; }
.form-checkbox-label { display:flex; align-items:flex-start; gap:.7rem; padding:.8rem .9rem; border:1px solid #e2e8f0; border-radius:9px; background:#f8fafc; color:#475569; font-size:.86rem; cursor:pointer; }
.form-checkbox-label input { width:17px; height:17px; margin:.08rem 0 0; accent-color:var(--admin-primary); flex:0 0 auto; }
.form-help { display:block; color:#64748b; font-size:.78rem; line-height:1.45; }

/* Settings sections */
.admin-settings-shell { max-width:1180px; margin:0 auto; }
.settings-section { margin-top:1.2rem; padding:1.35rem; border:1px solid #e2e8f0; border-radius:13px; background:#fbfdff; }
.settings-section:first-of-type { margin-top:0; }
.settings-section-title { display:flex; align-items:center; gap:.7rem; margin:0 0 1.1rem; padding-bottom:.85rem; border-bottom:1px solid #e2e8f0; color:#0f172a; font:700 1rem/1.2 'Plus Jakarta Sans',sans-serif; }
.settings-section-number { display:inline-flex; width:28px; height:28px; align-items:center; justify-content:center; border-radius:8px; background:#eaf8f2; color:#047857; font-size:.78rem; }
.settings-actions { position:sticky; bottom:0; z-index:5; display:flex; justify-content:flex-end; margin:1.5rem -1.75rem -1.75rem; padding:1rem 1.75rem; border-top:1px solid #e2e8f0; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-radius:0 0 16px 16px; }

/* Upload zone */
.upload-zone { padding:1.25rem; border:1.5px dashed #94a3b8; border-radius:12px; background:#f8fafc; }
.upload-zone:hover { border-color:#00a86b; background:#f5fffa; }

/* Alerts */
.alert { margin:0 0 1.25rem; padding:.9rem 1rem; border:1px solid; border-radius:10px; font-size:.88rem; font-weight:600; }
.alert-success { background:#ecfdf5; color:#047857; border-color:#a7f3d0; }
.alert-danger,.alert-error { background:#fef2f2; color:#b91c1c; border-color:#fecaca; }
.alert-warning { background:#fffbeb; color:#92400e; border-color:#fde68a; }

/* Tables */
.admin-table-wrap { border:1px solid #e2e8f0; border-radius:11px; overflow:auto; }
.admin-table { min-width:720px; }
.admin-table th { position:sticky; top:0; z-index:1; background:#f8fafc; font-size:.76rem; text-transform:uppercase; letter-spacing:.035em; }
.admin-table td { vertical-align:middle; }

/* Screenshots */
.admin-screenshots-grid { grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.25rem; }
.admin-screenshot-item { border-radius:13px; box-shadow:0 4px 16px rgba(15,23,42,.035); transition:.18s ease; }
.admin-screenshot-item:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(15,23,42,.07); }
.admin-screenshot-thumb { height:190px; }
.admin-screenshot-thumb img { object-fit:cover; }
.admin-screenshot-info { padding:1rem 1.05rem 1.05rem; }

/* Dashboard */
.stats-grid { gap:1rem; }
.stat-card { border-radius:14px; }
.admin-dashboard-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:1.25rem; }

/* Mobile sidebar */
.admin-mobile-toggle { display:none; width:40px; height:40px; align-items:center; justify-content:center; border:1px solid #e2e8f0; border-radius:9px; background:#fff; color:#0f172a; cursor:pointer; }
.admin-sidebar-overlay { display:none; }

@media (max-width: 1050px) {
  .admin-sidebar { width:230px; }
  .admin-content { padding:1.5rem; }
  .admin-dashboard-grid { grid-template-columns:1fr; }
}
@media (max-width: 820px) {
  .admin-sidebar { position:fixed; left:-280px; top:0; bottom:0; z-index:100; width:270px; transition:left .2s ease; box-shadow:20px 0 50px rgba(15,23,42,.2); }
  body.admin-menu-open .admin-sidebar { left:0; }
  body.admin-menu-open .admin-sidebar-overlay { display:block; position:fixed; inset:0; z-index:90; background:rgba(15,23,42,.45); }
  .admin-mobile-toggle { display:inline-flex; }
  .admin-header { padding:0 1rem; height:66px; }
  .admin-header-left { display:flex; align-items:center; gap:.75rem; min-width:0; }
  .admin-title { font-size:1rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .admin-content { padding:1rem; }
  .admin-card { padding:1.1rem; border-radius:13px; }
  .form-grid { grid-template-columns:1fr; }
  .form-col-2 { grid-column:auto; }
  .settings-actions { margin:1.25rem -1.1rem -1.1rem; padding:.85rem 1.1rem; }
  .admin-screenshots-grid { grid-template-columns:1fr; }
}
@media (max-width: 520px) {
  .admin-header .btn { font-size:0; width:40px; padding:0; }
  .admin-header .btn::after { content:'↗'; font-size:1rem; }
  .admin-card-header { align-items:flex-start; gap:.8rem; }
  .admin-card-header .btn { flex:0 0 auto; }
  .settings-section { padding:1rem; }
}

/* ========================================================================== 
   Admin UI v5 — controles globais modernos
   Aplica-se inclusive a telas legadas que ainda não usam classes .btn/.form-*
   ========================================================================== */
:root {
  --admin-control-h: 44px;
  --admin-control-radius: 11px;
  --admin-focus-ring: 0 0 0 4px rgba(0,168,107,.12);
}

/* Todos os botões e links de ação do admin */
.admin-content button,
.admin-content input[type="submit"],
.admin-content input[type="button"],
.admin-content input[type="reset"],
.admin-content a.btn,
.admin-header a.btn {
  appearance: none;
  -webkit-appearance: none;
  min-height: var(--admin-control-h);
  padding: 0 1rem;
  border: 1px solid transparent;
  border-radius: var(--admin-control-radius);
  background: var(--admin-primary);
  color: #fff;
  font: 700 .875rem/1 'Inter', sans-serif;
  letter-spacing: -.005em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 5px 14px rgba(0,168,107,.14);
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.admin-content button:hover,
.admin-content input[type="submit"]:hover,
.admin-content input[type="button"]:hover,
.admin-content input[type="reset"]:hover,
.admin-content a.btn:hover,
.admin-header a.btn:hover {
  background: #008e5b;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,168,107,.18);
}
.admin-content button:focus-visible,
.admin-content input[type="submit"]:focus-visible,
.admin-content input[type="button"]:focus-visible,
.admin-content input[type="reset"]:focus-visible,
.admin-content a.btn:focus-visible,
.admin-header a.btn:focus-visible {
  outline: none;
  box-shadow: var(--admin-focus-ring);
}
.admin-content button:active,
.admin-content input[type="submit"]:active,
.admin-content input[type="button"]:active,
.admin-content input[type="reset"]:active { transform: translateY(0); }
.admin-content button:disabled,
.admin-content input[type="submit"]:disabled,
.admin-content input[type="button"]:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Respeita variantes já existentes */
.admin-content .btn-outline,
.admin-header .btn-outline {
  background: #fff;
  color: #334155;
  border-color: #cbd5e1;
  box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.admin-content .btn-outline:hover,
.admin-header .btn-outline:hover { background:#f8fafc; color:#0f172a; border-color:#94a3b8; }
.admin-content .btn-danger,
.admin-content button.btn-danger,
.admin-content input.btn-danger {
  background:#fff;
  color:#dc2626;
  border-color:#fecaca;
  box-shadow:none;
}
.admin-content .btn-danger:hover,
.admin-content button.btn-danger:hover,
.admin-content input.btn-danger:hover { background:#fef2f2; border-color:#fca5a5; color:#b91c1c; }
.admin-content .btn-sm,
.admin-header .btn-sm { min-height:38px; padding:0 .85rem; font-size:.8rem; border-radius:9px; }
.admin-content .btn-lg { min-height:48px; padding:0 1.25rem; }

/* Checkboxes e radios — maiores, modernos e com alvo de toque confortável */
.admin-content input[type="checkbox"],
.admin-content input[type="radio"] {
  appearance:none;
  -webkit-appearance:none;
  width:22px;
  height:22px;
  min-width:22px;
  margin:0;
  border:2px solid #b8c4d3;
  background:#fff;
  display:inline-grid;
  place-content:center;
  vertical-align:middle;
  cursor:pointer;
  transition:.15s ease;
}
.admin-content input[type="checkbox"] { border-radius:7px; }
.admin-content input[type="radio"] { border-radius:50%; }
.admin-content input[type="checkbox"]::before {
  content:"";
  width:10px;
  height:6px;
  border-left:2.4px solid #fff;
  border-bottom:2.4px solid #fff;
  transform:rotate(-45deg) scale(0);
  transform-origin:center;
  margin-top:-2px;
  transition:transform .12s ease;
}
.admin-content input[type="checkbox"]:checked {
  background:var(--admin-primary);
  border-color:var(--admin-primary);
  box-shadow:0 3px 9px rgba(0,168,107,.18);
}
.admin-content input[type="checkbox"]:checked::before { transform:rotate(-45deg) scale(1); }
.admin-content input[type="radio"]::before {
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  transform:scale(0);
  transition:transform .12s ease;
}
.admin-content input[type="radio"]:checked { background:var(--admin-primary); border-color:var(--admin-primary); }
.admin-content input[type="radio"]:checked::before { transform:scale(1); }
.admin-content input[type="checkbox"]:hover,
.admin-content input[type="radio"]:hover { border-color:var(--admin-primary); }
.admin-content input[type="checkbox"]:focus-visible,
.admin-content input[type="radio"]:focus-visible { outline:none; box-shadow:var(--admin-focus-ring); }
.admin-content input[type="checkbox"]:disabled,
.admin-content input[type="radio"]:disabled { opacity:.45; cursor:not-allowed; }

/* Labels que contêm checkbox ganham área clicável e alinhamento consistente */
.admin-content label:has(input[type="checkbox"]),
.admin-content label:has(input[type="radio"]) {
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  min-height:38px;
  cursor:pointer;
  font-weight:600;
  color:#334155;
}
.admin-content .form-checkbox-label { min-height:48px; align-items:center; padding:.75rem .9rem; }
.admin-content .form-checkbox-label input { width:22px; height:22px; min-width:22px; margin:0; }

/* Inputs legados também recebem proporção coerente com os novos controles */
.admin-content input[type="text"],
.admin-content input[type="email"],
.admin-content input[type="password"],
.admin-content input[type="tel"],
.admin-content input[type="url"],
.admin-content input[type="number"],
.admin-content input[type="date"],
.admin-content input[type="datetime-local"],
.admin-content select,
.admin-content textarea {
  min-height:44px;
  padding:.7rem .82rem;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  color:#0f172a;
  font:500 .9rem/1.35 'Inter',sans-serif;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.admin-content textarea { min-height:105px; }
.admin-content input:focus,
.admin-content select:focus,
.admin-content textarea:focus { outline:none; border-color:var(--admin-primary); box-shadow:var(--admin-focus-ring); }

/* Links de ação em tabelas/cards que não possuem classe passam a parecer controles */
.admin-table td a:not(.btn),
.admin-screenshot-info a:not(.btn) {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 .75rem;
  border:1px solid #cbd5e1;
  border-radius:9px;
  background:#fff;
  color:#334155;
  font-size:.8rem;
  font-weight:700;
  text-decoration:none;
  transition:.15s ease;
}
.admin-table td a:not(.btn):hover,
.admin-screenshot-info a:not(.btn):hover { border-color:#94a3b8; background:#f8fafc; color:#0f172a; }

/* Botões próximos não ficam amontoados */
.admin-card form + form,
.admin-screenshot-info form + form { margin-left:.4rem; }
.admin-card-header { gap:1rem; }

@media (max-width: 520px) {
  :root { --admin-control-h: 46px; }
  .admin-content button,
  .admin-content input[type="submit"],
  .admin-content input[type="button"],
  .admin-content a.btn { max-width:100%; }
  .admin-content input[type="checkbox"],
  .admin-content input[type="radio"] { width:23px; height:23px; min-width:23px; }
}

/* ========================================================================== 
   Admin UI v6 — estrutura SaaS VivaMed (cache-busted no layout)
   ========================================================================== */
:root{
  --vm-admin-green:#0f9f75;
  --vm-admin-green-dark:#087a5a;
  --vm-admin-navy:#101828;
  --vm-admin-muted:#667085;
  --vm-admin-line:#e4e7ec;
  --vm-admin-soft:#f7f9fc;
}
.admin-content{max-width:1680px;padding:32px 36px 56px;background:#f7f9fc}
.admin-card{border:1px solid #e5eaf0;border-radius:20px;padding:30px;background:#fff;box-shadow:0 8px 28px rgba(16,24,40,.045)}
.admin-card-header{margin-bottom:24px;padding-bottom:20px}
.admin-card-header h2,.admin-card-header h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.025em}
.admin-card-header p{font-size:.94rem!important;line-height:1.55}

/* Forms: labels always above, fields large and full-width */
.admin-content .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}
.admin-content .form-group{gap:8px}
.admin-content .form-label{font-size:.88rem;font-weight:700;color:#344054}
.admin-content .form-input,.admin-content .form-select,.admin-content .form-textarea,
.admin-content input[type=text],.admin-content input[type=email],.admin-content input[type=password],
.admin-content input[type=tel],.admin-content input[type=url],.admin-content input[type=number],
.admin-content input[type=date],.admin-content input[type=datetime-local],.admin-content select,.admin-content textarea{
  width:100%!important;max-width:none!important;min-height:50px;padding:12px 15px;border:1px solid #d0d5dd;border-radius:12px;
  background:#fff;font-size:.94rem;box-shadow:0 1px 2px rgba(16,24,40,.03)
}
.admin-content textarea,.admin-content .form-textarea{min-height:128px;line-height:1.5}
.admin-content select,.admin-content .form-select{padding-right:42px}
.admin-content input:focus,.admin-content select:focus,.admin-content textarea:focus{border-color:#35b995;box-shadow:0 0 0 4px rgba(15,159,117,.11)}

/* Settings becomes a real set of cards */
.admin-settings-shell{max-width:1320px}
.admin-settings-shell>form{display:grid;grid-template-columns:1fr;gap:18px}
.settings-section{margin:0;padding:24px;border:1px solid #e4e7ec;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fcfdfd 100%);box-shadow:0 2px 8px rgba(16,24,40,.025)}
.settings-section-title{margin:0 0 20px;padding:0 0 16px;font-size:1.03rem}
.settings-section-number{width:34px;height:34px;border-radius:10px;background:#eafaf4;color:#087a5a;font-size:.84rem}
.settings-actions{margin:2px 0 0;padding:18px 0 0;border-radius:0;background:transparent;backdrop-filter:none}

/* Switch treatment for option rows */
.admin-content .form-checkbox-label{position:relative;min-height:58px;padding:12px 15px;border:1px solid #e4e7ec;border-radius:13px;background:#f9fafb;gap:12px}
.admin-content .form-checkbox-label input[type=checkbox]{width:42px;height:24px;min-width:42px;border:0;border-radius:999px;background:#d0d5dd;box-shadow:none;position:relative}
.admin-content .form-checkbox-label input[type=checkbox]::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;margin:0;border:0;border-radius:50%;background:#fff;transform:none;box-shadow:0 1px 3px rgba(16,24,40,.25);transition:left .16s ease}
.admin-content .form-checkbox-label input[type=checkbox]:checked{background:var(--vm-admin-green)}
.admin-content .form-checkbox-label input[type=checkbox]:checked::before{left:21px;transform:none}

/* Standalone checkboxes remain modern squares */
.admin-content label:not(.form-checkbox-label)>input[type=checkbox]{width:22px;height:22px;min-width:22px;border:2px solid #b8c4d3;border-radius:7px;background:#fff}
.admin-content label:not(.form-checkbox-label)>input[type=checkbox]:checked{background:var(--vm-admin-green);border-color:var(--vm-admin-green)}

/* Buttons */
.admin-content .btn,.admin-content button,.admin-content input[type=submit],.admin-header .btn{min-height:46px;border-radius:12px;padding:0 18px;font-size:.88rem;font-weight:750;box-shadow:none}
.admin-content .btn-primary,.admin-content button:not(.btn-outline):not(.btn-danger),.admin-content input[type=submit]{background:var(--vm-admin-green)}
.admin-content .btn-primary:hover,.admin-content button:not(.btn-outline):not(.btn-danger):hover{background:var(--vm-admin-green-dark)}
.admin-content .btn-outline,.admin-header .btn-outline{background:#fff;border-color:#d0d5dd;color:#344054}
.admin-content .btn-danger{background:#fff5f5;border-color:#fecaca;color:#c62828}

/* Upload component */
.upload-zone{padding:22px;border:1.5px dashed #98a2b3;border-radius:16px;background:#f9fafb}
.admin-content input[type=file].form-input{min-height:58px;padding:8px;background:#fff}
.admin-content input[type=file].form-input::file-selector-button{min-height:40px;border-radius:10px;padding:0 14px;background:#eafaf4;color:#087a5a}

/* FAQ create panel */
.admin-card h3 + form{padding:22px;border:1px solid #e4e7ec;border-radius:16px;background:#f9fafb}

/* CRM toolbar */
.crm-filter-bar{display:grid;grid-template-columns:minmax(280px,1fr) 230px auto auto;gap:12px;align-items:end;margin-bottom:24px;padding:16px;border:1px solid #e4e7ec;border-radius:15px;background:#f9fafb}
.crm-empty{display:flex;min-height:230px;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px dashed #d0d5dd;border-radius:16px;background:#fcfcfd;color:#98a2b3;text-align:center}

/* Tables and screenshot cards */
.admin-table-wrap{border-radius:14px;border-color:#e4e7ec}
.admin-table th{padding:13px 16px;background:#f9fafb}
.admin-table td{padding:15px 16px}
.admin-screenshot-item{border-radius:16px;border-color:#e4e7ec}
.admin-screenshot-info{padding:16px}

@media(max-width:900px){
 .admin-content{padding:22px 18px 42px}
 .admin-content .form-grid{grid-template-columns:1fr}
 .admin-content .form-col-2{grid-column:auto}
 .crm-filter-bar{grid-template-columns:1fr}
}
@media(max-width:520px){
 .admin-card{padding:20px 16px;border-radius:16px}
 .settings-section{padding:18px 14px}
 .admin-content .btn,.admin-content button,.admin-content input[type=submit]{width:100%}
}

/* v12 security, account and VMU updater */
.password-field-wrap{position:relative}.password-field-wrap .form-input{padding-right:52px}.password-toggle{position:absolute!important;right:6px;top:50%;transform:translateY(-50%);width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:17px!important}
.admin-turnstile{display:flex;justify-content:center;margin:4px 0 18px}.admin-nav-glyph{width:20px;display:inline-flex;justify-content:center;font-size:18px}
.update-warning{padding:14px 16px;border:1px solid #bae6fd;background:#f0f9ff;border-radius:12px;margin:14px 0 20px;color:#0c4a6e}
.vmu-dropzone{position:relative;display:flex;align-items:center;gap:16px;min-height:130px;padding:24px;border:2px dashed #cbd5e1;border-radius:16px;background:#f8fafc}.vmu-dropzone:hover{border-color:#00a86b;background:#f0fdf7}.vmu-dropzone input[type=file]{margin-left:auto;max-width:360px}.vmu-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#dcfce7;color:#008f5a;font-size:26px;font-weight:800}.vmu-dropzone p{margin:5px 0 0;color:#64748b;font-size:.88rem}

/* Admin UI v7 — editor de rodapé e central VMU */
.settings-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e4e7ec;margin-bottom:20px;padding-bottom:16px}.settings-section-title-row .settings-section-title{border:0;margin:0;padding:0}.settings-section-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border:1px solid #a7f3d0;border-radius:999px;background:#ecfdf5;color:#047857;font-size:.75rem;font-weight:800}.settings-section-intro{margin:-5px 0 22px;color:#667085;line-height:1.55}.footer-language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.footer-language-card{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid #e4e7ec;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.055)}.footer-language-label{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid #edf0f3;color:#101828;font-size:1rem}.footer-language-label span{font-size:1.35rem}.footer-business-card{margin-top:20px;padding:22px;border:1px solid #dce7e3;border-radius:16px;background:linear-gradient(135deg,#f7fdfb,#fff);box-shadow:0 8px 24px rgba(16,24,40,.04)}.footer-business-card h4{margin:0 0 18px;color:#101828;font:800 1rem/1.2 'Plus Jakarta Sans',sans-serif}
.update-page-shell{max-width:1220px;margin:0 auto;display:grid;gap:22px}.update-hero-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:30px;border:1px solid #d8e7e2;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f2fbf8 100%);box-shadow:0 18px 45px rgba(16,24,40,.08)}.update-hero-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:18px;background:#0f9f75;color:#fff;box-shadow:0 12px 24px rgba(15,159,117,.24)}.update-eyebrow,.update-card-kicker{display:block;margin-bottom:7px;color:#087a5a;font-size:.73rem;font-weight:850;letter-spacing:.12em}.update-hero-card h2{margin:0 0 7px;font:800 1.65rem/1.2 'Plus Jakarta Sans',sans-serif;color:#101828;letter-spacing:-.03em}.update-hero-card p{margin:0;max-width:720px;color:#667085;line-height:1.6}.update-status-pill{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid #a7f3d0;border-radius:999px;background:#fff;color:#047857;font-size:.8rem;font-weight:800;white-space:nowrap}.update-status-pill span{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.12)}.update-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.update-info-card{display:flex;align-items:flex-start;gap:14px;padding:20px;border:1px solid #e4e7ec;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.05)}.update-info-symbol{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#eafaf4;color:#087a5a;font-weight:850}.update-info-card strong{display:block;margin:2px 0 6px;color:#101828}.update-info-card p{margin:0;color:#667085;font-size:.83rem;line-height:1.5}.update-info-card code,.update-protection-banner code{padding:2px 5px;border-radius:5px;background:#eef2f6;color:#344054}.update-install-card{padding:30px;border:1px solid #e4e7ec;border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(16,24,40,.09)}.update-install-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #eaecf0}.update-install-head h3{margin:0 0 5px;color:#101828;font:800 1.35rem/1.2 'Plus Jakarta Sans',sans-serif}.update-install-head p{margin:0;color:#667085}.update-shield{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#ecfdf5;color:#047857;font-size:1.2rem;font-weight:900}.update-protection-banner{display:flex;align-items:flex-start;gap:14px;margin:22px 0;padding:17px 18px;border:1px solid #bae6fd;border-radius:15px;background:#f0f9ff;color:#0c4a6e}.update-protection-icon{font-size:1.25rem}.update-protection-banner strong{display:block;margin-bottom:4px}.update-protection-banner p{margin:0;font-size:.85rem;line-height:1.5}.update-upload-form{display:grid;gap:15px}.vmu-premium-dropzone{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:150px;padding:28px;border:2px dashed #b8c4d3;border-radius:19px;background:#f9fafb;cursor:pointer;transition:.2s ease}.vmu-premium-dropzone:hover{border-color:#0f9f75;background:#f3fcf8;box-shadow:0 10px 28px rgba(15,159,117,.08)}.vmu-premium-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.vmu-premium-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:17px;background:#e5f8f1;color:#087a5a;font:850 .9rem/1 'Plus Jakarta Sans',sans-serif;box-shadow:inset 0 0 0 1px #c6eee0}.vmu-premium-copy strong{display:block;margin-bottom:7px;color:#101828;font-size:1.05rem}.vmu-premium-copy small{display:block;color:#667085;font-size:.86rem;line-height:1.5}.vmu-premium-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 17px;border:1px solid #cfd7df;border-radius:12px;background:#fff;color:#344054;font-size:.84rem;font-weight:800;box-shadow:0 4px 12px rgba(16,24,40,.06)}.update-selected-file{min-height:46px;display:flex;align-items:center;padding:0 15px;border:1px solid #e4e7ec;border-radius:12px;background:#fcfcfd;color:#98a2b3;font-size:.86rem}.update-selected-file.has-file{border-color:#a7f3d0;background:#f0fdf4;color:#047857;font-weight:750}.update-install-button{width:100%;min-height:56px!important;font-size:.95rem!important;box-shadow:0 12px 24px rgba(15,159,117,.2)!important}
@media(max-width:1050px){.footer-language-grid{grid-template-columns:1fr}.update-info-grid{grid-template-columns:1fr}.update-hero-card{grid-template-columns:auto 1fr}.update-status-pill{grid-column:1/-1;width:max-content}.vmu-premium-dropzone{grid-template-columns:auto 1fr}.vmu-premium-action{grid-column:1/-1;width:100%}}
@media(max-width:620px){.settings-section-title-row{align-items:flex-start;flex-direction:column}.update-hero-card{grid-template-columns:1fr;padding:22px}.update-hero-icon{width:56px;height:56px}.update-install-card{padding:20px}.vmu-premium-dropzone{grid-template-columns:1fr;text-align:center}.vmu-premium-icon{margin:0 auto}.update-protection-banner{flex-direction:column}}
