/**
 * OceanBot - Filament Panel Premium Theme v4
 * Unified Design Language · Deep Dark + Violet Accent
 * Grid pattern · Ambient orbs · Card glow · Glassmorphism · Noise
 *
 * Color Philosophy:
 *   Background:  #050505 (near-black)
 *   Cards:       rgba(255,255,255,0.06)
 *   Borders:     rgba(255,255,255,0.08)
 *   Accent:      Violet #7c3aed → #8b5cf6 (muted, never raw blue)
 *   Text:        #fff at varying opacities
 *   Status:      Emerald #34d399 (success), Amber #f59e0b (warn), Red #ef4444 (danger)
 */

/* ================================
   DESIGN TOKENS
================================ */
:root {
    --ob-bg: #050505;
    --ob-card: rgba(255,255,255,0.06);
    --ob-card-hover: rgba(255,255,255,0.10);
    --ob-border: rgba(255,255,255,0.08);
    --ob-border-hover: rgba(255,255,255,0.14);
    --ob-border-focus: rgba(139,92,246,0.35);
    --ob-text: #ffffff;
    --ob-text-80: rgba(255,255,255,0.8);
    --ob-text-60: rgba(255,255,255,0.6);
    --ob-text-40: rgba(255,255,255,0.4);
    --ob-text-25: rgba(255,255,255,0.25);
    --ob-violet: #8b5cf6;
    --ob-violet-deep: #7c3aed;
    --ob-violet-muted: #6d28d9;
    --ob-violet-dim: rgba(139,92,246,0.08);
    --ob-violet-glow: rgba(139,92,246,0.12);
    --ob-cyan: #06b6d4;
    --ob-emerald: #34d399;
    --ob-radius: 16px;
    --ob-radius-xl: 20px;
    --ob-ease: 0.3s ease;
}

/* ================================
   1. BODY — Grid pattern + Noise
================================ */
.fi-body {
    background-color: var(--ob-bg) !important;
    background-image:
        linear-gradient(rgba(255,255,255,0.008) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.008) 1px, transparent 1px) !important;
    background-size: 60px 60px !important;
    font-family: 'Inter', 'Noto Sans TC', system-ui, sans-serif !important;
    -webkit-font-smoothing: antialiased;
}

/* Noise overlay */
.fi-body::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9998;
    opacity: 0.015;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Ambient glow orbs on main content area */
.fi-main::before,
.fi-main::after {
    content: '';
    position: fixed;
    border-radius: 50%;
    filter: blur(140px);
    pointer-events: none;
    z-index: 0;
}
.fi-main::before {
    width: 600px; height: 600px;
    top: -15%; right: 10%;
    background: radial-gradient(circle, rgba(139,92,246,0.05), transparent 70%);
    animation: ob-drift1 20s ease-in-out infinite alternate;
}
.fi-main::after {
    width: 500px; height: 500px;
    bottom: 10%; left: 20%;
    background: radial-gradient(circle, rgba(109,40,217,0.03), transparent 70%);
    animation: ob-drift2 25s ease-in-out infinite alternate-reverse;
}

@keyframes ob-drift1 {
    0% { transform: translate(0,0) scale(1); }
    50% { transform: translate(40px, -30px) scale(1.1); }
    100% { transform: translate(-20px, 50px) scale(0.95); }
}
@keyframes ob-drift2 {
    0% { transform: translate(0,0) scale(1); }
    50% { transform: translate(-30px, 20px) scale(1.05); }
    100% { transform: translate(30px, -40px) scale(0.9); }
}

/* Scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.08); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.15); }

/* ================================
   2. AUTH PAGES — Login / Register
================================ */
.fi-simple-layout {
    background-color: var(--ob-bg) !important;
    background-image:
        linear-gradient(rgba(255,255,255,0.008) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.008) 1px, transparent 1px) !important;
    background-size: 60px 60px !important;
    min-height: 100dvh;
}

/* Ambient orbs for auth pages */
.fi-simple-layout::before,
.fi-simple-layout::after {
    content: '';
    position: fixed;
    border-radius: 50%;
    filter: blur(120px);
    opacity: 0.35;
    pointer-events: none;
    z-index: 0;
}
.fi-simple-layout::before {
    width: 500px; height: 500px;
    top: -10%; left: -5%;
    background: radial-gradient(circle, rgba(124,58,237,0.45), transparent 70%);
    animation: ob-drift1 18s ease-in-out infinite alternate;
}
.fi-simple-layout::after {
    width: 400px; height: 400px;
    bottom: -10%; right: -5%;
    background: radial-gradient(circle, rgba(109,40,217,0.35), transparent 70%);
    animation: ob-drift2 22s ease-in-out infinite alternate-reverse;
}

