@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap);.login-container{align-items:center;background-color:var(--background-color);display:flex;justify-content:center;min-height:100vh}.login-card{background-color:var(--card-color);border-radius:8px;box-shadow:0 4px 6px var(--shadow-color);max-width:400px;padding:2rem;text-align:center;width:100%}.logo-container{display:flex;justify-content:center;margin-bottom:1rem}.login-logo{height:auto;max-width:90px}.login-card p{color:var(--text-secondary);margin-bottom:2rem}.form-group{text-align:left}.form-group input{border:1px solid var(--border-color);border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.form-group input.error{border-color:var(--error-color)}.error-message{color:var(--error-color);font-size:.875rem;margin-bottom:1rem;margin-top:.25rem}.forgot-password{margin-bottom:1.5rem;text-align:right}.forgot-password a{color:var(--primary-color);font-size:.875rem}.login-button{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;font-size:1rem;font-weight:500;padding:.75rem;transition:background-color .2s ease;width:100%}.login-button:hover{background-color:var(--primary-dark)}.login-button:disabled{background-color:var(--text-secondary);cursor:not-allowed}.forgot-password-container{align-items:center;background-color:var(--background-color);display:flex;justify-content:center;min-height:100vh}.forgot-password-card{background-color:var(--card-color);border-radius:8px;box-shadow:0 4px 6px var(--shadow-color);max-width:400px;padding:2rem;width:100%}.forgot-password-card h2{color:var(--primary-color);margin-bottom:1.5rem;text-align:center}.success-message{margin-bottom:1rem}.submit-button{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;font-size:1rem;font-weight:500;margin-top:1rem;padding:.75rem;transition:background-color .2s ease;width:100%}.submit-button:hover{background-color:var(--primary-dark)}.submit-button:disabled{background-color:var(--text-secondary);cursor:not-allowed}.back-to-login{margin-top:1.5rem;text-align:center}.back-to-login a{color:var(--primary-color)}.appointments-list{background-color:var(--card-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);padding:1.5rem}.appointments-title{font-size:1rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase}.appointment-item{align-items:center;background-color:#f5f5f5;border-left:4px solid var(--primary-color);border-radius:0 4px 4px 0;cursor:pointer;display:flex;margin-bottom:.75rem;padding:.75rem;transition:background-color .2s}.appointment-item:hover{background-color:#e3f2fd}.appointment-time{font-weight:600;margin-right:1rem;min-width:60px}.appointment-details{flex:1 1}.appointment-title{font-weight:500}.appointment-client,.appointments-empty{color:var(--text-secondary)}.appointments-empty{padding:2rem;text-align:center}.notification-list{background-color:var(--card-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);overflow:hidden}.notification-item{border-bottom:1px solid var(--border-color);padding:1rem 1.5rem}.notification-item:last-child{border-bottom:none}.notification-date{color:var(--text-secondary);font-size:.75rem;margin-bottom:.25rem}.notification-content{font-size:.875rem}.empty-notification{background-color:var(--card-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);color:var(--text-secondary);padding:2rem;text-align:center}.dashboard-container{padding-bottom:2rem}.dashboard-sections{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:992px){.dashboard-sections{grid-template-columns:1fr}}.dashboard-section{background-color:var(--card-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);padding:1.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-title{color:var(--text-primary);font-size:1.25rem;font-weight:600}.calendar-link,.view-all-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.875rem;font-weight:500}.notification-filter{align-items:flex-end;background-color:var(--card-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:var(--text-primary);font-size:.875rem;font-weight:500}.filter-group input{border:1px solid var(--border-color);border-radius:4px;padding:.5rem}.apply-filter-button{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;font-weight:500;height:38px;padding:.5rem 1rem;transition:background-color .2s ease}.apply-filter-button:hover{background-color:var(--primary-dark)}.notifications-container{padding-bottom:2rem}.month-selector{align-items:center;background-color:var(--card-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem 1.5rem}.month-nav{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:1.5rem}:root{--funcional-color:#3498db;--funcional-light:#d6eaf8;--musculacion-color:#9b59b6;--musculacion-light:#e8daef;--cardio-color:#4361ee;--cardio-light:#d8e2fd;--evaluacion-color:#16a085;--evaluacion-light:#d1f2eb}.calendar-grid-container{background-color:#fff;background-color:var(--card-color);border-radius:10px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;box-shadow:var(--shadow-md);margin-bottom:2rem;padding:1.5rem}.calendar-header{color:#2d3748;color:var(--text-primary);display:grid;font-weight:600;grid-template-columns:repeat(7,1fr);margin-bottom:1rem;text-align:center}.calendar-day-header{font-size:.875rem;padding:.5rem}.calendar-grid{grid-gap:8px;display:grid;gap:8px;grid-auto-rows:minmax(110px,auto);grid-template-columns:repeat(7,1fr)}.calendar-day{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;min-height:110px;padding:.5rem;transition:all .2s ease;transition:var(--transition)}.calendar-day:hover{box-shadow:0 1px 3px #0000000d;box-shadow:var(--shadow-sm)}.calendar-day.empty{background-color:#f8fafc;border-color:#edf2f7}.calendar-day.other-month{background-color:#f8fafc;color:#718096;color:var(--text-secondary)}.calendar-day.today{border-color:#4361ee;border-color:var(--primary-color);box-shadow:0 0 0 1px #d8e2fd;box-shadow:0 0 0 1px var(--primary-light)}.day-number{color:#2d3748;color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:.5rem}.day-appointments{display:flex;flex-direction:column;gap:4px}.day-appointment{align-items:center;border-radius:4px;color:#2d3748;color:var(--text-primary);cursor:pointer;display:flex;font-size:.75rem;justify-content:space-between;overflow:hidden;padding:4px 8px;position:relative;text-overflow:ellipsis;transition:all .2s ease;transition:var(--transition);white-space:nowrap}.day-appointment.appointment-funcional{background-color:#d6eaf8;background-color:var(--funcional-light);color:#3498db;color:var(--funcional-color)}.day-appointment.appointment-musculacion{background-color:#e8daef;background-color:var(--musculacion-light);color:#9b59b6;color:var(--musculacion-color)}.day-appointment.appointment-cardio{background-color:#d8e2fd;background-color:var(--cardio-light);color:#4361ee;color:var(--cardio-color)}.day-appointment.appointment-evaluacion{background-color:#d1f2eb;background-color:var(--evaluacion-light);color:#16a085;color:var(--evaluacion-color)}.day-appointment:hover{filter:brightness(.95);transform:translateY(-1px)}.attendance-indicator{border-radius:50%;display:block;height:8px;margin-left:4px;width:8px}.attendance-indicator.attended{background-color:#2ec27e;background-color:var(--success-color)}.attendance-indicator.not-attended{background-color:#f44336;background-color:var(--danger-color)}.day-appointment.attended{border-left:3px solid #2ec27e;border-left:3px solid var(--success-color)}.day-appointment.not-attended{border-left:3px solid #f44336;border-left:3px solid var(--danger-color)}.appointment-title{flex:1 1;overflow:hidden;text-overflow:ellipsis}.more-appointments{background-color:#f8fafc;border-radius:4px;color:#718096;color:var(--text-secondary);cursor:pointer;font-size:.75rem;margin-top:4px;padding:2px;text-align:center}.more-appointments:hover{background-color:#edf2f7}.appointment-modal{filter:drop-shadow(0 4px 6px rgba(0,0,0,.1)) drop-shadow(0 1px 3px rgba(0,0,0,.05));position:absolute;width:280px;z-index:1000}.appointment-modal-arrow{border-bottom:8px solid #fff;border-left:8px solid #0000;border-right:8px solid #0000;height:0;left:20px;position:absolute;top:-8px;width:0}.appointment-modal-content{background-color:#fff;border-radius:8px;overflow:hidden}.appointment-modal-header{align-items:center;background-color:#d8e2fd;background-color:var(--primary-light);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);color:#4361ee;color:var(--primary-color);display:flex;padding:1rem}.appointment-modal-header.appointment-funcional{background-color:#d6eaf8;background-color:var(--funcional-light);color:#3498db;color:var(--funcional-color)}.appointment-modal-header.appointment-musculacion{background-color:#e8daef;background-color:var(--musculacion-light);color:#9b59b6;color:var(--musculacion-color)}.appointment-modal-header.appointment-cardio{background-color:#d8e2fd;background-color:var(--cardio-light);color:#4361ee;color:var(--cardio-color)}.appointment-modal-header.appointment-evaluacion{background-color:#d1f2eb;background-color:var(--evaluacion-light);color:#16a085;color:var(--evaluacion-color)}.appointment-modal-icon{margin-right:.5rem}.appointment-modal-title{font-size:1rem;font-weight:600;margin:0}.appointment-modal-body{padding:1rem}.appointment-client{color:#2d3748;color:var(--text-primary);font-size:.875rem;margin:0 0 1rem}.appointment-actions{display:flex;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.attendance-button{align-items:center;border:none;border-radius:20px;cursor:pointer;display:flex;flex:1 1;font-size:.75rem;font-weight:600;justify-content:center;padding:.5rem;transition:all .2s ease;transition:var(--transition)}.attendance-button.attended{background-color:#def7ec;background-color:var(--success-light);color:#2ec27e;color:var(--success-color)}.attendance-button.attended:hover{background-color:#2ec27e33}.attendance-button.attended.active{background-color:#2ec27e;background-color:var(--success-color);color:#fff}.attendance-button.not-attended{background-color:#fee2e0;background-color:var(--danger-light);color:#f44336;color:var(--danger-color)}.attendance-button.not-attended:hover{background-color:#f4433633}.attendance-button.not-attended.active{background-color:#f44336;background-color:var(--danger-color);color:#fff}.attendance-button .attendance-icon{margin-right:4px}.attendance-button.disabled{cursor:not-allowed;opacity:.6}.calendar-link{align-items:center;background-color:#f8fafc;border-radius:6px;color:#718096;color:var(--text-secondary);display:flex;font-size:.75rem;font-weight:500;justify-content:center;padding:.5rem;text-decoration:none;transition:all .2s ease;transition:var(--transition)}.calendar-link:hover{background-color:#edf2f7;color:#4361ee;color:var(--primary-color)}.calendar-link-icon{margin-right:4px}.calendar-container{margin:0 auto;max-width:1200px;padding-bottom:2rem}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.page-title{color:#2d3748;margin:0}.calendar-action{align-items:center;background-color:#fff;border:1px solid #4361ee;border:1px solid var(--primary-color);border-radius:6px;color:#4361ee;color:var(--primary-color);display:flex;font-size:.875rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease;transition:var(--transition)}.calendar-action:hover{background-color:#4361ee;background-color:var(--primary-color);box-shadow:0 1px 3px #0000000d;box-shadow:var(--shadow-sm);color:#fff}.action-icon{margin-right:.5rem}.month-navigation{border-radius:10px;border-radius:var(--border-radius);box-shadow:0 1px 3px #0000000d;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:.75rem}.month-nav-button,.month-navigation{align-items:center;background-color:#fff;display:flex;justify-content:center}.month-nav-button{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:50%;color:#718096;color:var(--text-secondary);cursor:pointer;height:36px;transition:all .2s ease;transition:var(--transition);width:36px}.month-nav-button:hover{background-color:#d8e2fd;background-color:var(--primary-light);color:#4361ee;color:var(--primary-color)}.current-month{color:#2d3748;color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 1.5rem;text-transform:capitalize}.today-appointments{background-color:#fff;border-radius:10px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;box-shadow:var(--shadow-md);margin-top:2rem;padding:1.5rem}.today-title{color:#2d3748;color:var(--text-primary);font-size:1.1rem;margin-bottom:1rem;margin-top:0;padding-left:1rem;position:relative}.today-title:before{background-color:#4361ee;background-color:var(--primary-color);border-radius:2px;content:"";height:18px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.loading-state{background-color:#fff;border-radius:10px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;box-shadow:var(--shadow-md);flex-direction:column;height:300px;padding:2rem}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #d8e2fd;border-top-color:#4361ee;border:3px solid var(--primary-light);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin-bottom:1rem;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error-state{align-items:center;background-color:#fff;border-radius:10px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;box-shadow:var(--shadow-md);color:#f44336;color:var(--danger-color);display:flex;flex-direction:column;padding:2rem}.retry-button{background-color:#4361ee;background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;margin-top:1rem;padding:.5rem 1rem;transition:all .2s ease;transition:var(--transition)}.retry-button:hover{background-color:#3a53d1;background-color:var(--primary-dark)}.client-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.client-card{background-color:var(--card-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);color:var(--text-primary);display:block;padding:1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.client-card:hover{box-shadow:0 4px 8px var(--shadow-color);transform:translateY(-4px)}.client-name{color:var(--primary-color);font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.client-info{color:var(--text-secondary);font-size:.875rem}.client-info-item{align-items:center;display:flex;margin-bottom:.5rem}.client-info-icon{font-size:1rem;margin-right:.5rem}.empty-client-list{color:var(--text-secondary);grid-column:1/-1;padding:2rem;text-align:center}.client-search-bar,.empty-client-list{background-color:var(--card-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color)}.client-search-bar{margin-bottom:1.5rem;padding:1rem 1.5rem}.search-input{border:1px solid var(--border-color);border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.clients-container{padding-bottom:2rem}.clients-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.new-client-button{background-color:var(--primary-color);border-radius:4px;color:#fff;display:inline-block;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.new-client-button:hover{background-color:var(--primary-dark)}:root{--primary-color:#4361ee;--primary-light:#d8e2fd;--primary-dark:#3a53d1;--success-color:#2ec27e;--success-light:#def7ec;--danger-color:#f44336;--danger-light:#fee2e0;--text-primary:#2d3748;--text-secondary:#718096;--text-light:#a0aec0;--border-color:#e2e8f0;--border-radius:10px;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 6px #0000000d,0 1px 3px #0000001a;--shadow-lg:0 10px 15px #00000008,0 4px 6px #0000000d;--transition:all 0.2s ease}.client-detail-container{margin:0 auto;max-width:700px;padding-bottom:2rem}.client-detail-card{background-color:#fff;background-color:var(--card-color);border-radius:10px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;box-shadow:var(--shadow-md);margin:0 auto;overflow:hidden}.client-detail-title{background-color:#4361ee;background-color:var(--primary-color);color:#fff;font-size:1.25rem;font-weight:600;margin:0;padding:1.5rem;text-align:center}.client-detail-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{align-items:center;color:#2d3748;display:flex;font-size:.875rem;font-weight:600}.field-icon{color:#4361ee;color:var(--primary-color);margin-right:.5rem}.field-value{background-color:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;color:#2d3748;color:var(--text-primary);font-size:.95rem;min-height:40px;padding:.875rem}.message-content{min-height:100px;white-space:pre-line}.editable-field{position:relative}.editable-field input,.editable-field textarea{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;color:#2d3748;color:var(--text-primary);font-size:.95rem;padding:.875rem;transition:all .2s ease;transition:var(--transition);width:100%}.editable-field input:focus,.editable-field textarea:focus{border-color:#4361ee;border-color:var(--primary-color);box-shadow:0 0 0 3px #4361ee26;outline:none}.editable-field textarea{min-height:100px;resize:vertical}.edit-icon{color:#a0aec0;color:var(--text-light);position:absolute;right:10px;top:10px}.textarea-icon{top:10px}.files-group{margin-top:2rem}.files-header{justify-content:space-between;margin-bottom:.5rem}.add-file-button,.files-header{align-items:center;display:flex}.add-file-button{background-color:#d8e2fd;background-color:var(--primary-light);border:none;border-radius:50%;color:#4361ee;color:var(--primary-color);cursor:pointer;height:30px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:30px}.add-file-button:hover{background-color:#4361ee;background-color:var(--primary-color);color:#fff}.files-list{display:flex;flex-direction:column;gap:.5rem}.file-item{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;display:flex;justify-content:space-between;padding:.875rem;transition:all .2s ease;transition:var(--transition)}.file-item:hover{background-color:#fff}.file-item.new-file,.file-item:hover{border-color:#4361ee;border-color:var(--primary-color)}.file-item.new-file{background-color:#d8e2fd;background-color:var(--primary-light)}.file-name{color:#2d3748;color:var(--text-primary);font-size:.95rem}.remove-file-button{align-items:center;background:none;border:none;border-radius:50%;color:#f44336;color:var(--danger-color);cursor:pointer;display:flex;font-size:1.125rem;height:28px;justify-content:center;transition:all .2s ease;transition:var(--transition);width:28px}.remove-file-button:hover{background-color:#fee2e0;background-color:var(--danger-light)}.client-actions{display:flex;justify-content:space-between;margin-top:2rem}.edit-button,.save-button{background-color:#4361ee;background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 2rem;transition:all .2s ease;transition:var(--transition)}.edit-button:hover,.save-button:hover{background-color:#3a53d1;background-color:var(--primary-dark);box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;box-shadow:var(--shadow-md)}.cancel-button,.delete-button{background-color:initial;border:1px solid;border-radius:6px;cursor:pointer;font-weight:500;padding:.75rem 2rem;transition:all .2s ease;transition:var(--transition)}.delete-button{border-color:#f44336;border-color:var(--danger-color);color:#f44336;color:var(--danger-color)}.delete-button:hover{background-color:#f44336;background-color:var(--danger-color);color:#fff}.cancel-button{border-color:#e2e8f0;border-color:var(--border-color);color:#718096}.cancel-button:hover{background-color:#f8fafc}.client-tabs{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex}.tab-button{background:none;border:none;color:#718096;color:var(--text-secondary);cursor:pointer;flex:1 1;font-weight:500;padding:1rem .5rem;position:relative;text-align:center;transition:all .2s ease;transition:var(--transition)}.tab-button span{position:relative;z-index:2}.tab-button.active,.tab-button:hover{color:#4361ee;color:var(--primary-color)}.tab-button.active{font-weight:600}.tab-button.active:after{background-color:#4361ee;background-color:var(--primary-color);border-radius:3px 3px 0 0;bottom:-1px;content:"";height:3px;left:25%;position:absolute;width:50%}.tab-content{padding:1.5rem}.tab-title{color:#2d3748;color:var(--text-primary);display:inline-block;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;margin-top:0;position:relative}.tab-title:after{background-color:#4361ee;background-color:var(--primary-color);border-radius:3px;bottom:-8px;content:"";height:3px;left:0;position:absolute;width:40px}.loading-tab{align-items:center;color:#718096;color:var(--text-secondary);display:flex;height:200px;justify-content:center}.empty-list-message{align-items:center;display:flex;height:150px;justify-content:center}.empty-list-message,.no-files-message{background-color:#f8fafc;border:1px dashed #e2e8f0;border:1px dashed var(--border-color);border-radius:6px;color:#718096;color:var(--text-secondary);font-style:italic}.no-files-message{padding:1rem;text-align:center}.history-item{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 1px 3px #0000000d;box-shadow:var(--shadow-sm);margin-bottom:1rem;overflow:hidden;transition:all .2s ease;transition:var(--transition)}.history-item:hover{box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.history-item-header{align-items:center;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.875rem 1rem}.history-item-date{align-items:center;color:#2d3748;color:var(--text-primary);display:flex;font-size:.875rem;font-weight:600}.history-item-icon{color:#4361ee;color:var(--primary-color);margin-right:.5rem}.history-item-content{padding:1.125rem}.appointment-status{border-radius:50px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.status-attended{background-color:#def7ec;background-color:var(--success-light);color:#2ec27e;color:var(--success-color)}.status-missed{background-color:#fee2e0;background-color:var(--danger-light);color:#f44336;color:var(--danger-color)}.appointment-type{color:#2d3748;color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:.5rem}.appointment-trainer{color:#718096;color:var(--text-secondary);font-size:.875rem;margin-bottom:.75rem}.appointment-notes{background-color:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;margin-top:.75rem;padding:.75rem}.notification-message{color:#2d3748;color:var(--text-primary);font-size:.95rem;white-space:pre-line}.error-state,.loading-state{align-items:center;background-color:#fff;border-radius:10px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:300px;justify-content:center;padding:2rem}.error-state button{background-color:#4361ee;background-color:var(--primary-color);border-radius:6px;cursor:pointer;font-weight:500;margin-top:1rem}.client-form{background-color:var(--card-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);padding:1.5rem}.form-section{margin-bottom:2rem}.file-upload,.files-group{margin-top:1rem}.upload-button{background-color:initial;border:1px dashed var(--primary-color);border-radius:4px;color:var(--primary-color);font-weight:500;padding:.5rem 1rem;transition:all .2s}.upload-button:hover{background-color:#e3f2fd}.file-name{flex:1 1}.remove-file{align-items:center;background:none;border:none;color:var(--error-color);cursor:pointer;display:flex;font-size:1.25rem;justify-content:center}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.cancel-button,.save-button{padding:.5rem 1.5rem}.new-client-container,.settings-container{padding-bottom:2rem}.settings-card{background-color:var(--card-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);overflow:hidden}.settings-section{padding:1.5rem}.settings-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.settings-header h2{font-size:1.25rem;font-weight:600;margin:0}.edit-button{align-items:center;background-color:initial;border:1px solid var(--primary-color);border-radius:4px;color:var(--primary-color);cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.edit-button:hover{background-color:#e3f2fd}.edit-actions{display:flex;gap:1rem}.cancel-button{align-items:center;background-color:initial;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.cancel-button:hover{background-color:#f5f5f5}.save-button{align-items:center;background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.save-button:hover{background-color:var(--primary-dark)}.settings-form{display:flex;flex-direction:column;gap:1.25rem}.form-group,.form-group label{margin-bottom:.5rem}.form-group label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:500}.settings-input,.settings-textarea{background-color:#f5f5f5;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.settings-textarea{font-family:inherit;min-height:120px;resize:vertical}.settings-value{background-color:#f5f5f5;border-radius:4px;min-height:40px;padding:.75rem}.welcome-message{min-height:120px;white-space:pre-line}.map-container{border-radius:4px;box-shadow:0 1px 3px #0000001a;margin:1rem 0 1.5rem;overflow:hidden}.map-placeholder{align-items:center;background-color:#f5f5f5;color:var(--text-secondary);display:flex;height:200px;justify-content:center;overflow:hidden;position:relative;width:100%}.map-caption{background-color:#f9f9f9;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.8rem;padding:.5rem;text-align:center}.static-map{align-items:center;background-color:#e9f5f9;background-image:linear-gradient(90deg,#f0f8ff,#e6f2ff);color:var(--text-primary);display:flex;flex-direction:column;height:100%;justify-content:center;width:100%}.map-pin{font-size:2.5rem;margin-bottom:.5rem}.map-text{font-weight:500;padding:0 1rem;text-align:center}.sidebar{background-color:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;transition:all .3s ease;width:240px;z-index:100}.sidebar.collapsed{width:60px}.sidebar-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.logo{font-weight:600;margin:0}.logo,.toggle-button{color:#4361ee;font-size:1.5rem}.toggle-button{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.toggle-button:hover{background-color:#f0f7ff}.sidebar-menu{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:1.25rem 0}.sidebar-menu a{align-items:center;border-radius:8px;color:#718096;display:flex;margin-bottom:.5rem;margin-left:.5rem;margin-right:.5rem;padding:.875rem 1rem;text-decoration:none;transition:all .2s ease}.sidebar-menu a:hover{background-color:#f0f7ff;color:#4361ee;transform:translateY(-1px)}.sidebar-menu a.active{background-color:#4361ee;box-shadow:0 4px 12px #4361ee26;color:#fff;font-weight:500}.sidebar-footer{border-top:1px solid #e2e8f0;margin-top:auto;padding:1.25rem 1.5rem}.logout-button{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;display:flex;font-family:inherit;padding:.875rem;text-align:left;transition:all .2s ease;width:100%}.logout-button:hover{background-color:#fee2e0;border-color:#f44336;color:#f44336}.icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:1.25rem;height:24px;justify-content:center;margin-right:8px;width:24px}.sidebar.collapsed .logo{display:none}.sidebar.collapsed .sidebar-menu a{justify-content:center;margin-left:.5rem;margin-right:.5rem;padding:.875rem;text-align:center}.sidebar.collapsed .sidebar-footer{padding:1.25rem .75rem}.sidebar.collapsed .logout-button{justify-content:center;padding:.875rem}.sidebar.collapsed .menu-text{display:none}.sidebar.collapsed .icon{font-size:1.5rem;margin-right:0}.menu-text{display:inline-block;font-weight:500;overflow:hidden;vertical-align:middle;white-space:nowrap}@media (max-width:768px){.sidebar{background-color:#fff;box-shadow:none;height:100%;left:-280px;overflow:hidden;position:fixed;top:0;transition:left .3s ease,width 0s;width:0;z-index:1001}.sidebar.expanded{box-shadow:0 5px 20px #00000026;left:0;overflow:auto;width:280px}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:1000}.sidebar-overlay.visible{opacity:1;visibility:visible}.sidebar-header{background:linear-gradient(90deg,#f0f7ff,#fafafa);padding:1.5rem}.toggle-button{background-color:#fff;border-radius:10px;box-shadow:0 2px 6px #0000000d;height:40px;width:40px}.sidebar-menu a{align-items:center;border-radius:10px;display:flex;font-size:1.1rem;justify-content:flex-start;margin-bottom:.5rem;margin-left:.75rem;margin-right:.75rem;padding:1rem}.icon{font-size:1.35rem;height:28px;margin-right:8px;width:28px}.sidebar.expanded .menu-text{display:inline-block;vertical-align:middle}.sidebar-menu a.active{box-shadow:0 4px 15px #4361ee33}.sidebar-footer{padding:1.5rem}.logout-button{align-items:center;background-color:#fff;border-radius:10px;box-shadow:0 2px 5px #00000008;display:flex;font-size:1.1rem;justify-content:flex-start;padding:1rem}.sidebar.expanded .logout-button .menu-text,.sidebar.expanded .sidebar-menu a .menu-text{display:inline-block;opacity:1;vertical-align:middle;visibility:visible}.sidebar.expanded .sidebar-menu a{align-items:center}.sidebar.expanded .logout-button,.sidebar.expanded .sidebar-menu a{display:flex;justify-content:flex-start!important;padding-left:1.25rem;padding-right:1.25rem;text-align:left!important}}.app-header{background-color:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 4px #00000005;justify-content:space-between;padding:1rem 2rem}.app-header,.header-content{align-items:center;display:flex}.header-content{justify-content:flex-end;width:100%}.user-info{align-items:center;background-color:#f8f9fa;border-radius:50px;display:flex;padding:.5rem 1rem;transition:all .2s ease}.user-info:hover{background-color:#f0f7ff}.user-name{color:#2d3748;font-size:.95rem;font-weight:600}.mobile-menu-toggle{display:none}@media (max-width:768px){.app-header{box-shadow:0 2px 8px #0000000d;padding:.875rem 1.25rem;position:sticky;top:0;z-index:999}.mobile-menu-toggle{-webkit-tap-highlight-color:transparent;align-items:center;background-color:#f0f7ff;border:none;border-radius:10px;box-shadow:0 2px 5px #00000008;color:#4361ee;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;margin-right:1rem;transition:all .2s ease;width:40px}.mobile-menu-toggle:active{background-color:#d8e2fd;transform:scale(.95)}.user-info{padding:.4rem .875rem}.user-name{font-size:.9rem}}.layout-container{min-height:100vh}.layout-container,.main-content{background-color:#f8f9fa;display:flex}.main-content{flex:1 1;flex-direction:column;overflow-x:hidden;transition:transform .3s ease-in-out}.page-content{flex:1 1;padding:2rem}@media (max-width:768px){.layout-container{flex-direction:column}.main-content{margin-left:0;position:relative;width:100%}.page-content{padding:1rem}.content-pushed{transform:none}}:root{--primary-color:#1976d2;--primary-dark:#1565c0;--primary-light:#bbdefb;--secondary-color:#f50057;--success-color:#4caf50;--warning-color:#ff9800;--error-color:#f44336;--text-primary:#212121;--text-secondary:#757575;--background-color:#f5f5f5;--card-color:#fff;--border-color:#e0e0e0;--shadow-color:#0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;background-color:var(--background-color);color:#212121;color:var(--text-primary);font-family:Poppins,sans-serif;font-size:16px;line-height:1.5}a{color:#1976d2;color:var(--primary-color);text-decoration:none}ul{list-style:none}button{cursor:pointer}button,input,select,textarea{font-family:Poppins,sans-serif}.page-title{color:#212121;color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.loading-state{align-items:center;display:flex;height:200px;justify-content:center}.error-state{background-color:#fff3f3;border:1px solid #f8d7da;border-radius:4px;margin:1rem 0;padding:1rem;text-align:center}.error-state p{color:#f44336;color:var(--error-color);margin-bottom:.5rem}.error-state button{background-color:#f44336;background-color:var(--error-color);border:none;border-radius:4px;color:#fff;padding:.5rem 1rem}.success-message{background-color:#e8f5e9;border:1px solid #c8e6c9;border-radius:4px;color:#4caf50;color:var(--success-color);margin:1rem 0;padding:1rem;text-align:center}
/*# sourceMappingURL=main.c8a29f6b.css.map*/