/* ============================================================
   THE WEALTH FORGE (TWF) — PREMIUM DESIGN SYSTEM v2
   Neon-glass dashboard · Animated grid + shader background
   Glowing metric tiles · Vercel/Linear-style header
   Messenger-style floating chat · Compact toasts
   ============================================================ */

/* ---------- CORE VARIABLES ---------- */
:root {
  /* brand accents */
  --cyber-cyan: #00b7ff;
  --cyber-cyan-soft: #38bdf8;
  --emerald-green: #00ffd0;
  --system-crimson: #ff3366;
  --holo-purple: #8b5cf6;
  --pure-white: #ffffff;
  --neon-gray: #8f9bb3;

  /* surfaces */
  --bg-deep: #050816;
  --card: rgba(16, 24, 38, 0.78);
  --card-2: rgba(11, 18, 32, 0.85);
  --card-border: rgba(255, 255, 255, 0.07);

  /* misc */
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 8px;
  --ease-out-soft: cubic-bezier(0.175, 0.885, 0.32, 1.1);
  --ease-pop: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Bradley biometric login gate (v41) */
.bradley-identity-gate { margin-top: 18px; padding: 18px; border: 1px solid rgba(41, 191, 255, .42); border-radius: 16px; background: rgba(3, 18, 31, .92); }
.bradley-identity-gate h2 { margin: 6px 0 8px; font-size: 1.15rem; color: #f4fbff; }
.bradley-identity-gate p { color: #9bb3c6; line-height: 1.5; }
.bradley-camera-stage { position: relative; min-height: 220px; margin: 14px 0; overflow: hidden; border-radius: 14px; background: #02080e; border: 1px solid rgba(72, 199, 255, .25); }
.bradley-camera-stage video { display: block; width: 100%; max-height: 320px; object-fit: cover; transform: scaleX(-1); }
.bradley-camera-status { min-height: 24px; font-size: .88rem; }
.bradley-camera-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.bradley-camera-actions button { flex: 1 1 130px; }
.bradley-identity-manager-card { width: min(760px, calc(100vw - 28px)); max-height: min(820px, calc(100vh - 28px)); overflow: auto; }
.bradley-identity-reference-state { margin: 12px 0; padding: 14px; border: 1px solid rgba(74, 196, 255, .25); border-radius: 12px; background: rgba(4, 20, 34, .7); color: #b7cfdf; }
.identity-replace-confirm { display: grid; gap: 8px; margin: 14px 0; color: #f3c0c6; }
.bradley-identity-request-row { align-items: center; gap: 12px; }
.bradley-identity-request-row > small { color: #7892a5; white-space: nowrap; }
.bradley-identity-request-row .btn-primary { width: auto; padding: 8px 12px; }
.bradley-identity-photo-view { position: sticky; bottom: 0; z-index: 2; gap: 10px; margin-top: 14px; padding: 12px; border-radius: 14px; background: #06121d; border: 1px solid rgba(79, 208, 255, .4); }
.bradley-identity-photo-view img { display: block; width: 100%; max-height: 480px; object-fit: contain; border-radius: 10px; background: #000; }
@media (max-width: 640px) { .bradley-camera-stage { min-height: 180px; } .bradley-identity-request-row { align-items: flex-start; } }

*, *::before, *::after { box-sizing: border-box; }
html { height: 100%; }

/* ---------- ANIMATED SHADER + GRID BACKGROUND ---------- */
body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  color: var(--pure-white);
  min-height: 100vh;
  min-height: 100dvh;
  position: relative;
  isolation: isolate;
  overflow-x: hidden;
  background-color: var(--bg-deep);
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(-45deg, #030712, #0a1e3d, #0284c7, #030712, #1e0a3d, #0369a1);
  background-size: 56px 56px, 56px 56px, 400% 400%;
  background-position: 0 0, 0 0, 0% 50%;
  animation: shaderMotion 18s ease infinite;
}

/* Glowing orbs */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -2;
  will-change: transform, opacity;
  mix-blend-mode: screen;
  background:
    radial-gradient(clamp(220px, 38vw, 560px) clamp(220px, 38vw, 560px) at 15% 20%, rgba(0, 183, 255, 0.5), transparent 65%),
    radial-gradient(clamp(200px, 34vw, 500px) clamp(200px, 34vw, 500px) at 85% 15%, rgba(0, 255, 208, 0.35), transparent 65%),
    radial-gradient(clamp(240px, 42vw, 600px) clamp(240px, 42vw, 600px) at 50% 95%, rgba(139, 92, 246, 0.45), transparent 65%);
  filter: blur(2px);
  animation: orbDriftA 22s ease-in-out infinite;
}

/* Fine noise overlay for a Figma/Linear-style grain */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image: radial-gradient(rgba(255, 255, 255, 0.5) 1px, transparent 1px);
  background-size: 4px 4px;
  opacity: 0.05;
}

@keyframes shaderMotion {
  0% { background-position: 0 0, 0 0, 0% 50%; }
  50% { background-position: 0 0, 0 0, 100% 50%; }
  100% { background-position: 0 0, 0 0, 0% 50%; }
}
@keyframes orbDriftA {
  0% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.85; }
  33% { transform: translate3d(3vw, -4vh, 0) scale(1.08); opacity: 1; }
  66% { transform: translate3d(-2vw, 3vh, 0) scale(0.96); opacity: 0.9; }
  100% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.85; }
}

@media (prefers-reduced-motion: reduce) {
  body, body::before, .fade-in, .greeting-content, .loader-bar, .loader-bar span, .greeting-aura, .greeting-live i, .logo-accent,
  .mini-kpi-card, .metric-tile-holo, .modal-content {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}

/* ---------- UTILITIES ---------- */
.mb-20 { margin-bottom: 20px; }
.mt-15 { margin-top: 15px; }
.mt-30 { margin-top: 30px; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: rgba(0,0,0,0.2); }
::-webkit-scrollbar-thumb { background: #1c2c45; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--cyber-cyan); }

.fade-in { animation: smoothFadeIn 0.8s var(--ease-out-soft) forwards; }
@keyframes smoothFadeIn {
  0% { opacity: 0; transform: translateY(15px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* ---------- GREETING SCREEN ---------- */
.gateway-screen { display: flex; justify-content: center; align-items: center; min-height: 100vh; min-height: 100dvh; padding: 20px; }
.greeting-screen {
  position: fixed; inset: 0; z-index: 9999; overflow: hidden;
  display: flex; justify-content: center; align-items: center; text-align: center; padding: 20px;
  background:
    radial-gradient(circle at 50% 42%, rgba(14,165,233,.16), transparent 27%),
    radial-gradient(circle at 72% 26%, rgba(99,102,241,.11), transparent 30%),
    linear-gradient(145deg, rgba(2,7,17,.96), rgba(3,10,22,.93));
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .38s ease, visibility .38s ease;
}
.greeting-screen::before {
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.23;
  background-image: linear-gradient(rgba(56,189,248,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(56,189,248,.07) 1px, transparent 1px);
  background-size: 42px 42px; mask-image: radial-gradient(circle at center,#000 15%,transparent 78%);
}
.greeting-screen.is-active { opacity: 1; visibility: visible; }
.greeting-screen.is-leaving { opacity: 0; visibility: hidden; }
.greeting-aura { position:absolute; border-radius:50%; filter:blur(55px); opacity:.24; pointer-events:none; }
.greeting-aura-one { width:320px; height:320px; background:#0ea5e9; left:calc(50% - 250px); top:calc(50% - 230px); animation:greetingAuraOne 4.8s ease-in-out infinite alternate; }
.greeting-aura-two { width:270px; height:270px; background:#6366f1; right:calc(50% - 250px); bottom:calc(50% - 225px); animation:greetingAuraTwo 5.4s ease-in-out infinite alternate; }
.greeting-content {
  position:relative; width:min(620px,92vw); padding:clamp(28px,5vw,46px);
  border:1px solid rgba(125,211,252,.22); border-radius:30px;
  background:linear-gradient(155deg,rgba(9,21,39,.76),rgba(5,11,23,.62));
  box-shadow:0 32px 100px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.05), 0 0 75px rgba(14,165,233,.08);
  transform:translateY(18px) scale(.985); opacity:0;
}
.greeting-screen.is-active .greeting-content { animation:greetingCardIn .62s cubic-bezier(.16,1,.3,1) forwards; }
.greeting-logo-shell {
  width:84px; height:84px; margin:0 auto 18px; display:grid; place-items:center; border-radius:24px;
  background:linear-gradient(145deg,rgba(14,165,233,.16),rgba(37,99,235,.07));
  border:1px solid rgba(125,211,252,.25); box-shadow:0 16px 38px rgba(0,0,0,.3),0 0 36px rgba(14,165,233,.16);
}
.greeting-logo { width:62px; height:auto; filter:drop-shadow(0 0 14px rgba(56,189,248,.38)); }
.greeting-eyebrow { display:block; margin-bottom:10px; color:#7dd3fc; font-size:.7rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.greeting-title { font-size:clamp(1.8rem,5vw,3.15rem); line-height:1.05; color:#f8fbff; margin:0 0 10px; letter-spacing:-.035em; }
.greeting-title span { color:#38bdf8; text-shadow:0 0 22px rgba(56,189,248,.34); }
.greeting-role { margin:0 0 9px; color:#cfe8ff; font-size:clamp(.85rem,2vw,1rem); font-weight:700; }
.greeting-sub { margin:0 auto; max-width:470px; color:#8298b8; font-size:clamp(.72rem,2vw,.88rem); line-height:1.55; letter-spacing:.035em; }
.loader-bar {
  position:relative; width:min(310px,78%); height:3px; margin:23px auto 15px; overflow:hidden; border-radius:999px;
  background:rgba(148,163,184,.14); box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.loader-bar span {
  display:block; width:100%; height:100%; border-radius:inherit; transform-origin:left center; transform:scaleX(0);
  background:linear-gradient(90deg,#0ea5e9,#67e8f9,#6366f1); box-shadow:0 0 16px rgba(56,189,248,.68);
}
.greeting-screen.is-active .loader-bar span { animation:greetingProgress 1.12s cubic-bezier(.2,.75,.25,1) .06s forwards; }
.greeting-live { display:inline-flex; align-items:center; gap:8px; color:#8ba6c7; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.greeting-live i { width:7px; height:7px; border-radius:50%; background:#2dd4bf; box-shadow:0 0 12px rgba(45,212,191,.85); animation:greetingLivePulse 1.15s ease-in-out infinite; }
@keyframes greetingCardIn { from { opacity:0; transform:translateY(18px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes greetingProgress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes greetingLivePulse { 0%,100% { opacity:.65; transform:scale(.9); } 50% { opacity:1; transform:scale(1.16); } }
@keyframes greetingAuraOne { from { transform:translate3d(-12px,8px,0) scale(.94); } to { transform:translate3d(18px,-10px,0) scale(1.08); } }
@keyframes greetingAuraTwo { from { transform:translate3d(9px,-4px,0) scale(1.05); } to { transform:translate3d(-14px,12px,0) scale(.94); } }
@media (max-width:560px) {
  .greeting-content { border-radius:24px; padding:30px 22px; }
  .greeting-logo-shell { width:72px; height:72px; border-radius:20px; }
  .greeting-logo { width:53px; }
}

/* ---------- GLASS CARDS & AUTH ---------- */
.auth-card, .glass-card {
  background: linear-gradient(160deg, rgba(18, 26, 45, 0.92), rgba(10, 16, 30, 0.9)) !important;
  backdrop-filter: blur(18px);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-lg);
  padding: 26px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.35);
  transition: border-color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
}
.auth-card {
  width: 100%; max-width: 380px; padding: clamp(24px, 6vw, 40px); text-align: center;
  animation: smoothFadeIn 0.7s var(--ease-out-soft) forwards;
}
.branding-title {
  margin: 0; font-size: clamp(2.2rem, 7vw, 3rem); font-weight: 800; text-transform: uppercase; display: inline-block;
  background: linear-gradient(100deg, #38bdf8, #00ffd0 25%, #7dd3fc 45%, #8b5cf6 70%, #38bdf8 100%);
  background-size: 300% auto; -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  filter: drop-shadow(0 0 14px rgba(0, 183, 255, 0.4));
  animation: logoShimmer 6s ease-in-out infinite;
}
.branding-subtitle { color: var(--neon-gray); font-size: 0.85rem; margin: 4px 0 30px 0; text-transform: uppercase; }

/* ---------- FORM ELEMENTS ---------- */
.form-group { margin-bottom: 18px; text-align: left; }
.form-group label { display: block; font-size: 0.75rem; text-transform: uppercase; color: var(--neon-gray); margin-bottom: 6px; font-weight: 600; }
.custom-input {
  background: rgba(0, 0, 0, 0.4); border: 1px solid rgba(255, 255, 255, 0.1); color: var(--pure-white);
  padding: 11px 14px; font-size: 0.88rem; border-radius: var(--radius-sm); width: 100%; box-sizing: border-box;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.custom-input:focus {
  border-color: var(--cyber-cyan); outline: none;
  box-shadow: 0 0 0 3px rgba(0, 183, 255, 0.18); background: rgba(0, 0, 0, 0.55);
}
.inline-date { width: auto; padding: 6px 12px; font-size: 0.8rem; }
.menu-select { cursor: pointer; appearance: none; }

.btn-primary {
  background: linear-gradient(135deg, var(--cyber-cyan), #0284c7); color: #fff; border: none;
  padding: 12px; font-size: 0.9rem; font-weight: 600; border-radius: var(--radius-sm); width: 100%; cursor: pointer;
  transition: background 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease;
}
.btn-primary:hover { box-shadow: 0 6px 20px rgba(0, 183, 255, 0.35); transform: translateY(-2px); }
.btn-primary:active { transform: translateY(0) scale(0.98); }

.btn-terminate {
  background: rgba(255, 51, 102, 0.1); border: 1px solid var(--system-crimson); color: var(--system-crimson);
  padding: 8px 18px; border-radius: 6px; cursor: pointer; font-weight: 600; transition: all 0.25s ease;
}
.btn-terminate:hover { background: var(--system-crimson); color: #fff; box-shadow: 0 0 15px rgba(255,51,102,0.4); transform: translateY(-1px); }
.btn-terminate:active { transform: translateY(0) scale(0.97); }

.btn-action-save {
  background: var(--emerald-green); color: #03060c; border: none; width: 100%; padding: 13px;
  border-radius: var(--radius-sm); font-weight: 700; cursor: pointer; margin-top: 20px;
  transition: transform 0.15s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.btn-action-save:hover { box-shadow: 0 6px 20px rgba(0, 255, 208, 0.3); transform: translateY(-2px); }
.btn-action-save:active { transform: translateY(0) scale(0.98); }

/* ---------- DASHBOARD LAYOUT ---------- */
.workspace-root {
  padding: clamp(18px, 4vw, 40px);
  max-width: 1600px;
  margin: 0 auto;
  transition: padding-right 0.3s ease;
}
/* keep the dashboard clear of the floating chat instead of hiding behind it */
body.has-chat-sidebar .workspace-root { padding-right: clamp(18px, 4vw, 40px); }
@media (min-width: 901px) {
  body.has-chat-sidebar .workspace-root { padding-right: 410px; }
}

.workspace-header {
  position: relative;
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,0.08);
  padding-bottom: 28px; gap: 12px; flex-wrap: wrap;
}
.workspace-header::after {
  content: ""; display: block; position: absolute; left: 0; bottom: -1px;
  width: 220px; height: 2px; background: linear-gradient(90deg, var(--cyber-cyan), transparent);
}

.logo-accent {
  font-size: clamp(1.5rem, 4vw, 2rem); font-weight: 800; display: inline-block;
  background: linear-gradient(100deg, #38bdf8, #00ffd0 25%, #7dd3fc 45%, #8b5cf6 70%, #38bdf8 100%);
  background-size: 300% auto; -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  filter: drop-shadow(0 0 12px rgba(0, 183, 255, 0.45));
  animation: logoShimmer 6s ease-in-out infinite;
}
@keyframes logoShimmer { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

.workspace-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.panel-meta-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }

/* Section titles — Vercel/Linear style eyebrow bar */
h2, .section-title {
  font-size: 30px; font-weight: 700; letter-spacing: -1px; margin: 0 0 20px 0;
  display: flex; align-items: center; gap: 12px;
}
h2::before, .section-title::before {
  content: ""; width: 6px; height: 28px; border-radius: 20px;
  background: linear-gradient(180deg, var(--cyber-cyan), var(--holo-purple)); flex-shrink: 0;
}

/* Profile area */
.profile-upload-zone {
  display: flex; align-items: center; gap: 20px; margin-bottom: 20px;
  background: rgba(0,0,0,0.3); padding: 15px; border-radius: 10px; flex-wrap: wrap;
}
.avatar-preview {
  width: 65px; height: 65px; border-radius: 50%; object-fit: cover;
  border: 2px solid var(--cyber-cyan); transition: box-shadow 0.3s ease;
}
.avatar-preview:hover { box-shadow: 0 0 16px rgba(0, 183, 255, 0.5); }
.btn-upload-label {
  background: rgba(255,255,255,0.1); padding: 8px 14px; font-size: 0.78rem;
  border-radius: 6px; cursor: pointer; transition: background 0.2s ease;
}
.btn-upload-label:hover { background: rgba(255,255,255,0.2); }

.metric-container { background: rgba(0, 0, 0, 0.2); border: 1px solid rgba(255,255,255,0.05); border-radius: 10px; padding: 16px; }
.form-row-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.total-display { font-size: 1.1rem; font-weight: 700; color: var(--emerald-green); text-align: right; }

/* ---------- CLIENT TEAM GRID — premium glow cards ---------- */
.glass-card-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 22px;
}

.mini-kpi-card {
  position: relative;
  border-radius: var(--radius-lg);
  padding: 22px;
  background: linear-gradient(160deg, rgba(18, 26, 45, 0.95), rgba(10, 16, 30, 0.92));
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.06);
  transition: transform 0.35s var(--ease-out-soft), box-shadow 0.35s ease, border-color 0.35s ease;
  isolation: isolate;
  overflow: visible;
}
/* premium glow sitting *behind* the card, revealed on hover */
.mini-kpi-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  z-index: -1;
  background: radial-gradient(120% 140% at 20% 0%, rgba(0, 183, 255, 0.35), transparent 60%),
              radial-gradient(120% 140% at 100% 100%, rgba(139, 92, 246, 0.3), transparent 60%);
  filter: blur(22px);
  opacity: 0;
  transition: opacity 0.35s ease;
}
.mini-kpi-card:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: var(--cyber-cyan);
  box-shadow: 0 15px 50px rgba(0, 183, 255, 0.22);
}
.mini-kpi-card:hover::before { opacity: 1; }

.card-header-flex { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.card-avatar {
  width: 54px; height: 54px; border-radius: 50%;
  border: 2px solid var(--cyber-cyan);
  box-shadow: 0 0 18px rgba(0, 183, 255, 0.5);
  object-fit: cover; transition: box-shadow 0.3s ease;
}
.card-name { font-size: 0.95rem; font-weight: 600; margin: 0; }
.card-role { font-size: 0.72rem; color: var(--neon-gray); margin: 2px 0 0 0; }

.btn-view-kpi {
  background: rgba(0, 183, 255, 0.12); color: var(--cyber-cyan); border: 1px solid var(--cyber-cyan);
  width: 100%; padding: 9px; border-radius: 8px; font-weight: 600; cursor: pointer; transition: all 0.25s ease;
}
.btn-view-kpi:hover { background: var(--cyber-cyan); color: #04101c; box-shadow: 0 0 18px rgba(0, 183, 255, 0.5); }
.btn-view-kpi:active { transform: scale(0.98); }

.canvas-chart-frame { position: relative; width: 100%; height: 100%; }

/* ---------- HOLOGRAPHIC METRIC TILES — bigger & bolder ---------- */
.modern-metrics-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 18px;
}
.metric-tile-holo {
  position: relative;
  background: linear-gradient(160deg, rgba(18, 26, 45, 0.85), rgba(6, 10, 20, 0.85));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  padding: 32px 20px;
  text-align: center;
  overflow: visible;
  isolation: isolate;
  transition: transform 0.4s var(--ease-out-soft), border-color 0.3s ease, box-shadow 0.3s ease;
  animation: smoothFadeIn 0.5s ease-out forwards;
}
.metric-tile-holo::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px;
  background: var(--cyber-cyan); opacity: 0.7; border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
/* soft glow behind each tile */
.metric-tile-holo::after {
  content: '';
  position: absolute; inset: 6px;
  z-index: -1;
  border-radius: inherit;
  background: radial-gradient(90% 90% at 50% 0%, rgba(0, 183, 255, 0.22), transparent 70%);
  filter: blur(18px);
  opacity: 0;
  transition: opacity 0.4s ease;
}
.metric-tile-holo:hover {
  transform: translateY(-6px);
  border-color: var(--cyber-cyan);
  box-shadow: 0 14px 32px rgba(0, 183, 255, 0.22);
}
.metric-tile-holo:hover::after { opacity: 1; }
.metric-tile-holo .tile-value {
  font-size: clamp(2rem, 4.5vw, 2.8rem); font-weight: 800; color: var(--cyber-cyan);
  letter-spacing: -1px; margin-bottom: 8px; text-shadow: 0 0 18px rgba(0, 183, 255, 0.35);
}
.metric-tile-holo .tile-label {
  font-size: 0.7rem; text-transform: uppercase; color: var(--neon-gray); letter-spacing: 1.2px; font-weight: 600;
}
.metric-tile-holo.total-tile::before { background: var(--emerald-green); }
.metric-tile-holo.total-tile::after { background: radial-gradient(90% 90% at 50% 0%, rgba(0, 255, 208, 0.25), transparent 70%); }
.metric-tile-holo.total-tile .tile-value { color: var(--emerald-green); text-shadow: 0 0 14px rgba(0, 255, 208, 0.35); }

/* ---------- MODAL ---------- */
.modal-overlay {
  position: fixed; inset: 0; height: 100dvh; background: rgba(3, 6, 12, 0.65); backdrop-filter: blur(10px);
  z-index: 1000; display: none; align-items: center; justify-content: center; padding: 20px; box-sizing: border-box;
}
.modal-content {
  width: 100%; max-width: 1100px; max-height: 90vh; max-height: 90dvh; overflow-y: auto;
  border-radius: var(--radius-lg);
  background: rgba(11, 17, 32, 0.96); border: 1px solid rgba(255,255,255,0.15);
  box-shadow: 0 25px 50px rgba(0,0,0,0.8), 0 0 40px rgba(0,183,255,0.18);
  animation: modalPopIn 0.5s var(--ease-pop);
  padding: 30px;
}
@keyframes modalPopIn { 0% { opacity: 0; transform: scale(0.95) translateY(20px); } 100% { opacity: 1; transform: scale(1) translateY(0); } }
.modal-header-controls { display: flex; justify-content: flex-end; margin-bottom: 10px; }
.modal-profile-banner { display: flex; align-items: center; gap: 25px; padding-bottom: 25px; border-bottom: 1px solid rgba(255,255,255,0.1); flex-wrap: wrap; }
.modal-profile-banner img { width: 90px; height: 90px; border-radius: 50%; border: 3px solid var(--cyber-cyan); box-shadow: 0 0 20px rgba(0,183,255,0.4); object-fit: cover; }
.modal-profile-info { flex: 1; min-width: 160px; }
.modal-profile-info h2 { margin: 0 0 5px 0; font-size: clamp(1.4rem, 4vw, 2rem); color: #fff; letter-spacing: -1px; }
.modal-profile-info h2::before { display: none; }
.modal-profile-info p { margin: 0; color: var(--neon-gray); font-size: 1rem; text-transform: uppercase; font-weight: 600; }

.ledger-controls {
  display: flex; align-items: center; background: rgba(0,0,0,0.4); padding: 10px 15px;
  border-radius: 8px; border: 1px solid rgba(255,255,255,0.1); flex-wrap: wrap; gap: 8px;
}
.ledger-controls label { font-size: 0.75rem; color: var(--neon-gray); text-transform: uppercase; font-weight: 600; margin-right: 12px; }

/* Charts area */
.analytics-charts-split { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.chart-box-wrapper {
  background: rgba(0, 0, 0, 0.2); border: 1px solid rgba(255,255,255,0.05);
  border-radius: var(--radius-md); padding: 20px; transition: border-color 0.3s ease;
}
.chart-box-wrapper:hover { border-color: rgba(0, 183, 255, 0.3); }
.chart-box-wrapper h4 { margin: 0 0 15px 0; font-size: 0.85rem; text-transform: uppercase; color: var(--neon-gray); letter-spacing: 1px; }
.client-header-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 6px;
  margin: 0 auto 32px auto;
  padding: 28px 20px 26px;
  max-width: 640px;
}
.client-header-area .animated-logo-wrapper { margin: 0 auto; }
.client-header-area .logo-accent { font-size: clamp(2rem, 5vw, 2.8rem); }
.client-header-area h3 {
  margin: 0;
  font-size: clamp(1rem, 2.4vw, 1.3rem);
  font-weight: 600;
  color: var(--neon-gray);
  letter-spacing: 0.3px;
}

/* ---------- CUSTOM KPI CALENDAR ---------- */
.kpi-calendar-wrapper { margin-top: 12px; user-select: none; }
.kpi-calendar-nav { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; font-weight: 600; color: var(--pure-white); }
.kpi-calendar-nav button {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); color: var(--cyber-cyan);
  font-size: 1rem; width: 32px; height: 32px; border-radius: 8px; cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}
.kpi-calendar-nav button:hover { background: rgba(0,183,255,0.2); transform: scale(1.1); }
.kpi-calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; }
.kpi-calendar-day-header { font-size: 0.65rem; text-transform: uppercase; color: var(--neon-gray); padding: 4px 0; }
.kpi-calendar-cell {
  aspect-ratio: 1; display: flex; align-items: center; justify-content: center; font-size: 0.8rem;
  border-radius: 8px; cursor: pointer; color: var(--neon-gray); transition: all 0.25s var(--ease-out-soft);
  background: rgba(255,255,255,0.02); border: 1px solid transparent;
}
.kpi-calendar-cell:hover { background: rgba(0,183,255,0.15); color: #fff; transform: scale(1.05); }
.kpi-calendar-cell.has-data {
  color: #fff; font-weight: 600; background: rgba(0,183,255,0.15); border: 1px solid var(--cyber-cyan);
  box-shadow: 0 0 8px rgba(0,183,255,0.3); animation: pulseGlow 2s infinite;
}
.kpi-calendar-cell.today { border: 2px solid var(--emerald-green); color: #fff; }
.kpi-calendar-cell.selected {
  background: var(--cyber-cyan) !important; color: #030712 !important; font-weight: 700;
  border-color: var(--cyber-cyan); box-shadow: 0 0 12px rgba(0,183,255,0.6); animation: none;
}
.kpi-calendar-cell.other-month { opacity: 0.3; pointer-events: none; }
@keyframes pulseGlow { 0%, 100% { box-shadow: 0 0 8px rgba(0,183,255,0.3); } 50% { box-shadow: 0 0 14px rgba(0,183,255,0.6); } }

/* ============================================================
   MESSENGER-STYLE FLOATING CHAT
   ============================================================ */
.chat-sidebar {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 360px;
  height: 520px;
  background: rgba(10, 14, 26, 0.9);
  backdrop-filter: blur(22px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 22px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55), 0 0 40px rgba(0, 183, 255, 0.08);
  z-index: 1100;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: chatSlideUp 0.3s var(--ease-out-soft);
}
@keyframes chatSlideUp { from { opacity: 0; transform: translateY(24px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } }

.chat-sidebar-header {
  flex-shrink: 0;
  padding: 14px 16px;
  background: linear-gradient(135deg, rgba(0, 183, 255, 0.14), rgba(139, 92, 246, 0.1));
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-weight: 700;
  font-size: 0.92rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  letter-spacing: 0.2px;
}
.chat-sidebar-header span:first-child::before {
  content: "";
  display: inline-block;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--emerald-green);
  box-shadow: 0 0 8px rgba(0, 255, 208, 0.8);
  margin-right: 8px;
}

.chat-sidebar-body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.chat-sidebar .chat-member-list {
  flex-shrink: 0;
  padding: 6px 10px;
  max-height: 118px;
  overflow-y: auto;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.chat-member-row {
  display: flex; align-items: center; gap: 10px; padding: 7px 8px;
  border-radius: 10px; font-size: 0.8rem; cursor: pointer; transition: background 0.15s;
}
.chat-member-row:hover { background: rgba(255,255,255,0.06); }
.chat-member-row.active { background: rgba(0,183,255,0.14); }
.chat-member-row img {
  width: 26px; height: 26px; border-radius: 50%;
  border: 1px solid var(--cyber-cyan); object-fit: cover;
}
.chat-member-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--emerald-green);
  box-shadow: 0 0 6px rgba(0, 255, 208, 0.7);
  margin-left: auto;
}

.chat-messages-wrap {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.chat-messages-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 16px 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  background:
    radial-gradient(circle at 15% 10%, rgba(0, 183, 255, 0.05), transparent 40%),
    radial-gradient(circle at 85% 90%, rgba(139, 92, 246, 0.05), transparent 40%);
}

.chat-message-row {
  display: flex;
  align-items: flex-end;
  gap: 7px;
  max-width: 82%;
}
.chat-message-row-mine { align-self: flex-end; flex-direction: row-reverse; }
.chat-message-row-theirs { align-self: flex-start; }

.chat-load-older {
  align-self: stretch;
  display: flex;
  justify-content: center;
  padding: 3px 0 9px;
}
.chat-load-older button {
  padding: 7px 12px;
  border: 1px solid rgba(56, 189, 248, 0.22);
  border-radius: 999px;
  background: rgba(8, 47, 73, 0.48);
  color: #8ddcff;
  font: inherit;
  font-size: 0.7rem;
  font-weight: 800;
  cursor: pointer;
}
.chat-load-older button:hover { background: rgba(14, 116, 144, 0.34); }

.chat-head-avatar {
  width: 26px; height: 26px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.3);
}

.chat-bubble {
  max-width: 100%;
  padding: 9px 13px;
  border-radius: 18px;
  font-size: 0.83rem;
  line-height: 1.4;
  animation: bubblePop 0.18s ease-out;
  word-break: break-word;
  margin: 2px 0;
  position: relative;
}
.chat-bubble.chat-bubble-mine {
  background: linear-gradient(135deg, #0284c7, #00b7ff);
  color: #fff;
  border-bottom-right-radius: 5px;
  box-shadow: 0 3px 10px rgba(0, 183, 255, 0.25);
}
.chat-bubble.chat-bubble-theirs {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom-left-radius: 5px;
}
.chat-bubble-time {
  display: block; margin-top: 3px; font-size: 0.62rem; opacity: 0;
  max-height: 0; overflow: hidden;
  transition: opacity 0.2s ease, max-height 0.2s ease;
}
.chat-bubble:hover .chat-bubble-time { opacity: 0.6; max-height: 20px; }
@keyframes bubblePop { from { opacity: 0; transform: scale(0.92) translateY(4px); } to { opacity: 1; transform: scale(1) translateY(0); } }

.chat-bubble strong {
  display: block;
  margin-bottom: 2px;
  font-size: 0.72rem;
  font-weight: 700;
  opacity: 0.8;
}
.chat-bubble-mine strong { color: rgba(255,255,255,0.9); }
.chat-bubble-theirs strong { color: var(--cyber-cyan); }

.chat-sidebar .chat-composer {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border-top: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.2);
}
.chat-sidebar .chat-composer .custom-input {
  flex: 1;
  min-width: 0;
  padding: 9px 16px;
  font-size: 0.83rem;
  border-radius: 999px;
  height: 38px;
  line-height: normal;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
}
.chat-sidebar .chat-composer .custom-input:focus {
  outline: none;
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--cyber-cyan);
}
.chat-sidebar .chat-composer .btn-primary {
  width: auto !important;
  flex-shrink: 0;
  height: 38px;
  padding: 0 16px !important;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--cyber-cyan), #0284c7);
  box-shadow: 0 3px 10px rgba(0, 183, 255, 0.35);
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}
.chat-sidebar .chat-composer .btn-primary:hover {
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 5px 16px rgba(0, 183, 255, 0.45);
}
.chat-sidebar .chat-composer .btn-primary:active { transform: translateY(0) scale(0.97); }

body.has-chat-sidebar .workspace-root { margin-right: 0; }

/* ---------- TWF LOGO MARK ---------- */
.twf-logo-mark {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}
.twf-logo-mark--auth { height: 3.4rem; }
.twf-logo-mark--header { height: 2.1rem; }
.twf-logo-mark--client { height: 2.8rem; }
@media (max-width: 480px) {
  .twf-logo-mark--auth { height: 2.6rem; }
  .twf-logo-mark--client { height: 2.2rem; }
}

/* ---------- COMPACT TOAST ---------- */
.chat-toast-stack {
  position: fixed; top: 10px; right: 10px; z-index: 1300;
  display: flex; flex-direction: column; gap: 6px; pointer-events: none;
}
.chat-toast {
  pointer-events: auto; width: min(220px, calc(100vw - 20px));
  background: rgba(11, 17, 32, 0.93); backdrop-filter: blur(14px);
  border: 1px solid rgba(0, 183, 255, 0.4); border-radius: 10px; padding: 8px 10px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.5); cursor: pointer;
  display: flex; gap: 6px; align-items: center;
  animation: toastSlideIn 0.3s var(--ease-out-soft) forwards; font-size: 0.68rem;
}
.chat-toast.chat-toast-leaving { animation: toastSlideOut 0.2s ease forwards; }
.chat-toast-icon { font-size: 0.85rem; line-height: 1; flex-shrink: 0; }
.chat-toast-body { flex: 1; min-width: 0; }
.chat-toast-name { font-size: 0.66rem; font-weight: 700; color: var(--cyber-cyan); margin-bottom: 1px; }
.chat-toast-text { font-size: 0.66rem; color: var(--neon-gray); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@keyframes toastSlideIn { 0% { opacity: 0; transform: translateX(30px); } 100% { opacity: 1; transform: translateX(0); } }
@keyframes toastSlideOut { 0% { opacity: 1; transform: translateX(0); } 100% { opacity: 0; transform: translateX(30px); } }

/* ---------- ADMIN DELETE BUTTON ---------- */
.chat-delete-btn {
  background: none;
  border: none;
  color: #ff3366;
  cursor: pointer;
  font-size: 0.75rem;
  padding: 0 4px;
  margin-left: 6px;
  opacity: 0;
  transition: opacity 0.2s;
}
.chat-bubble:hover .chat-delete-btn {
  opacity: 1;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
  .glass-card-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
}
@media (max-width: 900px) {
  .analytics-charts-split { grid-template-columns: 1fr; }
  body.has-chat-sidebar .workspace-root { padding-right: clamp(18px, 4vw, 40px); }
  .chat-sidebar { width: 100%; bottom: 0; right: 0; border-radius: 20px 20px 0 0; height: 55vh; }
}
@media (max-width: 768px) {
  .workspace-grid, .form-row-two { grid-template-columns: 1fr; gap: 15px; }
  .workspace-header, .client-header-area { flex-direction: column; align-items: flex-start; gap: 15px; }
  .auth-card { margin: 20px; width: 90%; }
  .modal-content { padding: 20px; }
  .modal-profile-banner { gap: 15px; }
  .ledger-controls { width: 100%; }
}
@media (max-width: 480px) {
  .workspace-root { padding: 12px; }
  .glass-card, .auth-card { padding: 16px; border-radius: 12px; }
  .glass-card-grid { grid-template-columns: 1fr; }
  .modern-metrics-grid { grid-template-columns: repeat(2, 1fr); }
  .btn-terminate { width: 100%; text-align: center; }
  body::before { opacity: 0.7; }
}
@media (max-height: 480px) {
  .greeting-title { font-size: 1.6rem; margin-bottom: 4px; }
  .greeting-sub { font-size: 0.7rem; }
  .gateway-screen { align-items: flex-start; padding-top: 30px; }
}
/* TWO CHAT HEADS FOR CLIENT */
#client-chat-sidebar {
  right: 28px;
}
#profitshot-sidebar {
  right: 410px; /* 360px width + 28px gap */
  bottom: 28px;
}

.profitshot-folder-panel {
  padding: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  max-height: 210px;
  overflow-y: auto;
}

.profitshot-folder-title {
  color: #f2d27a;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.profitshot-day-folder {
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  margin-bottom: 6px;
  padding: 6px 8px;
}

.profitshot-day-folder summary {
  color: #e7ecf4;
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 600;
}

.profitshot-folder-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
  margin-top: 7px;
}

.profitshot-folder-gallery img {
  aspect-ratio: 1;
  border-radius: 6px;
  object-fit: cover;
  width: 100%;
}

.profitshot-folder-empty, .ib-empty {
  color: #8e99aa;
  font-size: 0.76rem;
  margin: 4px 0;
}

.ib-leaderboard {
  display: grid;
  gap: 7px;
}

.ib-rank-row {
  align-items: center;
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 9px;
  display: grid;
  gap: 8px;
  grid-template-columns: 34px 1fr auto;
  padding: 9px 11px;
}

.ib-rank-row--top {
  background: rgba(226,184,74,0.12);
  border-color: rgba(226,184,74,0.4);
}

.ib-rank-number { color: #f2d27a; font-weight: 800; text-align: center; }
.ib-rank-name { color: #f5f7fb; display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.ib-rank-name strong { font-size: 0.84rem; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ib-rank-name small { color: #9eabb9; font-size: 0.68rem; font-weight: 600; margin-top: 3px; }
.ib-rank-count { color: #8fd7c2; font-size: 0.76rem; }

.automation-format-hint {
  color: #8e99aa;
  font-size: 0.72rem;
  line-height: 1.5;
  margin-top: 8px;
}

.automation-format-hint strong { color: #b9dff0; }

.group-leaderboard { display: grid; gap: 7px; }
.group-rank-row {
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 9px;
  overflow: hidden;
}
.group-rank-row--top { background: rgba(226,184,74,0.12); border-color: rgba(226,184,74,0.4); }
.group-rank-row summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 8px;
  grid-template-columns: 34px 1fr auto;
  list-style: none;
  padding: 10px 11px;
}
.group-rank-row summary::-webkit-details-marker { display: none; }
.group-rank-number { color: #f2d27a; font-weight: 800; text-align: center; }
.group-rank-name { color: #f5f7fb; font-size: 0.8rem; font-weight: 600; }
.group-rank-count { color: #8fd7c2; font-size: 0.75rem; }
.group-member-breakdown { border-top: 1px solid rgba(255,255,255,0.07); color: #8e99aa; font-size: 0.74rem; padding: 8px 12px; }
.group-member-breakdown > div { display: flex; justify-content: space-between; padding: 4px 0; }
.group-member-breakdown strong { color: #f5f7fb; }

.client-assist-list { display: grid; gap: 7px; }
.member-client-assists-card { min-width: 0; overflow: hidden; }
.member-client-assists-card #member-client-assists {
  max-height: clamp(320px, 52vh, 560px);
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 6px;
  scrollbar-color: rgba(94, 220, 255, 0.48) rgba(255, 255, 255, 0.045);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  touch-action: pan-y;
}
.member-client-assists-card #member-client-assists:focus-visible {
  border-radius: 10px;
  outline: 2px solid rgba(94, 220, 255, 0.45);
  outline-offset: 3px;
}
.member-client-assists-card #member-client-assists::-webkit-scrollbar { width: 8px; }
.member-client-assists-card #member-client-assists::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.045);
  border-radius: 999px;
}
.member-client-assists-card #member-client-assists::-webkit-scrollbar-thumb {
  background: rgba(94, 220, 255, 0.42);
  border-radius: 999px;
}
.member-client-assists-card #member-client-assists::-webkit-scrollbar-thumb:hover { background: rgba(94, 220, 255, 0.62); }
@media (max-height: 700px), (max-width: 640px) {
  .member-client-assists-card #member-client-assists { max-height: min(46vh, 420px); }
}
.client-assist-row {
  align-items: center;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 9px;
  display: grid;
  gap: 9px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  padding: 9px 11px;
}
.client-assist-row > div { display: grid; gap: 2px; min-width: 0; }
.client-assist-row strong { color: #5edcff; }
.client-assist-row span, .client-assist-row time { color: #8e99aa; font-size: 0.7rem; }
.client-assist-row .assist-status { font-weight: 700; width: max-content; }
.client-assist-row .assist-status--assisting { color: #f2d27a; }
.client-assist-row .assist-status--completed { color: #8fd7c2; }
.assist-edit-btn {
  background: rgba(0,183,255,0.12);
  border: 1px solid rgba(0,183,255,0.28);
  border-radius: 7px;
  color: #5edcff;
  cursor: pointer;
  font-size: 0.68rem;
  padding: 6px 8px;
}

.platform-metric-tile { cursor: pointer; }
.platform-metric-tile:focus { outline: 2px solid var(--cyber-cyan); outline-offset: 2px; }
.platform-popup-overlay {
  align-items: center;
  background: rgba(2,7,18,0.82);
  inset: 0;
  justify-content: center;
  padding: 20px;
  position: fixed;
  z-index: 3000;
}
.platform-popup { max-width: 520px; padding: 24px; position: relative; width: 100%; }
.platform-popup-close { background: none; border: 0; color: #8e99aa; cursor: pointer; font-size: 1rem; position: absolute; right: 16px; top: 14px; }
.platform-popup-date { color: #8e99aa; font-size: 0.76rem; margin: 4px 0 14px; }
#platform-popup-content { display: grid; gap: 10px; }
.platform-breakdown-card { background: rgba(255,255,255,0.045); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 12px; }
.platform-breakdown-heading, .platform-group-list > div { display: flex; justify-content: space-between; gap: 12px; }
.platform-breakdown-heading strong { color: #5edcff; }
.platform-breakdown-heading span { color: #8fd7c2; font-size: 0.76rem; }
.platform-group-list { border-top: 1px solid rgba(255,255,255,0.07); display: grid; gap: 6px; margin-top: 9px; padding-top: 9px; }
.platform-group-list span { color: #9ca7b8; font-size: 0.72rem; }
.platform-group-list strong { color: #f5f7fb; font-size: 0.74rem; }

.ib-roster-results {
  color: #8e99aa;
  display: grid;
  font-size: 0.74rem;
  gap: 5px;
  margin-top: 9px;
  max-height: 250px;
  overflow-y: auto;
}
.ib-roster-row {
  align-items: center;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 7px;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 7px 9px;
}
.ib-roster-row span { color: #dce4ef; }
.ib-roster-row strong { color: #5edcff; }
.ib-roster-summary { color: #8e99aa; font-size: 0.68rem; margin: 5px 0 0; }
.ib-roster-manager { border-top: 1px solid rgba(255,255,255,0.08); gap: 8px; margin-top: 14px; padding-top: 12px; }
.ib-roster-manager h4 { margin: 0; }
.ib-roster-manager > small { color: #7894a8; font-size: .68rem; line-height: 1.45; }
.ib-fresh-start-btn { margin-top: 4px; white-space: normal; }

/* ============================================================
   TWF PRIVATE WEALTH TERMINAL — AUTHENTICATED EXPERIENCE
   Quiet-luxury visual layer. Intentionally excludes auth and greeting.
   ============================================================ */
:root {
  --lux-obsidian: #080a0d;
  --lux-ink: #0d1014;
  --lux-panel: rgba(17, 20, 24, 0.94);
  --lux-panel-soft: rgba(23, 27, 32, 0.86);
  --lux-line: rgba(222, 199, 145, 0.18);
  --lux-gold: #d9bf7a;
  --lux-gold-bright: #f0d99b;
  --lux-ivory: #f4f0e6;
  --lux-silver: #9ca3ad;
  --lux-emerald: #68b9a0;
  --lux-danger: #d47b7b;
  --lux-shadow: 0 28px 80px rgba(0, 0, 0, 0.52);
}

.workspace-root {
  isolation: isolate;
  max-width: 1680px;
  min-height: 100vh;
  padding-top: 26px;
  position: relative;
}
.workspace-root::before {
  background:
    radial-gradient(ellipse at 12% 0%, rgba(217, 191, 122, 0.10), transparent 34%),
    radial-gradient(ellipse at 92% 18%, rgba(104, 185, 160, 0.07), transparent 28%),
    linear-gradient(135deg, #07090c 0%, #0b0e12 48%, #080a0d 100%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: -2;
}
.workspace-root::after {
  background-image:
    linear-gradient(rgba(217,191,122,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(217,191,122,.025) 1px, transparent 1px);
  background-size: 72px 72px;
  content: '';
  inset: 0;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 82%);
  pointer-events: none;
  position: fixed;
  z-index: -1;
}

.workspace-root .workspace-header {
  background: linear-gradient(120deg, rgba(18,21,25,.96), rgba(11,13,16,.94));
  border: 1px solid var(--lux-line);
  border-radius: 18px;
  box-shadow: 0 18px 55px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
  margin-bottom: 26px;
  padding: 18px 22px;
}
.workspace-root .workspace-header::after {
  background: linear-gradient(90deg, transparent, var(--lux-gold), transparent);
  bottom: -1px;
  height: 1px;
  left: 12%;
  width: 76%;
}
.workspace-root .logo-area { align-items: center; display: flex; gap: 16px; }
.workspace-root .logo-area::after {
  background: var(--lux-gold);
  border-radius: 50%;
  box-shadow: 0 0 14px rgba(217,191,122,.6);
  content: '';
  height: 5px;
  order: -1;
  width: 5px;
}
.workspace-root .logo-area p {
  color: var(--lux-silver);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .18em;
  margin: 0;
  text-transform: uppercase;
}

.workspace-root .glass-card,
.workspace-root .mini-kpi-card,
.modal-overlay .glass-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.025), transparent 32%),
    linear-gradient(155deg, var(--lux-panel), rgba(10,12,15,.96)) !important;
  backdrop-filter: blur(24px) saturate(110%);
  border: 1px solid var(--lux-line);
  border-radius: 16px;
  box-shadow: 0 20px 55px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.035);
}
.workspace-root .glass-card {
  padding: clamp(20px, 2.2vw, 30px);
  position: relative;
}
.workspace-root .glass-card::before {
  background: linear-gradient(90deg, transparent, rgba(240,217,155,.8), transparent);
  content: '';
  height: 1px;
  left: 26px;
  opacity: .48;
  position: absolute;
  right: 26px;
  top: 0;
}
.workspace-root .glass-card:hover {
  border-color: rgba(217,191,122,.3);
  box-shadow: 0 24px 68px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.045);
  transform: translateY(-2px);
}
.workspace-root h2,
.workspace-root h3,
.workspace-root h4,
.modal-overlay h2,
.modal-overlay h3,
.modal-overlay h4 {
  color: var(--lux-ivory);
}
.workspace-root h3 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: .025em;
  margin-top: 0;
}

.workspace-root .custom-input,
.chat-sidebar .custom-input,
.modal-overlay .custom-input {
  background: rgba(5,7,9,.72);
  border: 1px solid rgba(217,191,122,.15);
  border-radius: 9px;
  color: var(--lux-ivory);
}
.workspace-root .custom-input:focus,
.chat-sidebar .custom-input:focus,
.modal-overlay .custom-input:focus {
  background: rgba(4,6,8,.9);
  border-color: var(--lux-gold);
  box-shadow: 0 0 0 3px rgba(217,191,122,.1), 0 10px 28px rgba(0,0,0,.25);
}
.workspace-root .form-group label,
.modal-overlay label {
  color: #aaa497;
  letter-spacing: .12em;
}
.workspace-root .metric-container,
.workspace-root .profile-upload-zone,
.workspace-root .chart-box-wrapper {
  background: rgba(5,7,9,.45);
  border: 1px solid rgba(217,191,122,.1);
  border-radius: 12px;
}

.workspace-root .btn-primary,
.chat-sidebar .btn-primary,
.modal-overlay .btn-primary {
  background: linear-gradient(135deg, #ead69e, #b99245);
  border: 1px solid rgba(255,245,210,.28);
  border-radius: 9px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 10px 25px rgba(126,91,28,.22);
  color: #17130b;
  font-weight: 750;
  letter-spacing: .025em;
}
.workspace-root .btn-primary:hover,
.chat-sidebar .btn-primary:hover,
.modal-overlay .btn-primary:hover {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 14px 34px rgba(184,145,69,.35);
  filter: brightness(1.06);
}
.workspace-root .btn-action-save {
  background: linear-gradient(135deg, #87cbb7, #4e9a84);
  border: 1px solid rgba(197,255,236,.22);
  border-radius: 9px;
  box-shadow: 0 12px 28px rgba(62,127,107,.22);
  color: #07100d;
}
.workspace-root .btn-terminate,
.modal-overlay .btn-terminate {
  background: rgba(212,123,123,.06);
  border-color: rgba(212,123,123,.45);
  border-radius: 9px;
  color: #e2a1a1;
}
.workspace-root .btn-terminate:hover,
.modal-overlay .btn-terminate:hover {
  background: rgba(212,123,123,.16);
  box-shadow: 0 10px 24px rgba(100,35,35,.2);
  color: #f4c1c1;
}

.workspace-root .modern-metrics-grid { gap: 12px; }
.workspace-root .metric-tile-holo {
  background:
    linear-gradient(145deg, rgba(255,255,255,.018), transparent 36%),
    linear-gradient(155deg, rgba(19,22,26,.96), rgba(9,11,14,.98));
  border-color: rgba(217,191,122,.15);
  border-radius: 13px;
  min-height: 130px;
  padding: 26px 16px;
}
.workspace-root .metric-tile-holo::before {
  background: linear-gradient(90deg, transparent, var(--lux-gold), transparent);
  height: 1px;
  opacity: .75;
}
.workspace-root .metric-tile-holo::after {
  background: radial-gradient(90% 80% at 50% 0%, rgba(217,191,122,.11), transparent 72%);
}
.workspace-root .metric-tile-holo:hover {
  border-color: rgba(217,191,122,.45);
  box-shadow: 0 18px 42px rgba(0,0,0,.38), 0 0 0 1px rgba(217,191,122,.08);
  transform: translateY(-4px);
}
.workspace-root .metric-tile-holo .tile-value {
  color: var(--lux-gold-bright);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.85rem, 3.6vw, 2.55rem);
  font-weight: 500;
  letter-spacing: -.025em;
  text-shadow: none;
}
.workspace-root .metric-tile-holo .tile-label {
  color: #989489;
  letter-spacing: .15em;
}
.workspace-root .metric-tile-holo.total-tile .tile-value { color: #8ed1bd; text-shadow: none; }
.workspace-root .metric-tile-holo.total-tile::before { background: linear-gradient(90deg, transparent, var(--lux-emerald), transparent); }

.workspace-root .mini-kpi-card {
  overflow: hidden;
  padding: 20px;
}
.workspace-root .mini-kpi-card::before {
  background: linear-gradient(110deg, rgba(217,191,122,.08), transparent 38%);
  filter: none;
  inset: 0;
  opacity: 1;
}
.workspace-root .mini-kpi-card:hover {
  border-color: rgba(217,191,122,.4);
  box-shadow: 0 22px 52px rgba(0,0,0,.42);
  transform: translateY(-5px);
}
.workspace-root .card-avatar,
.workspace-root .avatar-preview,
.modal-overlay .modal-profile-banner img {
  border-color: var(--lux-gold);
  box-shadow: 0 0 0 4px rgba(217,191,122,.08), 0 12px 28px rgba(0,0,0,.3);
}
.workspace-root .card-name { color: var(--lux-ivory); }
.workspace-root .card-role { color: #99958b; letter-spacing: .08em; text-transform: uppercase; }
.team-presence-card { position:relative; }
.team-presence-card.is-summary-only { cursor:default!important; }
.workspace-root .team-presence-card.is-summary-only:hover { transform:none; }
.team-presence-card .card-header-flex { width:100%; align-items:center; }
.team-card-identity { min-width:0; flex:1; }
.team-presence-badge { display:inline-flex; align-items:center; gap:6px; margin-left:auto; padding:5px 8px; border:1px solid rgba(122,145,160,.15); border-radius:999px; color:#748b9c; font-size:.58rem; font-weight:900; letter-spacing:.09em; white-space:nowrap; }
.team-presence-badge i { width:7px; height:7px; border-radius:50%; background:#526879; }
.team-presence-card.is-online { border-color:rgba(51,218,179,.32); box-shadow:inset 0 1px 0 rgba(90,244,206,.08),0 13px 30px rgba(14,153,123,.08); }
.team-presence-card.is-online .team-presence-badge { border-color:rgba(52,226,184,.28); background:rgba(29,172,137,.1); color:#66e7c6; }
.team-presence-card.is-online .team-presence-badge i { background:#37e4b8; box-shadow:0 0 10px rgba(55,228,184,.9); animation:presencePulse 1.8s ease-in-out infinite; }
.team-presence-card.is-on-shift .team-presence-badge { border-color:rgba(63,185,255,.38); background:rgba(18,126,190,.15); color:#8bdcff; font-size:.66rem; }
.team-presence-card.is-on-shift .team-presence-badge i { background:#38bdff; box-shadow:0 0 12px rgba(56,189,255,.95); }
@keyframes presencePulse { 50% { opacity:.45; transform:scale(.72); } }

/* HADI Vantage, readable inboxes, and deadline-driven invoice workflow */
.hadi-metric-tile{border-color:rgba(91,201,255,.34)!important;background:linear-gradient(145deg,rgba(20,118,190,.2),rgba(14,52,102,.2))!important}
.unified-client-chat{width:min(520px,calc(100vw - 32px));height:min(720px,calc(100dvh - 38px))}
.unified-client-chat .chat-sidebar-header{min-height:62px;font-size:1.2rem}
.unified-client-chat .chat-messages-list{gap:8px;padding:20px 17px}
.unified-client-chat .chat-message-row{max-width:92%}
.unified-client-chat .chat-bubble,.unified-client-chat .client-inbox-bubble{max-width:420px;font-size:1.1rem;line-height:1.58}
.unified-client-chat .chat-bubble strong{font-size:.82rem}
.unified-client-chat .chat-bubble-time{font-size:.72rem}
.unified-client-chat .chat-bubble.chat-bubble-system{max-width:96%;font-size:.94rem!important;line-height:1.5}
.unified-client-chat .chat-bubble-system strong{font-size:.72rem!important}
.unified-client-chat .chat-composer .custom-input{font-size:1.08rem}
.client-inbox-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:11px}
.client-inbox-tabs button{min-height:62px;padding:10px 8px;font-size:.78rem;line-height:1.32}
.client-inbox-tabs button b{min-width:21px;height:21px;font-size:.68rem}
.invoice-finance-reaction{margin:9px 0;padding:8px 10px;border:1px solid rgba(80,186,245,.18);border-radius:9px;background:rgba(26,105,166,.1);color:#9edbff;font-size:.82rem}
.invoice-finance-reaction--paid{border-color:rgba(55,211,170,.3);background:rgba(31,151,120,.12);color:#78e8c9}
.finance-invoice-card{grid-template-columns:minmax(210px,1fr) auto minmax(290px,auto)}
.finance-invoice-identity small{display:block;margin-top:4px;color:#83a0b3;font-size:.72rem;text-transform:capitalize}
.finance-invoice-overdue{border-color:rgba(255,83,119,.42);box-shadow:inset 4px 0 #ff5377}
.finance-invoice-due-today{border-color:rgba(245,184,69,.42);box-shadow:inset 4px 0 #f5b845}
.finance-reaction-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.finance-reaction-actions button{padding:8px 10px;border:1px solid rgba(73,178,239,.2);border-radius:8px;background:rgba(20,105,170,.13);color:#a6ddfa;font-size:.75rem;font-weight:800;cursor:pointer}
.finance-reaction-actions button[data-status="paid"]{border-color:rgba(54,208,166,.3);background:rgba(27,145,115,.14);color:#76e6c5}
.finance-reaction-actions button[data-status="changes_requested"]{border-color:rgba(255,145,76,.28);color:#ffc08f}
#invoice-due[readonly]{border-color:rgba(63,190,245,.24);background:rgba(21,111,167,.1);color:#8ddcff;cursor:not-allowed}
@media(max-width:900px){.finance-invoice-card{grid-template-columns:1fr}.finance-reaction-actions{justify-content:flex-start}.finance-reaction-actions button{flex:1}}
@media(max-width:600px){.unified-client-chat{inset:auto 0 0;width:100%;height:68dvh;border-radius:20px 20px 0 0}.client-inbox-tabs{grid-template-columns:1fr 1fr}.client-inbox-tabs button{min-height:48px}.unified-client-chat .chat-bubble,.unified-client-chat .client-inbox-bubble{max-width:100%;font-size:1rem}}
.team-area-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:20px; }
.team-area-heading h3 { margin:4px 0 0; }
.client-top-performer-summary { display:flex; align-items:center; gap:10px; max-width:390px; padding:10px 13px; border:1px solid rgba(100,151,186,.16); border-radius:12px; background:rgba(5,17,29,.55); }
.client-top-performer-summary > div { display:grid; gap:3px; }
.client-top-performer-summary strong { color:#ddecf5; font-size:.82rem; }
.client-top-performer-summary span { color:#7892a4; font-size:.68rem; }
.client-top-performer-summary.has-winner { border-color:rgba(228,191,93,.35); background:linear-gradient(115deg,rgba(174,125,25,.16),rgba(8,26,39,.7)); box-shadow:0 10px 30px rgba(153,107,17,.08); }
.client-top-performer-summary.has-winner strong { color:#ffe7a4; }
.top-performer-mini-crown { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border-radius:10px; background:rgba(225,181,70,.15); color:#ffd76d !important; font-size:1.15rem !important; box-shadow:inset 0 0 0 1px rgba(255,218,118,.14); }
.team-presence-card.is-monthly-top { border-color:rgba(231,193,91,.5); background:linear-gradient(145deg,rgba(92,65,12,.2),rgba(8,18,29,.92)); box-shadow:inset 0 1px 0 rgba(255,228,143,.13),0 18px 42px rgba(135,95,16,.16); }
.monthly-top-card-badge { position:absolute; right:11px; bottom:9px; padding:4px 7px; border:1px solid rgba(247,210,108,.28); border-radius:999px; background:rgba(170,119,20,.18); color:#ffe18a; font-size:.52rem; font-weight:900; letter-spacing:.08em; }
.top-performer-overlay { z-index:3400; background:rgba(0,5,12,.86); backdrop-filter:blur(18px); }
.top-performer-modal { position:relative; width:min(510px,92vw); overflow:hidden; padding:42px 38px 34px; text-align:center; border-color:rgba(237,197,90,.4) !important; background:radial-gradient(circle at 50% -10%,rgba(229,185,62,.25),transparent 43%),linear-gradient(155deg,#111b27,#050b13) !important; box-shadow:0 34px 100px rgba(0,0,0,.7),0 0 70px rgba(197,141,29,.14) !important; animation:topPerformerReveal .55s cubic-bezier(.16,1,.3,1); }
.top-performer-modal::before { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 35%,rgba(255,231,162,.08) 50%,transparent 65%); transform:translateX(-120%); animation:topPerformerShine 1.3s .3s ease forwards; }
.top-performer-close { position:absolute; top:14px; right:14px; width:34px; height:34px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(0,0,0,.22); color:#b9c7d0; cursor:pointer; }
.top-performer-crown { display:grid; place-items:center; width:70px; height:70px; margin:0 auto 15px; border:1px solid rgba(255,218,113,.42); border-radius:22px; background:linear-gradient(145deg,rgba(241,195,70,.3),rgba(127,79,8,.18)); color:#ffe185; font-size:2.2rem; text-shadow:0 0 24px rgba(255,211,91,.65); box-shadow:0 17px 45px rgba(171,116,10,.24); }
.top-performer-modal h2 { margin:5px 0 2px; color:#fff4d2 !important; font-family:Georgia,'Times New Roman',serif; font-size:2.3rem; }
.top-performer-popup-month { margin:0 0 20px; color:#ac8f4a; font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.top-performer-modal > img { width:94px; height:94px; margin:0 auto 13px; border:2px solid #e6bd54; border-radius:50%; object-fit:cover; box-shadow:0 0 0 7px rgba(230,189,84,.1),0 17px 45px rgba(0,0,0,.4); }
.top-performer-modal h3 { margin:5px 0; color:#f8fbff; font-size:1.35rem; }
.top-performer-popup-role { margin:0; color:#8297a6; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.top-performer-popup-score { display:grid; gap:3px; margin:20px 0 9px; }
.top-performer-popup-score strong { color:#72e6cb; font-family:Georgia,'Times New Roman',serif; font-size:3rem; line-height:1; }
.top-performer-popup-score span { color:#7f98a9; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.top-performer-popup-area { margin:0 0 22px; padding:10px 13px; border:1px solid rgba(229,190,87,.16); border-radius:11px; background:rgba(174,123,21,.08); color:#dcc47e; font-size:.8rem; }
.top-performer-modal .btn-primary { width:auto; min-width:200px; }
@keyframes topPerformerReveal { from { opacity:0; transform:translateY(25px) scale(.94); } to { opacity:1; transform:none; } }
@keyframes topPerformerShine { to { transform:translateX(120%); } }
@media (max-width:700px) { .team-area-heading { flex-direction:column; } .client-top-performer-summary { width:100%; max-width:none; } .top-performer-modal { padding:38px 22px 28px; } }

.workspace-root .custom-table {
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}
.workspace-root .custom-table th {
  background: rgba(217,191,122,.075);
  border-bottom: 1px solid rgba(217,191,122,.2);
  color: #c4b995;
  letter-spacing: .1em;
}
.workspace-root .custom-table td { border-bottom-color: rgba(255,255,255,.055); color: #d8d6cf; }
.workspace-root .custom-table tbody tr:hover { background: rgba(217,191,122,.045); }

.workspace-root .ib-rank-row,
.workspace-root .group-rank-row,
.workspace-root .client-assist-row,
.workspace-root .ib-roster-row,
.modal-overlay .client-assist-row {
  background: linear-gradient(145deg, rgba(255,255,255,.025), rgba(255,255,255,.008));
  border-color: rgba(217,191,122,.12);
}
.workspace-root .ib-rank-row--top,
.workspace-root .group-rank-row--top {
  background: linear-gradient(135deg, rgba(217,191,122,.15), rgba(217,191,122,.035));
  border-color: rgba(217,191,122,.4);
  box-shadow: inset 0 1px 0 rgba(255,245,210,.06);
}
.workspace-root .ib-rank-number,
.workspace-root .group-rank-number,
.workspace-root .ib-roster-row strong { color: var(--lux-gold-bright); }
.workspace-root .ib-rank-count,
.workspace-root .group-rank-count,
.workspace-root .client-assist-row strong { color: #86c7b3; }

.modal-overlay {
  background: rgba(3,4,5,.78);
  backdrop-filter: blur(18px) saturate(80%);
}
.modal-overlay .modal-content {
  background:
    linear-gradient(145deg, rgba(255,255,255,.025), transparent 30%),
    linear-gradient(155deg, #14171b, #090b0e) !important;
  border-color: rgba(217,191,122,.24);
  border-radius: 18px;
  box-shadow: var(--lux-shadow), inset 0 1px 0 rgba(255,255,255,.045);
}
.modal-overlay .modal-profile-banner { border-bottom-color: rgba(217,191,122,.15); }
.modal-overlay .modal-profile-info p { color: #a19c90; letter-spacing: .1em; }
.modal-overlay .ledger-controls { background: rgba(5,7,9,.58); border-color: rgba(217,191,122,.13); }
.modal-overlay .platform-breakdown-card { border-color: rgba(217,191,122,.14); }

.chat-sidebar {
  background:
    linear-gradient(145deg, rgba(255,255,255,.025), transparent 30%),
    linear-gradient(160deg, rgba(19,22,26,.98), rgba(8,10,13,.98));
  border-color: rgba(217,191,122,.22);
  border-radius: 16px;
  box-shadow: 0 24px 70px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.035);
}
.chat-sidebar-header {
  background: rgba(217,191,122,.045);
  border-bottom-color: rgba(217,191,122,.14);
  color: var(--lux-ivory);
  letter-spacing: .035em;
}
.chat-sidebar-header::before {
  background: var(--lux-gold);
  box-shadow: 0 0 12px rgba(217,191,122,.7);
}
.chat-message-row .chat-bubble-mine {
  background: linear-gradient(135deg, #b89147, #d9bf7a);
  box-shadow: 0 8px 22px rgba(126,91,28,.22);
  color: #17130b;
}
.chat-message-row .chat-bubble-theirs {
  background: rgba(255,255,255,.055);
  border-color: rgba(217,191,122,.12);
}
.chat-bubble-theirs strong { color: var(--lux-gold-bright); }
.chat-sidebar .chat-composer { background: rgba(4,6,8,.56); border-top-color: rgba(217,191,122,.13); }
.chat-sidebar .chat-member-row:hover { background: rgba(217,191,122,.07); }
.chat-sidebar .chat-member-row.active { background: rgba(217,191,122,.12); }
.chat-sidebar .chat-member-row img { border-color: var(--lux-gold); }
.chat-sidebar .chat-member-dot { background: var(--lux-emerald); box-shadow: 0 0 8px rgba(104,185,160,.7); }
.profitshot-folder-title { color: var(--lux-gold-bright); }
.profitshot-day-folder { border-color: rgba(217,191,122,.12); }

.chat-toast {
  background: linear-gradient(145deg, rgba(24,27,31,.98), rgba(10,12,15,.98));
  border-color: rgba(217,191,122,.25);
  box-shadow: 0 18px 50px rgba(0,0,0,.5);
}

@media (max-width: 900px) {
  .workspace-root .workspace-header { border-radius: 14px; padding: 15px 16px; }
  .workspace-root .glass-card { padding: 20px; }
  .workspace-root .metric-tile-holo { min-height: 112px; padding: 22px 12px; }
}

/* Admin delete button */
.chat-delete-btn {
  background: none; border: none; color: #ff3366; cursor: pointer;
  font-size: 0.75rem; padding: 0 4px; margin-left: 6px;
  opacity: 0; transition: opacity 0.2s;
}
.chat-bubble:hover .chat-delete-btn { opacity: 1; }
/* Minimize button */
.chat-minimize-btn {
    background: rgba(255,255,255,0.1);
    border: none;
    color: #fff;
    font-size: 1.2rem;
    width: 28px;
    height: 28px;
    line-height: 1;
    border-radius: 50%;
    cursor: pointer;
    margin-left: auto;
    transition: background 0.2s;
}
.chat-minimize-btn:hover { background: rgba(255,255,255,0.25); }

/* Minimized state */
.chat-sidebar--minimized .chat-sidebar-body {
    display: none !important;
}
.chat-sidebar--minimized {
    height: auto !important;
    min-height: unset !important;
    border-radius: 22px !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.45);
}

/* TWF blue premium workspace layer — intentionally excludes the welcome/login view. */
:root {
  --lux-line: rgba(44, 155, 255, .26);
  --lux-gold: #159dff;
  --lux-gold-bright: #77ceff;
  --lux-ivory: #f5fbff;
  --lux-silver: #b6cadc;
  --lux-emerald: #29d8cf;
}
.workspace-root { font-size: 16px; line-height: 1.55; }
.workspace-root::before {
  background: radial-gradient(circle at 18% 12%, rgba(0,155,255,.22), transparent 36%), radial-gradient(circle at 82% 22%, rgba(26,80,255,.17), transparent 40%), radial-gradient(circle at 50% 92%, rgba(0,214,220,.10), transparent 42%);
  background-size: 160% 160%;
  animation: twfAuroraMotion 16s ease-in-out infinite alternate;
}
.workspace-root::after { background-image: linear-gradient(rgba(42,154,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(42,154,255,.025) 1px, transparent 1px); }
.workspace-root .workspace-header {
  border-color: rgba(48,159,255,.30);
  box-shadow: 0 20px 70px rgba(0,76,160,.22), inset 0 1px 0 rgba(150,220,255,.08);
  animation: twfHeaderGlow 7s ease-in-out infinite;
}
.workspace-root .glass-card, .workspace-root .mini-kpi-card, .workspace-root .metric-tile-holo { border-color: rgba(48,159,255,.20); }
.workspace-root .glass-card::before, .workspace-root .metric-tile-holo::before { background: linear-gradient(90deg, transparent, #159dff, #70d2ff, transparent); }
.workspace-root .metric-tile-holo::after { background: radial-gradient(90% 80% at 50% 0%, rgba(31,165,255,.15), transparent 72%); }
.workspace-root .metric-tile-holo:hover, .workspace-root .mini-kpi-card:hover { border-color: rgba(84,190,255,.52); box-shadow: 0 22px 54px rgba(0,83,170,.24), 0 0 0 1px rgba(78,185,255,.10); }
.workspace-root .custom-table th { background: rgba(22,137,235,.10); border-bottom-color: rgba(58,169,255,.24); color: #9ed9ff; }
.workspace-root h3 { font-size: 1.25rem; letter-spacing: .015em; }
.workspace-root h4 { font-size: 1.03rem; }
.workspace-root .form-group label { font-size: .84rem; }
.workspace-root .custom-input { font-size: 1rem; padding: 13px 15px; }
.workspace-root .tile-label { font-size: .79rem; }
.workspace-root .card-name { font-size: 1.06rem; }
.workspace-root .card-role { font-size: .81rem; }
.workspace-root .custom-table { font-size: .92rem; }
.workspace-root .ib-rank-row, .workspace-root .client-assist-row, .workspace-root .ib-roster-row { font-size: .94rem; }
.chat-sidebar { border-color: rgba(48,159,255,.32); box-shadow: 0 24px 74px rgba(0,60,140,.30), inset 0 1px 0 rgba(120,210,255,.06); font-size: 15px; }
.chat-sidebar-header { background: rgba(20,130,230,.09); border-bottom-color: rgba(48,159,255,.20); }
.chat-sidebar-header::before { background: #24c5ff; box-shadow: 0 0 15px rgba(36,197,255,.8); }
.chat-message-row .chat-bubble-mine { background: linear-gradient(135deg, #087bd8, #19b9ff); box-shadow: 0 9px 26px rgba(0,116,220,.30); color: #fff; }
.chat-sidebar .chat-bubble { font-size: .93rem; line-height: 1.48; }
.verifier-kpi-card { position: relative; overflow: hidden; background: linear-gradient(145deg, rgba(14,128,232,.18), rgba(8,18,37,.92)) !important; }
.verifier-kpi-card strong { display: block; margin: 5px 0 2px; color: #81d8ff; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1; }
.verifier-kpi-card > span:last-child { color: #c5d9e8; font-size: .95rem; }
.verifier-kpi-eyebrow { color: #56c5ff; font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
@keyframes twfAuroraMotion { 0% { background-position: 0% 30%; transform: scale(1); } 100% { background-position: 100% 70%; transform: scale(1.04); } }
@keyframes twfHeaderGlow { 0%, 100% { box-shadow: 0 20px 70px rgba(0,76,160,.18), inset 0 1px 0 rgba(150,220,255,.07); } 50% { box-shadow: 0 24px 84px rgba(0,122,224,.30), inset 0 1px 0 rgba(150,220,255,.12); } }
@media (prefers-reduced-motion: reduce) { .workspace-root::before, .workspace-root .workspace-header { animation: none; } }

.monthly-group-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.monthly-group-heading h3 { margin:3px 0 0; }
.monthly-group-heading input { width:auto; min-width:155px; }
.monthly-group-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.monthly-group-summary > div { padding:14px; border:1px solid rgba(48,159,255,.20); border-radius:13px; background:rgba(19,128,224,.08); }
.monthly-group-summary strong { display:block; color:#77ceff; font-size:1.9rem; line-height:1; }
.monthly-group-summary span { color:#a9bfd1; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.monthly-group-list { display:grid; gap:7px; max-height:330px; overflow:auto; padding-right:4px; }
.monthly-group-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid rgba(255,255,255,.06); border-radius:10px; color:#7f94a7; }
.monthly-group-row span { display:flex; align-items:baseline; gap:8px; min-width:0; }
.monthly-group-row small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.monthly-group-row b { color:#8da4b7; font-size:1rem; }
.monthly-group-row--active { border-color:rgba(48,159,255,.28); background:rgba(16,126,220,.10); color:#eff9ff; }
.monthly-group-row--active b { color:#77ceff; font-size:1.2rem; }
.month-end-link-card .monthly-group-heading p { margin:6px 0 0; color:#7f99ac; font-size:.82rem; }
.month-end-link-report { display:grid; gap:9px; }
.month-end-report-locked { display:grid; place-items:center; gap:7px; min-height:150px; padding:24px; border:1px dashed rgba(92,180,240,.22); border-radius:15px; background:radial-gradient(circle at 50% 0,rgba(28,124,199,.12),transparent 62%); text-align:center; }
.month-end-report-locked span { color:#66c9ff; font-size:.67rem; font-weight:900; letter-spacing:.14em; }
.month-end-report-locked strong { color:#e8f7ff; font-family:Georgia,'Times New Roman',serif; font-size:1.15rem; }
.month-end-report-locked p { margin:0; color:#7f98aa; font-size:.8rem; }
.month-end-report-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:1px solid rgba(67,191,224,.2); border-radius:13px; background:linear-gradient(110deg,rgba(24,145,189,.13),rgba(7,34,55,.62)); }
.month-end-report-summary span { color:#7fa2b7; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.month-end-report-summary strong { color:#6be6d0; font-size:1.15rem; }
.month-end-member-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 14px; border:1px solid rgba(255,255,255,.07); border-radius:12px; background:rgba(3,15,27,.62); }
.month-end-member-row > b { display:grid; place-items:center; width:29px; height:29px; border-radius:9px; background:rgba(62,157,222,.12); color:#78cffd; }
.month-end-member-row div { display:grid; gap:3px; min-width:0; }
.month-end-member-row div strong { color:#eef9ff; }
.month-end-member-row div span { overflow:hidden; color:#7892a6; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.month-end-member-row em { color:#70dfc8; font-size:.8rem; font-style:normal; font-weight:800; }
.month-end-member-row.is-top { border-color:rgba(222,190,104,.33); background:linear-gradient(110deg,rgba(178,135,39,.13),rgba(5,20,33,.66)); }
@media (max-width:600px) { .monthly-group-heading { align-items:flex-start; flex-direction:column; } .monthly-group-heading input { width:100%; } }

/* Role-focused usability pass */
.gateway-screen {
  padding: clamp(24px, 5vw, 64px);
  background:
    radial-gradient(circle at 20% 15%, rgba(0,153,255,.18), transparent 34%),
    radial-gradient(circle at 82% 78%, rgba(20,82,255,.14), transparent 38%),
    #040914;
}
.auth-card {
  max-width: 560px;
  padding: clamp(36px, 5vw, 58px);
  border-color: rgba(58,169,255,.30);
  border-radius: 24px;
  box-shadow: 0 34px 100px rgba(0,44,110,.42), inset 0 1px 0 rgba(146,220,255,.10);
}
.twf-logo-mark--auth { height: clamp(4.6rem, 10vw, 6.4rem); margin-bottom: 16px; }
.auth-eyebrow { display:block; color:#5ec8ff; font-size:.82rem; font-weight:800; letter-spacing:.20em; text-transform:uppercase; }
.auth-heading { margin:8px 0 10px; color:#f6fbff; font-size:clamp(1.8rem, 4vw, 2.65rem); line-height:1.08; letter-spacing:-.035em; }
.auth-card .branding-subtitle { max-width:430px; margin:0 auto 34px; color:#9fb7ca; font-size:1rem; line-height:1.55; text-transform:none; letter-spacing:0; }
.auth-card .form-group { margin-bottom:22px; }
.auth-card .form-group label { margin-bottom:9px; color:#bfd3e3; font-size:.9rem; letter-spacing:.07em; }
.auth-card .custom-input { min-height:56px; padding:15px 17px; border-radius:12px; font-size:1.05rem; }
.auth-card .btn-primary { min-height:56px; margin-top:4px; border-radius:12px; font-size:1.04rem; font-weight:800; letter-spacing:.02em; }

.workspace-root { font-size:17px; line-height:1.62; }
.workspace-root #memberWorkspaceSection,
.workspace-root #clientWorkspaceSection { font-size:1rem; }
.workspace-root h2 { font-size:clamp(1.65rem,3vw,2.25rem); line-height:1.18; }
.workspace-root h3 { font-size:1.38rem; line-height:1.25; }
.workspace-root h4 { font-size:1.12rem; }
.workspace-root .form-group label { font-size:.9rem; letter-spacing:.055em; }
.workspace-root .custom-input { min-height:48px; font-size:1.04rem; }
.workspace-root .tile-label { font-size:.86rem; }
.workspace-root .card-name { font-size:1.16rem; }
.workspace-root .card-role { font-size:.88rem; }
.workspace-root .custom-table { font-size:1rem; }
.workspace-root .custom-table th,
.workspace-root .custom-table td { padding:13px 12px; }
.workspace-root .ib-rank-row,
.workspace-root .client-assist-row,
.workspace-root .ib-roster-row { font-size:1rem; }
.chat-sidebar { font-size:16px; }
.chat-sidebar-header { font-size:1.02rem; min-height:52px; }
.chat-sidebar .chat-bubble { font-size:1rem; }

.role-focus-hero { padding:28px !important; background:linear-gradient(145deg,rgba(16,129,231,.17),rgba(8,18,35,.94)) !important; }
.role-focus-hero h2 { margin:7px 0 9px; color:#f4fbff; }
.role-focus-hero p { margin:0; max-width:720px; color:#abc1d2; font-size:1.02rem; }
.role-focus-hero--verifier { background:linear-gradient(145deg,rgba(22,95,229,.21),rgba(10,21,48,.95)) !important; border-color:rgba(90,149,255,.34) !important; }
.role-focus-hero--verifier .verifier-kpi-eyebrow { color:#8eb8ff; }

.profitshot-workspace { max-width:1180px; margin:0 auto; }
.profitshot-operator-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:38px; padding:clamp(30px,5vw,56px) !important; overflow:hidden; background:linear-gradient(135deg,rgba(7,115,218,.22),rgba(7,15,32,.96) 62%) !important; }
.profitshot-operator-hero h1 { margin:8px 0 14px; color:#f5fbff; font-size:clamp(2.2rem,5vw,4.2rem); line-height:1; letter-spacing:-.055em; }
.profitshot-operator-hero p { max-width:680px; margin:0; color:#b3c9d9; font-size:1.08rem; }
.profitshot-open-button { width:auto !important; margin-top:24px; padding:14px 22px !important; }
.profitshot-operator-mark { position:relative; display:grid; place-items:center; width:180px; height:180px; border:1px solid rgba(63,179,255,.24); border-radius:50%; background:rgba(9,90,175,.12); box-shadow:0 0 70px rgba(0,144,255,.18); }
.profitshot-operator-mark img { width:112px; }
.profitshot-operator-mark span { position:absolute; right:3px; bottom:22px; padding:5px 9px; border-radius:999px; background:#0bd3bf; color:#031411; font-size:.72rem; font-weight:900; letter-spacing:.12em; box-shadow:0 0 18px rgba(11,211,191,.5); }
.profitshot-task-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:18px 0; }
.profitshot-stat span { display:block; color:#7bcfff; font-size:.78rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.profitshot-stat strong { display:block; margin:10px 0 4px; color:#f3fbff; font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.5rem,5vw,4rem); line-height:1; }
.profitshot-stat small { color:#9fb7c9; font-size:.9rem; }
.profitshot-task-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; padding:0 !important; overflow:hidden; }
.profitshot-task-guide > div { padding:25px; background:rgba(8,20,39,.72); }
.profitshot-task-guide span { display:block; color:#41baff; font-size:.78rem; font-weight:900; letter-spacing:.15em; }
.profitshot-task-guide strong { display:block; margin:9px 0 6px; color:#edf8ff; font-size:1.05rem; }
.profitshot-task-guide p { margin:0; color:#93adbf; font-size:.92rem; }
body.profitshot-operator-mode #profitshot-sidebar { border-color:rgba(48,173,255,.46); box-shadow:0 26px 90px rgba(0,91,190,.38); }

@media (max-width:800px) {
  .workspace-root { font-size:16px; }
  .profitshot-operator-hero { grid-template-columns:1fr; }
  .profitshot-operator-mark { display:none; }
  .profitshot-task-grid,
  .profitshot-task-guide { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .auth-card { padding:30px 22px; }
  .auth-card .branding-subtitle { font-size:.94rem; }
}

/* Chat-first workflow KPI system */
.workflow-command-center { background:linear-gradient(145deg,rgba(8,105,202,.18),rgba(7,16,31,.96)) !important; }
.workflow-live-badge { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid rgba(43,230,203,.28); border-radius:999px; background:rgba(24,210,184,.10); color:#62ead5; font-size:.72rem; font-weight:900; letter-spacing:.14em; }
.workflow-live-badge::before { content:''; width:7px; height:7px; border-radius:50%; background:#2be0c5; box-shadow:0 0 12px #2be0c5; animation:workflowPulse 1.8s ease-in-out infinite; }
.workflow-metrics-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0; }
.workflow-metrics-grid > div { position:relative; padding:16px; border:1px solid rgba(54,165,255,.18); border-radius:13px; background:rgba(4,16,31,.52); overflow:hidden; }
.workflow-metrics-grid > div::before { content:''; position:absolute; inset:0 auto 0 0; width:3px; background:linear-gradient(#26c7ff,#147de8); }
.workflow-metrics-grid span { display:block; color:#a7bfd1; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.workflow-metrics-grid strong { display:block; margin-top:7px; color:#f3fbff; font-family:Georgia,'Times New Roman',serif; font-size:2.15rem; line-height:1; }
.workflow-metrics-grid .workflow-total { grid-column:1/-1; background:linear-gradient(120deg,rgba(17,134,229,.20),rgba(23,211,190,.08)); }
.workflow-metrics-grid .workflow-total strong { color:#69d9ff; font-size:2.7rem; }
.workflow-command-examples { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; padding:15px; border:1px dashed rgba(72,175,255,.25); border-radius:13px; background:rgba(0,0,0,.18); }
.workflow-command-examples > strong { flex-basis:100%; color:#c8dce9; font-size:.9rem; }
.workflow-command-examples code { display:inline-flex; padding:7px 9px; border:1px solid rgba(72,175,255,.16); border-radius:8px; background:rgba(17,105,183,.12); color:#8fd5ff; font-family:Inter,sans-serif; font-size:.78rem; cursor:pointer; transition:.2s ease; }
.workflow-command-examples code:hover,.workflow-command-examples code:focus { border-color:rgba(92,197,255,.48); background:rgba(21,133,225,.22); outline:none; transform:translateY(-1px); }
.workflow-feed { display:grid; gap:7px; max-height:300px; overflow:auto; }
.workflow-feed-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 13px; border:1px solid rgba(255,255,255,.07); border-radius:10px; background:rgba(5,14,27,.52); }
.workflow-feed-row div { min-width:0; }
.workflow-feed-row strong,.workflow-feed-row span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workflow-feed-row strong { color:#edf8ff; font-size:.94rem; }
.workflow-feed-row span { margin-top:2px; color:#8ea8ba; font-size:.8rem; }
.workflow-feed-row b { color:#59d7ff; font-size:1.12rem; }
.workflow-context-tile { background:linear-gradient(145deg,rgba(8,118,215,.14),rgba(5,15,29,.86)) !important; }
@keyframes workflowPulse { 50% { opacity:.45; transform:scale(.78); } }
@media (max-width:600px) { .workflow-metrics-grid { grid-template-columns:1fr; } .workflow-metrics-grid .workflow-total { grid-column:auto; } }
@media (prefers-reduced-motion:reduce) { .workflow-live-badge::before { animation:none; } }

/* Dedicated SV workflow channel */
#sv-chat-sidebar { left:28px; right:auto; border-color:rgba(112,116,255,.34); }
#sv-chat-sidebar .chat-sidebar-header { background:linear-gradient(135deg,rgba(53,91,238,.20),rgba(129,73,238,.12)); }
#sv-chat-sidebar .chat-sidebar-header::before { background:#8a8fff; box-shadow:0 0 15px rgba(123,132,255,.85); }
.sv-channel-banner { display:grid; gap:2px; padding:11px 13px; border-bottom:1px solid rgba(123,132,255,.16); background:rgba(80,83,215,.08); }
.sv-channel-banner strong { color:#dce2ff; font-size:.85rem; }
.sv-channel-banner span { color:#909dc6; font-size:.74rem; }
.sv-chat-composer { align-items:flex-end !important; }
.sv-chat-composer textarea { min-height:118px; max-height:180px; resize:vertical; line-height:1.42; }
.sv-chat-bubble { max-width:285px; }
.sv-chat-bubble pre { margin:6px 0 2px; color:inherit; font:inherit; font-size:.88rem; line-height:1.42; white-space:pre-wrap; overflow-wrap:anywhere; }
@media (max-width:900px) { #sv-chat-sidebar { left:0; right:0; } }

/* VA invoice creation and Client review channel */
#invoice-chat-sidebar { left:410px; right:auto; border-color:rgba(64,194,168,.34); }
#invoice-chat-sidebar .chat-sidebar-header { background:linear-gradient(135deg,rgba(22,150,130,.18),rgba(34,107,201,.12)); }
#invoice-chat-sidebar .chat-sidebar-header::before { background:#38d8bb; box-shadow:0 0 14px rgba(56,216,187,.8); }
.invoice-channel-banner { display:grid; gap:2px; padding:11px 13px; border-bottom:1px solid rgba(61,206,179,.14); background:rgba(34,166,141,.07); }
.invoice-channel-banner strong { color:#d9fff7; font-size:.84rem; }
.invoice-channel-banner span { color:#8fb6ae; font-size:.73rem; }
.invoice-chat-list { flex:1; display:grid; align-content:start; gap:9px; padding:10px; overflow:auto; }
.invoice-empty { margin:25px 10px; color:#8198a8; text-align:center; font-size:.86rem; }
.invoice-chat-card { padding:12px; border:1px solid rgba(64,183,160,.16); border-radius:12px; background:rgba(6,22,29,.72); }
.invoice-chat-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.invoice-chat-card-top strong,.invoice-chat-card-top span { display:block; }
.invoice-chat-card-top strong { color:#eefdf9; font-size:.91rem; }
.invoice-chat-card-top span { margin-top:2px; color:#829f9a; font-size:.72rem; }
.invoice-chat-total { margin:10px 0 8px; color:#66e0c7; font-family:Georgia,'Times New Roman',serif; font-size:1.7rem; }
.invoice-status { padding:4px 6px; border-radius:999px; font-size:.61rem; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; }
.invoice-status--submitted,.invoice-status--resubmitted { background:rgba(38,139,230,.16); color:#75c7ff; }
.invoice-status--checked { background:rgba(45,211,165,.16); color:#70e8c5; }
.invoice-status--changes_requested { background:rgba(255,155,72,.15); color:#ffbe83; }
.invoice-status--finance_review { background:rgba(77,151,255,.16); color:#8fc5ff; }
.invoice-status--approved { background:rgba(130,104,255,.16); color:#bfb0ff; }
.invoice-status--settled,.invoice-status--paid,.invoice-status--archived { background:rgba(45,211,165,.16); color:#70e8c5; }
.invoice-review-note { margin:8px 0; color:#ffca9c; font-size:.76rem; }
.invoice-card-actions { display:flex; flex-wrap:wrap; gap:6px; }
.invoice-small-button { padding:6px 8px; border:1px solid rgba(88,184,255,.2); border-radius:7px; background:rgba(28,101,158,.15); color:#9fd8ff; font-size:.68rem; cursor:pointer; }
.invoice-small-button--check { border-color:rgba(55,211,170,.28); color:#73e8c8; }
.invoice-small-button--changes { border-color:rgba(255,161,86,.25); color:#ffbd87; }
.invoice-modal-overlay { z-index:3000; }
.invoice-editor-modal { max-width:1180px; }
.invoice-editor-modal .modal-header-controls { align-items:flex-start; justify-content:space-between; }
.invoice-editor-modal h2 { margin:4px 0 0; }
.invoice-form-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:12px; }
.invoice-party-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:8px 0 20px; }
.invoice-party-grid fieldset { display:grid; gap:9px; margin:0; padding:16px; border:1px solid rgba(66,170,255,.18); border-radius:13px; }
.invoice-party-grid legend { padding:0 8px; color:#8ed3ff; font-weight:800; }
.invoice-items-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.invoice-items-heading button { width:auto !important; padding:8px 11px !important; }
.invoice-items-editor { display:grid; gap:8px; margin:10px 0 18px; }
.invoice-item-editor-row { display:grid; grid-template-columns:1.1fr 2fr .55fr .7fr .55fr 36px; gap:7px; align-items:center; }
.invoice-item-editor-row .custom-input { min-width:0; }
.invoice-remove-item { height:42px; border:1px solid rgba(255,93,123,.24); border-radius:9px; background:rgba(201,44,79,.12); color:#ff849d; cursor:pointer; }
.invoice-editor-actions { display:flex; justify-content:flex-end; gap:10px; }
.invoice-editor-actions button { width:auto; min-width:150px; }
.invoice-preview-shell { width:min(100%,980px); max-height:96vh; overflow:auto; }
.invoice-preview-controls { position:sticky; top:0; z-index:2; display:flex; justify-content:flex-end; gap:8px; padding:10px; background:rgba(5,11,21,.92); }
.invoice-preview-controls button { width:auto; }
.invoice-paper { box-sizing:border-box; width:794px; min-height:1123px; margin:0 auto 20px; padding:52px 38px; background:#fff; color:#111; font-family:Inter,Arial,sans-serif; box-shadow:0 25px 80px rgba(0,0,0,.55); }
.invoice-paper header { display:flex; justify-content:space-between; gap:25px; }
.invoice-brand { display:flex; align-items:center; gap:10px; font-size:1.25rem; }
.invoice-brand img { width:62px; height:62px; object-fit:cover; }
.invoice-title { text-align:right; }
.invoice-title h1 { margin:0 0 10px; font-size:2rem; font-weight:400; }
.invoice-title p { margin:4px 0; color:#5f6670; font-size:.82rem; }
.invoice-parties { display:grid; grid-template-columns:1fr 1fr; gap:70px; margin:48px 0; }
.invoice-parties strong { font-size:.86rem; }
.invoice-parties p { margin:7px 0 0; line-height:1.6; font-size:.88rem; }
.invoice-preview-table { width:100%; border-collapse:collapse; font-size:.82rem; }
.invoice-preview-table th { padding:13px 9px; background:#dfe3e7; color:#59616a; text-align:right; }
.invoice-preview-table th:first-child,.invoice-preview-table td:first-child { text-align:left; }
.invoice-preview-table td { padding:16px 9px; border-bottom:1px solid #d9dde0; text-align:right; vertical-align:top; }
.invoice-preview-table td strong,.invoice-preview-table td small { display:block; }
.invoice-preview-table td small { margin-top:4px; color:#66707a; }
.invoice-summary { width:285px; margin:18px 0 0 auto; }
.invoice-summary h3 { margin:0 0 8px; padding:11px 14px; border-radius:10px; background:#dfe3e7; color:#535c65; text-align:right; }
.invoice-summary p { display:flex; justify-content:space-between; margin:8px 0; }
.invoice-paper footer { margin-top:28px; padding-top:12px; border-top:1px solid #d9dde0; color:#66707a; font-size:.78rem; }
@media (max-width:900px) { #invoice-chat-sidebar { left:0; right:0; } .invoice-form-grid,.invoice-party-grid { grid-template-columns:1fr; } .invoice-item-editor-row { grid-template-columns:1fr 1fr; } .invoice-paper { width:100%; min-height:auto; padding:30px 22px; } }
@media print {
  body * { visibility:hidden !important; }
  #invoice-print-area,#invoice-print-area * { visibility:visible !important; }
  #invoice-print-area { position:absolute; inset:0; width:210mm; min-height:297mm; margin:0; padding:14mm 10mm; box-shadow:none; }
  @page { size:A4; margin:0; }
}

/* Single-channel client operations + daily analytics */
#clientWorkspaceSection .modern-metrics-grid { align-items:stretch; }
#clientWorkspaceSection .metric-tile-holo {
  appearance:none;
  width:100%;
  min-height:132px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:22px 14px;
  color:inherit;
  font:inherit;
  cursor:pointer;
  text-align:center;
}
#clientWorkspaceSection .metric-tile-holo .tile-value {
  display:block;
  width:100%;
  margin:0;
  font-size:clamp(2.35rem,4vw,3.2rem);
  line-height:1;
}
#clientWorkspaceSection .metric-tile-holo .tile-label {
  display:block;
  width:100%;
  line-height:1.45;
  white-space:normal;
}
#clientWorkspaceSection .metric-tile-holo:focus-visible { outline:2px solid #57c8ff; outline-offset:3px; }
.metric-click-hint,.calendar-linked-month,.archive-live-badge {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 11px;
  border:1px solid rgba(82,187,255,.24);
  border-radius:999px;
  background:rgba(25,128,211,.1);
  color:#9bdcff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.client-calendar-card { overflow:hidden; }
.client-calendar-toolbar { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.client-calendar-toolbar h3 { margin:5px 0 0; }
.calendar-month-controls { display:flex; align-items:center; gap:9px; }
.calendar-month-controls strong { min-width:150px; color:#eaf7ff; text-align:center; font-size:1rem; }
.calendar-month-controls button {
  width:38px;
  height:38px;
  border:1px solid rgba(85,187,255,.25);
  border-radius:11px;
  background:rgba(29,122,201,.12);
  color:#8ed8ff;
  font-size:1.55rem;
  cursor:pointer;
  transition:.2s ease;
}
.calendar-month-controls button:hover { transform:translateY(-2px); background:rgba(35,146,235,.22); }
.client-calendar-weekdays,.client-metrics-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
.client-calendar-weekdays { margin:22px 0 7px; }
.client-calendar-weekdays span { color:#718ba2; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-align:center; text-transform:uppercase; }
.calendar-day-spacer { min-height:64px; }
.client-calendar-day {
  position:relative;
  min-height:68px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  padding:10px;
  border:1px solid rgba(103,148,184,.13);
  border-radius:12px;
  background:rgba(3,14,29,.5);
  color:#9db1c3;
  cursor:pointer;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.client-calendar-day > span { font-size:.88rem; font-weight:800; }
.client-calendar-day small { align-self:flex-end; color:#58758d; font-size:.7rem; font-weight:800; }
.client-calendar-day:hover { transform:translateY(-3px); border-color:rgba(77,188,255,.42); background:rgba(17,89,151,.16); }
.client-calendar-day.has-metrics { border-color:rgba(50,168,244,.28); background:linear-gradient(145deg,rgba(16,108,183,.2),rgba(4,20,38,.65)); color:#e8f7ff; }
.client-calendar-day.has-metrics::after { content:''; position:absolute; top:10px; right:10px; width:6px; height:6px; border-radius:50%; background:#34d9c0; box-shadow:0 0 10px #34d9c0; }
.client-calendar-day.has-metrics small { color:#77d7ff; }
.client-calendar-day.is-today { box-shadow:inset 0 0 0 1px rgba(63,219,192,.55); }
.client-calendar-day.is-selected { border-color:#4bc4ff; background:linear-gradient(145deg,rgba(22,132,218,.38),rgba(7,40,75,.86)); box-shadow:0 12px 30px rgba(0,113,206,.25),inset 0 0 0 1px rgba(113,212,255,.2); transform:translateY(-2px); }
.client-day-momentum,.metric-insight-momentum { display:flex; align-items:center; gap:12px; margin-top:18px; padding:13px 15px; border:1px solid rgba(103,148,184,.16); border-radius:13px; background:rgba(5,17,31,.55); }
.client-day-momentum strong,.metric-insight-momentum strong { white-space:nowrap; }
.client-day-momentum span,.metric-insight-momentum span { color:#8da5b8; font-size:.87rem; }
.momentum-fast { border-color:rgba(40,218,184,.3); background:rgba(21,139,117,.1); }
.momentum-fast strong { color:#59e3c8; }
.momentum-down { border-color:rgba(251,113,133,.3); background:rgba(167,48,72,.1); }
.momentum-down strong { color:#fb8ca0; }
.momentum-steady strong { color:#79cbf7; }
.metric-insight-overlay { z-index:2900; }
.metric-insight-modal { width:min(920px,94vw); }
.metric-insight-modal h2 { margin:5px 0; }
.metric-insight-chart { height:380px; margin-top:20px; padding:15px; border:1px solid rgba(83,174,240,.14); border-radius:16px; background:rgba(2,12,25,.58); }

/* Dashboard tools replace duplicate floating chat heads. */
.invoice-dashboard-list { max-height:420px; padding:4px 0 0; }
.invoice-dashboard-card .compact-action { width:auto; padding:8px 12px; }
.invoice-dashboard-card .invoice-chat-card { background:linear-gradient(145deg,rgba(7,31,42,.9),rgba(4,17,31,.78)); }
.invoice-dashboard-card .invoice-empty { margin:22px 0; }
.member-finance-status,.finance-live-status { display:grid; gap:5px; margin:15px 0; padding:15px 17px; border:1px solid rgba(91,165,219,.18); border-radius:14px; background:rgba(5,20,35,.62); }
.member-finance-status strong,.finance-live-status strong { color:#eaf8ff; font-size:.94rem; }
.member-finance-status span,.finance-live-status span { color:#89a8bb; font-size:.78rem; line-height:1.5; }
.finance-state-sorting { border-color:rgba(80,173,255,.38); background:linear-gradient(120deg,rgba(20,111,181,.2),rgba(6,25,46,.72)); box-shadow:0 0 28px rgba(31,132,214,.08); }
.finance-state-sorting strong { color:#76c9ff; }
.finance-state-all_paid { border-color:rgba(53,220,177,.42); background:linear-gradient(120deg,rgba(24,151,119,.2),rgba(5,31,35,.76)); box-shadow:0 0 30px rgba(27,195,151,.1); }
.finance-state-all_paid strong { color:#6ff0c8; }
.finance-status-controls { display:grid; gap:9px; margin-bottom:20px; }
.finance-status-controls > div { display:flex; flex-wrap:wrap; gap:10px; }
.finance-status-controls button { width:auto; min-width:210px; }
.btn-finance-paid { padding:12px 18px; border:1px solid rgba(66,230,185,.42); border-radius:10px; background:linear-gradient(135deg,#178d76,#20b999); color:#effffb; font-weight:800; cursor:pointer; box-shadow:0 10px 28px rgba(21,158,129,.2); }

/* Profit Shot account archive: Year > Month > Day. */
.profitshot-account-archive-card { margin-top:18px; }
.profitshot-account-archive-card .panel-meta-header p { margin:6px 0 0; color:#91aabc; }
.profitshot-account-archive { display:grid; gap:12px; margin-top:20px; }
.profitshot-archive-empty { display:grid; gap:5px; padding:34px; border:1px dashed rgba(84,186,255,.22); border-radius:15px; color:#d8f1ff; text-align:center; }
.profitshot-archive-empty span { color:#7f9caf; }
.profitshot-year-folder,.profitshot-month-folder,.profitshot-account-day { border:1px solid rgba(70,166,235,.15); border-radius:14px; background:rgba(4,18,34,.55); overflow:hidden; }
.profitshot-year-folder > summary,.profitshot-month-folder > summary,.profitshot-account-day > summary { list-style:none; cursor:pointer; }
.profitshot-year-folder > summary::-webkit-details-marker,.profitshot-month-folder > summary::-webkit-details-marker,.profitshot-account-day > summary::-webkit-details-marker { display:none; }
.profitshot-year-folder > summary { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; background:linear-gradient(100deg,rgba(20,122,207,.18),rgba(16,65,113,.06)); }
.profitshot-year-folder > summary span { display:grid; gap:3px; }
.profitshot-year-folder > summary b { color:#e8f8ff; font-family:Georgia,'Times New Roman',serif; font-size:1.8rem; }
.profitshot-year-folder > summary small { color:#6f92aa; font-size:.7rem; text-transform:uppercase; letter-spacing:.11em; }
.profitshot-year-folder > summary em { color:#70d3ff; font-size:.78rem; font-style:normal; font-weight:800; }
.profitshot-month-folders { display:grid; gap:10px; padding:12px; }
.profitshot-month-folder > summary { display:flex; justify-content:space-between; padding:14px 16px; color:#ccecff; }
.profitshot-month-folder > summary span { color:#7198b1; font-size:.75rem; }
.profitshot-account-day { margin:0 12px 10px; border-radius:10px; background:rgba(0,0,0,.16); }
.profitshot-account-day > summary { display:flex; align-items:center; justify-content:space-between; padding:11px 13px; color:#a9c6d8; font-size:.82rem; }
.profitshot-account-day > summary b { display:grid; place-items:center; min-width:27px; height:24px; border-radius:8px; background:rgba(37,151,230,.15); color:#7bd5ff; }
.profitshot-account-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:9px; padding:0 12px 12px; }
.profitshot-account-gallery a { position:relative; display:block; aspect-ratio:1.25; border-radius:10px; overflow:hidden; border:1px solid rgba(74,176,242,.16); background:#04101e; }
.profitshot-account-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease,filter .3s ease; }
.profitshot-account-gallery a:hover img { transform:scale(1.06); filter:brightness(1.08); }
.profitshot-open-button { display:inline-flex; width:auto; cursor:pointer; }

@media (max-width:700px) {
  .client-calendar-toolbar { flex-direction:column; }
  .calendar-month-controls { width:100%; justify-content:space-between; }
  .client-calendar-weekdays,.client-metrics-calendar { gap:4px; }
  .client-calendar-day { min-height:54px; padding:7px; }
  .calendar-day-spacer { min-height:54px; }
  .client-day-momentum,.metric-insight-momentum { align-items:flex-start; flex-direction:column; gap:4px; }
  .metric-insight-chart { height:300px; }
  .profitshot-account-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* One composer only: the same Client Chat is reused for client and member roles. */
.unified-client-chat { width:min(390px,calc(100vw - 32px)); height:min(610px,calc(100dvh - 54px)); }
.unified-client-chat .chat-sidebar-header { padding:16px 18px; }
.unified-client-chat .chat-messages-list { padding:16px 13px; }
.unified-client-chat .chat-composer { padding:12px; background:rgba(3,12,25,.86); border-top:1px solid rgba(87,178,240,.13); }
.unified-client-chat .chat-composer .custom-input { min-height:45px; border-radius:14px; }
.unified-client-chat .chat-composer .btn-primary { min-height:43px; border-radius:13px; }

/* Client-authored workflow notices and member floating document dock. */
.client-update-center { background:linear-gradient(145deg,rgba(14,79,137,.18),rgba(5,17,32,.9)) !important; }
.client-update-center textarea { margin-top:18px; resize:vertical; min-height:110px; line-height:1.55; }
.update-center-live { display:inline-flex; align-items:center; gap:7px; color:#58e2cb; font-size:.72rem; font-weight:900; letter-spacing:.14em; }
.update-center-live::before { content:''; width:7px; height:7px; border-radius:50%; background:#38dbc2; box-shadow:0 0 12px #38dbc2; }
.client-update-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:11px; }
.client-update-actions button { width:auto; min-width:145px; }
.btn-urgent-update { padding:11px 15px; border:1px solid rgba(255,96,126,.38); border-radius:10px; background:linear-gradient(135deg,rgba(192,40,75,.9),rgba(123,24,51,.95)); color:#fff; font-weight:800; cursor:pointer; box-shadow:0 10px 24px rgba(168,30,65,.18); }
.btn-urgent-update:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(195,39,77,.28); }
.client-update-history { display:grid; gap:9px; max-height:370px; margin-top:18px; overflow:auto; }
.client-update-history-card { padding:13px 15px; border:1px solid rgba(74,163,226,.16); border-radius:13px; background:rgba(3,17,32,.58); }
.client-update-history-card > div { display:flex; justify-content:space-between; gap:12px; }
.client-update-history-card strong { color:#70cdfb; font-size:.7rem; letter-spacing:.12em; }
.client-update-history-card time,.client-update-history-card small { color:#728ba0; font-size:.72rem; }
.client-update-history-card p { margin:9px 0; color:#d6e7f3; line-height:1.5; }
.client-update-history-card.update-priority-urgent { border-color:rgba(255,93,124,.35); background:rgba(116,22,49,.14); }
.client-update-history-card.update-priority-urgent strong { color:#ff8aa3; }
.client-update-empty { padding:20px; color:#7792a6; text-align:center; }

.member-update-dock {
  position:fixed;
  left:24px;
  bottom:24px;
  z-index:1200;
  width:min(410px,calc(100vw - 32px));
  max-height:min(620px,calc(100dvh - 50px));
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(73,179,245,.27);
  border-radius:19px;
  background:linear-gradient(160deg,rgba(8,25,44,.96),rgba(5,13,27,.97));
  box-shadow:0 28px 80px rgba(0,0,0,.5),0 0 35px rgba(0,125,224,.12);
  backdrop-filter:blur(24px);
  animation:updateDockIn .42s cubic-bezier(.18,.88,.32,1.2);
}
@keyframes updateDockIn { from { opacity:0; transform:translateY(20px) scale(.96); } to { opacity:1; transform:none; } }
.member-update-dock > header { display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:10px; padding:13px 14px; border-bottom:1px solid rgba(86,175,233,.14); background:linear-gradient(100deg,rgba(17,118,190,.18),rgba(10,33,59,.12)); }
.update-doc-icon { display:grid; place-items:center; width:37px; height:37px; border:1px solid rgba(97,201,255,.32); border-radius:10px; background:rgba(27,137,211,.16); color:#79d5ff; font-size:.62rem; font-weight:900; letter-spacing:.08em; }
.member-update-dock header div { display:grid; gap:2px; }
.member-update-dock header strong { color:#edf8ff; font-size:.9rem; }
.member-update-dock header small { color:#7893a7; font-size:.69rem; }
#member-update-count { display:grid; place-items:center; min-width:28px; height:26px; padding:0 7px; border-radius:999px; background:#168ed6; color:#fff; font-size:.72rem; }
#member-update-minimize { width:30px; height:30px; border:1px solid rgba(255,255,255,.1); border-radius:9px; background:rgba(255,255,255,.06); color:#adc5d7; cursor:pointer; }
.member-update-list { display:grid; gap:9px; max-height:520px; padding:11px; overflow:auto; }
.member-update-card { padding:13px; border:1px solid rgba(74,167,228,.17); border-radius:13px; background:rgba(3,15,29,.7); }
.member-update-card > div { display:flex; justify-content:space-between; gap:10px; }
.member-update-card strong { color:#72cffb; font-size:.68rem; letter-spacing:.1em; }
.member-update-card time { color:#6f899d; font-size:.68rem; }
.member-update-card p { margin:9px 0 11px; color:#d9e9f4; font-size:.9rem; line-height:1.48; white-space:pre-wrap; }
.member-update-card button { width:100%; padding:8px; border:1px solid rgba(61,190,160,.25); border-radius:9px; background:rgba(27,138,114,.12); color:#67dfc4; font-weight:800; cursor:pointer; }
.member-update-card button:disabled { border-color:rgba(255,255,255,.06); background:rgba(255,255,255,.03); color:#6d8190; cursor:default; }
.member-update-card.update-priority-urgent { border-color:rgba(255,87,120,.38); background:linear-gradient(145deg,rgba(125,23,51,.24),rgba(39,10,26,.55)); box-shadow:inset 3px 0 #ff557a; }
.member-update-card.update-priority-urgent strong { color:#ff839c; }
.member-update-empty { padding:30px 12px; color:#7690a4; text-align:center; }
.member-update-dock.is-collapsed { max-height:65px; }
.member-update-dock.is-collapsed .member-update-list { display:none; }
.member-update-dock.has-urgent-update { border-color:rgba(255,82,119,.55); animation:urgentDockPulse 1.5s ease-in-out 2; }
@keyframes urgentDockPulse { 50% { box-shadow:0 28px 80px rgba(0,0,0,.5),0 0 45px rgba(255,62,105,.34); transform:translateY(-4px); } }

@media (max-width:850px) {
  .member-update-dock { left:16px; bottom:86px; max-height:45dvh; }
  .unified-client-chat { right:16px; bottom:16px; }
  .client-update-actions { flex-direction:column; }
  .client-update-actions button { width:100%; }
}

/* TWF Operations Platform */
.mt-20{margin-top:20px}.header-actions{display:flex;align-items:center;gap:10px}.header-password-button{padding:9px 12px;border:1px solid rgba(80,183,248,.18);border-radius:10px;background:rgba(21,102,164,.1);color:#91d7fb;cursor:pointer}.notification-bell{position:relative;width:42px;height:42px;border:1px solid rgba(80,183,248,.22);border-radius:12px;background:rgba(21,102,164,.14);color:#dff5ff;cursor:pointer}.notification-bell b{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#ef476f;color:#fff;font-size:.65rem}.password-manager-card{max-width:520px}.password-manager-card .custom-input{margin:8px 0}.ops-member-toolkit,.executive-command-center,.ops-manager-hero,.finance-hero,.results-curator-dashboard{background:linear-gradient(145deg,rgba(10,78,137,.2),rgba(4,15,29,.94))!important}.shift-status-badge{padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#8198aa;font-size:.68rem;font-weight:900;letter-spacing:.09em}.shift-status-badge.is-active{border-color:rgba(48,220,186,.3);background:rgba(22,160,132,.12);color:#5ee2c7}.attendance-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.attendance-actions button,.report-buttons button{padding:9px;border:1px solid rgba(66,173,244,.2);border-radius:9px;background:rgba(20,103,169,.12);color:#9fdcff;font-weight:700;cursor:pointer}.attendance-actions .clock-out{border-color:rgba(255,93,124,.23);color:#ff9aaf}.ops-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:9px}.ops-mini-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.ops-mini-summary>div,.results-curator-metrics>div{padding:12px;border:1px solid rgba(71,170,235,.15);border-radius:11px;background:rgba(1,13,27,.45)}.ops-mini-summary strong,.ops-mini-summary span,.results-curator-metrics strong,.results-curator-metrics span{display:block}.ops-mini-summary strong,.results-curator-metrics strong{color:#74d4ff;font-size:1.55rem}.ops-mini-summary span,.results-curator-metrics span{margin-top:4px;color:#7790a4;font-size:.68rem;text-transform:uppercase}.knowledge-results{display:grid;gap:8px;max-height:340px;margin-top:12px;overflow:auto}.knowledge-item{border:1px solid rgba(72,164,225,.15);border-radius:11px;background:rgba(3,16,31,.55)}.knowledge-item summary{padding:12px;cursor:pointer}.knowledge-item summary span,.knowledge-item summary strong,.knowledge-item summary small{display:block}.knowledge-item summary small{margin-top:3px;color:#718ca0;font-size:.7rem}.knowledge-item p{margin:0;padding:0 12px 14px;color:#b9cedc;line-height:1.6}.executive-command-center h2,.ops-manager-hero h1,.finance-hero h1,.results-curator-dashboard h2{margin:5px 0}.ops-period-switch{display:flex;gap:6px}.ops-period-switch button{padding:7px 11px;border:1px solid rgba(78,178,239,.2);border-radius:9px;background:rgba(17,101,162,.12);color:#9fdcff;cursor:pointer}.executive-ops-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin:20px 0}.ops-metric-card{position:relative;min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:15px;border:1px solid rgba(68,166,232,.16);border-radius:14px;background:rgba(3,16,30,.55);overflow:hidden;text-align:center}.ops-metric-card:before{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,#39bdfb,transparent)}.ops-metric-card strong{color:#eaf8ff;font-family:Georgia,'Times New Roman',serif;font-size:2.15rem}.ops-metric-card span{color:#7894a9;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ops-dashboard-split{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-top:18px}.ops-dashboard-split>div{min-width:0;padding:16px;border:1px solid rgba(69,159,222,.12);border-radius:14px;background:rgba(1,11,24,.42)}.ops-chart-shell{height:340px}.live-staff-list,.ops-ledger,.ops-client-list,.finance-invoice-list{display:grid;gap:8px;max-height:410px;overflow:auto}.live-staff-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(255,255,255,.025)}.staff-presence{width:9px;height:9px;border-radius:50%;background:#45586a}.staff-presence.online{background:#2ce1bf;box-shadow:0 0 10px #2ce1bf}.live-staff-row strong,.live-staff-row small{display:block}.live-staff-row small{color:#72899b;font-size:.68rem}.live-staff-row b{color:#7195ac;font-size:.62rem}.ops-ledger-row,.ops-user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(2,14,27,.55)}.ops-ledger-row div,.ops-user-row div{min-width:0}.ops-ledger-row strong,.ops-ledger-row span,.ops-user-row strong,.ops-user-row span{display:block;overflow:hidden;text-overflow:ellipsis}.ops-ledger-row span,.ops-user-row span{margin-top:3px;color:#7c94a7;font-size:.72rem}.ops-ledger-row time,.ops-user-row b{color:#68bfe9;font-size:.68rem;white-space:nowrap}.ops-client-record{border:1px solid rgba(73,165,225,.13);border-radius:11px;background:rgba(2,14,28,.5)}.ops-client-record summary{display:flex;justify-content:space-between;gap:10px;padding:11px;cursor:pointer}.ops-client-record summary strong,.ops-client-record summary small{display:block}.ops-client-record summary small{color:#718b9e;font-size:.68rem}.ops-client-record summary b{color:#67c9f6;font-size:.68rem}.ops-client-record-body{padding:0 12px 12px;color:#9cb1c1;font-size:.75rem}.operations-manager-grid,.finance-grid{margin-top:18px}.admin-user-creator{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0;padding:13px;border:1px solid rgba(70,170,235,.15);border-radius:12px;background:rgba(3,15,28,.45)}.report-buttons{display:flex;flex-wrap:wrap;gap:7px}.ops-report-output{min-height:150px;margin:14px 0 0;padding:15px;border:1px solid rgba(68,163,226,.12);border-radius:12px;background:rgba(0,9,20,.6);color:#a8c4d7;font-family:Inter,sans-serif;font-size:.78rem;line-height:1.7;white-space:pre-wrap}.results-curator-dashboard{margin-top:18px}.results-curator-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:18px 0}.results-entry-form{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:8px;margin-bottom:14px}.results-entry-form button{width:auto}.finance-invoice-card{display:grid;grid-template-columns:1fr auto 160px auto;align-items:center;gap:10px;padding:13px;border:1px solid rgba(71,175,231,.14);border-radius:12px;background:rgba(2,16,29,.58)}.finance-invoice-card div strong,.finance-invoice-card div span{display:block}.finance-invoice-card div span{color:#7891a4;font-size:.72rem}.finance-invoice-card>b{color:#6ed8bf;font-size:.68rem;text-transform:uppercase}.finance-invoice-card button{width:auto}.finance-help-row{display:flex;justify-content:space-between;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.06);border-radius:10px}.finance-help-row strong,.finance-help-row span{display:block}.finance-help-row span{color:#7891a4;font-size:.72rem}.finance-help-row button{border:1px solid rgba(61,188,158,.2);border-radius:8px;background:rgba(21,130,106,.12);color:#67dfc3;cursor:pointer}.ops-muted,.ops-empty{color:#748da1}.notification-center{position:fixed;top:74px;right:22px;z-index:3200;width:min(410px,calc(100vw - 32px));max-height:calc(100dvh - 95px);flex-direction:column;overflow:hidden;border:1px solid rgba(72,173,239,.24);border-radius:18px;background:rgba(4,15,29,.97);box-shadow:0 25px 80px rgba(0,0,0,.55);backdrop-filter:blur(24px)}.notification-center>header{display:flex;align-items:center;justify-content:space-between;padding:15px;border-bottom:1px solid rgba(255,255,255,.07)}.notification-center h3{margin:3px 0}.notification-center header button{width:32px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.05);color:#d4e8f5;cursor:pointer}.notification-list{display:grid;gap:8px;padding:11px;overflow:auto}.notification-item{padding:12px;border:1px solid rgba(73,166,228,.14);border-radius:11px;background:rgba(8,30,50,.48);cursor:pointer}.notification-item.is-read{opacity:.55}.notification-item.priority-urgent{border-color:rgba(255,85,119,.35);box-shadow:inset 3px 0 #ff5578}.notification-item strong,.notification-item span{display:block}.notification-item span{color:#708b9e;font-size:.68rem}.notification-item p{margin:8px 0 0;color:#b7cddd;font-size:.82rem}.finance-help-card input,.finance-help-card textarea,.ops-manager-hero+div .custom-input{margin-top:8px}
@media(max-width:900px){.ops-form-grid{grid-template-columns:1fr 1fr}.ops-dashboard-split{grid-template-columns:1fr}.attendance-actions{grid-template-columns:1fr 1fr}.results-curator-metrics{grid-template-columns:repeat(3,1fr)}.results-entry-form,.finance-invoice-card{grid-template-columns:1fr}.admin-user-creator{grid-template-columns:1fr}.finance-invoice-card button{width:100%}}
@media(max-width:560px){.ops-form-grid,.ops-mini-summary{grid-template-columns:1fr}.results-curator-metrics{grid-template-columns:1fr 1fr}.executive-ops-metrics{grid-template-columns:1fr 1fr}.ops-period-switch{flex-wrap:wrap}}

/* Automatic chat logger and Bradley's three organized inboxes */
.automatic-command-guide{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:16px 0;padding:14px;border:1px solid rgba(69,170,236,.17);border-radius:13px;background:rgba(2,16,31,.52)}.automatic-command-guide code{padding:8px 10px;border:1px solid rgba(61,169,239,.16);border-radius:8px;background:rgba(18,103,168,.12);color:#93dcff;font-family:Inter,sans-serif}.automatic-command-guide span{align-self:center;color:#7e9aaf;font-size:.72rem;font-weight:700}.automatic-command-note{margin:0 0 15px;color:#8fa8ba;font-size:.78rem;line-height:1.55}.automatic-command-note strong{color:#68d2ff}.client-inbox-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:9px;border-bottom:1px solid rgba(66,164,226,.14);background:rgba(2,14,28,.72)}.client-inbox-tabs button{position:relative;min-width:0;min-height:51px;padding:7px 6px;border:1px solid transparent;border-radius:10px;background:transparent;color:#708da3;font-size:.65rem;font-weight:800;line-height:1.3;cursor:pointer;transition:.2s ease}.client-inbox-tabs button:hover{background:rgba(30,123,190,.1);color:#a7dfff}.client-inbox-tabs button.is-active{border-color:rgba(72,187,250,.28);background:linear-gradient(145deg,rgba(26,129,200,.22),rgba(11,67,111,.16));color:#e3f6ff;box-shadow:inset 0 -2px #42c5ff}.client-inbox-tabs button b{position:absolute;top:4px;right:4px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:rgba(47,156,220,.18);color:#78d6ff;font-size:.58rem}.client-inbox-tabs button.is-active b{background:#168fd4;color:#fff}.client-inbox-empty{display:grid;place-items:center;min-height:260px;padding:30px;color:#718da2;font-size:.82rem;text-align:center}.client-inbox-result-image{display:block;width:100%;max-width:250px;max-height:220px;margin-top:8px;border:1px solid rgba(77,183,243,.18);border-radius:10px;object-fit:cover}.client-inbox-bubble{max-width:285px}@media(max-width:520px){.client-inbox-tabs{grid-template-columns:1fr}.client-inbox-tabs button{min-height:38px}.automatic-command-guide{grid-template-columns:1fr}}

/* Role cleanup: client-only Bradley dashboard, verifier split inbox, Profit Shot inbox. */
#clientWorkspaceSection {
  max-width: 1180px;
  margin-inline: auto;
  gap: 14px !important;
}
#clientWorkspaceSection .client-header-area,
#clientWorkspaceSection .glass-card,
#clientWorkspaceSection .management-performance-card,
#clientWorkspaceSection .client-workflow-update-card {
  margin-bottom: 14px !important;
}
#clientWorkspaceSection .management-performance-card {
  padding: clamp(14px, 2vw, 20px) !important;
}
#clientWorkspaceSection .management-performance-layout {
  display: grid;
  grid-template-columns: minmax(260px, .85fr) minmax(340px, 1.15fr);
  gap: 14px !important;
  align-items: start;
}
#clientWorkspaceSection .modern-metrics-grid,
#clientWorkspaceSection .compact-management-metrics,
#clientWorkspaceSection .executive-ops-metrics,
#clientWorkspaceSection .client-operations-grid {
  gap: 10px !important;
}
#clientWorkspaceSection .metric-tile-holo,
#clientWorkspaceSection .ops-metric-card {
  min-height: 96px;
  padding: 14px 10px;
}
#clientWorkspaceSection .metric-tile-holo .tile-value,
#clientWorkspaceSection .ops-metric-card strong {
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  line-height: 1;
}
#clientWorkspaceSection .metric-tile-holo .tile-label,
#clientWorkspaceSection .ops-metric-card span {
  line-height: 1.25;
}
#clientWorkspaceSection .client-operations-grid,
#clientWorkspaceSection .operations-manager-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(285px, 1fr));
  align-items: start;
}
#client-inbox-tabs { grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)) !important; }
.support-inbox-tabs { grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)) !important; }
.support-inbox-tabs button[data-support-inbox="verification"].is-active {
  border-color: rgba(111, 227, 195, .35);
  box-shadow: inset 0 -2px #6fe3c3, 0 0 18px rgba(111, 227, 195, .1);
}
.profitshot-inbox-panel {
  left: 24px;
  right: auto;
  width: min(390px, calc(100vw - 32px));
  height: min(620px, calc(100dvh - 54px));
  z-index: 1190;
}
.profitshot-inbox-panel .chat-sidebar-body {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
}
.profitshot-folder-panel {
  max-height: 190px;
  padding: 12px;
  overflow: auto;
  border-bottom: 1px solid rgba(86, 175, 233, .14);
  background: rgba(2, 14, 28, .56);
}
.profitshot-folder-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.profitshot-folder-title strong,
.profitshot-folder-title small { display: block; }
.profitshot-folder-title strong { color: #eaf8ff; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.profitshot-folder-title small { color: #7893a7; font-size: .68rem; }
.profitshot-folder-list { display: grid; gap: 8px; }
.profitshot-folder-card,
.profitshot-folder-list details {
  border: 1px solid rgba(76, 176, 239, .14);
  border-radius: 12px;
  background: rgba(3, 16, 31, .6);
  overflow: hidden;
}
.profitshot-folder-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  cursor: pointer;
  color: #dff5ff;
  font-size: .78rem;
}
.profitshot-folder-list summary span { color: #75d5ff; font-size: .68rem; font-weight: 900; }
.profitshot-folder-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 0 10px 10px;
}
.profitshot-folder-gallery img,
.profitshot-account-gallery img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, .08);
}
.profitshot-chat-wrap { min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; }
body.has-profitshot-sidebar.has-chat-sidebar .profitshot-inbox-panel { left: 24px; right: auto; }
@media (max-width: 980px) {
  #clientWorkspaceSection .management-performance-layout { grid-template-columns: 1fr; }
  #client-inbox-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .profitshot-inbox-panel { left: 16px; bottom: 82px; height: min(520px, calc(100dvh - 110px)); }
}
@media (max-width: 560px) {
  #client-inbox-tabs,
  .support-inbox-tabs { grid-template-columns: 1fr !important; }
  #clientWorkspaceSection { gap: 10px !important; }
  .profitshot-inbox-panel { left: 12px; width: calc(100vw - 24px); }
}


.member-approved-client-card { margin-top: 18px; }
.member-approved-client-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:14px 0 16px; }
.member-approved-client-stats > div { padding:14px 12px; border-radius:14px; background:rgba(7,22,38,.72); border:1px solid rgba(85,193,255,.16); display:grid; gap:6px; }
.member-approved-client-stats span { color:#88a9bf; font-size:.78rem; line-height:1.2; }
.member-approved-client-stats strong { color:#eaf8ff; font-size:1.45rem; }
@media (max-width: 900px) { .member-approved-client-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .member-approved-client-stats { grid-template-columns:1fr; } }



/* Client chat collapsed-card polish */
.unified-client-chat .chat-sidebar-header {
  position: relative;
  padding: 16px 18px;
  min-height: 62px;
}
.unified-client-chat .chat-sidebar-header #member-sidebar-title {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  flex: 1 1 auto;
}
.unified-client-chat .chat-minimize-btn {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  margin-left: 14px;
  font-size: 1.45rem;
}
.unified-client-chat.chat-sidebar--minimized {
  height: auto !important;
  min-height: 0 !important;
}
.unified-client-chat.chat-sidebar--minimized .chat-sidebar-header {
  border-bottom: 0;
}


/* Restored collapsed Client Chat card look */
.unified-client-chat.chat-sidebar--minimized {
  width: min(360px, calc(100vw - 32px));
  height: auto !important;
  min-height: 0 !important;
  border-radius: 22px;
  overflow: hidden;
}
.unified-client-chat.chat-sidebar--minimized .chat-sidebar-header {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
}
.unified-client-chat.chat-sidebar--minimized #member-sidebar-title {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  font-size: 1rem;
  font-weight: 800;
}
.unified-client-chat.chat-sidebar--minimized .chat-minimize-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  font-size: 1.5rem;
  margin-left: 16px;
}
.unified-client-chat.chat-sidebar--minimized .chat-sidebar-body { display: none; }
.unified-client-chat:not(.chat-sidebar--minimized) .chat-sidebar-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.unified-client-chat:not(.chat-sidebar--minimized) #member-sidebar-title {
  display:inline-flex;
  align-items:center;
  min-height:32px;
}
@media (max-width: 600px) {
  .unified-client-chat.chat-sidebar--minimized {
    width: calc(100vw - 24px);
    right: 12px;
    bottom: 12px;
  }
}


/* Support workflow inbox tabs */
.support-inbox-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.support-inbox-tabs button { min-width: 0; padding-inline: 8px; }

/* VA-only HADI Support destination. Management keeps its separate HADI Vantage tab. */
.support-inbox-tabs .hadi-support-tab {
  min-height: 58px;
  border: 1px solid rgba(38, 205, 255, .86);
  border-radius: 13px;
  background:
    radial-gradient(circle at 18% 20%, rgba(0, 199, 255, .16), transparent 36%),
    repeating-linear-gradient(0deg, rgba(54, 205, 255, .025) 0 1px, transparent 1px 5px),
    #071522;
  color: #e6faff;
  box-shadow: inset 0 0 18px rgba(0, 174, 255, .08), 0 0 14px rgba(0, 187, 255, .16);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  white-space: nowrap;
}
.support-inbox-tabs .hadi-support-tab:hover,
.support-inbox-tabs .hadi-support-tab.is-active {
  border-color: #43d8ff;
  color: #fff;
  background:
    radial-gradient(circle at 18% 20%, rgba(0, 199, 255, .26), transparent 40%),
    repeating-linear-gradient(90deg, rgba(54, 205, 255, .035) 0 1px, transparent 1px 6px),
    #092033;
  box-shadow: inset 0 0 22px rgba(0, 200, 255, .12), 0 0 20px rgba(0, 196, 255, .3);
}
.support-inbox-tabs .hadi-support-tab b {
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #09bdf2;
  color: #02111b;
  display: inline-grid;
  place-items: center;
  padding: 0 6px;
}

.hadi-assignment-control {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(45, 203, 255, .35);
  border-radius: 10px;
  background: rgba(3, 19, 31, .78);
  display: grid;
  gap: 8px;
}
.hadi-assignment-control strong { color: #79e5ff; }
.hadi-assignment-control select,
.hadi-assignment-control button {
  min-height: 38px;
  border-radius: 8px;
}
@media (max-width: 640px) {
  .support-inbox-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* TWF Results KPI */
.twf-results-metric-tile { border-color: rgba(121, 102, 255, .46); background: linear-gradient(155deg, rgba(66, 48, 153, .20), rgba(5, 18, 32, .86)); }
.twf-results-metric-tile::before { background: linear-gradient(90deg, #7d75ff, #27d6ff); }
.twf-results-metric-tile .tile-value { color: #9fe8ff; text-shadow: 0 0 18px rgba(90, 169, 255, .30); }
.verified-client-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.verified-client-row > div { display:grid; gap:4px; }
.verified-client-row span, .verified-client-row small { color:#8ca7bb; }

/* ===== Final polish: centered chat card, readable KPI order, live staff, and profile sync ===== */
.unified-client-chat.chat-sidebar--minimized {
  width: min(370px, calc(100vw - 32px));
  height: 68px !important;
  min-height: 68px !important;
  border-radius: 22px;
}
.unified-client-chat.chat-sidebar--minimized .chat-sidebar-header {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: center !important;
  min-height: 68px !important;
  height: 68px !important;
  padding: 12px 16px 12px 20px !important;
  line-height: 1 !important;
}
.unified-client-chat.chat-sidebar--minimized #member-sidebar-title,
.unified-client-chat .chat-sidebar-header #member-sidebar-title {
  align-self: center;
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  height: 44px;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  transform: none !important;
}
.unified-client-chat .chat-sidebar-header #member-sidebar-title::before {
  display: block;
  flex: 0 0 8px;
  margin: 0 10px 0 0;
  vertical-align: middle;
}
.unified-client-chat.chat-sidebar--minimized .chat-minimize-btn {
  align-self: center;
  justify-self: end;
  width: 44px;
  height: 44px;
  margin: 0 !important;
  padding: 0;
  line-height: 1;
}

/* KPI numbers always sit above their labels. */
.workflow-metrics-grid > div {
  display: flex;
  min-height: 116px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
}
.workflow-metrics-grid > div > strong {
  order: 1;
  margin: 0 !important;
  font-size: clamp(2rem, 4vw, 2.6rem);
  line-height: 1;
}
.workflow-metrics-grid > div > span {
  order: 2;
  line-height: 1.35;
}
.workflow-metrics-grid .workflow-total > strong { font-size: clamp(2.35rem, 5vw, 3rem); }

.modern-metrics-grid .metric-tile-holo,
.admin-performance-metrics > article {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}
.modern-metrics-grid .metric-tile-holo .tile-value,
.admin-performance-metrics > article > strong { order: 1; margin: 0; line-height: 1; }
.modern-metrics-grid .metric-tile-holo .tile-label,
.admin-performance-metrics > article > span { order: 2; margin: 0; line-height: 1.35; }
.platform-metric-tile .tile-value {
  max-width: 100%;
  font-family: inherit !important;
  font-size: clamp(1rem, 1.8vw, 1.35rem) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: .02em !important;
  overflow-wrap: anywhere;
}
.platform-metric-tile .tile-label { font-size: .68rem !important; }

/* Jammy: Active Staff opens a real-time presence panel. */
.ops-metric-card--interactive {
  cursor: pointer;
  border-color: rgba(57, 205, 255, .42) !important;
  box-shadow: inset 0 0 0 1px rgba(57, 205, 255, .08), 0 14px 35px rgba(0, 93, 160, .15);
}
.ops-metric-card--interactive::after {
  content: 'VIEW ONLINE';
  margin-top: 8px;
  color: #70d5ff;
  font-size: .6rem;
  font-weight: 900;
  letter-spacing: .13em;
}
.ops-metric-card--interactive:hover,
.ops-metric-card--interactive:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(86, 219, 255, .75) !important;
  outline: none;
}
.manager-online-staff-modal {
  width: min(680px, calc(100vw - 32px));
  max-height: min(760px, calc(100dvh - 36px));
  overflow: hidden;
}
.manager-online-staff-list {
  display: grid;
  gap: 12px;
  max-height: 560px;
  padding: 4px;
  overflow: auto;
}
.manager-online-staff-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 13px 15px;
  border: 1px solid rgba(73, 173, 232, .18);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(7, 31, 51, .86), rgba(8, 15, 28, .92));
}
.manager-online-staff-row img {
  width: 54px;
  height: 54px;
  border: 2px solid rgba(73, 190, 255, .55);
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 4px rgba(39, 172, 238, .08);
}
.manager-online-staff-row > div { display: grid; gap: 4px; min-width: 0; }
.manager-online-staff-row > div strong { color: #effaff; font-size: 1rem; }
.manager-online-staff-row > div span { color: #829eb2; font-size: .78rem; }
.manager-online-staff-row > b {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #65dfbd;
  font-size: .68rem;
  letter-spacing: .09em;
}
.manager-online-staff-row > b i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #2cf0bb;
  box-shadow: 0 0 12px rgba(44, 240, 187, .85);
}
.manager-online-staff-row.is-on-shift { border-color: rgba(44, 240, 187, .30); }
.manager-online-empty {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 180px;
  padding: 24px;
  border: 1px dashed rgba(82, 178, 235, .24);
  border-radius: 15px;
  color: #7e99ad;
  text-align: center;
}
.manager-online-empty strong { color: #e9f8ff; }

/* Profile images in Jammy user management. */
.ops-user-row--with-avatar {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  align-items: center;
  gap: 12px;
}
.ops-user-avatar {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(72, 181, 243, .35);
  border-radius: 50%;
  object-fit: cover;
}

/* Live monthly links only; no redundant team-movement card. */
.monthly-links-live-card {
  display: grid;
  gap: 6px;
  padding: 17px 18px !important;
  border-color: rgba(43, 218, 184, .28) !important;
  background: linear-gradient(135deg, rgba(20, 119, 111, .17), rgba(5, 20, 35, .78)) !important;
}
.monthly-links-live-card > span { color: #63d9c0 !important; }
.monthly-links-live-card > strong { color: #efffff; font-size: 1.35rem; }
.monthly-links-live-card > small { color: #91adbd; }
.monthly-group-count { display: flex; align-items: center; gap: 8px; }
.monthly-group-count em {
  color: #f3d37e;
  font-size: .58rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .1em;
}
.monthly-group-row--top {
  border-color: rgba(237, 198, 100, .35) !important;
  background: linear-gradient(110deg, rgba(176, 129, 34, .13), rgba(5, 22, 36, .75)) !important;
}

.christian-password-manager { display: grid; gap: 10px; }
.christian-password-manager .modal-header-controls { margin-bottom: 6px; }
.header-password-button { align-items: center; justify-content: center; }

@media (max-width: 600px) {
  .unified-client-chat.chat-sidebar--minimized {
    width: calc(100vw - 24px);
    height: 66px !important;
    min-height: 66px !important;
  }
  .unified-client-chat.chat-sidebar--minimized .chat-sidebar-header { height: 66px !important; min-height: 66px !important; }
  .manager-online-staff-row { grid-template-columns: 48px minmax(0, 1fr); }
  .manager-online-staff-row img { width: 46px; height: 46px; }
  .manager-online-staff-row > b { grid-column: 2; }
}


.verification-attach-btn {
  width: 44px;
  min-width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border-radius: 13px;
  font-size: 1.05rem;
}
.verification-chat-image {
  display: block;
  width: min(100%, 320px);
  max-height: 280px;
  margin-top: 10px;
  border-radius: 12px;
  object-fit: contain;
  background: rgba(2, 10, 20, .8);
  border: 1px solid rgba(68, 190, 255, .30);
}
.verification-image-loading {
  min-height: 110px;
  opacity: .72;
  background:
    linear-gradient(100deg, rgba(238,242,244,.72) 20%, rgba(255,255,255,.96) 40%, rgba(238,242,244,.72) 60%);
  background-size: 220% 100%;
  animation: twf-verification-image-loading 1.15s linear infinite;
}
@keyframes twf-verification-image-loading {
  from { background-position: 100% 0; }
  to { background-position: -120% 0; }
}
.verification-image-unavailable {
  min-height: 90px;
  padding: 14px;
  color: #9db4c5;
  border-style: dashed;
}


/* In-app screenshot viewer + daily archive controls */
.chat-daily-archive-toolbar {
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-bottom:1px solid rgba(86,187,255,.13);
  background:rgba(4,14,28,.76);
}
.chat-daily-archive-toolbar .custom-input { min-width:0; height:38px; padding:7px 9px; font-size:.78rem; }
.chat-daily-archive-toolbar .btn-primary { min-height:38px; width:auto; white-space:nowrap; padding:8px 11px; font-size:.75rem; }
.chat-image-previewable { cursor:zoom-in; outline:none; }
.chat-image-previewable:focus-visible { box-shadow:0 0 0 3px rgba(76,199,255,.35); }
.chat-image-preview-link { display:block; text-decoration:none; }
.verification-image-viewer-overlay {
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(0,6,14,.88);
  backdrop-filter:blur(14px);
  align-items:center;
  justify-content:center;
  padding:22px;
}
.verification-image-viewer-card {
  position:relative;
  width:min(1080px, 96vw);
  height:min(820px, 92dvh);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:10px;
  padding:14px;
  border-radius:22px;
  border:1px solid rgba(83,195,255,.24);
  background:linear-gradient(155deg, rgba(9,28,48,.98), rgba(3,12,24,.99));
  box-shadow:0 30px 100px rgba(0,0,0,.58), 0 0 40px rgba(29,169,255,.12);
}
.verification-image-viewer-close { justify-self:end; width:auto; }
.verification-image-viewer-stage {
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:auto;
  border-radius:16px;
  background:rgba(0,0,0,.32);
}
.verification-image-viewer-stage img {
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
}
#verification-image-viewer-caption { margin:0; text-align:center; color:#9ab9cc; font-size:.82rem; }
body.image-viewer-open { overflow:hidden; }
@media(max-width:600px){
  .chat-daily-archive-toolbar { flex-wrap:wrap; }
  .chat-daily-archive-toolbar .custom-input, .chat-daily-archive-toolbar .btn-primary { flex:1 1 150px; }
  .verification-image-viewer-overlay { padding:8px; }
  .verification-image-viewer-card { width:100%; height:96dvh; border-radius:16px; }
}


/* Daily IB archive */
.ib-daily-archive-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:12px; }
.ib-daily-archive-actions .custom-input { flex:1 1 180px; min-width:0; }
.ib-daily-archive-actions .btn-primary { flex:0 0 auto; }
@media (max-width:600px) { .ib-daily-archive-actions { display:grid; grid-template-columns:1fr; } .ib-daily-archive-actions .btn-primary { width:100%; } }


/* Verification conversation threading + Ctrl+V reply workflow */
.verification-thread-composer { position:relative; flex-wrap:wrap; }
.verification-thread-composer > .verification-reply-context { flex:0 0 100%; }
.verification-reply-context {
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  margin:0 0 2px;
  border-radius:12px;
  border:1px solid rgba(65,190,255,.22);
  border-left:3px solid #49c8ff;
  background:rgba(5,25,43,.92);
}
.verification-reply-context > div { min-width:0; display:grid; grid-template-columns:auto 1fr; gap:2px 7px; align-items:center; }
.verification-reply-context span { color:#86a8bd; font-size:.64rem; text-transform:uppercase; letter-spacing:.08em; }
.verification-reply-context strong { color:#dff7ff; font-size:.78rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.verification-reply-context small { grid-column:1 / -1; color:#91a9ba; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:320px; }
.verification-reply-context button { width:30px; height:30px; border:0; border-radius:9px; background:rgba(255,255,255,.07); color:#c9d9e4; cursor:pointer; }
.verification-replyable { cursor:pointer; transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.verification-replyable:hover { border-color:rgba(72,199,255,.36); box-shadow:0 0 0 1px rgba(72,199,255,.12),0 8px 24px rgba(0,118,190,.12); }
.verification-replyable:focus-visible { outline:2px solid rgba(72,199,255,.55); outline-offset:2px; }
.verification-reply-selected { border-color:rgba(63,215,255,.72)!important; box-shadow:0 0 0 2px rgba(63,215,255,.18),0 12px 28px rgba(0,126,206,.22)!important; }
.verification-quoted-reply { display:grid; gap:2px; margin:6px 0 8px; padding:7px 9px; border-left:3px solid rgba(91,205,255,.65); border-radius:8px; background:rgba(0,0,0,.20); max-width:100%; }
.verification-quoted-reply strong { color:#80d9ff!important; font-size:.68rem!important; }
.verification-quoted-reply span { color:#9fb5c5; font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.verification-quoted-reply-jump { cursor:pointer; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.verification-quoted-reply-jump:hover { border-left-color:#79e2ff; background:rgba(23,89,123,.28); transform:translateX(2px); }
.verification-quoted-reply-jump:focus-visible { outline:2px solid rgba(92,211,255,.6); outline-offset:2px; }
.chat-message-jump-highlight { animation:chatMessageJumpHighlight 2.2s ease both; }
@keyframes chatMessageJumpHighlight { 0%,100% { box-shadow:inherit; } 18%,72% { box-shadow:0 0 0 3px rgba(62,213,255,.72),0 0 28px rgba(42,186,255,.35); } }
.verification-directed-to { display:block; color:#72d7ff; font-size:.67rem; margin-bottom:4px; }
.verification-inbox-search { display:flex; align-items:center; gap:7px; margin:8px 10px 4px; padding:6px 8px; border:1px solid rgba(69,186,245,.22); border-radius:12px; background:rgba(4,27,45,.78); }
.verification-inbox-search span { color:#63d2ff; font-size:1.1rem; }
.verification-inbox-search input { flex:1; min-width:0; height:34px; border:0!important; background:transparent!important; box-shadow:none!important; }
.verification-inbox-search button { width:30px; height:30px; border:0; border-radius:8px; background:rgba(255,255,255,.07); color:#a9c2d1; cursor:pointer; }
.sv-verify-reactions { display:flex; align-items:center; gap:7px; width:100%; margin-top:9px; }
.sv-verify-reaction { min-width:38px; padding:5px 8px; border:1px solid rgba(98,190,240,.2); border-radius:999px; background:rgba(8,43,67,.42); color:#c8deea; font:800 .72rem/1 system-ui,sans-serif; text-align:center; }
button.sv-verify-reaction { cursor:pointer; transition:background .16s ease,border-color .16s ease,transform .16s ease; }
button.sv-verify-reaction:hover { transform:translateY(-1px); border-color:rgba(86,213,255,.48); background:rgba(14,81,119,.5); }
.sv-verify-reaction--check.is-selected { border-color:rgba(73,225,186,.58); background:rgba(18,126,97,.3); box-shadow:0 0 0 1px rgba(73,225,186,.13); }
.sv-verify-reaction--x.is-selected { border-color:rgba(255,105,137,.62); background:rgba(158,31,69,.3); box-shadow:0 0 0 1px rgba(255,105,137,.13); }
.sv-verify-reaction:disabled { opacity:.55; cursor:wait; }
.verification-decision-stamp { display:inline-flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:36px; margin-left:auto; border:2px dashed rgba(184,211,226,.34); border-radius:8px; background:rgba(4,25,40,.28); color:transparent; font:950 1.3rem/1 system-ui,sans-serif; box-shadow:inset 0 0 0 1px rgba(255,255,255,.035); }
.verification-decision-stamp--check { border-style:solid; border-color:rgba(77,235,184,.82); background:rgba(10,123,88,.46); color:#a1f7d5; box-shadow:0 0 15px rgba(48,221,166,.24),inset 0 0 0 1px rgba(255,255,255,.08); }
.verification-decision-stamp--x { border-style:solid; border-color:rgba(255,95,132,.82); background:rgba(151,26,62,.48); color:#ffb0c3; box-shadow:0 0 15px rgba(255,65,111,.22),inset 0 0 0 1px rgba(255,255,255,.08); }
@media (max-width:600px) {
  .verification-reply-context small { max-width:220px; }
  .verification-decision-stamp { flex-basis:32px; width:32px; height:32px; }
}


/* HADI Vantage pending-assistance queue */
.hadi-assist-action { margin-top:10px; padding-top:10px; border-top:1px solid rgba(77,199,255,.14); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.hadi-assist-action span { color:#8ba9bd; font-size:.72rem; }
.hadi-assisted-btn { border:1px solid rgba(53,223,181,.34); background:rgba(17,121,96,.18); color:#8ff1d3; border-radius:10px; padding:8px 10px; font-weight:800; cursor:pointer; white-space:nowrap; }
.hadi-assisted-btn:hover { background:rgba(17,154,119,.28); border-color:rgba(89,241,202,.52); }
.hadi-assisted-btn:disabled { opacity:.55; cursor:wait; }
@media (max-width:520px) { .hadi-assist-action { align-items:stretch; flex-direction:column; } .hadi-assisted-btn { width:100%; } }

.ops-manager-overview-shell{margin-top:14px;padding-top:20px;border-top:1px solid rgba(89,183,240,.12)}
.admin-wide-card{margin-top:18px}
.admin-wide-card .qa-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.admin-wide-card .qa-review-grid>div{min-width:0}
.admin-wide-card .qa-review-list{min-height:180px}
@media (max-width: 980px){.admin-wide-card .qa-review-grid{grid-template-columns:1fr}}


/* === Finance + support layout polish === */
#memberWorkspaceSection.member-flow-layout {
  column-count: 2;
  column-gap: 20px;
}
#memberWorkspaceSection.member-flow-layout > .workspace-col { display: contents; }
#memberWorkspaceSection.member-flow-layout > .workspace-col > .glass-card,
#memberWorkspaceSection.member-flow-layout > .workspace-col > button {
  display: inline-block;
  width: 100%;
  break-inside: avoid;
  margin: 0 0 20px;
  vertical-align: top;
}
#memberWorkspaceSection.member-flow-layout .invoice-dashboard-card { min-height: 0; }
.invoice-dashboard-card .panel-meta-header p { max-width: 620px; margin: 5px 0 0; color: #8da7ba; line-height: 1.45; }
.invoice-items-heading { align-items: flex-end; }
.invoice-items-heading > div p { margin: 4px 0 0; color: #7f98aa; font-size: .8rem; }
.invoice-items-column-head,
.invoice-item-editor-row {
  display: grid;
  grid-template-columns: minmax(150px,1.05fr) minmax(240px,1.7fr) minmax(100px,.58fr) minmax(110px,.65fr) minmax(120px,.72fr) 40px;
  gap: 8px;
  align-items: center;
}
.invoice-items-column-head { padding: 0 4px 5px; color: #8199ac; font-size: .67rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.invoice-item-editor-row { padding: 8px; border: 1px solid rgba(70,170,235,.13); border-radius: 12px; background: rgba(2,15,28,.48); }
.invoice-item-line-total { display: flex; align-items: center; justify-content: flex-end; min-height: 44px; padding: 0 12px; border: 1px solid rgba(64,185,244,.2); border-radius: 10px; background: rgba(6,34,54,.58); color: #74d8ff; font-size: 1rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.invoice-live-total { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin: -6px 0 20px; padding: 14px 16px; border: 1px solid rgba(48,224,184,.2); border-radius: 12px; background: rgba(13,80,68,.11); }
.invoice-live-total span { color: #88a7b6; font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.invoice-live-total strong { min-width: 120px; color: #78e7ca; font-family: Georgia,'Times New Roman',serif; font-size: 1.65rem; text-align: right; font-variant-numeric: tabular-nums; }
.invoice-preview-table td:nth-child(n+2), .invoice-preview-table th:nth-child(n+2) { text-align: right; }
@media (max-width: 1050px) {
  #memberWorkspaceSection.member-flow-layout { column-count: 1; }
}
@media (max-width: 900px) {
  .invoice-items-column-head { display: none; }
  .invoice-item-editor-row { grid-template-columns: 1fr 1fr; }
  .invoice-item-product, .invoice-item-description { grid-column: 1 / -1; }
  .invoice-item-line-total { justify-content: flex-start; }
}
@media (max-width: 560px) {
  .invoice-item-editor-row { grid-template-columns: 1fr; }
  .invoice-item-product, .invoice-item-description { grid-column: auto; }
  .invoice-live-total { justify-content: space-between; }
}

.inquiry-state-badge{margin-top:9px;padding:6px 9px;border:1px solid rgba(93,186,242,.18);border-radius:9px;background:rgba(18,92,146,.1);color:#9bdcff;font-size:.65rem;font-weight:900;letter-spacing:.06em}
.inquiry-state-waiting{border-color:rgba(255,193,92,.28);background:rgba(173,112,14,.12);color:#ffd27e}
.inquiry-state-resumed{border-color:rgba(98,220,185,.28);background:rgba(20,135,105,.12);color:#80e9cc}
.inquiry-state-follow_up{border-color:rgba(174,119,255,.3);background:rgba(98,57,176,.13);color:#cbb2ff}
.inquiry-state-done{border-color:rgba(53,223,181,.34);background:rgba(17,121,96,.18);color:#8ff1d3}
.inquiry-state-reply{border-color:rgba(92,182,255,.28);background:rgba(22,93,154,.13);color:#a7ddff}


.inquiry-client-label{display:flex;align-items:center;gap:8px;margin-top:9px;padding:8px 10px;border:1px solid rgba(74,187,250,.2);border-radius:10px;background:rgba(12,83,132,.12)}
.inquiry-client-label span{color:#6f9db8;font-size:.6rem;font-weight:900;letter-spacing:.1em}
.inquiry-client-label strong{color:#dff6ff;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inquiry-done-action{margin-top:10px;padding-top:10px;border-top:1px solid rgba(77,199,255,.14);display:flex;align-items:center;justify-content:space-between;gap:10px}
.inquiry-done-action span{color:#8ba9bd;font-size:.72rem}
.inquiry-done-btn{border:1px solid rgba(53,223,181,.34);background:rgba(17,121,96,.18);color:#8ff1d3;border-radius:10px;padding:8px 12px;font-weight:900;cursor:pointer;white-space:nowrap}
.inquiry-done-btn:hover{background:rgba(17,154,119,.28);border-color:rgba(89,241,202,.52)}
.inquiry-done-btn:disabled{opacity:.55;cursor:wait}
@media (max-width:520px){.inquiry-done-action{align-items:stretch;flex-direction:column}.inquiry-done-btn{width:100%}}


/* Final role-focused UI cleanup */
.member-settings-details{padding:0!important;overflow:hidden}
.member-settings-details>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;cursor:pointer;list-style:none;color:#e9f7ff;font-weight:800}
.member-settings-details>summary::-webkit-details-marker{display:none}
.member-settings-details>summary small{color:#7896aa;font-size:.72rem;font-weight:600}
.member-settings-body{padding:0 20px 20px;border-top:1px solid rgba(74,170,232,.1)}
.member-ib-tools-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;margin-top:16px}
.member-ib-tools-layout>div{min-width:0;padding:14px;border:1px solid rgba(68,166,232,.12);border-radius:13px;background:rgba(3,16,30,.38)}
.member-ib-tools-layout h4{margin:0 0 12px}
.admin-wide-card{width:100%}

/* John sees only the support functions that are not duplicated by his dedicated TWF Results workspace. */
body.profitshot-operator-mode #memberWorkspaceSection{grid-template-columns:1fr!important;max-width:1180px;margin:18px auto 0}
body.profitshot-operator-mode #memberWorkspaceSection>.workspace-col:first-child,
body.profitshot-operator-mode #memberWorkspaceSection>.workspace-col:last-child{display:contents}
body.profitshot-operator-mode #member-role-hero,
body.profitshot-operator-mode #memberWorkspaceSection .knowledge-base-card,
body.profitshot-operator-mode #memberWorkspaceSection .member-profile-card,
body.profitshot-operator-mode #memberWorkspaceSection .member-ib-tools-card,
body.profitshot-operator-mode #memberWorkspaceSection .visualizer-card,
body.profitshot-operator-mode #memberWorkspaceSection .monthly-group-card,
body.profitshot-operator-mode #memberWorkspaceSection .member-client-assists-card{display:none!important}
body.profitshot-operator-mode #memberWorkspaceSection .ops-member-toolkit,
body.profitshot-operator-mode #memberWorkspaceSection .workflow-command-center,
body.profitshot-operator-mode #memberWorkspaceSection .invoice-dashboard-card{margin:0!important}
body.profitshot-operator-mode #memberWorkspaceSection{gap:16px}
body.profitshot-operator-mode #memberWorkspaceSection .ops-member-toolkit{order:1}
body.profitshot-operator-mode #memberWorkspaceSection .workflow-command-center{order:2}
body.profitshot-operator-mode #memberWorkspaceSection .invoice-dashboard-card{order:3}

/* John daily folder lifecycle */
.profitshot-account-day>summary span:first-child{display:grid;gap:4px}
.profitshot-account-day>summary span:first-child small{color:#7391a6;font-size:.67rem;font-weight:600}
.profitshot-folder-summary-meta{display:flex!important;align-items:center;gap:9px!important}
.profitshot-folder-state{padding:5px 8px;border-radius:999px;font-size:.62rem!important;font-style:normal!important;font-weight:900;letter-spacing:.08em}
.profitshot-folder-state.is-active{background:rgba(38,209,176,.12);color:#69e4c9;border:1px solid rgba(38,209,176,.24)}
.profitshot-folder-state.is-ready{background:rgba(48,174,255,.12);color:#76d4ff;border:1px solid rgba(48,174,255,.24)}
.profitshot-folder-state.is-resolved{background:rgba(150,164,177,.1);color:#9eb1be;border:1px solid rgba(150,164,177,.17)}
.profitshot-account-day.is-resolved{opacity:.78}
.profitshot-account-day-body{display:grid;gap:12px;padding:0 12px 13px}
.profitshot-resolve-button{width:auto!important;justify-self:start;margin:2px 0 3px}
.profitshot-folder-resolved-note{display:grid;gap:4px;padding:14px;border:1px solid rgba(101,206,177,.13);border-radius:11px;background:rgba(17,92,73,.08)}
.profitshot-folder-resolved-note strong{color:#74dfc2}
.profitshot-folder-resolved-note span,.profitshot-folder-today-note{margin:0;color:#7f9daf;font-size:.78rem}

/* Jammy: announcement-by-chat is the default; retain only unique operations tools in the main workspace. */
#adminWorkspaceSection .operations-manager-grid{align-items:start}
#adminWorkspaceSection .workspace-col{min-width:0}
#adminWorkspaceSection .operations-manager-grid .qa-review-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
#adminWorkspaceSection .operations-manager-grid .qa-review-grid{display:grid;grid-template-columns:1fr;gap:2px}
#adminWorkspaceSection .operations-manager-grid .qa-review-list{min-height:120px;max-height:none;overflow:visible}

@media(max-width:900px){.member-ib-tools-layout{grid-template-columns:1fr}.profitshot-resolve-button{width:100%!important}}

body.profitshot-operator-mode #memberWorkspaceSection.member-flow-layout{column-count:1!important;column-gap:0!important}
.admin-urgent-broadcast-card .btn-urgent-update{width:100%;margin-top:10px}
.admin-broadcast-history{margin-top:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px}
.admin-broadcast-history>summary{cursor:pointer;color:#8db4ca;font-size:.76rem;font-weight:800}
#member-role-hero{padding-top:18px!important;padding-bottom:18px!important}
#member-role-hero h2{margin:4px 0 6px!important}


.verification-attachment-preview{flex:0 0 100%;grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid rgba(69,190,255,.28);border-radius:12px;background:rgba(5,31,50,.9);color:#dff6ff}
.verification-attachment-preview img{width:48px;height:48px;object-fit:cover;border-radius:8px;border:1px solid rgba(255,255,255,.12)}
.verification-attachment-preview div{display:grid;gap:2px;min-width:0;flex:1}
.verification-attachment-preview strong{font-size:.78rem}
.verification-attachment-preview span{color:#8fb1c5;font-size:.68rem}
.verification-attachment-preview button{width:30px;height:30px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.05);color:#dff6ff;cursor:pointer}

/* WhatsApp-style grouped verification screenshots */
.verification-media-bubble{width:min(430px,calc(100vw - 92px));max-width:min(430px,calc(100vw - 92px))!important}
.verification-chat-gallery{display:grid;grid-template-columns:1fr;gap:7px;margin-top:8px;overflow:hidden;border-radius:12px;max-width:420px;background:rgba(2,12,22,.32);padding:4px}
.verification-chat-gallery-1{grid-template-columns:1fr}
.verification-chat-gallery-2{grid-template-columns:1fr}
.verification-chat-gallery .chat-image-preview-link{display:block;width:100%}
.verification-chat-gallery .verification-chat-image{display:block;width:100%;max-width:none;height:auto;max-height:330px;object-fit:contain;margin:0;border-radius:8px;cursor:zoom-in;background:#eef2f4}
.verification-attachment-preview-multi{align-items:center}
.verification-attachment-thumbs{display:flex;gap:6px;flex:0 0 auto}
.verification-attachment-thumb{position:relative;width:54px;height:54px}
.verification-attachment-thumb img{width:54px;height:54px!important;object-fit:cover;border-radius:9px}
.verification-attachment-thumb button{position:absolute;top:-6px;right:-6px;width:20px!important;height:20px!important;min-width:20px;border-radius:50%!important;font-size:10px;line-height:1;padding:0!important}
.verification-attachment-copy{display:grid;gap:2px;min-width:0;flex:1}
@media(max-width:600px){.verification-media-bubble{width:calc(100vw - 78px);max-width:calc(100vw - 78px)!important}.verification-chat-gallery{max-width:100%}.verification-chat-gallery .verification-chat-image{height:auto;max-height:280px}.verification-attachment-preview-multi{flex-wrap:wrap}.verification-attachment-copy{min-width:150px}}

/* Final realtime Operations Manager assistance polish */
.om-assistance-metric-tile{border-color:rgba(80,220,190,.28)!important;background:linear-gradient(145deg,rgba(8,42,47,.76),rgba(4,18,31,.94))!important;box-shadow:inset 0 0 28px rgba(44,211,181,.055),0 12px 30px rgba(0,0,0,.16)!important}
.om-assistance-metric-tile .tile-value{color:#82ead4!important;text-shadow:0 0 24px rgba(72,225,193,.2)}
.om-assistance-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;margin-top:8px;padding:6px 9px;border:1px solid rgba(77,222,190,.28);border-radius:999px;background:rgba(26,126,105,.13);color:#79e1ca;font-size:.68rem;font-weight:900;letter-spacing:.035em}
.om-assistance-action{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding:8px 9px;border:1px solid rgba(75,188,228,.16);border-radius:10px;background:rgba(4,24,37,.5)}
.om-assistance-action span{color:#829eaf;font-size:.68rem}
.om-assistance-btn{width:auto!important;min-width:105px;padding:7px 10px;border:1px solid rgba(78,223,190,.3);border-radius:9px;background:rgba(28,130,108,.16);color:#84ead4;font-size:.7rem;font-weight:900;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.om-assistance-btn:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(99,237,207,.52);background:rgba(34,151,125,.24)}
.om-assistance-btn:disabled{opacity:.62;cursor:wait}
.chat-bubble.om-assistance-clickable{cursor:pointer;outline:1px solid transparent;transition:outline-color .16s ease,box-shadow .16s ease,transform .16s ease}
.chat-bubble.om-assistance-clickable:hover,.chat-bubble.om-assistance-clickable:focus-visible{outline-color:rgba(78,223,190,.38);box-shadow:0 0 0 3px rgba(43,205,175,.08),0 12px 30px rgba(0,0,0,.2);transform:translateY(-1px)}
.admin-monthly-updates-card{margin-top:0}

/* High-density Traders Kingdom mark inside John's live result globe. The source is rendered below half native size for crisp HiDPI output. */
.profitshot-operator-mark{overflow:visible;background:radial-gradient(circle at 50% 44%,rgba(18,119,168,.25),rgba(3,21,38,.78) 66%,rgba(1,10,19,.92))!important;box-shadow:inset 0 0 38px rgba(60,202,255,.08),0 0 76px rgba(0,144,255,.2)!important}
.profitshot-operator-mark img{width:132px!important;height:132px!important;object-fit:cover;border-radius:50%;image-rendering:auto;filter:drop-shadow(0 8px 20px rgba(0,0,0,.38)) drop-shadow(0 0 14px rgba(86,215,255,.12));border:1px solid rgba(181,231,255,.16)}
@media(max-width:720px){.om-assistance-action{align-items:flex-start;flex-direction:column}.om-assistance-btn{width:100%!important}}

/* Ultra realtime polish: immediate delivery and KPI confirmation without blocking the UI. */
.chat-message-row.is-pending .chat-bubble{opacity:1;filter:none;box-shadow:0 0 0 1px rgba(56,189,248,.22),0 10px 28px rgba(0,139,211,.18)}
.chat-message-row.is-failed .chat-bubble{outline:1px solid rgba(248,113,113,.55);box-shadow:0 0 0 1px rgba(248,113,113,.08),0 12px 32px rgba(15,23,42,.28)}
.chat-delivery-state{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;color:#8da6bb}
.chat-delivery-state::before{content:'•';font-size:1rem;line-height:.6;color:#38bdf8;animation:twfRealtimeBlink 1s ease-in-out infinite}
.chat-delivery-state.is-failed{color:#fda4af}
.chat-delivery-state.is-failed::before{color:#fb7185;animation:none}
.metric-value-live-pulse{animation:twfMetricLivePulse .46s cubic-bezier(.2,.8,.2,1)}
@keyframes twfRealtimeBlink{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes twfMetricLivePulse{0%{transform:scale(.92);filter:brightness(1)}45%{transform:scale(1.08);filter:brightness(1.5)}100%{transform:scale(1);filter:brightness(1)}}

/* Ultra realtime polish: live staff identity stays visually synchronized with profile updates. */
.live-staff-row{position:relative;display:grid;grid-template-columns:34px 10px minmax(0,1fr) auto;align-items:center;gap:10px}
.live-staff-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;display:block;border:1px solid rgba(67,207,255,.34);box-shadow:0 0 0 3px rgba(25,125,255,.06)}
.live-staff-row .staff-presence{margin:0;justify-self:center}
@media (max-width:640px){.live-staff-row{grid-template-columns:30px 8px minmax(0,1fr) auto;gap:8px}.live-staff-avatar{width:30px;height:30px}}

/* Jammy team directory: same premium live cards as Bradley, with safe member controls. */
.admin-team-directory-card{background:linear-gradient(150deg,rgba(8,26,42,.94),rgba(4,13,25,.97))!important}
.admin-team-heading{align-items:center}
.admin-team-heading>div:first-child p{margin:7px 0 0;color:#7f9aaf;font-size:.78rem}
.admin-team-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px;flex-wrap:wrap}
.admin-client-presence{display:flex;align-items:center;gap:10px;width:fit-content;min-width:270px;margin:0 0 24px auto;padding:10px 13px;border:1px solid rgba(116,143,162,.18);border-radius:13px;background:rgba(2,13,24,.68)}
.admin-client-presence>i{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#536879}
.admin-client-presence>div{display:grid;gap:3px;min-width:0}
.admin-client-presence strong{color:#b9cad6;font-size:.78rem}
.admin-client-presence span{color:#70899c;font-size:.65rem}
.admin-client-presence.is-online{border-color:rgba(48,219,178,.3);background:rgba(18,126,103,.1)}
.admin-client-presence.is-online>i{background:#39e0b7;box-shadow:0 0 13px rgba(57,224,183,.85);animation:presencePulse 1.8s ease-in-out infinite}
.admin-client-presence.is-online strong{color:#72e7ca}
.admin-client-presence.is-active{border-color:rgba(63,190,255,.42);background:linear-gradient(120deg,rgba(14,113,175,.19),rgba(17,128,102,.12));box-shadow:0 10px 28px rgba(0,117,179,.12)}
.admin-client-presence.is-active>i{background:#49c7ff;box-shadow:0 0 15px rgba(73,199,255,.95)}
.admin-client-presence.is-active strong{color:#9ee3ff}
.admin-online-summary{display:inline-flex;align-items:center;margin-top:8px;padding:5px 8px;border:1px solid rgba(78,181,235,.2);border-radius:999px;background:rgba(21,105,158,.1);color:#82cdef;font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.admin-online-summary.is-all-online{border-color:rgba(54,220,180,.34);background:rgba(25,142,112,.13);color:#72e7c9;box-shadow:0 0 18px rgba(48,211,170,.1)}
.admin-team-grid{grid-template-columns:repeat(3,minmax(190px,1fr));gap:14px;padding:2px 6px 8px 2px}
.admin-team-member-card{display:flex;min-height:148px;flex-direction:column;justify-content:center;padding:17px!important;cursor:default}
.admin-team-member-card .card-header-flex{margin:0;align-items:center;min-height:78px;gap:11px}
.admin-team-member-card .card-avatar{width:50px;height:50px;flex:0 0 50px}
.admin-team-member-card .card-name{font-size:.9rem;line-height:1.25}
.admin-team-member-card .card-role{margin-top:5px;font-size:.62rem;line-height:1.42}
.admin-team-member-card .team-presence-badge{padding:4px 6px;font-size:.48rem}
.admin-team-member-card.is-clickable{cursor:pointer}
.admin-team-member-card.is-clickable:hover{border-color:rgba(64,195,255,.56);box-shadow:0 16px 36px rgba(0,101,173,.2);transform:translateY(-3px)}
.admin-team-member-card.is-clickable:focus-visible{outline:2px solid #54cfff;outline-offset:2px}
.admin-team-member-card.is-client-card{border-color:rgba(79,190,255,.34);background:linear-gradient(145deg,rgba(14,78,122,.2),rgba(6,18,31,.94))}
.admin-team-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}
.admin-team-card-footer>div{display:grid;gap:5px;min-width:0}
.admin-team-card-footer small{display:block;max-width:150px;overflow:hidden;color:#7892a5;font-size:.52rem;text-overflow:ellipsis;white-space:nowrap}
.admin-team-card-footer b{color:#69bfe9;font-size:.59rem;letter-spacing:.1em;text-transform:uppercase}
.admin-delete-member{width:auto;padding:5px 7px;border-radius:7px;font-size:.55rem;white-space:nowrap}
.admin-protected-account{padding:6px 8px;border:1px solid rgba(85,179,234,.2);border-radius:999px;background:rgba(29,112,165,.1);color:#77c9f3;font-size:.56rem;font-weight:900;letter-spacing:.1em}
@media(max-width:1180px){.admin-team-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}}
@media(max-width:760px){.admin-team-heading{align-items:stretch;flex-direction:column}.admin-team-heading-actions{align-items:stretch;justify-content:flex-start;flex-direction:column}.admin-team-grid{grid-template-columns:1fr;gap:11px}.admin-team-member-card{min-height:132px}.admin-team-member-card .card-header-flex{align-items:center;min-height:70px;flex-wrap:wrap}.admin-team-member-card .card-avatar{width:46px;height:46px;flex-basis:46px}.admin-team-member-card .team-presence-badge{margin-left:57px}.admin-team-card-footer{align-items:center;flex-direction:row}.admin-delete-member{width:auto}}

/* Quiet connection-state affordance: no blocking overlay, no manual refresh prompt. */
body.realtime-reconnecting #sessionIdentityLabel{opacity:.72}
body.realtime-reconnecting #sessionIdentityLabel::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;background:currentColor;animation:twfRealtimeBlink .85s ease-in-out infinite}


/* v46 — Endorsement + Hadi Vantage + Client Follow-Up case management */
.workflow-quick-actions{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid rgba(75,195,255,.14);background:rgba(4,20,36,.72)}
.workflow-quick-actions span{color:#7f9caf;font-size:.7rem;line-height:1.35}
.client-followup-tab{border-color:rgba(255,183,77,.14)!important}
.client-followup-tab.is-active{border-color:rgba(255,183,77,.38)!important;background:linear-gradient(145deg,rgba(160,94,16,.24),rgba(59,37,12,.22))!important;box-shadow:inset 0 -2px #ffb34d!important}
.workflow-case-board{display:grid;gap:14px;padding:12px 10px 18px}
.workflow-case-hero{display:grid;gap:10px;padding:14px;border:1px solid rgba(69,190,245,.18);border-radius:14px;background:linear-gradient(145deg,rgba(11,75,116,.24),rgba(4,20,34,.84))}
.workflow-case-hero h3,.workflow-case-section h4{margin:0;color:#e7f7ff}
.workflow-case-hero p,.workflow-case-section>p{margin:0;color:#819daf;font-size:.76rem;line-height:1.45}
.hadi-workflow-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px 9px;border:1px solid rgba(75,195,255,.18);border-radius:11px;background:rgba(3,17,29,.72)}
.hadi-workflow-search>span{color:#68c9f0;font-size:1rem}.hadi-workflow-search .custom-input{min-width:0;margin:0}.hadi-workflow-search>button{border:0;background:transparent;color:#7898aa;cursor:pointer;padding:5px 7px;border-radius:7px}.hadi-workflow-search>button:hover{background:rgba(92,190,235,.1);color:#dff7ff}
.workflow-create-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) auto;gap:8px;align-items:end}
.workflow-create-grid label,.workflow-case-controls label,.workflow-modal-card label{display:grid;gap:5px;color:#9ab4c5;font-size:.7rem;font-weight:800;letter-spacing:.04em}
.workflow-category-bubbles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.workflow-category-bubble{display:grid;place-items:center;min-height:58px;padding:8px;border:1px solid rgba(75,190,246,.18);border-radius:12px;background:rgba(7,31,52,.7);color:#a9dff8;font-size:.68rem;font-weight:900;text-align:center;cursor:pointer}
.workflow-category-bubble strong{font-size:1.05rem;color:#effaff}
.workflow-category-bubble.is-active{border-color:rgba(79,214,255,.5);box-shadow:inset 0 0 20px rgba(36,173,235,.15),0 0 14px rgba(36,173,235,.08);color:#fff}
.workflow-case-section{display:grid;gap:9px}
.workflow-case-list{display:grid;gap:9px}
.workflow-case-card{padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(4,16,29,.84)}
.workflow-case-card.is-due{border-color:rgba(255,178,68,.45);box-shadow:0 0 18px rgba(255,156,41,.08)}
.workflow-case-card.is-archived{opacity:.78}
.workflow-case-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.workflow-case-card-head strong{color:#eef9ff;font-size:.92rem}.workflow-case-card-head small{display:block;margin-top:3px;color:#7793a8;font-size:.68rem}
.workflow-status-pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:rgba(51,176,226,.13);border:1px solid rgba(80,199,245,.2);color:#8fdefb;font-size:.62rem;font-weight:900;text-align:center}
.workflow-case-card.is-due .workflow-status-pill{background:rgba(178,105,16,.18);border-color:rgba(255,179,76,.35);color:#ffd18e}
.workflow-case-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px;color:#8ba7b9;font-size:.68rem}
.workflow-case-meta span{padding:6px 7px;border-radius:8px;background:rgba(255,255,255,.025)}
.workflow-case-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.workflow-case-controls .workflow-wide{grid-column:1/-1}
.workflow-case-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}
.workflow-case-actions button,.workflow-checkpoint button{border:1px solid rgba(74,190,242,.24);border-radius:9px;background:rgba(19,91,133,.2);color:#bfeaff;padding:7px 9px;font-weight:800;cursor:pointer}
.workflow-case-actions button:hover,.workflow-checkpoint button:hover{background:rgba(26,126,183,.3)}
.workflow-followup-queue{padding:11px;border:1px solid rgba(255,176,66,.16);border-radius:13px;background:rgba(74,42,9,.13)}
.workflow-followup-queue h4{color:#ffd097}
.workflow-checkpoints{display:grid;gap:6px;margin-top:10px}
.workflow-checkpoint{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border-radius:9px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}
.workflow-checkpoint strong,.workflow-checkpoint small{display:block}.workflow-checkpoint strong{color:#dceef8;font-size:.72rem}.workflow-checkpoint small{margin-top:2px;color:#7793a8;font-size:.64rem}
.workflow-checkpoint.is-due{border-color:rgba(255,179,76,.36);background:rgba(116,64,11,.13)}
.workflow-checkpoint.is-complete strong{color:#83e8c5}
.workflow-checkpoint.is-locked{opacity:.62}.workflow-checkpoint.is-locked strong{color:#7d93a2}
.workflow-case-history{margin-top:9px}.workflow-case-history summary{color:#7cccf2;font-size:.68rem;cursor:pointer}.workflow-history-row{display:grid;gap:2px;margin-top:6px;padding:6px 8px;border-left:2px solid rgba(89,195,240,.24);color:#8eaabd;font-size:.64rem}
.workflow-empty{padding:18px;border:1px dashed rgba(99,177,216,.18);border-radius:12px;color:#7895a8;font-size:.74rem;text-align:center}
.workflow-modal-card{max-width:520px}.workflow-modal-actions{display:flex;justify-content:flex-end;margin-top:12px}
@media(max-width:760px){.workflow-category-bubbles{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-create-grid,.workflow-case-controls{grid-template-columns:1fr}.workflow-case-controls .workflow-wide{grid-column:auto}.workflow-case-meta{grid-template-columns:1fr}.workflow-quick-actions{align-items:stretch;flex-direction:column}.workflow-quick-actions button{width:100%}}

/* v48 — source-scoped Hadi categories + inquiry-only follow-up + compact endorsement */
#endorsement-modal .workflow-modal-card{
  width:min(92vw,460px)!important;
  max-width:460px!important;
  padding:18px!important;
  max-height:min(82dvh,620px);
  border-radius:16px;
}
#endorsement-modal .modal-header-controls{align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
#endorsement-modal .modal-header-controls h2{font-size:1.55rem;margin:2px 0 5px}
#endorsement-modal .modal-header-controls p{margin:0;max-width:320px;font-size:.82rem;line-height:1.4;color:#9ab0be}
#endorsement-modal .btn-terminate{flex:0 0 auto;padding:9px 11px;min-height:38px}
#endorsement-modal .workflow-modal-card>label{margin-top:10px}
#endorsement-modal .workflow-modal-actions{margin-top:14px}
#endorsement-modal .workflow-modal-actions .btn-primary{width:100%;min-height:42px}

.hadi-workflow-board,.client-followup-board{gap:10px;padding:8px 6px 14px}
.hadi-workflow-hero{padding:11px!important;gap:9px!important}
.hadi-workflow-hero>div:first-child p{max-width:680px}
.workflow-search-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 8px;border:1px solid rgba(75,195,255,.18);border-radius:10px;background:rgba(3,17,29,.72)}
.workflow-search-bar>span{font-size:1rem;color:#69d0f7}
.workflow-search-bar .custom-input{margin:0;min-width:0;height:38px;padding:8px 10px}
.workflow-search-bar>button{border:0;background:transparent;color:#7998aa;padding:5px 7px;border-radius:7px;cursor:pointer}
.workflow-search-bar>button:hover{background:rgba(92,190,235,.1);color:#e6f8ff}

.workflow-category-bubbles{grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:7px}
.workflow-category-bubble{min-height:54px;padding:7px 6px;line-height:1.15}
.workflow-category-bubble span{display:block;max-width:100%;overflow-wrap:anywhere}
.workflow-category-bubble strong{margin-top:2px}

.workflow-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.workflow-section-heading h4{margin:0}
.workflow-section-heading p{margin:3px 0 0;color:#829dad;font-size:.72rem;line-height:1.4}
.workflow-section-heading>strong{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:rgba(65,187,237,.12);border:1px solid rgba(74,196,244,.2);color:#dff7ff;font-size:.78rem}

.hadi-source-section{display:grid;gap:8px;padding:10px;border:1px solid rgba(78,195,245,.14);border-radius:12px;background:rgba(4,18,31,.5)}
.hadi-drop-classifier-list,.inquiry-followup-source-list{display:grid;gap:7px}
.hadi-drop-classifier,.inquiry-followup-source{display:grid;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(5,17,28,.82)}
.hadi-drop-classifier-head,.inquiry-followup-source{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.hadi-drop-classifier-head>div,.inquiry-followup-source>div{min-width:0}
.hadi-drop-classifier-head strong,.inquiry-followup-source strong{display:block;color:#effaff;font-size:.82rem;overflow-wrap:anywhere}
.hadi-drop-classifier-head span,.inquiry-followup-source span{display:block;margin-top:2px;color:#8ba7b8;font-size:.68rem;overflow-wrap:anywhere}
.hadi-drop-classifier-head small{color:#7693a5;font-size:.63rem;text-align:right}
.hadi-drop-prompt{color:#9fb9c9;font-size:.68rem;font-weight:800}

.hadi-category-checklist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.hadi-category-check{display:flex;align-items:center;justify-content:center;gap:4px;min-height:34px;padding:6px 5px;border:1px solid rgba(76,188,235,.18);border-radius:8px;background:rgba(11,43,63,.58);color:#9acfe6;font-size:.62rem;font-weight:900;line-height:1.1;text-align:center;cursor:pointer}
.hadi-category-check span{font-size:.78rem;color:#73bdd9}
.hadi-category-check:hover{border-color:rgba(75,205,255,.45);background:rgba(16,74,106,.65)}
.hadi-category-check.is-checked{border-color:rgba(55,224,174,.48);background:rgba(13,101,78,.28);color:#b9f7e1;box-shadow:inset 0 0 14px rgba(43,220,165,.08)}
.hadi-category-check.is-checked span{color:#6bf0c1}

.hadi-case-card{padding:10px}
.hadi-case-category-row{display:grid;gap:5px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.055)}
.hadi-case-category-row>span{color:#8ca7b8;font-size:.64rem;font-weight:900}
.hadi-case-compact-controls{display:grid;grid-template-columns:minmax(115px,.75fr) auto auto;gap:6px;align-items:end;margin-top:8px}
.hadi-case-compact-controls label{display:grid;gap:4px;color:#8ca7b8;font-size:.64rem;font-weight:800}
.hadi-case-compact-controls .custom-input{margin:0;min-height:36px;padding:7px 9px}
.hadi-case-compact-controls>button{min-height:36px;border:1px solid rgba(74,190,242,.24);border-radius:8px;background:rgba(19,91,133,.2);color:#bfeaff;padding:6px 9px;font-size:.68rem;font-weight:900;cursor:pointer}
.hadi-case-compact-controls .hadi-finish-case-btn{border-color:rgba(43,219,160,.34);background:rgba(18,111,81,.22);color:#9ff0d0}
.hadi-case-details{margin-top:7px}
.hadi-case-details>summary{cursor:pointer;color:#76c9ef;font-size:.66rem;font-weight:800}
.hadi-case-details .workflow-case-controls{margin-top:7px;padding-top:7px}

.hadi-message-category-box{display:grid;gap:6px;margin-top:9px;padding:8px;border:1px solid rgba(74,193,241,.14);border-radius:9px;background:rgba(3,29,44,.45)}
.hadi-message-category-box>span{color:#88afc0;font-size:.63rem;font-weight:900;letter-spacing:.02em}
.hadi-message-category-box .hadi-category-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}
.hadi-message-category-box .hadi-category-check{min-height:31px;font-size:.6rem}

.inquiry-followup-source{gap:10px}
.inquiry-followup-source>button{border:1px solid rgba(255,177,67,.28);border-radius:8px;background:rgba(135,77,14,.22);color:#ffd39a;padding:7px 9px;font-size:.66rem;font-weight:900;cursor:pointer}
.workflow-source-added{padding:5px 7px!important;border-radius:999px;background:rgba(46,180,140,.12);color:#88e5c7!important;font-size:.62rem!important;font-weight:900}

@media(max-width:760px){
  #endorsement-modal{padding:12px}
  #endorsement-modal .workflow-modal-card{width:min(96vw,440px)!important;padding:14px!important}
  #endorsement-modal .modal-header-controls{gap:8px}
  .hadi-category-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hadi-case-compact-controls{grid-template-columns:1fr 1fr}
  .hadi-case-compact-controls label{grid-column:1/-1}
  .hadi-drop-classifier-head,.inquiry-followup-source{grid-template-columns:1fr}
  .hadi-drop-classifier-head small{text-align:left}
}

/* v48 — safe widescreen/fullscreen utilization without changing workflow order */
@media (min-width: 1440px) {
  .workspace-root { max-width: 1880px; padding-inline: clamp(24px, 2.4vw, 46px); }
  #clientWorkspaceSection { max-width: 1480px; }
  body.profitshot-operator-mode #memberWorkspaceSection { max-width: 1480px; }
  .workspace-grid { gap: 18px; }
  .workspace-root .glass-card { padding: clamp(18px, 1.65vw, 26px); }
  .executive-ops-metrics { grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); }
}

/* Endorsement stays a compact handoff tool instead of becoming a page-sized panel. */
#endorsement-modal { padding: 16px; }
#endorsement-modal .workflow-modal-card {
  width: min(94vw, 410px) !important;
  max-width: 410px !important;
  padding: 15px !important;
  max-height: min(78dvh, 560px);
}
#endorsement-modal .modal-header-controls { margin-bottom: 10px; }
#endorsement-modal .modal-header-controls h2 { font-size: 1.32rem; margin: 1px 0 3px; }
#endorsement-modal .modal-header-controls p { max-width: 275px; font-size: .74rem; line-height: 1.35; }
#endorsement-modal .workflow-modal-card > label { margin-top: 8px; }
#endorsement-modal .custom-input { min-height: 40px; font-size: .84rem; }
#endorsement-modal .workflow-modal-actions { margin-top: 10px; }
#endorsement-modal .workflow-modal-actions .btn-primary { min-height: 40px; }

/* Hadi: readable two-column checklist instead of cramped five-wide controls. */
.hadi-workflow-board .workflow-category-bubbles { grid-template-columns: repeat(2,minmax(0,1fr)); }
.hadi-workflow-board .workflow-category-bubble { min-height: 46px; padding: 6px 8px; }
.hadi-workflow-board .workflow-category-bubble:last-child { grid-column: 1 / -1; }
.hadi-workflow-board .hadi-category-checklist { grid-template-columns: repeat(2,minmax(0,1fr)); }
.hadi-workflow-board .hadi-category-check { min-height: 32px; padding: 5px 7px; }
.hadi-workflow-board .workflow-case-hero { padding: 10px; }
.hadi-workflow-board .workflow-case-hero h3 { font-size: 1rem; }
.hadi-workflow-board .workflow-case-hero p { font-size: .69rem; line-height: 1.35; }
.hadi-workflow-board .workflow-section-heading p { font-size: .67rem; }
.hadi-workflow-board .hadi-drop-classifier { padding: 9px; }
.hadi-workflow-board .workflow-empty { padding: 12px; }
.workflow-quick-actions { gap: 8px; padding: 7px 9px; }
.workflow-quick-actions #endorse-client-button { width: auto; min-width: 124px; padding: 8px 10px; }
.workflow-quick-actions span { font-size: .64rem; }

/* When the user intentionally maximizes chat, use the extra screen area for the workflow board. */
@media (min-width: 980px) {
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board,
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .client-followup-board {
    grid-template-columns: minmax(300px,.82fr) minmax(420px,1.18fr);
    align-items: start;
    gap: 12px;
    padding: 12px;
  }
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board > .workflow-case-hero,
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .client-followup-board > .workflow-case-hero {
    grid-column: 1 / -1;
  }
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board > .hadi-source-section,
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .client-followup-board > .workflow-case-section:nth-child(2) {
    grid-column: 1;
    grid-row: 2 / span 2;
    max-height: calc(100dvh - 250px);
    overflow: auto;
  }
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board > .workflow-case-section,
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .client-followup-board > .workflow-case-section:nth-child(n+3) {
    grid-column: 2;
  }
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board .workflow-category-bubbles {
    grid-template-columns: repeat(5,minmax(120px,1fr));
  }
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board .workflow-category-bubble:last-child { grid-column: auto; }
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board .hadi-category-checklist { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  #endorsement-modal .workflow-modal-card { width: min(96vw, 390px) !important; padding: 13px !important; }
  .workflow-quick-actions { align-items: stretch; }
  .workflow-quick-actions #endorse-client-button { width: 100%; }
}


/* ===== v50 hardening + maximize polish ===== */
.workspace-root{max-width:1920px;width:100%;padding-inline:clamp(14px,2.4vw,36px)}
@media(min-width:1500px){
  body.has-chat-sidebar .workspace-root{padding-right:370px}
  .operations-manager-grid{grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);gap:20px}
  .finance-grid--attendance{grid-template-columns:minmax(520px,1.05fr) minmax(560px,.95fr);gap:20px}
}
.finance-attendance-card{overflow:hidden}
.finance-attendance-date-label{display:grid;gap:5px;color:#8aaabd;font-size:.69rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.finance-attendance-date-label .custom-input{min-width:155px;margin:0}
.finance-attendance-period{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:11px 13px;border:1px solid rgba(70,191,240,.2);border-radius:12px;background:rgba(5,28,45,.66)}
.finance-attendance-period strong{color:#e8f8ff}.finance-attendance-period span{color:#86a7ba;font-size:.72rem;text-align:right}
.finance-attendance-list{display:grid;gap:9px;max-height:min(58vh,650px);overflow:auto;padding-right:4px}
.finance-attendance-row{display:grid;grid-template-columns:minmax(130px,.85fr) repeat(3,minmax(145px,1fr));align-items:center;gap:10px;padding:12px;border:1px solid rgba(75,184,234,.14);border-radius:13px;background:linear-gradient(135deg,rgba(5,24,39,.83),rgba(3,14,25,.88));box-shadow:inset 0 1px rgba(255,255,255,.025)}
.finance-attendance-row.attendance-below{border-color:rgba(255,127,127,.34);box-shadow:inset 3px 0 rgba(255,104,122,.68)}
.finance-attendance-row.attendance-met{border-color:rgba(80,218,179,.25);box-shadow:inset 3px 0 rgba(73,213,174,.52)}
.finance-attendance-person,.finance-attendance-stat{display:grid;gap:3px;min-width:0}.finance-attendance-person strong{color:#eaf8ff}.finance-attendance-person span,.finance-attendance-stat span{color:#7e9bad;font-size:.66rem;overflow-wrap:anywhere}.finance-attendance-stat small{color:#6f91a6;font-size:.58rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.finance-attendance-stat b{color:#9fe2ff;font-size:.98rem;font-weight:900;overflow-wrap:anywhere}
.finance-payroll-card .ops-report-output{white-space:pre-wrap;line-height:1.6}
.notification-target-flash{animation:notificationTargetFlash 1.8s ease-out}
@keyframes notificationTargetFlash{0%,30%{box-shadow:0 0 0 2px rgba(85,211,255,.6),0 0 30px rgba(50,184,241,.35)}100%{box-shadow:inherit}}
.hadi-resolve-next-btn{border-color:rgba(71,223,174,.35)!important;color:#86efca!important}.hadi-archive-case-btn{border-color:rgba(202,181,119,.34)!important;color:#e8cf8e!important}

@media(min-width:1320px){
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board,
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .client-followup-board{
    grid-template-columns:minmax(280px,.72fr) minmax(390px,1fr) minmax(390px,1fr);gap:14px;padding:14px
  }
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board>.workflow-case-hero,
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .client-followup-board>.workflow-case-hero{grid-column:1/-1}
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board>.hadi-source-section,
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .client-followup-board>.workflow-case-section:nth-child(2){grid-column:1;grid-row:2;max-height:calc(100dvh - 240px);overflow:auto}
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board>.workflow-case-section:nth-child(3),
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .client-followup-board>.workflow-case-section:nth-child(3){grid-column:2;grid-row:2;max-height:calc(100dvh - 240px);overflow:auto}
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board>.workflow-case-section:nth-child(4),
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .client-followup-board>.workflow-case-section:nth-child(4){grid-column:3;grid-row:2;max-height:calc(100dvh - 240px);overflow:auto}
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .chat-message-row{max-width:min(70%,860px)}
}
@media(max-width:1100px){.finance-attendance-row{grid-template-columns:1fr 1fr}.finance-attendance-person{grid-column:1/-1}}
@media(max-width:720px){.finance-attendance-period{align-items:flex-start;flex-direction:column}.finance-attendance-period span{text-align:left}.finance-attendance-row{grid-template-columns:1fr}.finance-attendance-person{grid-column:auto}}

/* ===== v51 precision frontend polish =====
   Presentation-only hardening. No workflow, KPI, persistence, or realtime logic. */
:root{
  --ui-text-xs:.75rem;
  --ui-text-sm:.82rem;
  --ui-text-md:.94rem;
  --ui-control-min:44px;
  --ui-panel-gap:clamp(12px,1.2vw,18px);
}

/* Operational readability: keep metadata compact without dropping below a practical scan size. */
.workspace-root :where(
  .team-presence-badge,
  .card-role,
  .client-top-performer-summary span,
  .monthly-top-card-badge,
  .top-performer-popup-role,
  .top-performer-popup-score span,
  .month-end-report-locked span,
  .month-end-report-summary span,
  .month-end-member-row div span,
  .workflow-live-badge,
  .invoice-status,
  .invoice-small-button,
  .client-calendar-weekdays span,
  .client-calendar-day small,
  .profitshot-year-folder > summary small,
  .update-center-live,
  .client-update-history-card strong,
  .client-update-history-card time,
  .client-update-history-card small,
  .member-update-dock header small,
  .member-update-card strong,
  .member-update-card time,
  .profitshot-folder-title small,
  .profitshot-folder-list summary span,
  .verification-reply-context span,
  .verification-quoted-reply strong,
  .verification-quoted-reply span,
  .verification-directed-to,
  .hadi-assist-action span,
  .invoice-items-column-head,
  .invoice-live-total span,
  .inquiry-state-badge,
  .inquiry-client-label span,
  .inquiry-done-action span,
  .member-settings-details > summary small,
  .profitshot-folder-state,
  .verification-attachment-preview span,
  .om-assistance-badge,
  .om-assistance-action span,
  .om-assistance-btn,
  .chat-delivery-state,
  .admin-client-presence span,
  .admin-online-summary,
  .admin-team-member-card .card-role,
  .admin-team-card-footer small,
  .admin-team-card-footer b,
  .admin-delete-member,
  .admin-protected-account,
  .workflow-quick-actions span,
  .workflow-create-grid label,
  .workflow-case-controls label,
  .workflow-modal-card label,
  .workflow-category-bubble,
  .workflow-status-pill,
  .workflow-case-meta,
  .workflow-checkpoint strong,
  .workflow-checkpoint small,
  .workflow-case-history summary,
  .workflow-section-heading p,
  .hadi-drop-classifier-head span,
  .inquiry-followup-source span,
  .hadi-drop-classifier-head small,
  .hadi-drop-prompt,
  .hadi-category-check,
  .hadi-case-category-row > span,
  .hadi-case-compact-controls label,
  .hadi-case-compact-controls > button,
  .hadi-case-details > summary,
  .hadi-message-category-box > span,
  .inquiry-followup-source > button,
  .workflow-source-added,
  .finance-attendance-date-label,
  .finance-attendance-period span,
  .finance-attendance-person span,
  .finance-attendance-stat span,
  .finance-attendance-stat small
){font-size:var(--ui-text-xs)}

/* Preserve deliberate micro badges, but keep them legible on common laptop panels. */
.workspace-root :where(.admin-team-member-card .team-presence-badge,.monthly-top-card-badge){font-size:.7rem}
.workspace-root :where(.workflow-case-hero p,.workflow-empty,.workflow-section-heading p){line-height:1.5}
.workspace-root :where(.workflow-case-meta,.finance-attendance-row,.admin-team-card-footer){line-height:1.42}

/* Dense manager surfaces: cleaner rhythm and stronger section boundaries without hiding tools. */
.operations-manager-grid,
.admin-performance-layout,
.management-performance-layout,
.client-operations-grid,
.finance-grid{gap:var(--ui-panel-gap)}
.workspace-root :where(.team-area-heading,.panel-meta-header,.monthly-group-heading,.owner-management-heading){margin-bottom:clamp(12px,1.1vw,18px)}
.workspace-root :where(.glass-card,.mini-kpi-card){scroll-margin-top:18px}
.admin-team-member-card{min-width:0}
.admin-team-card-footer{gap:8px;align-items:center}
.admin-team-card-footer small{max-width:min(190px,42vw)}

/* Hadi + Client Follow-Up: keep the normal view compact, readable and task-first. */
.hadi-workflow-board,
.client-followup-board{gap:10px}
.hadi-workflow-board :where(.workflow-case-section,.hadi-source-section),
.client-followup-board .workflow-case-section{border-radius:14px}
.hadi-workflow-board .workflow-category-bubbles{gap:8px}
.hadi-workflow-board .workflow-category-bubble{min-height:48px;padding:8px 10px;line-height:1.3}
.hadi-workflow-board .hadi-category-checklist{gap:7px}
.hadi-workflow-board .hadi-category-check{min-height:36px;padding:7px 8px;line-height:1.25}
.hadi-workflow-board .hadi-drop-classifier,
.client-followup-board .inquiry-followup-source{box-shadow:inset 0 1px rgba(255,255,255,.025)}
.workflow-case-controls :where(button,.custom-input),
.hadi-case-compact-controls :where(button,.custom-input){min-height:40px}

/* Tables and ledgers remain compact but gain better scanning on long shifts. */
.workspace-root .custom-table th{position:sticky;top:0;z-index:2;backdrop-filter:blur(12px)}
.workspace-root .custom-table tbody tr{transition:background .14s ease,border-color .14s ease}
.workspace-root :where(.custom-table td,.custom-table th){line-height:1.42}

/* Medium desktop/laptop precision: chat is still available, but the dashboard retains useful width. */
@media (min-width:1025px) and (max-width:1499px){
  body.has-chat-sidebar .workspace-root{padding-right:clamp(330px,27vw,380px)}
  .unified-client-chat.enhanced-chat-workspace:not(.chat-sidebar--minimized):not(.enhanced-chat-maximized){
    width:min(760px,calc(100vw - 28px));
    min-width:min(620px,calc(100vw - 28px));
    height:min(680px,calc(100dvh - 28px));
  }
  .unified-client-chat.enhanced-chat-workspace:not(.chat-sidebar--minimized):not(.enhanced-chat-maximized) .chat-sidebar-body{
    grid-template-columns:178px minmax(0,1fr)
  }
  .unified-client-chat.enhanced-chat-workspace:not(.chat-sidebar--minimized):not(.enhanced-chat-maximized) .chat-sidebar-body>.client-inbox-tabs{
    padding:12px 9px;gap:6px
  }
  .unified-client-chat.enhanced-chat-workspace:not(.chat-sidebar--minimized):not(.enhanced-chat-maximized) .client-inbox-tabs button{
    min-height:44px;padding:8px 9px
  }
  .compact-management-metrics{gap:9px!important}
}

/* Fullscreen/maximized workflows: stronger three-pane density on wide monitors. */
@media (min-width:1500px){
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .hadi-workflow-board,
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) .client-followup-board{
    grid-template-columns:minmax(300px,.72fr) minmax(430px,1fr) minmax(430px,1fr);
    gap:16px;padding:16px
  }
  .unified-client-chat.enhanced-chat-workspace.enhanced-chat-maximized:not(.chat-sidebar--minimized) :where(.workflow-case-section,.hadi-source-section){
    scrollbar-gutter:stable
  }
}

/* Touch/mobile: avoid nested scroll traps in workflow boards. */
@media (max-width:820px){
  .hadi-workflow-board,
  .client-followup-board{display:block;padding:10px}
  .hadi-workflow-board > *,
  .client-followup-board > *{margin-bottom:10px}
  .hadi-workflow-board :where(.hadi-source-section,.workflow-case-section),
  .client-followup-board .workflow-case-section{max-height:none!important;overflow:visible!important}
  .hadi-workflow-board .workflow-category-bubbles,
  .hadi-workflow-board .hadi-category-checklist{grid-template-columns:1fr 1fr}
  .workspace-root .custom-table{font-size:.9rem}
}
@media (max-width:480px){
  .hadi-workflow-board .workflow-category-bubbles,
  .hadi-workflow-board .hadi-category-checklist{grid-template-columns:1fr}
  .workspace-root :where(.workflow-case-meta,.finance-attendance-row){font-size:.78rem}
}

/* Consistent keyboard focus on operational icon/buttons. */
.workspace-root :where(button,a,[role="button"],summary):focus-visible,
.chat-sidebar :where(button,a,[role="button"],summary):focus-visible{
  outline:2px solid rgba(101,218,255,.88);
  outline-offset:3px;
  box-shadow:0 0 0 4px rgba(47,174,235,.12)
}

/* v54: Bradley uses the same enhanced chat workspace in strict view-only mode. */
.unified-client-chat.bradley-view-only-chat #unified-chat-composer,
.unified-client-chat.bradley-view-only-chat #workflow-quick-actions,
.unified-client-chat.bradley-view-only-chat .chat-message-menu,
.unified-client-chat.bradley-view-only-chat .chat-delete-btn{
  display:none!important;
}
.unified-client-chat.bradley-view-only-chat .workflow-view-only-state{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 10px;
  border:1px solid rgba(79,198,236,.28);
  border-radius:10px;
  background:rgba(19,51,68,.42);
  color:#9ed7e8;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.01em;
}
.unified-client-chat.bradley-view-only-chat .hadi-drop-classifier.is-view-only,
.unified-client-chat.bradley-view-only-chat .inquiry-followup-source.is-view-only{
  cursor:default;
}


/* v58: WhatsApp-style latest-message affordance + clock-only attendance. */
.chat-messages-wrap{position:relative}
.chat-jump-latest{
  position:absolute;right:18px;bottom:74px;z-index:18;width:52px;height:52px;border-radius:50%;
  border:1px solid rgba(164,190,207,.22);background:rgba(39,52,62,.94);color:#f4f8fb;
  display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.38);cursor:pointer;
  opacity:1;transform:translateY(0) scale(1);transition:opacity .16s ease,transform .16s ease,background .16s ease;
}
.chat-jump-latest[hidden]{display:none!important}
.chat-jump-latest:hover{background:rgba(54,70,82,.98);transform:translateY(-1px) scale(1.03)}
.chat-jump-latest:active{transform:translateY(0) scale(.96)}
.chat-jump-latest svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.bradley-view-only-chat .chat-jump-latest{bottom:18px}
.attendance-live-summary{display:flex;flex-wrap:wrap;gap:9px 16px;margin:8px 0 12px;padding:10px 12px;border:1px solid rgba(63,190,235,.2);border-radius:12px;background:rgba(7,31,46,.48);color:#a9bfd0;font-size:.82rem}
.attendance-live-summary[hidden]{display:none!important}
.attendance-live-summary strong{color:#effbff}
.early-clockout-card{width:min(520px,calc(100vw - 28px));max-width:520px}
.early-clockout-card textarea{min-height:110px;resize:vertical}
.early-clockout-error{margin:10px 0 0}
@media(max-width:640px){.chat-jump-latest{width:48px;height:48px;right:12px;bottom:70px}.bradley-view-only-chat .chat-jump-latest{bottom:12px}}


/* v103: preview-before-send Update Center voice composer. */
.admin-update-center { margin-top: 0; }
.workflow-voice-recorder {
  display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px 12px; margin-top:12px; padding:10px;
  border:1px solid rgba(71,199,255,.22); border-radius:13px;
  background:linear-gradient(145deg,rgba(6,30,49,.78),rgba(2,17,31,.74));
  box-shadow:inset 0 0 0 1px rgba(123,224,255,.04);
}
.workflow-voice-recorder > span { color:#86a9bf; font-size:.72rem; line-height:1.4; }
.workflow-voice-record-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:7px; width:auto; min-width:145px;
  min-height:40px; padding:9px 14px; border:1px solid rgba(82,210,255,.42); border-radius:10px;
  background:linear-gradient(145deg,rgba(11,112,169,.44),rgba(6,64,108,.48)); color:#d8f7ff;
  font-weight:850; letter-spacing:.01em; cursor:pointer; box-shadow:0 0 18px rgba(44,183,255,.08);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.workflow-voice-record-btn:hover { transform:translateY(-1px); border-color:rgba(143,235,255,.72); box-shadow:0 8px 22px rgba(0,0,0,.20),0 0 18px rgba(62,202,255,.14); }
.workflow-voice-record-btn.is-recording { border-color:rgba(255,112,136,.55); background:rgba(166,35,58,.24); color:#ffd5dd; box-shadow:0 0 0 3px rgba(255,78,112,.07),0 0 18px rgba(255,78,112,.08); }
.workflow-voice-record-btn.is-sending { border-color:rgba(94,222,255,.55); background:rgba(14,105,153,.34); color:#c8f5ff; cursor:progress; }
.workflow-voice-preview {
  grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:9px 12px;
  padding:9px; border:1px solid rgba(86,207,255,.20); border-radius:11px; background:rgba(2,14,27,.72);
}
.workflow-voice-preview[hidden]{display:none!important}
.workflow-voice-preview audio{width:100%;min-width:0;height:38px}
.workflow-voice-preview-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.workflow-voice-preview-actions button{width:auto;min-height:36px;padding:8px 11px;border-radius:9px;font-size:.72rem;font-weight:850;cursor:pointer}
.workflow-voice-send-btn{border:1px solid rgba(86,214,255,.48);background:rgba(14,112,166,.42);color:#d9f8ff}
.workflow-voice-rerecord-btn{border:1px solid rgba(145,196,226,.28);background:rgba(28,59,82,.54);color:#c9e8f7}
.workflow-voice-cancel-btn{border:1px solid rgba(255,130,150,.28);background:rgba(104,30,48,.28);color:#ffc2ce}
.workflow-voice-preview-actions button:hover{transform:translateY(-1px);filter:brightness(1.08)}
.workflow-voice-preview.is-sending{opacity:.64;pointer-events:none}
.workflow-update-audio { display:grid; gap:4px; margin:8px 0 10px; padding:8px; border:1px solid rgba(75,169,226,.13); border-radius:10px; background:rgba(2,12,24,.46); }
.workflow-update-audio audio { width:100%; min-height:38px; }
.workflow-update-audio small { color:#7892a5; font-size:.68rem; }
.member-update-card .workflow-update-audio { margin:8px 0 11px; }
@media(max-width:760px){.workflow-voice-recorder{grid-template-columns:1fr}.workflow-voice-record-btn{width:100%;min-width:0}.workflow-voice-recorder>span{text-align:center}.workflow-voice-preview{grid-template-columns:1fr}.workflow-voice-preview-actions{justify-content:stretch}.workflow-voice-preview-actions button{flex:1 1 110px}}

/* v89: cohesive light-blue chat controls + one-character client handles. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.twf-neon-icon-button img,.twf-neon-send-button img{display:block;object-fit:contain;pointer-events:none;user-select:none;image-rendering:auto;filter:drop-shadow(0 0 5px rgba(73,210,255,.26))}
.chat-workspace-controls .twf-neon-icon-button img{width:27px;height:27px}
.chat-maximize-btn.is-maximized img{transform:rotate(180deg) scale(.96);filter:brightness(1.13) drop-shadow(0 0 6px rgba(94,222,255,.32))}
.twf-minimize-control span,#member-update-minimize span{display:block;width:18px;height:2px;border-radius:999px;background:linear-gradient(90deg,#2bbdff,#8ceaff);box-shadow:0 0 9px rgba(67,205,255,.42)}
.twf-minimize-control.is-expand-state span,#member-update-minimize.is-expand-state span{height:18px;width:18px;background:none;box-shadow:none;position:relative}
.twf-minimize-control.is-expand-state span::before,.twf-minimize-control.is-expand-state span::after,#member-update-minimize.is-expand-state span::before,#member-update-minimize.is-expand-state span::after{content:"";position:absolute;left:8px;top:1px;width:2px;height:16px;border-radius:999px;background:linear-gradient(#9cf0ff,#2ab8ff);box-shadow:0 0 8px rgba(73,208,255,.38)}
.twf-minimize-control.is-expand-state span::after,#member-update-minimize.is-expand-state span::after{transform:rotate(90deg)}
.verification-attach-btn.twf-neon-icon-button{border:1px solid rgba(84,207,255,.45)!important;background:linear-gradient(145deg,rgba(9,48,78,.98),rgba(4,27,48,.99))!important;box-shadow:inset 0 0 0 1px rgba(141,235,255,.06),0 8px 22px rgba(0,0,0,.24),0 0 15px rgba(51,194,255,.07)!important}
.verification-attach-btn.twf-neon-icon-button img{width:29px;height:29px}
.verification-attach-btn.twf-neon-icon-button:hover{border-color:rgba(150,239,255,.85)!important;background:linear-gradient(145deg,rgba(11,61,95,.99),rgba(5,35,59,.99))!important;box-shadow:0 0 21px rgba(64,205,255,.18),inset 0 0 0 1px rgba(179,244,255,.10)!important}
.twf-neon-send-button{display:grid!important;place-items:center!important;width:64px!important;min-width:64px!important;height:48px!important;min-height:48px!important;padding:0!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(8,85,132,.99),rgba(4,48,82,.99))!important;border:1px solid rgba(72,207,255,.62)!important;box-shadow:0 8px 24px rgba(0,0,0,.32),0 0 20px rgba(51,199,255,.13),inset 0 0 0 1px rgba(144,235,255,.05)!important}
.twf-neon-send-button img{width:34px;height:34px}
.twf-neon-send-button:hover{transform:translateY(-1px);border-color:rgba(158,240,255,.92)!important;box-shadow:0 10px 26px rgba(0,0,0,.36),0 0 25px rgba(73,210,255,.22)!important}
.twf-neon-send-button:active{transform:translateY(0) scale(.97)}
.chat-jump-latest.twf-neon-icon-button{background:rgba(6,31,52,.98)!important;border-color:rgba(77,202,255,.55)!important;box-shadow:0 10px 28px rgba(0,0,0,.42),0 0 20px rgba(57,198,255,.13)!important}
.chat-jump-latest.twf-neon-icon-button img{width:32px;height:32px}
.chat-jump-latest.twf-neon-icon-button:hover{border-color:rgba(154,238,255,.80)!important;background:rgba(8,42,67,.99)!important}
.member-update-dock .update-dock-logo{padding:4px!important;background:rgba(4,24,40,.92)!important;border-color:rgba(80,206,255,.38)!important;filter:drop-shadow(0 0 7px rgba(59,201,255,.16))}
#member-update-minimize{display:grid;place-items:center}
.member-update-dock.is-collapsed #member-update-minimize{background-image:url('/images/ui/neon-updates.png?v=20260820v90')!important;background-size:66% auto!important;filter:drop-shadow(0 0 7px rgba(66,207,255,.27))}
.member-update-dock.is-collapsed #member-update-minimize::before{content:'+';position:absolute;right:8px;bottom:8px;z-index:3;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid rgba(152,239,255,.72);background:radial-gradient(circle at 35% 35%,rgba(145,241,255,.98),rgba(27,167,255,.92));box-shadow:0 0 12px rgba(65,205,255,.34),0 4px 10px rgba(0,0,0,.32);color:#05233a;font-size:.95rem;font-weight:900;line-height:1;}
.member-update-dock.is-collapsed #member-update-minimize::after{content:'';position:absolute;right:14px;bottom:13px;z-index:2;width:8px;height:2px;border-radius:999px;background:rgba(5,35,58,.92);box-shadow:0 0 6px rgba(4,27,46,.35);transform:rotate(90deg);display:none}
.member-update-dock.is-collapsed #member-update-minimize span{display:none!important}
@media(max-width:640px){.twf-neon-send-button{width:58px!important;min-width:58px!important;height:46px!important}.twf-neon-send-button img{width:31px;height:31px}.verification-attach-btn.twf-neon-icon-button img{width:27px;height:27px}}

/* v91: remove plus-sign affordances from minimized chat and updates heads. */
.twf-minimize-control.is-expand-state span,#member-update-minimize.is-expand-state span{height:0!important;width:0!important;background:none!important;box-shadow:none!important;}
.twf-minimize-control.is-expand-state span::before,.twf-minimize-control.is-expand-state span::after,#member-update-minimize.is-expand-state span::before,#member-update-minimize.is-expand-state span::after{content:none!important;display:none!important;}
.member-update-dock.is-collapsed #member-update-minimize::before,.member-update-dock.is-collapsed #member-update-minimize::after{content:none!important;display:none!important;}

/* v92 · John persistent Profit Shot gallery */
.profitshot-gallery-status{margin:4px 0 14px;color:#8eabc0;font-size:.78rem;line-height:1.45}
.profitshot-history-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.profitshot-history-item{min-width:0;overflow:hidden;border:1px solid rgba(82,192,249,.16);border-radius:14px;background:rgba(3,17,31,.66)}
.profitshot-history-image-button{display:block;width:100%;padding:0;border:0;background:rgba(2,12,24,.88);cursor:pointer}
.profitshot-history-image-button img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:rgba(2,12,24,.88)}
.profitshot-history-image-button:hover img{filter:brightness(1.06)}
.profitshot-history-meta{display:grid;gap:4px;padding:10px 11px}
.profitshot-history-meta strong{color:#dff6ff;font-size:.73rem;font-weight:800}
.profitshot-history-meta span{overflow:hidden;color:#7898ad;font-size:.68rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.profitshot-gallery-more{display:inline-flex;align-items:center;justify-content:center;width:auto;margin:16px auto 0;padding:10px 16px}
@media(max-width:980px){.profitshot-history-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.profitshot-history-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profitshot-history-meta{padding:8px}}


/* v93 compact on-demand inbox search */
.inbox-lane-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:6px 10px 4px;min-width:0}
.inbox-lane-toolbar .inbox-lane-tabs{flex:1;min-width:0;padding:0!important;margin:0!important}
.compact-inbox-search-toggle{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;min-width:38px;padding:0;border:1px solid rgba(91,205,255,.32);border-radius:11px;background:linear-gradient(145deg,rgba(9,48,78,.92),rgba(4,27,48,.96));color:#8fe8ff;box-shadow:inset 0 0 0 1px rgba(150,235,255,.04);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}
.compact-inbox-search-toggle svg,.compact-inbox-search-icon svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.compact-inbox-search-toggle:hover,.compact-inbox-search-toggle.is-active{border-color:rgba(140,231,255,.72);background:linear-gradient(145deg,rgba(12,73,110,.96),rgba(5,38,64,.98));box-shadow:0 0 18px rgba(61,202,255,.13),inset 0 0 0 1px rgba(168,239,255,.07)}
.compact-inbox-search-toggle:active{transform:scale(.96)}
.compact-inbox-search-panel{display:flex;align-items:center;gap:7px;margin:4px 10px 6px;padding:6px 8px;border:1px solid rgba(72,194,250,.28);border-radius:12px;background:rgba(4,27,45,.88);box-shadow:0 8px 22px rgba(0,0,0,.16)}
.compact-inbox-search-panel[hidden]{display:none!important}
.compact-inbox-search-icon{display:grid;place-items:center;color:#76dfff;flex:0 0 28px}
.compact-inbox-search-panel input{flex:1;min-width:0;height:34px;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#eaf8ff!important}
.compact-inbox-search-panel input::placeholder{color:#718da1}
.compact-inbox-search-panel>button{display:grid;place-items:center;width:30px;height:30px;min-width:30px;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.065);color:#9cb7c8;cursor:pointer}
.compact-inbox-search-panel>button:hover{background:rgba(94,200,245,.12);color:#e6f8ff}
.inbox-lane-toolbar.search-unavailable{display:none!important}
.unified-client-chat.enhanced-chat-workspace:not(.chat-sidebar--minimized) .inbox-lane-toolbar{grid-row:auto}
@media(max-width:600px){.inbox-lane-toolbar{padding:6px 8px 3px}.compact-inbox-search-toggle{flex-basis:36px;width:36px;height:36px;min-width:36px}.compact-inbox-search-panel{margin-inline:8px}}

/* v119 · universal top inbox search and manual follow-up routing */
.inbox-lane-toolbar{position:sticky;top:0;z-index:35;background:linear-gradient(180deg,rgba(3,21,35,.98),rgba(3,21,35,.94))}
.inbox-lane-toolbar.search-unavailable{display:flex!important}
.compact-inbox-search-panel{position:relative;z-index:34}
.manual-followup-control{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:8px;padding:7px 8px;border:1px solid rgba(74,194,241,.22);border-radius:10px;background:rgba(2,24,40,.68);color:#8ba9bc;font-size:.68rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.manual-followup-control select{min-width:118px;max-width:155px;height:30px;padding:0 27px 0 9px;border:1px solid rgba(95,205,249,.28);border-radius:8px;background:#061d30;color:#d9f5ff;font:inherit;text-transform:none;cursor:pointer}
.manual-followup-control select:focus{outline:2px solid rgba(77,208,255,.32);outline-offset:1px}
@media(max-width:520px){.manual-followup-control{align-items:flex-start;flex-direction:column}.manual-followup-control select{width:100%;max-width:none}}


/* v104 · Bradley top walking notification for voice and urgent updates */
.bradley-live-ticker{
  position:fixed;
  top:max(0px,env(safe-area-inset-top));
  left:0;
  right:0;
  z-index:10050;
  padding:7px clamp(8px,2vw,20px);
  pointer-events:none;
}
.bradley-live-ticker[hidden]{display:none!important}
.bradley-live-ticker>button{
  width:100%;
  min-height:42px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:7px 12px;
  overflow:hidden;
  border:1px solid rgba(83,210,255,.56);
  border-radius:13px;
  background:linear-gradient(90deg,rgba(3,25,44,.98),rgba(6,55,84,.98),rgba(3,25,44,.98));
  box-shadow:0 10px 28px rgba(0,0,0,.42),0 0 22px rgba(49,196,255,.16),inset 0 0 0 1px rgba(157,237,255,.05);
  color:#e9f9ff;
  cursor:pointer;
  pointer-events:auto;
}
.bradley-live-ticker.is-urgent>button{
  border-color:rgba(255,116,139,.64);
  background:linear-gradient(90deg,rgba(42,13,28,.98),rgba(83,20,40,.98),rgba(42,13,28,.98));
  box-shadow:0 10px 28px rgba(0,0,0,.44),0 0 24px rgba(255,73,111,.16),inset 0 0 0 1px rgba(255,190,202,.05);
}
.bradley-live-ticker-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(61,202,255,.14);
  color:#91eaff;
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.11em;
  white-space:nowrap;
}
.bradley-live-ticker.is-urgent .bradley-live-ticker-badge{background:rgba(255,78,112,.16);color:#ffc4cf}
.bradley-live-ticker-viewport{min-width:0;overflow:hidden;white-space:nowrap}
.bradley-live-ticker-text{
  display:inline-block;
  min-width:max-content;
  padding-left:100%;
  color:#f4fbff;
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.015em;
  animation:bradleyTickerWalk 10s linear infinite;
  will-change:transform;
}
.bradley-live-ticker-open{
  color:#87ddff;
  font-size:.65rem;
  font-weight:950;
  letter-spacing:.09em;
}
.bradley-live-ticker.is-urgent .bradley-live-ticker-open{color:#ffc4cf}
@keyframes bradleyTickerWalk{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media(max-width:620px){
  .bradley-live-ticker{padding:5px 6px}
  .bradley-live-ticker>button{grid-template-columns:auto minmax(0,1fr);gap:7px;padding:6px 8px}
  .bradley-live-ticker-open{display:none}
  .bradley-live-ticker-badge{font-size:.58rem;padding-inline:7px}
  .bradley-live-ticker-text{font-size:.76rem}
}
@media(prefers-reduced-motion:reduce){
  .bradley-live-ticker-text{padding-left:0;animation:none}
}


/* v105: optional sent voice deletion controls. */
.workflow-update-delete-btn,
.member-update-card .member-update-delete-btn {
  margin-top:8px;
  width:auto;
  min-width:112px;
  padding:7px 10px;
  border:1px solid rgba(255,103,127,.34);
  border-radius:9px;
  background:rgba(120,22,43,.16);
  color:#ff9caf;
  font-weight:800;
  cursor:pointer;
}
.workflow-update-delete-btn:hover,
.member-update-card .member-update-delete-btn:hover,
.workflow-update-delete-btn.is-confirming,
.member-update-card .member-update-delete-btn.is-confirming {
  border-color:rgba(255,125,146,.7);
  background:rgba(147,27,52,.28);
  color:#ffd0d8;
}
.workflow-update-delete-btn:disabled,
.member-update-card .member-update-delete-btn:disabled { opacity:.58; cursor:progress; }


/* v107 — WhatsApp-style reply attribution + drop destination metadata */
.chat-conversation-action {
  display:block;
  margin:2px 0 4px;
  color:#7f9eb2;
  font:700 .64rem/1.25 system-ui,sans-serif;
  letter-spacing:.01em;
  white-space:normal;
  overflow-wrap:anywhere;
}
.chat-conversation-action.is-reply { color:#71d6ff; }
.chat-conversation-action.is-drop { color:#91aaba; }
.verification-quoted-reply.whatsapp-quoted-reply {
  display:block;
  width:min(100%, 430px);
  margin:3px 0 6px;
  padding:6px 8px 6px 10px;
  border:0;
  border-left:3px solid #31c3ef;
  border-radius:7px;
  background:rgba(4,22,34,.68);
  box-shadow:none;
  overflow:hidden;
}
.verification-quoted-reply.whatsapp-quoted-reply strong {
  display:block;
  margin:0 0 2px;
  color:#5fd7ff!important;
  font-size:.66rem!important;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.verification-quoted-reply.whatsapp-quoted-reply span {
  display:block;
  color:#a8bac6;
  font-size:.70rem;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.verification-quoted-reply.whatsapp-quoted-reply:hover {
  border-left-color:#73e4ff;
  background:rgba(11,49,67,.72);
  transform:none;
}
@media (max-width:520px) {
  .verification-quoted-reply.whatsapp-quoted-reply { width:100%; max-width:100%; }
  .chat-conversation-action { font-size:.61rem; }
}


/* v109 — John-only ordered screenshot queue. */
.john-screenshot-queue-card {
  margin: 0 0 18px;
  padding: 16px 18px;
  border: 1px solid rgba(45, 196, 255, .24);
  background: linear-gradient(135deg, rgba(8, 25, 39, .96), rgba(7, 17, 31, .94));
  box-shadow: inset 3px 0 0 rgba(21, 183, 255, .9);
}
.john-screenshot-queue-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.john-screenshot-queue-head h3 { margin:3px 0 5px; }
.john-screenshot-queue-head p { margin:0; max-width:760px; color:#9eb5c5; font-size:.78rem; line-height:1.45; }
.john-screenshot-queue-badge { flex:0 0 auto; border:1px solid rgba(61,213,255,.32); border-radius:999px; padding:6px 10px; color:#76dbff; background:rgba(11,66,91,.25); font-size:.65rem; font-weight:900; letter-spacing:.08em; }
.john-screenshot-queue-progress { height:7px; margin:14px 0 10px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); }
.john-screenshot-queue-progress-bar { width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#1ab8ff,#70ebff); transition:width .3s ease; }
.john-screenshot-queue-status { display:grid; gap:3px; }
.john-screenshot-queue-status strong { color:#effaff; font-size:.9rem; }
.john-screenshot-queue-status span { color:#8da9ba; font-size:.72rem; line-height:1.4; }
.john-screenshot-queue-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.john-screenshot-queue-actions button { width:auto; min-width:128px; padding:8px 12px; }
.john-screenshot-queue-card.is-active .john-screenshot-queue-badge { color:#a7f8ff; border-color:rgba(77,233,255,.55); box-shadow:0 0 18px rgba(34,197,255,.12); }
.john-screenshot-queue-card.is-error { border-color:rgba(255,177,72,.38); box-shadow:inset 3px 0 0 rgba(255,170,58,.9); }
.john-screenshot-queue-card.is-error .john-screenshot-queue-badge { color:#ffd08a; border-color:rgba(255,177,72,.45); background:rgba(117,68,14,.22); }
.john-screenshot-queue-card.is-complete { border-color:rgba(61,224,168,.32); box-shadow:inset 3px 0 0 rgba(55,218,162,.9); }
.john-screenshot-queue-card.is-complete .john-screenshot-queue-badge { color:#8cf4ce; border-color:rgba(61,224,168,.42); background:rgba(15,93,68,.22); }
.john-screenshot-queue-card.is-cancelled { opacity:.8; }
@media(max-width:620px){
  .john-screenshot-queue-card{padding:13px 14px}
  .john-screenshot-queue-head{display:grid;gap:8px}
  .john-screenshot-queue-badge{justify-self:start}
  .john-screenshot-queue-actions{display:grid;grid-template-columns:1fr 1fr}
  .john-screenshot-queue-actions button{width:100%;min-width:0}
}


/* v111 · VA PayPal payment link on invoices */
#invoice-paypal-username { border-color:rgba(0,156,222,.30); }
#invoice-paypal-username:focus { border-color:rgba(0,196,255,.65); box-shadow:0 0 0 3px rgba(0,156,222,.10); }
.invoice-paypal-link,.finance-paypal-link { display:inline-flex; align-items:center; width:max-content; max-width:100%; margin:2px 0 9px; padding:7px 10px; border:1px solid rgba(76,190,255,.28); border-radius:999px; background:rgba(20,112,180,.14); color:#8edcff; font-size:.72rem; font-weight:800; text-decoration:none; overflow-wrap:anywhere; }
.invoice-paypal-link:hover,.finance-paypal-link:hover { border-color:rgba(82,215,255,.58); background:rgba(25,139,210,.22); color:#d9f8ff; }
.finance-invoice-identity .finance-paypal-link { margin-top:8px; }
.invoice-paper-paypal { color:#0866c6; font-weight:700; text-decoration:underline; overflow-wrap:anywhere; }
@media(max-width:640px){.invoice-paypal-link,.finance-paypal-link{width:100%;box-sizing:border-box;justify-content:center}.invoice-party-grid{grid-template-columns:1fr}}
@media print{.invoice-paper-paypal{color:#111;text-decoration:underline}}

/* v118 · Christian-only live KPI additions beside the operational activity summary */
.ops-mini-summary--christian-kpi{grid-template-columns:repeat(6,minmax(0,1fr))}
.ops-mini-summary--christian-kpi .ops-mini-summary-kpi{border-color:rgba(45,212,191,.28);background:linear-gradient(145deg,rgba(16,116,101,.16),rgba(1,13,27,.52))}
.ops-mini-summary--christian-kpi .ops-mini-summary-kpi strong{color:#65e4c5}
@media(max-width:1050px){.ops-mini-summary--christian-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.ops-mini-summary--christian-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v125 · Bradley password login + disclosed Jammy/Christian activity audit. */
.portal-audit-notice{
  position:fixed;left:12px;bottom:7px;z-index:2100;margin:0;padding:4px 7px;
  border:1px solid rgba(119,164,191,.14);border-radius:7px;background:rgba(3,12,22,.72);
  color:#7791a4;font-size:.58rem;line-height:1.25;letter-spacing:.01em;opacity:.66;
  pointer-events:none;backdrop-filter:blur(8px)
}
.portal-audit-notice details{pointer-events:auto}
.portal-audit-notice summary{cursor:pointer;list-style:none}
.portal-audit-notice summary span{text-decoration:underline}
.portal-audit-notice details p{margin:5px 0 0;max-width:min(520px,calc(100vw - 40px));color:#9fb6c6;font-size:.62rem;line-height:1.4}
.bradley-activity-monitor-card{width:min(980px,calc(100vw - 28px));max-height:min(880px,calc(100dvh - 28px));overflow:auto}
.bradley-activity-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:16px 0}
.bradley-activity-summary>div{min-width:0;padding:12px;border:1px solid rgba(70,180,240,.17);border-radius:11px;background:rgba(2,16,30,.56)}
.bradley-activity-summary span,.bradley-activity-summary strong{display:block;overflow:hidden;text-overflow:ellipsis}
.bradley-activity-summary span{color:#718da1;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.bradley-activity-summary strong{margin-top:5px;color:#dff7ff;font-size:.78rem;white-space:nowrap}
.bradley-session-security{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-2px 0 14px;padding:12px 14px;border:1px solid rgba(255,94,115,.3);border-radius:11px;background:rgba(75,8,22,.22)}
.bradley-session-security[hidden]{display:none}
.bradley-session-security strong,.bradley-session-security span{display:block}.bradley-session-security strong{color:#ffd8df;font-size:.8rem}.bradley-session-security span{margin-top:3px;color:#9e7f88;font-size:.68rem;line-height:1.4}
.bradley-session-security .btn-terminate{flex:0 0 auto;width:auto;white-space:nowrap}
.bradley-login-alert-overlay{z-index:6800;align-items:flex-start!important;justify-content:flex-end!important;padding:14px!important;background:transparent!important;backdrop-filter:none!important;pointer-events:none}
.bradley-login-alert-card{position:relative;width:min(330px,calc(100vw - 28px));padding:12px 34px 12px 14px!important;border:1px solid rgba(62,200,255,.45)!important;border-radius:14px!important;background:rgba(2,12,23,.96)!important;box-shadow:0 10px 30px rgba(0,0,0,.55),0 0 18px rgba(0,174,255,.12)!important;text-align:left;pointer-events:auto;animation:bradleyLoginAlertIn .25s ease-out}
.bradley-login-alert-overlay.is-dismissing .bradley-login-alert-card{animation:bradleyLoginAlertOut .3s ease-in forwards}
.bradley-login-alert-badge{display:inline-flex;padding:2px 8px;border:1px solid rgba(83,214,255,.38);border-radius:999px;background:rgba(0,136,204,.14);color:#75dcff;font-size:.56rem;font-weight:900;letter-spacing:.12em}
.bradley-login-alert-card h2{margin:6px 0 6px;font-size:.98rem;line-height:1.2;color:#f2fbff;text-shadow:none}
.bradley-login-alert-close{position:absolute;top:6px;right:6px;width:24px;height:24px;min-height:0!important;min-width:0!important;padding:0;border:0;border-radius:6px;background:transparent;color:#8fb3c6;font-size:1.15rem;line-height:1;cursor:pointer}
.bradley-login-alert-close:hover{background:rgba(66,190,240,.18);color:#fff}
.bradley-login-alert-details{display:grid;grid-template-columns:1fr;gap:3px;margin:0}
.bradley-login-alert-details>div{display:flex;gap:8px;align-items:baseline;min-width:0;padding:0;border:0;border-radius:0;background:transparent}
.bradley-login-alert-details span{flex:0 0 auto;min-width:92px;color:#7292a5;font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.bradley-login-alert-details strong{display:block;margin:0;color:#e6f9ff;font-size:.74rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
@keyframes bradleyLoginAlertIn{from{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes bradleyLoginAlertOut{to{opacity:0;transform:translateY(-18px) scale(.98)}}
.bradley-activity-toolbar{display:grid;grid-template-columns:auto minmax(170px,280px) auto;align-items:center;gap:9px;margin-bottom:12px}
.bradley-activity-toolbar label{color:#88a7ba;font-size:.68rem;font-weight:800;text-transform:uppercase}
.bradley-activity-toolbar .custom-input{margin:0}.bradley-activity-toolbar button{width:auto}
.bradley-activity-list{display:grid;gap:8px;max-height:500px;overflow:auto;padding-right:3px}
.bradley-activity-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.065);border-radius:11px;background:rgba(2,14,27,.56)}
.bradley-activity-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(58,193,248,.22);border-radius:10px;background:rgba(19,103,151,.14);color:#70d7ff;font-size:.72rem;font-weight:900}
.bradley-activity-copy{min-width:0}.bradley-activity-copy strong,.bradley-activity-copy span{display:block;overflow-wrap:anywhere}
.bradley-activity-copy strong{color:#dceefa;font-size:.8rem}.bradley-activity-copy span{margin-top:4px;color:#7892a5;font-size:.68rem;line-height:1.45}
.bradley-activity-row time{color:#6ebee5;font-size:.65rem;white-space:nowrap}.bradley-activity-row.is-security{border-color:rgba(61,221,184,.2)}
.bradley-activity-row.is-security .bradley-activity-icon{border-color:rgba(61,221,184,.28);background:rgba(22,135,108,.13);color:#70e4c7}
.bradley-activity-more{width:100%;margin-top:11px}.bradley-activity-retention{margin:10px 0 0;color:#667f91;font-size:.65rem;text-align:center}
@media(max-width:720px){.bradley-activity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bradley-session-security{align-items:stretch;flex-direction:column}.bradley-session-security .btn-terminate{width:100%}.bradley-login-alert-overlay{padding-top:12px!important}.bradley-login-alert-card{padding:23px 18px!important}.bradley-login-alert-details{grid-template-columns:1fr}.bradley-activity-row{grid-template-columns:36px minmax(0,1fr)}.bradley-activity-row time{grid-column:2}.bradley-activity-icon{width:34px;height:34px}.bradley-activity-toolbar{grid-template-columns:1fr}.bradley-activity-toolbar button{width:100%}}


/* v129 - identifier chips for transfers, follow-ups and movements.
   qa.css gives every <button> min-height:44px; these are compact secondary controls, so they set their own height. */
.twf-id-badges { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; }
.twf-id-chip { display: inline-flex; align-items: center; min-height: 26px; height: auto; padding: 0 8px; font: 600 10px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .02em; border-radius: 999px; border: 1px solid rgba(120, 200, 255, .38); background: rgba(20, 60, 90, .35); color: #9fd8ff; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.twf-id-chip:hover { background: rgba(40, 110, 160, .5); }
.twf-id-chip.is-static { min-height: 0; padding: 3px 8px; margin-top: 4px; cursor: default; }

/* v129 - daily KPI report buttons */
.daily-report-actions { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 6px 8px; }
.daily-report-btn { min-height: 34px; padding: 0 12px; font-size: 11px; font-weight: 600; border-radius: 8px; border: 1px solid rgba(120, 200, 255, .38); background: rgba(20, 60, 90, .35); color: #9fd8ff; cursor: pointer; }
.daily-report-btn:hover { background: rgba(40, 110, 160, .5); }

/* v129 - the long Flow placeholder was clipped to one line on phones */
@media (max-width: 480px) { #chat-message-input::placeholder { font-size: 13px; } }

/* v129 - Client Registry panel */
.client-registry-card { min-width: 0; }
.cr-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin: 10px 0 6px; }
.cr-tabs { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.cr-tab, .cr-btn { min-height: 36px; padding: 0 14px; font-size: 12px; font-weight: 600; border-radius: 8px; border: 1px solid rgba(120, 200, 255, .3); background: rgba(10, 40, 66, .45); color: #bfe6ff; cursor: pointer; }
.cr-tab.is-active { background: linear-gradient(135deg, #0aa7e8, #0678b5); color: #fff; border-color: transparent; }
.cr-tab:hover:not(.is-active), .cr-btn:hover { background: rgba(40, 110, 160, .5); }
.cr-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; min-width: 0; }
.cr-controls .custom-input { min-height: 36px; padding: 0 10px; font-size: 12px; }
.cr-search { min-width: 220px; flex: 1 1 220px; }
.cr-stats { font-size: 12px; color: #9fc2d8; min-height: 18px; margin: 4px 0 8px; }
.cr-table-wrap { overflow-x: auto; max-width: 100%; border: 1px solid rgba(120, 200, 255, .16); border-radius: 10px; }
.cr-table { width: 100%; border-collapse: collapse; font-size: 12px; min-width: 640px; }
.cr-table th { text-align: left; padding: 8px 10px; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: #8fc4e4; background: rgba(8, 36, 60, .7); white-space: nowrap; }
.cr-table td { padding: 8px 10px; border-top: 1px solid rgba(120, 200, 255, .1); vertical-align: top; overflow-wrap: anywhere; }
.cr-muted { color: #8aa9bd; font-size: 11px; }
.cr-tag { display: inline-block; font-size: 10px; padding: 1px 6px; border-radius: 999px; background: rgba(255, 190, 60, .15); color: #ffd27a; border: 1px solid rgba(255, 190, 60, .3); vertical-align: middle; }
.cr-empty { padding: 22px 12px; text-align: center; color: #9fc2d8; border: 1px dashed rgba(120, 200, 255, .25); border-radius: 10px; font-size: 13px; }
.cr-empty.cr-error { color: #ffb3b3; border-color: rgba(255, 120, 120, .4); }
.cr-group-title { margin: 14px 0 6px; font-size: 14px; color: #dff3ff; }
.cr-hint { margin-top: 10px; font-size: 11px; color: #8aa9bd; line-height: 1.5; }
.cr-hint code, .cr-empty code { background: rgba(8, 36, 60, .7); padding: 1px 5px; border-radius: 4px; font-size: 11px; color: #bfe6ff; }

/* v129 - Tradequo Support tab: make the active desk (HADI vs Tradequo) unmistakable */
.support-inbox-tabs .hadi-support-tab.is-active {
  border-color: #8aeaff;
  box-shadow: inset 0 0 22px rgba(0, 200, 255, .22), 0 0 0 2px rgba(67, 216, 255, .5), 0 0 22px rgba(0, 196, 255, .4);
}

.cr-tag-broker { background: rgba(60, 200, 255, .14); color: #8fe3ff; border-color: rgba(60, 200, 255, .35); }

/* v129 - Tradequo IB roster */
.ib-roster-row--tradequo strong { color: #8fe3ff; }
.tradequo-ib-import { display: grid; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(120, 200, 255, .2); }
.tradequo-ib-import textarea { min-height: 96px; resize: vertical; }
.cr-tag-roster { background: rgba(80, 220, 140, .14); color: #8ff0b8; border-color: rgba(80, 220, 140, .35); }
.cr-tag-warn { background: rgba(255, 130, 90, .12); color: #ffb08f; border-color: rgba(255, 130, 90, .35); }

.cr-roster { margin-top: 12px; border: 1px solid rgba(120, 200, 255, .2); border-radius: 10px; padding: 8px 12px; }
.cr-roster summary { cursor: pointer; font-size: 12px; font-weight: 700; color: #9fd8ff; }
.cr-roster .tradequo-ib-import { margin-top: 8px; padding-top: 0; border-top: 0; }

/* v129 - Bradley's automatic leaderboards: Vantage | Tradequo */
.monthly-updates-layout--single { grid-template-columns: 1fr !important; }
.bl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 12px; }
.bl-col { display: grid; gap: 12px; align-content: start; min-width: 0; }
.bl-col-title { margin: 0; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #8fe3ff; }
.bl-card { border: 1px solid rgba(120, 200, 255, .2); border-radius: 12px; padding: 12px 14px; background: rgba(6, 28, 48, .55); min-width: 0; }
.bl-card h5 { margin: 0 0 8px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #8aa9bd; }
.bl-leader { padding: 8px 10px; border-radius: 10px; background: linear-gradient(135deg, rgba(14, 140, 200, .22), rgba(8, 60, 100, .25)); border: 1px solid rgba(90, 210, 255, .3); }
.bl-crown { display: inline-block; font-size: 9.5px; font-weight: 800; letter-spacing: .14em; color: #ffd27a; }
.bl-name { display: block; margin-top: 2px; font-size: 1.12rem; line-height: 1.25; color: #fff; overflow-wrap: anywhere; }
.bl-sub { font-size: 11px; font-weight: 500; color: #8ff0b8; }
.bl-stat { margin-top: 3px; font-size: 12px; color: #bfe6ff; }
.bl-rest { margin: 8px 0 0; padding-left: 20px; font-size: 12px; color: #cfe9f7; }
.bl-rest li { padding: 3px 0; }
.bl-rest li span:first-child { display: inline-block; max-width: 62%; overflow-wrap: anywhere; }
.bl-rest li span:last-child { float: right; color: #8aa9bd; }
.bl-rest li::after { content: ''; display: block; clear: both; }
.bl-currency { margin: 10px 0 6px; font-size: 12px; font-weight: 700; color: #dff3ff; }
.bl-currency:first-child { margin-top: 0; }
@media (max-width: 760px) { .bl-grid { grid-template-columns: 1fr; } }

/* v129 - verification flow strip: status + who got movement */
.vf-strip { display: grid; gap: 5px; margin-top: 8px; padding: 8px 10px; border-radius: 10px; background: rgba(2, 14, 26, .55); border: 1px solid rgba(120, 200, 255, .22); font-size: 11px; color: #cfe9f7; text-align: left; }
.vf-pill { justify-self: start; padding: 2px 8px; border-radius: 999px; font-size: 9.5px; font-weight: 800; letter-spacing: .1em; border: 1px solid rgba(255, 190, 60, .45); background: rgba(255, 190, 60, .14); color: #ffd27a; }
.vf-verified .vf-pill { border-color: rgba(80, 220, 140, .5); background: rgba(80, 220, 140, .14); color: #8ff0b8; }
.vf-nodata .vf-pill { border-color: rgba(255, 130, 90, .5); background: rgba(255, 130, 90, .14); color: #ffb08f; }
.vf-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; padding: 4px 0; border-top: 1px solid rgba(120, 200, 255, .12); }
.vf-role { flex: 0 0 auto; min-width: 82px; font-size: 9.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #7f9fb3; }
.vf-who { flex: 1 1 60px; min-width: 0; font-weight: 700; color: #fff; overflow-wrap: break-word; word-break: normal; }
.vf-what { flex: 1 1 100%; display: inline-flex; gap: 6px; align-items: center; flex-wrap: wrap; justify-content: flex-start; padding-left: 0; }
.vf-move { color: #8ff0b8; font-weight: 700; }
.vf-wait { color: #7f9fb3; font-style: italic; }
.vf-strip .twf-id-chip { min-height: 22px; font-size: 9px; padding: 0 6px; }

/* v129 - moving "Bradley is online" ticker for staff */
.bradley-ticker { position: fixed; top: 0; left: 0; right: 0; z-index: 6700; height: 30px; display: flex; align-items: center; background: linear-gradient(90deg, #06324f, #0a5d8f 50%, #06324f); border-bottom: 1px solid rgba(120, 220, 255, .45); box-shadow: 0 2px 12px rgba(0, 0, 0, .45); }
.bradley-ticker[hidden] { display: none; }
.bradley-ticker-window { flex: 1 1 auto; min-width: 0; overflow: hidden; }
.bradley-ticker-track { display: inline-flex; white-space: nowrap; animation: bradleyTickerMove 22s linear infinite; will-change: transform; }
.bradley-ticker:hover .bradley-ticker-track { animation-play-state: paused; }
.bradley-ticker-item { padding: 0 64px; font-size: 12px; font-weight: 800; letter-spacing: .08em; color: #eaffff; }
.bradley-ticker-close { flex: 0 0 auto; width: 30px; height: 30px; min-width: 0 !important; min-height: 0 !important; padding: 0; border: 0; background: rgba(0, 0, 0, .22); color: #cfeeff; font-size: 18px; line-height: 1; cursor: pointer; }
.bradley-ticker-close:hover { background: rgba(255, 255, 255, .18); color: #fff; }
body.has-bradley-ticker { padding-top: 30px; }
@keyframes bradleyTickerMove { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .bradley-ticker-track { animation: none; } .bradley-ticker-window { overflow: auto; } }
body.has-bradley-ticker .chat-toast-stack { top: 40px !important; }

/* v129 - shift handover notes */
.handover-card { min-width: 0; }
.handover-count { align-self: start; padding: 4px 12px; border-radius: 999px; border: 1px solid rgba(120, 200, 255, .3); font-size: 11px; font-weight: 800; letter-spacing: .08em; color: #8aa9bd; }
.handover-count.is-active { color: #ffd27a; border-color: rgba(255, 190, 60, .5); background: rgba(255, 190, 60, .12); }
.ho-compose { display: grid; gap: 8px; margin: 8px 0 12px; }
.ho-compose textarea { min-height: 76px; resize: vertical; }
.ho-compose-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ho-compose-row input { flex: 1 1 180px; min-width: 0; }
.ho-compose-row select { flex: 0 0 auto; }
.ho-status { min-height: 16px; color: #9fc2d8; font-size: 11.5px; }
.ho-list { display: grid; gap: 10px; }
.ho-note { padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(120, 200, 255, .22); background: rgba(6, 28, 48, .55); min-width: 0; }
.ho-note.is-high { border-color: rgba(255, 190, 60, .55); background: rgba(60, 40, 6, .35); }
.ho-note.is-done { opacity: .78; }
.ho-note header { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 4px; }
.ho-tag { padding: 1px 8px; border-radius: 999px; font-size: 9.5px; font-weight: 800; letter-spacing: .1em; border: 1px solid rgba(120, 200, 255, .35); color: #9fd8ff; }
.ho-tag-high { color: #ffd27a; border-color: rgba(255, 190, 60, .55); background: rgba(255, 190, 60, .14); }
.ho-tag-carried { color: #ffb08f; border-color: rgba(255, 130, 90, .45); background: rgba(255, 130, 90, .1); }
.ho-tag-done { color: #8ff0b8; border-color: rgba(80, 220, 140, .5); background: rgba(80, 220, 140, .12); }
.ho-by { margin-left: auto; font-size: 11px; color: #8aa9bd; }
.ho-text { margin: 4px 0; font-size: 13px; line-height: 1.45; color: #e6f4fb; white-space: pre-wrap; overflow-wrap: anywhere; }
.ho-ref { display: block; color: #9fc2d8; font-size: 11.5px; }
.ho-updates { list-style: none; margin: 8px 0 0; padding: 8px 0 0; border-top: 1px solid rgba(120, 200, 255, .15); display: grid; gap: 4px; font-size: 12px; color: #cfe9f7; }
.ho-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; }
.ho-actions input { flex: 1 1 160px; min-width: 0; min-height: 34px; font-size: 12px; }
.ho-actions .cr-btn { min-height: 34px; padding: 0 12px; }
.ho-done-btn { border-color: rgba(80, 220, 140, .5); color: #8ff0b8; }
.ho-delete-btn { border-color: rgba(255, 120, 120, .35); color: #ffb3b3; }
.ho-done { margin-top: 10px; }
.ho-done summary { cursor: pointer; font-size: 12px; font-weight: 700; color: #9fd8ff; margin-bottom: 8px; }
.ho-done > div { display: grid; gap: 8px; }
.bl-rest .bl-sub { margin-left: 6px; }

/* v129 - inbox list order: a quiet divider before the less used inboxes */
.inbox-more-label { grid-column: 1 / -1; display: block; margin: 8px 6px 2px; font-size: 9.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #6f8ea2; border-top: 1px solid rgba(120, 200, 255, .16); padding-top: 8px; }

/* v129 - long client lists scroll inside their own box (up/down and sideways) instead of stretching the page */
.cr-scroll { max-height: min(64vh, 640px); overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(120, 200, 255, .45) rgba(8, 36, 60, .6); }
.cr-scroll .cr-table thead th { position: sticky; top: 0; z-index: 2; box-shadow: 0 1px 0 rgba(120, 200, 255, .25); }
.cr-scroll::-webkit-scrollbar { width: 9px; height: 9px; }
.cr-scroll::-webkit-scrollbar-thumb { background: rgba(120, 200, 255, .4); border-radius: 8px; }
.cr-scroll::-webkit-scrollbar-track { background: rgba(8, 36, 60, .5); }
.cr-scroll .cr-table thead th { background: #0a2a44; }
