:root{--wbb-primary: #02de5a;--wbb-primary-hover: #02c551;--wbb-primary-dark: #0ba046;--wbb-primary-light: rgba(2, 222, 90, 0.1);--wbb-primary-border: rgba(2, 222, 90, 0.2);--wbb-success: #00a32a;--wbb-success-light: #46b450;--wbb-success-bg: #d4edda;--wbb-success-bg-alt: #e8f5e8;--wbb-success-border: #c3e6cb;--wbb-success-text: #155724;--wbb-danger: #d63638;--wbb-danger-alt: #dc3232;--wbb-danger-hover: #b32d2e;--wbb-danger-bg: #fff7f7;--wbb-danger-bg-alt: #fce8e6;--wbb-danger-text: #721c24;--wbb-warning: #f0b849;--wbb-warning-alt: #ffc107;--wbb-warning-hover: #ffb300;--wbb-warning-bg: #fff3cd;--wbb-warning-bg-alt: #fff3e0;--wbb-warning-text: #856404;--wbb-warning-orange: #f56e28;--wbb-info: #0073aa;--wbb-info-alt: #007cba;--wbb-info-hover: #005a87;--wbb-info-light: #135e96;--wbb-info-bg: #e3f2fd;--wbb-info-bg-alt: #f0f7ff;--wbb-info-border: rgba(0, 115, 170, 0.2);--wbb-white: #fff;--wbb-gray-lightest: #f9f9f9;--wbb-gray-lighter: #f8f9fa;--wbb-gray-light: #f6f7f7;--wbb-gray-light-alt: #f5f5f5;--wbb-gray-light-hover: #f0f6fc;--wbb-gray-border: #ddd;--wbb-gray-border-light: #e9ecef;--wbb-gray-border-alt: #e1e5e9;--wbb-gray-border-dark: #dcdcde;--wbb-gray-border-dark-alt: #ccd0d4;--wbb-gray-bg: #f0f0f0;--wbb-gray-bg-hover: #e9ecef;--wbb-gray-bg-hover-alt: #e0e0e0;--wbb-gray-bg-alt: #f0f0f1;--wbb-gray-bg-dark: #e5f3ff;--wbb-gray-border-medium: #ccc;--wbb-gray-text: #666;--wbb-gray-text-light: #999;--wbb-gray-text-dark: #646970;--wbb-gray-text-medium: #8c8f94;--wbb-gray-dark: #333;--wbb-gray-darker: #2c3338;--wbb-gray-darkest: #1d2327;--wbb-black: #000;--wbb-status-todo: #d63638;--wbb-status-doing: #f0b849;--wbb-status-done: #00a32a;--wbb-overlay: rgba(0, 0, 0, 0.5);--wbb-overlay-light: rgba(0, 0, 0, 0.1);--wbb-overlay-white: rgba(255, 255, 255, 0.2);--wbb-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);--wbb-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.15);--wbb-shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.15);--wbb-shadow-xl: 0 6px 16px rgba(0, 0, 0, 0.2);--wbb-shadow-pins: 0 2px 8px rgba(0, 0, 0, 0.3);--wbb-shadow-modal: 0 4px 20px rgba(0, 0, 0, 0.15);--wbb-spacing-xs: 4px;--wbb-spacing-sm: 8px;--wbb-spacing-md: 12px;--wbb-spacing-lg: 16px;--wbb-spacing-xl: 20px;--wbb-spacing-xxl: 24px;--wbb-radius-sm: 3px;--wbb-radius-md: 4px;--wbb-radius-lg: 8px;--wbb-radius-xl: 12px;--wbb-radius-full: 50px;--wbb-transition-fast: 0.2s ease;--wbb-transition-normal: 0.3s ease;--wbb-z-base: 1;--wbb-z-dropdown: 100;--wbb-z-sticky: 200;--wbb-z-overlay: 999997;--wbb-z-pins: 999996;--wbb-z-button: 999998;--wbb-z-sidebar: 999999;--wbb-z-modal: 100000;--wbb-font-size-xs: 11px;--wbb-font-size-sm: 12px;--wbb-font-size-md: 14px;--wbb-font-size-lg: 16px;--wbb-font-size-xl: 18px}.gfield_appointment_date .ginput_container{position:relative}.gfield_appointment_date input{width:100%;padding:8px 12px;border:1px solid var(--wbb-gray-border);border-radius:4px;font-size:14px;transition:border-color .2s ease}.gfield_appointment_date input:focus{border-color:var(--wbb-info);outline:none;box-shadow:0 0 0 2px var(--wbb-info-border)}.gfield_appointment_date input.validating{background-image:url("data:image/svg+xml;charset=utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 12a9 9 0 11-6.219-8.56\"/></svg>");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;animation:spin 1s linear infinite}.gfield_appointment_date input.gf_valid{border-color:var(--wbb-success-light);background-color:var(--wbb-success-bg)}.gfield_appointment_date input.gf_invalid{border-color:var(--wbb-danger-alt);background-color:var(--wbb-danger-bg)}.gfield_appointment_date .validation_message{color:var(--wbb-danger-alt);font-size:12px;margin-top:5px;display:block}.ui-datepicker{background:var(--wbb-white);border:1px solid var(--wbb-gray-border);border-radius:4px;box-shadow:0 4px 12px var(--wbb-shadow-lg);font-family:inherit;font-size:14px}.ui-datepicker .ui-datepicker-header{background:var(--wbb-gray-lighter);border-bottom:1px solid var(--wbb-gray-border);padding:8px 0;position:relative}.ui-datepicker .ui-datepicker-header .ui-datepicker-title{text-align:center;font-weight:600;color:var(--wbb-gray-dark)}.ui-datepicker .ui-datepicker-header .ui-datepicker-prev,.ui-datepicker .ui-datepicker-header .ui-datepicker-next{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border:none;background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:background-color .2s ease}.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover{background-color:var(--wbb-gray-bg-hover)}.ui-datepicker .ui-datepicker-header .ui-datepicker-prev .ui-icon,.ui-datepicker .ui-datepicker-header .ui-datepicker-next .ui-icon{display:none}.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before,.ui-datepicker .ui-datepicker-header .ui-datepicker-next:before{content:"";width:0;height:0;border-style:solid}.ui-datepicker .ui-datepicker-header .ui-datepicker-prev{left:8px}.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:before{border-width:5px 8px 5px 0;border-color:rgba(0,0,0,0) var(--wbb-gray-text) rgba(0,0,0,0) rgba(0,0,0,0)}.ui-datepicker .ui-datepicker-header .ui-datepicker-next{right:8px}.ui-datepicker .ui-datepicker-header .ui-datepicker-next:before{border-width:5px 0 5px 8px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--wbb-gray-text)}.ui-datepicker .ui-datepicker-calendar{width:100%;border-collapse:collapse;margin:0}.ui-datepicker .ui-datepicker-calendar th{background:var(--wbb-gray-lighter);padding:8px 4px;text-align:center;font-weight:600;color:var(--wbb-gray-text);font-size:12px;border-bottom:1px solid var(--wbb-gray-border)}.ui-datepicker .ui-datepicker-calendar td{padding:0;text-align:center;border:none}.ui-datepicker .ui-datepicker-calendar td .ui-state-default{display:block;padding:8px 4px;text-decoration:none;color:var(--wbb-gray-dark);border:none;background:rgba(0,0,0,0);transition:all .2s ease;border-radius:3px;margin:1px}.ui-datepicker .ui-datepicker-calendar td .ui-state-default:hover{background-color:var(--wbb-gray-bg-hover)}.ui-datepicker .ui-datepicker-calendar td .ui-state-active{background-color:var(--wbb-info);color:var(--wbb-white)}.ui-datepicker .ui-datepicker-calendar td .ui-state-active:hover{background-color:var(--wbb-info-hover)}.ui-datepicker .ui-datepicker-calendar td .ui-state-highlight{background-color:var(--wbb-warning-bg);color:var(--wbb-warning-text)}.ui-datepicker .ui-datepicker-calendar td .unavailable{color:var(--wbb-gray-text-light);background-color:var(--wbb-gray-lighter);cursor:not-allowed}.ui-datepicker .ui-datepicker-calendar td .unavailable:hover{background-color:var(--wbb-gray-lighter)}.ui-datepicker .ui-datepicker-calendar td .available{color:var(--wbb-gray-dark);cursor:pointer}.ui-datepicker .ui-datepicker-calendar td .available:hover{background-color:var(--wbb-info-bg)}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.appointment-planner-admin .month-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.gf_appointment_planner_settings .gform-settings-panel__content .gform-settings-field{margin-bottom:20px}.gf_appointment_planner_settings .gform-settings-panel__content .gform-settings-field label{display:block;margin-bottom:5px;font-weight:600}.gf_appointment_planner_settings .gform-settings-panel__content .gform-settings-field input[type=number]{width:100px;padding:4px 8px;border:1px solid var(--wbb-gray-border);border-radius:3px}.gf_appointment_planner_settings .gform-settings-panel__content .gform-settings-field .gform-settings-choice{margin-bottom:8px}.gf_appointment_planner_settings .gform-settings-panel__content .gform-settings-field .gform-settings-choice input[type=checkbox]{margin-right:8px}.appointment-calendar-override{background:var(--wbb-white);border:1px solid var(--wbb-gray-border);border-radius:8px;padding:20px;margin:20px 0;box-shadow:0 2px 4px var(--wbb-shadow-sm)}.appointment-calendar-override .calendar-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:2px;background:var(--wbb-gray-lighter);border:1px solid var(--wbb-gray-border);border-radius:6px;overflow:hidden;margin-bottom:20px}.appointment-calendar-override .calendar-grid .calendar-header{background:var(--wbb-primary);padding:12px 8px;text-align:center;font-weight:600;font-size:13px;color:var(--wbb-white);text-transform:uppercase;letter-spacing:.5px}.appointment-calendar-override .calendar-grid .calendar-day{background:var(--wbb-white);padding:12px 8px;text-align:center;cursor:pointer;transition:all .2s ease;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:1px solid var(--wbb-gray-bg-hover)}.appointment-calendar-override .calendar-grid .calendar-day:hover{background-color:var(--wbb-gray-lighter);transform:translateY(-1px);box-shadow:0 2px 4px var(--wbb-shadow-sm)}.appointment-calendar-override .calendar-grid .calendar-day.selected{background-color:var(--wbb-info) !important;color:#fff !important;border-color:var(--wbb-info-hover) !important}.appointment-calendar-override .calendar-grid .calendar-day.selected:hover{background-color:var(--wbb-info-hover) !important}.appointment-calendar-override .calendar-grid .calendar-day.blocked{background-color:var(--wbb-danger-alt);color:var(--wbb-white);border-color:var(--wbb-danger-hover)}.appointment-calendar-override .calendar-grid .calendar-day.override{background-color:var(--wbb-warning-alt);color:var(--wbb-gray-dark);border-color:var(--wbb-warning-hover)}.appointment-calendar-override .calendar-grid .calendar-day.past{background-color:var(--wbb-gray-border);color:var(--wbb-gray-text-dark);cursor:not-allowed}.appointment-calendar-override .calendar-grid .calendar-day.past:hover{transform:none;box-shadow:none}.appointment-calendar-override .calendar-grid .calendar-day.weekend-excluded,.appointment-calendar-override .calendar-grid .calendar-day.weekday-excluded{background-color:var(--wbb-danger) !important;color:#fff !important;cursor:not-allowed !important;opacity:.7 !important}.appointment-calendar-override .calendar-grid .calendar-day.weekend-excluded:hover,.appointment-calendar-override .calendar-grid .calendar-day.weekday-excluded:hover{background-color:var(--wbb-danger) !important;transform:none !important;box-shadow:none !important}.appointment-calendar-override .calendar-grid .calendar-day.prev-month{background-color:var(--wbb-gray-lighter) !important;color:var(--wbb-gray-text-dark) !important;opacity:.6 !important;cursor:not-allowed !important}.appointment-calendar-override .calendar-grid .calendar-day.prev-month:hover{background-color:var(--wbb-gray-lighter) !important;transform:none !important;box-shadow:none !important}.appointment-calendar-override .calendar-grid .calendar-day .day-number{font-size:16px;font-weight:600;margin-bottom:4px}.appointment-calendar-override .calendar-grid .calendar-day .capacity-info{font-size:11px;background:var(--wbb-shadow-sm);color:var(--wbb-gray-text);padding:2px 6px;border-radius:3px;font-weight:500}.appointment-calendar-override .calendar-grid .calendar-day.selected .capacity-info{background:hsla(0,0%,100%,.2);color:var(--wbb-white)}.appointment-calendar-override .calendar-grid .calendar-day.blocked .capacity-info{background:hsla(0,0%,100%,.2);color:var(--wbb-white)}.appointment-calendar-override .calendar-controls{margin-top:20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.appointment-calendar-override .calendar-controls button{padding:10px 16px;border:1px solid var(--wbb-gray-border);background:var(--wbb-white);border-radius:6px;cursor:pointer;transition:all .2s ease;font-weight:500;font-size:14px}.appointment-calendar-override .calendar-controls button:hover{background-color:var(--wbb-gray-lighter);transform:translateY(-1px);box-shadow:0 2px 4px var(--wbb-shadow-sm)}.appointment-calendar-override .calendar-controls button.button-primary{background-color:var(--wbb-info);color:var(--wbb-white);border-color:var(--wbb-info)}.appointment-calendar-override .calendar-controls button.button-primary:hover{background-color:var(--wbb-info-hover);border-color:var(--wbb-info-hover)}.appointment-calendar-override .calendar-controls button.button-danger{background-color:var(--wbb-danger-alt);color:var(--wbb-white);border-color:var(--wbb-danger-alt)}.appointment-calendar-override .calendar-controls button.button-danger:hover{background-color:var(--wbb-danger-hover);border-color:var(--wbb-danger-hover)}.appointment-calendar-override .calendar-controls button.button-warning{background-color:var(--wbb-warning-alt);color:var(--wbb-gray-dark);border-color:var(--wbb-warning-alt)}.appointment-calendar-override .calendar-controls button.button-warning:hover{background-color:var(--wbb-warning-hover);border-color:var(--wbb-warning-hover)}.appointment-calendar-override .calendar-stats{background:var(--wbb-gray-lighter);border:1px solid var(--wbb-gray-bg-hover);border-radius:6px;padding:15px;margin-top:20px}.appointment-calendar-override .calendar-stats h4{margin:0 0 10px 0;color:var(--wbb-gray-dark);font-size:16px}.appointment-calendar-override .calendar-stats .stat-item{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.appointment-calendar-override .calendar-stats .stat-item:last-child{margin-bottom:0}.appointment-calendar-override .calendar-stats .stat-item .stat-label{color:var(--wbb-gray-text)}.appointment-calendar-override .calendar-stats .stat-item .stat-value{font-weight:600;color:var(--wbb-gray-dark)}.appointment-calendar-inline{background:var(--wbb-white);border:1px solid var(--wbb-gray-border-alt);border-radius:8px;padding:20px;margin:10px 0;box-shadow:0 2px 8px var(--wbb-shadow-sm);font-family:inherit}.appointment-calendar-inline .calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--wbb-gray-border-alt)}.appointment-calendar-inline .calendar-header h3{margin:0;font-size:18px;font-weight:600;color:var(--wbb-gray-dark)}.appointment-calendar-inline .calendar-header .calendar-nav{background:none;border:none;font-size:24px;color:var(--wbb-gray-text);cursor:pointer;padding:8px 12px;border-radius:6px;transition:all .2s ease}.appointment-calendar-inline .calendar-header .calendar-nav:hover{background:var(--wbb-gray-lighter);color:var(--wbb-gray-dark)}.appointment-calendar-inline .calendar-header .calendar-nav:active{transform:scale(0.95)}.appointment-calendar-inline .calendar-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:1px;background:var(--wbb-gray-border-alt);border-radius:6px;overflow:hidden}.appointment-calendar-inline .calendar-grid .calendar-day-header{background:var(--wbb-gray-lighter);padding:12px 8px;text-align:center;font-weight:600;font-size:12px;color:var(--wbb-gray-text);text-transform:uppercase;letter-spacing:.5px}.appointment-calendar-inline .calendar-grid .calendar-day-empty{background:var(--wbb-white);min-height:50px}.appointment-calendar-inline .calendar-grid .calendar-day{background:var(--wbb-white);padding:8px;text-align:center;cursor:pointer;transition:all .2s ease;min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.appointment-calendar-inline .calendar-grid .calendar-day:hover:not(.past):not(.unavailable){background:var(--wbb-info-bg-alt);transform:translateY(-1px)}.appointment-calendar-inline .calendar-grid .calendar-day.past{background:var(--wbb-gray-lighter);color:var(--wbb-gray-text-light);cursor:not-allowed}.appointment-calendar-inline .calendar-grid .calendar-day.available{color:var(--wbb-gray-dark)}.appointment-calendar-inline .calendar-grid .calendar-day.available:hover{background:var(--wbb-info-bg)}.appointment-calendar-inline .calendar-grid .calendar-day.unavailable{background:var(--wbb-danger-bg);color:var(--wbb-danger);cursor:not-allowed}.appointment-calendar-inline .calendar-grid .calendar-day.selected{background:var(--wbb-info);color:var(--wbb-white)}.appointment-calendar-inline .calendar-grid .calendar-day.selected .day-number{color:var(--wbb-white)}.appointment-calendar-inline .calendar-grid .calendar-day.selected .availability-info{color:hsla(0,0%,100%,.9)}.appointment-calendar-inline .calendar-grid .calendar-day .day-number{font-size:16px;font-weight:600;margin-bottom:2px}.appointment-calendar-inline .calendar-grid .calendar-day .availability-info{font-size:10px;font-weight:500;color:var(--wbb-gray-text);line-height:1}@media(max-width: 768px){.ui-datepicker{width:100%;max-width:300px;margin:0 auto}.appointment-calendar-override .calendar-grid .calendar-day{min-height:35px;padding:4px}.appointment-calendar-override .calendar-grid .calendar-day .day-number{font-size:12px}.appointment-calendar-override .calendar-grid .calendar-day .capacity-info{font-size:9px}.appointment-calendar-inline{padding:15px;margin:5px 0}.appointment-calendar-inline .calendar-header h3{font-size:16px}.appointment-calendar-inline .calendar-grid .calendar-day{min-height:40px;padding:6px}.appointment-calendar-inline .calendar-grid .calendar-day .day-number{font-size:14px}.appointment-calendar-inline .calendar-grid .calendar-day .availability-info{font-size:9px}}.appointment-forms-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:20px;margin-top:20px}.appointment-form-card{background:var(--wbb-white);border:1px solid var(--wbb-gray-border);border-radius:8px;padding:20px;box-shadow:0 2px 4px var(--wbb-shadow-sm);transition:box-shadow .2s ease}.appointment-form-card:hover{box-shadow:0 4px 8px var(--wbb-shadow-lg)}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--wbb-gray-border-light)}.form-header h3{margin:0;font-size:18px;color:var(--wbb-gray-dark)}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.status-badge.enabled{background-color:var(--wbb-success-bg);color:var(--wbb-success-text)}.status-badge.disabled{background-color:var(--wbb-danger-bg);color:var(--wbb-danger-text)}.form-stats{margin-bottom:20px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--wbb-gray-light-alt)}.stat-item:last-child{border-bottom:none}.stat-label{font-size:14px;color:var(--wbb-gray-text);font-weight:500}.stat-value{font-size:14px;color:var(--wbb-gray-dark);font-weight:600}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.form-actions .button{flex:1;min-width:120px;text-align:center}.week-planner{margin-top:20px;padding-top:15px;border-top:1px solid var(--wbb-gray-border-light)}.week-planner h4{margin:0 0 15px 0;font-size:16px;color:var(--wbb-gray-dark)}.week-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:8px;margin-bottom:15px}.week-day{background:var(--wbb-gray-lighter);border:1px solid var(--wbb-gray-bg-hover);border-radius:6px;padding:8px;min-height:80px;font-size:12px}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--wbb-gray-border-light)}.day-name{font-weight:600;color:var(--wbb-gray-dark)}.day-date{font-size:10px;color:var(--wbb-gray-text-dark)}.appointments-list{max-height:60px;overflow-y:auto}.appointment-item{display:flex;justify-content:space-between;align-items:center;padding:2px 4px;margin-bottom:2px;background:var(--wbb-info-light);color:var(--wbb-white);border-radius:3px;font-size:10px}.appointment-time{font-weight:600;margin-right:4px}.appointment-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-appointments{color:var(--wbb-gray-text-dark);font-style:italic;text-align:center;padding:10px 0;font-size:10px}@media(max-width: 768px){.appointment-forms-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .button{flex:none}.week-grid{grid-template-columns:repeat(7, 1fr);gap:4px}.week-day{padding:6px;min-height:60px}.appointment-item{font-size:9px;padding:1px 3px}}
