.post-it-button { border:0; border-radius:12px; background:#d92836; color:#fff; min-height:40px; padding:8px 13px; display:inline-flex; align-items:center; gap:5px; font:800 12px 'Plus Jakarta Sans',sans-serif; cursor:pointer; }
.post-it-button .material-symbols-outlined { font-size:20px; }
.post-it-board { min-width:0; padding:12px 14px; border:1px solid var(--color-border-subtle); border-radius:18px; background:var(--color-surface-soft); color:var(--color-on-surface); }
.post-it-board h3 { font:900 15px 'Plus Jakarta Sans',sans-serif; margin:0 0 9px; }
.post-it-board > p { margin:6px 0; font-size:12px; }
.post-it-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 14px; }
.post-it-item { min-width:0; display:flex; align-items:flex-start; gap:8px; border:1px solid var(--color-border-soft); border-radius:9px; padding:5px 8px; }
.post-it-item > img { width:25px; height:25px; object-fit:contain; flex:none; }
.post-it-item > div:nth-child(2) { min-width:0; flex:1; }
.post-it-item strong,.post-it-item span { display:block; font-size:12px; }
.post-it-item strong { font-weight:900; }
.post-it-item span,.post-it-item p { color:var(--color-text-secondary); }
.post-it-item p { font-size:12px; margin:3px 0 0; }
.post-it-item em { font-size:12px; color:#be6200; font-style:normal; font-weight:800; }
.post-it-actions { display:flex; flex-direction:column; gap:3px; }
.post-it-actions button { border:1px solid var(--color-border-soft); border-radius:7px; background:var(--color-surface-container-lowest); color:var(--color-on-surface); font-size:12px; cursor:pointer; }
.post-it-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:16px; background:rgba(5,18,27,.75); }
.post-it-dialog { position:relative; width:min(580px,100%); max-height:92dvh; overflow:auto; border-radius:20px; padding:22px; background:var(--color-surface-container-lowest); color:var(--color-on-surface); box-shadow:0 22px 60px #0008; }
.post-it-dialog h2 { margin:0 32px 4px 0; font:900 22px 'Plus Jakarta Sans',sans-serif; }
.post-it-dialog > p { margin:0 0 16px; color:var(--color-text-secondary); font-size:13px; }
.post-it-close { position:absolute; right:17px; top:15px; border:0; background:transparent; color:var(--color-on-surface); font-size:27px; cursor:pointer; }
.post-it-dialog form { display:grid; gap:12px; }
.post-it-dialog label { display:grid; gap:5px; font-size:13px; font-weight:800; }
.post-it-dialog input,.post-it-dialog textarea { width:100%; min-height:40px; box-sizing:border-box; border:1px solid var(--color-border-soft); border-radius:10px; background:var(--color-surface-soft); color:var(--color-on-surface); padding:9px; font:500 14px 'Be Vietnam Pro',sans-serif; }
.post-it-dialog fieldset { min-width:0; border:0; padding:0; margin:0; }
.post-it-dialog legend { margin-bottom:6px; font-size:13px; font-weight:800; }
.post-it-classes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.post-it-classes button,.post-it-people button { display:flex; align-items:center; gap:6px; border:1px solid var(--color-border-soft); border-radius:10px; background:var(--color-surface-soft); color:var(--color-on-surface); padding:6px; font-size:12px; font-weight:800; cursor:pointer; }
.post-it-classes button[aria-pressed='true'],.post-it-people button[aria-pressed='true'] { border:2px solid var(--color-action-primary); background:var(--color-primary-container); }
.post-it-classes img { width:28px; height:28px; object-fit:contain; }
.post-it-people { display:flex; flex-wrap:wrap; gap:7px; }
.post-it-people img,.post-it-people span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; object-fit:cover; background:var(--color-primary-container); }
.post-it-date-time { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.post-it-submit { border:0; border-radius:12px; min-height:43px; background:var(--color-action-primary); color:#fff; font-size:13px; font-weight:900; cursor:pointer; }
.post-it-error { color:var(--color-error); font-size:12px; margin:0; }
.post-it-button:focus-visible,.post-it-dialog button:focus-visible,.post-it-dialog input:focus-visible,.post-it-dialog textarea:focus-visible,.post-it-actions button:focus-visible { outline:3px solid var(--color-action-primary); outline-offset:2px; }
@media(max-width:650px) { .post-it-list { grid-template-columns:1fr; } .post-it-classes { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.calendar-week-post-its { display:flex; min-height:19px; gap:2px; justify-content:center; }
.calendar-week-post-its img { width:18px; height:18px; object-fit:contain; }
.calendar-week-post-item { display:flex; align-items:center; gap:4px; border-radius:8px; background:#f9edb6; color:#3d3210; padding:3px 5px; font-size:12px; font-weight:800; margin-bottom:4px; }
.calendar-week-post-item img { width:21px; height:21px; object-fit:contain; }

/* Calendar layout on the exact public Pedro bundle. */
main.app-shell-content-panel:has(.calendar-page:not([data-painel='true'])) { overflow-y:auto !important; overflow-x:hidden !important; }
.calendar-page:not([data-painel='true']) { height:auto !important; min-height:100dvh !important; overflow:visible !important; grid-template-columns:minmax(0,1fr) 340px !important; grid-template-rows:auto auto auto !important; align-content:start !important; }
.calendar-page:not([data-painel='true']) .calendar-word-card { grid-column:1 !important; grid-row:1 !important; }
.calendar-page:not([data-painel='true']) .calendar-header { grid-column:1 !important; grid-row:2 !important; }
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-month-card { grid-column:1 !important; grid-row:3 !important; }
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-side-stack,
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-day-panel { display:contents !important; }
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-day-panel > div:first-child { grid-column:1 !important; grid-row:4 !important; margin-top:12px !important; padding:12px 14px; border-radius:14px; background:var(--color-card-background); }
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-day-panel > div:first-child p { display:none !important; }
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-day-panel > .resumo-familia-dia { grid-column:2 !important; grid-row:1 / 3 !important; align-self:start !important; }
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-day-panel > .calendar-status-tabs { grid-column:1 !important; grid-row:5 !important; }
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-day-panel > .calendar-day-list { grid-column:1 !important; grid-row:6 !important; padding:0 2px 16px !important; }
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-sora { grid-column:2 !important; grid-row:3 / 7 !important; align-self:start !important; }
.calendar-page:not([data-painel='true']) .calendar-day-panel,
.calendar-page:not([data-painel='true']) .calendar-day-list,
.calendar-page:not([data-painel='true']) .calendar-week-score { max-height:none !important; height:auto !important; overflow:visible !important; flex:none !important; }
.calendar-page:not([data-painel='true']) .calendar-month-card { height:auto !important; overflow:visible !important; }
#root .calendar-page[data-calendar-design='v2']:not([data-painel='true']) .calendar-side-stack .calendar-day-panel { max-height:none !important; height:auto !important; min-height:0 !important; overflow:visible !important; flex:none !important; }
.calendar-page:not([data-painel='true']) .resumo-familia-data { display:none !important; }
.calendar-page:not([data-painel='true']) .calendar-month-day .calendar-day-count { display:none !important; }
.calendar-page:not([data-painel='true']) .calendar-month-card .post-it-board { margin-top:12px; }
.post-it-day-icons { display:flex; align-items:center; gap:2px; min-height:19px; }
.post-it-day-icons img { width:18px; height:18px; object-fit:contain; }
.post-it-day-icons span { font-size:12px; font-weight:900; }
.calendar-page:not([data-painel='true']) .calendar-week > .post-it-board { grid-column:1 / -1; }
.calendar-page:not([data-painel='true']) .calendar-sora .visita-mes-placa,
.calendar-page:not([data-painel='true']) .calendar-week-side .visita-mes-placa { margin-bottom:12px !important; }
#root .calendar-page:not([data-painel='true']) .calendar-side-stack .calendar-sora { width:100% !important; min-width:0 !important; max-width:100% !important; box-sizing:border-box !important; height:auto !important; min-height:580px !important; flex:none !important; }
.calendar-page:not([data-painel='true']) .visitante-video[aria-label^='Pedro'] { width:100% !important; height:clamp(460px,63vh,560px) !important; overflow:visible !important; }
.calendar-page:not([data-painel='true']) .visitante-video[aria-label^='Pedro'] video { width:100% !important; height:100% !important; object-fit:contain !important; transform:translate(-10px,-30px) scale(1.62) !important; transform-origin:center center !important; }
#root .calendar-page:not([data-painel='true']) .visitante-video[aria-label^='Pedro'] { aspect-ratio:auto !important; min-width:0 !important; max-width:100% !important; box-sizing:border-box !important; }
@media(max-width:980px){.calendar-page:not([data-painel='true']){display:flex !important;height:auto !important;overflow:visible !important}.calendar-page:not([data-painel='true']) .calendar-layout{display:flex !important;flex-direction:column !important;height:auto !important;overflow:visible !important}.calendar-page:not([data-painel='true']) .calendar-side-stack,.calendar-page:not([data-painel='true']) .calendar-day-panel{display:flex !important;flex-direction:column !important;width:100% !important;height:auto !important}.calendar-page:not([data-painel='true']) .calendar-sora{min-height:580px !important}}

/* Keep the monthly scoreboard and remove the separate date/mission feed. */
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-day-panel > div:first-child,
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-day-panel > .calendar-status-tabs,
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-day-panel > .calendar-day-list,
.calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-missions-panel,
.calendar-page:not([data-painel='true']) .resumo-familia-perfil {
  display:none !important;
}
.calendar-page:not([data-painel='true']) .resumo-familia-linha-shell {
  grid-template-columns:minmax(0,1fr) !important;
}
@media(min-width:981px) {
  .calendar-page[data-vista='mes']:not([data-painel='true']) .calendar-sora {
    grid-row:3 / 4 !important;
  }
}


/* Match the weekly child scoreboard to the compact monthly scoreboard. */
.calendar-page[data-vista='semana']:not([data-painel='true']) .calendar-week-score .resumo-familia-dia {
  box-sizing:border-box !important;
  width:100% !important;
  padding:8px !important;
}
.calendar-page[data-vista='semana']:not([data-painel='true']) .calendar-week-score .resumo-familia-grade {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:6px !important;
}
.calendar-page[data-vista='semana']:not([data-painel='true']) .calendar-week-score .resumo-familia-linha-abrir {
  padding:4px 3px !important;
}
.calendar-page[data-vista='semana']:not([data-painel='true']) .calendar-week-score .resumo-familia-avatar {
  width:29px !important;
  height:29px !important;
}
.calendar-page[data-vista='semana']:not([data-painel='true']) .calendar-week-score .resumo-familia-nivel {
  display:none !important;
}
.calendar-page[data-vista='semana']:not([data-painel='true']) .calendar-week-score .resumo-familia-contagem {
  height:27px !important;
  font-size:12px !important;
}

/* Moisés has a wide transparent video frame; enlarge only his figure. */
.calendar-page:not([data-painel='true']) .visitante-video[aria-label^='Moisés'] video { transform: scale(2.35) !important; transform-origin: center center !important; }

.quest-hub .quest-hub-metric[aria-pressed=true],.quest-hub .quest-hub-metric[aria-pressed=true]:hover{border-color:#236e69;background:#236e69;color:#fff;box-shadow:0 0 0 2px color-mix(in srgb,#2f8f89 35%,transparent)}.quest-hub .quest-hub-metric[aria-pressed=true] span{color:#fff}
