/* ViaFly Admin — Brand theme (logo teal + dark sidebar) */

:root {
    --via-teal: #44d7c9;
    --via-teal-dark: #2ec4b6;
    --via-teal-darker: #25a99d;
    --via-teal-light: #e8fbf9;
    --via-teal-muted: #b8efe8;
    --via-black: #0a0a0a;
    --via-sidebar: #111111;
    --via-sidebar-hover: #1c1c1c;
    --via-sidebar-active: rgba(68, 215, 201, 0.14);
    --via-content: #f3f7fa;
    --via-white: #ffffff;
    --via-text: #1a2332;
    --via-text-muted: #64748b;
    --via-border: #e2e8f0;
}

/* ── Login page ── */
.fi-simple-layout {
    background: linear-gradient(145deg, #0a0a0a 0%, #111827 40%, #134e4a 100%) !important;
}

.fi-simple-main {
    background: var(--via-white) !important;
    border: 1px solid var(--via-border) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25) !important;
    border-radius: 12px !important;
}

.fi-simple-header-heading {
    color: var(--via-text) !important;
}

.fi-simple-header-subheading {
    color: var(--via-teal-darker) !important;
}

.fi-simple-main .fi-btn-color-primary {
    background: linear-gradient(135deg, var(--via-teal) 0%, var(--via-teal-dark) 100%) !important;
    color: #0a0a0a !important;
    font-weight: 600 !important;
    border: none !important;
}

.fi-simple-main .fi-btn-color-primary:hover {
    background: linear-gradient(135deg, var(--via-teal-dark) 0%, var(--via-teal-darker) 100%) !important;
    color: #fff !important;
}

.fi-simple-layout::after {
    content: 'ViaFly — Travel & Fintech Platform';
    color: rgba(255, 255, 255, 0.45);
}

/* ── Shell ── */
.fi-body {
    background-color: var(--via-content) !important;
}

.fi-topbar {
    background-color: var(--via-white) !important;
    border-bottom: 1px solid var(--via-border) !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
}

.fi-topbar-item-label,
.fi-topbar .fi-icon-btn {
    color: var(--via-text) !important;
}

/* ── Dark sidebar (matches logo background) ── */
.fi-sidebar {
    background: linear-gradient(180deg, var(--via-black) 0%, var(--via-sidebar) 100%) !important;
    border-right: 1px solid rgba(68, 215, 201, 0.12) !important;
}

.fi-sidebar-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(68, 215, 201, 0.15) !important;
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
}

.fi-sidebar-header .fi-logo img {
    filter: none;
    border-radius: 0;
    background: transparent;
    padding: 0;
}

.fi-sidebar-group-label {
    color: rgba(68, 215, 201, 0.55) !important;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Base nav item */
.fi-sidebar .fi-sidebar-item-button {
    color: rgba(255, 255, 255, 0.88) !important;
    border-radius: 8px !important;
    margin: 2px 10px !important;
    border-left: 3px solid transparent !important;
}

/* Override Filament light-mode hover/active (bg-gray-100) on dark sidebar */
.fi-sidebar .fi-sidebar-item-button:hover,
.fi-sidebar .fi-sidebar-item-button:focus-visible {
    background-color: #1e1e1e !important;
}

.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button,
.fi-sidebar .fi-sidebar-item-active > .fi-sidebar-item-button {
    background-color: rgba(68, 215, 201, 0.18) !important;
    border-left: 3px solid var(--via-teal) !important;
    box-shadow: inset 0 0 24px rgba(68, 215, 201, 0.08);
}

/* Default label & icon — always readable on dark bg */
.fi-sidebar .fi-sidebar-item-label {
    color: rgba(255, 255, 255, 0.9) !important;
}

.fi-sidebar .fi-sidebar-item-icon {
    color: rgba(255, 255, 255, 0.75) !important;
}

/* Hover — teal highlight, NOT white-on-white */
.fi-sidebar .fi-sidebar-item-button:hover .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item-button:focus-visible .fi-sidebar-item-label {
    color: var(--via-teal) !important;
    font-weight: 600 !important;
}

.fi-sidebar .fi-sidebar-item-button:hover .fi-sidebar-item-icon,
.fi-sidebar .fi-sidebar-item-button:focus-visible .fi-sidebar-item-icon {
    color: var(--via-teal) !important;
}

/* Active / selected page */
.fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item-active .fi-sidebar-item-label {
    color: var(--via-teal) !important;
    font-weight: 700 !important;
}

.fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-icon,
.fi-sidebar .fi-sidebar-item-active .fi-sidebar-item-icon {
    color: var(--via-teal) !important;
}

/* Active item hovered — keep teal text, slightly brighter bg */
.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button:hover {
    background-color: rgba(68, 215, 201, 0.28) !important;
}

.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button:hover .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button:hover .fi-sidebar-item-icon {
    color: #5eead4 !important;
}

.fi-sidebar-collapse-button {
    color: rgba(255, 255, 255, 0.7) !important;
}

.fi-sidebar-collapse-button:hover {
    color: var(--via-teal) !important;
    background-color: #1e1e1e !important;
}

/* Kill Filament Tailwind light-theme classes inside dark sidebar */
.fi-sidebar a.bg-gray-100,
.fi-sidebar .hover\:bg-gray-100:hover,
.fi-sidebar .focus-visible\:bg-gray-100:focus-visible {
    background-color: #1e1e1e !important;
}

.fi-sidebar .fi-sidebar-item.fi-active > a.bg-gray-100 {
    background-color: rgba(68, 215, 201, 0.18) !important;
}

.fi-sidebar .text-gray-700 {
    color: rgba(255, 255, 255, 0.9) !important;
}

.fi-sidebar .text-gray-400 {
    color: rgba(255, 255, 255, 0.7) !important;
}

.fi-sidebar .fi-sidebar-item.fi-active .text-primary-600,
.fi-sidebar .fi-sidebar-item.fi-active .text-gray-700 {
    color: var(--via-teal) !important;
}

.fi-sidebar .fi-sidebar-item-button:hover .text-gray-700,
.fi-sidebar .fi-sidebar-item-button:hover .text-gray-400 {
    color: var(--via-teal) !important;
}

/* ── Main content ── */
.fi-main,
.fi-main-ctn {
    background-color: var(--via-content) !important;
}

.fi-page-header-heading {
    color: var(--via-text) !important;
    font-weight: 700 !important;
}

.fi-section {
    background-color: var(--via-white) !important;
    border: 1px solid var(--via-border) !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
}

.fi-section-header-heading {
    color: var(--via-text) !important;
}

.fi-ta-ctn {
    background-color: var(--via-white) !important;
    border: 1px solid var(--via-border) !important;
    border-radius: 10px !important;
}

.fi-ta-header-cell {
    background-color: #f8fafc !important;
    color: var(--via-text) !important;
    font-weight: 600 !important;
}

.fi-ta-row:hover {
    background-color: var(--via-teal-light) !important;
}

/* ── Buttons & links ── */
.fi-btn-color-primary {
    background: linear-gradient(135deg, var(--via-teal) 0%, var(--via-teal-dark) 100%) !important;
    color: #0a0a0a !important;
    font-weight: 600 !important;
    border: none !important;
}

.fi-btn-color-primary:hover {
    background: linear-gradient(135deg, var(--via-teal-dark) 0%, var(--via-teal-darker) 100%) !important;
    color: #fff !important;
}

.fi-link {
    color: var(--via-teal-darker) !important;
}

/* ── Stat cards (teal brand palette) ── */
.fi-wi-stats-overview-stat {
    border-radius: 12px !important;
    border: 1px solid var(--via-border) !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06) !important;
}

