.agenda-container{width:100%}.week-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem;background-color:var(--color-secondary-light);border-radius:8px;border:1px solid #ccc}.week-nav-button{padding:.5rem 1rem;border:none;border-radius:4px;font-weight:700;font-size:1rem;background-color:var(--color-primary);color:var(--color-text);cursor:pointer}.week-nav-button--disabled{background-color:#ccc;color:#666;cursor:not-allowed}.week-current-display{font-weight:700;font-size:1.1rem;color:var(--color-primary)}.agenda-grid{display:flex;flex-direction:column;border:1px solid #ccc;border-radius:4px;overflow:hidden}.agenda-header{display:flex;width:100%}.agenda-header-hours{width:60px;min-width:60px;max-width:60px;padding:.5rem;border-right:1px solid #ccc;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center}.agenda-header-day,.agenda-header-hours{border-bottom:1px solid #ccc;background-color:var(--color-primary)}.agenda-header-day{flex:1 1;min-width:0;text-align:center;padding:.25rem}.agenda-header-day:not(:last-child){border-right:1px solid #ccc}.agenda-header-day-name{font-weight:700;font-size:.85rem}.agenda-header-day-date,.agenda-header-day-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-header-day-date{font-size:.75rem}.agenda-body{display:flex}.agenda-hours-column{width:60px;min-width:60px;max-width:60px}.agenda-hour-cell{height:60px;border-right:1px solid #ccc;padding:0 .25rem;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);font-size:.85rem}.agenda-hour-cell:not(:last-child){border-bottom:1px solid #ccc}.agenda-day-column{flex:1 1;position:relative;background-color:var(--color-secondary-light);cursor:pointer}.agenda-day-column:not(:last-child){border-right:1px solid #ccc}.agenda-day-column--disabled{background-color:rgba(128,128,128,.1);cursor:default}.agenda-horizontal-line{position:absolute;left:0;right:0;height:1px;border-top:1px solid #ccc;z-index:1}.agenda-checker-cell{position:absolute;left:0;right:0;height:60px;z-index:0}.agenda-checker-cell--even{background-color:var(--color-secondary-light)}.agenda-checker-cell--odd{background-color:var(--color-secondary)}.agenda-overlay-past{background-color:rgba(128,128,128,.3);z-index:0}.agenda-overlay-past,.agenda-overlay-unavailable{position:absolute;left:0;right:0;height:15px;pointer-events:none}.agenda-overlay-unavailable{background-color:rgba(255,152,0,.25);z-index:1}.agenda-overlay-blocked{position:absolute;left:0;right:0;top:0;bottom:0;background-color:rgba(220,53,69,.15);z-index:1;pointer-events:none;display:flex;align-items:center;justify-content:center}.agenda-overlay-blocked-badge{background-color:rgba(128,128,128,.3);color:white;padding:.5rem 1rem;border-radius:4px;font-weight:700;font-size:.9rem;text-align:center;max-width:90%}.agenda-appointment{position:absolute;left:0;right:0;z-index:2;text-align:center;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:500;color:white}.agenda-appointment--mine{background:#28a745;border:2px solid #1e7e34;box-shadow:0 2px 4px rgba(40,167,69,.3)}.agenda-appointment:hover{cursor:default}.agenda-preview{position:absolute;left:2px;right:2px;height:60px;border-radius:4px;z-index:10;pointer-events:none;transition:all .15s ease}.agenda-preview--available{border:3px solid #28a745;background-color:rgba(40,167,69,.1)}.agenda-preview--unavailable{border:3px solid #dc3545;background-color:rgba(220,53,69,.1)}.agenda-preview-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:8px;background-color:white;border-radius:4px;font-size:12px;font-weight:700;text-align:center;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.15)}.agenda-preview-message--available{border:2px solid #28a745;color:#28a745}.agenda-preview-message--unavailable{border:2px solid #dc3545;color:#dc3545}@media (max-width:768px){.week-nav-text{display:none!important}.agenda-header-hours,.agenda-hours-column{width:60px;min-width:60px;max-width:60px}.agenda-header-day-name{font-size:.85rem}.agenda-header-day-date{font-size:.75rem}}@media (min-width:769px){.week-nav-text{display:inline!important}}.rdv-page-container{display:flex;justify-content:center;align-items:center;min-height:60vh;width:100%}.my-appointments-section{background-color:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:2rem;border:1px solid #e9ecef}.my-appointments-title{margin:0 0 1rem;color:#495057}.appointment-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--color-secondary-light);border-radius:8px;margin-bottom:.75rem;border:1px solid #dee2e6;box-shadow:0 1px 3px rgba(0,0,0,.1)}.appointment-info{flex:1 1}.appointment-datetime{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;font-weight:600;color:#495057}.appointment-type-badge{padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.appointment-type-badge--physical{background-color:#e3f2fd;color:#1976d2}.appointment-type-badge--phone{background-color:#fff3e0;color:#f57c00}.appointment-reminder-count{margin-left:.5rem;color:#28a745}.appointment-email-info{font-size:.85rem;color:#6c757d;margin-top:.25rem}.appointment-type-info{font-size:.9rem;color:#6c757d}.cancel-button{background:none;border:2px solid #dc3545;color:#dc3545;cursor:pointer;font-size:14px;padding:6px 12px;border-radius:6px;font-weight:500;transition:all .2s}.cancel-button:hover{background-color:#dc3545;color:white}.info-box{margin-top:1rem;padding:.75rem;background-color:#e7f3ff;border-radius:6px;border:1px solid #b3d9ff}.info-box p{margin:0;font-size:.9rem;color:#0066cc}.rdv-type-selector{background-color:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #e9ecef}.rdv-type-selector-title{margin:0 0 1rem;color:#495057}.rdv-type-buttons{display:flex;gap:1rem;flex-wrap:wrap}.rdv-type-button{flex:1 1;min-width:250px;padding:1rem;border:2px solid #dee2e6;border-radius:8px;background-color:white;cursor:pointer;transition:all .2s}.rdv-type-button--active{border-color:#007bff;background-color:#e3f2fd}.rdv-type-button-icon{font-size:1.2rem;margin-bottom:.5rem}.rdv-type-button-title{font-weight:700;margin-bottom:.5rem}.rdv-type-button-details{font-size:.9rem;color:#6c757d}.cabinet-info-box{background-color:#f0f8ff;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;border:2px solid #4a90e2;box-shadow:0 2px 4px rgba(0,0,0,.1)}.cabinet-info-content{display:flex;align-items:flex-start;gap:1rem}.cabinet-info-content p{margin:0;font-size:.95rem;color:#2c5282;line-height:1.6}.cabinet-info-content p:first-child{margin-bottom:.75rem}.cabinet-info-link{color:#2b6cb0;font-weight:600;text-decoration:underline}.booking-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:2rem}.booking-loading-text{margin-top:1rem;font-size:1.1rem;color:#666;text-align:center}.success-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.success-modal-content{background-color:var(--color-secondary-light);border-radius:12px;padding:2rem;max-width:500px;width:90%;text-align:center;box-shadow:0 10px 25px rgba(0,0,0,.2);max-height:90vh;overflow-y:auto;position:relative}.success-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:.25rem;border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.success-modal-close:hover{background-color:#f0f0f0;color:#333}.success-modal-icon{font-size:4rem;margin-bottom:1rem}.success-modal-title{color:var(--color-primary);margin-bottom:1rem;font-size:1.5rem}.success-modal-details{background-color:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;text-align:left}.success-modal-details-title{margin:0 0 1rem;color:var(--color-primary)}.success-modal-detail-row{margin-bottom:.75rem}.success-modal-detail-row:last-child{margin-bottom:0}.success-modal-info-box{background-color:#e7f3ff;padding:1rem;border-radius:6px;margin-bottom:1.5rem;border:1px solid #b3d9ff}.success-modal-info-box p{margin:0;font-size:.9rem;color:#0066cc}.success-modal-reminder-box{background-color:#fff3cd;padding:1rem;border-radius:6px;margin-bottom:1.5rem;border:1px solid #ffeaa7}.success-modal-reminder-box p{margin:0;font-size:.9rem;color:#856404}