/* Eurasia Conferences — secretariat dashboard theme (layered on Filament 5) */
:root {
  --ec-navy: #0B2A4A;
  --ec-navy-2: #10355C;
  --ec-crimson: #C41E3A;
  --ec-bg: #F3F5F9;
  --ec-line: #E2E7EF;
  --ec-ink: #0F1B2D;
  --ec-muted: #5B6779;
}

/* Page */
.fi-body { background: var(--ec-bg); color: var(--ec-ink); }
.fi-header-heading { font-family: 'Merriweather', Georgia, serif; font-weight: 700; letter-spacing: -0.01em; }
.fi-header-subheading { color: var(--ec-muted); }

/* Sidebar: deep navy, brand on top, user menu at the bottom */
.fi-sidebar { background: linear-gradient(180deg, var(--ec-navy) 0%, var(--ec-navy-2) 100%) !important; border-right: 0 !important; }
.fi-sidebar-header { background: transparent !important; box-shadow: none !important; border-bottom: 1px solid rgba(255,255,255,.08); }
.fi-sidebar .fi-sidebar-group-label { color: rgba(255,255,255,.5) !important; text-transform: uppercase; letter-spacing: .09em; font-size: 11px; font-weight: 700; }
.fi-sidebar .fi-sidebar-group-btn .fi-icon,
.fi-sidebar .fi-sidebar-group-collapse-btn .fi-icon,
.fi-sidebar .fi-sidebar-header-controls .fi-icon { color: rgba(255,255,255,.5) !important; }
.fi-sidebar .fi-sidebar-item-btn { border-radius: 10px; }
.fi-sidebar .fi-sidebar-item-label { color: rgba(255,255,255,.82) !important; font-weight: 500; }
.fi-sidebar .fi-sidebar-item-btn > .fi-icon { color: rgba(255,255,255,.6) !important; }
.fi-sidebar .fi-sidebar-item-btn:hover { background: rgba(255,255,255,.07) !important; }
.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background: rgba(255,255,255,.12) !important; box-shadow: inset 3px 0 0 var(--ec-crimson); }
.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-btn .fi-sidebar-item-label,
.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-icon { color: #FFFFFF !important; }
.fi-sidebar-footer { border-top: 1px solid rgba(255,255,255,.08); }
.fi-sidebar-footer .fi-user-menu-trigger,
.fi-sidebar-footer .fi-user-menu-trigger * { color: rgba(255,255,255,.88) !important; }

/* Brand wordmark */
.ec-brand { display: flex; align-items: center; gap: 10px; line-height: 1.1; }
.ec-brand-mark { width: 34px; height: 34px; border-radius: 9px; background: var(--ec-crimson); color: #fff; display: grid; place-items: center; font-family: 'Merriweather', Georgia, serif; font-weight: 700; font-size: 18px; flex: 0 0 auto; }
.ec-brand-name { color: #fff; font-weight: 700; font-size: 15px; letter-spacing: .01em; }
.ec-brand-sub { color: rgba(255,255,255,.55); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; margin-top: 3px; }

/* Cards, sections, tables */
.fi-section, .fi-ta-ctn, .fi-wi-stats-overview-stat {
  border-radius: 16px !important;
  box-shadow: 0 1px 2px rgba(15,27,45,.04), 0 8px 24px -12px rgba(15,27,45,.12) !important;
  --tw-ring-color: var(--ec-line) !important;
}
.fi-section-header-heading, .fi-ta-header-heading { font-weight: 700; color: var(--ec-ink); }
.fi-ta-header-cell { background: #F8FAFC !important; text-transform: uppercase; letter-spacing: .06em; font-size: 11px !important; color: var(--ec-muted) !important; }
.fi-ta-row:hover { background: #F8FAFC; }

/* Stat cards: quiet label, strong value, icon in a tinted tile */
.fi-wi-stats-overview-stat { padding: 22px 24px !important; }
.fi-wi-stats-overview-stat-label { text-transform: uppercase; letter-spacing: .07em; font-size: 11px !important; font-weight: 700 !important; color: var(--ec-muted) !important; }
.fi-wi-stats-overview-stat-label-ctn > .fi-icon { width: 34px; height: 34px; padding: 7px; border-radius: 10px; background: #EEF2F8; color: var(--ec-navy) !important; }
.fi-wi-stats-overview-stat-value { font-size: 26px !important; line-height: 1.2; color: var(--ec-ink) !important; }

/* Tabs on the conference page */
.fi-tabs { border-radius: 12px; }
.fi-tabs-item.fi-active { box-shadow: inset 0 -2px 0 var(--ec-crimson); }

/* Login page */
.fi-simple-layout { background: radial-gradient(1200px 600px at 10% -10%, #DCE6F3 0%, transparent 60%), var(--ec-bg); }
.fi-simple-layout .ec-brand-name { color: var(--ec-navy); }
.fi-simple-layout .ec-brand-sub { color: var(--ec-muted); }

/* Solid crimson primary buttons (the generated palette chose a pale shade) */
.fi-btn.fi-color-primary:not(.fi-outlined) { --bg: #C41E3A; --hover-bg: #A3172F; --text: #FFFFFF; --hover-text: #FFFFFF; }
.fi-btn.fi-color-primary.fi-outlined { --text: #C41E3A; }

/* Sidebar search: tinted to sit on navy */
.fi-sidebar .fi-input-wrp { background: rgba(255,255,255,.08) !important; --tw-ring-color: rgba(255,255,255,.12) !important; }
.fi-sidebar .fi-input-wrp input { color: #FFFFFF !important; }
.fi-sidebar .fi-input-wrp input::placeholder { color: rgba(255,255,255,.55) !important; }
.fi-sidebar .fi-input-wrp .fi-icon { color: rgba(255,255,255,.55) !important; }

/* Quiet, thin scrollbar in the sidebar */
.fi-sidebar-nav { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.fi-sidebar-nav::-webkit-scrollbar { width: 6px; }
.fi-sidebar-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); border-radius: 6px; }
.fi-sidebar-nav::-webkit-scrollbar-track { background: transparent; }

/* Shared with the account area: abstract status timeline */
/* Abstract status timeline */
.ec-timeline { list-style: none; margin: 0; padding: 18px 20px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; background: #fff; border-radius: 16px; outline: 1px solid var(--ec-line); }
.ec-timeline li { position: relative; padding-top: 26px; font-size: 14px; }
.ec-timeline li::before { content: ""; position: absolute; top: 8px; left: 0; right: 0; height: 2px; background: var(--ec-line); }
.ec-timeline li.is-done::before { background: #15803D; }
.ec-tl-dot { position: absolute; top: 2px; left: 0; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid #CBD5E1; }
.ec-timeline li.is-done .ec-tl-dot { background: #15803D; border-color: #15803D; }
.ec-timeline li.is-current .ec-tl-dot { box-shadow: 0 0 0 4px rgba(21,128,61,.18); }
.ec-timeline li.is-neg .ec-tl-dot { background: var(--ec-crimson); border-color: var(--ec-crimson); }
.ec-tl-label { display: block; font-weight: 700; color: var(--ec-ink); }
.ec-timeline li:not(.is-done) .ec-tl-label { color: var(--ec-muted); font-weight: 600; }
.ec-tl-sub { display: block; color: var(--ec-muted); font-size: 12.5px; }
@media (max-width: 640px) { .ec-timeline { grid-template-columns: 1fr 1fr; row-gap: 16px; } }

