:root {
    --primary-color: #3b82f6;
    --primary-hover: #2563eb;
    --text-primary: #1f2937;
    --text-secondary: #6b7280;
    --text-muted: #9ca3af;
    --background-primary: #ffffff;
    --background-secondary: #f1f5f9;
    --background-blue: radial-gradient(
            circle at 25% 25%,
            rgba(25, 118, 210, 0.03) 0%,
            transparent 50%
        ),
        radial-gradient(
            circle at 75% 75%,
            rgba(25, 118, 210, 0.03) 0%,
            transparent 50%
        ) !important;
    --border-color: #e5e7eb;
    --border-focus: #3b82f6;
    --success-bg: #ecfdf5;
    --success-border: #10b981;
    --success-text: #065f46;
    --error-bg: #fef2f2;
    --error-border: #ef4444;
    --error-text: #991b1b;
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1),
        0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-blue: 0 8px 25px -5px rgb(59 130 246 / 0.25),
        0 4px 6px -2px rgb(59 130 246 / 0.15);
    --radius: 6px;
}

body {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
    min-height: 100vh !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
    color: #2c3e50 !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

body::before {
    content: "" !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-image: radial-gradient(
            circle at 25% 25%,
            rgba(25, 118, 210, 0.03) 0%,
            transparent 50%
        ),
        radial-gradient(
            circle at 75% 75%,
            rgba(25, 118, 210, 0.03) 0%,
            transparent 50%
        ) !important;
}

.min-h-screen {
    background: var(--background-blue) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100vh !important;
    padding: 1.25rem !important;
}

.w-full.sm\\:max-w-md {
    max-width: 280px !important; /* Reduced from 300px */
    background: var(--background-primary) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-blue) !important;
    border: 1px solid rgb(59 130 246 / 0.15) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    backdrop-filter: blur(10px) !important;
}

.w-full.sm\\:max-w-md::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(
        135deg,
        rgb(59 130 246 / 0.03) 0%,
        rgb(147 197 253 / 0.05) 50%,
        rgb(219 234 254 / 0.02) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.w-full.sm\\:max-w-md > * {
    position: relative !important;
    z-index: 2 !important;
}

.w-full.sm\\:max-w-md:hover {
    box-shadow: 0 20px 25px -5px rgb(59 130 246 / 0.35),
        0 8px 10px -6px rgb(59 130 246 / 0.25) !important;
    transform: translateY(-2px) !important;
}

.login-header {
    background: #fff !important;
    padding: 2rem 1.5rem 1rem !important;
    text-align: center !important;
    border-bottom: 1px solid #e9ecef !important;
}

.login-logo {
    width: 4.5rem !important;
    height: 4.5rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 1rem auto !important; /* Reduced margin */
}

.login-logo img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

.welcome-title {
    font-size: 1.875rem !important;
    font-weight: 600 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
    color: #1a252f !important;
    margin: 0 0 0.875rem 0 !important;
    text-align: center !important;
}

.welcome-subtitle {
    color: #5a6c7d !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 1.5 !important;
}

.w-full.sm\\:max-w-md > form {
    padding: 1.25rem !important; /* Reduced from 1.5rem */
    margin-top: 0 !important;
}

/* Update the input field styles with increased height */
input[type="email"],
input[type="password"],
input[type="text"] {
    border-radius: var(--radius) !important;
    border: 1px solid var(--border-color) !important;
    padding: 0.75rem 0.875rem !important; /* Increased from 0.4375rem 0.5625rem */
    font-size: 0.875rem !important; /* Increased from 0.8125rem */
    transition: all 0.15s ease !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: var(--text-primary) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    line-height: 1.5 !important; /* Increased line height */
    backdrop-filter: blur(5px) !important;
    min-height: 44px !important; /* Added minimum height for better touch targets */
}

/* Keep focus states with the new height */
input[type="email"]:focus,
input[type="password"]:focus,
input[type="text"]:focus {
    border-color: var(--border-focus) !important;
    outline: 2px solid transparent !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgb(59, 130, 246 / 0.15) !important;
    background: rgba(255, 255, 255, 1) !important;
}

/* Update hover states */
input[type="email"]:hover,
input[type="password"]:hover {
    border-color: rgb(59, 130, 246 / 0.3) !important;
}

button[type="submit"],
.btn-primary,
x-primary-button {
    background-color: #1976d2 !important;
    border-color: #1976d2 !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 0.75rem 1.5rem !important;
    font-weight: 500 !important;
    font-size: 1rem !important;
    width: 100% !important;
    transition: all 0.15s ease-in-out !important;
    position: relative !important;
    overflow: hidden !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
    color: #fff !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    vertical-align: middle !important;
}

button[type="submit"]:hover,
.btn-primary:hover {
    background-color: #1565c0 !important;
    border-color: #1565c0 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(25, 118, 210, 0.3) !important;
    color: #fff !important;
}

.footer-links {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 1rem !important;
    padding-top: 0.75rem !important;
    border-top: 1px solid rgb(59 130 246 / 0.1) !important;
    position: relative !important; /* Added positioning */
    z-index: 10 !important; /* Ensure links are above overlays */
}

.footer-links a {
    color: #1976d2 !important;
    text-decoration: none !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    transition: all 0.15s ease-in-out !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
    margin: 0 !important;
    padding: 0.5rem 0.25rem !important; /* Added padding for better click area */
    position: relative !important; /* Added positioning */
    z-index: 11 !important; /* Ensure links are above everything */
    cursor: pointer !important; /* Force cursor pointer */
    pointer-events: auto !important; /* Ensure clicks work */
    display: inline-flex !important; /* Better display for icons */
    align-items: center !important; /* Center align with icons */
    gap: 0.375rem !important; /* Space between icon and text */
}

.footer-links a:hover {
    color: #1565c0 !important; /* Consistent hover color */
    text-decoration: underline !important;
    text-decoration-color: #1565c0 !important;
    text-underline-offset: 2px !important;
    transform: translateY(-1px) !important; /* Subtle hover effect */
}

.footer-links a:active {
    transform: translateY(0) !important;
    color: #0d47a1 !important;
}

/* Style the icons in footer links */
.footer-links a .icon {
    font-size: 1rem !important;
    line-height: 1 !important;
    opacity: 0.9 !important;
    transition: opacity 0.15s ease !important;
}

.footer-links a:hover .icon {
    opacity: 1 !important;
}

/* Fix the main container overlay to not block clicks */
.w-full.sm\\:max-w-md::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(
        135deg,
        rgb(59 130 246 / 0.03) 0%,
        rgb(147 197 253 / 0.05) 50%,
        rgb(219 234 254 / 0.02) 100%
    ) !important;
    pointer-events: none !important; /* This is correct - overlay shouldn't block clicks */
    z-index: 1 !important;
}

