body{font-family:'EB Garamond',serif;background-color:#f4f4f9;margin:0;padding:0}#cas-appointment-form{margin:20px auto;padding:20px;max-width:600px;background:#fff;border-radius:12px;box-shadow:0 8px 16px rgb(0 0 0 / .2);font-family:'EB Garamond',serif;transition:transform 0.3s ease,box-shadow 0.3s ease;position:relative}#cas-appointment-form:hover{transform:scale(1.02);box-shadow:0 12px 24px rgb(0 0 0 / .3)}#cas-appointment-form label{font-weight:700;margin-bottom:10px;color:#333;font-size:18px}.no-slots-warning{background-color:#fef8e8;border:1px solid #fbeac2;border-radius:6px;padding:10px;margin-bottom:15px;text-align:center;color:#856404}.no-slots-warning p{margin:5px 0}#calendar-container{margin-bottom:20px;position:relative}#calendar-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;margin-bottom:15px}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.cas-loading-animation{text-align:center;padding:20px}.cas-loading-spinner{border:4px solid rgb(0 0 0 / .1);border-radius:50%;border-top:4px solid #006eff;width:40px;height:40px;animation:cas-spin 1s linear infinite;margin:0 auto 10px}@keyframes cas-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.spinner{border:4px solid rgb(0 0 0 / .1);width:36px;height:36px;border-radius:50%;border-left-color:#09f;animation:spinner-spin 1s linear infinite;margin-bottom:10px}@keyframes spinner-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#appointment-panel{background-color:#f9f9f9;border:1px solid #e0e0e0;padding:15px;border-radius:4px;margin:15px 0}.appointment-panel-content{font-size:16px;line-height:1.5}.appointment-panel-content p{margin-bottom:15px}#panel-specialty,#panel-time{font-weight:700;color:#0073aa}#available-slots{margin-top:15px;margin-bottom:15px}.slots-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.slot-item{padding:8px 12px;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all 0.2s}.slot-item:hover{background-color:#e0e0e0}.slot-item.selected{background-color:#0073aa;color:#fff;border-color:#006291}#cas-appointment-form select,#cas-appointment-form button,#calendar-input{width:100%;padding:12px;margin-bottom:20px;border:1px solid #ccc;border-radius:6px;font-size:16px;font-family:'EB Garamond',serif;transition:border-color 0.3s ease,box-shadow 0.3s ease}#cas-appointment-form select:focus,#cas-appointment-form button:focus,#calendar-input:focus{border-color:#015782;box-shadow:0 0 8px rgb(0 123 255 / .5);outline:none}#cas-appointment-form button{background-color:#015782;color:#fff;border:none;cursor:pointer;font-size:18px;transition:background-color 0.3s ease,transform 0.2s ease}#cas-appointment-form button:hover{background-color:#0056b3;transform:translateY(-2px)}#cas-appointment-form button:active{transform:translateY(0)}#cas-appointment-form .dropdown{display:none;opacity:0;transition:opacity 0.5s ease}#cas-appointment-form .dropdown.visible{display:block;opacity:1}#cas-appointment-form .fase{display:none}#cas-appointment-form .fase.ativa{display:block}#cas-appointment-form .botao-next{background-color:#015782;color:#fff;border:none;cursor:pointer;transition:background-color 0.3s ease}#cas-appointment-form .botao-next:hover{background-color:#07132b}#cas-appointment-form .calendar-trigger{background-color:#015782;color:#fff;border:none;cursor:pointer;padding:10px 15px;transition:background-color 0.3s ease;margin-bottom:10px}#cas-appointment-form .calendar-trigger:hover{background-color:#07132b}button.disabled{background-color:#d3d3d3;color:#a9a9a9;cursor:not-allowed;opacity:.6}@media (max-width:768px){#cas-appointment-form{padding:15px;max-width:90%}#cas-appointment-form label{font-size:16px}#cas-appointment-form select,#cas-appointment-form button,#calendar-input{font-size:14px}#cas-appointment-form button{font-size:16px}}#intro-text{font-size:24px;font-weight:700;color:#333;margin-bottom:30px;text-align:center}#calendar-container{margin-top:10px;text-align:center;position:relative}#calendar-input{width:100%;padding:12px;font-size:16px;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 4px rgb(0 0 0 / .1);transition:border-color 0.3s ease}#calendar-input:focus{border-color:#015782;outline:none}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;margin:15px 0}#initial-loading{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgb(255 255 255 / .9);z-index:100;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:12px}.spinner{width:40px;height:40px;border:4px solid rgb(0 0 0 / .1);border-radius:50%;border-top-color:#015782;animation:spin 1s linear infinite;margin-bottom:10px}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner p{margin:5px 0 0 0;color:#333;font-size:16px}#appointment-panel{background-color:#f8f9fa;border-radius:8px;padding:20px;margin-top:20px;box-shadow:0 2px 4px rgb(0 0 0 / .1);border-left:4px solid #28a745;text-align:left;transition:all 0.3s ease;animation:fadeIn 0.5s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.appointment-panel-content{display:flex;flex-direction:column;align-items:flex-start}.appointment-panel-content p{margin:0 0 15px 0;font-size:18px;color:#333;line-height:1.4}#panel-specialty,#panel-time{font-weight:700;color:#28a745}.book-button{background-color:#015782;color:#fff;border:none;border-radius:6px;padding:12px 30px;font-size:18px;font-weight:700;cursor:pointer;transition:all 0.3s ease;margin-top:15px;align-self:center;box-shadow:0 4px 8px rgb(0 0 0 / .2);text-transform:uppercase;letter-spacing:.5px;width:100%;max-width:300px;display:block;margin-left:auto;margin-right:auto}.book-button:hover{background-color:#015782;transform:translateY(-3px);box-shadow:0 6px 12px rgb(0 0 0 / .25)}.book-button:active{transform:translateY(0);box-shadow:0 2px 4px rgb(0 0 0 / .15)}.available-slots-container{margin-top:15px;margin-bottom:15px;padding:10px;background-color:#f9f9f9;border-radius:6px;border-left:3px solid #015782}.available-slots-container h4{margin-top:0;margin-bottom:10px;color:#333;font-size:16px}.slots-list{display:flex;flex-wrap:wrap;gap:8px}.slot-item{padding:5px 10px;background-color:#eaf5ea;border-radius:4px;cursor:pointer;font-size:14px;border:1px solid #d4e9d4;transition:all 0.2s ease}.slot-item:hover{background-color:#28a745;color:#fff}.slot-item.selected{background-color:#28a745;color:#fff;font-weight:700}#calendar-wrapper .flatpickr-calendar{max-width:480px;margin:16px auto;background:#fff;border:1px solid #ddd;border-radius:8px;padding:16px;box-shadow:0 4px 12px rgb(0 0 0 / .08)}#calendar-wrapper .flatpickr-calendar .flatpickr-months{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}#calendar-wrapper .flatpickr-calendar .flatpickr-prev-month,#calendar-wrapper .flatpickr-calendar .flatpickr-next-month{font-size:1.25rem;color:#555}#calendar-wrapper .flatpickr-calendar .flatpickr-current-month{display:flex;align-items:center;gap:.5rem}#calendar-wrapper .flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months{min-width:160px}#calendar-wrapper .flatpickr-calendar .flatpickr-current-month .numInputWrapper{min-width:90px}#calendar-wrapper .flatpickr-calendar .flatpickr-weekdaycontainer{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}#calendar-wrapper .flatpickr-calendar .flatpickr-weekday{text-align:center;color:#666;font-weight:600}#calendar-wrapper .flatpickr-calendar .flatpickr-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;justify-items:center}#calendar-wrapper .flatpickr-calendar .flatpickr-day{width:34px;height:34px;line-height:34px;text-align:center;border-radius:6px;transition:background 0.2s,color 0.2s}#calendar-wrapper .flatpickr-calendar .flatpickr-day:hover:not(.disabled){background:#015782;color:#fff}#calendar-wrapper .flatpickr-calendar .flatpickr-day.today{border:2px solid #015782;color:#015782}#calendar-wrapper .flatpickr-calendar .flatpickr-day.selected{background:#015782;color:#fff}#calendar-wrapper .flatpickr-calendar .flatpickr-day.disabled{color:#ccc!important;opacity:0.5!important}#calendar-wrapper>.flatpickr-calendar{max-width:480px!important;margin:20px auto!important}#calendar-wrapper>.flatpickr-calendar .flatpickr-months{display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;margin-bottom:12px!important}#calendar-wrapper>.flatpickr-calendar .flatpickr-prev-month,#calendar-wrapper>.flatpickr-calendar .flatpickr-next-month{flex:0 0 auto!important;font-size:1.25rem!important;color:#555!important}#calendar-wrapper>.flatpickr-calendar .flatpickr-current-month{flex:1 1 auto!important;display:flex!important;justify-content:center!important;gap:8px!important}#calendar-wrapper>.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months{min-width:140px!important}#calendar-wrapper>.flatpickr-calendar .flatpickr-current-month .numInputWrapper{width:60px!important}#calendar-wrapper>.flatpickr-calendar .flatpickr-weekdaycontainer{display:grid!important;grid-template-columns:repeat(7,1fr)!important;margin-bottom:8px!important}#calendar-wrapper>.flatpickr-calendar .flatpickr-days{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:6px!important;justify-items:center!important}#calendar-container{text-align:center;margin:20px 0}.flatpickr-calendar{margin:auto;border-radius:8px;box-shadow:0 4px 12px rgb(0 0 0 / .15);background:#fff;max-width:600px;padding:0}.flatpickr-months{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:12px}.flatpickr-prev-month,.flatpickr-next-month{width:32px;height:32px;color:#333}.flatpickr-current-month{display:flex;gap:8px;align-items:center;justify-content:center}.flatpickr-monthDropdown-months,.flatpickr-input,.flatpickr-year{padding:4px 8px;border:1px solid #dfe4ea;border-radius:4px;background:#f9f9f9;color:#333;font-size:14px;height:auto}.flatpickr-weekdaycontainer{display:grid;grid-template-columns:repeat(7,1fr);padding:0 12px}.flatpickr-weekday{text-align:center;font-weight:600;color:#555;padding:8px 0}.flatpickr-days{display:grid;grid-template-columns:repeat(7,1fr);padding:12px;gap:4px}.flatpickr-day{text-align:center;padding:8px;border-radius:4px;color:#333}.flatpickr-day:hover{background:#f0f0f0}.flatpickr-day.today{border-color:#3498db}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:#3498db;color:#fff;border-color:#3498db}.flatpickr-day.inRange{background:rgb(52 152 219 / .2)}.flatpickr-calendar{text-align:left}.flatpickr-months{margin-bottom:0}.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month .flatpickr-year{max-width:none}