/* BioSphere · cockpit v5.1 · Início e Agenda (construtor A · prefixo cki-). Só tokens do design system. */

/* ---------- Tons por tipo de evento e situação de visita ---------- */
.cki-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex: none; background: var(--ink-faint); box-shadow: 0 0 0 2px var(--surface); vertical-align: 1px; }
.cki-dot--mint { background: var(--mint-strong); }
.cki-dot--purple { background: var(--purple); }
.cki-dot--orange { background: var(--orange); }
.cki-dot--alert { background: var(--alert); }
.cki-dot--terra { background: var(--terra-2); }
.cki-dot--outline { background: transparent; box-shadow: inset 0 0 0 1.5px var(--ink-muted); }

.cki-faixa { display: inline-block; width: 18px; height: 6px; border-radius: var(--radius-pill); margin-right: 6px; vertical-align: 1px; background: var(--ink-faint); }
.cki-faixa--mint { background: var(--mint-strong); }
.cki-faixa--purple { background: var(--purple); }
.cki-faixa--orange { background: var(--orange); }
.cki-faixa--alert { background: var(--alert); }
.cki-faixa--outline { background: transparent; box-shadow: inset 0 0 0 1.5px var(--ink-muted); }

.cki-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--ink-muted); margin-top: 10px; }
.cki-legend span { display: inline-flex; align-items: center; gap: 6px; }
.cki-nota { font-size: 13px; color: var(--ink-muted); line-height: 1.45; margin: 8px 0 0; }

/* ---------- Início ---------- */
/* linhas claras dentro de cards de mídia (mesh, night): texto volta para a tinta do design system */
.bs-card--mesh .cki-list .bs-row, .bs-card--night .cki-list .bs-row { color: var(--ink); background: var(--surface-raised); }
.bs-card--mesh .cki-list .bs-row small, .bs-card--night .cki-list .bs-row small { color: var(--ink-muted); }
.cki .ck-trilha { margin-bottom: 4px; }
.cki-ro { display: flex; align-items: center; gap: 8px; margin: 0 0 var(--space-4); }
.cki-list .bs-row { min-width: 0; }
.cki-list .bs-row__main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cki-it--ea .bs-row__ico { background: var(--orange-soft); color: var(--orange-ink); }
.cki-it--ligar .bs-row__ico { background: var(--purple-soft); color: var(--purple-ink); }
.cki-it--card .bs-row__ico { background: var(--surface-sunken); }
.cki-vis .bs-row__main small { display: flex; align-items: center; }

/* mini-semana do card "Esta semana" */
.cki-wkmini { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.cki-wkmini__d { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 2px 10px; border: 0; border-radius: var(--radius-md); background: var(--surface-sunken); color: var(--ink); font: inherit; cursor: pointer; min-height: 92px; transition: transform .25s, background .25s; }
.cki-wkmini__d:hover { transform: translateY(-2px); background: var(--surface-strong); }
.cki-wkmini__d small { font-size: 11px; color: var(--ink-muted); text-transform: lowercase; }
.cki-wkmini__d b { font-size: 17px; font-weight: 600; letter-spacing: -.01em; }
.cki-wkmini__d.is-hoje { background: var(--ink); color: var(--on-ink); }
.cki-wkmini__d.is-hoje small { color: inherit; opacity: .7; }
.cki-wkmini__d.is-hoje .cki-dot { box-shadow: 0 0 0 2px var(--ink); }
.cki-wkmini__dots { display: flex; flex-wrap: wrap; justify-content: center; gap: 3px; margin-top: 4px; max-width: 34px; }
.cki-wkmini__dots em { font-style: normal; font-size: 10px; color: inherit; opacity: .7; }

/* linha de evento com mini-calendário */
.cki-ev__cal { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; flex: none; width: 38px; height: 40px; border-radius: var(--radius-sm); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); line-height: 1; }
.cki-ev__cal small { font-size: 10px; color: var(--ink-muted); text-transform: uppercase; letter-spacing: .04em; }
.cki-ev__cal b { font-size: 16px; font-weight: 600; margin-top: 2px; }
.cki-ev__cal--purple { box-shadow: inset 0 -3px 0 var(--purple), inset 0 0 0 1px var(--line); }
.cki-ev__cal--mint { box-shadow: inset 0 -3px 0 var(--mint-strong), inset 0 0 0 1px var(--line); }
.cki-ev__cal--orange { box-shadow: inset 0 -3px 0 var(--orange), inset 0 0 0 1px var(--line); }
.cki-ev__cal--alert { box-shadow: inset 0 -3px 0 var(--alert), inset 0 0 0 1px var(--line); }
.cki-ev__cal--terra { box-shadow: inset 0 -3px 0 var(--terra-2), inset 0 0 0 1px var(--line); }
.cki-ev { gap: 10px; }
.cki-ev .bs-row__main b { display: flex; align-items: center; gap: 7px; }