.fi-wi-stats-overview-stat-value {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: var(--via-text) !important;
}

.fi-wi-stats-overview-stat-label {
    color: var(--via-text-muted) !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    font-size: 0.68rem !important;
    letter-spacing: 0.05em;
}

/* Card 1 — white + teal accent */
.fi-wi-stats-overview-stat:nth-child(1) {
    background: var(--via-white) !important;
    border-left: 4px solid var(--via-teal) !important;
}

.fi-wi-stats-overview-stat:nth-child(1) .fi-wi-stats-overview-stat-icon {
    color: var(--via-teal) !important;
}

/* Card 2 — light teal */
.fi-wi-stats-overview-stat:nth-child(2) {
    background: var(--via-teal-light) !important;
    border-left: 4px solid var(--via-teal-dark) !important;
}

.fi-wi-stats-overview-stat:nth-child(2) .fi-wi-stats-overview-stat-icon {
    color: var(--via-teal-darker) !important;
}

/* Card 3 — mint */
.fi-wi-stats-overview-stat:nth-child(3) {
    background: #d4f5f2 !important;
    border-left: 4px solid #5eead4 !important;
}

.fi-wi-stats-overview-stat:nth-child(3) .fi-wi-stats-overview-stat-icon {
    color: #0d9488 !important;
}

/* Card 4 — soft teal-gray */
.fi-wi-stats-overview-stat:nth-child(4) {
    background: #ecfdf5 !important;
    border-left: 4px solid var(--via-teal) !important;
}

.fi-wi-stats-overview-stat:nth-child(4) .fi-wi-stats-overview-stat-icon {
    color: var(--via-teal-dark) !important;
}

.fi-wi-stats-overview-stat:nth-child(5) {
    background: var(--via-white) !important;
    border-left: 4px solid var(--via-teal-muted) !important;
}

.fi-wi-stats-overview-stat:nth-child(6) {
    background: var(--via-teal-light) !important;
    border-left: 4px solid var(--via-teal) !important;
}

/* Chart widgets */
.fi-wi-chart {
    background: var(--via-white) !important;
    border: 1px solid var(--via-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05) !important;
}

.fi-wi-chart-heading {
    color: var(--via-text) !important;
    font-weight: 600 !important;
}

/* Finance dashboard panels */
.viafly-finance-panel {
    background: var(--via-white);
    border: 1px solid var(--via-border);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}

.viafly-finance-panel h3 {
    color: var(--via-teal-darker);
}

.viafly-split-box {
    background: var(--via-teal-light);
    border: 1px solid var(--via-teal-muted);
    border-radius: 10px;
}

.viafly-split-box .pct {
    color: var(--via-teal-darker);
    font-weight: 700;
}

/* Badges & pills */
.fi-badge-color-primary {
    background-color: var(--via-teal-light) !important;
    color: var(--via-teal-darker) !important;
}

/* Form focus ring */
.fi-input-wrp:focus-within {
    --tw-ring-color: rgba(68, 215, 201, 0.45) !important;
}

.fi-fo-field-wrp:focus-within .fi-input-wrp {
    border-color: var(--via-teal) !important;
}

/* Pagination active */
.fi-pagination-item-button.fi-active {
    background-color: var(--via-teal) !important;
    color: #0a0a0a !important;
}
