/* ==========================================================================
   AGENDA (v6.1): as abas (agd-) e o calendario com tudo junto (agc-).
   Usa os tokens do boffice.css (--ps-*); claro e escuro.

   As tres cores da agenda nao sao de status (verde/ambar/vermelho continuam
   so de situacao):
     compromissos  amarelo da marca (marca, como o ponto do logo)
     reservas      tinta
     atendimentos  azul
   e a cor nunca e o unico sinal: o detalhe diz o tipo por extenso.
   ========================================================================== */

:root, [data-bs-theme="light"]{
  --agc-ev-bg:#fbf2c8; --agc-ev-bar:#b18f00; --agc-ev-ink:#111117;
  --agc-bk-bg:#e9e9ef; --agc-bk-bar:#111117; --agc-bk-ink:#111117;
  --agc-ap-bg:#e2eafc; --agc-ap-bar:#2f5bd3; --agc-ap-ink:#111117;
  --agc-linha:#ebebef; --agc-meia:#f4f4f7; --agc-hoje:rgba(230,194,0,.07);
}
[data-bs-theme="dark"]{
  --agc-ev-bg:#39321a; --agc-ev-bar:#e6c200; --agc-ev-ink:#f7f3e1;
  --agc-bk-bg:#2c2c36; --agc-bk-bar:#c4c4cc; --agc-bk-ink:#f2f2f4;
  --agc-ap-bg:#1d2847; --agc-ap-bar:#7d9dff; --agc-ap-ink:#eef2ff;
  --agc-linha:#26262e; --agc-meia:#1f1f26; --agc-hoje:rgba(230,194,0,.05);
}

