/**
 * Corporate overrides for extracted widget CSS files.
 */

/* Dashboard widgets — flat corporate */
.today-strip-icon {
    background: var(--corp-primary) !important;
    box-shadow: none !important;
}

.today-strip-icon.icon-emerald,
.today-strip-icon.icon-indigo,
.today-strip-icon.icon-amber {
    background: var(--corp-accent) !important;
    box-shadow: none !important;
}

.stat-pro,
.stat-pro:hover {
    animation: none !important;
    opacity: 1 !important;
}

.stat-pro-icon {
    background: var(--corp-accent-soft) !important;
    color: var(--corp-accent) !important;
    box-shadow: none !important;
}

.stat-pro-green .stat-pro-icon,
.stat-pro-emerald .stat-pro-icon,
.stat-pro-teal .stat-pro-icon,
.stat-pro-amber .stat-pro-icon {
    background: var(--corp-accent-soft) !important;
    color: var(--corp-accent) !important;
}

.empty-icon-wrapper,
.empty-sessions-icon-inner {
    animation: none !important;
    box-shadow: none !important;
}

.btn-primary-modern,
.btn-family-details,
.btn-create-session {
    background: var(--corp-primary) !important;
    box-shadow: var(--corp-shadow) !important;
}

.btn-primary-modern::before,
.btn-create-budget::before,
.btn-add-item-modern::before {
    display: none !important;
    content: none !important;
}

.btn-create-budget,
.btn-add-item-modern {
    background: var(--corp-primary) !important;
    box-shadow: var(--corp-shadow) !important;
}

/* Bootstrap buttons — flat corporate site-wide (app + modals + admin), no purple overlay */
body.app-authenticated .btn-primary::before,
body.app-authenticated .btn-primary::after,
body.app-authenticated .btn-outline-primary::before,
body.app-authenticated .btn-outline-primary::after,
body.app-authenticated .btn-success::before,
body.app-authenticated .btn-danger::before,
body.app-authenticated .btn-info::before,
.modal .btn-primary::before,
.modal .btn-outline-primary::before {
    display: none !important;
    content: none !important;
}

body.app-authenticated .btn-primary,
body.app-authenticated a.btn-primary,
body.app-authenticated button.btn-primary,
.modal .btn-primary {
    background: var(--corp-primary) !important;
    border-color: var(--corp-primary) !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: visible !important;
}

@media (hover: hover) {
    body.app-authenticated .btn-primary:hover,
    body.app-authenticated .btn-primary:focus,
    .modal .btn-primary:hover,
    .modal .btn-primary:focus {
        background: var(--corp-primary-hover) !important;
        border-color: var(--corp-primary-hover) !important;
        box-shadow: var(--corp-shadow-md) !important;
        transform: none !important;
    }
}

body.app-authenticated .btn-outline-primary,
body.app-authenticated a.btn-outline-primary,
.modal .btn-outline-primary {
    background: transparent !important;
    border: 2px solid var(--corp-accent) !important;
    color: var(--corp-accent) !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: visible !important;
}

body.app-authenticated .btn-outline-primary i,
.modal .btn-outline-primary i {
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
}

@media (hover: hover) {
    body.app-authenticated .btn-outline-primary:hover,
    body.app-authenticated .btn-outline-primary:focus,
    .modal .btn-outline-primary:hover,
    .modal .btn-outline-primary:focus {
        background: var(--corp-accent) !important;
        border-color: var(--corp-accent) !important;
        color: var(--corp-text-on-primary) !important;
        box-shadow: var(--corp-shadow-md) !important;
        transform: none !important;
    }
}

body.app-authenticated .btn-success,
.modal .btn-success {
    background: var(--corp-success) !important;
    border-color: var(--corp-success) !important;
    box-shadow: none !important;
}

body.app-authenticated .btn-danger,
.modal .btn-danger {
    background: var(--corp-danger) !important;
    border-color: var(--corp-danger) !important;
    box-shadow: none !important;
}