/* Ensure form content is above overlay */
.w-full.sm\\:max-w-md > * {
    position: relative !important;
    z-index: 2 !important;
    pointer-events: auto !important; /* Ensure form elements are clickable */
}

/* Ensure form itself doesn't block clicks */
.w-full.sm\\:max-w-md > form {
    padding: 1.25rem !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 3 !important;
    pointer-events: auto !important; /* Form should be clickable */
}

/* Copyright footer should also be clickable if needed */
.copyright-footer {
    text-align: center !important;
    margin-top: 0.75rem !important;
    padding-top: 0.75rem !important;
    border-top: 1px solid rgb(59 130 246 / 0.1) !important;
    font-size: 0.6875rem !important;
    color: var(--text-muted) !important;
    position: relative !important;
    z-index: 10 !important; /* Ensure copyright is also above overlays */
    pointer-events: auto !important;
}

/* Mobile responsive fixes for links */
@media (max-width: 640px) {
    .footer-links {
        flex-direction: column !important;
        gap: 0.75rem !important;
        align-items: center !important;
        text-align: center !important;
    }

    .footer-links a {
        font-size: 0.9375rem !important;
        padding: 0.625rem 0.5rem !important; /* Larger tap targets on mobile */
        min-height: 44px !important; /* Better touch targets */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* Debug styles - add these temporarily to see if links are there */
.footer-links a {
    border: 1px solid transparent !important;
}

.footer-links a:hover {
    border-color: #1976d2 !important;
    background-color: rgba(25, 118, 210, 0.05) !important;
    border-radius: 4px !important;
}

/* Add these error message styles to your login.css */

/* Session Status and General Messages */
.text-green-600,
.text-sm.text-green-600 {
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%) !important;
    border: 1px solid #10b981 !important;
    border-left: 4px solid #10b981 !important;
    color: #065f46 !important;
    padding: 0.875rem 1rem !important;
    border-radius: 8px !important;
    font-size: 0.875rem !important;
    margin-bottom: 1rem !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        sans-serif !important;
    line-height: 1.5 !important;
    box-shadow: 0 2px 4px rgba(16, 185, 129, 0.1) !important;
    position: relative !important;
    z-index: 10 !important;
}

.text-green-600::before {
    content: "✓" !important;
    font-weight: bold !important;
    margin-right: 0.5rem !important;
    color: #10b981 !important;
}

/* Error Messages - General */
.text-red-600,
.mb-4.text-red-600.text-sm {
   background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%) !important;
    border: 1px solid #ef4444 !important;
    border-left: 4px solid #ef4444 !important;
    color: #991b1b !important;
    padding: 0.875rem 1rem !important;
    border-radius: 8px !important;
    font-size: 0.875rem !important;
    margin-bottom: 1rem !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        sans-serif !important;
    line-height: 1.5 !important;
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.1) !important;
    position: relative !important;
    z-index: 10 !important; 
}

.text-red-300 {
    color: #dc2626 !important;
    background: none !important;
    padding: 0 !important;
    border: none !important;
    font-size: 0.875rem !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        sans-serif !important;
}

.text-red-600::before {
    content: "⚠" !important;
    font-weight: bold !important;
    margin-right: 0.5rem !important;
    color: #ef4444 !important;
}

/* Individual error paragraphs */
.text-red-600 p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    color: #991b1b !important;
}

.text-red-600 p:not(:last-child) {
    margin-bottom: 0.5rem !important;
}

/* Field-specific error messages (like password errors) */
.mt-2 {
    margin-top: 0.5rem !important;
}

/* Input Error Messages (from x-input-error component) */
.text-sm.text-red-600,
.input-error {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%) !important;
    border: 1px solid #fca5a5 !important;
    border-left: 3px solid #ef4444 !important;
    color: #991b1b !important;
    padding: 0.5rem 0.75rem !important;
    border-radius: 6px !important;
    font-size: 0.8125rem !important;
    margin-top: 0.375rem !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        sans-serif !important;
    line-height: 1.4 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
    box-shadow: 0 1px 2px rgba(239, 68, 68, 0.1) !important;
}

