.modal-overlay{background:var(--primary-overlay);z-index:9999;padding:var(--spacing-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-overlay);position:relative;overflow-y:auto}.report-download-modal{padding:var(--spacing-xl)}.modal-close{font-size:var(--font-size-2xl);color:var(--text-medium);cursor:pointer;border-radius:var(--radius-full);width:40px;height:40px;transition:var(--transition-base);z-index:10;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.modal-close:hover{background:var(--background-light);color:var(--primary-color);transform:rotate(90deg)}.modal-header{margin-bottom:32px}.modal-header h2{font-family:var(--font-poppins);font-size:var(--font-size-2xl);color:var(--primary-color);margin:0 0 12px;line-height:1.3}.modal-subtitle{font-family:var(--font-lato);font-size:var(--font-size-base);color:var(--text-medium);margin:0;line-height:1.6}.modal-success{text-align:center;padding:var(--spacing-3xl)40px}.success-icon{background:linear-gradient(135deg,var(--teal)0%,var(--primary-color)100%);border-radius:var(--radius-full);width:80px;height:80px;font-size:var(--font-size-5xl);color:var(--white);justify-content:center;align-items:center;margin:0 auto 24px;animation:.6s ease-out successPulse;display:flex}@keyframes successPulse{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.modal-success h2{font-family:var(--font-poppins);font-size:var(--font-size-xl);color:var(--primary-color);margin:0 0 12px}.modal-success p{font-family:var(--font-lato);font-size:var(--font-size-base);color:var(--text-medium);margin:0}.report-download-form{flex-direction:column;gap:24px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{font-family:var(--font-poppins);font-size:var(--font-size-sm);color:var(--primary-color);font-weight:600}.form-group input,.form-group select,.form-group textarea{font-family:var(--font-lato);font-size:var(--font-size-base);padding:var(--spacing-xs)16px;border:2px solid var(--teal);border-radius:var(--radius);background:var(--white);color:var(--text-dark);transition:var(--transition-base)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--secondary-tint-medium);outline:none}.form-group input::placeholder{color:var(--text-light)}.checkbox-group{margin-top:8px}.checkbox-label{font-family:var(--font-lato);font-size:var(--font-size-sm);color:var(--text-medium);cursor:pointer;align-items:flex-start;gap:12px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;width:20px;height:20px;margin-top:4px}.checkbox-label span{line-height:1.6}.form-error{border-radius:var(--radius);padding:var(--spacing-xs)16px;color:#c00;font-family:var(--font-lato);font-size:var(--font-size-sm);background:#fee;border:2px solid #fcc}.form-actions{justify-content:flex-end;gap:16px;margin-top:8px;display:flex}.form-actions .btn-secondary,.form-actions .btn-primary{padding:var(--spacing-sm)32px;font-size:var(--font-size-base);border-radius:var(--radius);cursor:pointer;transition:var(--transition-base);font-weight:600;font-family:var(--font-poppins);border:none}.form-actions .btn-secondary{background:var(--background-light);color:var(--text-dark)}.form-actions .btn-secondary:hover{background:var(--background-gray)}.form-actions .btn-primary{background:linear-gradient(135deg,var(--coral)0%,var(--coral-light)100%);color:var(--white)}.form-actions .btn-primary:hover{box-shadow:var(--shadow-coral);transform:translateY(-2px)}.form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width:768px){.report-download-modal{padding:var(--padding-card)}.modal-header h2{font-size:var(--font-size-xl)}.form-row{grid-template-columns:1fr;gap:16px}.form-actions{flex-direction:column-reverse}.form-actions .btn-secondary,.form-actions .btn-primary{width:100%}}