/* Auth card — glassmorphism */
.fi-simple-main-ctn { position: relative; z-index: 10; }
.fi-simple-main {
    background: var(--ob-card) !important;
    border: 1px solid var(--ob-border) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,0.03) inset,
        0 8px 40px rgba(0,0,0,0.5),
        0 0 80px rgba(124,58,237,0.04) !important;
    border-radius: var(--ob-radius-xl) !important;
    transition: border-color var(--ob-ease), box-shadow var(--ob-ease);
}
.fi-simple-main:hover {
    border-color: var(--ob-border-hover) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,0.05) inset,
        0 12px 48px rgba(0,0,0,0.5),
        0 0 100px rgba(124,58,237,0.06) !important;
}
.fi-simple-header { position: relative; z-index: 10; }
.fi-logo { display: flex; justify-content: center; }
.fi-simple-layout .fi-link { color: #a78bfa !important; }
.fi-simple-layout .fi-link:hover { color: #c4b5fd !important; }

/* ================================
   3. TOPBAR — Glassmorphism
================================ */
.fi-topbar {
    background: rgba(5,5,5,0.7) !important;
    backdrop-filter: blur(20px) saturate(1.3) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.3) !important;
    border-bottom: 1px solid var(--ob-border) !important;
}
.fi-topbar nav { background: transparent !important; }

/* Global search */
.fi-global-search-field input {
    background: var(--ob-card) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: 12px !important;
    color: var(--ob-text) !important;
}
.fi-global-search-field input:focus {
    border-color: var(--ob-border-focus) !important;
    box-shadow: 0 0 0 3px rgba(124,58,237,0.08) !important;
}

/* Avatar ring */
.fi-dropdown-trigger .fi-avatar {
    box-shadow: 0 0 0 2px rgba(124,58,237,0.2);
}

/* ================================
   4. SIDEBAR — Deep dark
================================ */
.fi-sidebar {
    background: rgba(5,5,8,0.95) !important;
    border-right: 1px solid var(--ob-border) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}
.fi-sidebar-header {
    border-bottom: 1px solid var(--ob-border) !important;
}

/* Sidebar group labels */
.fi-sidebar-group-label {
    color: var(--ob-text-25) !important;
    font-size: 0.6rem !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    padding: 8px 16px 4px !important;
}

/* Sidebar items */
.fi-sidebar-item > a,
.fi-sidebar-item > button {
    border-radius: 10px !important;
    margin: 1px 8px !important;
    padding: 8px 12px !important;
    transition: all var(--ob-ease) !important;
    color: var(--ob-text-60) !important;
}
.fi-sidebar-item > a:hover,
.fi-sidebar-item > button:hover {
    background: var(--ob-violet-dim) !important;
    color: var(--ob-text) !important;
}

/* Active item */
.fi-sidebar-item-active > a,
.fi-sidebar-item-active > button {
    background: rgba(124, 58, 237, 0.1) !important;
    border: 1px solid rgba(124,58,237,0.15) !important;
}
.fi-sidebar-item-active > a .fi-sidebar-item-label,
.fi-sidebar-item-active > button .fi-sidebar-item-label {
    color: #c4b5fd !important;
    font-weight: 600 !important;
}
.fi-sidebar-item-active > a .fi-sidebar-item-icon,
.fi-sidebar-item-active > button .fi-sidebar-item-icon {
    color: #a78bfa !important;
}

/* Tenant selector */
.fi-tenant-menu-trigger {
    background: var(--ob-card) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: 12px !important;
    transition: all var(--ob-ease);
}
.fi-tenant-menu-trigger:hover {
    border-color: var(--ob-border-hover) !important;
    background: var(--ob-violet-dim) !important;
}

/* ================================
   5. MAIN CONTENT
================================ */
.fi-main {
    position: relative;
    z-index: 1;
}

.fi-page {
    animation: ob-page-in 0.4s ease-out;
}

@keyframes ob-page-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Page header */
.fi-header-heading {
    color: var(--ob-text) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    font-size: 1.75rem !important;
}
.fi-header-subheading {
    color: var(--ob-text-40) !important;
}

/* ================================
   6. CARDS / WIDGETS — Card glow effect
================================ */
.fi-wi,
.fi-section {
    position: relative;
    background: var(--ob-card) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: var(--ob-radius) !important;
    box-shadow: none !important;
    overflow: hidden;
    transition: all 0.5s ease;
}

/* Card glow border */
.fi-wi::before,
.fi-section::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, transparent, rgba(124,58,237,0.25), transparent);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
    z-index: 1;
}

