/* ===========================================================================
   5 · AGENDAMENTO (#page-agendamento) — mesma linguagem
   Superfícies carbon/obsidian, réguas graphite, datas em mono,
   CTA e marcação de hoje em acid-lime.
   =========================================================================== */

[data-theme] #page-agendamento {
  background: var(--ln-void);
}

/* ---- barra lateral ---- */
[data-theme] #page-agendamento .ag-side {
  border-right: 1px solid var(--ln-graphite);
  background: var(--ln-carbon);
}
[data-theme] #page-agendamento .ag-create-btn {
  background: var(--ln-lime);
  color: var(--ln-void);
  border-radius: 6px;
  font-weight: 600;
  box-shadow: none;
}
[data-theme] #page-agendamento .ag-create-btn:hover {
  background: var(--lx-acid-lime-hi);
  transform: none;
  box-shadow: none;
}
[data-theme] #page-agendamento .ag-mini {
  background: var(--ln-carbon);
  border: 1px solid var(--ln-graphite);
  border-radius: 12px;
  box-shadow: var(--ln-ring);
}
[data-theme] #page-agendamento .ag-mini-title {
  color: var(--ln-bone);
}
[data-theme] #page-agendamento .ag-mini-nav button {
  color: var(--ln-fog);
  border-radius: 6px;
}
[data-theme] #page-agendamento .ag-mini-nav button:hover {
  background: var(--lx-wash-hover);
  color: var(--ln-bone);
}
[data-theme] #page-agendamento .ag-mini-dow {
  color: var(--ln-ash);
  font-family: var(--ln-mono);
}
[data-theme] #page-agendamento .ag-mini-day {
  color: var(--ln-mist);
  font-family: var(--ln-mono);
  border-radius: 6px;
}
[data-theme] #page-agendamento .ag-mini-day:hover {
  background: var(--lx-wash-hover);
}
[data-theme] #page-agendamento .ag-mini-day.out {
  color: var(--ln-ash);
}
[data-theme] #page-agendamento .ag-mini-day.today {
  background: var(--ln-lime);
  color: var(--ln-void);
  font-weight: 700;
}
[data-theme] #page-agendamento .ag-mini-day.sel {
  outline: 1.5px solid var(--ln-lime);
}
[data-theme] #page-agendamento .ag-cals-title {
  color: var(--ln-ash);
  font-family: var(--ln-mono);
  letter-spacing: 0.05em;
}
[data-theme] #page-agendamento .ag-cal-item {
  border-radius: 6px;
}
[data-theme] #page-agendamento .ag-cal-item:hover {
  background: var(--lx-wash-hover);
}
[data-theme] #page-agendamento .ag-cal-name {
  color: var(--ln-mist);
}
[data-theme] #page-agendamento .ag-skel-row {
  background: var(--ln-graphite);
  animation: none;
  border-radius: 6px;
}
[data-theme] #page-agendamento .ag-conn-ok {
  background: var(--ln-carbon);
  border: 1px solid var(--ln-graphite);
  border-radius: 6px;
  color: var(--ln-fog);
}
[data-theme] #page-agendamento .ag-conn-mail {
  font-family: var(--ln-mono);
}
[data-theme] #page-agendamento .ag-conn-dot {
  background: var(--ln-green);
  box-shadow: none;
}
[data-theme] #page-agendamento .ag-conn-bad {
  background: rgba(var(--lx-coral-rgb),0.08);
  border: 1px solid rgba(var(--lx-coral-rgb),0.25);
  border-radius: 6px;
}
[data-theme] #page-agendamento .ag-conn-reconnect {
  background: var(--lx-wash-coral);
  color: var(--lx-coral-text);
  border: 1px solid rgba(var(--lx-coral-rgb),0.45);
  border-radius: 6px;
}

