/* company_brand - brand overrides (compatible with sundae_theme) */
:root {
    --brand-primary: #1d7bd6;
    --brand-primary-hover: #1662ab;
    --brand-primary-text: #ffffff;
    --brand-surface: #f5f9ff;
    --brand-surface-contrast: #1f2a36;
    --brand-login-bg: linear-gradient(135deg, rgba(29, 123, 214, 0.92), rgba(19, 87, 156, 0.92));
    --brand-login-card-bg: rgba(255, 255, 255, 0.92);
}

/* =============================================================================
   HIDE ONBOARDING WIDGETS
   These contain hardcoded ERPNext references that cannot be translated.
   Hiding is cleaner than patching every text instance.
   ============================================================================= */

/* Hide onboarding widget by attribute - most specific selector */
div[onboarding_name],
div[onboarding_name="Home"],
.widget.onboarding-widget-box,
.onboarding-widget-box {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide onboarding steps wrapper */
.onboarding-steps-wrapper,
.onboarding-step-preview,
.onboarding-step-body,
.onboarding-step {
    display: none !important;
}

/* Hide by data-widget-name attribute */
[data-widget-name*="onboarding"],
[data-widget-name="onboarding-widget-box"] {
    display: none !important;
}

/* Hide module onboarding */
.module-onboarding,
.onboarding-widget,
.onboarding-help-wrapper {
    display: none !important;
}

/* Hide parent containers that only contain onboarding */
.ce-block:has(.onboarding-widget-box),
.ce-block:has([onboarding_name]) {
    display: none !important;
}

/* Hide "Getting Started" type cards */
.widget[data-widget-name="getting_started"],
.widget.getting-started-widget {
    display: none !important;
}

.navbar .brand-logo {
    height: 44px;
    margin-top: 2px;
}

/* Hide footer 'powered by' section that contains ERPNext/Frappe links */
.footer-powered-by,
.footer-powered,
div.footer-powered,
.footer-col-right.col-sm-6.col-12.footer-powered,
.footer-col-right a[href*="frappe.io"],
.footer-col-right a[href*="erpnext"],
a[href*="frappe.io/erpnext"],
a.text-muted[href*="frappe.io"] {
    display: none !important;
    visibility: hidden !important;
}

/* Hide the "Powered by" text and link in web footer */
.web-footer .footer-powered,
.web-footer a[href*="erpnext"],
footer a[href*="frappe.io/erpnext"],
footer .footer-powered {
    display: none !important;
    visibility: hidden !important;
}

/* Company branding that works with sundae_theme */
.navbar .navbar-brand {
    color: inherit !important;
    font-weight: 600;
}

.navbar .navbar-brand:hover,
.navbar .navbar-brand:focus-visible {
    color: var(--brand-primary) !important;
}

/* Ensure logo displays properly in all sundae themes */
.navbar .brand-logo {
    filter: none !important;
    opacity: 1 !important;
}

/* Add margin to main app logo if needed */
.app-icon { background: none; }

/* Theme-aware company accent for special elements */
.company-accent {
    color: var(--brand-primary);
}

/* =============================================================================
   LOGIN PAGE STYLING
   ============================================================================= */

/* Login page header navbar - white background with shadow */
body[data-path="login"] .navbar,
.web-footer ~ .navbar,
.for-login ~ .navbar {
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

body[data-path="login"] .navbar a,
body[data-path="login"] .navbar .navbar-brand {
    color: #1f2a36 !important;
}

body[data-path="login"] .navbar .brand-logo {
    height: 32px !important;
}

/* Main login page background */
#page-login {
    min-height: calc(100vh - 60px) !important;
    background: linear-gradient(135deg, #1a6fc4 0%, #0d4a8a 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px 20px !important;
}

/* Remove any overlay */
#page-login::before {
    display: none !important;
}

/* Login sections container */
.for-login,
.for-login-with-email-link,
.for-signup,
.for-forgot,
.for-email-login {
    width: 100% !important;
    max-width: 400px !important;
    margin: 0 auto !important;
}

/* Page card head - logo section OUTSIDE card */
.for-login > .page-card-head,
.for-forgot > .page-card-head,
.for-signup > .page-card-head,
.for-login-with-email-link > .page-card-head,
.for-email-login > .page-card-head {
    text-align: center !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
}

/* Logo image */
.for-login > .page-card-head img.app-logo,
.for-forgot > .page-card-head img.app-logo,
.for-signup > .page-card-head img.app-logo {
    height: 48px !important;
    width: auto !important;
    margin-bottom: 16px !important;
}

/* Title text */
.for-login > .page-card-head h4,
.for-forgot > .page-card-head h4,
.for-signup > .page-card-head h4 {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

/* Main login card */
.login-content.page-card {
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3) !important;
    border: none !important;
    overflow: hidden !important;
    padding: 0 !important;
}

/* Card body */
.login-content .page-card-body {
    padding: 32px !important;
}

/* Form fields container */
.login-content .form-group,
.for-login .form-group {
    margin-bottom: 16px !important;
}

/* Email/Password field wrapper */
.login-content .email-field,
.login-content .password-field {
    position: relative !important;
}

/* Input fields */
.login-content .form-control,
#login_email,
#login_password {
    width: 100% !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 12px 16px 12px 44px !important;
    font-size: 15px !important;
    color: #1e293b !important;
    background: #f8fafc !important;
    transition: all 0.2s ease !important;
    height: auto !important;
}

