.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}.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:20px}.form-group label{display:block;margin-bottom:8px;color:#000;font-weight:500;font-size:14px;font-family:Google Sans,Roboto,Arial,sans-serif}.form-group input{width:100%;padding:10px 12px;border:1px solid #000;border-radius:4px;font-size:14px;transition:border-color .2s;font-family:Roboto,Arial,sans-serif;background:#fff;color:#000;pointer-events:auto;cursor:text}.form-group input:focus{outline:none;border-color:#1a73e8;border-width:2px;box-shadow:0 0 0 2px rgba(26,115,232,.1)}.form-group input.error{border-color:#000;border-width:2px}.error-message{display:block;color:#000;font-size:12px;margin-top:4px}.selected-slot{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;border:2px solid #1a73e8;border-radius:4px;color:#1a73e8;font-size:14px}.clear-slot{background:transparent;color:#1a73e8;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background-color .2s}.clear-slot:hover{background-color:#fff;border:1px solid #1a73e8}.slot-placeholder{padding:10px 12px;background:#fff;border:1px dashed #000;border-radius:4px;color:#000;text-align:center;font-size:14px;font-style:italic;opacity:.6}.submit-button{width:100%;padding:12px 24px;background:#1a73e8;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:8px;font-family:Google Sans,Roboto,Arial,sans-serif}.submit-button:hover:not(:disabled){background-color:#1557b0;box-shadow:0 1px 3px rgba(0,0,0,.12)}.submit-button:disabled{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}.month-calendar-panel{width:100%}}