.ffc-audience-calendar{font-family:var(--ffc-font-family);max-width:600px;margin:0 auto;background:#fff;border:1px solid var(--ffc-gray-200);border-radius:var(--ffc-radius-sm);overflow:hidden}.ffc-calendar-wrapper .ffc-audience-calendar{max-width:none;margin:0}.ffc-calendar-core{width:100%}.ffc-calendar-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:var(--ffc-gray-100);border-bottom:1px solid var(--ffc-gray-200);flex-wrap:wrap;gap:15px}.ffc-calendar-nav{display:flex;align-items:center;gap:10px}.ffc-current-month{margin:0;font-size:18px;font-weight:600;min-width:180px;text-align:center}.ffc-nav-btn{background:#fff;border:1px solid var(--ffc-gray-300);border-radius:var(--ffc-radius-sm);padding:8px 12px;cursor:pointer;font-size:16px;transition:all .2s ease}.ffc-nav-btn:hover{background:var(--ffc-gray-100);border-color:var(--ffc-gray-400)}.ffc-nav-btn:focus-visible{outline:2px solid var(--ffc-primary);outline-offset:2px}.ffc-today-btn{font-size:13px;padding:6px 12px;margin-left:10px}.ffc-calendar-filters{display:flex;gap:10px}.ffc-calendar-filters select{padding:8px 12px;border:1px solid var(--ffc-gray-300);border-radius:var(--ffc-radius-sm);font-size:14px;background:#fff;min-width:150px}.ffc-calendar-title{padding:8px 12px;font-size:14px;font-weight:600;color:var(--ffc-gray-700);border:1px solid var(--ffc-gray-300);border-radius:var(--ffc-radius-sm);background:#fff}.ffc-calendar-grid{padding:15px}.ffc-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:10px}.ffc-weekday{text-align:center;font-weight:600;font-size:13px;color:var(--ffc-gray-600);padding:10px 5px}.ffc-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.ffc-day{aspect-ratio:1;min-height:0;border:1px solid var(--ffc-gray-200);border-radius:var(--ffc-radius-sm);padding:5px;background:#fff;cursor:pointer;transition:all .2s ease;position:relative}.ffc-day:hover{border-color:var(--ffc-primary);box-shadow:var(--ffc-shadow-sm)}.ffc-day.ffc-other-month{background:var(--ffc-gray-100);opacity:.6}.ffc-day.ffc-today{border-color:var(--ffc-primary);border-width:2px}.ffc-day.ffc-past{background:var(--ffc-gray-100);cursor:default}.ffc-day.ffc-past:hover{border-color:var(--ffc-gray-200);box-shadow:none}.ffc-day.ffc-holiday{background:#fff5f5;cursor:default}.ffc-day.ffc-holiday:hover{border-color:var(--ffc-gray-200);box-shadow:none}.ffc-day.ffc-closed{background:var(--ffc-gray-100);cursor:default}.ffc-day.ffc-closed:hover{border-color:var(--ffc-gray-200);box-shadow:none}.ffc-day.ffc-available:not(.ffc-past):not(.ffc-disabled):not(.ffc-other-month){border-color:var(--ffc-success);border-width:2px}.ffc-day.ffc-available:not(.ffc-past):not(.ffc-disabled):not(.ffc-other-month) .ffc-day-number{color:var(--ffc-success)}.ffc-day.ffc-available:not(.ffc-past):not(.ffc-disabled):not(.ffc-other-month):hover{border-color:var(--ffc-success);box-shadow:0 0 0 2px rgba(0,167,60,.2)}.ffc-day.ffc-selected{background:var(--ffc-gray-200);border-color:var(--ffc-gray-400)}.ffc-day.ffc-selected .ffc-day-number{color:var(--ffc-gray-800)}.ffc-day-number{font-weight:600;font-size:14px;color:var(--ffc-gray-800)}.ffc-today .ffc-day-number{color:var(--ffc-primary)}.ffc-day-content{margin-top:5px;font-size:11px;overflow:hidden}.ffc-day-badge{display:inline-block;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600;margin-top:3px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ffc-badge-bookings{background:var(--ffc-primary);color:#fff}.ffc-badge-holiday{background:var(--ffc-warning);color:#fff}.ffc-badge-closed{background:var(--ffc-gray-400);color:#fff}.ffc-calendar-legend{display:flex;gap:20px;padding:15px 20px;background:var(--ffc-gray-100);border-top:1px solid var(--ffc-gray-200);font-size:13px;justify-content:center;flex-wrap:wrap}.ffc-legend-item{display:flex;align-items:center;gap:5px}.ffc-legend-dot{width:12px;height:12px;border-radius:50%}.ffc-legend-dot.ffc-available{background:var(--ffc-success)}.ffc-legend-dot.ffc-booked{background:var(--ffc-primary)}.ffc-legend-dot.ffc-holiday{background:var(--ffc-warning)}.ffc-legend-dot.ffc-closed{background:var(--ffc-gray-400)}.ffc-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--ffc-gray-600);grid-column:1/-1}.ffc-audience-notice{padding:20px;border-radius:var(--ffc-radius-sm);margin:20px 0;text-align:center}.ffc-notice-warning{background:#fff8e5;border:1px solid var(--ffc-warning)}.ffc-notice-info{background:#e5f5fa;border:1px solid var(--ffc-primary)}.ffc-btn{display:inline-block;padding:10px 20px;border:none;border-radius:var(--ffc-radius-sm);font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s ease}.ffc-btn-primary{background:var(--ffc-primary);color:#fff}.ffc-btn-primary:hover{background:var(--ffc-primary-hover)}.ffc-btn:focus-visible{outline:2px solid var(--ffc-primary);outline-offset:2px}.ffc-btn-secondary{background:var(--ffc-gray-200);color:var(--ffc-gray-800)}.ffc-btn-secondary:hover{background:var(--ffc-gray-300)}.ffc-btn-success{background:var(--ffc-success);color:#fff}.ffc-btn-success:hover{background:#008a20}.ffc-btn-danger{background:var(--ffc-danger);color:#fff}.ffc-btn-danger:hover{background:#b32d2e}.ffc-btn:disabled{opacity:.6;cursor:not-allowed}.ffc-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100000;display:flex;align-items:center;justify-content:center}.ffc-modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5)}.ffc-modal-content{position:relative;background:#fff;border-radius:var(--ffc-radius-sm);box-shadow:0 5px 30px rgba(0,0,0,.3);max-width:500px;width:90%;max-height:90vh;overflow:auto}.ffc-modal-lg{max-width:min(700px,95vw)}.ffc-modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid var(--ffc-gray-200)}.ffc-modal-header h3{margin:0;font-size:18px}.ffc-modal-close{background:0 0;border:none;font-size:24px;cursor:pointer;color:var(--ffc-gray-600);padding:0;line-height:1}.ffc-modal-close:hover{color:var(--ffc-gray-800)}.ffc-modal-body{padding:20px}.ffc-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid var(--ffc-gray-200)}.ffc-form-group{margin-bottom:15px}.ffc-form-group label{display:block;font-weight:600;margin-bottom:5px;font-size:14px}.ffc-form-group input,.ffc-form-group select,.ffc-form-group textarea{width:100%;padding:10px;border:1px solid var(--ffc-gray-300);border-radius:var(--ffc-radius-sm);font-size:14px}.ffc-form-group input:focus,.ffc-form-group select:focus,.ffc-form-group textarea:focus{outline:0;border-color:var(--ffc-primary);box-shadow:0 0 0 1px var(--ffc-primary)}.ffc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ffc-char-count{font-size:12px;color:var(--ffc-gray-600);float:right;margin-top:5px}.ffc-user-results{max-height:150px;overflow-y:auto;border:1px solid var(--ffc-gray-200);border-radius:var(--ffc-radius-sm);display:none;margin-top:5px}.ffc-user-results.active{display:block}.ffc-user-result{padding:8px 10px;cursor:pointer;border-bottom:1px solid var(--ffc-gray-100)}.ffc-user-result:last-child{border-bottom:none}.ffc-user-result:hover{background:var(--ffc-gray-100)}.ffc-selected-users{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px}.ffc-selected-user{display:inline-flex;align-items:center;background:var(--ffc-primary);color:#fff;padding:5px 10px;border-radius:20px;font-size:13px}.ffc-selected-user .remove{margin-left:8px;cursor:pointer;font-weight:700}.ffc-multiselect{height:auto!important;min-height:100px}.ffc-conflict-warning{background:#fff8e5;border:1px solid var(--ffc-warning);border-radius:var(--ffc-radius-sm);padding:15px;margin-top:15px}.ffc-conflict-warning .dashicons{color:var(--ffc-warning);float:left;margin-right:10px;font-size:24px}.ffc-conflict-warning p{margin:0 0 10px}.ffc-conflict-details{font-size:13px;color:var(--ffc-gray-600);margin-top:10px}.ffc-conflict-acknowledge{display:flex;align-items:flex-start;gap:8px;margin-top:12px;font-size:13px;font-weight:600;cursor:pointer}.ffc-conflict-acknowledge input[type=checkbox]{margin-top:2px}.ffc-conflict-error{background:#fef2f2;border:1px solid var(--ffc-danger);border-radius:var(--ffc-radius-sm);padding:15px;margin-top:15px}.ffc-conflict-error .dashicons{color:var(--ffc-danger);float:left;margin-right:10px;font-size:24px}.ffc-conflict-error-details{font-size:13px;color:var(--ffc-gray-700);margin-top:5px}.ffc-day-bookings{max-height:400px;overflow-y:auto}.ffc-booking-item{border:1px solid var(--ffc-gray-200);border-radius:var(--ffc-radius-sm);padding:15px;margin-bottom:10px;background:var(--ffc-gray-100)}.ffc-booking-item:last-child{margin-bottom:0}.ffc-booking-time{font-weight:600;font-size:16px;color:var(--ffc-primary);margin-bottom:5px}.ffc-booking-description{margin:10px 0}.ffc-booking-meta{display:flex;flex-wrap:wrap;gap:15px;font-size:13px;color:var(--ffc-gray-600)}.ffc-booking-audiences{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.ffc-audience-tag{display:inline-block;padding:3px 8px;border-radius:3px;font-size:12px;color:#fff}.ffc-booking-actions{margin-top:15px;padding-top:10px;border-top:1px solid var(--ffc-gray-200)}.ffc-day-filter{margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--ffc-gray-200)}.ffc-day-filter label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--ffc-gray-600)}.ffc-day-filter input[type=checkbox]{margin:0}.ffc-status-cancelled{color:var(--ffc-danger);font-size:12px;font-weight:400}.ffc-booking-cancelled{opacity:.7;background:#fff5f5}.ffc-booking-cancelled .ffc-booking-time::after{content:""}@media screen and (max-width:768px){.ffc-calendar-header{flex-direction:column;align-items:stretch}.ffc-calendar-nav{justify-content:center}.ffc-calendar-filters{flex-direction:column}.ffc-calendar-filters select{min-width:100%}.ffc-day{aspect-ratio:1}.ffc-weekday{font-size:11px;padding:5px 2px}.ffc-form-row{grid-template-columns:1fr}.ffc-calendar-legend{justify-content:flex-start;gap:10px;font-size:11px}.ffc-modal-content{width:95%;max-height:95vh}.ffc-calendar-wrapper.ffc-event-list-side{flex-direction:column}.ffc-event-list-side .ffc-event-list-panel{width:100%;max-height:300px}}@media screen and (max-width:480px){.ffc-day-number{font-size:12px}.ffc-day-badge{font-size:9px;padding:1px 4px}.ffc-current-month{font-size:15px;min-width:auto}}.ffc-calendar-wrapper{max-width:600px;margin:0 auto}.ffc-calendar-wrapper.ffc-has-event-list{max-width:1120px}.ffc-calendar-wrapper.ffc-has-event-list.ffc-event-list-side{display:flex;gap:20px;align-items:flex-start}.ffc-calendar-wrapper.ffc-event-list-side .ffc-audience-calendar{flex:1;min-width:0}.ffc-calendar-wrapper.ffc-event-list-below .ffc-audience-calendar{max-width:600px}.ffc-event-list-panel{background:#fff;border:1px solid var(--ffc-gray-200);border-radius:var(--ffc-radius-sm);overflow:hidden}.ffc-event-list-side .ffc-event-list-panel{width:500px;flex-shrink:0;max-height:700px;overflow-y:auto}.ffc-event-list-below .ffc-event-list-panel{max-width:600px;margin-top:20px}.ffc-event-list-header{padding:12px 15px;background:var(--ffc-gray-100);border-bottom:1px solid var(--ffc-gray-200)}.ffc-event-list-header h3{margin:0;font-size:15px;font-weight:600;color:var(--ffc-gray-800)}.ffc-event-list-content{padding:10px}.ffc-event-list-date{font-size:12px;font-weight:600;color:var(--ffc-gray-600);text-transform:uppercase;padding:8px 5px 4px;border-bottom:1px solid var(--ffc-gray-200);margin-top:8px}.ffc-event-list-date:first-child{margin-top:0}.ffc-event-list-item{display:flex;flex-direction:column;gap:3px;padding:8px;border-radius:var(--ffc-radius-sm);cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--ffc-gray-100)}.ffc-event-list-item:last-child{border-bottom:none}.ffc-event-list-item:hover{background:var(--ffc-gray-100)}.ffc-event-list-time{font-size:13px;font-weight:600;color:var(--ffc-primary)}.ffc-event-list-time.ffc-all-day{color:var(--ffc-success)}.ffc-event-list-env{font-size:12px;color:var(--ffc-gray-600);font-weight:500}.ffc-event-list-desc{font-size:12px;color:var(--ffc-gray-500);line-height:1.3}.ffc-event-list-audiences{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.ffc-audience-tag-sm{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;color:#fff}.ffc-no-events{text-align:center;color:var(--ffc-gray-500);font-size:13px;padding:20px 10px;margin:0}.ffc-event-list-below .ffc-event-list-content{max-height:300px;overflow-y:auto}@media (prefers-reduced-motion:reduce){.ffc-btn,.ffc-day,.ffc-nav-btn{transition:none}}