/* ---------------------------------------------------------------- abas */
.agd-abas{
  position:relative; display:flex; gap:.2rem; width:fit-content; max-width:100%;
  margin:0 0 1.1rem; padding:.25rem; border-radius:13px;
  background:var(--ps-surface-2); border:1px solid var(--ps-border);
  overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.agd-abas::-webkit-scrollbar{ display:none; }
.agd-aba{
  position:relative; flex:0 0 auto; display:inline-flex; align-items:center; gap:.45rem;
  padding:.5rem .85rem; border-radius:10px; white-space:nowrap; text-decoration:none;
  font-size:.86rem; font-weight:500; color:var(--ps-ink-2);
  transition:color .15s var(--ps-ease);
}
.agd-aba > svg{ position:relative; z-index:1; width:16px; height:16px; flex:none; opacity:.75; }
.agd-aba-t{ position:relative; z-index:1; }
.agd-aba:hover{ color:var(--ps-ink); }
.agd-aba:focus-visible{ outline:2px solid var(--ps-ring); outline-offset:1px; }
.agd-aba.is-on{ color:var(--ps-ink); font-weight:600; }
.agd-aba.is-on > svg{ opacity:1; color:var(--ps-mid); }
[data-bs-theme="dark"] .agd-aba.is-on{ color:var(--ps-mid); }
/* O destaque da aba e um elemento proprio: na troca de pagina ele desliza
   da aba antiga ate a nova (transicao entre paginas, abaixo). */
.agd-aba-bg{
  position:absolute; inset:0; border-radius:10px; background:var(--ps-surface);
  box-shadow:0 1px 2px rgba(17,17,23,.08), 0 0 0 1px var(--ps-border);
  view-transition-name:agd-aba-on;
}
[data-bs-theme="dark"] .agd-aba-bg{ background:#2b2b34; box-shadow:0 0 0 1px var(--ps-border-strong); }
.agd-aba[data-agd-aba="cal"]{ view-transition-name:agd-t-cal; }
.agd-aba[data-agd-aba="rooms"]{ view-transition-name:agd-t-rooms; }
.agd-aba[data-agd-aba="bookings"]{ view-transition-name:agd-t-bookings; }
.agd-aba[data-agd-aba="appts"]{ view-transition-name:agd-t-appts; }
.agd-aba[data-agd-aba="link"]{ view-transition-name:agd-t-link; }
::view-transition-group(agd-aba-on){ z-index:1; animation-duration:.3s; animation-timing-function:cubic-bezier(.22,.85,.3,1); }
::view-transition-group(agd-t-cal), ::view-transition-group(agd-t-rooms), ::view-transition-group(agd-t-bookings),
::view-transition-group(agd-t-appts), ::view-transition-group(agd-t-link){ z-index:2; }
::view-transition-old(root), ::view-transition-new(root){ animation-duration:.2s; }
@media (prefers-reduced-motion:reduce){
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*){ animation:none !important; }
}
@media (max-width:767.98px){
  .agd-abas{ width:auto; margin-left:-.1rem; margin-right:-.1rem; }
  .agd-aba{ padding:.5rem .7rem; }
}
/* Ha mais abas para o lado: a borda esmaece (o JS marca is-mais-d / is-mais-e). */
.agd-abas.is-mais-d{ -webkit-mask-image:linear-gradient(to right, #000 82%, transparent); mask-image:linear-gradient(to right, #000 82%, transparent); }
.agd-abas.is-mais-e{ -webkit-mask-image:linear-gradient(to left, #000 82%, transparent); mask-image:linear-gradient(to left, #000 82%, transparent); }
.agd-abas.is-mais-d.is-mais-e{ -webkit-mask-image:linear-gradient(to right, transparent, #000 14%, #000 86%, transparent);
  mask-image:linear-gradient(to right, transparent, #000 14%, #000 86%, transparent); }

/* ------------------------------------------------------------ barra */
.agc{ position:relative; }
.agc-bar{ display:flex; align-items:center; justify-content:space-between; gap:.6rem 1rem; flex-wrap:wrap; margin:0 0 .7rem; }
.agc-nav{ display:flex; align-items:center; gap:.5rem; min-width:0; }
.agc-setas{ display:inline-flex; gap:.2rem; }
.agc-seta{
  width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; padding:0;
  border:1px solid var(--ps-border); border-radius:9px; background:var(--ps-surface); color:var(--ps-ink-2); cursor:pointer;
}
.agc-seta:hover{ border-color:var(--ps-border-strong); color:var(--ps-ink); }
.agc-seta svg{ width:16px; height:16px; }
.agc-hoje{ height:34px; }
.agc-titulo{ margin:0 0 0 .2rem; font-size:1.08rem; font-weight:600; letter-spacing:-.01em; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; min-width:0; }
.agc-acts{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.agc-visoes{ display:inline-flex; padding:.2rem; gap:.15rem; border-radius:11px; background:var(--ps-surface-2);
  border:1px solid var(--ps-border); }
.agc-visao{
  border:0; background:transparent; padding:.32rem .7rem; border-radius:8px; cursor:pointer;
  font-size:.82rem; font-weight:500; color:var(--ps-ink-2); transition:background .15s var(--ps-ease), color .15s var(--ps-ease);
}
.agc-visao:hover{ color:var(--ps-ink); }
.agc-visao.is-on{ background:var(--ps-surface); color:var(--ps-ink); font-weight:600;
  box-shadow:0 1px 2px rgba(17,17,23,.08), 0 0 0 1px var(--ps-border); }
[data-bs-theme="dark"] .agc-visao.is-on{ background:#2b2b34; color:var(--ps-mid); }
.agc-novo, .agc-reservar{ display:inline-flex; align-items:center; gap:.35rem; height:34px; }
.agc-novo svg, .agc-reservar svg{ width:15px; height:15px; }

/* ------------------------------------------------------------ filtros */
.agc-filtros{ display:flex; flex-wrap:wrap; gap:.35rem; margin:0 0 .8rem; }
.agc-filtro{
  display:inline-flex; align-items:center; gap:.4rem; padding:.28rem .65rem; border-radius:99px; cursor:pointer;
  font-size:.78rem; font-weight:500; color:var(--ps-ink-2); background:var(--ps-surface); border:1px solid var(--ps-border);
  transition:opacity .15s var(--ps-ease), border-color .15s var(--ps-ease);
}
.agc-filtro i{ width:.62rem; height:.62rem; border-radius:3px; display:inline-block; }
.agc-filtro svg{ width:13px; height:13px; }
.agc-filtro.is-ev i{ background:var(--agc-ev-bar); }
.agc-filtro.is-bk i{ background:var(--agc-bk-bar); }
.agc-filtro.is-ap i{ background:var(--agc-ap-bar); }
.agc-filtro:hover{ border-color:var(--ps-border-strong); }
.agc-filtro.is-off{ opacity:.5; text-decoration:line-through; text-decoration-thickness:1px; }
.agc-filtro.is-off i{ background:transparent; box-shadow:inset 0 0 0 1.5px var(--ps-ink-3); }

/* ------------------------------------------------------------ carregando */
.agc-corpo{ position:relative; min-height:16rem; }
.agc.is-busy .agc-corpo::before{
  content:""; position:absolute; left:0; right:0; top:-.35rem; height:2px; z-index:5; border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--ps-mid), transparent); background-size:40% 100%;
  background-repeat:no-repeat; animation:agc-carrega 1s linear infinite;
}
.agc.is-busy .agc-corpo > *{ opacity:.55; transition:opacity .2s; }
@keyframes agc-carrega{ from{ background-position:-40% 0; } to{ background-position:140% 0; } }
.agc-entra-vai{ animation:agc-vai .22s var(--ps-ease); }
.agc-entra-volta{ animation:agc-volta .22s var(--ps-ease); }
@keyframes agc-vai{ from{ opacity:.35; transform:translateX(18px); } }
@keyframes agc-volta{ from{ opacity:.35; transform:translateX(-18px); } }
@media (prefers-reduced-motion:reduce){ .agc-entra-vai, .agc-entra-volta{ animation:none; } }

/* ------------------------------------------------------------ cores dos itens */
.agc-ev, .agc-chip, .agc-li{ --c-bg:var(--agc-ev-bg); --c-bar:var(--agc-ev-bar); --c-ink:var(--agc-ev-ink); }
.agc-ev.is-bk, .agc-chip.is-bk, .agc-li.is-bk{ --c-bg:var(--agc-bk-bg); --c-bar:var(--agc-bk-bar); --c-ink:var(--agc-bk-ink); }
.agc-ev.is-ap, .agc-chip.is-ap, .agc-li.is-ap{ --c-bg:var(--agc-ap-bg); --c-bar:var(--agc-ap-bar); --c-ink:var(--agc-ap-ink); }

/* ------------------------------------------------------------ semana e dia */
.agc-wk{
  --agc-gut:3.4rem;
  position:relative; overflow:auto; max-height:max(26rem, calc(100dvh - 17rem));
  border:1px solid var(--ps-border); border-radius:var(--ps-r-lg); background:var(--ps-surface);
  overscroll-behavior:contain;
}
.agc-wk-topo{ position:sticky; top:0; z-index:4; background:var(--ps-surface); border-bottom:1px solid var(--ps-border); }
.agc-wk-head, .agc-wk-ad, .agc-wk-body{
  display:grid; grid-template-columns:var(--agc-gut) repeat(var(--agc-n), minmax(0, 1fr));
}
.agc-wk-dh{
  border:0; background:transparent; cursor:pointer; padding:.5rem .2rem .45rem; display:flex; flex-direction:column;
  align-items:center; gap:.1rem; color:var(--ps-ink); border-left:1px solid var(--agc-linha);
}
.agc-wk-dw{ font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; font-weight:600; color:var(--ps-ink-3); }
.agc-wk-dn{ font-size:1.12rem; font-weight:600; font-variant-numeric:tabular-nums; line-height:1.15;
  width:2rem; height:2rem; display:flex; align-items:center; justify-content:center; border-radius:50%; }
.agc-wk-dh:hover .agc-wk-dn{ background:var(--ps-surface-2); }
.agc-wk-dh.is-hoje .agc-wk-dn{ background:var(--ps-grad); color:var(--ps-on-grad); }
.agc-wk-dh.is-hoje .agc-wk-dw{ color:var(--ps-ink); }
.agc-wk-dh.is-passado .agc-wk-dn{ color:var(--ps-ink-3); }
.agc-wk-ad{ border-top:1px solid var(--agc-linha); min-height:2rem; }
.agc-wk-adk{ font-size:.66rem; color:var(--ps-ink-3); text-align:right; padding:.45rem .45rem 0 0; line-height:1.1; }
.agc-wk-adc{ display:flex; flex-direction:column; gap:.2rem; padding:.25rem .2rem; border-left:1px solid var(--agc-linha); min-width:0; }

.agc-wk-body{ position:relative;
  background-image:
    linear-gradient(to bottom, var(--agc-linha) 1px, transparent 1px),
    linear-gradient(to bottom, transparent 23.5px, var(--agc-meia) 23.5px, var(--agc-meia) 24.5px, transparent 24.5px);
  background-size:100% 48px, 100% 48px; background-position:0 0, 0 0;
}
.agc-wk-gut{ position:relative; background:var(--ps-surface); }
.agc-wk-hr{ position:absolute; right:.45rem; transform:translateY(-50%); font-size:.68rem; color:var(--ps-ink-3);
  font-variant-numeric:tabular-nums; background:var(--ps-surface); padding:0 .1rem; }
.agc-wk-col{ position:relative; border-left:1px solid var(--agc-linha); cursor:pointer; min-width:0; }
.agc-wk-col.is-hoje{ background:var(--agc-hoje); }
.agc.is-ro .agc-wk-col{ cursor:default; }

/* O "fantasma" do horario sob o mouse: onde o compromisso vai nascer. */
.agc-fantasma{
  position:absolute; left:2px; right:2px; z-index:1; pointer-events:none; border-radius:7px;
  border:1.5px dashed var(--ps-border-strong); background:var(--ps-surface-2);
  font-size:.72rem; font-weight:600; color:var(--ps-ink-2); padding:.12rem .4rem; line-height:1.3;
  font-variant-numeric:tabular-nums;
}
@media (hover:none){ .agc-fantasma{ display:none; } }

.agc-agora{ position:absolute; left:-1px; right:0; height:2px; background:var(--ps-out); z-index:3; pointer-events:none; }
.agc-agora::before{ content:""; position:absolute; left:-5px; top:-4px; width:10px; height:10px; border-radius:50%; background:var(--ps-out); }

.agc-ev{
  position:absolute; z-index:2; overflow:hidden; text-align:left; cursor:pointer;
  display:flex; flex-direction:column; gap:.05rem; padding:.22rem .4rem .22rem .5rem;
  border:0; border-radius:7px; background:var(--c-bg); color:var(--c-ink);
  box-shadow:inset 3px 0 0 var(--c-bar), 0 0 0 1px var(--ps-surface);
  font-size:.74rem; line-height:1.25;
  transition:transform .12s var(--ps-ease), box-shadow .12s var(--ps-ease), filter .12s;
}
.agc-ev:hover{ z-index:3; box-shadow:inset 3px 0 0 var(--c-bar), 0 0 0 1px var(--ps-surface), 0 6px 16px -8px rgba(17,17,23,.45); }
.agc-ev:focus-visible{ outline:2px solid var(--ps-ring); outline-offset:1px; z-index:3; }
.agc-ev-t{ font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.agc-ev-h{ font-variant-numeric:tabular-nums; opacity:.8; white-space:nowrap; }
.agc-ev-s{ opacity:.75; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.7rem; }
.agc-ev.is-curto{ flex-direction:row; align-items:center; gap:.35rem; padding-top:0; padding-bottom:0; }
.agc-ev.is-curto .agc-ev-t{ order:2; flex:1; min-width:0; }
.agc-ev.is-curto .agc-ev-h{ order:1; flex:none; }
/* Aguardando pagamento: listrado (ainda nao e certo). Passado: apagado. */
.agc-ev.is-espera, .agc-chip.is-espera{
  background:repeating-linear-gradient(135deg, var(--c-bg) 0 6px, var(--ps-surface) 6px 9px);
  box-shadow:inset 3px 0 0 var(--c-bar), inset 0 0 0 1px var(--c-bar);
}
.agc-ev.is-passado, .agc-chip.is-passado{ opacity:.58; }
.agc-ev.is-passado:hover, .agc-chip.is-passado:hover{ opacity:.9; }
.agc-ev.is-falta .agc-ev-t, .agc-chip.is-falta .agc-chip-t, .agc-li.is-falta b{ text-decoration:line-through; text-decoration-thickness:1px; }

.agc-chip{
  display:flex; align-items:center; gap:.3rem; width:100%; min-width:0; cursor:pointer; text-align:left;
  border:0; border-radius:6px; padding:.12rem .4rem; background:var(--c-bg); color:var(--c-ink);
  box-shadow:inset 3px 0 0 var(--c-bar); font-size:.72rem; line-height:1.3;
}
.agc-chip:hover{ filter:brightness(.97); }
[data-bs-theme="dark"] .agc-chip:hover{ filter:brightness(1.12); }
.agc-chip-h{ font-variant-numeric:tabular-nums; opacity:.75; flex:none; }
.agc-chip-t{ font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }

/* Dia: a faixa da semana no topo. */
.agc-faixa{ display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:.3rem; margin:0 0 .6rem; }
.agc-fx{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:.05rem; padding:.4rem 0 .5rem;
  border:1px solid var(--ps-border); border-radius:var(--ps-r); background:var(--ps-surface); color:var(--ps-ink); cursor:pointer;
}
.agc-fx:hover{ border-color:var(--ps-border-strong); }
.agc-fx-w{ font-size:.64rem; text-transform:uppercase; letter-spacing:.05em; font-weight:600; color:var(--ps-ink-3);
  max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:0 .1rem; }
.agc-fx-n{ font-size:1.02rem; font-weight:700; font-variant-numeric:tabular-nums; }
.agc-fx.is-hoje .agc-fx-n{ text-decoration:underline; text-decoration-color:var(--ps-accent); text-decoration-thickness:3px; text-underline-offset:3px; }
.agc-fx.is-on{ background:var(--ps-grad); border-color:transparent; color:var(--ps-on-grad); box-shadow:var(--ps-glow); }
.agc-fx.is-on .agc-fx-w{ color:var(--ps-on-grad); opacity:.85; }
.agc-pts{ display:flex; gap:3px; height:5px; justify-content:center; }
.agc-pts i{ width:5px; height:5px; border-radius:50%; display:block; }
.agc-pts i.is-ev{ background:var(--agc-ev-bar); }
.agc-pts i.is-bk{ background:var(--agc-bk-bar); }
.agc-pts i.is-ap{ background:var(--agc-ap-bar); }
/* No dia escolhido (pilula cheia) as bolinhas ficam na cor do texto: a tinta sumiria na tinta. */
.agc-fx.is-on .agc-pts i{ background:var(--ps-on-grad); opacity:.85; }
.agc-grade.is-dia .agc-wk{ max-height:max(24rem, calc(100dvh - 21rem)); }

/* ------------------------------------------------------------ mes */
.agc-mes{ border:1px solid var(--ps-border); border-radius:var(--ps-r-lg); background:var(--ps-surface); overflow:hidden; }
.agc-mes-head{ display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); border-bottom:1px solid var(--ps-border); }
.agc-mes-head span{ padding:.45rem .5rem; font-size:.68rem; text-transform:uppercase; letter-spacing:.06em;
  font-weight:600; color:var(--ps-ink-3); }
.agc-mes-grade{ display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); grid-auto-rows:minmax(6.4rem, auto); }
.agc-mes-c{ position:relative; min-width:0; padding:.3rem .3rem .35rem; border-left:1px solid var(--agc-linha);
  border-top:1px solid var(--agc-linha); cursor:pointer; display:flex; flex-direction:column; gap:.2rem; }
.agc-mes-c:nth-child(7n+1){ border-left:0; }
.agc-mes-c:nth-child(-n+7){ border-top:0; }
.agc-mes-c:hover{ background:var(--ps-surface-2); }
.agc-mes-c.is-fora{ background:var(--agc-meia); }
.agc-mes-c.is-fora .agc-mes-n{ color:var(--ps-ink-3); }
.agc-mes-n{ align-self:flex-start; border:0; background:transparent; cursor:pointer; width:1.75rem; height:1.75rem;
  border-radius:50%; font-size:.82rem; font-weight:600; color:var(--ps-ink); font-variant-numeric:tabular-nums;
  display:flex; align-items:center; justify-content:center; padding:0; }
.agc-mes-n:hover{ background:var(--ps-border); }
.agc-mes-c.is-hoje .agc-mes-n{ background:var(--ps-grad); color:var(--ps-on-grad); }
.agc-mes-its{ display:flex; flex-direction:column; gap:.18rem; min-width:0; }
.agc-mes-mais{ border:0; background:transparent; padding:.05rem .4rem; text-align:left; cursor:pointer;
  font-size:.72rem; font-weight:600; color:var(--ps-ink-2); border-radius:6px; }
.agc-mes-mais:hover{ background:var(--ps-border); color:var(--ps-ink); }
.agc-mes-c .agc-pts{ display:none; }

/* ------------------------------------------------------------ lista */
.agc-lista{ display:flex; flex-direction:column; gap:1rem; max-width:52rem; }
.agc-ld-h{ display:flex; align-items:center; gap:.5rem; margin:0 0 .45rem; font-size:.86rem; font-weight:600; color:var(--ps-ink-2); }
.agc-ld.is-hoje .agc-ld-h{ color:var(--ps-ink); }
.agc-tag{ font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:.12rem .45rem;
  border-radius:99px; background:var(--ps-grad); color:var(--ps-on-grad); }
.agc-tag.is-suave{ background:var(--ps-surface-2); color:var(--ps-ink-2); border:1px solid var(--ps-border); }
.agc-li{
  width:100%; display:grid; grid-template-columns:7.2rem minmax(0, 1fr) auto; align-items:center; gap:.4rem .9rem;
  padding:.65rem .9rem .65rem 1rem; margin:0 0 .35rem; border:1px solid var(--ps-border); border-radius:var(--ps-r);
  background:var(--ps-surface); color:var(--ps-ink); text-align:left; text-decoration:none; cursor:pointer;
  box-shadow:inset 4px 0 0 var(--c-bar); transition:border-color .15s var(--ps-ease), transform .15s var(--ps-ease);
}
.agc-li:hover{ border-color:var(--ps-border-strong); transform:translateY(-1px); color:var(--ps-ink); }
.agc-li-h{ font-size:.84rem; font-weight:600; font-variant-numeric:tabular-nums; color:var(--ps-ink-2); white-space:nowrap; }
.agc-li-b{ min-width:0; display:flex; flex-direction:column; }
.agc-li-b b{ font-weight:600; font-size:.92rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.agc-li-b small{ font-size:.78rem; color:var(--ps-ink-3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.agc-li.is-passado{ opacity:.65; }
.agc-li.is-espera{ border-style:dashed; }
.agc-mais{ align-self:flex-start; }
.agc-vazio{ padding:2.5rem 1rem; }
.agc-vazio .agc-ic svg{ width:34px; height:34px; opacity:.35; margin:0 auto .8rem; display:block; }
.agc-erro-carga .agc-ic svg{ width:30px; height:30px; opacity:.5; margin:0 auto .6rem; display:block; }
@media (max-width:575.98px){
  .agc-li{ grid-template-columns:minmax(0, 1fr) auto; padding:.6rem .75rem .6rem .9rem; }
  .agc-li-h{ grid-column:1 / -1; font-size:.78rem; }
  .agc-li .ps-pill{ grid-column:2; grid-row:2; }
}

/* sem JS: a lista simples das duas semanas */
.agc-lista a.agc-li, .agc-lista div.agc-li{ display:grid; }
.agc-sem-js-nav{ display:flex; gap:.5rem; justify-content:space-between; }
.agc-sem-js-form{ max-width:34rem; margin:0 0 1rem; }

.agc-tz{ margin:.7rem 0 0; }
.agc-dica{ display:flex; align-items:center; gap:.45rem; margin:0 0 .6rem; font-size:.8rem; color:var(--ps-ink-3); }
.agc-dica .agc-ic svg{ width:15px; height:15px; }

/* ------------------------------------------------------------ dialogos */
.agc-dlg-form{ max-width:min(96vw, 33rem); }
.agc-dlg-det{ max-width:min(96vw, 27rem); }
.agc-dlg .ps-modal-box{ max-height:calc(100dvh - 2rem); overflow:auto; }
.agc-dlg-top, .agc-det-topo{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 0 .8rem; }
.agc-dlg-top .ps-modal-title{ margin:0; }
.agc-x{ flex:none; }
.agc-erro{ margin:0 0 .8rem; padding:.55rem .75rem; border-radius:var(--ps-r); font-size:.84rem; font-weight:500;
  color:var(--ps-out); background:rgba(245,71,107,.08); border:1px solid rgba(245,71,107,.25); }
.agc-form .ps-field{ margin-bottom:.75rem; }
.agc-quando{ display:grid; grid-template-columns:minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr); gap:.6rem; }
.agc-quando .ps-field{ min-width:0; }
.agc-quando .ps-input{ padding:0 .6rem; }
.agc-quando.is-allday{ grid-template-columns:minmax(0, 1fr); }
.agc-quando.is-allday .agc-f-hora{ display:none; }
.agc-opts{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; flex-wrap:wrap; margin:-.2rem 0 .8rem; }
.agc-link-btn{ border:0; background:transparent; padding:.2rem 0; cursor:pointer; display:inline-flex; align-items:center; gap:.25rem;
  font-size:.82rem; font-weight:500; color:var(--ps-link); text-decoration:underline; text-decoration-color:var(--ps-accent);
  text-underline-offset:3px; }
.agc-link-btn svg{ width:13px; height:13px; }
.agc-form textarea.ps-input{ min-height:64px; }
.agc-flags{ display:flex; flex-direction:column; gap:.55rem; margin:.1rem 0 .9rem; padding:.7rem .8rem;
  border-radius:var(--ps-r); background:var(--ps-surface-2); border:1px solid var(--ps-border); }
.agc-flags .ps-check-inline{ align-items:flex-start; }
.agc-flags .ps-check-inline input{ margin-top:.18rem; }
.agc-flags .ps-check-inline span{ display:flex; flex-direction:column; }
.agc-flags small{ font-size:.74rem; color:var(--ps-ink-3); }
.agc-sala{ display:flex; align-items:center; gap:.5rem; padding:.6rem .8rem; margin:0 0 .2rem; border-radius:var(--ps-r);
  border:1px dashed var(--ps-border-strong); color:var(--ps-ink-2); font-size:.84rem; font-weight:500; text-decoration:none; }
.agc-sala span{ flex:1; }
.agc-sala svg{ width:16px; height:16px; flex:none; }
.agc-sala:hover{ border-color:var(--ps-mid); color:var(--ps-ink); background:var(--ps-grad-soft); }
.agc-form-acts{ align-items:center; }
.agc-form-acts .agc-del{ margin-right:auto; }
.agc-del{ display:inline-flex; align-items:center; gap:.35rem; }
.agc-del svg, .agc-det-acts svg{ width:15px; height:15px; }
.agc-det-acts .btn{ display:inline-flex; align-items:center; gap:.35rem; }
.agc-det-acts .agc-del{ margin-right:auto; }
.agc-ic{ display:inline-flex; }
.agc-ic svg{ width:16px; height:16px; }

.agc-det-cat{ display:inline-flex; align-items:center; gap:.45rem; font-size:.72rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; color:var(--ps-ink-2); }
.agc-det-cat::before{ content:""; width:.7rem; height:.7rem; border-radius:3px; background:var(--agc-ev-bar); }
.agc-det-topo.is-bk .agc-det-cat::before{ background:var(--agc-bk-bar); }
.agc-det-topo.is-ap .agc-det-cat::before{ background:var(--agc-ap-bar); }
.agc-det-t{ margin:0 0 .4rem; font-size:1.15rem; font-weight:600; letter-spacing:-.01em; overflow-wrap:anywhere; }
.agc-det-st{ margin:0 0 .3rem; }
.agc-det-dl{ margin:.7rem 0 0; display:flex; flex-direction:column; gap:.55rem; }
.agc-det-row{ display:grid; grid-template-columns:6.5rem minmax(0, 1fr); gap:.6rem; font-size:.87rem; }
.agc-det-row dt{ font-weight:500; color:var(--ps-ink-3); }
.agc-det-row dd{ margin:0; color:var(--ps-ink); overflow-wrap:anywhere; }
.agc-det-row.is-pre dd{ white-space:pre-line; }
.agc-det-contato{ display:flex; flex-direction:column; gap:.1rem; }
.agc-det-flag{ display:flex; align-items:flex-start; gap:.45rem; margin:.7rem 0 0; font-size:.83rem; color:var(--ps-ink-2); }
.agc-det-flag .agc-ic{ margin-top:.1rem; color:var(--ps-ink-3); }
.agc-det-flag .agc-ic svg{ width:15px; height:15px; }
.agc-det-flag.is-aviso{ padding:.55rem .7rem; border-radius:var(--ps-r); color:#a86400; background:rgba(245,158,11,.1);
  border:1px solid rgba(245,158,11,.3); }
.agc-det-flag.is-aviso .agc-ic{ color:inherit; }
[data-bs-theme="dark"] .agc-det-flag.is-aviso{ color:#fbbf4a; }
.agc-det-acts{ margin-top:1.1rem; }
.agc-det-ap{ display:flex; flex-wrap:wrap; gap:.4rem; margin:.9rem 0 0; padding-top:.8rem; border-top:1px solid var(--ps-border); }
.agc-det-ap .ps-chip-btn{ cursor:pointer; }
.agc-det-ap .ps-chip-btn.is-accent{ background:var(--ps-grad); color:var(--ps-on-grad); border-color:transparent; }
@media (max-width:420px){ .agc-det-row{ grid-template-columns:minmax(0, 1fr); gap:.1rem; } }

/* Celular: os dialogos sobem de baixo (folha). */
@media (max-width:575.98px){
  .agc-dlg.ps-modal{ max-width:100vw; width:100vw; margin:auto 0 0; }
  .agc-dlg .ps-modal-box{ border-radius:20px 20px 0 0; border-bottom:0; max-height:92dvh;
    padding-bottom:calc(1.2rem + env(safe-area-inset-bottom)); }
  .agc-dlg[open]{ animation:agc-sobe .22s var(--ps-ease); }
  .agc-quando{ grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); }
  .agc-quando .agc-f-dia{ grid-column:1 / -1; }
}
@keyframes agc-sobe{ from{ transform:translateY(24px); opacity:.6; } }

/* ------------------------------------------------------------ aviso rapido */
.agc-toast{
  position:fixed; left:50%; bottom:calc(1.2rem + env(safe-area-inset-bottom)); z-index:1080;
  transform:translate(-50%, 12px); opacity:0; pointer-events:none;
  padding:.65rem 1rem; border-radius:12px; font-size:.88rem; font-weight:500;
  background:var(--ps-ink); color:var(--ps-surface); box-shadow:var(--ps-shadow-lg);
  transition:opacity .2s var(--ps-ease), transform .2s var(--ps-ease); max-width:calc(100vw - 2rem);
}
.agc-toast.is-on{ opacity:1; transform:translate(-50%, 0); }
.agc-toast.is-erro{ background:var(--ps-danger); color:#fff; }
@media (max-width:991.98px){ .agc-toast{ bottom:calc(5.2rem + env(safe-area-inset-bottom)); } }

/* ------------------------------------------------------------ celular */
@media (max-width:767.98px){
  .agc-filtros{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-left:-.1rem; padding:0 .1rem .1rem; }
  .agc-filtros::-webkit-scrollbar{ display:none; }
  .agc-filtro{ flex:0 0 auto; }
  .agc-bar{ gap:.5rem; }
  .agc-nav{ width:100%; }
  .agc-titulo{ font-size:1rem; flex:1; }
  .agc-acts{ width:100%; }
  .agc-visoes{ flex:1; }
  .agc-visao{ flex:1; padding:.32rem .3rem; }
  .agc-visao[data-agc-v="week"]{ display:none; }
  .agc-wk{ --agc-gut:2.9rem; max-height:max(22rem, calc(100dvh - 22rem)); }
  .agc-mes-grade{ grid-auto-rows:minmax(3.3rem, auto); }
  .agc-mes-head span{ padding:.4rem .2rem; text-align:center; font-size:.62rem; }
  .agc-mes-c{ align-items:center; padding:.2rem .1rem .3rem; }
  .agc-mes-n{ align-self:center; }
  .agc-mes-its{ display:none; }
  .agc-mes-c .agc-pts{ display:flex; }
}
@media (max-width:420px){
  .agc-novo span, .agc-reservar span{ display:none; }
  .agc-novo, .agc-reservar{ width:34px; padding:0; justify-content:center; }
}