/* card de entidade do projeto */
.cki-proj .bs-entity__pos { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cki-proj__trl { font-size: 13px; font-weight: 500; }
.cki-proj .bs-entity__tags { display: flex; flex-wrap: wrap; gap: 6px; }

/* pauta do comitê no card terra */
.cki-pauta { margin-top: var(--space-3); }
.cki-pauta > small { display: block; font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; opacity: .75; margin-bottom: 6px; }
.cki-pauta ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cki-pauta li { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.35; }
.cki-pauta li small { display: block; font-size: 12px; opacity: .7; }
.cki-pauta__n { flex: none; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 11.5px; font-weight: 600; background: var(--surface-glass); }

/* Copiloto (mint) */
.cki-orbs { position: relative; height: 72px; margin-bottom: 4px; }
.cki-cop .bs-row { background: var(--surface-glass); }

/* concessões do cofre */
.cki-auto { box-shadow: inset 3px 0 0 var(--alert); }
.cki-autoaviso { display: flex; gap: 8px; align-items: center; margin-top: var(--space-3); }

/* ---------- Agenda ---------- */
.cki-agenda .cki-bento { margin-bottom: var(--space-4); }
.cki-tabs { margin: 0 0 var(--space-3); }
.cki-filtros { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; margin-bottom: var(--space-3); }
.cki-filtros .bs-chips { flex-wrap: wrap; }
.cki-filtros__dir { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.cki-chip { display: inline-flex; align-items: center; gap: 6px; }
.cki-chip__n { font-size: 11.5px; color: var(--ink-muted); font-variant-numeric: tabular-nums; }
.cki-chip.is-on .cki-chip__n { color: inherit; opacity: .75; }
.cki-sel { display: inline-flex; min-width: 0; max-width: 100%; }
.cki-sel .bs-select { max-width: 260px; min-width: 0; }
.cki-cofre { display: flex; align-items: center; gap: 8px; margin-bottom: var(--space-3); font-size: 13px; }

.cki-wkcard, .cki-mescard { padding: var(--space-5); margin-bottom: var(--space-4); min-width: 0; }
.cki-wk__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: var(--space-4); }
.cki-wk__tit b { display: block; font-size: 20px; font-weight: 600; letter-spacing: -.01em; }
.cki-wk__tit small { color: var(--ink-muted); font-size: 13px; }
.cki-seg button { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; }
.cki-seg .bs-i, .cki-seg svg { transform: rotate(-90deg); }
.cki-rot { display: inline-flex; transform: rotate(180deg); }

.cki-wk { display: grid; gap: 8px; min-width: 0; }
.cki-wk__head, .cki-wk__bars, .cki-wk__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.cki-wk__dh { display: flex; align-items: baseline; gap: 6px; padding: 6px 8px; border-radius: var(--radius-sm); }
.cki-wk__dh small { font-size: 12px; color: var(--ink-muted); }
.cki-wk__dh b { font-size: 18px; font-weight: 600; }
.cki-wk__dh.is-hoje { background: var(--ink); color: var(--on-ink); }
.cki-wk__dh.is-hoje small { color: inherit; opacity: .7; }
.cki-wk__dh.is-passado { opacity: .55; }
.cki-wk__lbl { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ink-muted); margin-top: 4px; }
.cki-wk__bars { grid-auto-flow: row; row-gap: 5px; }