/* ---- toolbar ---- */
[data-theme] #page-agendamento .ag-toolbar {
  border-bottom: 1px solid var(--ln-graphite);
}
[data-theme] #page-agendamento .ag-today-btn {
  background: transparent;
  border: 1px solid var(--ln-graphite);
  border-radius: 6px;
  color: var(--ln-mist);
  font-weight: 500;
}
[data-theme] #page-agendamento .ag-today-btn:hover {
  background: var(--lx-wash-hover);
  border-color: var(--ln-smoke);
  color: var(--ln-bone);
}
[data-theme] #page-agendamento .ag-arrow {
  color: var(--ln-fog);
  border-radius: 6px;
}
[data-theme] #page-agendamento .ag-arrow:hover {
  background: var(--lx-wash-hover);
  color: var(--ln-bone);
}
[data-theme] #page-agendamento .ag-period {
  color: var(--ln-paper);
  font-weight: 600;
  letter-spacing: -0.011em;
}
[data-theme] #page-agendamento .ag-view-toggle {
  background: var(--lx-wash-hover);
  border: 1px solid var(--ln-graphite);
  border-radius: 6px;
  padding: 3px;
}
[data-theme] #page-agendamento .ag-view-opt {
  color: var(--ln-fog);
  border-radius: 6px;
}
[data-theme] #page-agendamento .ag-view-opt:hover {
  color: var(--ln-mist);
}
[data-theme] #page-agendamento .ag-view-opt.active {
  background: var(--lx-wash-active);
  color: var(--ln-paper);
  box-shadow: none;
}
[data-theme] #page-agendamento .ag-refresh {
  background: transparent;
  border: 1px solid var(--ln-graphite);
  border-radius: 6px;
  color: var(--ln-fog);
}
[data-theme] #page-agendamento .ag-refresh:hover {
  background: var(--lx-wash-hover);
  border-color: var(--ln-smoke);
  color: var(--ln-bone);
}
[data-theme] #page-agendamento .ag-loading {
  color: var(--ln-fog);
}
[data-theme] #page-agendamento .ag-spinner {
  border: 3px solid var(--ln-graphite);
  border-top-color: var(--ln-lime);
}
[data-theme] #page-agendamento .ag-empty {
  color: var(--ln-fog);
}

/* ---- visão mês ---- */
[data-theme] #page-agendamento .ag-month-dow {
  border-bottom: 1px solid var(--ln-graphite);
}
[data-theme] #page-agendamento .ag-month-dow > div {
  color: var(--ln-ash);
  font-family: var(--ln-mono);
  letter-spacing: 0.05em;
}
[data-theme] #page-agendamento .ag-mcell {
  border-right: 1px solid var(--ln-graphite);
  border-bottom: 1px solid var(--ln-graphite);
}
[data-theme] #page-agendamento .ag-mcell:hover {
  background: var(--lx-wash-hover);
}
[data-theme] #page-agendamento .ag-mcell.out {
  background: transparent;
  opacity: 0.5;
}
[data-theme] #page-agendamento .ag-mcell-num {
  color: var(--ln-mist);
  font-family: var(--ln-mono);
  font-weight: 500;
}
[data-theme] #page-agendamento .ag-mcell.today .ag-mcell-num {
  background: var(--ln-lime);
  color: var(--ln-void);
  font-weight: 700;
  box-shadow: none;
}
[data-theme] #page-agendamento .ag-pill {
  border-radius: 4px;
  box-shadow: none;
}
[data-theme] #page-agendamento .ag-pill:hover {
  transform: none;
  filter: brightness(1.12);
}
[data-theme] #page-agendamento .ag-pill-time {
  font-family: var(--ln-mono);
}
[data-theme] #page-agendamento .ag-more {
  color: var(--ln-fog);
}
[data-theme] #page-agendamento .ag-more:hover {
  color: var(--ln-lime);
}

/* ---- visão semana/dia ---- */
[data-theme] #page-agendamento .ag-tl-head {
  background: var(--ln-void);
  border-bottom: 1px solid var(--ln-graphite);
}
[data-theme] #page-agendamento .ag-tl-headspacer,
[data-theme] #page-agendamento .ag-tl-daycol-head,
[data-theme] #page-agendamento .ag-tl-hours,
[data-theme] #page-agendamento .ag-tl-daycol {
  border-color: var(--ln-graphite);
}
[data-theme] #page-agendamento .ag-tl-dow {
  color: var(--ln-ash);
  font-family: var(--ln-mono);
}
[data-theme] #page-agendamento .ag-tl-dnum {
  color: var(--ln-mist);
  font-family: var(--ln-mono);
}
[data-theme] #page-agendamento .ag-tl-daycol-head.today .ag-tl-dnum {
  background: var(--ln-lime);
  color: var(--ln-void);
}
[data-theme] #page-agendamento .ag-tl-hour span {
  color: var(--ln-ash);
  font-family: var(--ln-mono);
}
[data-theme] #page-agendamento .ag-tl-hline {
  border-bottom: 1px solid var(--ln-graphite);
}
[data-theme] #page-agendamento .ag-tl-hline:hover {
  background: var(--lx-wash-hover);
}
[data-theme] #page-agendamento .ag-tl-now {
  background: var(--ln-coral);
  box-shadow: none;
}
[data-theme] #page-agendamento .ag-tl-now::before {
  background: var(--ln-coral);
}
[data-theme] #page-agendamento .ag-ev {
  border-radius: 6px;
  box-shadow: none;
  border-left-width: 2px;
  color: #fff;
}
[data-theme] #page-agendamento .ag-ev:hover {
  transform: none;
  filter: brightness(1.1);
}
/* Tinta interna FIXA em claro nos dois temas: o card carrega a cor do
   calendário inline (sempre escura) via JS; no tema claro os tokens de
   texto (prefixos --ln- e --color-) viram slate escuro e o nome/hora afundavam
   (razão 1.71). Constante, não flipa, >= 4.5 nas cores de calendário usuais. */
