/*
 * Comp Recon "Volt" look (2026-09-26).
 *
 * The design of Volt (Themesberg, MIT: assets/volt/LICENSE-Volt.md) applied
 * to this application's own markup: dark gray-800 sidebar, Inter, white cards
 * with soft shadows, 0.5rem radii, gray-800 primary buttons, uppercase table
 * headings. Loaded after app.css and ui.css only when the Volt look is on
 * (App\Support\UiTheme), so the classic look is untouched.
 *
 * Inter is self-hosted (SIL OFL: assets/volt/fonts/LICENSE-Inter.txt); the
 * site's Content-Security-Policy allows no outside stylesheets or fonts.
 */

@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/inter-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/inter-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/inter-latin-700-normal.woff2") format("woff2"); }

/* ------------------------------------------------------------ tokens --- */

body.theme-volt {
  /* Volt palette (volt.css :root) */
  --vt-gray-50: #F9FAFB;
  --vt-gray-100: #F2F4F6;
  --vt-gray-200: #E5E7EB;
  --vt-gray-300: #D1D5DB;
  --vt-gray-400: #9CA3AF;
  --vt-gray-500: #6B7280;
  --vt-gray-600: #4B5563;
  --vt-gray-700: #374151;
  --vt-gray-800: #1F2937;
  --vt-gray-900: #111827;
  --vt-blue: #2361ce;
  --vt-indigo: #4F46E5;
  --vt-purple: #7C3AED;
  --vt-red: #E11D48;
  --vt-orange: #FBA918;
  --vt-green: #10B981;
  --vt-teal: #1E90FF;
  --vt-radius: 0.5rem;
  --vt-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --vt-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --vt-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* The application's own tokens, remapped so app.css and ui.css follow. */
  --bg: var(--vt-gray-100);
  --panel: #ffffff;
  --text: var(--vt-gray-700);
  --muted: var(--vt-gray-500);
  --line: var(--vt-gray-200);
  --line-strong: var(--vt-gray-300);
  --panel-tint: var(--vt-gray-50);
  --panel-tint-strong: var(--vt-gray-100);
  --blue: var(--vt-gray-800);
  --blue-soft: var(--vt-gray-100);
  --green: var(--vt-green);
  --excel-green: var(--vt-green);
  --excel-green-dark: #0e9f6e;
  --red: var(--vt-red);
  --amber: var(--vt-orange);
  --sidebar: var(--vt-gray-800);
  --shadow-soft: var(--vt-shadow);

  background: var(--vt-gray-100);
  color: var(--vt-gray-700);
  font-family: var(--vt-font);
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}

.theme-volt h1,
.theme-volt h2,
.theme-volt h3,
.theme-volt h4 {
  color: var(--vt-gray-900);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.theme-volt h1 { font-size: 1.5rem; }
.theme-volt h2 { font-size: 1.125rem; }
.theme-volt h3 { font-size: 0.95rem; }

.theme-volt a { color: var(--vt-blue); }

.theme-volt .muted,
.theme-volt .page-heading p,
.theme-volt .section-head p,
.theme-volt .metric-admin-heading p {
  color: var(--vt-gray-500);
}

/* ------------------------------------------------------------- shell --- */

.theme-volt .vt-shell {
  display: block;
  min-height: 100vh;
}

.theme-volt .vt-sidebar {
  background: var(--vt-gray-800);
  border-right: 0;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 100vh;
  padding: 18px 14px 20px;
}

@media (min-width: 980px) {
  .theme-volt .vt-sidebar {
    bottom: 0;
    left: 0;
    overflow-y: auto;
    position: fixed;
    top: 0;
    width: 260px;
    z-index: 30;
  }

  .theme-volt .vt-content {
    margin-left: 260px;
  }
}

.theme-volt .vt-content {
  min-width: 0;
  padding: 0 24px 40px;
}

@media (max-width: 979px) {
  .theme-volt .vt-content {
    padding: 0 14px 28px;
  }
}

.theme-volt .vt-brand {
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
  display: flex;
  gap: 12px;
  padding: 4px 6px 16px;
  text-decoration: none;
}

.theme-volt .vt-brand-mark,
.theme-volt .vt-brand-logo {
  align-items: center;
  background: #fff;
  border-radius: 10px;
  color: var(--vt-gray-800);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 15px;
  font-weight: 800;
  height: 40px;
  justify-content: center;
  object-fit: contain;
  padding: 3px;
  width: 40px;
}

.theme-volt .vt-brand-text { display: grid; line-height: 1.2; min-width: 0; }
.theme-volt .vt-brand-name { font-size: 16px; font-weight: 700; }
.theme-volt .vt-brand-sub { color: var(--vt-gray-400); font-size: 11.5px; }

.theme-volt .vt-nav-search {
  display: block;
  padding: 0;
}

.theme-volt .vt-nav-search input,
.theme-volt .sidebar .nav-search input {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--vt-radius);
  color: #fff;
  font: inherit;
  font-size: 13px;
  min-height: 36px;
  padding: 7px 12px;
  width: 100%;
}

