@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');.flowcal-wrap{--fc-bg:#f3f6f9;--fc-surface:#f3f6f9;--fc-surface2:#dee0ec;--fc-border:rgba(255,255,255,.06);--fc-border-hover:rgba(255,255,255,.12);--fc-text:#000;--fc-muted:#8b8fa3;--fc-accent:#6c5ce7;--fc-accent2:#a78bfa;--fc-success:#00d2a0;--fc-danger:#ff6b81;--fc-radius:14px;--fc-shadow:0 4px 24px rgba(0,0,0,.4);--fc-font:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-family:var(--fc-font);color:var(--fc-text);background:var(--fc-bg);line-height:1.5;padding:24px;border-radius:16px;box-sizing:border-box}.flowcal-wrap *,.flowcal-wrap *:before,.flowcal-wrap *:after{box-sizing:border-box}.flowcal-wrap .dashicons{font-size:18px;width:18px;height:18px;vertical-align:middle}.flowcal-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:900px){.flowcal-grid-2col{grid-template-columns:1fr}}.flowcal-card{background:var(--fc-surface);border:1px solid var(--fc-border);border-radius:var(--fc-radius);padding:24px;box-shadow:var(--fc-shadow);margin-bottom:20px;transition:border-color .2s}.flowcal-card:hover{border-color:var(--fc-border-hover)}.flowcal-card-title{font-family:var(--fc-font);font-size:17px;font-weight:700;color:var(--fc-text);margin:0 0 16px;display:flex;align-items:center;gap:8px}.flowcal-card-title .dashicons{color:var(--fc-accent2)}.flowcal-subtitle{color:var(--fc-muted);font-size:22px;margin:-8px 0 16px}.flowcal-btn-primary{background:linear-gradient(135deg,var(--fc-accent),var(--fc-accent2));color:#fff;border:none;border-radius:10px;padding:10px 22px;font-family:var(--fc-font);font-weight:600;font-size:20px;cursor:pointer;transition:transform .15s,box-shadow .2s,opacity .2s;box-shadow:0 4px 16px rgba(108,92,231,.3)}.flowcal-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(108,92,231,.45)}.flowcal-btn-primary:active{transform:scale(.97)}.flowcal-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.flowcal-btn-secondary{background:var(--fc-surface2);color:var(--fc-text);border:1px solid var(--fc-border);border-radius:10px;padding:10px 22px;font-family:var(--fc-font);font-weight:500;font-size:16px;cursor:pointer;transition:background .2s,border-color .2s;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.flowcal-btn-secondary:hover{background:rgba(255,255,255,.06);border-color:var(--fc-border-hover);color:var(--fc-text)}.flowcal-btn-icon{background:0 0;border:1px solid var(--fc-border);color:var(--fc-muted);border-radius:8px;padding:4px 8px;cursor:pointer;transition:background .2s;line-height:1}.flowcal-btn-icon:hover{background:var(--fc-surface2);color:var(--fc-text)}.flowcal-btn-danger{background:rgba(255,107,129,.12);color:var(--fc-danger);border:1px solid rgba(255,107,129,.2);border-radius:8px;padding:6px 14px;font-family:var(--fc-font);font-weight:500;font-size:16px;cursor:pointer;transition:background .2s}.flowcal-btn-danger:hover{background:rgba(255,107,129,.22)}.flowcal-form-group{margin-bottom:16px}.flowcal-form-group label{display:block;font-weight:500;font-size:18px;color:var(--fc-muted);margin-bottom:6px}.flowcal-wrap input[type=text],.flowcal-wrap input[type=email],.flowcal-wrap input[type=tel],.flowcal-wrap input[type=time],.flowcal-wrap textarea,.flowcal-wrap select{width:100%;background:var(--fc-surface2);border:1px solid var(--fc-border);border-radius:8px;padding:10px 14px;color:var(--fc-text);font-family:var(--fc-font);font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}.flowcal-wrap input:focus,.flowcal-wrap textarea:focus,.flowcal-wrap select:focus{border-color:var(--fc-accent);box-shadow:0 0 0 3px rgba(108,92,231,.15)}.flowcal-wrap select option{background-color:var(--fc-surface2);color:var(--fc-text)}.flowcal-wrap textarea{resize:vertical}.flowcal-calendar{user-select:none}.flowcal-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.flowcal-calendar-header h3{margin:0;font-size:19px;font-weight:600;color:var(--fc-text)}.flowcal-calendar-nav{background:0 0;border:1px solid var(--fc-border);color:var(--fc-muted);border-radius:6px;width:30px;height:30px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.flowcal-calendar-nav:hover{background:var(--fc-surface2);color:var(--fc-text)}.flowcal-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.flowcal-calendar-grid .flowcal-dow{font-size:18px;font-weight:600;color:var(--fc-muted);padding:4px 0}.flowcal-calendar-grid .flowcal-day{padding:8px 4px;border-radius:8px;font-size:18px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,transform .1s;color:var(--fc-muted);position:relative}.flowcal-calendar-grid .flowcal-day:hover{background:var(--fc-surface2);color:var(--fc-text)}.flowcal-calendar-grid .flowcal-day.empty{visibility:hidden;cursor:default}.flowcal-calendar-grid .flowcal-day.past{opacity:.3;pointer-events:none}.flowcal-calendar-grid .flowcal-day.selected{background:var(--fc-accent);color:#fff;transform:scale(1);box-shadow:0 2px 12px rgba(108,92,231,.35)}.flowcal-calendar-grid .flowcal-day.today{border:1px solid var(--fc-accent2);color:var(--fc-accent2)}.flowcal-calendar-grid .flowcal-day.has-slots{color:var(--fc-success);font-weight:700}.flowcal-calendar-grid .flowcal-day.has-slots:after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:5px;height:5px;background:var(--fc-success);border-radius:50%}.flowcal-type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.flowcal-type-card{background:var(--fc-surface2);border:2px solid var(--fc-border);border-radius:12px;padding:16px 10px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}.flowcal-type-card:hover{border-color:var(--fc-accent);transform:translateY(-2px)}.flowcal-type-card.selected{border-color:var(--fc-accent);background:rgba(108,92,231,.1)}.flowcal-type-card .dashicons{display:block;margin:0 auto 6px;font-size:24px;width:24px;height:24px;color:var(--fc-accent2)}.flowcal-type-card strong{display:block;font-size:13px;margin-bottom:2px}.flowcal-type-card small{color:var(--fc-muted);font-size:11px}.flowcal-time-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:8px;font-size:13px;font-weight:500;background:var(--fc-surface2);border:1px solid var(--fc-border);cursor:pointer;transition:all .15s;margin:4px}.flowcal-time-chip:hover{border-color:var(--fc-accent);color:var(--fc-accent2)}.flowcal-time-chip.selected{background:var(--fc-accent);border-color:var(--fc-accent);color:#fff}.flowcal-time-chip.booked{opacity:.35;text-decoration:line-through;pointer-events:none}.flowcal-weekday-row{border-bottom:1px solid var(--fc-border);padding:10px 0}.flowcal-weekday-row:last-child{border-bottom:none}.flowcal-weekday-header{display:flex;justify-content:space-between;align-items:center}.flowcal-weekday-header strong{font-size:18px}.flowcal-weekday-toggle{background:0 0;border:1px solid var(--fc-border);color:var(--fc-muted);border-radius:6px;padding:3px 10px;font-size:15px;cursor:pointer;font-family:var(--fc-font)}.flowcal-weekday-toggle:hover{color:var(--fc-text);background:var(--fc-surface2)}.flowcal-weekday-times{padding:6px 0;display:flex;flex-wrap:wrap;gap:6px;min-height:20px}.flowcal-time-tag{display:inline-flex;align-items:center;gap:6px;background:rgba(108,92,231,.12);color:var(--fc-accent2);border-radius:6px;padding:4px 10px;font-size:16px;font-weight:500}.flowcal-time-remove{background:0 0;border:none;color:var(--fc-danger);cursor:pointer;font-size:30px;line-height:1;padding:0}.flowcal-weekday-editor{margin-top:8px;display:flex;gap:8px;align-items:center}.flowcal-weekday-editor input[type=time]{width:auto;max-width:140px}.flowcal-muted-sm{color:var(--fc-muted);font-size:14px}.flowcal-appt-card{background:var(--fc-surface2);border:1px solid var(--fc-border);border-radius:10px;padding:16px;margin-bottom:10px;transition:border-color .2s}.flowcal-appt-card:hover{border-color:var(--fc-border-hover)}.flowcal-appt-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:6px}.flowcal-appt-meta{font-size:13px;color:var(--fc-muted);margin-top:4px}.flowcal-appt-meta span{margin-right:14px}.flowcal-appt-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase}.flowcal-badge-video{background:rgba(108,92,231,.15);color:var(--fc-accent2)}.flowcal-badge-phone{background:rgba(0,210,160,.12);color:var(--fc-success)}.flowcal-badge-inperson{background:rgba(255,200,60,.12);color:#ffc83d}.flowcal-cancel-area{margin-top:12px;padding-top:12px;border-top:1px solid var(--fc-border)}.flowcal-cancel-area textarea{margin-bottom:10px}.flowcal-cancel-btns{display:flex;gap:8px}.flowcal-slot-list{max-height:300px;overflow-y:auto}.flowcal-slot-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;margin-bottom:4px;font-size:16 px;background:var(--fc-surface2);border:1px solid var(--fc-border)}.flowcal-slot-item.booked{border-left:3px solid var(--fc-accent)}.flowcal-slot-item.available{border-left:3px solid var(--fc-success)}.flowcal-slot-remove{background:0 0;border:none;color:var(--fc-danger);cursor:pointer;opacity:.6;transition:opacity .2s;font-size:16px}.flowcal-slot-remove:hover{opacity:1}.flowcal-success-icon{font-size:48px;color:var(--fc-success);margin-bottom:10px}.flowcal-success-icon .dashicons{font-size:54px;width:54px;height:54px}.flowcal-details-box{background:var(--fc-surface2);border:1px solid var(--fc-border);border-radius:10px;padding:18px;text-align:left;margin:16px 0;font-size:14px}.flowcal-details-box .flowcal-detail-row{display:flex;gap:10px;padding:5px 0;border-bottom:1px solid var(--fc-border)}.flowcal-details-box .flowcal-detail-row:last-child{border-bottom:none}.flowcal-details-box .flowcal-detail-label{color:var(--fc-muted);min-width:90px;font-size:13px}.flowcal-zoom-box{background:rgba(108,92,231,.08);border:1px solid rgba(108,92,231,.2);border-radius:10px;padding:16px;text-align:left;margin:10px 0;font-size:13px}.flowcal-zoom-box a{color:var(--fc-accent2);word-break:break-all}.flowcal-cal-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.flowcal-info-box{background:var(--fc-surface2);border:1px solid var(--fc-border);border-radius:8px;padding:12px 16px;font-size:13px;color:var(--fc-muted);margin-bottom:16px}.flowcal-section-label{font-size:18px;font-weight:600;color:var(--fc-text);display:flex;align-items:center;gap:6px;margin:0 0 12px}.flowcal-empty{color:var(--fc-muted);font-size:13px;text-align:center;padding:16px}.flowcal-toast{position:fixed;bottom:30px;right:30px;background:var(--fc-surface2);color:var(--fc-text);padding:14px 24px;border-radius:10px;border:1px solid var(--fc-border);font-family:var(--fc-font);font-size:14px;box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:99999;animation:flowcalSlideUp .3s ease}.flowcal-toast.success{border-left:4px solid var(--fc-success)}.flowcal-toast.error{border-left:4px solid var(--fc-danger)}@keyframes flowcalSlideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.flowcal-wrap ::-webkit-scrollbar{width:6px}.flowcal-wrap ::-webkit-scrollbar-track{background:0 0}.flowcal-wrap ::-webkit-scrollbar-thumb{background:var(--fc-surface2);border-radius:3px}#flowcal-step1-footer{display:none !important}#flowcal-step1-footer.visible{display:flex !important}.flowcal-custom-select{position:relative;width:100%}.flowcal-select-trigger{display:flex;justify-content:space-between;align-items:center;background:var(--fc-surface2);border:1px solid var(--fc-border);border-radius:8px;padding:10px 14px;color:var(--fc-text);cursor:pointer;font-size:14px;user-select:none;transition:border-color .2s}.flowcal-select-trigger:hover{border-color:var(--fc-border-hover)}.flowcal-custom-select .dashicons{color:var(--fc-muted);font-size:16px;width:16px;height:16px}.flowcal-select-options{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--fc-surface2) !important;border:1px solid var(--fc-border) !important;border-radius:8px;margin-top:4px;z-index:99999 !important;box-shadow:var(--fc-shadow);max-height:250px;overflow-y:auto}.flowcal-select-options.open{display:block !important}.flowcal-select-option{padding:10px 14px;color:var(--fc-text) !important;cursor:pointer;font-size:14px;transition:background .15s,color .15s}.flowcal-select-option:hover{background:rgba(255,255,255,.08) !important}.flowcal-select-option.selected{background:var(--fc-accent) !important;color:#fff !important}.flowcal-wrap.flowcal-admin{margin-top:24px}.flowcal-bulk-actions{background:var(--fc-surface2) !important;border:1px solid var(--fc-border) !important;border-radius:8px;padding:8px 12px;display:flex;gap:10px;align-items:center;margin-bottom:12px}.flowcal-calendar-grid .flowcal-day.allocated{color:var(--fc-success) !important;font-weight:700}.flowcal-calendar-grid .flowcal-day.allocated:after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:5px;height:5px;background:var(--fc-success);border-radius:50%}.flowcal-calendar-grid .flowcal-day.selected.allocated{color:#fff !important}#flowcal-stripe-card-element,#flowcal-square-card-element{background:var(--fc-surface2) !important;border:1px solid var(--fc-border) !important;padding:12px 14px !important;border-radius:8px !important;min-height:44px;box-shadow:inset 0 1px 3px rgba(0,0,0,.1);transition:border-color .2s,box-shadow .2s}#flowcal-stripe-card-element.StripeElement--focus{border-color:var(--fc-accent) !important;box-shadow:0 0 0 3px rgba(108,92,231,.15) !important}#flowcal-stripe-error,#flowcal-square-error{color:var(--fc-danger) !important;font-size:12px !important;margin-top:6px !important;font-weight:500}#flowcal-payment-summary{background:rgba(108,92,231,.08) !important;border:1px solid rgba(108,92,231,.2) !important;color:var(--fc-accent2) !important}.flowcal-collapsible-card .flowcal-card-title{cursor:pointer;user-select:none;transition:color .2s ease;display:flex;justify-content:space-between;align-items:center}.flowcal-collapsible-card .flowcal-card-title:hover{color:var(--fc-accent2)}.flowcal-collapsible-card .flowcal-toggle-icon{transition:transform .3s cubic-bezier(.4,0,.2,1),color .2s ease;color:var(--fc-muted)}.flowcal-collapsible-card .flowcal-card-title:hover .flowcal-toggle-icon{color:var(--fc-accent2)}.flowcal-collapsible-card .flowcal-card-content{max-height:1200px;opacity:1;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,padding .3s ease}.flowcal-collapsible-card.collapsed .flowcal-card-content{max-height:0;opacity:0;pointer-events:none}.flowcal-collapsible-card.collapsed .flowcal-toggle-icon{transform:rotate(-180deg)}.flowcal-settings-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;margin-bottom:24px}@media (max-width:768px){.flowcal-settings-layout{grid-template-columns:1fr}}.flowcal-settings-tabs{display:flex;flex-direction:column;gap:8px}@media (max-width:768px){.flowcal-settings-tabs{flex-direction:row;overflow-x:auto;padding-bottom:8px;border-bottom:1px solid var(--fc-border)}}.flowcal-settings-tab-btn{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--fc-surface);border:1px solid var(--fc-border);border-radius:8px;color:var(--fc-muted);font-family:var(--fc-font);font-weight:600;font-size:14px;cursor:pointer;text-align:left;transition:all .2s ease}.flowcal-settings-tab-btn:hover{color:var(--fc-text);border-color:var(--fc-border-hover);background:var(--fc-surface2)}.flowcal-settings-tab-btn.active{background:var(--fc-accent);color:#fff;border-color:var(--fc-accent);box-shadow:0 4px 12px rgba(108,92,231,.2)}.flowcal-settings-tab-btn.active .dashicons{color:#fff}.flowcal-settings-tab-btn .dashicons{font-size:18px;transition:color .2s}.flowcal-settings-panels{min-width:0}.flowcal-settings-panel{display:none;animation:flowcalFadeIn .3s ease}.flowcal-settings-panel.active{display:block}@keyframes flowcalFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}