.fi-wi:hover,
.fi-section:hover {
    background: var(--ob-card-hover) !important;
    border-color: var(--ob-border-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(0,0,0,0.4) !important;
}

.fi-wi:hover::before,
.fi-section:hover::before {
    opacity: 1;
}

/* Widget / section headers */
.fi-wi-header,
.fi-section-header {
    border-bottom: 1px solid var(--ob-border) !important;
    background: transparent !important;
}

/* ================================
   7. STATS WIDGETS
================================ */
.fi-stats-overview-stat {
    position: relative;
    background: var(--ob-card) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: var(--ob-radius) !important;
    padding: 1.5rem !important;
    overflow: hidden;
    transition: all 0.5s ease;
}

/* Card glow on stats */
.fi-stats-overview-stat::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, transparent, rgba(124,58,237,0.25), transparent);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.fi-stats-overview-stat:hover {
    background: var(--ob-card-hover) !important;
    border-color: var(--ob-border-hover) !important;
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.4) !important;
}

.fi-stats-overview-stat:hover::before {
    opacity: 1;
}

.fi-stats-overview-stat-value {
    color: var(--ob-text) !important;
    font-weight: 800 !important;
    font-size: 2rem !important;
    letter-spacing: -0.03em !important;
    line-height: 1.2 !important;
}

