*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f6fa;color:#2c3e50;line-height:1.6;overflow-x:hidden;width:100%}html{overflow-x:hidden;width:100%}button{font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.spinner{border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:2rem auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{position:fixed!important;inset:0!important;background:#00000080!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:1000!important;padding:1rem!important}.modal-overlay .modal-content{background:#fff!important;border-radius:12px!important;max-width:500px!important;width:100%!important;max-height:90vh!important;overflow-y:auto!important;box-shadow:0 4px 20px #00000026!important}.modal-overlay .modal-content .modal-header{padding:1.5rem!important;border-bottom:1px solid #e0e0e0!important;position:relative!important}.modal-overlay .modal-content .modal-header h2{margin:0 0 .5rem!important;font-size:1.5rem!important;color:#2c3e50!important}.modal-overlay .modal-content .modal-header .subtitle{margin:0!important;color:#7f8c8d!important;font-size:.95rem!important}.modal-overlay .modal-content .modal-header .btn-close-modal{position:absolute!important;top:1rem!important;right:1rem!important;background:none!important;border:none!important;cursor:pointer!important;color:#7f8c8d!important;padding:.25rem!important;display:flex!important;align-items:center!important;justify-content:center!important}.modal-overlay .modal-content .modal-header .btn-close-modal:hover{color:#2c3e50!important}.modal-overlay .modal-content .modal-body{padding:1.5rem!important}.modal-overlay .modal-content .modal-body .form-group{margin-bottom:1.25rem!important}.modal-overlay .modal-content .modal-body .form-group label{display:block!important;margin-bottom:.5rem!important;font-weight:500!important;color:#2c3e50!important;font-size:.9rem!important}.modal-overlay .modal-content .modal-body .form-group input[type=date],.modal-overlay .modal-content .modal-body .form-group textarea{width:100%!important;padding:.75rem!important;border:1px solid #d0d0d0!important;border-radius:8px!important;font-size:1rem!important;font-family:inherit!important;transition:border-color .3s!important}.modal-overlay .modal-content .modal-body .form-group input[type=date]:focus,.modal-overlay .modal-content .modal-body .form-group textarea:focus{outline:none!important;border-color:#3498db!important}.modal-overlay .modal-content .modal-body .form-group textarea{resize:vertical!important;min-height:80px!important}.modal-overlay .modal-content .modal-body .form-group.readonly .readonly-field{padding:.75rem!important;background:#f8f9fa!important;border-radius:8px!important;color:#2c3e50!important;font-weight:600!important;font-size:1.1rem!important}.modal-overlay .modal-content .modal-body .error-message{background:#fee!important;color:#c33!important;padding:.75rem!important;border-radius:8px!important;margin-bottom:1rem!important;font-size:.9rem!important}.modal-overlay .modal-content .modal-footer{padding:1.5rem!important;border-top:1px solid #e0e0e0!important;display:flex!important;gap:1rem!important;justify-content:flex-end!important}.modal-overlay .modal-content .modal-footer button{padding:.75rem 1.5rem!important;border:none!important;border-radius:8px!important;font-size:1rem!important;font-weight:500!important;cursor:pointer!important;transition:all .3s!important;display:flex!important;align-items:center!important;gap:.5rem!important}.modal-overlay .modal-content .modal-footer button:disabled{opacity:.6!important;cursor:not-allowed!important}.modal-overlay .modal-content .modal-footer button.btn-secondary{background:#ecf0f1!important;color:#2c3e50!important}.modal-overlay .modal-content .modal-footer button.btn-secondary:hover:not(:disabled){background:#d0d3d4!important}.modal-overlay .modal-content .modal-footer button.btn-primary{background:#3498db!important;color:#fff!important}.modal-overlay .modal-content .modal-footer button.btn-primary:hover:not(:disabled){background:#2980b9!important}.modal-overlay .modal-content .modal-footer button.btn-primary .spinner-small{width:16px!important;height:16px!important;border:2px solid rgba(255,255,255,.3)!important;border-top-color:#fff!important;border-radius:50%!important;animation:spin .6s linear infinite!important}
