/* =====================================================================
   CALENDÁRIO (CE) – MANTIDO 100% IGUAL AO ORIGINAL
   ===================================================================== */

.ce-wrap{
  display:grid;
  gap:24px;
  grid-template-columns: 1fr !important;
}
.ce-loading{ opacity:.65; pointer-events:none; transition:opacity .12s ease; }

.ce-card{
  background:#fff; border-radius:24px; box-shadow:0 20px 60px rgba(13,34,68,.08);
  padding:18px 18px 24px;
}
.ce-cal-head{
  display:grid; grid-template-columns:48px 1fr 48px; align-items:center; margin-bottom:10px;
}
.ce-month-title{
  text-align:center; letter-spacing:.36em; color:#1778ff; font-weight:800; font-size:30px;
}

.ce-nav{
  text-decoration:none; display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:12px; color:#1778ff; border:1px solid #e6f0ff;
  background:#fff; cursor:pointer; transition: transform .12s ease, background .12s ease, box-shadow .12s ease;
}
.ce-nav:hover{ background:#f5faff; transform: translateY(-1px); box-shadow:0 6px 18px rgba(23,120,255,.12); }

.ce-week{ display:grid; grid-template-columns:repeat(7,1fr); gap:8px; margin:8px 0 6px;}
.ce-weekday{ text-align:center; font-size:12px; color:#7a8aa0; font-weight:700; }
.ce-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }
.ce-day{
  background:#f7fbff; border-radius:16px; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;
  color:#202a3b; font-weight:700; font-size:18px;
}
.ce-day.ce-empty{ background:transparent; }
.ce-day.ce-has{
  background:#eaf3ff; color:#0b61da; box-shadow:inset 0 0 0 2px #bcd8ff;
}
.ce-day span{ display:flex; flex-direction:column; align-items:center; }
.ce-day.ce-has span::after{
  content:""; width:6px; height:6px; border-radius:50%;
  background:#1778ff; margin-top:6px;
}

.ce-list-card{
  background:#fff; border-radius:24px; box-shadow:0 20px 60px rgba(13,34,68,.08);
  padding:18px 18px 10px;
}
.ce-list-title{
  font-size:34px; line-height:1.15; margin:6px 0 16px; color:#1a2a44; font-weight:800;
  border-bottom:2px solid #e6f0ff; padding-bottom:10px;
}
.ce-list-inner{ display:flex; flex-direction:column; gap:14px; }

.ce-month-sep{
  margin: 14px 2px 6px;
  font-weight: 900;
  letter-spacing: .18em;
  color: #1778ff;
  font-size: 12px;
}

.ce-item{
  display:grid; grid-template-columns:70px 1fr auto; align-items:center; gap:14px;
  background:#f7fbff; border:1px solid #e6f0ff; border-radius:16px; padding:14px 16px; color:#1f2a3b;
}
.ce-item:hover{ background:#eef6ff; }
.ce-badge{
  width:56px; height:56px; border-radius:50%; background:#1778ff; color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:22px;
}
.ce-info .ce-title{ font-weight:800; font-size:20px; color:#1f2a3b; }
.ce-info .ce-excerpt{ font-size:14px; color:#6e7f95; margin-top:4px; }
.ce-time{ display:flex; align-items:center; gap:8px; color:#1778ff; font-weight:800; white-space:nowrap; }
.ce-clock{ font-size:14px; transform:translateY(-1px); }
.ce-empty-list{ color:#7a8aa0; padding:12px 2px; }

@media(max-width:520px){
  .ce-item{ grid-template-columns:56px 1fr; }
  .ce-time{ justify-self:start; margin-left:70px; }
}