.theme-volt .sidebar .nav-search input::placeholder { color: var(--vt-gray-400); }
.theme-volt .sidebar .nav-search input:focus { border-color: rgba(255, 255, 255, 0.35); box-shadow: none; outline: 0; }

/* The shared menu (layouts/nav_menu.php) in Volt colours. */
.theme-volt .vt-sidebar .side-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.theme-volt .vt-sidebar .nav-group,
.theme-volt .vt-sidebar .nav-section,
.theme-volt .vt-sidebar .nav-subgroup {
  background: transparent;
  border: 0;
  border-radius: 0;
  display: block;
  padding: 0;
}

.theme-volt .vt-sidebar .side-nav summary {
  background: transparent;
  border-radius: var(--vt-radius);
  color: var(--vt-gray-400);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 10px 10px 6px;
  text-transform: uppercase;
}

.theme-volt .vt-sidebar .side-nav summary:hover { background: transparent; color: #fff; }
.theme-volt .vt-sidebar .side-nav summary::after { border-color: var(--vt-gray-500); }
.theme-volt .vt-sidebar .side-nav summary:hover::after { border-color: #fff; }

.theme-volt .vt-sidebar .nav-subgroup summary {
  color: var(--vt-gray-300);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  padding: 8px 10px;
  text-transform: none;
}

.theme-volt .vt-sidebar .nav-subgroup summary:hover { background: var(--vt-gray-700); }

.theme-volt .vt-sidebar .nav-items {
  display: grid;
  gap: 2px;
}

.theme-volt .vt-sidebar .nav-subgroup .nav-items {
  padding-left: 12px;
}

.theme-volt .vt-sidebar .side-nav a {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--vt-radius);
  color: #fff;
  display: flex;
  font-size: 14px;
  font-weight: 500;
  gap: 10px;
  justify-content: flex-start;
  padding: 9px 12px;
  text-align: left;
}

.theme-volt .vt-sidebar .side-nav a:hover {
  background: var(--vt-gray-700);
  border-color: transparent;
  color: #F2F4F6;
}

.theme-volt .vt-sidebar .side-nav a.active {
  background: var(--vt-gray-700);
  border-color: transparent;
  box-shadow: none;
  color: #F2F4F6;
  font-weight: 600;
}

.theme-volt .vt-sidebar .side-nav a::before {
  background-color: var(--vt-gray-400);
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  height: 16px;
  -webkit-mask: var(--vt-icon, none) center / contain no-repeat;
  mask: var(--vt-icon, none) center / contain no-repeat;
  width: 16px;
}

.theme-volt .vt-sidebar .side-nav a.active::before,
.theme-volt .vt-sidebar .side-nav a:hover::before { background-color: #fff; }
.theme-volt .vt-sidebar .side-nav a:not([data-nav-label])::before,
.theme-volt .vt-sidebar .nav-subgroup .side-nav a::before { display: none; }
.theme-volt .vt-sidebar .nav-subgroup a::before { display: none; }

/* Heroicons (MIT), the set Volt uses, as masks keyed by the menu label. */
.theme-volt .vt-sidebar .side-nav a[data-nav-label="dashboard"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath d='M2 10a8 8 0 018-8v8h8a8 8 0 11-16 0z'/%3e%3cpath d='M12 2.252A8.014 8.014 0 0117.748 8H12V2.252z'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[data-nav-label="reports"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath d='M9 2a1 1 0 000 2h2a1 1 0 100-2H9z'/%3e%3cpath fill-rule='evenodd' d='M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm3 4a1 1 0 000 2h.01a1 1 0 100-2H7zm3 0a1 1 0 000 2h3a1 1 0 100-2h-3zm-3 4a1 1 0 100 2h.01a1 1 0 100-2H7zm3 0a1 1 0 100 2h3a1 1 0 100-2h-3z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[data-nav-label="month over month"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[data-nav-label="description matrix"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath d='M5 3a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2V5a2 2 0 00-2-2H5zM5 11a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2v-2a2 2 0 00-2-2H5zM11 5a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V5zM11 13a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[data-nav-label="pnl"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath d='M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[data-nav-label="activation recon"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M7 2a2 2 0 00-2 2v12a2 2 0 002 2h6a2 2 0 002-2V4a2 2 0 00-2-2H7zm3 14a1 1 0 100-2 1 1 0 000 2z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[data-nav-label="look up"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[data-nav-label="builder"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z' clip-rule='evenodd'/%3e%3c/svg%3e"); }

/* Install U: every top-level menu entry has an icon. Keyed by the link, so a renamed entry
   keeps its icon; anything without its own icon gets the plain document one, never a square. */
.theme-volt .vt-sidebar .side-nav a { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2H6a2 2 0 01-2-2V4z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/reports/matrix"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M5 4a3 3 0 00-3 3v6a3 3 0 003 3h10a3 3 0 003-3V7a3 3 0 00-3-3H5zm-1 9v-1h5v2H5a1 1 0 01-1-1zm7 1h4a1 1 0 001-1v-1h-5v2zm0-4h5V8h-5v2zM9 8H4v2h5V8z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/users"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath d='M9 6a3 3 0 11-6 0 3 3 0 016 0zM17 6a3 3 0 11-6 0 3 3 0 016 0zM12.93 17c.046-.327.07-.66.07-1a6.97 6.97 0 00-1.5-4.33A5 5 0 0119 16v1h-6.07zM6 11a5 5 0 015 5v1H1v-1a5 5 0 015-5z'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/groups"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath d='M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/security"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/settings"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath d='M5 4a1 1 0 00-2 0v7.268a2 2 0 000 3.464V16a1 1 0 102 0v-1.268a2 2 0 000-3.464V4zM11 4a1 1 0 10-2 0v1.268a2 2 0 000 3.464V16a1 1 0 102 0V8.732a2 2 0 000-3.464V4zM16 3a1 1 0 011 1v7.268a2 2 0 010 3.464V16a1 1 0 11-2 0v-1.268a2 2 0 010-3.464V4a1 1 0 011-1z'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/notifications"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath d='M10 2a6 6 0 00-6 6v3.586l-.707.707A1 1 0 004 14h12a1 1 0 00.707-1.707L16 11.586V8a6 6 0 00-6-6zM10 18a3 3 0 01-3-3h6a3 3 0 01-3 3z'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/security-status"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/login-history"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/audit"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath d='M9 2a1 1 0 000 2h2a1 1 0 100-2H9z'/%3e%3cpath fill-rule='evenodd' d='M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm3 4a1 1 0 000 2h.01a1 1 0 100-2H7zm3 0a1 1 0 000 2h3a1 1 0 100-2h-3zm-3 4a1 1 0 100 2h.01a1 1 0 100-2H7zm3 0a1 1 0 100 2h3a1 1 0 100-2h-3z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/maintenance"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/system-diagnostic"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath d='M13 7H7v6h6V7z'/%3e%3cpath fill-rule='evenodd' d='M7 2a1 1 0 012 0v1h2V2a1 1 0 112 0v1h2a2 2 0 012 2v2h1a1 1 0 110 2h-1v2h1a1 1 0 110 2h-1v2a2 2 0 01-2 2h-2v1a1 1 0 11-2 0v-1H9v1a1 1 0 11-2 0v-1H5a2 2 0 01-2-2v-2H2a1 1 0 110-2h1V9H2a1 1 0 010-2h1V5a2 2 0 012-2h2V2zM5 5h10v10H5V5z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/transaction-integrity"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath d='M3 12v3c0 1.657 3.134 3 7 3s7-1.343 7-3v-3c0 1.657-3.134 3-7 3s-7-1.343-7-3z'/%3e%3cpath d='M3 7v3c0 1.657 3.134 3 7 3s7-1.343 7-3V7c0 1.657-3.134 3-7 3S3 8.657 3 7z'/%3e%3cpath d='M17 5c0 1.657-3.134 3-7 3S3 6.657 3 5s3.134-3 7-3 7 1.343 7 3z'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/admin/logs"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm2 6a1 1 0 011-1h6a1 1 0 110 2H7a1 1 0 01-1-1zm1 3a1 1 0 100 2h6a1 1 0 100-2H7z' clip-rule='evenodd'/%3e%3c/svg%3e"); }
.theme-volt .vt-sidebar .side-nav a[href="/activation-recon/backpaid"] { --vt-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M5 2a2 2 0 00-2 2v14l3.5-2 3.5 2 3.5-2 3.5 2V4a2 2 0 00-2-2H5zm4.707 3.707a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L8.414 9H10a3 3 0 013 3v1a1 1 0 102 0v-1a5 5 0 00-5-5H8.414l1.293-1.293z' clip-rule='evenodd'/%3e%3c/svg%3e"); }

.theme-volt .vt-sidebar .nav-empty {
  color: var(--vt-gray-400);
  font-size: 13px;
  padding: 8px 12px;
}

.theme-volt .vt-account {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: grid;
  gap: 10px;
  margin-top: auto;
  padding-top: 14px;
}

.theme-volt .vt-account-row { align-items: center; display: flex; gap: 10px; min-width: 0; }
.theme-volt .vt-account-email { color: var(--vt-gray-300); font-size: 12.5px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.theme-volt .vt-avatar {
  align-items: center;
  background: var(--vt-gray-600);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 700;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.theme-volt .vt-avatar-sm { background: var(--vt-gray-800); font-size: 11px; height: 26px; margin-right: 8px; width: 26px; }

.theme-volt .vt-account-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.theme-volt .vt-account-actions form { display: contents; }

.theme-volt .vt-account-link {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--vt-radius);
  color: #fff;
  cursor: pointer;
  flex: 1 1 auto;
  font: inherit;
  font-size: 12.5px;
  font-weight: 600;
  padding: 7px 10px;
  text-align: center;
  text-decoration: none;
}

.theme-volt .vt-account-link:hover { background: rgba(255, 255, 255, 0.14); }

.theme-volt .vt-theme-switch {
  color: var(--vt-gray-400);
  font-size: 12px;
  text-align: center;
  text-decoration: underline;
}

.theme-volt .vt-theme-switch:hover { color: #fff; }

/* Top bar above the page content */
.theme-volt .vt-topbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  justify-content: space-between;
  min-height: 56px;
  padding: 12px 0 6px;
}

.theme-volt .vt-topbar-left,
.theme-volt .vt-topbar-right { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }

.theme-volt .vt-beta {
  background: var(--vt-gray-800);
  border-radius: 999px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 5px 10px;
  text-transform: uppercase;
}

.theme-volt .vt-topbar-link { color: var(--vt-gray-600); font-size: 13px; font-weight: 500; text-decoration: none; }
.theme-volt .vt-topbar-link:hover { color: var(--vt-gray-900); text-decoration: underline; }
.theme-volt .vt-topbar-user { align-items: center; color: var(--vt-gray-700); display: inline-flex; font-size: 13px; font-weight: 500; }

@media (max-width: 979px) {
  .theme-volt .vt-topbar { padding-top: 10px; }
  .theme-volt .vt-topbar-right .vt-topbar-link { display: none; }
  .theme-volt .topbar { background: var(--vt-gray-800); border-bottom: 0; color: #fff; }
  .theme-volt .topbar .brand { color: #fff; }
  .theme-volt .topbar .nav-toggle { background: transparent; border-color: rgba(255, 255, 255, 0.25); color: #fff; }
  .theme-volt .topbar .brand-mark { background: #fff; color: var(--vt-gray-800); }
}

/* ------------------------------------------------------------- cards --- */

.theme-volt .card,
.theme-volt .content-shell > .card,
.theme-volt .notice,
.theme-volt .coverage,
.theme-volt .report-export-jobs,
.theme-volt .fbar {
  background: #fff;
  border: 0;
  border-radius: var(--vt-radius);
  box-shadow: var(--vt-shadow);
}

.theme-volt .card { padding: 18px 20px; }
.theme-volt .card.compact-card { padding: 12px 16px; }
.theme-volt .coverage { color: var(--vt-gray-600); font-size: 13px; padding: 10px 16px; }
.theme-volt .coverage strong { color: var(--vt-gray-800); }
.theme-volt .fbar { padding: 0; }
.theme-volt .fbar-body { border-top-color: var(--vt-gray-200); }

.theme-volt .metrics .card,
.theme-volt .metrics .metric-link {
  border-left: 0;
  min-height: 0;
  padding: 16px 18px;
  position: relative;
}

.theme-volt .metric-link:hover { box-shadow: var(--vt-shadow-lg); text-decoration: none; }

.theme-volt .metric-label,
.theme-volt .cli-command-label {
  color: var(--vt-gray-500);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.theme-volt .metric-value {
  color: var(--vt-gray-900);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-top: 6px;
}

.theme-volt .metric-value.income { color: var(--vt-green); }
.theme-volt .metric-value.expense,
.theme-volt .metric-value.positive { color: var(--vt-red); }
.theme-volt .metric-foot { color: var(--vt-gray-500); font-size: 12px; margin-top: 8px; }

@media (max-width: 759px) {
  .theme-volt .metric-value { font-size: 18px; }
}

/* Dashboard */
.theme-volt .dashboard-hero {
  background: #fff;
}

.theme-volt .dashboard-hero .eyebrow,
.theme-volt .eyebrow { color: var(--vt-gray-500); }
.theme-volt .dashboard-hero h1 { color: var(--vt-gray-900); font-size: 1.5rem; }

.theme-volt .dashboard-coverage-pill {
  background: var(--vt-gray-50);
  border: 1px solid var(--vt-gray-200);
  border-radius: var(--vt-radius);
}

.theme-volt .dashboard-mom-metric {
  background: var(--vt-gray-50);
  border: 1px solid var(--vt-gray-200);
  border-radius: var(--vt-radius);
}

.theme-volt .dashboard-mom-track { background: var(--vt-gray-200); }
.theme-volt .dashboard-mom-fill { background: var(--vt-gray-800); }
.theme-volt .dashboard-mom-fill.income { background: var(--vt-green); }
.theme-volt .dashboard-mom-fill.expense { background: var(--vt-purple); }
.theme-volt .dashboard-mom-fill.negative { background: var(--vt-red); }
.theme-volt .dashboard-mom-header strong.negative { color: var(--vt-red); }

/* Alerts */
.theme-volt .metric-review-alert {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: var(--vt-radius);
  color: #7c2d12;
}

.theme-volt .alert-card,
.theme-volt .notice-card {
  background: #eef2ff;
  border: 1px solid #c7d2fe;
  color: #312e81;
}

.theme-volt .warning-card {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #7c2d12;
}

/* ----------------------------------------------------------- buttons --- */

.theme-volt .button,
.theme-volt .tabs a,
.theme-volt .report-export-menu > summary {
  background: #fff;
  border: 1px solid var(--vt-gray-300);
  border-radius: var(--vt-radius);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  color: var(--vt-gray-700);
  font-family: var(--vt-font);
  font-size: 13.5px;
  font-weight: 500;
  min-height: 36px;
  padding: 7px 14px;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.theme-volt .button:hover,
.theme-volt .tabs a:hover {
  background: var(--vt-gray-50);
  border-color: var(--vt-gray-400);
  color: var(--vt-gray-900);
}

.theme-volt .button.primary,
.theme-volt .tabs a.active {
  background: var(--vt-gray-800);
  border-color: var(--vt-gray-800);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(17, 24, 39, 0.075);
  color: #fff;
}

.theme-volt .button.primary:hover,
.theme-volt .tabs a.active:hover {
  background: #111827;
  border-color: #111827;
  color: #fff;
}

.theme-volt .button.danger { background: var(--vt-red); border-color: var(--vt-red); color: #fff; }
.theme-volt .button.danger:hover { background: #be123c; border-color: #be123c; }
.theme-volt .button.warning { background: var(--vt-orange); border-color: var(--vt-orange); color: #fff; }
.theme-volt .button.warning:hover { background: #e0940f; border-color: #e0940f; }
.theme-volt .button.export-button,
.theme-volt .report-export-menu > summary.export-button {
  background: var(--vt-green);
  border-color: var(--vt-green);
  color: #fff;
  font-weight: 600;
}

.theme-volt .button.export-button:hover,
.theme-volt .report-export-menu > summary.export-button:hover { background: #0e9f6e; border-color: #0e9f6e; color: #fff; }
.theme-volt .button.button-small { font-size: 12.5px; min-height: 30px; padding: 4px 10px; }

.theme-volt .button:focus-visible,
.theme-volt a:focus-visible,
.theme-volt button:focus-visible,
.theme-volt summary:focus-visible,
.theme-volt select:focus-visible,
.theme-volt input:focus-visible {
  box-shadow: 0 0 0 0.18rem rgba(31, 41, 55, 0.25);
}

.theme-volt .tabs { gap: 8px; }
.theme-volt .tabs a { box-shadow: none; }

.theme-volt .report-export-menu-options {
  border: 1px solid var(--vt-gray-200);
  border-radius: var(--vt-radius);
  box-shadow: var(--vt-shadow-lg);
}

/* ------------------------------------------------------------- forms --- */

.theme-volt select,
.theme-volt input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.theme-volt textarea,
.theme-volt .fbar-trigger {
  background-color: #fff;
  border: 1px solid var(--vt-gray-300);
  border-radius: var(--vt-radius);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.07);
  color: var(--vt-gray-700);
  font-family: var(--vt-font);
  font-size: 13.5px;
  min-height: 36px;
  padding: 7px 12px;
}

.theme-volt select:focus,
.theme-volt input:focus,
.theme-volt textarea:focus,
.theme-volt .fbar-trigger:focus-visible {
  border-color: #4d6689;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.07), 0 0 0 0.18rem rgba(31, 41, 55, 0.18);
  outline: 0;
}

.theme-volt label,
.theme-volt .fbar-control-label { color: var(--vt-gray-600); }

.theme-volt .fbar-trigger-label { color: var(--vt-gray-500); }
.theme-volt .fbar-field.is-active .fbar-trigger { background: var(--vt-gray-100); border-color: var(--vt-gray-500); }
.theme-volt .fbar-field.is-open .fbar-trigger { border-color: var(--vt-gray-800); }
.theme-volt .fbar-trigger-caret,
.theme-volt .fbar-toggle-icon { border-color: var(--vt-gray-500); }
.theme-volt .fbar-toggle { color: var(--vt-gray-900); }
.theme-volt .fbar-badge { background: var(--vt-gray-800); }

.theme-volt .fbar-chip {
  background: var(--vt-gray-100);
  border-color: var(--vt-gray-200);
  color: var(--vt-gray-800);
}

.theme-volt .fbar-chip:hover { background: var(--vt-gray-200); border-color: var(--vt-gray-300); }
.theme-volt .fbar-chip-field,
.theme-volt .fbar-chip-x { color: var(--vt-gray-500); }

.theme-volt .fbar-panel {
  border: 1px solid var(--vt-gray-200);
  border-radius: var(--vt-radius);
  box-shadow: var(--vt-shadow-lg);
}

.theme-volt .fbar-panel-search,
.theme-volt .fbar-panel-status,
.theme-volt .fbar-panel-foot { border-color: var(--vt-gray-200); }
.theme-volt .fbar-option:hover { background: var(--vt-gray-50); }
.theme-volt .fbar-link { color: var(--vt-blue); }
.theme-volt .fbar.is-dirty .fbar-actions .button.primary,
.theme-volt .fbar.is-dirty .fbar-apply { box-shadow: 0 0 0 3px rgba(31, 41, 55, 0.2); }

/* ------------------------------------------------------------ tables --- */

.theme-volt table {
  background: #fff;
  border: 0;
  border-radius: var(--vt-radius);
  box-shadow: var(--vt-shadow);
  color: var(--vt-gray-700);
}

.theme-volt .table-scroll-auto { border-radius: var(--vt-radius); }

.theme-volt th {
  background: var(--vt-gray-50);
  border-bottom: 1px solid var(--vt-gray-200);
  color: var(--vt-gray-600);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 11px 12px;
  text-transform: uppercase;
}

.theme-volt th a { color: var(--vt-gray-700); text-decoration: none; }
.theme-volt th a:hover { color: var(--vt-gray-900); text-decoration: underline; }

.theme-volt td {
  border-bottom: 1px solid var(--vt-gray-100);
  padding: 10px 12px;
}

.theme-volt tbody tr:hover { background: var(--vt-gray-50); }
.theme-volt tbody tr:last-child td { border-bottom: 0; }
.theme-volt tfoot th { background: var(--vt-gray-50); border-top: 1px solid var(--vt-gray-200); color: var(--vt-gray-900); text-transform: none; }
.theme-volt .table-card table tfoot th { background: #ecfdf5; border-top-color: var(--vt-green); }

.theme-volt .table-scroll thead th:first-child { background: var(--vt-gray-50); }
.theme-volt .table-scroll tbody tr:hover td:first-child { background: var(--vt-gray-50); }

/* Recent exports, toolbars, misc */
.theme-volt .report-export-jobs { padding: 16px 20px; }
.theme-volt .toolbar { margin-bottom: 10px; }
.theme-volt .section-heading a { color: var(--vt-blue); }
.theme-volt pre,
.theme-volt code { background: var(--vt-gray-100); border-radius: var(--vt-radius); color: var(--vt-gray-800); }
.theme-volt hr { border-color: var(--vt-gray-200); }
.theme-volt .bar { background: var(--vt-gray-200); }

/* Builder's two-pane grid has a 540px minimum in app.css; stack it on phones. */
@media (max-width: 759px) {
  .theme-volt .builder-grid,
  .theme-volt .builder-grid-wide { grid-template-columns: 1fr; }
}

/* ----------------------------------------------------------- sign in --- */
/* Signed-out pages (sign in, two-step, password reset): a centred white
   panel on the soft grey page, Volt's sign-in layout. */
.theme-volt .auth-shell.vt-auth {
  align-items: center;
  background: var(--vt-gray-50);
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding: 32px 16px;
}

.theme-volt .vt-auth-panel {
  max-width: 460px;
  width: 100%;
}

.theme-volt .vt-auth-brand {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: center;
  margin: 0 0 22px;
}

.theme-volt .vt-auth-brand .brand {
  color: var(--vt-gray-800);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.theme-volt .vt-auth-brand .brand-subtitle {
  color: var(--vt-gray-500);
  font-size: 13px;
}

.theme-volt .vt-auth-brand .brand-logo { max-height: 44px; }

.theme-volt .vt-auth-brand .vt-brand-mark {
  background: var(--vt-gray-800);
  box-shadow: var(--vt-shadow);
  color: #fff;
  height: 44px;
  width: 44px;
}

.theme-volt .vt-auth .card {
  border: 0;
  border-radius: 0.75rem;
  box-shadow: var(--vt-shadow-lg);
  padding: 32px 32px 28px;
}

.theme-volt .vt-auth .auth-message {
  background: #fff;
  border-left: 4px solid var(--vt-blue);
  color: var(--vt-gray-700);
  font-size: 14px;
  padding: 14px 18px;
}

.theme-volt .vt-auth .login-card h1 {
  color: var(--vt-gray-800);
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 6px;
  text-align: center;
}

.theme-volt .vt-auth .login-card .muted {
  color: var(--vt-gray-500);
  font-size: 14px;
  margin: 0 0 12px;
  text-align: center;
}

.theme-volt .vt-auth .login-card label {
  color: var(--vt-gray-700);
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin: 16px 0 6px;
}

.theme-volt .vt-auth .login-card input:not([type="checkbox"]):not([type="radio"]) {
  background: var(--vt-gray-50);
  font-size: 15px;
  padding: 11px 14px;
  width: 100%;
}

.theme-volt .vt-auth .login-card input:focus {
  background: #fff;
}

.theme-volt .vt-auth .login-card .button {
  display: block;
  font-size: 15px;
  margin-top: 22px;
  padding: 12px 16px;
  width: 100%;
}

.theme-volt .vt-auth .auth-link-row {
  margin: 18px 0 0;
  text-align: center;
}

.theme-volt .vt-auth .auth-link-row a {
  color: var(--vt-blue);
  font-size: 13px;
  font-weight: 600;
}

@media (max-width: 479px) {
  .theme-volt .vt-auth .card { padding: 24px 18px 22px; }
}
