*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}.app{width:100%;min-height:100vh}.custom-calendar{width:100%!important;border:none!important;font-family:inherit!important}.custom-calendar .react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.custom-calendar .react-calendar__navigation button{color:#217c46;min-width:44px;background:none;font-size:16px;font-weight:600}.custom-calendar .react-calendar__navigation button:enabled:hover,.custom-calendar .react-calendar__navigation button:enabled:focus{background-color:#e6f3e6}.custom-calendar .react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font-weight:700;font-size:.75em;color:#666}.custom-calendar .react-calendar__month-view__days__day{color:#333}.custom-calendar .react-calendar__month-view__days__day--weekend{color:#d10000}.custom-calendar .react-calendar__month-view__days__day:enabled:hover,.custom-calendar .react-calendar__month-view__days__day:enabled:focus{background-color:#e6f3e6}.custom-calendar .react-calendar__tile--active{background:#37bf72!important;color:#fff!important}.custom-calendar .react-calendar__tile--active:enabled:hover,.custom-calendar .react-calendar__tile--active:enabled:focus{background:#2ea863!important}@media (max-width: 480px){.app{font-size:13px;padding:10px}input,button{font-size:16px;padding:10px 12px}.pagination-controls{flex-direction:column!important;gap:15px!important}.pagination-controls button{font-size:12px!important;padding:8px 10px!important}}@media (min-width: 481px) and (max-width: 768px){.app{font-size:14px;padding:15px}input,button{font-size:16px;padding:12px 15px}}@media (min-width: 769px) and (max-width: 1024px){.app{font-size:15px;padding:20px}}@media (min-width: 1025px){.app{font-size:16px}}.login-container,.register-container{width:100%;max-width:450px;padding:20px}@media (max-width: 480px){.login-container,.register-container{padding:20px 15px;margin:10px;border-radius:10px}.login-title,.register-title{font-size:1.8rem!important;margin-bottom:25px!important}.form-field{margin-bottom:15px!important}.form-button{padding:12px 15px!important;font-size:15px!important}}@media (min-width: 481px) and (max-width: 768px){.login-container,.register-container{padding:30px 25px;margin:15px}.login-title,.register-title{font-size:2.2rem!important}}.calendar-container{width:100%;overflow-x:auto}.calendar-title{text-align:left;margin:0 0 30px;color:#fff;fontSize:3.2rem;font-weight:800}@media (max-width: 768px){.calendar-title{font-size:2.2rem!important;text-align:center!important}.calendar-header{flex-direction:column!important;gap:15px!important;padding:15px!important}.calendar-controls{flex-wrap:wrap!important;gap:10px!important}.calendar-controls>*{flex:1 1 auto;min-width:120px}.fc-toolbar{flex-direction:column!important;gap:10px!important}.fc-toolbar-chunk{display:flex;justify-content:center;flex-wrap:wrap}.fc-button-group .fc-button{padding:6px 8px!important;font-size:12px!important}.fc-daygrid-event{font-size:11px!important}.fc-timegrid-event{font-size:10px!important}.fc-button[title=Settimana]{display:none!important}.fc-timegrid-day-frame{min-height:600px!important}.fc-timegrid-slot{height:30px!important}.fc-timegrid-slot-label{font-size:10px!important;padding:2px!important}}@media (max-width: 480px){.calendar-title{font-size:1.8rem!important}.calendar-controls select,.calendar-controls input{font-size:14px!important;padding:8px!important}.fc-button-group .fc-button{padding:4px 6px!important;font-size:11px!important}.fc-toolbar-title{font-size:1.2rem!important}}.responsive-table{width:100%;overflow-x:auto}.responsive-table table{min-width:600px}@media (max-width: 768px){.responsive-table table{font-size:14px}.responsive-table th,.responsive-table td{padding:8px 4px!important}.table-actions{display:flex;flex-direction:column;gap:5px}.table-actions button{font-size:12px!important;padding:4px 8px!important}}.popup-overlay{padding:20px}.popup-content{width:100%;max-width:500px;margin:0 auto}@media (max-width: 768px){.popup-content{width:95%!important;max-width:none!important;margin:0!important;min-width:unset!important}.popup-title{font-size:1.3rem!important}.popup-form{gap:15px!important}.popup-buttons{flex-direction:column!important;gap:10px!important}.popup-buttons button{width:100%!important}.calendar-header h1{font-size:2rem!important}.welcome-section{flex-direction:column!important;gap:10px!important;text-align:center!important}.admin-button{font-size:12px!important;padding:8px 12px!important}}@media (max-width: 480px){.popup-overlay{padding:10px}.popup-content{padding:20px!important;border-radius:10px!important}.popup-title{font-size:1.2rem!important;margin-bottom:15px!important}.calendar-header h1{font-size:1.6rem!important}}.nav-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.responsive-grid{display:grid;gap:20px}@media (max-width: 768px){.nav-buttons{flex-direction:column;align-items:center}.nav-buttons button{width:100%;max-width:200px}.responsive-grid{grid-template-columns:1fr!important;gap:15px!important}}@media (max-width: 480px){.responsive-grid{grid-template-columns:1fr!important;gap:10px!important;padding:10px}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}@media (max-width: 768px){.container{padding:0 15px}}@media (max-width: 480px){.container{padding:0 10px}}.text-center{text-align:center}.flex{display:flex}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-center{justify-content:center}.align-center{align-items:center}.gap-10{gap:10px}.gap-15{gap:15px}.gap-20{gap:20px}.mb-10{margin-bottom:10px}.mb-15{margin-bottom:15px}.mb-20{margin-bottom:20px}.p-10{padding:10px}.p-15{padding:15px}.p-20{padding:20px}