.input-error::before,
.text-sm.text-red-600::before {
    content: "⚠" !important;
    color: #ef4444 !important;
    font-size: 0.75rem !important;
    flex-shrink: 0 !important;
    margin-top: 0.125rem !important;
}

/* Session status styling */
.mb-4 {
    margin-bottom: 1rem !important;
}

/* Alert container improvements */
.alert-container {
    position: relative !important;
    z-index: 20 !important;
    margin-bottom: 1.5rem !important;
}

/* Improve the login body container to handle errors better */
.login-body {
    position: relative !important;
    z-index: 5 !important;
}

/* Form error spacing */
form > .text-red-600:first-child,
form > .text-green-600:first-child {
    margin-top: 0 !important;
    margin-bottom: 1.25rem !important;
}

/* Animation for error messages */
@keyframes fadeInError {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.text-red-600,
.text-green-600 {
    animation: fadeInError 0.3s ease-out !important;
}

/* Mobile responsive error messages */
@media (max-width: 640px) {
    .text-red-600,
    .text-green-600 {
        padding: 0.75rem 0.875rem !important;
        font-size: 0.8125rem !important;
        margin-left: 0.25rem !important;
        margin-right: 0.25rem !important;
    }

    .text-sm.text-red-600,
    .input-error {
        padding: 0.5rem 0.625rem !important;
        font-size: 0.75rem !important;
    }
}

/* Ensure error messages don't break the layout */
.w-full.sm\\:max-w-md {
    overflow: visible !important; /* Allow error messages to show outside if needed */
}

/* Style for validation errors from Laravel */
.invalid-feedback {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%) !important;
    border: 1px solid #fca5a5 !important;
    border-left: 3px solid #ef4444 !important;
    color: #991b1b !important;
    padding: 0.5rem 0.75rem !important;
    border-radius: 6px !important;
    font-size: 0.8125rem !important;
    margin-top: 0.375rem !important;
    display: block !important;
}

/* Improve contrast and readability */
.text-red-600 strong,
.text-green-600 strong {
    font-weight: 600 !important;
    color: inherit !important;
}

/* Fix for Laravel's default error styling */
ul.text-red-600,
div.text-red-600 ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

ul.text-red-600 li,
div.text-red-600 ul li {
    position: relative !important;
    padding-left: 1.5rem !important;
    margin-bottom: 0.25rem !important;
}

ul.text-red-600 li::before,
div.text-red-600 ul li::before {
    content: "•" !important;
    color: #ef4444 !important;
    font-weight: bold !important;
    position: absolute !important;
    left: 0.5rem !important;
}

/* Add/Update these label styles following new.min.css standards */

/* Form Labels - new.min.css Standard Styling */
label,
x-input-label,
.form-label {
    /* Typography following new.min.css */
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,
        "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
        "Noto Color Emoji" !important;

    /* new.min.css label standards */
    font-size: 1rem !important; /* 14px - new.min standard */
    font-weight: 500 !important; /* Medium weight - new.min standard */
    line-height: 1.25 !important; /* 20px - new.min standard */
    letter-spacing: 0 !important; /* No letter spacing - new.min default */

    /* Colors following new.min.css palette */
    color: #374151 !important; /* gray-700 - new.min standard for labels */

    /* Spacing following new.min.css */
    margin: 0 0 0.375rem 0 !important; /* 6px bottom margin - new.min standard */
    padding: 0 !important;

    /* Display properties */
    display: block !important;
    width: auto !important;

    /* new.min.css transitions */
    transition: color 0.15s ease-in-out !important;

    /* Remove any custom styling */
    text-transform: none !important;
    text-decoration: none !important;
    text-align: left !important;

    /* Accessibility */
    cursor: default !important;
}

/* Focus states for labels when inputs are focused - new.min.css style */
input:focus + label,
input:focus ~ label,
label:has(+ input:focus),
.form-group input:focus ~ label,
.input-wrapper input:focus ~ label {
    color: #3b82f6 !important; /* blue-500 - new.min focus color */
}

/* Required field indicator - new.min.css style */
label.required::after,
.form-label.required::after,
x-input-label[required]::after {
    content: " *" !important;
    color: #ef4444 !important; /* red-500 - new.min error color */
    font-weight: 400 !important;
    margin-left: 0.125rem !important; /* 2px spacing */
}

/* Label states following new.min.css */
label:hover {
    color: #1f2937 !important; /* gray-800 - subtle hover */
}

/* Disabled label styling - new.min.css standard */
label.disabled,
label:has(+ input:disabled),
.form-group input:disabled ~ label {
    color: #9ca3af !important; /* gray-400 - new.min disabled color */
    cursor: not-allowed !important;
}

/* Error state labels - new.min.css error styling */
label.error,
label:has(+ input.error),
.form-group.error label,
.input-wrapper.error label {
    color: #dc2626 !important; /* red-600 - new.min error color */
}

/* Success state labels - new.min.css success styling */
label.success,
label:has(+ input.success),
.form-group.success label,
.input-wrapper.success label {
    color: #059669 !important; /* green-600 - new.min success color */
}

