/*
 * HR Bingo brand theme for the Filament panels.
 * Brand colours come from the HR Bingo logo: navy #003268, yellow #FFC814.
 * Primary (buttons, links, focus) is navy, set in App\Support\Brand.
 * Menus (side or top) are white; the selected item is light blue with navy
 * text. Navy is kept for buttons; yellow for the thin line at the top.
 */
:root {
    --hb-navy: #003268;
    --hb-navy-dark: #00244c;
    --hb-yellow: #ffc814;
    --hb-page: #f4f6fa;
}

/* Page background: a faint navy tint instead of plain grey */
.fi-body {
    background-color: var(--hb-page);
}

/* Logo: the normal (navy) logo everywhere; a white-text version exists in
   public/images for any future dark surface. */
.hb-logo { display: block; height: 100%; width: auto; }
.hb-logo-light { display: none; }

/* Side menu (company panel): white, grey text, light-blue selected item with
   navy text. Navy is kept for buttons. */
.fi-sidebar .fi-sidebar-item-label {
    color: #374151;
}
.fi-sidebar .fi-sidebar-item-icon {
    color: #6b7280;
}
.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background-color: #e6edf7 !important;
}
.fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-icon {
    color: var(--hb-navy) !important;
    font-weight: 600;
}

/* Company name at the top of the company side menu */
.hb-company {
    margin: 0 0.5rem 0.75rem;
    padding: 0.625rem 0.75rem;
    border-radius: 0.5rem;
    background-color: var(--hb-page);
    line-height: 1.25;
}
.hb-company-name { font-weight: 600; color: var(--hb-navy); font-size: 0.875rem; }
.hb-company-url { color: #6b7280; font-size: 0.75rem; }

/* Thin yellow brand line across the top of every page */
.fi-topbar,
.fi-simple-layout {
    border-top: 3px solid var(--hb-yellow);
}

/* ---- Top navigation layout (panels using ->topNavigation(), e.g. the Super Admin) ----
 * White top bar with the normal logo; navy is kept for buttons, and the
 * selected tab gets a light-blue highlight with navy text.
 */
.fi-body-has-top-navigation .fi-topbar {
    background-color: #fff !important;
    border-bottom: 1px solid rgb(0 50 104 / 0.08) !important;
}
.fi-body-has-top-navigation .fi-topbar-item-label {
    color: #374151 !important;
}
.fi-body-has-top-navigation .fi-topbar-item-icon {
    color: #6b7280 !important;
}
.fi-body-has-top-navigation .fi-topbar-item-btn:hover {
    background-color: #f3f4f6 !important;
}
.fi-body-has-top-navigation .fi-topbar-item.fi-active .fi-topbar-item-btn {
    background-color: #e6edf7 !important;
}
.fi-body-has-top-navigation .fi-topbar-item.fi-active .fi-topbar-item-label,
.fi-body-has-top-navigation .fi-topbar-item.fi-active .fi-topbar-item-icon {
    color: var(--hb-navy) !important;
    font-weight: 600;
}

/* Consultant access bar (company panel, while a Super Admin is visiting) */
.hb-consultant-bar {
    background-color: var(--hb-yellow);
    color: var(--hb-navy);
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    padding: 0.4rem 1rem;
}

/* Approval history in the inbox */
.hb-history { list-style: none; margin: 0; padding: 0; font-size: .875rem; }
.hb-history li { padding: .5rem 0; border-bottom: 1px solid #eef1f5; }
.hb-history li:last-child { border-bottom: 0; }
.hb-history-when { color: #6b7280; margin-left: .25rem; }
.hb-history-comment { color: #374151; margin-top: .25rem; }

/* Monthly attendance register: narrow day columns */
.hb-day-col { padding-left: 2px !important; padding-right: 2px !important; min-width: 30px; text-align: center; font-size: 12px; }
.hb-day { display: inline-flex; flex-direction: column; align-items: center; line-height: 1.1; font-size: 12px; }
.hb-day small { color: #9ca3af; font-weight: 400; font-size: 10px; }
td.hb-sun { background: #fafbfc; }
.hb-link { color: #003268; text-decoration: underline; }

/* Compact tables: less padding per row; employee code under the name in small type */
.fi-ta-text:not(.fi-inline), .fi-ta-icon:not(.fi-inline), .fi-ta-actions-cell .fi-ta-actions { padding-top: 0.4rem !important; padding-bottom: 0.4rem !important; }
.fi-ta-text-description { font-size: 0.75rem !important; line-height: 1rem !important; margin-top: 0 !important; }
.fi-ta-header-cell { padding-top: 0.55rem !important; padding-bottom: 0.55rem !important; }
.fi-ta-text-item, .fi-ta-text { font-size: 0.875rem; }

/* Expense claim details */
.hb-expense-items { width: 100%; font-size: .875rem; border-collapse: collapse; margin-bottom: .5rem; }
.hb-expense-items th { text-align: left; font-weight: 600; padding: .35rem .5rem; border-bottom: 1px solid #e5e7eb; }
.hb-expense-items td { padding: .35rem .5rem; border-bottom: 1px solid #eef1f5; vertical-align: top; }
.hb-expense-items tfoot td { border-bottom: 0; }
