:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#root{width:100%;min-height:100vh}.date-picker-wrapper{isolation:isolate;width:100%;position:relative}.date-picker-trigger{color:#111827;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:12px;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s;display:flex}.date-picker-trigger.dark{color:#fff;background:#1a1a1a;border-color:#3a3a3a}.date-picker-trigger:hover{border-color:#1e9df1}.date-picker-trigger:focus{border-color:#1e9df1;outline:none;box-shadow:0 0 0 4px #1e9df11a}.date-picker-trigger svg:last-child{margin-left:auto;transition:transform .2s}.date-picker-trigger svg:last-child.rotate{transform:rotate(180deg)}.date-picker-dropdown{z-index:1000;overscroll-behavior:contain;background:#fff;border:2px solid #e5e7eb;border-radius:16px;max-height:min(500px,100vh - 120px);padding:1.5rem;animation:.2s slideDown;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow-y:auto;box-shadow:0 10px 40px #00000026}.date-picker-dropdown.flip-up{animation:.2s slideUp;top:auto;bottom:calc(100% + .5rem)}.date-picker-dropdown.dark{background:#2a2a2a;border-color:#3a3a3a;box-shadow:0 10px 40px #00000080}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.date-picker-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.nav-button{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.date-picker-dropdown.dark .nav-button{color:#e5e7eb;background:#1a1a1a}.nav-button:hover{color:#111827;background:#e5e7eb}.date-picker-dropdown.dark .nav-button:hover{color:#fff;background:#3a3a3a}.month-year{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.date-picker-dropdown.dark .month-year{color:#fff}.quick-select{border-bottom:1px solid #e5e7eb;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:grid}.date-picker-dropdown.dark .quick-select{border-bottom-color:#3a3a3a}.quick-select-btn{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.date-picker-dropdown.dark .quick-select-btn{color:#e5e7eb;background:#1a1a1a;border-color:#3a3a3a}.quick-select-btn:hover{color:#fff;background:#1e9df1;border-color:#1e9df1}.calendar-grid{flex-direction:column;gap:.5rem;display:flex}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem;display:grid}.weekday{text-align:center;color:#6b7280;padding:.5rem;font-size:.75rem;font-weight:600}.date-picker-dropdown.dark .weekday{color:#9ca3af}.calendar-days{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.calendar-day{aspect-ratio:1;color:#374151;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.date-picker-dropdown.dark .calendar-day{color:#e5e7eb}.calendar-day:hover:not(.disabled):not(.other-month){color:#1e9df1;background:#f3f4f6}.date-picker-dropdown.dark .calendar-day:hover:not(.disabled):not(.other-month){color:#4db8ff;background:#3a3a3a}.calendar-day.today{color:#0369a1;background:#e0f2fe;font-weight:700}.date-picker-dropdown.dark .calendar-day.today{color:#4db8ff;background:#1e3a5f}.calendar-day.selected{color:#fff;background:#1e9df1;font-weight:700;box-shadow:0 2px 8px #1e9df14d}.calendar-day.other-month{color:#d1d5db}.date-picker-dropdown.dark .calendar-day.other-month{color:#4a4a4a}.calendar-day.disabled{opacity:.3;cursor:not-allowed}.calendar-day.empty{cursor:default}@media (max-width:480px){.date-picker-dropdown{max-width:100%;max-height:min(450px,100vh - 80px);padding:1rem;left:0;right:0;transform:none}.date-picker-dropdown.flip-up{transform:none}.quick-select{grid-template-columns:1fr}.calendar-days{-webkit-overflow-scrolling:touch;max-height:220px;overflow-y:auto}.calendar-day{padding:.5rem;font-size:.75rem}.date-picker-wrapper{overflow:visible}}.time-selector-wrapper{isolation:isolate;width:100%;position:relative}.time-selector-trigger{color:#111827;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:12px;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s;display:flex}.time-selector-trigger.dark{color:#fff;background:#1a1a1a;border-color:#3a3a3a}.time-selector-trigger:hover{border-color:#1e9df1}.time-selector-trigger:focus{border-color:#1e9df1;outline:none;box-shadow:0 0 0 4px #1e9df11a}.time-selector-trigger svg:last-child{margin-left:auto;transition:transform .2s}.time-selector-trigger svg:last-child.rotate{transform:rotate(180deg)}.time-selector-dropdown{z-index:1000;overscroll-behavior:contain;background:#fff;border:2px solid #e5e7eb;border-radius:16px;max-height:min(400px,100vh - 120px);padding:1.5rem;animation:.2s slideDown;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow-y:auto;box-shadow:0 10px 40px #00000026}.time-selector-dropdown.dark{background:#2a2a2a;border-color:#3a3a3a;box-shadow:0 10px 40px #00000080}.time-selector-tabs{border-bottom:1px solid #e5e7eb;gap:.5rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.time-selector-dropdown.dark .time-selector-tabs{border-bottom-color:#3a3a3a}.tab{color:#6b7280;cursor:pointer;background:#f9fafb;border:none;border-radius:8px;flex:1;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.time-selector-dropdown.dark .tab{color:#9ca3af;background:#1a1a1a}.tab:hover{color:#374151;background:#e5e7eb}.time-selector-dropdown.dark .tab:hover{color:#e5e7eb;background:#3a3a3a}.tab.active{color:#fff;background:#1e9df1;font-weight:600}.quick-time-options{flex-direction:column;gap:.5rem;display:flex}.quick-time-btn{color:#374151;text-align:left;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:.875rem 1rem;font-size:.9375rem;font-weight:500;transition:all .2s}.time-selector-dropdown.dark .quick-time-btn{color:#e5e7eb;background:#1a1a1a;border-color:#3a3a3a}.quick-time-btn:hover{color:#1e9df1;background:#f0f9ff;border-color:#1e9df1}.time-selector-dropdown.dark .quick-time-btn:hover{color:#4db8ff;background:#1e3a5f;border-color:#1e9df1}.quick-time-btn.selected{color:#fff;background:#1e9df1;border-color:#1e9df1;font-weight:600}.custom-time-picker{flex-direction:column;gap:1rem;display:flex}.time-inputs{align-items:flex-end;gap:.75rem;display:flex}.time-input-group{flex-direction:column;flex:1;gap:.5rem;display:flex}.time-input-group label{color:#374151;font-size:.8125rem;font-weight:600}.time-selector-dropdown.dark .time-input-group label{color:#e5e7eb}.time-select{color:#111827;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:10px;padding:.75rem;font-family:inherit;font-size:1rem;transition:all .2s}.time-selector-dropdown.dark .time-select{color:#fff;background:#1a1a1a;border-color:#3a3a3a}.time-select:focus{border-color:#1e9df1;outline:none;box-shadow:0 0 0 4px #1e9df11a}.apply-time-btn{color:#fff;cursor:pointer;background:#1e9df1;border:none;border-radius:10px;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.apply-time-btn:hover{background:#1a87d1;transform:translateY(-1px);box-shadow:0 4px 12px #1e9df14d}@media (max-width:480px){.time-selector-dropdown{max-width:100%;max-height:min(350px,100vh - 80px);padding:1rem;left:0;right:0;transform:none}.time-selector-dropdown.flip-up{transform:none}.time-inputs{flex-direction:column;gap:1rem}.time-input-group{width:100%}.quick-time-options{-webkit-overflow-scrolling:touch;max-height:180px;overflow-y:auto}.time-selector-wrapper{overflow:visible}}.scheduling-form-container{background:#fff;border-radius:20px;max-width:800px;margin:0 auto;padding:2.5rem;transition:all .3s;overflow:visible;box-shadow:0 4px 20px #00000014}.scheduling-form-container.dark{background:#1a1a1a;box-shadow:0 4px 20px #0000004d}.scheduling-form-header{text-align:center;margin-bottom:2.5rem}.header-icon{color:#fff;background:linear-gradient(135deg,#1e9df1 0%,#1a87d1 100%);border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.5rem;display:inline-flex;box-shadow:0 4px 12px #1e9df14d}.scheduling-form-header h1{color:#111827;margin-bottom:.75rem;font-size:2.25rem;font-weight:700;line-height:1.2}.scheduling-form-container.dark .scheduling-form-header h1{color:#fff}.scheduling-form-header p{color:#6b7280;margin:0;font-size:1.125rem;line-height:1.6}.scheduling-form-container.dark .scheduling-form-header p{color:#9ca3af}.scheduling-form-header strong{color:#1e9df1;font-weight:600}.scheduling-form-container.dark .scheduling-form-header strong{color:#4db8ff}.scheduling-form{flex-direction:column;gap:2rem;display:flex}.form-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px;padding:1.5rem;transition:all .3s}.scheduling-form-container.dark .form-section{background:#2a2a2a;border-color:#3a3a3a}.section-title{color:#111827;border-bottom:2px solid #e5e7eb;margin:0 0 1.5rem;padding-bottom:.75rem;font-size:1.25rem;font-weight:600}.scheduling-form-container.dark .section-title{color:#fff;border-bottom-color:#3a3a3a}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.form-group:last-child{margin-bottom:0}.form-group label{color:#374151;align-items:center;gap:.25rem;font-size:.9375rem;font-weight:600;display:flex}.scheduling-form-container.dark .form-group label{color:#e5e7eb}.form-group .required{color:#ef4444;font-weight:700}.form-group input,.form-group textarea{color:#111827;background:#fff;border:2px solid #d1d5db;border-radius:12px;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.scheduling-form-container.dark .form-group input,.scheduling-form-container.dark .form-group textarea{color:#fff;background:#1a1a1a;border-color:#3a3a3a}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.scheduling-form-container.dark .form-group input::placeholder,.scheduling-form-container.dark .form-group textarea::placeholder{color:#6b7280}.form-group input:focus,.form-group textarea:focus{border-color:#1e9df1;outline:none;box-shadow:0 0 0 4px #1e9df11a}.scheduling-form-container.dark .form-group input:focus,.scheduling-form-container.dark .form-group textarea:focus{box-shadow:0 0 0 4px #1e9df133}.form-group input.error,.form-group textarea.error{border-color:#ef4444;animation:.3s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.form-group input.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 4px #ef44441a}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.char-count{color:#9ca3af;text-align:right;margin-top:-.25rem;font-size:.75rem}.scheduling-form-container.dark .char-count{color:#6b7280}.error-message{color:#ef4444;align-items:center;gap:.25rem;margin-top:-.5rem;font-size:.875rem;display:flex}.error-message:before{content:"⚠";font-size:.875rem}.form-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.submit-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1e9df1 0%,#1a87d1 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:1rem 2.5rem;font-size:1.0625rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 12px #1e9df14d}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#1a87d1 0%,#1570a8 100%);transform:translateY(-2px);box-shadow:0 6px 20px #1e9df166}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){.scheduling-form-container{border-radius:16px;margin:1rem;padding:1.5rem}.scheduling-form-header h1{font-size:1.75rem}.scheduling-form-header p{font-size:1rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-section{padding:1.25rem}.submit-button{width:100%;padding:1rem}body{overflow-x:hidden}}@media (max-width:480px){.scheduling-form-container{margin:.5rem;padding:1.25rem}.header-icon{width:56px;height:56px}.scheduling-form-header h1{font-size:1.5rem}.scheduling-form-container,.form-group input,.form-group textarea{box-sizing:border-box;max-width:100%}}.invalid-link-container{background:linear-gradient(135deg,#f8fafc 0%,#e5e7eb 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;transition:background .3s;display:flex}.invalid-link-container.dark{background:linear-gradient(135deg,#0f0f0f 0%,#1a1a1a 100%)}.invalid-link-content{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:600px;padding:3rem 2rem;transition:all .3s;box-shadow:0 4px 20px #0000001a}.invalid-link-container.dark .invalid-link-content{background:#2a2a2a;box-shadow:0 4px 20px #00000080}.invalid-link-icon{color:#ef4444;justify-content:center;margin-bottom:1.5rem;display:flex}.invalid-link-content h1{color:#111827;margin-bottom:1rem;font-size:2rem;font-weight:700;transition:color .3s}.invalid-link-container.dark .invalid-link-content h1{color:#fff}.error-message{color:#6b7280;margin-bottom:2rem;font-size:1rem;line-height:1.6;transition:color .3s}.invalid-link-container.dark .error-message{color:#9ca3af}.invalid-link-actions{flex-direction:column;gap:1.5rem;margin-bottom:2rem;display:flex}.email-button{color:#fff;cursor:pointer;background:#1e9df1;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.email-button:hover{background:#1a87d1;transform:translateY(-1px);box-shadow:0 4px 12px #1e9df14d}.email-button:active{transform:translateY(0)}.email-button svg{width:20px;height:20px}.contact-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:all .3s}.invalid-link-container.dark .contact-info{background:#1a1a1a;border-color:#3a3a3a}.contact-label{color:#6b7280;margin-bottom:.5rem;font-size:.875rem;transition:color .3s}.invalid-link-container.dark .contact-label{color:#9ca3af}.contact-email{color:#1e9df1;margin-bottom:.25rem;font-size:1rem;font-weight:600;text-decoration:none;transition:color .2s;display:block}.contact-email:hover{color:#1a87d1;text-decoration:underline}.contact-name{color:#9ca3af;margin:.25rem 0 0;font-size:.875rem}.help-text{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem;transition:border-color .3s}.invalid-link-container.dark .help-text{border-top-color:#3a3a3a}.help-text p{color:#6b7280;margin:0;font-size:.875rem;line-height:1.6;transition:color .3s}.invalid-link-container.dark .help-text p{color:#9ca3af}@media (max-width:640px){.invalid-link-content{padding:2rem 1.5rem}.invalid-link-content h1{font-size:1.5rem}}.success-container{background:linear-gradient(135deg,#f8fafc 0%,#e5e7eb 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;transition:background .3s;display:flex}.success-container.dark{background:linear-gradient(135deg,#0f0f0f 0%,#1a1a1a 100%)}.success-content{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:500px;padding:3rem 2rem;transition:all .3s;box-shadow:0 4px 20px #0000001a}.success-container.dark .success-content{background:#2a2a2a;box-shadow:0 4px 20px #00000080}.success-icon{color:#10b981;justify-content:center;margin-bottom:1.5rem;display:flex}.success-content h1{color:#111827;margin-bottom:1rem;font-size:2rem;font-weight:700;transition:color .3s}.success-container.dark .success-content h1{color:#fff}.success-message{color:#374151;margin-bottom:.5rem;font-size:1rem;line-height:1.6;transition:color .3s}.success-container.dark .success-message{color:#e5e7eb}.success-submessage{color:#6b7280;margin:0;font-size:.875rem;transition:color .3s}.success-container.dark .success-submessage{color:#9ca3af}@media (max-width:640px){.success-content{padding:2rem 1.5rem}.success-content h1{font-size:1.5rem}}.theme-toggle{z-index:1000;color:#374151;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 2px 8px #0000001a}.theme-toggle.dark{color:#e5e7eb;background:#1a1a1a;border-color:#3a3a3a;box-shadow:0 2px 8px #0000004d}.theme-toggle:hover{border-color:#1e9df1;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.theme-toggle.dark:hover{border-color:#4db8ff;box-shadow:0 4px 12px #00000080}.theme-toggle:active{transform:translateY(0)}@media (max-width:768px){.theme-toggle{width:40px;height:40px;top:1rem;right:1rem}}*{box-sizing:border-box;margin:0;padding:0}:root[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--text-primary:#111827;--text-secondary:#374151;--text-tertiary:#6b7280;--border-color:#e5e7eb;--shadow:#0000001a;--gradient:linear-gradient(135deg,#f8fafc 0%,#e5e7eb 100%)}:root[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#2a2a2a;--bg-tertiary:#3a3a3a;--text-primary:#fff;--text-secondary:#e5e7eb;--text-tertiary:#9ca3af;--border-color:#3a3a3a;--shadow:#00000080;--gradient:linear-gradient(135deg,#0f0f0f 0%,#1a1a1a 100%)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--gradient);min-height:100vh;color:var(--text-primary);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;transition:background .3s,color .3s;position:relative;overflow-x:hidden}.app-container{min-height:100vh;padding:2rem 1rem;position:relative;overflow-x:hidden}.loading-container{background:var(--gradient);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100vh;display:flex}.loading-container p{color:var(--text-tertiary);font-size:1rem;font-weight:500}.loading-spinner{border:4px solid var(--border-color);border-top-color:#1e9df1;border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@media (max-width:640px){.app-container{padding:1rem .5rem}}