/* Checkbox and radio labels - new.min.css inline style */
label.inline-flex,
.inline-flex label,
label:has(input[type="checkbox"]),
label:has(input[type="radio"]) {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important; /* 8px - new.min standard */
    font-size: 0.875rem !important; /* 14px */
    font-weight: 400 !important; /* Normal weight for inline labels */
    margin-bottom: 0 !important;
    cursor: pointer !important;
    line-height: 1.5 !important; /* 21px */
}

/* Remember me label specific styling */
label[for="remember_me"] {
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    color: #4b5563 !important; /* gray-600 */
    cursor: pointer !important;
    user-select: none !important;
}

label[for="remember_me"]:hover {
    color: #374151 !important; /* gray-700 */
}

/* Label text inside inline labels */
.inline-flex span,
label .ml-2,
label .text-sm {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    line-height: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Small/helper text under labels - new.min.css style */
.label-help,
.form-help,
label + .text-xs,
label + small {
    font-size: 0.75rem !important; /* 12px - new.min small text */
     color: var(--text-primary) !important;/* gray-500 */
    font-weight: 400 !important;
    margin-top: 0.25rem !important; /* 4px */
    line-height: 1.33 !important; /* 16px */
    font-weight: 500 !important;
}

/* Mobile responsive - new.min.css breakpoints */
@media (max-width: 640px) {
    label,
    x-input-label,
    .form-label {
        font-size: 0.9375rem !important; /* 15px - slightly larger on mobile */
        margin-bottom: 0.5rem !important; /* 8px - more space on mobile */
    }

    /* Touch-friendly checkbox labels */
    label.inline-flex,
    .inline-flex label,
    label:has(input[type="checkbox"]),
    label:has(input[type="radio"]) {
        padding: 0.25rem 0 !important; /* Better touch target */
        min-height: 44px !important; /* iOS minimum touch target */
        align-items: center !important;
    }
}

/* High contrast mode support - new.min.css accessibility */
@media (prefers-contrast: high) {
    label,
    x-input-label,
    .form-label {
        color: #000000 !important;
        font-weight: 600 !important;
    }

    label.required::after {
        color: #cc0000 !important;
        font-weight: 700 !important;
    }
}

/* Dark mode support - new.min.css dark mode */
@media (prefers-color-scheme: dark) {
    :root {
        --label-color: #d1d5db; /* gray-300 */
        --label-hover: #f3f4f6; /* gray-100 */
        --label-disabled: #6b7280; /* gray-500 */
    }
}

/* Remove any conflicting Tailwind classes */
.block.mt-1,
.mt-1 {
    margin-top: 0.25rem !important; /* Keep consistent with new.min spacing */
}

/* Override Laravel Blade component styling */
x-input-label {
    all: unset !important;
    display: block !important;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    color: #374151 !important;
    margin-bottom: 0.375rem !important;
    transition: color 0.15s ease-in-out !important;
}

/* Form validation integration with labels */
.form-group.valid label,
.input-wrapper.valid label {
    color: #059669 !important; /* green-600 */
}

.form-group.invalid label,
.input-wrapper.invalid label {
    color: #dc2626 !important; /* red-600 */
}

/* Animation for label state changes - new.min.css smooth transitions */
label {
    transition: color 0.15s ease-in-out, font-weight 0.15s ease-in-out !important;
}

/* Add/Update these styles for attractive "Keep me signed in" checkbox */

/* Remember Me Container - Enhanced Styling */
.block.mt-4,
.remember-container {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    padding: 0.75rem 0 !important; /* Just top/bottom padding */
    background: none !important; /* Remove background */
    border: none !important; /* Remove border */
    border-radius: 0 !important; /* Remove border radius */
    transition: none !important; /* Remove transitions */
    position: relative !important;
}

.block.mt-4:hover,
.remember-container:hover {
    background: none !important; /* Remove hover background */
    border: none !important; /* Remove hover border */
    transform: none !important; /* Remove hover transform */
    box-shadow: none !important; /* Remove hover shadow */
}

/* Simple Checkbox Label */
label[for="remember_me"],
.remember-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important; /* Normal gap */
    font-size: 0.875rem !important; /* Standard text size */
    font-weight: 400 !important; /* Normal weight */
    color: #374151 !important; /* Standard color */
    cursor: pointer !important;
    user-select: none !important;
    transition: color 0.15s ease !important;
    padding: 0 !important; /* Remove padding */
    margin: 0 !important;
    line-height: 1.5 !important;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
}

label[for="remember_me"]:hover,
.remember-label:hover {
    color: #1f2937 !important; /* Subtle hover */
}

/* Simple Custom Checkbox */
input[type="checkbox"]#remember_me {
    width: 1rem !important; /* 16px - standard size */
    height: 1rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d1d5db !important; /* Thin border */
    border-radius: 3px !important; /* Minimal rounding */
    background: #ffffff !important;
    appearance: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    position: relative !important;
}

/* Simple hover state */
input[type="checkbox"]#remember_me:hover {
    border-color: #3b82f6 !important;
    background: #ffffff !important; /* Keep white background */
}

/* Simple focus state */
input[type="checkbox"]#remember_me:focus {
    outline: none !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important; /* Minimal shadow */
}

/* Simple checked state */
input[type="checkbox"]#remember_me:checked {
    background: #3b82f6 !important; /* Solid blue */
    border-color: #3b82f6 !important;
}

