/* ===========================================================================
 * Aero Lloyd Virtual — Shared UI System  (aero-ui.css)
 * ---------------------------------------------------------------------------
 * One source of truth for the whole site's look. Load globally (alongside
 * aero-buttons.css). Pages opt in by wrapping their content in
 * <div class="aero-ui"> … </div> and using the components below.
 *
 * Everything is scoped under .aero-ui so the WordPress/Astra theme can't bleed
 * in, and changing a token here updates every page that uses the system.
 *
 *   Layout      .aero-ui  .aero-ui--doc
 *   Masthead    .aui-mast .aui-eyebrow .aui-title .aui-rule .aui-strip
 *   Section     .aui-sec  .aui-sechead (.lbl .lbl--admin .hr .note)
 *   Grid        .aui-grid .aui-cols-2 .aui-cols-3 .aui-cols-4 .aui-cols-5
 *   Stat tile   .aui-tile (.k .v .v--call .v--ok .n)
 *   Card        .aui-card (--primary --admin --mini) (.ic .bd .ttl .sub)
 *   Table       .aui-table (th/td .num .lead)
 *   Pill        .aui-pill (--alert --warn --info)
 *   Misc        .aui-empty .aui-back
 * ========================================================================= */

/* Brand tokens also exposed at :root so aero-buttons.css picks them up. */
:root{ --violet:#2D297A; --gold:#b0883c; }

.aero-ui{
  --violet:#2D297A; --violet-700:#3d3899;
  --gold:#b0883c;   --gold-soft:#c9a961;
  --ink:#211c34;    --ink-2:#55505f;
  --muted:#8d8a99;
  --line:#e7e3d7;   --line-soft:#f0eee6;
  --paper:#faf8f3;  --card:#ffffff;
  --ok:#2f7d56; --alert:#a23b2d; --warn:#9a6a1f;
  --serif:Georgia,'Times New Roman',serif;
  --sans:'Segoe UI',-apple-system,BlinkMacSystemFont,Arial,sans-serif;

  max-width:1060px; margin:0 auto; padding:0 16px;
  font-family:var(--sans); color:var(--ink); line-height:1.5;
}
.aero-ui *{ box-sizing:border-box; }
/* Neutralise the theme's content-link underline; our hover cue is the border. */
.aero-ui a{ text-decoration:none !important; }
.aero-ui--doc{ max-width:1000px; }

/* ---- Masthead ----------------------------------------------------------- */
.aero-ui .aui-mast{ padding:8px 0 0; }
.aero-ui .aui-eyebrow{
  font-size:10px; font-weight:700; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold);
}
.aero-ui .aui-title{
  font-family:var(--serif); font-weight:400; font-size:34px; letter-spacing:.4px;
  margin:8px 0 0; line-height:1.05; color:var(--ink);
}
.aero-ui .aui-rule{
  height:1px; margin-top:15px;
  background:linear-gradient(90deg,var(--gold) 0,var(--gold) 60px,var(--line) 60px,var(--line) 100%);
}
.aero-ui .aui-strip{
  display:flex; flex-wrap:wrap; align-items:center; gap:5px 13px;
  padding:13px 0 0; font-size:12.5px; color:var(--muted);
}
.aero-ui .aui-strip .greet{ color:var(--ink); font-weight:600; }
.aero-ui .aui-strip b{ color:var(--ink); font-weight:600; }
.aero-ui .aui-strip .sep{ color:var(--line); }
.aero-ui .aui-strip .live{ display:inline-flex; align-items:center; gap:6px; color:var(--ink); }
.aero-ui .aui-strip .dot{
  display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--ok); box-shadow:0 0 0 3px rgba(63,154,106,.14);
}
.aero-ui .aui-strip .zulu{
  font-variant-numeric:tabular-nums; letter-spacing:.04em; color:var(--violet); font-weight:600;
}

