/* ============================================================
   UniversityPayment - Unified form controls

   تصميم موحد لكل حقول الإدخال في صفحات المستخدم والأدمن.
   ============================================================ */

:root {
    --payment-control-navy: #082f70;
    --payment-control-blue: #2563eb;
    --payment-control-line: #d5dfed;
    --payment-control-muted: #8996a9;
    --payment-control-disabled: #f3f6fa;
    --payment-control-shadow: 0 5px 14px rgba(15, 47, 102, .045);
}

.payment-public-shell,
.payment-admin-shell,
.payment-standalone-auth {
    --bs-body-font-family: "Cairo", "Segoe UI", Tahoma, Arial, sans-serif;
}

/* العناوين الموجودة أعلى الحقول */
.payment-public-shell .form-label,
.payment-public-shell .form-group > label,
.payment-admin-content .form-label,
.payment-admin-content .control-form-label,
.payment-standalone-auth .form-label {
    display: block;
    margin-bottom: 8px !important;
    color: var(--payment-control-navy) !important;
    font-family: "Cairo", "Segoe UI", Tahoma, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

/* Inputs + Selects + Textareas */
.payment-public-shell input.form-control:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.payment-public-shell select.form-select,
.payment-public-shell textarea.form-control,
.payment-admin-content input.form-control:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.payment-admin-content select.form-select,
.payment-admin-content textarea.form-control,
.payment-admin-content .control-form-control,
.payment-standalone-auth input.form-control:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.payment-standalone-auth select.form-select,
.payment-standalone-auth textarea.form-control {
    width: 100%;
    min-height: 52px !important;
    padding: 12px 16px !important;
    border: 1px solid var(--payment-control-line) !important;
    border-radius: 14px !important;
    background-color: #fff !important;
    color: #142a51 !important;
    font-family: "Cairo", "Segoe UI", Tahoma, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500;
    line-height: 1.55;
    outline: 0 !important;
    box-shadow: var(--payment-control-shadow) !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.payment-public-shell select.form-select,
.payment-admin-content select.form-select,
.payment-standalone-auth select.form-select {
    padding-inline-start: 16px !important;
    padding-inline-end: 42px !important;
    background-position: left 14px center !important;
    background-size: 15px 11px !important;
}

.payment-public-shell textarea.form-control,
.payment-admin-content textarea.form-control,
.payment-standalone-auth textarea.form-control {
    min-height: 112px !important;
    resize: vertical;
}

.payment-public-shell input.form-control::placeholder,
.payment-public-shell textarea.form-control::placeholder,
.payment-admin-content input.form-control::placeholder,
.payment-admin-content textarea.form-control::placeholder,
.payment-standalone-auth input.form-control::placeholder,
.payment-standalone-auth textarea.form-control::placeholder {
    color: var(--payment-control-muted) !important;
    opacity: 1;
}

.payment-public-shell input.form-control:focus,
.payment-public-shell select.form-select:focus,
.payment-public-shell textarea.form-control:focus,
.payment-admin-content input.form-control:focus,
.payment-admin-content select.form-select:focus,
.payment-admin-content textarea.form-control:focus,
.payment-admin-content .control-form-control:focus,
.payment-standalone-auth input.form-control:focus,
.payment-standalone-auth select.form-select:focus,
.payment-standalone-auth textarea.form-control:focus {
    border-color: var(--payment-control-blue) !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .11),
                0 8px 20px rgba(15, 47, 102, .06) !important;
}

.payment-public-shell .form-control:disabled,
.payment-public-shell .form-select:disabled,
.payment-public-shell .form-control[readonly],
.payment-admin-content .form-control:disabled,
.payment-admin-content .form-select:disabled,
.payment-admin-content .form-control[readonly],
.payment-standalone-auth .form-control:disabled,
.payment-standalone-auth .form-select:disabled,
.payment-standalone-auth .form-control[readonly] {
    background-color: var(--payment-control-disabled) !important;
    color: #75839a !important;
    cursor: not-allowed;
    box-shadow: none !important;
}

/* الحالات الصحيحة والخاطئة */
.payment-public-shell .form-control.is-invalid,
.payment-public-shell .form-select.is-invalid,
.payment-admin-content .form-control.is-invalid,
.payment-admin-content .form-select.is-invalid,
.payment-standalone-auth .form-control.is-invalid,
.payment-standalone-auth .form-select.is-invalid {
    border-color: #dc3545 !important;
}

.payment-public-shell .form-control.is-valid,
.payment-public-shell .form-select.is-valid,
.payment-admin-content .form-control.is-valid,
.payment-admin-content .form-select.is-valid,
.payment-standalone-auth .form-control.is-valid,
.payment-standalone-auth .form-select.is-valid {
    border-color: #198754 !important;
}

/* أزرار التسجيل والدخول بنفس نعومة التصميم المرجعي */
.payment-public-shell .registration-submit,
.payment-public-shell .login-button,
.payment-public-shell .continue-payment-button,
.payment-standalone-auth .login-button,
.payment-standalone-auth .btn-primary {
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #2f6bea 0%, #2453db 100%) !important;
    color: #fff !important;
    font-family: "Cairo", "Segoe UI", Tahoma, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 26px rgba(37, 83, 219, .18) !important;
}

.payment-public-shell .registration-submit:hover,
.payment-public-shell .login-button:hover,
.payment-public-shell .continue-payment-button:hover,
.payment-standalone-auth .login-button:hover,
.payment-standalone-auth .btn-primary:hover {
    background: linear-gradient(135deg, #245fe0 0%, #1f48c5 100%) !important;
    transform: translateY(-1px);
}

@media (max-width: 767.98px) {
    .payment-public-shell input.form-control:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
    .payment-public-shell select.form-select,
    .payment-admin-content input.form-control:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
    .payment-admin-content select.form-select,
    .payment-standalone-auth input.form-control:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
    .payment-standalone-auth select.form-select {
        min-height: 50px !important;
        font-size: 13px !important;
    }
}
