/* Enhanced Proposal Form Styling */

.modal.modal-fixed-footer {
    max-height: 90%;
    overflow-y: auto;
}

.proposal-step {
    transition: opacity 0.3s ease-in-out;
    min-height: 300px;
}

.proposal-step:not(.active) {
    opacity: 0;
}

.proposal-step.active {
    opacity: 1;
}

/* Step Progress Indicator */
.progress {
    margin: 20px 0;
    border-radius: 10px;
    overflow: hidden;
}

.progress .determinate {
    transition: width 0.5s ease;
    border-radius: 10px;
}

/* Enhanced Input Styling */
.input-field input[type="text"].valid,
.input-field input[type="number"].valid,
.input-field textarea.valid {
    border-bottom: 1px solid #4caf50;
    box-shadow: 0 1px 0 0 #4caf50;
}

.input-field input[type="text"].invalid,
.input-field input[type="number"].invalid,
.input-field textarea.invalid {
    border-bottom: 1px solid #f44336;
    box-shadow: 0 1px 0 0 #f44336;
}

/* Character Counter Styling */
.character-counter {
    float: right;
    font-size: 12px;
    height: 1rem;
    color: #9e9e9e;
}

.character-counter.red-text {
    color: #f44336 !important;
}

/* File Upload Enhancements */
.file-field .btn {
    transition: all 0.3s ease;
}

.file-field .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* Card Enhancements */
.card {
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.card-content {
    padding: 24px;
}

/* Button Enhancements */
.btn {
    border-radius: 25px;
    text-transform: none;
    letter-spacing: 0.5px;
}

.btn-flat {
    border-radius: 25px;
}

/* Modal Footer Styling */
.modal-footer {
    background-color: #fafafa;
    border-top: 1px solid #e0e0e0;
}

/* Validation Messages */
.helper-text {
    font-size: 12px;
    margin-top: 4px;
}

.helper-text[data-error] {
    color: #f44336;
}

.helper-text[data-success] {
    color: #4caf50;
}

/* Funding Breakdown Card */
.card.blue-grey.lighten-5 {
    border-left: 4px solid #2196f3;
}

/* Document Guidelines Card */
.card.yellow.lighten-4 {
    border-left: 4px solid #ff9800;
}

.collection .collection-item {
    border: none;
    padding: 8px 0;
    background-color: transparent;
}

/* Responsive Improvements */
@media only screen and (max-width: 600px) {
    .modal {
        max-height: 100%;
        margin: 0;
    }
    
    .modal-content {
        padding: 16px;
    }
    
    .card-content {
        padding: 16px;
    }
}

/* Loading States */
.btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Tooltip Enhancements */
.material-tooltip {
    border-radius: 4px;
    font-size: 12px;
}

/* Select Dropdown Enhancements */
.dropdown-content li > a, 
.dropdown-content li > span {
    color: #212121;
    padding: 14px 16px;
}

.dropdown-content li:hover {
    background-color: #e3f2fd;
}

/* Form Section Headers */
.proposal-step h6 {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e3f2fd;
}

/* Success/Error Animation */
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.toast {
    animation: slideIn 0.3s ease;
}