.cki-bar { grid-column: var(--c0) / var(--c1); position: relative; display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; height: 30px; padding: 0 10px; border: 0; border-radius: var(--radius-pill); font: inherit; font-size: 12.5px; text-align: left; cursor: pointer; color: var(--ink); background: var(--surface-sunken); box-shadow: inset 0 0 0 1px var(--line-strong); transition: transform .2s, box-shadow .2s; }
.cki-bar:hover { transform: translateY(-1px); box-shadow: var(--shadow-card); }
.cki-bar--l { border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
.cki-bar--r { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
.cki-bar--mint { background: var(--mint-soft); box-shadow: inset 0 0 0 1px var(--mint-strong); }
.cki-bar--purple { background: var(--purple-soft); color: var(--purple-ink); box-shadow: inset 0 0 0 1px var(--purple-300); }
.cki-bar--orange { background: var(--orange-soft); color: var(--orange-ink); box-shadow: inset 0 0 0 1px var(--orange); }
.cki-bar--alert { background: color-mix(in srgb, var(--alert) 14%, var(--surface)); box-shadow: inset 0 0 0 1px var(--alert); }
.cki-bar--outline { background: transparent; box-shadow: inset 0 0 0 1px var(--line-strong); color: var(--ink-muted); background-image: repeating-linear-gradient(135deg, transparent 0 6px, var(--surface-sunken) 6px 8px); }
.cki-bar__txt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; position: relative; }
.cki-bar__txt b { font-family: var(--font-mono); font-weight: 600; letter-spacing: .02em; }
.cki-bar__faixa { flex: none; font-size: 11.5px; opacity: .75; font-variant-numeric: tabular-nums; position: relative; }
.cki-bar__alvo { position: absolute; bottom: -4px; left: var(--x); width: 8px; height: 8px; margin-left: -4px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 2px var(--surface); }
.cki-wk__bars { row-gap: 8px; }

.cki-wk__grid { align-items: start; margin-top: 4px; }
.cki-wk__col { display: flex; flex-direction: column; gap: 6px; min-width: 0; min-height: 120px; padding: 6px; border-radius: var(--radius-md); background: var(--surface-sunken); }
.cki-wk__col.is-hoje { box-shadow: inset 0 0 0 1.5px var(--ink); }
.cki-wk__col.is-passado { opacity: .6; }
.cki-wk__dl { display: none; font-size: 12.5px; font-weight: 600; color: var(--ink-muted); text-transform: capitalize; padding: 2px 2px 4px; }
.cki-wk__vazio { font-size: 12px; color: var(--ink-faint); padding: 4px; }

/* pílula de evento */
.cki-pill { display: flex; align-items: flex-start; gap: 6px; width: 100%; min-width: 0; padding: 7px 8px; border: 0; border-radius: var(--radius-sm); background: var(--surface-raised); box-shadow: inset 3px 0 0 var(--ink-faint), 0 1px 0 var(--line); color: var(--ink); font: inherit; text-align: left; cursor: pointer; transition: transform .2s, box-shadow .2s; }
.cki-pill:hover { transform: translateY(-1px); box-shadow: inset 3px 0 0 var(--ink-faint), var(--shadow-card); }
.cki-pill__ico { flex: none; display: inline-flex; color: var(--ink-muted); margin-top: 1px; }
.cki-pill__txt { min-width: 0; display: flex; flex-direction: column; }
.cki-pill__txt b { font-size: 12.5px; font-weight: 500; line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.cki-pill__txt small { font-size: 11px; color: var(--ink-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cki-pill__h { font-variant-numeric: tabular-nums; font-weight: 600; }
.cki-pill--mint { box-shadow: inset 3px 0 0 var(--mint-strong), 0 1px 0 var(--line); }
.cki-pill--purple { box-shadow: inset 3px 0 0 var(--purple), 0 1px 0 var(--line); }
.cki-pill--orange { box-shadow: inset 3px 0 0 var(--orange), 0 1px 0 var(--line); }
.cki-pill--alert { box-shadow: inset 3px 0 0 var(--alert), 0 1px 0 var(--line); }
.cki-pill--alert .cki-pill__ico { color: var(--alert); }
.cki-pill--terra { box-shadow: inset 3px 0 0 var(--terra-2), 0 1px 0 var(--line); }
.cki-pill--outline { box-shadow: inset 3px 0 0 var(--ink-faint), 0 1px 0 var(--line); }
.cki-legend--agenda { margin-top: var(--space-4); }

/* mês */
.cki-mes { min-width: 0; }
.cki-mes__h, .cki-mes__g { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.cki-mes__h span { font-size: 12px; color: var(--ink-muted); text-align: center; padding-bottom: 4px; }
.cki-md { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; aspect-ratio: 1 / .82; min-width: 0; padding: 8px; border: 0; border-radius: var(--radius-md); background: var(--surface-sunken); color: var(--ink); font: inherit; text-align: left; cursor: pointer; transition: transform .25s, background .25s; }
.cki-md:hover { transform: translateY(-2px); background: var(--surface-strong); }
.cki-md.is-janela { background-image: repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--purple) 12%, transparent) 6px 8px); }
.cki-md.is-fora { opacity: .4; }
.cki-md.is-passado .cki-md__n { color: var(--ink-muted); }
.cki-md.is-hoje { box-shadow: inset 0 0 0 1.5px var(--ink); }
.cki-md.is-hoje .cki-md__n { background: var(--ink); color: var(--on-ink); border-radius: var(--radius-pill); padding: 1px 7px; }
.cki-md__n { font-size: 14px; font-weight: 600; }
.cki-md__dots { display: flex; flex-wrap: wrap; gap: 3px; }
.cki-md__c { position: absolute; top: 8px; right: 9px; font-size: 11px; color: var(--ink-muted); font-variant-numeric: tabular-nums; }

/* lista */
.cki-lista { display: grid; gap: var(--space-3); margin-bottom: var(--space-4); }
.cki-dia { padding: var(--space-4); border-radius: var(--radius-lg); background: var(--surface-raised); box-shadow: var(--shadow-card); min-width: 0; }
.cki-dia.is-hoje { box-shadow: inset 0 0 0 1.5px var(--ink), var(--shadow-card); }
.cki-dia.is-passado { opacity: .7; }
.cki-dia__h { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.cki-dia__h b { display: block; text-transform: capitalize; font-size: 15px; }
.cki-dia__h small { color: var(--ink-muted); font-size: 12.5px; }
.cki-lrow { min-width: 0; }
.cki-lrow__ico { background: var(--surface-sunken); color: var(--ink-muted); }
.cki-lrow__ico--purple { background: var(--purple-soft); color: var(--purple-ink); }
.cki-lrow__ico--mint { background: var(--mint-soft); color: var(--mint-ink); }
.cki-lrow__ico--orange { background: var(--orange-soft); color: var(--orange-ink); }
.cki-lrow__ico--alert { background: color-mix(in srgb, var(--alert) 14%, var(--surface)); color: var(--alert); }
.cki-lrow__ico--terra { background: color-mix(in srgb, var(--terra-2) 22%, var(--surface)); color: var(--ink); }
.cki-lrow__side { display: flex; align-items: center; gap: 8px; flex: none; flex-wrap: wrap; justify-content: flex-end; }
.cki-faixa-txt { display: inline-flex; align-items: center; font-size: 12px; color: var(--ink-muted); font-variant-numeric: tabular-nums; }

/* agenda externa */
.cki-sync { margin-bottom: var(--space-4); }
.cki-sync__ex { margin-top: var(--space-3); padding: 10px 12px; border-radius: var(--radius-sm); background: var(--surface-sunken); }
.cki-sync__ex small { display: block; font-size: 11.5px; color: var(--ink-muted); }
.cki-sync__ex b { font-family: var(--font-mono); font-size: 13px; font-weight: 500; }

/* pop de evento */
.cki-pop__head { display: flex; align-items: center; gap: 12px; }
.cki-pop { display: grid; gap: 10px; }
.cki-pop--dia { gap: 6px; }
.cki-pop__meta { font-size: 13px; color: var(--ink-muted); }
.cki-pop__pauta { margin: 0; padding-left: 18px; font-size: 13px; line-height: 1.45; display: grid; gap: 3px; }
.cki-pop__acts { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 4px; }
.cki-avs { display: flex; gap: 4px; flex-wrap: wrap; }
.cki-jan { margin-top: 2px; }
.cki-jan__track { position: relative; height: 10px; border-radius: var(--radius-pill); background: var(--ink-faint); }
.cki-jan__track--mint { background: var(--mint-strong); }
.cki-jan__track--purple { background: var(--purple); }
.cki-jan__track--orange { background: var(--orange); }
.cki-jan__track--alert { background: var(--alert); }
.cki-jan__track--outline { background: transparent; box-shadow: inset 0 0 0 1.5px var(--ink-muted); }
.cki-jan__prev { position: absolute; top: 50%; left: var(--x); width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--surface); box-shadow: 0 0 0 2px var(--ink); }
.cki-jan__hoje { position: absolute; top: -4px; bottom: -4px; left: var(--x); width: 2px; margin-left: -1px; background: var(--ink); border-radius: 1px; }
.cki-jan__lbl { display: flex; justify-content: space-between; font-size: 11.5px; color: var(--ink-muted); margin-top: 5px; font-variant-numeric: tabular-nums; }

/* ---------- Celular: semana vira lista de dias; nada rola na horizontal ---------- */
@media (max-width: 760px) {
  .cki-wkcard, .cki-mescard { padding: var(--space-4); }
  .cki-wk__head { display: none; }
  .cki-wk__bars, .cki-wk__grid { grid-template-columns: minmax(0, 1fr); }
  .cki-bar { grid-column: 1 / -1; border-radius: var(--radius-pill); }
  .cki-wk__dl { display: block; }
  .cki-wk__col { min-height: 0; }
  .cki-mes__h, .cki-mes__g { gap: 3px; }
  .cki-md { padding: 5px; aspect-ratio: 1 / 1; border-radius: var(--radius-sm); }
  .cki-md__c { display: none; }
  .cki-md__n { font-size: 12px; }
  .cki-md .cki-dot { width: 6px; height: 6px; }
  .cki-filtros, .cki-filtros__dir { width: 100%; }
  .cki-sel, .cki-sel .bs-select { width: 100%; max-width: 100%; }
  .cki-lrow { flex-wrap: wrap; }
  .cki-lrow__side { width: 100%; justify-content: flex-start; padding-left: 44px; }
  .cki-wkmini { gap: 4px; }
  .cki-wkmini__d { min-height: 80px; padding: 6px 0 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .cki-wkmini__d, .cki-bar, .cki-pill, .cki-md { transition: none; }
}

/* estado vazio dentro de card de mídia: texto na cor sobre mídia */
.cki-bento .bs-card--mesh .bs-empty, .cki-bento .bs-card--night .bs-empty, .cki-bento .bs-card--mesh .bs-empty b, .cki-bento .bs-card--night .bs-empty b { color: var(--on-media); }
