/*
 * ALDX Glassmorphism Theme - Filament v4
 * Transforms the entire Filament admin panel with a futuristic glassmorphism design
 */

/* ===== ROOT VARIABLES ===== */
:root {
    --aldx-primary: #10b981;
    --aldx-secondary: #06b6d4;
    --aldx-glass-bg: rgba(15, 23, 42, 0.6);
    --aldx-glass-bg-light: rgba(255, 255, 255, 0.08);
    --aldx-glass-bg-hover: rgba(255, 255, 255, 0.12);
    --aldx-glass-border: rgba(255, 255, 255, 0.1);
    --aldx-glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    --aldx-radius: 16px;
    --aldx-radius-sm: 10px;
    --aldx-blur: 24px;
    --aldx-text-primary: rgba(255, 255, 255, 0.95);
    --aldx-text-secondary: rgba(255, 255, 255, 0.7);
    --aldx-text-muted: rgba(255, 255, 255, 0.5);
}

/* ===== ANIMATIONS ===== */
@keyframes aldx-fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ===== GLOBAL BACKGROUND ===== */
html.fi {
    background: transparent !important;
}

html.fi body.fi-body {
    background: url('/images/dashboard-greenhouse-background.png') center/cover no-repeat fixed !important;
    min-height: 100vh;
}

html.fi body.fi-body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(6, 182, 212, 0.1) 100%);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 0;
    pointer-events: none;
}

/* ===== LAYOUT CONTAINERS ===== */
.fi-layout {
    position: relative;
    z-index: 1;
    animation: aldx-fadeIn 0.4s ease-out;
}

.fi-main-ctn {
    background: transparent !important;
}

.fi-main {
    background: transparent !important;
}

/* ===== SIDEBAR ===== */
.fi-sidebar.fi-main-sidebar {
    background: rgba(15, 23, 42, 0.8) !important;
    backdrop-filter: blur(var(--aldx-blur)) !important;
    -webkit-backdrop-filter: blur(var(--aldx-blur)) !important;
    border-right: 1px solid var(--aldx-glass-border) !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.2) !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

.fi-sidebar-header {
    background: rgba(255, 255, 255, 0.03) !important;
    border-bottom: 1px solid var(--aldx-glass-border) !important;
}

.fi-sidebar-header-logo-ctn a {
    color: var(--aldx-text-primary) !important;
}

/* Sidebar Navigation */
.fi-sidebar-nav,
.fi-sidebar-nav-groups {
    background: transparent !important;
}

.fi-sidebar-group-label {
    color: var(--aldx-text-muted) !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
    padding: 1rem 1.25rem 0.5rem !important;
}

.fi-sidebar-item { margin: 2px 8px !important; }

.fi-sidebar-item-btn {
    color: rgba(255, 255, 255, 0.75) !important;
    border-radius: var(--aldx-radius-sm) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    padding: 0.6rem 1rem !important;
}

.fi-sidebar-item-label { color: inherit !important; }

.fi-sidebar-item-icon { color: rgba(255, 255, 255, 0.6) !important; }
.fi-sidebar-item-icon svg { stroke: currentColor !important; }

.fi-sidebar-item-btn:hover {
    background: var(--aldx-glass-bg-hover) !important;
    color: rgba(255, 255, 255, 0.98) !important;
    transform: translateX(3px);
}

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

.fi-sidebar-item.fi-active .fi-sidebar-item-btn {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.25), rgba(6, 182, 212, 0.15)) !important;
    color: #6ee7b7 !important;
    border: 1px solid rgba(16, 185, 129, 0.3);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.15);
}

