/* PSL Application Form Styles */

:root {
    --psl-primary: #1e5a96;
    --psl-secondary: #ffffff;
    --psl-button: #d32f2f;
    --psl-border: #ddd;
    --psl-text: #333;
    --psl-light: #f9f9f9;
}

.psl-form-container {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    line-height: 1.6;
}

/* Responsive */
@media (max-width: 768px) {
    .psl-form-container {
        padding: 20px !important;
    }

    .psl-form-group input,
    .psl-form-group textarea,
    .psl-form-group select {
        font-size: 16px;
        /* Prevent zoom on iOS */
    }

    .psl-form-button {
        font-size: 16px;
        padding: 14px 24px;
    }
}

/* Loading state */
.psl-form-button.loading {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

/* Success/Error animations */
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.psl-form-message {
    animation: slideIn 0.3s ease-out;
}

/* Accessibility */
.psl-form-group input:focus,
.psl-form-group textarea:focus,
.psl-form-group select:focus {
    outline: none;
    border-color: var(--psl-primary);
    box-shadow: 0 0 0 3px rgba(30, 90, 150, 0.1);
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .psl-form-container {
        background-color: #2a2a2a;
        color: #f0f0f0;
    }

    .psl-form-group input,
    .psl-form-group textarea,
    .psl-form-group select {
        background-color: #1a1a1a;
        color: #f0f0f0;
        border-color: #444;
    }

    .psl-form-message.success {
        background-color: #1e4620;
        color: #4ade80;
        border-color: #22c55e;
    }

    .psl-form-message.error {
        background-color: #4a1a1a;
        color: #f87171;
        border-color: #ef4444;
    }
}