/* =====================================================================
   ClickUp WP — Design System
   ===================================================================== */

/* As variáveis de cor precisam existir também em elementos anexados diretamente
   ao <body> (modais, dropdowns, toasts) — por isso são declaradas tanto em
   #cuwp-root quanto em body. Sem isso, esses elementos ficam com fundo/texto
   transparentes por não conseguirem resolver var(--cuwp-*). */
#cuwp-root, body {
	--cuwp-primary: #1b5f9d;
	--cuwp-primary-hover: #2270b8;
	--cuwp-secondary: #2270b8;
	--cuwp-tertiary: #f9db72;
	--cuwp-primary-light: #e6f0f8;
	--cuwp-danger: #C0392B; /* contraste AA sobre branco (antes #E74C3C = 3.8:1) */
	--cuwp-warning: #F5A623;
	--cuwp-success: #2ECC71;
	--cuwp-info: #4A90E2;

	--cuwp-bg: #FFFFFF;
	--cuwp-surface: #FFFFFF;
	--cuwp-surface-2: #FFFFFF;
	--cuwp-border: #D1D5DB;
	--cuwp-text: #1F2129;
	--cuwp-text-muted: #5A6171;
	--cuwp-text-faint: #6F7685; /* 5.19.17: contraste AA */
	--cuwp-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
	--cuwp-shadow-lg: 0 10px 25px rgba(0,0,0,.08), 0 4px 10px rgba(0,0,0,.05);
	--cuwp-radius: 12px;
	--cuwp-radius-sm: 8px;
	--cuwp-sidebar-w: 240px;
}

#cuwp-root {
	font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-weight: 500; /* Montserrat em 400 fica fina demais para uso em interface; 500 lê melhor */
	color: var(--cuwp-text);
	position: relative;
	display: block;
}

/* O WordPress define uma cor própria para h1-h6 dentro do painel admin
   (ex: .wrap h2), que vence a cor herdada e ignora nosso tema escuro.
   Força a cor certa em qualquer título dentro do app, com !important
   para garantir que vença o CSS do próprio WP admin. */
#cuwp-root h1, #cuwp-root h2, #cuwp-root h3, #cuwp-root h4, #cuwp-root h5, #cuwp-root h6,
.cuwp-modal h1, .cuwp-modal h2, .cuwp-modal h3, .cuwp-modal h4 {
	color: var(--cuwp-text) !important;
}

/* Content ocupa a largura útil do painel do WP, sem "vazar" para fora do
   contêiner padrão — evita conteúdo colado na borda da tela. */
#wpbody-content .wrap:has(> #cuwp-root) { margin: 0; }

#cuwp-root[data-theme="dark"], body[data-theme="dark"] {
	--cuwp-bg: #16171D;
	--cuwp-surface: #1E1F27;
	--cuwp-surface-2: #24252F;
	--cuwp-border: #33343E;
	--cuwp-text: #F1F2F4;
	--cuwp-text-muted: #A3A5AF;
	--cuwp-text-faint: #8E909B; /* 5.19.17: contraste AA */
	--cuwp-primary-light: rgba(27,95,157,.28);
	--cuwp-danger: #FF7466; /* contraste AA no fundo escuro */
	--cuwp-on-dark: #7fbaeb; /* versão clara da cor da marca para texto/ícone no escuro */
	--cuwp-shadow: 0 1px 3px rgba(0,0,0,.4);
	--cuwp-shadow-lg: 0 10px 25px rgba(0,0,0,.5);
}

#cuwp-root * { box-sizing: border-box; }

/* Remove o contorno azul feio que o navegador coloca por padrão em botões
   clicados/tocados — no celular, esse destaque fica "grudado" depois de
   tocar, já que toque não tem o mesmo "tirar o mouse de cima" que existe no
   computador. Troca por um contorno customizado que só aparece navegando
   pelo teclado (Tab), não em cliques/toques comuns — mantém acessível sem
   ficar feio. Direto nas classes (não depende de estar dentro de #cuwp-root),
   já que modal e menu suspenso são anexados fora dele, direto no <body>. */
.cuwp-btn, .cuwp-tab, .cuwp-icon-btn, .cuwp-modal-close, .cuwp-task-modal-edit-btn,
.cuwp-nav-item, .cuwp-nav-toggle, .cuwp-dropdown-item, .cuwp-color-swatch,
.cuwp-chart-period-btn, .cuwp-checklist-del {
	-webkit-tap-highlight-color: transparent;
	outline: none;
}
.cuwp-btn:focus-visible, .cuwp-tab:focus-visible, .cuwp-icon-btn:focus-visible,
.cuwp-modal-close:focus-visible, .cuwp-task-modal-edit-btn:focus-visible,
.cuwp-nav-item:focus-visible, .cuwp-nav-toggle:focus-visible, .cuwp-dropdown-item:focus-visible,
.cuwp-color-swatch:focus-visible, .cuwp-chart-period-btn:focus-visible, .cuwp-checklist-del:focus-visible {
	outline: 2px solid var(--cuwp-primary);
	outline-offset: 2px;
}
.cuwp-tab:hover:not(.active) { color: var(--cuwp-text); background: var(--cuwp-surface-2); border-radius: 6px 6px 0 0; }
#cuwp-root button { cursor: pointer; }
#cuwp-root a { text-decoration: none; color: var(--cuwp-primary); }
#cuwp-root ::-webkit-scrollbar { width: 8px; height: 8px; }
#cuwp-root ::-webkit-scrollbar-thumb { background: var(--cuwp-border); border-radius: 10px; }

/* Blindagem contra o CSS do tema do site (usado quando o app aparece no
   front-end via o shortcode [clickup_wp]) — muitos temas aplicam resets
   globais a button/input/svg que quebram o visual da busca, dos ícones do
   topo e outros controles. Os seletores abaixo também cobrem os elementos
   anexados fora de #cuwp-root (modais, dropdowns, toasts). */
#cuwp-root svg,
.cuwp-modal-overlay svg,
.cuwp-dropdown svg,
.cuwp-toast-wrap svg { max-width: none !important; height: auto; box-sizing: content-box !important; }

#cuwp-root button,
#cuwp-root input,
#cuwp-root select,
#cuwp-root textarea,
.cuwp-modal-overlay button,
.cuwp-modal-overlay input,
.cuwp-modal-overlay select,
.cuwp-modal-overlay textarea,
.cuwp-dropdown button,
.cuwp-dropdown input,
.cuwp-dropdown select,
.cuwp-dropdown textarea {
	font-family: inherit !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	letter-spacing: normal;
	text-transform: none;
}
/* O reset acima (appearance:none) também apagava a aparência de checkboxes e
   rádios, deixando-os invisíveis (mas ainda clicáveis) — restaura a aparência
   nativa só para esses dois, para poderem ficar visíveis e coloridos com a
   cor da marca via accent-color. */
#cuwp-root input[type="checkbox"],
#cuwp-root input[type="radio"],
.cuwp-modal-overlay input[type="checkbox"],
.cuwp-modal-overlay input[type="radio"],
.cuwp-dropdown input[type="checkbox"],
.cuwp-dropdown input[type="radio"] {
	-webkit-appearance: auto !important;
	appearance: auto !important;
	accent-color: var(--cuwp-primary);
}

.cuwp-icon-btn svg,
.cuwp-search-box svg { width: 17px !important; height: 17px !important; flex-shrink: 0; }
.cuwp-btn svg { width: 14px !important; height: 14px !important; flex-shrink: 0; }
.cuwp-nav-item svg { width: 19px !important; height: 19px !important; flex-shrink: 0; }

/* Layout ------------------------------------------------------------- */
.cuwp-shell { display: flex; min-height: 80vh; background: var(--cuwp-bg); }
/* No frontend (shortcode), preenche a altura da tela toda (100vh), garantindo
   que o fundo do app cubra a área visível inteira, sem sobrar vazio nem cortar. */
#cuwp-root.cuwp-frontend .cuwp-shell { min-height: 100vh; }

.cuwp-sidebar {
	width: var(--cuwp-sidebar-w);
	flex-shrink: 0;
	background: var(--cuwp-surface);
	border-right: 1px solid var(--cuwp-border);
	padding: 18px 14px;
	display: flex;
	flex-direction: column;
	gap: 3px;
	position: sticky;
	top: 32px;
	height: calc(100vh - 32px);
	overflow-y: auto;
	align-self: flex-start;
}
.cuwp-sidebar-brand { display: flex; align-items: center; gap: 10px; padding: 8px 8px 20px; min-height: 55px; }
.cuwp-sidebar-user {
	display: flex; align-items: center; gap: 10px; padding: 10px 8px;
	margin: 0 0 14px; border-top: 1px solid var(--cuwp-border); border-bottom: 1px solid var(--cuwp-border);
}
.cuwp-sidebar-user .cuwp-avatar { width: 34px; height: 34px; flex-shrink: 0; }
.cuwp-sidebar-user-name { font-size: 13px; font-weight: 700; color: var(--cuwp-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cuwp-nav-toggle, .cuwp-nav-toggle-spacer { display: none; }
.cuwp-nav-toggle svg { width: 20px; height: 20px; }
.cuwp-sidebar-brand img { border-radius: 6px; display: block; }
.cuwp-brand-logo {
	max-height: 55px;
	max-width: 200px;
	width: auto;
	height: auto;
	object-fit: contain;
}
.cuwp-sidebar-brand span { font-weight: 800; font-size: 16px; letter-spacing: -.01em; color: var(--cuwp-text); }
.cuwp-nav-item {
	display: flex; align-items: center; justify-content: flex-start; gap: 12px;
	padding: 10px 12px; border-radius: 8px;
	color: var(--cuwp-text-muted); font-size: 14px; font-weight: 600;
	border: none; border-left: 3px solid transparent; background: transparent; width: 100%; text-align: left;
	transition: background .12s ease, color .12s ease, border-color .12s ease;
}
.cuwp-nav-item:hover { background: var(--cuwp-surface-2) !important; color: var(--cuwp-text) !important; }
.cuwp-nav-item.active { background: var(--cuwp-primary-light); color: var(--cuwp-primary); border-left-color: var(--cuwp-tertiary); font-weight: 700; }
#cuwp-root[data-theme="dark"] .cuwp-nav-item.active, body[data-theme="dark"] .cuwp-nav-item.active { background: color-mix(in srgb, var(--cuwp-primary) 28%, transparent); color: var(--cuwp-on-dark); border-left-color: var(--cuwp-tertiary); }
.cuwp-nav-sep { height: 1px; background: var(--cuwp-border); margin: 12px 4px; }
.cuwp-nav-label { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--cuwp-text-faint); font-weight: 700; padding: 12px 12px 6px; }

.cuwp-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }

.cuwp-topbar {
	display: flex; align-items: center; gap: 14px;
	padding: 10px 20px; border-bottom: 1px solid var(--cuwp-border);
	background: var(--cuwp-surface); position: sticky; top: 32px; z-index: 20;
}
/* No frontend a barra preta do WP admin fica escondida (ver CUWP_Shortcode::maybe_hide_admin_bar),
   então não há mais 32px para descontar no topo. */
#cuwp-root.cuwp-frontend .cuwp-topbar { top: 0; }
#cuwp-root.cuwp-frontend .cuwp-sidebar { top: 0; height: 100vh; }
.cuwp-topbar h1 { font-size: 17px; font-weight: 700; margin: 0; flex-shrink: 0; color: var(--cuwp-text); }
.cuwp-topbar-spacer { flex: 1; }
.cuwp-search-box {
	display: flex; align-items: center; gap: 8px;
	background: var(--cuwp-surface-2); border: 1px solid var(--cuwp-border);
	border-radius: 8px; padding: 7px 12px; width: 280px; color: var(--cuwp-text-muted);
	font-size: 13px; box-shadow: none !important; flex-shrink: 0;
}
.cuwp-search-box input { border: none !important; background: transparent !important; outline: none; color: var(--cuwp-text) !important; width: 100%; font-size: 13px; padding: 0 !important; margin: 0 !important; min-width: 0; -webkit-appearance: none; appearance: none; }
.cuwp-search-box input::-webkit-search-decoration,
.cuwp-search-box input::-webkit-search-cancel-button,
.cuwp-search-box input::-webkit-search-results-button,
.cuwp-search-box input::-webkit-search-results-decoration { -webkit-appearance: none; }

.cuwp-icon-btn {
	width: 34px !important; height: 34px !important; min-width: 34px; border-radius: 8px; border: 1px solid var(--cuwp-border);
	background: var(--cuwp-surface); display: flex; align-items: center; justify-content: center;
	color: var(--cuwp-text-muted); position: relative !important; flex-shrink: 0; padding: 0 !important; box-shadow: none !important;
	margin: 0 !important; overflow: visible !important;
}
.cuwp-icon-btn:hover { background: var(--cuwp-surface-2) !important; color: var(--cuwp-text) !important; }
.cuwp-icon-controle { width: 21px !important; height: 21px !important; flex-shrink: 0; }
.cuwp-badge-dot {
	position: absolute !important; top: -3px !important; right: -3px !important; left: auto !important; bottom: auto !important;
	background: var(--cuwp-danger); color: #fff !important; font-size: 10px; font-weight: 700; border-radius: 10px;
	min-width: 16px; height: 16px; line-height: 1; display: flex !important; align-items: center; justify-content: center;
	padding: 0 3px; z-index: 5; pointer-events: none;
}

.cuwp-content { padding: 22px; overflow: auto; }

/* Botões --------------------------------------------------------------- */
/* Altura FIXA (36px) pra todo botão do app, seja qual for o tamanho de
   texto/ícone — só a largura varia conforme o conteúdo (padding horizontal).
   Sem isso, .cuwp-btn-sm (usado nos toggles "Arquivadas" etc) ficava
   visivelmente mais baixo que um .cuwp-btn comum ao lado dele na mesma
   linha, e também mais baixo que um .cuwp-select/.cuwp-input vizinho. */
.cuwp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 8px;
	height: 36px; padding: 0 14px; font-size: 13px; font-weight: 600; background: var(--cuwp-surface-2) !important;
	color: var(--cuwp-text) !important; border: 1px solid var(--cuwp-border) !important;
}
.cuwp-btn:hover { background: var(--cuwp-border) !important; color: var(--cuwp-text) !important; }
.cuwp-btn-primary { background: var(--cuwp-primary) !important; color: #fff !important; border-color: var(--cuwp-primary) !important; }
.cuwp-btn-primary:hover { background: var(--cuwp-primary-hover) !important; color: #fff !important; }
.cuwp-btn-danger { background: transparent !important; color: var(--cuwp-danger) !important; border-color: transparent !important; }
.cuwp-btn-danger:hover { background: rgba(231,76,60,.1) !important; color: var(--cuwp-danger) !important; }
.cuwp-btn-sm { height: 36px; padding: 0 10px; font-size: 12px; }
.cuwp-btn:disabled { opacity: .6; cursor: not-allowed; }

/* Cards / Grids ---------------------------------------------------------*/
.cuwp-grid { display: grid; gap: 16px; }
.cuwp-grid-3 { grid-template-columns: repeat(3, 1fr); }
.cuwp-grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 1100px) { .cuwp-grid-3 { grid-template-columns: repeat(2,1fr);} }
@media (max-width: 700px) {
.cuwp-grid-3,
.cuwp-grid-2 { grid-template-columns: 1fr; } }

/* Responsivo — o app pode aparecer no front-end (shortcode) dentro de uma
   coluna de conteúdo bem mais estreita do que o painel do WordPress, então
   o quadro (Kanban) e o menu lateral precisam se ajustar à resolução disponível. */
@media (max-width: 960px) {
	.cuwp-sidebar { width: 200px; }
}
@media (max-width: 760px) {
	.cuwp-shell { flex-direction: column; min-height: auto; }
	.cuwp-sidebar {
		width: 100%; flex-direction: column; align-items: stretch;
		border-right: none; border-bottom: 1px solid var(--cuwp-border); gap: 0;
		position: static; height: auto; overflow-y: visible; padding: 0;
	}
	/* No frontend, a regra que faz a barra lateral ocupar 100vh (pensada pra
	   telas grandes, onde ela fica fixa lateralmente) precisa ser desligada
	   aqui — senão ela força a altura da tela inteira mesmo no celular,
	   empurrando todo o resto do conteúdo pra baixo. */
	#cuwp-root.cuwp-frontend .cuwp-sidebar { height: auto; }
	/* Cabeçalho mobile: botão sanduíche à esquerda, logo centralizada, e um
	   espaçador à direita do mesmo tamanho do botão — mantém a logo
	   realmente no centro, não só "meio deslocada". */
	.cuwp-sidebar-brand {
		display: flex !important; align-items: center !important; justify-content: space-between !important;
		padding: 10px 12px !important; margin: 0 !important; min-height: auto !important;
	}
	.cuwp-sidebar-brand-logo { flex: 1; display: flex; justify-content: center; min-width: 0; }
	.cuwp-brand-logo { max-height: 44px !important; }
	.cuwp-nav-toggle {
		display: flex !important; align-items: center !important; justify-content: center !important;
		width: 36px !important; height: 36px !important; min-width: 36px !important; max-width: 36px !important;
		flex-shrink: 0 !important; border-radius: 8px !important; margin: 0 !important;
		border: 1px solid var(--cuwp-border) !important; background: var(--cuwp-surface) !important;
		color: var(--cuwp-text) !important; cursor: pointer !important; padding: 0 !important;
		line-height: 1 !important; box-shadow: none !important;
	}
	.cuwp-nav-toggle svg {
		width: 20px !important; height: 20px !important; display: block !important;
		stroke: var(--cuwp-text) !important; fill: none !important;
	}
	/* Reforço extra com cores explícitas (não só variável) para o modo escuro,
	   caso o tema do site tenha seu próprio CSS de modo escuro conflitando —
	   já vimos esse tipo de conflito acontecer com outros elementos antes. */
	#cuwp-root[data-theme="dark"] .cuwp-nav-toggle,
	body[data-theme="dark"] .cuwp-nav-toggle {
		background: #1E1F27 !important; border-color: #33343E !important; color: #F1F2F4 !important;
	}
	#cuwp-root[data-theme="dark"] .cuwp-nav-toggle svg,
	body[data-theme="dark"] .cuwp-nav-toggle svg {
		stroke: #F1F2F4 !important;
	}
	.cuwp-nav-toggle-spacer { display: block; width: 36px; flex-shrink: 0; }

	/* Menu fica escondido por padrão; some no botão sanduíche pra abrir,
	   ocupando a largura toda como um painel logo abaixo do cabeçalho. */
	#cuwp-nav, #cuwp-nav-context, .cuwp-sidebar-user { display: none; flex-direction: column; padding: 6px 10px 10px; }
	.cuwp-sidebar.cuwp-nav-open #cuwp-nav,
	.cuwp-sidebar.cuwp-nav-open #cuwp-nav-context { display: flex !important; }
	.cuwp-sidebar.cuwp-nav-open .cuwp-sidebar-user { display: flex; flex-direction: row; margin: 0; border-top: 1px solid var(--cuwp-border); border-bottom: none; }
	.cuwp-sidebar.cuwp-nav-open { border-bottom: 1px solid var(--cuwp-border); }
	/* Reforço com cores explícitas (não só variável) pro fundo do painel
	   aberto no modo escuro — caso o tema do site tenha seu próprio CSS de
	   modo escuro conflitando (já vimos isso acontecer com outros elementos,
	   como o botão sanduíche logo acima). */
	#cuwp-root[data-theme="dark"] .cuwp-sidebar.cuwp-nav-open,
	body[data-theme="dark"] .cuwp-sidebar.cuwp-nav-open,
	#cuwp-root[data-theme="dark"] #cuwp-nav,
	body[data-theme="dark"] #cuwp-nav,
	#cuwp-root[data-theme="dark"] #cuwp-nav-context,
	body[data-theme="dark"] #cuwp-nav-context {
		background: #1E1F27 !important;
	}
	#cuwp-root[data-theme="dark"] .cuwp-nav-item:not(.active),
	body[data-theme="dark"] .cuwp-nav-item:not(.active) {
		color: #9CA3AF !important;
	}
	.cuwp-nav-item { width: 100%; }
	.cuwp-content { padding: 14px; }
	.cuwp-kanban-col { flex-basis: 240px; min-width: 240px; }
}
@media (max-width: 520px) {
	.cuwp-topbar { flex-wrap: wrap; padding: 10px 14px; }
	.cuwp-search-box { width: 100%; order: 3; }
	.cuwp-kanban-col { flex-basis: 210px; min-width: 210px; }
}

/* Tabelas: contêiner com rolagem horizontal própria (Projetos, Tarefas,
   Equipes, Relatórios) — o texto das células não quebra linha, então se não
   couber na largura da tela, aparece uma barra de rolagem só na tabela, sem
   afetar o resto da página. Funciona em qualquer tamanho de tela, não só mobile. */
.cuwp-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cuwp-table th, .cuwp-table td { white-space: nowrap; }
/* Tarefa e Projeto podem ter nomes bem longos — quebra a linha em vez de
   deixar o texto sair cortado, mas sem espremer numa largura pequena: a
   tabela já rola de lado (.cuwp-table-scroll), então a coluna pode crescer
   à vontade — mesmo padrão já usado na lista de Projetos, que nunca limitou
   a largura da coluna de nome. */
.cuwp-table td.cuwp-table-wrap { white-space: normal; min-width: 280px; }

@media (max-width: 760px) {
	/* Modal de tarefa (conteúdo + lateral) empilha em vez de espremer duas
	   colunas estreitas demais pra usar num celular. */
	.cuwp-task-detail-grid { grid-template-columns: 1fr; gap: 20px; }
	.cuwp-modal-lg .cuwp-modal-body { padding: 16px; }

	/* Calendário: reduz altura mínima das células e fonte, já que 7 colunas
	   numa tela de celular ficam bem apertadas de qualquer forma. */
	.cuwp-calendar-daycell { min-height: 70px; padding: 4px; font-size: 11.5px; }
	.cuwp-calendar-task { font-size: 10px; padding: 2px 4px; }

	/* Tabela de Equipes: no celular, mostra só o texto "X membros" — sem as
	   fotos, que com todo mundo aparecendo (não só uma prévia) ficariam
	   grandes demais numa tela estreita. */
	.cuwp-team-avatars { display: none !important; }

	/* Gráficos do Dashboard: título e botões de período de "Tarefas
	   concluídas" não cabem lado a lado — empilha os botões abaixo do
	   título, ocupando a largura toda, e reduz um pouco a altura do gráfico. */
	.cuwp-chart-box { height: 190px !important; }
	.cuwp-chart-header-periods { flex-direction: column; align-items: stretch; }
	.cuwp-chart-header-periods .cuwp-flex { justify-content: space-between; }
}

.cuwp-card {
	background: var(--cuwp-surface); border: 1px solid var(--cuwp-border);
	border-radius: var(--cuwp-radius); padding: 16px; box-shadow: var(--cuwp-shadow);
}
.cuwp-card-title { font-size: 12.5px; color: var(--cuwp-text-muted); font-weight: 600; margin-bottom: 6px; }
.cuwp-chart-box { height: 220px; }

.cuwp-section-title { font-size: 15px; font-weight: 700; margin: 0 0 12px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; color: var(--cuwp-text); }
/* Ícone sólido padrão à frente dos títulos de box (Configurações e afins) —
   mesma "pastilha" colorida pra todo canto, só muda o emoji de dentro, pra
   não ficar um mix de estilos diferentes. O ícone e o texto do título ficam
   SEMPRE dentro de um único <span> (nunca soltos lado a lado no flex), porque
   o WordPress converte emoji em <img> e, dentro de um flex com
   justify-content:space-between como o .cuwp-section-title, dois filhos
   soltos (o <img> do emoji e o texto) seriam empurrados pra pontas opostas. */
.cuwp-icon-title { display: inline-flex; align-items: center; gap: 8px; }
.cuwp-section-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0;
	background: var(--cuwp-primary); line-height: 1;
	color: #fff; /* os SVGs de dentro usam stroke="currentColor" */
}
/* Ícone de verdade (SVG via CUWP.icon(), ver cuwp-components.js), não mais
   emoji com filtro CSS. O filtro brightness(0)+invert(1) que usávamos antes
   virava QUALQUER emoji numa silhueta branca sólida — ótimo pro "ícone de
   cor sólida, sem colorido, com contraste nítido" que foi pedido, mas só
   funciona quando o desenho do emoji é puramente um contorno. Vários emoji
   (uma pasta, um gráfico, um recibo, uma paleta, um check dentro de caixa)
   marcam o detalhe que diferencia um do outro com COR interna, não com
   transparência — o filtro reduz tudo a preto antes de inverter, então
   esse detalhe interno desaparece e sobra só o contorno externo (quase
   sempre um retângulo arredondado igual pra vários deles, ex: "Produtividade"
   e "Projetos" ficavam com o MESMO desenho). SVG próprio com stroke sólido
   resolve de vez: sempre nítido e reconhecível, sem depender de como o
   emoji do sistema operacional pinta por dentro.
*/
.cuwp-section-icon svg { width: 15px; height: 15px; }

/* Badges ----------------------------------------------------------------*/
.cuwp-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; padding: 3px 8px; border-radius: 20px; }
.cuwp-priority-urgent { background: rgba(231,76,60,.12); color: var(--cuwp-danger); }
.cuwp-priority-high { background: rgba(245,166,35,.14); color: var(--cuwp-warning); }
.cuwp-priority-normal { background: rgba(74,144,226,.12); color: var(--cuwp-info); }
.cuwp-priority-low { background: rgba(155,155,155,.14); color: var(--cuwp-text-muted); }
.cuwp-status-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 20px; border: 1px solid transparent; }
.cuwp-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }

.cuwp-avatar { width: 26px; height: 26px; border-radius: 50% !important; object-fit: cover !important; border: 2px solid var(--cuwp-surface); overflow: hidden; flex-shrink: 0; display: inline-block; }
.cuwp-avatar-stack { display: flex; flex-wrap: wrap; row-gap: 4px; }
.cuwp-avatar-stack img { margin-left: -8px; }
.cuwp-avatar-stack img:first-child { margin-left: 0; }

/* Tabs -------------------------------------------------------------------*/
.cuwp-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--cuwp-border); margin-bottom: 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cuwp-tab { padding: 9px 14px; font-size: 13px; font-weight: 600; color: var(--cuwp-text-muted); border-bottom: 2px solid transparent; background: none; border-left:none;border-right:none;border-top:none; white-space: nowrap; flex-shrink: 0; }
.cuwp-tab, .cuwp-tab:active, .cuwp-tab:focus, .cuwp-tab.active:active, .cuwp-tab.active:focus {
	background: transparent !important;
	-webkit-tap-highlight-color: transparent !important;
}
.cuwp-tab.active { color: var(--cuwp-primary); border-bottom-color: var(--cuwp-primary); }
/* No escuro, o azul primário perde contraste contra o fundo escuro — usa o
   dourado (cor terciária da marca), já usado como destaque em outros pontos
   do app no modo escuro (ex: item ativo do menu lateral). */
#cuwp-root[data-theme="dark"] .cuwp-tab.active, body[data-theme="dark"] .cuwp-tab.active {
	color: var(--cuwp-tertiary);
	border-bottom-color: var(--cuwp-tertiary);
}

