/*
 * Bharatam Vinyas Property Management - Workspace look for every Filament panel
 * (ERP, CRM, Platform admin, Support desk).
 *
 * Shared with the other Bharatam Vinyas products: light grey page, white grouped
 * menu with thin outline icons, white cards with a 1px hairline and small corners,
 * blue actions. Other looks (Basic light, Tricolour, Dark blue) only swap tokens.
 * Loaded after Filament's own theme by AppServiceProvider (STYLES_AFTER hook).
 * UI only - no behaviour lives here.
 */

:root {
  --bvw-canvas: #F4F5F7;
  --bvw-surface: #FFFFFF;
  --bvw-border: #E3E6EA;
  --bvw-border-strong: #CBD2D9;
  --bvw-text: #2D3748;
  --bvw-ink: #1F2937;
  --bvw-muted: #6B7280;
  --bvw-primary: #4361EE;
  --bvw-primary-hover: #3346C8;
  --bvw-link: #3D5AFE;
  --bvw-selected: #EEF1FD;
  --bvw-chip-text: #3346C8;
  --bvw-hover: #F3F4F6;
  --bvw-table-head: #F9FAFB;
  --bvw-row-hover: #F8F9FB;
  --bvw-sidebar: #FFFFFF;
  --bvw-sidebar-border: #E3E6EA;
  --bvw-sidebar-text: #374151;
  --bvw-sidebar-sub: #4B5563;
  --bvw-sidebar-icon: #4B5563;
  --bvw-sidebar-brand: #1F2937;
  --bvw-sidebar-muted: #6B7280;
  --bvw-sidebar-hover: #F3F4F6;
  --bvw-sidebar-selected: #EEF1FD;
  --bvw-sidebar-selected-text: #4361EE;
  --bvw-spine: #E3E6EA;
  --bvw-active-bar: #4361EE;
  --bvw-topbar: #FFFFFF;
  --bvw-accent-icon: #4361EE;
  --bvw-avatar-bg: #E0E7FF;
  --bvw-avatar-text: #3346C8;
  --bvw-radius: 4px;
  --bvw-row-height: 40px;
  --bvw-subrow-pad: 0.42rem;
  --bvw-login-bg: linear-gradient(160deg, #E0E7FF 0%, #F4F5F7 55%, #FFFFFF 100%);
  --bvw-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

html[data-bharatamvinyas-theme="basic_light"] {
  --bvw-canvas: #FFFFFF;
  --bvw-border: #E5E7EB;
  --bvw-text: #1F2937;
  --bvw-primary: #3B5BDB;
  --bvw-primary-hover: #2C44A4;
  --bvw-link: #3B5BDB;
  --bvw-selected: #EBEFFB;
  --bvw-chip-text: #2C44A4;
  --bvw-sidebar: #F9FAFB;
  --bvw-sidebar-border: #E5E7EB;
  --bvw-sidebar-hover: #F1F3F5;
  --bvw-sidebar-selected: #EBEFFB;
  --bvw-sidebar-selected-text: #3B5BDB;
  --bvw-active-bar: #3B5BDB;
  --bvw-accent-icon: #3B5BDB;
  --bvw-avatar-bg: #E5E7EB;
  --bvw-avatar-text: #1F2937;
  --bvw-radius: 6px;
  --bvw-login-bg: #FFFFFF;
}

html[data-bharatamvinyas-theme="tricolour"] {
  --bvw-canvas: #FBF8F3;
  --bvw-border: #EDE3D6;
  --bvw-border-strong: #DCCBB5;
  --bvw-text: #2A2118;
  --bvw-ink: #2A2118;
  --bvw-muted: #6E6255;
  --bvw-primary: #E07B12;
  --bvw-primary-hover: #C45F0C;
  --bvw-link: #C45F0C;
  --bvw-selected: #FFF4E6;
  --bvw-chip-text: #8A4A0B;
  --bvw-hover: #FBF3E8;
  --bvw-table-head: #FFF8F0;
  --bvw-row-hover: #FFFAF3;
  --bvw-sidebar-border: #EDE3D6;
  --bvw-sidebar-text: #3F3428;
  --bvw-sidebar-sub: #5C5348;
  --bvw-sidebar-icon: #5C5348;
  --bvw-sidebar-brand: #2A2118;
  --bvw-sidebar-hover: #FFF4E6;
  --bvw-sidebar-selected: #E8F5E6;
  --bvw-sidebar-selected-text: #0F6D07;
  --bvw-spine: #EAD9C4;
  --bvw-active-bar: #138808;
  --bvw-accent-icon: #FF9933;
  --bvw-avatar-bg: #FFE0B8;
  --bvw-avatar-text: #8A4A0B;
  --bvw-login-bg: linear-gradient(160deg, #FFE0B8 0%, #FFF8F0 50%, #DDF3D8 100%);
}

html[data-bharatamvinyas-theme="dark_blue"] {
  --bvw-canvas: #F5F6F8;
  --bvw-border: #E4E7EC;
  --bvw-border-strong: #D0D5DD;
  --bvw-text: #111827;
  --bvw-ink: #111827;
  --bvw-muted: #5B6472;
  --bvw-primary: #2453D6;
  --bvw-primary-hover: #1A3FA8;
  --bvw-link: #2453D6;
  --bvw-selected: #EEF2FC;
  --bvw-chip-text: #1A3FA8;
  --bvw-table-head: #FAFBFC;
  --bvw-sidebar: #0E1726;
  --bvw-sidebar-border: #0E1726;
  --bvw-sidebar-text: #C9D1DC;
  --bvw-sidebar-sub: #A9B4C4;
  --bvw-sidebar-icon: #A9B4C4;
  --bvw-sidebar-brand: #FFFFFF;
  --bvw-sidebar-muted: #8C97A8;
  --bvw-sidebar-hover: #1C2A40;
  --bvw-sidebar-selected: #1C2A40;
  --bvw-sidebar-selected-text: #FFFFFF;
  --bvw-spine: #24324A;
  --bvw-active-bar: #4F7BFF;
  --bvw-accent-icon: #2453D6;
  --bvw-avatar-bg: #DCE4F7;
  --bvw-avatar-text: #1A3FA8;
  --bvw-login-bg: linear-gradient(160deg, #0E1726 0%, #1C2A40 45%, #2453D6 100%);
}

/* ---------- Page ---------------------------------------------------------- */

html:not(.dark) body.fi-body {
  background: var(--bvw-canvas);
  color: var(--bvw-text);
  font-family: var(--bvw-font);
}

html:not(.dark) .fi-main-ctn,
html:not(.dark) .fi-layout {
  background: var(--bvw-canvas);
}

.fi-main {
  padding-top: 0.25rem;
}

html:not(.dark) .fi-header-heading {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--bvw-ink);
}

html:not(.dark) .fi-header-subheading {
  font-size: 0.875rem;
  color: var(--bvw-muted);
}

.fi-breadcrumbs-item-label {
  font-size: 0.8125rem;
}

/* ---------- Sidebar ------------------------------------------------------- */

html:not(.dark) .fi-sidebar.fi-main-sidebar {
  background: var(--bvw-sidebar);
  border-inline-end: 1px solid var(--bvw-sidebar-border);
}

@media (min-width: 1024px) {
  html:not(.dark) .fi-sidebar.fi-main-sidebar {
    background: var(--bvw-sidebar);
  }
}

html:not(.dark) .fi-sidebar-header {
  height: 56px;
  min-height: 56px;
  padding-inline: 1rem 0.5rem;
  background: var(--bvw-sidebar);
  box-shadow: none;
  border-bottom: 1px solid var(--bvw-sidebar-border);
  --tw-ring-shadow: 0 0 #0000;
}

.fi-sidebar-nav {
  padding: 0 0 1rem;
  gap: 0;
  scrollbar-width: thin;
  scrollbar-color: #D1D5DB transparent;
}

.fi-sidebar-nav::-webkit-scrollbar { width: 5px; }
.fi-sidebar-nav::-webkit-scrollbar-thumb { background: #D1D5DB; border-radius: 4px; }

.fi-sidebar-nav-groups {
  margin: 0.4rem 0 0;
  gap: 0;
}

.fi-sidebar-group {
  position: relative;
  gap: 0;
}

/* 3px bar on the group of the page you are on */
.fi-sidebar-open .fi-sidebar-group.fi-active:has(> .fi-sidebar-group-button)::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 3px;
  background: var(--bvw-active-bar);
}

.fi-sidebar-group-button {
  min-height: var(--bvw-row-height);
  padding: 0 0.6rem 0 1rem;
  gap: 0.7rem;
  margin: 0;
  border-radius: 0;
  background: transparent;
}

.fi-sidebar-group-button:hover {
  background: var(--bvw-sidebar-hover);
}

/* Thin outline icon in front of every group (chosen per group in nav-icons rules below). */
.fi-sidebar-group-button::before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background-color: var(--bvw-sidebar-icon);
  -webkit-mask: var(--bvw-group-icon, url("../../images/brand/nav/folder.svg")) center / 18px 18px no-repeat;
  mask: var(--bvw-group-icon, url("../../images/brand/nav/folder.svg")) center / 18px 18px no-repeat;
}

.fi-sidebar-group-icon {
  display: none;
}

.fi-sidebar .fi-sidebar-group-label {
  font-size: 13px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--bvw-sidebar-text);
}

.fi-sidebar .fi-sidebar-group.fi-active > .fi-sidebar-group-button .fi-sidebar-group-label {
  font-weight: 600;
  color: var(--bvw-sidebar-brand);
}

.fi-sidebar .fi-sidebar-group.fi-active > .fi-sidebar-group-button::before {
  background-color: var(--bvw-sidebar-brand);
}

.fi-sidebar-group-collapse-button {
  width: 1.75rem;
  height: 1.75rem;
  color: var(--bvw-sidebar-muted);
}

.fi-sidebar-group-collapse-button svg {
  width: 14px;
  height: 14px;
}

/* Sub-items: indented on a thin vertical guide line */
.fi-sidebar-open .fi-sidebar-group:has(> .fi-sidebar-group-button) > .fi-sidebar-group-items {
  margin: 0 0 0.35rem 1.55rem;
  padding: 0.1rem 0.5rem 0.1rem 0.85rem;
  border-inline-start: 1px solid var(--bvw-spine);
  gap: 0;
}

.fi-sidebar-open .fi-sidebar-group:has(> .fi-sidebar-group-button) .fi-sidebar-item-icon,
.fi-sidebar-open .fi-sidebar-group:has(> .fi-sidebar-group-button) .fi-sidebar-item-grouped-border {
  display: none;
}

.fi-sidebar-group:has(> .fi-sidebar-group-button) .fi-sidebar-item-button {
  justify-content: flex-start;
  padding: var(--bvw-subrow-pad) 0.6rem;
  border-radius: var(--bvw-radius);
  background: transparent;
}

.fi-sidebar .fi-sidebar-group:has(> .fi-sidebar-group-button) .fi-sidebar-item-label {
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.35;
  color: var(--bvw-sidebar-sub);
}

/* Items without a group (Dashboard, home pages): a full row with an icon */
.fi-sidebar-group:not(:has(> .fi-sidebar-group-button)) > .fi-sidebar-group-items {
  gap: 0;
}

.fi-sidebar-group:not(:has(> .fi-sidebar-group-button)) .fi-sidebar-item {
  position: relative;
}

.fi-sidebar-open .fi-sidebar-group:not(:has(> .fi-sidebar-group-button)) .fi-sidebar-item-button {
  justify-content: flex-start;
  min-height: var(--bvw-row-height);
  padding: 0 0.85rem 0 1rem;
  gap: 0.7rem;
  border-radius: 0;
}

.fi-sidebar .fi-sidebar-group:not(:has(> .fi-sidebar-group-button)) .fi-sidebar-item-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--bvw-sidebar-text);
}

