
.cse-appointments-panel{padding:0!important;background:transparent!important;border:0!important}
.cse-appointment-notice{margin-bottom:14px;padding:12px 15px;border-radius:10px;background:#e8f7ed;color:#1f6c3d;font-weight:800}
.cse-appointment-notice.error{background:#fde9e9;color:#992828}
.cse-appointments-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px;border:1px solid #dbe5ef;border-radius:17px;background:#fff}
.cse-appointments-toolbar span{font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#1769d1}
.cse-appointments-toolbar h3{margin:4px 0}.cse-appointments-toolbar p{margin:0;color:#66778c}
.cse-appointment-primary{border:0!important;border-radius:11px!important;background:#ff8a00!important;color:#fff!important;padding:10px 15px!important;font-weight:900!important;cursor:pointer}
.cse-appointment-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.cse-appointment-stats article{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #dbe5ef;border-radius:14px;background:#fff}
.cse-appointment-stats article>span{font-size:24px}.cse-appointment-stats strong,.cse-appointment-stats small{display:block}.cse-appointment-stats strong{font-size:23px}.cse-appointment-stats small{color:#708096}
.cse-appointment-view-tabs{display:flex;gap:7px;margin-bottom:13px;padding:5px;border-radius:12px;background:#e8eef5}
.cse-appointment-view-tabs a{padding:9px 13px;border-radius:9px;color:#42556d;text-decoration:none;font-weight:850}.cse-appointment-view-tabs a.active{background:#fff;color:#155d9f;box-shadow:0 4px 12px rgba(20,49,82,.1)}
.cse-appointment-layout{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:650px;border:1px solid #dbe5ef;border-radius:17px;overflow:hidden;background:#fff}
.cse-appointment-list{border-right:1px solid #e0e8f0;background:#f8fbfe}.cse-appointment-list>a{display:grid;grid-template-columns:62px minmax(0,1fr);gap:11px;padding:13px;border-left:4px solid #e0a828;border-bottom:1px solid #e4ebf2;color:#17243b;text-decoration:none}.cse-appointment-list>a.status-confirmed{border-left-color:#2aa565}.cse-appointment-list>a.status-postponed{border-left-color:#1769d1}.cse-appointment-list>a.status-completed{border-left-color:#596778}.cse-appointment-list>a.status-cancelled{border-left-color:#d94343}.cse-appointment-list>a:hover,.cse-appointment-list>a.active{background:#eaf3ff}
.cse-appointment-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:60px;border-radius:12px;background:#eef6ff;color:#155d9f}.cse-appointment-date strong{font-size:22px}.cse-appointment-date span{text-transform:uppercase;font-size:10px;font-weight:900}
.cse-appointment-list strong,.cse-appointment-list span,.cse-appointment-list small{display:block}.cse-appointment-list span{margin-top:3px;color:#4f6278}.cse-appointment-list small{margin-top:4px;color:#748397}
.cse-appointment-detail{padding:20px}.cse-appointment-detail-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.cse-appointment-detail-head h4{margin:7px 0 3px;font-size:22px}.cse-appointment-detail-head>div>span{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;background:#eef1f5}.cse-appointment-detail-head .status-confirmed{background:#ddf5e6;color:#1e7944}.cse-appointment-detail-head .status-planned{background:#fff0d9;color:#9a5900}.cse-appointment-detail-head .status-postponed{background:#e6f0ff;color:#1769d1}.cse-appointment-detail-head .status-completed{background:#eef1f5;color:#53657b}.cse-appointment-detail-head .status-cancelled{background:#fde5e5;color:#a42626}
.cse-appointment-actions{display:flex;gap:7px}.cse-appointment-actions form{margin:0}.cse-appointment-actions a,.cse-appointment-actions button{border:1px solid #ccd8e4;border-radius:8px;background:#fff;color:#36516f;padding:8px 10px;text-decoration:none;font-weight:800;cursor:pointer}
.cse-appointment-meta{display:flex;gap:8px 14px;flex-wrap:wrap;margin-top:16px;color:#62748a;font-size:12px}
.cse-appointment-description{margin-top:18px;padding:15px;border:1px solid #e0e8f0;border-radius:12px;background:#f8fafc}.cse-appointment-description h5{margin:0 0 8px}
.cse-appointment-video{display:inline-flex;margin-top:12px;color:#1769d1;font-weight:850;text-decoration:none}
.cse-appointment-section{margin-top:20px;padding-top:18px;border-top:1px solid #e1e8ef}.cse-appointment-section-head{display:flex;justify-content:space-between;align-items:center}.cse-appointment-section-head h5{margin:0}.cse-appointment-section-head button{border:1px solid #ccd8e4;border-radius:8px;background:#fff;padding:7px 10px;font-weight:800}
.cse-appointment-participants{display:grid;gap:6px;margin-top:12px}.cse-appointment-participants>div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:9px;background:#f8fafc}.cse-appointment-participants strong{font-size:11px}.attendance-present{color:#1e7944}.attendance-absent{color:#a42626}.attendance-excused{color:#9a5900}.attendance-pending{color:#6f8093}
.cse-appointment-response{display:flex;gap:7px;margin-top:12px}.cse-appointment-response button{border:0;border-radius:8px;padding:8px 10px;font-weight:800;cursor:pointer}.cse-appointment-response button:nth-child(3){background:#dff6e8;color:#1e7944}.cse-appointment-response button:nth-child(4){background:#fee5e5;color:#a42626}.cse-appointment-response button:nth-child(5){background:#fff0d9;color:#9a5900}
.cse-appointment-documents{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:12px}.cse-appointment-documents a{padding:10px;border:1px solid #dce5ee;border-radius:9px;color:#1769d1;text-decoration:none}
.cse-appointment-empty{display:grid;place-items:center;align-content:center;min-height:220px;padding:20px;text-align:center;color:#718196}.cse-appointment-empty.small{min-height:70px}.cse-appointment-empty>span{font-size:38px}
.cse-appointment-modal{position:fixed;inset:0;z-index:2147481000;display:grid;place-items:center;padding:18px;background:rgba(2,17,37,.75);backdrop-filter:blur(7px)}.cse-appointment-modal[hidden]{display:none!important}.cse-appointment-modal-card{position:relative;width:min(900px,96vw);max-height:92vh;overflow:auto;padding:22px;border-radius:20px;background:#fff;box-shadow:0 25px 80px rgba(0,0,0,.38)}.cse-appointment-modal-card.small{width:min(560px,96vw)}.cse-appointment-close{position:absolute;right:13px;top:12px;width:38px;height:38px;border:0;border-radius:9px;background:#eef2f6;font-size:24px;cursor:pointer}.cse-appointment-modal-card h3{margin-top:0;padding-right:45px}
.cse-appointment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cse-appointment-form-grid .wide{grid-column:1/-1}.cse-appointment-modal-card label{display:block;margin-bottom:12px;font-weight:800}.cse-appointment-modal-card input,.cse-appointment-modal-card select,.cse-appointment-modal-card textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px;border:1px solid #ccd8e4;border-radius:10px}
.cse-appointment-invitees{border:1px solid #dbe5ef;border-radius:12px;padding:12px}.cse-appointment-invitee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:260px;overflow:auto}.cse-appointment-invitee-grid label{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid #e1e8ef;border-radius:9px}.cse-appointment-invitee-grid input{width:auto;margin:0}
.cse-appointment-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.cse-appointment-form-actions>button:first-child{border:1px solid #ccd8e4;border-radius:10px;background:#fff;padding:10px 14px;font-weight:800}
.cse-elected-card-appointments{cursor:pointer;text-align:left}
@media(max-width:850px){.cse-appointment-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cse-appointment-layout{display:block}.cse-appointment-list{max-height:360px;overflow:auto;border-right:0;border-bottom:1px solid #e0e8f0}.cse-appointment-invitee-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cse-appointments-toolbar{flex-direction:column;align-items:stretch}.cse-appointment-stats{grid-template-columns:1fr}.cse-appointment-form-grid{grid-template-columns:1fr}.cse-appointment-form-grid .wide{grid-column:auto}.cse-appointment-detail-head{flex-direction:column}.cse-appointment-invitee-grid{grid-template-columns:1fr}}


/* 7.3.3-b.2 — Salles, conflits et disponibilités */
.cse-appointment-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cse-appointment-secondary{border:1px solid #ccd8e4!important;border-radius:11px!important;background:#fff!important;color:#36516f!important;padding:10px 15px!important;font-weight:900!important;cursor:pointer}
.cse-appointment-force{display:flex!important;align-items:center;gap:8px;padding:10px;border:1px solid #f1c77a;border-radius:10px;background:#fff8e8}
.cse-appointment-force input{width:auto!important;margin:0!important}
@media(max-width:560px){.cse-appointment-toolbar-actions{display:grid}.cse-appointment-toolbar-actions button{width:100%}}