/* Simple checkmark */
input[type="checkbox"]#remember_me:checked::before {
    content: "✓" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    font-size: 0.6875rem !important; /* 11px checkmark */
    font-weight: 600 !important;
    color: white !important;
    line-height: 1 !important;
}

/* Remove all the fancy styling */
.remember-container::before {
    display: none !important; /* Remove overlay */
}

/* Simple mobile styling */
@media (max-width: 640px) {
    .block.mt-4,
    .remember-container {
        padding: 0.5rem 0 !important; /* Less padding on mobile */
    }

    label[for="remember_me"],
    .remember-label {
        font-size: 0.875rem !important;
        gap: 0.5rem !important;
        padding: 0.25rem 0 !important; /* Minimal padding for touch */
    }

    input[type="checkbox"]#remember_me {
        width: 1.125rem !important; /* 18px - slightly larger on mobile */
        height: 1.125rem !important;
    }
}

/* Remove all the complex animations and effects */
input[type="checkbox"]#remember_me:checked::after {
    display: none !important;
}

input[type="checkbox"]#remember_me:focus {
    animation: none !important; /* Remove pulse animation */
}

/* Remove dark mode complex styling */
@media (prefers-color-scheme: dark) {
    label[for="remember_me"],
    .remember-label {
        color: #d1d5db !important;
    }

    input[type="checkbox"]#remember_me {
        border-color: #6b7280 !important;
        background: #ffffff !important;
    }

    input[type="checkbox"]#remember_me:checked {
        background: #3b82f6 !important;
        border-color: #3b82f6 !important;
    }
}

/* Add this to your login.css file for two-column layout */

/* Register Page Container - Make it wider */
.register-container {
    max-width: 520px !important; /* Wider than login for two columns */
}

/* Two Column Grid Layout */
.form-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.25rem !important; /* 20px gap between columns */
    margin-bottom: 1.5rem !important;
}

.form-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.25rem !important; /* 20px gap between form groups */
}

/* Form Group Styling */
.form-group {
    margin-bottom: 0 !important; /* Remove bottom margin, use grid gap instead */
    width: 100% !important;
}

/* Form Input Styling */
.form-input {
    width: 100% !important;
    padding: 0.75rem 0.875rem !important;
    font-size: 0.875rem !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--radius) !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: var(--text-primary) !important;
    transition: all 0.15s ease !important;
    line-height: 1.5 !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
}

.form-input:focus {
    border-color: var(--border-focus) !important;
    outline: 2px solid transparent !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgb(59, 130, 246 / 0.15) !important;
    background: rgba(255, 255, 255, 1) !important;
}

.form-input:hover {
    border-color: rgb(59, 130, 246 / 0.3) !important;
}

/* Password Container */
.password-container {
    position: relative !important;
    width: 100% !important;
}

.password-input {
    padding-right: 2.5rem !important; /* Space for toggle button */
}

.password-toggle {
    position: absolute !important;
    right: 0.75rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0.25rem !important;
    color: var(--text-secondary) !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.password-toggle:hover {
    color: var(--text-primary) !important;
}

.password-toggle svg {
    width: 1.125rem !important;
    height: 1.125rem !important;
}

/* Terms and Conditions - Full Width */
.terms-group {
    grid-column: 1 / -1 !important; /* Span both columns */
    margin-top: 1rem !important;
    margin-bottom: 1.5rem !important;
}

.terms-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
    color: var(--text-primary) !important;
}

.terms-checkbox {
    width: 1rem !important;
    height: 1rem !important;
    margin-top: 0.125rem !important;
    flex-shrink: 0 !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    cursor: pointer !important;
}

.terms-checkbox:checked {
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.terms-text {
    color: var(--text-primary) !important;
    font-size: 0.875rem !important;
}

.terms-link {
    color: var(--primary-color) !important;
    text-decoration: underline !important;
    font-weight: 500 !important;
}

.terms-link:hover {
    color: var(--primary-hover) !important;
}

/* Register Button - Full Width */
.form-group:has(.btn-primary) {
    grid-column: 1 / -1 !important; /* Span both columns */
}

/* Required Field Indicator */
.required::after {
    content: " *" !important;
    color: #ef4444 !important;
    font-weight: 400 !important;
    margin-left: 0.125rem !important;
}

/* Register Page - Bigger Container */
.register-body {
    padding: 2.5rem 3rem 2rem !important; /* More padding than login */
}

.register-body .w-full.sm\\:max-w-md,
.login-body.register-body {
    max-width: 850px !important; /* Much bigger than login (280px) */
    width: 95% !important;
}

/* Override parent container constraints */
.w-full.sm\\:max-w-md:has(.register-body),
.min-h-screen:has(.register-body) .w-full.sm\\:max-w-md {
    max-width: 900px !important;
    width: 95% !important;
}

/* Adjust main screen container for register */
.min-h-screen:has(.register-body) {
    padding: 1.5rem !important;
}

/* ===== TWO COLUMN GRID LAYOUT ===== */

.form-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important; /* Large gap between columns */
    margin-bottom: 2.5rem !important;
}

.form-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important; /* Space between form groups */
}

/* ===== FORM STYLING ===== */

.form-group {
    width: 100% !important;
    margin-bottom: 0 !important;
}

.form-input {
    width: 100% !important;
    padding: 1rem 1.25rem !important; /* Bigger padding */
    font-size: 1rem !important; /* Larger text */
    border: 1px solid var(--border-color) !important;
    border-radius: var(--radius) !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: var(--text-primary) !important;
    transition: all 0.15s ease !important;
    line-height: 1.5 !important;
    min-height: 52px !important; /* Taller inputs */
    box-sizing: border-box !important;
}