.fi-stats-overview-stat-label {
    color: var(--ob-text-40) !important;
    font-weight: 500 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.fi-stats-overview-stat-description {
    color: var(--ob-text-25) !important;
}

/* ================================
   8. TABLES
================================ */
.fi-ta {
    background: var(--ob-card) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: var(--ob-radius) !important;
    overflow: hidden !important;
}

.fi-ta-header-cell {
    background: rgba(255,255,255,0.01) !important;
    border-bottom: 1px solid var(--ob-border) !important;
    color: var(--ob-text-40) !important;
    font-weight: 600 !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

.fi-ta-row {
    border-bottom: 1px solid rgba(255,255,255,0.03) !important;
    transition: background var(--ob-ease);
}
.fi-ta-row:hover td {
    background: var(--ob-violet-dim) !important;
}
.fi-ta-row:last-child { border-bottom: none !important; }

/* Table search */
.fi-ta-search-field input {
    background: var(--ob-card) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: 10px !important;
}
.fi-ta-search-field input:focus {
    border-color: var(--ob-border-focus) !important;
    box-shadow: 0 0 0 3px rgba(124,58,237,0.08) !important;
}

/* Table pagination */
.fi-ta-pagination {
    border-top: 1px solid var(--ob-border) !important;
    background: transparent !important;
}

.fi-pagination-item { border-radius: 8px !important; }
.fi-pagination-item:hover { background: var(--ob-violet-dim) !important; }

/* ================================
   9. FORMS
================================ */
.fi-input-wrp {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: 12px !important;
    transition: border-color var(--ob-ease), box-shadow var(--ob-ease);
}
.fi-input-wrp:focus-within {
    border-color: var(--ob-border-focus) !important;
    box-shadow: 0 0 0 3px rgba(124,58,237,0.08) !important;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="url"],
input[type="tel"],
input[type="search"],
textarea, select {
    color: var(--ob-text) !important;
}

/* Form sections */
.fi-fo-section {
    background: var(--ob-card) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: var(--ob-radius) !important;
}

/* Checkbox / Radio */
.fi-checkbox-input:checked,
.fi-radio-input:checked {
    background-color: var(--ob-violet-deep) !important;
    border-color: var(--ob-violet-deep) !important;
}

/* Toggle */
.fi-toggle-input:checked {
    background-color: var(--ob-violet-deep) !important;
}

/* ================================
   10. BUTTONS — Violet-centric, never raw blue
================================ */
.fi-btn-primary {
    background: linear-gradient(135deg, var(--ob-violet-deep), var(--ob-violet-muted)) !important;
    border: none !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 16px rgba(124, 58, 237, 0.2) !important;
    transition: all var(--ob-ease) !important;
}
.fi-btn-primary:hover {
    background: linear-gradient(135deg, #6d28d9, #5b21b6) !important;
    box-shadow: 0 6px 24px rgba(124, 58, 237, 0.3) !important;
    transform: translateY(-1px);
}

.fi-btn-gray {
    background: var(--ob-card) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: 10px !important;
    transition: all var(--ob-ease) !important;
}
.fi-btn-gray:hover {
    background: var(--ob-card-hover) !important;
    border-color: var(--ob-border-hover) !important;
}

.fi-btn-danger { border-radius: 10px !important; }

.fi-icon-btn {
    border-radius: 10px !important;
    transition: all var(--ob-ease) !important;
}
.fi-icon-btn:hover { background: var(--ob-violet-dim) !important; }

/* ================================
   11. MODALS — Glassmorphism
================================ */
.fi-modal-window {
    background: rgba(10,10,14, 0.95) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: var(--ob-radius-xl) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,0.6) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
}
.fi-modal-header { border-bottom: 1px solid var(--ob-border) !important; }
.fi-modal-footer { border-top: 1px solid var(--ob-border) !important; background: transparent !important; }

/* ================================
   12. DROPDOWNS
================================ */
.fi-dropdown-panel {
    background: rgba(10,10,14,0.97) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: 14px !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important;
}
.fi-dropdown-list-item:hover { background: var(--ob-violet-dim) !important; }
.fi-dropdown-list-item-label { color: var(--ob-text-60) !important; }
.fi-dropdown-list-item:hover .fi-dropdown-list-item-label { color: var(--ob-text) !important; }

/* ================================
   13. NOTIFICATIONS
================================ */
.fi-no { z-index: 10000 !important; }
.fi-no-notification {
    background: rgba(10,10,14,0.97) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: 14px !important;
    backdrop-filter: blur(20px) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.4) !important;
}

/* ================================
   14. BADGES
================================ */
.fi-badge {
    border-radius: 9999px !important;
    font-weight: 600 !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.02em !important;
}

/* ================================
   15. TABS
================================ */
.fi-tabs {
    background: transparent !important;
    border-bottom: 1px solid var(--ob-border) !important;
}
.fi-tabs-tab {
    border-radius: 8px 8px 0 0 !important;
    transition: all var(--ob-ease) !important;
}
.fi-tabs-tab:hover { background: var(--ob-violet-dim) !important; }

/* ================================
   16. BREADCRUMBS
================================ */
.fi-breadcrumbs { color: var(--ob-text-25) !important; }
.fi-breadcrumbs a { color: var(--ob-text-40) !important; transition: color var(--ob-ease); }
.fi-breadcrumbs a:hover { color: #a78bfa !important; }

/* ================================
   17. EMPTY STATE
================================ */
.fi-ta-empty-state { padding: 3rem 1rem !important; }
.fi-ta-empty-state-icon { color: var(--ob-text-25) !important; }
.fi-ta-empty-state-heading { color: var(--ob-text-60) !important; font-weight: 700 !important; }
.fi-ta-empty-state-description { color: var(--ob-text-40) !important; }

/* ================================
   18. ACCOUNT WIDGET
================================ */
.fi-account-widget {
    position: relative;
    background: var(--ob-card) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: var(--ob-radius) !important;
    overflow: hidden;
}
/* Subtle gradient shimmer on welcome card */
.fi-account-widget::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--ob-violet-deep), var(--ob-violet), transparent);
    opacity: 0.5;
}

/* ================================
   19. INFO LISTS
================================ */
.fi-in-entry-wrp { background: transparent !important; }

/* ================================
   20. ACTION GROUPS
================================ */
.fi-ac { gap: 0.5rem !important; }

/* ================================
   21. RESPONSIVE
================================ */
@media (max-width: 1024px) {
    .fi-sidebar {
        background: rgba(5,5,8,0.98) !important;
        backdrop-filter: blur(24px) !important;
        -webkit-backdrop-filter: blur(24px) !important;
    }
}

@media (max-width: 640px) {
    .fi-simple-main {
        margin: 1rem !important;
        border-radius: var(--ob-radius) !important;
    }
    .fi-header-heading {
        font-size: 1.4rem !important;
    }
}

/* ================================
   22. DARK MODE COMPREHENSIVE OVERRIDES
================================ */

/* Kill ALL Filament dark backgrounds */
.dark .fi-topbar nav,
.dark .fi-sidebar nav,
.dark .fi-main,
.dark .fi-main-ctn,
.dark .fi-page-sub-navigation-ctn,
.dark .fi-header-ctn,
.dark .fi-body > div {
    background: transparent !important;
}