.fi-sidebar-item.fi-active .fi-sidebar-item-icon { color: #34d399 !important; }

.fi-sidebar-sub-group-items .fi-sidebar-item-btn { color: rgba(255, 255, 255, 0.65) !important; }
.fi-sidebar-sub-group-items .fi-sidebar-item-btn:hover { color: rgba(255, 255, 255, 0.95) !important; }

/* Sidebar footer */
.fi-sidebar-footer {
    border-top: 1px solid var(--aldx-glass-border) !important;
    background: rgba(255, 255, 255, 0.02) !important;
}

/* ===== TOPBAR ===== */
.fi-topbar {
    background: rgba(15, 23, 42, 0.75) !important;
    backdrop-filter: blur(var(--aldx-blur)) !important;
    -webkit-backdrop-filter: blur(var(--aldx-blur)) !important;
    border-bottom: 1px solid var(--aldx-glass-border) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15) !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

.fi-topbar nav,
.fi-topbar-start,
.fi-topbar-end {
    background: transparent !important;
}

.fi-topbar .fi-logo { color: var(--aldx-text-primary) !important; }
.fi-topbar .fi-logo svg { color: var(--aldx-text-primary) !important; stroke: currentColor !important; }

.fi-topbar .fi-icon-btn { color: rgba(255, 255, 255, 0.7) !important; }
.fi-topbar .fi-icon-btn svg { stroke: currentColor !important; }
.fi-topbar .fi-icon-btn:hover { background: var(--aldx-glass-bg-hover) !important; color: rgba(255, 255, 255, 0.98) !important; }

.fi-topbar .fi-topbar-item {
    color: rgba(255, 255, 255, 0.8) !important;
}

.fi-topbar .fi-topbar-item:hover {
    background: var(--aldx-glass-bg-hover) !important;
    color: var(--aldx-text-primary) !important;
}

.fi-topbar .fi-topbar-item.fi-active { color: #34d399 !important; }

.fi-topbar .fi-global-search { color: rgba(255, 255, 255, 0.9) !important; }
.fi-topbar .fi-global-search input { color: rgba(255, 255, 255, 0.95) !important; }
.fi-topbar .fi-global-search input::placeholder { color: rgba(255, 255, 255, 0.4) !important; }

.fi-topbar .fi-user-menu-trigger { color: rgba(255, 255, 255, 0.85) !important; }
.fi-topbar .fi-user-menu-trigger:hover { background: var(--aldx-glass-bg-hover) !important; }
.fi-topbar .fi-user-menu-trigger-label { color: rgba(255, 255, 255, 0.9) !important; }

/* ===== PAGE HEADER ===== */
.fi-page-header {
    background: var(--aldx-glass-bg-light) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-radius: var(--aldx-radius) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    box-shadow: var(--aldx-glass-shadow) !important;
    padding: 1.25rem 1.75rem !important;
    margin-bottom: 1.5rem !important;
}

.fi-page-header h1,
.fi-page-header h2 {
    color: var(--aldx-text-primary) !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.fi-page-header-subheading {
    color: var(--aldx-text-secondary) !important;
}

.fi-page-header .fi-page-header-actions button {
    background: var(--aldx-glass-bg-hover) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    color: var(--aldx-text-primary) !important;
    border-radius: var(--aldx-radius-sm) !important;
    transition: all 0.25s ease !important;
}

.fi-page-header .fi-page-header-actions button:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    transform: translateY(-1px);
}

/* ===== TABLES ===== */
.fi-ta {
    background: var(--aldx-glass-bg-light) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-radius: var(--aldx-radius) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    box-shadow: var(--aldx-glass-shadow) !important;
    overflow: hidden;
}

.fi-ta-header-ctn {
    background: rgba(255, 255, 255, 0.05) !important;
    border-bottom: 1px solid var(--aldx-glass-border) !important;
}

.fi-ta-header-search {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    border-radius: var(--aldx-radius-sm) !important;
}

.fi-ta-header-search input {
    color: var(--aldx-text-primary) !important;
}

table.fi-ta-table {
    background: transparent !important;
}

.fi-ta-table thead th {
    background: rgba(255, 255, 255, 0.05) !important;
    color: var(--aldx-text-secondary) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.05em !important;
    border-bottom: 1px solid var(--aldx-glass-border) !important;
}

.fi-ta-table tbody td {
    color: var(--aldx-text-primary) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}

.fi-ta-table tbody tr:hover td {
    background: var(--aldx-glass-bg-hover) !important;
}

.fi-ta-table .fi-ta-row {
    transition: background 0.2s ease;
}

/* Table pagination */
.fi-ta-pagination-ctn {
    background: rgba(255, 255, 255, 0.03) !important;
    border-top: 1px solid var(--aldx-glass-border) !important;
}

.fi-ta-pagination {
    background: transparent !important;
}

.fi-ta-pagination button {
    color: var(--aldx-text-secondary) !important;
}

.fi-ta-pagination button:hover {
    background: var(--aldx-glass-bg-hover) !important;
    color: var(--aldx-text-primary) !important;
}

.fi-ta-pagination .fi-active {
    background: linear-gradient(135deg, var(--aldx-primary), var(--aldx-secondary)) !important;
    color: white !important;
    border-color: transparent !important;
}

/* ===== BUTTONS ===== */
.fi-btn {
    background: var(--aldx-glass-bg-light) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    border-radius: var(--aldx-radius-sm) !important;
    color: var(--aldx-text-primary) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.fi-btn:hover {
    background: var(--aldx-glass-bg-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.fi-btn-color-primary {
    background: linear-gradient(135deg, var(--aldx-primary), var(--aldx-secondary)) !important;
    border: none !important;
    color: white !important;
}

.fi-btn-color-primary:hover {
    background: linear-gradient(135deg, #059669, #0891b2) !important;
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.35) !important;
}

.fi-btn-color-danger {
    background: linear-gradient(135deg, #ef4444, #dc2626) !important;
    border: none !important;
    color: white !important;
}

.fi-btn-color-danger:hover {
    box-shadow: 0 6px 20px rgba(239, 68, 68, 0.35) !important;
}

/* ===== FORMS ===== */
.fi-fo-field-wrp label {
    color: var(--aldx-text-secondary) !important;
}

.fi-input-wrp {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    border-radius: var(--aldx-radius-sm) !important;
    transition: all 0.25s ease !important;
}

.fi-input-wrp:focus-within {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: var(--aldx-primary) !important;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
}

.fi-input,
.fi-select,
.fi-textarea {
    background: transparent !important;
    color: var(--aldx-text-primary) !important;
}

.fi-input::placeholder,
.fi-textarea::placeholder {
    color: var(--aldx-text-muted) !important;
}

/* Form section */
.fi-fo-section {
    background: var(--aldx-glass-bg-light) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-radius: var(--aldx-radius) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    box-shadow: var(--aldx-glass-shadow) !important;
}

.fi-fo-section-header {
    background: rgba(255, 255, 255, 0.04) !important;
    border-bottom: 1px solid var(--aldx-glass-border) !important;
}

.fi-fo-section-header h2,
.fi-fo-section-header h3 {
    color: var(--aldx-text-primary) !important;
}

/* ===== STATS OVERVIEW WIDGET ===== */
.fi-stats-overview-widget-stat {
    background: var(--aldx-glass-bg-light) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-radius: var(--aldx-radius) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    box-shadow: var(--aldx-glass-shadow) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    padding: 1.25rem !important;
}

.fi-stats-overview-widget-stat:hover {
    background: var(--aldx-glass-bg-hover) !important;
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
}

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

.fi-stats-overview-widget-stat-label {
    color: var(--aldx-text-secondary) !important;
}

.fi-stats-overview-widget-stat-description {
    color: var(--aldx-text-muted) !important;
}

/* ===== BADGES & TAGS ===== */
.fi-badge {
    background: var(--aldx-glass-bg-light) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    border-radius: 9999px !important;
    color: var(--aldx-text-primary) !important;
}

.fi-badge-color-success {
    background: rgba(16, 185, 129, 0.2) !important;
    border-color: rgba(16, 185, 129, 0.3) !important;
    color: #34d399 !important;
}

.fi-badge-color-warning {
    background: rgba(245, 158, 11, 0.2) !important;
    border-color: rgba(245, 158, 11, 0.3) !important;
    color: #fbbf24 !important;
}

.fi-badge-color-danger {
    background: rgba(239, 68, 68, 0.2) !important;
    border-color: rgba(239, 68, 68, 0.3) !important;
    color: #f87171 !important;
}

.fi-badge-color-info {
    background: rgba(6, 182, 212, 0.2) !important;
    border-color: rgba(6, 182, 212, 0.3) !important;
    color: #22d3ee !important;
}

/* ===== MODALS ===== */
.fi-modal {
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.fi-modal-content {
    background: rgba(15, 23, 42, 0.95) !important;
    backdrop-filter: blur(30px) !important;
    -webkit-backdrop-filter: blur(30px) !important;
    border-radius: var(--aldx-radius) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4) !important;
}

.fi-modal-header {
    border-bottom: 1px solid var(--aldx-glass-border) !important;
}

.fi-modal-header h2 {
    color: var(--aldx-text-primary) !important;
}

/* ===== NOTIFICATIONS ===== */
.fi-notification {
    background: rgba(15, 23, 42, 0.95) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: var(--aldx-radius-sm) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3) !important;
}

.fi-notification-title {
    color: var(--aldx-text-primary) !important;
}

.fi-notification-body {
    color: var(--aldx-text-secondary) !important;
}

/* ===== USER MENU ===== */
.fi-user-menu {
    background: rgba(15, 23, 42, 0.9) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: var(--aldx-radius-sm) !important;
    border: 1px solid var(--aldx-glass-border) !important;
}

.fi-user-menu button {
    color: var(--aldx-text-secondary) !important;
}

.fi-user-menu button:hover {
    background: var(--aldx-glass-bg-hover) !important;
    color: var(--aldx-text-primary) !important;
}

/* ===== GLOBAL SEARCH ===== */
.fi-global-search-modal {
    background: rgba(15, 23, 42, 0.95) !important;
    backdrop-filter: blur(30px) !important;
    -webkit-backdrop-filter: blur(30px) !important;
    border-radius: var(--aldx-radius) !important;
    border: 1px solid var(--aldx-glass-border) !important;
}

.fi-global-search-input {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    border-radius: var(--aldx-radius-sm) !important;
    color: var(--aldx-text-primary) !important;
}

.fi-global-search-results {
    color: var(--aldx-text-primary) !important;
}

.fi-global-search-result-item:hover {
    background: var(--aldx-glass-bg-hover) !important;
}

/* ===== BREADCRUMBS ===== */
.fi-breadcrumbs {
    color: var(--aldx-text-muted) !important;
}

.fi-breadcrumbs a {
    color: var(--aldx-text-secondary) !important;
}

.fi-breadcrumbs a:hover {
    color: var(--aldx-primary) !important;
}

/* ===== TABS ===== */
.fi-tabs {
    background: var(--aldx-glass-bg-light) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: var(--aldx-radius-sm) !important;
    border: 1px solid var(--aldx-glass-border) !important;
}

.fi-tab {
    color: var(--aldx-text-secondary) !important;
}

.fi-tab:hover {
    color: var(--aldx-text-primary) !important;
    background: var(--aldx-glass-bg-hover) !important;
}

.fi-tab.fi-active {
    color: var(--aldx-text-primary) !important;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(6, 182, 212, 0.1)) !important;
    border-bottom: 2px solid var(--aldx-primary) !important;
}

/* ===== CHART WIDGETS ===== */
.fi-chart-widget {
    background: var(--aldx-glass-bg-light) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-radius: var(--aldx-radius) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    box-shadow: var(--aldx-glass-shadow) !important;
}

.fi-chart-widget-header {
    background: rgba(255, 255, 255, 0.04) !important;
    border-bottom: 1px solid var(--aldx-glass-border) !important;
}

.fi-chart-widget-header h2,
.fi-chart-widget-header h3 {
    color: var(--aldx-text-primary) !important;
}

/* ===== LOGIN PAGE ===== */
.fi-auth-page {
    background: transparent !important;
}

.fi-auth-form-container {
    background: var(--aldx-glass-bg) !important;
    backdrop-filter: blur(30px) !important;
    -webkit-backdrop-filter: blur(30px) !important;
    border-radius: var(--aldx-radius) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3) !important;
    padding: 2rem !important;
}

.fi-auth-form-container h2 {
    color: var(--aldx-text-primary) !important;
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.25);
}

/* ===== UTILITY ===== */
.aldx-glass {
    background: var(--aldx-glass-bg-light) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-radius: var(--aldx-radius) !important;
    border: 1px solid var(--aldx-glass-border) !important;
    box-shadow: var(--aldx-glass-shadow) !important;
}