.form-input:focus {
    border-color: var(--border-focus) !important;
    outline: 2px solid transparent !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgb(59, 130, 246 / 0.15) !important;
    background: rgba(255, 255, 255, 1) !important;
}

.form-input:hover {
    border-color: rgb(59, 130, 246 / 0.3) !important;
}

/* ===== LABELS - BIGGER TEXT ===== */

.register-body label,
.register-body x-input-label,
.register-body .form-label {
    font-size: 1rem !important;
    font-weight: 500 !important;
    margin-bottom: 0.5rem !important;
    color: var(--text-primary) !important;
}

/* ===== PASSWORD CONTAINER ===== */

.password-container {
    position: relative !important;
    width: 100% !important;
}

.password-input {
    padding-right: 3.5rem !important;
}

.password-toggle {
    position: absolute !important;
    right: 1rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0.75rem !important;
    color: var(--text-secondary) !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important;
    transition: all 0.15s ease !important;
}

.password-toggle:hover {
    color: var(--text-primary) !important;
    background-color: rgba(59, 130, 246, 0.1) !important;
}

.password-toggle svg {
    width: 1.25rem !important;
    height: 1.25rem !important;
}

/* ===== TERMS AND CONDITIONS ===== */

.terms-group {
    grid-column: 1 / -1 !important; /* Span both columns */
    margin: 2rem 0 2.5rem 0 !important;
    padding: 1.5rem 2rem !important;
    background: rgba(59, 130, 246, 0.02) !important;
    border: 1px solid rgba(59, 130, 246, 0.1) !important;
    border-radius: var(--radius) !important;
}

.terms-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 1.25rem !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    cursor: pointer !important;
    color: var(--text-primary) !important;
}

.terms-checkbox {
    width: 1.25rem !important;
    height: 1.25rem !important;
    margin-top: 0.125rem !important;
    flex-shrink: 0 !important;
    border: 2px solid var(--border-color) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    appearance: none !important;
    transition: all 0.15s ease !important;
}

.terms-checkbox:checked {
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    position: relative !important;
}

.terms-checkbox:checked::before {
    content: "✓" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: white !important;
    font-size: 0.75rem !important;
    font-weight: bold !important;
}

/* ===== REGISTER BUTTON ===== */

.form-group:has(.btn-primary) {
    grid-column: 1 / -1 !important;
    margin-top: 0.5rem !important;
}

.register-body .btn-primary {
    padding: 1.25rem 2.5rem !important;
    font-size: 1.125rem !important;
    min-height: 60px !important;
    font-weight: 600 !important;
}

/* ===== FOOTER LINKS ===== */

.register-body .footer-links {
    margin-top: 2rem !important;
    padding-top: 1.5rem !important;
    gap: 2rem !important;
}

.register-body .footer-links a {
    font-size: 1rem !important;
    padding: 0.75rem 1rem !important;
}

/* ===== REQUIRED FIELD INDICATOR ===== */

.required::after {
    content: " *" !important;
    color: #ef4444 !important;
    font-weight: 400 !important;
    margin-left: 0.125rem !important;
}

/* ===== RESPONSIVE DESIGN ===== */

@media (min-width: 1400px) {
    .register-body .w-full.sm\\:max-w-md,
    .login-body.register-body {
        max-width: 1000px !important;
    }

    .form-grid {
        gap: 4rem !important;
    }

    .register-body {
        padding: 3rem 4rem 2.5rem !important;
    }
}

@media (max-width: 1200px) {
    .register-body .w-full.sm\\:max-w-md,
    .login-body.register-body {
        max-width: 750px !important;
    }

    .form-grid {
        gap: 2.5rem !important;
    }
}

@media (max-width: 992px) {
    .register-body .w-full.sm\\:max-w-md,
    .login-body.register_body {
        max-width: 650px !important;
    }

    .form-grid {
        gap: 2rem !important;
    }

    .register-body {
        padding: 2rem 2.5rem 1.5rem !important;
    }
}

@media (max-width: 768px) {
    .register-body .w-full.sm\\:max-w-md,
    .login-body.register-body {
        max-width: calc(100% - 2rem) !important;
        margin: 1rem !important;
    }

    .register-body {
        padding: 1.5rem 1.5rem 1rem !important;
    }

    .form-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }

    .form-column {
        gap: 1.5rem !important;
    }

    .form-input {
        padding: 0.875rem 1rem !important;
        font-size: 0.9375rem !important;
        min-height: 48px !important;
    }

    .register-body .btn-primary {
        padding: 1rem 2rem !important;
        font-size: 1rem !important;
        min-height: 52px !important;
    }
}

@media (max-width: 640px) {
    .min-h-screen:has(.register_body) {
        padding: 0.75rem !important;
    }

    .register-body {
        padding: 1.25rem 1rem 1rem !important;
    }

    .form-grid {
        gap: 1.25rem !important;
    }

    .terms-group {
        padding: 1.25rem 1.5rem !important;
        margin: 1.5rem 0 2rem 0 !important;
    }
}

/* ===== ENSURE PROPER SIZING ===== */

.register-body form {
    width: 100% !important;
    max-width: none !important;
}

.register-body .form-group {
    width: 100% !important;
    max-width: none !important;
}