body.app-authenticated .btn-outline-secondary,
.modal .btn-outline-secondary {
    border-color: var(--corp-border) !important;
    color: var(--corp-text-secondary) !important;
    background: transparent !important;
    box-shadow: none !important;
}

@media (hover: hover) {
    body.app-authenticated .btn-outline-secondary:hover,
    .modal .btn-outline-secondary:hover {
        background: var(--corp-bg) !important;
        border-color: var(--corp-primary) !important;
        color: var(--corp-primary) !important;
        transform: none !important;
        box-shadow: none !important;
    }
}

/* ------------------------------------------------------------------ */
/* Breadcrumbs — professional / business (breadcrumb-modern + legacy)  */
/* ------------------------------------------------------------------ */

.breadcrumb-modern {
    background: var(--corp-surface) !important;
    border: 1px solid var(--corp-border-light) !important;
    border-radius: var(--corp-radius) !important;
    padding: 0.45rem 0.85rem !important;
    margin-bottom: 1rem !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: visible !important;
    transform: none !important;
}

.breadcrumb-modern::before,
.breadcrumb-modern::after,
.breadcrumb-link::before,
.breadcrumb-current::before {
    display: none !important;
    content: none !important;
    animation: none !important;
}

.breadcrumb-modern:hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: var(--corp-border) !important;
}

.breadcrumb-list {
    height: auto !important;
    min-height: 0 !important;
    gap: 0.15rem !important;
}

.breadcrumb-item {
    height: auto !important;
    line-height: 1.4 !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
}

.breadcrumb-separator-wrapper {
    height: auto !important;
    padding: 0 0.2rem !important;
}

.breadcrumb-separator {
    font-size: 0.625rem !important;
    color: var(--corp-border) !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
}

