/* =====================================================================
   ATOV · TEMA DE CORES (identidade do logo)
   Carregado DEPOIS do agendeme.css em todas as telas; só altera a aparência.
   Para voltar ao visual anterior basta remover este arquivo da biblioteca.

   Cores do logo:  ciano #26E0E6 · verde-limão #8CFF1A
   Ciano e limão são claros demais para texto/botão sobre branco (contraste 1,6),
   então são usados como destaque (faixas, foco, marcadores) e o teal escuro
   #0A7F86 (contraste 4,8) faz o papel de cor principal de botões e links.
   ===================================================================== */

:root {
  --ag-ciano: #26e0e6;
  --ag-ciano-suave: #e6f8f9;
  --ag-lima: #8cff1a;
  --ag-lima-suave: #eefbdc;
  --ag-teal: #0a7f86;
  --ag-teal-esc: #086a70;
  --ag-teal-2: #0b6b80;
  --ag-verde: #3f7f0c;
  --ag-verde-esc: #336a09;
  --ag-amarelo: #f5b301;
  --ag-vermelho: #c0392b;
  --ag-cinza: #5f7479;
  --ag-texto: #12343b;
  --ag-texto-2: #4a6870;
  --ag-borda: #d6e6e9;
  --ag-fundo: #f3f8f9;
  --ag-menu: #0f2e33;
  --ag-menu-2: #143a40;
  --ag-raio: 10px;
  --ag-sombra: 0 1px 2px rgba(18, 52, 59, .06), 0 4px 14px rgba(18, 52, 59, .06);
  --ag-foco: 0 0 0 .2rem rgba(38, 224, 230, .35);
  --ag-degrade: linear-gradient(90deg, var(--ag-ciano), var(--ag-lima));

  /* variáveis do Bootstrap/AdminLTE */
  --primary: #0a7f86; --info: #0b6b80; --success: #3f7f0c; --warning: #f5b301; --danger: #c0392b; --secondary: #5f7479;
}

