:root{--primary-color: #104566;--primary-hover-color: #0d3a56;--accent-color: #c12b2b;--background-color: #f4f7f9;--card-background-color: #ffffff;--card-inner-background: #f8f9fa;--text-color: #212529;--text-light-color: #6c757d;--border-color: #dee2e6;--border-radius: 8px;--box-shadow: 0 4px 12px rgba(0, 0, 0, .1);--font-family: "Roboto", "Inter", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--background-color);color:var(--text-color);line-height:1.6}#root{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--card-background-color);border-bottom:1px solid var(--border-color)}.app-header .logo{height:40px}.language-switcher{display:flex;align-items:center;gap:.5rem;color:var(--text-light-color)}.language-switcher button{background:none;border:none;color:var(--text-light-color);padding:.25rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s ease;font-weight:700;font-size:.9rem}.language-switcher button.active{background-color:var(--primary-color);color:#fff}.language-switcher button:not(.active):hover{color:var(--text-color)}.app-main{flex-grow:1;display:flex;justify-content:center;align-items:flex-start;padding:4rem 1rem}.card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);width:100%;max-width:950px;overflow:hidden;display:flex;flex-direction:column}.card-header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.card-header h2{margin-top:.5rem;font-size:1.75rem;font-weight:700}.card-header>p:not(.step-indicator){margin-top:.5rem;color:var(--text-light-color)}.step-indicator{color:var(--text-light-color);font-size:.9rem;font-weight:500}.card-body{padding:1.5rem;flex-grow:1}.meeting-options-container{display:flex;flex-direction:column;border-radius:var(--border-radius);overflow:hidden;border:1px solid var(--border-color)}.option-button{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;cursor:pointer;transition:background-color .2s ease;background-color:var(--card-background-color);border:none;text-align:left;color:inherit;font-family:inherit;width:100%}.option-button:first-child{border-bottom:1px solid var(--border-color)}.option-button:hover{background-color:var(--card-inner-background)}.option-button .icon{font-size:1.5rem;color:var(--primary-color);width:24px;text-align:center}.option-button .option-details h3{font-size:1.1rem;font-weight:500;margin-bottom:.25rem;color:var(--text-color)}.option-button .option-details p{color:var(--text-light-color);font-size:.9rem}.datetime-picker{display:grid;grid-template-columns:1fr;gap:2rem}.calendar{width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-header span{font-weight:700;font-size:1.2rem}.calendar-header button{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:0 .5rem;color:var(--text-color)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;text-align:center}.day-name{font-weight:700;color:var(--text-light-color);font-size:.9rem}.day-number{background:none;border:2px solid transparent;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all .2s ease;margin:0 auto;color:var(--text-color)}.day-number:not(.disabled):hover{background-color:var(--card-inner-background)}.day-number.today{border-color:var(--text-light-color)}.day-number.selected{background-color:var(--primary-color);color:#fff}.day-number.disabled{color:var(--border-color);cursor:not-allowed}.time-selector h4{margin-bottom:1rem;font-weight:500;text-align:center}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;max-height:250px;overflow-y:auto;padding:.5rem}.time-slot{padding:.75rem;border:1px solid var(--primary-color);color:var(--primary-color);background-color:transparent;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s ease}.time-slot:hover,.time-slot.selected{background-color:var(--primary-color);color:#fff}.card-footer{padding:1rem 1.5rem;display:flex;justify-content:space-between;border-top:1px solid var(--border-color);background-color:var(--card-inner-background)}button{font-family:var(--font-family);font-size:1rem;font-weight:500}.button-primary{background-color:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;transition:background-color .2s ease;text-decoration:none;display:inline-block;text-align:center}.button-primary:hover:not(:disabled){background-color:var(--primary-hover-color)}.button-primary:disabled{background-color:var(--card-inner-background);cursor:not-allowed;opacity:.7;color:var(--text-light-color)}.button-secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;text-align:center}.button-secondary:hover{background-color:var(--card-inner-background);border-color:var(--text-light-color)}.confirmation-card{max-width:500px;text-align:center}.confirmation-card .card-header{border-bottom:none}.confirmation-card .icon.large{font-size:4rem;color:#28a745}.details-box{background-color:var(--card-inner-background);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;text-align:left;margin-top:1rem}.details-box h4{margin-bottom:1rem;font-size:1.2rem}.details-box p{margin-bottom:.5rem;color:var(--text-light-color);word-break:break-word}.details-box p strong{color:var(--text-color)}.details-box p:last-child{margin-bottom:0}.meet-link-container{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.meet-link-container a{color:var(--primary-color);font-weight:500}.copy-button{background:transparent;border:1px solid var(--border-color);padding:.5rem 1rem;font-size:.9rem;border-radius:4px;cursor:pointer;transition:all .2s ease;width:100px;margin-top:.25rem}.copy-button:hover{background:var(--border-color)}.confirmation-card .card-footer{justify-content:center;background:var(--card-inner-background);display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.time-grid::-webkit-scrollbar{width:8px}.time-grid::-webkit-scrollbar-track{background:var(--card-inner-background);border-radius:4px}.time-grid::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:4px}.time-grid::-webkit-scrollbar-thumb:hover{background-color:var(--text-light-color)}.appointment-details{background-color:var(--card-inner-background);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem 1.5rem;margin-bottom:2rem}.appointment-details p{color:var(--text-color);font-size:1rem;display:flex;align-items:center}.appointment-details p:first-child{margin-bottom:.5rem}.form-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-weight:500;color:var(--text-color)}.form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;font-family:var(--font-family);transition:border-color .2s ease,box-shadow .2s ease;background-color:var(--card-background-color);color:var(--text-color)}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #10456633}@media(min-width:768px){.datetime-picker{grid-template-columns:minmax(400px,1.2fr) 1fr;align-items:flex-start}.time-selector h4{text-align:left}.meeting-options-container{flex-direction:row}.option-button:first-child{border-right:1px solid var(--border-color);border-bottom:none}.form-grid{grid-template-columns:1fr 1fr;gap:1rem 1.5rem}.form-group.full-width{grid-column:1 / -1}.confirmation-card .card-footer{flex-direction:row;justify-content:center}}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:400px;text-align:center;font-size:1.2rem;color:var(--text-light-color)}.spinner{border:5px solid var(--border-color);border-top:5px solid var(--primary-color);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