/* Tabela (Lista) ----------------------------------------------------------*/
.cuwp-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--cuwp-surface); border-radius: var(--cuwp-radius); overflow: hidden; border: 1px solid var(--cuwp-border) !important; box-shadow: var(--cuwp-shadow); }
.cuwp-table th { text-align: left; font-size: 11.5px; text-transform: uppercase; letter-spacing: .03em; color: var(--cuwp-text-faint); padding: 10px 14px; background: var(--cuwp-surface-2); border-bottom: 1px solid var(--cuwp-border) !important; border-right: 1px solid var(--cuwp-border) !important; }
.cuwp-table td { padding: 10px 14px; font-size: 13.5px; border-bottom: 1px solid var(--cuwp-border) !important; border-right: 1px solid var(--cuwp-border) !important; }
.cuwp-table th:last-child, .cuwp-table td:last-child { border-right: none !important; }
.cuwp-table tr:last-child td { border-bottom: none !important; }
.cuwp-table tr:hover { background: var(--cuwp-surface-2) !important; cursor: pointer; }
.cuwp-task-title-cell { display: flex; align-items: center; gap: 8px; font-weight: 500; }

/* Kanban --------------------------------------------------------------- */
.cuwp-kanban { display: flex; gap: 12px; width: 100%; align-items: flex-start; overflow-x: auto; padding-bottom: 4px; }
.cuwp-kanban-col { background: var(--cuwp-surface-2); border-radius: var(--cuwp-radius); flex: 1 0 200px; min-width: 200px; display: flex; flex-direction: column; max-height: 76vh; border: 1px solid var(--cuwp-border); }
.cuwp-kanban-col-head { display: flex; align-items: center; gap: 8px; padding: 12px 12px 8px; font-weight: 700; font-size: 13px; min-width: 0; }
.cuwp-kanban-col-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cuwp-kanban-col-count { font-size: 11.5px; color: var(--cuwp-text-faint); background: var(--cuwp-surface); border-radius: 10px; padding: 1px 7px; }
.cuwp-kanban-col-body { flex: 1; overflow-y: auto; padding: 4px 10px 10px; display: flex; flex-direction: column; gap: 8px; min-height: 40px; }
.cuwp-kanban-col.drag-over { outline: 2px dashed var(--cuwp-primary); outline-offset: -4px; }
.cuwp-kcard { background: var(--cuwp-surface); border: 1px solid var(--cuwp-border); border-radius: 8px; padding: 10px; box-shadow: var(--cuwp-shadow); cursor: grab; }
.cuwp-kcard:active { cursor: grabbing; }
.cuwp-kcard.dragging { opacity: .4; }
.cuwp-kcard-title { font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.cuwp-kcard-meta { display: flex; align-items: center; justify-content: space-between; gap: 6px; flex-wrap: wrap; }
.cuwp-kcard-labels { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 6px; }
.cuwp-kcard-labels .cuwp-badge { font-size: 10.5px; padding: 2px 7px; }
.cuwp-tag { font-size: 10.5px; font-weight: 600; padding: 2px 7px; border-radius: 10px; color: #fff; }
.cuwp-tag-removable { display: inline-flex; align-items: center; gap: 4px; }
.cuwp-tag-removable .cuwp-icon-fechar { width: 13px !important; height: 13px !important; }
.cuwp-add-card-btn { border: 1px dashed var(--cuwp-border); background: transparent; color: var(--cuwp-text-faint); border-radius: 8px; padding: 8px; font-size: 12.5px; margin: 0 10px 10px; }

/* Modal ------------------------------------------------------------------*/
.cuwp-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.45); display: flex; align-items: center; justify-content: center; z-index: 999999; color: var(--cuwp-text); font-weight: 500; font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.cuwp-modal { background: var(--cuwp-surface); border-radius: var(--cuwp-radius); width: 560px; max-width: 92vw; max-height: 88vh; overflow: hidden; box-shadow: var(--cuwp-shadow-lg); color: var(--cuwp-text); display: flex; flex-direction: column; }
.cuwp-modal.cuwp-modal-lg { width: 1180px; max-height: 92vh; }
/* Barra de rolagem fina, arredondada e "embutida" — fica só dentro da área
   de conteúdo (cuwp-modal-body), que é quem realmente rola agora; cabeçalho
   e rodapé ficam fixos, fora da rolagem, então a barra nunca passa por cima
   deles. Mesmo tratamento nos outros contêineres com rolagem própria do app. */
.cuwp-modal-body,
#cuwp-td-comments,
.cuwp-table-scroll,
.cuwp-dropdown,
.cuwp-sidebar {
	scrollbar-width: thin; scrollbar-color: var(--cuwp-border) transparent;
}
.cuwp-modal-body::-webkit-scrollbar,
#cuwp-td-comments::-webkit-scrollbar,
.cuwp-table-scroll::-webkit-scrollbar,
.cuwp-dropdown::-webkit-scrollbar,
.cuwp-sidebar::-webkit-scrollbar { width: 8px; height: 8px; }
.cuwp-modal-body::-webkit-scrollbar-track,
#cuwp-td-comments::-webkit-scrollbar-track,
.cuwp-table-scroll::-webkit-scrollbar-track,
.cuwp-dropdown::-webkit-scrollbar-track,
.cuwp-sidebar::-webkit-scrollbar-track { background: transparent; margin: 10px 0; }
.cuwp-modal-body::-webkit-scrollbar-thumb,
#cuwp-td-comments::-webkit-scrollbar-thumb,
.cuwp-table-scroll::-webkit-scrollbar-thumb,
.cuwp-dropdown::-webkit-scrollbar-thumb,
.cuwp-sidebar::-webkit-scrollbar-thumb { background: var(--cuwp-border); border-radius: 8px; }
.cuwp-modal-body::-webkit-scrollbar-thumb:hover,
#cuwp-td-comments::-webkit-scrollbar-thumb:hover,
.cuwp-table-scroll::-webkit-scrollbar-thumb:hover,
.cuwp-dropdown::-webkit-scrollbar-thumb:hover,
.cuwp-sidebar::-webkit-scrollbar-thumb:hover { background: var(--cuwp-text-faint); }
.cuwp-modal-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--cuwp-border); background: var(--cuwp-surface); flex-shrink: 0; }
.cuwp-modal-header h2 { font-size: 16px; margin: 0; color: var(--cuwp-text); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cuwp-modal-body { padding: 20px; overflow-y: auto; flex: 1; min-height: 0; }
.cuwp-modal-lg .cuwp-modal-body { padding: 24px 28px; }
.cuwp-modal-footer { padding: 14px 20px; border-top: 1px solid var(--cuwp-border); display: flex; justify-content: flex-end; gap: 8px; background: var(--cuwp-surface); flex-shrink: 0; }
.cuwp-modal-close {
	border: none; background: none; font-size: 26px; color: var(--cuwp-text-faint); line-height: 1;
	width: 34px; height: 34px; flex-shrink: 0; border-radius: 8px; cursor: pointer;
	display: flex; align-items: center; justify-content: center; transition: background .12s ease, color .12s ease;
}
.cuwp-modal-close:hover { background: var(--cuwp-surface-2); color: var(--cuwp-text); }
.cuwp-icon-fechar { width: 20px !important; height: 20px !important; flex-shrink: 0; }

/* Título editável do modal de tarefa: trunca com reticências se for longo,
   sem nunca empurrar/sobrepor o botão de fechar. */
.cuwp-task-modal-title { display: flex; align-items: center; gap: 6px; flex: 1; min-width: 0; }
.cuwp-task-modal-title-text {
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	font-size: 16px; font-weight: 700; color: var(--cuwp-text); cursor: text;
}
.cuwp-task-modal-edit-btn {
	border: none; background: none; color: var(--cuwp-text-faint); font-size: 20px; line-height: 1;
	width: 34px; height: 34px; flex-shrink: 0; border-radius: 8px; cursor: pointer;
	display: flex; align-items: center; justify-content: center; transition: background .12s ease, color .12s ease;
}
.cuwp-task-modal-edit-btn:hover { background: var(--cuwp-surface-2); color: var(--cuwp-primary); }
.cuwp-icon-editar { width: 20px !important; height: 20px !important; flex-shrink: 0; }

/* Formulários ------------------------------------------------------------*/
.cuwp-field { margin-bottom: 14px; }
.cuwp-field label { display: block; font-size: 12.5px; font-weight: 600; color: var(--cuwp-text-muted); margin-bottom: 5px; }
/* !important em cor/fundo/borda aqui é necessário: o WordPress define um
   estilo próprio pra inputs de texto (ex.: "input[type=text] { color:
   #2c3338; background:#fff; }") com mais especificidade que uma única
   classe nossa — sem o !important, ele vence e o campo fica com texto escuro
   sobre fundo escuro no tema escuro do app (quase ilegível). */
.cuwp-input, .cuwp-textarea, .cuwp-select {
	width: 100%; border: 1px solid var(--cuwp-border) !important; border-radius: 7px; padding: 8px 10px;
	font-size: 13.5px; background: var(--cuwp-surface-2) !important; color: var(--cuwp-text) !important; font-family: inherit;
}
.cuwp-input:focus, .cuwp-textarea:focus, .cuwp-select:focus { outline: 2px solid var(--cuwp-primary); outline-offset: 0; }
/* Mesma altura fixa dos botões (36px) — pra um select/input ficar alinhado
   com um botão na mesma linha (ex: filtro de equipe + botão "Arquivadas"). */
.cuwp-input, .cuwp-select { height: 36px; padding: 0 10px; }
.cuwp-textarea { min-height: 70px; resize: vertical; }

/* Task detail ----------------------------------------------------------*/
.cuwp-task-detail-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 28px; align-items: start; }
.cuwp-task-detail-main { min-width: 0; }
.cuwp-task-detail-sidebar { min-width: 0; }
.cuwp-checklist-item { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 13.5px; }
.cuwp-checklist-item span { flex: 1; min-width: 0; word-break: break-word; }
.cuwp-checklist-item input[type=checkbox] {
	width: 17px; height: 17px; flex-shrink: 0; cursor: pointer;
	accent-color: var(--cuwp-primary); margin: 0;
}
.cuwp-checklist-item.done span { text-decoration: line-through; color: var(--cuwp-text-faint); }
.cuwp-checklist-del {
	border: none; background: none; color: var(--cuwp-text-faint); font-size: 17px; line-height: 1;
	padding: 0; cursor: pointer; flex-shrink: 0; width: 22px; height: 22px; border-radius: 5px;
	display: flex; align-items: center; justify-content: center; transition: background .12s ease, color .12s ease;
}
.cuwp-checklist-del:hover { background: var(--cuwp-surface-2); color: var(--cuwp-danger); }
.cuwp-progress-bar { height: 6px; background: var(--cuwp-border); border-radius: 4px; overflow: hidden; }
.cuwp-progress-bar > div { height: 100%; background: var(--cuwp-success); }
.cuwp-comment { display: flex; gap: 10px; margin-bottom: 8px; }

/* Reações (emoji) e "visto por" — no chat e nos comentários de tarefa. */
.cuwp-reaction-row { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; margin-top: 2px; }
.cuwp-reaction-pill {
	display: inline-flex; align-items: center; gap: 3px; font-size: 11.5px; font-weight: 600;
	padding: 2px 7px; border-radius: 12px; border: 1px solid var(--cuwp-border);
	background: var(--cuwp-surface); color: var(--cuwp-text-muted); cursor: pointer;
}
.cuwp-reaction-pill.mine { background: var(--cuwp-primary-light); border-color: var(--cuwp-primary); color: var(--cuwp-primary); }
.cuwp-reaction-pill:hover { border-color: var(--cuwp-primary); }
/* Sempre visível (não só ao passar o mouse) — em celular não tem "hover",
   então um botão que só aparecesse assim ficaria basicamente invisível pra
   quem usa touch. Contraste reforçado nos dois temas, pra realmente dar pra
   notar de cara que dá pra interagir ali. */
.cuwp-reaction-add {
	display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px;
	min-width: 24px; min-height: 24px; flex-shrink: 0; padding: 0; box-sizing: border-box;
	border-radius: 50%; border: 1px solid var(--cuwp-border); background: var(--cuwp-border);
	cursor: pointer; font-size: 13px; color: var(--cuwp-text); opacity: 1;
}
.cuwp-reaction-add:hover { border-color: var(--cuwp-primary); color: var(--cuwp-primary); background: var(--cuwp-primary-light); }
.cuwp-reaction-add-plus { font-size: 15px; font-weight: 700; line-height: 1; display: block; color: inherit; }
.cuwp-read-by { display: flex; align-items: center; gap: 4px; margin-top: 4px; }
.cuwp-read-by .cuwp-avatar-stack img { margin-left: -6px; }
.cuwp-read-by .cuwp-avatar-stack img:first-child { margin-left: 0; }
.cuwp-read-by-label { font-size: 10.5px; color: var(--cuwp-text-faint); }

/* Editar/excluir mensagem/comentário — mesma ideia: contraste reforçado nos
   dois temas, sempre visível (não escondido até passar o mouse). */
.cuwp-msg-actions { display: inline-flex; gap: 4px; margin-left: 8px; }
.cuwp-msg-action-btn {
	display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px;
	border-radius: 6px; border: 1px solid var(--cuwp-border); background: var(--cuwp-border);
	cursor: pointer; font-size: 11px; color: var(--cuwp-text); opacity: 1; padding: 0;
}
.cuwp-msg-action-btn:hover { border-color: var(--cuwp-primary); color: var(--cuwp-primary); background: var(--cuwp-primary-light); }
.cuwp-inline-edit-editor { margin-top: 4px; }

/* Botão "Mover para outro status" nos cartões do Kanban/Banco de ideias —
   alternativa ao arrastar (que não funciona em telas touch: toque não
   dispara o drag-and-drop nativo do HTML5), sempre visível como os outros
   botões de ação acima, pelo mesmo motivo (touch não tem estado de hover). */
.cuwp-kcard-move-btn {
	display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px;
	border-radius: 6px; border: 1px solid var(--cuwp-border); background: var(--cuwp-border);
	cursor: pointer; font-size: 12px; color: var(--cuwp-text); opacity: 1; padding: 0; flex-shrink: 0;
}
.cuwp-kcard-move-btn:hover { border-color: var(--cuwp-primary); color: var(--cuwp-primary); background: var(--cuwp-primary-light); }

/* No celular, os botões de reagir/editar/excluir ficam maiores — mais fácil
   de acertar o toque do dedo do que numa tela de computador, onde o mouse é
   bem mais preciso. */
@media (max-width: 760px) {
	.cuwp-reaction-add { width: 30px; height: 30px; min-width: 30px; min-height: 30px; }
	.cuwp-reaction-add-plus { font-size: 18px; }
	.cuwp-msg-action-btn { width: 28px; height: 28px; font-size: 13px; }
	.cuwp-msg-actions { gap: 6px; }
	.cuwp-reaction-row { margin-top: 4px; }
	.cuwp-checklist-del { width: 30px; height: 30px; font-size: 19px; }
	.cuwp-emoji-picker button { width: 32px; height: 32px; font-size: 20px; }
	.cuwp-kcard-move-btn { width: 28px; height: 28px; font-size: 14px; }
}

/* Moldura de cartão (fica só na "caixa" externa) + área interna com rolagem
   própria — separados pra a barra de rolagem não ficar colada/por cima da
   borda do cartão, com um respiro (padding-right) reservado pra ela. */
#cuwp-td-comments-box {
	background: var(--cuwp-surface); border: 1px solid var(--cuwp-border);
	border-radius: var(--cuwp-radius); padding: 12px 4px 12px 12px;
}
#cuwp-td-comments { max-height: 340px; overflow-y: auto; padding-right: 10px; }
#cuwp-td-comments .cuwp-comment:last-child { margin-bottom: 0; }
.cuwp-comment-body { background: var(--cuwp-surface-2); border-radius: 8px; padding: 8px 10px; font-size: 13px; flex: 1; min-width: 0; }
/* Texto formatado (negrito, listas etc.) dentro da bolha de comentário/chat
   — o editor sempre envolve o texto em <p>, sem isso sobraria um espaço
   grande em cima/embaixo de mensagens curtas de uma linha só. */
.cuwp-comment-body p { margin: 0 0 6px; }
.cuwp-comment-body p:last-child,
.cuwp-comment-body [data-comment-content] p:last-child,
.cuwp-comment-body [data-message-content] p:last-child,
.cuwp-comment-body [data-idea-comment-content] p:last-child { margin-bottom: 0; }
.cuwp-comment-body ol, .cuwp-comment-body ul { margin: 4px 0; padding-left: 20px; }
.cuwp-comment-meta { font-size: 11.5px; color: var(--cuwp-text-faint); margin-bottom: 2px; }
.cuwp-sidebar-field { margin-bottom: 16px; }
.cuwp-sidebar-field-label { font-size: 11.5px; text-transform: uppercase; color: var(--cuwp-text-faint); font-weight: 700; margin-bottom: 6px; letter-spacing: .03em; }
/* Esse botão não tem texto solto, tem o selo arredondado (.cuwp-status-pill)
   dentro dele — com a altura padrão de 36px dos outros botões ficava quase
   sem margem entre o selo e a borda (reportado como "no limite da margem").
   Um pouco mais alto aqui dá folga sem desalinhar os outros campos da barra. */
.cuwp-sidebar-pill-btn { width: 100%; height: 42px; justify-content: flex-start; text-align: left; }

/* Empty state -------------------------------------------------------------*/
.cuwp-empty { text-align: center; padding: 60px 20px; color: var(--cuwp-text-faint); }
.cuwp-empty svg { width: 48px; height: 48px; margin-bottom: 10px; opacity: .5; }

/* Calendário --------------------------------------------------------------*/
.cuwp-calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); border: 1px solid var(--cuwp-border); border-radius: var(--cuwp-radius); overflow: hidden; }
.cuwp-calendar-daycell { min-height: 110px; border-right: 1px solid var(--cuwp-border); border-bottom: 1px solid var(--cuwp-border); padding: 6px; background: var(--cuwp-surface); vertical-align: top; }
.cuwp-calendar-daycell.today { background: var(--cuwp-primary-light); }
.cuwp-calendar-daynum { font-size: 12px; font-weight: 700; color: var(--cuwp-text-muted); margin-bottom: 4px; }
.cuwp-calendar-task { font-size: 11px; font-weight: 600; padding: 3px 6px; border-radius: 5px; margin-bottom: 3px; background: var(--cuwp-primary-light); color: var(--cuwp-primary); cursor: grab; }
.cuwp-calendar-head { text-align: center; font-size: 11.5px; font-weight: 700; color: var(--cuwp-text-faint); padding: 8px; background: var(--cuwp-surface-2); }
/* Botão "+N mais" — abre a lista completa do dia (não fica escondendo tarefa
   nenhuma, só não cabe tudo direto na célula pequena do mês). */
.cuwp-calendar-more {
	display: block; width: 100%; text-align: left; font-size: 10.5px; font-weight: 700;
	color: var(--cuwp-primary); background: none; border: none; padding: 2px 4px; cursor: pointer; border-radius: 4px;
}
.cuwp-calendar-more:hover { background: var(--cuwp-primary-light); }
/* Modo Dia/Semana: limita a altura do card quando um dia tem muitas tarefas,
   com rolagem própria — nada fica escondido, só não deixa o card esticar
   infinitamente e desalinhar o resto da grade. */
.cuwp-agenda-day-tasks { max-height: 420px; overflow-y: auto; }

/* Agenda (eventos/compromissos) --------------------------------------------*/
/* Reaproveita a grade .cuwp-calendar-* acima; só o "chip" de cada item tem
   uma classe própria, já que a cor vem por equipe (inline, via JS) em vez
   do status fixo usado pelas tarefas. */
