/* NAIVELI V27.2 — Calendrier intelligent */
.calendar-dashboard{background:#f5f3ed}.calendar-controlbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:18px;align-items:end;margin-bottom:20px}.calendar-controlbar label,.calendar-card label{display:grid;gap:7px;font-weight:800;font-size:.83rem}.calendar-controlbar select,.calendar-card input{width:100%;padding:12px 13px;border:1px solid #d9d5cb;border-radius:11px;background:#fff;font:inherit}.calendar-month-nav,.calendar-actions{display:flex;align-items:center;gap:8px}.calendar-month-nav strong{min-width:175px;text-align:center;color:#071b2e;font-size:1.12rem}.calendar-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.calendar-kpis article{background:#fff;border:1px solid #e7e1d6;border-radius:17px;padding:18px}.calendar-kpis span{display:block;color:#687684;font-size:.78rem}.calendar-kpis strong{display:block;margin-top:5px;font-size:1.55rem;color:#071b2e}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);gap:22px}.calendar-panel,.calendar-card{background:#fff;border:1px solid #e7e1d6;border-radius:20px;box-shadow:0 9px 28px rgba(7,27,46,.06)}.calendar-panel{padding:20px}.calendar-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{text-align:center;padding:8px;color:#687684;font-size:.75rem;font-weight:800;text-transform:uppercase}.calendar-day{min-height:112px;border-top:1px solid #ebe7df;border-left:1px solid #ebe7df;padding:8px;position:relative;background:#fff;transition:.15s}.calendar-day:nth-child(7n){border-right:1px solid #ebe7df}.calendar-day:nth-last-child(-n+7){border-bottom:1px solid #ebe7df}.calendar-day.outside{background:#faf9f6;color:#a1a8ae}.calendar-day.today{outline:2px solid #d7b55b;outline-offset:-2px}.calendar-day:hover{background:#fffdf7}.calendar-day-number{font-weight:900;color:#071b2e}.outside .calendar-day-number{color:#9da4aa}.calendar-day-price{display:block;margin-top:7px;color:#916e16;font-weight:800;font-size:.72rem}.calendar-event{display:block;margin-top:5px;padding:5px 6px;border-radius:7px;font-size:.65rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.booked{background:#dbe9f8;color:#174d7d}.calendar-event.blocked{background:#ffe3e0;color:#8b2e27}.calendar-event.rate{background:#f8edc8;color:#74580b}.calendar-legend{display:flex;gap:17px;flex-wrap:wrap;margin-top:16px;color:#687684;font-size:.78rem}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:12px;height:12px;border-radius:4px;display:block}.legend-free{background:#fff;border:1px solid #ccc}.legend-booked{background:#dbe9f8}.legend-blocked{background:#ffe3e0}.legend-rate{background:#f8edc8}.calendar-sidebar{display:grid;gap:18px;align-content:start}.calendar-card{padding:20px}.calendar-card h3{margin:0 0 15px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.card-head h3{margin:0}.period-list{display:grid;gap:10px}.period-item{border:1px solid #e8e3d8;border-radius:12px;padding:12px}.period-item strong{display:block;color:#071b2e}.period-item small{color:#687684}.period-item-actions{display:flex;gap:6px;margin-top:9px}.period-item-actions button{border:0;background:#eef1f3;border-radius:8px;padding:6px 8px;cursor:pointer;font-weight:800;font-size:.7rem}.period-item-actions button.danger{background:#ffe9e7;color:#8a2420}.compact-modal{width:min(650px,100%)}
@media(max-width:980px){.calendar-controlbar{grid-template-columns:1fr 1fr}.calendar-actions{grid-column:1/-1}.calendar-layout{grid-template-columns:1fr}.calendar-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.calendar-controlbar{grid-template-columns:1fr}.calendar-actions{grid-column:auto;flex-direction:column;align-items:stretch}.calendar-month-nav{justify-content:space-between}.calendar-month-nav strong{min-width:0}.calendar-kpis{grid-template-columns:1fr 1fr}.calendar-panel{padding:8px}.calendar-day{min-height:80px;padding:5px}.calendar-event{font-size:.56rem;padding:4px}.calendar-day-price{font-size:.6rem}.calendar-weekdays span{font-size:.62rem}.calendar-legend{padding:0 8px 10px}}