/* Force transparent on main page content wrapper */
.fi-page-content,
.fi-main-ctn,
.dark .fi-page-content {
    background: transparent !important;
}

/* Account widget — kill Filament's blue/gray background */
.fi-account-widget,
.dark .fi-account-widget,
.fi-wi.fi-account-widget {
    background: var(--ob-card) !important;
    border: 1px solid var(--ob-border) !important;
    border-radius: var(--ob-radius) !important;
    box-shadow: none !important;
}

/* Force all Filament .dark backgrounds to transparent */
.dark [class*="bg-gray-"],
.dark [class*="bg-gray-900"],
.dark .bg-gray-950 {
    background-color: transparent !important;
}

/* But keep specific elements that NEED a background */
.dark .fi-sidebar {
    background: rgba(5,5,8,0.95) !important;
}
.dark .fi-topbar {
    background: rgba(5,5,5,0.7) !important;
}
.dark .fi-dropdown-panel {
    background: rgba(10,10,14,0.97) !important;
}
.dark .fi-modal-window {
    background: rgba(10,10,14,0.95) !important;
}

/* Stats widget inner backgrounds — kill color tints */
.fi-stats-overview-stat [class*="bg-"],
.dark .fi-stats-overview-stat [class*="bg-custom"],
.dark .fi-stats-overview-stat [class*="bg-primary"],
.dark .fi-stats-overview-stat [class*="bg-success"],
.dark .fi-stats-overview-stat [class*="bg-info"],
.dark .fi-stats-overview-stat [class*="bg-warning"],
.dark .fi-stats-overview-stat [class*="bg-danger"] {
    background-color: transparent !important;
}

/* Force card content backgrounds to transparent */
.fi-wi-content,
.fi-section-content,
.dark .fi-wi-content,
.dark .fi-section-content {
    background: transparent !important;
}

/* Table wrapper backgrounds */
.dark .fi-ta-ctn,
.dark .fi-ta-content {
    background: transparent !important;
}

/* ================================
   23. GRADIENT TEXT
================================ */
.ob-gradient {
    background: linear-gradient(135deg, #a78bfa, #c4b5fd);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ================================
   24. RESOURCE PAGES
================================ */
.fi-resource-create-record-page,
.fi-resource-edit-record-page,
.fi-resource-list-records-page,
.fi-resource-view-record-page {
    background: transparent !important;
}

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

.fi-page-header-actions {
    gap: 0.5rem !important;
}

/* ================================
   25. REFINEMENTS
================================ */

/* Separator lines: ultra subtle */
.fi-section-header,
.fi-wi-header,
.fi-modal-header,
.fi-modal-footer {
    border-color: rgba(255,255,255,0.04) !important;
}

/* Focus ring */
*:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 2px var(--ob-bg), 0 0 0 4px rgba(124,58,237,0.35) !important;
}

/* Input focus: clean ring */
.fi-input-wrp:focus-within {
    border-color: rgba(124,58,237,0.4) !important;
    box-shadow: 0 0 0 2px var(--ob-bg), 0 0 0 4px rgba(124,58,237,0.12) !important;
}

/* Muted foreground for secondary text */
.fi-section-description,
.fi-fo-field-wrp-label span {
    color: var(--ob-text-40) !important;
}

/* Clean dividers */
hr, .fi-hr {
    border-color: rgba(255,255,255,0.04) !important;
}

/* ================================
   26. FILAMENT PRIMARY COLOR OVERRIDES
   Kill any residual blue from Indigo palette
================================ */

/* Override Filament's primary color CSS variables to use our deeper violet */
.fi-body {
    --primary-50: 245 243 255;
    --primary-100: 237 233 254;
    --primary-200: 221 214 254;
    --primary-300: 196 181 253;
    --primary-400: 167 139 250;
    --primary-500: 139 92 246;
    --primary-600: 124 58 237;
    --primary-700: 109 40 217;
    --primary-800: 91 33 182;
    --primary-900: 76 29 149;
    --primary-950: 46 16 101;
}

/* Ensure Filament link colors use violet not blue */
.fi-link {
    color: #a78bfa !important;
}
.fi-link:hover {
    color: #c4b5fd !important;
}

/* Navigation active indicator */
.fi-sidebar-nav .fi-active {
    color: #a78bfa !important;
}

/* Tab active color */
.fi-tabs-tab-active {
    border-color: var(--ob-violet-deep) !important;
    color: #c4b5fd !important;
}
