:root {
  --accent: #ff6b00;
  --accent-dark: #dc5d00;
  --ink: #17202e;
  --muted: #6e7888;
  --line: #e2e7ed;
  --panel: #ffffff;
  --canvas: #f6f7f9;
  --green: #22a66f;
  --yellow: #d59a0a;
  --red: #d94949;
  --blue: #3578d4;
  --violet: #7c62c9;
  --shadow: 0 8px 28px rgba(31, 45, 65, 0.055);
}

* { box-sizing: border-box; }
html { background: var(--canvas); }
body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
}
button, input { font: inherit; }
button { color: inherit; }

.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed; inset: 0 auto 0 0; z-index: 30; width: 236px; display: flex; flex-direction: column;
  background: #fff; border-right: 1px solid var(--line); padding: 0 13px 14px;
}
.brand { height: 72px; display: flex; align-items: center; gap: 10px; padding: 0 8px; border-bottom: 1px solid #edf0f3; }
.brand-logo { width: 48px; height: 48px; display: block; flex-shrink: 0; object-fit: contain; }
.brand > span:nth-child(2) { display: grid; line-height: 1.15; }
.brand strong { font-size: 18px; }
.brand small { color: var(--muted); font-size: 15px; text-transform: uppercase; letter-spacing: .08em; font-weight: 750; }
.mobile-close { display: none; margin-left: auto; border: 0; background: transparent; font-size: 25px; }
.sidebar nav { padding-top: 12px; overflow-y: auto; }
.nav-group { margin-bottom: 14px; }
.nav-group > p { margin: 0 10px 6px; color: #929ba9; font-size: 14px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.nav-group button, .sidebar-bottom > button {
  width: 100%; min-height: 39px; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 8px;
  padding: 0 10px; border: 0; border-radius: 9px; background: transparent; color: #526073; text-align: left; cursor: pointer;
  font-size: 16px; font-weight: 700; transition: .16s ease;
}
.nav-group button:hover, .sidebar-bottom > button:hover { background: #f4f6f8; color: var(--ink); }
.nav-group button.active, .sidebar-bottom > button.active { background: var(--accent); color: white; }
.nav-icon { width: 27px; height: 27px; display: grid; place-items: center; font-size: 19px; color: var(--accent); }
.nav-group button.active .nav-icon, .sidebar-bottom > button.active .nav-icon { color: white; }
.nav-group button b { min-width: 22px; padding: 2px 5px; border-radius: 99px; background: #eef1f4; color: #707b8a; font-size: 14px; text-align: center; }
.nav-group button.active b { background: rgba(255,255,255,.28); color: white; }
.sidebar-bottom { margin-top: auto; display: grid; gap: 10px; border-top: 1px solid #edf0f3; padding-top: 12px; }

.app-main { min-height: 100vh; margin-left: 236px; display: flex; flex-direction: column; }
.topbar {
  position: sticky; top: 0; z-index: 20; height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 0 28px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); backdrop-filter: blur(14px);
}
.topbar-actions { display: flex; align-items: center; gap: 14px; }
.user { display: flex; align-items: center; gap: 9px; }
.user-avatar { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg,#ffb47d,var(--accent)); color: white; font-size: 15px; font-weight: 850; }
.user button > div { display: grid; line-height: 1.2; }
.user strong { font-size: 15px; }
.user small { color: var(--muted); font-size: 14px; }
.mobile-menu { display: none; border: 0; background: transparent; font-size: 21px; cursor: pointer; }

.content { width: min(1440px, 100%); margin: 0 auto; flex: 1; padding: 28px 30px 46px; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.eyebrow { margin: 0 0 5px; color: var(--accent); font-size: 14px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.2; letter-spacing: -.035em; }
.heading-copy { margin: 6px 0 0; color: var(--muted); font-size: 16px; }
.primary-button, .secondary-button, .date-button, .filter-button, .small-button {
  min-height: 38px; border-radius: 9px; padding: 0 14px; cursor: pointer; font-weight: 750; font-size: 15px;
}
.primary-button { border: 1px solid var(--accent); background: var(--accent); color: white; box-shadow: 0 5px 14px rgba(255,107,0,.18); }
.primary-button:hover { background: var(--accent-dark); }
.secondary-button, .date-button, .filter-button { border: 1px solid var(--line); background: white; color: #526073; }
.date-button { display: flex; align-items: center; gap: 16px; }
.heading-actions { display: flex; gap: 8px; }
.text-button { border: 0; background: transparent; color: var(--accent-dark); font-size: 15px; font-weight: 800; cursor: pointer; padding: 4px; }
.small-button { min-height: 29px; padding: 0 10px; border: 1px solid #f0b7b7; background: #fff4f4; color: #b93c3c; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.kpi-card { min-height: 130px; padding: 15px 16px; border: 1px solid var(--line); border-top: 3px solid transparent; border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); }
.kpi-card.accent-orange { border-top-color: var(--accent); }
.kpi-card.accent-red { border-top-color: var(--red); }
.kpi-card.accent-green { border-top-color: var(--green); }
.kpi-card.accent-blue { border-top-color: var(--blue); }
.kpi-card > span, .kpi-top > span { color: var(--muted); font-size: 14px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.kpi-top { display: flex; justify-content: space-between; align-items: flex-start; min-height: 33px; }
.kpi-card > strong { display: block; margin-top: 5px; font-size: 26px; line-height: 1.1; letter-spacing: -.04em; }
.kpi-card > small { display: block; margin-top: 6px; color: var(--muted); font-size: 15px; }
.kpi-card > small.positive { color: var(--green); font-weight: 750; }
.icon-box { width: 32px; height: 32px; display: grid; place-items: center; flex-shrink: 0; border-radius: 9px; background: #fff0e4; color: var(--accent-dark); font-size: 15px; font-weight: 850; }
.icon-blue { background: #eaf2ff; color: var(--blue); }
.icon-green { background: #e9f7f1; color: var(--green); }
.icon-violet { background: #f0ecff; color: var(--violet); }
.icon-slate { background: #eef1f4; color: #617084; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .8fr); gap: 16px; margin-bottom: 16px; }
.panel { border: 1px solid var(--line); border-radius: 15px; background: var(--panel); box-shadow: var(--shadow); }
.panel-header { min-height: 64px; display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 16px 17px 12px; border-bottom: 1px solid #edf0f3; }
.panel h2, .admin-section h2 { margin: 0; font-size: 16px; letter-spacing: -.015em; }
.panel-header p, .admin-section header p, .accounts-toolbar p { margin: 3px 0 0; color: var(--muted); font-size: 15px; }
.au-agenda-nav { display: flex; align-items: center; gap: 2px; flex-shrink: 0; }
.au-agenda-nav .text-button { font-size: 18px; line-height: 1; padding: 4px 8px; }
.au-agenda-nav .text-button[title="Hoje"] { font-size: 13px; }
.timeline { padding: 5px 17px 10px; }
.timeline-item { display: grid; grid-template-columns: 42px 12px minmax(0,1fr) auto; align-items: center; gap: 9px; min-height: 60px; border-bottom: 1px solid #edf0f3; }
.timeline-item:last-child { border-bottom: 0; }
.timeline-item time { color: #596578; font-size: 15px; font-weight: 750; }
.timeline-dot { width: 8px; height: 8px; border-radius: 50%; box-shadow: 0 0 0 4px #f3f5f7; }
.green-dot { background: var(--green); }
.red-dot { background: var(--red); }
.orange-dot { background: var(--accent); }
.timeline-item > div { min-width: 0; display: grid; }
.timeline-item strong { font-size: 16px; }
.timeline-item p { margin: 2px 0 0; color: var(--muted); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Usada em Solicitações (adm) e Área do Usuário — lista de itens com marcador, título+meta e
   pill de status. Faltava inteiramente no CSS (bug real: texto sem nenhum estilo, grudado na
   borda do painel), reaproveita a mesma estrutura visual do .timeline-item acima. */
.list-row { display: grid; grid-template-columns: 10px minmax(0,1fr) auto; align-items: center; gap: 14px; min-height: 54px; padding: 0 16px; border-bottom: 1px solid #edf0f3; }
.list-row:last-child { border-bottom: 0; }
.list-row > span:first-child { width: 8px; height: 8px; border-radius: 50%; background: var(--line); justify-self: center; }
.list-row > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.list-row > span:nth-child(2) strong { font-size: 15px; }
.list-row > span:nth-child(2) small { color: var(--muted); font-size: 13px; }

.muted { color: var(--muted); }

.pill { display: inline-flex; align-items: center; justify-content: center; min-height: 22px; padding: 0 8px; border-radius: 999px; background: #f0f2f5; color: #667386; font-size: 13px; font-weight: 850; white-space: nowrap; }
.pill-green { background: #e8f6ef; color: #23865e; }
.pill-yellow { background: #fff5d9; color: #9b7515; }
.pill-red { background: #fdeaea; color: #bd4141; }
.pill-blue { background: #eaf2ff; color: #356db8; }
.attention-list { padding: 5px 14px; }
.attention-row { width: 100%; display: grid; grid-template-columns: 4px 1fr auto; gap: 10px; align-items: center; min-height: 58px; padding: 8px 2px; border: 0; border-bottom: 1px solid #edf0f3; background: transparent; text-align: left; cursor: pointer; }
.attention-row:hover { background: #fafbfc; }
.attention-row > span:nth-child(2) { display: grid; }
.attention-row strong { font-size: 15px; }
.attention-row small { margin-top: 2px; color: var(--muted); font-size: 14px; }
.attention-row b { color: #96a0ad; }
.severity { align-self: stretch; border-radius: 5px; }
.severity-red { background: var(--red); }
.severity-orange { background: var(--accent); }
.severity-blue { background: var(--blue); }
.severity-green { background: var(--green); }
.quick-action { display: flex; gap: 10px; align-items: center; margin: 9px 14px 14px; padding: 12px; border-radius: 11px; background: #f7f8fa; }
.quick-icon { width: 32px; height: 32px; display: grid; place-items: center; flex-shrink: 0; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--accent); }
.quick-action strong { font-size: 15px; }
.quick-action p { margin: 2px 0 0; color: var(--muted); font-size: 14px; line-height: 1.45; }
.performance-panel { box-shadow: none; }
.performance-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
.account-highlight { min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; grid-template-areas: "avatar main pill" "avatar metric pill"; align-items: center; gap: 2px 10px; padding: 14px 16px; border-right: 1px solid #edf0f3; }
.account-highlight:last-child { border-right: 0; }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; flex-shrink: 0; border: 2px solid white; border-radius: 50%; color: white; font-size: 14px; font-weight: 850; box-shadow: 0 0 0 1px var(--line); }
.avatar-1 { background: linear-gradient(135deg,#ffad70,#ff6b00); }
.avatar-2 { background: linear-gradient(135deg,#8b5cf6,#5b40af); }
.avatar-3 { background: linear-gradient(135deg,#35a2d9,#1c6e9e); }
.avatar-4 { background: linear-gradient(135deg,#3ab77f,#16744d); }
/* Mesmo padrão da .client-avatar que já funciona bem na página de Clientes/CRM: cover +
   sem padding/fundo branco, pra logo preencher o círculo inteiro em vez de sobrar como um
   quadrado boiando dentro do avatar. */
.client-brand-avatar { overflow: hidden; padding: 0; background: white; }
.client-brand-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; }
.account-highlight .avatar { grid-area: avatar; }
.account-main { grid-area: main; display: grid; min-width: 0; }
.account-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
.account-main small { color: var(--muted); font-size: 13px; }
.account-metric { grid-area: metric; display: flex; gap: 4px; align-items: baseline; }
.account-metric strong { font-size: 15px; }
.account-metric small { color: var(--muted); font-size: 13px; }
.account-highlight .pill { grid-area: pill; }

.platform-tabs { display: flex; gap: 5px; overflow-x: auto; margin-bottom: 15px; padding: 4px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.platform-tabs > button { min-height: 42px; display: flex; align-items: center; gap: 8px; padding: 0 13px; border: 0; border-radius: 9px; background: transparent; color: #5f6d7f; font-size: 15px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.platform-tabs > button.active { background: #f2f4f6; color: var(--ink); }
.platform-mark { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; background: #edf0f4; color: #617084; font-size: 14px; font-weight: 900; }
.mark-meta { background: #eaf2ff; color: #1877f2; }
.mark-google { background: #fff1e7; color: var(--accent); }
.mark-linkedin { background: #e8f2fa; color: #0a66c2; }
.insights-kpis .kpi-card { min-height: 111px; }
.accounts-panel { overflow: hidden; }
.accounts-toolbar { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.toolbar-controls { display: flex; gap: 7px; }
.mini-search { min-width: 210px; min-height: 34px; display: flex; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #f8f9fa; color: var(--muted); }
.mini-search input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 15px; }
.filter-button { min-height: 34px; font-size: 15px; }
.account-table-head, .account-table-row { display: grid; grid-template-columns: minmax(220px,1.7fr) repeat(4,minmax(90px,.75fr)) 28px; gap: 10px; align-items: center; }
.account-table-head { min-height: 34px; padding: 0 16px; background: #f8f9fa; color: #8b95a3; font-size: 13px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.account-table-row { width: 100%; min-height: 62px; padding: 7px 16px; border: 0; border-top: 1px solid #edf0f3; background: white; text-align: left; cursor: pointer; }
.account-table-row:hover { background: #fffaf6; }
.account-table-row > span { font-size: 15px; }
.account-cell { display: flex; align-items: center; gap: 10px; min-width: 0; }
.account-cell > span:last-child { display: grid; min-width: 0; }
.account-cell strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
.account-cell small { color: var(--muted); font-size: 13px; }
.row-arrow { color: #9aa3af; font-size: 18px !important; }
.empty-platform { min-height: 330px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.empty-platform h2 { margin-top: 12px; font-size: 19px; }
.empty-platform p { width: min(430px,90%); color: var(--muted); font-size: 16px; line-height: 1.6; }
.empty-platform .secondary-button { margin-top: 6px; }

.meta-insights-filters {
  display: grid;
  grid-template-columns: 1.2fr 1fr .65fr 1.15fr auto;
  align-items: end;
  gap: 9px;
  margin-bottom: 12px;
  padding: 12px;
  box-shadow: none;
}
.meta-insights-filters label { display: grid; gap: 4px; }
.meta-insights-filters label > span { color: var(--muted); font-size: 12px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.meta-insights-filters select { min-width: 0; height: 36px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); font-size: 14px; font-weight: 700; }
.meta-kpi-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }
.meta-kpi { min-height: 91px; display: grid; align-content: center; gap: 3px; padding: 12px; border: 1px solid var(--line); border-top: 3px solid #aab3bf; border-radius: 12px; background: white; box-shadow: var(--shadow); }
.meta-kpi > span { color: var(--muted); font-size: 13px; font-weight: 800; }
.meta-kpi > strong { font-size: 22px; letter-spacing: -.04em; }
.meta-kpi > small { font-size: 12px; }
.meta-kpi-orange { border-top-color: var(--accent); }.meta-kpi-blue { border-top-color: var(--blue); }.meta-kpi-green { border-top-color: var(--green); }.meta-kpi-violet { border-top-color: var(--violet); }.meta-kpi-red { border-top-color: var(--red); }
.negative { color: var(--red) !important; }.positive { color: var(--green) !important; }
.meta-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(240px,.7fr); gap: 12px; margin-bottom: 12px; }
.meta-evolution, .meta-format-card, .meta-audience-chart-card, .meta-content-ranking { overflow: hidden; box-shadow: none; }
.meta-evolution > header, .meta-format-card > header, .meta-audience-chart-card > header, .meta-content-ranking > header { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px; border-bottom: 1px solid var(--line); }
.meta-evolution h2, .meta-format-card h2, .meta-audience-chart-card h2, .meta-content-ranking h2 { margin: 0; font-size: 15px; }
.meta-evolution header p, .meta-format-card header p, .meta-audience-chart-card header p, .meta-content-ranking header p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.chart-with-axis { display: flex; align-items: stretch; }
.chart-y-axis { display: flex; flex-direction: column; justify-content: space-between; flex-shrink: 0; text-align: right; color: var(--muted); font-size: 10px; }
.meta-chart-axis { padding: 22px 6px 23px 13px; }
.meta-follower-axis { padding: 24px 6px 25px 13px; }
.meta-chart { flex: 1; min-width: 0; height: 245px; display: flex; align-items: end; gap: 4px; padding: 22px 16px 23px; background: repeating-linear-gradient(to bottom,#fff 0,#fff 48px,#edf0f3 49px); }
.meta-chart > i { position: relative; flex: 1; min-width: 2px; border-radius: 3px 3px 0 0; background: linear-gradient(to top,#ff6b00,#ff9b55); opacity: .88; cursor: default; }
.meta-chart > i span { position: absolute; bottom: -16px; left: 0; color: #939ca9; font-size: 10px; font-style: normal; white-space: nowrap; }
.meta-chart > i[data-value]:hover::after, .meta-follower-bars i[data-value]:hover::after {
  content: attr(data-value);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 5px;
  background: #1c2430;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  padding: 3px 7px;
  border-radius: 5px;
  white-space: nowrap;
  z-index: 5;
  pointer-events: none;
}
.meta-evolution > footer { min-height: 38px; display: flex; align-items: center; gap: 13px; padding: 7px 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.meta-evolution footer span { display: flex; align-items: center; gap: 5px; }.meta-evolution footer > strong { margin-left: auto; color: var(--green); font-size: 13px; }
.meta-evolution footer i { width: 8px; height: 8px; display: block; border-radius: 2px; }.legend-current { background: var(--accent); }.legend-previous { border: 1px dashed #a7b0bc; }
.format-donut { width: 138px; height: 138px; display: grid; place-items: center; margin: 18px auto 12px; border-radius: 50%; background: conic-gradient(var(--accent) 0 52%,var(--blue) 52% 79%,var(--violet) 79% 93%,#c9d0d9 93%); }
.format-donut > div { width: 88px; height: 88px; display: grid; place-content: center; border-radius: 50%; background: white; text-align: center; }
.format-donut strong { font-size: 19px; }.format-donut span { color: var(--muted); font-size: 12px; }
.format-legend { display: grid; padding: 0 14px 14px; }
.format-legend > span { min-height: 31px; display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 7px; border-top: 1px solid #edf0f3; color: #596578; font-size: 13px; }
.format-legend i { width: 7px; height: 7px; border-radius: 50%; }.format-reels { background: var(--accent); }.format-carousel { background: var(--blue); }.format-static { background: var(--violet); }.format-story { background: #c9d0d9; }
.format-legend strong { color: var(--ink); font-size: 13px; }
/* Audiência: 3 gráficos de coluna (idade/cidade/gênero) lado a lado, largura ajustada por
   posição — cidade tende a ter mais categorias (até 8, ver topN em insightsRoutes.ts) que
   gênero (2-3), então pede mais espaço horizontal pras barras não ficarem espremidas. */
.meta-audience-charts-grid { display: grid; grid-template-columns: 0.9fr 1.3fr 0.8fr; gap: 12px; margin-bottom: 12px; align-items: start; }
.meta-audience-chart-card { min-width: 0; overflow: hidden; box-shadow: none; padding: 0 13px 20px; }
.meta-audience-chart-card > div[data-audience-view] { padding-top: 10px; }
.meta-audience-legend { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 8px; color: var(--muted); font-size: 11px; }
.meta-content-ranking { margin-bottom: 12px; }
.meta-content-ranking > div { display: grid; }
.meta-content-ranking article { min-height: 77px; display: grid; grid-template-columns: 58px minmax(170px,1.5fr) repeat(3,minmax(75px,.55fr)) 25px; align-items: center; gap: 10px; padding: 8px 13px; border-top: 1px solid #edf0f3; }
.meta-post-thumb { height: 58px; display: grid; place-items: end start; padding: 5px; border-radius: 8px; background: linear-gradient(135deg,#ffb47d,#ff6b00); color: white; }.thumb-2 { background: linear-gradient(135deg,#48637c,#1d2c3c); }.thumb-3 { background: linear-gradient(135deg,#7f68ca,#3e2f74); }
.meta-post-thumb b { padding: 2px 4px; border-radius: 4px; background: rgba(0,0,0,.32); font-size: 11px; }
.meta-content-ranking article > div { min-width: 0; display: grid; }.meta-content-ranking article > div strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }.meta-content-ranking article > div small { margin-top: 3px; color: var(--muted); font-size: 12px; }
.meta-content-ranking article > span:not(.meta-post-thumb) { display: grid; }.meta-content-ranking article > span small { color: var(--muted); font-size: 11px; }.meta-content-ranking article > span strong { margin-top: 2px; font-size: 14px; }
.meta-content-ranking article > button { border: 0; background: transparent; color: #8c96a4; cursor: pointer; }
.meta-client-heading { align-items: flex-end; }
.meta-client-title { display: flex; align-items: flex-end; gap: 16px; }
.meta-client-title .back-link { min-height: 35px; margin-bottom: 2px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: white; color: #596578; font-size: 13px; font-weight: 850; cursor: pointer; }
.meta-client-title .back-link:hover { border-color: #ffb47d; color: var(--accent-dark); }
.meta-fourup-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 12px; }
.meta-fourup-card { min-width: 0; overflow: hidden; box-shadow: none; padding: 13px 13px 4px; }
.meta-fourup-card header { position: relative; margin-bottom: 4px; }
.meta-fourup-card h2 { margin: 0; padding-right: 20px; font-size: 13px; }
/* Engrenagem ADMIN-only (ajustar piso do eixo Y) — só existe no card "Crescimento seguidores",
   mas a regra fica genérica pro grupo todo (sem efeito nos outros 3 cards, que não têm o botão). */
.meta-fourup-gear { position: absolute; top: -2px; right: -2px; width: 18px; height: 18px; padding: 0; display: grid; place-items: center; border: none; background: none; color: var(--muted); cursor: pointer; border-radius: 4px; }
.meta-fourup-gear:hover { color: var(--accent-dark); background: #fff1e7; }
.meta-secondary-charts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 12px; }
.meta-mini-chart { min-width: 0; overflow: hidden; box-shadow: none; }
.meta-mini-chart > header { min-height: 58px; padding: 12px 13px; border-bottom: 1px solid var(--line); }
.meta-mini-chart h2 { margin: 0; font-size: 16px; }
.meta-mini-chart header p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.meta-mini-chart > footer { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 8px 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.meta-mini-chart > footer strong { color: var(--ink); font-size: 13px; }
.meta-follower-bars { flex: 1; min-width: 0; height: 170px; display: flex; align-items: end; gap: 7px; padding: 24px 15px 25px; background: repeating-linear-gradient(to bottom,#fff 0,#fff 42px,#edf0f3 43px); }
.meta-follower-bars i { position: relative; flex: 1; border-radius: 4px 4px 0 0; background: linear-gradient(to top,#2f7de1,#72a8ef); cursor: default; }
.meta-follower-bars i span { position: absolute; bottom: -16px; left: 50%; transform: translateX(-50%); white-space: nowrap; color: var(--muted); font-size: 11px; font-style: normal; }
.meta-heatmap { height: 170px; display: grid; grid-template-columns: 28px repeat(6,1fr); grid-template-rows: 17px repeat(7,1fr); gap: 4px; padding: 11px 13px; }
.meta-heatmap > b, .meta-heatmap > strong { display: grid; place-items: center; color: var(--muted); font-size: 10px; }
.meta-heatmap > i { display: block; border-radius: 3px; background: var(--accent); }
.meta-source-bars { height: 170px; display: grid; align-content: center; gap: 13px; padding: 13px; }
.meta-source-bars > div { display: grid; grid-template-columns: 75px minmax(0,1fr) 27px; align-items: center; gap: 7px; }
.meta-source-bars span, .meta-source-bars strong { font-size: 12px; }
.meta-source-bars span { color: #596578; }.meta-source-bars strong { text-align: right; }
.meta-source-bars i { height: 8px; overflow: hidden; border-radius: 5px; background: #edf0f3; }
.meta-source-bars b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(to right,#ff9852,var(--accent)); }
.meta-posts-section { overflow: hidden; box-shadow: none; }
.meta-posts-section > header { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.meta-posts-section h2 { margin: 0; font-size: 15px; }
.meta-posts-section header p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.meta-post-card-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(190px,1fr)); gap: 12px; padding: 14px; background: #f8f9fb; }
.meta-performance-post { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 4px 13px rgba(23,32,46,.055); }
.meta-post-visual { aspect-ratio: 4 / 3; display: flex; flex-direction: column; justify-content: flex-end; padding: 13px; color: white; }
.meta-post-visual span { align-self: flex-start; margin-bottom: auto; padding: 3px 6px; border: 1px solid rgba(255,255,255,.38); border-radius: 12px; background: rgba(0,0,0,.18); font-size: 11px; font-weight: 850; }
.meta-post-visual strong { width: 86%; font-size: 17px; line-height: 1.05; text-transform: uppercase; }
.meta-post-visual small { margin-top: 5px; font-size: 11px; letter-spacing: .08em; }
.post-tone-orange { background: radial-gradient(circle at 78% 20%,#ffca91 0 10%,transparent 11%),linear-gradient(135deg,#ff9c55,#d94f00); }
.post-tone-navy { background: radial-gradient(circle at 20% 22%,#7390aa 0 13%,transparent 14%),linear-gradient(135deg,#45627d,#17283b); }
.post-tone-violet { background: radial-gradient(circle at 76% 28%,#a28ae9 0 11%,transparent 12%),linear-gradient(135deg,#7660c1,#332666); }
.post-tone-blue { background: radial-gradient(circle at 23% 24%,#8ed6ef 0 11%,transparent 12%),linear-gradient(135deg,#2d91ba,#14506e); }
.post-tone-green { background: radial-gradient(circle at 75% 24%,#b9dfb0 0 12%,transparent 13%),linear-gradient(135deg,#5d9f67,#28623a); }
.post-tone-gold { background: radial-gradient(circle at 23% 22%,#ffe2a1 0 12%,transparent 13%),linear-gradient(135deg,#ce9425,#78510f); }
.meta-post-body { padding: 11px; }
.meta-post-body > header { min-height: 37px; display: flex; align-items: flex-start; justify-content: space-between; gap: 7px; }
.meta-post-body header > div { min-width: 0; display: grid; }
.meta-post-body header strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.meta-post-body header small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.meta-post-body header button { border: 0; background: transparent; color: var(--muted); font-size: 13px; cursor: pointer; }
.meta-post-primary { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; padding: 8px 0; border-block: 1px solid #edf0f3; }
.meta-post-primary span { display: grid; }
.meta-post-primary small { color: var(--muted); font-size: 10px; }.meta-post-primary strong { margin-top: 2px; font-size: 15px; }
.meta-post-interactions { min-height: 35px; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; color: #7c8796; font-size: 12px; }
.meta-post-interactions strong { color: var(--ink); font-size: 12px; }
.meta-post-body > footer { min-height: 31px; display: flex; align-items: end; justify-content: space-between; gap: 7px; border-top: 1px solid #edf0f3; color: var(--muted); font-size: 11px; }
.meta-post-body footer strong { color: var(--green); }
.meta-post-body footer button { padding: 0; border: 0; background: transparent; color: var(--accent-dark); font-size: 11px; font-weight: 850; cursor: pointer; }

.management-heading { margin-bottom: 18px; }
.management-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.management-summary article {
  min-height: 82px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px;
  padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--shadow);
}
.summary-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; font-size: 16px; font-weight: 850; }
.orange-summary { background: #fff0e4; color: var(--accent-dark); }
.red-summary { background: #fdeaea; color: var(--red); }
.yellow-summary { background: #fff5d9; color: #a3770b; }
.green-summary { background: #e8f6ef; color: var(--green); }
.management-summary article > div { display: grid; }
.management-summary small { color: var(--muted); font-size: 13px; font-weight: 750; }
.management-summary strong { margin-top: 1px; font-size: 21px; line-height: 1.1; letter-spacing: -.04em; }

.panorama-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(280px,.9fr); gap: 16px; margin-bottom: 14px; align-items: start; }
.panorama-col { display: grid; gap: 10px; }
.panorama-toolbar { display: flex; align-items: center; gap: 6px; }
.panorama-toolbar .primary-button { flex-shrink: 0; white-space: nowrap; padding: 0 12px; }
.panorama-toolbar select {
  flex: 1; min-width: 0; min-height: 36px; padding: 0 22px 0 8px; border: 1px solid var(--line); border-radius: 9px;
  background: white; color: #5f6d7f; font-size: 15px; font-weight: 700; text-overflow: ellipsis;
}
.panorama-toolbar .text-button { flex-shrink: 0; }
.panorama-panel { height: 180px; overflow: hidden; }
.esteira-panel { height: 216px; overflow: hidden; }
.panorama-grid .panel-header { min-height: 0; padding: 9px 17px 7px; }

/* Status do editorial (/admin/editorial/status) — visão de todos os clientes por área, mockup
   fornecido pelo usuário. Cores reaproveitam .pill/.pill-green/.pill-yellow/.pill-red e
   .legend-* (rank-legend) que já existem — só o layout (cabeçalho, filtro, grid de pill grande)
   é novo. */
.es-page { display: flex; flex-direction: column; gap: 16px; }
.es-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.es-header h1 { margin: 0 0 4px; font-size: 24px; }
.es-header p { margin: 0; color: var(--muted); font-size: 14px; }
.es-week-picker { display: grid; gap: 4px; }
.es-week-picker span { color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.es-week-picker select { min-height: 38px; min-width: 180px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; background: white; font-size: 14px; font-weight: 700; color: var(--ink); }
.es-filters { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 18px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--shadow); }
.es-filter-group { display: flex; gap: 8px; flex-wrap: wrap; }
.es-filter { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 14px; border-radius: 999px; background: #f0f2f5; color: #667386; font-size: 13px; font-weight: 800; text-decoration: none; }
.es-filter.active { background: var(--ink); color: white; }
.es-filter.active .es-filter-dot { outline: 2px solid rgba(255,255,255,.55); }
.es-total { color: var(--muted); font-size: 13px; font-weight: 700; }
.es-filter-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.es-area { display: flex; gap: 24px; padding: 20px 0; border-top: 1px solid var(--line); }
.es-area:first-of-type { border-top: 0; padding-top: 4px; }
.es-area-label { width: 180px; flex-shrink: 0; }
.es-area-label h3 { margin: 0 0 10px; font-size: 17px; }
.es-area-stats { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.es-area-stats li { display: flex; align-items: center; gap: 7px; color: #596578; font-size: 13px; font-weight: 700; }
.es-pill-grid { flex: 1; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 10px; }
.es-pill { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 10px; font-size: 14px; font-weight: 800; text-decoration: none; }
.es-pill.pill-green { color: #1a6b49; }
.es-pill.pill-yellow { color: #7d5c0e; }
.es-pill.pill-red { color: #952f2f; }
.es-empty { color: var(--muted); font-size: 13px; }
.es-footnote { margin: 4px 0 0; color: var(--muted); font-size: 13px; text-align: center; }
@media (max-width: 860px) {
  .es-area { flex-direction: column; gap: 10px; }
  .es-area-label { width: auto; }
}
.panorama-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.panorama-table th { padding: 4px 17px; text-align: left; color: var(--accent); font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.panorama-table th:first-child { border-left: 1px solid var(--line); border-radius: 8px 0 0 8px; }
.panorama-table th:last-child { border-right: 1px solid var(--line); border-radius: 0 8px 8px 0; }
.panorama-table td { padding: 6px 17px; font-size: 19px; line-height: 1.2; border-bottom: 0; }
.panorama-table td:first-child { font-weight: 800; }
.panorama-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; padding: 2px 10px; border-radius: 99px; background: var(--ink); color: white; font-weight: 750; font-size: 17px; }
.panorama-pct { font-weight: 800; color: var(--accent-dark); }
.esteira-bars { display: grid; gap: 8px; padding: 8px 17px; }
.esteira-bar-row { display: grid; grid-template-columns: 100px minmax(0,1fr) 20px; align-items: center; gap: 8px; border: 0; background: transparent; text-align: left; text-decoration: none; cursor: pointer; }
.esteira-bar-row span { color: var(--ink); font-size: 16px; font-weight: 700; }
.esteira-bar-row strong { font-size: 16px; font-weight: 800; text-align: right; }
.esteira-bar-row i { height: 7px; overflow: hidden; border-radius: 4px; background: #edf0f3; }
.esteira-bar-row b { height: 100%; display: block; border-radius: inherit; background: var(--accent); }
.esteira-bar-active span, .esteira-bar-active strong { color: var(--accent-dark); }
@media (max-width: 1040px) { .panorama-grid { grid-template-columns: 1fr; } }

.stage-flow { margin-bottom: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: var(--shadow); }
.stage-flow > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 12px; }
.stage-flow h2 { margin: 0; font-size: 16px; }
.stage-flow header p { margin: 3px 0 0; color: var(--muted); font-size: 14px; }
.view-switch { display: flex; gap: 3px; padding: 3px; border-radius: 9px; background: #f1f3f5; }
.view-switch button { min-height: 28px; padding: 0 12px; border: 0; border-radius: 7px; background: transparent; color: #707c8c; font-size: 14px; font-weight: 800; cursor: pointer; }
.view-switch button.active { background: white; color: var(--ink); box-shadow: 0 2px 6px rgba(31,45,65,.08); }
.stage-strip { display: grid; grid-template-columns: .7fr repeat(6,1fr); gap: 7px; }
.stage-strip > button {
  position: relative; min-width: 0; min-height: 67px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: center; gap: 4px;
  padding: 10px; border: 1px solid var(--line); border-top: 3px solid #b9c1cb; border-radius: 10px; background: #fafbfc; text-align: left; cursor: pointer;
}
.stage-strip > button:hover { background: white; }
.stage-strip > button.active { background: white; border-color: #ffc69e; border-top-color: var(--accent); box-shadow: 0 5px 16px rgba(255,107,0,.09); }
.stage-strip button > span { min-width: 0; overflow: hidden; color: #5f6d7f; font-size: 13px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.stage-strip button > strong { font-size: 18px; line-height: 1; }
.stage-strip button > small { grid-column: 1 / -1; color: #929ba8; font-size: 12px; }
.stage-strip .stage-orange { border-top-color: var(--accent); }
.stage-strip .stage-blue { border-top-color: var(--blue); }
.stage-strip .stage-violet { border-top-color: var(--violet); }
.stage-strip .stage-yellow { border-top-color: #e0af2c; }
.stage-strip .stage-green { border-top-color: var(--green); }
.stage-strip .stage-red { border-top-color: var(--red); }

.management-workspace { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 14px; align-items: start; }
.management-main { min-width: 0; }
.management-toolbar { display: flex; gap: 7px; margin-bottom: 10px; }
.management-search { min-width: 220px; flex: 1; min-height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--muted); }
.management-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 15px; }
.management-toolbar select {
  min-height: 36px; max-width: 170px; padding: 0 30px 0 10px; border: 1px solid var(--line); border-radius: 9px;
  background: white; color: #5f6d7f; font-size: 14px; font-weight: 700;
}
.editorial-table { overflow: hidden; box-shadow: none; }
.editorial-table-head, .editorial-row { display: grid; grid-template-columns: minmax(190px,1.45fr) .72fr .65fr .9fr 1fr 22px; gap: 8px; align-items: center; }
.editorial-table-head { min-height: 36px; padding: 0 13px; background: #f8f9fa; color: #8b95a3; font-size: 15px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.editorial-row {
  position: relative; width: 100%; min-height: 69px; padding: 8px 13px 11px; border: 0; border-top: 1px solid #edf0f3; background: white; text-align: left; cursor: pointer;
}
.editorial-row:hover { background: #fffaf6; }
.editorial-row > span { min-width: 0; color: #526073; font-size: 16px; }
.editorial-client { display: flex; align-items: center; gap: 9px; }
.editorial-client > span:last-child { min-width: 0; display: grid; }
.editorial-client strong { overflow: hidden; color: var(--ink); font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.editorial-client small { margin-top: 2px; color: var(--muted); font-size: 16px; }
.owner-cell { display: flex; align-items: center; gap: 6px; }
.owner-cell > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #eef1f4; color: #536174; font-size: 13px; font-weight: 850; }
.late-date { color: var(--red) !important; font-weight: 800; }
.row-progress { position: absolute; inset: auto 13px 5px 58px; height: 2px; overflow: hidden; border-radius: 10px; background: #edf0f3; }
.row-progress i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,var(--accent),#ff9a44); }
.management-empty { min-height: 220px; display: grid; place-content: center; text-align: center; }
.management-empty strong { font-size: 16px; }
.management-empty p { margin: 4px 0 0; color: var(--muted); font-size: 14px; }

.management-card-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 10px; align-items: start; }
.legacy-client-card {
  overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: var(--shadow);
}
.legacy-client-title { position: relative; }
.legacy-client-links { position: absolute; top: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 4px; z-index: 1; padding: 0 11px 0 22px; background: linear-gradient(to right, rgba(255,255,255,0), #fff 20px); border-radius: 0 15px 0 0; }
.legacy-client-links a, .legacy-client-links span.quicklink-noUrl { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; color: var(--accent); flex-shrink: 0; }
.legacy-client-links a:hover { background: #f3f5f8; color: var(--accent-dark); }
.legacy-client-links span.quicklink-noUrl { opacity: .55; cursor: default; }
.legacy-client-links svg { width: 15px; height: 15px; display: block; }
.legacy-client-title { min-height: 62px; display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 8px; padding: 10px 11px; }
.legacy-client-title > a { display: contents; }
.legacy-client-title > div { min-width: 0; }
.legacy-client-title h3 { margin: 0; overflow: hidden; font-size: 18px; letter-spacing: -.015em; text-overflow: ellipsis; white-space: nowrap; }
.legacy-client-title p { margin: 3px 0 0; color: var(--muted); font-size: 15px; }
.legacy-editorials { padding: 3px 11px; border-top: 1px solid #edf0f3; }
.legacy-editorial-row { min-height: 56px; display: grid; grid-template-columns: minmax(68px,.7fr) minmax(104px,1.3fr) 17px 23px; align-items: center; gap: 5px; border-bottom: 1px solid #edf0f3; }
.legacy-editorial-row:last-child { border-bottom: 0; }
.legacy-period { justify-self: start; padding: 0; border: 0; background: transparent; color: var(--accent-dark); font-size: 15px; font-weight: 850; cursor: pointer; }
.legacy-status {
  width: 100%; min-height: 36px; padding: 5px 8px; border: 1px solid transparent; border-radius: 6px; text-align: center; font-size: 15px; font-weight: 800; line-height: 1.25; cursor: pointer;
}
.legacy-status-green { border-color: #a6dbc2; background: #eef9f3; color: #277854; }
.legacy-status-yellow { border-color: #efcf75; background: #fff9e8; color: #876714; }
.legacy-status-red { border-color: #efb2b2; background: #fff1f1; color: #aa3939; }
.legacy-status-blue { border-color: #b9d1f1; background: #f0f6ff; color: #356db8; }
.legacy-editorial-row input { width: 14px; height: 14px; margin: 0; accent-color: var(--accent); cursor: pointer; }
.legacy-delete { width: 26px; height: 26px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #929ba8; cursor: pointer; }
.legacy-delete:hover { background: #fdeaea; color: var(--red); }
.legacy-archive-check { width: 17px; height: 17px; padding: 0; border: 1.5px solid #c7cdd6; border-radius: 4px; background: white; cursor: pointer; }
.legacy-archive-check:hover { border-color: var(--accent); background: #fff5ed; }

.comparison-context { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px; border-bottom: 1px solid var(--line); background: #fffaf6; }
.comparison-context span { color: var(--muted); font-size: 14px; }
.comparison-context strong { color: var(--accent-dark); font-size: 16px; }
.comparison-table .editorial-table-head, .comparison-row { grid-template-columns: minmax(190px,1.45fr) minmax(110px,.9fr) minmax(150px,1fr) minmax(90px,.65fr) 22px; }
.comparison-row > span:nth-child(2) { color: var(--ink); font-size: 16px; }
.client-operations-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.client-operation-card {
  min-height: 170px; display: flex; flex-direction: column; padding: 13px; border: 1px solid var(--line); border-radius: 13px;
  background: white; box-shadow: var(--shadow); text-align: left; cursor: pointer;
}
.client-operation-card:hover { border-color: #ffc69e; }
.client-operation-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; }
.client-operation-card > strong { font-size: 15px; }
.client-operation-card > small { margin-top: 2px; color: var(--muted); font-size: 13px; }
.client-progress-label { display: flex; justify-content: space-between; margin-top: 16px; color: var(--muted); font-size: 13px; }
.client-progress-label b { color: var(--ink); }
.client-progress { height: 5px; overflow: hidden; margin-top: 5px; border-radius: 10px; background: #edf0f3; }
.client-progress i { height: 100%; display: block; border-radius: inherit; background: var(--accent); }
.client-operation-card footer { display: flex; justify-content: space-between; margin-top: auto; padding-top: 10px; border-top: 1px solid #edf0f3; color: var(--muted); font-size: 13px; }
.client-operation-card footer b { color: var(--accent-dark); }

.management-rail { display: grid; gap: 10px; }
.bottleneck-card, .workload-card, .management-shortcuts { padding: 13px; box-shadow: none; }
.bottleneck-card > header, .workload-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding-bottom: 11px; border-bottom: 1px solid #edf0f3; }
.bottleneck-card h2, .workload-card h2, .management-shortcuts h2 { margin: 0; font-size: 18px; }
.bottleneck-card header p, .workload-card header p { margin: 2px 0 0; color: var(--muted); font-size: 16px; }
.bottleneck-score { display: flex; gap: 10px; align-items: center; padding: 14px 0 9px; }
.bottleneck-score > span { color: var(--red); font-size: 33px; font-weight: 850; letter-spacing: -.05em; }
.bottleneck-score > div { display: grid; }
.bottleneck-score strong { font-size: 16px; }
.bottleneck-score small { color: var(--muted); font-size: 15px; }
.bottleneck-bar { height: 5px; overflow: hidden; margin-bottom: 10px; border-radius: 10px; background: #edf0f3; }
.bottleneck-bar i { width: 95%; height: 100%; display: block; background: linear-gradient(90deg,var(--red),#ef8686); }
.workload-card > div { min-height: 58px; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 8px; border-bottom: 1px solid #edf0f3; }
.workload-card > div:last-child { border-bottom: 0; }
.team-avatar { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: white; font-size: 14px; font-weight: 850; }
.team-orange { background: linear-gradient(135deg,#ffad70,var(--accent)); }
.team-blue { background: linear-gradient(135deg,#75a6e6,#3578d4); }
.workload-card > div > span:nth-child(2) { display: grid; }
.workload-card strong { font-size: 16px; }
.workload-card small { color: var(--muted); font-size: 15px; }
.workload-card b { min-width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; background: #f1f3f5; font-size: 15px; }
.management-shortcuts { display: grid; gap: 2px; }
.management-shortcuts h2 { margin-bottom: 7px; }
.management-shortcuts button { min-height: 35px; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 7px; border: 0; border-top: 1px solid #edf0f3; background: white; color: #536174; text-align: left; font-size: 13px; cursor: pointer; }

/* Gerenciamento (Management) — reversão pontual só desta página. O usuário pediu de volta o
   tamanho de fonte original só no Gerenciamento, mantendo o aumento sitewide em todo o resto
   (Insights, Ads, Financeiro etc). Escopado em .management-v1 (wrapper novo no body de
   editorialRoutesV2.ts) pra não mexer nas mesmas classes compartilhadas usadas nas outras
   páginas — valores abaixo são os originais de antes do aumento sitewide (commit 2b20811). */
.management-v1 .primary-button, .management-v1 .secondary-button { font-size: 11.5px; }
.management-v1 .text-button { font-size: 10.5px; }
.management-v1 .panel h2 { font-size: 13px; }
.management-v1 .panel-header p { font-size: 10px; }
.management-v1 .pill { font-size: 8.5px; }
.management-v1 .avatar { font-size: 9px; }
.management-v1 .row-arrow { font-size: 15px; }
.management-v1 .panorama-toolbar select { font-size: 10.5px; }
.management-v1 .panorama-table th { font-size: 9px; }
.management-v1 .panorama-table td { font-size: 16px; }
.management-v1 .panorama-pill { font-size: 14px; }
.management-v1 .esteira-bar-row span, .management-v1 .esteira-bar-row strong { font-size: 11px; }
.management-v1 .view-switch button { font-size: 9.5px; }
.management-v1 .editorial-table-head { font-size: 10px; }
.management-v1 .editorial-row > span { font-size: 13px; }
.management-v1 .editorial-client strong { font-size: 14px; }
.management-v1 .editorial-client small { font-size: 11px; }
.management-v1 .management-empty strong { font-size: 11px; }
.management-v1 .management-empty p { font-size: 9px; }
.management-v1 .legacy-client-title h3 { font-size: 15px; }
.management-v1 .legacy-client-title p { font-size: 10px; }
.management-v1 .legacy-period { font-size: 12px; }
.management-v1 .legacy-status { font-size: 10.5px; }
.management-v1 .comparison-context span { font-size: 9px; }
.management-v1 .comparison-context strong { font-size: 11px; }
.management-v1 .comparison-row > span:nth-child(2) { font-size: 13px; }
.management-v1 .bottleneck-card h2, .management-v1 .workload-card h2 { font-size: 15px; }
.management-v1 .bottleneck-card header p, .management-v1 .workload-card header p { font-size: 11px; }
.management-v1 .bottleneck-score > span { font-size: 32px; }
.management-v1 .bottleneck-score strong { font-size: 13px; }
.management-v1 .bottleneck-score small { font-size: 10.5px; }
.management-v1 .team-avatar { font-size: 9px; }
.management-v1 .workload-card strong { font-size: 13px; }
.management-v1 .workload-card small { font-size: 10px; }
.management-v1 .workload-card b { font-size: 12px; }
.management-shortcuts button span { color: var(--accent); font-weight: 850; }
.management-shortcuts button b { color: #9aa3af; }

.client-editorial-header { display: grid; grid-template-columns: minmax(0,1fr); align-items: center; gap: 14px; margin-bottom: 12px; }
.back-button { min-height: 34px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: white; color: #596578; font-size: 14px; font-weight: 800; cursor: pointer; }
.client-editorial-identity { min-width: 0; display: flex; align-items: center; gap: 10px; }
.client-editorial-identity > span:last-child { min-width: 0; display: grid; }
.client-editorial-identity h1 { overflow: hidden; font-size: 22px; text-overflow: ellipsis; white-space: nowrap; }
.client-editorial-identity small { margin-top: 3px; color: var(--muted); font-size: 13px; }
.client-external-actions { display: flex; gap: 5px; }
.client-external-actions button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--accent-dark); font-size: 15px; font-weight: 900; cursor: pointer; }
.client-hubnav { display: flex; gap: 5px; overflow-x: auto; margin-bottom: 9px; padding: 5px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.client-hubnav button { min-height: 38px; padding: 0 14px; border: 0; border-radius: 8px; background: transparent; color: #596578; font-size: 16px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.client-hubnav button.active { background: var(--ink); color: white; }
.client-quicklinks { display: flex; align-items: center; gap: 4px; flex-shrink: 0; margin-left: auto; padding-left: 6px; }
.client-quicklinks a, .client-quicklinks span.quicklink-noUrl { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; color: var(--accent); flex-shrink: 0; }
.client-quicklinks a:hover { background: #f3f5f8; color: var(--accent-dark); }
.client-quicklinks span.quicklink-noUrl { opacity: .55; cursor: default; }
.client-quicklinks svg { width: 17px; height: 17px; display: block; }
.client-editorial-tabs { display: grid; grid-template-columns: auto minmax(200px,1fr) minmax(155px,.55fr) minmax(110px,.35fr); align-items: end; gap: 9px; margin-bottom: 12px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.client-area-switch, .client-platform-switch { display: flex; gap: 4px; }
.client-area-switch button { min-height: 34px; padding: 0 12px; border: 1px solid transparent; border-radius: 8px; background: #f2f4f6; color: #647083; font-size: 15px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.client-platform-switch button { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 8px; background: #f2f4f6; cursor: pointer; }
.client-area-switch button.active, .client-platform-switch button.active { border-color: #ffc89f; background: #fff1e7; color: var(--accent-dark); }
.client-editorial-tabs label { display: grid; gap: 4px; }
.client-editorial-tabs label > span { color: var(--muted); font-size: 15px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.client-editorial-tabs select { min-width: 0; height: 34px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); font-size: 15px; font-weight: 700; }
.editorial-insights-strip { display: grid; grid-template-columns: 115px repeat(4,minmax(0,1fr)); overflow: hidden; margin-bottom: 14px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--shadow); }
.editorial-insights-strip > * { min-width: 0; padding: 11px; border-right: 1px solid #edf0f3; }
.editorial-insights-strip > *:last-child { border-right: 0; }
.editorial-insights-strip > aside > strong, .editorial-insights-strip article header strong { color: var(--accent-dark); font-size: 15px; }
.editorial-insights-strip aside > div { display: grid; gap: 12px; margin-top: 8px; }
.editorial-insights-strip aside button { min-height: 30px; border: 1px solid var(--line); border-radius: 7px; background: white; color: #596578; font-size: 16px; font-weight: 800; cursor: pointer; }
.editorial-insights-strip aside button.active { border-color: var(--ink); background: var(--ink); color: white; }
.editorial-insights-strip article > div:not(.mini-chart div):not(.has-thumb) { min-height: 40px; display: grid; grid-template-columns: 16px 1fr; grid-template-areas: "rank title" "rank meta"; align-items: center; gap: 1px 6px; border-top: 1px solid #edf0f3; }
.editorial-insights-strip article > div b { grid-area: rank; color: var(--accent); font-size: 16px; }
.editorial-insights-strip article > div span { grid-area: title; overflow: hidden; font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.editorial-insights-strip article > div small { grid-area: meta; color: var(--muted); font-size: 14px; }
.editorial-insights-strip article > div small strong { color: var(--ink); font-size: inherit; }
.editorial-insights-strip article > div.has-thumb { display: grid; align-items: center; gap: 1px 6px; border-top: 1px solid #edf0f3; grid-template-columns: 16px 40px 1fr; grid-template-areas: "rank thumb title" "rank thumb meta"; min-height: 52px; padding: 4px 0; }
.editorial-insights-strip article > div.has-thumb img.thumb { grid-area: thumb; align-self: center; width: 40px; height: 50px; object-fit: cover; border-radius: 6px; }
.editorial-insights-strip article > div.has-thumb span { white-space: normal; line-height: 1.25; }
.mini-chart svg { display: block; width: 100%; height: auto; margin-top: 16px; }
/* Engrenagem ADMIN-only (ajustar piso do eixo Y) no card "Crescimento perfil" — reaproveita
   .meta-fourup-gear (insights-dashboard-v2), só precisa de position:relative no header aqui. */
.mini-chart header { position: relative; padding-right: 20px; }
.editorial-master { overflow: hidden; margin-bottom: 14px; box-shadow: none; }
.editorial-master-head { display: flex; align-items: center; gap: 10px; padding: 20px 14px; border-bottom: 1px solid var(--line); }
.editorial-master-head-left { flex: 1; min-width: 0; }
.editorial-master-head h2 { margin: 0; font-size: 20px; }
/* .em-word/.em-value: "Editorial" em laranja + nome do editorial em cinza — reaproveitado tanto
   no heading do Cliente Interno (dentro de .editorial-master-head) quanto no heading equivalente
   da Área do Cliente (renderMidiasSociaisTab, sem esse wrapper), por isso classe solta em vez de
   escopada só dentro de .editorial-master-head. */
.em-word { color: var(--accent-dark); }
.em-value { color: var(--muted); }
.editorial-master-head-left > span { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
.editorial-master-head-right { flex: 1; display: flex; justify-content: flex-end; }
.editorial-master-head label { display: grid; gap: 4px; flex: 0 0 auto; }
.editorial-master-head label span { color: var(--muted); font-size: 12px; font-weight: 850; text-transform: uppercase; }
.editorial-master-head input { height: 34px; width: 150px; padding: 0 8px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; }
.editorial-master-head select { height: 34px; width: 130px; padding: 0 8px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; background: white; }
.editorial-workflow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.editorial-workflow button { min-height: 28px; padding: 0 10px; border: 1px solid #d8dee5; border-radius: 999px; background: white; color: #6e7888; font-size: 12.5px; font-weight: 800; cursor: pointer; }
.editorial-workflow button.complete { border-color: #a8d7c1; background: #f1faf5; color: #277854; }
.editorial-schedule-controls { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.editorial-schedule-controls .secondary-button { min-height: 28px; padding: 0 10px; border-radius: 999px; font-size: 12.5px; font-weight: 800; }
.editorial-schedule-controls .pill { min-height: 28px; padding: 0 8px; font-size: 12px; }
.editorial-create-row { display: grid; grid-template-columns: minmax(150px,1fr) 145px 105px 120px 36px; align-items: center; gap: 8px; padding: 11px 14px; }
.editorial-create-row input, .editorial-create-row select { min-width: 0; height: 36px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: white; font-size: 16px; }
.round-add { width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--ink); color: white; font-size: 18px; cursor: pointer; }
.approval-workspace { margin-bottom: 14px; }
.approval-workspace > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.approval-workspace h2 { margin: 0; color: var(--accent-dark); font-size: 19px; }
.approval-workspace > header p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.approval-overview { display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 12px; margin-bottom: 12px; }
.post-jump-list { display: grid; align-content: start; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; }
.post-jump-list button { min-height: 58px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 8px; padding: 7px 10px; border: 0; border-bottom: 1px solid #edf0f3; background: white; text-align: left; cursor: pointer; }
.post-jump-list button:last-child { border-bottom: 0; }
.post-jump-list button:hover { background: #fffaf6; }
.post-jump-list button > span { display: grid; color: var(--accent-dark); font-size: 13px; font-weight: 900; }
.post-jump-list button small { color: var(--muted); font-size: 12px; }
.post-jump-list button > strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.phone-preview { position: relative; overflow: hidden; min-height: 310px; padding: 26px 12px 12px; border: 8px solid #17191d; border-radius: 34px; background: white; box-shadow: 0 14px 35px rgba(23,32,46,.13); }
.phone-speaker { position: absolute; top: 0; left: 50%; width: 90px; height: 18px; border-radius: 0 0 12px 12px; background: #17191d; transform: translateX(-50%); }
.phone-preview > header { display: grid; grid-template-columns: 27px 1fr auto; align-items: center; gap: 6px; min-height: 38px; }
.phone-preview .avatar { width: 25px; height: 25px; font-size: 12px; }
.phone-preview header strong { font-size: 12px; }
.phone-art-grid { height: 148px; display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; margin-inline: -12px; }
.phone-art-grid span { display: grid; place-items: end center; padding: 8px 4px; background: linear-gradient(155deg,#ffb780,#dd5d00); color: white; font-size: 11px; font-weight: 800; text-align: center; }
.phone-art-grid span:nth-child(2) { background: linear-gradient(155deg,#769de2,#284e91); }.phone-art-grid span:nth-child(3) { background: linear-gradient(155deg,#e2d1b8,#6f5540); }
.phone-preview > footer { padding-top: 7px; font-size: 16px; }
.phone-preview footer strong { display: block; margin-top: 6px; font-size: 12px; }.phone-preview footer p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.editorial-post-list { display: grid; gap: 13px; }
.editorial-post-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); }
.editorial-post-card > header { min-height: 65px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto auto; align-items: center; gap: 9px; padding: 9px 13px; border-bottom: 1px solid var(--line); background: #fffaf6; }
.post-format-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: #fff0e4; color: var(--accent-dark); font-size: 16px; font-weight: 900; }
.editorial-post-card > header > span:nth-child(2) { min-width: 0; display: grid; }
.editorial-post-card > header strong { overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.editorial-post-card > header small { margin-top: 3px; color: var(--muted); font-size: 13px; }
.post-number { color: var(--muted); font-size: 12px; font-weight: 800; }
.post-editor { padding: 12px; }
.post-commandbar { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; }
.post-commandbar button, .creative-assets button, .ai-center > button, .asset-actions button { min-height: 28px; padding: 0 8px; border: 1px solid var(--line); border-radius: 7px; background: white; color: #596578; font-size: 12px; font-weight: 800; cursor: pointer; }
.post-commandbar button:first-child, .asset-actions button:nth-child(2) { border-color: #ffc69d; background: #fff3ea; color: var(--accent-dark); }
.post-schedule-fields { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; margin-bottom: 10px; padding: 9px; border-radius: 9px; background: #f7f8fa; }
.post-schedule-fields label, .post-fields label { display: grid; gap: 4px; }
.post-schedule-fields label > span, .post-fields label > span { color: var(--muted); font-size: 12px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.post-schedule-fields input, .post-schedule-fields select { min-width: 0; height: 31px; padding: 0 7px; border: 1px solid var(--line); border-radius: 7px; background: white; font-size: 13px; }
.post-creative-grid { display: grid; grid-template-columns: minmax(0,1fr) 235px; gap: 10px; margin-bottom: 10px; }
.creative-assets, .ai-center { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.creative-assets > header { min-height: 51px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.creative-assets header > div:first-child { display: grid; }.creative-assets header strong, .ai-center header strong { font-size: 14px; }.creative-assets header small { color: var(--muted); font-size: 12px; }
.creative-assets header > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.asset-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; padding: 8px; background: #f7f8fa; }
.asset-strip article { min-height: 112px; display: grid; grid-template-columns: 1fr 1fr; align-content: end; gap: 4px; padding: 7px; border-radius: 8px; background: linear-gradient(145deg,#ffb37b,#d95c00); color: white; }
.asset-strip article:nth-child(2) { background: linear-gradient(145deg,#7ca7e6,#2b5c9e); }.asset-strip article:nth-child(3) { background: linear-gradient(145deg,#b7dacb,#287e5b); }
.asset-strip article span { grid-column: 1 / 3; align-self: start; font-size: 19px; font-weight: 900; }.asset-strip article strong { grid-column: 1 / 3; font-size: 13px; }.asset-strip article button { min-height: 23px; padding: 0 4px; border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.18); color: white; font-size: 11px; }
.asset-actions { display: flex; gap: 5px; padding: 8px; border-top: 1px solid var(--line); }
.ai-center { padding-bottom: 8px; }
.ai-center > header { min-height: 43px; display: flex; align-items: center; justify-content: space-between; padding: 8px; border-bottom: 1px solid var(--line); }
.ai-center > button { width: calc(100% - 16px); margin: 8px 8px 0; }
.ai-center textarea { width: calc(100% - 16px); min-height: 82px; margin: 8px 8px 0; padding: 7px; resize: vertical; border: 1px solid var(--line); border-radius: 7px; color: #536174; font-size: 12px; line-height: 1.45; }
.post-content-tabs { display: flex; gap: 5px; margin-bottom: 8px; border-bottom: 1px solid var(--line); }
.post-content-tabs button { min-height: 31px; padding: 0 12px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font-size: 13px; font-weight: 850; cursor: pointer; }
.post-content-tabs button.active { border-bottom-color: var(--accent); color: var(--accent-dark); }
.post-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.post-fields .field-wide { grid-column: 1 / 3; }
.post-fields textarea { width: 100%; min-height: 75px; padding: 8px; resize: vertical; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); font-size: 13px; line-height: 1.5; }
.post-fields .field-wide textarea { min-height: 105px; }
.post-fields textarea:disabled { background: #f4f5f7; color: #7c8796; }
.post-editor > footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.post-editor > footer > span { color: var(--muted); font-size: 12px; }
.post-editor > footer > div { display: flex; gap: 6px; }
.editorial-responsibility { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) auto; align-items: center; gap: 0; overflow: hidden; box-shadow: none; }
.editorial-responsibility > div { min-height: 60px; display: grid; grid-template-columns: 1fr auto; grid-template-areas: "label action" "name action"; align-items: center; padding: 9px 12px; border-right: 1px solid var(--line); }
.editorial-responsibility div span { grid-area: label; color: var(--muted); font-size: 12px; font-weight: 850; text-transform: uppercase; }.editorial-responsibility div strong { grid-area: name; font-size: 14px; }.editorial-responsibility div button { grid-area: action; border: 0; background: transparent; color: var(--accent-dark); font-size: 12px; font-weight: 800; cursor: pointer; }
.reject-editorial { min-height: 60px; padding: 0 14px; border: 0; background: #fff0f0; color: var(--red); font-size: 13px; font-weight: 850; cursor: pointer; }

.bubble-chronogram {
  display: grid;
  grid-template-columns: 155px minmax(0,1fr);
  gap: 22px;
  margin: 26px 0 48px;
  padding: 22px 28px;
  border: 2px solid var(--accent);
  border-radius: 14px;
  background: white;
}
.bubble-chronogram h2 {
  align-self: center;
  margin: 0;
  color: var(--accent-dark);
  font-size: 20px;
}
.bubble-chronogram > div { min-width: 0; }
.bubble-chronogram section + section { margin-top: 14px; }
.bubble-chronogram section > strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: 15px; }
.bubble-chronogram-row {
  min-height: 34px;
  display: grid;
  grid-template-columns: 18px minmax(0,1fr) 20px;
  align-items: center;
  gap: 7px;
  border-bottom: 1px solid #dfe3e8;
}
.bubble-chronogram-row > span { color: #303741; font-size: 19px; font-weight: 900; }
.bubble-chronogram-row p { overflow: hidden; margin: 0; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.bubble-chronogram-row button { border: 0; background: transparent; color: #303741; font-size: 18px; font-weight: 900; cursor: pointer; }
.bubble-approval-section { margin: 0 0 58px; }
.bubble-approval-section > h2 {
  margin: 0 0 24px;
  color: var(--accent-dark);
  font-size: 21px;
  text-align: center;
}
.bubble-production-list { display: grid; gap: 28px; }
.bubble-production-post {
  overflow: hidden;
  border: 1px solid #dfe3e8;
  background: white;
  box-shadow: 0 3px 12px rgba(31,45,65,.04);
}
.bubble-art-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.bubble-art-tile { position: relative; min-height: 112px; display: grid; place-items: center; overflow: hidden; border: 1px solid #d8dde3; background: linear-gradient(145deg,#343b46,#697485); color: white; }
.bubble-art-tile:nth-child(2) { background: linear-gradient(145deg,#ef6d22,#ff9a49); }
.bubble-art-tile:nth-child(3) { background: linear-gradient(145deg,#23364d,#c2d1df); }
.bubble-art-tile > span { position: absolute; top: 5px; left: 6px; width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; background: white; color: var(--accent-dark); font-size: 12px; font-weight: 900; }
.bubble-art-tile > div { font-size: 13px; font-weight: 900; letter-spacing: .08em; }
.bubble-art-tile nav { position: absolute; right: 4px; bottom: 4px; display: flex; gap: 3px; }
.bubble-art-tile nav button { width: 22px; height: 22px; padding: 0; border: 0; border-radius: 4px; background: rgba(255,255,255,.9); color: #344054; font-size: 14px; cursor: pointer; }
.bubble-production-post > footer { padding: 8px 12px; border-top: 1px solid #e2e5e9; color: #7a8492; font-size: 12px; text-align: right; }
.bubble-story-simulation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: -10px 0 18px;
  padding: 12px;
  border: 1px solid #dfe3e8;
  background: white;
}
.bubble-story-simulation > strong { margin-right: 12px; color: var(--accent-dark); font-size: 14px; }
.bubble-story-simulation label { display: flex; align-items: center; gap: 4px; font-size: 12px; }
.bubble-story-simulation label > span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: white; font-size: 13px; font-weight: 900; }
.bubble-story-simulation input { width: 115px; font-size: 12px; }

/* Editorial: reprodução deliberadamente fiel da estrutura operacional do Bubble. */
.bubble-chronogram {
  min-height: 477px;
  grid-template-columns: 205px minmax(0,1fr);
  align-items: center;
  gap: 0;
  margin: 100px 0 78px;
  padding: 28px 14px 28px 0;
  border: 2px solid #ed782e;
  border-radius: 20px;
  box-shadow: none;
}
.bubble-chronogram h2 {
  padding-left: 24px;
  color: #ed782e;
  font-size: 26px;
}
.bubble-chronogram section + section { margin-top: 23px; }
.bubble-chronogram section > strong { margin-bottom: 5px; font-size: 19px; }
.bubble-chronogram-row { min-height: 46px; grid-template-columns: 28px minmax(0,1fr) 28px; gap: 8px; }
.bubble-chronogram-row > span { font-size: 26px; }
.bubble-chronogram-row p { font-size: 18px; }
.bubble-chronogram-row button { font-size: 25px; }
.bubble-approval-section { margin-bottom: 85px; }
.bubble-approval-section > h2 { margin-bottom: 44px; color: #ed782e; font-size: 29px; }
.bubble-production-list { gap: 50px; }
.bubble-production-post {
  min-height: 1080px;
  overflow: visible;
  border: 0;
  border-bottom: 2px solid #4b4b4b;
  border-radius: 0;
  box-shadow: 0 3px 5px rgba(0,0,0,.22);
}
.bubble-production-post.feed { min-height: 1440px; }
.bubble-rating {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 5px 10px;
  margin-top: 22px;
  color: #ed782e;
  font-size: 17px;
}
.bubble-rating strong { color: #343940; font-size: 18px; letter-spacing: 5px; white-space: nowrap; }
.bubble-production-post > footer { padding: 8px 12px 22px; border: 0; color: #5d5d5d; font-size: 15px; text-align: center; }
.bubble-story-simulation {
  min-height: 500px;
  align-items: flex-end;
  margin-bottom: 0;
  border: 0;
  border-top: 2px solid #ed782e;
  border-bottom: 2px solid #ed782e;
}
.bubble-story-simulation > strong { align-self: flex-start; color: #ed782e; font-size: 19px; }

/* Mesmo mapa de campos do Bubble, com o acabamento e a densidade do produto novo. */
.bubble-chronogram {
  min-height: 0;
  grid-template-columns: 145px minmax(0,1fr);
  margin: 24px 0 42px;
  padding: 18px 22px;
  border: 1px solid #ff9d5a;
  border-radius: 14px;
  box-shadow: var(--shadow);
}
.bubble-chronogram h2 { padding-left: 0; font-size: 18px; }
.bubble-chronogram section + section { margin-top: 12px; }
.bubble-chronogram section > strong { font-size: 15px; }
.bubble-chronogram-row { min-height: 38px; grid-template-columns: 22px minmax(0,1fr) 24px; }
.bubble-chronogram-row > span { color: var(--accent-dark); font-size: 18px; }
.bubble-chronogram-row p { color: #364152; font-size: 16px; }
.bubble-chronogram-row button { color: #657083; font-size: 19px; }
.bubble-chronogram-row button.chronogram-delete { color: #d64541; }
.bubble-approval-section { margin-bottom: 48px; }
.bubble-approval-section > h2 { margin-bottom: 18px; font-size: 19px; text-align: left; }
.bubble-production-list { gap: 18px; }
.bubble-production-post,
.bubble-production-post.feed,
.bubble-production-post.story {
  min-height: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: white;
  box-shadow: var(--shadow);
}
.bubble-production-post > footer { padding: 8px 14px 11px; border-top: 1px solid #edf0f3; font-size: 12px; text-align: right; }
.bubble-story-simulation {
  min-height: 0;
  align-items: center;
  margin-bottom: 14px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: white;
}
.bubble-story-simulation > strong { align-self: auto; color: var(--accent-dark); font-size: 13px; }

.task-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 16px; }
.task-summary article { min-height: 91px; display: grid; grid-template-columns: 1fr auto; grid-template-areas: "label value" "meta value"; align-items: center; gap: 0 12px; padding: 14px 15px; border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 13px; background: white; box-shadow: var(--shadow); }
.task-summary small { grid-area: label; color: var(--muted); font-size: 13px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.task-summary strong { grid-area: value; font-size: 25px; letter-spacing: -.04em; }
.task-summary span { grid-area: meta; color: var(--muted); font-size: 13px; }
.task-summary .summary-danger { border-left-color: var(--red); }
.task-summary .summary-danger strong { color: var(--red); }
.task-summary .summary-success { border-left-color: var(--green); }
.tasks-layout { display: grid; grid-template-columns: minmax(0,1fr) 258px; gap: 14px; align-items: start; }
.tasks-panel { overflow: hidden; }
.tasks-toolbar { min-height: 66px; display: flex; align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.tasks-toolbar select, .schedule-toolbar select { min-height: 36px; padding: 0 29px 0 10px; border: 1px solid var(--line); border-radius: 9px; background: white; color: #596578; font-size: 14px; font-weight: 700; }
.compact-switch { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: #f5f7f9; }
.compact-switch button { min-height: 28px; padding: 0 9px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-size: 13px; font-weight: 800; cursor: pointer; }
.compact-switch button.active { background: white; color: var(--ink); box-shadow: 0 2px 7px rgba(31,45,65,.08); }
.task-table-head { min-height: 33px; display: grid; grid-template-columns: minmax(0,1fr) 112px 110px 23px; align-items: center; gap: 10px; padding: 0 14px 0 52px; background: #f8f9fa; color: #8b95a3; font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.task-group > header { min-height: 34px; display: flex; align-items: center; gap: 7px; padding: 0 14px; border-top: 1px solid #edf0f3; background: #fbfcfd; }
.task-group > header strong { font-size: 14px; }
.task-group > header small { min-width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: #eef1f4; color: var(--muted); font-size: 12px; font-weight: 850; }
.task-group-dot { width: 7px; height: 7px; border-radius: 50%; }
.group-red { background: var(--red); }.group-orange { background: var(--accent); }.group-blue { background: var(--blue); }
.task-row { min-height: 66px; display: grid; grid-template-columns: 27px minmax(0,1fr) 112px 110px 23px; align-items: center; gap: 10px; padding: 8px 14px; border-top: 1px solid #edf0f3; background: white; }
.task-row:hover { background: #fffaf6; }
.task-check { width: 20px; height: 20px; border: 1.5px solid #cdd4dd; border-radius: 6px; background: white; color: white; font-size: 15px; cursor: pointer; }
.task-completed { opacity: .6; }
.task-completed .task-check { border-color: var(--green); background: var(--green); }
.task-completed .task-copy strong { text-decoration: line-through; }
.task-copy { min-width: 0; display: grid; }
.task-copy strong { overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.task-copy small { margin-top: 3px; color: var(--muted); font-size: 13px; }
.task-owner { display: flex; align-items: center; gap: 6px; color: #596578; font-size: 13px; font-weight: 700; }
.task-owner .team-avatar { width: 24px; height: 24px; }
.task-due { display: grid; color: #596578; font-size: 13px; font-weight: 750; }
.task-due small { margin-top: 2px; color: var(--muted); font-size: 12px; font-weight: 600; }
.task-due.overdue { color: var(--red); }
.task-more { border: 0; background: transparent; color: #929ba8; cursor: pointer; }
.tasks-rail { display: grid; gap: 10px; }
.focus-card { padding: 15px; border-top: 3px solid var(--accent); box-shadow: none; }
.focus-card > strong { display: block; margin-top: 5px; font-size: 15px; line-height: 1.4; }
.focus-card > span { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; }
.focus-progress { height: 5px; overflow: hidden; margin: 15px 0 13px; border-radius: 10px; background: #edf0f3; }
.focus-progress i { width: 62%; height: 100%; display: block; background: var(--accent); }
.focus-card .primary-button { width: 100%; }
.team-queue { padding: 14px; box-shadow: none; }
.team-queue > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.team-queue h2 { font-size: 16px; }
.team-queue > div { min-height: 55px; display: grid; grid-template-columns: 29px 1fr auto; align-items: center; gap: 8px; border-top: 1px solid #edf0f3; }
.team-queue > div > span:nth-child(2) { display: grid; }
.team-queue strong { font-size: 13px; }.team-queue small { color: var(--muted); font-size: 12px; }.team-queue b { font-size: 14px; }
.kanban-toolbar { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding: 10px; box-shadow: none; }
.kanban-toolbar select { min-height: 36px; padding: 0 29px 0 10px; border: 1px solid var(--line); border-radius: 9px; background: white; color: #596578; font-size: 16px; font-weight: 700; }
.task-kanban-wrap { display: flex; align-items: flex-start; gap: 12px; padding: 2px 1px 14px; }
.task-kanban-others { flex: 1; min-width: 0; display: grid; grid-template-columns: repeat(auto-fill, 240px); gap: 12px; align-items: start; }
.kanban-column { width: 240px; min-width: 240px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #f1f3f5; }
.kanban-column-me { width: 360px; min-width: 360px; flex-shrink: 0; }
.kanban-column-me .kanban-cards { max-height: none; overflow-y: visible; }
.kanban-column > header { min-height: 58px; display: grid; grid-template-columns: 34px 1fr 25px; align-items: center; gap: 8px; padding: 10px 11px; border-top: 3px solid var(--accent); background: white; }
.kanban-column-2 > header { border-top-color: var(--blue); }.kanban-column-3 > header { border-top-color: var(--violet); }.kanban-column-4 > header { border-top-color: var(--green); }
.kanban-person-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: #fff0e4; color: var(--accent-dark); font-size: 14px; font-weight: 900; }
.kanban-column-2 .kanban-person-avatar { background: #eaf2ff; color: var(--blue); }.kanban-column-3 .kanban-person-avatar { background: #f0ecff; color: var(--violet); }.kanban-column-4 .kanban-person-avatar { background: #e8f6ef; color: var(--green); }
.kanban-column > header > span:nth-child(2) { display: grid; }
.kanban-column > header strong { font-size: 19px; }.kanban-column > header small { margin-top: 2px; color: var(--muted); font-size: 14px; }
.kanban-column > header button { border: 0; background: transparent; color: #8e98a5; cursor: pointer; }
.kanban-cards { max-height: 600px; display: grid; gap: 6px; overflow-y: auto; padding: 7px; }
.kanban-task { min-height: 116px; display: flex; flex-direction: column; padding: 7px 8px; border: 1px solid #dfe4e9; border-left: 3px solid #dfe4e9; border-radius: 9px; background: white; box-shadow: 0 3px 10px rgba(31,45,65,.04); }
.kanban-task-overdue { border-left-color: var(--red); }
.kanban-task > header { display: grid; grid-template-columns: 21px 1fr 20px; align-items: center; gap: 5px; }
.kanban-check { width: 20px; height: 20px; display: grid; place-items: center; padding: 0; border: 2px solid var(--red); border-radius: 50%; background: var(--red); color: white; cursor: pointer; }
.kanban-check svg { display: block; }
.kanban-task-completed { border-left-color: var(--green); background: #f4fbf7; }
.kanban-task-completed .kanban-check { border-color: var(--green); background: var(--green); }
.kanban-task time { min-height: 21px; display: grid; place-items: center; padding: 0 6px; border-radius: 5px; background: #f4f6f8; color: var(--accent-dark); font-size: 17px; font-weight: 700; }
.kanban-delete { border: 0; background: transparent; color: var(--accent); font-size: 18px; font-weight: 850; cursor: pointer; }
.kanban-task-title { display: block; margin-top: 6px; padding: 0; border: 0; background: transparent; color: var(--accent-dark); text-align: left; font-size: 15px; font-weight: 700; line-height: 1.3; }
.kanban-task-title-link { text-decoration: underline; cursor: pointer; }
.kanban-task > p { overflow: hidden; margin: 4px 0 0; color: #596578; font-size: 14px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.kanban-empty { min-height: 120px; display: grid; place-items: center; padding: 14px; border: 1px dashed #d7dde4; border-radius: 9px; color: var(--muted); font-size: 15px; text-align: center; }
.kanban-add-input { width: calc(100% - 18px); min-height: 35px; margin: 0 9px 9px; padding: 0 10px; border: 1px dashed #cdd4dd; border-radius: 8px; background: rgba(255,255,255,.7); color: #34404f; font-size: 15px; font-weight: 700; font-family: inherit; }
.kanban-add-input::placeholder { color: #6c7787; font-weight: 800; }
.kanban-add-input:focus { border-color: #ffb984; background: white; outline: none; }

.schedule-daybar { min-height: 64px; display: flex; align-items: center; gap: 8px; margin-bottom: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--shadow); }
.schedule-daybar > button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 8px; background: white; color: #596578; cursor: pointer; }
.schedule-daybar > label { display: grid; }
.schedule-daybar label span { color: var(--muted); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.schedule-daybar input { border: 0; outline: 0; color: var(--ink); font-size: 15px; font-weight: 800; }
.schedule-daybar .today-button { width: auto; padding: 0 11px; color: var(--accent-dark); font-size: 14px; font-weight: 800; }
.schedule-daybar > div { display: grid; margin-left: auto; text-align: right; }
.schedule-daybar > div strong { font-size: 15px; }.schedule-daybar > div small { color: var(--muted); font-size: 13px; }
.schedule-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }
.schedule-summary button { min-height: 50px; display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid var(--line); border-radius: 11px; background: white; color: #596578; text-align: left; cursor: pointer; }
.schedule-summary button.active { border-color: #ffbe90; box-shadow: 0 0 0 2px #fff0e5; color: var(--ink); }
.schedule-summary button span:nth-child(2) { font-size: 14px; font-weight: 800; }
.schedule-summary button strong { font-size: 17px; }
.schedule-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #8c97a6; }
.schedule-dot-yellow { background: var(--yellow); }.schedule-dot-green { background: var(--green); }.schedule-dot-red { background: var(--red); }
.schedule-panel { overflow: hidden; box-shadow: none; }
.schedule-toolbar { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px; border-bottom: 1px solid var(--line); }
.schedule-toolbar h2 { font-size: 15px; }.schedule-toolbar p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.schedule-toolbar > div:last-child { display: flex; gap: 7px; }
.schedule-list { padding: 4px 15px 14px; }
.schedule-row { display: grid; grid-template-columns: 48px 12px minmax(0,1fr); gap: 9px; align-items: stretch; padding-top: 10px; }
.schedule-row > time { padding-top: 13px; color: #526073; font-size: 15px; font-weight: 850; text-align: right; }
.schedule-line-dot { position: relative; width: 9px; height: 9px; margin-top: 15px; border: 2px solid white; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 2px #dbe1e7; }
.schedule-line-dot::after { content: ""; position: absolute; z-index: -1; top: 9px; left: 2px; width: 1px; height: calc(100% + 80px); background: #e1e6eb; }
.schedule-row:last-child .schedule-line-dot::after { display: none; }
.schedule-line-red { background: var(--red); }.schedule-line-yellow { background: var(--yellow); }
.schedule-post { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; }
.schedule-post > header { min-height: 58px; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 9px; padding: 9px 12px; }
.schedule-client-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: #fff0e4; color: var(--accent-dark); font-size: 13px; font-weight: 900; }
.schedule-post > header > span:nth-child(2) { min-width: 0; display: grid; }
.schedule-post > header strong { overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.schedule-post > header small { margin-top: 2px; color: var(--muted); font-size: 13px; }
.channel-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #edf0f3; border-bottom: 1px solid #edf0f3; background: #fafbfc; }
.channel-results > span { min-height: 36px; display: flex; align-items: center; gap: 6px; padding: 0 12px; color: #596578; font-size: 13px; }
.channel-results > span + span { border-left: 1px solid #edf0f3; }
.channel-results b { width: 17px; height: 17px; display: grid; place-items: center; border-radius: 5px; background: #edf0f4; font-size: 13px; }
.channel-results strong { margin-left: auto; color: var(--green); font-size: 12px; text-transform: uppercase; }
.channel-results .channel-failed strong { color: var(--red); }
.schedule-error { display: flex; gap: 8px; padding: 9px 12px; border-bottom: 1px solid #f2d3d3; background: #fff5f5; color: #a63d3d; font-size: 13px; }
.schedule-error strong { flex-shrink: 0; }
.schedule-post > footer { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 12px; }
.schedule-post > footer > span { color: var(--muted); font-size: 12px; }
.schedule-post > footer > div { display: flex; align-items: center; gap: 5px; }
.schedule-post .small-button:disabled { opacity: .6; cursor: wait; }
.schedule-card-grid { display: grid; grid-template-columns: repeat(auto-fill,248px); justify-content: start; gap: 12px; padding: 12px; background: #f6f7f9; }
.schedule-post-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-top: 3px solid var(--green); border-radius: 13px; background: white; box-shadow: 0 5px 18px rgba(31,45,65,.055); }
.schedule-post-red { border-top-color: var(--red); }.schedule-post-yellow { border-top-color: var(--yellow); }
.schedule-card-delete { position: absolute; top: 8px; right: 8px; z-index: 2; width: 25px; height: 25px; display: grid; place-items: center; border: 0; border-radius: 7px; background: rgba(23,32,46,.72); color: white; font-size: 18px; cursor: pointer; }
.schedule-thumb { height: 140px; display: grid; place-content: center; gap: 6px; background: linear-gradient(135deg,#fee3ce,#ff8c3a); color: white; text-align: center; }
.schedule-thumb-2 { background: linear-gradient(135deg,#bddbf6,#3578d4); }.schedule-thumb-3 { background: linear-gradient(135deg,#d7cef7,#7658c4); }.schedule-thumb-4 { background: linear-gradient(135deg,#b9e7d3,#229b6b); }
.schedule-thumb > span { font-size: 31px; font-weight: 700; }.schedule-thumb > small { font-size: 13px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.schedule-card-body { padding: 11px 12px 10px; }
.schedule-card-time { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.schedule-card-time time { color: var(--accent-dark); font-size: 16px; font-weight: 900; }
.schedule-card-client { display: block; margin-top: 8px; overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.schedule-card-format { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; font-weight: 750; text-transform: uppercase; }
.schedule-card-caption { display: -webkit-box; overflow: hidden; min-height: 34px; margin: 8px 0 0; color: #536174; font-size: 13px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.schedule-card-platforms { display: grid; gap: 5px; margin-top: 10px; padding-top: 9px; border-top: 1px solid #edf0f3; }
.schedule-card-platforms > span { min-height: 23px; display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 5px; color: #596578; font-size: 13px; }
.schedule-card-platforms b { width: 19px; height: 19px; display: grid; place-items: center; border-radius: 5px; background: #edf2f8; color: var(--blue); font-size: 13px; }

/* Agendamentos V2 — layout portado 1:1 da V1 (src/admin/layout.ts), a pedido do usuário
   ("esqueça esse layout e coloque na V2 o layout do agendamento V1"). Escopado sob
   .agendamentos-v1 pra não colidir com classes já usadas em outras páginas V2 (ex: .pill,
   que aqui tem tamanho/formato diferente do resto do site — é o chip grande clicável de
   filtro da V1, não o selo pequeno usado em outras telas). */
.agendamentos-v1 .toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 16px 0 24px; }
.agendamentos-v1 .toolbar input[type="date"] { width: auto; }
/* Filtro por cliente + ícone "ver todos"/"ver só um dia" (pedido do usuário) — o select tem que
   ficar pequeno igual os outros controles do toolbar, não no tamanho padrão do navegador (que
   cresce sozinho conforme o nome do cliente selecionado), senão ele sozinho quebra a linha toda. */
.agendamentos-v1 .toolbar .agenda-client-select { height: 36px; box-sizing: border-box; border: 1px solid var(--line); border-radius: 8px; padding: 0 6px; font-family: inherit; font-size: 13px; width: 110px; }
.agendamentos-v1 .toolbar .icon-button { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; box-sizing: border-box; border: 1px solid var(--line); border-radius: 8px; background: white; text-decoration: none; font-size: 16px; flex-shrink: 0; }
.agendamentos-v1 .toolbar .icon-button:hover { border-color: var(--accent); }
.agendamentos-v1 .pill { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; text-decoration: none; border: 2px solid transparent; white-space: nowrap; }
.agendamentos-v1 .pill .count { background: rgba(255,255,255,0.6); border-radius: 999px; padding: 1px 7px; font-size: 12px; }
.agendamentos-v1 .pill-all { background: #eee; color: #333; }
.agendamentos-v1 .pill-pending { background: #fff2cc; color: #8a6d00; }
.agendamentos-v1 .pill-published { background: #d9f2df; color: #1e7a37; }
.agendamentos-v1 .pill-failed { background: #fbdcd9; color: #9c1c0f; }
.agendamentos-v1 .pill-processing { background: #d6e6fd; color: #1355b4; }
.agendamentos-v1 .pill-canceled { background: #e6e6e6; color: #555; }
.agendamentos-v1 .pill.active { border-color: currentColor; }
.agendamentos-v1 .post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.agendamentos-v1 .post-card { position: relative; background: white; border: 1px solid #e4e4e4; border-left: 5px solid #ccc; border-radius: 10px; font-size: 13px; overflow: hidden; }
.agendamentos-v1 .post-delete-btn { position: absolute; top: 6px; right: 6px; width: 22px; height: 22px; border-radius: 50%; background: rgba(0,0,0,0.55); color: white; border: none; cursor: pointer; font-size: 14px; line-height: 1; display: flex; align-items: center; justify-content: center; z-index: 2; padding: 0; }
.agendamentos-v1 .post-delete-btn:hover { background: #d93025; }
.agendamentos-v1 .post-card.post-pending { border-left-color: #d4a017; }
.agendamentos-v1 .post-card.post-published { border-left-color: #34a853; }
.agendamentos-v1 .post-card.post-failed { border-left-color: #d93025; }
.agendamentos-v1 .post-card.post-processing { border-left-color: #1877f2; }
.agendamentos-v1 .post-card.post-canceled { border-left-color: #999; }
.agendamentos-v1 .post-thumb { width: 100%; height: 140px; object-fit: cover; display: block; background: #f0f0f0; }
.agendamentos-v1 .post-thumb-placeholder { display: flex; align-items: center; justify-content: center; font-size: 36px; }
.agendamentos-v1 .post-body { padding: 14px; }
.agendamentos-v1 .post-time { font-weight: 700; font-size: 15px; }
.agendamentos-v1 .post-client { font-weight: 600; margin-top: 4px; }
.agendamentos-v1 .post-meta { color: #777; font-size: 12px; margin-top: 2px; }
.agendamentos-v1 .post-caption { margin-top: 8px; color: #333; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.agendamentos-v1 .post-error { margin-top: 4px; color: #9c1c0f; font-size: 12px; }
.agendamentos-v1 .post-platforms { margin-top: 10px; border-top: 1px solid #eee; padding-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.agendamentos-v1 .post-platform-row { font-size: 12px; }
.agendamentos-v1 .post-platform-row a { color: #ff6b00; text-decoration: none; }
.agendamentos-v1 .post-retry-form { display: inline; margin: 4px 6px 0 0; }
.agendamentos-v1 .post-retry-btn { background: #12946a; color: white; border: none; border-radius: 5px; padding: 3px 8px; font-size: 11px; cursor: pointer; }
.agendamentos-v1 .post-retry-btn:hover { background: #0e7a56; }
.agendamentos-v1 .post-details-btn { background: #eee; color: #555; border: none; border-radius: 5px; padding: 3px 8px; font-size: 11px; cursor: pointer; margin-top: 4px; }
.agendamentos-v1 .post-details-btn:hover { background: #ddd; }
.agendamentos-v1 .post-details { display: none; margin-top: 6px; padding: 6px 8px; background: #fafafa; border: 1px solid #eee; border-radius: 6px; font-size: 11px; word-break: break-all; }
.agendamentos-v1 .post-details.open { display: block; }
.agendamentos-v1 .post-details a { color: #ff6b00; }
.agendamentos-v1 .post-updated { margin-top: 8px; padding-top: 6px; border-top: 1px solid #eee; font-size: 11px; color: #999; }
.agendamentos-v1 .status-pending { color: #b8860b; }
.agendamentos-v1 .status-published { color: #34a853; }
.agendamentos-v1 .status-failed { color: #d93025; }
.agendamentos-v1 .status-processing { color: #1877f2; }
.agendamentos-v1 .status-canceled { color: #888; }
.agendamentos-v1 .empty-state { color: #888; padding: 24px 0; }

/* Modal genérico (excluir post + posts manuais) — .modal-overlay/.modal/.btn nunca tiveram
   CSS definido em lugar nenhum, então o modal de excluir post sempre renderizou sem estilo
   (bug pré-existente, corrigido de graça aqui já que é a mesma página). */
.modal-overlay { display: none; position: fixed; inset: 0; z-index: 200; align-items: center; justify-content: center; background: rgba(23,32,46,.45); }
.modal-overlay.open { display: flex; }
.modal { width: min(420px, 92vw); max-height: 86vh; overflow-y: auto; padding: 20px; border-radius: 14px; background: white; box-shadow: var(--shadow); text-align: center; }
.modal h3 { margin: 0 0 8px; font-size: 17px; }
.modal p { margin: 0 0 16px; color: var(--muted); font-size: 13px; line-height: 1.4; }
.modal .btn { display: block; width: 100%; min-height: 40px; margin-top: 8px; padding: 0 14px; border: 0; border-radius: 9px; background: var(--accent); color: white; font-size: 14px; font-weight: 800; cursor: pointer; }
.modal .btn.danger { background: var(--red); }
.modal .btn.secondary { background: #eee; color: #333; }
.modal label { display: block; margin-top: 2px; color: #586476; font-size: 13px; font-weight: 800; text-align: left; }
.modal label input, .modal label select { width: 100%; box-sizing: border-box; min-height: 36px; margin-top: 5px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 8px; font-family: inherit; font-size: 14px; }
.modal label textarea { width: 100%; box-sizing: border-box; min-height: 70px; margin-top: 5px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 8px; font-family: inherit; font-size: 14px; resize: vertical; }

.manual-posts-header { display: flex; align-items: center; justify-content: space-between; margin: 26px 0 12px; }
.manual-posts-header h2 { margin: 0; font-size: 17px; }
.manual-posts-strip { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 6px; }
.manual-post-card { width: 190px; flex: 0 0 190px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow); }
.manual-post-time { color: var(--muted); font-size: 12px; font-weight: 700; }
.manual-post-title { margin: 6px 0; overflow-wrap: break-word; font-size: 14px; font-weight: 700; line-height: 1.3; }
.manual-post-actions { display: flex; gap: 8px; padding-top: 6px; border-top: 1px solid #edf0f3; }
.manual-post-actions button, .manual-post-actions span { border: 0; background: transparent; font-size: 15px; cursor: pointer; opacity: .75; }
.manual-post-actions button:hover { opacity: 1; }
.schedule-card-platforms strong { color: var(--green); font-size: 12px; letter-spacing: .02em; text-transform: uppercase; }
.schedule-card-platforms .channel-failed strong { color: var(--red); }
.schedule-card-error { margin-top: 7px; padding: 7px 8px; border-radius: 7px; background: #fff0f0; color: #a63d3d; font-size: 12px; line-height: 1.4; }
.schedule-card-body > footer { min-height: 36px; display: flex; align-items: flex-end; justify-content: space-between; gap: 7px; margin-top: 8px; padding-top: 8px; border-top: 1px solid #edf0f3; }
.schedule-card-body > footer > span { color: var(--muted); font-size: 12px; }
.schedule-card-body > footer > div { display: flex; align-items: center; gap: 4px; }
.schedule-card-body .small-button { min-height: 25px; padding: 0 7px; font-size: 13px; }
.schedule-card-body .text-button { font-size: 13px; }

.local-rank-heading { align-items: center; }
.local-rank-actions { display: flex; align-items: center; gap: 8px; }
.serp-balance { min-height: 42px; display: grid; grid-template-columns: 9px auto auto; align-items: center; gap: 3px 7px; padding: 5px 11px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.serp-balance .status-dot { grid-row: 1 / 3; }.serp-balance > span:nth-child(2) { color: #526073; font-size: 13px; font-weight: 800; }.serp-balance strong { font-size: 16px; }.serp-balance small { grid-column: 2 / 4; color: var(--muted); font-size: 12px; }
.local-rank-actions .secondary-button b { min-width: 18px; display: inline-grid; place-items: center; margin-left: 5px; padding: 2px 4px; border-radius: 99px; background: #eef1f4; font-size: 13px; }
.local-history { margin-bottom: 12px; overflow: hidden; box-shadow: none; }
.local-history > header { min-height: 40px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border-bottom: 1px solid var(--line); }
.local-history header strong { font-size: 15px; }.local-history header button { border: 0; background: transparent; cursor: pointer; }
.local-history > div { min-height: 42px; display: grid; grid-template-columns: 1fr 150px auto; align-items: center; gap: 8px; padding: 0 12px; border-bottom: 1px solid #edf0f3; font-size: 13px; }.local-history > div:last-child { border-bottom: 0; }.local-history small { color: var(--muted); }
.local-rank-controls { display: grid; grid-template-columns: minmax(180px,1.35fr) minmax(170px,1.2fr) repeat(3,minmax(95px,.55fr)) auto; gap: 8px; align-items: end; margin-bottom: 14px; padding: 12px; box-shadow: none; }
.local-rank-controls label { display: grid; gap: 5px; }.local-rank-controls label > span { color: #526073; font-size: 12px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.local-rank-controls input, .local-rank-controls select { min-width: 0; height: 36px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: white; color: var(--ink); font-size: 14px; }
.local-rank-controls input:focus, .local-rank-controls select:focus { border-color: #ffb984; box-shadow: 0 0 0 2px #fff0e5; }
.local-rank-controls .primary-button:disabled { border-color: #dfe4e9; background: #dfe4e9; color: #8c97a6; box-shadow: none; cursor: not-allowed; }
.local-rank-layout { display: grid; grid-template-columns: minmax(0,1fr) 255px; gap: 14px; align-items: start; }
.local-map-card { overflow: hidden; box-shadow: var(--shadow); }
.local-map-card > header { min-height: 65px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px; border-bottom: 1px solid var(--line); }
.local-map-card header > div { min-width: 0; display: grid; }.local-map-card header strong { overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }.local-map-card header small { margin-top: 3px; color: var(--muted); font-size: 13px; }
.local-map-card .secondary-button:disabled { opacity: .5; cursor: not-allowed; }
.local-map { position: relative; min-height: 430px; overflow: hidden; background-color: #edf1e8; background-image: linear-gradient(28deg,transparent 47%,rgba(255,255,255,.86) 48%,rgba(255,255,255,.86) 51%,transparent 52%),linear-gradient(112deg,transparent 44%,rgba(255,255,255,.72) 45%,rgba(255,255,255,.72) 48%,transparent 49%); }
.local-map::before { content: ""; position: absolute; inset: 14% 0 auto; height: 60px; background: rgba(181,214,237,.7); transform: rotate(-5deg); }
.map-road { position: absolute; z-index: 1; height: 7px; border: 2px solid rgba(255,255,255,.9); background: #d7d0c4; transform-origin: left center; }.road-one { top: 25%; left: -5%; width: 115%; transform: rotate(20deg); }.road-two { top: 70%; left: -5%; width: 120%; transform: rotate(-12deg); }.road-three { top: 8%; left: 55%; width: 70%; transform: rotate(78deg); }
.map-empty { position: absolute; inset: 0; z-index: 2; display: grid; place-content: center; justify-items: center; padding: 30px; background: rgba(246,248,244,.75); text-align: center; }.map-empty > span { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 9px; border-radius: 12px; background: white; color: var(--accent); font-size: 21px; box-shadow: var(--shadow); }.map-empty strong { font-size: 16px; }.map-empty small { margin-top: 4px; color: var(--muted); font-size: 13px; }
.rank-grid { position: absolute; inset: 34px; z-index: 3; display: grid; grid-template-columns: repeat(7,1fr); gap: 8px; place-items: center; }.rank-grid-3 { grid-template-columns: repeat(3,1fr); }.rank-grid-5 { grid-template-columns: repeat(5,1fr); }.rank-grid-9 { grid-template-columns: repeat(9,1fr); }
.rank-grid span { width: 27px; height: 27px; display: grid; place-items: center; border: 2px solid white; border-radius: 50%; background: var(--red); color: white; font-size: 12px; font-weight: 900; box-shadow: 0 3px 9px rgba(31,45,65,.2); }.rank-grid span:nth-child(7n+1) { background: var(--green); }.rank-grid span:nth-child(5n+2) { background: var(--yellow); color: #5d4812; }
.local-map-card > footer { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 18px; border-top: 1px solid var(--line); background: white; }.local-map-card footer span { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: 12px; }
.rank-legend { width: 8px; height: 8px; border-radius: 50%; }.legend-green { background: var(--green); }.legend-yellow { background: var(--yellow); }.legend-orange { background: var(--accent); }.legend-red { background: var(--red); }
.local-rank-rail { display: grid; gap: 10px; }
.local-score-card { overflow: hidden; box-shadow: none; }.local-score-card > header, .local-competitors > header { display: grid; padding: 13px; border-bottom: 1px solid var(--line); }.local-score-card header span, .local-competitors header { display: grid; }.local-score-card header strong, .local-competitors header strong { font-size: 15px; }.local-score-card header small, .local-competitors header small { margin-top: 2px; color: var(--muted); font-size: 12px; }
.local-score-ring { width: 112px; height: 112px; margin: 16px auto; padding: 9px; border-radius: 50%; background: conic-gradient(var(--accent) var(--score),#edf0f4 var(--score)); }.local-score-ring > div { width: 100%; height: 100%; display: flex; align-items: baseline; justify-content: center; padding-top: 27px; border-radius: 50%; background: white; box-shadow: inset 0 0 0 1px #eef1f4; }.local-score-ring strong { font-size: 28px; letter-spacing: -.05em; }.local-score-ring span { color: var(--muted); font-size: 14px; }
.local-metric-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.local-metric-grid > div { min-height: 52px; display: grid; gap: 3px; padding: 9px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.local-metric-grid span { color: var(--muted); font-size: 12px; }.local-metric-grid strong { font-size: 16px; }
.local-competitors { overflow: hidden; box-shadow: none; }.competitors-empty { min-height: 116px; display: grid; place-content: center; justify-items: center; padding: 15px; text-align: center; }.competitors-empty span { color: var(--accent); font-size: 22px; }.competitors-empty p { max-width: 170px; margin: 6px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.local-source-card { display: grid; gap: 4px; padding: 12px; border-left: 4px solid var(--green); box-shadow: none; }.local-source-card > span { color: var(--muted); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.local-source-card strong { font-size: 14px; }.local-source-card small { color: var(--muted); font-size: 12px; line-height: 1.45; }

.ads-filter-bar { display: grid; grid-template-columns: 1.2fr .8fr 1fr .9fr auto; align-items: end; gap: 9px; margin-bottom: 12px; padding: 12px; box-shadow: none; }
.ads-filter-bar label { display: grid; gap: 4px; }.ads-filter-bar label > span { color: var(--muted); font-size: 12px; font-weight: 850; text-transform: uppercase; }.ads-filter-bar select { min-width: 0; height: 36px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); font-size: 13px; font-weight: 700; }
.ads-kpi-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }.ads-master-kpis { grid-template-columns: repeat(5,minmax(0,1fr)); }
.ads-kpi { min-height: 93px; display: grid; align-content: center; gap: 4px; padding: 12px; border: 1px solid var(--line); border-top: 3px solid #aab3bf; border-radius: 12px; background: white; box-shadow: var(--shadow); }.ads-kpi > span { color: var(--muted); font-size: 12px; font-weight: 800; }.ads-kpi > strong { font-size: 18px; letter-spacing: -.04em; }.ads-kpi > small { color: var(--muted); font-size: 11px; }.ads-kpi-orange { border-top-color: var(--accent); }.ads-kpi-blue { border-top-color: var(--blue); }.ads-kpi-green { border-top-color: var(--green); }.ads-kpi-violet { border-top-color: var(--violet); }
.ads-overview-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(260px,.7fr); gap: 12px; margin-bottom: 12px; }
.ads-performance-chart, .ads-funnel, .ads-campaign-panel, .ads-creatives, .ads-accounts-panel { overflow: hidden; box-shadow: none; }
.ads-performance-chart > header, .ads-funnel > header, .ads-campaign-panel > header, .ads-creatives > header, .ads-accounts-panel > header { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; border-bottom: 1px solid var(--line); }.ads-performance-chart h2, .ads-funnel h2, .ads-campaign-panel h2, .ads-creatives h2, .ads-accounts-panel h2 { margin: 0; font-size: 16px; }.ads-performance-chart header p, .ads-funnel header p, .ads-campaign-panel header p, .ads-creatives header p, .ads-accounts-panel header p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.ads-chart-body { height: 230px; display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 8px; padding: 20px 14px 22px 8px; background: repeating-linear-gradient(to bottom,#fff 0,#fff 47px,#edf0f3 48px); }.ads-y-axis { height: 100%; display: flex; flex-direction: column; justify-content: space-between; text-align: right; }.ads-y-axis span { color: var(--muted); font-size: 11px; }.ads-bars { height: 100%; display: flex; align-items: end; gap: 4px; }.ads-bars > i { position: relative; flex: 1; min-width: 2px; border-radius: 3px 3px 0 0; background: linear-gradient(to top,#ff6b00,#ffad74); }.ads-bars i span { position: absolute; bottom: -16px; left: 0; color: var(--muted); font-size: 11px; font-style: normal; white-space: nowrap; }.ads-performance-chart > footer { min-height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }.ads-performance-chart footer strong { margin-left: 5px; color: var(--ink); }
.ads-funnel > div { position: relative; min-height: 49px; display: grid; grid-template-columns: 1fr auto 42px; align-items: center; gap: 8px; overflow: hidden; padding: 7px 13px; border-top: 1px solid #edf0f3; }.ads-funnel > div > span { display: flex; align-items: center; gap: 7px; color: #596578; font-size: 12px; }.ads-funnel span b { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 6px; background: #fff0e4; color: var(--accent-dark); font-size: 11px; }.ads-funnel div > strong { font-size: 14px; }.ads-funnel div > small { color: var(--muted); font-size: 11px; text-align: right; }.ads-funnel div > i { position: absolute; bottom: 0; left: 0; height: 2px; background: var(--accent); }
.ads-comparison { margin-bottom: 12px; overflow: hidden; box-shadow: none; }.ads-comparison > header { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--line); }.ads-comparison h2 { margin: 0; font-size: 15px; }.ads-comparison header p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.comparison-metrics { display: flex; gap: 6px; padding: 11px 14px 5px; overflow-x: auto; }.comparison-metrics button { min-height: 31px; padding: 0 13px; border: 1px solid var(--line); border-radius: 18px; background: white; color: #596578; font-size: 12px; font-weight: 850; cursor: pointer; }.comparison-metrics button.active { border-color: var(--ink); background: var(--ink); color: white; }
.comparison-chart { display: grid; gap: 7px; padding: 14px 18px 13px; }.comparison-chart > div { display: grid; grid-template-columns: minmax(110px,190px) 1fr; align-items: center; gap: 10px; }.comparison-chart > div > strong { overflow: hidden; color: #596578; font-size: 12px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }.comparison-chart > div > i { height: 26px; display: block; border-radius: 0 6px 6px 0; background: repeating-linear-gradient(to right,#edf0f3 0,#edf0f3 1px,transparent 1px,transparent 25%); border-left: 1px solid #cfd5dc; }.comparison-chart > div > i b { position: relative; height: 100%; display: block; min-width: 54px; border-radius: 0 5px 5px 0; background: #adb6c3; }.comparison-chart > div > i b.comparison-highlight { background: linear-gradient(to right,var(--accent),#ff9852); }.comparison-chart b span { position: absolute; top: 50%; right: 7px; max-width: calc(100% - 10px); overflow: hidden; transform: translateY(-50%); color: white; font-size: 11px; font-weight: 850; text-overflow: ellipsis; text-shadow: 0 1px 2px rgba(0,0,0,.25); white-space: nowrap; }.comparison-chart > p { margin: 25px 0; color: var(--muted); font-size: 13px; text-align: center; }
.ads-comparison > footer { display: grid; grid-template-columns: repeat(5,1fr); padding: 8px 18px 10px 218px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }.ads-comparison footer span:last-child { text-align: right; }
.ads-campaign-panel { margin-bottom: 12px; }.ads-level-switch { display: flex; gap: 3px; padding: 3px; border-radius: 8px; background: #f1f3f5; }.ads-level-switch button { min-height: 28px; padding: 0 10px; border: 0; border-radius: 6px; background: transparent; color: #697486; font-size: 12px; font-weight: 850; cursor: pointer; }.ads-level-switch button.active { background: var(--ink); color: white; }
.ads-campaign-head, .ads-campaign-row { display: grid; grid-template-columns: 28px minmax(190px,1.5fr) 92px 84px repeat(4,92px) 64px 18px; align-items: center; gap: 8px; }.ads-campaign-head { min-height: 34px; padding: 0 13px; background: #f8f9fa; color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }.ads-campaign-row { width: 100%; min-height: 56px; padding: 7px 13px; border-top: 1px solid #edf0f3; background: white; color: #596578; font-size: 12px; text-align: left; }.ads-campaign-row:hover { background: #fffaf6; }.ads-campaign-row > span:nth-child(2) { min-width: 0; display: flex; align-items: center; gap: 7px; color: var(--ink); }.ads-campaign-row > span:nth-child(2) strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.ads-campaign-row > strong { color: var(--ink); }.comparison-check { display: grid; place-items: center; }.comparison-check input { width: 14px; height: 14px; margin: 0; accent-color: var(--accent); cursor: pointer; }.campaign-action { min-height: 27px; padding: 0 8px; border: 0; border-radius: 8px; font-size: 11px; font-weight: 850; cursor: pointer; }.campaign-action.pause { background: #eef0f3; color: #536075; }.campaign-action.activate { background: var(--accent); color: white; }.campaign-open { border: 0; background: transparent; color: var(--muted); cursor: pointer; }.campaign-status { width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; }.status-green { background: var(--green); }.status-yellow { background: #e6ae22; }.status-neutral { background: #aeb6c1; }
.ads-creative-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; padding: 13px; background: #f8f9fb; }.ads-creative-grid > article { overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: white; }.ad-creative-visual { aspect-ratio: 4 / 3; display: flex; flex-direction: column; justify-content: flex-end; padding: 11px; color: white; }.ad-creative-visual > span { align-self: flex-start; margin-bottom: auto; padding: 3px 6px; border-radius: 10px; background: rgba(0,0,0,.25); font-size: 11px; }.ad-creative-visual > strong { font-size: 15px; line-height: 1.05; text-transform: uppercase; }.ad-creative-visual > small { margin-top: 4px; font-size: 11px; letter-spacing: .06em; }.ad-creative-copy { display: grid; padding: 9px 10px; border-bottom: 1px solid var(--line); }.ad-creative-copy strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.ad-creative-copy small { margin-top: 3px; color: var(--muted); font-size: 11px; }.ad-creative-metrics { display: grid; grid-template-columns: repeat(2,1fr); }.ad-creative-metrics > span { min-height: 42px; display: grid; align-content: center; gap: 2px; padding: 7px 10px; border-right: 1px solid #edf0f3; border-bottom: 1px solid #edf0f3; }.ad-creative-metrics small { color: var(--muted); font-size: 11px; }.ad-creative-metrics strong { font-size: 13px; }.ads-creative-grid article > footer { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 7px; padding: 7px 10px; }.ads-creative-grid footer button { border: 0; background: transparent; color: var(--accent-dark); font-size: 11px; font-weight: 850; cursor: pointer; }
.ads-account-head, .ads-account-row { display: grid; grid-template-columns: minmax(210px,1.5fr) repeat(5,minmax(80px,.65fr)) 18px; align-items: center; gap: 10px; }.ads-account-head { min-height: 34px; padding: 0 14px; background: #f8f9fa; color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }.ads-account-row { width: 100%; min-height: 63px; padding: 7px 14px; border: 0; border-top: 1px solid #edf0f3; background: white; color: var(--ink); font-size: 13px; text-align: left; cursor: pointer; }.ads-account-row:hover { background: #fffaf6; }.ads-account-row > span:nth-child(4) { display: grid; }.ads-account-row > span:nth-child(4) small { color: var(--muted); font-size: 11px; }.ads-account-row > b { color: var(--muted); }

.railway-hours-page { padding: 2px 0 8px; }
.railway-hours-page > h1 { margin: 0 0 18px; color: var(--accent); font-size: 19px; line-height: 1.2; }
.hours-control-bar { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 12px; margin-bottom: 16px; }
.hours-control-bar label { display: grid; flex: 0 1 330px; gap: 5px; }
.hours-control-bar label:nth-child(2) { flex-basis: 190px; }
.hours-control-bar label > span, .new-hours-fields label > span { color: var(--muted); font-size: 12px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.hours-control-bar select, .new-hours-fields select, .new-hours-fields input, .new-hours-fields textarea { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); font: inherit; font-size: 13px; font-weight: 700; outline: 0; }
.hours-control-bar select, .new-hours-fields select, .new-hours-fields input { height: 35px; padding: 0 9px; }
.hours-control-bar select:focus, .new-hours-fields select:focus, .new-hours-fields input:focus, .new-hours-fields textarea:focus { border-color: #ffb47d; box-shadow: 0 0 0 3px rgba(255,107,0,.08); }
.month-status { min-height: 28px; display: flex; align-items: center; align-self: end; padding: 0 12px; border-radius: 999px; font-size: 12px; font-weight: 850; white-space: nowrap; }
.month-status.open { background: #e8f8f0; color: var(--green); }
.month-status.closed { background: #fdecec; color: var(--red); }
.hours-toolbar-spacer { flex: 1 1 80px; }
.close-month-button, .reopen-month-button { min-height: 34px; padding: 0 14px; border: 1.5px solid var(--ink); border-radius: 8px; background: transparent; color: var(--ink); font-size: 12px; font-weight: 850; cursor: pointer; }
.reopen-month-button { border-color: var(--green); color: var(--green); }
.hours-summary { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.hours-summary article { width: 160px; flex: 0 0 auto; }
.hours-summary article { min-height: 68px; display: grid; align-content: center; gap: 3px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: none; }
.hours-summary small { color: var(--muted); font-size: 12px; font-weight: 700; }
.hours-summary strong { font-size: 18px; letter-spacing: -.03em; }
.hours-workspace { display: grid; grid-template-columns: minmax(0,3fr) minmax(205px,1fr); align-items: stretch; gap: 16px; }
.current-hours-list, .new-hours-entry { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: none; }
.current-hours-list h2 { margin: 0 0 14px; font-size: 15px; }
.new-hours-entry h3 { margin: 0 0 14px; font-size: 16px; }
.current-hours-table-wrap { width: 100%; overflow-x: auto; }
.current-hours-table { width: 100%; border-collapse: collapse; color: #596578; font-size: 12px; }
.current-hours-table th { padding: 10px 7px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; font-weight: 850; text-align: left; text-transform: uppercase; white-space: nowrap; }
.current-hours-table td { min-height: 50px; padding: 13px 7px; border-bottom: 1px solid #edf0f3; vertical-align: middle; }
.current-hours-table td.hm-cell-nowrap { color: var(--ink); font-weight: 800; white-space: nowrap; }
.current-hours-table td.hm-cell-collaborator { min-width: 145px; }
.current-hours-table td.hm-cell-desc { min-width: 150px; }
.hours-category-pill { display: inline-flex; align-items: center; min-height: 25px; padding: 0 8px; border-radius: 999px; background: #f3f5f8; color: #526073; white-space: nowrap; }
.current-hours-table td:last-child { width: 28px; }
.current-hours-table td button { width: 24px; height: 24px; border: 1px solid var(--line); border-radius: 50%; background: white; color: var(--accent-dark); cursor: pointer; }
.new-hours-fields { display: grid; gap: 10px; }
.new-hours-fields label { display: grid; gap: 5px; }
.new-hours-fields label > span { display: flex; align-items: center; gap: 7px; }
.category-settings { width: 24px; height: 24px; display: grid; place-items: center; padding: 0; border: 1px solid #ffd9bd; border-radius: 50%; background: #fff7f0; color: var(--accent-dark); font-size: 13px; cursor: pointer; }
.hours-date-row { display: grid; grid-template-columns: minmax(0,1fr) 64px 64px; gap: 8px; }
.new-hours-fields textarea { min-height: 115px; padding: 9px; resize: vertical; line-height: 1.45; }
.new-hours-fields > .primary-button { min-height: 34px; justify-self: start; margin-top: 2px; }
.new-hours-fields > .primary-button:disabled { cursor: not-allowed; opacity: .45; }
.hours-tabs { display: flex; gap: 4px; margin-bottom: 14px; padding: 4px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow); }.hours-tabs button { min-height: 37px; display: flex; align-items: center; gap: 7px; padding: 0 15px; border: 0; border-radius: 9px; background: transparent; color: #697486; font-size: 13px; font-weight: 850; white-space: nowrap; cursor: pointer; }.hours-tabs button.active { background: var(--ink); color: white; }
.hours-kpis { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; margin-bottom: 12px; }.hours-kpis article { position: relative; min-height: 99px; display: grid; align-content: center; gap: 4px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow); }.hours-kpis span { color: var(--muted); font-size: 12px; }.hours-kpis strong { font-size: 18px; }.hours-kpis small { color: var(--muted); font-size: 11px; }.hours-kpis i { position: absolute; top: 11px; right: 11px; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: #fff0e4; color: var(--accent-dark); font-size: 13px; font-style: normal; font-weight: 900; }
.hours-main-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(250px,.65fr); gap: 12px; margin-bottom: 12px; }.hours-evolution, .hours-distribution, .hours-person, .hours-client-panel, .hours-entries { overflow: hidden; box-shadow: none; }
.hours-evolution > header, .hours-distribution > header, .hours-client-panel > header, .hours-entries > header { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; border-bottom: 1px solid var(--line); }.hours-evolution h2, .hours-distribution h2, .hours-client-panel h2, .hours-entries h2 { margin: 0; font-size: 16px; }.hours-evolution header p, .hours-distribution header p, .hours-client-panel header p, .hours-entries header p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.hours-legend { display: flex; gap: 10px; color: var(--muted); font-size: 11px; }.hours-legend span { display: flex; align-items: center; gap: 5px; }.hours-legend i { width: 7px; height: 7px; border-radius: 2px; }.hours-total-dot { background: var(--accent); }.hours-billable-dot { background: var(--green); }.hours-capacity-dot { border: 1px dashed #98a3b1; }
.hours-chart { height: 225px; display: grid; grid-template-columns: 43px 1fr; gap: 8px; padding: 20px 15px 16px 8px; background: repeating-linear-gradient(to bottom,#fff 0,#fff 47px,#edf0f3 48px); }.hours-y-axis { display: flex; flex-direction: column; justify-content: space-between; color: var(--muted); font-size: 11px; text-align: right; }.hours-week-bars { display: grid; grid-template-columns: repeat(5,1fr); gap: 14px; }.hours-week-bars > div { display: grid; grid-template-rows: 1fr 17px; align-items: end; text-align: center; }.hours-week-bars > div > i { position: relative; height: 100%; display: flex; align-items: end; justify-content: center; gap: 4px; }.hours-week-bars b, .hours-week-bars strong { width: 25%; min-width: 11px; display: block; border-radius: 4px 4px 0 0; }.hours-week-bars b { background: linear-gradient(to top,#ff6b00,#ffad74); }.hours-week-bars strong { background: linear-gradient(to top,#198754,#51b987); }.hours-capacity-line { position: absolute; top: 10%; left: 0; right: 0; border-top: 1px dashed #8d98a7; }.hours-week-bars > div > span { color: var(--muted); font-size: 11px; }
.hours-evolution > footer { min-height: 42px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }.hours-evolution footer span { display: grid; place-content: center; border-right: 1px solid var(--line); color: var(--muted); font-size: 11px; text-align: center; }.hours-evolution footer strong { color: var(--ink); font-size: 13px; }
.hours-donut { width: 126px; height: 126px; display: grid; place-items: center; margin: 14px auto 8px; border-radius: 50%; background: conic-gradient(var(--accent) 0 34%,var(--violet) 34% 60%,var(--blue) 60% 81%,var(--green) 81% 93%,#b8c1cd 93%); }.hours-donut > div { width: 79px; height: 79px; display: grid; place-content: center; border-radius: 50%; background: white; text-align: center; }.hours-donut strong { font-size: 17px; }.hours-donut span { color: var(--muted); font-size: 11px; }
.hours-distribution-list { display: grid; padding: 0 13px 12px; }.hours-distribution-list > span { min-height: 27px; display: grid; grid-template-columns: 7px 1fr auto 25px; align-items: center; gap: 6px; border-top: 1px solid #edf0f3; color: #596578; font-size: 11px; }.hours-distribution-list i { width: 6px; height: 6px; border-radius: 50%; }.hour-creation { background: var(--accent); }.hour-content { background: var(--violet); }.hour-service { background: var(--blue); }.hour-ads { background: var(--green); }.hour-admin { background: #b8c1cd; }.hours-distribution-list b, .hours-distribution-list strong { color: var(--ink); font-size: 11px; }
.hours-team-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; margin-bottom: 12px; }.hours-person > header { min-height: 59px; display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--line); }.hours-person header > div { display: grid; }.hours-person header strong { font-size: 13px; }.hours-person header small { color: var(--muted); font-size: 11px; }.person-hours { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 5px; padding: 12px; }.person-hours > strong { font-size: 19px; }.person-hours > span { color: var(--muted); font-size: 11px; }.person-hours > i { grid-column: 1 / -1; height: 7px; overflow: hidden; border-radius: 7px; background: #edf0f3; }.person-hours > i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(to right,var(--accent),#ff9f5d); }.hours-person > footer { min-height: 39px; display: grid; grid-template-columns: 1fr 1fr 18px; align-items: center; padding: 7px 12px; border-top: 1px solid var(--line); }.hours-person footer span { display: grid; color: var(--muted); font-size: 11px; }.hours-person footer strong { color: var(--ink); font-size: 12px; }.hours-person footer button { border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.hours-client-head, .hours-client-row { display: grid; grid-template-columns: minmax(180px,1.3fr) 70px 70px 120px 85px minmax(160px,1fr) 18px; align-items: center; gap: 9px; }.hours-client-head { min-height: 34px; padding: 0 13px; background: #f8f9fa; color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }.hours-client-row { width: 100%; min-height: 59px; padding: 7px 13px; border: 0; border-top: 1px solid #edf0f3; background: white; color: #596578; font-size: 12px; text-align: left; cursor: pointer; }.hours-client-row:hover { background: #fffaf6; }.hours-client-row > strong { color: var(--ink); }.hours-client-row > b { color: var(--muted); }.hours-progress { display: grid; grid-template-columns: 1fr 30px; align-items: center; gap: 6px; }.hours-progress > i { height: 7px; overflow: hidden; border-radius: 7px; background: #edf0f3; }.hours-progress > i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(to right,var(--green),#5dc49a); }.hours-progress > strong { font-size: 11px; }
.hours-entry-head, .hours-entry-row { display: grid; grid-template-columns: 90px 80px minmax(120px,1fr) 90px minmax(160px,1.2fr) 65px 70px 18px; align-items: center; gap: 9px; }.hours-entry-head { min-height: 34px; padding: 0 13px; background: #f8f9fa; color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }.hours-entry-row { width: 100%; min-height: 56px; padding: 7px 13px; border: 0; border-top: 1px solid #edf0f3; background: white; color: #596578; font-size: 12px; text-align: left; cursor: pointer; }.hours-entry-row:hover { background: #fffaf6; }.hours-entry-row > span:nth-child(2), .hours-entry-row > span:nth-child(6) { color: var(--ink); font-weight: 800; }.hours-entry-row > b { color: var(--muted); }
.hours-section-heading { min-height: 76px; display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--shadow); }.hours-section-heading h2 { margin: 2px 0; font-size: 19px; }.hours-section-heading span { color: var(--muted); font-size: 13px; }
.hours-team-detail { display: grid; grid-template-columns: repeat(2,1fr); gap: 11px; }.hours-team-detail > article { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow); }.hours-team-detail article > header { min-height: 66px; display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 9px; padding: 10px 13px; border-bottom: 1px solid var(--line); }.hours-team-detail header > div { display: grid; }.hours-team-detail header strong { font-size: 13px; }.hours-team-detail header small { color: var(--muted); font-size: 11px; }.team-capacity-bar { display: grid; grid-template-columns: 1fr 75px; align-items: center; gap: 8px; padding: 11px 13px; }.team-capacity-bar i { height: 8px; overflow: hidden; border-radius: 8px; background: #edf0f3; }.team-capacity-bar i b { height: 100%; display: block; background: var(--accent); }.team-capacity-bar span { color: var(--muted); font-size: 11px; text-align: right; }.team-stat-grid { display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--line); }.team-stat-grid span { min-height: 53px; display: grid; align-content: center; gap: 3px; padding: 8px 11px; border-right: 1px solid var(--line); }.team-stat-grid small { color: var(--muted); font-size: 11px; }.team-stat-grid strong { font-size: 14px; }.hours-team-detail article > footer { min-height: 41px; display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 8px 13px; color: var(--muted); font-size: 11px; }.hours-team-detail footer button { border: 0; background: transparent; color: var(--accent-dark); font-size: 11px; font-weight: 850; cursor: pointer; }

.finance-heading select { cursor: pointer; }
.finance-tabs { display: flex; gap: 4px; margin-bottom: 14px; padding: 4px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow); }
.finance-tabs > button { min-height: 37px; display: flex; align-items: center; gap: 7px; padding: 0 14px; border: 0; border-radius: 9px; background: transparent; color: #697486; font-size: 13px; font-weight: 850; white-space: nowrap; cursor: pointer; }
.finance-tabs > button.active { background: var(--ink); color: white; }
.finance-kpis { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; margin-bottom: 12px; }
.finance-kpi { position: relative; min-height: 105px; display: grid; align-content: center; gap: 4px; overflow: hidden; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--shadow); }
.finance-kpi::before { position: absolute; inset: 0 auto 0 0; width: 3px; content: ""; background: #aab3bf; }
.finance-kpi > span { color: var(--muted); font-size: 12px; font-weight: 800; }.finance-kpi > strong { font-size: 18px; letter-spacing: -.035em; }.finance-kpi > small { font-size: 11px; }
.finance-kpi > i { position: absolute; top: 12px; right: 12px; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: #f1f3f5; color: #778292; font-size: 14px; font-style: normal; font-weight: 900; }
.finance-kpi-green::before { background: var(--green); }.finance-kpi-green > i { background: #e8f6ef; color: var(--green); }
.finance-kpi-blue::before { background: var(--blue); }.finance-kpi-blue > i { background: #eaf2ff; color: var(--blue); }
.finance-kpi-orange::before { background: var(--accent); }.finance-kpi-orange > i { background: #fff0e4; color: var(--accent-dark); }
.finance-kpi-violet::before { background: var(--violet); }.finance-kpi-violet > i { background: #f0ecff; color: var(--violet); }
.finance-kpi-red::before { background: var(--red); }.finance-kpi-red > i { background: #fdeaea; color: var(--red); }
.finance-main-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(280px,.75fr); gap: 12px; margin-bottom: 12px; }
.finance-cashflow, .finance-indicators, .finance-due-panel, .finance-expenses, .finance-contracts, .finance-ledger { overflow: hidden; box-shadow: none; }
.finance-cashflow > header, .finance-indicators > header, .finance-due-panel > header, .finance-expenses > header, .finance-contracts > header, .finance-ledger > header { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.finance-cashflow h2, .finance-indicators h2, .finance-due-panel h2, .finance-expenses h2, .finance-contracts h2, .finance-ledger h2 { margin: 0; font-size: 16px; }
.finance-cashflow header p, .finance-indicators header p, .finance-due-panel header p, .finance-expenses header p, .finance-contracts header p, .finance-ledger header p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.finance-legend { display: flex; gap: 12px; color: var(--muted); font-size: 12px; }.finance-legend span { display: flex; align-items: center; gap: 5px; }.finance-legend i { width: 7px; height: 7px; border-radius: 2px; }.income-dot { background: var(--green); }.expense-dot { background: var(--accent); }
.cashflow-chart { height: 230px; display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 8px; padding: 20px 20px 15px 10px; background: repeating-linear-gradient(to bottom,#fff 0,#fff 48px,#edf0f3 49px); }
.cashflow-y-axis { height: calc(100% - 15px); display: flex; flex-direction: column; justify-content: space-between; text-align: right; }
.cashflow-y-axis span { color: #737f90; font-size: 11px; font-weight: 700; }
.cashflow-bars { height: 100%; display: grid; grid-template-columns: repeat(6,1fr); gap: 11px; align-items: end; }
.cashflow-bars > div { height: 100%; display: grid; grid-template-rows: 1fr 15px; align-items: end; text-align: center; }
.cashflow-bars > div > i { height: 100%; display: flex; align-items: end; justify-content: center; gap: 4px; }
.cashflow-bars b, .cashflow-bars em { width: 26%; min-width: 9px; display: block; border-radius: 4px 4px 0 0; cursor: help; }.cashflow-bars b { background: linear-gradient(to top,#198754,#51b987); }.cashflow-bars em { background: linear-gradient(to top,#ff6b00,#ffad74); }
.cashflow-bars span { color: var(--muted); font-size: 11px; }
.finance-cashflow > footer { min-height: 42px; display: flex; align-items: center; gap: 10px; padding: 8px 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }.finance-cashflow footer strong { color: var(--ink); font-size: 16px; }.finance-cashflow footer small { margin-left: auto; font-size: 12px; }
.indicator-row { min-height: 50px; display: grid; grid-template-columns: minmax(110px,1fr) 86px; grid-template-rows: auto 7px; align-items: center; gap: 5px 10px; padding: 7px 13px; border-top: 1px solid #edf0f3; }
.indicator-row > div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }.indicator-row span, .indicator-row small { color: #596578; font-size: 11px; }.indicator-row strong { font-size: 14px; }.indicator-row small { text-align: right; }
.indicator-row > i { grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: 6px; background: #edf0f3; }.indicator-row > i b { height: 100%; display: block; border-radius: inherit; }.indicator-green { background: var(--green); }.indicator-blue { background: var(--blue); }.indicator-orange { background: var(--accent); }.indicator-yellow { background: #e6ae22; }.indicator-violet { background: var(--violet); }
.finance-lower-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(260px,.65fr); gap: 12px; margin-bottom: 12px; }
.finance-due-row { min-height: 58px; display: grid; grid-template-columns: 34px minmax(140px,1fr) 70px 70px 70px 18px; align-items: center; gap: 8px; padding: 7px 13px; border-top: 1px solid #edf0f3; }.finance-due-row > span:nth-child(2), .finance-due-row > span:nth-child(3) { display: grid; }.finance-due-row strong { font-size: 13px; }.finance-due-row small { color: var(--muted); font-size: 11px; }.finance-due-row > button { border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.expense-donut { width: 125px; height: 125px; display: grid; place-items: center; margin: 14px auto 8px; border-radius: 50%; background: conic-gradient(var(--violet) 0 43%,var(--accent) 43% 69%,var(--blue) 69% 87%,#b8c1cd 87%); }.expense-donut > div { width: 78px; height: 78px; display: grid; place-content: center; border-radius: 50%; background: white; text-align: center; }.expense-donut strong { font-size: 15px; }.expense-donut span { color: var(--muted); font-size: 11px; }
.expense-legend { display: grid; padding: 0 13px 12px; }.expense-legend > span { min-height: 29px; display: grid; grid-template-columns: 7px minmax(0,1fr) auto 28px; align-items: center; gap: 6px; border-top: 1px solid #edf0f3; color: #596578; font-size: 11px; }.expense-legend i { width: 6px; height: 6px; border-radius: 50%; }.expense-team { background: var(--violet); }.expense-media { background: var(--accent); }.expense-tools { background: var(--blue); }.expense-office { background: #b8c1cd; }.expense-legend b, .expense-legend strong { color: var(--ink); font-size: 11px; }.expense-legend strong { text-align: right; }
.contract-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.contract-grid article { min-height: 68px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 10px 13px; border-top: 1px solid #edf0f3; border-right: 1px solid #edf0f3; }.contract-grid article > div, .contract-grid article > span:last-child { display: grid; }.contract-grid strong { font-size: 13px; }.contract-grid small { margin-top: 2px; color: var(--muted); font-size: 11px; text-align: right; }.contract-grid article > div small { text-align: left; }
.finance-ledger-head, .finance-ledger-row { display: grid; grid-template-columns: minmax(180px,1.25fr) minmax(190px,1.4fr) 90px 90px 90px 20px; align-items: center; gap: 10px; }
.finance-ledger-head { min-height: 34px; padding: 0 14px; background: #f8f9fa; color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.finance-ledger-row { width: 100%; min-height: 60px; padding: 7px 14px; border: 0; border-top: 1px solid #edf0f3; background: white; color: var(--ink); font-size: 13px; text-align: left; cursor: pointer; }.finance-ledger-row:hover { background: #fffaf6; }.finance-ledger-row > span:nth-child(2) { color: #596578; }
.finance-ledger-check { width: 20px; height: 20px; display: grid; place-items: center; padding: 0; border: 2px solid #d7dbe2; border-radius: 50%; background: white; color: transparent; cursor: pointer; }
.finance-ledger-check:hover { border-color: var(--green); }
.finance-ledger-check.is-checked { border-color: var(--green); background: var(--green); color: white; }
.finance-ledger-check svg { display: block; }
.finance-ledger-summary { text-align: right; font-size: 13px; color: var(--muted); white-space: nowrap; }
.finance-ledger-summary strong { color: var(--green); font-size: 15px; }
.finance-ledger-filter { display: flex; flex-direction: column; gap: 4px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.finance-ledger-filter select { padding: 7px 10px; border-radius: 8px; border: 1px solid var(--line); font-size: 13px; font-weight: 600; text-transform: none; letter-spacing: normal; color: var(--ink); background: #fff; }
.finance-special, .finance-documents { overflow: hidden; box-shadow: none; }
.finance-special > header, .finance-documents > header { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 15px; border-bottom: 1px solid var(--line); }
.finance-special h2, .finance-documents h2, .finance-section-heading h2 { margin: 2px 0; font-size: 19px; }.finance-special header span, .finance-documents header span, .finance-section-heading span { color: var(--muted); font-size: 13px; }
.finance-special-kpis, .finance-document-summary { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--line); }
.finance-special-kpis article, .finance-document-summary article { min-height: 88px; display: grid; align-content: center; gap: 3px; padding: 12px 16px; border-right: 1px solid var(--line); }.finance-special-kpis article:last-child, .finance-document-summary article:last-child { border-right: 0; }
.finance-special-kpis span, .finance-document-summary span { color: var(--muted); font-size: 12px; }.finance-special-kpis strong, .finance-document-summary strong { font-size: 18px; }.finance-special-kpis small, .finance-document-summary small { color: var(--muted); font-size: 11px; }
.fixed-cost-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--line); }
.fixed-cost-grid article { min-height: 82px; display: grid; grid-template-columns: 35px minmax(0,1fr) auto 20px; align-items: center; gap: 10px; padding: 11px 14px; background: white; }
.fixed-cost-grid article > div, .fixed-cost-grid article > span:nth-child(3) { display: grid; }.fixed-cost-grid article strong { font-size: 13px; }.fixed-cost-grid article small { margin-top: 3px; color: var(--muted); font-size: 11px; }.fixed-cost-grid article > span:nth-child(3) { text-align: right; }
.fixed-cost-grid article i { height: 5px; margin-top: 7px; overflow: hidden; border-radius: 5px; background: #edf0f3; }.fixed-cost-grid article i b { height: 100%; display: block; border-radius: inherit; background: var(--accent); }.fixed-cost-grid article button { border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.finance-section-heading { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--shadow); }
.finance-section-heading > div:last-child { display: flex; gap: 7px; }
.client-cost-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.client-cost-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); }
.client-cost-card > header { min-height: 76px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 12px 14px; border-bottom: 1px solid var(--line); }.client-cost-card > header > div, .client-cost-card > header > span:last-child { display: grid; }.client-cost-card > header > span:last-child { text-align: right; }.client-cost-card header strong { font-size: 16px; }.client-cost-card header small { margin-top: 3px; color: var(--muted); font-size: 11px; }.client-cost-card header b { margin-top: 3px; color: var(--green); font-size: 12px; }
.client-cost-summary { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--line); }.client-cost-summary > span { min-height: 64px; display: grid; align-content: center; gap: 4px; padding: 10px 13px; border-right: 1px solid var(--line); }.client-cost-summary > span:last-child { border-right: 0; }.client-cost-summary small { color: var(--muted); font-size: 12px; }.client-cost-summary strong { font-size: 16px; }
.client-cost-split { min-height: 155px; display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 10px; padding: 13px; border-bottom: 1px solid var(--line); }.client-cost-donut { width: 100px; height: 100px; margin: auto; border-radius: 50%; background: conic-gradient(#fc464d 0 38%,#49bbb7 38% 78%,#ffb25c 78%); box-shadow: inset 0 0 0 28px white; }
.client-cost-split > div:last-child { display: grid; gap: 10px; }.client-cost-split span { display: grid; grid-template-columns: 65px minmax(45px,1fr) 32px 48px; align-items: center; gap: 6px; }.client-cost-split span > b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.client-cost-split span > i { height: 8px; overflow: hidden; border: 1px solid #28313e; border-radius: 7px; }.client-cost-split span > i em { height: 100%; display: block; border-radius: inherit; background: var(--accent); }.client-cost-split span > strong { font-size: 12px; }.client-cost-split span > small { color: #596578; font-size: 12px; text-align: right; }
.client-team-costs > div { min-height: 36px; display: grid; grid-template-columns: 1fr 1.2fr 40px 60px; align-items: center; gap: 8px; padding: 0 13px; border-top: 1px solid #edf0f3; font-size: 12px; }.client-team-costs span { color: #596578; }.client-team-costs b { text-align: right; }
.client-cost-card > footer { min-height: 42px; display: flex; justify-content: flex-end; align-items: center; gap: 7px; padding: 8px 13px; border-top: 1px solid var(--line); }.client-cost-card footer button { min-height: 27px; padding: 0 9px; border: 1px solid var(--line); border-radius: 7px; background: white; color: #596578; font-size: 11px; font-weight: 800; cursor: pointer; }.client-cost-card footer button:last-child { border-color: #ffd6b8; color: var(--accent-dark); }
.ai-cost-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; margin-bottom: 12px; }.ai-cost-kpis article { min-height: 91px; display: grid; align-content: center; gap: 4px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow); }.ai-cost-kpis span { color: var(--muted); font-size: 12px; }.ai-cost-kpis strong { font-size: 19px; }.ai-cost-kpis small { color: var(--muted); font-size: 11px; }
.ai-provider-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin-bottom: 12px; }.ai-provider-grid article { min-height: 82px; display: grid; grid-template-columns: 35px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 12px; background: white; }.ai-provider-grid article > div, .ai-provider-grid article > span:last-child { display: grid; }.ai-provider-grid strong { font-size: 13px; }.ai-provider-grid small { margin-top: 3px; color: var(--muted); font-size: 11px; }.ai-provider-grid article > span:last-child { text-align: right; }.ai-provider-grid i { height: 5px; margin-top: 8px; overflow: hidden; border-radius: 5px; background: #edf0f3; }.ai-provider-grid i b { height: 100%; display: block; background: var(--violet); }
.ai-automation-table { overflow: hidden; box-shadow: none; }.ai-automation-table > header { min-height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 11px 14px; border-bottom: 1px solid var(--line); }.ai-automation-table h2 { margin: 0; font-size: 16px; }.ai-automation-table header p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.ai-table-head, .ai-table-row { display: grid; grid-template-columns: minmax(150px,1.3fr) minmax(140px,1fr) repeat(4,minmax(75px,.6fr)) 18px; align-items: center; gap: 9px; }.ai-table-head { min-height: 34px; padding: 0 13px; background: #f8f9fa; color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }.ai-table-row { width: 100%; min-height: 54px; padding: 7px 13px; border: 0; border-top: 1px solid #edf0f3; background: white; color: #596578; font-size: 12px; text-align: left; cursor: pointer; }.ai-table-row:hover { background: #fffaf6; }.ai-table-row span:first-child, .ai-table-row span:last-of-type { color: var(--ink); font-weight: 850; }.ai-table-row b { color: var(--muted); }
.finance-doc-toolbar { display: flex; justify-content: flex-end; gap: 7px; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.finance-doc-head, .finance-doc-row { display: grid; grid-template-columns: 90px minmax(130px,1fr) minmax(180px,1.4fr) 105px 85px 80px 18px; align-items: center; gap: 9px; }.finance-doc-head { min-height: 34px; padding: 0 13px; background: #f8f9fa; color: var(--muted); font-size: 11px; font-weight: 850; text-transform: uppercase; }.finance-doc-row { width: 100%; min-height: 56px; padding: 7px 13px; border: 0; border-top: 1px solid #edf0f3; background: white; color: #596578; font-size: 12px; text-align: left; cursor: pointer; }.finance-doc-row:hover { background: #fffaf6; }.finance-doc-row > strong { color: var(--ink); }.finance-doc-row > b { color: var(--muted); }
.bill-generator { display: grid; gap: 12px; }
.bill-generator-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: var(--shadow); }
.bill-generator-toolbar h2 { margin: 2px 0; font-size: 19px; }.bill-generator-toolbar > div:first-child > span { color: var(--muted); font-size: 13px; }
.bill-generator-controls { min-width: 520px; display: grid; grid-template-columns: minmax(190px,1fr) 125px auto; align-items: end; gap: 8px; }
.bill-generator-controls label { display: grid; gap: 5px; }.bill-generator-controls label > span { color: var(--muted); font-size: 12px; font-weight: 850; text-transform: uppercase; }
.bill-generator-controls select { width: 100%; height: 37px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); font: inherit; font-size: 13px; font-weight: 750; }
.bill-download-button { min-height: 37px; white-space: nowrap; }.bill-download-button:disabled, .bill-generator-note button:disabled { cursor: wait; opacity: .7; }
.bill-generator-body { display: grid; grid-template-columns: minmax(620px,760px) 230px; align-items: start; justify-content: center; gap: 14px; }
.bill-preview { position: relative; aspect-ratio: 210 / 297; display: flex; flex-direction: column; padding: 48px 50px 36px; border: 1.5px solid var(--accent); background: white; color: #3f3f3f; box-shadow: var(--shadow); }
.bill-preview > img { width: 290px; height: 225px; display: block; align-self: center; margin: -16px auto 18px; object-fit: contain; }
.bill-title-row { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 12px; margin-bottom: 35px; }
.bill-title-row strong { color: var(--accent-dark); font-size: 23px; }.bill-title-row > span { font-size: 20px; text-align: right; }
.bill-preview > section { margin-bottom: 32px; }.bill-preview h3 { margin: 0 0 5px; font-size: 19px; }.bill-preview section strong { display: block; font-size: 18px; }.bill-preview section p { margin: 4px 0 0; font-size: 16px; line-height: 1.45; }
.bill-item-head, .bill-item-row { display: grid; grid-template-columns: 64px minmax(0,1fr) 105px; align-items: center; gap: 10px; }
.bill-item-head { padding: 0 16px 9px; color: var(--accent-dark); font-size: 15px; font-weight: 850; }.bill-item-head span:first-child, .bill-item-row span:first-child { text-align: center; }
.bill-item-row { min-height: 42px; padding: 0 16px; border: 1px solid #8b8b8b; font-size: 15px; }.bill-item-row strong { color: #14733b; font-size: 15px; text-align: right; }
.bill-total { display: flex; justify-content: flex-end; gap: 28px; padding: 15px 29px 0; color: var(--accent-dark); font-size: 15px; font-weight: 850; }
.bill-slogan { margin-top: auto; color: var(--accent-dark); font-size: 18px; font-weight: 850; text-align: center; }
.bill-preview > footer { display: grid; justify-items: center; gap: 4px; margin-top: 34px; color: #6d6d6d; font-size: 16px; text-align: center; }.bill-preview footer strong { font-size: 16px; }
.bill-generator-note { display: grid; gap: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow); }
.bill-generator-note > span { color: var(--green); font-size: 12px; font-weight: 850; text-transform: uppercase; }.bill-generator-note > strong { font-size: 16px; line-height: 1.35; }
.bill-generator-note dl { display: grid; margin: 0; border-block: 1px solid var(--line); }.bill-generator-note dl div { display: grid; gap: 2px; padding: 9px 0; border-bottom: 1px solid #edf0f3; }.bill-generator-note dl div:last-child { border-bottom: 0; }.bill-generator-note dt { color: var(--muted); font-size: 11px; }.bill-generator-note dd { margin: 0; font-size: 13px; font-weight: 850; }
.bill-generator-note p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }.bill-generator-note button { width: 100%; }

.admin-layout { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 16px; }
.admin-main { display: grid; gap: 24px; }
.admin-section header { margin-bottom: 10px; }
.rm-header-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rm-range { width: 150px; border: 1px solid var(--line); border-radius: 8px; padding: 5px 10px; font-size: 12px; font-family: inherit; background: white; color: inherit; flex-shrink: 0; }
.rm-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.rm-card { padding: 12px 14px 8px; }
.rm-card-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 6px; }
.rm-card-head b { font-size: 13px; }
.rm-card-head span { font-size: 11px; color: var(--muted); }
.rm-empty { display: flex; align-items: center; justify-content: center; height: 110px; color: var(--muted); font-size: 12px; text-align: center; }
@media (max-width: 900px) { .rm-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }

.admin-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.admin-card { min-height: 184px; display: flex; flex-direction: column; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); text-align: left; cursor: pointer; transition: .18s ease; }
.admin-card:hover { border-color: #ffc69e; transform: translateY(-2px); box-shadow: 0 14px 32px rgba(31,45,65,.08); }
.admin-card-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 17px; }
.admin-card > strong { font-size: 15px; }
.admin-card > p { margin: 5px 0 15px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.admin-card footer { width: 100%; display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 10px; border-top: 1px solid #edf0f3; color: var(--muted); font-size: 13px; }
.admin-card footer b { color: var(--accent); font-size: 17px; }
.admin-rail { display: grid; align-content: start; gap: 12px; }
.status-panel, .audit-panel { padding: 15px; box-shadow: none; }
.status-title { display: flex; align-items: center; gap: 8px; padding-bottom: 12px; border-bottom: 1px solid #edf0f3; font-size: 15px; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(34,166,111,.12); }
.status-row { min-height: 42px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #edf0f3; color: var(--muted); font-size: 14px; }
.status-row:last-child { border-bottom: 0; }
.status-row strong { color: var(--ink); font-size: 14px; }
.audit-panel h2 { margin-bottom: 12px; }
.audit-panel > div { display: flex; gap: 9px; min-height: 48px; }
.audit-dot { width: 7px; height: 7px; margin-top: 5px; flex-shrink: 0; border-radius: 50%; background: var(--accent); }
.audit-panel p { display: grid; margin: 0; }
.audit-panel p strong { font-size: 14px; }
.audit-panel p small { margin-top: 2px; color: var(--muted); font-size: 13px; }

.prototype-notice { display: flex; align-items: center; gap: 9px; margin-bottom: 15px; padding: 9px 12px; border: 1px solid #cfe0f8; border-radius: 10px; background: #f2f7ff; color: #356db8; font-size: 15px; }
.prototype-notice > span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #dceaff; font-weight: 850; }
.prototype-notice p { margin: 0; flex: 1; }
.prototype-notice button { border: 0; background: transparent; color: inherit; cursor: pointer; }
.prototype-footer { display: flex; justify-content: space-between; gap: 20px; padding: 14px 30px; border-top: 1px solid var(--line); background: white; color: #8b95a3; font-size: 13px; }
.sidebar-scrim { display: none; }

@media (max-width: 1040px) {
  .kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .management-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .management-workspace { grid-template-columns: 1fr; }
  .management-rail { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .stage-strip { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .admin-layout { grid-template-columns: 1fr; }
  .tasks-layout { grid-template-columns: 1fr; }
  .tasks-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .schedule-card-grid { grid-template-columns: repeat(auto-fill,248px); }
  .local-rank-controls { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .local-rank-layout { grid-template-columns: 1fr; }
  .local-rank-rail { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .client-editorial-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  /* Bug real: a linha tem 5 filhos (painel + Top3 alcance/curtidas + os 2 gráficos), mas esse
     grid só definia 3 colunas — os 2 gráficos caíam numa coluna implícita "auto", espremendo o
     SVG (chegava a renderizar com 82px de largura, texto do eixo ilegível). Rolagem horizontal
     em vez de tentar caber tudo, igual já funcionava no breakpoint mais estreito. */
  .editorial-insights-strip { display: flex; overflow-x: auto; }
  .editorial-insights-strip > * { min-width: 210px; border-bottom: 1px solid #edf0f3; }
  .editorial-insights-strip > aside { min-width: 105px; }
  .editorial-create-row { grid-template-columns: 24px minmax(150px,1fr) repeat(3,110px); }
  .post-creative-grid { grid-template-columns: 1fr; }
  .editorial-responsibility { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .reject-editorial { grid-column: 1 / 3; }
  .admin-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .performance-grid { grid-template-columns: 1fr; }
  .account-highlight { border-right: 0; border-bottom: 1px solid #edf0f3; }
  .account-highlight:last-child { border-bottom: 0; }
}

@media (max-width: 820px) {
  .sidebar { transform: translateX(-100%); transition: transform .2s ease; box-shadow: 12px 0 28px rgba(20,30,42,.15); }
  .sidebar-open { transform: translateX(0); }
  .sidebar-scrim { display: block; position: fixed; inset: 0; z-index: 25; border: 0; background: rgba(19,27,38,.35); }
  .mobile-close, .mobile-menu { display: block; }
  .app-main { margin-left: 0; }
  .topbar { padding: 0 18px; }
  .content { padding: 24px 18px 40px; }
  .account-table-head { display: none; }
  .account-table-row { grid-template-columns: minmax(180px,1.5fr) repeat(2,minmax(70px,.7fr)) 25px; }
  .account-table-row > span:nth-child(4), .account-table-row > span:nth-child(5) { display: none; }
  .management-toolbar { flex-wrap: wrap; }
  .management-search { flex-basis: 100%; }
  .editorial-table-head { display: none; }
  .editorial-row { grid-template-columns: minmax(180px,1.2fr) repeat(3,minmax(80px,.7fr)) 22px; }
  .editorial-row > span:nth-child(5) { display: none; }
  .management-card-list { grid-template-columns: repeat(2,minmax(260px,1fr)); }
  .legacy-editorial-row { grid-template-columns: minmax(68px,.7fr) minmax(104px,1.3fr) 17px 23px; }
  .comparison-table .editorial-table-head { display: none; }
  .comparison-row { grid-template-columns: minmax(180px,1.4fr) minmax(140px,1fr) minmax(90px,.7fr) 20px; }
  .comparison-row > span:nth-child(2) { display: none; }
  .client-operations-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .task-summary, .schedule-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tasks-toolbar { flex-wrap: wrap; }
  .tasks-toolbar .management-search { flex-basis: 100%; }
  .task-table-head { display: none; }
  .task-row { grid-template-columns: 27px minmax(0,1fr) 105px 23px; }
  .task-owner { display: none; }
  .local-rank-actions { align-items: stretch; flex-direction: column; }
  .local-rank-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .local-rank-rail { grid-template-columns: 1fr; }
  .editorial-insights-strip { display: flex; overflow-x: auto; }
  .editorial-master-head { flex-wrap: wrap; }
  .editorial-create-row { grid-template-columns: 24px minmax(140px,1fr) repeat(2,105px); }
  .editorial-create-row .round-add { grid-column: 1; }
  .approval-overview { grid-template-columns: 1fr; }
  .phone-preview { width: 250px; margin: 0 auto; }
}

@media (max-width: 580px) {
  .topbar { gap: 10px; }
  .user button > div { display: none; }
  .page-heading { align-items: stretch; flex-direction: column; }
  .heading-actions { width: 100%; }
  .heading-actions > button { flex: 1; }
  .kpi-grid, .management-summary, .admin-card-grid, .admin-rail, .management-rail { grid-template-columns: 1fr; }
  .kpi-card { min-height: 108px; }
  .management-summary article { min-height: 74px; }
  .stage-flow > header { align-items: stretch; flex-direction: column; }
  .stage-strip { display: flex; overflow-x: auto; }
  .stage-strip > button { min-width: 112px; }
  .management-toolbar { flex-direction: column; }
  .management-toolbar select { width: 100%; max-width: none; }
  .editorial-row { grid-template-columns: minmax(0,1fr) auto 18px; }
  .editorial-row > span:nth-child(3), .editorial-row > span:nth-child(4), .editorial-row > span:nth-child(5) { display: none; }
  .management-card-list { grid-template-columns: 1fr; }
  .legacy-client-head { align-items: center; flex-direction: row; }
  .legacy-card-actions { width: auto; overflow: visible; }
  .legacy-card-actions button { flex: none; }
  .legacy-editorial-row { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr) 17px 23px; gap: 5px; padding: 5px 0; }
  .legacy-status { grid-column: 2; grid-row: 1; }
  .legacy-delete { grid-column: 4; grid-row: 1; }
  .comparison-row { grid-template-columns: minmax(0,1fr) auto 18px; }
  .comparison-row > span:nth-child(2), .comparison-row > span:nth-child(4) { display: none; }
  .client-operations-grid { grid-template-columns: 1fr; }
  .task-summary, .schedule-summary, .tasks-rail { grid-template-columns: 1fr; }
  .tasks-toolbar { align-items: stretch; flex-direction: column; }
  .tasks-toolbar select { width: 100%; }
  .compact-switch button { flex: 1; }
  .task-row { grid-template-columns: 27px minmax(0,1fr) 23px; }
  .task-due { grid-column: 2; }
  .schedule-daybar { flex-wrap: wrap; }
  .schedule-daybar > div { width: 100%; margin-left: 0; text-align: left; }
  .schedule-toolbar { align-items: stretch; flex-direction: column; }
  .schedule-toolbar > div:last-child { flex-direction: column; }
  .schedule-toolbar select { width: 100%; }
  .schedule-list { padding-inline: 8px; }
  .schedule-card-grid { grid-template-columns: 248px; justify-content: center; padding: 8px; }
  .schedule-row { grid-template-columns: 38px 10px minmax(0,1fr); gap: 6px; }
  .schedule-post > header { grid-template-columns: 30px 1fr; }
  .schedule-post > header .pill { grid-column: 2; justify-self: start; }
  .channel-results { grid-template-columns: 1fr; }
  .channel-results > span + span { border-top: 1px solid #edf0f3; border-left: 0; }
  .schedule-post > footer { align-items: flex-start; flex-direction: column; }
  .local-rank-heading { align-items: stretch; }
  .local-rank-controls { grid-template-columns: 1fr; }
  .local-map-card > header { align-items: stretch; flex-direction: column; }
  .local-map { min-height: 340px; }
  .rank-grid { inset: 25px 12px; gap: 4px; }
  .rank-grid span { width: 22px; height: 22px; font-size: 11px; }
  .local-map-card > footer { flex-wrap: wrap; gap: 10px; padding: 8px; }
  .client-editorial-header { grid-template-columns: 1fr; }
  .client-editorial-identity { align-items: flex-start; }
  .client-external-actions { grid-column: 1; }
  .client-editorial-tabs { grid-template-columns: 1fr; }
  .client-area-switch, .client-platform-switch { overflow-x: auto; }
  .editorial-insights-strip { display: flex; overflow-x: auto; }
  .editorial-insights-strip > * { min-width: 210px; }
  .editorial-insights-strip > aside { min-width: 105px; }
  .editorial-master-head { flex-wrap: wrap; }
  .editorial-master-head-right { justify-content: flex-start; }
  .editorial-create-row { grid-template-columns: 24px minmax(0,1fr); }
  .editorial-create-row > * { grid-column: 2; width: 100%; }
  .editorial-create-row > span, .editorial-create-row .round-add { grid-column: 1; }
  .approval-workspace > header { align-items: stretch; flex-direction: column; }
  .post-jump-list button { grid-template-columns: 44px 1fr; }
  .post-jump-list .pill { grid-column: 2; justify-self: start; }
  .editorial-post-card > header { grid-template-columns: 32px 1fr; }
  .editorial-post-card > header .pill, .post-number { grid-column: 2; justify-self: start; }
  .post-schedule-fields, .post-fields { grid-template-columns: 1fr; }
  .post-fields .field-wide { grid-column: 1; }
  .creative-assets > header { align-items: flex-start; flex-direction: column; }
  .creative-assets header > div:last-child { justify-content: flex-start; }
  .asset-strip { grid-template-columns: 1fr; }
  .asset-strip article { min-height: 130px; }
  .post-editor > footer { align-items: flex-start; flex-direction: column; }
  .editorial-responsibility { grid-template-columns: 1fr; }
  .editorial-responsibility > div { border-bottom: 1px solid var(--line); border-right: 0; }
  .reject-editorial { grid-column: 1; }
  .timeline-item { grid-template-columns: 38px 10px minmax(0,1fr); }
  .timeline-item > .pill, .timeline-item > .small-button { grid-column: 3; justify-self: start; margin-bottom: 8px; }
  .panel-header { align-items: flex-start; flex-direction: column; }
  .accounts-toolbar { align-items: stretch; flex-direction: column; }
  .toolbar-controls { flex-direction: column; }
  .mini-search { min-width: 0; }
  .account-table-row { grid-template-columns: minmax(0,1fr) auto 20px; }
  .account-table-row > span:nth-child(3) { display: none; }
  .account-table-row .avatar { width: 31px; height: 31px; }
  .prototype-footer { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 1040px) {
  .bill-generator-toolbar { align-items: stretch; flex-direction: column; }
  .bill-generator-controls { min-width: 0; }
  .bill-generator-body { grid-template-columns: minmax(0,1fr) 210px; }
  .hours-control-bar { grid-template-columns: minmax(220px,1.4fr) minmax(140px,.7fr) auto; }
  .hours-control-bar > button { grid-column: 1 / -1; }
  .current-hours-head, .current-hours-row { grid-template-columns: 85px minmax(150px,1fr) 90px 55px minmax(160px,1.2fr) 24px; }
  .current-hours-head > span:nth-child(5), .current-hours-row > strong:nth-child(5) { display: none; }
  .hours-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .hours-main-grid { grid-template-columns: 1fr; }
  .hours-team-grid { grid-template-columns: repeat(2,1fr); }
  .hours-client-head, .hours-client-row { grid-template-columns: minmax(160px,1fr) repeat(3,75px) 18px; }
  .hours-client-head > span:nth-child(3), .hours-client-head > span:nth-child(6), .hours-client-row > strong:nth-child(3), .hours-client-row > span:nth-child(6) { display: none; }
  .hours-entry-head, .hours-entry-row { grid-template-columns: 85px 75px minmax(120px,1fr) minmax(140px,1fr) 60px 65px 18px; }
  .hours-entry-head > span:nth-child(4), .hours-entry-row > span:nth-child(4) { display: none; }
  .ads-kpi-grid, .ads-master-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ads-overview-grid { grid-template-columns: 1fr; }
  .ads-creative-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ads-campaign-head, .ads-campaign-row { grid-template-columns: 28px minmax(180px,1fr) 70px repeat(2,78px) 64px 18px; }
  .ads-campaign-head > span:nth-child(3), .ads-campaign-head > span:nth-child(7), .ads-campaign-head > span:nth-child(8), .ads-campaign-row > span:nth-child(3), .ads-campaign-row > strong:nth-child(7), .ads-campaign-row > strong:nth-child(8) { display: none; }
  .finance-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .finance-main-grid, .finance-lower-grid { grid-template-columns: 1fr; }
  .contract-grid { grid-template-columns: repeat(2,1fr); }
  .client-cost-grid { grid-template-columns: 1fr; }
  .ai-cost-kpis { grid-template-columns: repeat(2,1fr); }
  .ai-table-head, .ai-table-row { grid-template-columns: minmax(140px,1fr) minmax(120px,1fr) repeat(2,80px) 18px; }
  .ai-table-head > span:nth-child(4), .ai-table-head > span:nth-child(5), .ai-table-row > span:nth-child(4), .ai-table-row > span:nth-child(5) { display: none; }
  .meta-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .meta-dashboard-grid { grid-template-columns: 1fr; }
  .meta-fourup-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .meta-secondary-charts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .meta-source-chart { grid-column: 1 / -1; }
  .meta-post-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .meta-format-card { display: grid; grid-template-columns: 210px 1fr; }
  .meta-format-card > header { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .bill-generator-body { grid-template-columns: 1fr; }
  .bill-generator-note { grid-template-columns: 1fr 1fr; align-items: center; }
  .bill-generator-note dl, .bill-generator-note p { grid-column: 1 / -1; }
  .hours-control-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .month-status, .hours-control-bar > button { grid-column: auto; }
  .new-hours-fields { grid-template-columns: 1fr; }
  .current-hours-head { display: none; }
  .current-hours-row { grid-template-columns: 80px minmax(0,1fr) 85px 50px 24px; }
  .current-hours-row > span:nth-child(6) { display: none; }
  .hours-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hours-team-detail { grid-template-columns: 1fr; }
  .hours-entry-head { display: none; }
  .hours-entry-row { grid-template-columns: 75px minmax(0,1fr) 60px 65px 18px; }
  .hours-entry-row > span:nth-child(3), .hours-entry-row > span:nth-child(5) { display: none; }
  .hours-client-head { display: none; }
  .hours-client-row { grid-template-columns: minmax(0,1fr) 70px 110px 18px; }
  .hours-client-row > strong:nth-child(5) { display: none; }
  .ads-filter-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ads-account-head { display: none; }
  .ads-account-row { grid-template-columns: minmax(0,1fr) repeat(2,75px) 18px; }
  .ads-account-row > strong:nth-child(2), .ads-account-row > span:nth-child(4), .ads-account-row > strong:nth-child(5) { display: none; }
  .ads-campaign-head { display: none; }
  .ads-campaign-row { grid-template-columns: 28px minmax(0,1fr) 70px 64px 18px; }
  .ads-campaign-row > strong:nth-child(5), .ads-campaign-row > strong:nth-child(6), .ads-campaign-row > strong:nth-child(7), .ads-campaign-row > strong:nth-child(8) { display: none; }
  .ads-campaign-panel > header { align-items: flex-start; flex-direction: column; }
  .comparison-chart > div { grid-template-columns: minmax(85px,130px) 1fr; }
  .ads-comparison > footer { padding-left: 158px; }
  .finance-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fixed-cost-grid, .ai-provider-grid { grid-template-columns: 1fr; }
  .finance-special-kpis, .finance-document-summary { grid-template-columns: 1fr; }
  .finance-special-kpis article, .finance-document-summary article { min-height: 70px; border-right: 0; border-bottom: 1px solid var(--line); }
  .finance-section-heading, .finance-special > header, .finance-documents > header { align-items: flex-start; flex-direction: column; }
  .finance-doc-head { display: none; }
  .finance-doc-row { grid-template-columns: 80px minmax(0,1fr) 80px 18px; }
  .finance-doc-row > span:nth-child(3), .finance-doc-row > span:nth-child(4), .finance-doc-row > strong:nth-child(5) { display: none; }
  .finance-ledger-head { display: none; }
  .finance-ledger-row { grid-template-columns: minmax(0,1fr) auto auto 20px; }
  .finance-ledger-row > span:nth-child(2), .finance-ledger-row > strong:nth-child(3) { display: none; }
  .finance-due-row { grid-template-columns: 34px minmax(0,1fr) 70px 65px 18px; }
  .finance-due-row > span:nth-child(3) { display: none; }
  .meta-insights-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .meta-client-heading { align-items: flex-start; }
  .meta-client-title { align-items: flex-start; flex-direction: column; gap: 8px; }
  .meta-fourup-grid { grid-template-columns: 1fr; }
  .meta-audience-charts-grid { grid-template-columns: 1fr; }
  .meta-secondary-charts { grid-template-columns: 1fr; }
  .meta-source-chart { grid-column: auto; }
  .meta-content-ranking article { grid-template-columns: 52px minmax(0,1fr) repeat(2,70px) 22px; }
  .meta-content-ranking article > span:nth-child(5) { display: none; }
  .bubble-chronogram { grid-template-columns: 105px minmax(0,1fr); padding-inline: 14px; }
}

@media (max-width: 580px) {
  .bill-generator-controls { grid-template-columns: 1fr; }
  .bill-preview { padding: 24px 20px 22px; }
  .bill-preview > img { width: 190px; height: 150px; }
  .bill-item-head, .bill-item-row { grid-template-columns: 42px minmax(0,1fr) 85px; }
  .bill-generator-note { grid-template-columns: 1fr; }
  .bill-generator-note dl, .bill-generator-note p { grid-column: 1; }
  .hours-control-bar, .hours-summary, .new-hours-fields { grid-template-columns: 1fr; }
  .hours-workspace { grid-template-columns: 1fr; }
  .month-status, .hours-control-bar > button { grid-column: 1; }
  .new-hours-fields .description-field { grid-column: 1; }
  .current-hours-row { grid-template-columns: minmax(0,1fr) 75px 24px; }
  .current-hours-row > span:nth-child(1), .current-hours-row > span:nth-child(3), .current-hours-row > strong:nth-child(4) { display: none; }
  .new-hours-entry > footer { align-items: stretch; flex-direction: column; }
  .new-hours-entry footer button { width: 100%; }
  .hours-kpis, .hours-team-grid { grid-template-columns: 1fr; }
  .hours-legend { display: none; }
  .hours-week-bars { gap: 5px; }
  .hours-client-row { grid-template-columns: minmax(0,1fr) 95px 18px; }
  .hours-client-row > strong:nth-child(2) { display: none; }
  .hours-entry-row { grid-template-columns: 70px minmax(0,1fr) 18px; }
  .hours-entry-row > span:nth-child(6), .hours-entry-row > .pill { display: none; }
  .hours-section-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .team-stat-grid { grid-template-columns: repeat(2,1fr); }
  .ads-filter-bar { grid-template-columns: 1fr; }
  .ads-kpi-grid, .ads-master-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ads-creative-grid { grid-template-columns: 1fr; }
  .ads-account-row { grid-template-columns: minmax(0,1fr) 68px 18px; }
  .ads-account-row > strong:nth-child(3) { display: none; }
  .ads-campaign-row { grid-template-columns: 24px minmax(0,1fr) 58px 18px; }
  .ads-campaign-row > .pill { display: none; }
  .comparison-chart > div { grid-template-columns: 80px 1fr; }
  .ads-comparison > footer { padding-left: 108px; }
  .comparison-chart b span { right: 4px; font-size: 11px; }
  .finance-kpis { grid-template-columns: 1fr; }
  .finance-kpi { min-height: 90px; }
  .ai-cost-kpis { grid-template-columns: 1fr; }
  .client-cost-split { grid-template-columns: 1fr; }
  .client-cost-split span { grid-template-columns: 58px minmax(42px,1fr) 30px 45px; }
  .client-team-costs > div { grid-template-columns: 1fr 1fr 35px 55px; }
  .ai-table-head { display: none; }
  .ai-table-row { grid-template-columns: minmax(0,1fr) 80px 18px; }
  .ai-table-row > span:nth-child(n+3) { display: none; }
  .finance-doc-toolbar { align-items: stretch; flex-direction: column; }
  .finance-doc-row { grid-template-columns: 70px minmax(0,1fr) 18px; }
  .finance-doc-row > .pill { display: none; }
  .contract-grid { grid-template-columns: 1fr; }
  .cashflow-chart { gap: 4px; padding-inline: 10px; }
  .finance-due-row { grid-template-columns: 31px minmax(0,1fr) 65px 18px; }
  .finance-due-row > strong:nth-child(4) { display: none; }
  .finance-ledger-row { grid-template-columns: minmax(0,1fr) auto 20px; }
  .finance-ledger-row > strong:nth-child(4) { display: none; }
  .meta-insights-filters { grid-template-columns: 1fr; }
  .meta-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .meta-posts-section > header { align-items: flex-start; flex-direction: column; }
  .meta-post-card-grid { grid-template-columns: 1fr; }
  .meta-format-card { display: block; }
  .meta-content-ranking article { grid-template-columns: 48px minmax(0,1fr) 22px; }
  .meta-content-ranking article > span:not(.meta-post-thumb) { display: none; }
}

/* Regras exclusivas do arquivo de entrega */
body.export-bundle{display:block;min-height:100vh;padding:24px;background:#eef1f5;color:#182235}
.export-index{max-width:1600px;margin:0 auto 24px;padding:24px;border:1px solid #dce3ec;border-radius:22px;background:#fff;box-shadow:0 8px 28px rgba(24,34,53,.06)}
.export-index>img{display:block;width:108px;height:auto;margin-bottom:14px}
.export-index h1{margin:0 0 6px;font-size: 29px}
.export-index p{margin:0 0 18px;color:#667085}
.export-index nav{display:flex;flex-wrap:wrap;gap:8px}
.export-index nav a{padding:9px 12px;border:1px solid #dce3ec;border-radius:999px;color:#46536a;text-decoration:none;font-weight:700;background:#f8fafc}
.export-index nav a:hover{border-color:#ff6200;color:#d94f00}
.export-page{max-width:1600px;margin:0 auto 34px;border:1px solid #dce3ec;border-radius:22px;overflow:hidden;background:#f5f7fa;box-shadow:0 8px 28px rgba(24,34,53,.05)}
.export-label{position:sticky;top:0;z-index:50;margin:0;padding:14px 22px;border-bottom:1px solid #dce3ec;background:#182235;color:#fff;font-size: 18px}
.export-page>main{min-height:auto;padding:24px}
@media(max-width:760px){body.export-bundle{padding:10px}.export-page>main{padding:12px}.export-index{padding:18px}}

/* Biblioteca do cliente (temas + itens) */
.library-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.library-toolbar h2 { margin: 0; font-size: 20px; }
.library-toolbar p { margin: 3px 0 0; color: var(--muted); font-size: 14px; }
.library-themes { display: grid; gap: 12px; }
.library-theme { border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: var(--shadow); overflow: hidden; }
.library-theme.open { border-color: var(--accent); }
.library-theme-head { display: flex; align-items: center; gap: 10px; padding: 16px 18px; cursor: pointer; user-select: none; }
.library-theme-head h3 { margin: 0; flex: 1; font-size: 16px; }
.library-theme-chevron { display: inline-block; color: var(--muted); font-size: 18px; font-weight: 800; transition: transform .15s ease; }
.library-theme.open .library-theme-chevron { transform: rotate(90deg); color: var(--accent); }
.library-theme-count { min-height: 22px; padding: 0 8px; border-radius: 999px; background: #f0f2f5; color: #667386; font-size: 12px; font-weight: 850; display: inline-flex; align-items: center; white-space: nowrap; }
.library-theme-delete { width: 26px; height: 26px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #929ba8; cursor: pointer; flex-shrink: 0; font-size: 13px; }
.library-theme-delete:hover { background: #fdeaea; color: var(--red); }
.library-theme-body { display: none; padding: 0 18px 18px; border-top: 1px solid #edf0f3; }
.library-theme.open .library-theme-body { display: block; padding-top: 16px; }
.library-theme-body-head { display: flex; justify-content: flex-end; }
.library-empty { margin: 14px 0 0; color: var(--muted); font-size: 13px; }
.library-items { display: grid; gap: 10px; margin-top: 14px; }
.library-item { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-start; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fafbfc; }
.library-item-thumb { width: 52px; height: 52px; flex-shrink: 0; display: grid; place-items: center; border-radius: 10px; overflow: hidden; background: #eef0f3; color: #667386; font-size: 11px; font-weight: 850; }
.library-item-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.library-item-thumb-1 { background: #ffe9da; color: #b1500f; }
.library-item-thumb-2 { background: #e7e1fb; color: #5b45c4; }
.library-item-thumb-3 { background: #dcf0e6; color: #1c7a4c; }
.library-item-thumb-4 { background: #dcebfb; color: #1c5ea6; }
.library-item-main { flex: 2 1 200px; min-width: 0; }
.library-item-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.library-item-top strong { font-size: 15px; }
.library-item-desc { flex: 1 1 160px; min-width: 0; margin: 0; padding-left: 14px; border-left: 2px solid var(--accent); color: #46536a; font-size: 13px; line-height: 1.5; white-space: pre-wrap; align-self: center; }
.library-item-files { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.library-file-chip { display: inline-flex; align-items: center; gap: 5px; min-height: 26px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--accent-dark); font-size: 12px; font-weight: 700; text-decoration: none; }
.library-file-chip:hover { background: #fff5ed; }
.library-item-meta { margin-top: 8px; color: var(--muted); font-size: 11px; }
.library-item-actions { display: flex; flex-direction: column; gap: 4px; flex-shrink: 0; margin-left: auto; }
.library-item-edit, .library-item-delete { width: 26px; height: 26px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #929ba8; cursor: pointer; flex-shrink: 0; font-size: 13px; }
.library-item-edit:hover { background: #f0f2f5; color: var(--ink); }
.library-item-delete:hover { background: #fdeaea; color: var(--red); }
.library-existing-files { display: flex; flex-wrap: wrap; gap: 6px; margin: 5px 0 0; }
.library-existing-file { display: inline-flex; align-items: center; gap: 5px; min-height: 26px; padding: 0 6px 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #f7f8fa; color: #46536a; font-size: 12px; font-weight: 700; }
.library-existing-file button { border: 0; background: transparent; color: #929ba8; font-size: 15px; line-height: 1; cursor: pointer; padding: 2px 4px; }
.library-existing-file button:hover { color: var(--red); }