.register-body input,
.register-body .form-input {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* ===== IMPORTANT OVERRIDES ===== */

/* Force register container to be bigger */
.w-full.sm\\:max-w-md:has(.register-body) {
    max-width: 900px !important;
    width: 95% !important;
}

/* Alternative selector if :has() doesn't work */
.register-container {
    max-width: 900px !important;
    width: 95% !important;
}

/* Ensure register form takes priority */
body:has(.register-body) .w-full.sm\\:max-w-md {
    max-width: 900px !important;
    width: 95% !important;
}

/* ===== REGISTER PAGE OVERRIDE - FORCE WIDER LAYOUT ===== */

/* Target the register page specifically */
.register-body,
.login-body.register-body {
    padding: 2rem 2.5rem !important;
}

/* Force the container to be much wider */
.register-body ~ *,
.register-body,
.login-body.register-body,
.login-body.register-body .w-full,
.register-body .w-full {
    max-width: none !important;
    width: 100% !important;
}

/* Override the main container width specifically for register */
.w-full.sm\\:max-w-md {
    max-width: 280px !important; /* Default for login */
}

/* When register-body is present, make container bigger */
.w-full.sm\\:max-w-md:has(.register_body),
.w-full.sm\\:max-w-md:has(.login-body.register_body) {
    max-width: 800px !important;
    width: 90% !important;
}

/* Fallback for browsers that don't support :has() */
body .w-full.sm\\:max-w-md .register-body {
    width: 100% !important;
}

body .w-full.sm\\:max-w-md .login-body.register_body {
    width: 100% !important;
}

/* Force parent container */
.min-h-screen .w-full.sm\\:max-w-md .register-body,
.min-h-screen .w-full.sm\\:max-w-md .login-body.register_body {
    width: 100% !important;
}

/* ===== TWO COLUMN LAYOUT - FORCE APPLY ===== */

.register-body .form-grid,
.login-body.register_body .form-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2.5rem !important;
    margin-bottom: 2rem !important;
    width: 100% !important;
}

.register-body .form-column,
.login-body.register_body .form-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    width: 100% !important;
}

.register-body .form-group,
.login-body.register_body .form-group {
    width: 100% !important;
    margin-bottom: 0 !important;
}

.register-body .form-input,
.login-body.register_body .form-input,
.register-body input[type="text"],
.register-body input[type="email"],
.register-body input[type="password"],
.register-body input[type="tel"],
.register-body input[type="date"] {
    width: 100% !important;
    padding: 0.875rem 1rem !important;
    font-size: 0.9375rem !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--radius) !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: var(--text-primary) !important;
    transition: all 0.15s ease !important;
    line-height: 1.5 !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
}

.register-body .form-input:focus,
.login-body.register_body .form-input:focus,
.register-body input[type="text"]:focus,
.register-body input[type="email"]:focus,
.register-body input[type="password"]:focus,
.register-body input[type="tel"]:focus,
.register-body input[type="date"]:focus {
    border-color: var(--border-focus) !important;
    outline: 2px solid transparent !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px rgb(59, 130, 246 / 0.15) !important;
    background: rgba(255, 255, 255, 1) !important;
}


.register-body label,
.register-body x-input-label,
.login-body.register_body label,
.login-body.register_body x-input-label {
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    margin-bottom: 0.5rem !important;
    color: var(--text-primary) !important;
    display: block !important;
}


.register-body .password-container,
.login-body.register_body .password-container {
    position: relative !important;
    width: 100% !important;
}

.register-body .password-input,
.login-body.register_body .password-input {
    padding-right: 3rem !important;
}

.register-body .password-toggle,
.login-body.register_body .password-toggle {
    position: absolute !important;
    right: 0.75rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0.5rem !important;
    color: var(--text-secondary) !important;
    z-index: 10 !important;
}

.register-body .password-toggle:hover,
.login-body.register_body .password-toggle:hover {
    color: var(--text-primary) !important;
}

.register-body .password-toggle svg,
.login-body.register_body .password-toggle svg {
    width: 1.125rem !important;
    height: 1.125rem !important;
}

.register-body .terms-group,
.login-body.register_body .terms-group {
    grid-column: 1 / -1 !important;
    margin: 1.5rem 0 2rem 0 !important;
    padding: 1rem 1.5rem !important;
    background: rgba(59, 130, 246, 0.03) !important;
    border: 1px solid rgba(59, 130, 246, 0.1) !important;
    border-radius: var(--radius) !important;
}

.register-body .terms-label,
.login-body.register_body .terms-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
    color: var(--text-primary) !important;
}

.register-body .terms-checkbox,
.login-body.register_body .terms-checkbox {
    width: 1rem !important;
    height: 1rem !important;
    margin-top: 0.125rem !important;
    flex-shrink: 0 !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    appearance: none !important;
}

.register-body .terms-checkbox:checked,
.login-body.register_body .terms-checkbox:checked {
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    position: relative !important;
}

.register-body .terms-checkbox:checked::before,
.login-body.register_body .terms-checkbox:checked::before {
    content: "✓" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: white !important;
    font-size: 0.6875rem !important;
    font-weight: bold !important;
}


.register-body .btn-primary,
.login-body.register_body .btn-primary,
.register-body button[type="submit"],
.login-body.register_body button[type="submit"] {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    padding: 0.875rem 2rem !important;
    font-size: 1rem !important;
    min-height: 52px !important;
    font-weight: 600 !important;
}


