/* Login Page Specific Styles extracted from inline <style> */
:root {
    --font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    --color-brand-primary: #4f46e5;
    --color-brand-secondary: #a855f7;
    --color-red-primary: #dc2626;
    --color-red-secondary: #fef2f2;
    --color-orange-primary: #ea580c;
    --color-orange-secondary: #fff7ed;
    --color-green-primary: #16a34a;
    --color-green-secondary: #f0fdf4;
    --color-blue-primary: #2563eb;
    --color-blue-secondary: #eff6ff;
}
body.login-body {
    font-family: var(--font-family-sans);
    background: linear-gradient(to bottom right, #f9fafb, #f3f4f6, #e5e7eb);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 1rem;
    box-sizing: border-box;
    margin: 0;
}
.login-card {width:100%;max-width:28rem;background-color:rgba(255,255,255,0.9);backdrop-filter:blur(10px);border-radius:1rem;box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1);border:0;overflow:hidden;}
.card-header {text-align:center;padding:2rem 1.5rem 1.5rem 1.5rem;}
.card-header-icon {display:flex;justify-content:center;margin-bottom:1.5rem;}
.card-header-icon-bg {padding:1rem;border-radius:1rem;color:white;display:inline-flex;align-items:center;justify-content:center;}
.card-title {font-size:1.875rem;font-weight:800;}
.text-gradient-brand {background-image:linear-gradient(to right,var(--color-brand-primary),var(--color-brand-secondary));-webkit-background-clip:text;background-clip:text;color:transparent;}
.card-subtitle {color:#4b5563;margin-top:0.5rem;}
.card-content {padding:1.5rem 2rem 2.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem;}
.card-content form {display:flex;flex-direction:column;gap:1.5rem;}
.input-group {position:relative;}
.input-icon {position:absolute;left:0.75rem;top:50%;transform:translateY(-50%);color:#9ca3af;width:1rem;height:1rem;}
.form-label {display:block;margin-bottom:0.5rem;font-weight:500;color:#374151;}
.form-control {display:block;width:90%;padding:0.75rem 0.75rem 0.75rem 2.5rem;border:1px solid #e5e7eb;border-radius:0.5rem;box-shadow:none;transition:all 0.2s;}
.form-control:focus {border-color:var(--color-brand-primary);box-shadow:0 0 0 2px rgba(79,70,229,0.25);outline:none;}
.field-validation-error,.validation-summary-errors {color:var(--color-red-primary);font-size:.875rem;margin-top:.25rem;}
.validation-summary-errors ul {padding-left:20px;margin-bottom:0;}
.btn-primary-gradient {width:100%;background-image:linear-gradient(to right,var(--color-brand-primary),var(--color-brand-secondary));color:white;font-weight:600;padding:0.75rem;border:none;border-radius:0.5rem;cursor:pointer;transition:all 0.2s;}
.btn-primary-gradient:hover {opacity:.9;box-shadow:0 4px 15px -5px rgba(168,85,247,0.5);}
.btn-primary-gradient:disabled {opacity:.6;cursor:not-allowed;}
.btn-outline {width:100%;font-weight:500;padding:0.65rem;border:1px solid #d1d5db;background-color:white;color:#374151;border-radius:0.5rem;cursor:pointer;transition:all 0.2s;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;}
.btn-outline-red {border-color:#fca5a5;color:var(--color-red-primary);}
.btn-outline-red:hover {background-color:var(--color-red-secondary);} 
.btn-link {width:100%;background:none;border:none;color:var(--color-brand-primary);cursor:pointer;font-size:0.875rem;text-align:center;}
.btn-link:hover {text-decoration:underline;color:#3730a3;}
.alert-box {border-radius:0.75rem;padding:1rem;border:1px solid;background-color:#f9fafb;}
.alert-box-header {display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem;font-weight:500;}
.alert-box-body {font-size:0.875rem;line-height:1.5;}
.alert-box-orange {border-color:#fed7aa;background-color:var(--color-orange-secondary);color:#9a3412;}
.alert-box-orange .alert-box-header {color:var(--color-orange-primary);}
.alert-box-green {border-color:#bbf7d0;background-color:var(--color-green-secondary);color:#166534;}
.alert-box-green .alert-box-header {color:var(--color-green-primary);}
.alert-box-green .btn-primary-green {background-color:var(--color-green-primary);color:white;width:100%;border:none;border-radius:0.5rem;padding:0.5rem;cursor:pointer;font-weight:500;margin-top:0.75rem;}
.alert-box-green .btn-primary-green:hover {background-color:#15803d;}
.alert-box-blue {border-color:#bfdbfe;background-color:var(--color-blue-secondary);color:#1e40af;}
.alert-box-blue .alert-box-header {color:var(--color-blue-primary);}
.svg-icon {width:1rem;height:1rem;display:inline-block;vertical-align:middle;}
.svg-icon-lg {width:3rem;height:3rem;}
.svg-icon-xl {width:4rem;height:4rem;}
/* Utility classes for gradients used inline */
.gradient-brand {background:linear-gradient(to right,var(--color-brand-primary),var(--color-brand-secondary));}
.gradient-danger-orange {background:linear-gradient(to right,#ef4444,#f97316);}
.gradient-danger-pink {background:linear-gradient(to right,#ef4444,#ec4899);}
.gradient-mail {background:linear-gradient(to right,var(--color-brand-primary),var(--color-brand-secondary));}
/* End of extracted styles */
