/* ---------- agenda ---------- */
.lc-gbox { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 16px; margin-bottom: 14px; border-radius: 14px; background: #fff; border: 1px dashed #D6CEC1; color: #5F6783; }
.lc-gbox-on { border-style: solid; border-color: #CBE7D8; background: #F3FAF6; color: #1F6B47; }
.lc-gbox-text { flex: 1; min-width: 240px; font-size: .88rem; }

.lc-calbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.lc-caltitle { margin-left: 8px !important; }

/* colori per tipo di appuntamento */
.lc-t-Colloquio { --c: #B8233B; --bg: #FBEAEC; }
.lc-t-Chiamata { --c: #3B6FB6; --bg: #E6EEF9; }
.lc-t-IncontroAzienda { --c: #1F7A6D; --bg: #E2F2EE; }
.lc-t-Altro { --c: #6B4A8F; --bg: #EFE8F6; }

/* vista mese */
.lc-month { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border: 1px solid #E8E2D9; border-radius: 16px; overflow: hidden; background: #fff; }
.lc-month-h { padding: 8px; text-align: center; font-size: .75rem; font-weight: 600; color: #5F6783; background: #F7F4EF; border-bottom: 1px solid #E8E2D9; }
.lc-cell { min-height: 112px; padding: 4px 5px; border-right: 1px solid #F0EBE3; border-bottom: 1px solid #F0EBE3; cursor: pointer; transition: background .15s; }
.lc-cell:nth-child(7n + 14) { border-right: none; }
.lc-cell:hover { background: #FDFAF6; }
.lc-cell-out { background: #FBFAF7; }
.lc-cell-out .lc-cell-num { color: #B5B9C9; }
.lc-cell-num { display: inline-block; min-width: 24px; height: 24px; line-height: 24px; text-align: center; font-size: .8rem; border-radius: 999px; color: #1F2A44; }
.lc-cell-today .lc-cell-num { background: #B8233B; color: #fff; font-weight: 600; }
.lc-chipev { margin-top: 2px; padding: 2px 6px; font-size: .72rem; line-height: 1.35; border-radius: 6px; background: var(--bg); color: var(--c); border-left: 3px solid var(--c);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.lc-chipev:hover { filter: brightness(.96); }
.lc-more { margin-top: 2px; font-size: .72rem; color: #5F6783; padding-left: 6px; cursor: pointer; }

/* vista settimana */
.lc-week { border: 1px solid #E8E2D9; border-radius: 16px; overflow: hidden; background: #fff; }
.lc-week-head, .lc-week-body { display: grid; grid-template-columns: 52px repeat(7, minmax(0, 1fr)); }
.lc-week-head { background: #F7F4EF; border-bottom: 1px solid #E8E2D9; }
.lc-week-dayh { padding: 8px 4px; text-align: center; font-size: .78rem; color: #5F6783; }
.lc-week-dayh b { display: inline-block; min-width: 26px; height: 26px; line-height: 26px; border-radius: 999px; font-size: .9rem; color: #1F2A44; }
.lc-week-today b { background: #B8233B; color: #fff; }
.lc-week-body { max-height: 690px; overflow-y: auto; }
.lc-hour { height: 48px; padding: 0 6px; font-size: .68rem; color: #8A8FA5; text-align: right; transform: translateY(-7px); }
.lc-week-col { position: relative; border-left: 1px solid #F0EBE3; cursor: pointer; }
.lc-hourline { height: 48px; border-bottom: 1px solid #F3EFE8; box-sizing: border-box; }
.lc-nowline { position: absolute; left: 0; right: 0; height: 2px; background: #B8233B; z-index: 4; pointer-events: none; }
.lc-block { position: absolute; box-sizing: border-box; padding: 3px 6px; font-size: .74rem; line-height: 1.3; border-radius: 8px; background: var(--bg); color: var(--c);
  border-left: 4px solid var(--c); overflow: hidden; cursor: pointer; z-index: 2; box-shadow: 0 1px 3px rgba(31,42,68,.12); transition: box-shadow .15s, transform .15s; }
.lc-block:hover { box-shadow: 0 4px 12px rgba(31,42,68,.22); z-index: 3; }
.lc-block-sub { opacity: .75; font-size: .68rem; }

/* elenco */
.lc-agenda-day { margin: 18px 0 6px; font: 600 1rem 'Fraunces', serif; color: #1F2A44; text-transform: capitalize; }
.lc-agenda-item { display: flex; align-items: center; gap: 14px; padding: 10px 14px; margin-bottom: 6px; background: #fff; border: 1px solid #E8E2D9; border-left: 4px solid var(--c); border-radius: 12px; cursor: pointer; transition: transform .15s, box-shadow .15s; }
.lc-agenda-item:hover { transform: translateX(3px); box-shadow: 0 4px 14px rgba(31,42,68,.08); }
.lc-agenda-time { min-width: 110px; font-weight: 600; color: var(--c); }
.lc-agenda-main { flex: 1; min-width: 0; }

@media (max-width: 900px) { .lc-cell { min-height: 78px; } .lc-chipev { font-size: .65rem; } }
