/*
 * Solayne admin colour structure:
 * deep-blue navigation, orange accents, pale workspace, and white data surfaces.
 */
:root {
    --solayne-blue: #16305c;
    --solayne-blue-soft: #25496f;
    --solayne-orange: #f2a900;
    --solayne-canvas: #f3f4f6;
    --solayne-table-head: #e9eef2;
    --solayne-border: #d8e0e7;
}

.fi-sidebar,
.fi-sidebar-header {
    background-color: var(--solayne-blue) !important;
}

.fi-main-ctn,
.fi-main {
    background-color: var(--solayne-canvas);
}

.fi-sidebar .fi-sidebar-group-label,
.fi-sidebar .fi-sidebar-item-label {
    color: rgb(255 255 255) !important;
}

.fi-sidebar .fi-logo,
.fi-sidebar-header .fi-logo,
.fi-main-sidebar .fi-logo,
.fi-sidebar .fi-logo * {
    color: #f2a900 !important;
    -webkit-text-fill-color: #f2a900 !important;
}

.fi-sidebar .fi-sidebar-item-icon,
.fi-sidebar .fi-sidebar-group-icon,
.fi-sidebar .fi-sidebar-group-collapse-button {
    color: rgb(209 213 219) !important;
}

.fi-sidebar .fi-sidebar-group-button {
    border-radius: 0.5rem;
    background-color: rgb(255 255 255 / 0.055);
}

.fi-sidebar .fi-sidebar-group-label {
    color: #dce8f5 !important;
    font-weight: 700;
}

.fi-sidebar .fi-sidebar-item-button:hover,
.fi-sidebar .fi-sidebar-group-button:hover {
    background-color: rgb(255 255 255 / 0.1) !important;
}

.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button {
    border-inline-start: 3px solid var(--solayne-orange);
    background-color: rgb(255 255 255 / 0.14) !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(--solayne-orange) !important;
}

/* Match the reference's pale toolbar and crisp white table rows. */
.fi-ta-ctn {
    border: 1px solid var(--solayne-border);
    background-color: #ffffff !important;
    box-shadow: 0 1px 2px rgb(22 48 92 / 0.04) !important;
}

.fi-ta-header-ctn,
.fi-ta-header-toolbar {
    background-color: #f0f3f5;
}

.fi-ta-table thead,
.fi-ta-header-cell {
    background-color: var(--solayne-table-head);
}

.fi-ta-row {
    background-color: #ffffff;
    border-color: var(--solayne-border);
}

.fi-ta-row:hover {
    background-color: #f8fafc !important;
}

.fi-ta-header-cell-label,
.fi-ta-text-item-label {
    color: #17233b !important;
}

.fi-header-heading,
.fi-section-header-heading,
.fi-ta-header-heading {
    color: var(--solayne-blue) !important;
}

.fi-topbar > nav {
    border-bottom: 1px solid var(--solayne-border);
    background-color: #ffffff !important;
}

/* Breadcrumbs sit above tables, so keep them readable on either main surface. */
.fi-breadcrumbs-item-label {
    color: var(--solayne-blue) !important;
}

a.fi-breadcrumbs-item-label:hover {
    color: #0f172a !important;
}

.fi-breadcrumbs-item-separator {
    color: #64748b !important;
}

.fi-breadcrumbs-item:last-child .fi-breadcrumbs-item-label {
    color: #9a6b00 !important;
}

.dark .fi-breadcrumbs-item-label {
    color: var(--solayne-blue) !important;
}

.dark a.fi-breadcrumbs-item-label:hover {
    color: #0f172a !important;
}

.dark .fi-breadcrumbs-item-separator {
    color: #64748b !important;
}

.dark .fi-main-ctn,
.dark .fi-main {
    background-color: var(--solayne-canvas);
    color: #17233b;
}

/* Tables deliberately stay light in both theme modes, like the reference UI. */
.dark .fi-ta-ctn,
.dark .fi-ta-row {
    border-color: var(--solayne-border) !important;
    background-color: #ffffff !important;
}

.dark .fi-ta-header-ctn,
.dark .fi-ta-header-toolbar {
    border-color: var(--solayne-border) !important;
    background-color: #f0f3f5 !important;
}

.dark .fi-ta-table thead,
.dark .fi-ta-header-cell {
    background-color: var(--solayne-table-head) !important;
}

.dark .fi-ta-content,
.dark .fi-ta-table,
.dark .fi-ta-table tbody {
    background-color: #ffffff !important;
}

.dark .fi-ta-header-cell-label,
.dark .fi-ta-text-item-label,
.dark .fi-ta-cell {
    color: #17233b !important;
}

.dark .fi-ta-row:hover {
    background-color: #f8fafc !important;
}

.dark .fi-ta-pagination,
.dark .fi-ta-empty-state,
.dark .fi-ta-selection-indicator {
    background-color: #ffffff !important;
    color: #334155 !important;
}

.dark .fi-ta-empty-state-heading,
.dark .fi-ta-empty-state-description,
.dark .fi-pagination-overview,
.dark .fi-pagination-item-label {
    color: #334155 !important;
}

.dark .fi-header-heading,
.dark .fi-section-header-heading,
.dark .fi-ta-header-heading {
    color: var(--solayne-blue) !important;
}

