@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap");

:root {
  --cc-blue-50:#f0f4fb;
  --cc-blue-100:#dce6f5;
  --cc-blue-200:#b9cdeb;
  --cc-blue-500:#5b84d4;
  --cc-blue-600:#4870ba;
  --cc-blue-700:#385a99;
  --cc-green-50:#e9f8ef;
  --cc-green-100:#ccf0d8;
  --cc-green-500:#14b54f;
  --cc-green-600:#0f9942;
  --cc-ink-950:#0c111b;
  --cc-ink-800:#1f2538;
  --cc-ink-700:#353b50;
  --cc-ink-500:#6b7387;
  --cc-ink-300:#b6bccb;
  --cc-ink-200:#d6dae3;
  --cc-ink-100:#ebeef3;
  --cc-ink-50:#f5f7fa;
  --cc-paper:#fff;
  --cc-canvas:#f7f8fb;
  --cc-danger:#e0573b;
  --cc-danger-soft:#fcede9;
  --cc-warning:#f0a431;
  --cc-warning-soft:#fef4e2;
  --cc-brand-gradient:linear-gradient(95deg,#5b84d4 0%,#2b9db5 45%,#14b54f 100%);
  --cc-brand-soft:linear-gradient(95deg,#eef3fb 0%,#f0faf3 100%);
  --cc-font-display:"Plus Jakarta Sans","Manrope",system-ui,sans-serif;
  --cc-font-body:"Manrope","Plus Jakarta Sans",system-ui,sans-serif;
  --cc-radius-sm:8px;
  --cc-radius-md:12px;
  --cc-radius-lg:16px;
  --cc-radius-xl:22px;
  --cc-shadow-xs:0 1px 2px rgba(20,25,42,.04);
  --cc-shadow-sm:0 2px 6px rgba(20,25,42,.06),0 1px 2px rgba(20,25,42,.04);
  --cc-shadow-md:0 8px 20px rgba(20,25,42,.08),0 2px 4px rgba(20,25,42,.04);
  --cc-shadow-lg:0 18px 40px rgba(20,25,42,.10),0 4px 8px rgba(20,25,42,.04);
  --cc-ease:cubic-bezier(.22,1,.36,1);
  --cc-fast:150ms;
  --cc-base:220ms;

  /* aliases mantidos para as folhas legadas */
  --c1:var(--cc-blue-500);
  --c2:var(--cc-green-500);
  --bg:var(--cc-canvas);
  --card:var(--cc-paper);
  --txt:var(--cc-ink-950);
  --muted:var(--cc-ink-500);
  --ok:var(--cc-green-500);
  --line:var(--cc-ink-200);
  --radius:var(--cc-radius-lg);
}

html { color-scheme:light; }

body.ciclicom-theme {
  color:var(--cc-ink-950);
  background:var(--cc-canvas);
  font-family:var(--cc-font-body);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.ciclicom-theme *,
.ciclicom-theme *::before,
.ciclicom-theme *::after { box-sizing:border-box; }

.ciclicom-theme button,
.ciclicom-theme input,
.ciclicom-theme select,
.ciclicom-theme textarea { font:inherit; }

.ciclicom-theme #back {
  background-image:linear-gradient(rgba(247,248,251,.72),rgba(247,248,251,.82)),url("../../imagens/cliente-vendedor-negociacao.jpg");
  background-position:center;
  background-size:cover;
}

.ciclicom-theme .app { background:rgba(247,248,251,.30); }

/* Cabeçalho institucional */
.ciclicom-theme .header {
  min-height:112px;
  padding:10px clamp(16px,3vw,40px);
  border:0;
  border-bottom:1px solid rgba(214,218,227,.82);
  background:linear-gradient(105deg,#244f86 0%,#247585 52%,#167044 100%);
  color:#fff;
  box-shadow:var(--cc-shadow-sm);
}

.ciclicom-theme .header-bloco { min-height:92px; }
.ciclicom-theme .header-blocos-container > #divlogo { border:0; border-radius:0; background:transparent; box-shadow:none; }
.ciclicom-theme .header-blocos-container > #divlogo { flex-basis:250px; width:250px; padding:0; justify-content:flex-start; }
.ciclicom-theme .header #divlogo img { width:auto!important; height:auto!important; max-width:230px; max-height:92px; padding:3px; border-radius:12px; background:#fff; object-fit:contain; box-shadow:var(--cc-shadow-sm); }
.ciclicom-theme .header #divslogan { flex-direction:column; gap:12px; }
.ciclicom-theme .header #app-name { color:#fff; font-family:var(--cc-font-display); font-size:21px; font-weight:800; letter-spacing:-.02em; }
.ciclicom-theme .header #divdatelogin { justify-content:flex-end; gap:8px; }
.ciclicom-theme .header .dados-login { min-height:auto; color:rgba(255,255,255,.88); font-size:13px; line-height:1.35; }
.ciclicom-theme .header .dados-login h6 { color:rgba(255,255,255,.72); font-family:var(--cc-font-body); font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.ciclicom-theme .header .empresa-multi-select { max-width:180px; min-height:34px; padding:4px 28px 4px 9px; border:1px solid var(--cc-ink-200); border-radius:var(--cc-radius-sm); color:var(--cc-ink-800); }
.ciclicom-theme .header #logout { flex:0 0 48px; width:48px; padding:0; }
.ciclicom-theme .header .efetuarLogout { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--cc-ink-200); border-radius:50%; background:var(--cc-paper); transition:background var(--cc-fast),border-color var(--cc-fast); }
.ciclicom-theme .header .efetuarLogout:hover { border-color:var(--cc-blue-200); background:var(--cc-blue-50); }
.ciclicom-theme .header .efetuarLogout img { width:22px!important; height:auto!important; opacity:.76; }

.ciclicom-theme .global-search-trigger,
.ciclicom-theme .global-search-trigger-mobile {
  border:1px solid var(--cc-ink-200);
  background:var(--cc-paper);
  color:var(--cc-ink-700);
  box-shadow:var(--cc-shadow-xs);
}
.ciclicom-theme .global-search-trigger:hover,
.ciclicom-theme .global-search-trigger-mobile:hover { border-color:var(--cc-blue-200); background:var(--cc-blue-50); color:var(--cc-blue-700); }

/* Navegação principal */
.ciclicom-theme .container-menu {
  min-height:52px;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.18);
  background:linear-gradient(95deg,#315f92 0%,#2f7d86 52%,#237749 100%);
  color:#fff;
  box-shadow:0 3px 12px rgba(20,25,42,.04);
}
.ciclicom-theme .container-menu ol { border:1px solid var(--cc-ink-200); border-radius:0 0 var(--cc-radius-md) var(--cc-radius-md); background:var(--cc-paper); box-shadow:var(--cc-shadow-md); overflow:hidden auto; }
.ciclicom-theme .container-menu ol li { border-color:var(--cc-ink-100); background:var(--cc-paper); color:var(--cc-ink-700); }
.ciclicom-theme .container-menu ol li:hover { background:var(--cc-green-50); color:var(--cc-green-600); }
.ciclicom-theme .container-menu .menu > li { color:#fff!important; -webkit-text-fill-color:#fff; font-family:var(--cc-font-body); font-size:15px; font-weight:600; }
.ciclicom-theme .container-menu .menu > li:hover { background:rgba(255,255,255,.14); color:#fff; }

@media (min-width:769px) {
  .ciclicom-theme #menu-desktop { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); width:100%; }
  .ciclicom-theme #menu-desktop > li { float:none; width:auto; min-width:0; height:52px; border-right:1px solid rgba(255,255,255,.16); }
  .ciclicom-theme #menu-desktop > li:last-child { border-right:0; }
}

.ciclicom-theme .app-breadcrumb-host { border-color:var(--cc-ink-200); background:rgba(238,242,244,.98); box-shadow:var(--cc-shadow-xs); }
.ciclicom-theme .app-breadcrumb { color:var(--cc-ink-500); font-family:var(--cc-font-body); }
.ciclicom-theme .app-breadcrumb a { color:var(--cc-blue-700); }
.ciclicom-theme .conteudo { padding:clamp(10px,1.4vw,20px); }
.ciclicom-theme .conteudo > .page { color:var(--cc-ink-950); font-family:var(--cc-font-body); text-align:left; }

/* Hierarquia tipográfica */
.ciclicom-theme .page :is(h1,h2,h3,h4,h5,h6),
.ciclicom-theme .work-home :is(h1,h2,h3,h4),
.ciclicom-theme .client360 :is(h1,h2,h3,h4) { color:var(--cc-ink-950); font-family:var(--cc-font-display); letter-spacing:-.015em; }
.ciclicom-theme .page :is(h1,h2,h3,h4,h5,h6) { display:block; }

/* Cabeçalhos de página e superfícies */
.ciclicom-theme .page .topbar,
.ciclicom-theme .work-hero,
.ciclicom-theme .client360-hero {
  border:1px solid rgba(185,205,235,.90);
  background:var(--cc-brand-soft)!important;
  color:var(--cc-ink-950)!important;
  box-shadow:var(--cc-shadow-md);
}
.ciclicom-theme .page .topbar { min-height:66px; padding:14px 18px; border-radius:var(--cc-radius-lg); }
.ciclicom-theme .page .topbar h1 { color:var(--cc-ink-950); font-size:22px; }
.ciclicom-theme .page .topbar .badge { border:1px solid var(--cc-ink-200); background:rgba(255,255,255,.88); color:var(--cc-ink-700); }
.ciclicom-theme .work-hero p,
.ciclicom-theme .client360-hero p { color:var(--cc-ink-700)!important; }
.ciclicom-theme .client360-badge { border:1px solid var(--cc-blue-200); background:rgba(255,255,255,.78); color:var(--cc-blue-700); }
.ciclicom-theme .work-hero .work-btn.primary { border:1px solid var(--cc-blue-100); background:#fff!important; color:var(--cc-blue-700)!important; box-shadow:var(--cc-shadow-xs); }
.ciclicom-theme .work-hero .work-btn.secondary { border:1px solid var(--cc-green-100); background:var(--cc-green-50)!important; color:#0a6e32!important; box-shadow:var(--cc-shadow-xs); }

.ciclicom-theme :is(.section,.card,.work-panel,.work-task,.client360-panel,.client360-kpi,.clientes-card,.produtos-card,.mensagens-card,.rel-envios-card,.rm-card,.notif-group-panel,.consulta-cadastro-card) {
  border-color:var(--cc-ink-200);
  background:rgba(255,255,255,.97);
  box-shadow:var(--cc-shadow-sm);
}

/* Botões */
.ciclicom-theme .btn,
.ciclicom-theme button {
  transition:transform var(--cc-fast) var(--cc-ease),background var(--cc-fast),border-color var(--cc-fast),box-shadow var(--cc-fast);
}
.ciclicom-theme .page .btn { min-height:38px; border-radius:var(--cc-radius-md); font-family:var(--cc-font-body); font-size:13px; font-weight:800; }
.ciclicom-theme .page .btn-send,
.ciclicom-theme .page .btn-primary { border:0!important; background:var(--cc-brand-gradient)!important; color:#fff!important; box-shadow:0 8px 20px rgba(20,181,79,.18); }
.ciclicom-theme .page .btn-outline { border:1px solid var(--cc-ink-200)!important; background:var(--cc-paper)!important; color:var(--cc-ink-800)!important; box-shadow:var(--cc-shadow-xs); }
.ciclicom-theme .page .btn-outline:hover { border-color:var(--cc-blue-200)!important; background:var(--cc-blue-50)!important; color:var(--cc-blue-700)!important; }
.ciclicom-theme .page .btn:disabled,
.ciclicom-theme .page button:disabled { opacity:.52; cursor:not-allowed; box-shadow:none; transform:none; }
.ciclicom-theme .page :is(.btn,button):not(:disabled):active { transform:scale(.98); }

/* Formulários */
.ciclicom-theme .page label { color:var(--cc-ink-700); font-size:12px; font-weight:750; }
.ciclicom-theme .page :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea,[contenteditable="true"]),
.ciclicom-theme .consulta-cadastro-modal input[type="text"] {
  border:1px solid var(--cc-ink-200);
  border-radius:var(--cc-radius-sm);
  background:var(--cc-paper);
  color:var(--cc-ink-950);
  box-shadow:inset 0 1px 1px rgba(20,25,42,.02);
}
.ciclicom-theme .page :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea,[contenteditable="true"]):focus,
.ciclicom-theme .consulta-cadastro-modal input[type="text"]:focus {
  border-color:var(--cc-blue-500);
  outline:3px solid rgba(91,132,212,.18);
  outline-offset:0;
}
.ciclicom-theme .page input::placeholder,
.ciclicom-theme .page textarea::placeholder { color:var(--cc-ink-300); }

/* Tabelas e paginação */
.ciclicom-theme .page table,
.ciclicom-theme .consulta-cadastro-tabela { border-color:var(--cc-ink-200); background:rgba(255,255,255,.98); }
.ciclicom-theme .page table th,
.ciclicom-theme .consulta-cadastro-tabela th { border-color:var(--cc-ink-200); background:var(--cc-blue-50)!important; color:var(--cc-ink-800)!important; font-size:11px; font-weight:800; letter-spacing:.025em; }
.ciclicom-theme .page table td,
.ciclicom-theme .consulta-cadastro-tabela td { border-color:var(--cc-ink-100); color:var(--cc-ink-700); }
.ciclicom-theme .page table tbody tr:hover,
.ciclicom-theme .page table tbody tr.is-selected,
.ciclicom-theme .consulta-cadastro-row:hover,
.ciclicom-theme .consulta-cadastro-row.is-selected { background:var(--cc-green-50)!important; color:var(--cc-green-600)!important; }
.ciclicom-theme .cliente-row,
.ciclicom-theme .produto-row { cursor:pointer; }
.ciclicom-theme :is(.pager-btn,.clientes-pager-btn,.produtos-pager-btn,.consulta-cadastro-pager-btn,.rel-pager-btn) { border-color:var(--cc-ink-200)!important; background:var(--cc-paper)!important; color:var(--cc-blue-700)!important; border-radius:var(--cc-radius-sm)!important; }
.ciclicom-theme :is(.pager-btn,.clientes-pager-btn,.produtos-pager-btn,.consulta-cadastro-pager-btn,.rel-pager-btn).active { border-color:var(--cc-blue-500)!important; background:var(--cc-blue-50)!important; }

/* Modais */
.ciclicom-theme :is(.clientes-modal-backdrop,.produtos-modal-backdrop,.mensagens-modal-backdrop,.consulta-cadastro-backdrop,.notif-modal-backdrop) { background:rgba(31,37,56,.42); backdrop-filter:blur(3px); }
.ciclicom-theme :is(.clientes-modal,.produtos-modal,.mensagens-modal,.consulta-cadastro-modal,[role="dialog"]) { border-color:var(--cc-ink-200); background:var(--cc-paper); box-shadow:var(--cc-shadow-lg); }
.ciclicom-theme :is(.clientes-modal-topo,.produtos-modal-topo,.mensagens-modal-topo,.consulta-cadastro-topo,.notif-modal-topo) { border-color:var(--cc-ink-200); background:var(--cc-brand-soft)!important; }
.ciclicom-theme .consulta-cadastro-topo h2 { color:var(--cc-ink-950); font-family:var(--cc-font-display); }
.ciclicom-theme .consulta-cadastro-fechar { border-color:var(--cc-ink-200); background:var(--cc-paper); color:var(--cc-ink-700); }

/* Ajuda contextual de interação */
.ciclicom-theme .app-record-open-hint,
.ciclicom-theme .app-consulta-hint {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 16px;
  width:100%;
  margin-top:8px;
  padding:9px 11px;
  border:1px solid var(--cc-blue-100);
  border-radius:var(--cc-radius-md);
  background:linear-gradient(95deg,rgba(240,244,251,.94),rgba(240,250,243,.94));
  color:var(--cc-ink-700);
  font-size:12px;
  line-height:1.4;
}
.ciclicom-theme .app-record-open-hint span,
.ciclicom-theme .app-consulta-hint span { display:inline-flex; align-items:center; gap:6px; }
.ciclicom-theme .app-record-open-hint i,
.ciclicom-theme .app-consulta-hint i { color:var(--cc-blue-600); font-size:16px; }
.ciclicom-theme .app-consulta-hint { margin:10px 0 0; }
.ciclicom-theme .app-consulta-hint kbd,
.ciclicom-theme .app-record-open-hint kbd { padding:2px 6px; border:1px solid var(--cc-ink-200); border-bottom-width:2px; border-radius:6px; background:#fff; color:var(--cc-ink-800); font-family:var(--cc-font-body); font-size:11px; font-weight:800; }

/* Componentes operacionais */
.ciclicom-theme .context-surface { border-color:var(--cc-ink-200); background:rgba(255,255,255,.94); box-shadow:var(--cc-shadow-sm); }
.ciclicom-theme .work-pulse-category { border-color:var(--cc-ink-200); background:rgba(255,255,255,.92); }
.ciclicom-theme .work-pulse-summary:hover { background:var(--cc-blue-50); }
.ciclicom-theme .fab-admin-btn { border-color:rgba(255,255,255,.7); background:var(--cc-brand-gradient); box-shadow:0 10px 24px rgba(72,112,186,.22); }

/* Controle flutuante de envio automático */
.ciclicom-theme .fab-autoenvio {
  width:360px;
  max-width:calc(100vw - 108px);
  max-height:calc(100vh - 32px);
  border:1px solid var(--cc-ink-200);
  border-radius:var(--cc-radius-lg);
  background:rgba(255,255,255,.98);
  color:var(--cc-ink-800);
  font-family:var(--cc-font-body);
  box-shadow:var(--cc-shadow-lg);
  backdrop-filter:blur(12px);
}
.ciclicom-theme .fab-autoenvio::before { content:""; position:absolute; inset:0 0 auto; z-index:2; height:4px; background:var(--cc-brand-gradient); pointer-events:none; }
.ciclicom-theme .fab-autoenvio .fab-header { min-height:72px; padding:12px 14px; gap:12px; border-bottom:1px solid var(--cc-ink-100); background:var(--cc-paper); }
.ciclicom-theme .fab-autoenvio .fab-title { min-width:0; gap:10px; color:var(--cc-ink-950); }
.ciclicom-theme .fab-title-icon { display:grid; flex:0 0 40px; width:40px; height:40px; place-items:center; border-radius:12px; background:var(--cc-brand-soft); color:var(--cc-blue-700); font-size:22px; }
.ciclicom-theme .fab-title-copy { display:flex; min-width:0; flex-direction:column; line-height:1.25; }
.ciclicom-theme .fab-title-copy strong { font-family:var(--cc-font-display); font-size:16px; font-weight:800; letter-spacing:-.015em; }
.ciclicom-theme .fab-title-copy small { margin-top:2px; color:var(--cc-ink-500); font-size:11px; font-weight:600; }
.ciclicom-theme .fab-autoenvio .fab-title-badge { min-width:24px; height:24px; padding:0 7px; border:0; background:var(--cc-danger); font-family:var(--cc-font-body); font-size:11px; box-shadow:none; }
.ciclicom-theme .fab-autoenvio .fab-iconbtn { display:grid; width:34px; height:34px; min-height:34px; padding:0; place-items:center; border:1px solid var(--cc-ink-200); border-radius:10px; background:var(--cc-ink-50); color:var(--cc-ink-700); font-size:18px; }
.ciclicom-theme .fab-autoenvio .fab-iconbtn:hover { border-color:var(--cc-blue-200); background:var(--cc-blue-50); color:var(--cc-blue-700); }
.ciclicom-theme .fab-autoenvio .fab-body { max-height:calc(100vh - 108px); padding:14px; overflow:auto; }
.ciclicom-theme .fab-intro { margin:0 0 12px; color:var(--cc-ink-500); font-size:12px; line-height:1.45; }
.ciclicom-theme .fab-autoenvio .fab-grid { display:block; margin:0; }
.ciclicom-theme .fab-autoenvio .fab-categoria { margin:0 0 8px; }
.ciclicom-theme .fab-autoenvio .fab-btn-categoria {
  display:flex;
  width:100%;
  min-height:44px;
  height:auto;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid var(--cc-ink-200);
  border-radius:var(--cc-radius-md);
  background:var(--cc-paper);
  color:var(--cc-ink-800);
  font-size:13px;
  font-weight:750;
  text-align:left;
}
.ciclicom-theme .fab-autoenvio .fab-btn-categoria > span { display:flex; align-items:center; gap:9px; }
.ciclicom-theme .fab-autoenvio .fab-btn-categoria > span i { display:grid; width:28px; height:28px; place-items:center; border-radius:9px; background:var(--cc-brand-soft); color:var(--cc-blue-700); font-size:16px; }
.ciclicom-theme .fab-autoenvio .fab-btn-categoria:hover,
.ciclicom-theme .fab-autoenvio .fab-btn-categoria.ativo { border-color:var(--cc-blue-200); background:var(--cc-blue-50); }
.ciclicom-theme .fab-category-chevron { color:var(--cc-ink-500); font-size:15px; transition:transform var(--cc-base) var(--cc-ease); }
.ciclicom-theme .fab-btn-categoria.ativo .fab-category-chevron { transform:rotate(180deg); }
.ciclicom-theme .fab-autoenvio .fab-subgrupo { margin:7px 0 12px; gap:7px; }
.ciclicom-theme .fab-autoenvio .fab-subgrupo.ativo { display:grid; grid-template-columns:1fr; }
.ciclicom-theme .fab-autoenvio .fab-btn {
  width:100%;
  min-height:48px;
  margin:0;
  padding:9px 11px;
  border:1px solid var(--cc-ink-200);
  border-radius:var(--cc-radius-md);
  background:var(--cc-ink-50);
  color:var(--cc-ink-800);
  font-size:12px;
  font-weight:700;
  text-align:left;
  box-shadow:none;
}
.ciclicom-theme .fab-autoenvio .fab-btn:hover { transform:none; border-color:var(--cc-blue-200); background:var(--cc-blue-50); }
.ciclicom-theme .fab-autoenvio .fab-btn.on { border-color:var(--cc-green-100); background:var(--cc-green-50); color:#0a6e32; }
.ciclicom-theme .fab-autoenvio .fab-btn.off { border-color:#f4c5bc; background:var(--cc-danger-soft); color:#a73e2a; }
.ciclicom-theme .fab-status { display:inline-flex; flex:0 0 auto; align-items:center; gap:6px; color:currentColor; font-size:10px; font-weight:800; letter-spacing:.01em; }
.ciclicom-theme .fab-autoenvio .fab-btn .dot { width:8px; height:8px; flex-basis:8px; background:var(--cc-ink-300); box-shadow:none; }
.ciclicom-theme .fab-autoenvio .fab-btn.on .dot { background:var(--cc-green-500); }
.ciclicom-theme .fab-autoenvio .fab-btn.off .dot { background:var(--cc-danger); }
.ciclicom-theme .fab-autoenvio .fab-btn-all { margin-top:4px; border-color:var(--cc-blue-200); background:var(--cc-blue-50); }
.ciclicom-theme .fab-autoenvio .fab-btn-all > span:first-child { display:flex; align-items:center; gap:8px; }
.ciclicom-theme .fab-autoenvio .fab-footer { margin:12px 0 0; padding-top:11px; border-top:1px solid var(--cc-ink-100); color:var(--cc-ink-500); font-size:11px; line-height:1.4; opacity:1; }
.ciclicom-theme .rodape { min-height:64px; border-color:rgba(255,255,255,.18); background:linear-gradient(105deg,#244f86 0%,#247585 52%,#167044 100%); color:#fff; font-size:13px; }
.ciclicom-theme .rodape h5 { color:#fff; }

:where(.ciclicom-theme a,.ciclicom-theme button,.ciclicom-theme input,.ciclicom-theme select,.ciclicom-theme textarea,[tabindex]):focus-visible { outline:3px solid rgba(91,132,212,.28); outline-offset:2px; }

/* Grades de navegação */
.ciclicom-theme .rel-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px;
  width:100%;
  margin-top:16px;
}
.ciclicom-theme .rel-card {
  display:flex;
  align-items:stretch;
  min-height:190px;
  height:auto;
  border:1px solid var(--cc-ink-200);
  border-radius:var(--cc-radius-lg);
  background:rgba(255,255,255,.97);
  color:var(--cc-ink-800);
  text-decoration:none;
  box-shadow:var(--cc-shadow-sm);
  overflow:hidden;
  transition:transform var(--cc-base) var(--cc-ease),border-color var(--cc-fast),box-shadow var(--cc-fast);
}
.ciclicom-theme .rel-card:hover { transform:translateY(-2px); border-color:var(--cc-blue-200); box-shadow:var(--cc-shadow-md); }
.ciclicom-theme .rel-card .rel-ico { display:grid; flex:0 0 68px; place-items:center; align-self:stretch; border:0; border-right:1px solid var(--cc-blue-100); border-radius:0; background:var(--cc-brand-soft); color:var(--cc-blue-700); font-size:28px; }
.ciclicom-theme .rel-card .rel-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:18px; }
.ciclicom-theme .rel-card .rel-title { color:var(--cc-ink-950); font-family:var(--cc-font-display); font-size:17px; font-weight:800; }
.ciclicom-theme .rel-card .rel-desc { display:block!important; min-height:4.5em; margin-top:6px; overflow:visible!important; color:var(--cc-ink-500); font-size:13px; line-height:1.5; white-space:normal!important; text-overflow:clip!important; -webkit-box-orient:initial!important; -webkit-line-clamp:unset!important; }
.ciclicom-theme .rel-card .rel-actions { margin-top:auto; padding-top:14px; }
.ciclicom-theme .rel-card .rel-btn { display:inline-flex; align-items:center; justify-content:center; min-width:88px; }

/* Conta do operador */
.ciclicom-theme .usuario-password-page { max-width:1120px; margin:0 auto; }
.ciclicom-theme .usuario-password-eyebrow,
.ciclicom-theme .usuario-password-label { display:block; color:var(--cc-green-600); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ciclicom-theme .usuario-password-page .topbar p { margin:4px 0 0; color:var(--cc-ink-500); font-size:13px; }
.ciclicom-theme .usuario-password-grid { display:grid; grid-template-columns:minmax(240px,.72fr) minmax(360px,1.28fr); gap:18px; margin-top:18px; }
.ciclicom-theme .usuario-password-card { border:1px solid var(--cc-ink-200); border-radius:var(--cc-radius-xl); background:rgba(255,255,255,.98); box-shadow:var(--cc-shadow-md); padding:clamp(20px,3vw,30px); }
.ciclicom-theme .usuario-password-summary { display:flex; align-items:flex-start; gap:16px; align-self:start; background:var(--cc-brand-soft); }
.ciclicom-theme .usuario-password-summary strong { display:block; margin-top:6px; color:var(--cc-ink-950); font-family:var(--cc-font-display); font-size:19px; overflow-wrap:anywhere; }
.ciclicom-theme .usuario-password-summary p { margin:12px 0 0; color:var(--cc-ink-500); font-size:13px; line-height:1.55; }
.ciclicom-theme .usuario-password-icon { display:grid; flex:0 0 48px; width:48px; height:48px; place-items:center; border:1px solid var(--cc-blue-100); border-radius:15px; background:#fff; color:var(--cc-blue-600); font-size:26px; box-shadow:var(--cc-shadow-xs); }
.ciclicom-theme .usuario-password-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.ciclicom-theme .usuario-password-heading h2 { margin:4px 0 0; font-size:21px; }
.ciclicom-theme .usuario-password-heading > i { color:var(--cc-blue-500); font-size:28px; }
.ciclicom-theme .usuario-password-field { margin-top:15px; }
.ciclicom-theme .usuario-password-field > label { display:block; margin-bottom:6px; }
.ciclicom-theme .usuario-password-input { position:relative; }
.ciclicom-theme .usuario-password-input input { width:100%; min-height:46px; padding:9px 48px 9px 12px; }
.ciclicom-theme .usuario-password-toggle { position:absolute; top:50%; right:5px; display:grid; width:38px; height:36px; min-height:0!important; padding:0; place-items:center; transform:translateY(-50%); border:0; border-radius:9px; background:transparent; color:var(--cc-ink-500); }
.ciclicom-theme .usuario-password-toggle:hover { background:var(--cc-blue-50); color:var(--cc-blue-700); }
.ciclicom-theme .usuario-password-policy { margin-top:18px; padding:14px; border:1px solid var(--cc-blue-100); border-radius:var(--cc-radius-md); background:var(--cc-blue-50); color:var(--cc-ink-700); font-size:12px; }
.ciclicom-theme .usuario-password-policy > strong { color:var(--cc-ink-800); }
.ciclicom-theme .usuario-password-policy ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 16px; margin:10px 0 0; padding:0; list-style:none; }
.ciclicom-theme .usuario-password-policy li { display:flex; float:none; align-items:center; gap:7px; width:auto; min-width:0; height:auto; min-height:0; padding:0; border:0; }
.ciclicom-theme .usuario-password-policy li i { color:var(--cc-ink-300); }
.ciclicom-theme .usuario-password-policy li.is-valid { color:var(--cc-green-600); }
.ciclicom-theme .usuario-password-policy li.is-valid i { color:var(--cc-green-500); }
.ciclicom-theme .usuario-password-feedback { margin-top:16px; padding:11px 13px; border:1px solid; border-radius:var(--cc-radius-md); font-size:13px; font-weight:650; }
.ciclicom-theme .usuario-password-feedback.is-error { border-color:#f4c5bc; background:var(--cc-danger-soft); color:#a73e2a; }
.ciclicom-theme .usuario-password-feedback.is-success { border-color:var(--cc-green-100); background:var(--cc-green-50); color:var(--cc-green-600); }
.ciclicom-theme .usuario-password-actions { display:flex; justify-content:flex-end; margin-top:20px; }
.ciclicom-theme .usuario-password-actions .btn { min-width:168px; }
@media (max-width:768px) {
  body.ciclicom-theme { font-size:15px; }
  .ciclicom-theme .header { min-height:76px; padding:6px 10px; border-bottom-color:rgba(255,255,255,.18); background:linear-gradient(105deg,#244f86 0%,#247585 52%,#167044 100%); color:#fff; }
  .ciclicom-theme .barra-menu-mobile .menu-item:first-child { min-height:64px; border:0; border-radius:0; background:transparent; box-shadow:none; }
  .ciclicom-theme .barra-menu-mobile .menu-item:last-child { min-height:64px; gap:8px; }
  .ciclicom-theme .barra-menu-mobile img { width:auto!important; height:62px!important; max-width:170px; padding:2px; border-radius:10px; background:#fff; object-fit:contain; box-shadow:var(--cc-shadow-xs); }
  .ciclicom-theme .barra-menu-mobile #app-name { color:#fff; font-family:var(--cc-font-display); font-size:16px; font-weight:800; }
  .ciclicom-theme .menu-toggle { border:1px solid var(--cc-blue-100); background:var(--cc-blue-50); color:var(--cc-blue-700); }
  .ciclicom-theme #label-menu-toggle { color:var(--cc-blue-700); }
  .ciclicom-theme body.menu-open #menu,
  body.ciclicom-theme.menu-open #menu { border-top:1px solid var(--cc-ink-200); background:var(--cc-paper); }
  body.ciclicom-theme.menu-open #menu .menu li { visibility:visible; opacity:1; border-color:var(--cc-ink-100); background:var(--cc-paper); color:var(--cc-ink-800)!important; -webkit-text-fill-color:var(--cc-ink-800); }
  body.ciclicom-theme.menu-open #menu .menu-mobile-itens > #divdatelogin { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; min-height:0; padding:14px 12px; border-top:1px solid var(--cc-ink-200); background:var(--cc-canvas); color:var(--cc-ink-800); }
  body.ciclicom-theme.menu-open #menu #divdatelogin > .dados-login:not(#logout) { display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-width:0; min-height:0; padding:0; color:var(--cc-ink-800)!important; line-height:1.35; }
  body.ciclicom-theme.menu-open #menu #divdatelogin > .dados-login:not(#logout) br { display:none; }
  body.ciclicom-theme.menu-open #menu #divdatelogin h6 { margin:4px 0 0; color:var(--cc-ink-500)!important; font-family:var(--cc-font-body); font-size:10px; font-weight:800; letter-spacing:.06em; line-height:1.2; text-transform:uppercase; }
  body.ciclicom-theme.menu-open #menu #divdatelogin .empresa-razao,
  body.ciclicom-theme.menu-open #menu #divdatelogin #usuario { display:block; max-width:100%; overflow-wrap:anywhere; color:var(--cc-ink-800)!important; -webkit-text-fill-color:var(--cc-ink-800); font-size:14px; font-weight:700; }
  body.ciclicom-theme.menu-open #menu #divdatelogin .empresa-multi-select { min-height:32px; margin-left:4px; padding:3px 28px 3px 8px; border:1px solid var(--cc-ink-200); border-radius:var(--cc-radius-sm); background:#fff; color:var(--cc-ink-800); font-size:13px; }
  body.ciclicom-theme.menu-open #menu #divdatelogin #logout { display:grid; place-items:center; flex:none; width:48px; min-height:48px; padding:0; }
  body.ciclicom-theme.menu-open #menu #divdatelogin .efetuarLogout { display:grid; width:44px; height:44px; place-items:center; border:1px solid var(--cc-ink-200); border-radius:50%; background:#fff; box-shadow:var(--cc-shadow-xs); }
  body.ciclicom-theme.menu-open #menu #divdatelogin .efetuarLogout img { width:22px!important; height:auto!important; opacity:.78; }
  .ciclicom-theme .conteudo { padding:10px; }
  .ciclicom-theme .rel-grid { grid-template-columns:1fr; gap:12px; }
  .ciclicom-theme .rel-card { min-height:0; height:auto; }
  .ciclicom-theme .usuario-password-grid { grid-template-columns:1fr; }
  .ciclicom-theme .usuario-password-policy ul { grid-template-columns:1fr; }
  .ciclicom-theme .page .topbar { align-items:flex-start; flex-direction:column; }
  .ciclicom-theme .page .topbar .meta { width:100%; justify-content:flex-start; }
  .ciclicom-theme .app-record-open-hint,
  .ciclicom-theme .app-consulta-hint { align-items:flex-start; flex-direction:column; gap:6px; }
  .ciclicom-theme .fab-autoenvio { right:70px; bottom:10px; width:340px; max-width:calc(100vw - 84px); max-height:calc(100vh - 20px); }
  .ciclicom-theme .fab-autoenvio .fab-header { min-height:66px; padding:10px 12px; }
  .ciclicom-theme .fab-autoenvio .fab-body { max-height:calc(100vh - 86px); padding:12px; }
}

@media (prefers-reduced-motion:reduce) {
  .ciclicom-theme *,
  .ciclicom-theme *::before,
  .ciclicom-theme *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