.breadcrumb-link {
    gap: 0.35rem !important;
    color: var(--corp-text-muted) !important;
    padding: 0.2rem 0.45rem !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 6px !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

.breadcrumb-link:hover {
    color: var(--corp-primary) !important;
    background: var(--corp-bg) !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
}

.breadcrumb-link i {
    font-size: 0.7rem !important;
    color: var(--corp-text-muted) !important;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;
}

.breadcrumb-link:hover i {
    color: var(--corp-primary) !important;
    background: none !important;
    box-shadow: none !important;
    transform: none !important;
}

.breadcrumb-link:hover .breadcrumb-text {
    font-weight: 500 !important;
}

.breadcrumb-current {
    gap: 0.35rem !important;
    color: var(--corp-text) !important;
    font-weight: 600 !important;
    padding: 0.2rem 0.55rem !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 6px !important;
    background: var(--corp-accent-soft) !important;
    border: 1px solid rgba(13, 148, 136, 0.18) !important;
    box-shadow: none !important;
    overflow: visible !important;
    animation: none !important;
}

.breadcrumb-current i {
    font-size: 0.7rem !important;
    color: var(--corp-accent) !important;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
}

.breadcrumb-item.active .breadcrumb-current {
    background: var(--corp-accent-soft) !important;
    color: var(--corp-text) !important;
    border-color: rgba(13, 148, 136, 0.22) !important;
    box-shadow: none !important;
    animation: none !important;
    height: auto !important;
    min-height: 0 !important;
}

.breadcrumb-item.active .breadcrumb-current i {
    color: var(--corp-accent) !important;
    background: none !important;
    box-shadow: none !important;
}

[data-bs-theme="dark"] .breadcrumb-modern {
    background: var(--corp-surface) !important;
    border-color: var(--corp-border) !important;
}

[data-bs-theme="dark"] .breadcrumb-link {
    color: var(--corp-text-muted) !important;
}

[data-bs-theme="dark"] .breadcrumb-link:hover {
    color: var(--corp-primary) !important;
    background: rgba(255, 255, 255, 0.05) !important;
}

[data-bs-theme="dark"] .breadcrumb-current,
[data-bs-theme="dark"] .breadcrumb-item.active .breadcrumb-current {
    color: var(--corp-text) !important;
    background: var(--corp-accent-soft) !important;
    border-color: rgba(13, 148, 136, 0.35) !important;
}

/* Bootstrap legacy breadcrumbs (blog, etc.) */
.breadcrumb,
.blog-article-breadcrumb .breadcrumb {
    --bs-breadcrumb-divider-color: var(--corp-border);
    --bs-breadcrumb-item-active-color: var(--corp-text);
    background: transparent !important;
    padding: 0.35rem 0 !important;
    margin-bottom: 0.75rem !important;
    font-size: 0.8125rem !important;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: var(--corp-border) !important;
    opacity: 1 !important;
}

.breadcrumb-item a {
    color: var(--corp-text-muted) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.breadcrumb-item a:hover {
    color: var(--corp-primary) !important;
    text-decoration: none !important;
}

.breadcrumb-item.active,
.breadcrumb-item.active.text-truncate-md {
    color: var(--corp-text) !important;
    font-weight: 600 !important;
}

.member-chip {
    background: var(--corp-primary) !important;
}

/* Shopping session items */
.gps-status-container {
    background: var(--corp-bg) !important;
    border: 1px solid var(--corp-border) !important;
    border-radius: var(--corp-radius) !important;
    color: var(--corp-text-secondary) !important;
}

.gps-status-container.success {
    background: rgba(13, 148, 136, 0.08) !important;
    border-color: var(--corp-accent) !important;
    color: var(--corp-success) !important;
}

.item-card,
.shopping-item-card,
.item-row-enhanced {
    border: 1px solid var(--corp-border-light) !important;
    border-radius: var(--corp-radius-lg) !important;
    box-shadow: var(--corp-shadow) !important;
}

.item-card:hover,
.shopping-item-card:hover {
    border-color: var(--corp-accent) !important;
    box-shadow: var(--corp-shadow-md) !important;
}

.items-header,
.items-toolbar {
    background: var(--corp-surface) !important;
    border: 1px solid var(--corp-border-light) !important;
    border-radius: var(--corp-radius-lg) !important;
}

.add-item-btn,
.btn-add-item {
    background: var(--corp-primary) !important;
    border-color: var(--corp-primary) !important;
}

/* Admin users header */
body.admin-surface .admin-users-page-header__inner {
    background: var(--corp-surface) !important;
    border: 1px solid var(--corp-border-light) !important;
    border-radius: var(--corp-radius-lg) !important;
    box-shadow: var(--corp-shadow) !important;
}

body.admin-surface .admin-users-page-header__icon {
    background: var(--corp-primary) !important;
    color: #fff !important;
}

/* Admin tickets */
.admin-tickets .ticket-card,
.admin-tickets .card {
    border-radius: var(--corp-radius-lg) !important;
    border-color: var(--corp-border-light) !important;
}

/* Groups list hero */
.groups-list-wrapper .page-header-modern .group-hero-action--primary {
    color: var(--corp-primary) !important;
}

/* App header dropdown — corporate */
.app-header .dropdown-menu:not(.language-dropdown) {
    border: 1px solid var(--corp-border-light) !important;
    border-radius: var(--corp-radius-lg) !important;
    box-shadow: var(--corp-shadow-md) !important;
}

.app-header .dropdown-menu:not(.language-dropdown) .dropdown-item > i.fas,
.app-header .dropdown-menu:not(.language-dropdown) .dropdown-item > i.far {
    background: var(--corp-primary) !important;
    box-shadow: none !important;
}

.app-header .dropdown-menu:not(.language-dropdown) .dropdown-item:hover {
    background: var(--corp-bg) !important;
    color: var(--corp-primary) !important;
}

/* Breadcrumb scroll fade edges */
.breadcrumb-modern--scroll {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 12px, #000 calc(100% - 12px), transparent);
    mask-image: linear-gradient(to right, transparent, #000 12px, #000 calc(100% - 12px), transparent);
}

.breadcrumb-guest {
    margin-bottom: 0.75rem;
}

/* App header icons — flat corporate */
.app-header .btn-icon,
.app-header .header-action-btn {
    background: var(--corp-surface) !important;
    border: 1px solid var(--corp-border-light) !important;
    box-shadow: none !important;
}

.app-header .btn-icon > i,
.app-header .header-action-btn > i {
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    color: var(--corp-primary) !important;
}

/* Global contrast purple overrides inside authenticated app */
body.app-authenticated .btn-primary,
body.app-authenticated .btn-primary:hover,
body.app-authenticated .btn-primary:focus {
    background: var(--corp-primary) !important;
    border-color: var(--corp-primary) !important;
    background-image: none !important;
}

body.app-authenticated .btn-outline-primary {
    color: var(--corp-accent) !important;
    border-color: var(--corp-accent) !important;
}

body.app-authenticated .btn-outline-primary:hover {
    background: var(--corp-accent) !important;
    border-color: var(--corp-accent) !important;
    color: #fff !important;
}

/* Group detail / badges — remove purple hero gradients */
body.app-authenticated .group-hero-banner,
body.app-authenticated .card-modern-enhanced::before,
body.app-authenticated .gradient-primary,
body.app-authenticated .info-card-gradient {
    background: var(--corp-primary) !important;
    background-image: none !important;
}

body.app-authenticated .group-detail-tabs .nav-link.active {
    background: var(--corp-primary) !important;
    border-color: var(--corp-primary) !important;
}

/* Group members list — neutralize inline purple */
body.app-authenticated .members-card-header {
    background: var(--corp-bg) !important;
    border-bottom: 1px solid var(--corp-border-light) !important;
}

body.app-authenticated .members-card-header h5,
body.app-authenticated .member-card-enhanced .member-name {
    color: var(--corp-text) !important;
}

body.app-authenticated .btn-invite-enhanced,
body.app-authenticated .member-card-enhanced .btn-primary,
body.app-authenticated .members-toolbar .btn-primary {
    background: var(--corp-primary) !important;
    border: none !important;
    background-image: none !important;
}

/* Budget cards — corporate flat */
.budgets-list .card {
    border: 1px solid var(--corp-border-light) !important;
    border-radius: var(--corp-radius-lg) !important;
    box-shadow: var(--corp-shadow) !important;
    background: var(--corp-surface) !important;
}

.budgets-list .card::before {
    display: none !important;
}

.budgets-list .card-header {
    background: var(--corp-bg) !important;
    border-bottom: 1px solid var(--corp-border-light) !important;
}

/* Dashboard gamification shortcuts */
.dashboard-gamification-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.dashboard-gamification-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.85rem 0.5rem;
    text-decoration: none;
    color: var(--corp-text);
    background: var(--corp-surface);
    border: 1px solid var(--corp-border-light);
    border-radius: var(--corp-radius-lg);
    box-shadow: var(--corp-shadow);
    min-height: 4.5rem;
}

.dashboard-gamification-card:hover {
    border-color: var(--corp-accent);
    color: var(--corp-primary);
}

.dashboard-gamification-card__icon {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--corp-accent-soft);
    color: var(--corp-accent);
}

.dashboard-gamification-card__label {
    font-size: 0.8125rem;
    font-weight: 600;
    text-align: center;
}

/* Profile edit section tabs */
.profile-edit-tabs {
    gap: 0.35rem;
    scrollbar-width: none;
}

.profile-edit-tabs::-webkit-scrollbar {
    display: none;
}

.profile-edit-tabs .nav-link {
    white-space: nowrap;
    font-size: 0.875rem;
}

.profile-edit-section {
    scroll-margin-top: 5rem;
}
