body{margin:0;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}#root{min-height:100vh}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:450px;overflow:hidden}.login-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:3rem 2rem;text-align:center}.login-logo-img{width:120px;height:120px;object-fit:cover;margin:0 auto 1rem;display:block;border-radius:50%;border:4px solid white;background:#fff;box-shadow:0 4px 15px #0003}.login-header h1{margin:0 0 .5rem;font-size:2rem}.login-header p{margin:0;opacity:.9;font-size:1rem}.login-form{padding:2.5rem}.error-message{background:#fee;color:#c33;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem;border-left:4px solid #c33}.form-field{margin-bottom:1.5rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.9rem}.form-field input{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:all .3s;box-sizing:border-box}.form-field input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-button{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:.5rem}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.login-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:500px){.login-container{padding:1rem}.login-header{padding:2rem 1.5rem}.login-form{padding:1.5rem}}.print-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.print-modal{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.print-modal-actions{display:flex;gap:1rem;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #ddd;position:sticky;top:0;z-index:10;box-shadow:0 2px 10px #0000001a}.btn-print-action,.btn-download-pdf,.btn-close{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1;box-shadow:0 2px 8px #0003}.btn-download-pdf{background:#4caf50;color:#fff}.btn-download-pdf:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.btn-print-action{background:#2196f3;color:#fff}.btn-print-action:hover{background:#1976d2;transform:translateY(-2px);box-shadow:0 4px 12px #2196f366}.btn-close{background:#fffffff2;color:#333;flex:.5}.btn-close:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.print-content{padding:6mm;background:#fff;width:210mm;margin:0 auto;box-sizing:border-box;font-family:Arial,sans-serif;font-size:9pt;color:#000;overflow:visible}.print-header{display:flex;align-items:center;gap:8px;margin-bottom:2mm;padding-bottom:1.5mm;border-bottom:2px solid #000}.print-logo-wrapper{width:50px;height:50px;border-radius:50%;overflow:hidden;border:2px solid #000;background:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:center}.print-logo{width:100%;height:100%;object-fit:cover;display:block}.print-header h2{flex:1;text-align:center;font-size:11pt;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.8px}.form-box{border:1.5px solid #000;margin-bottom:2mm;page-break-inside:avoid}.box-header{background:#f0f0f0;padding:1.5mm 2.5mm;font-weight:700;font-size:8.5pt;text-transform:uppercase;border-bottom:1px solid #000;line-height:1.2}.form-row{display:flex;border-bottom:1px solid #ddd}.form-row:last-child{border-bottom:none}.form-field{display:flex;align-items:center;padding:1.2mm 2mm;min-height:12px}.form-field.full{width:100%}.form-field.half{width:50%;border-right:1px solid #ddd}.form-field.half:last-child{border-right:none}.field-label{font-weight:700;font-size:8pt;margin-right:5px;white-space:nowrap;line-height:1.2}.field-value{flex:1;border-bottom:1px dotted #999;min-height:12px;font-size:8.5pt;padding-bottom:1px;line-height:1.2}.checkbox-row{display:flex;gap:12px;padding:1.5mm 2.5mm;align-items:center}.check-box{font-size:8pt;display:flex;align-items:center;gap:3px;line-height:1.2}.checkbox-inline{display:flex;gap:10px;flex:1}.legal-box{background:#fef9e7}.legal-text-compact{padding:1.5mm 2.5mm;font-size:7pt;line-height:1.25;text-align:justify}.legal-text-compact p{margin:.8mm 0}.legal-text-compact strong{font-weight:700}.legal-footer{font-weight:700;margin-top:2mm!important;text-align:center;font-size:7.5pt}.signature-box{border:1.5px solid #000;margin-top:2mm}.signature-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}.signature-field{padding:1.5mm 2.5mm;border-right:1px solid #000;display:flex;flex-direction:column;min-height:30px}.signature-field:last-child{border-right:none}.signature-field .field-label{font-size:8pt;font-weight:700;margin-bottom:3px}.signature-field .field-value{border-bottom:1px dotted #999;flex:1;font-size:8.5pt}.signature-space{flex:1;border-bottom:1px dotted #999;min-height:25px}@media print{body{background:#fff;margin:0;padding:0}.print-modal-overlay{position:static;background:none;padding:0}.print-modal{max-width:100%;max-height:none;box-shadow:none;border-radius:0}.no-print,.print-modal-actions{display:none!important}.print-content{padding:6mm;margin:0;width:210mm;min-height:auto}.form-box,.legal-box,.signature-box{page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-logo-wrapper{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:50%;overflow:hidden}.print-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}.legal-box{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fef9e7!important}}@media(max-width:768px){.print-modal-overlay{padding:1rem}.print-content{padding:10mm;width:100%}}.recu-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:2000;padding:1rem}.recu-modal{background:#fff;border-radius:8px;max-width:900px;width:100%;max-height:95vh;overflow-y:auto;box-shadow:0 10px 50px #00000080}.recu-modal-actions{display:flex;gap:1rem;padding:1.5rem;background:#f8f9fa;border-bottom:2px solid #dee2e6;justify-content:flex-end}.btn-download-pdf,.btn-print-action,.btn-close{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-download-pdf{background:#28a745;color:#fff}.btn-download-pdf:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a74566}.btn-print-action{background:#007bff;color:#fff}.btn-print-action:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #007bff66}.recu-content{padding:2rem;background:#fff;display:flex;justify-content:center;align-items:center}.recu-container{width:210mm;min-height:auto;border:2px solid #000;padding:8mm;background:#fff;font-family:Arial,sans-serif;box-sizing:border-box;display:flex;flex-direction:column;gap:3mm}.recu-generator-logo{width:50px;height:50px;object-fit:cover;flex-shrink:0;border-radius:50%;border:2px solid #000;background:#fff}.recu-title{font-size:14pt;font-weight:700;color:#000;text-align:center;flex:1;letter-spacing:2px}.recu-box-header{background:#e8e8e8;padding:2mm 3mm;font-size:10pt;font-weight:700;color:#000;border-bottom:1.5px solid #000;line-height:1.2}.recu-box-content{padding:3mm;background:#fff}.recu-field-row{display:flex;align-items:center;padding:2mm 0;border-bottom:1px solid #e0e0e0}.recu-field-label{font-size:9.5pt;font-weight:700;color:#000;min-width:40mm;flex-shrink:0;line-height:1.3}.recu-field-value{flex:1;border-bottom:1px dotted #999;min-height:12px;margin:0 2mm}.recu-currency{font-size:9.5pt;font-weight:700;color:#000;margin-left:auto;line-height:1.3}.recu-checkbox-row{display:flex;gap:10mm;padding:0 0 3mm}.recu-checkbox{display:flex;align-items:center;gap:2mm;font-size:9.5pt;color:#000;cursor:pointer;line-height:1.3}.recu-checkbox span:first-child{font-size:11pt}.recu-signature-space{min-height:20mm;max-height:20mm;border:1px dotted #ccc;background:#fafafa}@media print{.recu-modal-overlay{background:#fff}.recu-modal-actions{display:none!important}.recu-modal{box-shadow:none;max-width:none;max-height:none}.recu-content{padding:0}.recu-container{margin:0}}@media(max-width:768px){.recu-container{transform:scale(.7);transform-origin:top center}.recu-modal-actions{flex-wrap:wrap}.btn-download-pdf,.btn-print-action,.btn-close{flex:1 1 auto;min-width:120px}}.recu-form-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.recu-form-modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.recu-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.recu-form-header h2{margin:0;font-size:1.5rem}.close-btn{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:35px;height:35px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.close-btn:hover{background:#ffffff4d}.recu-form{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:#333}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date]{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.readonly-field{background:#f5f5f5;color:#666}.radio-group{display:flex;gap:2rem}.radio-group label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.radio-group input[type=radio]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:2px solid #eee}.btn-cancel,.btn-submit{flex:1;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-submit{background:#667eea;color:#fff}.btn-submit:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media(max-width:768px){.recu-form-overlay{padding:1rem}.recu-form{padding:1.5rem}.radio-group{flex-direction:column;gap:1rem}}.client-form-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a;max-width:1000px;margin:0 auto}.form-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:3px solid #667eea}.form-header h2{color:#333;font-size:1.8rem;margin-bottom:.5rem}.company-name{color:#667eea;font-size:1.1rem;font-weight:600}.client-form{display:flex;flex-direction:column;gap:2rem}.form-section{border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;background:#f9f9f9}.form-section h3{color:#667eea;font-size:1.3rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{color:#333;font-weight:600;margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:2px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.radio-group{display:flex;gap:2rem;flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:1rem;color:#333}.radio-label input[type=radio]{width:18px;height:18px;cursor:pointer}.checkbox-group{margin-bottom:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:1rem;color:#333}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-label.important{color:#d32f2f;font-weight:600;font-size:1.05rem}.legal-section{background:#fff9e6;border-color:#ffa726}.legal-text{display:flex;flex-direction:column;gap:1rem}.legal-text p{text-align:justify;line-height:1.6;color:#333;font-size:.95rem}.legal-text strong{color:#d32f2f}.form-actions{display:flex;justify-content:center;padding-top:1rem}.submit-button{padding:1rem 3rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.submit-button:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.submit-button:active{transform:translateY(0)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem;overflow-y:auto}.modal-content{width:100%;max-width:1000px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d}.modal-content .client-form-container{box-shadow:none;margin:0}.cancel-button{padding:1rem 3rem;background:#f5f5f5;color:#333;border:2px solid #ddd;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-right:1rem}.cancel-button:hover{background:#e0e0e0;border-color:#bbb}.form-actions{display:flex;justify-content:center;padding-top:1rem;gap:1rem}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.client-form-container{padding:1.5rem}.radio-group{flex-direction:column;gap:1rem}.modal-overlay{padding:1rem}.form-actions{flex-direction:column}.cancel-button{margin-right:0}}.recu-generator-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:2000;padding:1rem}.recu-generator-modal{background:#fff;border-radius:8px;max-width:900px;width:100%;max-height:95vh;overflow-y:auto;box-shadow:0 10px 50px #00000080}.generator-actions{display:flex;gap:1rem;padding:1.5rem;background:#f8f9fa;border-bottom:2px solid #dee2e6;justify-content:flex-end;position:sticky;top:0;z-index:10}.btn-download,.btn-print,.btn-close{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-download{background:#28a745;color:#fff}.btn-download:hover{background:#218838;transform:translateY(-2px)}.btn-print{background:#007bff;color:#fff}.btn-print:hover{background:#0056b3;transform:translateY(-2px)}.btn-close{background:#6c757d;color:#fff}.btn-close:hover{background:#5a6268}.recus-page{width:210mm;height:297mm;margin:0 auto;background:#fff;padding:6mm 8mm;box-sizing:border-box;display:flex;flex-direction:column;gap:3mm}.recu-template{flex:1;display:flex;align-items:stretch;min-height:0}.recu-template:not(:last-child){border-bottom:2px dashed #bbb;padding-bottom:3mm}.recu-container{width:100%;border:2px solid #000;padding:3mm;background:#fff;font-family:Arial,sans-serif;box-sizing:border-box;display:flex;flex-direction:column;gap:2mm}.recu-main-header{display:flex;align-items:center;gap:5mm;padding-bottom:2mm;margin-bottom:0;border-bottom:2px solid #000}.recu-generator-logo{width:40px;height:40px;object-fit:cover;flex-shrink:0;border-radius:50%;border:2px solid #000;background:#fff}.recu-title{font-size:12pt;font-weight:700;color:#000;text-align:center;flex:1;letter-spacing:2px}.recu-box{border:1.5px solid #000;flex-shrink:1;min-height:0;overflow:hidden}.recu-box-header{background:#e8e8e8;padding:1.5mm 2.5mm;font-size:9pt;font-weight:700;color:#000;border-bottom:1.5px solid #000;line-height:1.2}.recu-box-content{padding:2mm 2.5mm;background:#fff}.recu-field-row{display:flex;align-items:center;padding:1.5mm 0;border-bottom:1px solid #e0e0e0}.recu-field-row:last-child{border-bottom:none}.recu-field-label{font-size:8.5pt;font-weight:700;color:#000;min-width:36mm;flex-shrink:0;line-height:1.3}.recu-field-value{flex:1;border-bottom:1px dotted #999;min-height:10px;margin:0 1.5mm}.recu-currency{font-size:8.5pt;font-weight:700;color:#000;margin-left:auto;line-height:1.3}.recu-checkbox-row{display:flex;gap:8mm;padding:0 0 3mm}.recu-checkbox{display:flex;align-items:center;gap:1.5mm;font-size:8.5pt;color:#000;cursor:pointer;line-height:1.3}.recu-checkbox span:first-child{font-size:10pt}.recu-signature-space{min-height:12mm;max-height:12mm;border:1px dotted #ccc;background:#fafafa}@media print{.recu-generator-overlay{background:#fff}.generator-actions{display:none!important}.recu-generator-modal{box-shadow:none;max-width:none;max-height:none}.recus-page{margin:0;padding:6mm 10mm}}@media(max-width:768px){.recus-page{transform:scale(.7);transform-origin:top center}}*{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}.app{min-height:100vh}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{font-size:1.2rem;font-weight:500}