[data-theme] #page-agendamento .ag-ev-title {
  color: #fff;
}
[data-theme] #page-agendamento .ag-ev-sub {
  color: rgba(255, 255, 255, 0.86);
}
[data-theme] #page-agendamento .ag-allday-row {
  border-bottom: 1px solid var(--ln-graphite);
  background: var(--ln-carbon);
}
[data-theme] #page-agendamento .ag-allday-lbl {
  color: var(--ln-ash);
  border-right: 1px solid var(--ln-graphite);
  font-family: var(--ln-mono);
}
[data-theme] #page-agendamento .ag-allday-cell {
  border-right: 1px solid var(--ln-graphite);
}

/* ---- modal de evento ---- */
[data-theme] .modal.ag-modal {
  background: var(--ln-obsidian);
  border: 1px solid var(--ln-graphite);
  border-radius: 12px;
  box-shadow: var(--ln-sh-xl), var(--ln-ring);
}
[data-theme] .modal.ag-modal::before {
  display: none;
}
[data-theme] .modal.ag-modal .modal-header {
  border-bottom: 1px solid var(--ln-graphite);
}
[data-theme] .modal.ag-modal .modal-header h2 {
  color: var(--ln-bone);
}
[data-theme] .ag-field-lbl {
  color: var(--ln-ash);
  font-family: var(--ln-mono);
  letter-spacing: 0.05em;
}
[data-theme] .ag-input {
  background: var(--lx-wash-hover);
  border: 1px solid var(--ln-graphite);
  border-radius: 6px;
  color: var(--ln-mist);
}
[data-theme] .ag-input:focus {
  border-color: var(--ln-smoke);
  box-shadow: none;
}
[data-theme] .ag-check {
  color: var(--ln-mist);
}
[data-theme] .ag-check input {
  accent-color: var(--ln-green);
}
[data-theme] .ag-glink {
  color: var(--ln-teal);
}
[data-theme] .ag-modal-foot {
  border-top: 1px solid var(--ln-graphite);
}
[data-theme] .ag-btn-ghost {
  border: 1px solid var(--ln-graphite);
  border-radius: 6px;
  color: var(--ln-mist);
}
[data-theme] .ag-btn-ghost:hover {
  background: var(--lx-wash-hover);
  border-color: var(--ln-smoke);
  color: var(--ln-bone);
}
[data-theme] .ag-btn-save {
  background: var(--ln-lime);
  color: var(--ln-void);
  border-radius: 6px;
  font-weight: 600;
  box-shadow: none;
}
[data-theme] .ag-btn-save:hover {
  background: var(--lx-acid-lime-hi);
  filter: none;
}
[data-theme] .ag-btn-del {
  border: 1px solid rgba(var(--lx-coral-rgb),0.28);
  border-radius: 6px;
  color: var(--lx-coral-text);
}
[data-theme] .ag-btn-del:hover {
  background: rgba(var(--lx-coral-rgb),0.1);
  border-color: rgba(var(--lx-coral-rgb),0.45);
}

/* ---- onboarding de agenda ---- */
[data-theme] #page-agendamento .ag-onb-card {
  background: var(--ln-carbon);
  border: 1px solid var(--ln-graphite);
  border-radius: 12px;
  box-shadow: var(--ln-ring);
}
[data-theme] #page-agendamento .ag-onb-ic {
  background: var(--ln-obsidian);
  border: 1px solid var(--ln-graphite);
}
[data-theme] #page-agendamento .ag-onb-ic svg {
  stroke: var(--ln-lime);
}
[data-theme] #page-agendamento .ag-onb-title {
  color: var(--ln-paper);
}
[data-theme] #page-agendamento .ag-onb-sub {
  color: var(--ln-fog);
}
[data-theme] #page-agendamento .ag-onb-step {
  color: var(--ln-mist);
}
[data-theme] #page-agendamento .ag-onb-num {
  background: rgba(var(--lx-lime-rgb),0.08);
  border: 1px solid rgba(var(--lx-lime-rgb),0.35);
  color: var(--ln-lime);
}
[data-theme] #page-agendamento .ag-onb-btn-primary {
  background: var(--ln-lime);
  color: var(--ln-void);
  box-shadow: none;
}
[data-theme] #page-agendamento .ag-onb-btn-primary:hover {
  background: var(--lx-acid-lime-hi);
  filter: none;
  transform: none;
}
[data-theme] #page-agendamento .ag-onb-btn-ghost {
  border-color: var(--ln-graphite);
  color: var(--ln-mist);
}
[data-theme] #page-agendamento .ag-onb-btn-ghost:hover {
  background: var(--lx-wash-hover);
}
[data-theme] #page-agendamento .ag-onb-link {
  color: var(--ln-fog);
}
[data-theme] #page-agendamento .ag-onb-link:hover {
  color: var(--ln-lime);
}