/* ---------- Base ---------- */
body { color: var(--ag-texto); }
.content-wrapper, body.layout-fixed { background: var(--ag-fundo); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { color: var(--ag-texto); }
.content-header h1 { font-weight: 700; font-size: 1.65rem; letter-spacing: -.01em; }
.text-muted { color: #6b8389 !important; }
a { color: var(--ag-teal); }
a:hover { color: var(--ag-teal-esc); }
::selection { background: rgba(38, 224, 230, .35); }
hr { border-top-color: var(--ag-borda); }

/* ---------- Cores utilitárias ---------- */
.text-primary { color: var(--ag-teal) !important; }
.text-info { color: var(--ag-teal-2) !important; }
.text-success { color: var(--ag-verde) !important; }
.text-danger { color: var(--ag-vermelho) !important; }
.text-warning { color: #b88600 !important; }
.bg-primary, .badge-primary { background-color: var(--ag-teal) !important; color: #fff !important; }
.bg-info, .badge-info { background-color: var(--ag-teal-2) !important; color: #fff !important; }
.bg-success, .badge-success { background-color: var(--ag-verde) !important; color: #fff !important; }
.bg-warning, .badge-warning { background-color: var(--ag-amarelo) !important; color: var(--ag-texto) !important; }
.bg-danger, .badge-danger { background-color: var(--ag-vermelho) !important; color: #fff !important; }
.bg-teal { background-color: #0d9488 !important; color: #fff !important; }
.badge-secondary { background-color: var(--ag-cinza); }
.badge-light { background: #eef4f5; color: var(--ag-texto-2); }
.border-primary { border-color: var(--ag-teal) !important; }

/* ---------- Botões ---------- */
.btn { border-radius: 8px; font-weight: 600; }
.btn-sm { border-radius: 6px; }
.btn:focus, .btn.focus { box-shadow: var(--ag-foco); }
.btn-primary { background: var(--ag-teal); border-color: var(--ag-teal); color: #fff; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active {
  background: var(--ag-teal-esc); border-color: var(--ag-teal-esc); color: #fff; }
.btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active:focus { box-shadow: 0 0 0 .2rem rgba(140, 255, 26, .5); }
.btn-primary.disabled, .btn-primary:disabled { background: #6fb3b7; border-color: #6fb3b7; }
.btn-outline-primary { color: var(--ag-teal); border-color: var(--ag-teal); }
.btn-outline-primary:hover, .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active {
  background: var(--ag-teal); border-color: var(--ag-teal); color: #fff; }
.btn-success { background: var(--ag-verde); border-color: var(--ag-verde); }
.btn-success:hover, .btn-success:focus, .btn-success:not(:disabled):not(.disabled):active { background: var(--ag-verde-esc); border-color: var(--ag-verde-esc); }
.btn-outline-success { color: var(--ag-verde); border-color: var(--ag-verde); }
.btn-outline-success:hover, .btn-outline-success:not(:disabled):not(.disabled):active { background: var(--ag-verde); border-color: var(--ag-verde); color: #fff; }
.btn-info { background: var(--ag-teal-2); border-color: var(--ag-teal-2); }
.btn-info:hover, .btn-info:focus { background: #095a6c; border-color: #095a6c; }
.btn-outline-info { color: var(--ag-teal-2); border-color: var(--ag-teal-2); }
.btn-outline-info:hover { background: var(--ag-teal-2); border-color: var(--ag-teal-2); color: #fff; }
.btn-danger { background: var(--ag-vermelho); border-color: var(--ag-vermelho); }
.btn-danger:hover, .btn-danger:focus { background: #a5301f; border-color: #a5301f; }
.btn-outline-danger { color: var(--ag-vermelho); border-color: #e3b3ad; }
.btn-outline-danger:hover { background: var(--ag-vermelho); border-color: var(--ag-vermelho); color: #fff; }
.btn-warning { background: var(--ag-amarelo); border-color: var(--ag-amarelo); color: var(--ag-texto); }
.btn-outline-secondary { color: var(--ag-texto-2); border-color: var(--ag-borda); }
.btn-outline-secondary:hover, .btn-outline-secondary:not(:disabled):not(.disabled):active { background: var(--ag-ciano-suave); border-color: #b9d9dd; color: var(--ag-teal-esc); }
.btn-default { background: #fff; border-color: var(--ag-borda); color: var(--ag-texto); }
.btn-default:hover { background: var(--ag-ciano-suave); color: var(--ag-teal-esc); }
.btn-link { color: var(--ag-teal); }
.btn-tool { color: #7f979c; }
.btn-tool:hover { color: var(--ag-teal); }
.btn-group-toggle .btn.active { box-shadow: none; }

/* ---------- Formulários ---------- */
.form-control, .custom-select { border-color: var(--ag-borda); border-radius: 8px; color: var(--ag-texto); }
.form-control:focus, .custom-select:focus { border-color: var(--ag-ciano); box-shadow: var(--ag-foco); }
.form-control::placeholder { color: #9fb3b7; }
.input-group > .form-control:not(:last-child), .input-group > .custom-select:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > .form-control:not(:first-child), .input-group > .custom-select:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group-text { background: var(--ag-fundo); border-color: var(--ag-borda); color: var(--ag-teal); }
label:not(.form-check-label):not(.custom-file-label) { color: var(--ag-texto); font-weight: 600; }
.custom-control-input:checked ~ .custom-control-label::before { background-color: var(--ag-teal); border-color: var(--ag-teal); }
.custom-control-input:focus ~ .custom-control-label::before { box-shadow: var(--ag-foco); }
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { border-color: var(--ag-ciano); }
.custom-switch .custom-control-input:checked ~ .custom-control-label::after { background-color: #fff; }
.custom-range::-webkit-slider-thumb { background: var(--ag-teal); }
.custom-file-label { border-color: var(--ag-borda); }
.form-control.is-invalid, .was-validated .form-control:invalid { border-color: var(--ag-vermelho); }
.invalid-feedback { color: var(--ag-vermelho); }

/* ---------- Cartões, caixas e tabelas ---------- */
.card { border: 0; border-radius: var(--ag-raio); box-shadow: var(--ag-sombra); }
.card-header { border-bottom-color: #e6eff1; border-top-left-radius: var(--ag-raio) !important; border-top-right-radius: var(--ag-raio) !important; }
.card-title { font-weight: 700; color: var(--ag-texto); }
.card-title > i, .card-title > .fa, .card-title > .fas, .card-title > .far { color: var(--ag-teal); }
.card-footer { background: #fafcfc; border-top-color: #e6eff1; border-bottom-left-radius: var(--ag-raio) !important; border-bottom-right-radius: var(--ag-raio) !important; }
.card-primary.card-outline, .card-outline.card-primary { border-top: 3px solid var(--ag-teal); }
.card-primary:not(.card-outline) > .card-header { background: var(--ag-teal); }
.card-success.card-outline { border-top: 3px solid var(--ag-verde); }
.card-warning.card-outline { border-top: 3px solid var(--ag-amarelo); }
.card-danger.card-outline { border-top: 3px solid var(--ag-vermelho); }
.card-info.card-outline { border-top: 3px solid var(--ag-teal-2); }
.card-outline-tabs > .card-header a.active { border-top: 3px solid var(--ag-teal); }

.small-box { border-radius: var(--ag-raio); box-shadow: var(--ag-sombra); overflow: hidden; }
.small-box > .inner h3, .small-box > .inner p, .small-box h3 sup { font-weight: 700; color: inherit !important; }
.small-box > .inner p { font-weight: 400; }
[class*="bg-"] h1, [class*="bg-"] h2, [class*="bg-"] h3, [class*="bg-"] h4, [class*="bg-"] h5, [class*="bg-"] h6, [class*="bg-"] .card-title { color: inherit; }
.small-box > .small-box-footer { background: rgba(0, 0, 0, .12); }
.small-box .icon > i { opacity: .9; }
.small-box.bg-info { background: linear-gradient(135deg, #0a7f86, #0b6b80) !important; }
.small-box.bg-success { background: linear-gradient(135deg, #3f7f0c, #2f6a08) !important; }
.small-box.bg-warning { background: linear-gradient(135deg, #f8c23a, #f5b301) !important; color: var(--ag-texto) !important; }
.small-box.bg-warning .small-box-footer { color: var(--ag-texto) !important; background: rgba(18, 52, 59, .08); }
.small-box.bg-purple { background: linear-gradient(135deg, #12343b, #0f2e33) !important; color: #fff !important; }
.small-box.bg-purple .icon > i { color: var(--ag-lima); opacity: .55; }
.small-box.bg-danger { background: linear-gradient(135deg, #c0392b, #a5301f) !important; }
.small-box .icon { color: rgba(255, 255, 255, .25); }

.info-box { border-radius: var(--ag-raio); box-shadow: var(--ag-sombra); }
.info-box .info-box-icon { border-radius: 8px; }
.info-box .info-box-number { color: var(--ag-texto); }
.info-box a.info-box-number { color: var(--ag-teal); }

.table { color: var(--ag-texto); }
.table thead th { border-bottom: 1px solid var(--ag-borda); border-top: 0; color: #6b8389; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.table td, .table th { border-top-color: #e9f1f2; }
.table-hover tbody tr:hover { background: #f1fafb; color: var(--ag-texto); }
.table-striped tbody tr:nth-of-type(odd) { background: #f8fbfb; }
.td-main { font-weight: 600; }
.td-actions { white-space: nowrap; }
.td-actions .btn + .btn { margin-left: .25rem; }

.list-group-item { border-color: #e6eff1; }
.list-group-item.active { background: var(--ag-teal); border-color: var(--ag-teal); }
.list-group-item-action:hover { background: #f1fafb; }

.nav-pills .nav-link { border-radius: 8px; color: var(--ag-texto-2); }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background: var(--ag-teal); color: #fff; }
.nav-tabs .nav-link.active { color: var(--ag-teal); border-top: 2px solid var(--ag-teal); }
.nav-tabs .nav-link { color: var(--ag-texto-2); }
.page-item.active .page-link { background: var(--ag-teal); border-color: var(--ag-teal); }
.page-link { color: var(--ag-teal); border-color: var(--ag-borda); }
.page-link:focus { box-shadow: var(--ag-foco); }
.progress-bar { background: var(--ag-teal); }
.progress-bar.bg-success { background: var(--ag-verde) !important; }

.alert { border-radius: var(--ag-raio); border-width: 0 0 0 4px; }
.alert-info { background: var(--ag-ciano-suave); color: var(--ag-teal-esc); border-color: var(--ag-ciano); }
.alert-success { background: var(--ag-lima-suave); color: #33690a; border-color: #7ad11d; }
.alert-warning { background: #fff4d6; color: #7a5600; border-color: var(--ag-amarelo); }
.alert-danger { background: #fde8e8; color: #a12626; border-color: var(--ag-vermelho); }
.alert-secondary, .alert-light { background: #eef4f5; color: var(--ag-texto-2); border-color: #b9cdd1; }
.alert .alert-link { color: inherit; }
.callout { border-radius: var(--ag-raio); }
.callout.callout-info { border-left-color: var(--ag-ciano); }
.callout.callout-success { border-left-color: #7ad11d; }

.modal-content { border: 0; border-radius: 14px; box-shadow: 0 20px 50px rgba(18, 52, 59, .25); overflow: hidden; }
.modal-content::before { content: ""; display: block; height: 4px; background: var(--ag-degrade); }
.modal-header { border-bottom-color: #e6eff1; }
.modal-title { font-weight: 700; color: var(--ag-texto); }
.modal-footer { border-top-color: #e6eff1; background: #fafcfc; }
.modal-backdrop.show { opacity: .45; background: #0f2e33; }

.dropdown-menu { border: 0; border-radius: var(--ag-raio); box-shadow: 0 10px 30px rgba(18, 52, 59, .16); }
.dropdown-item:active, .dropdown-item.active { background: var(--ag-teal); }
.dropdown-item:hover { background: var(--ag-ciano-suave); color: var(--ag-teal-esc); }

/* ---------- Status dos agendamentos ---------- */
.badge { font-weight: 600; border-radius: 6px; padding: .35em .6em; }
.badge[class*="status-"] { font-size: .78rem; }
.badge.status-PENDENTE { background: #fff4d6; color: #7a5600; }
.badge.status-CONFIRMADO { background: #e6f8f9; color: #086a70; } /* fixo: o tema comemorativo não muda as cores de status */
.badge.status-CONCLUIDO { background: var(--ag-lima-suave); color: #33690a; }
.badge.status-FALTOU { background: #fde8e8; color: #a12626; }
.badge.status-CANCELADO, .badge.status-RECUSADO { background: #eef1f2; color: #4e5f63; }
.badge[class*="status-"]::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: currentColor; margin-right: 5px; vertical-align: middle; position: relative; top: -1px; }
.badge-flag { font-size: .72rem; vertical-align: middle; }

/* ---------- Barra superior ---------- */
.main-header.navbar { background: #fff; border-bottom: 0 !important; box-shadow: 0 1px 0 #e3eef0; }
.main-header.navbar::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--ag-degrade); opacity: .85; }
.navbar-light .navbar-nav .nav-link { color: var(--ag-texto-2); }
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { color: var(--ag-teal); }
.navbar-badge { font-weight: 700; }
.user-menu .user-header { background: linear-gradient(135deg, var(--ag-teal), var(--ag-menu)) !important; }
.user-menu .user-header p, .user-menu .user-header small { color: #fff !important; }
.user-menu .user-footer { background: #fafcfc; }

/* ---------- Menu lateral ---------- */
.main-sidebar, .main-sidebar::before { background: var(--ag-menu) !important; }
[class*="sidebar-dark-"] { background: var(--ag-menu) !important; }
.brand-link { border-bottom: 1px solid rgba(255, 255, 255, .07) !important; display: flex !important; align-items: center; }
.brand-link .brand-image { float: none; margin: 0 .6rem 0 .55rem; max-height: 34px; width: 34px; height: 34px; box-shadow: none !important; opacity: 1 !important; }
.brand-link .brand-text { color: #fff !important; font-weight: 300 !important; letter-spacing: .03em; }
.brand-link .brand-text b { font-weight: 700; }
.brand-link .brand-text i { font-style: normal; color: var(--ag-ciano); }
.brand-link .ag-logo { display: none; }
/* Marca ATOV no menu: aberto mostra o logo inteiro (a + tov); recolhido mostra só o ícone "a" */
.brand-link { display: flex !important; align-items: center; }
.brand-link .brand-text .ag-marca-sb { height: 30px; width: auto; margin-left: .55rem; display: block; }
.brand-link .brand-image { display: none; }
.sidebar-mini.sidebar-collapse .main-sidebar:not(:hover) .brand-link .brand-image { display: inline-block; }
.sidebar .user-panel { border-bottom-color: rgba(255, 255, 255, .07) !important; }
.sidebar .user-panel .info a { color: #e3f3f5; }
[class*="sidebar-dark"] .sidebar .nav-header { color: #6f9ba1; font-size: .72rem; font-weight: 700; letter-spacing: .08em; padding-top: 1rem; }
[class*="sidebar-dark"] .nav-sidebar > .nav-item > .nav-link { color: #b6d2d6; border-radius: 8px; }
[class*="sidebar-dark"] .nav-sidebar > .nav-item > .nav-link:hover { background: var(--ag-menu-2); color: #fff; }
[class*="sidebar-dark"] .nav-sidebar > .nav-item > .nav-link .nav-icon { color: #6fc6cc; }
[class*="sidebar-dark"] .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active {
  background: linear-gradient(90deg, rgba(38, 224, 230, .20), rgba(38, 224, 230, .06)) !important;
  color: #fff !important; box-shadow: inset 3px 0 0 var(--ag-lima) !important; }
[class*="sidebar-dark"] .nav-sidebar > .nav-item > .nav-link.active .nav-icon { color: var(--ag-ciano); }
.nav-sidebar .badge.right { top: .65rem; }

.main-footer { background: #fff; border-top-color: #e3eef0; color: #7f979c; font-size: .85rem; }
.main-footer strong { color: var(--ag-teal); }

/* ---------- Avatares (iniciais) ---------- */
.ag-avatar { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--ag-teal); color: #fff; font-weight: 700; flex-shrink: 0; line-height: 1; text-transform: uppercase; }
.ag-avatar-sm { width: 30px; height: 30px; font-size: .78rem; }
.ag-avatar-md { width: 40px; height: 40px; font-size: .95rem; }
.ag-avatar-lg { width: 90px; height: 90px; font-size: 2rem; border: 3px solid #fff; box-shadow: 0 0 0 3px var(--ag-ciano); }
.user-panel .ag-avatar { background: linear-gradient(135deg, var(--ag-ciano), var(--ag-teal)); }
.user-header .ag-avatar { background: rgba(255, 255, 255, .15); border-color: rgba(255, 255, 255, .6); box-shadow: 0 0 0 3px var(--ag-lima); margin: 0 auto; }
.navbar .user-menu .ag-avatar { margin-top: -4px; }

/* ---------- Agenda (T19 · FullCalendar) ---------- */
.fc { --fc-border-color: #e3eef0; --fc-today-bg-color: rgba(38, 224, 230, .09); --fc-now-indicator-color: var(--ag-vermelho); --fc-neutral-bg-color: #f1f5f6; }
.fc .fc-toolbar-title { color: var(--ag-texto); font-weight: 700; font-size: 1.3rem; }
.fc .fc-button-primary { background: #fff; border-color: var(--ag-borda); color: var(--ag-texto-2); font-weight: 600; text-transform: none; box-shadow: none; }
.fc .fc-button-primary:hover { background: var(--ag-ciano-suave); border-color: #b9d9dd; color: var(--ag-teal-esc); }
.fc .fc-button-primary:not(:disabled).fc-button-active, .fc .fc-button-primary:not(:disabled):active { background: var(--ag-teal); border-color: var(--ag-teal); color: #fff; }
.fc .fc-button-primary:disabled { background: #fff; border-color: var(--ag-borda); color: #9fb3b7; opacity: 1; }
.fc .fc-button-primary:focus, .fc .fc-button-primary:not(:disabled):active:focus { box-shadow: var(--ag-foco); }
.fc .fc-col-header-cell-cushion { color: var(--ag-texto-2); font-weight: 700; text-decoration: none; }
.fc .fc-daygrid-day-number, .fc .fc-timegrid-slot-label-cushion { color: #6b8389; text-decoration: none; }
.fc .fc-day-today .fc-col-header-cell-cushion, .fc .fc-day-today .fc-daygrid-day-number { color: var(--ag-teal); }
.fc .fc-event { border-radius: 6px; border-width: 0; border-left: 3px solid rgba(0, 0, 0, .18) !important; font-weight: 600; box-shadow: 0 1px 2px rgba(18, 52, 59, .15); }
.fc .fc-bg-event { opacity: 1; }
.legend-dot { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; vertical-align: middle; position: relative; top: -1px; }

/* ---------- Agendar (T21) ---------- */
.wizard-pane { display: none; }
.wizard-pane.active { display: block; animation: agEntra .18s ease-out; }
@keyframes agEntra { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.wizard-progress { display: flex; gap: .4rem; margin-bottom: 1rem; }
.wizard-progress .step { flex: 1; font-size: .78rem; font-weight: 600; color: #8aa3a8; text-align: center; }
.wizard-progress .step .bar { height: 5px; border-radius: 3px; background: #dbe8ea; margin-bottom: .35rem; transition: background .2s; }
.wizard-progress .step.done { color: var(--ag-teal); }
.wizard-progress .step.done .bar { background: var(--ag-teal); }
.wizard-progress .step.current { color: var(--ag-texto); }
.wizard-progress .step.current .bar { background: var(--ag-degrade); }
.choice-card { cursor: pointer; border: 2px solid transparent !important; transition: border-color .15s, box-shadow .15s, transform .15s; }
.card.choice-card:hover { border-color: #b9e9ec !important; transform: translateY(-1px); }
.list-group-item.choice-card { border: 1px solid #e6eff1 !important; border-left: 3px solid transparent !important; }
.list-group-item.choice-card:hover { border-left-color: var(--ag-ciano) !important; }
.choice-card.selected { border-color: var(--ag-teal) !important; background: var(--ag-ciano-suave); box-shadow: 0 0 0 3px rgba(38, 224, 230, .25); }
.list-group-item.choice-card.selected { border-left-color: var(--ag-teal) !important; }
.day-strip { display: flex; gap: .5rem; overflow-x: auto; padding: .15rem .1rem .5rem; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.day-chip { flex: 0 0 auto; min-width: 58px; padding: .45rem .3rem; border: 1px solid var(--ag-borda); border-radius: 10px; background: #fff; text-align: center; cursor: pointer; user-select: none; transition: all .15s; }
.day-chip small { display: block; font-size: .7rem; text-transform: uppercase; color: #6b8389; letter-spacing: .04em; }
.day-chip strong { display: block; font-size: 1.2rem; color: var(--ag-texto); line-height: 1.2; }
.day-chip:hover:not(.disabled) { border-color: var(--ag-ciano); background: var(--ag-ciano-suave); }
.day-chip.selected { background: var(--ag-teal); border-color: var(--ag-teal); box-shadow: 0 3px 10px rgba(10, 127, 134, .3); }
.day-chip.selected small, .day-chip.selected strong { color: #fff; }
.day-chip.disabled { opacity: .4; cursor: not-allowed; background: #f4f7f8; }
/* Virada de mês na faixa de dias (t21) */
.day-mes { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 22px; border-radius: 8px; background: var(--ag-teal); color: #fff; }
.day-mes span { writing-mode: vertical-rl; transform: rotate(180deg); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.slot-btn { min-width: 74px; margin: 0 .35rem .45rem 0; border-radius: 8px; }

/* ---------- Código SMS (T03) ---------- */
.otp-input { text-align: center; font-size: 1.8rem !important; letter-spacing: .6em; font-weight: 700; padding-left: .6em; height: calc(3.2rem + 2px) !important; color: var(--ag-texto); }
.otp-input::placeholder { letter-spacing: .5em; color: #b9cdd1; }

/* ---------- Perfil e cliente ---------- */
.profile-user-img { border-color: var(--ag-ciano); }
.profile-username { color: var(--ag-texto); font-weight: 700; }
.flag-plataforma .custom-control-label { font-weight: 600; }
.direct-chat-text { border-radius: 10px; }
.timeline > div > .timeline-item { border-radius: var(--ag-raio); box-shadow: var(--ag-sombra); }

/* ---------- Telas de entrada (T01 · T02 · T03 · T04) ---------- */
body.login-page, body.register-page { background: var(--ag-fundo); position: relative; overflow-x: hidden; color: var(--ag-texto); }
body.login-page::before, body.login-page::after, body.register-page::before, body.register-page::after { content: ""; position: fixed; border-radius: 50%; z-index: 0; pointer-events: none; }
body.login-page::before, body.register-page::before { width: 520px; height: 520px; top: -200px; right: -160px; border: 70px solid var(--ag-ciano); opacity: .16; }
body.login-page::after, body.register-page::after { width: 200px; height: 200px; bottom: -60px; left: -50px; background: var(--ag-lima); opacity: .22; }
.login-box, .register-box { position: relative; z-index: 1; }
.register-box { width: 420px; max-width: calc(100% - 32px); }
.login-logo, .register-logo { margin-bottom: 0; }
.ag-marca { display: flex; flex-direction: column; align-items: center; text-decoration: none !important; margin-bottom: 1.25rem; }
.ag-marca img { width: 76px; height: 76px; margin-bottom: .6rem; }
.ag-marca img.ag-marca-logo { width: auto; height: 64px; margin-bottom: 0; }
.ag-marca span { font-size: 1.9rem; letter-spacing: .02em; color: var(--ag-texto); line-height: 1; }
.ag-marca span b { font-weight: 700; }
.ag-marca span i { font-style: normal; font-weight: 300; color: var(--ag-teal); }
.login-page .card, .register-page .card { border: 0; border-radius: 14px; box-shadow: 0 12px 32px rgba(18, 52, 59, .10); overflow: hidden; }
.login-page .card.card-outline, .register-page .card.card-outline { border-top: 0; }
.login-page .card::before, .register-page .card::before { content: ""; display: block; height: 5px; background: var(--ag-degrade); }
.login-card-body, .register-card-body { padding: 1.75rem 1.75rem 1.5rem; border-radius: 0 0 14px 14px; color: var(--ag-texto); }
.login-box-msg { color: var(--ag-texto-2); font-size: 1.02rem; padding-bottom: 1.25rem; }
.login-page .form-control, .register-page .form-control { height: calc(2.5rem + 2px); }
.login-page .input-group-text, .register-page .input-group-text { background: var(--ag-fundo); }
.ag-ou { display: flex; align-items: center; color: #8aa3a8; font-size: .85rem; margin: 1.1rem 0; }
.ag-ou::before, .ag-ou::after { content: ""; flex: 1; height: 1px; background: #dcebed; }
.ag-ou::before { margin-right: .75rem; }
.ag-ou::after { margin-left: .75rem; }
.ag-ponto { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--ag-lima); margin-right: 6px; vertical-align: middle; }
.login-page .card-body .fa-3x, .login-page .card-body .fa-2x, .login-page .card-body .fa-4x { color: var(--ag-teal); }

/* ---------- Celular com bandeira ---------- */
.ag-tel .ag-tel-flag { border-right-color: var(--ag-borda); }

/* ---------- Tabelas viram cartões no celular ---------- */
@media (max-width: 767.98px) {
  .table-cards thead { display: none; }
  .table-cards, .table-cards tbody, .table-cards tr, .table-cards td { display: block; width: 100%; }
  .table-cards tr { border-bottom: 1px solid #e6eff1; padding: .6rem .9rem; }
  .table-cards tr:last-child { border-bottom: 0; }
  .table-cards td { border: 0 !important; padding: .15rem 0 !important; display: flex; justify-content: space-between; gap: 1rem; text-align: right; }
  .table-cards td[data-label]::before { content: attr(data-label); color: #7f979c; font-size: .8rem; font-weight: 600; text-align: left; flex-shrink: 0; }
  .table-cards td.td-main { font-size: 1.02rem; text-align: left; justify-content: flex-start; padding-bottom: .3rem !important; }
  .table-cards td.td-main::before { display: none; }
  .table-cards td.td-actions { justify-content: flex-end; padding-top: .45rem !important; }
  .table-cards td:empty { display: none; }
  .content-header h1 { font-size: 1.4rem; }
}

/* abas dentro de cartões e filtros em grupo */
.card-primary.card-outline-tabs > .card-header a.active, .card-primary.card-outline-tabs > .card-header a.active:hover { border-top-color: var(--ag-teal); color: var(--ag-teal); }
.btn-group > .btn-secondary, .btn-group-toggle > .btn-secondary { background: #fff; border-color: var(--ag-borda); color: var(--ag-texto-2); }
.btn-group > .btn-secondary.active, .btn-group > .btn-secondary:not(:disabled):not(.disabled):active, .btn-group-toggle > .btn-secondary.active { background: var(--ag-teal) !important; border-color: var(--ag-teal) !important; color: #fff !important; }
.btn-secondary { background: var(--ag-cinza); border-color: var(--ag-cinza); }
.btn-group-toggle > .btn-outline-secondary.active, .btn-outline-secondary:not(:disabled):not(.disabled).active { background: var(--ag-teal); border-color: var(--ag-teal); color: #fff; }

/* caixas de saldo (roxo do AdminLTE → teal escuro da marca) */
.bg-purple, .bg-gradient-purple { background: linear-gradient(135deg, #12343b, #0f2e33) !important; color: #fff !important; }
.info-box.bg-gradient-purple .info-box-number, .info-box.bg-purple .info-box-number { color: #fff; }
.info-box.bg-gradient-purple .info-box-icon, .info-box.bg-purple .info-box-icon { color: var(--ag-lima); }
.info-box.bg-gradient-purple::after { content: ""; display: block; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--ag-degrade); border-radius: 0 0 var(--ag-raio) var(--ag-raio); }

/* caixas de seleção nativas (ex.: lista de importação de contatos) */
input[type="checkbox"], input[type="radio"] { accent-color: var(--ag-teal); }

/* estrelas das avaliações e aniversários na agenda */
.ag-estrelas { color: var(--ag-amarelo); white-space: nowrap; letter-spacing: 1px; }
.ag-estrelas .vazia, .ag-estrelas .far { color: #c9d6d9; }
a.av-st, a.av-st:hover, a.av-st:focus { font-size: 2.2rem; line-height: 1; display: inline-block; color: var(--ag-amarelo); outline-offset: 2px; }
a.av-st:hover { transform: scale(1.12); }
.fc .ag-aniver { font-weight: 600; border-left: 3px solid var(--ag-lima) !important; cursor: help; }

/* botões dentro de avisos (callout) não herdam o estilo de link */
.callout a.btn { text-decoration: none; }
.callout a.btn-primary, .callout a.btn-primary:hover { color: #fff; }
.callout a.btn-outline-primary { color: var(--ag-teal); }
.callout a.btn-outline-primary:hover { color: #fff; }

/* ---------- Tamanho do texto e ícones (v4) ----------
   Base um pouco maior no computador; A+ / A++ no menu do usuário aumentam tudo (o layout usa rem). */
html { font-size: 16px; }
@media (min-width: 992px) { html { font-size: 16.5px; } }
html.ag-fonte-2 { font-size: 17.5px; }
html.ag-fonte-3 { font-size: 19px; }
@media (max-width: 575.98px) { html.ag-fonte-2 { font-size: 17px; } html.ag-fonte-3 { font-size: 18px; } }
.nav-sidebar .nav-link > .nav-icon { font-size: 1.15rem; width: 1.9rem; }
.nav-sidebar .nav-link > p { white-space: normal; line-height: 1.25; }
.main-header .navbar-nav .nav-link > i { font-size: 1.15rem; }
.btn i.fas, .btn i.far, .btn i.fab { font-size: 1.05em; }
@media (min-width: 992px) {
  html.ag-fonte-3 .sidebar-mini:not(.sidebar-collapse) .main-sidebar, html.ag-fonte-3 .sidebar-mini:not(.sidebar-collapse) .main-sidebar::before { width: 270px; }
  html.ag-fonte-3 .sidebar-mini:not(.sidebar-collapse) .content-wrapper,
  html.ag-fonte-3 .sidebar-mini:not(.sidebar-collapse) .main-footer,
  html.ag-fonte-3 .sidebar-mini:not(.sidebar-collapse) .main-header { margin-left: 270px; }
}
.table td { word-break: normal; overflow-wrap: break-word; }
.table thead th { white-space: nowrap; }

/* ---------- v5 · Menu de baixo no celular ---------- */
.ag-bottomnav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1035; display: none; justify-content: center; background: #fff; border-top: 1px solid #e3e8ea; box-shadow: 0 -2px 10px rgba(15, 42, 48, .08); padding-bottom: env(safe-area-inset-bottom, 0); }
.ag-bottomnav a { flex: 1 1 0; max-width: 110px; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 58px; padding: 6px 2px 5px; color: #5f6f74; text-decoration: none; font-size: .74rem; line-height: 1.1; -webkit-tap-highlight-color: transparent; }
.ag-bottomnav a:hover, .ag-bottomnav a:focus { color: var(--ag-teal); text-decoration: none; }
.ag-bottomnav a.ativo { color: var(--ag-teal); font-weight: 700; }
.ag-bottomnav a.ativo .ag-bn-ic::after { content: ""; position: absolute; left: 50%; top: -7px; width: 22px; height: 3px; margin-left: -11px; border-radius: 0 0 3px 3px; background: currentColor; }
.ag-bn-ic { position: relative; font-size: 1.3rem; margin-bottom: 3px; }
.ag-bn-badge { position: absolute; top: -6px; right: -12px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #dc3545; color: #fff; font-size: .68rem; font-weight: 700; line-height: 18px; text-align: center; }
html.ag-fonte-2 .ag-bottomnav a, html.ag-fonte-3 .ag-bottomnav a { font-size: .8rem; }
@media (max-width: 767.98px) {
  body.ag-com-bottomnav .content-wrapper { padding-bottom: 72px; }
  body.ag-com-bottomnav .main-footer { margin-bottom: 64px; }
  body.ag-com-bottomnav.sidebar-open .ag-bottomnav { display: none !important; }
}
@media print { .ag-bottomnav { display: none !important; } }

/* Menu do usuário (topo): links de perfil */
.ag-user-links a { display: flex; align-items: center; padding: .65rem 1.1rem; color: #212529; border-bottom: 1px solid #eef1f2; }
.ag-user-links a:hover { background: #f4f7f8; text-decoration: none; }
.ag-user-links a i { width: 1.6rem; color: var(--ag-teal); }

/* Telas de atalhos (Agenda / Financeiro) */
.ag-hub .small-box { display: block; color: #fff; border-radius: .6rem; overflow: hidden; }
.ag-hub .small-box:hover { color: #fff; text-decoration: none; transform: translateY(-1px); }
.ag-hub .small-box .inner { min-height: 112px; }
.ag-hub .small-box h3 { font-size: 1.9rem; margin-bottom: .2rem; }
.ag-hub .small-box h3 i { font-size: 1.5rem; opacity: .9; }
.ag-hub .small-box p { font-size: 1.02rem; font-weight: 700; margin-bottom: .1rem; }
.ag-hub .ag-hub-sub { display: block; font-size: .8rem; opacity: .9; }
.ag-hub .ag-hub-val { font-size: 1.35rem; white-space: nowrap; }
.ag-hub .small-box .icon > i { font-size: 56px; top: 14px; }
.ag-hub .bg-secondary { background: #6c7a7e !important; }
@media (max-width: 575.98px) { .ag-hub > div { padding-left: 6px; padding-right: 6px; } .ag-hub .small-box .icon { display: none; } .ag-hub .small-box h3 { font-size: 1.55rem; } }

/* ---------- v6 · Agendamentos em forma de bilhete (Meus agendamentos, Pendentes) ---------- */
/* Abas em segmento */
.ag-seg { display: flex; background: #dcebed; border-radius: 999px; padding: 4px; max-width: 460px; }
.ag-seg .nav-item { flex: 1; }
.ag-seg .nav-link { text-align: center; border-radius: 999px; font-weight: 700; color: #4a6870; padding: .5rem 1rem; }
.ag-seg .nav-link.active { background: #fff; color: #086a70; box-shadow: 0 1px 4px rgba(15, 46, 51, .15); }
.ag-seg-n { display: inline-block; min-width: 1.4rem; padding: 0 .35rem; margin-left: .25rem; border-radius: 999px; background: #0a7f86; color: #fff; font-size: .78rem; line-height: 1.4rem; }
/* Agendamento em forma de bilhete */
.ag-ticket { --tk-cor: #0a7f86; display: flex; background: #fff; border-radius: 16px; margin-bottom: 1.1rem; box-shadow: 0 1px 3px rgba(15, 46, 51, .08), 0 8px 24px -14px rgba(15, 46, 51, .25); min-height: 168px; overflow: hidden; }
.ag-ticket.st-PENDENTE { --tk-cor: #c98a00; }
.ag-ticket.passado { --tk-cor: #7f979c; }
.ag-ticket.passado.st-CONCLUIDO { --tk-cor: #3f7f0c; }
.ag-ticket.st-CANCELADO, .ag-ticket.st-RECUSADO, .ag-ticket.st-FALTOU { --tk-cor: #b0413e; }
.tk-faixa { flex: 0 0 34px; background: var(--tk-cor); color: #fff; display: flex; align-items: center; justify-content: center; }
.tk-faixa span { writing-mode: vertical-rl; transform: rotate(180deg); font-size: .72rem; font-weight: 700; letter-spacing: .14em; }
.tk-data { position: relative; flex: 0 0 26%; max-width: 132px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: .8rem .4rem; border-right: 2px dashed #d6e6e9; color: #12343b; }
.tk-data::before, .tk-data::after { content: ""; position: absolute; right: -11px; width: 20px; height: 20px; border-radius: 50%; background: #f3f8f9; }
.tk-data::before { top: -10px; } .tk-data::after { bottom: -10px; }
.tk-dia { font-size: 2.9rem; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.tk-mes { font-size: 1.35rem; font-weight: 300; letter-spacing: .04em; line-height: 1.2; }
.tk-hora { margin-top: .35rem; font-weight: 700; font-size: .95rem; color: var(--tk-cor); background: #f3f8f9; border-radius: 999px; padding: .05rem .6rem; }
.tk-ano { font-size: .78rem; color: #7f979c; margin-top: .2rem; }
.tk-corpo { flex: 1; min-width: 0; padding: .85rem 1rem .7rem 1.1rem; display: flex; flex-direction: column; gap: .45rem; }
.tk-campo small { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8aa1a6; line-height: 1.2; }
.tk-campo > span { display: block; color: #0b5f66; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.tk-campo a { color: #0b5f66; text-decoration: underline; text-decoration-color: #b8d8db; }
.tk-sub { font-weight: 400; color: #5f7479; font-size: .92em; }
.tk-motivo { font-size: .85rem; color: #5f7479; background: #f6f9fa; border-radius: 8px; padding: .3rem .5rem; }
.tk-rodape { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap; padding-top: .2rem; }
.tk-acoes { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.tk-acoes .btn-sm.btn-primary { margin: 0 !important; }
.tk-status { margin-left: auto; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tk-cor); }
.ag-ticket.passado .tk-campo > span { color: #36545a; }
@media (max-width: 400px) { .tk-data { flex-basis: 30%; } .tk-dia { font-size: 2.4rem; } .tk-mes { font-size: 1.15rem; } .tk-faixa { flex-basis: 28px; } }
.ag-ticket.st-ESPERA { --tk-cor: #2b7bb9; }
.tk-alerta { font-size: .85rem; color: #7a5600; background: #fff4d6; border-radius: 8px; padding: .35rem .55rem; line-height: 1.35; }
.tk-campo > .tk-cli, .tk-cli { display: flex; align-items: center; gap: .55rem; }
.tk-cli .ag-avatar { flex: none; }
.tk-cli .tk-nota { font-size: .82rem; font-weight: 400; color: #5f7479; }
.tk-obs { font-size: .85rem; color: #5f7479; font-style: italic; }
.tk-btns { display: flex; gap: .5rem; width: 100%; margin-top: .2rem; }
.tk-btns .btn { flex: 1; }

/* ---------- v6 · Modo celular (padrão em telas de toque) e modo Web ---------- */
@media (max-width: 767.98px) { .ag-bottomnav { display: flex; } }
html.ag-modo-cel .ag-bottomnav { display: flex; }
html.ag-modo-cel body.ag-com-bottomnav .content-wrapper { padding-bottom: 76px; }
html.ag-modo-cel body.ag-com-bottomnav .main-footer { margin-bottom: 66px; }
html.ag-modo-cel .main-header .d-md-block, html.ag-modo-cel .main-header .d-sm-inline-block, html.ag-modo-cel .main-header .d-md-inline { display: none !important; }
@media (min-width: 768px) {
  html.ag-modo-cel .ag-bottomnav a { max-width: 170px; min-height: 66px; font-size: .85rem; }
  html.ag-modo-cel .ag-bn-ic { font-size: 1.5rem; }
  /* Toque: alvos maiores */
  html.ag-modo-cel .form-control, html.ag-modo-cel .custom-select { min-height: 44px; }
  html.ag-modo-cel .nav-sidebar .nav-link { padding-top: .7rem; padding-bottom: .7rem; }
}
.ag-modo-rodape { color: inherit; text-decoration: none; }
.ag-modo-rodape:hover { color: var(--ag-teal); }
/* Dentro da TV do local (iframe): só o conteúdo da tela */
html.ag-em-quadro .main-header, html.ag-em-quadro .main-sidebar, html.ag-em-quadro .ag-bottomnav, html.ag-em-quadro .main-footer, html.ag-em-quadro .ag-plano-aviso { display: none !important; }
html.ag-em-quadro .content-wrapper { margin-left: 0 !important; padding-bottom: 0 !important; min-height: 100vh !important; }
/* Área de atuação (t44) */
.ag-cat-card { border: 2px solid transparent; transition: all .15s; }
.ag-cat-card:hover { border-color: var(--ag-ciano); text-decoration: none; }
.ag-cat-card.selected { border-color: var(--ag-teal); background: var(--ag-ciano-suave); }
.ag-cat-passos .nav-link { cursor: default; font-size: .9rem; }
.ag-sub-btn { white-space: normal; }
/* Modal rolável com <form> entre o conteúdo e o corpo (t08 e outros): sem isto o corpo não rola e o fim do formulário fica escondido */
.modal-dialog-scrollable .modal-content > form { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow: hidden; }
.modal-dialog-scrollable .modal-body { -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.day-chip .day-fer { display: block; font-size: .6rem; font-weight: 700; color: #c2410c; text-transform: uppercase; letter-spacing: .03em; }
.day-chip.selected .day-fer { color: #ffe4c7; }
.fc .ag-feriado { background: #fff1e6 !important; border-color: #fdba74 !important; color: #9a3412 !important; font-weight: 600; }
/* Agendar (t21): progresso e botões presos no topo enquanto a lista rola */
.wiz-topo { position: sticky; top: 0; z-index: 1025; background: var(--ag-fundo, #f2f8f9); padding: .5rem 0 .6rem; margin-bottom: .5rem; }
.wiz-topo .wizard-progress { margin-bottom: .5rem; }
.wiz-botoes { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.wiz-botoes #btnAvancar { min-width: 9rem; }
html.ag-em-quadro .wiz-topo { top: 0; }
.day-chip.selected:hover { background: var(--ag-teal); border-color: var(--ag-teal); }

/* Trabalho x vida pessoal (t06, t40, t21, t22): o pessoal ganha um fundo lilás suave */
.ag-pessoal { background: #f7f3ff !important; border: 1px solid #e4dafa; border-left: 4px solid #8b6fd6; }
.ag-pessoal > .card-header, .ag-pessoal > .card-footer { background: transparent !important; }
.ag-pessoal .table { background: transparent; }
.ag-tag-pessoal, .ag-tag-trabalho { display: inline-block; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; border-radius: 999px; padding: .1rem .5rem; margin-left: .4rem; vertical-align: middle; }
.ag-tag-pessoal { background: #ece4ff; color: #5b3fb3; }
.ag-tag-trabalho { background: #def3f4; color: #0a6b71; }

/* v13 · Passo a passo (Início) */
.ag-passos .ag-passo { display: flex; gap: .7rem; align-items: flex-start; padding: .45rem 0; position: relative; }
.ag-passos .ag-passo:not(:last-child)::after { content: ''; position: absolute; left: .85rem; top: 2.2rem; bottom: -.3rem; width: 2px; background: #e3ecee; }
.ag-passo-n { flex: 0 0 auto; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: #e9f1f3; color: #0f2e33; font-weight: 800; font-size: .85rem; display: inline-flex; align-items: center; justify-content: center; position: relative; z-index: 1; }
.ag-passo.feito .ag-passo-n { background: #28a745; color: #fff; }
.ag-passo.atual .ag-passo-n { background: #0a7f86; color: #fff; box-shadow: 0 0 0 4px rgba(10,127,134,.18); }
/* v13 · Botões de calor (CRM) */
.ag-calor { white-space: normal; font-size: .95rem; padding: .7rem .9rem; border-radius: .6rem; }
.ag-calor .ag-calor-n { font-size: 1.3rem; }
.text-pink { color: #e83e8c !important; }
/* v13 · Começar a atender (destaque para quem só agenda) */
.ag-comecar { background: linear-gradient(135deg, #0a7f86, #0f2e33); color: #fff; border-radius: .9rem; padding: 1rem 1.1rem; display: flex; align-items: center; gap: 1rem; }
.ag-comecar .btn { white-space: nowrap; font-weight: 800; }
.ag-comecar i.big { font-size: 2rem; opacity: .9; }

/* =====================================================================
   v11 · Visual "painel" (o mesmo do Painel gerencial t49 e de Acessos t54)
   Ligado por body.ag-v2 (t06 Início, t38 Relatório, t40 Agenda)
   ===================================================================== */
body.ag-v2 { --v2-ink: #0f2e33; --v2-ink2: #45636a; --v2-ink3: #7a8f93; --v2-borda: #e3ecee; --v2-linha: #eef3f4; }
body.ag-v2 .content-header h1 { font-weight: 800; letter-spacing: -.01em; }
body.ag-v2 .card { border: 1px solid var(--v2-borda); border-radius: .75rem; box-shadow: none; overflow: hidden; }
body.ag-v2 .card-header { background: transparent; border-bottom: 1px solid var(--v2-linha); }
body.ag-v2 .card-header.border-0 { border-bottom: 1px solid var(--v2-linha) !important; }
body.ag-v2 .card-title { font-weight: 700; font-size: 1rem; color: var(--v2-ink); }
body.ag-v2 .card-title small, body.ag-v2 .card-sub { font-size: .8rem; color: var(--v2-ink3) !important; font-weight: 400; }
body.ag-v2 .card-footer { background: transparent; border-top: 1px solid var(--v2-linha); }
body.ag-v2 .table thead th { font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; color: var(--v2-ink3); font-weight: 700; border-top: 0; border-bottom: 1px solid var(--v2-linha); }
body.ag-v2 .table td { border-top: 1px solid var(--v2-linha); }
/* Cartões de número (small-box) viram o "kpi" do painel: fundo branco, número grande, ícone em selo colorido */
body.ag-v2 .small-box { --acc: #0a7f86; --soft: #e3f3f4; background: #fff !important; color: var(--v2-ink) !important; border: 1px solid var(--v2-borda); border-radius: .75rem; box-shadow: none; overflow: hidden; display: block; transition: box-shadow .15s, transform .15s; }
body.ag-v2 a.small-box:hover, body.ag-v2 .small-box:hover { color: var(--v2-ink) !important; box-shadow: 0 6px 18px -8px rgba(15,46,51,.35); transform: translateY(-1px); text-decoration: none; }
body.ag-v2 .small-box .inner { padding: .9rem 4rem .5rem 1rem; min-height: 0; }
body.ag-v2 .small-box .inner h3 { font-size: clamp(1.35rem, 1.9vw, 1.8rem); font-weight: 800; color: var(--v2-ink); line-height: 1.15; margin-bottom: .2rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.ag-v2 .small-box .inner h3 i { font-size: 1.2rem; color: var(--acc); opacity: 1; }
body.ag-v2 .small-box .inner h3 sup { font-size: .8rem !important; font-weight: 700; color: var(--v2-ink3); top: -.6em; }
body.ag-v2 .small-box .inner p { font-size: .88rem; font-weight: 700; color: var(--v2-ink2); margin-bottom: .1rem; }
body.ag-v2 .small-box .ag-hub-sub { font-size: .78rem; color: var(--v2-ink3); opacity: 1; }
body.ag-v2 .small-box .icon { position: absolute; top: .85rem; right: .9rem; width: 2.5rem; height: 2.5rem; border-radius: .7rem; background: var(--soft); display: flex; align-items: center; justify-content: center; }
body.ag-v2 .small-box .icon > i, body.ag-v2 .small-box:hover .icon > i { position: static; font-size: 1.1rem !important; color: var(--acc); opacity: 1; transform: none !important; top: auto; right: auto; }
body.ag-v2 .small-box .small-box-footer { background: transparent !important; color: var(--acc) !important; text-align: left; padding: .45rem 1rem; border-top: 1px solid var(--v2-linha); font-size: .84rem; font-weight: 700; }
body.ag-v2 .small-box .small-box-footer i { margin-left: .2rem; }
/* Cores de destaque de cada cartão (o fundo fica branco; a cor vai para o selo do ícone e o link) */
body.ag-v2 .bg-info.small-box, body.ag-v2 .info-box-icon.bg-info { --acc: #0a7f86; --soft: #e1f3f4; }
body.ag-v2 .bg-teal.small-box { --acc: #0f8a7e; --soft: #ddf3ef; }
body.ag-v2 .bg-primary.small-box, body.ag-v2 .info-box-icon.bg-primary { --acc: #2a78d6; --soft: #e6f0fb; }
body.ag-v2 .bg-indigo.small-box { --acc: #4b4fc4; --soft: #e9e9fa; }
body.ag-v2 .bg-purple.small-box { --acc: #6250d6; --soft: #ecebfb; }
body.ag-v2 .bg-success.small-box, body.ag-v2 .info-box-icon.bg-success { --acc: #1a7f37; --soft: #e3f3e7; }
body.ag-v2 .bg-olive.small-box { --acc: #3d7a3a; --soft: #e8f1e4; }
body.ag-v2 .bg-warning.small-box, body.ag-v2 .info-box-icon.bg-warning { --acc: #b06d00; --soft: #fdf1d6; }
body.ag-v2 .bg-orange.small-box { --acc: #c4581d; --soft: #fde9dc; }
body.ag-v2 .bg-danger.small-box, body.ag-v2 .info-box-icon.bg-danger { --acc: #c0392b; --soft: #fbe6e3; }
body.ag-v2 .bg-secondary.small-box, body.ag-v2 .bg-dark.small-box, body.ag-v2 .info-box-icon.bg-secondary { --acc: #45636a; --soft: #edf2f3; }
/* Pendência: o cartão ganha um contorno vermelho suave */
body.ag-v2 .ag-hub-item.tem-pend .small-box { border-color: #f3b7b2; box-shadow: 0 0 0 3px #fdecea; }
/* info-box (avaliar, previsto, faltas…) no mesmo padrão */
body.ag-v2 .info-box { --acc: #0a7f86; --soft: #e1f3f4; background: #fff; border: 1px solid var(--v2-borda); border-radius: .75rem; box-shadow: none; min-height: 0; padding: .75rem .9rem; align-items: center; }
body.ag-v2 .info-box .info-box-icon { width: 2.75rem; height: 2.75rem; flex: none; border-radius: .7rem; font-size: 1.15rem; background: var(--soft) !important; color: var(--acc) !important; box-shadow: none; }
body.ag-v2 .info-box .info-box-icon * { color: var(--acc) !important; }
body.ag-v2 .info-box .info-box-content { padding: 0 .2rem 0 .85rem; }
body.ag-v2 .info-box .info-box-text { font-size: .84rem; color: var(--v2-ink2); font-weight: 700; white-space: normal; }
body.ag-v2 .info-box .info-box-number { font-size: 1.25rem; font-weight: 800; color: var(--v2-ink); font-variant-numeric: tabular-nums; margin-top: .1rem; }
body.ag-v2 .info-box a.info-box-number { font-size: .95rem; color: var(--acc); }
/* KPI (mesma estrutura do t49) para telas que montam o resumo */
body.ag-v2 .v2-kpi { background: #fff; border: 1px solid var(--v2-borda); border-radius: .75rem; padding: .9rem 1rem; height: 100%; position: relative; }
body.ag-v2 .v2-kpi .ic { position: absolute; right: .9rem; top: .85rem; width: 2.5rem; height: 2.5rem; border-radius: .7rem; display: flex; align-items: center; justify-content: center; background: var(--soft, #e1f3f4); color: var(--acc, #0a7f86); }
body.ag-v2 .v2-kpi .v { font-size: clamp(1.25rem, 1.8vw, 1.7rem); font-weight: 800; color: var(--v2-ink); line-height: 1.15; font-variant-numeric: tabular-nums; white-space: nowrap; padding-right: 3rem; }
body.ag-v2 .v2-kpi .r { font-size: .84rem; font-weight: 700; color: var(--v2-ink2); }
body.ag-v2 .v2-kpi .s { font-size: .78rem; color: var(--v2-ink3); margin-top: .15rem; }
body.ag-v2 .v2-hb { display: grid; grid-template-columns: minmax(90px, 34%) 1fr auto; gap: .45rem .6rem; align-items: center; font-size: .85rem; }
body.ag-v2 .v2-hb .n { color: var(--v2-ink2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.ag-v2 .v2-hb .t { height: 14px; background: #f0f5f6; border-radius: 0 4px 4px 0; }
body.ag-v2 .v2-hb .b { height: 14px; background: linear-gradient(90deg, #0a7f86, #26c6cc); border-radius: 0 4px 4px 0; min-width: 2px; }
body.ag-v2 .v2-hb .x { font-weight: 700; color: var(--v2-ink); font-variant-numeric: tabular-nums; text-align: right; }
body.ag-v2 .v2-st100 { display: flex; height: 14px; gap: 2px; border-radius: 4px; overflow: hidden; background: #f0f5f6; }
body.ag-v2 .v2-st100 span { display: block; height: 100%; }
body.ag-v2 .v2-leg { display: flex; flex-wrap: wrap; gap: .3rem .9rem; font-size: .78rem; color: var(--v2-ink2); margin-top: .5rem; }
body.ag-v2 .v2-leg i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }
body.ag-v2 .ag-hub-grupo h5 { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--v2-ink3); font-weight: 800; }
@media print { body.ag-v2 .v2-kpi, body.ag-v2 .card { border-color: #ccc; } }
/* Cartões da mesma linha com a mesma altura (o link fica sempre embaixo) */
body.ag-v2 .row > [class*="col"] > .small-box { display: flex; flex-direction: column; height: calc(100% - 1rem); }
body.ag-v2 .row > [class*="col"] > .small-box .inner { flex: 1 1 auto; }
body.ag-v2 .ag-hub-item > .small-box { height: calc(100% - 1rem); }
@media (max-width: 575.98px) { body.ag-v2 .small-box .inner { padding-right: 3.4rem; } body.ag-v2 .small-box .icon { width: 2.1rem; height: 2.1rem; } }
@media (max-width: 575.98px) {
  body.ag-v2 .small-box .icon, body.ag-v2 .v2-kpi .ic { display: none; }
  body.ag-v2 .small-box .inner { padding: .75rem .8rem .4rem; text-align: left; }
  body.ag-v2 .small-box .inner h3 { font-size: 1.35rem; }
  body.ag-v2 .small-box .inner p { font-size: .82rem; }
  body.ag-v2 .small-box .small-box-footer { padding: .4rem .8rem; }
  body.ag-v2 .v2-kpi { padding: .75rem .8rem; }
  body.ag-v2 .v2-kpi .v { padding-right: 0; font-size: 1.15rem; }
}
/* v16.6 · Filtros do Agendar (t21) */
.ag-busca { border: 1px solid #e3ecee; border-radius: .75rem; box-shadow: none; }
.ag-busca .input-group-text { background: #f4f8f9; color: #7a8f93; border-color: #dbe6e8; }
.ag-chip { display: inline-flex; align-items: center; background: #e1f3f4; color: #0f4f54; font-size: .82rem; font-weight: 700; padding: .3rem .35rem .3rem .65rem; border: 1px solid #bfe3e6; }
.ag-chip i { color: #0a7f86; }
.ag-chip-x { border: 0; background: rgba(10,127,134,.12); color: #0f4f54; width: 1.25rem; height: 1.25rem; border-radius: 50%; margin-left: .4rem; line-height: 1; font-size: 1rem; padding: 0; cursor: pointer; }
.ag-chip-x:hover { background: #c0392b; color: #fff; }

/* =====================================================================
   v17 · Botão Voltar, faixa do tema comemorativo e MODO ESCURO
   ===================================================================== */
.ag-voltar { display: inline-flex; align-items: center; font-size: .84rem; font-weight: 700; color: var(--ag-teal); margin: 0 0 .35rem; padding: .15rem .55rem .15rem .4rem; border-radius: 999px; background: var(--ag-ciano-suave); max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ag-voltar:hover { text-decoration: none; filter: brightness(.96); }
.ag-voltar-p { font-weight: 400; opacity: .8; overflow: hidden; text-overflow: ellipsis; }
.content-header .container-fluid > .ag-voltar + * { clear: both; }
@media (max-width: 575.98px) { .ag-voltar-p { display: none; } }
.ag-tema-faixa { display: flex; align-items: center; gap: .6rem; padding: .45rem 1rem; font-size: .88rem; color: #12343b; background: linear-gradient(90deg, color-mix(in srgb, var(--ag-ciano) 16%, #fff), color-mix(in srgb, var(--ag-lima) 16%, #fff)); border-bottom: 1px solid color-mix(in srgb, var(--ag-ciano) 35%, #fff); }
.ag-tema-ponto { flex: none; width: .7rem; height: .7rem; border-radius: 50%; background: var(--ag-degrade); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ag-ciano) 25%, transparent); }
.ag-tema-txt { flex: 1 1 auto; min-width: 0; }
.ag-tema-camp { flex: none; font-weight: 700; font-size: .82rem; white-space: nowrap; color: var(--ag-teal); }
.ag-tema-x { flex: none; border: 0; background: transparent; font-size: 1.3rem; line-height: 1; color: #6b8389; cursor: pointer; padding: 0 .2rem; }
@media (max-width: 575.98px) { .ag-tema-faixa { font-size: .8rem; padding: .4rem .75rem; flex-wrap: wrap; } .ag-tema-camp { order: 3; margin-left: 1.3rem; } }

/* ---------- Modo escuro (html.ag-escuro): fundo preto, texto claro, contraste suave ---------- */
html.ag-escuro {
  --ag-texto: #e3edef; --ag-texto-2: #a9bcc0; --ag-borda: #2a3a3e; --ag-fundo: #0b0f10; --ag-ciano-suave: #10292c; --ag-lima-suave: #17260c;
  --dk-card: #141b1d; --dk-card2: #1a2427; --dk-linha: #243236; --dk-campo: #101719; --dk-mudo: #8fa3a8;
  --v2-ink: #e3edef; --v2-ink2: #b4c6ca; --v2-ink3: #8fa3a8; --v2-borda: #243236; --v2-linha: #1f2b2e;
  color-scheme: dark;
}
html.ag-escuro body, html.ag-escuro .content-wrapper, html.ag-escuro body.layout-fixed, html.ag-escuro .wrapper { background: var(--ag-fundo) !important; color: var(--ag-texto); }
html.ag-escuro a { color: color-mix(in srgb, var(--ag-ciano) 70%, #fff); }
html.ag-escuro .text-muted, html.ag-escuro .text-secondary, html.ag-escuro small.text-muted { color: var(--dk-mudo) !important; }
html.ag-escuro .text-dark, html.ag-escuro .text-body { color: var(--ag-texto) !important; }
html.ag-escuro .text-primary { color: color-mix(in srgb, var(--ag-ciano) 70%, #fff) !important; }
html.ag-escuro h1, html.ag-escuro h2, html.ag-escuro h3, html.ag-escuro h4, html.ag-escuro h5, html.ag-escuro h6, html.ag-escuro .h1, html.ag-escuro .h2, html.ag-escuro .h3, html.ag-escuro .h4, html.ag-escuro .h5, html.ag-escuro .h6, html.ag-escuro b, html.ag-escuro strong, html.ag-escuro label { color: var(--ag-texto); }
html.ag-escuro hr, html.ag-escuro .border, html.ag-escuro .border-top, html.ag-escuro .border-bottom, html.ag-escuro .border-left, html.ag-escuro .border-right { border-color: var(--dk-linha) !important; }
/* Barra de cima e rodapé */
html.ag-escuro .main-header, html.ag-escuro .main-header.navbar-white { background: #0f1517 !important; border-bottom-color: var(--dk-linha) !important; }
html.ag-escuro .main-header .nav-link, html.ag-escuro .navbar-light .navbar-nav .nav-link { color: #c7d6d9 !important; }
html.ag-escuro .main-footer { background: #0f1517 !important; border-top-color: var(--dk-linha) !important; color: var(--dk-mudo); }
html.ag-escuro .ag-bottomnav { background: #0f1517 !important; border-top-color: var(--dk-linha) !important; }
html.ag-escuro .ag-bottomnav a { color: #a9bcc0; }
/* Cartões, quadros e listas */
html.ag-escuro .card, html.ag-escuro .info-box, html.ag-escuro .small-box, html.ag-escuro .callout, html.ag-escuro .list-group-item, html.ag-escuro .modal-content, html.ag-escuro .dropdown-menu, html.ag-escuro .popover, html.ag-escuro .toast,
html.ag-escuro .kpi, html.ag-escuro .ac-kpi, html.ag-escuro .v2-kpi, html.ag-escuro .choice-card, html.ag-escuro .jumbotron, html.ag-escuro .ag-busca, html.ag-escuro .bg-white, html.ag-escuro .bg-light, html.ag-escuro .user-body, html.ag-escuro .user-footer {
  background-color: var(--dk-card) !important; color: var(--ag-texto) !important; border-color: var(--dk-linha) !important; }
html.ag-escuro .card-header, html.ag-escuro .card-footer, html.ag-escuro .modal-header, html.ag-escuro .modal-footer { background-color: transparent !important; border-color: var(--dk-linha) !important; }
html.ag-escuro .card { box-shadow: none; }
html.ag-escuro .callout { border-left-width: 5px; }
html.ag-escuro .choice-card:hover { background-color: var(--dk-card2) !important; }
html.ag-escuro .choice-card.selected { background-color: #10292c !important; border-color: var(--ag-ciano) !important; }
html.ag-escuro .dropdown-item, html.ag-escuro .dropdown-item-text, html.ag-escuro .dropdown-header { color: var(--ag-texto) !important; }
html.ag-escuro .dropdown-item:hover, html.ag-escuro .dropdown-item:focus { background: var(--dk-card2) !important; }
html.ag-escuro .dropdown-divider { border-color: var(--dk-linha); }
html.ag-escuro .ag-user-links a { color: var(--ag-texto) !important; }
html.ag-escuro .ag-user-links a:hover { background: var(--dk-card2) !important; }
html.ag-escuro .close, html.ag-escuro .modal .close { color: #e3edef; text-shadow: none; opacity: .7; }
/* Tabelas */
html.ag-escuro .table, html.ag-escuro .table td, html.ag-escuro .table th { color: var(--ag-texto); border-color: var(--dk-linha) !important; background-color: transparent; }
html.ag-escuro .table thead th { color: var(--dk-mudo); }
html.ag-escuro .table-hover tbody tr:hover, html.ag-escuro .table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255,255,255,.035) !important; color: var(--ag-texto); }
html.ag-escuro .table-light, html.ag-escuro .table-light td, html.ag-escuro .table-light th, html.ag-escuro .thead-light th, html.ag-escuro tr.rel-sub td, html.ag-escuro .table-active, html.ag-escuro .table-active td { background-color: var(--dk-card2) !important; color: var(--ag-texto) !important; }
/* Campos */
html.ag-escuro .form-control, html.ag-escuro .custom-select, html.ag-escuro .input-group-text, html.ag-escuro .custom-file-label, html.ag-escuro select, html.ag-escuro textarea, html.ag-escuro input[type="text"], html.ag-escuro input[type="search"], html.ag-escuro input[type="email"], html.ag-escuro input[type="tel"], html.ag-escuro input[type="number"], html.ag-escuro input[type="date"], html.ag-escuro input[type="time"], html.ag-escuro input[type="password"] {
  background-color: var(--dk-campo) !important; color: var(--ag-texto) !important; border-color: #30454a !important; }
html.ag-escuro .form-control::placeholder { color: #6f8589; }
html.ag-escuro .form-control:disabled, html.ag-escuro .form-control[readonly] { background-color: #121a1c !important; color: #9fb2b6 !important; }
html.ag-escuro .custom-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23c7d6d9' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") !important; background-repeat: no-repeat !important; background-position: right .75rem center !important; background-size: 8px 10px !important; }
html.ag-escuro .custom-control-label::before { background-color: var(--dk-campo); border-color: #3a5257; }
/* Botões claros */
html.ag-escuro .btn-default, html.ag-escuro .btn-light, html.ag-escuro .btn-outline-secondary { background-color: var(--dk-card2) !important; color: var(--ag-texto) !important; border-color: #30454a !important; }
html.ag-escuro .btn-outline-secondary:hover, html.ag-escuro .btn-default:hover, html.ag-escuro .btn-light:hover { background-color: #22303a !important; }
html.ag-escuro .btn-outline-primary, html.ag-escuro .btn-outline-info { color: color-mix(in srgb, var(--ag-ciano) 70%, #fff) !important; border-color: color-mix(in srgb, var(--ag-ciano) 55%, #0b0f10) !important; background: transparent !important; }
html.ag-escuro .btn-outline-primary:hover, html.ag-escuro .btn-outline-info:hover { background: #10292c !important; }
/* Selos, avisos e etiquetas */
html.ag-escuro .badge-light { background: var(--dk-card2) !important; color: var(--ag-texto) !important; border-color: var(--dk-linha) !important; }
html.ag-escuro .alert-info, html.ag-escuro .alert-light { background: #10292c; color: #cfe7ea; border-color: #1f4448; }
html.ag-escuro .alert-warning { background: #2b2410; color: #f1dc9a; border-color: #4a3c12; }
html.ag-escuro .alert-danger { background: #2c1413; color: #f3b9b3; border-color: #4d1f1c; }
html.ag-escuro .alert-success { background: #13240d; color: #c4e6ad; border-color: #23401a; }
html.ag-escuro .ag-voltar { background: #10292c; color: color-mix(in srgb, var(--ag-ciano) 70%, #fff); }
html.ag-escuro .ag-tema-faixa { color: #e3edef; background: linear-gradient(90deg, color-mix(in srgb, var(--ag-ciano) 18%, #0b0f10), color-mix(in srgb, var(--ag-lima) 14%, #0b0f10)); border-bottom-color: var(--dk-linha); }
html.ag-escuro .ag-tema-camp { color: color-mix(in srgb, var(--ag-ciano) 70%, #fff); }
html.ag-escuro .ag-chip { background: #10292c; color: #cfe7ea; border-color: #1f4448; }
html.ag-escuro .ag-pessoal, html.ag-escuro .card.ag-pessoal { background-color: #1a1626 !important; }
/* Os status mantêm as cores de sempre; só o fundo do selo fica mais escuro para não "acender" */
html.ag-escuro .badge.status-PENDENTE { background: #3a2e08; color: #ffd76a; }
html.ag-escuro .badge.status-CONFIRMADO { background: #0b3236; color: #6fe3e8; }
html.ag-escuro .badge.status-CONCLUIDO { background: #1d3510; color: #a9e57a; }
html.ag-escuro .badge.status-FALTOU { background: #3d1515; color: #ff9c9c; }
html.ag-escuro .badge.status-CANCELADO, html.ag-escuro .badge.status-RECUSADO { background: #262f31; color: #b7c4c7; }
/* Painéis no visual novo (t06/t38/t40/t49/t54) */
html.ag-escuro body.ag-v2 .small-box { background: var(--dk-card) !important; }
html.ag-escuro body.ag-v2 .small-box .icon, html.ag-escuro body.ag-v2 .info-box .info-box-icon, html.ag-escuro body.ag-v2 .v2-kpi .ic { background: color-mix(in srgb, var(--acc) 22%, #141b1d) !important; }
html.ag-escuro body.ag-v2 .small-box .icon > i, html.ag-escuro body.ag-v2 .info-box .info-box-icon *, html.ag-escuro body.ag-v2 .v2-kpi .ic { color: color-mix(in srgb, var(--acc) 55%, #fff) !important; }
html.ag-escuro body.ag-v2 .small-box .small-box-footer { color: color-mix(in srgb, var(--acc) 55%, #fff) !important; }
html.ag-escuro .v2-hb .t, html.ag-escuro .v2-st100, html.ag-escuro .ac-funil .bar { background: #1f2b2e !important; }
html.ag-escuro .pg { --surf: #141b1d; --ink: #e3edef; --ink2: #b4c6ca; --ink3: #8fa3a8; --grid: #243236; }
html.ag-escuro .pg .hb .t, html.ag-escuro .pg .ind .t { background: #1f2b2e !important; }
html.ag-escuro .pg .hm .na { background: repeating-linear-gradient(135deg, #182124, #182124 3px, #141b1d 3px, #141b1d 6px) !important; }
html.ag-escuro .ac-kpi .v, html.ag-escuro .ac-funil .bar b { color: #e3edef !important; }
html.ag-escuro .ac-kpi .r { color: #a9bcc0 !important; }
/* Agenda (FullCalendar) */
html.ag-escuro .fc { --fc-border-color: #243236; --fc-page-bg-color: #141b1d; --fc-neutral-bg-color: #1a2427; --fc-list-event-hover-bg-color: #1a2427; --fc-today-bg-color: rgba(38,224,230,.08); --fc-non-business-color: rgba(255,255,255,.03); color: var(--ag-texto); }
html.ag-escuro .fc .fc-col-header-cell-cushion, html.ag-escuro .fc .fc-daygrid-day-number, html.ag-escuro .fc .fc-timegrid-slot-label-cushion, html.ag-escuro .fc .fc-toolbar-title, html.ag-escuro .fc .fc-list-day-text, html.ag-escuro .fc .fc-list-day-side-text { color: var(--ag-texto) !important; }
html.ag-escuro .fc .fc-list-day-cushion, html.ag-escuro .fc-theme-standard .fc-list-day-cushion { background: #1a2427 !important; }
html.ag-escuro .fc .fc-button-primary:not(.fc-button-active) { background: var(--dk-card2) !important; color: var(--ag-texto) !important; border-color: #30454a !important; }
/* Etapas do agendamento (t21) */
html.ag-escuro .wizard-progress .step .bar { background: #243236; }
html.ag-escuro .wizard-progress .step { color: var(--dk-mudo); }
html.ag-escuro .wizard-progress .step.current, html.ag-escuro .wizard-progress .step.done { color: var(--ag-texto); }
/* Imagens com fundo branco (logo) e avatares ficam como estão */
html.ag-escuro ::selection { background: rgba(38, 224, 230, .35); color: #fff; }
/* Modo escuro · peças específicas das telas */
html.ag-escuro .ag-seg { background: #1a2427 !important; }
html.ag-escuro .ag-seg .nav-link { color: #a9bcc0 !important; }
html.ag-escuro .ag-seg .nav-link.active { background: #0b3236 !important; color: #6fe3e8 !important; box-shadow: none; }
html.ag-escuro .nav-tabs { border-bottom-color: var(--dk-linha); }
html.ag-escuro .nav-tabs .nav-link { color: #a9bcc0; }
html.ag-escuro .nav-tabs .nav-link.active, html.ag-escuro .nav-tabs .nav-item.show .nav-link { background: var(--dk-card) !important; color: var(--ag-texto) !important; border-color: var(--dk-linha) var(--dk-linha) var(--dk-card) !important; }
html.ag-escuro .nav-pills .nav-link:not(.active) { color: #a9bcc0; }
html.ag-escuro .btn-group-toggle > .btn-secondary:not(.active), html.ag-escuro .btn-group-toggle > .btn-outline-primary:not(.active) { background: var(--dk-card2) !important; color: var(--ag-texto) !important; border-color: #30454a !important; }
html.ag-escuro .ag-ticket { background: var(--dk-card) !important; box-shadow: none; border: 1px solid var(--dk-linha); }
html.ag-escuro .tk-data::after, html.ag-escuro .tk-data::before { background: var(--ag-fundo) !important; }
html.ag-escuro .tk-motivo { background: #1a2427 !important; color: #b4c6ca !important; }
html.ag-escuro .tk-alerta, html.ag-escuro .mtv-alerta { background: #2b2410 !important; color: #f1dc9a !important; }
html.ag-escuro .day-chip { background: var(--dk-card2) !important; border-color: #30454a !important; color: var(--ag-texto) !important; }
html.ag-escuro .day-chip.disabled { background: #121a1c !important; }
html.ag-escuro .day-chip.selected, html.ag-escuro .day-chip.active { background: var(--ag-teal) !important; color: #fff !important; }
html.ag-escuro .fc .ag-feriado { background: #2e2214 !important; border-color: #6b4a1f !important; color: #f6c99a !important; }
html.ag-escuro .ag-sms-preview, html.ag-escuro .crm-sms, html.ag-escuro .nw-prev { background: #10292c !important; color: #d7ebee !important; }
html.ag-escuro .ch-msg.eu, html.ag-escuro .ch-msg.adm, html.ag-escuro .ch-msg.usr { background: #1a2427 !important; color: var(--ag-texto) !important; }
html.ag-escuro .ch-msg.eu { background: #10292c !important; }
html.ag-escuro .cfg-topo, html.ag-escuro .pg .filtros { background: var(--ag-fundo) !important; }
html.ag-escuro .nw-kpi, html.ag-escuro .mtv-total { background: var(--dk-card) !important; border-color: var(--dk-linha) !important; color: var(--ag-texto) !important; }
html.ag-escuro .nw-ajuda code { background: #1a2427 !important; }
html.ag-escuro .nw-bar, html.ag-escuro .crm-res .bar { background: #1f2b2e !important; }
html.ag-escuro .hr-edit .bg-danger-soft { background: #2c1413 !important; }
html.ag-escuro .ag-cli-item.selected { background: #2b2410 !important; }
html.ag-escuro .tv-thumb, html.ag-escuro .tv-not img, html.ag-escuro .tv-not .sem { background: #1a2427 !important; }
html.ag-escuro .cartaz { background: #fff !important; color: #12343b !important; }   /* cartaz para imprimir continua branco */
html.ag-escuro .ag-busca .input-group-text { background: #1a2427 !important; color: #8fa3a8 !important; border-color: #30454a !important; }
html.ag-escuro .user-menu .user-header { color: #fff; }
html.ag-escuro .user-menu .user-header p, html.ag-escuro .user-menu .user-header small { color: #fff !important; }
html.ag-escuro .list-group-item-action:hover { background: var(--dk-card2) !important; }
html.ag-escuro .progress { background: #1f2b2e; }
html.ag-escuro code { color: #ff9cc7; }
html.ag-escuro .tc-amostra .c { background: var(--dk-card) !important; }
/* Navegadores sem color-mix (iPhone antigo): cores fixas como reserva */
@supports not (color: color-mix(in srgb, red 50%, blue)) {
  html.ag-escuro a, html.ag-escuro .text-primary, html.ag-escuro .ag-voltar, html.ag-escuro .ag-tema-camp, html.ag-escuro .btn-outline-primary { color: #6fe3e8 !important; }
  .ag-tema-faixa { background: #eef7f8; border-bottom-color: #d6e6e9; }
  html.ag-escuro .ag-tema-faixa { background: #10292c; }
}
html.ag-escuro body.ag-v2 { --v2-ink: #e3edef; --v2-ink2: #b4c6ca; --v2-ink3: #8fa3a8; --v2-borda: #243236; --v2-linha: #1f2b2e; }
/* Menu do perfil com muitos itens: rola dentro da tela */
.user-menu > .dropdown-menu { max-height: calc(100vh - 64px); overflow-y: auto; }
/* Modo escuro nas telas de entrada (login, cadastro, senha): logo branca e caixa no mesmo tom */
html.ag-escuro img[src*="atov-logo.svg"] { content: url("atov-logo-branco.svg"); }
html.ag-escuro .login-card-body, html.ag-escuro .register-card-body, html.ag-escuro .login-box .card, html.ag-escuro .register-box .card { background-color: var(--dk-card) !important; color: var(--ag-texto) !important; }
html.ag-escuro .login-page, html.ag-escuro .register-page { background: var(--ag-fundo) !important; }
