.google-appointment-container{min-height:100vh;background:#fff;display:flex;flex-direction:column}.appointment-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;border-bottom:1px solid #000;background:#fff}.header-left{display:flex;align-items:center;gap:12px}.lisa-logo{height:48px;width:auto;object-fit:contain;display:block}.user-avatar{width:40px;height:40px;border-radius:50%;background:#1a73e8;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:16px}.user-name{font-size:14px;color:#000;font-weight:400}.header-right{text-align:right}.appointment-title{font-size:22px;font-weight:400;color:#000;margin-bottom:8px;font-family:Google Sans,Roboto,Arial,sans-serif}.appointment-details{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.detail-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#000}.detail-item .icon{color:#000;flex-shrink:0}.toast{position:fixed;top:20px;right:20px;z-index:10000;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:300px;max-width:500px;animation:slideInRight .3s ease-out;font-family:Google Sans,Roboto,Arial,sans-serif}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.toast-success{background-color:#fff;border:2px solid #34a853;color:#202124}.toast-success .toast-icon{color:#34a853;flex-shrink:0}.toast-error{background-color:#fff;border:2px solid #ea4335;color:#202124}.toast-error .toast-icon{color:#ea4335;flex-shrink:0}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.toast-message{flex:1 1;font-size:14px;font-weight:400;line-height:1.4;color:#202124}.toast-close{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#5f6368;border-radius:4px;transition:all .2s;flex-shrink:0;width:24px;height:24px}.toast-close:hover{background-color:rgba(0,0,0,.05);color:#202124}.toast-close:active{background-color:rgba(0,0,0,.1)}.alert{margin:16px 32px;padding:12px 16px;border-radius:4px;font-size:14px}.alert-success{border:2px solid #1a73e8}.alert-error,.alert-success{background-color:#fff;color:#000}.alert-error{border:2px solid #000}.booking-container{flex:1 1;display:flex;gap:0;padding:0}.calendar-section{flex:1 1;padding:24px 32px}.form-section{width:400px;border-left:1px solid #000;overflow-y:auto}.appointment-scheduler,.form-section{padding:24px 32px;background:#fff}.scheduler-title-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.scheduler-title{font-size:22px;font-weight:400;color:#000;margin:0;font-family:Google Sans,Roboto,Arial,sans-serif}.timezone-info{font-size:12px;color:#000}.scheduler-content{display:flex;gap:32px;align-items:flex-start}.month-calendar-panel{width:320px;flex-shrink:0;padding:20px;background:#fff;border-radius:8px;border:1px solid #e0e0e0;box-sizing:border-box}.month-header{justify-content:space-between;margin-bottom:20px;padding:0 4px}.month-header,.month-nav-arrow{display:flex;align-items:center}.month-nav-arrow{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:50%;color:#5f6368;justify-content:center;transition:all .2s;width:36px;height:36px}.month-nav-arrow:hover{background-color:#f1f3f4;color:#000}.month-year-text{font-size:17px;font-weight:500;color:#202124;font-family:Google Sans,Roboto,Arial,sans-serif;flex:1 1;text-align:center}.day-headers-row{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px;margin-bottom:12px;padding:0}.day-header-cell{text-align:center;font-size:12px;font-weight:600;color:#5f6368;padding:8px 0;font-family:Google Sans,Roboto,Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:3px;gap:3px;background:transparent;border:none;border-radius:0;padding:0;box-sizing:border-box}.calendar-day{aspect-ratio:1;min-height:40px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:400;color:#000;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:4px;position:relative;transition:all .2s ease}.calendar-day:hover:not(.other-month):not(.selected-day){background-color:#e8f0fe;border:2px solid #1a73e8;color:#1a73e8;font-weight:500}.calendar-day.other-month{color:#bdbdbd;background-color:#fafafa;border-color:#f0f0f0;cursor:default}.calendar-day.other-month:hover{background-color:#fafafa;border-color:#f0f0f0;transform:none}.calendar-day.has-slots{color:#1a73e8;font-weight:500}.calendar-day.has-slots:not(.selected-day):after{content:"";position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background-color:#1a73e8;z-index:1}.calendar-day.selected-day{color:#fff;font-weight:600;background-color:#1a73e8;border-color:#1a73e8;z-index:1;box-shadow:0 2px 4px rgba(26,115,232,.3)}.calendar-day.selected-day:after{display:none}.calendar-day.today:not(.selected-day){font-weight:600;border:2px solid #1a73e8;background-color:#fff}.calendar-day.today:not(.selected-day):after{content:"";position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background-color:#1a73e8;z-index:1}.time-slots-panel{flex:1 1;min-width:0}.week-navigation{gap:16px;margin-bottom:16px}.week-nav-arrow,.week-navigation{display:flex;align-items:center;justify-content:center}.week-nav-arrow{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:50%;color:#000;transition:background-color .2s}.week-nav-arrow:hover{background-color:#fff;border:1px solid #000}.current-day-indicator{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background-color:#1a73e8;color:#fff;flex-direction:column;font-weight:500}.day-letter{font-size:12px;line-height:1}.day-number{font-size:16px;line-height:1;margin-top:2px}.week-days-header{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:0;gap:0;margin-bottom:16px;border-bottom:1px solid #000;padding-bottom:12px}.week-day-header{text-align:center;font-size:12px;color:#000;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s;font-weight:500;line-height:1.4}.week-day-header:hover:not(.no-slots){background-color:#fff;border:1px solid #1a73e8}.week-day-header.selected{color:#1a73e8;font-weight:500}.week-day-header.no-slots{color:#000;cursor:default;opacity:.5}.time-slots-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;align-items:start}.time-slot-column{display:flex;flex-direction:column;gap:8px;min-height:200px}.time-slot-button{padding:8px 12px;background:#fff;border:1px solid #000;border-radius:20px;font-size:13px;color:#1a73e8;cursor:pointer;transition:all .2s;text-align:center;font-weight:500;white-space:nowrap}.time-slot-button:hover:not(:disabled){background-color:#fff;border-color:#1a73e8;border-width:2px}.time-slot-button.selected{background-color:#1a73e8;color:#fff;border-color:#1a73e8}.time-slot-button:disabled{opacity:.3;cursor:not-allowed;border-color:#000}.no-availability{text-align:center;color:#000;font-size:14px;padding:8px;opacity:.5}.booking-form{background:#fff;border-radius:8px;padding:0}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;color:#202124;font-weight:500;font-size:14px;font-family:Google Sans,Roboto,Arial,sans-serif;line-height:1.4}.form-group label:after{content:" *";color:#ea4335;font-weight:600}.form-group input{width:100%;padding:12px 16px;border:1px solid #dadce0;border-radius:8px;font-size:15px;transition:all .2s ease;font-family:Roboto,Arial,sans-serif;background:#fff;color:#202124;pointer-events:auto;cursor:text;box-sizing:border-box}.form-group input::placeholder{color:#9aa0a6;opacity:1}.form-group input:hover{border-color:#80868b}.form-group input:focus{outline:none;border-color:#1a73e8;border-width:2px;box-shadow:0 0 0 4px rgba(26,115,232,.1);background:#fff}.form-group input.error{border-color:#ea4335;border-width:2px;background:#fff}.form-group input.error:focus{border-color:#ea4335;box-shadow:0 0 0 4px rgba(234,67,53,.1)}.error-message{display:block;color:#ea4335;font-size:13px;margin-top:6px;font-weight:400;font-family:Roboto,Arial,sans-serif}.selected-slot{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#e8f0fe;border:2px solid #1a73e8;border-radius:8px;font-size:14px}.clear-slot,.selected-slot{color:#1a73e8;font-weight:500}.clear-slot{background:transparent;border:1px solid transparent;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s ease;white-space:nowrap}.clear-slot:hover{background-color:rgba(26,115,232,.1);border-color:#1a73e8}.slot-placeholder{padding:12px 16px;background:#f8f9fa;border:1px dashed #dadce0;border-radius:8px;color:#5f6368;text-align:center;font-size:14px;font-style:normal}.submit-button{width:100%;padding:14px 24px;background:#1a73e8;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:8px;font-family:Google Sans,Roboto,Arial,sans-serif;box-shadow:0 1px 2px rgba(0,0,0,.1)}.submit-button:hover:not(:disabled){background-color:#1557b0;box-shadow:0 2px 4px rgba(0,0,0,.15);transform:translateY(-1px)}.submit-button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.1)}.submit-button:disabled{background-color:#dadce0;color:#80868b;box-shadow:none;transform:none;opacity:.6;cursor:not-allowed}.appointment-footer{padding:24px 32px;border-top:1px solid #000;background:#fff;display:flex;flex-direction:column;gap:8px;align-items:center}.footer-links,.footer-text{font-size:12px;color:#000}.footer-links{text-align:center}.footer-links a{color:#1a73e8;text-decoration:none}.footer-links a:hover{text-decoration:underline}.feedback-button{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:#000;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.feedback-button:hover{background-color:#fff;border:1px solid #000}@media (max-width:1024px){.booking-container{flex-direction:column}.form-section{width:100%;border-left:none;border-top:1px solid #000}.scheduler-content{flex-direction:column;gap:24px}.month-calendar-panel{width:100%;max-width:100%}.time-slots-panel{width:100%}}@media (max-width:768px){.toast{top:16px;right:16px;left:16px;min-width:auto;max-width:none;padding:12px 16px}.toast-message{font-size:13px}.toast-close,.toast-icon{width:20px;height:20px}.appointment-header{flex-direction:column;align-items:flex-start;padding:16px 20px;gap:16px}.header-left{width:100%}.lisa-logo{height:40px}.header-right{text-align:left;width:100%}.appointment-title{font-size:18px;margin-bottom:12px}.appointment-details{align-items:flex-start;gap:8px}.detail-item{font-size:12px}.alert{margin:12px 16px;padding:10px 14px;font-size:13px}.booking-container{flex-direction:column}.calendar-section{padding:16px 20px}.form-section{padding:20px;border-top:1px solid #dadce0}.scheduler-title-section{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:20px}.scheduler-title{font-size:18px}.timezone-info{font-size:11px}.scheduler-content{flex-direction:column;gap:20px}.month-calendar-panel{padding:16px;width:100%}.month-header{margin-bottom:16px}.month-year-text{font-size:15px}.month-nav-arrow{width:44px;height:44px;padding:8px;touch-action:manipulation}.day-headers-row{margin-bottom:10px}.day-header-cell{font-size:11px;padding:6px 0}.calendar-days-grid{gap:2px}.calendar-day{min-height:40px;height:40px;font-size:13px;touch-action:manipulation}.time-slots-panel{width:100%;overflow-x:auto}.week-navigation{margin-bottom:12px;gap:12px}.current-day-indicator{width:40px;height:40px}.day-letter{font-size:11px}.day-number{font-size:14px}.week-days-header{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.week-days-header::-webkit-scrollbar{display:none}.week-day-header{min-width:60px;flex-shrink:0;padding:10px 8px;font-size:11px}.time-slots-grid{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.time-slots-grid::-webkit-scrollbar{display:none}.time-slot-column{min-width:100px;flex-shrink:0}.time-slot-button{padding:12px 14px;font-size:12px;white-space:nowrap;width:100%;min-height:44px;touch-action:manipulation}.form-group{margin-bottom:20px}.form-group label{font-size:13px;margin-bottom:6px}.form-group input{padding:11px 14px;font-size:14px}.selected-slot{padding:10px 14px;font-size:13px;flex-direction:column;align-items:flex-start;gap:8px}.clear-slot{align-self:flex-end;padding:6px 12px;font-size:12px}.submit-button{padding:14px 24px;font-size:14px;min-height:48px;touch-action:manipulation}.appointment-footer{padding:20px 16px;gap:12px}.footer-links,.footer-text{font-size:11px;text-align:center}.feedback-button{font-size:11px;padding:6px 10px}}@media (max-width:480px){.toast{top:12px;right:12px;left:12px;padding:10px 14px}.toast-message{font-size:12px}.toast-close,.toast-icon{width:18px;height:18px}.appointment-header{padding:12px 16px}.lisa-logo{height:36px}.appointment-title{font-size:16px}.detail-item{font-size:11px}.alert{margin:10px 12px;padding:8px 12px;font-size:12px}.calendar-section{padding:12px 16px}.form-section{padding:16px}.month-calendar-panel{padding:12px}.calendar-day{min-height:36px;height:36px;font-size:12px;touch-action:manipulation}.day-header-cell{font-size:10px;padding:4px 0}.month-year-text{font-size:14px}.week-day-header{min-width:50px;padding:8px 6px;font-size:10px}.time-slot-column{min-width:90px}.time-slot-button{padding:8px 12px;font-size:11px}.form-group input{padding:10px 12px;font-size:14px}.submit-button{padding:12px 20px;font-size:14px}.appointment-footer{padding:16px 12px}}