.dark .fi-wi-stats-overview-stat-label,
.dark .fi-ta-text-item-label,
.dark .fi-section-header-description {
    color: rgb(209 213 219) !important;
}

/* Main workspace typography stays dark on the intentionally light canvas. */
.fi-main,
.dark .fi-main,
.fi-main .fi-header-heading,
.fi-main .fi-section-header-heading,
.fi-main .fi-section-header-description,
.fi-main .fi-ta-header-heading,
.fi-main .fi-ta-header-description,
.fi-main .fi-ta-header-cell-label,
.fi-main .fi-ta-text-item-label,
.fi-main .fi-pagination-overview,
.fi-main .fi-pagination-item-label,
.fi-main .fi-fo-field-wrp-label,
.fi-main .fi-fo-field-wrp-label > span,
.fi-main .fi-fo-field-wrp-helper-text,
.fi-main .fi-input-wrp-label,
.fi-main .fi-input,
.fi-main .fi-select-input,
.fi-main .fi-wi-stats-overview-stat-label,
.fi-main .fi-wi-stats-overview-stat-value {
    color: #111827 !important;
}

/* Editing and creation forms use the same light cards as the data tables. */
.fi-main .fi-section,
.dark .fi-main .fi-section,
.fi-main .fi-section-content-ctn,
.dark .fi-main .fi-section-content-ctn {
    border-color: var(--solayne-border) !important;
    background-color: #ffffff !important;
}

.fi-main .fi-input-wrp,
.dark .fi-main .fi-input-wrp,
.fi-main .fi-fo-textarea,
.dark .fi-main .fi-fo-textarea {
    background-color: #ffffff !important;
    color: #111827 !important;
    --tw-ring-color: var(--solayne-border) !important;
}

.fi-main .filepond--panel-root,
.dark .fi-main .filepond--panel-root {
    background-color: #f8fafc !important;
}

.fi-main .filepond--drop-label,
.dark .fi-main .filepond--drop-label {
    color: #334155 !important;
}

/* High-contrast form actions: Create is primary; alternate actions are secondary. */
.fi-main .fi-form-actions .fi-btn.fi-color-primary {
    background-color: var(--solayne-orange) !important;
    color: var(--solayne-blue) !important;
}

.fi-main .fi-form-actions .fi-btn.fi-color-primary:hover {
    background-color: #d99600 !important;
}

.fi-main .fi-form-actions .fi-btn.fi-color-gray {
    background-color: #ffffff !important;
    color: var(--solayne-blue) !important;
    box-shadow: inset 0 0 0 1px #94a3b8 !important;
}

.fi-main .fi-form-actions .fi-btn.fi-color-gray:hover {
    background-color: #eef2f6 !important;
}

.fi-main .fi-form-actions .fi-btn .fi-btn-label {
    color: inherit !important;
}

.fi-main .filepond--label-action,
.dark .fi-main .filepond--label-action {
    border-radius: 0.375rem;
    background-color: var(--solayne-blue);
    color: #ffffff !important;
    padding: 0.25rem 0.625rem;
    text-decoration: none !important;
}

.fi-main .filepond--label-action:hover,
.dark .fi-main .filepond--label-action:hover {
    background-color: var(--solayne-blue-soft);
    color: var(--solayne-orange) !important;
}

/*
 * Dashboard "Modules" panel — a tinted surface so the white link cards read
 * as navigation and stay legible instead of white-on-white. Self-contained
 * classes (not .fi-section) so the forced-white section rule above doesn't
 * override the background.
 */
.solayne-modules {
    border: 1px solid var(--solayne-border);
    border-radius: 0.75rem;
    background-color: #e7ecf3;
    padding: 1.25rem 1.5rem;
}

.solayne-modules__heading {
    color: var(--solayne-blue);
    font-size: 0.95rem;
    font-weight: 700;
}

.solayne-modules__subheading {
    margin-top: 0.125rem;
    color: #5b6b7f;
    font-size: 0.8125rem;
}

.solayne-modules__groups {
    margin-top: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.solayne-modules__group-label {
    margin-bottom: 0.5rem;
    color: #5b6b7f;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.solayne-modules__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 0.625rem;
}

.solayne-modules__card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border: 1px solid var(--solayne-border);
    border-radius: 0.625rem;
    background-color: #ffffff;
    padding: 0.875rem;
    transition: border-color 75ms ease, box-shadow 75ms ease;
}

.solayne-modules__card:hover {
    border-color: var(--solayne-orange);
    box-shadow: 0 1px 3px rgb(22 48 92 / 0.12);
}

.solayne-modules__icon {
    display: flex;
    height: 2.5rem;
    width: 2.5rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    background-color: #fff3d6;
    color: var(--solayne-orange);
}

.solayne-modules__icon svg {
    height: 1.25rem;
    width: 1.25rem;
}

.solayne-modules__text {
    min-width: 0;
}

.solayne-modules__label {
    display: block;
    overflow: hidden;
    color: var(--solayne-blue);
    font-size: 0.875rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.solayne-modules__meta {
    display: block;
    color: #5b6b7f;
    font-size: 0.75rem;
}
