/* ===== Custom PowerGrid Row Styles ===== */
/* Pending rows (mid-wizard drafts, step > 0) -- v3 "in progress" tint (change-log
   2026-10-11): --azul-nevoa background, --bovine-900 bold text, a --azul-principal
   left edge. Was a bright orange #ffb834, which read as an error for a normal
   in-progress state. `.pg-row-pending` is the accurate name; `.pg-row-danger` is
   kept as an alias because every grid's actionRules() still sets it. */
.pg-row-pending,
.pg-row-pending td,
.pg-row-danger,
.pg-row-danger td {
    background-color: #DCE8F2 !important;
    color: #1C1E20 !important;
    font-weight: 600 !important;
}

.pg-row-pending td:first-child,
.pg-row-danger td:first-child {
    box-shadow: inset 3px 0 0 #2F6FA8;
}

/* ===== Page Container ===== */
.page-container {
    padding: 1.5rem;
    background-color: #f8f9fb;
}

/* ===== Tab Background ===== */
.tab-pane-background {
    background-color: #f8f9fb;
    padding: 20px;
    border-radius: 6px;
}

/* ===== Tabs Navigation Hover ===== */
.arrow-navtabs .nav-link {
    cursor: pointer;
}

/* ===== Typography ===== */
.page-title {
    font-weight: 600;
    letter-spacing: 0.3px;
}

.page-subtitle {
    font-size: 0.85rem;
    color: #98a6ad;
}

/* ===== Ribbon ===== */
.ribbon-box .ribbon-news {
    background: #374151;
}

/* ===== Modal Headers ===== */
.header-dark {
    background-color: #374151;
    border-bottom: 1px solid #2d3748;
}

/* ===== Buttons ===== */
.btn-dark-custom {
    background-color: #374151;
    border-color: #374151;
    color: #fff;
}

.btn-dark-custom:hover {
    background-color: #2d3748;
    border-color: #2d3748;
}

/* ===== Topbar Background ===== */
.topbar-dark-custom {
    background-color: #374151;
    border-bottom: 1px solid #2d3748;
}

/* ===== Title ===== */
.title-dark-custom {
    color: #374151;
    font-weight: 700;
    font-size: 1.6em;
    text-align: left;
}

/* ===== Modal Tabs/Headers ===== */
.custom-tab-bg {
    background-color: #f8f9fb !important;
}

.custom-tab-bg-white {
    background-color: #ffffff !important;
}

/* Base header style */
.custom-tab-bg .card-header {
    background-color: #f8f9fb;
    transition: all 0.2s ease;
    cursor: pointer;
}

/* Hover effect */
.custom-tab-bg .card-header:hover {
    background-color: #e6eaf1;
}

/* Active (OPEN tab) */
.custom-tab-bg.active-tab .card-header {
    background-color: #e6eaf1;
    box-shadow: inset 0 0 0 0.5px #cdd5e1;
}

/* Chevron animation polish */
.rotate-icon i {
    transition: transform 0.3s ease;
}

/* Flooting footer */
.wizard-nav-custom {
    position: absolute;
    bottom: -15px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 10px 16px;
    margin: 0 16px 10px 16px;
    box-sizing: border-box;
}

/* Every wizard/tabbed modal following this "floating footer" pattern
   (`.wizard-nav-custom` -- Previous/Exit/Next or similar, ~100 modals
   reuse it) positions that footer `absolute`, so it's removed from
   normal flow and the scrollable `.modal-body` above it has no idea it
   needs to leave room. Scrolled all the way down, the last row of a
   tab's fields ends up sitting directly under the floating buttons with
   nothing left to scroll past to clear them -- reported against IDMS
   Systems tab 1 (Vat Code/Currency/Exchange Rate, the tab's last row),
   but the same layout affects every modal in this family whose active
   tab is tall enough to scroll. `:has()` scopes this to only the
   `.modal-body` that actually precedes a floating footer, so modals
   without one are untouched. ~94px accounts for the footer's own
   padding/margins plus one row of buttons -- see the `.wizard-nav-custom`
   / `.wizard-actions-custom` rules above for the box model this is
   clearing (change-log 2026-09-11). */
.modal-body:has(+ .wizard-nav-custom) {
    padding-bottom: 94px;
}

/* NEW: button container box */
.wizard-actions-custom {
    display: flex;

    gap: 10px;
    background: #fff;
    padding: 10px 14px;
    border-radius: 10px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
    margin-bottom: 16px;
}

/* FullCalendar buttons → Bootstrap primary */

/* Base button */
.fc .fc-button {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #fff !important;
}

/* Hover */
.fc .fc-button:hover {
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
    color: #fff !important;
}

/* Active / pressed */
.fc .fc-button:active,
.fc .fc-button.fc-button-active {
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
    color: #fff !important;
}

/* Focus */
.fc .fc-button:focus {
    box-shadow: none !important;
}

/*  Today button in ALL states */
.fc .fc-today-button,
.fc .fc-today-button:disabled,
.fc .fc-today-button:not(:disabled),
.fc .fc-today-button.fc-button-active {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #fff !important;
}

.fc .fc-today-button:hover {
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
}
