/* Shared compact controls for list/card and month/week views. */
.unified-toolbar{display:flex!important;align-items:center;flex-wrap:wrap;gap:8px;padding:10px;background:#edf2f7;border-bottom:1px solid #c4d2e2;border-radius:10px 10px 0 0}
.unified-toolbar input,.unified-toolbar select{height:36px!important;min-height:36px!important;min-width:0;max-width:100%;padding:6px 10px;border:1px solid #bdcddd;border-radius:7px;background:#fff;color:#23374c;font-size:13px}
.unified-toolbar .btn{min-height:36px;padding:7px 10px}
.view-switch{display:inline-flex;flex:none;border:1px solid #b7c9db;border-radius:7px;overflow:hidden;background:#fff}
.view-switch button{min-height:34px;padding:6px 11px;border:0;background:transparent;color:#234466;font:inherit;font-size:13px;cursor:pointer}
.view-switch button+button{border-left:1px solid #b7c9db}.view-switch button[aria-pressed=true]{background:#184e77;color:#fff;font-weight:700}
.view-switch button:focus-visible{outline:2px solid #287cbe;outline-offset:-3px}
button.refresh-icon-only{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 36px!important;width:36px!important;min-width:36px!important;height:36px;padding:8px!important;font-size:14px!important}
button.refresh-icon-only .btn-icon{margin:0!important;width:18px;height:18px}
#content .dual-view-panel{min-width:0;max-width:100%;overflow:hidden}
#content .phonebook-toolbar input{flex:2 1 240px}
#content .phonebook-toolbar select{flex:1 1 160px;width:auto}
#content .phonebook-metrics{display:flex;gap:8px;flex-wrap:wrap;padding:9px 10px}
.phonebook-metrics>span{background:#184e77;color:#fff;border-radius:7px;padding:6px 12px;font-size:12px}
.phonebook-metrics>span:nth-child(2){background:#695092}.phonebook-metrics>span:nth-child(3){background:#147d73}.phonebook-metrics strong{font-size:16px;margin-right:5px}
#content .phonebook-table-wrap,#content .phonebook-cards{max-height:clamp(220px,65dvh,800px);overflow:auto;min-width:0;overscroll-behavior:contain}
#content .phonebook-table-wrap[hidden],#content .phonebook-cards[hidden]{display:none!important}
#content .phonebook-table{min-width:900px;width:100%}
#content .phonebook-table thead{position:sticky;top:0;z-index:10;background:#e5edf5}
#content .phonebook-table td{padding:8px 10px}
.phonebook-company{display:flex;align-items:center;gap:8px}
.phonebook-avatar{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--contact-color,#184e77);color:#fff;font-size:11px;font-weight:700}
#content [data-phonebook-client]{color:#287cbe!important;font-weight:700;white-space:normal;text-align:left}
#content .phonebook-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px;padding:10px}
.phonebook-card{display:flex;gap:12px;padding:16px;border:1px solid #d5e0ec;border-top:4px solid var(--contact-color);border-radius:9px;background:#fff;color:#23374c;box-shadow:0 3px 8px #142d4610;min-width:0}
.phonebook-card .phonebook-avatar{width:42px;height:42px;font-size:14px}.phonebook-card>div{min-width:0;overflow-wrap:anywhere}.phonebook-card p{margin:6px 0;font-size:13px}.phonebook-card small{color:#61748b}.phonebook-card .link-button{text-align:left}
#content .calendar-toolbar select{flex:1 1 130px;width:130px;max-width:240px}
.calendar-period{font-size:14px;color:#17365d;margin:0 4px;text-transform:capitalize}
.calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:8px 12px;font-size:12px}.calendar-legend>span{display:inline-flex;align-items:center;gap:5px}.calendar-legend i{width:9px;height:9px;border-radius:50%;background:var(--event-color)}.calendar-legend small{margin-left:auto;color:#62748b}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;min-width:0;align-items:start}
#content .calendar-layout>.calendar-scroll{min-width:0;max-height:65dvh;overflow:auto;overscroll-behavior:contain}
#content .calendar-workspace .calendar-weekdays,#content .calendar-workspace .calendar-grid{min-width:770px;grid-template-columns:repeat(7,minmax(110px,1fr))}
#content .calendar-workspace .calendar-weekdays{position:sticky;top:0;z-index:2;background:#e5edf5}
#content .calendar-workspace .calendar-day{min-height:110px}
.calendar-day-detail{padding:12px;border-left:1px solid #d5e0ec;max-height:65dvh;overflow:auto}.calendar-day-detail h3{margin:0 0 12px;font-size:14px;text-transform:capitalize}.calendar-day-detail .calendar-agenda{grid-template-columns:minmax(0,1fr)}
#content .calendar-workspace .calendar-event{border-left:3px solid var(--event-color)}
#content .calendar-workspace .calendar-event strong{white-space:normal;overflow-wrap:anywhere}
.calendar-type-request{--event-color:#287cbe}.calendar-type-operation{--event-color:#147d73}.calendar-type-maintenance{--event-color:#695092}.calendar-type-contract{--event-color:#996415}.calendar-type-license{--event-color:#996415}
.calendar-week-grid{display:grid;grid-template-columns:65px repeat(7,minmax(110px,1fr));min-width:835px}
.calendar-week-grid>div,.calendar-week-grid>.week-heading{border:0;border-bottom:1px solid #dce5ee;border-right:1px solid #dce5ee;padding:6px;background:#fff}
.calendar-week-grid .week-heading,.calendar-week-grid .week-corner{position:sticky;top:0;z-index:2;background:#e5edf5;font-size:12px;min-height:36px;color:#23374c}.calendar-week-grid .week-heading{cursor:pointer}.calendar-week-grid .week-heading.selected{background:#184e77;color:#fff}
.calendar-week-grid .week-hour{font-size:11px;color:#63768b;background:#f6f8fb}.calendar-week-grid .week-slot{min-height:52px;display:grid;align-content:start;gap:4px}
@media(max-width:1150px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-day-detail{border-left:0;border-top:1px solid #d5e0ec;max-height:240px}.calendar-day-detail .calendar-agenda{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media print{.unified-toolbar,.phonebook-metrics,.phonebook-cards{display:none!important}#content .phonebook-table-wrap[hidden],#content .phonebook-table-wrap{display:block!important;max-height:none!important;overflow:visible!important}#content .phonebook-table{min-width:0!important}.phonebook-avatar{display:none}}

#content .phonebook-panel{margin-top:0}
#content .phonebook-table td:nth-child(5){min-width:130px}
#content .phonebook-table td:nth-child(4){white-space:normal;overflow-wrap:anywhere}

/* Remplir l’espace disponible jusqu’au pied de page, sans limite 65vh. */
@media screen and (min-width:761px){
 #content .dual-view-panel{height:var(--workspace-height,calc(100dvh - 150px));display:flex;flex-direction:column;margin-bottom:0;margin-top:0;min-height:220px}
 #content .dual-view-panel>.unified-toolbar,#content .phonebook-metrics,#content .calendar-legend{flex-shrink:0}
 #content .phonebook-table-wrap,#content .phonebook-cards{flex:1;min-height:0;max-height:none}
 #content .calendar-layout{flex:1;min-height:0;align-items:stretch;overflow:hidden}
 #content .calendar-layout>.calendar-scroll,#content .calendar-day-detail{min-height:0;max-height:none;overflow:auto}
}

#content .calendar-toolbar #calendarRefresh{margin-left:auto;flex-shrink:0}