/* ---- Section ------------------------------------------------------------ */
.aero-ui .aui-sec{ margin-top:30px; }
.aero-ui .aui-sechead{ display:flex; align-items:center; gap:16px; margin-bottom:13px; }
.aero-ui .aui-sechead .lbl{
  font-size:10.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); white-space:nowrap;
}
.aero-ui .aui-sechead .lbl--admin{ color:#a4683f; }
.aero-ui .aui-sechead .hr{ flex:1; height:1px; background:var(--line); }
.aero-ui .aui-sechead .note{ font-size:10px; font-style:italic; color:var(--muted); white-space:nowrap; }

/* ---- Grid --------------------------------------------------------------- */
.aero-ui .aui-grid{ display:grid; gap:14px; }
.aero-ui .aui-cols-2{ grid-template-columns:repeat(2,1fr); }
.aero-ui .aui-cols-3{ grid-template-columns:repeat(3,1fr); }
.aero-ui .aui-cols-4{ grid-template-columns:repeat(4,1fr); }
.aero-ui .aui-cols-5{ grid-template-columns:repeat(5,1fr); }

/* ---- Stat tile ---------------------------------------------------------- */
.aero-ui .aui-tile{
  background:var(--card); border:1px solid var(--line); border-top:2px solid var(--gold);
  border-radius:3px; padding:16px 18px 17px;
}
.aero-ui .aui-tile .k{
  font-size:9.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
.aero-ui .aui-tile .v{
  font-family:var(--serif); font-size:21px; margin-top:9px; letter-spacing:.2px; color:var(--ink);
}
.aero-ui .aui-tile .v small{ font-size:12px; color:var(--muted); font-family:var(--sans); }
.aero-ui .aui-tile .v--call{
  font-family:var(--sans); font-size:18px; font-variant-numeric:tabular-nums;
  letter-spacing:.02em; font-weight:600;
}
.aero-ui .aui-tile .v--ok{ display:flex; align-items:center; gap:8px; color:var(--ok); }
.aero-ui .aui-tile .v--ok::before{
  content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--gold);
}
.aero-ui .aui-tile .n{ font-size:11.5px; color:var(--muted); margin-top:4px; }

/* ---- Card --------------------------------------------------------------- */
.aero-ui .aui-card{
  display:flex; gap:15px; align-items:flex-start;
  background:var(--card); border:1px solid var(--line); border-radius:3px;
  padding:18px 20px; text-decoration:none; color:var(--ink);
  transition:border-color .16s ease, box-shadow .16s ease;
}
.aero-ui .aui-card:hover{ border-color:var(--violet); box-shadow:inset 0 -2px 0 rgba(176,136,60,.4); }
.aero-ui .aui-card:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.aero-ui .aui-card--primary{ border-left:2px solid var(--gold); }
.aero-ui .aui-card .ic{ flex:none; color:var(--violet); margin-top:1px; line-height:0; }
.aero-ui .aui-card .ic svg{ display:block; }
.aero-ui .aui-card .bd{ min-width:0; }
.aero-ui .aui-card .ttl{
  display:block; font-size:15px; font-weight:700; letter-spacing:.1px; line-height:1.25; color:var(--ink);
}
.aero-ui .aui-card .sub{ display:block; font-size:12px; color:var(--muted); margin-top:3px; }
.aero-ui .aui-card--mini{ padding:15px 16px; gap:12px; }
.aero-ui .aui-card--mini .ic{ color:var(--muted); }
.aero-ui .aui-card--mini:hover .ic{ color:var(--violet); }
.aero-ui .aui-card--mini .ttl{ font-size:13.5px; }
.aero-ui .aui-card--mini .sub{ font-size:11px; }
.aero-ui .aui-card--admin{ border-left:2px solid #b06b3f; }
.aero-ui .aui-card--admin .ic{ color:#a4683f; }
.aero-ui .aui-card--admin:hover{ border-color:#a4683f; }

/* ---- Table -------------------------------------------------------------- */
.aero-ui .aui-table{ width:100%; border-collapse:collapse; font-size:12.5px; }
.aero-ui .aui-table th{
  text-align:left; font-size:8.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:#a9a6b4; padding:0 12px 8px; border-bottom:1px solid var(--line);
}
.aero-ui .aui-table th.num, .aero-ui .aui-table td.num{ text-align:right; font-variant-numeric:tabular-nums; }
.aero-ui .aui-table td{ padding:9px 12px; border-bottom:1px solid var(--line-soft); }
.aero-ui .aui-table tr:last-child td{ border-bottom:none; }
.aero-ui .aui-table .lead{ font-weight:700; color:var(--violet); letter-spacing:.03em; }

/* ---- Pill --------------------------------------------------------------- */
.aero-ui .aui-pill{
  display:inline-block; font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:2px 7px; border-radius:3px; color:var(--violet); background:#f1eff9;
}
.aero-ui .aui-pill--alert{ color:var(--alert); background:#f9ecea; }
.aero-ui .aui-pill--warn{ color:var(--warn); background:#fbf3e4; }
.aero-ui .aui-pill--info{ color:var(--violet); background:#f1eff9; }

/* ---- Misc --------------------------------------------------------------- */
.aero-ui .aui-empty{ color:var(--muted); font-size:12.5px; padding:8px 0; }
.aero-ui .aui-back{
  display:inline-block; margin:0 0 14px; font-size:10.5px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted); text-decoration:none;
}
.aero-ui .aui-back:hover{ color:var(--violet); }

/* ---- Document shell (for report-style pages) ---------------------------- */
.aero-ui .aui-doc-card{ background:var(--paper); border:1px solid var(--line); }

/* ---- Responsive --------------------------------------------------------- */
@media (max-width:880px){
  .aero-ui .aui-cols-3, .aero-ui .aui-cols-4, .aero-ui .aui-cols-5{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .aero-ui .aui-title{ font-size:27px; }
  .aero-ui .aui-cols-2, .aero-ui .aui-cols-3, .aero-ui .aui-cols-4, .aero-ui .aui-cols-5{ grid-template-columns:1fr; }
}

/* ---- Print (document-style pages) --------------------------------------- */
@media print{
  .aero-ui *{ -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
  .aero-ui .aui-noprint{ display:none !important; }
}