.login-content .form-control:focus,
#login_email:focus,
#login_password:focus {
    border-color: var(--brand-primary) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(29, 123, 214, 0.15) !important;
    outline: none !important;
}

.login-content .form-control::placeholder {
    color: #94a3b8 !important;
}

/* Field icons */
.login-content .field-icon {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #94a3b8 !important;
}

/* Show password toggle */
.login-content .toggle-password {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    background: none !important;
    border: none !important;
    padding: 4px 8px !important;
}

.login-content .toggle-password:hover {
    color: var(--brand-primary) !important;
}

/* Forgot password */
.login-content .forgot-password-message {
    text-align: right !important;
    margin: 8px 0 20px !important;
}

.login-content .forgot-password-message a {
    color: #64748b !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.login-content .forgot-password-message a:hover {
    color: var(--brand-primary) !important;
}

/* Page card actions - buttons */
.login-content .page-card-actions {
    padding: 0 32px 32px !important;
}

/* Primary login button */
.btn-primary.btn-login {
    width: 100% !important;
    background: var(--brand-primary) !important;
    border: none !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 14px 24px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(29, 123, 214, 0.3) !important;
    transition: all 0.2s ease !important;
}

.btn-primary.btn-login:hover {
    background: var(--brand-primary-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(29, 123, 214, 0.4) !important;
}

/* Social logins section */
.login-content .social-logins {
    padding: 0 32px 24px !important;
}

/* Divider "or" */
.login-content .login-divider {
    color: #94a3b8 !important;
    font-size: 14px !important;
    margin: 20px 0 !important;
}

/* Secondary buttons */
.login-content .btn-login-option,
.btn-login-with-email-link {
    width: 100% !important;
    background: #ffffff !important;
    border: 2px solid #e2e8f0 !important;
    color: #475569 !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
    margin-bottom: 10px !important;
}

.login-content .btn-login-option:hover,
.btn-login-with-email-link:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

/* Sign up message */
.sign-up-message {
    margin-top: 20px !important;
    color: #ffffff !important;
    font-size: 14px !important;
}

.sign-up-message a {
    color: #ffffff !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

/* Hide any split image layout that themes might add */
.login-content .row > .col-lg-6:first-child:not(:only-child),
.login-content .login-image,
.page-card .login-sidebar {
    display: none !important;
}

/* Make sure form takes full width */
.login-content .row > .col-lg-6:last-child {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* =============================================================================
   FORM TOOLBAR / TABS OVERLAP FIX
   When a form has many action buttons (e.g. Logistics Order), the toolbar can
   wrap and overlap the tab row (Details, Chit Details, etc.) below. Ensure
   a clear gap so tabs remain visible and clickable.
   ============================================================================= */
.page-head {
    margin-bottom: 14px;
}
.layout-main-section-wrapper {
    padding-top: 10px;
}
/* Tabs row under the form toolbar: extra spacing when toolbar has many actions */
.layout-main .form-dashboard-section .nav-tabs,
.layout-main .nav-tabs.form-tabs {
    margin-top: 8px;
}

/* Ensure main content doesn't sit under sticky page-head when toolbar wraps */
.layout-main .layout-main-section {
    padding-top: 4px;
}

/* Ensure our branding works in dark themes */
@media (prefers-color-scheme: dark) {
    .navbar .brand-logo {
        filter: brightness(0) saturate(100%) invert(95%) sepia(6%) saturate(196%) hue-rotate(169deg) brightness(99%) contrast(85%);
    }
    .navbar .navbar-brand:hover,
    .navbar .navbar-brand:focus-visible {
        color: var(--brand-primary-text) !important;
        text-shadow: 0 0 6px rgba(29, 123, 214, 0.35);
    }
}