.fi-sidebar-open .fi-sidebar-group:not(:has(> .fi-sidebar-group-button)) .fi-sidebar-item.fi-active::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 3px;
  background: var(--bvw-active-bar);
  z-index: 1;
}

.fi-sidebar .fi-sidebar-item-icon {
  width: 18px;
  height: 18px;
  color: var(--bvw-sidebar-icon);
}

.fi-sidebar .fi-sidebar-item-button:hover,
.fi-sidebar .fi-sidebar-item-button:focus-visible {
  background: var(--bvw-sidebar-hover);
}

.fi-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button {
  background: var(--bvw-sidebar-selected);
  box-shadow: none;
}

.fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-label {
  font-weight: 600;
  color: var(--bvw-sidebar-selected-text);
}

.fi-sidebar .fi-sidebar-item.fi-active .fi-sidebar-item-icon {
  color: var(--bvw-sidebar-selected-text);
}

.fi-sidebar-item-button:focus-visible,
.fi-sidebar-group-button:focus-visible {
  outline: 2px solid var(--bvw-primary);
  outline-offset: -2px;
}

/* Brand block in the sidebar header and on sign-in */
.bvw-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  height: 100%;
  text-decoration: none;
}

.bvw-brand__mark {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: block;
}

.bvw-brand__text {
  display: grid;
  min-width: 0;
  line-height: 1.2;
}