.cuwp-event-chip { font-size: 12.5px; padding: 4px 7px; border-radius: 6px; margin-bottom: 4px; cursor: pointer; line-height: 1.3; }
.cuwp-event-chip:hover { filter: brightness(0.96); }
.cuwp-event-chip-title { font-weight: 700; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cuwp-event-chip-meta { font-size: 11px; font-weight: 600; opacity: .85; display: flex; gap: 6px; flex-wrap: wrap; margin-top: 2px; }
.cuwp-event-chip-detailed .cuwp-event-chip-title { white-space: normal; overflow: visible; text-overflow: initial; }

/* Agenda — visão "Ano": 12 mini-calendários num grid responsivo, cada um
   com os próprios dias da semana e pontinhos (não a lista inteira, não cabe)
   marcando quais dias têm compromisso. */
.cuwp-year-grid-wrap { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.cuwp-year-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; margin-top: 8px; }
.cuwp-year-head { text-align: center; font-size: 10px; font-weight: 700; color: var(--cuwp-text-faint); padding: 2px 0; }
.cuwp-year-daycell {
	display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
	gap: 2px; font-size: 10.5px; color: var(--cuwp-text); padding: 3px 0; border-radius: 6px; cursor: pointer; min-height: 26px;
}
.cuwp-year-daycell:hover { background: var(--cuwp-surface-2); }
.cuwp-year-daycell.today { background: var(--cuwp-primary-light); font-weight: 700; }
.cuwp-year-daycell-out { opacity: .35; }
.cuwp-year-dots { display: flex; gap: 2px; }

/* Toast ------------------------------------------------------------------*/
.cuwp-toast-wrap { position: fixed; bottom: 20px; right: 20px; z-index: 9999999; display: flex; flex-direction: column; gap: 8px; font-weight: 500; font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.cuwp-toast { background: var(--cuwp-text); color: var(--cuwp-surface); padding: 10px 16px; border-radius: 8px; font-size: 13px; box-shadow: var(--cuwp-shadow-lg); }
.cuwp-toast.error { background: var(--cuwp-danger); }
.cuwp-toast.success { background: var(--cuwp-success); }

/* Dropdown -----------------------------------------------------------------*/
.cuwp-dropdown { position: absolute; background: var(--cuwp-surface); border: 1px solid var(--cuwp-border); border-radius: 8px; box-shadow: var(--cuwp-shadow-lg); z-index: 1000000; min-width: 220px; max-width: 320px; max-height: 320px; overflow-y: auto; overflow-x: hidden; padding: 6px; color: var(--cuwp-text); font-weight: 500; font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.cuwp-dropdown-item { display: flex; align-items: center; gap: 8px; padding: 7px 9px; border-radius: 6px; font-size: 13px; color: var(--cuwp-text); white-space: nowrap; min-width: 0; }
.cuwp-dropdown-item span:not(.cuwp-dot) { overflow: hidden; text-overflow: ellipsis; }
.cuwp-dropdown-item:hover { background: var(--cuwp-surface-2); }

.cuwp-notif-item { padding: 7px 12px; border-bottom: 1px solid var(--cuwp-border); font-size: 12px; color: var(--cuwp-text); line-height: 1.35; }
.cuwp-notif-item.unread { background: var(--cuwp-primary-light) !important; }
.cuwp-notif-title { font-weight: 600; margin-bottom: 0; }
.cuwp-notif-time { color: var(--cuwp-text-faint); font-size: 10.5px; }

.cuwp-flex { display: flex; align-items: center; }
.cuwp-gap-6 { gap: 6px; } .cuwp-gap-8 { gap: 8px; }
.cuwp-mt-8 { margin-top: 8px; } .cuwp-mt-16 { margin-top: 16px; }
.cuwp-muted { color: var(--cuwp-text-muted); font-size: 12.5px; }
.cuwp-text-faint { color: var(--cuwp-text-faint); }
.cuwp-loading { text-align: center; padding: 40px; color: var(--cuwp-text-faint); font-size: 13px; }

/* Editor de texto rico (Quill) — herda as cores do tema claro/escuro ------ */
.ql-toolbar.ql-snow {
	background: var(--cuwp-surface-2);
	border-color: var(--cuwp-border) !important;
	border-radius: 7px 7px 0 0;
}
.ql-container.ql-snow {
	border-color: var(--cuwp-border) !important;
	border-radius: 0 0 7px 7px;
	background: var(--cuwp-surface-2);
	height: var(--cuwp-editor-height, 180px);
	font-size: 13.5px;
}
.ql-editor { color: var(--cuwp-text); height: 100%; overflow-y: auto; }
.ql-editor.ql-blank::before { color: var(--cuwp-text-faint); font-style: normal; }
.ql-snow .ql-stroke { stroke: var(--cuwp-text-muted) !important; }
.ql-snow .ql-fill, .ql-snow .ql-stroke.ql-fill { fill: var(--cuwp-text-muted) !important; }
.ql-snow .ql-picker-label { color: var(--cuwp-text-muted) !important; }
.ql-snow .ql-picker-options { background: var(--cuwp-surface); border-color: var(--cuwp-border) !important; }
.ql-snow.ql-toolbar button:hover, .ql-snow .ql-toolbar button:hover,
.ql-snow.ql-toolbar button.ql-active, .ql-snow .ql-toolbar button.ql-active { color: var(--cuwp-primary) !important; }
.ql-snow.ql-toolbar button:hover .ql-stroke, .ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke, .ql-snow .ql-toolbar button.ql-active .ql-stroke { stroke: var(--cuwp-primary) !important; }
.ql-snow.ql-toolbar button:hover .ql-fill, .ql-snow .ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill, .ql-snow .ql-toolbar button.ql-active .ql-fill { fill: var(--cuwp-primary) !important; }

/* Switch (ativar/desativar) — usado na lista de Projetos ---------------- */
.cuwp-switch { position: relative; display: inline-block; width: 38px; height: 20px; flex-shrink: 0; }
.cuwp-switch input { opacity: 0; width: 0; height: 0; }
.cuwp-switch-slider { position: absolute; cursor: pointer; inset: 0; background: var(--cuwp-border); transition: .2s; border-radius: 20px; }
.cuwp-switch-slider:before { content: ""; position: absolute; height: 16px; width: 16px; left: 2px; bottom: 2px; background: #fff; transition: .2s; border-radius: 50%; }
.cuwp-switch input:checked + .cuwp-switch-slider { background: var(--cuwp-primary); }
.cuwp-switch input:checked + .cuwp-switch-slider:before { transform: translateX(18px); }

/* Chat da equipe — caixa de mensagens com altura confortável e rolagem
   sempre visível (não depende do navegador mostrar a barra só no hover). */
.cuwp-chat-messages {
	height: 320px;
	overflow-y: scroll;
	scrollbar-width: thin;
	scrollbar-color: var(--cuwp-text-faint) transparent;
}
.cuwp-chat-messages::-webkit-scrollbar { width: 8px; }
.cuwp-chat-messages::-webkit-scrollbar-track { background: transparent; }
.cuwp-chat-messages::-webkit-scrollbar-thumb { background: var(--cuwp-text-faint); border-radius: 8px; }

/* =====================================================================
   Tela de login personalizada (shortcode [clickup_wp], quando deslogado)
   Visual moderno (6.4.6 / 5.19.11): cartão de vidro fosco com realce no
   topo, campos com ícone, foco com halo, botão em degradê e entrada
   suave. Claro, escuro (sistema ou tema do app) e celular.
   ===================================================================== */
.cuwp-login-page {
	--lg-card: rgba(255,255,255,.95);
	--lg-card-border: rgba(255,255,255,.55);
	--lg-text: #16181d;
	--lg-muted: #5b6270;
	--lg-label: #4a5160;
	--lg-input-bg: #ffffff;
	--lg-autofill: #ffffff;
	--lg-input-border: #d9dfe8;
	--lg-input-text: #16181d;
	--lg-placeholder: #98a0ae;
	--lg-ring: var(--lg-ring-l, color-mix(in srgb, var(--cuwp-primary) 18%, transparent));
	--lg-shadow: color-mix(in srgb, var(--cuwp-primary) 65%, transparent);
	--lg-shadow-h: color-mix(in srgb, var(--cuwp-primary) 75%, transparent);
	--lg-hover-bg: var(--lg-hover-l, color-mix(in srgb, var(--cuwp-primary) 10%, transparent));
	--lg-ring-dark: rgba(127,186,235,.30);
	--lg-link-dark: #7fbaeb;
	--lg-link: var(--cuwp-primary);
	--lg-icon: #8a93a3;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	min-height: 100dvh; /* celular: não corta com a barra de endereço */
	padding: 24px;
	box-sizing: border-box;
	width: 100%;
	background-image: linear-gradient(135deg, var(--cuwp-primary) 0%, var(--cuwp-secondary) 60%, #123a5e 100%);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-weight: 500;
	position: relative;
}
/* Camada escura sutil por cima da imagem, só para o cartão continuar legível. */
.cuwp-login-page::before {
	content: "";
	position: absolute; inset: 0;
	background: radial-gradient(120% 90% at 50% 40%, rgba(10,30,50,.18), rgba(10,30,50,.55));
}

.cuwp-login-card {
	position: relative;
	width: 100%;
	max-width: 440px;
	background: var(--lg-card);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	backdrop-filter: blur(18px) saturate(140%);
	border: 1px solid var(--lg-card-border);
	border-radius: 24px;
	box-shadow: 0 1px 0 rgba(255,255,255,.6) inset, 0 30px 80px -20px rgba(0,0,0,.55), 0 8px 24px -8px rgba(0,0,0,.25);
	padding: 44px 40px 34px;
	box-sizing: border-box;
	color: var(--lg-text);
	overflow: hidden;
	animation: cuwp-login-in .45s cubic-bezier(.2,.7,.2,1) both;
}
/* Faixa de realce no topo do cartão */
.cuwp-login-card::before {
	content: "";
	position: absolute; left: 0; right: 0; top: 0; height: 5px;
	background: linear-gradient(90deg, var(--cuwp-primary), var(--cuwp-tertiary));
}
@keyframes cuwp-login-in {
	from { opacity: 0; transform: translateY(14px) scale(.985); }
	to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .cuwp-login-card { animation: none; } }

.cuwp-login-card-header { text-align: center; margin-bottom: 26px; padding-bottom: 22px; border-bottom: 1px solid rgba(120,130,150,.22); }
.cuwp-login-logo { max-height: 58px; max-width: 240px; margin: 0 auto 16px; display: block; object-fit: contain; }
.cuwp-login-mark {
	width: 60px; height: 60px; border-radius: 18px;
	background: linear-gradient(135deg, var(--cuwp-tertiary), #ffd36b); color: #123a5e;
	display: flex; align-items: center; justify-content: center;
	font-weight: 800; font-size: 28px; margin: 0 auto 12px;
	box-shadow: 0 8px 20px -6px rgba(0,0,0,.35);
}
.cuwp-login-brand { font-size: 20px; font-weight: 800; margin-bottom: 10px; letter-spacing: -.01em; color: var(--lg-text); }
.cuwp-login-tagline { font-size: 13.5px; color: var(--lg-muted); line-height: 1.55; }
.cuwp-login-tagline p { margin: 0 0 6px; }
.cuwp-login-tagline p:last-child { margin-bottom: 0; }

.cuwp-login-card-body h2 { font-family: inherit; font-size: 24px; font-weight: 800; margin: 0 0 4px; color: var(--lg-text); text-align: center; letter-spacing: -.015em; }
.cuwp-login-card-body > p.cuwp-muted { margin: 0 0 24px; font-size: 13.5px; text-align: center; color: var(--lg-muted); }
.cuwp-login-error {
	background: rgba(231,76,60,.10); color: #c0392b; border: 1px solid rgba(231,76,60,.32);
	border-left: 4px solid #e74c3c;
	border-radius: 10px; padding: 11px 14px; font-size: 13px; margin: 0 0 18px; text-align: left; line-height: 1.45;
}

#cuwp-loginform p { margin: 0 0 16px; }
#cuwp-loginform label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .02em; color: var(--lg-label); margin-bottom: 6px; }
#cuwp-loginform input[type="text"],
#cuwp-loginform input[type="password"],
#cuwp-loginform input[type="email"] {
	width: 100%; height: 48px; border: 1.5px solid var(--lg-input-border); border-radius: 12px;
	padding: 0 14px 0 44px; font-size: 14.5px; background-color: var(--lg-input-bg); color: var(--lg-input-text);
	font-family: inherit; box-sizing: border-box;
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
/* Ícones dos campos: SVG real dentro de um invólucro (6.4.8 / 5.19.13) */
#cuwp-loginform .cuwp-login-field { position: relative; display: block; }
#cuwp-loginform .cuwp-login-field .cuwp-login-ico {
	position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
	width: 18px !important; height: 18px !important; display: block !important;
	color: var(--lg-icon); opacity: 1 !important; visibility: visible !important;
	pointer-events: none; z-index: 2; margin: 0; padding: 0; border: 0; background: none;
}
#cuwp-loginform .cuwp-login-field input[type="text"],
#cuwp-loginform .cuwp-login-field input[type="password"],
#cuwp-loginform .cuwp-login-field input[type="email"] { padding-left: 44px !important; }
#cuwp-loginform .login-otp label { display: block; font-size: 13px; font-weight: 600; margin: 0 0 6px; color: var(--lg-text); }
#cuwp-loginform .cuwp-login-field:focus-within .cuwp-login-ico { color: var(--cuwp-primary); }
/* Preenchimento automático do Chrome: sem o azul-claro com texto preto */
#cuwp-loginform input:-webkit-autofill,
#cuwp-loginform input:-webkit-autofill:hover,
#cuwp-loginform input:-webkit-autofill:active {
	-webkit-text-fill-color: var(--lg-input-text) !important;
	caret-color: var(--lg-input-text);
	box-shadow: 0 0 0 1000px var(--lg-autofill) inset !important;
	border-color: var(--lg-input-border);
	transition: background-color 9999s ease-out 0s;
}
#cuwp-loginform input:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--lg-input-text) !important;
	box-shadow: 0 0 0 1000px var(--lg-autofill) inset, 0 0 0 4px var(--lg-ring) !important;
	border-color: var(--cuwp-primary);
}
#cuwp-loginform input[type="text"]:hover,
#cuwp-loginform input[type="password"]:hover,
#cuwp-loginform input[type="email"]:hover { border-color: var(--lg-input-hover, #b9c2d0); }
#cuwp-loginform input[type="text"]:focus,
#cuwp-loginform input[type="password"]:focus,
#cuwp-loginform input[type="email"]:focus {
	outline: none; border-color: var(--cuwp-primary); box-shadow: 0 0 0 4px var(--lg-ring);
}
#cuwp-loginform .login-remember label { display: flex; align-items: center; gap: 9px; font-weight: 500; font-size: 13px; letter-spacing: 0; color: var(--lg-text); cursor: pointer; margin: 0; }
#cuwp-loginform .login-remember input { width: 17px; height: 17px; margin: 0; accent-color: var(--cuwp-primary); }
#cuwp-loginform .login-submit { margin-top: 22px; }
#cuwp-loginform input[type="submit"] {
	width: 100%; height: 50px; color: #fff; border: none; border-radius: 12px;
	background: linear-gradient(135deg, var(--cuwp-primary) 0%, var(--cuwp-secondary) 100%);
	box-shadow: 0 10px 22px -8px var(--lg-shadow);
	font-size: 15px; font-weight: 700; letter-spacing: .01em; cursor: pointer; font-family: inherit;
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
#cuwp-loginform input[type="submit"]:hover { transform: translateY(-1px); filter: brightness(1.08); box-shadow: 0 14px 26px -8px var(--lg-shadow-h); }
#cuwp-loginform input[type="submit"]:active { transform: translateY(0); filter: brightness(.97); }
#cuwp-loginform input[type="submit"]:focus-visible { outline: 3px solid var(--lg-ring); outline-offset: 2px; }

.cuwp-login-alt-link { margin: 14px 0 0; font-size: 13px; text-align: center; }
.cuwp-login-alt-link a { color: var(--lg-link); text-decoration: none; font-weight: 600; padding: 6px 12px; border-radius: 999px; transition: background .15s ease; display: inline-block; }
.cuwp-login-alt-link a:hover { background: var(--lg-hover-bg); text-decoration: none; }
.cuwp-login-alt-link a:focus-visible { outline: 2px solid var(--cuwp-primary); outline-offset: 1px; }

/* Tema: o login segue o tema do app (claro/escuro). O servidor grava o tema
   padrão das configurações em data-theme; o JS troca pelo que a pessoa
   escolheu no app (localStorage). Só sem nenhuma das duas informações é que
   vale o modo do sistema. */
.cuwp-login-page[data-theme="dark"],
body[data-theme="dark"] .cuwp-login-page:not([data-theme="light"]) {
	--lg-card: rgba(20,27,38,.82); --lg-card-border: rgba(255,255,255,.12); --lg-text: #eef2f8; --lg-muted: #aab3c2; --lg-label: #c3cad6;
	--lg-input-bg: rgba(255,255,255,.06); --lg-autofill: #232b38; --lg-input-border: rgba(255,255,255,.18); --lg-input-text: #f3f6fb; --lg-placeholder: #7c8596;
	--lg-ring: var(--lg-ring-dark); --lg-link: var(--lg-link-dark); --lg-icon: #aab3c2; --lg-hover-bg: rgba(255,255,255,.08);
}
@media (prefers-color-scheme: dark) {
	.cuwp-login-page:not([data-theme]) {
		--lg-card: rgba(20,27,38,.82); --lg-card-border: rgba(255,255,255,.12); --lg-text: #eef2f8; --lg-muted: #aab3c2; --lg-label: #c3cad6;
	--lg-input-bg: rgba(255,255,255,.06); --lg-autofill: #232b38; --lg-input-border: rgba(255,255,255,.18); --lg-input-text: #f3f6fb; --lg-placeholder: #7c8596;
	--lg-ring: var(--lg-ring-dark); --lg-link: var(--lg-link-dark); --lg-icon: #aab3c2; --lg-hover-bg: rgba(255,255,255,.08);
	}
}
/* Logo própria do modo escuro (configurações → Tela de login). Sem plaquinha branca. */
.cuwp-login-logo-dark { display: none; }
.cuwp-login-page[data-theme="dark"].has-logo-dark .cuwp-login-logo-light { display: none; }
.cuwp-login-page[data-theme="dark"].has-logo-dark .cuwp-login-logo-dark { display: block; }
@media (prefers-color-scheme: dark) {
	.cuwp-login-page.has-logo-dark:not([data-theme]) .cuwp-login-logo-light { display: none; }
	.cuwp-login-page.has-logo-dark:not([data-theme]) .cuwp-login-logo-dark { display: block; }
}
/* A IA (balão de conversa) nunca aparece na tela de login */
body:has(.cuwp-login-page) .cuwp-ai-chat-launcher,
body:has(.cuwp-login-page) .cuwp-ai-chat-panel { display: none !important; }
.cuwp-login-page input::placeholder { color: var(--lg-placeholder); }
.cuwp-login-page[data-theme="dark"] { --lg-input-hover: rgba(255,255,255,.34); }
.cuwp-login-page[data-theme="dark"] .cuwp-login-error { color: #ff9a8c; background: rgba(231,76,60,.16); }
@media (prefers-color-scheme: dark) {
	.cuwp-login-page:not([data-theme]) { --lg-input-hover: rgba(255,255,255,.34); }
	.cuwp-login-page:not([data-theme]) .cuwp-login-error { color: #ff9a8c; background: rgba(231,76,60,.16); }
}

@media (max-width: 640px) {
	.cuwp-login-page { padding: 16px; background-attachment: scroll; }
	.cuwp-login-card { padding: 34px 22px 26px; border-radius: 20px; }
	.cuwp-login-card-body h2 { font-size: 22px; }
}

/* =====================================================================
   Editor de texto rico (Quill) — tamanhos em pt e seletor de emoticons
   ===================================================================== */
/* Mostra o valor em pt no menu de tamanho (só quando o item tem data-value —
   a opção "Normal", sem data-value, continua usando o texto padrão do Quill). */
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value]::before {
	content: attr(data-value);
}
.ql-snow .ql-picker.ql-size { width: 70px; }
/* Com os tamanhos indo de 8 a 30pt (24 opções), o menu fica alto demais sem
   limite — restringe a altura e deixa rolar em vez de esticar a tela toda. */
.ql-snow .ql-picker.ql-size .ql-picker-options {
	max-height: 220px;
	overflow-y: auto;
}

.ql-emoji { font-size: 16px !important; line-height: 1 !important; display: flex !important; align-items: center !important; justify-content: center !important; }

.cuwp-emoji-picker {
	background: var(--cuwp-surface);
	border: 1px solid var(--cuwp-border);
	border-radius: 8px;
	box-shadow: var(--cuwp-shadow-lg);
	padding: 6px;
	display: grid;
	grid-template-columns: repeat(8, 30px);
	gap: 2px;
	z-index: 1000001;
	max-height: 260px;
	overflow-y: auto;
	scrollbar-width: thin; scrollbar-color: var(--cuwp-border) transparent;
}
.cuwp-emoji-picker::-webkit-scrollbar { width: 8px; }
.cuwp-emoji-picker::-webkit-scrollbar-track { background: transparent; margin: 6px 0; }
.cuwp-emoji-picker::-webkit-scrollbar-thumb { background: var(--cuwp-border); border-radius: 8px; }
.cuwp-emoji-picker button {
	border: none; background: none; font-size: 18px; cursor: pointer;
	border-radius: 5px; padding: 3px; line-height: 1;
	display: flex; align-items: center; justify-content: center;
}
.cuwp-emoji-picker button:hover { background: var(--cuwp-surface-2); }

/* Autocompletar de menção (@usuário) em chat e comentários -------------- */
.cuwp-mention-item .cuwp-avatar { width: 22px; height: 22px; }
.cuwp-mention-all-icon { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }
.cuwp-mention-name { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cuwp-mention-login { color: var(--cuwp-text-faint); font-size: 11.5px; margin-left: auto; white-space: nowrap; }
.cuwp-mention-item.active { background: var(--cuwp-primary-light); }

/* Filtro de período do gráfico "Tarefas concluídas" no Dashboard --------- */
.cuwp-chart-period-btn { padding: 4px 11px !important; font-size: 11px !important; white-space: nowrap !important; flex-shrink: 0; }
.cuwp-chart-period-btn.active { background: var(--cuwp-primary) !important; color: #fff !important; border-color: var(--cuwp-primary) !important; }

/* Cabeçalho de grupo (nome da equipe) dentro de um menu suspenso, usado no
   seletor de complexidade quando o projeto tem mais de uma equipe. */
.cuwp-dropdown-group-label { font-size: 10.5px; font-weight: 700; text-transform: uppercase; color: var(--cuwp-text-faint); padding: 6px 9px 2px; letter-spacing: .03em; }

/* Círculo de cor do projeto — preenche o círculo por completo (sem borda
   comendo o espaço), com uma marca de check visível na cor selecionada. */
.cuwp-color-swatch {
	width: 30px; height: 30px; border-radius: 50%; border: none;
	box-shadow: 0 0 0 2px transparent; cursor: pointer; padding: 0;
	display: flex; align-items: center; justify-content: center;
	transition: box-shadow .12s ease; flex-shrink: 0;
}
.cuwp-color-swatch:hover { box-shadow: 0 0 0 2px var(--cuwp-border); }
.cuwp-color-swatch.selected { box-shadow: 0 0 0 2px var(--cuwp-surface), 0 0 0 4px var(--cuwp-primary); }
.cuwp-color-check { display: none; color: #fff; font-size: 14px; font-weight: 800; text-shadow: 0 1px 2px rgba(0,0,0,.5); line-height: 1; }
.cuwp-color-swatch.selected .cuwp-color-check { display: block; }
.cuwp-icon-seta { width: 18px !important; height: 18px !important; flex-shrink: 0; }

/* Painel de notificações: os botões de ativar som/navegador viraram ícones
   compactos (em vez de botões de texto grandes que quebravam feio), com um
   destaque colorido quando estão ativos. As ações (marcar lidas, limpar)
   viraram uma linha de links discretos, mais próximo do padrão de apps
   modernos de notificação do que uma fileira de botões grandes. */
.cuwp-notif-toggle { font-size: 14px; }
.cuwp-notif-toggle.active { background: var(--cuwp-primary-light) !important; border-color: var(--cuwp-primary) !important; }
.cuwp-report-desc-textarea { min-height: 130px; resize: vertical; }
@media (max-width: 760px) {
	.cuwp-report-desc-textarea { min-height: 100px; }
}

/* Configurações: aproveita a largura da tela em vez de deixar tudo espremido
   numa coluna estreita com espaço vazio do lado. Grade de 3 colunas pros
   cartões de Geral & Cores, e de 2 colunas pra pares de campo (Cadastro,
   Shortcode) — ambas colapsam pra 1 coluna no celular. */
.cuwp-settings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; align-items: start; }
.cuwp-settings-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 760px) {
	.cuwp-settings-grid { grid-template-columns: 1fr; }
	.cuwp-settings-grid-2 { grid-template-columns: 1fr; }
}

/* Passo a passo moderno (aba IA e Shortcode): substitui o <ol>/<ul> padrão
   do navegador por uma lista com círculos numerados / ícones, usada nos
   guias "Como obter e conectar a chave de API" e "Como usar o shortcode". */
.cuwp-steps { display: flex; flex-direction: column; gap: 14px; margin-top: 12px; }
.cuwp-step-item { display: flex; gap: 12px; align-items: flex-start; }
.cuwp-step-num {
	flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%;
	background: var(--cuwp-primary-light); color: var(--cuwp-primary);
	display: flex; align-items: center; justify-content: center;
	font-size: 12.5px; font-weight: 800;
}
.cuwp-step-body { font-size: 13px; line-height: 1.55; color: var(--cuwp-text-muted); padding-top: 3px; }
.cuwp-step-body strong { color: var(--cuwp-text); }

.cuwp-info-list { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cuwp-info-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.55; color: var(--cuwp-text-muted); }
.cuwp-info-list li::before {
	content: '✓'; flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%;
	background: var(--cuwp-success); color: #fff; font-size: 11px; font-weight: 800;
	display: flex; align-items: center; justify-content: center; margin-top: 1px;
}

.cuwp-shortcode-box {
	display: flex; align-items: center; gap: 10px; background: var(--cuwp-surface-2);
	border: 1px dashed var(--cuwp-border); border-radius: var(--cuwp-radius-sm);
	padding: 12px 14px; margin-top: 10px;
}
.cuwp-shortcode-box code {
	font-family: 'SFMono-Regular', Consolas, monospace; font-size: 14px; font-weight: 700;
	color: var(--cuwp-primary); background: none; flex: 1;
}

/* Relatório "Por equipe": os dois quadrinhos de contagem (Projetos e
   Concluídas) ficam empilhados numa coluna estreita ao lado do gráfico —
   cada um no seu próprio quadro, em vez de números soltos lado a lado. */
.cuwp-byteam-layout { display: grid; grid-template-columns: 140px 1fr; gap: 14px; align-items: stretch; }
.cuwp-byteam-stats { display: flex; flex-direction: column; gap: 10px; }
@media (max-width: 640px) {
	.cuwp-byteam-layout { grid-template-columns: 1fr; }
	.cuwp-byteam-stats { flex-direction: row; }
}

/* Botões do assistente de IA (ChatGPT), abaixo do editor de descrição */
/* Espaço embaixo pra não colar no que vem a seguir (ex.: a fileira de
   reação logo abaixo, no detalhe de ideia/tarefa). */
.cuwp-ai-assist { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.cuwp-ai-assist .cuwp-btn { font-size: 11.5px; padding: 5px 10px !important; }

/* =====================================================================
   Painel de chat com a IA — um widget flutuante (não um painel preso na
   borda da tela), no canto inferior direito, igual o padrão que qualquer
   pessoa já reconhece de chat de suporte, mas na paleta azul+dourado do
   próprio ClickUp WP (em vez do roxo/gradiente genérico de "produto de
   IA"). Fica fora de #cuwp-root, igual o toast-wrap, pra sobreviver a
   troca de tela sem precisar ser remontado — por isso os seletores aqui
   não têm prefixo de tema (usa as mesmas variáveis --cuwp-*, que o body
   também recebe quando o tema muda, ver cuwp-app.js).
   ===================================================================== */

@keyframes cuwpAiPulse {
	0%, 100% { transform: scale(1); opacity: .55; }
	50%      { transform: scale(1.18); opacity: 0; }
}
@keyframes cuwpAiPanelIn {
	from { opacity: 0; transform: translateY(16px) scale(.96); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes cuwpAiMsgIn {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}
@keyframes cuwpAiTypingDot {
	0%, 60%, 100% { transform: translateY(0); opacity: .5; }
	30%           { transform: translateY(-4px); opacity: 1; }
}

.cuwp-ai-chat-launcher {
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--cuwp-primary) 0%, var(--cuwp-secondary) 100%);
	color: #fff;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 12px 28px color-mix(in srgb, var(--cuwp-primary) 38%, transparent), var(--cuwp-shadow-lg);
	z-index: 900000;
	transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease;
}
.cuwp-ai-chat-launcher:hover { transform: scale(1.07); box-shadow: 0 14px 32px color-mix(in srgb, var(--cuwp-primary) 46%, transparent), var(--cuwp-shadow-lg); }
.cuwp-ai-chat-launcher:active { transform: scale(.97); }
.cuwp-ai-chat-launcher svg:first-of-type { width: 25px !important; height: 25px !important; display: block !important; opacity: 1 !important; visibility: visible !important; position: relative; z-index: 1; }
.cuwp-ai-chat-launcher-ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid var(--cuwp-tertiary);
	animation: cuwpAiPulse 2.6s ease-out infinite;
}
.cuwp-ai-chat-launcher-spark {
	position: absolute;
	top: -2px;
	right: -2px;
	width: 17px;
	height: 17px;
	color: var(--cuwp-tertiary);
	filter: drop-shadow(0 1px 2px rgba(0,0,0,.35));
}
.cuwp-ai-chat-launcher-open { opacity: 0; pointer-events: none; transform: scale(.7); }

.cuwp-ai-chat-panel {
	position: fixed;
	bottom: 96px;
	right: 24px;
	width: 388px;
	max-width: calc(100vw - 32px);
	height: min(640px, calc(100vh - 140px));
	background: var(--cuwp-surface);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0,0,0,.22), 0 6px 16px rgba(0,0,0,.1);
	display: flex;
	flex-direction: column;
	z-index: 900001;
	color: var(--cuwp-text);
	font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	opacity: 0;
	transform: translateY(16px) scale(.96);
	visibility: hidden;
	transform-origin: bottom right;
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.cuwp-ai-chat-panel.open {
	opacity: 1;
	transform: translateY(0) scale(1);
	visibility: visible;
	animation: cuwpAiPanelIn .22s ease;
}

.cuwp-ai-chat-header {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 16px 14px 16px 18px;
	flex-shrink: 0;
	background: linear-gradient(135deg, var(--cuwp-primary) 0%, var(--cuwp-secondary) 100%);
	color: #fff;
}
.cuwp-ai-chat-header-avatar {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255,255,255,.18);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.cuwp-ai-chat-header-avatar svg { width: 17px !important; height: 17px !important; display: block !important; opacity: 1 !important; visibility: visible !important; color: var(--cuwp-tertiary); }
.cuwp-ai-chat-header-text { flex: 1; min-width: 0; }
.cuwp-ai-chat-header strong { font-size: 14.5px; font-weight: 700; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cuwp-ai-chat-context { margin-top: 2px; font-size: 12px; max-width: 100%; color: rgba(255,255,255,.85); }
.cuwp-ai-chat-header-btn {
	background: none;
	border: none;
	color: rgba(255,255,255,.9);
	width: 30px;
	height: 30px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
	transition: background .15s ease;
}
.cuwp-ai-chat-header-btn:hover { background: rgba(255,255,255,.18); color: #fff; }
/* !important aqui é defensivo: o painel é injetado direto no <body>, fora
   de #cuwp-root, então um CSS do tema (ou de outro plugin) com uma regra
   genérica tipo "button svg" pode ter mais especificidade que a nossa e
   zerar o tamanho/visibilidade do ícone. Isolar com !important garante que
   o ícone do chat da IA nunca fique refém do CSS do site por fora. */
.cuwp-ai-chat-header-btn svg {
	width: 16px !important;
	height: 16px !important;
	display: block !important;
	flex-shrink: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.cuwp-ai-chat-context-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: rgba(255,255,255,.16);
	border-radius: 20px;
	padding: 2px 4px 2px 10px;
	max-width: 100%;
	color: #fff;
}
.cuwp-ai-chat-context-pill span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cuwp-ai-chat-context-pill button {
	background: none;
	border: none;
	color: rgba(255,255,255,.85);
	cursor: pointer;
	font-size: 15px;
	line-height: 1;
	padding: 2px 6px;
	border-radius: 50%;
	flex-shrink: 0;
}
.cuwp-ai-chat-context-pill button:hover { background: rgba(255,255,255,.25); color: #fff; }

.cuwp-ai-chat-messages {
	flex: 1;
	overflow-y: auto;
	padding: 18px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--cuwp-bg);
}
.cuwp-ai-chat-messages::-webkit-scrollbar { width: 8px; }
.cuwp-ai-chat-messages::-webkit-scrollbar-track { background: transparent; }
.cuwp-ai-chat-messages::-webkit-scrollbar-thumb { background: var(--cuwp-text-faint); border-radius: 8px; }

.cuwp-ai-chat-msg {
	max-width: 85%;
	padding: 10px 13px;
	border-radius: 16px;
	font-size: 13.5px;
	line-height: 1.5;
	word-break: break-word;
	animation: cuwpAiMsgIn .18s ease;
}
.cuwp-ai-chat-msg.user {
	align-self: flex-end;
	background: linear-gradient(135deg, var(--cuwp-primary) 0%, var(--cuwp-secondary) 100%);
	color: #fff;
	border-bottom-right-radius: 5px;
}
.cuwp-ai-chat-msg.model {
	align-self: flex-start;
	background: var(--cuwp-surface-2);
	border: 1px solid var(--cuwp-border);
	color: var(--cuwp-text);
	border-bottom-left-radius: 5px;
}
.cuwp-ai-chat-msg.typing {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 13px 15px;
}
.cuwp-ai-chat-msg.typing span {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--cuwp-text-faint);
	animation: cuwpAiTypingDot 1.1s ease-in-out infinite;
}
.cuwp-ai-chat-msg.typing span:nth-child(2) { animation-delay: .15s; }
.cuwp-ai-chat-msg.typing span:nth-child(3) { animation-delay: .3s; }

.cuwp-ai-chat-loading, .cuwp-ai-chat-empty { padding: 6px 2px; font-size: 13px; line-height: 1.5; }

/* Lista de conversas ("minhas conversas") — substitui as mensagens + a
   caixa de digitação enquanto está aberta (o painel não cresce pra
   acomodar as duas coisas, só troca o conteúdo do meio). */
.cuwp-ai-chat-threads { display: none; flex: 1; overflow-y: auto; padding: 10px; background: var(--cuwp-bg); flex-direction: column; gap: 4px; }
.cuwp-ai-chat-panel.showing-threads .cuwp-ai-chat-threads { display: flex; }
.cuwp-ai-chat-panel.showing-threads .cuwp-ai-chat-messages,
.cuwp-ai-chat-panel.showing-threads .cuwp-ai-chat-input-row { display: none; }

.cuwp-ai-chat-thread-row {
	display: flex;
	align-items: center;
	gap: 2px;
	padding: 4px;
	border-radius: 10px;
	cursor: pointer;
	transition: background .12s ease;
}
.cuwp-ai-chat-thread-row:hover { background: var(--cuwp-surface-2); }
.cuwp-ai-chat-thread-row.active { background: var(--cuwp-primary-light); }
.cuwp-ai-chat-thread-row-main { flex: 1; min-width: 0; padding: 6px 8px; }
.cuwp-ai-chat-thread-row-title { font-size: 13.5px; font-weight: 600; color: var(--cuwp-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cuwp-ai-chat-thread-row-time { font-size: 11.5px; color: var(--cuwp-text-faint); margin-top: 1px; }
.cuwp-ai-chat-thread-row-btn {
	background: none;
	border: none;
	color: var(--cuwp-text-faint);
	width: 28px;
	height: 28px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
}
.cuwp-ai-chat-thread-row-btn svg { width: 14px !important; height: 14px !important; display: block !important; opacity: 1 !important; visibility: visible !important; }
.cuwp-ai-chat-thread-row-btn:hover { background: var(--cuwp-border); color: var(--cuwp-text); }

.cuwp-ai-chat-input-row {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	padding: 12px 14px;
	border-top: 1px solid var(--cuwp-border);
	flex-shrink: 0;
	background: var(--cuwp-surface);
}
/* color/background com !important pela mesma razão do .cuwp-input: o
   WordPress estiliza <textarea> por padrão com mais especificidade que a
   nossa regra, e sem isso o texto digitado ficava escuro sobre fundo escuro
   no tema escuro (praticamente invisível enquanto a pessoa digitava). */
.cuwp-ai-chat-input-row textarea {
	flex: 1;
	resize: none;
	border: 1px solid var(--cuwp-border) !important;
	border-radius: 20px;
	padding: 10px 15px;
	font-size: 13.5px;
	font-family: inherit;
	background: var(--cuwp-surface-2) !important;
	color: var(--cuwp-text) !important;
	max-height: 120px;
	min-height: 46px;
	/* Barra de rolagem fina e discreta (em vez da padrão, grossa, do
	   navegador) quando o texto cresce além da altura máxima. */
	scrollbar-width: thin;
	scrollbar-color: var(--cuwp-text-faint) transparent;
}
.cuwp-ai-chat-input-row textarea::-webkit-scrollbar { width: 6px; }
.cuwp-ai-chat-input-row textarea::-webkit-scrollbar-track { background: transparent; }
.cuwp-ai-chat-input-row textarea::-webkit-scrollbar-thumb { background: var(--cuwp-text-faint); border-radius: 8px; }
.cuwp-ai-chat-input-row textarea:focus { outline: none; border-color: var(--cuwp-primary); background: var(--cuwp-bg) !important; }
.cuwp-ai-chat-send {
	flex-shrink: 0;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: none;
	background: linear-gradient(135deg, var(--cuwp-primary) 0%, var(--cuwp-secondary) 100%);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: transform .12s ease, opacity .12s ease;
}
.cuwp-ai-chat-send svg {
	width: 17px !important;
	height: 17px !important;
	display: block !important;
	flex-shrink: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
	color: #fff !important;
}
.cuwp-ai-chat-send:hover:not(:disabled) { transform: scale(1.06); }
.cuwp-ai-chat-send:disabled { opacity: .5; cursor: default; }

@media (max-width: 480px) {
	.cuwp-ai-chat-panel { width: calc(100vw - 20px); right: 10px; bottom: 86px; height: min(70vh, 640px); }
	.cuwp-ai-chat-launcher { right: 16px; bottom: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.cuwp-ai-chat-launcher-ring,
	.cuwp-ai-chat-msg,
	.cuwp-ai-chat-panel.open,
	.cuwp-ai-chat-msg.typing span { animation: none; }
}

/* =====================================================================
   Padrão visual compartilhado (5.19.6) — cabeçalhos, abas com ícone,
   cartões e avisos usados em todas as telas do app.
   Só tokens --cuwp-*; tema escuro no fim do bloco; celular em 640px.
   ===================================================================== */

/* Abas em pílula com ícone (modificador de .cuwp-tabs, mantém .cuwp-tab/.active) */
.cuwp-tabs.cuwp-tabs-pill { display: flex; flex-wrap: wrap; gap: 4px; padding: 5px; margin: 0 0 16px; border: 1px solid var(--cuwp-border);
	border-radius: var(--cuwp-radius); background: var(--cuwp-surface); box-shadow: var(--cuwp-shadow); overflow: visible; }
.cuwp-tabs-pill .cuwp-tab, .cuwp-tabs-pill .cuwp-tab:active, .cuwp-tabs-pill .cuwp-tab:focus { display: inline-flex; align-items: center; justify-content: center; gap: 7px;
	padding: 8px 14px; border: 0 !important; border-radius: var(--cuwp-radius-sm) !important; margin: 0; color: var(--cuwp-text-muted); background: transparent; white-space: nowrap; }
.cuwp-tabs-pill .cuwp-tab svg { width: 16px; height: 16px; flex-shrink: 0; }
.cuwp-tabs-pill .cuwp-tab:hover:not(.active) { background: var(--cuwp-primary-light); color: var(--cuwp-primary); border-radius: var(--cuwp-radius-sm); }
.cuwp-tabs-pill .cuwp-tab.active, .cuwp-tabs-pill .cuwp-tab.active:active, .cuwp-tabs-pill .cuwp-tab.active:focus { background: var(--cuwp-primary) !important; color: #fff !important; }
.cuwp-tabs-pill .cuwp-tab:focus-visible { outline: 2px solid var(--cuwp-primary); outline-offset: 2px; }
.cuwp-ui-headrow { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
.cuwp-ui-headrow > .cuwp-tabs-pill { flex: 1; margin: 0; min-width: 0; }
.cuwp-ui-headrow > .cuwp-ui-btn { flex-shrink: 0; height: 46px; padding: 0 16px; }

/* Cabeçalho de tela */
.cuwp-ui-hero { display: flex; gap: 14px; align-items: center; padding: 14px 18px; margin-bottom: 16px;
	border-radius: var(--cuwp-radius); background: var(--cuwp-primary-light); border: 1px solid color-mix(in srgb, var(--cuwp-primary) 18%, transparent); }
.cuwp-ui-hero-icon { flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center;
	background: var(--cuwp-primary); color: #fff; box-shadow: 0 4px 12px color-mix(in srgb, var(--cuwp-primary) 28%, transparent); }
.cuwp-ui-hero-icon svg { width: 20px; height: 20px; }
.cuwp-ui-hero-text { flex: 1; min-width: 0; }
.cuwp-ui-hero-title { font-size: 16px; font-weight: 700; color: var(--cuwp-text); letter-spacing: -.01em; }
.cuwp-ui-hero p { margin: 2px 0 0; font-size: 13px; line-height: 1.5; color: var(--cuwp-text); opacity: .85; }
.cuwp-ui-hero-extra { flex-shrink: 0; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }

/* Título de seção (usa .cuwp-section-title + .cuwp-section-icon do app) */
.cuwp-ui-title { margin: 0 0 14px; }
.cuwp-ui-title .cuwp-icon-title > span:last-child { font-size: 15px; font-weight: 700; }
.cuwp-ui-title-meta { font-size: 12px; font-weight: 500; color: var(--cuwp-text-muted); }

/* Avisos */
.cuwp-ui-note { display: flex; gap: 10px; align-items: flex-start; padding: 11px 14px; margin: 0 0 14px; font-size: 13px; line-height: 1.5; color: var(--cuwp-text);
	border-radius: var(--cuwp-radius-sm); border: 1px solid var(--cuwp-border); border-left-width: 4px; background: var(--cuwp-surface); }
.cuwp-ui-note-icon { flex-shrink: 0; width: 18px; height: 18px; margin-top: 1px; }
.cuwp-ui-note-icon svg { width: 18px; height: 18px; display: block; }
.cuwp-ui-note.info { border-left-color: var(--cuwp-info); }     .cuwp-ui-note.info .cuwp-ui-note-icon { color: var(--cuwp-info); }
.cuwp-ui-note.live { border-left-color: var(--cuwp-primary); }  .cuwp-ui-note.live .cuwp-ui-note-icon { color: var(--cuwp-primary); }
.cuwp-ui-note.warn { border-left-color: var(--cuwp-warning); background: rgba(245,166,35,.08); } .cuwp-ui-note.warn .cuwp-ui-note-icon { color: var(--cuwp-warning); }
.cuwp-ui-note.ok   { border-left-color: var(--cuwp-success); background: rgba(46,204,113,.07); } .cuwp-ui-note.ok .cuwp-ui-note-icon { color: #1d9a55; }
.cuwp-ui-note.bad  { border-left-color: var(--cuwp-danger); background: rgba(231,76,60,.07); }   .cuwp-ui-note.bad .cuwp-ui-note-icon { color: var(--cuwp-danger); }

/* Cartões de indicador */
.cuwp-ui-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 16px; }
.cuwp-ui-kpi { --c: var(--cuwp-primary); position: relative; overflow: hidden; padding: 14px 16px; border-radius: var(--cuwp-radius);
	background: var(--cuwp-surface); border: 1px solid var(--cuwp-border); box-shadow: var(--cuwp-shadow); min-width: 0; }
.cuwp-ui-kpi::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--c); }
.cuwp-ui-kpi.ok { --c: var(--cuwp-success); } .cuwp-ui-kpi.bad { --c: var(--cuwp-danger); } .cuwp-ui-kpi.warn { --c: var(--cuwp-warning); }
.cuwp-ui-kpi.info { --c: var(--cuwp-info); } .cuwp-ui-kpi.gold { --c: #e3b90f; }
.cuwp-ui-kpi-top { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.cuwp-ui-kpi-icon { flex-shrink: 0; width: 32px; height: 32px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center;
	color: var(--c); background: color-mix(in srgb, var(--c) 14%, transparent); }
.cuwp-ui-kpi-icon svg { width: 17px; height: 17px; }
.cuwp-ui-kpi-label { font-size: 12.5px; font-weight: 600; color: var(--cuwp-text-muted); line-height: 1.3; }
.cuwp-ui-kpi-value { font-size: 26px; font-weight: 700; line-height: 1.1; color: var(--cuwp-text); letter-spacing: -.02em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.cuwp-ui-kpi-value small { font-size: 14px; font-weight: 600; color: var(--cuwp-text-muted); margin-left: 2px; }
.cuwp-ui-kpi-sub { margin-top: 4px; font-size: 12px; color: var(--cuwp-text-muted); }

/* Botões com ícone */
.cuwp-ui-btn { display: inline-flex; align-items: center; gap: 6px; }
.cuwp-ui-btn svg { width: 15px; height: 15px; flex-shrink: 0; }

/* Barra de filtros/ações */
.cuwp-ui-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 16px; padding: 12px 14px; margin-bottom: 16px;
	border: 1px solid var(--cuwp-border); border-radius: var(--cuwp-radius); background: var(--cuwp-surface); box-shadow: var(--cuwp-shadow); }
.cuwp-ui-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.cuwp-ui-field { display: flex; flex-direction: column; gap: 4px; font-size: 11.5px; font-weight: 600; color: var(--cuwp-text-muted); text-transform: uppercase; letter-spacing: .04em; }
.cuwp-ui-field .cuwp-select, .cuwp-ui-field .cuwp-input { text-transform: none; letter-spacing: 0; }
.cuwp-ui-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: flex-end; }

/* Cartão com título + conteúdo (tabela sem moldura dupla) */
.cuwp-ui-card { background: var(--cuwp-surface); border: 1px solid var(--cuwp-border); border-radius: var(--cuwp-radius); box-shadow: var(--cuwp-shadow); padding: 16px; margin-bottom: 16px; min-width: 0; }
.cuwp-ui-card > .cuwp-table-scroll > .cuwp-table, .cuwp-ui-card > .cuwp-table { box-shadow: none; }

/* Lista de linhas (membros, níveis, modelos) */
.cuwp-ui-rows { display: flex; flex-direction: column; gap: 8px; }
.cuwp-ui-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--cuwp-border); border-radius: var(--cuwp-radius-sm); background: var(--cuwp-surface); min-width: 0; }
.cuwp-ui-row:hover { border-color: color-mix(in srgb, var(--cuwp-primary) 40%, transparent); }
.cuwp-ui-row-main { flex: 1; min-width: 0; font-size: 13.5px; font-weight: 600; color: var(--cuwp-text); overflow: hidden; text-overflow: ellipsis; }
.cuwp-ui-add { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; padding: 12px; border: 1px dashed var(--cuwp-border); border-radius: var(--cuwp-radius-sm); }
.cuwp-ui-add .cuwp-input { flex: 1; min-width: 140px; }
.cuwp-ui-empty { padding: 18px; text-align: center; font-size: 13px; color: var(--cuwp-text-muted); border: 1px dashed var(--cuwp-border); border-radius: var(--cuwp-radius-sm); }

/* Tema escuro */
#cuwp-root[data-theme="dark"] .cuwp-ui-hero, body[data-theme="dark"] .cuwp-ui-hero { border-color: rgba(127,186,235,.22); }
#cuwp-root[data-theme="dark"] .cuwp-tabs-pill .cuwp-tab:hover:not(.active), body[data-theme="dark"] .cuwp-tabs-pill .cuwp-tab:hover:not(.active) { color: var(--cuwp-on-dark); }
#cuwp-root[data-theme="dark"] .cuwp-tabs-pill .cuwp-tab.active, body[data-theme="dark"] .cuwp-tabs-pill .cuwp-tab.active { border-bottom-color: transparent; }
#cuwp-root[data-theme="dark"] .cuwp-ui-note.ok .cuwp-ui-note-icon, body[data-theme="dark"] .cuwp-ui-note.ok .cuwp-ui-note-icon { color: #7be0a6; }
#cuwp-root[data-theme="dark"] .cuwp-ui-note.bad .cuwp-ui-note-icon, body[data-theme="dark"] .cuwp-ui-note.bad .cuwp-ui-note-icon { color: #f39a8f; }
#cuwp-root[data-theme="dark"] .cuwp-ui-kpi-icon, body[data-theme="dark"] .cuwp-ui-kpi-icon { color: color-mix(in srgb, var(--c) 70%, #fff); }
#cuwp-root[data-theme="dark"] .cuwp-ui-row:hover, body[data-theme="dark"] .cuwp-ui-row:hover { border-color: rgba(127,186,235,.4); }

/* Celular */
@media (max-width: 640px) {
	.cuwp-ui-headrow { flex-direction: column; align-items: stretch; }
	.cuwp-ui-headrow > .cuwp-ui-btn { height: auto; padding: 9px 14px; justify-content: center; }
	.cuwp-tabs.cuwp-tabs-pill { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; }
	.cuwp-tabs-pill .cuwp-tab, .cuwp-tabs-pill .cuwp-tab:active, .cuwp-tabs-pill .cuwp-tab:focus { flex-direction: column; gap: 3px; padding: 8px 4px; font-size: 11px; white-space: normal; text-align: center; line-height: 1.2; }
	.cuwp-ui-hero { padding: 12px 14px; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
	.cuwp-ui-hero-icon { width: 34px; height: 34px; }
	.cuwp-ui-hero-icon svg { width: 17px; height: 17px; }
	.cuwp-ui-hero-title { font-size: 15px; }
	.cuwp-ui-hero-extra { width: 100%; justify-content: stretch; }
	.cuwp-ui-hero-extra > * { flex: 1; justify-content: center; }
	.cuwp-ui-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.cuwp-ui-kpi { padding: 12px; }
	.cuwp-ui-kpi-value { font-size: 22px; }
	.cuwp-ui-toolbar { padding: 12px; align-items: stretch; }
	.cuwp-ui-filters { width: 100%; }
	.cuwp-ui-filters > .cuwp-ui-field { flex: 1 1 140px; }
	.cuwp-ui-filters .cuwp-select, .cuwp-ui-filters .cuwp-input { width: 100% !important; min-width: 0 !important; }
	.cuwp-ui-actions { justify-content: flex-start; }
	.cuwp-ui-card { padding: 12px; }
	.cuwp-ui-row { flex-wrap: wrap; }
}

/* Relatórios: Por usuário (corrige o estouro lateral: colunas com minmax(0,…)) */
.cuwp-ui-usergrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 1100px) { .cuwp-ui-usergrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px)  { .cuwp-ui-usergrid { grid-template-columns: minmax(0, 1fr); } }
.cuwp-ui-usercard { min-width: 0; }
.cuwp-ui-usercard-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--cuwp-border); }
.cuwp-ui-usercard-head strong { font-size: 14px; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cuwp-ui-pill { flex-shrink: 0; font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: 20px; background: var(--cuwp-primary-light); color: var(--cuwp-primary); }
#cuwp-root[data-theme="dark"] .cuwp-ui-pill, body[data-theme="dark"] .cuwp-ui-pill { color: var(--cuwp-on-dark); }

/* Relatórios: Por equipe — indicadores na coluna da esquerda */
.cuwp-byteam-layout { grid-template-columns: 180px minmax(0, 1fr); }
.cuwp-byteam-stats .cuwp-ui-kpi { box-shadow: none; padding: 12px; }
.cuwp-byteam-stats .cuwp-ui-kpi-value { font-size: 22px; }
@media (max-width: 640px) {
	.cuwp-byteam-layout { grid-template-columns: minmax(0, 1fr); }
	.cuwp-byteam-stats { flex-direction: row; }
	.cuwp-byteam-stats .cuwp-ui-kpi { flex: 1; }
}
.cuwp-ui-chart { position: relative; height: 300px; }
@media (max-width: 640px) { .cuwp-ui-chart { height: 240px; } }

/* Celular: linhas das tabelas viram cartões, com o nome da coluna em cada dado */
@media (max-width: 640px) {
.cuwp-ui-card:has(.cuwp-ui-stack) .cuwp-table-scroll { overflow: visible; }
.cuwp-ui-stack { border: 0 !important; background: transparent !important; box-shadow: none !important; }
.cuwp-ui-stack > thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cuwp-ui-stack > tbody { display: flex; flex-direction: column; gap: 10px; }
.cuwp-ui-stack > tbody > tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0;
		border: 1px solid var(--cuwp-border); border-radius: var(--cuwp-radius); background: var(--cuwp-surface); overflow: hidden; }
.cuwp-ui-stack > tbody > tr > td { display: block; border: 0 !important; border-top: 1px solid var(--cuwp-border) !important; padding: 9px 12px; min-width: 0; max-width: none; }
.cuwp-ui-stack > tbody > tr > td[data-label]::before {
		content: attr(data-label); display: block; margin-bottom: 3px; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--cuwp-text-faint); }
	.cuwp-ui-stack > tbody > tr { grid-template-columns: minmax(0, 1fr); }
	.cuwp-ui-stack > tbody > tr > td:first-child { border-top: 0 !important; }
	.cuwp-ui-stack > tbody > tr > td:empty { display: none; }
}

/* Equipes: cartões de equipe */
.cuwp-ui-teamgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.cuwp-ui-teamcard { display: flex; flex-direction: column; gap: 10px; padding: 16px; min-width: 0; border-radius: var(--cuwp-radius);
	background: var(--cuwp-surface); border: 1px solid var(--cuwp-border); box-shadow: var(--cuwp-shadow); transition: border-color .15s, box-shadow .15s, transform .15s; }
.cuwp-ui-teamcard.is-clickable { cursor: pointer; }
.cuwp-ui-teamcard.is-clickable:hover { border-color: color-mix(in srgb, var(--cuwp-primary) 45%, transparent); box-shadow: var(--cuwp-shadow-lg); transform: translateY(-1px); }
.cuwp-ui-teamcard-head { display: flex; align-items: center; gap: 12px; }
.cuwp-ui-teamcard-icon { flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center;
	font-size: 17px; font-weight: 700; color: #fff; background: var(--cuwp-primary); box-shadow: 0 4px 12px color-mix(in srgb, var(--cuwp-primary) 25%, transparent); }
.cuwp-ui-teamcard-name { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cuwp-ui-teamcard-name strong { font-size: 15px; color: var(--cuwp-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cuwp-ui-teamcard-name span { font-size: 12px; color: var(--cuwp-text-muted); }
.cuwp-ui-teamcard-desc { margin: 0; font-size: 13px; line-height: 1.5; color: var(--cuwp-text-muted); flex: 1; }
.cuwp-ui-teamcard-foot { display: flex; align-items: center; gap: 8px; padding-top: 10px; border-top: 1px solid var(--cuwp-border); min-height: 38px; }
.cuwp-ui-teamcard .cuwp-team-avatars { display: flex !important; flex-wrap: nowrap; }
.cuwp-ui-teamcard-cta { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--cuwp-primary); }
.cuwp-ui-teamcard-cta svg { width: 14px; height: 14px; }
#cuwp-root[data-theme="dark"] .cuwp-ui-teamcard-cta, body[data-theme="dark"] .cuwp-ui-teamcard-cta { color: var(--cuwp-on-dark); }
#cuwp-root[data-theme="dark"] .cuwp-ui-teamcard.is-clickable:hover, body[data-theme="dark"] .cuwp-ui-teamcard.is-clickable:hover { border-color: rgba(127,186,235,.45); }

/* Equipes: modal Gerenciar */
.cuwp-ui-del { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 0; border-radius: 8px;
	background: transparent; color: var(--cuwp-text-faint); cursor: pointer; }
.cuwp-ui-del svg { width: 18px; height: 18px; }
.cuwp-ui-del:hover { color: var(--cuwp-danger); background: rgba(231,76,60,.1); }
.cuwp-ui-rows .cuwp-avatar, .cuwp-ui-row img { flex-shrink: 0; }

@media (max-width: 640px) {
	.cuwp-ui-teamgrid { grid-template-columns: minmax(0, 1fr); }
.cuwp-ui-add .cuwp-ui-btn { flex: 1 1 100%; justify-content: center; }
}
@media (max-width: 640px) {
	.cuwp-ui-stack > tbody > tr > td { text-align: left !important; width: auto !important; white-space: normal !important; }
	.cuwp-ui-stack > tbody > tr > td .cuwp-input { width: 100% !important; }
	.cuwp-ui-stack > tbody > tr:hover { background: var(--cuwp-surface) !important; }
	.cuwp-table-scroll:has(> .cuwp-ui-stack) { overflow: visible; }
}

/* v6.3 — padrão visual no resto do app */
/* Seletor segmentado (ex.: 7 dias / Semanas / Meses no Dashboard) */
.cuwp-ui-seg { gap: 2px !important; padding: 3px; border: 1px solid var(--cuwp-border); border-radius: var(--cuwp-radius-sm); background: var(--cuwp-surface-2); }
.cuwp-ui-seg .cuwp-btn { border: 0 !important; background: transparent; box-shadow: none; border-radius: 6px !important; }
.cuwp-ui-seg .cuwp-btn.active { background: var(--cuwp-primary) !important; color: #fff !important; }
/* Abas em pílula pequenas (dentro de cartões) */
.cuwp-tabs.cuwp-tabs-pill.cuwp-tabs-sm { display: inline-flex; margin: 0; padding: 3px; box-shadow: none; background: var(--cuwp-surface-2); }
.cuwp-tabs-pill.cuwp-tabs-sm .cuwp-tab { padding: 6px 12px; font-size: 12.5px; }
.cuwp-tabs-pill.cuwp-tabs-sm .cuwp-tab svg { width: 14px; height: 14px; }
@media (max-width: 640px) {
	.cuwp-tabs.cuwp-tabs-pill.cuwp-tabs-sm { display: inline-flex; }
	.cuwp-tabs-pill.cuwp-tabs-sm .cuwp-tab { flex-direction: row; font-size: 12px; padding: 6px 10px; }
}
/* Abas em pílula que só ocupam o necessário */
.cuwp-tabs.cuwp-tabs-pill.cuwp-tabs-inline { display: inline-flex; max-width: 100%; }
.cuwp-tabs-pill a.cuwp-tab { text-decoration: none; }
.cuwp-tabs-pill a.cuwp-tab:focus { box-shadow: none; }
/* Barra fina: abas de visualização à esquerda, ações à direita */
.cuwp-ui-toolbar-slim { padding: 6px; align-items: center; }
.cuwp-ui-toolbar-slim > .cuwp-tabs-pill { margin: 0; border: 0; box-shadow: none; padding: 0; background: transparent; }
.cuwp-ui-toolbar-slim > .cuwp-ui-actions { padding-right: 6px; }
.cuwp-ui-toolbar-slim > .cuwp-ui-actions:empty { display: none; }
/* Cabeçalho do projeto: ícone com a cor do projeto */
.cuwp-ui-hero-project { background: color-mix(in srgb, var(--pc) 9%, var(--cuwp-surface)); border-color: color-mix(in srgb, var(--pc) 30%, var(--cuwp-border)); }
.cuwp-ui-hero-project .cuwp-ui-hero-icon { background: var(--pc); box-shadow: 0 4px 12px color-mix(in srgb, var(--pc) 35%, transparent); font-size: 14px; font-weight: 800; letter-spacing: .02em; }
/* Tabelas empilhadas em 2 colunas no celular (listas de tarefas) */
@media (max-width: 640px) {
	.cuwp-ui-stack.cuwp-ui-stack-2 > tbody > tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cuwp-ui-stack.cuwp-ui-stack-2 > tbody > tr > td:first-child { grid-column: 1 / -1; background: var(--cuwp-surface-2); font-weight: 600; }
	.cuwp-ui-stack.cuwp-ui-stack-2 > tbody > tr > td:nth-child(even) { border-right: 1px solid var(--cuwp-border) !important; }
	.cuwp-ui-stack > tbody > tr > td .cuwp-flex { justify-content: flex-start !important; }
	.cuwp-ui-toolbar-slim { flex-direction: column; align-items: stretch; }
	.cuwp-ui-toolbar-slim > .cuwp-tabs-pill { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cuwp-ui-toolbar-slim > .cuwp-ui-actions { padding: 0 4px 4px; }
	.cuwp-tabs.cuwp-tabs-pill.cuwp-tabs-inline { display: grid; }
}
.cuwp-kanban-col { position: relative; border: 1px solid var(--cuwp-border); box-shadow: var(--cuwp-shadow); overflow: hidden; }
.cuwp-kanban-col::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--sc, var(--cuwp-primary)); }
.cuwp-kanban-col { background: var(--cuwp-surface-2); }
.cuwp-kanban-col-head { padding-top: 14px; }
.cuwp-kanban-col-count { font-weight: 700; color: var(--sc, var(--cuwp-primary)); background: color-mix(in srgb, var(--sc, var(--cuwp-primary)) 14%, transparent); }
.cuwp-kcard { border-radius: var(--cuwp-radius-sm); transition: border-color .15s, box-shadow .15s, transform .15s; }
.cuwp-kcard:hover { border-color: color-mix(in srgb, var(--cuwp-primary) 45%, transparent); box-shadow: var(--cuwp-shadow-lg); transform: translateY(-1px); }
#cuwp-root[data-theme="dark"] .cuwp-kcard:hover,
body[data-theme="dark"] .cuwp-kcard:hover { border-color: rgba(127,186,235,.45); }
/* Agenda: navegação do período */
.cuwp-events-nav { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cuwp-events-nav strong { min-width: 150px; text-align: center; font-size: 14px; color: var(--cuwp-text); }
.cuwp-events-toolbar { align-items: center; }
@media (max-width: 640px) {
	.cuwp-events-nav { width: 100%; justify-content: space-between; }
	.cuwp-events-nav strong { min-width: 0; flex: 1; }
	.cuwp-tabs.cuwp-tabs-pill.cuwp-tabs-sm.cuwp-events-views { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; width: 100%; }
	.cuwp-events-views .cuwp-tab { justify-content: center; padding: 6px 4px !important; }
}
/* Janelas (modais): cabeçalho com faixa de marca; painel lateral da tarefa em cartão */
.cuwp-modal { border: 1px solid var(--cuwp-border); }
.cuwp-modal-header { position: relative; }
.cuwp-modal-header::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--cuwp-primary); }
.cuwp-modal-header h2 { font-weight: 700; letter-spacing: -.01em; }
.cuwp-modal-footer { background: var(--cuwp-surface-2); }
.cuwp-task-detail-sidebar { padding: 16px; border: 1px solid var(--cuwp-border); border-radius: var(--cuwp-radius); background: var(--cuwp-surface-2); }
.cuwp-task-detail-sidebar .cuwp-input, .cuwp-task-detail-sidebar .cuwp-select, .cuwp-task-detail-sidebar .cuwp-sidebar-pill-btn { background: var(--cuwp-surface); }
@media (max-width: 640px) { .cuwp-task-detail-sidebar { padding: 12px; } }
@media (max-width: 640px) {
	.cuwp-tabs.cuwp-tabs-pill.cuwp-tabs-sm.cuwp-cal-views { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
/* Correção antiga: a regra de celular da janela da tarefa (linha ~367) era
   vencida pela regra base declarada depois; repetida aqui no fim. */
@media (max-width: 760px) {
	.cuwp-task-detail-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}

/* Revisão v6.3 */
@media (max-width: 760px) {
	/* repetida aqui: a regra .cuwp-section-title (declarada depois da original) vencia */
	.cuwp-chart-header-periods { flex-direction: column; align-items: stretch; }
	.cuwp-chart-header-periods .cuwp-flex { justify-content: space-between; }
}
@media (max-width: 640px) {
	/* célula com quebra de linha não pode forçar 280px dentro do cartão empilhado */
	.cuwp-ui-stack > tbody > tr > td.cuwp-table-wrap { min-width: 0 !important; }
}
/* Ideias: 4 colunas cabem na largura útil (antes passavam ~20px da borda) */

/* Calendários (Agenda e tarefas): colunas do mês nunca alargam com o conteúdo */
.cuwp-calendar-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cuwp-calendar-daycell { min-width: 0; overflow: hidden; }
.cuwp-calendar-task, .cuwp-event-chip { min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }

/* 5.19.7 — barras de filtro e campos de formulário em linha (título + controle na mesma linha) */
.cuwp-ui-toolbar { align-items: center; }
.cuwp-ui-filters { align-items: center; gap: 10px 16px; }
.cuwp-ui-field { flex-direction: row; align-items: center; gap: 10px; white-space: nowrap; }
.cuwp-ui-field .cuwp-select, .cuwp-ui-field .cuwp-input { flex: 0 1 auto; }
.cuwp-events-nav { flex-wrap: nowrap; }
.cuwp-events-nav strong { min-width: 140px; white-space: nowrap; }
@media (max-width: 782px) {
	.cuwp-ui-field { flex-direction: column; align-items: stretch; gap: 4px; white-space: normal; }
	.cuwp-events-nav { flex-wrap: wrap; }
}

/* 5.19.9: painel de notificações redesenhado --------------------------------
   Cabeçalho com contador e atalhos em ícone, abas Todas/Não lidas, itens com
   ícone por tipo e ponto de não lida, rodapé de ações e estado vazio. Só usa
   variáveis do tema, então vale igual no claro e no escuro. */
.cuwp-dropdown.cuwp-notif-panel {
	width: 380px; max-width: calc(100vw - 24px); min-width: 0; max-height: min(600px, calc(100vh - 90px));
	padding: 0; display: flex; flex-direction: column; overflow: hidden; border-radius: 14px;
	box-shadow: 0 18px 48px rgba(0,0,0,.28), 0 2px 8px rgba(0,0,0,.12);
}
.cuwp-notif-head { padding: 14px 16px 0; border-bottom: 1px solid var(--cuwp-border); flex-shrink: 0; }
.cuwp-notif-head-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cuwp-notif-head-title { font-size: 15px; font-weight: 700; color: var(--cuwp-text); display: flex; align-items: center; gap: 8px; }
.cuwp-notif-count { background: var(--cuwp-primary); color: #fff; font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 999px; line-height: 1.5; }
.cuwp-notif-head-tools { display: flex; gap: 6px; }
.cuwp-notif-panel .cuwp-notif-toggle {
	width: 32px; height: 32px; padding: 0; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 9px; border: 1px solid var(--cuwp-border); background: var(--cuwp-surface-2); color: var(--cuwp-text-muted); cursor: pointer;
}
.cuwp-notif-panel .cuwp-notif-toggle:hover:not(:disabled) { color: var(--cuwp-text); border-color: var(--cuwp-text-faint); }
.cuwp-notif-panel .cuwp-notif-toggle.active { color: var(--cuwp-primary); }
.cuwp-notif-panel .cuwp-notif-toggle:disabled { opacity: .45; cursor: not-allowed; }
.cuwp-notif-panel svg { display: block; flex-shrink: 0; }
.cuwp-notif-tabs { display: flex; gap: 4px; margin-top: 12px; }
.cuwp-notif-tab {
	background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -1px; padding: 8px 10px;
	font-size: 12.5px; font-weight: 600; color: var(--cuwp-text-muted); cursor: pointer;
}
.cuwp-notif-tab:hover { color: var(--cuwp-text); }
.cuwp-notif-tab.active { color: var(--cuwp-primary); border-bottom-color: var(--cuwp-primary); }
.cuwp-notif-list { overflow-y: auto; flex: 1 1 auto; min-height: 120px; }
.cuwp-notif-panel .cuwp-notif-item {
	position: relative; display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px 12px 16px;
	border-bottom: 1px solid var(--cuwp-border); cursor: pointer; background: transparent; font-size: 13px; line-height: 1.4;
}
.cuwp-notif-panel .cuwp-notif-item[hidden], .cuwp-notif-empty[hidden] { display: none !important; }
.cuwp-notif-panel .cuwp-notif-item:last-of-type { border-bottom: none; }
.cuwp-notif-panel .cuwp-notif-item:hover, .cuwp-notif-panel .cuwp-notif-item:focus-visible { background: var(--cuwp-surface-2); outline: none; }
.cuwp-notif-panel .cuwp-notif-item.unread { background: var(--cuwp-primary-light) !important; }
.cuwp-notif-panel .cuwp-notif-item.unread::before {
	content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 0 3px 3px 0; background: var(--cuwp-primary);
}
.cuwp-notif-ico { width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; background: var(--cuwp-primary-light); color: var(--cuwp-primary); }
.cuwp-notif-ico.ok { background: rgba(46,204,113,.16); color: #1fa65a; }
.cuwp-notif-ico.warn { background: rgba(245,158,11,.16); color: #d98500; }
.cuwp-notif-body { flex: 1; min-width: 0; }
.cuwp-notif-panel .cuwp-notif-title { font-size: 13px; font-weight: 600; color: var(--cuwp-text); overflow-wrap: anywhere; }
.cuwp-notif-msg { color: var(--cuwp-text-muted); font-size: 12.5px; margin-top: 2px; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cuwp-notif-panel .cuwp-notif-time { color: var(--cuwp-text-faint); font-size: 11.5px; margin-top: 4px; }
.cuwp-notif-del {
	width: 24px; height: 24px; padding: 0; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
	border: none; border-radius: 6px; background: transparent; color: var(--cuwp-text-faint); cursor: pointer; opacity: 0; transition: opacity .12s;
}
.cuwp-notif-item:hover .cuwp-notif-del, .cuwp-notif-del:focus-visible { opacity: 1; }
.cuwp-notif-del:hover { background: var(--cuwp-border); color: var(--cuwp-danger); }
@media (hover: none) { .cuwp-notif-del { opacity: .8; } }
.cuwp-notif-empty { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 36px 20px; text-align: center; color: var(--cuwp-text-muted); font-size: 12.5px; }
.cuwp-notif-empty strong { color: var(--cuwp-text); font-size: 14px; }
.cuwp-notif-empty-ico { width: 48px; height: 48px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--cuwp-surface-2); color: var(--cuwp-text-faint); margin-bottom: 6px; }
.cuwp-notif-foot { display: flex; gap: 4px; padding: 8px 10px; border-top: 1px solid var(--cuwp-border); flex-shrink: 0; background: var(--cuwp-surface); }
.cuwp-notif-foot-btn {
	flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 6px; border: none; border-radius: 8px;
	background: transparent; color: var(--cuwp-text-muted); font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.cuwp-notif-foot-btn:hover { background: var(--cuwp-surface-2); color: var(--cuwp-text); }
.cuwp-notif-foot-btn.danger:hover { color: var(--cuwp-danger); }
@media (max-width: 600px) {
	.cuwp-dropdown.cuwp-notif-panel { right: 12px !important; width: calc(100vw - 24px); }
	.cuwp-notif-foot-btn { font-size: 11.5px; padding: 8px 2px; }
}

/* 5.19.10: modo escuro — controles nativos (ícone do calendário/relógio nos campos de data e hora,
   setas de número, rolagem, caixas de seleção) ficavam pretos sobre fundo escuro. */
#cuwp-root[data-theme="dark"], body[data-theme="dark"] .cuwp-modal-overlay, body[data-theme="dark"] .cuwp-dropdown { color-scheme: dark; }
#cuwp-root[data-theme="dark"] input[type="date"],
#cuwp-root[data-theme="dark"] input[type="time"],
#cuwp-root[data-theme="dark"] input[type="datetime-local"],
#cuwp-root[data-theme="dark"] input[type="month"],
body[data-theme="dark"] .cuwp-modal-overlay input[type="date"],
body[data-theme="dark"] .cuwp-modal-overlay input[type="time"],
body[data-theme="dark"] .cuwp-modal-overlay input[type="datetime-local"],
body[data-theme="dark"] .cuwp-modal-overlay input[type="month"] { color-scheme: dark; }
#cuwp-root[data-theme="dark"] input::-webkit-calendar-picker-indicator,
body[data-theme="dark"] .cuwp-modal-overlay input::-webkit-calendar-picker-indicator { filter: none; opacity: .9; cursor: pointer; }

/* 5.19.10: ícone de editar título e outros ícones secundários com contraste mínimo no escuro */
#cuwp-root[data-theme="dark"] .cuwp-icon-editar,
body[data-theme="dark"] .cuwp-modal-overlay .cuwp-icon-editar { color: var(--cuwp-text-muted); opacity: 1; }
body[data-theme="dark"] .cuwp-modal-overlay .cuwp-icon-editar:hover { color: var(--cuwp-text); }

/* 5.19.10: abas que são links (Lista/Kanban/Calendário) herdavam o azul de link do WordPress — quase invisível no escuro. */
.cuwp-tabs-pill a.cuwp-tab:not(.active) { color: var(--cuwp-text-muted) !important; }
.cuwp-tabs-pill a.cuwp-tab:not(.active):hover { color: var(--cuwp-primary) !important; }
#cuwp-root[data-theme="dark"] .cuwp-tabs-pill a.cuwp-tab:not(.active):hover, body[data-theme="dark"] .cuwp-tabs-pill a.cuwp-tab:not(.active):hover { color: var(--cuwp-on-dark) !important; }
.cuwp-tabs-pill a.cuwp-tab:focus { box-shadow: none; }
/* Barra fina: abas de visualização à esquerda, ações à direita */

/* =====================================================================
   5.19.19 — Configurações modernas: campos de mídia (biblioteca do WP),
   cor da marca, prévia do login, barra de salvar e aba "Autor".
   Só tokens --cuwp-*; tema escuro e celular tratados no fim do bloco.
   ===================================================================== */
.cuwp-set-cols { align-items: start; gap: 18px; }
.cuwp-set-card { padding: 20px; border-radius: 16px; }
.cuwp-set-card .cuwp-ui-title { margin-bottom: 6px; }
.cuwp-set-lead { margin: 0 0 18px; font-size: 13px; line-height: 1.55; color: var(--cuwp-text-muted); }
.cuwp-set-card > .cuwp-field { margin-top: 18px; }
.cuwp-set-card > .cuwp-field > label { display: block; margin-bottom: 7px; font-size: 12.5px; font-weight: 700; color: var(--cuwp-text); }
.cuwp-media-help { margin-top: 8px; font-size: 12px; line-height: 1.5; }

/* Campo de mídia: miniatura + endereço + botões */
.cuwp-media-row { display: flex; gap: 12px; align-items: stretch; }
.cuwp-media-thumb {
	flex: 0 0 76px; height: 76px; border-radius: 12px; overflow: hidden; display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--cuwp-border); color: var(--cuwp-text-faint);
	background: repeating-conic-gradient(rgba(127,127,127,.14) 0% 25%, transparent 0% 50%) 50% / 14px 14px, var(--cuwp-surface);
}
.cuwp-media-thumb.is-dark { background: #1e1f27; border-color: #33343e; color: #8e909b; }
.cuwp-media-thumb.is-audio { background: var(--cuwp-primary-light); color: var(--cuwp-primary); }
.cuwp-media-thumb img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; }
.cuwp-media-thumb-icon svg { width: 26px; height: 26px; }
.cuwp-media-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; justify-content: center; }
.cuwp-media-main .cuwp-input { width: 100%; font-size: 12.5px; }
.cuwp-media-actions { display: flex; flex-wrap: wrap; gap: 6px; }

/* Cor da marca */
.cuwp-brand-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cuwp-brand-picker { width: 46px; height: 40px; padding: 3px; border: 1px solid var(--cuwp-border); border-radius: 10px; background: var(--cuwp-surface); cursor: pointer; }
.cuwp-brand-hex { width: 104px !important; font-family: 'SFMono-Regular', Consolas, monospace; text-transform: lowercase; }
.cuwp-brand-swatches { display: flex; flex-wrap: wrap; gap: 7px; }
.cuwp-brand-swatch {
	width: 26px; height: 26px; padding: 0; border-radius: 50%; background: var(--sw); cursor: pointer;
	border: 2px solid var(--cuwp-surface); box-shadow: 0 0 0 1px var(--cuwp-border); transition: transform .12s ease, box-shadow .12s ease;
}
.cuwp-brand-swatch:hover { transform: scale(1.12); box-shadow: 0 0 0 2px var(--sw); }
.cuwp-brand-swatch:focus-visible { outline: 2px solid var(--cuwp-primary); outline-offset: 3px; }

/* Prévia do cartão de login */
.cuwp-login-preview {
	--pv-color: var(--cuwp-primary); position: relative; height: 190px; border-radius: 14px; overflow: hidden; margin-bottom: 4px;
	display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center;
	background-image: linear-gradient(135deg, var(--pv-color), color-mix(in srgb, var(--pv-color) 55%, #000));
	border: 1px solid var(--cuwp-border);
}
.cuwp-login-preview.has-bg::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.18); }
.cuwp-login-preview-card {
	position: relative; z-index: 1; width: 58%; max-width: 230px; padding: 14px 16px; border-radius: 12px;
	background: rgba(255,255,255,.96); box-shadow: 0 12px 30px rgba(0,0,0,.28); text-align: center; color: #1f2129;
}
.cuwp-login-preview-logo { height: 30px; display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.cuwp-login-preview-logo img { max-height: 30px; max-width: 100%; object-fit: contain; }
.cuwp-login-preview-logo span { font-weight: 800; font-size: 13px; color: var(--pv-color); }
.cuwp-login-preview-tagline { font-size: 9.5px; line-height: 1.35; color: #5b6170; margin-bottom: 9px; max-height: 26px; overflow: hidden; }
.cuwp-login-preview-bar { height: 9px; border-radius: 5px; background: #e5e7eb; margin: 0 0 6px; }
.cuwp-login-preview-bar.short { width: 70%; }
.cuwp-login-preview-btn { height: 12px; border-radius: 6px; background: var(--pv-color); margin-top: 8px; }

/* Barra de salvar fixa no rodapé da área de conteúdo */
.cuwp-savebar {
	position: sticky; bottom: 12px; z-index: 5; margin-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 10px 12px 10px 18px; border-radius: 14px; background: var(--cuwp-surface); border: 1px solid var(--cuwp-border); box-shadow: var(--cuwp-shadow-lg);
}
.cuwp-savebar-status { font-size: 13px; font-weight: 600; color: var(--cuwp-text-muted); display: inline-flex; align-items: center; gap: 8px; }
.cuwp-savebar-status::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--cuwp-success); }
.cuwp-savebar.is-dirty { border-color: var(--cuwp-warning); }
.cuwp-savebar.is-dirty .cuwp-savebar-status { color: var(--cuwp-text); }
.cuwp-savebar.is-dirty .cuwp-savebar-status::before { background: var(--cuwp-warning); }

/* ---- Aba Autor ------------------------------------------------------- */
.cuwp-author { display: flex; flex-direction: column; gap: 18px; }
.cuwp-author-hero {
	display: flex; gap: 28px; align-items: center; padding: 28px; border-radius: 20px; position: relative; overflow: hidden;
	background: linear-gradient(135deg, var(--cuwp-primary-light), var(--cuwp-surface) 70%); border: 1px solid var(--cuwp-border); box-shadow: var(--cuwp-shadow);
}
.cuwp-author-hero::before {
	content: ""; position: absolute; width: 320px; height: 320px; right: -90px; top: -120px; border-radius: 50%;
	background: var(--cuwp-primary); opacity: .07; pointer-events: none;
}
.cuwp-author-photo {
	flex: 0 0 auto; width: 188px; height: 188px; border-radius: 50% !important; padding: 5px; position: relative; z-index: 1; overflow: hidden;
	background: linear-gradient(135deg, var(--cuwp-primary), var(--cuwp-secondary)); box-shadow: 0 16px 36px color-mix(in srgb, var(--cuwp-primary) 28%, transparent);
}
.cuwp-author-photo img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center 20%; border-radius: 50% !important; display: block; border: 3px solid var(--cuwp-surface); box-sizing: border-box; }
.cuwp-author-id { min-width: 0; position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.cuwp-author-kicker {
	display: inline-flex; align-items: center; gap: 7px; font-size: 11.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase;
	color: var(--cuwp-primary); background: var(--cuwp-surface); border: 1px solid var(--cuwp-border); padding: 5px 11px; border-radius: 20px;
}
.cuwp-author-kicker svg { width: 14px; height: 14px; }
#cuwp-root .cuwp-author-name { margin: 0; font-size: 30px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.cuwp-author-role { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--cuwp-text-muted); }
.cuwp-author-chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 2px 0 6px; }
.cuwp-author-chip { font-size: 12px; font-weight: 600; padding: 5px 12px; border-radius: 20px; color: var(--cuwp-primary); background: var(--cuwp-surface); border: 1px solid var(--cuwp-border); }
.cuwp-author-link { padding: 9px 16px; text-decoration: none; }
.cuwp-author-text { margin: 0; font-size: 13.5px; line-height: 1.7; color: var(--cuwp-text-muted); }
.cuwp-author-story p { margin: 0 0 12px; }
.cuwp-author-story p:last-child { margin-bottom: 0; }
.cuwp-author-story strong { color: var(--cuwp-text); }
.cuwp-author-subtitle { margin: 20px 0 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--cuwp-text-faint); }

.cuwp-timeline { list-style: none; margin: 4px 0 0; padding: 0; position: relative; }
.cuwp-timeline::before { content: ""; position: absolute; left: 5px; top: 8px; bottom: 8px; width: 2px; background: var(--cuwp-border); }
.cuwp-timeline li { display: flex; gap: 14px; align-items: flex-start; padding: 7px 0; position: relative; }
.cuwp-timeline-dot { flex: 0 0 12px; width: 12px; height: 12px; margin-top: 4px; border-radius: 50%; background: var(--cuwp-primary); box-shadow: 0 0 0 3px var(--cuwp-primary-light), 0 0 0 5px var(--cuwp-surface); position: relative; z-index: 1; }
.cuwp-timeline strong { display: block; font-size: 13.5px; color: var(--cuwp-text); }
.cuwp-timeline-when { display: inline-block; margin-bottom: 2px; font-size: 11px; font-weight: 800; color: var(--cuwp-primary); text-transform: uppercase; letter-spacing: .05em; }
.cuwp-timeline-where { display: block; font-size: 12.5px; color: var(--cuwp-text-muted); }

.cuwp-feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin-top: 14px; }
.cuwp-feature { padding: 16px; border-radius: 14px; border: 1px solid var(--cuwp-border); background: var(--cuwp-surface-2); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.cuwp-feature:hover { transform: translateY(-2px); border-color: var(--cuwp-primary); box-shadow: var(--cuwp-shadow-lg); }
.cuwp-feature-icon { display: inline-flex; width: 36px; height: 36px; border-radius: 10px; align-items: center; justify-content: center; margin-bottom: 10px; color: var(--cuwp-primary); background: var(--cuwp-primary-light); }
.cuwp-feature-icon svg { width: 19px; height: 19px; }
.cuwp-feature-title { font-size: 13.5px; font-weight: 700; color: var(--cuwp-text); margin-bottom: 4px; }
.cuwp-feature p { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--cuwp-text-muted); }
.cuwp-author-copy { margin: 4px 0 0; text-align: center; font-size: 12px; color: var(--cuwp-text-faint); }

/* Tema escuro */
#cuwp-root[data-theme="dark"] .cuwp-author-hero, body[data-theme="dark"] .cuwp-author-hero { background: linear-gradient(135deg, color-mix(in srgb, var(--cuwp-primary) 26%, transparent), var(--cuwp-surface) 70%); }
#cuwp-root[data-theme="dark"] .cuwp-brand-swatch, body[data-theme="dark"] .cuwp-brand-swatch { border-color: var(--cuwp-surface); }
#cuwp-root[data-theme="dark"] .cuwp-login-preview-card { background: rgba(30,31,39,.96); color: #f1f2f4; }
#cuwp-root[data-theme="dark"] .cuwp-login-preview-tagline { color: #a3a5af; }
#cuwp-root[data-theme="dark"] .cuwp-login-preview-bar { background: #33343e; }

/* Celular */
@media (max-width: 640px) {
	.cuwp-set-card { padding: 16px; }
	.cuwp-media-thumb { flex-basis: 60px; height: 60px; }
	.cuwp-author-hero { flex-direction: column; text-align: center; padding: 22px 18px; gap: 18px; }
	.cuwp-author-photo { width: 160px; height: 160px; }
	.cuwp-author-id { align-items: center; }
	.cuwp-author-chips { justify-content: center; }
	#cuwp-root .cuwp-author-name { font-size: 24px; }
	.cuwp-savebar { bottom: 8px; padding-left: 14px; }
	.cuwp-savebar-status { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.cuwp-feature, .cuwp-brand-swatch { transition: none; }
	.cuwp-feature:hover, .cuwp-brand-swatch:hover { transform: none; }
}

/* 5.19.19: contraste no escuro (azul da marca sobre fundo escuro ficava fraco) e 2 colunas no celular */
#cuwp-root[data-theme="dark"] .cuwp-author-kicker, body[data-theme="dark"] .cuwp-author-kicker,
#cuwp-root[data-theme="dark"] .cuwp-author-chip, body[data-theme="dark"] .cuwp-author-chip,
#cuwp-root[data-theme="dark"] .cuwp-timeline-when, body[data-theme="dark"] .cuwp-timeline-when,
#cuwp-root[data-theme="dark"] .cuwp-feature-icon, body[data-theme="dark"] .cuwp-feature-icon { color: var(--cuwp-on-dark); }
@media (max-width: 640px) {
	.cuwp-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.cuwp-feature { padding: 12px; }
}
@media (max-width: 380px) { .cuwp-feature-grid { grid-template-columns: 1fr; } }

/* =====================================================================
   5.19.20 — Aba IA e Shortcode com visual do app; segunda mensagem do login
   ===================================================================== */
.cuwp-check-line { display: flex; gap: 9px; align-items: flex-start; margin-top: 12px; font-size: 12.5px; font-weight: 500 !important; line-height: 1.45; color: var(--cuwp-text-muted); cursor: pointer; }
.cuwp-check-line input { margin-top: 2px; flex-shrink: 0; }
.cuwp-login-preview-title { font-size: 11px; font-weight: 800; color: #1f2129; margin: 0 0 1px; }
.cuwp-login-preview-sub { font-size: 8.5px; color: #5b6170; margin-bottom: 7px; }
#cuwp-root[data-theme="dark"] .cuwp-login-preview-title { color: #f1f2f4; }
#cuwp-root[data-theme="dark"] .cuwp-login-preview-sub { color: #a3a5af; }

/* Aba IA */
.cuwp-ai-intro {
	display: flex; gap: 16px; align-items: flex-start; padding: 20px; margin-bottom: 14px; border-radius: 16px;
	background: linear-gradient(135deg, var(--cuwp-primary-light), var(--cuwp-surface) 75%); border: 1px solid var(--cuwp-border); box-shadow: var(--cuwp-shadow);
}
.cuwp-ai-intro-icon { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--cuwp-primary); box-shadow: 0 8px 20px color-mix(in srgb, var(--cuwp-primary) 30%, transparent); }
.cuwp-ai-intro-icon svg { width: 24px; height: 24px; }
.cuwp-ai-intro-title { font-size: 17px; font-weight: 800; letter-spacing: -.01em; color: var(--cuwp-text); margin-bottom: 4px; }
.cuwp-ai-intro-text p { margin: 0 0 10px; font-size: 13.5px; line-height: 1.6; color: var(--cuwp-text-muted); }
.cuwp-ai-intro-text .cuwp-author-chips { margin: 0; }
.cuwp-inline-ico { display: inline-flex; align-items: center; gap: 5px; color: var(--cuwp-text); }
.cuwp-inline-ico svg { width: 14px; height: 14px; color: var(--cuwp-primary); }
.cuwp-tab-badge { font-size: 10.5px; font-weight: 800; padding: 2px 8px; border-radius: 20px; background: rgba(255,255,255,.22); letter-spacing: .02em; }
.cuwp-tabs-pill .cuwp-tab:not(.active) .cuwp-tab-badge { background: var(--cuwp-primary-light); color: var(--cuwp-primary); }

/* Passos com título e texto */
.cuwp-steps-rich .cuwp-step-body > strong { display: block; font-size: 13.5px; margin-bottom: 2px; }
.cuwp-steps-rich .cuwp-step-body > span { display: block; }
.cuwp-steps-rich .cuwp-step-body code { font-size: 12px; padding: 1px 6px; border-radius: 6px; background: var(--cuwp-primary-light); color: var(--cuwp-primary); }
.cuwp-steps-rich { gap: 18px; position: relative; }

/* Aba Shortcode */
.cuwp-sc-hero { display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.cuwp-sc-hero-text { flex: 1 1 320px; min-width: 0; }
.cuwp-sc-hero .cuwp-shortcode-box { flex: 0 1 360px; margin: 0; border-style: solid; background: var(--cuwp-primary-light); border-color: transparent; }
.cuwp-sc-hero .cuwp-shortcode-box code { font-size: 16px; }
.cuwp-know-grid { display: flex; flex-direction: column; gap: 14px; margin-top: 12px; }
.cuwp-know { display: flex; gap: 12px; align-items: flex-start; }
.cuwp-know-icon { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: var(--cuwp-primary); background: var(--cuwp-primary-light); }
.cuwp-know-icon svg { width: 18px; height: 18px; }
.cuwp-know-title { font-size: 13.5px; font-weight: 700; color: var(--cuwp-text); margin-bottom: 2px; }
.cuwp-know p { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--cuwp-text-muted); }

#cuwp-root[data-theme="dark"] .cuwp-ai-intro, body[data-theme="dark"] .cuwp-ai-intro { background: linear-gradient(135deg, color-mix(in srgb, var(--cuwp-primary) 26%, transparent), var(--cuwp-surface) 75%); }
#cuwp-root[data-theme="dark"] .cuwp-inline-ico svg,
#cuwp-root[data-theme="dark"] .cuwp-know-icon,
#cuwp-root[data-theme="dark"] .cuwp-steps-rich .cuwp-step-body code,
#cuwp-root[data-theme="dark"] .cuwp-sc-hero .cuwp-shortcode-box code,
#cuwp-root[data-theme="dark"] .cuwp-tabs-pill .cuwp-tab:not(.active) .cuwp-tab-badge { color: var(--cuwp-on-dark); }
@media (max-width: 760px) {
	.cuwp-ai-intro { flex-direction: column; padding: 16px; }
	.cuwp-sc-hero .cuwp-shortcode-box { flex-basis: 100%; }
}

#cuwp-root[data-theme="dark"] .cuwp-step-num, body[data-theme="dark"] .cuwp-step-num { color: var(--cuwp-on-dark); }

/* =====================================================================
   5.19.21 — Geral & Cores em 2 colunas independentes e tamanho da letra
   do título/subtítulo do formulário de login
   ===================================================================== */
.cuwp-set-col { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.cuwp-set-2col { align-items: start; }
.cuwp-form-line { display: flex; gap: 10px; align-items: flex-end; margin-top: 10px; }
.cuwp-form-line-main { flex: 1; min-width: 0; }
.cuwp-form-line-size { flex: 0 0 auto; }
.cuwp-subl { display: block; margin-bottom: 5px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--cuwp-text-faint); }
.cuwp-size-input { display: flex; align-items: center; gap: 6px; }
.cuwp-size-input .cuwp-input { width: 78px; text-align: center; }
.cuwp-size-input em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--cuwp-text-muted); }
@media (max-width: 520px) {
	.cuwp-form-line { flex-wrap: wrap; }
	.cuwp-form-line-main { flex-basis: 100%; }
}

/* ==== 5.19.24: aba Documentação + correções de contraste ==== */
/* Texto em negrito/ênfase dentro do app e da tela de login herda a cor do tema:
   alguns temas do site pintam <strong>/<b> de escuro e sumiam no modo escuro. */
.cuwp-app strong, .cuwp-app b, .cuwp-app em, .cuwp-login-page strong, .cuwp-login-page b, .cuwp-login-page em { color: inherit; }
.cuwp-login-tagline strong, .cuwp-login-tagline b { color: var(--lg-text); font-weight: 800; }
.cuwp-login-tagline a { color: var(--cuwp-primary); }
.cuwp-login-page[data-theme="dark"] .cuwp-login-tagline a { color: var(--lg-link-dark, #7fbaeb); }

.cuwp-doc-tabs { margin-bottom: 16px; }
.cuwp-doc-hero { display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.cuwp-doc-hero-text { flex: 1 1 380px; min-width: 0; }
.cuwp-doc-cta { display: flex; flex-direction: column; gap: 10px; flex: 0 1 240px; }
.cuwp-doc-cta .cuwp-btn { justify-content: center; }
.cuwp-doc-modules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 20px; }
.cuwp-doc-foot { font-size: 12px; margin: 12px 0 0; }
.cuwp-doc-table-wrap { overflow-x: auto; margin-top: 12px; }
.cuwp-doc-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.cuwp-doc-table th { text-align: left; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--cuwp-text-muted); padding: 6px 8px; border-bottom: 1px solid var(--cuwp-border); }
.cuwp-doc-table td { padding: 8px; border-bottom: 1px solid var(--cuwp-border); color: var(--cuwp-text); vertical-align: top; }
.cuwp-doc-table td:not(:first-child), .cuwp-doc-table th:not(:first-child) { text-align: center; white-space: nowrap; width: 64px; }
.cuwp-doc-yes, .cuwp-doc-no { display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 9px; border-radius: 20px; }
.cuwp-doc-yes { color: #146c3c; background: rgba(46,204,113,.16); }
.cuwp-doc-no { color: var(--cuwp-text-muted); background: rgba(107,114,128,.14); }
.cuwp-doc-glossary { margin: 12px 0 0; display: flex; flex-direction: column; gap: 12px; }
.cuwp-doc-glossary dt { font-size: 13px; font-weight: 700; color: var(--cuwp-text); }
.cuwp-doc-glossary dd { margin: 2px 0 0; font-size: 12.5px; line-height: 1.55; color: var(--cuwp-text-muted); }

.cuwp-doc-intro { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.cuwp-doc-intro-ico { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, var(--cuwp-primary), var(--cuwp-secondary, var(--cuwp-primary))); }
.cuwp-doc-intro-ico svg { width: 22px; height: 22px; }
.cuwp-doc-intro > div:nth-child(2) { flex: 1 1 260px; min-width: 0; }
.cuwp-doc-intro-title { font-size: 16px; font-weight: 800; color: var(--cuwp-text); }
.cuwp-doc-intro p { margin: 2px 0 0; font-size: 13px; color: var(--cuwp-text-muted); }
.cuwp-doc-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; flex: 1 1 320px; justify-content: flex-end; }
.cuwp-doc-search { flex: 1 1 180px; max-width: 280px; min-width: 140px; }

.cuwp-doc-toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.cuwp-doc-toc-item { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; padding: 6px 12px; border-radius: 20px; text-decoration: none; color: var(--cuwp-text); background: var(--cuwp-surface); border: 1px solid var(--cuwp-border); }
.cuwp-doc-toc-item svg { width: 14px; height: 14px; color: var(--cuwp-primary); }
.cuwp-doc-toc-item:hover { border-color: var(--cuwp-primary); color: var(--cuwp-primary); }
.cuwp-doc-toc-item[hidden], .cuwp-doc-item[hidden], .cuwp-doc-empty[hidden] { display: none; }

.cuwp-doc-list-wrap { display: flex; flex-direction: column; gap: 10px; }
.cuwp-doc-item { background: var(--cuwp-surface); border: 1px solid var(--cuwp-border); border-radius: 14px; overflow: hidden; scroll-margin-top: 80px; }
.cuwp-doc-item[open] { border-color: var(--cuwp-primary); box-shadow: 0 6px 20px color-mix(in srgb, var(--cuwp-primary) 8%, transparent); }
.cuwp-doc-item > summary { display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer; list-style: none; }
.cuwp-doc-item > summary::-webkit-details-marker { display: none; }
.cuwp-doc-item > summary:focus-visible { outline: 2px solid var(--cuwp-primary); outline-offset: -2px; }
.cuwp-doc-ico { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; color: var(--cuwp-primary); background: var(--cuwp-primary-light); }
.cuwp-doc-ico svg { width: 19px; height: 19px; }
.cuwp-doc-head { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.cuwp-doc-head strong { font-size: 14.5px; color: var(--cuwp-text); }
.cuwp-doc-head small { font-size: 12.5px; color: var(--cuwp-text-muted); }
.cuwp-doc-chev { flex: 0 0 auto; width: 22px; height: 22px; color: var(--cuwp-text-muted); transition: transform .2s; }
.cuwp-doc-chev svg { width: 22px; height: 22px; }
.cuwp-doc-item[open] .cuwp-doc-chev { transform: rotate(45deg); color: var(--cuwp-primary); }
.cuwp-doc-body { padding: 2px 18px 18px 64px; font-size: 13px; line-height: 1.6; color: var(--cuwp-text); }
.cuwp-doc-body .cuwp-ui-note { margin: 14px 0 0; }
.cuwp-doc-steps { list-style: none; counter-reset: docstep; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cuwp-doc-steps li { counter-increment: docstep; position: relative; padding-left: 34px; min-height: 24px; }
.cuwp-doc-steps li::before { content: counter(docstep); position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: var(--cuwp-primary); background: var(--cuwp-primary-light); }
.cuwp-doc-list { margin: 6px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; }
.cuwp-doc-list li::marker { color: var(--cuwp-primary); }
.cuwp-doc-body code, .cuwp-doc-hero code, .cuwp-doc-glossary code, .cuwp-doc-foot code, .cuwp-know code { font-size: 12px; padding: 1px 6px; border-radius: 6px; background: var(--cuwp-primary-light); color: var(--cuwp-primary); }
.cuwp-doc-faq { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.cuwp-doc-q { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 10px; background: var(--cuwp-primary-light); }
.cuwp-doc-q strong { color: var(--cuwp-text); }
.cuwp-doc-q span { color: var(--cuwp-text-muted); }
.cuwp-doc-empty { text-align: center; color: var(--cuwp-text-muted); padding: 20px; }

/* modo escuro */
#cuwp-root[data-theme="dark"] .cuwp-doc-item[open] { box-shadow: 0 6px 20px rgba(0,0,0,.35); }
#cuwp-root[data-theme="dark"] .cuwp-doc-yes { color: #7be0a6; background: rgba(46,204,113,.18); }
#cuwp-root[data-theme="dark"] .cuwp-doc-no { color: #aab1bd; background: rgba(170,177,189,.14); }
#cuwp-root[data-theme="dark"] .cuwp-doc-ico, #cuwp-root[data-theme="dark"] .cuwp-doc-steps li::before, #cuwp-root[data-theme="dark"] .cuwp-doc-toc-item svg { color: var(--cuwp-on-dark); }
#cuwp-root[data-theme="dark"] .cuwp-doc-body code, #cuwp-root[data-theme="dark"] .cuwp-doc-hero code, #cuwp-root[data-theme="dark"] .cuwp-doc-glossary code, #cuwp-root[data-theme="dark"] .cuwp-doc-foot code, #cuwp-root[data-theme="dark"] .cuwp-know code { color: var(--cuwp-on-dark); }
#cuwp-root[data-theme="dark"] .cuwp-doc-toc-item:hover { color: var(--cuwp-on-dark); border-color: var(--cuwp-on-dark); }
#cuwp-root[data-theme="dark"] .cuwp-doc-item[open] { border-color: #3a6d9a; }
#cuwp-root[data-theme="dark"] .cuwp-doc-item[open] .cuwp-doc-chev { color: var(--cuwp-on-dark); }

@media (max-width: 900px) {
	.cuwp-doc-modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.cuwp-doc-modules { grid-template-columns: 1fr; }
	.cuwp-doc-body { padding: 2px 14px 16px 14px; }
	.cuwp-doc-cta { flex: 1 1 100%; }
	.cuwp-doc-tools { justify-content: flex-start; }
	.cuwp-doc-search { max-width: none; }
}

/* 5.19.27: manual do usuário sem o cartão de apresentação repetido — só a barra de busca */
.cuwp-doc-intro.is-slim { padding: 10px 14px; }
.cuwp-doc-intro.is-slim .cuwp-doc-intro-ico, .cuwp-doc-intro.is-slim > div:nth-child(2) { display: none; }
.cuwp-doc-intro.is-slim .cuwp-doc-tools { flex: 1 1 100%; justify-content: flex-start; }
.cuwp-doc-intro.is-slim .cuwp-doc-search { max-width: 360px; }

/* 5.19.29 — largura da logo definida em Configurações → Geral: vale também no celular. */
.cuwp-brand-logo[style*="width"] { max-height: none !important; max-width: 100%; height: auto; }

/* ---- 7.0.0: duplicar tarefa ---- */
.cuwp-dup-dates { display: flex; flex-direction: column; gap: 8px; }
.cuwp-dup-date-row { display: flex; gap: 8px; align-items: center; }
.cuwp-dup-date-row .cuwp-input { flex: 1; }

/* 7.0.0: dashboard com 5 indicadores — o último ocupa a linha toda no celular */
@media (max-width: 782px) {
	.cuwp-ui-kpis > .cuwp-ui-kpi:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* ---- 7.0.0: utilitário de leitura por leitor de tela ---- */
.cuwp-sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---- 7.0.0: Anotações (cores com contraste nos temas claro e escuro) ---- */
.cuwp-note, .cuwp-note-swatch {
	--n-bg: #fff4bd; --n-bd: #e6cf6a; --n-tx: #3b3210; --n-mute: #6b5d22;
}
.cuwp-note--yellow { --n-bg: #fff4bd; --n-bd: #e6cf6a; --n-tx: #3b3210; --n-mute: #6b5d22; }
.cuwp-note--blue   { --n-bg: #dcecff; --n-bd: #8fbbee; --n-tx: #10304f; --n-mute: #3d6288; }
.cuwp-note--green  { --n-bg: #d9f5e3; --n-bd: #84cfa0; --n-tx: #0f3a22; --n-mute: #3b7357; }
.cuwp-note--pink   { --n-bg: #ffe0ec; --n-bd: #eea0bf; --n-tx: #4a1230; --n-mute: #84405f; }
.cuwp-note--purple { --n-bg: #ebe0ff; --n-bd: #b79cef; --n-tx: #2c1559; --n-mute: #5d4690; }
.cuwp-note--gray   { --n-bg: #eceff3; --n-bd: #b6bfca; --n-tx: #1f2933; --n-mute: #55616e; }
[data-theme="dark"] .cuwp-note--yellow { --n-bg: #3d3716; --n-bd: #7a6c22; --n-tx: #fbf1c4; --n-mute: #d3c47e; }
[data-theme="dark"] .cuwp-note--blue   { --n-bg: #17324d; --n-bd: #3a6c9f; --n-tx: #dcecff; --n-mute: #9cc1e8; }
[data-theme="dark"] .cuwp-note--green  { --n-bg: #173a27; --n-bd: #3b7f58; --n-tx: #d9f5e3; --n-mute: #8fd1ab; }
[data-theme="dark"] .cuwp-note--pink   { --n-bg: #4a1f35; --n-bd: #9a4c72; --n-tx: #ffe0ec; --n-mute: #e0a3c1; }
[data-theme="dark"] .cuwp-note--purple { --n-bg: #2e2250; --n-bd: #6d58a8; --n-tx: #ebe0ff; --n-mute: #b8a5ea; }
[data-theme="dark"] .cuwp-note--gray   { --n-bg: #2b323b; --n-bd: #56626f; --n-tx: #eceff3; --n-mute: #aab4bf; }

.cuwp-notes-toolbar { margin-top: 14px; }
.cuwp-notes-search { min-width: 220px; }
.cuwp-notes-label { margin: 18px 2px 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--cuwp-text-muted); }
.cuwp-notes-grid { columns: 3 260px; column-gap: 14px; }
.cuwp-note {
	display: inline-block; width: 100%; box-sizing: border-box; margin: 0 0 14px; break-inside: avoid;
	padding: 14px 14px 8px; border-radius: 14px; background: var(--n-bg); border: 1px solid var(--n-bd); color: var(--n-tx);
	box-shadow: var(--cuwp-shadow); cursor: pointer; transition: transform .12s ease, box-shadow .12s ease;
}
.cuwp-note:hover { transform: translateY(-1px); }
.cuwp-note:focus-visible { outline: 3px solid var(--cuwp-primary); outline-offset: 2px; }
.cuwp-note.is-pinned { border-width: 2px; }
.cuwp-note-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.cuwp-note-title { margin: 0 0 6px; font-size: 15px; font-weight: 800; line-height: 1.3; color: var(--n-tx); word-break: break-word; }
.cuwp-note-body { font-size: 13.5px; line-height: 1.5; color: var(--n-tx); word-break: break-word; }
.cuwp-note-body p { margin: 0 0 4px; }
.cuwp-note-body a { color: inherit; text-decoration: underline; }
.cuwp-note-gap { height: 8px; }
.cuwp-note-check { display: flex; gap: 8px; align-items: flex-start; margin: 3px 0; cursor: pointer; }
.cuwp-note-check input { margin-top: 3px; flex-shrink: 0; accent-color: var(--cuwp-primary); }
.cuwp-note-check.done span { text-decoration: line-through; opacity: .65; }
.cuwp-note-remind { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 700; color: var(--n-tx); background: rgba(0,0,0,.08); }
[data-theme="dark"] .cuwp-note-remind { background: rgba(255,255,255,.12); }
.cuwp-note-remind svg { width: 13px; height: 13px; }
.cuwp-note-remind.late { background: #c0392b; color: #fff; }
.cuwp-note-remind.sent { opacity: .75; }
.cuwp-note-foot { display: flex; gap: 2px; justify-content: flex-end; margin: 8px -6px 0; opacity: .0; transition: opacity .12s ease; }
.cuwp-note:hover .cuwp-note-foot, .cuwp-note:focus-within .cuwp-note-foot { opacity: 1; }
@media (hover: none) { .cuwp-note-foot { opacity: 1; } }
.cuwp-note-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--n-mute); cursor: pointer; }
.cuwp-note-icon-btn svg { width: 16px; height: 16px; }
.cuwp-note-icon-btn:hover { background: rgba(0,0,0,.08); color: var(--n-tx); }
[data-theme="dark"] .cuwp-note-icon-btn:hover { background: rgba(255,255,255,.12); }
.cuwp-note-icon-btn:focus-visible { outline: 2px solid var(--cuwp-primary); }
.cuwp-note-icon-btn.on { color: var(--n-tx); background: rgba(0,0,0,.1); }
.cuwp-note-icon-btn.danger:hover { color: #c0392b; }
[data-theme="dark"] .cuwp-note-icon-btn.danger:hover { color: #ff8a7a; }

.cuwp-note-swatches { display: flex; gap: 8px; flex-wrap: wrap; padding: 6px; }
.cuwp-note-swatch { width: 26px; height: 26px; padding: 0; border-radius: 50%; background: var(--n-bg); border: 2px solid var(--n-bd); cursor: pointer; }
.cuwp-note-swatch.sel { outline: 3px solid var(--cuwp-primary); outline-offset: 2px; }
.cuwp-note-swatch:focus-visible { outline: 3px solid var(--cuwp-primary); outline-offset: 2px; }

.cuwp-notes-composer-collapsed { display: flex; align-items: center; gap: 10px; width: 100%; padding: 13px 16px; border-radius: 14px; border: 1px solid var(--cuwp-border); background: var(--cuwp-surface); color: var(--cuwp-text-muted); font: inherit; font-size: 14px; text-align: left; cursor: pointer; box-shadow: var(--cuwp-shadow); }
.cuwp-notes-composer-collapsed svg { width: 18px; height: 18px; color: var(--cuwp-primary); }
.cuwp-notes-composer-collapsed:hover { border-color: var(--cuwp-primary); }
.cuwp-notes-composer { padding: 16px; border-radius: 14px; }

/* ---- 7.0.0: Agenda pessoal — compromissos meus x compartilhados ---- */
.cuwp-event--mine { background: var(--cuwp-primary-light); color: var(--cuwp-primary); border-left: 3px solid var(--cuwp-primary); }
.cuwp-event--shared { background: rgba(142, 68, 173, .14); color: #6c2f87; border-left: 3px solid #8e44ad; }
[data-theme="dark"] .cuwp-event--mine { color: var(--cuwp-text); }
[data-theme="dark"] .cuwp-event--shared { background: rgba(190, 140, 220, .22); color: #e3c9f2; border-left-color: #b57fd4; }
.cuwp-event-dot { width: 5px; height: 5px; border-radius: 50%; }
.cuwp-event-dot.cuwp-event--mine { background: var(--cuwp-primary); border: 0; }
.cuwp-event-dot.cuwp-event--shared { background: #8e44ad; border: 0; }
[data-theme="dark"] .cuwp-event-dot.cuwp-event--shared { background: #c28ee0; }
.cuwp-event-tag { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; border-left-width: 0 !important; }

/* ---- 7.0.0: relatório de concluídas — selo de situação (contraste nos dois temas) ---- */
.cuwp-sit { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.cuwp-sit.ok { background: #d9f5e3; color: #0f5c34; }
.cuwp-sit.bad { background: #fde2e0; color: #9b2218; }
.cuwp-sit.muted { background: var(--cuwp-surface-2); color: var(--cuwp-text-muted); border: 1px solid var(--cuwp-border); }
[data-theme="dark"] .cuwp-sit.ok { background: rgba(46, 204, 113, .18); color: #8fe3b0; }
[data-theme="dark"] .cuwp-sit.bad { background: rgba(231, 76, 60, .2); color: #ffa79e; }

/* =============================================================================
   7.0.0 — Redesenho: E-mail (SMTP), Avisos de vencimento e Anotações.
   Tudo com variáveis do tema, para funcionar nos modos claro e escuro.
   ============================================================================= */
#cuwp-root, body { --x-ok-tx: #14703a; --x-ok-bg: rgba(22,163,74,.12); --x-off-tx: #a63a2e; --x-off-bg: rgba(231,76,60,.11); --x-accent-tx: var(--cuwp-primary); }
#cuwp-root[data-theme="dark"], body[data-theme="dark"] { --x-ok-tx: #6ee7a1; --x-ok-bg: rgba(74,222,128,.14); --x-off-tx: #ff9d90; --x-off-bg: rgba(255,120,100,.14); --x-accent-tx: #7fbaeb; }

.cuwp-x-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, 1fr); gap: 16px; align-items: start; }
.cuwp-x-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.cuwp-x-card { padding: 22px; border-radius: 18px; }
.cuwp-x-card .cuwp-input, .cuwp-x-card .cuwp-select { height: 40px; border-radius: 10px; }
.cuwp-x-card .cuwp-field { margin-bottom: 16px; }
.cuwp-x-card .cuwp-field label { font-size: 12.5px; font-weight: 700; color: var(--cuwp-text); }

.cuwp-x-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 20px; }
.cuwp-x-head-ico { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; background: var(--cuwp-primary-light); color: var(--x-accent-tx); }
.cuwp-x-head-ico svg { width: 21px; height: 21px; }
.cuwp-x-head-txt { flex: 1 1 auto; min-width: 0; }
.cuwp-x-head-txt h3, .cuwp-x-head-txt h2 { margin: 2px 0 3px; font-size: 16px; line-height: 1.3; font-weight: 800; }
.cuwp-x-head-txt p { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--cuwp-text-muted); }
.cuwp-x-head > .cuwp-switch, .cuwp-x-head > .cuwp-x-state { margin-top: 6px; }

.cuwp-x-state { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.cuwp-x-state::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.cuwp-x-state.on { color: var(--x-ok-tx); background: var(--x-ok-bg); }
.cuwp-x-state.off { color: var(--x-off-tx); background: var(--x-off-bg); }
.cuwp-x-tag { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.cuwp-x-tag.ok { color: var(--x-ok-tx); background: var(--x-ok-bg); }

/* Escolha do serviço */
.cuwp-x-prov-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 10px; margin-bottom: 18px; }
.cuwp-x-prov { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 10px; min-height: 92px; padding: 12px 12px 12px; text-align: left; border-radius: 14px; border: 1.5px solid var(--cuwp-border); background: var(--cuwp-surface); color: var(--cuwp-text); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
.cuwp-x-prov:hover { border-color: var(--cuwp-primary); }
.cuwp-x-prov:focus-visible { outline: 3px solid var(--cuwp-primary); outline-offset: 2px; }
.cuwp-x-prov.sel { border-color: var(--cuwp-primary); background: var(--cuwp-primary-light); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cuwp-primary) 14%, transparent); }
.cuwp-x-prov-ico { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 800; color: var(--x-accent-tx); background: var(--cuwp-primary-light); }
.cuwp-x-prov.sel .cuwp-x-prov-ico { background: var(--cuwp-primary); color: #fff; }
.cuwp-x-prov-ico svg { width: 17px; height: 17px; }
.cuwp-x-prov-name { flex: 1 1 auto; min-width: 0; line-height: 1.25; }

/* Linhas de configuração com interruptor */
.cuwp-x-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; border-top: 1px solid var(--cuwp-border); }
.cuwp-x-row-first { border-top: 0; padding-top: 4px; }
.cuwp-x-row-t { min-width: 0; }
.cuwp-x-row-t strong { display: block; font-size: 13.5px; font-weight: 700; }
.cuwp-x-row-t small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.5; color: var(--cuwp-text-muted); }
.cuwp-x-card .cuwp-switch { width: 44px; height: 24px; }
.cuwp-x-card .cuwp-switch-slider:before { height: 20px; width: 20px; left: 2px; bottom: 2px; }
.cuwp-x-card .cuwp-switch input:checked + .cuwp-switch-slider:before { transform: translateX(20px); }
.cuwp-x-card .cuwp-switch input:focus-visible + .cuwp-switch-slider { outline: 3px solid var(--cuwp-primary); outline-offset: 2px; }
.cuwp-x-card .cuwp-switch-slider { background: #8b93a1; }
[data-theme="dark"] .cuwp-x-card .cuwp-switch-slider { background: #4b5160; }
.cuwp-x-card .cuwp-switch input:checked + .cuwp-switch-slider { background: var(--cuwp-primary); }

/* Seções numeradas */
.cuwp-x-sec { display: flex; align-items: center; gap: 9px; margin: 22px 0 12px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--cuwp-text-muted); }
.cuwp-x-sec span { width: 20px; height: 20px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; letter-spacing: 0; color: #fff; background: var(--cuwp-primary); }
.cuwp-x-sec::after { content: ""; flex: 1; height: 1px; background: var(--cuwp-border); }
.cuwp-x-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cuwp-x-cols-3 { grid-template-columns: minmax(0, 1.5fr) minmax(88px, .55fr) minmax(0, 1.1fr); }
.cuwp-x-cols-split { grid-template-columns: minmax(180px, 1fr) minmax(0, 2fr); }
.cuwp-x-hint { display: block; margin: 6px 0 0; font-size: 12px; line-height: 1.5; color: var(--cuwp-text-muted); }

/* Senha com mostrar/ocultar */
.cuwp-x-pass { position: relative; }
.cuwp-x-pass .cuwp-input { padding-right: 84px; }
.cuwp-x-pass-btn { position: absolute; top: 5px; right: 5px; height: 30px; padding: 0 11px; border: 0; border-radius: 8px; background: var(--cuwp-primary-light); color: var(--x-accent-tx); font: inherit; font-size: 12px; font-weight: 700; }
.cuwp-x-pass-btn:hover:not(:disabled) { filter: brightness(.96); }
.cuwp-x-pass-btn:focus-visible { outline: 2px solid var(--cuwp-primary); }
.cuwp-x-pass-btn:disabled { opacity: .5; cursor: not-allowed; }

.cuwp-x-foot { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--cuwp-border); }
.cuwp-x-help { margin: 0 0 14px; font-size: 13px; line-height: 1.65; color: var(--cuwp-text); }
.cuwp-x-secure { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: var(--x-ok-bg); color: var(--cuwp-text); font-size: 12.5px; line-height: 1.55; }
.cuwp-x-secure svg { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; color: var(--x-ok-tx); }
.cuwp-x-secure code { font-size: 11.5px; padding: 1px 6px; border-radius: 6px; background: var(--cuwp-surface-2); }

/* Dias do aviso */
.cuwp-x-days { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cuwp-x-day { position: relative; display: block; cursor: pointer; margin: 0 !important; }
.cuwp-x-day input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.cuwp-x-day-in { position: relative; display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border-radius: 14px; border: 1.5px solid var(--cuwp-border); background: var(--cuwp-surface); transition: border-color .15s, background .15s, box-shadow .15s; }
.cuwp-x-day:hover .cuwp-x-day-in { border-color: var(--cuwp-primary); }
.cuwp-x-day input:focus-visible + .cuwp-x-day-in { outline: 3px solid var(--cuwp-primary); outline-offset: 2px; }
.cuwp-x-day input:checked + .cuwp-x-day-in { border-color: var(--cuwp-primary); background: var(--cuwp-primary-light); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cuwp-primary) 14%, transparent); }
.cuwp-x-day-tag { align-self: flex-start; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 800; color: var(--cuwp-text-muted); background: var(--cuwp-surface-2); border: 1px solid var(--cuwp-border); }
.cuwp-x-day input:checked + .cuwp-x-day-in .cuwp-x-day-tag { color: #fff; background: var(--cuwp-primary); border-color: var(--cuwp-primary); }
.cuwp-x-day-in strong { margin-top: 6px; font-size: 14px; font-weight: 800; color: var(--cuwp-text); }
.cuwp-x-day-in em { font-style: normal; font-size: 12px; color: var(--cuwp-text-muted); }
.cuwp-x-day-check { position: absolute; top: 12px; right: 12px; width: 20px; height: 20px; border-radius: 50%; display: none; align-items: center; justify-content: center; background: var(--cuwp-primary); color: #fff; }
.cuwp-x-day-check svg { width: 12px; height: 12px; }
.cuwp-x-day input:checked + .cuwp-x-day-in .cuwp-x-day-check { display: inline-flex; }

.cuwp-x-card.is-disabled .cuwp-x-rem-body { opacity: .5; pointer-events: none; filter: grayscale(.4); }

@media (max-width: 1050px) { .cuwp-x-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
	.cuwp-x-card { padding: 16px; }
	.cuwp-x-cols, .cuwp-x-cols-3, .cuwp-x-cols-split, .cuwp-x-days { grid-template-columns: minmax(0, 1fr); }
	.cuwp-x-head { flex-wrap: wrap; }
	.cuwp-x-head-txt { flex-basis: calc(100% - 60px); }
}
@media (prefers-reduced-motion: reduce) { .cuwp-x-prov, .cuwp-x-day-in, .cuwp-note, .cuwp-nf { transition: none !important; } }

/* ---- Anotações ------------------------------------------------------------ */
.cuwp-notes-searchbox { position: relative; }
.cuwp-notes-searchbox svg { position: absolute; left: 12px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); color: var(--cuwp-text-muted); pointer-events: none; }
.cuwp-notes-searchbox .cuwp-notes-search { padding-left: 36px; min-width: 260px; border-radius: 999px; }
@media (max-width: 640px) { .cuwp-notes-searchbox, .cuwp-notes-searchbox .cuwp-notes-search { width: 100%; min-width: 0; } }

.cuwp-notes-composer-collapsed { border-radius: 16px; padding: 15px 18px; font-weight: 600; transition: border-color .15s, box-shadow .15s; }
.cuwp-notes-composer-collapsed svg { width: 20px; height: 20px; }
.cuwp-notes-composer-collapsed:hover { box-shadow: var(--cuwp-shadow-lg); }
.cuwp-notes-composer { padding: 0; background: none; border: 0; box-shadow: none; }

.cuwp-nf { border-radius: 18px; background: var(--n-bg); border: 1px solid var(--n-bd); color: var(--n-tx); overflow: hidden; box-shadow: var(--cuwp-shadow-lg); transition: background .2s, border-color .2s; }
.cuwp-nf .cuwp-nf-title, .cuwp-nf .cuwp-nf-text {
	display: block; width: 100%; margin: 0; border: 0 !important; border-radius: 0 !important; background: transparent !important;
	box-shadow: none !important; outline: none !important; color: var(--n-tx) !important; font-family: inherit; height: auto;
}
.cuwp-nf .cuwp-nf-title { padding: 18px 20px 4px; font-size: 18px; font-weight: 800; line-height: 1.3; }
.cuwp-nf .cuwp-nf-text { padding: 6px 20px 14px; font-size: 14.5px; line-height: 1.6; min-height: 120px; resize: vertical; }
.cuwp-nf .cuwp-nf-title::placeholder, .cuwp-nf .cuwp-nf-text::placeholder { color: var(--n-mute); opacity: .85; }
.cuwp-nf-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 10px 14px; border-top: 1px solid var(--n-bd); background: rgba(0,0,0,.035); }
[data-theme="dark"] .cuwp-nf-bar { background: rgba(255,255,255,.04); }
.cuwp-nf-swatches { padding: 0 4px 0 0; gap: 7px; }
.cuwp-nf-sep { width: 1px; height: 22px; margin: 0 6px; background: var(--n-bd); }
.cuwp-nf-tool { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; margin: 0; border: 1px solid transparent; border-radius: 999px; background: transparent; color: var(--n-mute); font: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.cuwp-nf-tool svg { width: 16px; height: 16px; flex: 0 0 auto; }
.cuwp-nf-tool:hover { background: rgba(0,0,0,.07); color: var(--n-tx); }
[data-theme="dark"] .cuwp-nf-tool:hover { background: rgba(255,255,255,.1); }
.cuwp-nf-tool:focus-visible, .cuwp-nf-remind:focus-within { outline: 2px solid var(--cuwp-primary); outline-offset: 1px; }
.cuwp-nf-tool.on { color: var(--n-tx); background: rgba(0,0,0,.1); border-color: var(--n-bd); }
[data-theme="dark"] .cuwp-nf-tool.on { background: rgba(255,255,255,.14); }
.cuwp-nf-remind input { border: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; color: var(--n-tx) !important; font: inherit; font-size: 12.5px; height: 24px; padding: 0; width: 0; min-height: 0; opacity: 0; }
.cuwp-nf-remind.on input, .cuwp-nf-remind:focus-within input { width: 168px; opacity: 1; }
[data-theme="dark"] .cuwp-nf-remind input { color-scheme: dark; }
.cuwp-nf-remind:not(.on):not(:focus-within) input { position: absolute; width: 1px; }
.cuwp-nf-clear { display: none; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; background: rgba(0,0,0,.12); color: var(--n-tx); font-size: 14px; line-height: 1; cursor: pointer; }
.cuwp-nf-remind.on .cuwp-nf-clear { display: inline-flex; align-items: center; justify-content: center; }
.cuwp-nf-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 12px; }
.cuwp-nf .cuwp-note-swatch { width: 24px; height: 24px; }
.cuwp-nf .cuwp-note-swatch.sel { outline-color: var(--n-tx); }

/* Cartões */
.cuwp-notes-grid { columns: 3 270px; column-gap: 16px; }
.cuwp-note { padding: 18px 18px 8px; border-radius: 18px; margin-bottom: 16px; box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 6px 16px -8px rgba(0,0,0,.18); transition: transform .15s ease, box-shadow .15s ease; }
.cuwp-note:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(0,0,0,.07), 0 14px 26px -10px rgba(0,0,0,.28); }
.cuwp-note.is-pinned { border-width: 1px; box-shadow: inset 0 3px 0 var(--n-tx), 0 6px 16px -8px rgba(0,0,0,.18); }
.cuwp-note-title { font-size: 15.5px; margin-bottom: 8px; }
.cuwp-note-body { font-size: 14px; line-height: 1.6; }
.cuwp-note-remind { margin-top: 12px; padding: 4px 11px; }
.cuwp-note-foot { opacity: .35; border-top: 1px solid var(--n-bd); margin: 12px -8px 0; padding-top: 6px; }
.cuwp-note:hover .cuwp-note-foot, .cuwp-note:focus-within .cuwp-note-foot { opacity: 1; }
.cuwp-notes-label { display: flex; align-items: center; gap: 10px; }
.cuwp-notes-label::after { content: ""; flex: 1; height: 1px; background: var(--cuwp-border); }
@media (max-width: 640px) { .cuwp-notes-grid { columns: 1; } .cuwp-nf-tool span { display: none; } .cuwp-nf-remind.on span, .cuwp-nf-remind:focus-within span { display: none; } }

/* Anotações: grade de alturas livres, ações legíveis e links com contraste */
.cuwp-notes-grid { columns: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; align-items: start; }
.cuwp-notes-grid .cuwp-note { display: block; margin: 0; }
.cuwp-note-foot { opacity: .72; }
#cuwp-root .cuwp-note-body a, .cuwp-note-body a { color: inherit; text-decoration: underline; }
@media (max-width: 640px) { .cuwp-notes-grid { grid-template-columns: minmax(0, 1fr); } }

/* =============================================================================
   7.0.0 — Diálogos de decisão, senha, tela de IA.
   ============================================================================= */
#cuwp-root, body { --x-warn-bg: rgba(245,158,11,.16); --x-warn-tx: #9a5b00; }
#cuwp-root[data-theme="dark"], body[data-theme="dark"] { --x-warn-bg: rgba(251,191,36,.16); --x-warn-tx: #fbbf24; }

/* Diálogo compacto ("Salvar antes de sair?", "Confirmar ação") */
.cuwp-modal.cuwp-dialog { width: 540px; border-radius: 20px; }
.cuwp-dialog .cuwp-modal-header { display: none; }
.cuwp-dialog .cuwp-modal-body { padding: 30px 28px 8px; }
.cuwp-dlg { display: flex; flex-direction: column; align-items: center; text-align: center; }
.cuwp-dlg-ico { width: 56px; height: 56px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.cuwp-dlg-ico svg { width: 28px; height: 28px; }
.cuwp-dlg-ico.warn { background: var(--x-warn-bg); color: var(--x-warn-tx); }
.cuwp-dlg-ico.danger { background: var(--x-off-bg); color: var(--x-off-tx); }
.cuwp-dlg-title { margin: 0 0 8px; font-size: 19px; font-weight: 800; line-height: 1.3; }
.cuwp-dlg-text { margin: 0; font-size: 14px; line-height: 1.6; color: var(--cuwp-text-muted); }
.cuwp-dialog .cuwp-modal-footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding: 22px 24px 26px; border-top: 0; background: transparent; }
.cuwp-dialog .cuwp-modal-footer .cuwp-btn { height: 40px; }
.cuwp-btn-danger-ghost { margin-right: auto; background: transparent !important; border-color: transparent !important; color: var(--x-off-tx) !important; font-weight: 700; }
.cuwp-btn-danger-ghost:hover { background: var(--x-off-bg) !important; }
.cuwp-btn-danger-solid { background: #c0392b !important; border-color: #c0392b !important; color: #fff !important; font-weight: 700; }
.cuwp-btn-danger-solid:hover { background: #a93226 !important; }
@media (max-width: 520px) {
	.cuwp-dialog .cuwp-modal-footer { flex-direction: column-reverse; }
	.cuwp-dialog .cuwp-modal-footer .cuwp-btn { width: 100%; margin: 0; }
}

/* Estados extra das etiquetas */
.cuwp-x-tag.off { color: var(--x-off-tx); background: var(--x-off-bg); }

/* Senha */
.cuwp-pwd-cols { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.cuwp-pwd-meter { display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 6px; align-items: center; margin-top: 10px; }
.cuwp-pwd-meter span { height: 6px; border-radius: 99px; background: var(--cuwp-border); transition: background .2s; }
.cuwp-pwd-meter em { margin-left: 6px; font-style: normal; font-size: 12px; font-weight: 700; color: var(--cuwp-text-muted); }
.cuwp-pwd-meter[data-level="1"] span:nth-child(-n+1) { background: #d64545; }
.cuwp-pwd-meter[data-level="2"] span:nth-child(-n+2) { background: #e08a00; }
.cuwp-pwd-meter[data-level="3"] span:nth-child(-n+3) { background: #2f9e57; }
.cuwp-pwd-meter[data-level="4"] span:nth-child(-n+4) { background: #1a7f45; }
.cuwp-pwd-good { color: var(--x-ok-tx) !important; font-weight: 700; }
.cuwp-pwd-bad { color: var(--x-off-tx) !important; font-weight: 700; }
.cuwp-pwd-rules { padding: 18px 20px; border-radius: 14px; background: var(--cuwp-surface-2); border: 1px solid var(--cuwp-border); }
.cuwp-pwd-rules-t { margin-bottom: 10px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--cuwp-text-muted); }
.cuwp-pwd-list, .cuwp-pwd-tips { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cuwp-pwd-list li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 600; color: var(--cuwp-text); }
.cuwp-pwd-list li i { flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--cuwp-border); background: transparent; position: relative; transition: background .15s, border-color .15s; }
.cuwp-pwd-list li.ok i { background: #1a7f45; border-color: #1a7f45; }
.cuwp-pwd-list li.ok i::after { content: ""; position: absolute; left: 5px; top: 1.5px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2.4px 2.4px 0; transform: rotate(45deg); }
.cuwp-pwd-list code { font-size: 12px; padding: 1px 6px; border-radius: 6px; background: var(--cuwp-surface); }
.cuwp-pwd-tips li { position: relative; padding-left: 16px; font-size: 12.5px; line-height: 1.55; color: var(--cuwp-text-muted); }
.cuwp-pwd-tips li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 5px; height: 5px; border-radius: 50%; background: var(--cuwp-primary); }
@media (max-width: 860px) { .cuwp-pwd-cols { grid-template-columns: minmax(0, 1fr); gap: 20px; } }

/* IA */
.cuwp-x-prov-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 18px 0; }
.cuwp-x-prov-2 .cuwp-x-prov { flex-direction: row; align-items: center; min-height: 76px; padding: 14px 16px; gap: 14px; flex-wrap: wrap; }
.cuwp-x-prov-2 .cuwp-x-prov-ico { width: 40px; height: 40px; border-radius: 12px; }
.cuwp-x-prov-2 .cuwp-x-prov-ico svg { width: 20px; height: 20px; }
.cuwp-x-prov-2 .cuwp-x-prov-name { font-size: 14.5px; font-weight: 800; }
.cuwp-x-prov-name small { display: block; margin-top: 2px; font-size: 12px; font-weight: 600; color: var(--cuwp-text-muted); }
.cuwp-x-prov-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.cuwp-x-prov-chips .cuwp-x-tag { margin: 0; }
.cuwp-x-grid-even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1050px) { .cuwp-x-grid-even { grid-template-columns: minmax(0, 1fr); } .cuwp-x-prov-2 { grid-template-columns: minmax(0, 1fr); } }
.cuwp-x-live { display: flex; gap: 10px; align-items: flex-start; margin: -4px 0 18px; padding: 11px 14px; border-radius: 12px; font-size: 13px; line-height: 1.5; background: var(--cuwp-primary-light); border-left: 4px solid var(--cuwp-primary); }
.cuwp-x-live svg { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; color: var(--x-accent-tx); }
.cuwp-x-card .cuwp-x-secure { margin: 4px 0 4px; }

.cuwp-x-steps { list-style: none; margin: 0 0 20px; padding: 0; counter-reset: x-step; }
.cuwp-x-steps li { position: relative; counter-increment: x-step; padding: 0 0 18px 46px; font-size: 13.5px; line-height: 1.6; color: var(--cuwp-text); }
.cuwp-x-steps li:last-child { padding-bottom: 0; }
.cuwp-x-steps li::before { content: counter(x-step); position: absolute; left: 0; top: -2px; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #fff; background: var(--cuwp-primary); }
.cuwp-x-steps li::after { content: ""; position: absolute; left: 14px; top: 32px; bottom: 2px; width: 2px; background: var(--cuwp-border); }
.cuwp-x-steps li:last-child::after { display: none; }
.cuwp-x-steps a { font-weight: 700; color: var(--x-accent-tx); text-decoration: underline; text-underline-offset: 2px; }
.cuwp-x-steps code { font-size: 12px; padding: 1px 6px; border-radius: 6px; background: var(--cuwp-primary-light); color: var(--x-accent-tx); }
.cuwp-x-tips { padding: 14px 16px; border-radius: 14px; background: var(--cuwp-surface-2); border: 1px solid var(--cuwp-border); }
.cuwp-x-tips-t { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 13px; font-weight: 800; }
.cuwp-x-tips-t svg { width: 17px; height: 17px; color: var(--x-warn-tx); }
.cuwp-x-tips ul { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; }
.cuwp-x-tips li { font-size: 12.5px; line-height: 1.55; color: var(--cuwp-text-muted); }
.cuwp-x-tips a { font-weight: 700; color: var(--x-accent-tx); }
@media (min-width: 521px) { .cuwp-modal.cuwp-dialog .cuwp-modal-footer { flex-wrap: nowrap; } .cuwp-modal.cuwp-dialog .cuwp-modal-footer .cuwp-btn { white-space: nowrap; flex: 0 0 auto; } }

/* =============================================================================
   7.0.0 — Botão de ações da linha de projeto e cartões "O que o app reúne".
   ============================================================================= */
.cuwp-row-menu {
	display: inline-flex; align-items: center; justify-content: center; width: 38px !important; height: 38px !important; min-width: 38px;
	padding: 0 !important; margin: 0 !important; border-radius: 12px; border: 1px solid var(--cuwp-border); background: var(--cuwp-surface);
	color: var(--cuwp-text-muted); cursor: pointer; transition: background .15s, color .15s, border-color .15s, box-shadow .15s;
}
.cuwp-row-menu svg { width: 20px !important; height: 20px !important; display: block; }
.cuwp-row-menu:hover, .cuwp-row-menu[aria-expanded="true"] { background: var(--cuwp-primary-light); color: var(--x-accent-tx, var(--cuwp-primary)); border-color: var(--cuwp-primary); }
.cuwp-row-menu:focus-visible { outline: 3px solid var(--cuwp-primary); outline-offset: 2px; }
.cuwp-dropdown .cuwp-dd-row { gap: 10px; padding: 9px 12px; border-radius: 8px; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.cuwp-dropdown .cuwp-dd-row svg { width: 16px !important; height: 16px !important; flex: 0 0 auto; color: var(--cuwp-text-muted); }
.cuwp-dropdown .cuwp-dd-row:hover svg, .cuwp-dropdown .cuwp-dd-row:focus-visible svg { color: var(--cuwp-text); }
.cuwp-dropdown .cuwp-dd-row:focus-visible { outline: 2px solid var(--cuwp-primary); outline-offset: -2px; background: var(--cuwp-surface-2); }
.cuwp-dd-sep { height: 1px; margin: 5px 6px; background: var(--cuwp-border); }
.cuwp-dropdown .cuwp-dd-danger, .cuwp-dropdown .cuwp-dd-danger svg { color: #c0392b; }
#cuwp-root[data-theme="dark"] .cuwp-dd-danger, #cuwp-root[data-theme="dark"] .cuwp-dd-danger svg, body[data-theme="dark"] .cuwp-dd-danger, body[data-theme="dark"] .cuwp-dd-danger svg { color: #ff9d90; }
.cuwp-dropdown .cuwp-dd-danger:hover { background: rgba(231,76,60,.1); }

.cuwp-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
@media (max-width: 1000px) { .cuwp-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cuwp-feature-grid { grid-template-columns: minmax(0, 1fr); } }
.cuwp-feature { position: relative; display: flex; flex-direction: column; padding: 20px; border-radius: 18px; background: var(--cuwp-surface); overflow: hidden; }
.cuwp-feature::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--cuwp-primary); opacity: 0; transition: opacity .15s; }
.cuwp-feature:hover::before { opacity: 1; }
.cuwp-feature-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.cuwp-feature-icon { width: 44px; height: 44px; border-radius: 14px; margin: 0; }
.cuwp-feature-icon svg { width: 22px; height: 22px; }
.cuwp-feature-new { padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #fff; background: var(--cuwp-primary); }
.cuwp-feature .cuwp-feature-title { margin: 0 0 6px; font-size: 15px; font-weight: 800; line-height: 1.3; }
.cuwp-feature p { font-size: 13px; line-height: 1.6; }

/* Botão de ações da linha: sólido, com texto, bem visível (7.0.0) */
.cuwp-row-menu { width: auto !important; min-width: 0; height: 38px !important; padding: 0 14px 0 12px !important; gap: 8px; border-radius: 999px; border: 1.5px solid var(--cuwp-primary); background: var(--cuwp-primary-light); color: var(--x-accent-tx, var(--cuwp-primary)); font: inherit; font-size: 13px; font-weight: 800; white-space: nowrap; box-shadow: 0 1px 2px rgba(0,0,0,.08) !important; }
.cuwp-row-menu svg { width: 18px !important; height: 18px !important; }
.cuwp-row-menu:hover, .cuwp-row-menu:focus-visible { background: var(--cuwp-primary); color: #fff; border-color: var(--cuwp-primary); }
.cuwp-row-menu:active { transform: translateY(1px); }

/* =============================================================================
   7.0.0 — Revisão mobile
   ============================================================================= */
.cuwp-pwd-list code { display: inline-block; padding: 0 5px; margin: 0 1px; letter-spacing: 0; word-spacing: 0; line-height: 1.5; }
.cuwp-sidebar-brand-logo { align-items: center; gap: 8px; }
@media (max-width: 640px) {
	/* Cartões de tarefa/linha: título em destaque e sem "buraco" na última linha */
	.cuwp-ui-stack > tbody > tr > td:first-child { font-size: 14.5px; font-weight: 800; }
	.cuwp-ui-stack.cuwp-ui-stack-2 > tbody > tr > td:last-child:nth-child(even) { grid-column: 1 / -1; border-right: 0 !important; }
	/* Projetos: Equipe | Tarefas, Progresso inteiro, Status | Ações */
	.cuwp-proj-stack > tbody > tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cuwp-proj-stack > tbody > tr > td:first-child { grid-column: 1 / -1; background: var(--cuwp-surface-2); }
	.cuwp-proj-stack > tbody > tr > td { text-align: left !important; width: auto !important; }
	.cuwp-proj-stack > tbody > tr > td[data-label="Equipe"] { order: 1; border-right: 1px solid var(--cuwp-border) !important; }
	.cuwp-proj-stack > tbody > tr > td[data-label="Tarefas"] { order: 2; }
	.cuwp-proj-stack > tbody > tr > td[data-label="Progresso"] { order: 3; grid-column: 1 / -1; }
	.cuwp-proj-stack > tbody > tr > td[data-label="Status"] { order: 4; border-right: 1px solid var(--cuwp-border) !important; }
	.cuwp-proj-stack > tbody > tr > td[data-label="Ações"] { order: 5; }
	.cuwp-proj-stack .cuwp-flex { justify-content: flex-start !important; }
	.cuwp-proj-stack .cuwp-row-menu { height: 36px !important; }
}

/* ==== Calendários no mobile (7.0.0) ====
   Mês: células quadradas com pontinhos + lista do dia tocado abaixo.
   Semana/Dia: uma coluna. Ano: 1–2 meses por linha. */
.cuwp-cal-dots, .cuwp-cal-daylist { display: none; }
.cuwp-cal-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--cuwp-primary); display: block; }
@media (max-width: 640px) {
	#cuwp-root .cuwp-calendar-grid { border-radius: 12px; }
	#cuwp-root .cuwp-calendar-head { padding: 6px 0; font-size: 10.5px; }
	#cuwp-root .cuwp-calendar-daycell {
		min-height: 0; aspect-ratio: 1 / 1; padding: 4px 2px; cursor: pointer;
		display: flex; flex-direction: column; align-items: center; gap: 4px; overflow: hidden;
	}
	#cuwp-root .cuwp-calendar-daycell > .cuwp-calendar-task,
	#cuwp-root .cuwp-calendar-daycell > .cuwp-event-chip,
	#cuwp-root .cuwp-calendar-daycell > .cuwp-calendar-more { display: none; }
	#cuwp-root .cuwp-calendar-daynum {
		margin: 0; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center;
		font-size: 13px; color: var(--cuwp-text);
	}
	#cuwp-root .cuwp-calendar-daycell.today .cuwp-calendar-daynum { background: var(--cuwp-primary); color: #fff; }
	#cuwp-root .cuwp-calendar-daycell.is-selected { box-shadow: inset 0 0 0 2px var(--cuwp-primary); background: var(--cuwp-primary-light); }
	#cuwp-root .cuwp-cal-dots { display: flex; gap: 3px; justify-content: center; }
	#cuwp-root .cuwp-cal-daylist {
		display: block; margin-top: 12px; padding: 12px; background: var(--cuwp-surface);
		border: 1px solid var(--cuwp-border); border-radius: 12px;
	}
	#cuwp-root .cuwp-cal-daylist-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; font-size: 14px; }
	#cuwp-root .cuwp-cal-daylist-head strong { display: block; }
	#cuwp-root .cuwp-cal-daylist-head strong::first-letter { text-transform: uppercase; }
	#cuwp-root .cuwp-cal-daylist .cuwp-calendar-task, #cuwp-root .cuwp-cal-daylist .cuwp-event-chip { white-space: normal; font-size: 13px; padding: 8px 10px; }
	#cuwp-root .cuwp-agenda-cols { grid-template-columns: 1fr !important; }
	#cuwp-root .cuwp-agenda-cols .cuwp-card { min-height: 0 !important; }
	#cuwp-root .cuwp-year-grid-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	#cuwp-root .cuwp-year-month { padding: 8px; }
}
@media (max-width: 380px) { #cuwp-root .cuwp-year-grid-wrap { grid-template-columns: 1fr; } }

/* ==== Ajustes portados da 5.19.x: contraste e campos obrigatórios ==== */
/* Relatório Concluídas da equipe: cartões */
.cuwp-done-person { display: inline-flex; align-items: center; gap: 6px; margin: 2px 8px 2px 0; font-size: 12.5px; color: var(--cuwp-text); white-space: nowrap; }
.cuwp-done-late, .cuwp-done-ontime { display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.cuwp-done-late { color: #b3261e; background: color-mix(in srgb, #d63638 12%, var(--cuwp-surface)); border: 1px solid color-mix(in srgb, #d63638 40%, transparent); }
.cuwp-done-ontime { color: var(--cuwp-success, #1a8f4c); background: color-mix(in srgb, var(--cuwp-success, #1a8f4c) 12%, var(--cuwp-surface)); border: 1px solid color-mix(in srgb, var(--cuwp-success, #1a8f4c) 40%, transparent); }
#cuwp-root[data-theme="dark"] .cuwp-done-late, body[data-theme="dark"] .cuwp-done-late { color: #ff9a94; }
.cuwp-done-list { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
.cuwp-done-card { border: 1px solid var(--cuwp-border); border-left: 4px solid var(--cuwp-success, #1a8f4c); border-radius: 14px; background: var(--cuwp-surface); overflow: hidden; }
.cuwp-done-card.is-late { border-left-color: var(--cuwp-danger); }
.cuwp-done-card:hover { box-shadow: var(--cuwp-shadow-lg); }
.cuwp-done-head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; flex-wrap: wrap; }
.cuwp-done-tick { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--cuwp-success, #1a8f4c); background: color-mix(in srgb, var(--cuwp-success, #1a8f4c) 14%, var(--cuwp-surface)); }
.cuwp-done-card.is-late .cuwp-done-tick { color: var(--cuwp-danger); background: color-mix(in srgb, var(--cuwp-danger) 12%, var(--cuwp-surface)); }
.cuwp-done-tick svg { width: 18px; height: 18px; }
.cuwp-done-title { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.cuwp-done-title strong { font-size: 14.5px; line-height: 1.35; color: var(--cuwp-text); overflow-wrap: anywhere; }
.cuwp-done-title span { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--cuwp-text-muted); }
.cuwp-done-title span svg { width: 13px; height: 13px; flex: 0 0 13px; }
.cuwp-done-tags { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.cuwp-done-late, .cuwp-done-ontime, .cuwp-done-nodue { display: inline-flex; align-items: center; gap: 5px; }
.cuwp-done-late svg, .cuwp-done-ontime svg { width: 13px; height: 13px; }
.cuwp-done-nodue { font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; color: var(--cuwp-text-muted); background: var(--cuwp-surface-2); border: 1px solid var(--cuwp-border); }
.cuwp-done-meta { display: grid; grid-template-columns: 130px 110px minmax(0, 1fr) minmax(0, 1fr); gap: 14px 18px; padding: 12px 16px 14px; background: var(--cuwp-surface-2); border-top: 1px solid var(--cuwp-border); }
.cuwp-done-meta > div { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.cuwp-done-meta label { font-size: 10.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--cuwp-text-muted); margin: 0; }
.cuwp-done-meta > div > strong { font-size: 13.5px; color: var(--cuwp-text); }
.cuwp-done-people-list { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cuwp-done-people-list .cuwp-done-person { margin: 0; white-space: nowrap; min-width: 0; }
.cuwp-done-people-list .cuwp-done-person span { overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
.cuwp-done-more { align-self: flex-start; font-size: 11.5px; font-weight: 700; padding: 1px 8px; border-radius: 999px; color: var(--cuwp-text-muted); background: var(--cuwp-surface); border: 1px solid var(--cuwp-border); }
@media (max-width: 900px) { .cuwp-done-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cuwp-done-tags { margin-left: 0; } }
@media (max-width: 520px) { .cuwp-done-meta { grid-template-columns: 1fr; } .cuwp-done-head { padding: 12px; } }
.cuwp-done-people-list { flex-direction: row; flex-wrap: wrap; gap: 4px 14px; align-items: center; }
.cuwp-done-people-list .cuwp-done-person { max-width: 100%; }
.cuwp-done-more { align-self: center; }

/* 5.19.33 — cores escuras de status (ex.: o marrom de "Em Aberto") ficavam quase invisíveis
   no tema escuro: o texto do selo e o contador do Kanban são clareados só no escuro. */
#cuwp-root[data-theme="dark"] .cuwp-status-pill,
body[data-theme="dark"] .cuwp-status-pill { color: color-mix(in srgb, var(--sc, currentColor) 55%, #ffffff) !important; }
#cuwp-root[data-theme="dark"] .cuwp-kanban-col-count,
body[data-theme="dark"] .cuwp-kanban-col-count { color: color-mix(in srgb, var(--sc, var(--cuwp-primary)) 55%, #ffffff); }

/* 5.19.38 — campos obrigatórios ao criar tarefa */
.cuwp-req { color: var(--cuwp-danger); font-weight: 800; margin-left: 2px; }
.cuwp-field.is-invalid .cuwp-input, .cuwp-sidebar-field.is-invalid .cuwp-input { border-color: var(--cuwp-danger) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--cuwp-danger) 18%, transparent) !important; }
.cuwp-sidebar-field.is-invalid { border-radius: 10px; outline: 2px solid var(--cuwp-danger); outline-offset: 4px; background: color-mix(in srgb, var(--cuwp-danger) 6%, transparent); }
.cuwp-field.is-invalid > label, .cuwp-sidebar-field.is-invalid .cuwp-sidebar-field-label { color: var(--cuwp-danger); }

/* 5.19.44 — contraste AA (revisão geral) */
.cuwp-priority-high { color: #8A5300; }
.cuwp-priority-normal { color: #1F5FAE; }
.cuwp-done-ontime { color: #11693A; }
#cuwp-root[data-theme="dark"] .cuwp-priority-high, body[data-theme="dark"] .cuwp-priority-high { color: #FFC266; }
#cuwp-root[data-theme="dark"] .cuwp-priority-normal, body[data-theme="dark"] .cuwp-priority-normal { color: #8DBDF5; }
#cuwp-root[data-theme="dark"] .cuwp-done-ontime, body[data-theme="dark"] .cuwp-done-ontime { color: #6EE7A0; }

/* =========================================================================
   5.19.42 — Configurações: Descrição dos relatórios e Cadastro de usuários
   ========================================================================= */

/* ---- Descrição dos relatórios ---- */
.cuwp-rd { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 18px; align-items: start; }
.cuwp-rd-nav { display: flex; flex-direction: column; gap: 6px; position: sticky; top: 12px; padding: 8px; border: 1px solid var(--cuwp-border); border-radius: 16px; background: var(--cuwp-surface); box-shadow: var(--cuwp-shadow); }
.cuwp-rd-tab { display: flex !important; align-items: center; gap: 12px; width: 100%; padding: 10px 12px !important; margin: 0; text-align: left; cursor: pointer;
	background: transparent !important; border: 1px solid transparent !important; border-radius: 12px !important; box-shadow: none !important; color: var(--cuwp-text) !important; font: inherit; }
.cuwp-rd-tab:hover { background: var(--cuwp-surface-2) !important; }
.cuwp-rd-tab.active { background: color-mix(in srgb, var(--cuwp-primary) 12%, var(--cuwp-surface)) !important; border-color: color-mix(in srgb, var(--cuwp-primary) 45%, transparent) !important; }
.cuwp-rd-tab:focus-visible { outline: 2px solid var(--cuwp-primary); outline-offset: 1px; }
.cuwp-rd-tab-ico { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; color: var(--cuwp-primary); background: var(--cuwp-primary-light); }
.cuwp-rd-tab.active .cuwp-rd-tab-ico { color: #fff; background: var(--cuwp-primary); }
.cuwp-rd-tab-ico svg { width: 18px; height: 18px; }
.cuwp-rd-tab-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.cuwp-rd-tab-txt strong { font-size: 13.5px; color: var(--cuwp-text); }
.cuwp-rd-tab-txt small { font-size: 11.5px; color: var(--cuwp-text-muted); }
.cuwp-rd-panel[hidden] { display: none; }
.cuwp-rd-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.cuwp-rd-head-ico { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, var(--cuwp-primary), var(--cuwp-secondary, var(--cuwp-primary))); }
.cuwp-rd-head-ico svg { width: 22px; height: 22px; }
.cuwp-rd-head h3 { margin: 0 0 2px; font-size: 16px; color: var(--cuwp-text); }
.cuwp-rd-head p { margin: 0; font-size: 12.5px; color: var(--cuwp-text-muted); }
.cuwp-rd-teams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cuwp-rd-team { border: 1px solid var(--cuwp-border); border-radius: 14px; padding: 12px; background: var(--cuwp-surface-2); transition: border-color .15s ease; }
.cuwp-rd-team:focus-within { border-color: var(--cuwp-primary); }
.cuwp-rd-team-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.cuwp-rd-team-av { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #fff; background: var(--cuwp-primary); }
.cuwp-rd-team-head label { flex: 1; min-width: 0; margin: 0; font-size: 13.5px; font-weight: 700; color: var(--cuwp-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cuwp-rd-count { font-size: 11.5px; color: var(--cuwp-text-muted); font-variant-numeric: tabular-nums; }
.cuwp-rd-count b { font-weight: 700; }
.cuwp-rd-team .cuwp-textarea { width: 100%; box-sizing: border-box; min-height: 120px; resize: vertical; background: var(--cuwp-surface); }
.cuwp-rd-savebar { position: sticky; bottom: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding: 12px 16px;
	border: 1px solid var(--cuwp-border); border-radius: 14px; background: var(--cuwp-surface); box-shadow: var(--cuwp-shadow-lg); }
.cuwp-rd-state { font-size: 13px; color: var(--cuwp-text-muted); }
.cuwp-rd-state.is-dirty { color: var(--cuwp-text); font-weight: 700; }
.cuwp-rd-state.is-dirty::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #e08a00; margin-right: 8px; }
#cuwp-root[data-theme="dark"] .cuwp-rd-tab-ico, body[data-theme="dark"] .cuwp-rd-tab-ico { color: var(--cuwp-on-dark); }
#cuwp-root[data-theme="dark"] .cuwp-rd-tab.active .cuwp-rd-tab-ico, body[data-theme="dark"] .cuwp-rd-tab.active .cuwp-rd-tab-ico { color: #fff; }
@media (max-width: 1100px) { .cuwp-rd-teams { grid-template-columns: 1fr; } }
@media (max-width: 900px) {
	.cuwp-rd { grid-template-columns: 1fr; }
	.cuwp-rd-nav { position: static; flex-direction: row; overflow-x: auto; gap: 6px; }
	.cuwp-rd-tab { width: auto; flex: 0 0 auto; }
	.cuwp-rd-tab-txt small { display: none; }
}

/* ---- Cadastro de usuários ---- */
.cuwp-usr-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.cuwp-usr-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; min-width: 0; }
.cuwp-usr-head h3 { margin: 0 0 2px; font-size: 16px; color: var(--cuwp-text); display: flex; align-items: center; gap: 8px; }
.cuwp-usr-head p { margin: 0; font-size: 12.5px; color: var(--cuwp-text-muted); }
.cuwp-usr-head-ico { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, var(--cuwp-primary), var(--cuwp-secondary, var(--cuwp-primary))); }
.cuwp-usr-head-ico svg { width: 21px; height: 21px; }
.cuwp-usr-count { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 22px; padding: 0 8px; border-radius: 999px; font-size: 12px; font-weight: 700; color: var(--cuwp-primary); background: var(--cuwp-primary-light); }
.cuwp-usr-photo { display: flex; align-items: center; gap: 14px; padding: 12px 14px; margin-bottom: 16px; border: 1px dashed var(--cuwp-border); border-radius: 14px; background: var(--cuwp-surface-2); }
.cuwp-usr-photo strong { display: block; font-size: 13.5px; color: var(--cuwp-text); }
.cuwp-usr-photo .cuwp-muted { font-size: 12.5px; }
.cuwp-usr-avatar { position: relative; flex: 0 0 auto; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
	background: var(--cuwp-surface); border: 2px solid var(--cuwp-border); transition: border-color .15s ease; }
.cuwp-usr-avatar:hover, .cuwp-usr-avatar:focus-within { border-color: var(--cuwp-primary); }
.cuwp-usr-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cuwp-usr-avatar img[hidden], .cuwp-usr-avatar-ph[hidden] { display: none; }
.cuwp-usr-avatar-ph { color: var(--cuwp-text-faint); display: inline-flex; }
.cuwp-usr-avatar-ph svg { width: 26px; height: 26px; }
.cuwp-usr-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.cuwp-usr-fields .cuwp-field { margin: 0; min-width: 0; }
.cuwp-usr-fields .cuwp-input, .cuwp-usr-fields .cuwp-select { width: 100%; box-sizing: border-box; }
.cuwp-usr-span { grid-column: 1 / -1; }
.cuwp-usr-pwdrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 5px; flex-wrap: wrap; }
.cuwp-usr-pwdrow .cuwp-pwd-meter-label { margin: 0; }
.cuwp-usr-gen { display: inline-flex !important; align-items: center; gap: 6px; padding: 5px 12px !important; border-radius: 999px !important; cursor: pointer; font-size: 12.5px; font-weight: 600;
	color: var(--cuwp-primary) !important; background: var(--cuwp-primary-light) !important; border: 1px solid transparent !important; box-shadow: none !important; }
.cuwp-usr-gen:hover { border-color: var(--cuwp-primary) !important; }
.cuwp-usr-gen svg { width: 14px !important; height: 14px !important; }
.cuwp-usr-submit { margin-top: 20px; display: inline-flex; align-items: center; gap: 8px; }
.cuwp-usr-submit svg { width: 16px !important; height: 16px !important; }
.cuwp-usr-side { display: grid; gap: 12px; }
.cuwp-usr-listhead { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 4px; }
.cuwp-usr-listhead .cuwp-usr-head { margin-bottom: 12px; }
.cuwp-usr-search { position: relative; flex: 0 1 300px; min-width: 200px; margin-bottom: 12px; }
.cuwp-usr-search > svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--cuwp-text-faint); pointer-events: none; }
.cuwp-usr-search .cuwp-input { width: 100%; box-sizing: border-box; padding-left: 36px !important; border-radius: 999px; }
.cuwp-usr-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cuwp-usr-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--cuwp-border); border-radius: 14px; background: var(--cuwp-surface); min-width: 0; transition: border-color .15s ease, box-shadow .15s ease; }
.cuwp-usr-row:hover { border-color: color-mix(in srgb, var(--cuwp-primary) 45%, transparent); box-shadow: var(--cuwp-shadow); }
.cuwp-usr-row[hidden] { display: none; }
.cuwp-usr-row img { flex: 0 0 auto; border-radius: 50%; }
.cuwp-usr-who { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.cuwp-usr-who strong { font-size: 13.5px; color: var(--cuwp-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cuwp-usr-who span { font-size: 12px; color: var(--cuwp-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cuwp-usr-you { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; font-size: 10.5px; font-weight: 700; letter-spacing: .03em; color: var(--cuwp-primary); background: var(--cuwp-primary-light); vertical-align: 1px; }
.cuwp-usr-del { flex: 0 0 auto; display: inline-flex !important; align-items: center; justify-content: center; width: 34px !important; height: 34px !important; padding: 0 !important; margin: 0; cursor: pointer;
	color: var(--cuwp-text-muted) !important; background: var(--cuwp-surface) !important; border: 1px solid var(--cuwp-border) !important; border-radius: 9px !important; box-shadow: none !important; }
.cuwp-usr-del svg { display: block !important; width: 17px !important; height: 17px !important; stroke: currentColor; fill: none; }
.cuwp-usr-del:hover, .cuwp-usr-del:focus-visible { color: var(--cuwp-danger) !important; border-color: color-mix(in srgb, var(--cuwp-danger) 55%, transparent) !important; background: color-mix(in srgb, var(--cuwp-danger) 10%, var(--cuwp-surface)) !important; }
.cuwp-usr-empty, .cuwp-usr-none { grid-column: 1 / -1; text-align: center; padding: 18px; color: var(--cuwp-text-muted); font-size: 13px; }
.cuwp-usr-none[hidden] { display: none; }
#cuwp-root[data-theme="dark"] .cuwp-usr-count, #cuwp-root[data-theme="dark"] .cuwp-usr-you, #cuwp-root[data-theme="dark"] .cuwp-usr-gen,
body[data-theme="dark"] .cuwp-usr-count, body[data-theme="dark"] .cuwp-usr-you, body[data-theme="dark"] .cuwp-usr-gen { color: var(--cuwp-on-dark) !important; }
@media (max-width: 1000px) { .cuwp-usr-grid { grid-template-columns: 1fr; } .cuwp-usr-list { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .cuwp-usr-fields { grid-template-columns: 1fr; } .cuwp-usr-photo { align-items: flex-start; } }
.cuwp-usr-perm > div { border-top: 0 !important; margin-top: 0 !important; padding-top: 0 !important; }

/* 5.19.43 — Descrição dos relatórios: um campo por linha; Salvar não fica sob o balão de chat */
.cuwp-rd-teams { grid-template-columns: 1fr; }
.cuwp-rd-team .cuwp-textarea { min-height: 110px; }
.cuwp-rd-savebar { padding-right: 96px; }

/* Cadastro de usuários: campo de senha, medidor e regras (escopado) */
.cuwp-usr-grid .cuwp-pwd-input { position: relative; }
.cuwp-usr-grid .cuwp-pwd-input .cuwp-input { padding-right: 84px !important; width: 100%; box-sizing: border-box; }
.cuwp-usr-grid .cuwp-pwd-eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0 !important; background: transparent !important; box-shadow: none !important;
	color: var(--cuwp-primary) !important; font-size: 12px; font-weight: 600; padding: 6px 8px; cursor: pointer; border-radius: 6px; }
.cuwp-usr-grid .cuwp-pwd-eye:hover { background: color-mix(in srgb, var(--cuwp-primary) 12%, transparent) !important; }
.cuwp-usr-grid .cuwp-pwd-meter { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin-top: 8px; }
.cuwp-usr-grid .cuwp-pwd-meter i { height: 5px; border-radius: 4px; background: var(--cuwp-border); display: block; }
.cuwp-usr-grid .cuwp-pwd-meter[data-level="1"] i:nth-child(-n+1) { background: var(--cuwp-danger, #d63638); }
.cuwp-usr-grid .cuwp-pwd-meter[data-level="2"] i:nth-child(-n+2) { background: #e08a00; }
.cuwp-usr-grid .cuwp-pwd-meter[data-level="3"] i:nth-child(-n+3) { background: #c9a400; }
.cuwp-usr-grid .cuwp-pwd-meter[data-level="4"] i { background: var(--cuwp-success, #1a8f4c); }
.cuwp-usr-grid .cuwp-pwd-meter-label { font-size: 12px; color: var(--cuwp-text-muted); margin-top: 5px; min-height: 16px; }
.cuwp-usr-grid .cuwp-pwd-box { border: 1px solid var(--cuwp-border); background: var(--cuwp-surface-2); border-radius: 12px; padding: 14px 16px; }
.cuwp-usr-grid .cuwp-pwd-box-title { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cuwp-text-faint); margin-bottom: 10px; }
.cuwp-usr-grid .cuwp-pwd-rules, .cuwp-usr-grid .cuwp-pwd-tips { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 13px; color: var(--cuwp-text); }
.cuwp-usr-grid .cuwp-pwd-rules li { display: flex; align-items: center; gap: 9px; }
.cuwp-usr-grid .cuwp-pwd-rules li > span { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--cuwp-border); flex-shrink: 0; position: relative; box-sizing: border-box; }
.cuwp-usr-grid .cuwp-pwd-rules li.ok > span { background: var(--cuwp-success, #1a8f4c); border-color: var(--cuwp-success, #1a8f4c); }
.cuwp-usr-grid .cuwp-pwd-rules li.ok > span::after { content: ""; position: absolute; left: 4px; top: 1px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.cuwp-usr-grid .cuwp-pwd-tips li { position: relative; padding-left: 16px; color: var(--cuwp-text-muted); }
.cuwp-usr-grid .cuwp-pwd-tips li::before { content: ""; position: absolute; left: 2px; top: 7px; width: 6px; height: 6px; border-radius: 50%; background: var(--cuwp-primary); }
#cuwp-root[data-theme="dark"] .cuwp-usr-grid .cuwp-pwd-eye, body[data-theme="dark"] .cuwp-usr-grid .cuwp-pwd-eye { color: var(--cuwp-on-dark) !important; }
.cuwp-usr-grid .cuwp-pwd-rules { padding: 0; border: 0; background: transparent; border-radius: 0; }
.cuwp-usr-grid .cuwp-pwd-rules li > span { position: relative; }

/* ==== Provedores de e-mail: cartões com marca, host e seleção clara ==== */
.cuwp-x-prov-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.cuwp-x-prov { --brand: var(--cuwp-primary); min-height: 108px; padding: 16px 14px 14px; gap: 14px; border-radius: 16px; border: 1.5px solid var(--cuwp-border); background: var(--cuwp-surface);
	box-shadow: var(--cuwp-shadow); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease; cursor: pointer; }
.cuwp-x-prov:hover { border-color: var(--brand); transform: translateY(-2px); box-shadow: var(--cuwp-shadow-lg); }
.cuwp-x-prov .cuwp-x-prov-ico { width: 40px; height: 40px; border-radius: 12px; font-size: 18px; color: #fff; background: var(--brand); box-shadow: 0 4px 10px color-mix(in srgb, var(--brand) 35%, transparent); }
.cuwp-x-prov .cuwp-x-prov-ico svg { width: 20px; height: 20px; }
.cuwp-x-prov-name { font-size: 14px; font-weight: 800; color: var(--cuwp-text); line-height: 1.25; }
.cuwp-x-prov-name small { display: block; margin-top: 3px; font-size: 12px; font-weight: 600; color: var(--cuwp-text-muted); }
.cuwp-x-prov-radio { position: absolute; top: 12px; right: 12px; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--cuwp-border); background: var(--cuwp-surface); box-sizing: border-box; transition: all .15s ease; }
.cuwp-x-prov.sel { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 8%, var(--cuwp-surface)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent), var(--cuwp-shadow); }
.cuwp-x-prov.sel .cuwp-x-prov-ico { background: var(--brand); color: #fff; }
.cuwp-x-prov.sel .cuwp-x-prov-radio { border-color: var(--brand); background: var(--brand); box-shadow: inset 0 0 0 4px var(--cuwp-surface); }
.cuwp-x-prov:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
@media (max-width: 1250px) { .cuwp-x-prov-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .cuwp-x-prov-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cuwp-x-prov { min-height: 104px; } }
@media (prefers-reduced-motion: reduce) { .cuwp-x-prov:hover { transform: none; } }

/* Lembrete de vencimento no sino: cartão interno */
/* 5.19.35 — cartão do lembrete de vencimento dentro do sino */
.cuwp-due-card { margin-top: 6px; padding: 9px 11px; border-radius: 10px; border: 1px solid var(--cuwp-border); border-left: 4px solid var(--cuwp-primary); background: var(--cuwp-surface-2); }
.cuwp-due-card.is-today { border-left-color: #e08a00; background: color-mix(in srgb, #e08a00 9%, var(--cuwp-surface-2)); }
.cuwp-due-flag { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--cuwp-primary); }
.cuwp-due-card.is-today .cuwp-due-flag { color: #b86e00; }
#cuwp-root[data-theme="dark"] .cuwp-due-card.is-today .cuwp-due-flag, body[data-theme="dark"] .cuwp-due-card.is-today .cuwp-due-flag { color: #f2b04a; }
.cuwp-due-task { font-size: 13px; font-weight: 600; color: var(--cuwp-text); margin: 2px 0 6px; word-break: break-word; }
.cuwp-due-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: var(--cuwp-text-muted); }
.cuwp-due-meta b { display: block; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--cuwp-text-faint); }

#cuwp-root[data-theme="dark"] .cuwp-due-flag, body[data-theme="dark"] .cuwp-due-flag { color: var(--cuwp-on-dark) !important; }
#cuwp-root[data-theme="dark"] .cuwp-due-card.is-today .cuwp-due-flag, body[data-theme="dark"] .cuwp-due-card.is-today .cuwp-due-flag { color: #f2b04a !important; }

/* Equipes › Gerenciar: botão de remover sempre visível (o tema do site zerava o ícone) */
.cuwp-ui-del {
	box-sizing: border-box !important; width: 34px !important; height: 34px !important; padding: 0 !important; margin: 0 !important;
	display: inline-flex !important; align-items: center; justify-content: center; flex: 0 0 34px;
	color: var(--cuwp-text-muted) !important; background: var(--cuwp-surface) !important;
	border: 1px solid var(--cuwp-border) !important; border-radius: 9px !important; box-shadow: none !important; opacity: 1 !important; visibility: visible !important;
}
.cuwp-ui-del svg { display: block !important; width: 18px !important; height: 18px !important; flex: 0 0 18px; opacity: 1 !important; visibility: visible !important; stroke: currentColor !important; fill: none !important; }
.cuwp-ui-del:hover, .cuwp-ui-del:focus-visible { color: var(--cuwp-danger) !important; border-color: color-mix(in srgb, var(--cuwp-danger) 55%, transparent) !important; background: color-mix(in srgb, var(--cuwp-danger) 10%, var(--cuwp-surface)) !important; }
#cuwp-root .cuwp-x-prov, #cuwp-root .cuwp-x-prov:hover, #cuwp-root .cuwp-x-prov:focus, #cuwp-root .cuwp-x-prov:active {
	color: var(--cuwp-text) !important; text-decoration: none;
}
#cuwp-root .cuwp-x-prov { background: var(--cuwp-surface) !important; }
#cuwp-root .cuwp-x-prov:hover, #cuwp-root .cuwp-x-prov:focus-visible {
	background: color-mix(in srgb, var(--cuwp-primary) 6%, var(--cuwp-surface)) !important; border-color: var(--cuwp-primary) !important;
}
#cuwp-root .cuwp-x-prov.sel, #cuwp-root .cuwp-x-prov.sel:hover {
	background: color-mix(in srgb, var(--cuwp-primary) 9%, var(--cuwp-surface)) !important; border-color: var(--cuwp-primary) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--cuwp-primary) 20%, transparent), var(--cuwp-shadow) !important;
}
#cuwp-root .cuwp-x-prov.sel .cuwp-x-prov-radio { border-color: var(--cuwp-primary) !important; background: var(--cuwp-primary) !important; }
#cuwp-root .cuwp-x-prov:focus-visible { outline-color: var(--cuwp-primary) !important; }
#cuwp-root .cuwp-notes-composer-collapsed:hover, #cuwp-root .cuwp-notes-composer-collapsed:focus-visible {
	border-color: var(--cuwp-primary) !important; background: color-mix(in srgb, var(--cuwp-primary) 5%, var(--cuwp-surface)) !important; color: var(--cuwp-text) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--cuwp-primary) 14%, transparent) !important;
}
#cuwp-root .cuwp-notes-composer-collapsed:hover svg { color: var(--cuwp-primary) !important; }
#cuwp-root .cuwp-x-prov .cuwp-x-prov-ico, #cuwp-root .cuwp-x-prov:hover .cuwp-x-prov-ico { background: var(--brand) !important; color: #fff !important; }
#cuwp-root .cuwp-x-prov-name, #cuwp-root .cuwp-x-prov:hover .cuwp-x-prov-name { color: var(--cuwp-text) !important; }
#cuwp-root .cuwp-x-prov-name small, #cuwp-root .cuwp-x-prov:hover .cuwp-x-prov-name small { color: var(--cuwp-text-muted) !important; }
#cuwp-root .cuwp-notif-foot-btn:hover, #cuwp-root .cuwp-notif-foot-btn:focus { background: var(--cuwp-surface-2) !important; color: var(--cuwp-text) !important; }
#cuwp-root .cuwp-notif-foot-btn.danger:hover { color: var(--cuwp-danger) !important; }
#cuwp-root .cuwp-add-card-btn:hover, #cuwp-root .cuwp-add-card-btn:focus { background: var(--cuwp-surface-2) !important; color: var(--cuwp-primary) !important; }

/* Campos de formulário: o tema do site herdava line-height alto (ex.: 42px) e cortava o texto dos selects (modal fica fora do #cuwp-root) */
body .cuwp-select, body .cuwp-input { line-height: 1.3 !important; }
body .cuwp-ui-row .cuwp-select { height: 34px !important; min-width: 130px; width: auto !important; padding: 0 30px 0 10px !important; box-sizing: border-box !important; }

/* Tabelas: o tema do site desenha borda clara (#ededed) no topo/esquerda de th/td e na tabela — no modo escuro vira linha branca. Zera o que o tema injeta. */
body .cuwp-table th, body .cuwp-table td, body .cuwp-doc-table th, body .cuwp-doc-table td { border-top: 0 !important; border-left: 0 !important; }
body .cuwp-doc-table { border: 0 !important; }
body .cuwp-doc-table th, body .cuwp-doc-table td { border-right: 0 !important; border-bottom: 1px solid var(--cuwp-border) !important; }
body .cuwp-doc-table tr:last-child td { border-bottom: 0 !important; }

/* Contraste: dias de outro mês (número legível, só o conteúdo fica esmaecido) e itens concluídos das anotações */
.cuwp-calendar-daycell.is-out > :not(.cuwp-calendar-daynum) { opacity: .45; }
.cuwp-calendar-daycell.is-out .cuwp-calendar-daynum { color: var(--cuwp-text-faint); font-weight: 600; }
.cuwp-note-check.done span { opacity: 1; color: color-mix(in srgb, var(--n-tx, var(--cuwp-text)) 78%, transparent); }
.cuwp-table-scroll:focus-visible { outline: 2px solid var(--cuwp-primary); outline-offset: -2px; }

/* ---- Selects e listas: visual unificado (7.0.0) -------------------------- */
/* Select nativo: seta própria, cantos e foco no padrão do app */
body .cuwp-select {
	-webkit-appearance: none; appearance: none; cursor: pointer; border-radius: 10px;
	padding-right: 34px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a94a6' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important; background-position: right 11px center !important; background-size: 16px !important;
	transition: border-color .15s ease, box-shadow .15s ease;
}
body .cuwp-select:hover { border-color: var(--cuwp-primary) !important; }
body .cuwp-select:focus, body .cuwp-select:focus-visible {
	outline: none; border-color: var(--cuwp-primary) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--cuwp-primary) 22%, transparent);
}
body .cuwp-select:disabled { opacity: .6; cursor: not-allowed; }
body .cuwp-select option { color: var(--cuwp-text); background: var(--cuwp-surface); }
/* Campos da barra lateral que abrem lista (status, prioridade): seta à direita */
.cuwp-sidebar-pill-btn { position: relative; padding-right: 34px; border-radius: 10px; }
.cuwp-sidebar-pill-btn::after {
	content: ""; position: absolute; right: 13px; top: 50%; width: 7px; height: 7px; margin-top: -6px;
	border-right: 2px solid var(--cuwp-text-faint); border-bottom: 2px solid var(--cuwp-text-faint); transform: rotate(45deg);
	pointer-events: none; transition: border-color .15s ease;
}
.cuwp-sidebar-pill-btn:hover::after { border-color: var(--cuwp-primary); }
.cuwp-sidebar-pill-btn:hover, .cuwp-sidebar-pill-btn:focus-visible { border-color: var(--cuwp-primary); }
.cuwp-sidebar-pill-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--cuwp-primary) 22%, transparent); }
/* Lista suspensa */
.cuwp-dropdown {
	border-radius: 12px; padding: 6px; border-color: var(--cuwp-border);
	box-shadow: 0 12px 32px rgba(15,23,42,.16), 0 2px 6px rgba(15,23,42,.06);
	animation: cuwp-dd-in .12s ease-out;
}
@keyframes cuwp-dd-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .cuwp-dropdown { animation: none; } .cuwp-select { transition: none; } }