.register-body .required::after,
.login-body.register_body .required::after {
    content: " *" !important;
    color: #ef4444 !important;
    font-weight: 400 !important;
    margin-left: 0.125rem !important;
}


@media (max-width: 768px) {
    .register-body .form-grid,
    .login-body.register_body .form-grid {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }

    .register-body,
    .login-body.register_body {
        padding: 1.5rem 1.25rem !important;
    }

    .w-full.sm\\:max-w-md:has(.register-body),
    .w-full.sm\\:max-w-md:has(.login-body.register_body) {
        max-width: calc(100% - 2rem) !important;
        width: calc(100% - 2rem) !important;
        margin: 1rem !important;
    }
}


.register-page .w-full.sm\\:max-w-md {
    max-width: 800px !important;
    width: 90% !important;
}


.wide-form {
    max-width: 800px !important;
    width: 90% !important;
}

.wide-form .form-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2.5rem !important;
}

@media (max-width: 768px) {
    .wide-form .form-grid {
        grid-template-columns: 1fr !important;
    }

    .wide-form {
        max-width: calc(100% - 2rem) !important;
        margin: 1rem !important;
    }
}

body:has(.register-body) .w-full.sm\\:max-w-md,
.w-full.sm\\:max-w-md .register-body,
.register-body {
    max-width: 800px !important;
    width: 95% !important;
}


.min-h-screen {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}


.login-body.register-body {
    width: 100% !important;
    max-width: none !important;
    padding: 2rem 2.5rem !important;
}


.w-full.sm\\:max-w-md:has(.login-body.register-body) {
    max-width: 800px !important;
    width: 95% !important;
}


.register-container {
    max-width: 800px !important;
    width: 95% !important;
    margin: 0 auto !important;
}

.register-container .w-full.sm\\:max-w-md {
    max-width: none !important;
    width: 100% !important;
}


.register-body .form-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
    width: 100% !important;
}

.register-body .form-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
}


@media (max-width: 768px) {
    .register-body .form-grid {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }

    .register-container,
    body:has(.register-body) .w-full.sm\\:max-w-md {
        max-width: calc(100% - 2rem) !important;
        width: calc(100% - 2rem) !important;
        margin: 1rem !important;
    }

    .password-toggle {
        position: absolute;
        top: 50%;
        right: 16px;
        transform: translateY(-60%);
        background: transparent;
        border: none;
        padding: 0;
        cursor: pointer;
        height: 32px;
        display: flex;
        align-items: center;
    }
}

.login-body .form-group,
.login-body .form-input,
.login-body .password-container,
.login-body .password-toggle {
    box-sizing: border-box;
}

.login-body .form-group {
    margin-bottom: 1.5rem;
}

.login-body .form-input,
.login-body .block.mt-1.w-full,
.login-body input[type="email"],
.login_body input[type="password"] {
    width: 100%;
    padding: 0.75rem 2.5rem 0.75rem 1rem;
    border: 1.5px solid #cfd8dc;
    border-radius: 0.5rem;
    background: #f7fafc;
    font-size: 1rem;
    color: #222e69;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
    box-shadow: none;
}

.login-body .form-input:focus,
.login-body .block.mt-1.w-full:focus,
.login-body input[type="email"]:focus,
.login_body input[type="password"]:focus {
    border-color: #222e69;
    box-shadow: 0 0 0 2px #222e6922;
}

.login-body .password-container {
    position: relative;
    width: 100%;
}

.login-body .password-toggle {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    height: 32px;
    display: flex;
    align-items: center;
    color: #222e69;
}

.login-body .password-toggle svg {
    width: 22px;
    height: 22px;
}

.login-body .x-input-label {
    font-weight: 600;
    color: #222e69;
    margin-bottom: 0.5rem;
    display: block;
}

.login-body .x-input-error {
    color: #e53e3e;
    font-size: 0.95rem;
    margin-top: 0.25rem;
}


.login-body .form-group,
.login-body .form-input,
.login-body .password-container,
.login-body .password-toggle {
    box-sizing: border-box;
}

.login-body .form-group {
    margin-bottom: 1.5rem;
}

.login-body .form-input,
.login-body .block.mt-1.w-full,
login_body input[type="email"],
login_body input[type="password"] {
    width: 100%;
    padding: 0.75rem 2.5rem 0.75rem 1rem;
    border: 1.5px solid #cfd8dc;
    border-radius: 0.5rem;
    background: #f7fafc;
    font-size: 1rem;
    color: #222e69;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
    box-shadow: none;
}

.login-body .form-input:focus,
.login-body .block.mt-1.w-full:focus,
login_body input[type="email"]:focus,
login_body input[type="password"]:focus {
    border-color: #222e69;
    box-shadow: 0 0 0 2px #222e6922;
}

.login-body .password-container {
    position: relative;
    width: 100%;
}

.login-body .password-toggle {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    height: 32px;
    display: flex;
    align-items: center;
    color: #222e69;
}

.login-body .password-toggle svg {
    width: 22px;
    height: 22px;
}

.login-body .x-input-label {
    font-weight: 600;
    color: #222e69;
    margin-bottom: 0.5rem;
    display: block;
}

.login-body .x-input-error {
    color: #e53e3e;
    font-size: 0.95rem;
    margin-top: 0.25rem;
}
