/* calendario */
.calw{padding:12px 14px 16px}
.dow{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:5px}
.dow div{text-align:center;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text2);padding:4px 0}
#calGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.day{min-height:70px;border:1px solid var(--bd);border-radius:8px;padding:5px 6px;cursor:pointer;background:var(--canvas);display:flex;flex-direction:column;gap:3px}
.day:hover{background:var(--soft)}
.day .n{font-size:12px;font-weight:650}
.day.out{opacity:.32}
.day.wk{background:var(--soft);cursor:not-allowed;opacity:.6}
.day.today{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.day.on{background:var(--blueS);border-color:var(--blue)}
.day .cnt{font-size:10px;font-weight:650;color:var(--blue)}
.day .bars{display:flex;gap:2px;flex-wrap:wrap;margin-top:auto}
.day .bars i{width:100%;height:3px;border-radius:2px;flex:1 1 40%;min-width:8px}

@media (max-width: 900px) {
  .calw { padding: 8px 10px 14px; }
  .dow { gap: 3px; }
  .dow div { font-size: 9.5px; padding: 2px 0; }
  #calGrid { gap: 3px; }
  .day {
    min-height: 54px;
    padding: 3px 4px;
    border-radius: 6px;
    gap: 2px;
  }
  .day .n { font-size: 11px; }
  .day .cnt { font-size: 8.5px; line-height: 1.1; }
  .day .bars i { height: 2.5px; min-width: 6px; }
}

@media (max-width: 480px) {
  .dow div { font-size: 8.5px; }
  .day {
    min-height: 44px;
    padding: 2px;
  }
  .day .n { font-size: 10px; }
  .day.wk .muted { font-size: 8px !important; }
}