.bvw-brand__name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bvw-sidebar-brand);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bvw-brand__caption {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--bvw-sidebar-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bvw-brand__name--full,
.bvw-brand__caption--full { display: none; }

.fi-simple-header .bvw-brand__name--short,
.fi-simple-header .bvw-brand__caption--short { display: none; }

.fi-simple-header .bvw-brand__name--full,
.fi-simple-header .bvw-brand__caption--full { display: block; }

.fi-topbar .bvw-brand__name { color: var(--bvw-ink); }
.fi-topbar .bvw-brand__caption { color: var(--bvw-muted); }
.dark .bvw-brand__name { color: #FFFFFF; }
.dark .bvw-brand__caption { color: #9CA3AF; }

/* Profile block under the brand */
.bvw-profile {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.85rem 0.75rem 0.85rem 1rem;
  border-bottom: 1px solid var(--bvw-sidebar-border);
}

.bvw-avatar {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 0.8rem;
  font-weight: 600;
  background: var(--bvw-avatar-bg);
  color: var(--bvw-avatar-text);
}

.bvw-who {
  display: grid;
  min-width: 0;
  line-height: 1.3;
}

.bvw-hi {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--bvw-sidebar-brand);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bvw-info {
  font-size: 0.76rem;
  color: var(--bvw-link);
  text-decoration: none;
}

html[data-bharatamvinyas-theme="dark_blue"] .bvw-info { color: #8FB0FF; }

.bvw-info:hover { text-decoration: underline; }

.bvw-cog {
  margin-inline-start: auto;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  color: var(--bvw-sidebar-muted);
  border-radius: var(--bvw-radius);
}

.bvw-cog:hover {
  background: var(--bvw-sidebar-hover);
  color: var(--bvw-sidebar-brand);
}

.bvw-cog svg { width: 16px; height: 16px; }

.dark .bvw-profile { border-color: rgb(255 255 255 / 0.1); }
.dark .bvw-hi { color: #FFFFFF; }

/* ---------- Top bar ------------------------------------------------------- */

html:not(.dark) .fi-topbar > nav {
  height: 56px;
  background: var(--bvw-topbar);
  box-shadow: none;
  border-bottom: 1px solid var(--bvw-border);
  --tw-ring-shadow: 0 0 #0000;
}

.bvw-topbar-title {
  display: none;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--bvw-ink);
}

@media (min-width: 768px) {
  .bvw-topbar-title { display: inline-flex; }
}

.bvw-topbar-title__icon {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  display: grid;
  place-items: center;
  border-radius: var(--bvw-radius);
  background: var(--bvw-selected);
  color: var(--bvw-accent-icon);
}

.bvw-topbar-title__icon svg { width: 16px; height: 16px; }

.bvw-topbar-title__text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 40vw;
}

.dark .bvw-topbar-title { color: #FFFFFF; }

.bvw-topbar-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.bvw-quick {
  position: relative;
}

.bvw-quick > summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  height: 34px;
  padding: 0 0.7rem;
  border: 1px solid var(--bvw-border);
  border-radius: var(--bvw-radius);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--bvw-text);
  background: var(--bvw-surface);
  cursor: pointer;
  user-select: none;
}

.bvw-quick > summary::-webkit-details-marker { display: none; }
.bvw-quick > summary:hover { border-color: var(--bvw-border-strong); }
.bvw-quick > summary svg { width: 14px; height: 14px; color: var(--bvw-muted); }

.bvw-quick__menu {
  position: absolute;
  inset-inline-end: 0;
  top: calc(100% + 6px);
  z-index: 40;
  min-width: 13rem;
  padding: 0.35rem;
  background: var(--bvw-surface);
  border: 1px solid var(--bvw-border);
  border-radius: var(--bvw-radius);
  box-shadow: 0 10px 28px rgb(15 23 42 / 0.1);
}

.bvw-quick__menu a {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 0.6rem;
  border-radius: var(--bvw-radius);
  font-size: 0.8125rem;
  color: var(--bvw-text);
  text-decoration: none;
}

.bvw-quick__menu a:hover { background: var(--bvw-hover); color: var(--bvw-ink); }
.bvw-quick__menu svg { width: 16px; height: 16px; color: var(--bvw-muted); }

.bvw-icon-btn {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: var(--bvw-radius);
  background: transparent;
  color: var(--bvw-muted);
  cursor: pointer;
}

.bvw-icon-btn:hover { background: var(--bvw-hover); color: var(--bvw-ink); }
.bvw-icon-btn svg { width: 19px; height: 19px; }
.bvw-icon-btn:focus-visible,
.bvw-quick > summary:focus-visible { outline: 2px solid var(--bvw-primary); outline-offset: 1px; }

.dark .bvw-quick > summary,
.dark .bvw-quick__menu { background: rgb(17 24 39); border-color: rgb(255 255 255 / 0.1); color: #E5E7EB; }
.dark .bvw-quick__menu a { color: #E5E7EB; }
.dark .bvw-icon-btn:hover,
.dark .bvw-quick__menu a:hover { background: rgb(255 255 255 / 0.06); color: #FFFFFF; }

.bvw-signout { margin: 0; }

.fi-topbar-database-notifications-btn { color: var(--bvw-muted); }

.bvw-quick__empty {
  margin: 0;
  padding: 0.5rem 0.6rem;
  font-size: 0.8125rem;
  color: var(--bvw-muted);
}

@media (max-width: 639px) {
  .bvw-quick:not(.bvw-bell) { display: none; }
}

/* Keep the phone menu buttons ahead of the page title */
.fi-topbar-open-sidebar-btn,
.fi-topbar-close-sidebar-btn {
  order: -1;
}

/* ---------- Home greeting -------------------------------------------------- */

.bvw-greeting {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.5rem 1.5rem;
  padding: 1.1rem 1.25rem;
  margin-bottom: 0.25rem;
  background: var(--bvw-surface);
  border: 1px solid var(--bvw-border);
  border-radius: var(--bvw-radius);
}

.bvw-greeting__hello {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--bvw-ink);
}

.bvw-greeting__sub {
  margin: 0.15rem 0 0;
  font-size: 0.8125rem;
  color: var(--bvw-muted);
}

.bvw-greeting__quote {
  margin: 0;
  max-width: 34rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: var(--bvw-muted);
}

.bvw-greeting__quote cite {
  font-style: normal;
  font-weight: 500;
  color: var(--bvw-text);
}

.dark .bvw-greeting { background: rgb(17 24 39); border-color: rgb(255 255 255 / 0.1); }

/* On home pages the greeting is the heading; the old welcome card and a bare
   "Dashboard" title would only repeat it (sign out lives in the top bar). */
.fi-page:has(.bvw-greeting) .fi-header:not(:has(.fi-ac)) { display: none; }
.fi-page:has(.bvw-greeting) .fi-account-widget,
.fi-page:has(.bvw-greeting) .bharatamvinyas-dashboard__account,
.fi-page:has(.bvw-greeting) .bharatamvinyas-dashboard__account-row:not(.bharatamvinyas-dashboard__account-row--with-attendance) { display: none; }

.fi-page:has(.bvw-greeting) .bharatamvinyas-dashboard__account-row--with-attendance { margin-bottom: 1rem; }
.dark .bvw-greeting__hello { color: #FFFFFF; }

/* ---------- Home building blocks (MC home, dashboards) --------------------- */

.bvw-stack { display: grid; gap: 1rem; }

.bvw-hero {
  padding: 1.1rem 1.25rem;
  border-radius: var(--bvw-radius);
  background: linear-gradient(120deg, var(--bvw-primary), var(--bvw-primary-hover));
  color: #FFFFFF;
}
.bvw-hero__eyebrow { margin: 0; font-size: 0.75rem; font-weight: 500; opacity: 0.85; }
.bvw-hero__title { margin: 0.2rem 0 0; font-size: 1.25rem; font-weight: 600; }
.bvw-hero__sub { margin: 0.25rem 0 0; font-size: 0.875rem; opacity: 0.9; }

/* Workspace grid: 5 → 3 → 2 → 1 columns */
.bvw-stat-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 480px) { .bvw-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .bvw-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1400px) { .bvw-stat-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.bvw-stat {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.85rem 1rem;
  background: var(--bvw-surface);
  border: 1px solid var(--bvw-border);
  border-radius: var(--bvw-radius);
  color: var(--bvw-text);
  text-decoration: none;
}
a.bvw-stat:hover { border-color: var(--bvw-primary); }
.bvw-stat__label { font-size: 0.8125rem; color: var(--bvw-muted); font-weight: 500; }
.bvw-stat__value { font-size: 1.5rem; font-weight: 600; color: var(--bvw-ink); font-variant-numeric: tabular-nums; }
.bvw-stat__value--warn { color: #B7791F; }

.bvw-panel {
  padding: 1rem 1.1rem;
  background: var(--bvw-surface);
  border: 1px solid var(--bvw-border);
  border-radius: var(--bvw-radius);
}
.bvw-panel__title { margin: 0 0 0.75rem; font-size: 15px; font-weight: 500; color: var(--bvw-text); }

.bvw-action-grid { display: grid; gap: 0.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .bvw-action-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1400px) { .bvw-action-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.bvw-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--bvw-border);
  border-radius: var(--bvw-radius);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--bvw-text);
  text-align: center;
  text-decoration: none;
}
.bvw-action:hover { border-color: var(--bvw-primary); color: var(--bvw-primary); background: var(--bvw-selected); }

.bvw-list { list-style: none; margin: 0; padding: 0; }
.bvw-list li + li { border-top: 1px solid var(--bvw-border); }
.bvw-list a { display: block; padding: 0.6rem 0.25rem; text-decoration: none; }
.bvw-list__title { display: block; font-weight: 500; color: var(--bvw-ink); }
.bvw-list__sub { display: block; font-size: 0.75rem; color: var(--bvw-muted); }
.bvw-empty { margin: 0; font-size: 0.875rem; color: var(--bvw-muted); }
.bvw-footnote { margin: 0; text-align: center; font-size: 0.75rem; color: var(--bvw-muted); }

/* Subscription notice: a card at the top of the content area */
.bvw-notice {
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--bvw-border);
  border-left: 3px solid var(--bvw-primary);
  border-radius: var(--bvw-radius);
  background: var(--bvw-surface);
  font-size: 0.875rem;
  color: var(--bvw-text);
}
.bvw-notice--warning { border-left-color: #D69E2E; background: #FFFAF0; }
.bvw-notice--urgent, .bvw-notice--expired { border-left-color: #C53030; background: #FFF5F5; }
.bvw-notice--grace { border-left-color: #DD6B20; background: #FFFAF0; }
.bvw-notice__title { margin: 0; font-weight: 600; }
.fi-main:has(> .bvw-notice) > .fi-page,
.fi-main:has(.bvw-notice) .fi-page { padding-top: 0.75rem; }
.bvw-notice p { margin: 0.2rem 0 0; }
.bvw-notice a { color: var(--bvw-link); font-weight: 500; }

/* ---------- Cards, tables, forms ------------------------------------------ */

html:not(.dark) :is(
  .fi-section,
  .fi-ta-ctn,
  .fi-wi-stats-overview-stat,
  .fi-fo-tabs,
  .fi-in-tabs,
  .fi-fo-repeater-item,
  .fi-fo-builder-item,
  .fi-wi-widget > .fi-section,
  .fi-wi-chart > .fi-section,
  .fi-account-widget,
  .staff-attendance-bar
) {
  background: var(--bvw-surface);
  border-radius: var(--bvw-radius);
  box-shadow: 0 0 0 1px var(--bvw-border);
}

html:not(.dark) :is(.fi-section, .fi-ta-ctn, .fi-wi-stats-overview-stat, .fi-fo-tabs, .fi-in-tabs) {
  --tw-ring-color: var(--bvw-border);
}

html:not(.dark) .fi-section-header-heading,
html:not(.dark) .fi-ta-header-heading {
  font-size: 15px;
  font-weight: 500;
  color: var(--bvw-text);
}

html:not(.dark) .fi-section-header-description {
  color: var(--bvw-muted);
}

html:not(.dark) .fi-wi-stats-overview-stat-label {
  color: var(--bvw-muted);
  font-weight: 500;
}

html:not(.dark) .fi-wi-stats-overview-stat-value {
  font-weight: 600;
  color: var(--bvw-ink);
  font-variant-numeric: tabular-nums;
}

html:not(.dark) .fi-ta-table > thead > tr,
html:not(.dark) .fi-ta-header-cell,
html:not(.dark) .fi-ta-table > thead > tr > th {
  background: var(--bvw-table-head);
}

html:not(.dark) .fi-ta-header-cell-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--bvw-muted);
}

html:not(.dark) .fi-ta-row:hover > td {
  background: var(--bvw-row-hover);
}

html:not(.dark) .fi-ta-header-toolbar,
html:not(.dark) .fi-ta-header {
  border-color: var(--bvw-border);
}

.fi-badge {
  border-radius: var(--bvw-radius);
  font-weight: 500;
}

/* Buttons: solid primary, outlined secondary (blue border and text) */
.fi-btn {
  border-radius: var(--bvw-radius);
  font-weight: 500;
}

html:not(.dark) .fi-btn.fi-color-gray:not(.fi-btn-outlined):not(.fi-link) {
  background: var(--bvw-surface);
  color: var(--bvw-primary);
  box-shadow: 0 0 0 1px var(--bvw-primary);
}

html:not(.dark) .fi-btn.fi-color-gray:not(.fi-btn-outlined):not(.fi-link) .fi-btn-icon {
  color: var(--bvw-primary);
}

html:not(.dark) .fi-btn.fi-color-gray:not(.fi-btn-outlined):not(.fi-link):hover {
  background: var(--bvw-selected);
}

.fi-icon-btn,
.fi-input-wrp,
.fi-select-input,
.fi-dropdown-panel,
.fi-fo-field-wrp-hint,
.fi-pagination-items,
.fi-tabs,
.fi-tabs-item,
.fi-ta-search-field .fi-input-wrp {
  border-radius: var(--bvw-radius);
}

html:not(.dark) .fi-input-wrp {
  box-shadow: 0 0 0 1px var(--bvw-border-strong);
}

html:not(.dark) .fi-input-wrp:focus-within {
  box-shadow: 0 0 0 2px var(--bvw-primary);
}

html:not(.dark) .fi-fo-field-wrp-label .fi-fo-field-wrp-label-text,
html:not(.dark) .fi-fo-field-wrp-label span {
  color: var(--bvw-text);
}

html:not(.dark) .fi-tabs {
  background: var(--bvw-surface);
  box-shadow: 0 0 0 1px var(--bvw-border);
}

html:not(.dark) .fi-tabs-item.fi-active {
  background: var(--bvw-selected);
}

html:not(.dark) .fi-tabs-item.fi-active .fi-tabs-item-label {
  color: var(--bvw-chip-text);
}

.fi-modal-window {
  border-radius: 6px;
}

html:not(.dark) .fi-dropdown-panel {
  box-shadow: 0 10px 28px rgb(15 23 42 / 0.1), 0 0 0 1px var(--bvw-border);
}

/* Friendly empty states */
html:not(.dark) .fi-ta-empty-state-icon-ctn {
  background: var(--bvw-selected);
}

html:not(.dark) .fi-ta-empty-state-icon-ctn svg {
  color: var(--bvw-primary);
}

html:not(.dark) .fi-ta-empty-state-heading {
  font-size: 15px;
  font-weight: 500;
  color: var(--bvw-text);
}

/* Avatar in the user menu matches the profile block */
.fi-user-menu .fi-avatar {
  background: var(--bvw-avatar-bg);
}

/* ---------- Sign in (simple pages) ---------------------------------------- */

html:not(.dark) .fi-simple-layout {
  background: var(--bvw-login-bg);
}

html:not(.dark) .fi-simple-main {
  border-radius: 8px;
  box-shadow: 0 12px 40px rgb(31 41 55 / 0.12), 0 0 0 1px var(--bvw-border);
}

.fi-simple-header .fi-logo {
  margin-bottom: 0.5rem;
}

.fi-simple-header .bvw-brand__mark {
  width: 36px;
  height: 36px;
  flex-basis: 36px;
}

.fi-simple-header .bvw-brand__name {
  font-size: 1rem;
  color: var(--bvw-ink);
}

.fi-simple-header .bvw-brand__caption {
  font-size: 0.75rem;
  color: var(--bvw-muted);
}

html:not(.dark) .fi-simple-header-heading {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--bvw-ink);
}

.bvw-signin-note {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--bvw-border);
  text-align: center;
  font-size: 0.75rem;
  color: var(--bvw-muted);
}

/* ---------- Group icons (thin outline, 18px) ------------------------------ */

.fi-sidebar-group[data-group-label="Finance"],
.fi-sidebar-group[data-group-label="Billing"] { --bvw-group-icon: url("../../images/brand/nav/banknotes.svg"); }
.fi-sidebar-group[data-group-label="Accounting"] { --bvw-group-icon: url("../../images/brand/nav/calculator.svg"); }
.fi-sidebar-group[data-group-label="Operations"] { --bvw-group-icon: url("../../images/brand/nav/clipboard.svg"); }
.fi-sidebar-group[data-group-label="Security"] { --bvw-group-icon: url("../../images/brand/nav/shield.svg"); }
.fi-sidebar-group[data-group-label="Community"] { --bvw-group-icon: url("../../images/brand/nav/users.svg"); }
.fi-sidebar-group[data-group-label="Property"],
.fi-sidebar-group[data-group-label="Enterprise"] { --bvw-group-icon: url("../../images/brand/nav/building.svg"); }
.fi-sidebar-group[data-group-label="Governance"],
.fi-sidebar-group[data-group-label="Compliance"],
.fi-sidebar-group[data-group-label="Audit & compliance"] { --bvw-group-icon: url("../../images/brand/nav/scale.svg"); }
.fi-sidebar-group[data-group-label="Amenities"] { --bvw-group-icon: url("../../images/brand/nav/sparkles.svg"); }
.fi-sidebar-group[data-group-label="Workforce"] { --bvw-group-icon: url("../../images/brand/nav/briefcase.svg"); }
.fi-sidebar-group[data-group-label="Facilities"],
.fi-sidebar-group[data-group-label="Services"] { --bvw-group-icon: url("../../images/brand/nav/wrench.svg"); }
.fi-sidebar-group[data-group-label="Parking"] { --bvw-group-icon: url("../../images/brand/nav/car.svg"); }
.fi-sidebar-group[data-group-label="Communications"],
.fi-sidebar-group[data-group-label="Marketing"] { --bvw-group-icon: url("../../images/brand/nav/megaphone.svg"); }
.fi-sidebar-group[data-group-label="Procurement"] { --bvw-group-icon: url("../../images/brand/nav/cart.svg"); }
.fi-sidebar-group[data-group-label="Infrastructure"] { --bvw-group-icon: url("../../images/brand/nav/map.svg"); }
.fi-sidebar-group[data-group-label="Society setup"],
.fi-sidebar-group[data-group-label="Setup"] { --bvw-group-icon: url("../../images/brand/nav/sliders.svg"); }
.fi-sidebar-group[data-group-label="Support"],
.fi-sidebar-group[data-group-label="Desk"] { --bvw-group-icon: url("../../images/brand/nav/lifebuoy.svg"); }
.fi-sidebar-group[data-group-label="Handover"] { --bvw-group-icon: url("../../images/brand/nav/handover.svg"); }
.fi-sidebar-group[data-group-label="Integrations"] { --bvw-group-icon: url("../../images/brand/nav/puzzle.svg"); }
.fi-sidebar-group[data-group-label="Configuration"] { --bvw-group-icon: url("../../images/brand/nav/cog.svg"); }
.fi-sidebar-group[data-group-label="Core"] { --bvw-group-icon: url("../../images/brand/nav/home.svg"); }
.fi-sidebar-group[data-group-label="Marketplace"] { --bvw-group-icon: url("../../images/brand/nav/storefront.svg"); }
.fi-sidebar-group[data-group-label="Sales"],
.fi-sidebar-group[data-group-label="Partner & GTM"] { --bvw-group-icon: url("../../images/brand/nav/chart.svg"); }
.fi-sidebar-group[data-group-label="Website CMS"],
.fi-sidebar-group[data-group-label="Website"] { --bvw-group-icon: url("../../images/brand/nav/globe.svg"); }

/* ---------- Floating assistant / live support buttons --------------------- */
/* Their own styles are printed at the end of <body>, hence the extra specificity. */

html body .fa-chatbot-fab-button:not(.is-open) {
  background: var(--bvw-primary);
  box-shadow: 0 8px 20px rgb(15 23 42 / 0.18);
}

html body .fa-chatbot-fab-send {
  background: var(--bvw-primary);
  border-color: var(--bvw-primary);
}

html body .fa-chatbot-fab-suggestion {
  border-color: var(--bvw-border);
  background: var(--bvw-selected);
  color: var(--bvw-chip-text);
}

html body .fa-chatbot-fab-panel,
html body .erp-live-support__panel {
  border-radius: 8px;
}

html body .erp-live-support__fab {
  background: var(--bvw-surface);
  color: var(--bvw-primary);
  border: 1px solid var(--bvw-primary);
  box-shadow: 0 8px 20px rgb(15 23 42 / 0.12);
}

html body .erp-live-support__bubble--user,
html body .erp-live-support .btn:not(.btn-outline) {
  background: var(--bvw-primary);
  border-color: var(--bvw-primary);
}

/* ---------- Small screens -------------------------------------------------- */

@media (max-width: 1023px) {
  .fi-sidebar.fi-sidebar-open {
    width: 264px;
    box-shadow: 8px 0 28px rgb(15 23 42 / 0.12);
  }
}

@media (prefers-reduced-motion: reduce) {
  .fi-sidebar, .fi-sidebar * { transition: none !important; }
}
