.calendar-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1300;padding:20px}.calendar-modal{background:#fff;border-radius:12px;width:100%;max-width:1200px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease-out}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.calendar-header h2{margin:0;font-size:20px;color:#333}.btn-close{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close:hover:not(:disabled){background:#f5f5f5;color:#333}.btn-close:disabled{opacity:.5;cursor:not-allowed}.calendar-body{flex:1;overflow-y:auto;padding:20px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#999}.loading-container .spinner{font-size:48px;margin-bottom:16px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.calendar-controls button{padding:8px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.calendar-controls button:hover:not(:disabled){background:#2196f3;color:#fff;border-color:#2196f3}.calendar-controls button:disabled{opacity:.5;cursor:not-allowed}.week-range{font-weight:600;color:#333;min-width:200px;text-align:center}.fc{font-family:inherit;font-size:14px}.fc .fc-button-primary{background-color:#2196f3;border-color:#2196f3}.fc .fc-button-primary:hover{background-color:#1976d2}.fc .fc-timegrid-slot{height:3em}.fc .fc-col-header-cell{background:#f5f5f5;border-color:#e0e0e0;padding:12px 0;font-weight:600}.fc .fc-daygrid-day-number,.fc .fc-timegrid-slot{padding:4px}.fc .fc-event{cursor:pointer;border:1px solid rgba(0,0,0,.1)}.fc .fc-event:hover{opacity:.8}.fc-event-extendedprops-is_busy,.fc-event[data-is-busy=true]{opacity:.6;cursor:not-allowed!important}.calendar-legend{display:flex;gap:24px;margin-top:16px;padding:12px;border-top:1px solid #e0e0e0;justify-content:center}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.legend-color{width:16px;height:16px;border-radius:3px}.oauth-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center;min-height:300px;background:linear-gradient(135deg,#f5f5f5,#fafafa)}.error-icon{font-size:64px;margin-bottom:20px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.oauth-error-container h3{margin:0 0 10px;font-size:24px;color:#333}.oauth-error-container p{margin:0 0 30px;font-size:14px;color:#666;max-width:400px}.btn-oauth{padding:12px 32px;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #1976d24d}.btn-oauth:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1976d266;background:linear-gradient(135deg,#1565c0,#1454b4)}.btn-oauth:active{transform:translateY(0)}@media (max-width: 768px){.calendar-modal{max-height:95vh}.calendar-controls{flex-direction:column}.week-range{min-width:auto}.calendar-legend{flex-direction:column;gap:8px}}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1400}.confirm-dialog{background:#fff;border-radius:12px;padding:32px;width:90%;max-width:450px;box-shadow:0 12px 48px #0000004d;animation:slideUp .3s ease-out}.confirm-dialog h3{margin:0 0 24px;font-size:18px;color:#333}.confirm-field{margin-bottom:20px}.confirm-field label{display:block;font-weight:600;color:#555;margin-bottom:6px;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.confirm-value{padding:12px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;color:#333;font-weight:500}.confirm-field select{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.confirm-field select:hover{border-color:#2196f3}.confirm-field select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.confirm-field select:disabled{opacity:.6;cursor:not-allowed;background:#f5f5f5}.confirm-actions{display:flex;gap:12px;margin-top:28px}.confirm-actions button{flex:1;padding:12px 16px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.btn-cancel{background:#f5f5f5;color:#666;border:1px solid #ddd}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-confirm{background:#4caf50;color:#fff}.btn-confirm:hover:not(:disabled){background:#388e3c}.confirm-actions button:disabled{opacity:.6;cursor:not-allowed}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.voice-textarea-container,.descrizione-danno-container,.notes-container{position:relative;display:flex;flex-direction:column;gap:8px}.voice-textarea-wrapper,.descrizione-danno-wrapper,.notes-wrapper{position:relative;display:flex;flex-direction:column}.voice-textarea-textarea,.descrizione-danno-textarea,.notes-textarea{position:relative;width:100%;padding:10px;border:1px solid #d9d9d9;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;resize:vertical;transition:border-color .3s,box-shadow .3s;box-sizing:border-box}.voice-textarea-textarea:focus,.descrizione-danno-textarea:focus,.notes-textarea:focus{outline:none;border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff1a}.voice-textarea-textarea::placeholder,.descrizione-danno-textarea::placeholder,.notes-textarea::placeholder{color:#bfbfbf}.voice-textarea-mic-button-container,.descrizione-danno-mic-button-container,.notes-mic-button-container{position:absolute;right:8px;top:10px;display:flex;align-items:center;z-index:1}.voice-textarea-mic-btn,.descrizione-danno-mic-btn,.notes-mic-btn{width:36px;height:36px;border:none;border-radius:50%;background-color:#1890ff;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px #00000026;padding:0}.voice-textarea-mic-btn:hover:not(.listening),.descrizione-danno-mic-btn:hover:not(.listening),.notes-mic-btn:hover:not(.listening){background-color:#0050b3;box-shadow:0 4px 12px #0003;transform:scale(1.05)}.voice-textarea-mic-btn:active,.descrizione-danno-mic-btn:active,.notes-mic-btn:active{transform:scale(.95)}.voice-textarea-mic-btn.listening,.descrizione-danno-mic-btn.listening,.notes-mic-btn.listening{background-color:#ff4d4f;animation:pulse-red 1.2s infinite;box-shadow:0 0 #ff4d4fb3}.voice-textarea-mic-btn.initializing,.descrizione-danno-mic-btn.initializing,.notes-mic-btn.initializing{background-color:#1890ff;animation:pulse-blue 1.5s infinite;box-shadow:0 0 #1890ff80}@keyframes pulse-red{0%{box-shadow:0 0 #ff4d4fb3;opacity:1}50%{box-shadow:0 0 0 10px #ff4d4f00}to{box-shadow:0 0 #ff4d4f00;opacity:1}}@keyframes pulse-blue{0%{box-shadow:0 0 #1890ff80;opacity:.8}50%{box-shadow:0 0 0 8px #1890ff00;opacity:1}to{box-shadow:0 0 #1890ff80;opacity:.8}}.voice-textarea-speech-status,.descrizione-danno-speech-status,.notes-speech-status{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#e6f7ff;border:1px solid #91d5ff;border-radius:4px;font-size:13px;color:#0050b3;animation:slideDown .3s ease-out;font-weight:500}.voice-textarea-speech-status.initializing,.descrizione-danno-speech-status.initializing,.notes-speech-status.initializing{background:#f0f5ff;border:1px solid #adc6ff;color:#1890ff;animation:slideDown .3s ease-out,pulse-status-init 2s infinite}.voice-textarea-speech-status.listening-active,.descrizione-danno-speech-status.listening-active,.notes-speech-status.listening-active{background:#fff1f0;border:1px solid #ffccc7;color:#cf1322;animation:slideDown .3s ease-out,pulse-status-listen .8s infinite}@keyframes pulse-status-init{0%,to{opacity:.7}50%{opacity:1}}@keyframes pulse-status-listen{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}.voice-textarea-listening-dot,.descrizione-danno-listening-dot,.notes-listening-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#0050b3;animation:blink 1s infinite;transition:background-color .3s ease}.voice-textarea-speech-status.listening-active .voice-textarea-listening-dot,.descrizione-danno-speech-status.listening-active .descrizione-danno-listening-dot,.notes-speech-status.listening-active .notes-listening-dot{background:#cf1322;animation:blink-red .6s infinite}.voice-textarea-speech-status.initializing .voice-textarea-listening-dot,.descrizione-danno-speech-status.initializing .descrizione-danno-listening-dot,.notes-speech-status.initializing .notes-listening-dot{background:#1890ff;animation:blink-slow 1.5s infinite}@keyframes blink{0%,49%,to{opacity:1}50%,99%{opacity:.3}}@keyframes blink-red{0%,to{opacity:1}50%{opacity:.4}}@keyframes blink-slow{0%,to{opacity:.5}50%{opacity:1}}.voice-textarea-speech-error,.descrizione-danno-speech-error,.notes-speech-error{padding:8px 12px;background:#fff2f0;border:1px solid #ffccc7;border-radius:4px;font-size:13px;color:#cf1322;animation:slideDown .3s ease-out}.voice-textarea-speech-warning,.descrizione-danno-speech-warning,.notes-speech-warning{padding:8px 12px;background:#fffbe6;border:1px solid #ffe58f;border-radius:4px;font-size:12px;color:#ad6800}.voice-textarea-info-badge,.descrizione-danno-info-badge,.notes-info-badge{display:inline-block;padding:2px 8px;background:#e6f7ff;border-radius:12px;font-size:11px;color:#0050b3;font-weight:600}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.compact-modal .ant-modal-body{padding:12px 16px!important}.compact-modal .ant-modal-header{padding:12px 16px!important;border-bottom:1px solid #f0f0f0}.compact-modal .ant-modal-title{font-size:15px;font-weight:500}.compact-form .ant-form-item{margin-bottom:8px!important}.compact-form .ant-form-item-label{padding-bottom:2px!important}.compact-form .ant-form-item-label>label{font-size:12px!important;font-weight:400!important;color:#666!important;height:auto!important}.compact-form .ant-input,.compact-form .ant-select-selector,.compact-form .ant-picker,.compact-form .ant-input-number{font-size:13px!important;height:32px!important;border-radius:4px!important}.compact-form .ant-input-number-input{height:30px!important}.compact-form .ant-select-selection-item{line-height:30px!important}.compact-form textarea.ant-input{height:auto!important;min-height:60px!important}.form-section{background:#fafafa;border-radius:6px;padding:12px;margin-bottom:12px;border:1px solid #f0f0f0}.form-section-title{font-size:13px;font-weight:500;color:#333;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #e8e8e8;display:flex;align-items:center;gap:6px}.form-section-title svg{font-size:14px;color:#1890ff}.form-grid{display:grid;gap:8px 12px}.form-grid-4{grid-template-columns:repeat(4,1fr)}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-grid-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 992px){.form-grid-4,.form-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.form-grid-4,.form-grid-3,.form-grid-2{grid-template-columns:1fr}.compact-modal .ant-modal-body{padding:8px!important}.form-section{padding:8px;margin-bottom:8px}}.field-with-btn{display:flex;gap:4px}.field-with-btn .ant-select,.field-with-btn .ant-input{flex:1}.field-with-btn .ant-btn{flex-shrink:0;height:32px;width:32px;padding:0;display:flex;align-items:center;justify-content:center}.interventions-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;table-layout:fixed}.interventions-table thead{background:#f5f5f5}.interventions-table th{padding:10px 6px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ccc;white-space:nowrap}.interventions-table th:nth-child(1){text-align:center;width:3%}.interventions-table th:nth-child(2){text-align:left;width:auto;min-width:440px}.interventions-table th:nth-child(3){text-align:center;width:10%}.interventions-table th:nth-child(4){text-align:center;width:14%}.interventions-table th:nth-child(5){text-align:center;width:4%}.interventions-table td{padding:4px;border-bottom:1px solid #e8e8e8;vertical-align:middle;box-sizing:border-box}.interventions-table td:nth-child(1){text-align:center;width:3%}.interventions-table td:nth-child(2){padding:0!important;overflow:visible!important;width:69%}.interventions-table td:nth-child(3){text-align:center;width:10%}.interventions-table td:nth-child(4){text-align:center;width:14%}.interventions-table td:nth-child(5){text-align:center;width:4%}.interventions-table tr:hover{background:#f9f9f9}.interventions-table .ant-input,.interventions-table .ant-input-number{font-size:12px!important;height:28px!important;width:100%!important;box-sizing:border-box!important}.interventions-table .ant-select{font-size:12px!important;width:100%!important}.interventions-table .ant-select-selector{height:28px!important;box-sizing:border-box!important}.btn-add-intervention{font-size:12px;height:28px;padding:0 12px}.interventions-empty{padding:16px;text-align:center;color:#999;font-size:13px;background:#fafafa;border-radius:4px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-header-title{font-size:13px;font-weight:500;color:#333}.field-full{grid-column:1 / -1}.scheda-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-bozza{background:#f5f5f5;color:#666}.status-aperta{background:#e6f7ff;color:#1890ff}.status-in_lavorazione{background:#fff7e6;color:#fa8c16}.status-completata{background:#f6ffed;color:#52c41a}.status-consegnata{background:#f0f5ff;color:#2f54eb}@media (max-width: 768px){.compact-modal{max-width:95vw!important;margin:10px auto!important}}.compact-form .ant-input-textarea textarea{min-height:50px!important;font-size:13px!important;resize:vertical}.compact-form .ant-input:focus,.compact-form .ant-select-focused .ant-select-selector,.compact-form .ant-picker-focused{box-shadow:0 0 0 2px #1890ff1a!important}.cmm-work-orders-page{padding:12px 16px}.interventions-list{background:#fafafa;padding:8px 12px;border-radius:6px}.interventions-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid #e8e8e8;margin-bottom:8px}.interventions-header .interventions-title{font-weight:600;font-size:13px;color:#262626}.interventions-table{display:flex;flex-direction:column;gap:6px}.intervention-row{background:#fff;border-radius:4px;border-left:3px solid #d9d9d9;padding:8px 12px}.intervention-row:hover{background:#fafafa}.intervention-row.tipo-meccanico{border-left-color:#1890ff}.intervention-row.tipo-carrozziere{border-left-color:#722ed1}.intervention-row.editing{background:#fffbe6;border:1px solid #ffe58f}.intervention-row-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.intervention-row-main .descrizione{flex:1;font-size:13px;color:#262626;min-width:150px}.intervention-row-main .durata{font-size:12px;color:#8c8c8c}.intervention-note{margin-top:6px;padding:4px 8px;background:#e6f7ff;border-radius:3px;font-size:12px;color:#0050b3}.intervention-sospensione{margin-top:4px;padding:4px 8px;background:#fff1f0;border-radius:3px;font-size:12px;color:#a8071a}.intervention-edit-form{margin-top:8px;padding-top:8px;border-top:1px dashed #d9d9d9}.expanded-interventions{padding:6px;background:#f5f5f5;border-radius:4px}.readonly-section .ant-card-head{background:#e6f7ff;padding:8px 12px}.editable-section .ant-card-head{background:#f6ffed;padding:8px 12px}.work-order-detail{max-height:75vh;overflow-y:auto}.cmm-work-orders-page .ant-table-thead>tr>th{padding:8px 10px;font-size:12px}.cmm-work-orders-page .ant-table-tbody>tr>td{padding:6px 10px;font-size:12px}.cmm-work-orders-page .ant-table-expanded-row>td{padding:4px 8px}.cmm-work-orders-page .ant-card-body{padding:12px}.purchase-requests-container{padding:24px}.wo-header{display:flex;gap:16px;padding:12px;background:#f5f5f5;border-radius:4px;font-weight:500;margin-bottom:12px}.wo-header-item{flex:1}.intervention-row{display:flex;flex-direction:column;margin-left:24px;margin-bottom:12px;padding:12px;background:#fafafa;border-left:4px solid #1890ff}.intervention-title{font-weight:500;color:#1890ff;margin-bottom:8px}.rda-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #d9d9d9;border-radius:4px;margin-bottom:8px;margin-left:24px}.rda-info{flex:1}.rda-code{font-size:12px;color:#666;margin-bottom:4px}.rda-supplier{font-weight:500}.rda-actions{display:flex;gap:8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.full-height{height:100vh}.flex-center{display:flex;justify-content:center;align-items:center}.text-center{text-align:center}.fullscreen-modal{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;z-index:9999!important;display:flex!important;align-items:center!important;justify-content:center!important}.fullscreen-modal .ant-modal-wrap{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.fullscreen-modal .ant-modal-mask{background-color:#00000073!important}.fullscreen-modal .ant-modal{top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;margin:0!important;padding:0!important;transform:none!important;box-shadow:none!important}.fullscreen-modal .ant-modal-header,.fullscreen-modal .ant-modal-footer{display:none!important}.fullscreen-modal .ant-modal-content{width:100vw!important;height:100vh!important;max-height:none!important;margin:0!important;padding:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.fullscreen-modal .ant-modal-body{width:100%!important;height:100%!important;padding:0!important;margin:0!important;display:flex!important;flex:1!important;overflow:hidden!important}.fullscreen-modal .ant-modal-body>div{width:100%!important;height:100%!important;display:flex!important;flex-direction:column!important}
