/* ─────────────────────────────────────────────────────────────────────
   MAJLIS — Board Intelligence Platform
   Design tokens + components.  Legacy class names are aliased to the
   new tokens at the bottom so the existing markup adopts the new look.
   ───────────────────────────────────────────────────────────────────── */

:root {
  --bg-base: #0B0F1A;
  --bg-surface: #111827;
  --bg-elevated: #1C2333;
  --bg-hover: #232D42;
  --border-subtle: rgba(255,255,255,0.06);
  --border-default: rgba(255,255,255,0.10);
  --border-emphasis: rgba(255,255,255,0.18);
  --border-color: rgba(255,255,255,0.08);
  --gold: #C6A96B;
  --gold-light: #E8D5A3;
  --gold-dim: rgba(198,169,107,0.15);
  --gold-dim-border: rgba(198,169,107,0.25);
  --text-primary: #F8F9FA;
  --text-secondary: rgba(248,249,250,0.78);
  --text-muted: rgba(248,249,250,0.55);
  --success: #10B981;
  --success-dim: rgba(16,185,129,0.12);
  --warning: #F59E0B;
  --warning-dim: rgba(245,158,11,0.12);
  --danger: #EF4444;
  --danger-dim: rgba(239,68,68,0.12);
  --info: #3B82F6;
  --info-dim: rgba(59,130,246,0.12);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --shadow-card: 0 1px 3px rgba(0,0,0,0.4);
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --transition: all 0.18s ease;
  /* Legacy aliases — keep older code paths visually consistent */
  --text-2: rgba(248,249,250,0.55);
  --border: rgba(255,255,255,0.10);
  --bg-2: #1C2333;
  --accent: #C6A96B;
  --danger: #EF4444;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body {
  background: var(--bg-base);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--gold); text-decoration: none; }
a:hover { color: var(--gold-light); }
h1,h2,h3,h4 { font-family: var(--font-display); color: var(--text-primary); font-weight: 600; letter-spacing: -0.3px; }
h1 { font-size: 28px; line-height: 1.2; }
h2 { font-size: 22px; line-height: 1.25; }
h3 { font-size: 17px; line-height: 1.3; }
h4 { font-size: 14px; }

/* ── Layout ────────────────────────────────────────────────────────── */
.app-layout { display: flex; height: 100vh; overflow: hidden; background: var(--bg-base); }
.sidebar { width: 260px; flex-shrink: 0; background: var(--bg-surface); border-right: 0.5px solid var(--border-subtle); display: flex; flex-direction: column; overflow-y: auto; }
.sidebar-header { padding: 28px 20px 20px; border-bottom: 0.5px solid var(--border-subtle); }
.sidebar-section-label { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--text-muted); padding: 20px 20px 8px; font-weight: 500; }
.main-content { flex: 1; overflow-y: auto; padding: 32px 36px; }
.nav-item { display: flex; align-items: center; gap: 10px; padding: 9px 20px; font-size: 13px; color: var(--text-secondary); cursor: pointer; transition: var(--transition); border-left: 2px solid transparent; }
.nav-item:hover { color: var(--text-primary); background: rgba(255,255,255,0.03); }
.nav-item.active { color: var(--gold); background: var(--gold-dim); border-left-color: var(--gold); }
.nav-item svg { opacity: 0.7; flex-shrink: 0; }
.nav-item.active svg { opacity: 1; }

/* ── Cards ─────────────────────────────────────────────────────────── */
.card { background: var(--bg-surface); border: 0.5px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 24px; transition: var(--transition); }
.card:hover { border-color: var(--border-default); }
.card-elevated, .card.elevated { background: var(--bg-elevated); border: 0.5px solid var(--border-default); border-radius: var(--radius-lg); padding: 24px; }

/* ── Page header ───────────────────────────────────────────────────── */
.page-header { margin-bottom: 32px; }
.page-title { font-family: var(--font-display); font-size: 28px; font-weight: 600; color: var(--text-primary); letter-spacing: -0.3px; line-height: 1.2; }
.page-subtitle { font-size: 13px; color: var(--text-secondary); margin-top: 6px; }
.gold-rule { width: 48px; height: 2px; background: linear-gradient(90deg, var(--gold), transparent); margin-top: 12px; border-radius: 2px; }

/* ── Stats ─────────────────────────────────────────────────────────── */
.stat-grid, .stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; margin-bottom: 32px; }
.stat-card, .stat { background: var(--bg-elevated); border: 0.5px solid var(--border-subtle); border-radius: var(--radius-md); padding: 20px; }
.stat-value, .stat .val { font-size: 28px; font-weight: 600; color: var(--text-primary); line-height: 1; font-family: var(--font-display); }
.stat-label, .stat .lbl { font-size: 11px; color: var(--text-muted); margin-top: 6px; letter-spacing: 0.5px; text-transform: uppercase; }
.stat-divider { width: 32px; height: 1.5px; background: linear-gradient(90deg, var(--gold), transparent); margin: 8px 0; border-radius: 2px; }
.stat.warning .val { color: var(--warning); }
.stat.info .val { color: var(--info); }
.stat.success .val { color: var(--success); }
.stat.danger .val { color: var(--danger); }

/* ── Buttons ───────────────────────────────────────────────────────── */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 18px; border-radius: var(--radius-sm); font-size: 13px; font-weight: 500; cursor: pointer; transition: var(--transition); border: none; font-family: var(--font-body); background: transparent; color: var(--text-primary); }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }
.btn-primary, .btn.gold { background: var(--gold); color: #0B0F1A; }
.btn-primary:hover, .btn.gold:hover { background: var(--gold-light); }
.btn-secondary { background: transparent; color: var(--gold); border: 0.5px solid var(--gold-dim-border); }
.btn-secondary:hover { background: var(--gold-dim); }
.btn-ghost, .btn.ghost { background: transparent; color: var(--text-secondary); border: 0.5px solid var(--border-default); }
.btn-ghost:hover, .btn.ghost:hover { color: var(--text-primary); border-color: var(--border-emphasis); }
.btn-danger, .btn.danger { background: transparent; color: var(--danger); border: 0.5px solid rgba(239,68,68,0.25); }
.btn-danger:hover, .btn.danger:hover { background: var(--danger-dim); }
.btn-success, .btn.success { background: var(--success); color: #0B0F1A; }
.btn-sm, .btn.small { padding: 6px 12px; font-size: 12px; }

/* ── Badges ────────────────────────────────────────────────────────── */
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 500; line-height: 1.4; }
.badge-dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.badge-gold, .badge.gold { background: var(--gold-dim); color: var(--gold); border: 0.5px solid var(--gold-dim-border); }
.badge-success, .badge.success { background: var(--success-dim); color: var(--success); border: 0.5px solid rgba(16,185,129,0.2); }
.badge-danger, .badge.danger, .badge.high { background: var(--danger-dim); color: var(--danger); border: 0.5px solid rgba(239,68,68,0.2); }
.badge-warning, .badge.warning { background: var(--warning-dim); color: var(--warning); border: 0.5px solid rgba(245,158,11,0.2); }
.badge-info, .badge.info { background: var(--info-dim); color: var(--info); border: 0.5px solid rgba(59,130,246,0.2); }
.badge-muted, .badge.neutral { background: rgba(255,255,255,0.05); color: var(--text-secondary); border: 0.5px solid var(--border-subtle); }

/* ── Tables ────────────────────────────────────────────────────────── */
.data-table, .tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.data-table th, .tbl th { text-align: left; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted); padding: 10px 16px; border-bottom: 0.5px solid var(--border-subtle); font-weight: 500; }
.data-table td, .tbl td { padding: 14px 16px; border-bottom: 0.5px solid var(--border-subtle); color: var(--text-secondary); vertical-align: middle; }
.data-table tr:hover td, .tbl tr:hover td { background: rgba(255,255,255,0.02); color: var(--text-primary); }
.data-table tr:last-child td, .tbl tr:last-child td { border-bottom: none; }
.tbl tr.row-overdue td { background: rgba(239,68,68,0.04); }
.tbl tr.row-high td { box-shadow: inset 3px 0 0 var(--danger); }

/* ── Forms ─────────────────────────────────────────────────────────── */
.form-group { margin-bottom: 20px; }
.form-label { display: block; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; font-weight: 500; }
.form-input, input[type=text], input[type=email], input[type=password], input[type=date], input[type=datetime-local], input[type=number], input[type=file], textarea, select {
  width: 100%; background: var(--bg-elevated); border: 0.5px solid var(--border-default); border-radius: var(--radius-sm);
  padding: 10px 14px; font-size: 13px; color: var(--text-primary); font-family: var(--font-body);
  transition: var(--transition); outline: none;
}
.form-input:focus, input:focus, textarea:focus, select:focus { border-color: var(--gold); background: rgba(198,169,107,0.04); }
.form-input::placeholder, input::placeholder, textarea::placeholder { color: var(--text-muted); }
textarea { resize: vertical; min-height: 80px; line-height: 1.6; }
select option { background: var(--bg-elevated); color: var(--text-primary); }
label { display: block; font-size: 12px; color: var(--text-secondary); margin-bottom: 12px; }
label > input, label > select, label > textarea { margin-top: 6px; }

/* ── Auth form (legacy) ────────────────────────────────────────────── */
.auth-form { display: flex; flex-direction: column; gap: 14px; }
.auth-err { background: var(--danger-dim); color: var(--danger); border: 0.5px solid rgba(239,68,68,0.2); padding: 10px 14px; border-radius: var(--radius-sm); font-size: 12px; }

/* ── Modal ─────────────────────────────────────────────────────────── */
.modal-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.75); z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 1rem; box-sizing: border-box; }
.modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.7); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 24px; backdrop-filter: blur(4px); }
.modal-container { position: relative; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 14px; width: 100%; max-height: 90vh; overflow-y: auto; }
.modal { background: var(--bg-surface); border: 0.5px solid var(--border-default); border-radius: var(--radius-xl); padding: 36px; width: 100%; max-width: 520px; max-height: 90vh; overflow-y: auto; }
.modal-lg { max-width: 720px; }
.modal-xl { max-width: 920px; }
.modal-header { margin-bottom: 28px; }
.modal-title { font-family: var(--font-display); font-size: 22px; font-weight: 600; color: var(--text-primary); }
.modal-subtitle { font-size: 13px; color: var(--text-secondary); margin-top: 4px; }

/* ── Login ─────────────────────────────────────────────────────────── */
.login-page, .auth-shell { min-height: 100vh; background: var(--bg-base); display: flex; align-items: center; justify-content: center; padding: 24px; }
.login-card, .auth-card { background: var(--bg-surface); border: 0.5px solid var(--border-default); border-radius: var(--radius-xl); padding: 48px; width: 100%; max-width: 440px; }
.login-logo { display: flex; align-items: center; gap: 14px; margin-bottom: 40px; }
.login-title { font-family: var(--font-display); font-size: 24px; font-weight: 600; color: var(--text-primary); }
.login-subtitle { font-size: 9px; letter-spacing: 2.5px; text-transform: uppercase; color: rgba(198,169,107,0.65); margin-top: 3px; }

/* ── Logo lockup ───────────────────────────────────────────────────── */
.logo-lockup { display: flex; align-items: center; gap: 12px; }
.logo-text-main { font-family: var(--font-display); font-size: 22px; font-weight: 600; color: #FFFFFF; letter-spacing: -0.3px; line-height: 1; }
.logo-text-sub { font-size: 9px; letter-spacing: 2.5px; text-transform: uppercase; color: rgba(198,169,107,0.65); margin-top: 3px; }
.logo-arabic { font-size: 13px; color: rgba(198,169,107,0.55); margin-top: 2px; font-weight: 400; }

/* ── Top navigation (legacy) ───────────────────────────────────────── */
.dash-shell { display: flex; flex-direction: column; min-height: 100vh; background: var(--bg-base); }
.topnav { display: flex; align-items: center; gap: 16px; padding: 16px 28px; background: var(--bg-surface); border-bottom: 0.5px solid var(--border-subtle); }
.topnav .topnav-title { font-family: var(--font-display); font-size: 18px; font-weight: 600; flex: 1; }
.dash-content { padding: 32px 36px; max-width: 1400px; margin: 0 auto; width: 100%; }
.welcome { margin-bottom: 28px; }
.welcome h1 { margin-bottom: 6px; }

/* ── Company cards ─────────────────────────────────────────────────── */
.company-grid, .grid.grid-2 { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.grid.grid-3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.company-card { background: var(--bg-surface); border: 0.5px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 24px; cursor: pointer; transition: var(--transition); }
.company-card:hover { border-color: var(--gold-dim-border); background: var(--bg-elevated); transform: translateY(-1px); }
.company-avatar { width: 44px; height: 44px; border-radius: var(--radius-sm); background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 18px; font-weight: 600; color: var(--gold); margin-bottom: 16px; }
.company-name { font-size: 16px; font-weight: 500; color: var(--text-primary); margin-bottom: 4px; }
.company-meta { font-size: 12px; color: var(--text-muted); }

/* ── Action kanban ─────────────────────────────────────────────────── */
.kanban { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; align-items: start; }
.kanban.kanban-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.kanban-col, .kanban-column { background: var(--bg-elevated); border: 0.5px solid var(--border-subtle); border-radius: var(--radius-lg); overflow: hidden; padding: 0; }
.kanban-header { padding: 14px 16px; border-bottom: 0.5px solid var(--border-subtle); display: flex; align-items: center; justify-content: space-between; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; font-weight: 500; color: var(--text-secondary); background: transparent; }
.kanban-header.status-created { color: var(--warning); }
.kanban-header.status-acknowledged { color: var(--info); }
.kanban-header.status-in_progress { color: var(--gold); }
.kanban-header.status-submitted { color: var(--danger); }
.kanban-header.status-closed_rejected { color: var(--success); }
.kanban-cards { padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.action-card, .kanban-card { background: var(--bg-surface); border: 0.5px solid var(--border-subtle); border-radius: var(--radius-md); padding: 14px; cursor: pointer; transition: var(--transition); margin: 12px; }
.kanban-col .kanban-card { margin: 0 12px 10px; }
.action-card:hover, .kanban-card:hover { border-color: var(--border-default); background: var(--bg-hover); transform: translateY(-1px); }
.action-card.gold-urgent, .kanban-card.gold-urgent { border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold-dim-border); }
.action-card.overdue, .kanban-card.overdue { border-left: 2px solid var(--danger); }
.action-card.prio-high, .kanban-card.prio-high { box-shadow: inset 3px 0 0 var(--danger); }

/* ── AI Chat ───────────────────────────────────────────────────────── */
.chat-container, .ai-chat { display: flex; flex-direction: column; height: 60vh; background: var(--bg-elevated); border-radius: var(--radius-lg); border: 0.5px solid var(--border-subtle); overflow: hidden; }
.chat-messages, .ai-msgs { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 16px; background: transparent; }
.chat-message-user, .ai-bubble.ai-user { align-self: flex-end; background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border); border-radius: 12px 12px 2px 12px; padding: 10px 14px; max-width: 75%; font-size: 13px; color: var(--text-primary); }
.chat-message-ai, .ai-bubble.ai-assistant { align-self: flex-start; background: var(--bg-surface); border: 0.5px solid var(--border-default); border-radius: 12px 12px 12px 2px; padding: 10px 14px; max-width: 85%; font-size: 13px; color: var(--text-secondary); line-height: 1.6; }
.chat-input-row, .ai-input { padding: 16px; border-top: 0.5px solid var(--border-subtle); display: flex; gap: 10px; }
.chat-input { flex: 1; background: var(--bg-surface); border: 0.5px solid var(--border-default); border-radius: var(--radius-sm); padding: 10px 14px; font-size: 13px; color: var(--text-primary); outline: none; font-family: var(--font-body); }
.chat-input:focus { border-color: var(--gold); }
.ai-input textarea { flex: 1; }

/* ── Notification banner ───────────────────────────────────────────── */
.notification-banner { background: rgba(198,169,107,0.06); border: 0.5px solid var(--gold-dim-border); border-radius: var(--radius-md); padding: 16px 20px; display: flex; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
.notification-banner-body { flex: 1; font-size: 13px; color: var(--text-secondary); }
.notification-banner-title { font-size: 14px; font-weight: 500; color: var(--text-primary); margin-bottom: 4px; }

/* ── Tabs ──────────────────────────────────────────────────────────── */
.tab-bar { display: flex; gap: 4px; border-bottom: 0.5px solid var(--border-subtle); margin-bottom: 28px; }
.tab { padding: 10px 16px; font-size: 13px; color: var(--text-muted); cursor: pointer; border-bottom: 2px solid transparent; transition: var(--transition); margin-bottom: -0.5px; }
.tab:hover { color: var(--text-secondary); }
.tab.active { color: var(--gold); border-bottom-color: var(--gold); }

/* ── Voting ────────────────────────────────────────────────────────── */
.vote-btn-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin: 20px 0; }
.vote-btn { padding: 16px; border-radius: var(--radius-md); font-size: 13px; font-weight: 500; cursor: pointer; transition: var(--transition); border: 0.5px solid; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.vote-btn-for { background: var(--success-dim); color: var(--success); border-color: rgba(16,185,129,0.2); }
.vote-btn-for:hover { background: rgba(16,185,129,0.2); }
.vote-btn-against { background: var(--danger-dim); color: var(--danger); border-color: rgba(239,68,68,0.2); }
.vote-btn-against:hover { background: rgba(239,68,68,0.2); }
.vote-btn-abstain { background: rgba(255,255,255,0.04); color: var(--text-secondary); border-color: var(--border-default); }
.voting-block { border-left: 3px solid var(--gold); }
.resolution-text { white-space: pre-wrap; background: var(--bg-elevated); padding: 14px; border-radius: var(--radius-sm); margin: 12px 0; border: 0.5px solid var(--border-subtle); font-size: 13px; color: var(--text-secondary); }
.tally-bar { display: flex; height: 28px; border-radius: var(--radius-sm); overflow: hidden; background: var(--bg-elevated); margin: 10px 0 4px; font-size: 11px; color: var(--text-primary); font-weight: 600; }
.tally-bar > div { display: flex; align-items: center; justify-content: center; padding: 0 6px; min-width: 0; transition: width .3s; }
.tally-bar > div:empty { display: none; }
.bar-for { background: var(--success); color: #0B0F1A; }
.bar-against { background: var(--danger); }
.bar-abstain { background: rgba(255,255,255,0.15); color: var(--text-secondary); }
.vote-form { background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border); padding: 16px; border-radius: var(--radius-md); margin-top: 12px; }
.vote-locked { background: var(--success-dim); border: 0.5px solid rgba(16,185,129,0.2); padding: 14px; border-radius: var(--radius-md); margin-top: 12px; }
.rationale-box { background: var(--bg-surface); padding: 10px; border-radius: var(--radius-sm); margin: 6px 0; border: 0.5px solid var(--border-subtle); white-space: pre-wrap; font-size: 13px; }
.voting-form { background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border); padding: 16px; border-radius: var(--radius-md); margin: 12px 0; }
.voting-form h3 { color: var(--gold); margin-top: 0; }
.rejected-box { border-left: 3px solid var(--danger); background: var(--danger-dim); }

/* ── Comments ──────────────────────────────────────────────────────── */
.comments-box { display: flex; flex-direction: column; gap: 10px; }
.comment { background: var(--bg-elevated); padding: 12px 14px; border-radius: var(--radius-sm); border: 0.5px solid var(--border-subtle); }

/* ── Action drawer ─────────────────────────────────────────────────── */
.action-drawer .meta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; font-size: 13px; color: var(--text-secondary); }

/* ── Confidential badge ────────────────────────────────────────────── */
.confidential-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: var(--danger-dim); border: 0.5px solid rgba(239,68,68,0.2); border-radius: var(--radius-sm); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--danger); font-weight: 500; }

/* ── Helpers ───────────────────────────────────────────────────────── */
.row { display: flex; align-items: center; gap: 10px; }
.muted { color: var(--text-muted); }
/* Card metadata lines must be readable (Fix 2-D): bump .muted inside cards/list rows */
.card .muted, .meeting-card .muted, .action-card .muted, .side-list-row .muted,
.side-card .muted, .side-list .muted, .suggestion-card .muted { color: var(--text-secondary); opacity: 1; }
.small { font-size: 12px; }
.text-red { color: var(--danger); }
.text-gold { color: var(--gold); }
.toast { position: fixed; bottom: 24px; right: 24px; background: var(--bg-elevated); border: 0.5px solid var(--gold-dim-border); color: var(--text-primary); padding: 12px 18px; border-radius: var(--radius-md); z-index: 2000; box-shadow: var(--shadow-card); }

/* ── Markdown ──────────────────────────────────────────────────────── */
.md p { margin-bottom: 10px; }
.md ul, .md ol { margin: 8px 0 12px 20px; }
.md li { margin: 4px 0; }
.md code { background: var(--bg-elevated); padding: 1px 6px; border-radius: 4px; font-size: 12px; color: var(--gold-light); font-family: ui-monospace, SFMono-Regular, monospace; }
.md strong { color: var(--text-primary); }
.md h1, .md h2, .md h3 { margin: 14px 0 8px; }

/* ── Citations ─────────────────────────────────────────────────────── */
.cite-chip { display: inline-flex; align-items: center; gap: 4px; background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border); color: var(--gold); padding: 1px 8px; border-radius: 12px; font-size: 11px; margin: 0 3px; }

/* ── Scrollbar ─────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.10); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.20); }

/* ── Page transitions ──────────────────────────────────────────────── */
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.page-enter { animation: fadeIn 0.2s ease forwards; }

/* ── Inline icon helper ────────────────────────────────────────────── */
.icon { display: inline-flex; align-items: center; justify-content: center; vertical-align: -3px; }
.icon-sm { width: 14px; height: 14px; }

/* ── Disclaimer / footer ───────────────────────────────────────────── */
.disclaimer { font-size: 11px; color: var(--text-muted); padding: 8px 12px; border-left: 2px solid var(--gold-dim-border); background: rgba(198,169,107,0.04); margin: 16px 0; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }

/* ── Legacy layout classes (Phase 0/1 markup) ──────────────────────── */
.app { display: flex; min-height: 100vh; background: var(--bg-base); }
.main { flex: 1; padding: 28px 32px; overflow-y: auto; }
.topbar { display: flex; align-items: center; gap: 16px; padding: 12px 20px; background: var(--bg-surface); border-bottom: 0.5px solid var(--border-subtle); }

/* Sidebar (Phase 0) */
.sidebar .sb-head { padding: 24px 20px 16px; border-bottom: 0.5px solid var(--border-subtle); display: flex; align-items: center; gap: 12px; }
.sb-logo { width: 40px; height: 40px; border-radius: var(--radius-sm); background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); color: var(--gold); font-weight: 600; }
.sidebar .sb-head .name { font-size: 14px; font-weight: 500; color: var(--text-primary); }
.sidebar .sb-head .ticker { font-size: 11px; color: var(--text-muted); margin-top: 2px; letter-spacing: 1px; }
.sb-nav { padding: 12px 0; }
.sb-section { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--text-muted); padding: 16px 20px 8px; font-weight: 500; }
.sb-item { display: flex; align-items: center; gap: 10px; padding: 9px 20px; font-size: 13px; color: var(--text-secondary); cursor: pointer; transition: var(--transition); border-left: 2px solid transparent; }
.sb-item:hover { color: var(--text-primary); background: rgba(255,255,255,0.03); }
.sb-item.active { color: var(--gold); background: var(--gold-dim); border-left-color: var(--gold); }
.sb-item.disabled { opacity: 0.4; cursor: not-allowed; }
.sb-item .icon { display: inline-flex; align-items: center; justify-content: center; width: 16px; opacity: 0.85; }
.sb-item .badge { margin-left: auto; }
.sb-footer { padding: 16px 20px; border-top: 0.5px solid var(--border-subtle); }

/* Admin layout */
.admin-body { display: flex; flex: 1; overflow: hidden; }
.admin-side { width: 220px; background: var(--bg-surface); border-right: 0.5px solid var(--border-subtle); padding: 20px 0; flex-shrink: 0; }
.admin-main { flex: 1; padding: 32px 36px; overflow-y: auto; }

/* Auth screen */
.auth-screen { min-height: 100vh; background: var(--bg-base); display: flex; align-items: center; justify-content: center; padding: 24px; background-image: radial-gradient(circle at 20% 30%, rgba(198,169,107,0.04), transparent 50%), radial-gradient(circle at 80% 70%, rgba(198,169,107,0.03), transparent 50%); }
.auth-card { background: var(--bg-surface); border: 0.5px solid var(--border-default); border-radius: var(--radius-xl); padding: 44px; width: 100%; max-width: 440px; box-shadow: 0 20px 60px rgba(0,0,0,0.4); }
.auth-card h1 { margin-top: 16px; }
.auth-sub { font-size: 12px; color: var(--text-secondary); margin: 4px 0 24px; letter-spacing: 0.3px; }
.auth-meta { margin-top: 18px; font-size: 12px; color: var(--text-muted); text-align: center; }

/* Upload screen */
.upload-screen { min-height: 100vh; background: var(--bg-base); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 24px; gap: 18px; }
.upload-screen .logo { font-family: var(--font-display); font-size: 28px; font-weight: 600; color: var(--text-primary); }
.upload-screen .sub { font-size: 12px; color: var(--text-secondary); letter-spacing: 0.3px; margin-bottom: 8px; }
.upload-zone { width: 100%; max-width: 600px; border: 1px dashed var(--gold-dim-border); border-radius: var(--radius-lg); padding: 60px 40px; text-align: center; cursor: pointer; background: var(--bg-surface); transition: var(--transition); }
.upload-zone:hover, .upload-zone.drag { border-color: var(--gold); background: var(--gold-dim); }
.upload-zone .big { font-size: 16px; color: var(--text-primary); font-weight: 500; }
.upload-zone .small { font-size: 12px; color: var(--text-muted); margin-top: 6px; }
.demo-banner { background: rgba(245,158,11,0.10); border: 0.5px solid rgba(245,158,11,0.25); color: var(--warning); padding: 10px 16px; border-radius: var(--radius-sm); font-size: 12px; }

/* Loading screen */
.loading-screen { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--bg-base); padding: 24px; }
.loading-card { background: var(--bg-surface); border: 0.5px solid var(--border-default); border-radius: var(--radius-xl); padding: 40px; max-width: 480px; width: 100%; }
.loading-card .progress { height: 4px; background: var(--bg-elevated); border-radius: 2px; overflow: hidden; margin: 16px 0; }
.loading-card .bar { height: 100%; background: linear-gradient(90deg, var(--gold), var(--gold-light)); transition: width 0.3s; }

/* Notification banner (legacy) */
.notif-banner { background: rgba(198,169,107,0.06); border: 0.5px solid var(--gold-dim-border); border-radius: var(--radius-md); padding: 16px 20px; display: flex; align-items: flex-start; gap: 16px; margin: 16px 36px 0; }
.notif-body { flex: 1; }
.notif-title { font-size: 14px; font-weight: 500; color: var(--text-primary); margin-bottom: 4px; }
.notif-msg { font-size: 13px; color: var(--text-secondary); }

/* Empty state */
.empty { padding: 32px; text-align: center; color: var(--text-muted); border: 1px dashed var(--border-subtle); border-radius: var(--radius-md); background: var(--bg-surface); }

/* Chips / starters */
.chip { display: inline-block; padding: 4px 10px; background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border); color: var(--gold); border-radius: 12px; font-size: 11px; margin: 2px; }
.starter-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.starter-chip { background: var(--bg-elevated); border: 0.5px solid var(--border-default); color: var(--text-secondary); padding: 6px 12px; border-radius: 14px; font-size: 12px; cursor: pointer; transition: var(--transition); }
.starter-chip:hover { border-color: var(--gold-dim-border); color: var(--gold); }

/* User chip in nav */
.user-chip { display: flex; align-items: center; gap: 10px; }
.user-chip .avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border); color: var(--gold); display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: 12px; }
.user-chip .name { font-size: 13px; color: var(--text-primary); line-height: 1.2; }
.user-chip .role { font-size: 10px; color: var(--text-muted); letter-spacing: 1.5px; text-transform: uppercase; }

/* Severity badges */
.sev-high { background: var(--danger-dim); color: var(--danger); border: 0.5px solid rgba(239,68,68,0.2); padding: 2px 8px; border-radius: 10px; font-size: 11px; }
.sev-medium { background: var(--warning-dim); color: var(--warning); border: 0.5px solid rgba(245,158,11,0.2); padding: 2px 8px; border-radius: 10px; font-size: 11px; }
.sev-low { background: rgba(255,255,255,0.05); color: var(--text-secondary); border: 0.5px solid var(--border-subtle); padding: 2px 8px; border-radius: 10px; font-size: 11px; }

/* Badge alert variant */
.badge.alert { background: var(--danger-dim); color: var(--danger); border: 0.5px solid rgba(239,68,68,0.2); }

/* Heading block */
.heading-block { margin-bottom: 24px; }
.heading-block h2 { margin-bottom: 4px; }
.heading-block .desc { font-size: 13px; color: var(--text-secondary); }

/* Password input with eye toggle */
.pw-wrap { position: relative; display: block; margin-top: 6px; }
.pw-wrap input { width: 100%; padding-right: 40px; }
.pw-toggle {
  position: absolute; top: 50%; right: 8px; transform: translateY(-50%);
  background: transparent; border: none; padding: 6px; border-radius: 4px;
  color: var(--text-muted); cursor: pointer; display: inline-flex;
  align-items: center; justify-content: center; transition: var(--transition);
}
.pw-toggle:hover { color: var(--gold); background: var(--gold-dim); }
.pw-toggle:focus-visible { outline: 1px solid var(--gold); outline-offset: 1px; }

/* Grids (legacy) */
.grid { display: grid; gap: 16px; }
.grid.cols-2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.grid.cols-3 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

/* Inline icon + text alignment helper */
.inline-icon { display: inline-flex; align-items: center; gap: 6px; vertical-align: middle; }
.inline-icon .icon { flex-shrink: 0; }
button .icon, .btn .icon, a.btn .icon { vertical-align: -2px; margin-right: 4px; }

/* ── Global dark form controls (overrides UA defaults) ────────────────── */
input, select, textarea {
  background: #1C2333 !important;
  color: #F8F9FA !important;
  border: 0.5px solid rgba(255,255,255,0.10) !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
}
input:focus, select:focus, textarea:focus {
  border-color: #C6A96B !important;
  outline: none !important;
  background: rgba(198,169,107,0.04) !important;
}
input::placeholder, textarea::placeholder {
  color: rgba(248,249,250,0.30) !important;
}
input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"], input[type="week"] {
  color-scheme: dark;
}
select option { background: #1C2333 !important; color: #F8F9FA !important; }
input[type="checkbox"], input[type="radio"] {
  accent-color: #C6A96B;
  width: auto !important;
  background: transparent !important;
  border: none !important;
}
input[type="file"] {
  padding: 8px !important;
}
input[type="file"]::file-selector-button {
  background: var(--gold-dim);
  color: var(--gold);
  border: 0.5px solid var(--gold-dim-border);
  border-radius: 6px;
  padding: 6px 12px;
  margin-right: 10px;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 12px;
}
input[type="file"]::file-selector-button:hover { background: rgba(198,169,107,0.25); }
/* Autofill — kill the white Chrome background */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #1C2333 inset !important;
  -webkit-text-fill-color: #F8F9FA !important;
  caret-color: #F8F9FA !important;
  transition: background-color 9999s ease-in-out 0s;
}

/* ── Phase 5: Governance, Effectiveness, KPIs ──────────────────────── */
.modal-bg { position: fixed; inset: 0; background: rgba(0,0,0,0.7); display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 24px; backdrop-filter: blur(4px); }
.modal-wide { max-width: 760px !important; }
.grid.grid-4 { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.error { color: var(--danger); font-size: 13px; }
.grow { flex: 1; }

.progress-bar { width: 100%; height: 8px; background: rgba(255,255,255,0.06); border-radius: 4px; overflow: hidden; }
.progress-fill { height: 100%; transition: width 0.3s ease; background: var(--text-secondary); }
.progress-fill.success { background: var(--success); }
.progress-fill.warning { background: var(--warning); }
.progress-fill.high { background: var(--danger); }

/* Governance tab layout */
.gov-grid { display: grid; grid-template-columns: 320px 1fr; gap: 16px; align-items: start; }
@media (max-width: 900px) { .gov-grid { grid-template-columns: 1fr; } }
.gov-side .card { padding: 16px; margin-bottom: 12px; }
.gov-side .card h4 { font-size: 13px; }
.convo-item { padding: 8px 10px; border-radius: 6px; cursor: pointer; margin-bottom: 4px; border: 0.5px solid transparent; }
.convo-item:hover { background: rgba(255,255,255,0.04); }
.convo-item.active { background: var(--gold-dim); border-color: var(--gold-dim-border); }

.gov-chat { display: flex; flex-direction: column; min-height: 600px; }
.gov-messages { flex: 1; overflow-y: auto; padding: 16px 4px; min-height: 400px; max-height: 60vh; }
.gov-msg { display: flex; margin-bottom: 12px; }
.gov-msg.user { justify-content: flex-end; }
.gov-msg.assistant { justify-content: flex-start; }
.gov-msg-bubble { max-width: 85%; padding: 12px 16px; border-radius: 12px; line-height: 1.5; }
.gov-msg.user .gov-msg-bubble { background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border); color: var(--text-primary); }
.gov-msg.assistant .gov-msg-bubble { background: var(--bg-elevated); border: 0.5px solid var(--border-subtle); color: var(--text-primary); }
.chip-row { display: flex; flex-wrap: wrap; gap: 6px; }
.chip-row .chip { cursor: pointer; padding: 8px 12px; font-size: 12px; transition: all 0.15s; }
.chip-row .chip:hover { background: var(--gold); color: #0B0F1A; }

/* Board members + KPI cards */
.bm-card { padding: 16px; }
.bm-avatar { width: 48px; height: 48px; border-radius: 50%; background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border); color: var(--gold); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 16px; flex-shrink: 0; }
.kpi-card { padding: 16px; }

/* ── Phase 6: Stage progress ─────────────────────────────────────────── */
.stage-progress { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; padding: 14px 16px; background: var(--surface); border: 0.5px solid var(--gold-dim-border); border-radius: 8px; }
.stage-dot { display: inline-flex; flex-direction: column; align-items: center; min-width: 96px; }
.stage-num { width: 28px; height: 28px; border-radius: 50%; background: var(--surface-elev); color: var(--text-muted); border: 1px solid var(--gold-dim-border); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
.stage-dot.done .stage-num { background: var(--gold); color: var(--navy-deep); border-color: var(--gold); }
.stage-dot.current .stage-num { box-shadow: 0 0 0 4px var(--gold-dim); }
.stage-label { margin-top: 6px; font-size: 11px; color: var(--text-muted); letter-spacing: 0.5px; text-transform: uppercase; text-align: center; }
.stage-dot.done .stage-label { color: var(--text-primary); }
.stage-bar { flex: 1; min-width: 20px; height: 2px; background: var(--gold-dim-border); margin-bottom: 24px; }
.stage-bar.done { background: var(--gold); }

/* ── Phase 6: Org chart tree ─────────────────────────────────────────── */
.org-tree-wrap { overflow-x: auto; padding: 20px 0; }
.org-tree, .org-tree ul { list-style: none; margin: 0; padding: 0; position: relative; display: flex; justify-content: center; }
.org-tree ul { padding-top: 24px; gap: 16px; }
.org-tree li { position: relative; padding: 0 12px; text-align: center; }
.org-tree li::before, .org-tree li::after {
  content: ''; position: absolute; top: -12px; height: 12px; border-top: 1px solid var(--gold-dim-border);
}
.org-tree li::before { right: 50%; left: 0; }
.org-tree li::after { left: 50%; right: 0; }
.org-tree li:only-child::before, .org-tree li:only-child::after { display: none; }
.org-tree li:first-child::before, .org-tree li:last-child::after { border: 0; }
.org-tree li:first-child::after, .org-tree li:last-child::before { border-top-left-radius: 4px; border-top-right-radius: 4px; }
.org-tree > li::before, .org-tree > li::after { display: none; }
.org-tree li > .org-node::before {
  content: ''; position: absolute; left: 50%; top: -12px; width: 1px; height: 12px; background: var(--gold-dim-border);
}
.org-tree > li > .org-node::before { display: none; }
.org-node { display: inline-block; padding: 10px 14px; background: var(--surface-elev); border: 0.5px solid var(--gold-dim-border); border-radius: 6px; min-width: 140px; position: relative; }
.org-name { font-weight: 600; color: var(--text-primary); font-size: 13px; }
.org-title { font-size: 11px; }

/* ── Phase 6: Strategy pillars ────────────────────────────────────────── */
.pillar-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.pillar-card { background: var(--surface-elev); border: 0.5px solid var(--gold-dim-border); border-radius: 8px; padding: 14px; }

/* ── Phase 6: Minutes document styling ────────────────────────────────── */
.minutes-doc { background: var(--surface); border: 0.5px solid var(--gold-dim-border); border-radius: 6px; padding: 18px 22px; font-family: Georgia, 'Times New Roman', serif; line-height: 1.6; color: var(--text-primary); }
.minutes-doc pre { margin: 0; font-family: inherit; font-size: 14px; }
.notes-area.minutes-edit { font-family: Georgia, 'Times New Roman', serif; line-height: 1.6; min-height: 480px; }

/* ── Phase 6: Modal ──────────────────────────────────────────────────── */
.modal-back { position: fixed; inset: 0; background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; z-index: 1000; }
.modal { background: var(--surface); border: 0.5px solid var(--gold-dim-border); border-radius: 8px; padding: 22px; min-width: 400px; max-width: 600px; max-height: 90vh; overflow: auto; }

/* ── Phase 11: RTL / Arabic ──────────────────────────────────────────── */
html[dir="rtl"] body { font-family: 'Tajawal', 'Cairo', 'Segoe UI', Tahoma, Arial, sans-serif; }
html[dir="rtl"] .topnav { flex-direction: row-reverse; }
html[dir="rtl"] .admin-body { flex-direction: row-reverse; }
html[dir="rtl"] .admin-side { border-right: none; border-left: 0.5px solid var(--gold-dim-border); }
html[dir="rtl"] .sb-item { flex-direction: row-reverse; text-align: right; }
html[dir="rtl"] .stat-row, html[dir="rtl"] .row { direction: rtl; }
html[dir="rtl"] .tbl th, html[dir="rtl"] .tbl td { text-align: right; }
html[dir="rtl"] .btn { direction: rtl; }
html[dir="rtl"] .modal { text-align: right; }
html[dir="rtl"] .auth-form label { text-align: right; }
html[dir="rtl"] input, html[dir="rtl"] textarea { text-align: right; }
html[dir="rtl"] .topnav-title { margin-left: 0; margin-right: 8px; }

/* ============================================================================
   Phase 7A — Messaging, Search, Annotations
   ============================================================================ */

/* Floating action buttons */
.p7a-fab-stack { position: fixed; bottom: 24px; right: 24px; display: flex; flex-direction: column; gap: 12px; z-index: 999; }
.p7a-fab { width: 48px; height: 48px; border-radius: 24px; border: 1px solid var(--gold, #C9A85B);
  background: #0E0E10; color: #C9A85B; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,0.4);
  display: flex; align-items: center; justify-content: center; position: relative; }
.p7a-fab:hover { background: #1a1a1f; transform: translateY(-1px); }
.p7a-fab-badge { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 9px; background: #c0392b; color: #fff; font-size: 10px; font-weight: 600;
  display: flex; align-items: center; justify-content: center; }

/* Global search overlay */
.gs-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.7); z-index: 1000;
  display: flex; align-items: flex-start; justify-content: center; padding-top: 80px; }
.gs-panel { width: min(720px, 92vw); max-height: 80vh; background: #161618; border: 1px solid #2a2a30;
  border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 12px 40px rgba(0,0,0,0.6); }
.gs-header { display: flex; align-items: center; gap: 8px; padding: 12px; border-bottom: 1px solid #2a2a30; }
.gs-input { flex: 1; background: transparent; border: none; outline: none; color: #fff;
  font-size: 16px; font-family: var(--font-body, Inter); }
.gs-company { background: #0E0E10; color: #ddd; border: 1px solid #2a2a30; padding: 4px 8px; border-radius: 4px; }
.gs-close { background: transparent; border: none; color: #888; font-size: 18px; cursor: pointer; padding: 4px 8px; }
.gs-close:hover { color: #fff; }
.gs-err { padding: 8px 12px; color: #ff6b6b; background: rgba(255,107,107,0.1); }
.gs-loading { padding: 16px; color: #888; text-align: center; }
.gs-body { overflow-y: auto; padding: 12px; }
.gs-meta { color: #888; font-size: 12px; margin-bottom: 12px; }
.gs-empty { color: #888; padding: 24px; text-align: center; }
.gs-synthesis { background: rgba(201,168,91,0.1); border-left: 3px solid #C9A85B;
  padding: 12px; margin-bottom: 16px; border-radius: 4px; color: #ddd; }
.gs-synthesis-label { color: #C9A85B; font-size: 11px; text-transform: uppercase;
  letter-spacing: 0.05em; margin-bottom: 6px; font-weight: 600; }
.gs-group { margin-bottom: 18px; }
.gs-group-label { color: #C9A85B; font-size: 11px; text-transform: uppercase;
  letter-spacing: 0.05em; font-weight: 600; margin-bottom: 8px; }
.gs-result { padding: 10px; border: 1px solid #2a2a30; border-radius: 4px; margin-bottom: 6px;
  cursor: default; }
.gs-result:hover { background: #1c1c20; }
.gs-result-title { color: #fff; font-weight: 500; margin-bottom: 4px; }
.gs-result-preview { color: #aaa; font-size: 13px; line-height: 1.4; }
.gs-result-date { color: #666; font-size: 11px; margin-top: 4px; }
.gs-footer { padding: 8px 12px; border-top: 1px solid #2a2a30; color: #666; font-size: 11px; }
.gs-footer kbd { background: #0E0E10; border: 1px solid #2a2a30; padding: 1px 5px; border-radius: 3px;
  font-size: 10px; color: #aaa; }

/* Messaging modal/page */
.p7a-msg-modal { position: fixed; inset: 0; background: #0a0a0c; z-index: 998; overflow: hidden; }
.msg-page { display: flex; flex-direction: column; height: 100vh; background: #0a0a0c; color: #ddd; }
.msg-topbar { display: flex; align-items: center; gap: 12px; padding: 12px 20px; border-bottom: 1px solid #2a2a30;
  background: #0E0E10; }
.msg-title { font-size: 18px; font-weight: 600; color: #C9A85B; flex: 1; }
.msg-err { padding: 8px 16px; background: rgba(255,107,107,0.15); color: #ff8a8a;
  display: flex; justify-content: space-between; align-items: center; }
.msg-err button { background: transparent; border: none; color: inherit; cursor: pointer; }
.msg-layout { flex: 1; display: grid; grid-template-columns: 320px 1fr; overflow: hidden; }
.msg-list { border-right: 1px solid #2a2a30; overflow-y: auto; }
.msg-empty { color: #888; padding: 24px; text-align: center; }
.msg-thread { padding: 12px 16px; border-bottom: 1px solid #1c1c20; cursor: pointer; }
.msg-thread:hover { background: #161618; }
.msg-thread.active { background: #1c1c20; border-left: 3px solid #C9A85B; padding-left: 13px; }
.msg-thread-title { color: #fff; font-weight: 500; display: flex; align-items: center; gap: 6px; }
.msg-unread { background: #C9A85B; color: #0a0a0c; min-width: 18px; height: 18px; border-radius: 9px;
  font-size: 10px; font-weight: 700; padding: 0 5px; display: inline-flex;
  align-items: center; justify-content: center; margin-left: auto; }
.msg-thread-preview { color: #999; font-size: 12px; margin-top: 4px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msg-thread-date { color: #666; font-size: 10px; margin-top: 4px; }
.msg-thread-view { display: flex; flex-direction: column; overflow: hidden; }
.msg-thread-header { padding: 12px 20px; border-bottom: 1px solid #2a2a30;
  display: flex; align-items: center; justify-content: space-between; }
.msg-thread-name { color: #fff; font-weight: 600; }
.msg-thread-members { color: #888; font-size: 12px; margin-top: 2px; }
.msg-ai-summary { background: rgba(201,168,91,0.1); border-left: 3px solid #C9A85B;
  padding: 12px 16px; margin: 8px; border-radius: 4px; position: relative; }
.msg-ai-label { color: #C9A85B; font-size: 11px; text-transform: uppercase;
  letter-spacing: 0.05em; font-weight: 600; margin-bottom: 6px; }
.msg-ai-summary ul { margin: 8px 0 0 16px; }
.msg-ai-close { position: absolute; top: 8px; right: 8px; background: transparent;
  border: none; color: #888; cursor: pointer; }
.msg-messages { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.msg-bubble-row { display: flex; gap: 8px; align-items: flex-end; }
.msg-bubble-row.own { flex-direction: row-reverse; }
.msg-avatar { width: 32px; height: 32px; border-radius: 16px; background: #2a2a30; color: #C9A85B;
  display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;
  flex-shrink: 0; }
.msg-bubble { background: #1c1c20; padding: 8px 12px; border-radius: 12px; max-width: 70%;
  border: 1px solid #2a2a30; }
.msg-bubble.own { background: rgba(201,168,91,0.15); border-color: #C9A85B; }
.msg-bubble.deleted { font-style: italic; color: #777; }
.msg-bubble-sender { color: #C9A85B; font-size: 11px; font-weight: 600; margin-bottom: 4px; }
.msg-bubble-content { color: #eee; line-height: 1.4; white-space: pre-wrap; word-break: break-word; }
.msg-bubble-meta { color: #777; font-size: 10px; margin-top: 4px;
  display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.msg-del { background: transparent; border: none; color: #777; cursor: pointer; padding: 0; font-size: 11px; }
.msg-del:hover { color: #ff6b6b; }
.msg-compose { padding: 12px 16px; border-top: 1px solid #2a2a30; background: #0E0E10;
  display: flex; gap: 8px; align-items: flex-end; }
.msg-compose textarea { flex: 1; background: #161618; border: 1px solid #2a2a30; color: #fff;
  padding: 8px 12px; border-radius: 6px; resize: vertical; min-height: 40px; max-height: 120px;
  font-family: var(--font-body, Inter); font-size: 14px; }
.msg-compose textarea:focus { outline: none; border-color: #C9A85B; }
.msg-member-list { max-height: 280px; overflow-y: auto; border: 1px solid #2a2a30;
  border-radius: 4px; padding: 4px; }
.msg-member-row { display: flex; align-items: center; gap: 8px; padding: 6px;
  cursor: pointer; color: #ddd; }
.msg-member-row:hover { background: #1c1c20; }
.msg-member-role { color: #888; font-size: 11px; margin-left: auto; }

/* PDF annotation overlay (basic, used by future PDFViewer) */
.pdf-anno-overlay { position: absolute; pointer-events: none; }
.pdf-anno { position: absolute; border-radius: 2px; pointer-events: auto; cursor: pointer; }
.pdf-anno.highlight { background: rgba(255,215,0,0.35); }
.pdf-anno.note { width: 18px; height: 18px; border-radius: 9px; background: #C9A85B;
  color: #0a0a0c; font-size: 11px; display: flex; align-items: center; justify-content: center; }

/* RTL support */
html[dir="rtl"] .p7a-fab-stack { right: auto; left: 24px; }
html[dir="rtl"] .gs-result { text-align: right; }
html[dir="rtl"] .msg-thread.active { border-left: none; border-right: 3px solid #C9A85B;
  padding-left: 16px; padding-right: 13px; }
html[dir="rtl"] .msg-bubble-row.own { flex-direction: row; }
html[dir="rtl"] .msg-bubble-row { flex-direction: row-reverse; }

/* Phase 7A — top-nav search button */
.topnav-search-btn { background: transparent; border: none; padding: 8px;
  color: var(--text-secondary); cursor: pointer; display: inline-flex;
  align-items: center; justify-content: center; border-radius: var(--radius-sm, 4px);
  transition: background 0.15s, color 0.15s; }
.topnav-search-btn:hover { background: var(--bg-hover, #1c1c20); color: var(--text-primary, #fff); }

/* ── Phase 7B — Management Reporting Portal ─────────────────────────────── */
.mgmt-hero { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:24px; gap:16px; flex-wrap:wrap; }
.mgmt-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; margin-bottom:20px; }
.mgmt-stat-card { background:var(--card-bg,#161616); border:1px solid var(--border-soft,#2a2a2a); border-radius:8px; padding:16px; text-align:center; }
.mgmt-stat-val { font-size:28px; font-weight:600; color:var(--gold,#c9a441); margin-bottom:6px; }
.mgmt-report-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; margin-top:16px; }
.mgmt-report-card { background:var(--card-bg,#161616); border:1px solid var(--border-soft,#2a2a2a); border-radius:8px; padding:16px; transition:border-color .15s, transform .15s; }
.mgmt-report-card:hover { border-color:var(--gold-dim-border,#3a2f15); transform:translateY(-1px); }
.mgmt-report-card h3 { margin:8px 0 4px; font-size:15px; font-weight:500; }
.mgmt-report-head { display:flex; justify-content:space-between; align-items:center; }
.mgmt-card-score { background:var(--gold-dim,#1f1a0a); color:var(--gold,#c9a441); padding:2px 8px; border-radius:10px; font-size:12px; font-weight:600; }
.mgmt-card-actions { display:flex; gap:6px; margin-top:12px; }

/* Step indicator */
.mr-steps { display:flex; align-items:center; margin:16px 0 24px; }
.mr-step { display:flex; flex-direction:column; align-items:center; flex:1; position:relative; }
.mr-step-dot { width:32px; height:32px; border-radius:50%; background:#1a1a1a; border:1px solid var(--border-soft,#2a2a2a); display:flex; align-items:center; justify-content:center; font-weight:600; color:var(--text-muted,#888); transition:all .2s; }
.mr-step.active .mr-step-dot { background:var(--gold,#c9a441); color:#000; border-color:var(--gold,#c9a441); }
.mr-step.done .mr-step-dot { background:var(--success,#2bb673); color:#fff; border-color:var(--success,#2bb673); }
.mr-step-label { font-size:11px; margin-top:6px; color:var(--text-muted,#888); text-transform:uppercase; letter-spacing:1px; }
.mr-step.active .mr-step-label, .mr-step.done .mr-step-label { color:var(--text,#eee); }
.mr-step-bar { position:absolute; top:16px; left:calc(50% + 18px); right:calc(-50% + 18px); height:1px; background:var(--border-soft,#2a2a2a); }
.mr-step.done .mr-step-bar { background:var(--success,#2bb673); }

/* Editor */
.mr-editor { width:min(720px,92vw); max-height:90vh; overflow-y:auto; }
.mr-editor-head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:8px; }
.mr-editor-foot { display:flex; gap:8px; justify-content:flex-end; margin-top:20px; padding-top:16px; border-top:1px solid var(--border-soft,#2a2a2a); }
.mr-step-body { display:flex; flex-direction:column; gap:14px; min-height:200px; }
.mr-step-body label { display:flex; flex-direction:column; gap:4px; font-size:12px; color:var(--text-muted,#888); }
.mr-step-body input, .mr-step-body select, .mr-step-body textarea {
  background:#0e0e0e; border:1px solid var(--border-soft,#2a2a2a); color:var(--text,#eee); padding:8px 10px; border-radius:6px; font-size:14px;
}

/* Drop zone */
.mr-drop-zone { border:2px dashed var(--border-soft,#2a2a2a); border-radius:10px; padding:32px; text-align:center; cursor:pointer; position:relative; transition:all .15s; }
.mr-drop-zone.over { border-color:var(--gold,#c9a441); background:rgba(201,164,65,.05); }
.mr-drop-zone p { margin:8px 0 0; color:var(--text-muted,#888); font-size:13px; }
.mr-drop-zone input[type=file] { position:absolute; inset:0; opacity:0; cursor:pointer; }
.mr-file-list { display:flex; flex-direction:column; gap:6px; }
.mr-file-row { display:flex; align-items:center; gap:8px; padding:8px 10px; background:#0e0e0e; border:1px solid var(--border-soft,#2a2a2a); border-radius:6px; }
.mr-file-name { flex:1; font-size:13px; }
.mr-file-size { font-size:11px; color:var(--text-muted,#888); }

/* Quality circle + dimensions */
.mr-quality-panel { background:#0e0e0e; border:1px solid var(--border-soft,#2a2a2a); border-radius:10px; padding:20px; }
.mr-quality-empty { text-align:center; padding:40px 20px; }
.mr-quality-top { display:flex; gap:24px; align-items:center; margin-bottom:20px; }
.mr-quality-circle { border-radius:50%; display:flex; align-items:center; justify-content:center; transition:background .6s ease-out; flex-shrink:0; }
.mr-quality-inner { background:#0e0e0e; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.mr-quality-score { font-size:34px; font-weight:600; line-height:1; }
.mr-quality-label { font-size:10px; text-transform:uppercase; letter-spacing:2px; color:var(--text-muted,#888); margin-top:4px; }
.mr-quality-meta { flex:1; }
.mr-quality-summary { font-size:13px; line-height:1.5; color:var(--text,#eee); margin:8px 0 0; }
.mr-dim-list { display:flex; flex-direction:column; gap:12px; }
.mr-dim-row { font-size:12px; }
.mr-dim-head { display:flex; justify-content:space-between; margin-bottom:4px; }
.mr-dim-name { font-weight:500; color:var(--text,#eee); }
.mr-dim-val { color:var(--gold,#c9a441); font-weight:600; }
.mr-dim-bar { height:6px; background:#1a1a1a; border-radius:3px; overflow:hidden; }
.mr-dim-fill { height:100%; transition:width .8s ease-out; border-radius:3px; }
.mr-dim-comment { font-size:11px; color:var(--text-muted,#888); margin-top:4px; font-style:italic; }
.mr-quality-cols { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.mr-quality-cols h5 { margin:0 0 6px; font-size:11px; text-transform:uppercase; letter-spacing:1.5px; color:var(--text-muted,#888); }
.mr-quality-cols ul { margin:0; padding-left:18px; font-size:12px; line-height:1.6; }

/* Detail view */
.mr-detail { width:min(960px,94vw); max-height:90vh; overflow-y:auto; }
.mr-detail-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:24px; margin-top:16px; }
@media (max-width:780px) { .mr-detail-grid { grid-template-columns:1fr; } .mr-quality-cols { grid-template-columns:1fr; } .mr-quality-top { flex-direction:column; align-items:flex-start; } }
.mr-review-notes { background:#0e0e0e; padding:10px; border-radius:6px; border-left:3px solid var(--gold,#c9a441); font-size:13px; }

/* Q&A thread */
.mr-qa { margin-top:20px; padding-top:16px; border-top:1px solid var(--border-soft,#2a2a2a); }
.mr-qa h4 { margin:0 0 12px; }
.mr-qa-item { background:#0e0e0e; border:1px solid var(--border-soft,#2a2a2a); border-radius:8px; padding:12px; margin-bottom:10px; }
.mr-qa-q { margin-bottom:10px; }
.mr-qa-q p, .mr-qa-a p { margin:6px 0; font-size:13px; line-height:1.5; }
.mr-qa-a { margin-left:20px; padding:10px; background:rgba(201,164,65,.05); border-left:2px solid var(--gold,#c9a441); border-radius:4px; }
.mr-qa-form { display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.mr-qa-form textarea { background:#0e0e0e; border:1px solid var(--border-soft,#2a2a2a); color:var(--text,#eee); padding:8px; border-radius:6px; font-size:13px; resize:vertical; font-family:inherit; }

/* ════════════════════════════════════════════════════════════════════════
   Phase 7C — Succession Planning + Risk Register
   ════════════════════════════════════════════════════════════════════════ */

/* Risk heat map */
.risk-heatmap {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(5, 1fr);
  gap: 4px;
  width: 100%;
  max-width: 380px;
  aspect-ratio: 1;
}

.heatmap-cell {
  border-radius: var(--radius-sm, 6px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition, all .2s ease);
  border: 0.5px solid var(--border-subtle, rgba(255,255,255,0.06));
}
.heatmap-cell:hover {
  border-color: var(--border-emphasis, rgba(255,255,255,0.18));
  transform: scale(1.05);
}
.heatmap-cell.selected { border: 2px solid var(--gold, #D4AF37); }
.heatmap-low      { background: var(--success-dim, rgba(16,185,129,0.10)); color: var(--success, #10B981); }
.heatmap-medium   { background: var(--warning-dim, rgba(245,158,11,0.12)); color: var(--warning, #F59E0B); }
.heatmap-high     { background: rgba(249,115,22,0.15); color: #F97316; }
.heatmap-critical { background: var(--danger-dim, rgba(239,68,68,0.12)); color: var(--danger, #EF4444); }

.risk-heatmap-wrap { display: flex; gap: 16px; align-items: flex-start; }
.risk-heatmap-yaxis {
  display: flex; flex-direction: column-reverse; justify-content: space-between;
  font-size: 11px; color: var(--text-muted, #98A2B3);
  height: 100%; min-height: 360px; padding: 6px 0;
}
.risk-heatmap-xaxis {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px;
  margin-top: 6px; font-size: 11px; color: var(--text-muted, #98A2B3);
  text-align: center; max-width: 380px;
}

/* Risk cards */
.risk-card {
  background: var(--bg-surface, #0F1115);
  border: 0.5px solid var(--border-subtle, rgba(255,255,255,0.06));
  border-radius: var(--radius-lg, 12px);
  padding: 20px; margin-bottom: 12px;
  border-left: 4px solid; transition: var(--transition, all .2s ease);
}
.risk-card.severity-low      { border-left-color: var(--success, #10B981); }
.risk-card.severity-medium   { border-left-color: var(--warning, #F59E0B); }
.risk-card.severity-high     { border-left-color: #F97316; }
.risk-card.severity-critical { border-left-color: var(--danger, #EF4444); }
.risk-card.has-alert         { animation: alert-pulse 2s ease infinite; }

@keyframes alert-pulse {
  0%   { border-left-color: var(--danger, #EF4444); }
  50%  { border-left-color: rgba(239,68,68,0.3); }
  100% { border-left-color: var(--danger, #EF4444); }
}

.risk-score-display { font-size: 28px; font-weight: 600; line-height: 1; }
.risk-score-display.low      { color: var(--success, #10B981); }
.risk-score-display.medium   { color: var(--warning, #F59E0B); }
.risk-score-display.high     { color: #F97316; }
.risk-score-display.critical { color: var(--danger, #EF4444); }

.alert-pulse-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--danger, #EF4444); display: inline-block;
  animation: dot-pulse 1.5s ease infinite;
}
@keyframes dot-pulse {
  0%   { opacity: 1; transform: scale(1); }
  50%  { opacity: 0.4; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}

/* Succession planning */
.position-card {
  background: var(--bg-surface, #0F1115);
  border: 0.5px solid var(--border-subtle, rgba(255,255,255,0.06));
  border-radius: var(--radius-lg, 12px);
  padding: 20px; cursor: pointer; transition: var(--transition, all .2s ease);
}
.position-card:hover { border-color: var(--gold-dim-border, rgba(212,175,55,0.3)); }
.position-card.succession-gap {
  border-color: rgba(239,68,68,0.3);
  background: var(--danger-dim, rgba(239,68,68,0.10));
}
.position-card.active { border-color: var(--gold, #D4AF37); }

.candidate-card {
  background: var(--bg-surface, #0F1115);
  border: 0.5px solid var(--border-subtle, rgba(255,255,255,0.06));
  border-radius: var(--radius-lg, 12px);
  padding: 20px; transition: var(--transition, all .2s ease);
}
.candidate-card:hover { border-color: var(--border-default, rgba(255,255,255,0.12)); }

.readiness-badge {
  display: inline-flex; align-items: center; padding: 4px 12px;
  border-radius: 20px; font-size: 12px; font-weight: 500; margin-bottom: 12px;
}
.readiness-ready { background: var(--success-dim, rgba(16,185,129,0.12)); color: var(--success, #10B981); border: 0.5px solid rgba(16,185,129,0.2); }
.readiness-soon  { background: var(--warning-dim, rgba(245,158,11,0.12)); color: var(--warning, #F59E0B); border: 0.5px solid rgba(245,158,11,0.2); }
.readiness-later { background: var(--info-dim, rgba(59,130,246,0.12));    color: var(--info, #3B82F6);    border: 0.5px solid rgba(59,130,246,0.2); }
.readiness-not   { background: var(--danger-dim, rgba(239,68,68,0.12));   color: var(--danger, #EF4444);  border: 0.5px solid rgba(239,68,68,0.2); }

/* Pentagon SVG radar */
.radar-container { width: 180px; height: 180px; position: relative; margin: 12px auto; }
.radar-svg { width: 100%; height: 100%; overflow: visible; }
.radar-svg .radar-axis-line { stroke: var(--border-subtle, rgba(255,255,255,0.1)); stroke-width: 0.5; }
.radar-svg .radar-outer { fill: none; stroke: var(--border-default, rgba(255,255,255,0.18)); stroke-width: 1; }
.radar-svg .radar-fill { fill: var(--gold-dim, rgba(212,175,55,0.25)); stroke: var(--gold, #D4AF37); stroke-width: 1.5; }
.radar-svg .radar-label { fill: var(--text-muted, #98A2B3); font-size: 10px; }

/* Assessment sliders */
.assessment-slider-row { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.assessment-slider-label { font-size: 12px; color: var(--text-secondary, #C0C5CC); width: 200px; flex-shrink: 0; }
.assessment-slider-value { font-size: 13px; font-weight: 600; color: var(--gold, #D4AF37); width: 36px; text-align: right; flex-shrink: 0; }
.assessment-slider-input { flex: 1; }

/* Dynamic tag input */
.tag-input-container {
  display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 12px;
  background: var(--bg-elevated, #16191F);
  border: 0.5px solid var(--border-default, rgba(255,255,255,0.12));
  border-radius: var(--radius-sm, 6px); min-height: 42px; cursor: text;
}
.tag-input-container:focus-within { border-color: var(--gold, #D4AF37); }
.tag-item {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--gold-dim, rgba(212,175,55,0.15));
  border: 0.5px solid var(--gold-dim-border, rgba(212,175,55,0.3));
  border-radius: 20px; padding: 2px 10px; font-size: 12px; color: var(--gold, #D4AF37);
}
.tag-remove { cursor: pointer; opacity: 0.6; font-size: 14px; line-height: 1; }
.tag-remove:hover { opacity: 1; }
.tag-input {
  border: none; background: transparent; outline: none;
  font-size: 13px; color: var(--text-primary, #E6E8EB); min-width: 120px;
}

/* Risk stats bar */
.risk-stats-bar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
.risk-stat-card {
  background: var(--bg-surface, #0F1115);
  border: 0.5px solid var(--border-subtle, rgba(255,255,255,0.06));
  border-radius: var(--radius-lg, 12px); padding: 16px;
}
.risk-stat-label { font-size: 11px; color: var(--text-muted, #98A2B3); text-transform: uppercase; letter-spacing: .5px; }
.risk-stat-value { font-size: 26px; font-weight: 600; margin-top: 4px; }
.risk-stat-value.crit { color: var(--danger, #EF4444); }
.risk-stat-value.high { color: #F97316; }
.risk-stat-value.gold { color: var(--gold, #D4AF37); }

/* Inline AI monitor result */
.risk-monitor-result {
  margin-top: 12px; padding: 12px;
  border-radius: var(--radius-sm, 6px);
  background: var(--bg-elevated, #16191F);
  border: 0.5px solid var(--border-subtle, rgba(255,255,255,0.06));
}
.risk-monitor-result .rec { color: var(--gold, #D4AF37); font-style: italic; margin-top: 6px; }

/* ════════════════════════════════════════════════════════════════════════
   Phase 7D — ESG Dashboard + AI Meeting Observer
   ════════════════════════════════════════════════════════════════════════ */
.esg-shell { padding: 4px 0; }
.esg-overview { display: grid; grid-template-columns: 220px 1fr; gap: 16px; margin-bottom: 12px; }
.esg-overall {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 22px;
  border-radius: var(--radius-lg);
  border: 0.5px solid var(--border-subtle);
  background: var(--bg-surface);
  color: var(--text-primary);
  text-align: center;
}
.esg-overall.esg-high { border: 0.5px solid rgba(16,185,129,0.3); }
.esg-overall.esg-medium { border: 0.5px solid rgba(245,158,11,0.3); }
.esg-overall.esg-low { border: 0.5px solid rgba(239,68,68,0.3); }
.esg-overall-value { font-size: 48px; font-weight: 700; line-height: 1; color: var(--text-primary); }
.esg-overall-label { font-weight: 600; margin-top: 6px; color: var(--text-primary); }
.esg-overall-sub { margin-top: 4px; color: var(--text-secondary); }
.esg-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.esg-pillar-card {
  background: var(--bg-surface);
  color: var(--text-primary);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 14px;
  border-top: 4px solid #888;
}
.esg-pillar-head { display: flex; align-items: center; gap: 8px; }
.esg-pillar-head h4 { margin: 0; color: var(--text-primary); }
.esg-pillar-icon { font-size: 22px; }
.esg-pillar-stat { display: flex; align-items: baseline; gap: 8px; margin: 8px 0; }
.esg-pillar-stat strong { font-size: 28px; color: var(--text-primary); }
.esg-progress { height: 6px; border-radius: 3px; background: var(--bg-elevated); overflow: hidden; }
.esg-progress-bar { height: 100%; transition: width 0.3s; }
.esg-metrics-table { width: 100%; border-collapse: collapse; margin-top: 8px; background: transparent; }
.esg-metrics-table th, .esg-metrics-table td {
  text-align: left; padding: 10px 12px;
  border-bottom: 0.5px solid var(--border-subtle);
  font-size: 13px;
}
.esg-metrics-table th {
  background: var(--bg-elevated);
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.5px;
}
.esg-metrics-table td { color: var(--text-secondary); }
.esg-metrics-table td strong { color: var(--text-primary); font-weight: 600; }
.esg-metrics-table tbody tr:hover { background: var(--bg-elevated); }

/* AI Observer */
.observer-shell { padding: 4px 0; }
.observer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.observer-card { background: #fff; border-radius: 10px; padding: 12px; border: 1px solid #eaeaea; box-shadow: 0 1px 3px rgba(0,0,0,0.03); }
.observer-card.span-2 { grid-column: span 2; }
.observer-card-head { display: flex; align-items: center; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid #f0f0f0; margin-bottom: 8px; }
.observer-card-head h5 { margin: 0; }
.observer-icon { font-size: 22px; }
.observer-count { margin-left: auto; background: #f3f3f3; border-radius: 12px; padding: 2px 10px; font-weight: 600; font-size: 12px; }
.observer-card-body { display: flex; flex-direction: column; gap: 8px; max-height: 320px; overflow-y: auto; }
.observer-item { background: #fafafa; border-left: 3px solid #ccc; padding: 8px 10px; border-radius: 4px; }
.observer-item.sev-warning { border-left-color: #b8860b; background: #fff8e6; }
.observer-item.sev-critical { border-left-color: #b54040; background: #fff0f0; }
.observer-item.read { opacity: 0.7; }
.observer-unread-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #b8860b; }

@media (max-width: 900px) {
  .esg-overview { grid-template-columns: 1fr; }
  .esg-pillars { grid-template-columns: 1fr; }
  .observer-grid { grid-template-columns: 1fr; }
  .observer-card.span-2 { grid-column: span 1; }
}

/* ════════════════════════════════════════════════════════════════════════
   Phase 7E — Calendar / Induction / Voice Notes
   ════════════════════════════════════════════════════════════════════════ */

/* Induction timeline */
.induction-timeline { position: relative; padding-left: 32px; }
.induction-timeline::before {
  content: ''; position: absolute; left: 9px; top: 20px; bottom: 20px;
  width: 1px; background: var(--border-default, #d4d4d8);
}
.timeline-item { position: relative; margin-bottom: 16px; }
.timeline-circle {
  position: absolute; left: -32px; top: 16px;
  width: 20px; height: 20px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; z-index: 1;
}
.timeline-circle.completed { background: var(--gold, #c9a14a); border: none; }
.timeline-circle.pending   { background: var(--bg-surface, #fff); border: 1.5px solid var(--border-default, #d4d4d8); }
.timeline-circle.overdue   { background: var(--danger, #ef4444); border: none; }
.timeline-card {
  background: var(--bg-surface, #fff);
  border: 0.5px solid var(--border-subtle, #e4e4e7);
  border-radius: var(--radius-md, 8px); padding: 16px;
  transition: var(--transition, 0.15s ease);
}
.timeline-card:hover { border-color: var(--border-default, #d4d4d8); }
.timeline-card.completed { opacity: 0.65; }
.week-divider {
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--text-muted, #71717a); padding: 16px 0 8px;
  margin-left: -32px; font-weight: 500;
}

/* Induction progress card (board dashboard) */
.induction-progress-card {
  background: var(--gold-dim, rgba(201,161,74,0.12));
  border: 0.5px solid var(--gold-dim-border, rgba(201,161,74,0.3));
  border-radius: var(--radius-lg, 12px);
  padding: 20px; display: flex; align-items: center; gap: 20px;
  margin-bottom: 24px;
}
.induction-progress-left { flex: 1; min-width: 0; }
.induction-day-label {
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--text-muted, #71717a); margin-bottom: 4px;
}
.induction-day-number {
  font-size: 22px; font-weight: 600;
  color: var(--text-primary, #18181b); margin-bottom: 8px;
}
.induction-progress-right { flex-shrink: 0; text-align: center; }
.induction-percent-circle {
  width: 64px; height: 64px; border-radius: 50%;
  border: 5px solid var(--gold, #c9a14a);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  margin: 0 auto 6px;
}
.induction-next-items {
  margin-top: 12px; display: flex; flex-direction: column; gap: 6px;
}
.induction-next-item {
  display: flex; align-items: center; gap: 8px;
  font-size: 12px; color: var(--text-secondary, #52525b);
}

/* Voice recorder */
.voice-recorder {
  background: var(--bg-elevated, #fafafa);
  border: 0.5px solid var(--border-subtle, #e4e4e7);
  border-radius: var(--radius-lg, 12px);
  padding: 20px; margin-top: 8px;
}
.voice-record-btn {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--danger, #ef4444); border: none;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: 0.15s ease; margin: 0 auto 8px;
}
.voice-record-btn:hover { background: #dc2626; transform: scale(1.05); }
.voice-waveform {
  display: flex; align-items: center; justify-content: center;
  gap: 4px; height: 28px; margin: 8px 0;
}
.waveform-bar {
  width: 4px; border-radius: 2px;
  background: var(--danger, #ef4444);
  animation: waveform-animate 0.8s ease infinite;
  height: 4px;
}
.waveform-bar:nth-child(1) { animation-delay: 0s; }
.waveform-bar:nth-child(2) { animation-delay: 0.1s; }
.waveform-bar:nth-child(3) { animation-delay: 0.2s; }
.waveform-bar:nth-child(4) { animation-delay: 0.3s; }
.waveform-bar:nth-child(5) { animation-delay: 0.4s; }
@keyframes waveform-animate { 0%, 100% { height: 4px; } 50% { height: 20px; } }

.voice-timer {
  font-size: 20px; font-weight: 600;
  color: var(--danger, #ef4444); text-align: center;
  font-variant-numeric: tabular-nums; margin-bottom: 8px;
}
.voice-note-card {
  background: var(--bg-surface, #fff);
  border: 0.5px solid var(--border-subtle, #e4e4e7);
  border-radius: var(--radius-md, 8px);
  padding: 14px; margin-bottom: 8px; position: relative;
}
.voice-note-card:hover { border-color: var(--border-default, #d4d4d8); }

/* Celebration banner */
.completion-banner {
  background: var(--success-dim, rgba(16,185,129,0.12));
  border: 0.5px solid rgba(16,185,129,0.25);
  border-radius: var(--radius-lg, 12px);
  padding: 24px; text-align: center; margin-bottom: 24px;
}
.completion-check {
  width: 48px; height: 48px;
  background: var(--success, #10b981); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 12px;
}

/* ─────────────────────────────────────────────────────────────────────
   ENHANCEMENT BATCH — Part A
   1) Dashboard two-column layout
   2) Two-level tab navigation
   3) Org chart redesign (entry panel + visual tree)
   ───────────────────────────────────────────────────────────────────── */

/* ── 1) Dashboard two-column layout ───────────────────────────────── */
.dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 24px;
  margin-top: 8px;
  align-items: start;
}
.dashboard-main { min-width: 0; }
.dashboard-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 12px;
  align-self: start;
}
@media (max-width: 1100px) {
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-side { position: static; }
}
.side-card {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 14px 16px;
}
.side-card-head {
  font-size: 11px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.alert-card.danger { border-left: 3px solid var(--danger); }
.alert-card.warning { border-left: 3px solid var(--warning); }

.side-stat-stack { display: flex; flex-direction: column; gap: 8px; }
.side-stat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  background: var(--bg-elevated);
  border-radius: var(--radius-sm);
  font-size: 13px;
}
.side-stat span { color: var(--text-primary); opacity: 1; font-size: 13px; }
.side-stat strong { color: var(--text-primary); font-family: var(--font-display); font-size: 18px; }
.side-stat.warn strong { color: var(--warning); }

.side-list { display: flex; flex-direction: column; gap: 10px; max-height: 320px; overflow-y: auto; padding-right: 4px; }
.side-list-row {
  padding: 8px 10px;
  background: var(--bg-elevated);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition);
}
.side-list-row:hover { background: var(--bg-hover); }
.side-list-title { font-size: 13px; font-weight: 500; color: var(--text-primary); }
.side-list-meta { margin-top: 3px; color: var(--text-secondary); opacity: 1; font-size: 12px; }
.side-list-meta.muted, .side-list-meta .muted { color: var(--text-secondary); opacity: 1; }

/* ── 2) Two-level tab navigation ──────────────────────────────────── */
.profile-tabs { margin-top: 8px; }
.main-tab-bar {
  display: flex;
  gap: 4px;
  border-bottom: 0.5px solid var(--border-default);
  padding-bottom: 0;
  margin-bottom: 0;
  overflow-x: auto;
}
.main-tab {
  padding: 12px 20px;
  font-family: var(--font-display);
  font-size: 15px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: var(--transition);
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}
.main-tab:hover { color: var(--text-primary); }
.main-tab.active {
  color: var(--gold);
  border-bottom-color: var(--gold);
  font-weight: 600;
}
.sub-tab-bar {
  display: flex;
  gap: 6px;
  padding: 12px 0;
  border-bottom: 0.5px solid var(--border-subtle);
  margin-bottom: 18px;
  overflow-x: auto;
  flex-wrap: wrap;
}
.sub-tab {
  padding: 6px 14px;
  font-size: 12.5px;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: 999px;
  border: 0.5px solid var(--border-subtle);
  background: var(--bg-surface);
  transition: var(--transition);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.sub-tab:hover { color: var(--text-primary); border-color: var(--border-default); }
.sub-tab.active {
  background: var(--gold-dim);
  color: var(--gold);
  border-color: var(--gold-dim-border);
  font-weight: 600;
}
.sub-tab.is-placeholder { opacity: 0.85; }
.sub-tab-soon {
  font-size: 9px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  background: var(--gold-dim);
  color: var(--gold);
  padding: 1px 6px;
  border-radius: 999px;
  font-weight: 600;
}
.sub-tab-content { min-height: 200px; }
.coming-soon-card { text-align: center; padding: 40px 24px; }
.coming-soon-pill {
  display: inline-block;
  padding: 4px 12px;
  background: var(--gold-dim);
  color: var(--gold);
  font-size: 11px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  border-radius: 999px;
  font-weight: 600;
}

/* ── 3) Org chart redesign ────────────────────────────────────────── */
.org-chart-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.org-chart-subtoggle {
  display: inline-flex;
  background: var(--bg-elevated);
  border-radius: var(--radius-sm);
  padding: 3px;
  gap: 2px;
}
.subtoggle {
  padding: 6px 14px;
  font-size: 12.5px;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: var(--radius-sm);
  transition: var(--transition);
}
.subtoggle:hover { color: var(--text-primary); }
.subtoggle.active {
  background: var(--gold);
  color: #1a1408;
  font-weight: 600;
}
.org-chart-shell {
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: 18px;
  height: 640px;
  align-items: stretch;
}
.org-chart-shell.is-collapsed {
  grid-template-columns: 1fr;
}
@media (max-width: 1000px) {
  .org-chart-shell { grid-template-columns: 1fr; height: auto; }
}
.org-entry-panel {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 18px;
  overflow-y: auto;
}
.org-entry-form { display: flex; flex-direction: column; gap: 4px; }
.org-entry-form .input { margin-bottom: 4px; }
.org-entry-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 260px;
  overflow-y: auto;
}
.org-entry-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: var(--radius-sm);
  background: var(--bg-elevated);
  border: 0.5px solid var(--border-subtle);
  font-size: 12.5px;
}
.org-entry-name { font-weight: 600; color: var(--text-primary); font-size: 12.5px; }
.org-entry-meta { font-size: 11px; }

.org-tree-panel {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.org-tree-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border-bottom: 0.5px solid var(--border-subtle);
  background: var(--bg-surface);
  z-index: 2;
}
.org-zoom-btn {
  background: var(--bg-elevated);
  border: 0.5px solid var(--border-default);
  color: var(--text-primary);
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.org-zoom-btn.reset { width: auto; padding: 0 10px; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; }
.org-zoom-btn:hover { background: var(--bg-hover); border-color: var(--gold-dim-border); }
.org-zoom-label { font-size: 12px; color: var(--text-secondary); min-width: 40px; text-align: center; font-variant-numeric: tabular-nums; }
.org-tree-empty { padding: 28px; color: var(--text-secondary); text-align: center; }
.org-tree-canvas {
  flex: 1;
  overflow-x: auto;
  overflow-y: visible;
  padding: 24px;
  background:
    radial-gradient(circle at 12px 12px, rgba(255,255,255,0.03) 1px, transparent 1px) 0 0 / 24px 24px,
    var(--bg-base);
}
.org-tree-scaler { display: inline-block; transition: transform 0.15s ease; min-width: max-content; }

.org-tree-v2, .org-tree-v2 ul {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  min-width: max-content;
}
.org-tree-v2 ul { padding-top: 28px; gap: 12px; }
.org-tree-v2 li { position: relative; padding: 0 12px; text-align: center; }
.org-tree-v2 li::before, .org-tree-v2 li::after {
  content: ''; position: absolute; top: 0; right: 50%;
  border-top: 1px solid var(--gold-dim-border);
  width: 50%; height: 14px;
}
.org-tree-v2 li::after { right: auto; left: 50%; border-left: 1px solid var(--gold-dim-border); }
.org-tree-v2 li:only-child::before, .org-tree-v2 li:only-child::after { display: none; }
.org-tree-v2 li:only-child > .org-node-card { padding-top: 14px; margin-top: 14px; }
.org-tree-v2 li:first-child::before, .org-tree-v2 li:last-child::after { border: 0; }
.org-tree-v2 li:first-child::after { border-top-left-radius: 4px; }
.org-tree-v2 li:last-child::before { border-top-right-radius: 4px; }
.org-tree-v2 > li::before, .org-tree-v2 > li::after { display: none; }
.org-tree-v2 li > .org-node-card::before {
  content: ''; position: absolute; top: -14px; left: 50%;
  width: 1px; height: 14px; background: var(--gold-dim-border);
}
.org-tree-v2 > li > .org-node-card::before { display: none; }

.org-node-card {
  position: relative;
  display: inline-block;
  min-width: 150px;
  max-width: 220px;
  padding: 12px 14px;
  background: var(--bg-elevated);
  border: 0.5px solid var(--gold-dim-border);
  border-radius: var(--radius-md);
  text-align: left;
  transition: var(--transition);
}
.org-node-card:hover { border-color: var(--gold); transform: translateY(-1px); }
.org-node-card.is-board { border-top: 3px solid var(--gold); }
.org-node-card.is-exec { border-top: 3px solid var(--info); }
.org-node-name { font-weight: 600; color: var(--text-primary); font-size: 13px; }
.org-node-title { font-size: 11px; color: var(--text-secondary); margin-top: 2px; }
.org-node-role { font-size: 10.5px; color: var(--gold); margin-top: 4px; letter-spacing: 0.4px; text-transform: uppercase; }
.org-node-actions {
  position: absolute;
  top: 4px;
  right: 4px;
  display: flex;
  gap: 2px;
  opacity: 0;
  transition: var(--transition);
}
.org-node-card:hover .org-node-actions { opacity: 1; }
.org-node-btn {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-default);
  color: var(--text-secondary);
  width: 22px;
  height: 22px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.org-node-btn:hover { color: var(--gold); border-color: var(--gold-dim-border); }
.org-node-btn.danger:hover { color: var(--danger); border-color: var(--danger); }

/* ── Part B: Suggestions, AI Agent, CV, Toast ───────────────────── */
.suggest-btn { font-size: 12px; }
.suggestion-card { border-left: 4px solid var(--gold, #C9A961); }
.suggestion-card pre { white-space: pre-wrap; word-break: break-word; }
.agent-step-card { background: var(--bg-surface); color: var(--text-primary); border: 0.5px solid var(--border-subtle); border-radius: 8px; padding: 14px; margin-bottom: 12px; }
.agent-step-card.active { border-color: var(--gold, #C9A961); box-shadow: 0 2px 8px rgba(201,169,97,.15); }
.agent-step-card .muted { color: var(--text-muted); }

/* RTL helper for English-only inline content (Fix 3) */
[dir="rtl"] .english-only,
.rtl-layout .english-only {
  direction: ltr;
  unicode-bidi: embed;
  display: inline-block;
}
.cv-drop-zone { transition: background .15s, border-color .15s; }
.cv-drop-zone:hover { background: #f7f3e9; border-color: #b8954c; }

#majlis-toast-host {
  position: fixed; top: 16px; right: 16px; z-index: 9999;
  display: flex; flex-direction: column; gap: 8px; pointer-events: none;
}
.majlis-toast {
  background: #1a1a1a; color: #fff; padding: 10px 16px; border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,.18); font-size: 14px;
  transform: translateX(120%); opacity: 0; transition: transform .25s ease, opacity .25s ease;
  max-width: 360px; pointer-events: auto;
}
.majlis-toast.show { transform: translateX(0); opacity: 1; }
.majlis-toast-success { background: #1f6b3a; }
.majlis-toast-error { background: #8b2e2e; }

/* ── Role badges (Part C) ───────────────────────────── */
.role-badge-super-admin {
  background: var(--gold-dim, rgba(201,169,97,.12));
  color: var(--gold, #C9A961);
  border: 0.5px solid var(--gold-dim-border, rgba(201,169,97,.35));
  font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 2px 8px; border-radius: 20px; font-weight: 600;
  display: inline-block; white-space: nowrap;
}
.role-badge-bgs {
  background: var(--info-dim, rgba(59,130,246,.1));
  color: var(--info, #3B82F6);
  border: 0.5px solid rgba(59,130,246,0.2);
  font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 2px 8px; border-radius: 20px; font-weight: 600;
  display: inline-block; white-space: nowrap;
}
.role-badge-board-member {
  background: var(--bg-elevated, #f4f1e8);
  color: var(--text-secondary, #6b6553);
  border: 0.5px solid var(--border-default, rgba(0,0,0,.1));
  font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 2px 8px; border-radius: 20px; font-weight: 500;
  display: inline-block; white-space: nowrap;
}
.role-badge-management {
  background: rgba(20,184,166,0.1);
  color: #14B8A6;
  border: 0.5px solid rgba(20,184,166,0.2);
  font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 2px 8px; border-radius: 20px; font-weight: 500;
  display: inline-block; white-space: nowrap;
}

/* ── Part D: Role badges + Chairman dashboard ───────── */
.role-badge-chairman {
  background: rgba(201,169,97,.18); color: #C9A961;
  border: 0.5px solid rgba(201,169,97,.5);
  font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 2px 8px; border-radius: 20px; font-weight: 700;
  display: inline-block; white-space: nowrap;
}
.role-badge-vice-chairman {
  background: rgba(167,139,250,.12); color: #A78BFA;
  border: 0.5px solid rgba(167,139,250,.35);
  font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 2px 8px; border-radius: 20px; font-weight: 600;
  display: inline-block; white-space: nowrap;
}
.role-badge-committee-member {
  background: rgba(45,212,191,.12); color: #2DD4BF;
  border: 0.5px solid rgba(45,212,191,.35);
  font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 2px 8px; border-radius: 20px; font-weight: 600;
  display: inline-block; white-space: nowrap;
}

.chairman-top-tabs {
  display: flex; gap: 4px; padding: 0 24px;
  border-bottom: 0.5px solid var(--border-subtle, rgba(255,255,255,.08));
  background: var(--bg-secondary, #14110d);
}
.chairman-tab {
  padding: 14px 20px; cursor: pointer; font-size: 13px;
  color: var(--text-secondary, #a8a29a); font-weight: 500;
  border-bottom: 2px solid transparent; transition: color .15s, border-color .15s;
}
.chairman-tab:hover { color: var(--text-primary, #f4f0e6); }
.chairman-tab.active {
  color: var(--gold, #C9A961);
  border-bottom-color: var(--gold, #C9A961);
}
.chairman-content { padding: 24px; max-width: 1400px; margin: 0 auto; width: 100%; box-sizing: border-box; }
.chairman-welcome { margin-bottom: 24px; }
.chairman-welcome-name {
  font-family: var(--font-display, Georgia, serif); font-size: 28px;
  font-weight: 600; color: var(--text-primary, #f4f0e6);
}
.chairman-welcome-sub { color: var(--gold, #C9A961); font-size: 14px; margin-top: 4px; }

.board-health-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 16px; margin-bottom: 24px;
}
.board-health-card {
  background: var(--bg-card, #1a1611); border: 0.5px solid var(--border-subtle, rgba(255,255,255,.08));
  border-radius: 8px; padding: 16px;
}
.board-health-label {
  font-size: 11px; letter-spacing: 1px; text-transform: uppercase;
  color: var(--text-secondary, #a8a29a); font-weight: 500;
}
.board-health-value {
  font-size: 32px; font-weight: 600; margin-top: 8px;
  color: var(--text-primary, #f4f0e6);
}
.board-health-sub { font-size: 12px; color: var(--text-secondary, #a8a29a); margin-top: 4px; }

.governance-alerts-card {
  background: var(--bg-card, #1a1611);
  border: 0.5px solid var(--gold-dim-border, rgba(201,169,97,.25));
  border-radius: 8px; padding: 16px; margin-bottom: 16px;
}
.governance-alert-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 0; border-bottom: 0.5px solid var(--border-subtle, rgba(255,255,255,.05));
  font-size: 13px;
}
.governance-alert-item:last-child { border-bottom: none; }
.alert-severity-dot {
  width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}
.alert-severity-dot.high { background: #EF4444; }
.alert-severity-dot.warning { background: #F59E0B; }
.alert-severity-dot.info { background: #3B82F6; }
.alert-severity-dot.low { background: #2DD4BF; }

.chairman-three-col {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.board-composition-card {
  background: var(--bg-card, #1a1611); border: 0.5px solid var(--border-subtle, rgba(255,255,255,.08));
  border-radius: 8px; padding: 16px;
}
.skills-coverage-item {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 0; font-size: 13px;
}
.coverage-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.coverage-full { background: #22C55E; }
.coverage-partial { background: #F59E0B; }
.coverage-gap { background: #EF4444; }

.committee-dashboard-wrap {
  max-width: 720px; margin: 0 auto; padding: 32px 24px;
}
.committee-welcome { text-align: center; margin-bottom: 32px; }

@media (max-width: 1100px) {
  .board-health-grid { grid-template-columns: repeat(2, 1fr); }
  .chairman-three-col { grid-template-columns: 1fr; }
}
.alert-severity-dot.critical { background: #DC2626; box-shadow: 0 0 0 2px rgba(220,38,38,0.2); }

/* ============================================================================
   MAJLIS Copilot
   ============================================================================ */
.cp-shell { background: var(--bg-primary); }
.cp-grid {
  display: grid;
  grid-template-columns: 280px 1fr 320px;
  gap: 12px;
  padding: 12px 16px 16px;
  height: calc(100vh - 64px);
  min-height: 0;
}
.cp-col {
  background: var(--surface, #11151c);
  border: 1px solid var(--border, rgba(255,255,255,0.06));
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.cp-col-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border, rgba(255,255,255,0.06));
}
.cp-col-title { font-size: 13px; font-weight: 600; color: var(--text-secondary); letter-spacing: 0.04em; text-transform: uppercase; }
.cp-col-subhead { font-size: 11px; font-weight: 600; color: var(--text-muted); letter-spacing: 0.06em; text-transform: uppercase; padding: 12px 12px 6px; }

/* Left: sessions */
.cp-session-list { flex: 1; overflow-y: auto; padding: 6px; }
.cp-session-item {
  display: flex; align-items: center; gap: 4px;
  padding: 6px 8px; border-radius: 6px; margin-bottom: 2px;
  cursor: pointer;
  transition: background 0.12s;
}
.cp-session-item:hover { background: rgba(255,255,255,0.04); }
.cp-session-item.active { background: var(--gold-dim, rgba(196,164,108,0.10)); }
.cp-session-row { display: flex; gap: 8px; align-items: center; flex: 1; min-width: 0; }
.cp-session-info { min-width: 0; flex: 1; }
.cp-session-title { font-size: 13px; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-session-meta { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.cp-session-del {
  background: transparent; border: none; color: var(--text-muted);
  padding: 4px; border-radius: 4px; cursor: pointer; opacity: 0;
  transition: opacity 0.12s, color 0.12s;
}
.cp-session-item:hover .cp-session-del { opacity: 1; }
.cp-session-del:hover { color: var(--danger, #EF4444); }

/* Middle: chat */
.cp-middle { display: flex; flex-direction: column; min-height: 0; }
.cp-chat-scroll {
  flex: 1; overflow-y: auto; padding: 20px 24px;
  display: flex; flex-direction: column; gap: 16px;
}
.cp-empty {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 40px 20px; color: var(--text-secondary);
}
.cp-empty h2 { font-family: var(--font-display, var(--font-body)); font-weight: 500; margin: 12px 0 8px; }
.cp-suggestions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 20px; max-width: 640px; }
.cp-suggestion {
  background: rgba(255,255,255,0.04); border: 1px solid var(--border, rgba(255,255,255,0.08));
  border-radius: 8px; padding: 8px 14px; font-size: 13px; color: var(--text-secondary);
  cursor: pointer; transition: all 0.12s;
}
.cp-suggestion:hover { background: var(--gold-dim, rgba(196,164,108,0.12)); color: var(--text-primary); border-color: var(--gold-dim-border, rgba(196,164,108,0.3)); }

.cp-msg { display: flex; flex-direction: column; gap: 6px; max-width: 820px; }
.cp-msg-user { align-self: flex-end; align-items: flex-end; }
.cp-msg-assistant { align-self: flex-start; align-items: flex-start; }
.cp-msg-agent {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 600; color: var(--gold, #C4A46C);
  letter-spacing: 0.04em; text-transform: uppercase;
}
.cp-msg-bubble {
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 14px; line-height: 1.55;
  border: 1px solid var(--border, rgba(255,255,255,0.06));
}
.cp-msg-user .cp-msg-bubble {
  background: var(--gold-dim, rgba(196,164,108,0.12));
  border-color: var(--gold-dim-border, rgba(196,164,108,0.3));
  color: var(--text-primary);
}
.cp-msg-assistant .cp-msg-bubble {
  background: rgba(255,255,255,0.02);
  color: var(--text-primary);
}
.cp-msg-bubble .md p { margin: 0 0 8px; }
.cp-msg-bubble .md p:last-child { margin-bottom: 0; }
.cp-tool-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(99,102,241,0.10); border: 1px solid rgba(99,102,241,0.25);
  border-radius: 6px; padding: 4px 10px; font-size: 12px; color: var(--text-secondary);
}

.cp-composer {
  display: flex; gap: 8px; align-items: flex-end;
  padding: 12px 16px;
  border-top: 1px solid var(--border, rgba(255,255,255,0.06));
  background: rgba(0,0,0,0.15);
}
.cp-composer-input {
  flex: 1; resize: none;
  background: rgba(255,255,255,0.04); border: 1px solid var(--border, rgba(255,255,255,0.10));
  border-radius: 8px; padding: 10px 12px; font-size: 14px; color: var(--text-primary);
  font-family: var(--font-body); line-height: 1.5;
}
.cp-composer-input:focus { outline: none; border-color: var(--gold, #C4A46C); }

/* Right: advisors / context */
.cp-right.collapsed { width: 56px; }
.cp-advisor-list { padding: 8px; display: flex; flex-direction: column; gap: 4px; overflow-y: auto; }
.cp-advisor {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 8px 10px; border-radius: 6px;
}
.cp-advisor:hover { background: rgba(255,255,255,0.03); }
.cp-advisor-icon {
  width: 28px; height: 28px; flex-shrink: 0;
  background: var(--gold-dim, rgba(196,164,108,0.12)); border-radius: 6px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--gold, #C4A46C);
}
.cp-advisor-name { font-size: 13px; font-weight: 600; color: var(--text-primary); }
.cp-advisor-hint { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.cp-quick-list { padding: 0 8px 12px; display: flex; flex-direction: column; gap: 4px; }
.cp-quick {
  text-align: left; background: transparent; border: 1px solid var(--border, rgba(255,255,255,0.06));
  border-radius: 6px; padding: 8px 10px; font-size: 12px; color: var(--text-secondary);
  cursor: pointer; transition: all 0.12s;
}
.cp-quick:hover { background: var(--gold-dim, rgba(196,164,108,0.10)); color: var(--text-primary); }

/* Brief banner */
.cp-brief-banner {
  display: flex; align-items: center; gap: 14px;
  background: linear-gradient(135deg, rgba(196,164,108,0.10), rgba(99,102,241,0.06));
  border: 1px solid var(--gold-dim-border, rgba(196,164,108,0.25));
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 16px;
}
.cp-brief-banner.loading { opacity: 0.7; gap: 10px; font-size: 13px; color: var(--text-secondary); }
.cp-brief-icon {
  width: 36px; height: 36px; border-radius: 8px;
  background: var(--gold-dim, rgba(196,164,108,0.18));
  color: var(--gold, #C4A46C);
  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cp-brief-body { flex: 1; min-width: 0; }
.cp-brief-title { font-size: 14px; font-weight: 600; color: var(--text-primary); }
.cp-brief-summary { font-size: 13px; color: var(--text-secondary); margin-top: 4px; line-height: 1.5; }
.cp-brief-actions { display: flex; gap: 6px; flex-shrink: 0; }

/* Floating button + panel */
.cp-floating-btn {
  position: fixed; bottom: 24px; right: 24px; z-index: 90;
  width: 52px; height: 52px; border-radius: 50%;
  background: linear-gradient(135deg, var(--gold, #C4A46C), #8b7547);
  color: #fff; border: none; cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4), 0 0 0 1px rgba(196,164,108,0.4);
  display: inline-flex; align-items: center; justify-content: center;
  transition: transform 0.15s;
}
.cp-floating-btn:hover { transform: translateY(-2px) scale(1.05); }
.cp-floating-panel {
  position: fixed; bottom: 88px; right: 24px; z-index: 91;
  width: 360px; max-width: calc(100vw - 32px);
  background: var(--surface, #11151c);
  border: 1px solid var(--border, rgba(255,255,255,0.10));
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.5);
  overflow: hidden;
}
.cp-floating-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border, rgba(255,255,255,0.06));
}
.cp-floating-body { padding: 12px; }
.cp-floating-input {
  width: 100%; resize: none;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border, rgba(255,255,255,0.10));
  border-radius: 6px; padding: 8px 10px;
  font-size: 13px; font-family: var(--font-body); color: var(--text-primary);
}
.cp-floating-input:focus { outline: none; border-color: var(--gold, #C4A46C); }

.icon.rot180 { transform: rotate(180deg); }

@media (max-width: 1100px) {
  .cp-grid { grid-template-columns: 240px 1fr; }
  .cp-right { display: none; }
}
@media (max-width: 800px) {
  .cp-grid { grid-template-columns: 1fr; }
  .cp-left { display: none; }
}

/* ════════════════════════════════════════════════════════════════════════
   Document Context System — Copilot docs-consulted, regulatory library
   ════════════════════════════════════════════════════════════════════════ */

/* Documents consulted indicator */
.docs-consulted {
  margin-top: 8px;
  font-size: 11px;
  color: var(--text-muted, #9ca3af);
}
.docs-consulted-toggle {
  display: flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  padding: 4px 0;
  user-select: none;
}
.docs-consulted-toggle:hover { color: var(--text-secondary, #d1d5db); }
.docs-consulted-list {
  padding: 6px 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.docs-consulted-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--text-muted, #9ca3af);
}

/* Platform doc type badges */
.pill.doc-type-regulation {
  background: var(--danger-dim, rgba(239,68,68,0.12));
  color: var(--danger, #ef4444);
  border: 0.5px solid rgba(239,68,68,0.25);
}
.pill.doc-type-law {
  background: rgba(139,92,246,0.12);
  color: #A78BFA;
  border: 0.5px solid rgba(167,139,250,0.25);
}
.pill.doc-type-policy {
  background: var(--gold-dim, rgba(212,175,55,0.12));
  color: var(--gold, #d4af37);
  border: 0.5px solid var(--gold-dim-border, rgba(212,175,55,0.25));
}
.pill.doc-type-framework {
  background: rgba(20,184,166,0.12);
  color: #2DD4BF;
  border: 0.5px solid rgba(45,212,191,0.25);
}
.pill.doc-type-guideline {
  background: var(--info-dim, rgba(59,130,246,0.12));
  color: var(--info, #3B82F6);
  border: 0.5px solid rgba(59,130,246,0.25);
}
.pill.doc-type-other {
  background: rgba(156,163,175,0.12);
  color: #9CA3AF;
  border: 0.5px solid rgba(156,163,175,0.25);
}

/* Jurisdiction badges */
.pill.juris-saudi-arabia { background: rgba(16,185,129,0.12); color: #10B981; border: 0.5px solid rgba(16,185,129,0.25); }
.pill.juris-gcc { background: rgba(59,130,246,0.12); color: #3B82F6; border: 0.5px solid rgba(59,130,246,0.25); }
.pill.juris-international { background: rgba(156,163,175,0.12); color: #9CA3AF; border: 0.5px solid rgba(156,163,175,0.25); }

/* Upload progress indicator */
.upload-progress-steps {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: var(--text-secondary, #d1d5db);
  padding: 12px 0;
}
.upload-step { display: flex; align-items: center; gap: 6px; }
.upload-step.done { color: var(--success, #10b981); }
.upload-step.active { color: var(--gold, #d4af37); }
.upload-step.pending { color: var(--text-muted, #9ca3af); }

/* System knowledge base cards */
.knowledge-base-card {
  background: var(--bg-elevated, rgba(255,255,255,0.04));
  border: 0.5px solid var(--border-subtle, rgba(255,255,255,0.08));
  border-radius: var(--radius-md, 8px);
  padding: 12px 14px;
  margin-bottom: 8px;
}
.knowledge-base-label {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-muted, #9ca3af);
  font-weight: 500;
  margin-bottom: 8px;
}
.knowledge-base-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--text-secondary, #d1d5db);
  padding: 4px 0;
  border-bottom: 0.5px solid var(--border-subtle, rgba(255,255,255,0.08));
}
.knowledge-base-item:last-child { border-bottom: none; }

.kb-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}

/* Regulatory Library page */
.reg-info-banner {
  background: var(--gold-dim, rgba(212,175,55,0.06));
  border: 1px solid var(--gold-dim-border, rgba(212,175,55,0.3));
  border-left: 3px solid var(--gold, #d4af37);
  border-radius: 6px;
  padding: 12px 16px;
  font-size: 13px;
  color: var(--text-secondary, #d1d5db);
  margin: 12px 0 16px;
  line-height: 1.5;
}

/* ════════════════════════════════════════════════════════════════════════
   MAJLIS SENTINEL — radar, alerts, banner, badges, digest
   ════════════════════════════════════════════════════════════════════════ */

@keyframes radar-sweep { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes radar-ping {
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(2.5); opacity: 0; }
}

.sentinel-radar {
  position: relative;
  width: 32px;
  height: 32px;
  display: inline-block;
  flex-shrink: 0;
}
.sentinel-radar-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1.5px solid var(--danger, #ef4444);
  opacity: 0.3;
}
.sentinel-radar-ping {
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  border: 1px solid var(--danger, #ef4444);
  animation: radar-ping 2s ease-out infinite;
}
.sentinel-radar-center {
  position: absolute;
  inset: 11px;
  border-radius: 50%;
  background: var(--danger, #ef4444);
}

/* Alert cards */
.sentinel-alert-card {
  background: var(--bg-surface, rgba(255,255,255,0.03));
  border: 0.5px solid var(--border-subtle, rgba(255,255,255,0.08));
  border-radius: var(--radius-lg, 10px);
  padding: 18px 20px;
  margin-bottom: 12px;
  border-left: 4px solid;
  transition: var(--transition, all 0.15s ease);
}
.sentinel-alert-card:hover { border-color: var(--border-default, rgba(255,255,255,0.15)); }
.sentinel-alert-card.critical {
  border-left-color: var(--danger, #ef4444);
  animation: sentinel-critical-pulse 3s ease infinite;
}
.sentinel-alert-card.high { border-left-color: #F97316; }
.sentinel-alert-card.medium { border-left-color: var(--warning, #f59e0b); }
.sentinel-alert-card.low { border-left-color: var(--text-muted, #9ca3af); }
.sentinel-alert-card.read { opacity: 0.55; animation: none; }

@keyframes sentinel-critical-pulse {
  0%, 100% { border-left-color: var(--danger, #ef4444); }
  50% { border-left-color: rgba(239,68,68,0.4); }
}

.sentinel-connection-card {
  background: var(--gold-dim, rgba(212,175,55,0.08));
  border: 0.5px solid var(--gold-dim-border, rgba(212,175,55,0.25));
  border-radius: var(--radius-sm, 6px);
  padding: 8px 12px;
  margin-top: 10px;
  font-size: 12px;
  color: var(--text-secondary, #d1d5db);
  display: flex;
  align-items: center;
  gap: 8px;
}

.sentinel-question-card {
  background: rgba(139,92,246,0.06);
  border: 0.5px solid rgba(139,92,246,0.2);
  border-radius: var(--radius-sm, 6px);
  padding: 10px 12px;
  margin-top: 8px;
  font-size: 12px;
  color: var(--text-secondary, #d1d5db);
  font-style: italic;
}
.sentinel-question-label {
  font-size: 10px;
  font-style: normal;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #A78BFA;
  margin-bottom: 4px;
  font-weight: 500;
}

/* Sentinel banner on dashboard */
.sentinel-banner {
  background: var(--danger-dim, rgba(239,68,68,0.08));
  border: 0.5px solid rgba(239,68,68,0.25);
  border-radius: var(--radius-lg, 10px);
  padding: 16px 20px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.sentinel-banner-body { flex: 1; }
.sentinel-banner-label {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--danger, #ef4444);
  font-weight: 600;
  margin-bottom: 3px;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Pulsing dot */
.pulse-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--danger, #ef4444);
  animation: pulse-dot-anim 1.5s ease infinite;
  display: inline-block;
}
@keyframes pulse-dot-anim {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.7); }
}

/* Sidebar / nav badge */
.sentinel-nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 9px;
  background: rgba(239,68,68,0.18);
  color: var(--danger, #ef4444);
  font-size: 10px;
  font-weight: 600;
}
.sentinel-nav-badge.critical { background: var(--danger, #ef4444); color: white; }
.sentinel-nav-badge.high { background: rgba(249,115,22,0.18); color: #F97316; }

/* Weekly digest */
.sentinel-digest-card {
  background: var(--bg-elevated, rgba(255,255,255,0.04));
  border: 0.5px solid var(--border-subtle, rgba(255,255,255,0.08));
  border-radius: var(--radius-md, 8px);
  padding: 14px;
  max-height: 400px;
  overflow-y: auto;
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-secondary, #d1d5db);
}
.sentinel-digest-card h2 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary, #f3f4f6);
  margin: 12px 0 6px;
}
.sentinel-digest-card h3 {
  font-size: 13px;
  font-weight: 500;
  color: var(--gold, #d4af37);
  margin: 10px 0 4px;
}
.sentinel-digest-card ul { padding-left: 16px; margin: 6px 0; }
.sentinel-digest-card li { margin-bottom: 4px; }

/* Sentinel pill variants */
.pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.5px;
  border: 0.5px solid transparent;
}
.pill.critical { background: rgba(239,68,68,0.15); color: var(--danger, #ef4444); border-color: rgba(239,68,68,0.3); }
.pill.high { background: rgba(249,115,22,0.15); color: #F97316; border-color: rgba(249,115,22,0.3); }
.pill.medium { background: var(--warning-dim, rgba(245,158,11,0.12)); color: var(--warning, #f59e0b); border-color: rgba(245,158,11,0.25); }
.pill.low { background: rgba(255,255,255,0.05); color: var(--text-secondary, #d1d5db); border-color: var(--border-subtle, rgba(255,255,255,0.08)); }
.pill.info { background: rgba(59,130,246,0.12); color: #60a5fa; border-color: rgba(59,130,246,0.25); }
.pill.success { background: rgba(16,185,129,0.12); color: var(--success, #10b981); border-color: rgba(16,185,129,0.25); }
.pill.gold { background: var(--gold-dim, rgba(212,175,55,0.1)); color: var(--gold, #d4af37); border-color: var(--gold-dim-border, rgba(212,175,55,0.25)); }
.pill.muted { background: rgba(255,255,255,0.04); color: var(--text-muted, #9ca3af); border-color: var(--border-subtle, rgba(255,255,255,0.08)); }
.pill.warning { background: var(--warning-dim, rgba(245,158,11,0.12)); color: var(--warning, #f59e0b); border-color: rgba(245,158,11,0.25); }

/* ════════════════════════════════════════════════════════════════════════
   COMPANY REFERENCE — modal modes, search dropdown, sector pills
   ════════════════════════════════════════════════════════════════════════ */

.mode-selector {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  padding: 4px;
  background: var(--bg-elevated, rgba(255,255,255,0.04));
  border-radius: var(--radius-md, 8px);
}
.mode-pill {
  flex: 1;
  padding: 10px 16px;
  border-radius: var(--radius-sm, 6px);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-align: center;
  transition: var(--transition, all 0.15s ease);
  color: var(--text-muted, #9ca3af);
  border: none;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.mode-pill.active {
  background: var(--bg-surface, rgba(255,255,255,0.05));
  color: var(--gold, #d4af37);
  border: 0.5px solid var(--gold-dim-border, rgba(212,175,55,0.25));
}

.ref-search-wrap { position: relative; margin-bottom: 16px; }
.ref-search-input {
  width: 100%;
  padding: 12px 16px 12px 40px;
  font-size: 15px;
  background: var(--bg-elevated, rgba(255,255,255,0.04));
  border: 0.5px solid var(--border-default, rgba(255,255,255,0.15));
  border-radius: var(--radius-md, 8px);
  color: var(--text-primary, #f3f4f6);
  font-family: var(--font-body, system-ui);
  outline: none;
  transition: var(--transition, all 0.15s ease);
  box-sizing: border-box;
}
.ref-search-input:focus { border-color: var(--gold, #d4af37); }
.ref-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted, #9ca3af);
  pointer-events: none;
}

.ref-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0; right: 0;
  background: var(--bg-surface, #1a1d23);
  border: 0.5px solid var(--border-default, rgba(255,255,255,0.15));
  border-radius: var(--radius-md, 8px);
  max-height: 280px;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}
.ref-dropdown-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
  border-bottom: 0.5px solid var(--border-subtle, rgba(255,255,255,0.08));
  transition: var(--transition, all 0.15s ease);
}
.ref-dropdown-item:last-child { border-bottom: none; }
.ref-dropdown-item:hover { background: var(--bg-elevated, rgba(255,255,255,0.04)); }

.ticker-badge {
  background: var(--gold-dim, rgba(212,175,55,0.1));
  border: 0.5px solid var(--gold-dim-border, rgba(212,175,55,0.25));
  color: var(--gold, #d4af37);
  font-size: 12px;
  font-weight: 600;
  font-family: var(--font-mono, ui-monospace, monospace);
  padding: 3px 8px;
  border-radius: var(--radius-sm, 6px);
  flex-shrink: 0;
  min-width: 44px;
  text-align: center;
  display: inline-block;
}

.ref-company-names { flex: 1; min-width: 0; }
.ref-name-en {
  font-size: 13px; font-weight: 500;
  color: var(--text-primary, #f3f4f6);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ref-name-ar {
  font-size: 11px;
  color: var(--text-muted, #9ca3af);
  direction: rtl; text-align: right;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.market-badge-main {
  background: rgba(59,130,246,0.12);
  color: #60a5fa;
  border: 0.5px solid rgba(59,130,246,0.25);
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 20px;
  font-weight: 500;
  flex-shrink: 0;
  display: inline-block;
}
.market-badge-nomu {
  background: rgba(139,92,246,0.1);
  color: #A78BFA;
  border: 0.5px solid rgba(167,139,250,0.25);
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 20px;
  font-weight: 500;
  flex-shrink: 0;
  display: inline-block;
}

.selected-company-card {
  background: var(--bg-elevated, rgba(255,255,255,0.04));
  border: 0.5px solid var(--success, #10b981);
  border-radius: var(--radius-md, 8px);
  padding: 14px 16px;
  margin-bottom: 16px;
  position: relative;
}
.selected-company-name {
  font-family: var(--font-display, Georgia, serif);
  font-size: 17px; font-weight: 600;
  color: var(--text-primary, #f3f4f6);
  margin-bottom: 3px;
}
.selected-company-name-ar {
  font-size: 13px;
  color: var(--text-muted, #9ca3af);
  direction: rtl; text-align: right;
  margin-bottom: 10px;
}
.selected-company-meta {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.selected-check {
  position: absolute; top: 10px; right: 12px;
  color: var(--success, #10b981);
  font-size: 12px;
  display: inline-flex; align-items: center; gap: 4px;
}

.in-majlis-badge {
  background: rgba(16,185,129,0.12);
  color: var(--success, #10b981);
  border: 0.5px solid rgba(16,185,129,0.25);
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 20px;
  font-weight: 500;
  display: inline-block;
}

.sector-filter-bar {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 12px;
  margin-bottom: 16px;
}
.sector-filter-bar::-webkit-scrollbar { display: none; }
.sector-pill {
  padding: 5px 14px;
  border-radius: 20px;
  font-size: 12px;
  white-space: nowrap;
  cursor: pointer;
  transition: var(--transition, all 0.15s ease);
  background: var(--bg-elevated, rgba(255,255,255,0.04));
  border: 0.5px solid var(--border-subtle, rgba(255,255,255,0.08));
  color: var(--text-secondary, #d1d5db);
  flex-shrink: 0;
}
.sector-pill:hover { border-color: var(--border-default, rgba(255,255,255,0.15)); }
.sector-pill.active {
  background: var(--gold-dim, rgba(212,175,55,0.1));
  border-color: var(--gold-dim-border, rgba(212,175,55,0.25));
  color: var(--gold, #d4af37);
}
.sector-pill-count { font-size: 10px; opacity: 0.7; margin-left: 4px; }

/* ── Contrast overrides (Fix 6) ───────────────────────────────────── */
/* Section headers in dark panels must be readable */
.right-panel-title,
.copilot-context-title,
.sentinel-context-title,
.knowledge-base-label,
.section-header-label {
  color: var(--text-secondary) !important;
  opacity: 1 !important;
}

/* Sidebar text (Copilot, Sentinel side panels) */
.copilot-sidebar .copilot-capability-desc,
.copilot-sidebar .copilot-session-title,
.copilot-context-panel .doc-name,
.copilot-context-panel .doc-meta {
  color: var(--text-secondary);
  opacity: 1;
}

/* Quick prompt / suggestion chips must be readable */
.suggestion-chip,
.copilot-sidebar .suggestion-chip,
.quick-prompt-btn {
  color: var(--text-secondary) !important;
  opacity: 1 !important;
}
.suggestion-chip:hover,
.quick-prompt-btn:hover {
  color: var(--text-primary) !important;
}

/* Remove any inherited low opacity on text inside dark panels */
.right-panel-section,
.copilot-sidebar,
.copilot-context-panel,
.sentinel-sidebar {
  --section-text-opacity: 1;
}
.right-panel-section *,
.copilot-sidebar *,
.copilot-context-panel * {
  opacity: var(--section-text-opacity, 1);
}
/* But preserve icons/decorative explicit opacity utility */
.right-panel-section .decorative,
.copilot-sidebar .decorative,
.copilot-context-panel .decorative { opacity: 0.6; }

/* Truly-helper / placeholder-style text */
.helper-text {
  color: var(--text-secondary);
  opacity: 0.85;
}

/* Bump uppercase section labels everywhere — they were 30% before */
.sidebar-section-label,
.stat-label, .stat .lbl,
.data-table th, .tbl th,
.form-label {
  color: var(--text-secondary);
}

/* ═══════════════════════════════════════════════════════════════════════
   SENTINEL — REDESIGN (per spec 2026-04)
   ═══════════════════════════════════════════════════════════════════════ */

.sentinel-shell { background: var(--bg-canvas); min-height: 100vh; }

/* Layout */
.sentinel-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
  align-items: start;
  padding: 18px 32px 40px;
  max-width: 1400px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .sentinel-layout { grid-template-columns: 1fr; padding: 16px; }
  .sentinel-right-panel { position: static !important; }
}

/* Header */
.sentinel-header {
  padding: 18px 32px 0;
  max-width: 1400px;
  margin: 0 auto;
}
.sentinel-header-row1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  gap: 14px;
  flex-wrap: wrap;
}
.sentinel-header-left { display: flex; align-items: center; gap: 14px; }
.sentinel-main-title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.2;
  margin: 0;
}
.sentinel-subtitle { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.sentinel-header-right { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

/* Live status pill */
.sentinel-live-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px; border-radius: 20px;
  font-size: 11px; font-weight: 500;
  background: var(--bg-elevated);
  border: 0.5px solid var(--border-subtle);
}
.sentinel-live-pill.live { color: var(--success); }
.sentinel-live-pill.live .dot { background: var(--success); animation: live-pulse 1.4s ease-in-out infinite; }
.sentinel-live-pill.stale { color: var(--warning); }
.sentinel-live-pill.stale .dot { background: var(--warning); }
.sentinel-live-pill .dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; }
@keyframes live-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(1.4); } }

/* Radar (44x44) */
.sentinel-radar-wrap {
  position: relative; width: 44px; height: 44px; flex-shrink: 0;
}
.sentinel-radar-center {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--danger);
  box-shadow: 0 0 8px rgba(239,68,68,0.5);
}
.sentinel-radar-ring {
  position: absolute; top: 50%; left: 50%;
  border-radius: 50%;
  border: 1px solid var(--danger);
  transform: translate(-50%, -50%);
}
.sentinel-radar-ring-1 { width: 22px; height: 22px; opacity: 0.5; animation: sentinel-ring-pulse 2s ease-out infinite; }
.sentinel-radar-ring-2 { width: 36px; height: 36px; opacity: 0.25; animation: sentinel-ring-pulse 2s ease-out infinite 0.7s; }
.sentinel-radar-ring-3 { width: 44px; height: 44px; opacity: 0.15; animation: sentinel-ring-pulse 2s ease-out infinite 1.4s; }
@keyframes sentinel-ring-pulse {
  0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.5; }
  100% { transform: translate(-50%, -50%) scale(1.3); opacity: 0; }
}

/* Signal counter pill */
.sentinel-signal-counter {
  background: rgba(239,68,68,0.08);
  border: 0.5px solid rgba(239,68,68,0.25);
  border-radius: 20px;
  padding: 5px 14px;
  font-size: 12px;
  color: var(--danger);
  font-weight: 500;
}

/* Filter bar */
.sentinel-filter-bar {
  display: flex; align-items: center; gap: 6px;
  padding: 0 32px 14px; max-width: 1400px; margin: 0 auto;
  flex-wrap: wrap;
}
.sentinel-filter-divider { width: 1px; height: 20px; background: var(--border-subtle); margin: 0 8px; }
.sentinel-filter-pill {
  padding: 5px 14px; border-radius: 20px;
  font-size: 11px; font-weight: 500; cursor: pointer;
  transition: var(--transition);
  border: 0.5px solid var(--border-subtle);
  background: var(--bg-elevated);
  color: var(--text-secondary);
  white-space: nowrap;
}
.sentinel-filter-pill:hover { border-color: var(--border-default); color: var(--text-primary); }
.sentinel-filter-pill.active { background: var(--gold-dim); border-color: var(--gold-dim-border); color: var(--gold); }
.sentinel-filter-label { font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-muted); margin-right: 4px; }

/* Signal cards */
.signal-card {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  border-left: 4px solid transparent;
  margin-bottom: 16px;
  overflow: hidden;
  max-height: 1200px;
  transition: border-color 0.2s, opacity 0.3s;
}
.signal-card.critical { border-left-color: var(--danger); animation: critical-border-pulse 3s ease infinite; }
.signal-card.high { border-left-color: #F97316; }
.signal-card.medium { border-left-color: var(--warning); }
.signal-card.low { border-left-color: var(--info); }
.signal-card.read { opacity: 0.55; animation: none; }
.signal-card.dismissing { max-height: 0; opacity: 0; margin-bottom: 0; transition: max-height 0.3s ease, opacity 0.3s ease, margin-bottom 0.3s ease; }
@keyframes critical-border-pulse {
  0%, 100% { border-left-color: var(--danger); }
  50% { border-left-color: rgba(239,68,68,0.4); }
}

.signal-card-header { padding: 16px 20px 10px; }
.signal-meta-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; gap: 8px; flex-wrap: wrap; }
.signal-meta-left { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.signal-meta-right { display: flex; align-items: center; gap: 10px; font-size: 11px; }

.signal-severity-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px; border-radius: 20px;
  font-size: 10px; font-weight: 600;
  letter-spacing: 1px; text-transform: uppercase;
}
.signal-severity-badge .sev-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; }
.severity-critical { background: rgba(239,68,68,0.12); color: var(--danger); border: 0.5px solid rgba(239,68,68,0.25); }
.severity-critical .sev-dot { background: var(--danger); animation: live-pulse 1.4s ease-in-out infinite; }
.severity-high { background: rgba(249,115,22,0.12); color: #F97316; border: 0.5px solid rgba(249,115,22,0.25); }
.severity-medium { background: var(--warning-dim); color: var(--warning); border: 0.5px solid rgba(245,158,11,0.2); }
.severity-low { background: var(--info-dim); color: var(--info); border: 0.5px solid rgba(59,130,246,0.2); }

.signal-connection-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px; border-radius: 20px;
  font-size: 10px; font-weight: 500;
}
.connection-meeting { background: var(--info-dim); color: var(--info); border: 0.5px solid rgba(59,130,246,0.2); }
.connection-risk { background: var(--danger-dim); color: var(--danger); border: 0.5px solid rgba(239,68,68,0.2); }
.connection-strategy { background: rgba(20,184,166,0.1); color: #2DD4BF; border: 0.5px solid rgba(45,212,191,0.2); }
.connection-regulatory { background: rgba(139,92,246,0.1); color: #A78BFA; border: 0.5px solid rgba(167,139,250,0.2); }

.signal-company { font-size: 12px; color: var(--text-secondary); }
.signal-date { font-size: 11px; color: var(--text-muted); }

.signal-headline-row { display: flex; align-items: flex-start; gap: 10px; }
.signal-type-icon { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; display: inline-flex; align-items: center; justify-content: center; }
.signal-type-icon.type-company_news { color: var(--info); }
.signal-type-icon.type-regulatory_change,
.signal-type-icon.type-regulatory { color: #A78BFA; }
.signal-type-icon.type-competitor_move { color: var(--warning); }
.signal-type-icon.type-market_signal { color: var(--success); }
.signal-type-icon.type-executive_news { color: var(--gold); }
.signal-type-icon.type-esg_event { color: var(--success); }

.signal-headline { font-size: 15px; font-weight: 500; color: var(--text-primary); line-height: 1.4; }

.signal-card-body { padding: 0 20px 12px; }
.signal-body-text {
  font-size: 14px; color: var(--text-secondary); line-height: 1.7;
  overflow: hidden; transition: max-height 0.3s ease;
  max-height: 800px;
}
.signal-body-text.truncated { max-height: 100px; position: relative; }
.signal-body-text.truncated::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 28px; background: linear-gradient(transparent, var(--bg-surface));
  pointer-events: none;
}
.signal-read-more {
  font-size: 12px; color: var(--gold); cursor: pointer;
  margin-top: 6px; display: inline-block; background: none; border: none; padding: 0;
}
.signal-read-more:hover { text-decoration: underline; }

/* Connected item card */
.signal-connection-card {
  margin: 0 20px 12px;
  background: rgba(198,169,107,0.06);
  border: 0.5px solid rgba(198,169,107,0.25);
  border-radius: var(--radius-md);
  padding: 10px 14px;
  display: flex; align-items: center; gap: 12px;
}
.signal-connection-icon { color: var(--gold); display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; flex-shrink: 0; }
.signal-connection-text { flex: 1; min-width: 0; }
.signal-connection-label {
  font-size: 10px; letter-spacing: 1px; text-transform: uppercase;
  color: var(--gold); margin-bottom: 2px;
}
.signal-connection-name { font-size: 13px; font-weight: 500; color: var(--text-primary); }
.signal-connection-link {
  font-size: 12px; color: var(--gold); cursor: pointer;
  white-space: nowrap; background: none; border: none; padding: 0;
}
.signal-connection-link:hover { text-decoration: underline; }

/* Suggested question card */
.signal-question-card {
  margin: 0 20px 12px;
  background: rgba(139,92,246,0.06);
  border: 0.5px solid rgba(139,92,246,0.2);
  border-radius: var(--radius-md);
  padding: 12px 14px;
}
.signal-question-label {
  font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;
  color: #A78BFA; font-weight: 500; margin-bottom: 6px;
}
.signal-question-text {
  font-size: 13px; color: var(--text-secondary); font-style: italic;
  line-height: 1.5; margin-bottom: 10px;
}
.signal-copilot-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: transparent;
  border: 0.5px solid rgba(139,92,246,0.3);
  border-radius: var(--radius-sm);
  padding: 5px 12px;
  font-size: 11px; color: #A78BFA; cursor: pointer;
  transition: var(--transition);
}
.signal-copilot-btn:hover { background: rgba(139,92,246,0.12); border-color: rgba(139,92,246,0.5); }

/* Card footer */
.signal-card-footer {
  padding: 10px 20px 14px;
  border-top: 0.5px solid var(--border-subtle);
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; flex-wrap: wrap;
}
.signal-footer-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.signal-footer-date { font-size: 11px; color: var(--text-muted); }
.signal-footer-source { font-size: 11px; color: var(--gold); cursor: pointer; text-decoration: none; }
.signal-footer-source:hover { text-decoration: underline; }
.signal-footer-actions { display: flex; align-items: center; gap: 8px; }

.signal-action-btn {
  padding: 5px 12px; border-radius: var(--radius-sm);
  font-size: 11px; cursor: pointer;
  transition: var(--transition);
  background: transparent;
  border: 0.5px solid var(--border-default);
  color: var(--text-secondary);
  display: inline-flex; align-items: center; gap: 5px;
}
.signal-action-btn:hover { background: var(--bg-elevated); color: var(--text-primary); }
.signal-action-btn.read-state { color: var(--success); border-color: rgba(16,185,129,0.3); cursor: default; }
.signal-action-btn.dismiss:hover { color: var(--danger); border-color: rgba(239,68,68,0.3); background: rgba(239,68,68,0.06); }

/* Empty state */
.sentinel-empty {
  text-align: center; padding: 80px 20px;
  background: var(--bg-surface);
  border: 0.5px dashed var(--border-subtle);
  border-radius: var(--radius-lg);
}
.sentinel-empty-radar { display: inline-block; transform: scale(1.6); margin-bottom: 28px; opacity: 0.5; }
.sentinel-empty-title { font-size: 16px; font-weight: 600; color: var(--text-primary); margin-bottom: 8px; font-family: var(--font-display); }
.sentinel-empty-sub { font-size: 13px; color: var(--text-muted); margin-bottom: 12px; }
.sentinel-empty-time { font-size: 12px; color: var(--text-muted); }

/* Right panel */
.sentinel-right-panel {
  display: flex; flex-direction: column; gap: 16px;
  position: sticky; top: 18px;
}
.sentinel-panel-card {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 18px;
}
.sentinel-panel-title {
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); font-weight: 500; margin-bottom: 4px;
}
.sentinel-panel-sub { font-size: 12px; color: var(--text-secondary); margin-bottom: 14px; line-height: 1.4; }
.sentinel-panel-meta { font-size: 11px; color: var(--text-muted); margin-bottom: 8px; }

.sentinel-digest-preview {
  font-size: 13px; color: var(--text-secondary); line-height: 1.6;
  max-height: 220px; overflow: hidden; position: relative;
}
.sentinel-digest-preview.expanded { max-height: none; }
.sentinel-digest-preview:not(.expanded)::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 36px; background: linear-gradient(transparent, var(--bg-surface));
  pointer-events: none;
}
.sentinel-digest-preview p { margin: 0 0 8px; }
.sentinel-digest-preview strong { color: var(--text-primary); }

.sentinel-btn-full {
  width: 100%; height: 38px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border);
  color: var(--gold); border-radius: var(--radius-md);
  font-size: 12px; font-weight: 500; cursor: pointer;
  transition: var(--transition);
}
.sentinel-btn-full:hover { background: var(--gold); color: var(--bg-canvas); }
.sentinel-btn-full:disabled { opacity: 0.6; cursor: not-allowed; }
.sentinel-btn-ghost-full {
  width: 100%; height: 36px;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  background: transparent; border: 0.5px solid var(--border-default);
  color: var(--text-secondary); border-radius: var(--radius-md);
  font-size: 12px; cursor: pointer;
  transition: var(--transition); margin-top: 12px;
}
.sentinel-btn-ghost-full:hover { background: var(--bg-elevated); color: var(--text-primary); }
.sentinel-btn-ghost-full:disabled { opacity: 0.6; cursor: not-allowed; }

.scan-run-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 0; border-bottom: 0.5px solid var(--border-subtle);
  font-size: 12px; gap: 8px;
}
.scan-run-row:last-child { border-bottom: none; }
.scan-run-time { color: var(--text-secondary); flex: 1; }
.scan-run-stats { color: var(--text-muted); font-size: 11px; }

.scan-status-pill {
  border-radius: 20px; padding: 2px 9px; font-size: 10px; font-weight: 500;
  display: inline-flex; align-items: center; gap: 4px; text-transform: lowercase;
}
.scan-status-done { background: var(--success-dim); color: var(--success); border: 0.5px solid rgba(16,185,129,0.25); }
.scan-status-running { background: var(--warning-dim); color: var(--warning); border: 0.5px solid rgba(245,158,11,0.25); }
.scan-status-failed { background: var(--danger-dim); color: var(--danger); border: 0.5px solid rgba(239,68,68,0.25); }

.scan-spinner {
  width: 8px; height: 8px; border: 1.5px solid var(--warning);
  border-top-color: transparent; border-radius: 50%;
  display: inline-block; animation: scan-spin 0.8s linear infinite;
}
@keyframes scan-spin { to { transform: rotate(360deg); } }

/* Watchlist */
.watchlist-row {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 0; border-bottom: 0.5px solid var(--border-subtle);
}
.watchlist-row:last-child { border-bottom: none; }
.watchlist-type-badge {
  font-size: 9px; padding: 2px 7px; border-radius: 20px;
  font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px;
  flex-shrink: 0;
}
.wt-company { background: var(--info-dim); color: var(--info); border: 0.5px solid rgba(59,130,246,0.2); }
.wt-regulatory { background: rgba(139,92,246,0.12); color: #A78BFA; border: 0.5px solid rgba(167,139,250,0.2); }
.wt-competitor { background: rgba(249,115,22,0.12); color: #F97316; border: 0.5px solid rgba(249,115,22,0.2); }
.wt-market { background: rgba(20,184,166,0.12); color: #2DD4BF; border: 0.5px solid rgba(45,212,191,0.2); }
.wt-esg { background: var(--success-dim); color: var(--success); border: 0.5px solid rgba(16,185,129,0.2); }
.wt-executive { background: var(--gold-dim); color: var(--gold); border: 0.5px solid var(--gold-dim-border); }

.watchlist-subject {
  flex: 1; font-size: 12px; color: var(--text-secondary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Toggle switch */
.toggle-switch {
  width: 30px; height: 16px; border-radius: 8px;
  background: var(--border-default);
  position: relative; cursor: pointer; transition: background 0.2s;
  flex-shrink: 0; border: none; padding: 0;
}
.toggle-switch.on { background: var(--success); }
.toggle-knob {
  position: absolute; top: 2px; left: 2px;
  width: 12px; height: 12px; border-radius: 50%;
  background: white; transition: transform 0.2s;
}
.toggle-switch.on .toggle-knob { transform: translateX(14px); }

/* ═══════════════════════════════════════════════════════════════════════
   BOARD MEMBER DASHBOARD — REDESIGN (per spec 2026-04)
   ═══════════════════════════════════════════════════════════════════════ */

/* Dashboard header */
.dashboard-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 28px 32px 0; gap: 16px;
}
@media (max-width: 900px) {
  .dashboard-header { flex-direction: column; gap: 12px; }
}
.dashboard-greeting { font-size: 14px; color: var(--text-muted); margin-bottom: 4px; }
.dashboard-name {
  font-family: var(--font-display); font-size: 28px; font-weight: 600;
  color: var(--text-primary); line-height: 1.2; margin: 0 0 4px;
}
.dashboard-role-company { font-size: 13px; color: var(--gold); margin-bottom: 4px; }
.dashboard-date { font-size: 12px; color: var(--text-muted); }

.dashboard-urgency { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.urgency-indicator { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500; }
.urgency-indicator.has-action { color: var(--danger); }
.urgency-indicator.on-track { color: var(--success); }
.urgency-pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--danger); animation: live-pulse 1.4s ease-in-out infinite; }
.urgency-item-title { font-size: 13px; color: var(--text-primary); max-width: 260px; text-align: right; }
.urgency-countdown { font-size: 12px; color: var(--danger); font-weight: 500; }

/* Morning brief wrapper */
.dashboard-brief-wrap { padding: 16px 32px 0; }

/* Vote card */
.vote-card {
  background: var(--bg-surface);
  border: 0.5px solid rgba(198,169,107,0.3);
  border-left: 4px solid var(--gold);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
  margin: 12px 32px 0;
}
.vote-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; gap: 8px; flex-wrap: wrap; }
.vote-required-label { display: flex; align-items: center; gap: 6px; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.vote-deadline-pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 500; }
.vote-deadline-urgent { background: var(--danger-dim); color: var(--danger); border: 0.5px solid rgba(239,68,68,0.25); }
.vote-deadline-soon { background: rgba(249,115,22,0.1); color: #F97316; border: 0.5px solid rgba(249,115,22,0.25); }
.vote-deadline-normal { background: var(--gold-dim); color: var(--gold); border: 0.5px solid var(--gold-dim-border); }

.vote-resolution-title { font-size: 16px; font-weight: 500; color: var(--text-primary); line-height: 1.3; margin: 6px 0 4px; }
.vote-company { font-size: 12px; color: var(--text-secondary); margin-bottom: 14px; }
.vote-buttons-row { display: flex; gap: 8px; flex-wrap: wrap; }
.vote-btn {
  width: 90px; height: 34px; border-radius: var(--radius-sm);
  font-size: 12px; font-weight: 500; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  transition: var(--transition);
}
.vote-btn-for { background: transparent; border: 0.5px solid rgba(16,185,129,0.4); color: var(--success); }
.vote-btn-for:hover { background: var(--success-dim); }
.vote-btn-against { background: transparent; border: 0.5px solid rgba(239,68,68,0.4); color: var(--danger); }
.vote-btn-against:hover { background: var(--danger-dim); }
.vote-btn-abstain { background: transparent; border: 0.5px solid var(--border-default); color: var(--text-secondary); }
.vote-btn-abstain:hover { background: var(--bg-elevated); color: var(--text-primary); }

/* Company card upgrade */
.company-card-v2 {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 20px;
  margin-bottom: 12px;
  cursor: pointer;
  transition: border-color 0.2s, transform 0.15s;
}
.company-card-v2:hover { border-color: var(--gold-dim-border); transform: translateY(-1px); }
.company-card-top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.company-initials {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 16px; font-weight: 600;
  color: var(--gold); flex-shrink: 0;
}
.company-name-group { flex: 1; min-width: 0; }
.company-name-v2 { font-size: 15px; font-weight: 600; color: var(--text-primary); margin-bottom: 2px; }
.company-meta-v2 { font-size: 12px; color: var(--text-secondary); }
.company-ticker-pill {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px; padding: 3px 9px; border-radius: 6px;
  background: var(--gold-dim); color: var(--gold); border: 0.5px solid var(--gold-dim-border);
  flex-shrink: 0;
}

.company-metrics-strip {
  display: flex; gap: 0; margin: 0 0 14px;
  border: 0.5px solid var(--border-subtle); border-radius: var(--radius-md);
  overflow: hidden;
}
.company-metric-item {
  flex: 1; padding: 10px 12px;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  border-right: 0.5px solid var(--border-subtle);
  background: var(--bg-elevated);
}
.company-metric-item:last-child { border-right: none; }
.company-metric-label { font-size: 10px; color: var(--text-muted); text-align: center; text-transform: uppercase; letter-spacing: 0.5px; }
.company-metric-value { font-size: 13px; font-weight: 600; text-align: center; display: inline-flex; align-items: center; gap: 4px; }
.metric-urgent { color: var(--danger); }
.metric-soon { color: #F97316; }
.metric-alert { color: var(--gold); }
.metric-normal { color: var(--text-secondary); }

.company-open-btn {
  width: 100%; height: 36px;
  background: var(--gold-dim); border: 0.5px solid var(--gold-dim-border);
  color: var(--gold); border-radius: var(--radius-md);
  font-size: 12px; font-weight: 500; cursor: pointer;
  transition: var(--transition);
}
.company-open-btn:hover { background: var(--gold); color: var(--bg-canvas); }

/* Meeting card upgrade */
.meeting-card-v2 {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
  margin-bottom: 10px;
  transition: var(--transition);
}
.meeting-card-v2:hover { border-color: var(--border-default); }
.meeting-card-top-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.meeting-type-badge { padding: 3px 10px; border-radius: 20px; font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; }
.meeting-type-board { background: var(--gold-dim); color: var(--gold); border: 0.5px solid var(--gold-dim-border); }
.meeting-type-committee { background: var(--info-dim); color: var(--info); border: 0.5px solid rgba(59,130,246,0.2); }
.meeting-type-agm { background: rgba(139,92,246,0.1); color: #A78BFA; border: 0.5px solid rgba(167,139,250,0.2); }
.meeting-rsvp-badge { padding: 3px 10px; border-radius: 20px; font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; }
.rsvp-accepted { background: var(--success-dim); color: var(--success); border: 0.5px solid rgba(16,185,129,0.2); }
.rsvp-declined { background: var(--danger-dim); color: var(--danger); border: 0.5px solid rgba(239,68,68,0.2); }
.rsvp-pending { background: var(--warning-dim); color: var(--warning); border: 0.5px solid rgba(245,158,11,0.2); }
.meeting-days-pill { margin-left: auto; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.days-today { background: var(--danger-dim); color: var(--danger); border: 0.5px solid rgba(239,68,68,0.25); }
.days-soon { background: rgba(249,115,22,0.1); color: #F97316; border: 0.5px solid rgba(249,115,22,0.25); }
.days-week { background: var(--warning-dim); color: var(--warning); border: 0.5px solid rgba(245,158,11,0.2); }
.days-upcoming { background: var(--bg-elevated); color: var(--text-secondary); border: 0.5px solid var(--border-subtle); }

.meeting-title-v2 { font-size: 16px; font-weight: 500; color: var(--text-primary); margin: 6px 0 8px; line-height: 1.3; }
.meeting-details-row { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 10px; }
.meeting-detail-item { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--text-secondary); }
.meeting-readiness-bar-wrap { margin-bottom: 12px; }
.meeting-readiness-label { font-size: 11px; color: var(--text-muted); margin-bottom: 4px; }
.meeting-readiness-track { height: 4px; background: var(--bg-elevated); border-radius: 2px; overflow: hidden; }
.meeting-readiness-fill { height: 4px; border-radius: 2px; transition: width 0.5s ease; }
.readiness-low { background: var(--danger); }
.readiness-mid { background: var(--warning); }
.readiness-high { background: var(--success); }
.meeting-actions-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* Action card upgrade */
.action-card-v2 {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  border-left: 3px solid var(--border-default);
  padding: 12px 14px;
  margin-bottom: 8px;
  cursor: pointer;
  transition: var(--transition);
}
.action-card-v2:hover { border-color: var(--border-default); }
.action-card-v2.priority-high { border-left-color: var(--danger); }
.action-card-v2.priority-medium { border-left-color: var(--warning); }
.action-card-v2.priority-low { border-left-color: var(--border-default); }
.action-card-top { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 6px; }
.action-title-v2 { flex: 1; font-size: 13px; font-weight: 500; color: var(--text-primary); line-height: 1.35; }
.action-card-bottom { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.action-company-label { font-size: 11px; color: var(--text-muted); }
.action-due-date { font-size: 11px; margin-left: auto; }
.due-overdue { color: var(--danger); font-weight: 500; }
.due-today { color: #F97316; font-weight: 500; }
.due-normal { color: var(--text-muted); }

.action-stat-pills { display: flex; gap: 6px; margin-bottom: 12px; flex-wrap: wrap; }
.action-stat-pill {
  padding: 4px 12px; border-radius: 20px; font-size: 11px; font-weight: 500;
  background: var(--bg-elevated); border: 0.5px solid var(--border-subtle); color: var(--text-secondary);
}
.action-stat-pill.overdue { background: var(--danger-dim); color: var(--danger); border-color: rgba(239,68,68,0.25); }

/* Section headers */
.dashboard-section-title {
  font-family: var(--font-display); font-size: 18px; font-weight: 600;
  color: var(--text-primary); margin: 0 0 14px;
}
.dashboard-section-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; gap: 12px; flex-wrap: wrap; }

.dashboard-content-v2 {
  display: grid; grid-template-columns: 62% 38%;
  gap: 24px; padding: 24px 32px; align-items: start;
}
@media (max-width: 900px) {
  .dashboard-content-v2 { grid-template-columns: 1fr; padding: 16px; }
}
.dashboard-left { display: flex; flex-direction: column; }
.dashboard-right {
  display: flex; flex-direction: column; gap: 14px;
  position: sticky; top: 24px;
}
.dashboard-section { margin-bottom: 28px; }
.dashboard-section:last-child { margin-bottom: 0; }

/* Right panel cards */
.dash-side-card {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 16px;
}
.dash-side-title {
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); font-weight: 500; margin-bottom: 12px;
  display: flex; align-items: center; gap: 6px;
}
.dash-side-title.danger { color: var(--danger); }
.dash-side-title .dot-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--danger); animation: live-pulse 1.4s ease-in-out infinite; display: inline-block; }

.dash-stat-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 0; border-bottom: 0.5px solid var(--border-subtle);
  font-size: 13px;
}
.dash-stat-row:last-child { border-bottom: none; }
.dash-stat-row .label { display: inline-flex; align-items: center; gap: 8px; color: var(--text-primary); }
.dash-stat-row .value { font-weight: 600; font-size: 14px; color: var(--text-primary); }
.dash-stat-row .value.gold { color: var(--gold); }
.dash-stat-row .icon-blue { color: var(--info); }
.dash-stat-row .icon-gold { color: var(--gold); }
.dash-stat-row .icon-red { color: var(--danger); }
.dash-stat-row .icon-green { color: var(--success); }

.dash-alert-row {
  padding: 10px 0; border-bottom: 0.5px solid var(--border-subtle);
  border-left: 3px solid var(--border-default);
  padding-left: 10px; margin-left: -10px; margin-right: -10px; padding-right: 10px;
  cursor: pointer;
}
.dash-alert-row:last-child { border-bottom: none; }
.dash-alert-row.sev-critical { border-left-color: var(--danger); }
.dash-alert-row.sev-high { border-left-color: #F97316; }
.dash-alert-row.sev-medium { border-left-color: var(--warning); }
.dash-alert-company { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; }
.dash-alert-title { font-size: 12px; font-weight: 600; color: var(--text-primary); margin-bottom: 4px; }
.dash-alert-foot { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 11px; }

.dash-side-link {
  display: inline-block; margin-top: 10px;
  font-size: 11px; color: var(--gold); cursor: pointer;
  background: none; border: none; padding: 0;
}
.dash-side-link:hover { text-decoration: underline; }

.dash-notif-row { padding: 10px 0; border-bottom: 0.5px solid var(--border-subtle); }
.dash-notif-row:last-child { border-bottom: none; }
.dash-notif-title { font-size: 12px; font-weight: 600; color: var(--text-primary); margin-bottom: 3px; display: flex; align-items: center; gap: 6px; }
.dash-notif-msg { font-size: 11px; color: var(--text-secondary); margin-bottom: 6px; line-height: 1.4; }

/* RTL adjustments for vote buttons + morning brief banner */
[dir="rtl"] .vote-buttons-row { flex-direction: row-reverse; }
[dir="rtl"] .cp-brief-banner { flex-direction: row-reverse; }
/* CopilotBriefBanner kicker label (Issue 2 fix) */
.cp-brief-kicker {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 4px;
  opacity: 0.9;
}
[dir="rtl"] .cp-brief-kicker { letter-spacing: 0; }

/* ── Vote card clickable + Resolution Detail Modal ──────────────────── */
.vote-card-clickable {
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.vote-card-clickable:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.18);
  border-color: var(--gold);
}
.vote-card-clickable:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

/* Resolution detail modal — dark theme */
.modal-overlay { background: rgba(0,0,0,0.7) !important; }
.resolution-modal {
  background: var(--bg-surface) !important;
  border: 0.5px solid var(--border-default);
  border-radius: var(--radius-xl);
  max-width: 720px;
  width: 92vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  color: var(--text-primary);
  overflow: hidden;
}
.resolution-modal .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 22px 14px;
  margin-bottom: 0;
  border-bottom: 0.5px solid var(--border-subtle);
}
.resolution-modal .modal-header h2 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  letter-spacing: 0.01em;
}
.resolution-modal .modal-close {
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: var(--radius-sm);
}
.resolution-modal .modal-close:hover { color: var(--text-primary); background: rgba(255,255,255,0.04); }
.resolution-modal .modal-body {
  overflow-y: auto;
  padding: 18px 22px;
  background: var(--bg-surface);
}
.resolution-modal .modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 22px 18px;
  border-top: 0.5px solid var(--border-subtle);
  background: var(--bg-surface);
}
.resolution-modal .res-section { margin-bottom: 18px; }
.resolution-modal .res-section-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}
[dir="rtl"] .resolution-modal .res-section-label { letter-spacing: 0; }
.resolution-modal .res-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 4px;
  line-height: 1.35;
}
.resolution-modal .res-meta {
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 10px;
}
.resolution-modal .res-text {
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-secondary);
  white-space: pre-wrap;
}

/* Tally boxes */
.tally-box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 4px;
}
.tally-item {
  background: var(--bg-elevated);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
}
.tally-item strong {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
}
.tally-item span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}
.tally-item.tally-for strong { color: var(--success); }
.tally-item.tally-for span   { color: var(--success); }
.tally-item.tally-against strong { color: var(--danger); }
.tally-item.tally-against span   { color: var(--danger); }
.tally-item.tally-abstain strong { color: var(--text-muted); }
.tally-item.tally-abstain span   { color: var(--text-muted); }

/* Vote action buttons (For / Against / Abstain) */
.vote-action-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 8px 0 12px;
}
.vote-action-btn {
  height: 40px;
  padding: 0 12px;
  border-radius: var(--radius-md);
  background: transparent;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.vote-action-for     { border: 1px solid rgba(16,185,129,0.5); color: var(--success); }
.vote-action-against { border: 1px solid rgba(239,68,68,0.5);  color: var(--danger); }
.vote-action-abstain { border: 1px solid var(--border-default); color: var(--text-secondary); }
.vote-action-for:not(:disabled):hover     { background: rgba(16,185,129,0.10); }
.vote-action-against:not(:disabled):hover { background: rgba(239,68,68,0.10); }
.vote-action-abstain:not(:disabled):hover { background: rgba(255,255,255,0.04); }
.vote-action-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.vote-action-for.is-selected     { background: var(--success); border-color: var(--success); color: #fff; font-weight: 600; }
.vote-action-against.is-selected { background: var(--danger);  border-color: var(--danger);  color: #fff; font-weight: 600; }
.vote-action-abstain.is-selected { background: #64748b;        border-color: #64748b;        color: #fff; font-weight: 600; }

/* Vote-required hint */
.vote-hint {
  font-size: 12px;
  color: var(--text-muted);
  margin: -4px 0 8px;
  padding-left: 2px;
}

/* Rationale character counter */
.vote-counter {
  font-size: 12px;
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
  font-weight: 500;
}
.vote-counter.short { color: var(--danger); }
.vote-counter.ready { color: var(--success); }

/* Submit Vote button — clear disabled state in resolution modal */
.resolution-modal .modal-footer .btn-primary:disabled {
  background: var(--bg-elevated) !important;
  color: var(--text-muted) !important;
  border: 0.5px solid var(--border-subtle);
  cursor: not-allowed;
  opacity: 0.4;
  box-shadow: none;
}
.resolution-modal .modal-footer .btn-primary:not(:disabled) {
  background: var(--gold);
  color: #0B0F1A;
  cursor: pointer;
  opacity: 1;
  border: none;
  padding: 8px 20px;
  border-radius: var(--radius-md);
  font-weight: 600;
}
.resolution-modal .modal-footer .btn-primary:not(:disabled):hover {
  background: var(--gold-light);
}

/* Rationale textarea */
.vote-rationale-input {
  width: 100%;
  padding: 10px 12px;
  border-radius: var(--radius-md);
  border: 0.5px solid var(--border-default);
  background: var(--bg-elevated);
  color: var(--text-primary);
  font: inherit;
  resize: vertical;
}
.vote-rationale-input:focus {
  outline: none;
  border-color: var(--gold);
  background: rgba(198,169,107,0.04);
  box-shadow: 0 0 0 2px rgba(198,169,107,0.18);
}

/* Already voted / success states */
.voted-badge-box {
  background: rgba(16,185,129,0.10);
  border: 0.5px solid rgba(16,185,129,0.35);
  border-left: 3px solid var(--success);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  text-align: center;
}
.voted-badge {
  font-weight: 600;
  color: var(--success);
  font-size: 14px;
}
.vote-success-box {
  background: rgba(16,185,129,0.10);
  border: 0.5px solid rgba(16,185,129,0.35);
  border-left: 3px solid var(--success);
  border-radius: var(--radius-md);
  padding: 18px 16px;
  text-align: center;
}
.vote-success-title {
  font-weight: 700;
  color: var(--success);
  font-size: 15px;
  margin-bottom: 4px;
}

/* Inline error box (dark) */
.error-box {
  background: var(--danger-dim);
  border: 0.5px solid rgba(239,68,68,0.2);
  border-left: 3px solid var(--danger);
  color: var(--danger);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  font-size: 13px;
}

/* Copilot — friendly error box */
.cp-err-box {
  margin-top: 12px;
  background: var(--danger-dim);
  border: 0.5px solid rgba(239,68,68,0.2);
  border-left: 3px solid var(--danger);
  border-radius: var(--radius-md);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.cp-err-msg {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--danger);
  flex: 1 1 auto;
  min-width: 0;
}
.cp-err-retry {
  background: transparent;
  color: var(--gold, #C9A961);
  border: 0.5px solid rgba(201,169,97,0.45);
  padding: 6px 12px;
  font-size: 12px;
  border-radius: var(--radius-sm);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  flex: 0 0 auto;
}
.cp-err-retry:hover { background: rgba(201,169,97,0.08); }

/* Copilot — reopen advisors panel chevron (shown when right panel collapsed) */
.cp-reopen-btn {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 22px;
  height: 56px;
  border: 0.5px solid var(--border, rgba(255,255,255,0.08));
  border-right: none;
  border-radius: 6px 0 0 6px;
  background: var(--surface, #1a1a1a);
  color: var(--text-muted, #888);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.cp-reopen-btn:hover { color: var(--gold, #C9A961); border-color: rgba(201,169,97,0.4); }

/* ── Board Pack Analysis ───────────────────────────────────── */
.bpa-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 20px;
  padding: 20px;
  height: calc(100vh - 200px);
  min-height: 500px;
}
@media (max-width: 900px) {
  .bpa-layout { grid-template-columns: 1fr; height: auto; }
}
.bpa-left-panel { display: flex; flex-direction: column; gap: 16px; }
.bpa-panel-card {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 16px;
}
.bpa-panel-label {
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); font-weight: 600; margin-bottom: 10px;
}
.bpa-meeting-card {
  background: var(--bg-elevated);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 12px; margin-top: 10px;
}
.bpa-meeting-card .ttl { font-size: 14px; font-weight: 600; color: var(--text-primary); }
.bpa-meeting-card .sub { font-size: 12px; color: var(--text-secondary); margin-top: 4px; }
.bpa-pack-badge {
  display: inline-block; padding: 3px 8px; border-radius: 999px;
  font-size: 11px; margin-top: 8px;
}
.bpa-pack-badge.ok    { background: rgba(76,175,80,0.15); color: #6dd676; border: 0.5px solid rgba(76,175,80,0.4); }
.bpa-pack-badge.miss  { background: rgba(255,180,80,0.12); color: #e6b969; border: 0.5px solid rgba(255,180,80,0.35); }
.bpa-radio-row { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; font-size: 13px; color: var(--text-secondary); }
.bpa-radio-row label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.bpa-upload-area {
  border: 1px dashed var(--border-default);
  border-radius: var(--radius-md);
  padding: 20px; text-align: center; cursor: pointer;
  transition: var(--transition);
  background: var(--bg-elevated);
  margin-top: 8px; font-size: 12px; color: var(--text-secondary);
}
.bpa-upload-area:hover { border-color: var(--gold-dim-border); background: rgba(198,169,107,0.04); }
.bpa-upload-area.has-file { color: var(--text-primary); border-color: var(--gold-dim-border); }
.bpa-run-btn {
  width: 100%; height: 40px; margin-top: 12px;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  background: var(--gold); color: #1a1408; font-weight: 600;
  border: none; border-radius: var(--radius-md); cursor: pointer;
  font-size: 13px;
}
.bpa-run-btn:disabled { opacity: 0.45; cursor: not-allowed; }
.bpa-run-btn:hover:not(:disabled) { opacity: 0.92; }
.bpa-last-run { font-size: 11px; color: var(--text-muted); margin-top: 10px; display: flex; justify-content: space-between; align-items: center; }

.bpa-right-panel {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  display: flex; flex-direction: column; overflow: hidden;
}
.bpa-analysis-content { flex: 1; overflow-y: auto; padding: 24px; }
.bpa-analysis-header {
  padding: 16px 24px;
  border-bottom: 0.5px solid var(--border-subtle);
  display: flex; align-items: center; justify-content: space-between;
}
.bpa-analysis-header .ttl { font-family: var(--font-display, 'Playfair Display', serif); font-size: 16px; }
.bpa-analysis-header .sub { font-size: 12px; color: var(--gold); margin-top: 2px; }
.bpa-analysis-header .ts  { font-size: 11px; color: var(--text-muted); }
.bpa-empty-state {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 10px; color: var(--text-muted);
  padding: 40px; text-align: center;
}
.bpa-streaming-label {
  display: flex; align-items: center; gap: 6px;
  font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--gold); padding: 12px 24px 0;
}
.bpa-action-bar {
  padding: 12px 24px;
  border-top: 0.5px solid var(--border-subtle);
  display: flex; gap: 8px;
}
.bpa-md h2 {
  font-size: 15px; color: var(--gold); font-weight: 500;
  margin: 20px 0 8px; padding-bottom: 6px;
  border-bottom: 0.5px solid var(--border-subtle);
}
.bpa-md p, .bpa-md li { font-size: 13px; color: var(--text-secondary); line-height: 1.7; }
.bpa-md ul { padding-left: 20px; margin: 6px 0; }

/* ── Board Pack Chat ───────────────────────────────────────── */
.bpc-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 0;
  height: calc(100vh - 200px);
  min-height: 500px;
}
@media (max-width: 900px) { .bpc-layout { grid-template-columns: 1fr; height: auto; } }
.bpc-left {
  background: var(--bg-surface);
  border-right: 0.5px solid var(--border-subtle);
  padding: 16px;
  display: flex; flex-direction: column; gap: 14px;
  overflow-y: auto;
}
.bpc-suggestion-chip {
  background: var(--bg-elevated);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 8px 12px; font-size: 12px;
  color: var(--text-secondary);
  cursor: pointer; transition: var(--transition);
  line-height: 1.4;
}
.bpc-suggestion-chip:hover { border-color: var(--gold-dim-border); color: var(--text-primary); }
.bpc-center { display: flex; flex-direction: column; background: var(--bg-base); }
.bpc-messages {
  flex: 1; overflow-y: auto; padding: 20px 24px;
  display: flex; flex-direction: column; gap: 16px;
}
.bpc-empty {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 8px;
  color: var(--text-muted); text-align: center; padding: 40px;
}
.bpc-user-msg {
  align-self: flex-end;
  background: rgba(198,169,107,0.1);
  border: 0.5px solid var(--gold-dim-border);
  border-radius: var(--radius-lg) var(--radius-lg) 0 var(--radius-lg);
  padding: 10px 14px; max-width: 70%; font-size: 14px;
  color: var(--text-primary);
}
.bpc-ai-msg { align-self: flex-start; max-width: 85%; }
.bpc-ai-label {
  font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--gold); margin-bottom: 6px;
  display: flex; align-items: center; gap: 5px;
}
.bpc-ai-content {
  background: var(--bg-elevated);
  border: 0.5px solid var(--border-subtle);
  border-radius: 0 var(--radius-lg) var(--radius-lg) var(--radius-lg);
  padding: 12px 16px; font-size: 13px;
  color: var(--text-secondary); line-height: 1.7;
}
.bpc-input-area {
  padding: 12px 16px;
  border-top: 0.5px solid var(--border-subtle);
  display: flex; gap: 10px; align-items: flex-end;
  background: var(--bg-surface);
}
.bpc-textarea {
  flex: 1; background: var(--bg-elevated);
  border: 0.5px solid var(--border-default);
  border-radius: var(--radius-lg);
  padding: 12px 16px; font-size: 14px;
  color: var(--text-primary);
  font-family: var(--font-body, inherit);
  resize: none; outline: none;
  min-height: 44px; max-height: 120px; line-height: 1.5;
}
.bpc-textarea:focus { border-color: var(--gold); }
.bpc-send-btn {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--gold); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: var(--transition);
}
.bpc-send-btn:hover:not(:disabled) { opacity: 0.85; }
.bpc-send-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.bpc-clear-link {
  font-size: 12px; color: var(--text-muted);
  background: none; border: none; cursor: pointer;
  align-self: flex-start; padding: 6px 16px;
}
.bpc-clear-link:hover { color: var(--text-secondary); }

/* ── Succession Candidate Detail Modal ────────────────────── */
.candidate-card { cursor: pointer; transition: border-color 0.2s, transform 0.15s; }
.candidate-card:hover { border-color: var(--gold-dim-border); transform: translateY(-1px); }
.succession-modal-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.65);
  display: flex; align-items: center; justify-content: center;
  z-index: 9500; padding: 20px;
}
.succession-modal {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  width: 100%; max-width: 640px;
  max-height: 85vh; overflow-y: auto;
}
.succession-modal-header {
  padding: 20px 24px 16px;
  border-bottom: 0.5px solid var(--border-subtle);
}
.succession-modal-header .title-row {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
}
.succession-modal-header h3 {
  font-family: 'Playfair Display', serif;
  font-size: 20px; margin: 0; color: var(--text-primary); font-weight: 500;
}
.succession-modal-header .role {
  font-size: 13px; color: var(--gold); margin-top: 2px;
}
.succession-modal-close {
  background: none; border: none; cursor: pointer;
  font-size: 22px; color: var(--text-muted); padding: 0; line-height: 1;
}
.succession-modal-close:hover { color: var(--text-primary); }
.succession-tags-row { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 12px; }
.succession-tag {
  display: inline-flex; align-items: center;
  padding: 3px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 500;
  border: 0.5px solid transparent;
}
.succession-tag.internal { background: rgba(59,130,246,0.12); color: var(--info); border-color: rgba(59,130,246,0.25); }
.succession-tag.external { background: rgba(245,158,11,0.12); color: var(--warning); border-color: rgba(245,158,11,0.25); }
.succession-tag.risk-low { background: rgba(16,185,129,0.12); color: var(--success); border-color: rgba(16,185,129,0.25); }
.succession-tag.risk-medium { background: rgba(245,158,11,0.12); color: var(--warning); border-color: rgba(245,158,11,0.25); }
.succession-tag.risk-high { background: rgba(239,68,68,0.12); color: var(--danger); border-color: rgba(239,68,68,0.25); }
.succession-tag.position-tag { background: transparent; color: var(--gold); border-color: var(--gold-dim-border); }
.succession-section { padding: 16px 24px; border-bottom: 0.5px solid var(--border-subtle); }
.succession-section:last-child { border-bottom: none; }
.succession-section-label {
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  font-weight: 600; margin-bottom: 10px; color: var(--gold);
}
.succession-section-label.green { color: var(--success); }
.succession-section-label.amber { color: var(--warning); }
.readiness-large { font-size: 20px; font-weight: 600; margin-bottom: 10px; }
.readiness-large.ready_now { color: var(--success); }
.readiness-large.ready_1_2_years { color: var(--warning); }
.readiness-large.ready_3_5_years { color: #ff9b3a; }
.readiness-large.not_ready { color: var(--danger); }
.readiness-bar-track { height: 6px; background: var(--bg-elevated); border-radius: 3px; overflow: hidden; }
.readiness-bar-fill { height: 6px; border-radius: 3px; transition: width 0.5s ease; }
.skill-tag {
  display: inline-flex; padding: 3px 10px; border-radius: 20px;
  font-size: 11px; font-weight: 500; margin: 3px 4px 3px 0;
}
.skill-tag-strength { background: rgba(16,185,129,0.12); color: var(--success); border: 0.5px solid rgba(16,185,129,0.25); }
.skill-tag-development { background: rgba(245,158,11,0.12); color: var(--warning); border: 0.5px solid rgba(245,158,11,0.25); }
.two-col-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .two-col-grid { grid-template-columns: 1fr; } }
.succession-bio-text {
  font-size: 13px; color: var(--text-secondary); line-height: 1.7;
  white-space: pre-wrap;
}
.succession-assessment-row {
  display: flex; gap: 10px; padding: 8px 0; align-items: baseline;
  border-bottom: 0.5px solid var(--border-subtle);
}
.succession-assessment-row:last-child { border-bottom: none; }
.succession-assessment-row .as-date { font-size: 11px; color: var(--text-muted); min-width: 90px; }
.succession-assessment-row .as-score { font-size: 14px; font-weight: 700; min-width: 50px; }
.succession-assessment-row .as-name { font-size: 11px; color: var(--text-muted); }
.succession-assessment-row .as-notes { font-size: 12px; color: var(--text-secondary); flex: 1; }
.succession-modal-footer {
  padding: 16px 24px;
  border-top: 0.5px solid var(--border-subtle);
  display: flex; justify-content: flex-start;
}

/* ── Board Induction Program ──────────────────────────────── */
.induction-header {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 24px;
  margin-bottom: 20px;
}
.induction-header-top {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px; margin-bottom: 16px;
}
.induction-program-label {
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); font-weight: 600; margin-bottom: 6px;
}
.induction-program-title {
  font-family: 'Playfair Display', serif;
  font-size: 20px; font-weight: 600;
  color: var(--text-primary); margin: 4px 0;
}
.induction-company-name { font-size: 13px; color: var(--gold); }
.induction-started { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
.induction-ring-wrap {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
}
.induction-ring-pct-text {
  font-size: 18px; font-weight: 700; fill: var(--text-primary);
}
.induction-ring-sub { font-size: 12px; color: var(--text-secondary); }
.induction-progress-track {
  height: 6px; background: var(--bg-elevated);
  border-radius: 3px; overflow: hidden; margin: 8px 0 4px;
}
.induction-progress-fill { height: 6px; border-radius: 3px; transition: width 0.8s ease; }
.induction-progress-row {
  display: flex; justify-content: space-between;
  font-size: 12px; color: var(--text-muted); margin-top: 16px;
}
.induction-stats-row {
  display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap;
}
.induction-stat-pill {
  display: flex; align-items: center; gap: 5px;
  background: var(--bg-elevated);
  border: 0.5px solid var(--border-subtle);
  border-radius: 20px; padding: 4px 14px;
  font-size: 12px; color: var(--text-secondary);
}
.induction-stat-pill .ind-glyph { font-weight: 700; }
.induction-stat-pill.completed .ind-glyph { color: var(--success); }
.induction-stat-pill.pending .ind-glyph { color: var(--warning); }

.induction-filter-bar { display: flex; gap: 6px; margin-bottom: 16px; flex-wrap: wrap; }
.induction-filter-pill {
  padding: 5px 14px; border-radius: 20px;
  font-size: 11px; font-weight: 500; cursor: pointer;
  transition: var(--transition);
  border: 0.5px solid var(--border-subtle);
  background: var(--bg-elevated); color: var(--text-secondary);
}
.induction-filter-pill.active {
  background: var(--gold-dim);
  border-color: var(--gold-dim-border);
  color: var(--gold);
}

.induction-category-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 0 6px; margin-top: 16px; margin-bottom: 8px;
  border-bottom: 0.5px solid var(--border-subtle);
}
.induction-category-left {
  display: flex; align-items: center; gap: 8px;
  font-size: 11px; text-transform: uppercase;
  letter-spacing: 1px; color: var(--text-secondary); font-weight: 500;
}
.induction-category-count { font-size: 12px; color: var(--text-muted); }
.induction-cat-icon { font-size: 16px; }

.induction-item-card {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 14px 16px; margin-bottom: 8px;
  display: flex; align-items: center; gap: 14px;
  transition: var(--transition);
}
.induction-item-card:hover { border-color: var(--border-default); }
.induction-item-card.completed { opacity: 0.65; }

.induction-checkbox {
  width: 24px; height: 24px; border-radius: 50%;
  flex-shrink: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: var(--transition);
}
.induction-checkbox.checked {
  background: var(--gold); border: none; color: #1a1408;
}
.induction-checkbox.unchecked {
  background: transparent;
  border: 1.5px solid var(--border-default);
}
.induction-checkbox.unchecked:hover {
  border-color: var(--gold); background: var(--gold-dim);
}

.induction-item-body { flex: 1; min-width: 0; }
.induction-item-title {
  font-size: 14px; color: var(--text-primary);
  font-weight: 500; line-height: 1.3;
}
.induction-item-title.completed {
  color: var(--text-muted); text-decoration: line-through; font-weight: 400;
}
.induction-item-desc {
  font-size: 12px; color: var(--text-secondary); margin-top: 2px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.induction-item-meta {
  display: flex; align-items: center; gap: 10px;
  margin-top: 6px; flex-wrap: wrap;
}
.induction-day-badge {
  font-size: 10px; padding: 2px 8px; border-radius: 20px;
  background: var(--bg-elevated); color: var(--text-muted);
  border: 0.5px solid var(--border-subtle);
}
.induction-day-badge.overdue {
  background: rgba(239,68,68,0.15);
  color: var(--danger);
  border-color: rgba(239,68,68,0.3);
}
.induction-resource-link {
  font-size: 11px; color: var(--gold); cursor: pointer;
  display: inline-flex; align-items: center; gap: 4px;
  text-decoration: none;
}
.induction-resource-link:hover { text-decoration: underline; }
.induction-done-date {
  font-size: 11px; color: var(--text-muted); white-space: nowrap;
}
.induction-celebration {
  background: rgba(198,169,107,0.12);
  border: 0.5px solid var(--gold-dim-border);
  border-radius: var(--radius-lg);
  padding: 16px 20px; text-align: center; margin-bottom: 16px;
}
.induction-celebration .cel-title {
  font-size: 16px; color: var(--gold); font-weight: 700;
}
.induction-celebration .cel-sub {
  font-size: 13px; color: var(--text-muted); margin-top: 4px;
}
.induction-empty {
  text-align: center; padding: 60px 20px; color: var(--text-muted);
}
.induction-empty .ind-empty-icon { font-size: 60px; opacity: 0.4; }
.induction-empty .ind-empty-title {
  font-size: 16px; color: var(--text-secondary); margin: 12px 0 6px;
}

/* ── Board Member Profile Modal & Committee Cards ─────────── */
.board-member-card { cursor: pointer; transition: border-color 0.2s, transform 0.15s; }
.board-member-card:hover { border-color: var(--gold-dim-border); transform: translateY(-1px); }

.bm-profile-modal-overlay,
.committee-modal-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.65);
  display: flex; align-items: center; justify-content: center;
  z-index: 9500; padding: 20px;
}
.bm-profile-modal {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  width: 100%; max-width: 560px; max-height: 85vh; overflow-y: auto;
}
.bm-profile-header {
  display: flex; align-items: flex-start; gap: 16px;
  padding: 24px 24px 16px;
  border-bottom: 0.5px solid var(--border-subtle);
}
.bm-avatar-large {
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--gold-dim);
  border: 0.5px solid var(--gold-dim-border);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 22px; color: var(--gold); flex-shrink: 0;
  overflow: hidden;
}
.bm-profile-section {
  padding: 16px 24px;
  border-bottom: 0.5px solid var(--border-subtle);
}
.bm-profile-section:last-child { border-bottom: none; }
.bm-profile-label {
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); font-weight: 600; margin-bottom: 6px;
}
.bm-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bm-detail-label {
  font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--gold); font-weight: 600; margin-bottom: 4px;
}
.bm-detail-value { font-size: 13px; color: var(--text-primary); }

.skill-bar-row {
  display: flex; align-items: center; gap: 10px; margin-bottom: 8px;
}
.skill-bar-label {
  font-size: 12px; color: var(--text-secondary);
  width: 160px; flex-shrink: 0;
}
.skill-bar-track {
  flex: 1; height: 4px; background: var(--bg-elevated);
  border-radius: 2px; overflow: hidden;
}
.skill-bar-fill { height: 4px; border-radius: 2px; transition: width 0.5s ease; }
.skill-bar-score {
  font-size: 11px; color: var(--text-muted);
  width: 20px; text-align: right;
}

.committee-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px; margin-top: 16px;
}
.committee-card {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 20px; cursor: pointer;
  transition: border-color 0.2s, transform 0.15s;
}
.committee-card:hover {
  border-color: var(--gold-dim-border);
  transform: translateY(-1px);
}
.committee-card-top {
  display: flex; align-items: center; gap: 10px; margin-bottom: 12px;
}
.committee-name {
  flex: 1; font-size: 15px; font-weight: 500; color: var(--text-primary);
}
.committee-count-badge {
  font-size: 10px; padding: 2px 8px; border-radius: 20px;
  background: var(--gold-dim); color: var(--gold);
  border: 0.5px solid var(--gold-dim-border); white-space: nowrap;
}
.committee-members-preview {
  display: flex; align-items: center; margin-bottom: 12px;
}
.committee-avatar-sm {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--gold-dim);
  border: 1.5px solid var(--bg-surface);
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; color: var(--gold); margin-left: -8px;
}
.committee-avatar-sm:first-child { margin-left: 0; }
.committee-more { font-size: 11px; color: var(--text-muted); margin-left: 8px; }
.committee-view-link { font-size: 12px; color: var(--gold); }

.committee-modal {
  background: var(--bg-surface);
  border: 0.5px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  width: 100%; max-width: 600px; max-height: 90vh; overflow-y: auto;
}
.committee-modal-header {
  display: flex; align-items: center; gap: 12px;
  padding: 20px 24px 16px;
  border-bottom: 0.5px solid var(--border-subtle);
}
.committee-modal-section {
  padding: 16px 24px;
  border-bottom: 0.5px solid var(--border-subtle);
}
.committee-modal-section:last-child { border-bottom: none; }
.committee-modal-label {
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); font-weight: 600; margin-bottom: 10px;
}
.committee-mandate-list { list-style: none; padding: 0; margin: 0; }
.committee-mandate-list li {
  font-size: 13px; color: var(--text-secondary); line-height: 1.8;
  padding: 0 0 6px 4px;
  border-bottom: 0.5px solid var(--border-subtle);
  margin-bottom: 6px;
}
.committee-mandate-list li:last-child { border-bottom: none; margin-bottom: 0; }
.committee-member-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 0;
  border-bottom: 0.5px solid var(--border-subtle);
}
.committee-member-row:last-child { border-bottom: none; }

/* ═══════════════════════════════════════════════════════
   KPI DASHBOARD STYLES
   ═══════════════════════════════════════════════════════ */
.kpi-dashboard { display:flex; flex-direction:column; gap:1.5rem; padding-bottom:2rem; }
.kpi-dash-header { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.kpi-dash-title { font-family:'Playfair Display',serif; font-size:1.75rem; color:var(--text-primary); margin:0 0 .25rem; }
.kpi-dash-sub { font-size:.875rem; color:var(--text-muted); margin:0; }
.kpi-period-row { display:flex; gap:.375rem; flex-wrap:wrap; }
.kpi-period-btn { padding:.35rem .9rem; border-radius:100px; border:1px solid var(--border-color); background:var(--bg-elevated); color:var(--text-secondary); font-size:.8rem; font-family:'Inter',sans-serif; cursor:pointer; transition:all .2s; }
.kpi-period-btn.active { background:var(--gold); color:#0B0F1A; border-color:var(--gold); font-weight:600; }
.kpi-period-btn:hover:not(.active) { border-color:var(--gold); color:var(--gold); }
.kpi-health-strip { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:12px; padding:1.25rem 1.5rem; display:flex; align-items:center; gap:1.75rem; flex-wrap:wrap; }
.kpi-gauge-wrap { flex-shrink:0; }
.kpi-health-counts { display:flex; gap:1.75rem; flex:1; flex-wrap:wrap; }
.hs-stat { display:flex; flex-direction:column; align-items:center; gap:.2rem; }
.hs-num { font-family:'Playfair Display',serif; font-size:1.75rem; font-weight:700; line-height:1; }
.hs-lbl { font-size:.7rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.hs-stat.on-track .hs-num { color:#10B981; }
.hs-stat.at-risk .hs-num { color:#F59E0B; }
.hs-stat.critical .hs-num { color:#EF4444; }
.hs-stat.total .hs-num { color:var(--gold); }
.btn-ai-brief { padding:.6rem 1.2rem; background:linear-gradient(135deg,rgba(198,169,107,.14),rgba(198,169,107,.05)); border:1px solid var(--gold); border-radius:8px; color:var(--gold); font-family:'Inter',sans-serif; font-size:.875rem; cursor:pointer; transition:all .2s; white-space:nowrap; }
.btn-ai-brief:hover:not(:disabled) { background:rgba(198,169,107,.22); box-shadow:0 0 14px rgba(198,169,107,.25); }
.btn-ai-brief:disabled { opacity:.6; cursor:not-allowed; }
.kpi-ai-box { background:linear-gradient(135deg,rgba(198,169,107,.08),rgba(198,169,107,.02)); border:1px solid rgba(198,169,107,.28); border-radius:12px; padding:1.25rem 1.5rem; }
.kpi-ai-box-header { display:flex; align-items:center; gap:.5rem; margin-bottom:.75rem; font-size:.8rem; font-weight:600; color:var(--gold); text-transform:uppercase; letter-spacing:.08em; }
.kpi-ai-box-text { color:var(--text-secondary); font-size:.9375rem; line-height:1.75; margin:0; }
.kpi-cat-tabs { display:flex; gap:.25rem; flex-wrap:wrap; border-bottom:1px solid var(--border-color); }
.kpi-cat-btn { padding:.5rem 1rem; border:none; border-bottom:2px solid transparent; background:transparent; color:var(--text-muted); font-family:'Inter',sans-serif; font-size:.875rem; cursor:pointer; transition:all .2s; display:flex; align-items:center; gap:.35rem; margin-bottom:-1px; }
.kpi-cat-btn.active { color:var(--gold); border-bottom-color:var(--gold); font-weight:600; }
.kpi-cat-btn:hover:not(.active) { color:var(--text-primary); }
.kpi-cat-badge { background:var(--bg-elevated); border-radius:100px; padding:.1rem .45rem; font-size:.68rem; color:var(--text-muted); }
.kpi-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(272px,1fr)); gap:1rem; }
.kpi-empty-state { grid-column:1/-1; text-align:center; padding:3rem; color:var(--text-muted); font-size:.9375rem; }
.kpi-card { border-radius:10px; border:1px solid var(--border-color); padding:1rem 1.125rem; display:flex; flex-direction:column; gap:.6rem; transition:all .25s; }
.kpi-card:hover { border-color:rgba(198,169,107,.35); transform:translateY(-2px); box-shadow:0 6px 24px rgba(0,0,0,.35); }
.kpi-card-header { display:flex; align-items:center; gap:.5rem; }
.kpi-cat-icon { display:flex; align-items:center; justify-content:center; width:28px; height:28px; background:rgba(198,169,107,0.08); border-radius:6px; border:1px solid rgba(198,169,107,0.18); flex-shrink:0; }
.kpi-status-pill { font-size:.68rem; font-weight:600; padding:.15rem .55rem; border-radius:100px; border:1px solid; text-transform:uppercase; letter-spacing:.05em; }
.kpi-edit-btn { margin-left:auto; background:transparent; border:1px solid var(--border-color); color:var(--text-muted); font-size:.7rem; padding:.15rem .55rem; border-radius:4px; cursor:pointer; transition:all .2s; font-family:'Inter',sans-serif; }
.kpi-edit-btn:hover { border-color:var(--gold); color:var(--gold); }
.kpi-metric-name { font-size:.875rem; color:var(--text-secondary); font-weight:500; line-height:1.35; }
.kpi-value-row { display:flex; align-items:flex-end; justify-content:space-between; gap:.5rem; }
.kpi-big-value { font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:700; line-height:1; }
.kpi-spark { opacity:.9; flex-shrink:0; }
.kpi-target-row { display:flex; align-items:center; justify-content:space-between; }
.kpi-target-txt { font-size:.775rem; color:var(--text-muted); }
.kpi-variance-badge { font-size:.775rem; font-weight:600; }
.kpi-card-foot { display:flex; align-items:center; justify-content:space-between; padding-top:.5rem; border-top:1px solid rgba(255,255,255,.05); }
.kpi-foot-by { font-size:.7rem; color:var(--text-muted); }
.kpi-trend-arrow { font-size:.75rem; font-weight:700; }

/* KPI Detail Modal */
.kpi-detail-modal { max-width: 600px; width: 95vw; }
.kpi-detail-meta { display:flex; align-items:center; gap:0.75rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.kpi-detail-period { font-size:0.75rem; color:var(--text-muted); background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:100px; padding:0.2rem 0.65rem; }
.kpi-detail-cat-tag { font-size:0.65rem; font-weight:700; color:var(--gold); letter-spacing:0.1em; background:rgba(198,169,107,0.08); border:1px solid rgba(198,169,107,0.2); border-radius:100px; padding:0.2rem 0.65rem; }
.kpi-detail-numbers { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; background:var(--bg-base); border:1px solid var(--border-color); border-radius:10px; padding:1.25rem 1rem; margin-bottom:1.5rem; gap:0; }
.kpi-detail-num-block { display:flex; flex-direction:column; align-items:center; gap:0.35rem; text-align:center; padding:0 0.5rem; }
.kpi-detail-num { font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:700; line-height:1; }
.kpi-detail-num-lbl { font-size:0.68rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.06em; white-space:nowrap; }
.kpi-detail-divider { width:1px; height:40px; background:var(--border-color); }
.kpi-detail-trend-box { background:var(--bg-base); border:1px solid var(--border-color); border-radius:10px; padding:1.125rem 1.25rem; margin-bottom:1.25rem; }
.kpi-detail-trend-chart { margin-top:0.75rem; }
.kpi-detail-section-title { font-size:0.7rem; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:0.1em; }
.kpi-detail-desc-box { background:var(--bg-base); border:1px solid var(--border-color); border-radius:10px; padding:1.125rem 1.25rem; margin-bottom:1.25rem; }
.kpi-detail-desc-text { margin:0.5rem 0 0; color:var(--text-secondary); font-size:0.9rem; line-height:1.7; }
.kpi-detail-audit { display:flex; justify-content:space-between; font-size:0.7rem; color:var(--text-muted); padding-top:0.75rem; border-top:1px solid var(--border-color); }
.kpi-card:hover .kpi-metric-name { color: var(--text-primary); transition: color 0.2s; }

/* ═══════════════════════════════════════════════
   INTELLIGENCE HUB — Market / News / Research / Competitive
   ═══════════════════════════════════════════════ */
.intel-dashboard { display:flex; flex-direction:column; gap:1.5rem; padding-bottom:2rem; }
.intel-header { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.intel-title { font-family:'Playfair Display',serif; font-size:1.75rem; color:var(--text-primary); margin:0 0 .25rem; }
.intel-sub { font-size:.875rem; color:var(--text-muted); margin:0; }
.mkt-section-title { font-size:.7rem; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:.1em; margin-bottom:.75rem; }

/* Market Data */
.mkt-ticker-row { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:.875rem; margin-bottom:1.25rem; }
.mkt-ticker-card { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:10px; padding:.875rem 1rem; transition:all .2s; }
.mkt-ticker-card:hover { border-color:rgba(198,169,107,.35); transform:translateY(-2px); }
.mkt-ticker-label { font-size:.75rem; color:var(--text-muted); margin-bottom:.25rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mkt-ticker-value { font-family:'Playfair Display',serif; font-size:1.35rem; font-weight:700; color:var(--text-primary); line-height:1; }
.mkt-ticker-unit { font-size:.65rem; color:var(--text-muted); margin-top:.2rem; }
.mkt-change-badge { font-size:.75rem; font-weight:600; }
.mkt-two-col { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.mkt-sector-grid { display:flex; flex-direction:column; gap:.5rem; }
.mkt-sector-row { display:grid; grid-template-columns:200px 1fr 70px; align-items:center; gap:1rem; }
.mkt-sector-name { font-size:.8125rem; color:var(--text-secondary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mkt-sector-bar-wrap { background:rgba(255,255,255,.06); border-radius:100px; height:6px; overflow:hidden; }
.mkt-sector-bar { height:100%; border-radius:100px; transition:width .8s ease; }
.mkt-sector-pct { font-size:.8125rem; font-weight:600; text-align:right; }

/* News & Media */
.news-digest-box { background:linear-gradient(135deg,rgba(198,169,107,.08),rgba(198,169,107,.02)); border:1px solid rgba(198,169,107,.28); border-radius:12px; padding:1.25rem 1.5rem; }
.news-digest-text { margin:.5rem 0 0; color:var(--text-secondary); font-size:.875rem; line-height:1.8; white-space:pre-wrap; font-family:'Inter',sans-serif; }
.news-feed { display:flex; flex-direction:column; gap:.75rem; }
.news-card { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:10px; padding:1rem 1.125rem; cursor:pointer; transition:all .2s; }
.news-card:hover { border-color:rgba(198,169,107,.3); }
.news-card.company-mention { border-left:3px solid var(--gold); }
.news-card-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem; margin-bottom:.5rem; }
.news-card-meta { display:flex; align-items:center; gap:.75rem; }
.news-source { font-size:.75rem; font-weight:600; color:var(--gold); }
.news-date { font-size:.7rem; color:var(--text-muted); }
.news-company-badge { font-size:.65rem; font-weight:700; color:#F59E0B; background:rgba(245,158,11,.12); border:1px solid rgba(245,158,11,.3); border-radius:100px; padding:.1rem .5rem; }
.news-badges { display:flex; align-items:center; gap:.5rem; }
.news-sentiment-badge { font-size:.65rem; font-weight:700; padding:.15rem .55rem; border-radius:100px; text-transform:uppercase; }
.news-relevance { font-size:.7rem; color:var(--text-muted); }
.news-headline { margin:.25rem 0 0; font-family:'Playfair Display',serif; font-size:1rem; color:var(--text-primary); line-height:1.4; font-weight:600; }
.news-summary { margin:.75rem 0 0; font-size:.875rem; color:var(--text-secondary); line-height:1.7; }

/* Research Assistant */
.research-suggestions { display:flex; flex-direction:column; gap:.625rem; }
.research-suggest-btn { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:8px; padding:.75rem 1rem; text-align:left; color:var(--text-secondary); font-size:.875rem; font-family:'Inter',sans-serif; cursor:pointer; transition:all .2s; line-height:1.5; }
.research-suggest-btn:hover { border-color:var(--gold); color:var(--text-primary); background:rgba(198,169,107,.06); }
.research-chat { display:flex; flex-direction:column; gap:1.25rem; margin-bottom:1.25rem; max-height:520px; overflow-y:auto; padding-right:.25rem; }
.research-msg { display:flex; flex-direction:column; gap:.375rem; }
.research-msg.user { align-items:flex-end; }
.research-msg.assistant { align-items:flex-start; }
.research-msg-label { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--text-muted); }
.research-msg.assistant .research-msg-label { color:var(--gold); }
.research-msg-content { max-width:88%; background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:10px; padding:.875rem 1rem; }
.research-msg.user .research-msg-content { background:rgba(198,169,107,.1); border-color:rgba(198,169,107,.25); }
.research-typing { display:flex; gap:4px; padding:.5rem 0; }
.research-typing span { width:7px; height:7px; border-radius:50%; background:var(--gold); animation:typing-bounce .9s infinite; }
.research-typing span:nth-child(2) { animation-delay:.15s; }
.research-typing span:nth-child(3) { animation-delay:.3s; }
@keyframes typing-bounce { 0%,60%,100% { transform:translateY(0); opacity:.5; } 30% { transform:translateY(-6px); opacity:1; } }
.research-input-row { display:flex; gap:.625rem; align-items:center; }
.research-input { flex:1; background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:10px; padding:.75rem 1rem; color:var(--text-primary); font-size:.9375rem; font-family:'Inter',sans-serif; outline:none; transition:border-color .2s; }
.research-input:focus { border-color:var(--gold); }
.research-send-btn { width:42px; height:42px; border-radius:10px; background:var(--gold); border:none; color:#0B0F1A; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all .2s; }
.research-send-btn:disabled { opacity:.45; cursor:not-allowed; }
.research-send-btn:hover:not(:disabled) { background:#d4b87a; box-shadow:0 0 14px rgba(198,169,107,.4); }

/* Competitive Analysis */
.comp-table-wrap { overflow-x:auto; border-radius:10px; border:1px solid var(--border-color); }
.comp-table { width:100%; border-collapse:collapse; }
.comp-th { padding:.75rem 1rem; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); background:var(--bg-elevated); text-align:center; border-bottom:1px solid var(--border-color); white-space:nowrap; }
.comp-th.self { color:var(--gold); background:rgba(198,169,107,.08); }
.comp-th-metric { text-align:left; min-width:180px; }
.comp-tr:nth-child(even) { background:rgba(255,255,255,.02); }
.comp-td { padding:.75rem 1rem; font-size:.875rem; color:var(--text-primary); text-align:center; border-bottom:1px solid rgba(255,255,255,.04); position:relative; }
.comp-td.self { background:rgba(198,169,107,.05); }
.comp-td.best { background:rgba(16,185,129,.05); }
.comp-td-metric { text-align:left; font-size:.8125rem; color:var(--text-secondary); font-weight:500; }
.comp-leader-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:#10B981; margin-left:.4rem; vertical-align:middle; }
.comp-sw-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem; }
.comp-sw-card { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:10px; padding:1rem; display:flex; flex-direction:column; gap:.45rem; }
.comp-sw-card.self { border-color:rgba(198,169,107,.4); background:rgba(198,169,107,.05); }
.comp-sw-name { font-family:'Playfair Display',serif; font-size:.95rem; color:var(--text-primary); margin-bottom:.25rem; font-weight:600; }
.comp-sw-tag { font-size:.65rem; font-weight:700; padding:.15rem .5rem; border-radius:100px; display:inline-block; margin-bottom:.25rem; }
.comp-sw-tag.digital { color:#818CF8; background:rgba(129,140,248,.12); border:1px solid rgba(129,140,248,.25); }
.comp-sw-item { display:flex; align-items:flex-start; gap:.4rem; font-size:.78rem; color:var(--text-secondary); line-height:1.45; }
.comp-sw-dot { width:6px; height:6px; border-radius:50%; flex-shrink:0; margin-top:.35rem; }
.comp-sw-dot.strength { background:#10B981; }
.comp-sw-dot.weakness { background:#EF4444; }

@media (max-width: 768px) {
  .mkt-two-col { grid-template-columns:1fr; }
  .mkt-sector-row { grid-template-columns:1fr auto; }
  .mkt-sector-bar-wrap { display:none; }
}

/* ═══════════════════════════════════════════════════
   BGS OVERVIEW — COMMAND CENTER
   ═══════════════════════════════════════════════════ */
.bgs-overview { display:flex; flex-direction:column; gap:1.75rem; padding:2rem; padding-bottom:3rem; }
.bgs-overview-header { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.bgs-overview-title { font-family:'Playfair Display',serif; font-size:2rem; color:var(--text-primary); margin:0 0 .3rem; }
.bgs-overview-sub { font-size:.875rem; color:var(--text-muted); margin:0; }

.bgs-stat-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem; }
.bgs-stat-card { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:12px; padding:1.25rem 1.375rem; display:flex; flex-direction:column; gap:.5rem; transition:all .22s; }
.bgs-stat-card:hover { border-color:rgba(198,169,107,.35); transform:translateY(-2px); box-shadow:0 6px 24px rgba(0,0,0,.3); }
.bgs-stat-card-top { display:flex; align-items:center; gap:.75rem; }
.bgs-stat-icon-wrap { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.bgs-stat-label { font-size:.78rem; color:var(--text-muted); font-weight:500; text-transform:uppercase; letter-spacing:.05em; }
.bgs-stat-value { font-family:'Playfair Display',serif; font-size:2.25rem; font-weight:700; line-height:1; }
.bgs-stat-sub { font-size:.72rem; color:var(--text-muted); }

.bgs-bottom-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.bgs-panel { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:12px; padding:1.25rem 1.375rem; display:flex; flex-direction:column; gap:.875rem; }
.bgs-panel-header { display:flex; align-items:center; justify-content:space-between; padding-bottom:.75rem; border-bottom:1px solid var(--border-color); }
.bgs-panel-title { font-size:.8rem; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:.08em; }
.bgs-panel-count { font-family:'Playfair Display',serif; font-size:1.1rem; color:var(--text-muted); }
.bgs-urgent-badge { font-size:.68rem; font-weight:700; color:#EF4444; background:rgba(239,68,68,.12); border:1px solid rgba(239,68,68,.3); border-radius:100px; padding:.15rem .6rem; }
.bgs-empty { font-size:.875rem; color:var(--text-muted); text-align:center; padding:2rem 0; }

.bgs-list-row { display:flex; align-items:flex-start; gap:.75rem; padding:.625rem 0; border-bottom:1px solid rgba(255,255,255,.04); }
.bgs-list-row:last-child { border-bottom:none; }
.bgs-list-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; margin-top:.35rem; }
.bgs-list-content { flex:1; min-width:0; }
.bgs-list-title { font-size:.875rem; color:var(--text-primary); font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-bottom:.2rem; }
.bgs-list-meta { display:flex; align-items:center; gap:.375rem; font-size:.72rem; color:var(--text-muted); flex-wrap:wrap; }
.bgs-status-badge { font-size:.65rem; font-weight:700; padding:.15rem .55rem; border-radius:100px; text-transform:capitalize; flex-shrink:0; white-space:nowrap; }
.bgs-priority-badge { font-size:.65rem; font-weight:700; padding:.15rem .55rem; border-radius:100px; text-transform:capitalize; flex-shrink:0; white-space:nowrap; }

@media (max-width: 900px) {
  .bgs-bottom-grid { grid-template-columns: 1fr; }
  .bgs-stat-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ═══════════════════════════════════════════════════
   BGS DESIGN SYSTEM — ALL PAGES
   ═══════════════════════════════════════════════════ */
.bgs-page-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.75rem; flex-wrap:wrap; gap:1rem; }
.bgs-page-title { font-family:'Playfair Display',serif; font-size:2rem; color:var(--text-primary); margin:0; font-weight:700; }

.bgs-table-wrap { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:12px; overflow:hidden; }
.bgs-table { width:100%; border-collapse:collapse; }
.bgs-thead { background:rgba(255,255,255,0.02); }
.bgs-th { padding:.875rem 1.25rem; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--text-muted); text-align:left; border-bottom:1px solid var(--border-color); white-space:nowrap; }
.bgs-tbody .bgs-tr { border-bottom:1px solid rgba(255,255,255,.04); transition:background .15s; }
.bgs-tbody .bgs-tr:last-child { border-bottom:none; }
.bgs-tbody .bgs-tr:hover { background:rgba(198,169,107,.04); }
.bgs-td { padding:.875rem 1.25rem; font-size:.875rem; color:var(--text-secondary); vertical-align:middle; }
.bgs-td-name { font-weight:600; color:var(--text-primary); font-size:.9rem; }

.bgs-filter-bar { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; flex-wrap:wrap; }
.bgs-search-wrap { position:relative; flex:1; min-width:240px; }
.bgs-search-icon { position:absolute; left:.875rem; top:50%; transform:translateY(-50%); color:var(--text-muted); pointer-events:none; }
.bgs-search-input { width:100%; box-sizing:border-box; background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:8px; padding:.625rem .875rem .625rem 2.5rem; color:var(--text-primary); font-size:.875rem; font-family:'Inter',sans-serif; outline:none; transition:border-color .2s; }
.bgs-search-input:focus { border-color:var(--gold); }
.bgs-search-input::placeholder { color:var(--text-muted); }

.bgs-role-filters { display:flex; gap:.375rem; flex-wrap:wrap; }
.bgs-role-filter-btn { padding:.35rem .875rem; border-radius:100px; border:1px solid var(--border-color); background:var(--bg-elevated); color:var(--text-muted); font-size:.75rem; font-family:'Inter',sans-serif; cursor:pointer; transition:all .2s; white-space:nowrap; }
.bgs-role-filter-btn.active { background:var(--gold); color:#0B0F1A; border-color:var(--gold); font-weight:600; }
.bgs-role-filter-btn:hover:not(.active) { border-color:var(--gold); color:var(--gold); }

.bgs-badge { font-size:.68rem; font-weight:700; padding:.15rem .6rem; border-radius:100px; text-transform:uppercase; letter-spacing:.05em; display:inline-block; white-space:nowrap; }

.bgs-meeting-stat-card { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:10px; padding:1.125rem 1.25rem; display:flex; flex-direction:column; gap:.375rem; }
.bgs-meeting-stat-card .stat-label { font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text-muted); font-weight:600; }
.bgs-meeting-stat-card .stat-value { font-family:'Playfair Display',serif; font-size:2rem; font-weight:700; line-height:1; }

.bgs-health-pill { display:inline-flex; align-items:center; gap:.375rem; font-size:.75rem; font-weight:600; padding:.25rem .75rem; border-radius:100px; }
.bgs-health-dot { width:6px; height:6px; border-radius:50%; flex-shrink:0; }

.bgs-empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:4rem 2rem; gap:1rem; text-align:center; }
.bgs-empty-state-title { font-family:'Playfair Display',serif; font-size:1.25rem; color:var(--text-primary); margin:0; }
.bgs-empty-state-sub { font-size:.875rem; color:var(--text-muted); margin:0; max-width:360px; line-height:1.6; }

.bgs-report-tab { padding:.5rem 1.25rem; border:none; border-bottom:2px solid transparent; background:transparent; color:var(--text-muted); font-family:'Inter',sans-serif; font-size:.875rem; cursor:pointer; transition:all .2s; margin-bottom:-1px; }
.bgs-report-tab.active { color:var(--gold); border-bottom-color:var(--gold); font-weight:600; }
.bgs-report-tab:hover:not(.active) { color:var(--text-primary); }

.bgs-read-rate { font-size:.68rem; color:var(--text-muted); margin-top:.15rem; }

/* BGS User Modal */
.bgs-user-modal-grid { display:flex; flex-direction:column; gap:0; border:1px solid var(--border-color); border-radius:10px; overflow:hidden; }
.bgs-user-modal-row { display:grid; grid-template-columns:140px 1fr; align-items:center; padding:0.75rem 1rem; border-bottom:1px solid rgba(255,255,255,0.05); }
.bgs-user-modal-row:last-child { border-bottom:none; }
.bgs-user-modal-row:nth-child(even) { background:rgba(255,255,255,0.02); }
.bgs-user-modal-label { font-size:0.72rem; font-weight:600; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.06em; }
.bgs-user-modal-value { font-size:0.875rem; color:var(--text-primary); font-weight:500; }

/* ═══════════════════════════════════════
   BGS DOCUMENTS + BOARD PACKS + KPI MGR
   ═══════════════════════════════════════ */
.bgs-docs-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:1rem; }
.bgs-doc-card { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:10px; padding:1rem 1.125rem; display:flex; flex-direction:column; gap:.5rem; transition:all .2s; }
.bgs-doc-card:hover { border-color:rgba(198,169,107,.3); transform:translateY(-1px); box-shadow:0 4px 16px rgba(0,0,0,.25); }
.bgs-doc-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.bgs-doc-icon { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.bgs-doc-title { font-size:.9375rem; font-weight:600; color:var(--text-primary); line-height:1.35; }
.bgs-doc-meta { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin-top:.25rem; font-size:.72rem; color:var(--text-muted); }
.bgs-doc-desc { font-size:.8125rem; color:var(--text-muted); line-height:1.6; margin:0; }
.bgs-doc-footer { display:flex; align-items:center; gap:.75rem; font-size:.7rem; color:var(--text-muted); padding-top:.5rem; border-top:1px solid rgba(255,255,255,.05); flex-wrap:wrap; }
.bgs-kpi-manager-grid { display:flex; flex-direction:column; gap:.625rem; }
.bgs-kpi-row { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:10px; padding:.875rem 1.125rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; transition:all .2s; }
.bgs-kpi-row:hover { border-color:rgba(198,169,107,.25); box-shadow:0 2px 12px rgba(0,0,0,.2); }
.bgs-kpi-row-left { display:flex; align-items:center; gap:.75rem; flex:1; min-width:0; }
.bgs-kpi-row-right { display:flex; align-items:center; gap:.75rem; flex-shrink:0; }

.bgs-kpi-header-wrap { display:flex; flex-direction:column; gap:0; margin-bottom:1.5rem; }
.bgs-kpi-header-top { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }

/* KPI Manager Modal Utilities */
.kpi-modal-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:.875rem; margin-bottom:.875rem; }
.kpi-modal-row-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:.875rem; margin-bottom:.875rem; }
.kpi-modal-label { display:block; font-size:.78rem; color:var(--text-muted); margin-bottom:.3rem; font-weight:500; }
.kpi-modal-input { width:100%; box-sizing:border-box; background:var(--bg-base); border:1px solid var(--border-color); border-radius:6px; padding:.5rem .75rem; color:var(--text-primary); font-size:.875rem; font-family:'Inter',sans-serif; outline:none; transition:border-color .2s; }
.kpi-modal-input:focus { border-color:var(--gold); }
.kpi-modal-select { width:100%; background:var(--bg-base); border:1px solid var(--border-color); border-radius:6px; padding:.5rem .75rem; color:var(--text-primary); font-size:.875rem; font-family:'Inter',sans-serif; outline:none; }
.kpi-modal-textarea { width:100%; box-sizing:border-box; background:var(--bg-base); border:1px solid var(--border-color); border-radius:6px; padding:.5rem .75rem; color:var(--text-primary); font-size:.875rem; font-family:'Inter',sans-serif; resize:vertical; outline:none; margin-bottom:.875rem; transition:border-color .2s; }
.kpi-modal-textarea:focus { border-color:var(--gold); }

/* KPI Update Modal Stats Strip */
.kpi-update-name-display { background:var(--bg-base); border:1px solid var(--border-color); border-radius:8px; padding:.75rem 1rem; margin-bottom:1rem; }
.kpi-update-name-label { font-size:.68rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.2rem; }
.kpi-update-name-value { font-family:'Playfair Display',serif; font-size:1.1rem; color:var(--text-primary); font-weight:600; }
.kpi-update-stats-strip { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; background:var(--bg-base); border:1px solid var(--border-color); border-radius:8px; padding:.875rem 1rem; margin-bottom:1rem; }
.kpi-update-stat { display:flex; flex-direction:column; align-items:center; gap:.2rem; text-align:center; }
.kpi-update-stat-label { font-size:.68rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; }
.kpi-update-stat-val { font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:700; color:var(--text-primary); }
.kpi-update-stat-divider { width:1px; height:32px; background:var(--border-color); }

/* Generic modal footer */
.modal-footer { display:flex; justify-content:flex-end; gap:0.75rem; padding:1.25rem 1.5rem; border-top:1px solid var(--border-color); }

/* Spec: full button styles for KPI modal footers */
.btn-primary {
  padding: 0.5625rem 1.25rem;
  background: var(--gold);
  color: #0B0F1A;
  border: none;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.btn-primary:hover:not(:disabled) {
  background: #d4b87a;
  box-shadow: 0 0 14px rgba(198,169,107,0.35);
}
.btn-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.btn-outline {
  padding: 0.5625rem 1.25rem;
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.btn-outline:hover {
  border-color: var(--gold);
  color: var(--gold);
}
.modal-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 1.5rem;
  border-top: 1px solid var(--border-color);
  background: var(--bg-surface);
  border-radius: 0 0 14px 14px;
}

/* ═══════════════════════════════════════════════
   BGS COMMITTEES EDITOR
   ═══════════════════════════════════════════════ */
.bgs-committees-layout { display:grid; grid-template-columns:260px 1fr; gap:1.25rem; align-items:start; }
.bgs-committee-list { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:12px; overflow:hidden; }
.bgs-committee-list-item { display:flex; align-items:center; gap:.625rem; padding:.875rem 1rem; cursor:pointer; border-bottom:1px solid rgba(255,255,255,.04); transition:background .15s; }
.bgs-committee-list-item:last-child { border-bottom:none; }
.bgs-committee-list-item:hover { background:rgba(255,255,255,.03); }
.bgs-committee-list-item.active { background:rgba(198,169,107,.08); border-left:3px solid var(--gold); }
.bgs-committee-item-name { font-size:.875rem; font-weight:600; color:var(--text-primary); line-height:1.35; margin-bottom:.2rem; }
.bgs-committee-item-meta { display:flex; align-items:center; gap:.3rem; font-size:.72rem; color:var(--text-muted); }
.bgs-committee-detail { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:12px; padding:1.25rem 1.5rem; display:flex; flex-direction:column; gap:1.125rem; }
.bgs-committee-detail-header { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:.875rem; }
.bgs-committee-mandate { background:var(--bg-base); border:1px solid var(--border-color); border-radius:10px; padding:1rem 1.125rem; }
.bgs-committee-members-section { display:flex; flex-direction:column; gap:.625rem; }
.bgs-member-row { display:flex; align-items:center; gap:.75rem; padding:.625rem 0; border-bottom:1px solid rgba(255,255,255,.04); }
.bgs-member-row:last-child { border-bottom:none; }
.bgs-member-avatar { width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,rgba(198,169,107,.2),rgba(198,169,107,.06)); border:1.5px solid rgba(198,169,107,.3); display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:.875rem; color:var(--gold); font-weight:700; flex-shrink:0; }

/* ═══════════════════════════════════════════════
   BGS ORG CHART EDITOR
   ═══════════════════════════════════════════════ */
.bgs-org-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:.75rem; }
.bgs-org-node-card { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:10px; padding:.875rem 1rem; transition:all .2s; }
.bgs-org-node-card:hover { border-color:rgba(198,169,107,.3); transform:translateY(-1px); }

/* ═══════════════════════════════════════════════
   BGS SUCCESSION EDITOR
   ═══════════════════════════════════════════════ */
.bgs-succession-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1rem; }
.bgs-succession-card { background:var(--bg-elevated); border:1px solid var(--border-color); border-radius:12px; padding:1.125rem; transition:all .2s; }
.bgs-succession-card:hover { border-color:rgba(198,169,107,.3); transform:translateY(-2px); box-shadow:0 6px 24px rgba(0,0,0,.3); }

/* ── BGS Induction / Strategy / ESG Manager Tools ─────────────────────── */
.bgs-page-icon-box { width: 44px; height: 44px; border-radius: 10px; background: rgba(198,169,107,0.1); border: 1px solid rgba(198,169,107,0.25); display: flex; align-items: center; justify-content: center; }
.bgs-page-sub { font-size: .875rem; color: var(--text-muted); margin: .1rem 0 0; }
.bgs-btn-add { display: flex; align-items: center; gap: .5rem; }
.bgs-stats-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.25rem; }

/* Induction list */
.bgs-induction-list { display: flex; flex-direction: column; gap: .5rem; }
.bgs-induction-row { display: flex; align-items: center; gap: .75rem; padding: .85rem 1rem; background: var(--surface-2, rgba(255,255,255,0.03)); border: 1px solid var(--border, rgba(255,255,255,0.08)); border-radius: 10px; }
.bgs-induction-num { width: 28px; height: 28px; border-radius: 50%; background: rgba(198,169,107,0.15); color: var(--gold); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .8rem; flex-shrink: 0; }
.bgs-induction-typeicon { width: 36px; height: 36px; border-radius: 8px; border: 1px solid; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bgs-induction-body { flex: 1; min-width: 0; }
.bgs-induction-title { font-size: .9rem; font-weight: 600; color: var(--text-primary); margin-bottom: .2rem; }
.bgs-induction-meta { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.bgs-induction-cat { font-size: .68rem; font-weight: 700; padding: .12rem .45rem; border-radius: 100px; border: 1px solid; text-transform: uppercase; }
.bgs-induction-mins { font-size: .72rem; color: var(--text-muted); }
.bgs-induction-req { font-size: .65rem; font-weight: 700; color: #EF4444; display: flex; align-items: center; gap: .2rem; }
.bgs-induction-actions { display: flex; gap: .375rem; flex-shrink: 0; }
.bgs-btn-danger { color: #EF4444 !important; border-color: rgba(239,68,68,.3) !important; }

/* Strategy grid */
.bgs-strategy-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }
.bgs-strategy-card { background: var(--surface-2, rgba(255,255,255,0.03)); border: 1px solid var(--border, rgba(255,255,255,0.08)); border-top: 3px solid #C6A96B; border-radius: 12px; padding: 1.1rem; display: flex; flex-direction: column; gap: .6rem; }
.bgs-strategy-head { display: flex; align-items: flex-start; justify-content: space-between; }
.bgs-strategy-icon { width: 42px; height: 42px; border-radius: 10px; border: 1px solid; display: flex; align-items: center; justify-content: center; }
.bgs-strategy-actions { display: flex; gap: .25rem; }
.bgs-strategy-title { font-size: 1rem; font-weight: 700; color: var(--text-primary); margin: 0; }
.bgs-strategy-desc { font-size: .82rem; color: var(--text-muted); line-height: 1.45; margin: 0; }
.bgs-strategy-kpis { display: flex; flex-direction: column; gap: .3rem; margin-top: .25rem; }
.bgs-strategy-kpi { display: flex; align-items: center; gap: .4rem; font-size: .78rem; color: var(--text-secondary, var(--text-primary)); }

/* Strategy modal: KPI editor */
.bgs-color-row { display: flex; gap: .35rem; }
.bgs-color-swatch { width: 28px; height: 28px; border-radius: 6px; border: 2px solid transparent; cursor: pointer; padding: 0; }
.bgs-color-swatch.active { border-color: var(--text-primary); box-shadow: 0 0 0 2px rgba(198,169,107,0.3); }
.bgs-kpi-list { display: flex; flex-wrap: wrap; gap: .4rem; min-height: 28px; }
.bgs-kpi-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .55rem; background: rgba(198,169,107,0.12); border: 1px solid rgba(198,169,107,0.3); border-radius: 100px; font-size: .75rem; color: var(--text-primary); }
.bgs-kpi-rm { background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 1rem; line-height: 1; padding: 0; }
.bgs-kpi-rm:hover { color: #EF4444; }

/* ESG sections */
.bgs-esg-section { margin-bottom: 1.5rem; }
.bgs-esg-section-head { display: flex; align-items: center; gap: .6rem; margin-bottom: .75rem; padding-bottom: .5rem; border-bottom: 1px solid var(--border, rgba(255,255,255,0.08)); }
.bgs-esg-pillar-title { font-size: 1rem; font-weight: 700; margin: 0; flex: 1; }
.bgs-esg-count { font-size: .72rem; color: var(--text-muted); }
.bgs-esg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .75rem; }
.bgs-esg-card { background: var(--surface-2, rgba(255,255,255,0.03)); border: 1px solid var(--border, rgba(255,255,255,0.08)); border-radius: 10px; padding: .85rem; }
.bgs-esg-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; margin-bottom: .4rem; }
.bgs-esg-name { font-size: .82rem; font-weight: 600; color: var(--text-primary); flex: 1; }
.bgs-esg-value-row { display: flex; align-items: baseline; gap: .35rem; flex-wrap: wrap; }
.bgs-esg-value { font-size: 1.5rem; font-weight: 700; color: var(--text-primary); }
.bgs-esg-unit { font-size: .75rem; color: var(--text-muted); }
.bgs-esg-trend { font-size: .65rem; font-weight: 700; padding: .1rem .4rem; border-radius: 100px; margin-left: auto; text-transform: uppercase; }
.bgs-esg-target { font-size: .72rem; color: var(--text-muted); margin: .25rem 0 .35rem; }
.bgs-esg-bar { height: 5px; background: rgba(255,255,255,0.06); border-radius: 100px; overflow: hidden; }
.bgs-esg-bar-fill { height: 100%; border-radius: 100px; transition: width .25s; }
.bgs-esg-desc { font-size: .72rem; color: var(--text-muted); margin-top: .45rem; line-height: 1.4; }
.bgs-esg-by { font-size: .65rem; color: var(--text-muted); margin-top: .35rem; opacity: .7; }

.kpi-modal-checkbox { display: flex; align-items: center; gap: .4rem; font-size: .85rem; color: var(--text-primary); cursor: pointer; }
.modal-footer { display: flex; gap: .5rem; justify-content: flex-end; padding: .85rem 1rem; border-top: 1px solid var(--border, rgba(255,255,255,0.08)); }

/* Induction Stats Strip */
.bgs-induction-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:1.25rem; }
.bgs-induction-stat-card { background:var(--bg-elevated, var(--surface-2, rgba(255,255,255,0.03))); border:1px solid var(--border-color, var(--border, rgba(255,255,255,0.08))); border-radius:10px; padding:1rem 1.25rem; }
.bgs-induction-stat-label { font-size:.72rem; font-weight:600; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; margin-bottom:.375rem; }
.bgs-induction-stat-value { font-family:'Playfair Display', serif; font-size:1.75rem; font-weight:700; line-height:1; }

/* ESG card extras */
.kpi-cat-badge { display:inline-flex; align-items:center; justify-content:center; min-width:1.4rem; height:1.4rem; padding:0 .4rem; margin-left:.4rem; border-radius:999px; background:rgba(198,169,107,.15); color:var(--gold); font-size:.7rem; font-weight:600; }
.bgs-esg-pillar-tag { display:inline-block; padding:.15rem .5rem; border:1px solid; border-radius:999px; font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.bgs-esg-card-footer { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:.6rem; padding-top:.5rem; border-top:1px dashed var(--border, rgba(255,255,255,0.08)); }

/* ===== BGS Stat Card Clickable + Card Modal ===== */
.bgs-stat-card-clickable { cursor:pointer; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.bgs-stat-card-clickable:hover { transform: translateY(-2px); border-color: var(--gold); box-shadow: 0 8px 24px rgba(212,175,55,.18); }
.bgs-card-modal-body { padding: 1rem 1.25rem 1.25rem; display:flex; flex-direction:column; gap: 1rem; }
.bgs-card-modal-stat-row { display:grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .75rem; }
.bgs-card-modal-stat { background: rgba(255,255,255,.02); border:1px solid rgba(212,175,55,.18); border-radius: 10px; padding: .9rem .75rem; text-align:center; }
.bgs-card-modal-stat-val { font-family:'Playfair Display', serif; font-size: 1.75rem; font-weight: 700; line-height: 1; }
.bgs-card-modal-stat-lbl { font-size:.7rem; color: var(--text-muted); margin-top:.35rem; text-transform: uppercase; letter-spacing:.04em; }
.bgs-card-modal-hint { display:flex; align-items:center; gap:.5rem; padding:.75rem; background: rgba(212,175,55,.05); border:1px solid rgba(212,175,55,.18); border-radius: 8px; font-size:.8rem; color: var(--text-muted); }
.bgs-card-modal-list { display:flex; flex-direction:column; gap:.4rem; }
.bgs-card-modal-list-title { font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color: var(--text-muted); margin-bottom:.25rem; }
.bgs-card-modal-list-row { display:flex; align-items:center; gap:.6rem; padding:.55rem .65rem; background: rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.05); border-radius:8px; }
.bgs-card-modal-list-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.bgs-card-modal-list-name { font-size:.85rem; font-weight:600; color: var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bgs-card-modal-list-meta { font-size:.7rem; color: var(--text-muted); margin-top:.15rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ===== BGS Grouped Sidebar ===== */
.bgs-sidebar-nav { display:flex; flex-direction:column; gap:.25rem; padding:.5rem 0; }
.bgs-nav-group { display:flex; flex-direction:column; }
.bgs-nav-group-header { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.65rem .85rem; background:transparent; border:none; border-radius:8px; color: var(--text-muted); cursor:pointer; font-family:inherit; font-size:.78rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; transition: background .15s ease, color .15s ease; width:100%; text-align:left; }
.bgs-nav-group-header:hover { background: rgba(212,175,55,.06); color: var(--text); }
.bgs-nav-group-header.has-active { color: var(--gold); }
.bgs-nav-group-label { font-family:inherit; }
.bgs-nav-group-items { display:flex; flex-direction:column; gap:.15rem; padding: .15rem 0 .35rem .65rem; margin-left:.65rem; border-left: 1px solid rgba(212,175,55,.15); }
.bgs-nav-item { display:flex; align-items:center; gap:.55rem; padding:.5rem .75rem; background:transparent; border:none; border-radius:6px; color: var(--text-muted); cursor:pointer; font-family:inherit; font-size:.82rem; font-weight:500; transition: background .15s ease, color .15s ease; width:100%; text-align:left; }
.bgs-nav-item:hover { background: rgba(212,175,55,.08); color: var(--text); }
.bgs-nav-item.active { background: rgba(212,175,55,.14); color: var(--gold); font-weight:600; }

/* RTL */
[dir="rtl"] .bgs-nav-group-header { text-align:right; }
[dir="rtl"] .bgs-nav-item { text-align:right; }
[dir="rtl"] .bgs-nav-group-items { padding: .15rem .65rem .35rem 0; margin-left:0; margin-right:.65rem; border-left:none; border-right: 1px solid rgba(212,175,55,.15); }

/* ── CHAIRMAN DASHBOARD PHASE 1 ───────────────────────────────────────── */
.chairman-overview { padding: 0; }
.chairman-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; padding: 1.5rem 1.75rem; background: linear-gradient(135deg, rgba(198,169,107,0.06), rgba(198,169,107,0.02)); border:1px solid rgba(198,169,107,0.2); border-radius: 14px; margin-bottom: 1.5rem; }
.chairman-greeting { font-family: 'Playfair Display', serif; font-size: 1.75rem; font-weight: 600; color: var(--text-primary); margin:0; line-height:1.2; }
.chairman-role-line { font-size: .9375rem; color: var(--text-secondary); margin: .25rem 0 0; }
.chairman-date { font-size: .8125rem; color: var(--text-muted); margin: .35rem 0 0; }
.btn-ai-brief { display:inline-flex; align-items:center; gap:.45rem; padding: .7rem 1.15rem; background: linear-gradient(135deg, #C6A96B, #B89858); color:#0B0F1A; font-weight:700; font-size:.85rem; border:none; border-radius: 10px; cursor:pointer; transition: transform .15s, box-shadow .2s; box-shadow: 0 2px 8px rgba(198,169,107,0.25); white-space:nowrap; }
.btn-ai-brief:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(198,169,107,0.4); }
.btn-ai-brief:disabled { opacity:.65; cursor:wait; }
.btn-ai-brief.loading { background: rgba(198,169,107,.18); color: var(--gold); }
.kpi-ai-box { background: linear-gradient(135deg, rgba(198,169,107,0.08), rgba(198,169,107,0.02)); border:1px solid rgba(198,169,107,0.3); border-radius: 12px; padding: 1.15rem 1.35rem; margin-bottom: 1.5rem; }
.kpi-ai-box-header { font-size:.78rem; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.55rem; }
.kpi-ai-box-text { font-size:.9375rem; line-height:1.65; color:var(--text-primary); margin:0; font-style:italic; }
.chairman-stat-strip { display:grid; grid-template-columns: repeat(5, 1fr); gap:.85rem; margin-bottom: 1.5rem; }
.chairman-stat-card { background: var(--bg-elevated); border:1px solid var(--border-subtle); border-radius:12px; padding:1rem 1.05rem; transition: border-color .2s, transform .15s, box-shadow .2s; }
.chairman-stat-card:hover { border-color: rgba(198,169,107,0.4); transform: translateY(-1px); }
/* Clickable Overview cards — open slide-in detail panel */
.chairman-stat-card-clickable {
  font: inherit; text-align: inherit; color: inherit; width: 100%;
  cursor: pointer; display: block; appearance: none; -webkit-appearance: none;
}
.chairman-stat-card-clickable:hover {
  border-color: var(--gold);
  box-shadow: 0 6px 18px rgba(198,169,107,0.18);
  transform: translateY(-2px);
}
.chairman-stat-card-clickable:focus-visible {
  outline: none; border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(198,169,107,0.32);
}
.chairman-stat-card-clickable:active { transform: translateY(0); }
.chairman-stat-chev {
  margin-left: auto; color: var(--gold); font-size: 1.15rem; font-weight: 600;
  opacity: 0; transform: translateX(-4px);
  transition: opacity .18s, transform .18s;
}
.chairman-rtl .chairman-stat-chev { margin-left: 0; margin-right: auto; transform: translateX(4px); }
.chairman-stat-card-clickable:hover .chairman-stat-chev,
.chairman-stat-card-clickable:focus-visible .chairman-stat-chev { opacity: 1; transform: translateX(0); }
.chairman-stat-top { display:flex; align-items:center; gap:.6rem; margin-bottom:.65rem; }
.chairman-stat-label { font-size:.7rem; font-weight:700; color: var(--text-muted); text-transform:uppercase; letter-spacing:.06em; }
.chairman-stat-value { font-family:'Playfair Display', serif; font-size: 1.85rem; font-weight: 600; line-height:1.05; }
.chairman-stat-unit { font-size:.7rem; font-weight:600; color:var(--text-muted); margin-left:.2rem; }
.chairman-stat-sub { font-size:.7rem; color: var(--text-muted); margin-top:.25rem; }
.chairman-bottom-grid { display:grid; grid-template-columns: 1.4fr 1fr; gap:1.25rem; }
.chairman-panel { background: var(--bg-elevated); border:1px solid var(--border-subtle); border-radius:12px; overflow:hidden; }
.chairman-panel-header { display:flex; justify-content:space-between; align-items:center; padding: .85rem 1.15rem; border-bottom:1px solid var(--border-subtle); background: rgba(198,169,107,.03); }
.chairman-panel-title { font-size:.85rem; font-weight:700; color:var(--text-primary); }
.chairman-meeting-row { display:flex; align-items:center; gap:.65rem; padding:.7rem 1.15rem; border-bottom:1px solid rgba(198,169,107,.07); }
.chairman-meeting-row:last-child { border-bottom:none; }
.chairman-notes-area { width:100%; min-height:240px; padding:.95rem 1.05rem; background: rgba(11,15,26,.5); border:none; color: var(--text-primary); font-size:.875rem; font-family: 'Inter', sans-serif; line-height:1.55; resize:vertical; outline:none; }
.chairman-notes-area:focus { background: rgba(11,15,26,.8); }
.kpi-edit-btn { background: rgba(198,169,107,.12); color: var(--gold); border:1px solid rgba(198,169,107,.3); padding: .3rem .65rem; font-size:.7rem; font-weight:700; border-radius:6px; cursor:pointer; transition: background .15s; }
.kpi-edit-btn:hover:not(:disabled) { background: rgba(198,169,107,.2); }
.kpi-edit-btn:disabled { opacity:.6; cursor:wait; }
.chairman-gov-header { padding:1.25rem 1.5rem; background: linear-gradient(135deg, rgba(198,169,107,0.05), transparent); border:1px solid rgba(198,169,107,0.15); border-radius:12px; margin-bottom: 1.25rem; }
.chairman-section-title { font-family:'Playfair Display', serif; font-size:1.5rem; font-weight:600; color: var(--text-primary); margin:0; }
.chairman-gov-stat-strip { display:grid; grid-template-columns: repeat(5, 1fr); gap:.75rem; margin-bottom:1.5rem; }
.chairman-gov-stat { background: var(--bg-elevated); border:1px solid var(--border-subtle); border-radius:10px; padding:.85rem 1rem; text-align:center; }
.chairman-gov-stat-val { font-family:'Playfair Display', serif; font-size:1.85rem; font-weight:600; line-height:1; }
.chairman-gov-stat-lbl { font-size:.68rem; font-weight:700; color: var(--text-muted); text-transform:uppercase; letter-spacing:.06em; margin-top:.4rem; }
.chairman-sig-row { display:flex; align-items:center; gap:1rem; padding:.85rem 1.15rem; border-bottom:1px solid rgba(198,169,107,.07); }
.chairman-sig-row:last-child { border-bottom:none; }
.chairman-sig-info { flex:1; min-width:0; }
.chairman-sig-title { font-size:.9rem; font-weight:600; color: var(--text-primary); }
.chairman-sig-meta { font-size:.75rem; color: var(--text-muted); margin-top:.15rem; }
.chairman-sign-btn { display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .9rem; background: linear-gradient(135deg, #C6A96B, #B89858); color:#0B0F1A; font-weight:700; font-size:.75rem; border:none; border-radius:8px; cursor:pointer; transition: transform .15s, box-shadow .2s; box-shadow: 0 2px 6px rgba(198,169,107,.2); white-space:nowrap; flex-shrink:0; }
.chairman-sign-btn:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(198,169,107,.35); }
.chairman-sign-btn:disabled { opacity:.65; cursor:wait; }
.chairman-coi-row { display:flex; align-items:center; gap:.65rem; padding:.7rem 1.15rem; border-bottom:1px solid rgba(198,169,107,.07); }
.chairman-coi-row:last-child { border-bottom:none; }
.chairman-member-avatar { display:flex; align-items:center; justify-content:center; background: linear-gradient(135deg, rgba(198,169,107,.25), rgba(198,169,107,.1)); color:var(--gold); border:1px solid rgba(198,169,107,.35); border-radius:50%; font-weight:700; flex-shrink:0; }
.chairman-assessment-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap:.85rem; padding:1rem 1.15rem; }
.chairman-assessment-card { background: rgba(11,15,26,.5); border:1px solid var(--border-subtle); border-radius:10px; padding:.95rem; transition: border-color .2s; }
.chairman-assessment-card:hover { border-color: rgba(198,169,107,0.35); }
.loading-state { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:3.5rem 1rem; color: var(--text-muted); }
.loading-spinner { width:32px; height:32px; border:3px solid rgba(198,169,107,.18); border-top-color: var(--gold); border-radius:50%; animation: spin 0.85s linear infinite; margin-bottom:.85rem; }
@keyframes spin { to { transform: rotate(360deg); } }
.bgs-empty { padding:1.5rem 1.15rem; text-align:center; color: var(--text-muted); font-size:.85rem; }
@media (max-width: 1100px) {
  .chairman-stat-strip, .chairman-gov-stat-strip { grid-template-columns: repeat(2, 1fr); }
  .chairman-meet-stat-strip { grid-template-columns: repeat(2, 1fr); }
  .chairman-bottom-grid { grid-template-columns: 1fr; }
  .chairman-hero { flex-direction:column; }
}

/* Phase 2 — Meetings tab */
.chairman-meetings { display:flex; flex-direction:column; gap:1.25rem; }
.chairman-meet-stat-strip { display:grid; grid-template-columns: repeat(4, 1fr); gap:.75rem; margin-bottom:.5rem; }
.chairman-meet-stat { background: var(--bg-elevated); border:1px solid var(--border-subtle); border-radius:12px; padding:1rem 1.05rem; display:flex; flex-direction:column; gap:.4rem; transition: border-color .2s, transform .15s; }
.chairman-meet-stat:hover { border-color: rgba(198,169,107,0.35); transform: translateY(-1px); }
.chairman-meet-stat-icon { color: var(--gold); opacity:.9; }
.chairman-meet-stat-val { font-family:'Playfair Display', serif; font-size:1.85rem; font-weight:600; line-height:1; color: var(--gold) !important; }
.chairman-meet-stat .chairman-meet-stat-val { color: var(--gold) !important; }
.chairman-meet-stat-lbl { font-size:.68rem; font-weight:700; color: var(--text-muted); text-transform:uppercase; letter-spacing:.06em; }

.chairman-meet-list { display:flex; flex-direction:column; gap:.65rem; }
.chairman-meet-card { display:flex; align-items:center; gap:1rem; background: var(--bg-elevated); border:1px solid rgba(255,255,255,0.06); border-radius:12px; padding:1rem 1.15rem; cursor:pointer; transition: background .15s, border-color .15s; }
.chairman-meet-card:hover { background: #243042; border-color: rgba(198,169,107,0.25); }
.chairman-meet-card-main { flex:1; min-width:0; display:flex; flex-direction:column; gap:.4rem; }
.chairman-meet-title { font-family:'Playfair Display', serif; font-size:1.05rem; font-weight:600; color: var(--text-primary); }
.chairman-meet-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; font-size:.78rem; }
.chairman-meet-date { color: var(--text-muted); }
.chairman-meet-type-badge { display:inline-flex; align-items:center; padding:.2rem .55rem; font-size:.65rem; font-weight:700; letter-spacing:.06em; color: var(--gold); border:1px solid rgba(198,169,107,0.45); border-radius:6px; background: rgba(198,169,107,0.06); }
.chairman-meet-status-badge { display:inline-flex; align-items:center; padding:.2rem .55rem; font-size:.65rem; font-weight:700; letter-spacing:.06em; border-radius:6px; }
.chairman-meet-status-badge.scheduled { color: var(--gold); background: rgba(198,169,107,0.12); border:1px solid rgba(198,169,107,0.3); }
.chairman-meet-status-badge.closed { color: #34D399; background: rgba(52,211,153,0.12); border:1px solid rgba(52,211,153,0.3); }
.chairman-meet-status-badge.cancelled { color: #F87171; background: rgba(248,113,113,0.12); border:1px solid rgba(248,113,113,0.3); }
.chairman-meet-chevron { color: var(--text-muted); flex-shrink:0; }
.chairman-meet-card:hover .chairman-meet-chevron { color: var(--gold); }
.chairman-meet-signed-badge { display:inline-flex; align-items:center; gap:.35rem; padding:.45rem .8rem; background: rgba(52,211,153,0.15); color: #34D399; border:1px solid rgba(52,211,153,0.35); border-radius:8px; font-size:.78rem; font-weight:700; }
.chairman-meet-toast { padding:.55rem .85rem; background: rgba(52,211,153,0.15); color:#34D399; border:1px solid rgba(52,211,153,0.35); border-radius:8px; font-size:.8rem; font-weight:600; margin-top:.5rem; }

/* Phase 3 — Board tab */
.chairman-board-tab { display:flex; flex-direction:column; }
.chairman-board-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:.85rem; }
@media (max-width: 1100px) { .chairman-board-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px)  { .chairman-board-grid { grid-template-columns: 1fr; } }
.chairman-board-card { background: var(--bg-elevated); border:1px solid var(--border-subtle); border-radius:12px; padding:1rem 1.05rem; display:flex; flex-direction:column; gap:.65rem; transition: background .15s, border-color .15s; }
.chairman-board-card:hover { background:#243042; border-color: rgba(198,169,107,0.25); }
.chairman-board-card-head { display:flex; align-items:center; gap:.7rem; }
.chairman-board-avatar { width:42px; height:42px; border-radius:50%; background: rgba(198,169,107,0.18); border:1px solid rgba(198,169,107,0.45); color: var(--gold); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.95rem; flex-shrink:0; }
.chairman-board-name { font-family:'Playfair Display', serif; font-size:1rem; color: var(--text-primary); font-weight:600; line-height:1.2; }
.chairman-board-role { font-size:.75rem; color: var(--gold); opacity:.85; margin-top:2px; }
.chairman-board-tags { display:flex; flex-wrap:wrap; gap:.35rem; }
.chairman-board-tag { display:inline-flex; padding:.18rem .5rem; font-size:.65rem; color: var(--text-muted); border:1px solid var(--border-subtle); border-radius:6px; background: rgba(255,255,255,0.02); }
.chairman-board-card-foot { display:flex; align-items:center; justify-content:space-between; gap:.6rem; font-size:.75rem; padding-top:.35rem; border-top:1px solid var(--border-subtle); }
.chairman-board-attend { color: var(--text-muted); }
.chairman-board-attend strong { color: var(--text-primary); margin-left:4px; }
.chairman-board-coi { display:inline-flex; align-items:center; gap:.4rem; font-weight:600; }
.chairman-board-coi .dot { width:8px; height:8px; border-radius:50%; }
.chairman-board-coi.green { color:#34D399; } .chairman-board-coi.green .dot { background:#34D399; }
.chairman-board-coi.amber { color:#F59E0B; } .chairman-board-coi.amber .dot { background:#F59E0B; }
.chairman-board-panel { background: var(--bg-elevated); border:1px solid var(--border-subtle); border-radius:12px; padding:1.1rem 1.25rem; }
.chairman-board-panel-head h2 { font-family:'Playfair Display', serif; font-size:1.05rem; font-weight:600; margin:0 0 .65rem 0; color: var(--text-primary); }
.chairman-board-perf-name { font-family:'Playfair Display', serif; font-size:1rem; font-weight:600; color: var(--text-primary); }
.chairman-board-progress { display:flex; align-items:center; gap:.75rem; }
.chairman-board-progress-track { flex:1; min-width:0; height:6px; background: rgba(255,255,255,0.08); border-radius:3px; overflow:hidden; }
.chairman-board-progress-fill { height:100%; background: var(--gold); border-radius:3px; transition: width .25s ease; min-width:0; }
.chairman-board-progress-label { font-size:.78rem; color: var(--text-primary); font-weight:600; white-space:nowrap; }
.chairman-board-succ { display:flex; flex-direction:column; }
.chairman-board-succ-row { display:flex; align-items:center; justify-content:space-between; padding:.7rem 0; border-bottom:1px solid var(--border-subtle); }
.chairman-board-succ-row:last-child { border-bottom:0; }
.chairman-board-badge { display:inline-flex; align-items:center; padding:.22rem .6rem; font-size:.65rem; font-weight:700; letter-spacing:.06em; border-radius:6px; }
.chairman-board-badge-ready    { color:#34D399; background: rgba(52,211,153,0.12); border:1px solid rgba(52,211,153,0.3); }
.chairman-board-badge-dev      { color: var(--gold); background: rgba(198,169,107,0.12); border:1px solid rgba(198,169,107,0.35); }
.chairman-board-badge-planned  { color: var(--text-muted); background: rgba(255,255,255,0.04); border:1px solid var(--border-subtle); }

/* Phase 3 — Intelligence Hub embedded inside chairman dashboard */
/* Intelligence Hub embedded inside Chairman Dashboard.
   Must let the hub keep its internal flex layout (sidebar + main),
   while clipping the global `.app { min-height: 100vh }` to fit the tab area. */
.chairman-intel-embed {
  width: 100%;
  min-height: 70vh;
  display: flex;
  overflow: hidden;
  border-radius: 12px;
}
.chairman-intel-embed > .app,
.chairman-intel-embed .app {
  width: 100% !important;
  min-height: 70vh !important;
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: stretch !important;
}
.chairman-intel-embed .app > * { min-width: 0; }
.chairman-intel-embed .app .sidebar,
.chairman-intel-embed .app aside { flex-shrink: 0; }
.chairman-intel-embed .app .main,
.chairman-intel-embed .app main,
.chairman-intel-embed .app .content,
.chairman-intel-embed .app > div:not(.sidebar):not(aside):not(.topnav) {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: auto;
}
.chairman-intel-embed > .app > .topnav,
.chairman-intel-embed .app > .topnav { display: none !important; }

/* ── Phase 4 — Chairman AI Tools (Daily Brief modal + inline panels) ── */
.chairman-ai-panel {
  background: linear-gradient(135deg, rgba(212,175,55,.06) 0%, rgba(15,21,29,.85) 60%);
  border: 1px solid rgba(212,175,55,.25);
  border-radius: 12px;
  padding: 18px 20px;
  position: relative;
}
.chairman-ai-panel-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  flex-wrap: wrap;
}
.chairman-ai-panel-title {
  display: flex; align-items: center; gap: 10px;
  font-size: 1rem; font-weight: 700; color: var(--gold);
  letter-spacing: .02em;
}
.chairman-ai-panel-desc {
  margin: 8px 0 0; color: var(--muted); font-size: .82rem;
}
.chairman-ai-output {
  margin-top: 14px; padding: 14px 16px;
  background: rgba(0,0,0,.28); border: 1px solid rgba(212,175,55,.12);
  border-radius: 8px; color: #E6E8EC; font-size: .92rem; line-height: 1.65;
  max-height: 460px; overflow-y: auto;
}
.chairman-ai-output p { margin: 0 0 .8rem; }
.chairman-ai-output p:last-child { margin-bottom: 0; }
.chairman-ai-stamp {
  margin-top: 10px; font-size: .72rem; color: var(--muted);
  font-style: italic; text-align: right;
}

/* Daily Brief slide-in modal */
.chairman-brief-modal-overlay {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(4px);
  display: flex; justify-content: flex-end;
  animation: chBriefFadeIn .24s ease-out;
}
@keyframes chBriefFadeIn { from { opacity: 0 } to { opacity: 1 } }
.chairman-brief-modal {
  width: min(560px, 92vw);
  height: 100vh;
  background: linear-gradient(180deg, #131A24 0%, #0B1118 100%);
  border-left: 1px solid rgba(212,175,55,.35);
  box-shadow: -20px 0 60px rgba(0,0,0,.6);
  display: flex; flex-direction: column;
  animation: chBriefSlideIn .32s cubic-bezier(.22,.94,.36,1);
}
@keyframes chBriefSlideIn {
  from { transform: translateX(100%); opacity: .4 }
  to { transform: translateX(0); opacity: 1 }
}
.chairman-brief-modal[dir="rtl"] {
  border-left: none; border-right: 1px solid rgba(212,175,55,.35);
  box-shadow: 20px 0 60px rgba(0,0,0,.6);
  animation: chBriefSlideInRtl .32s cubic-bezier(.22,.94,.36,1);
}
.chairman-brief-modal-overlay:has(.chairman-brief-modal[dir="rtl"]),
.chairman-rtl ~ .chairman-brief-modal-overlay,
[dir="rtl"] .chairman-brief-modal-overlay { justify-content: flex-start; }
@keyframes chBriefSlideInRtl {
  from { transform: translateX(-100%); opacity: .4 }
  to { transform: translateX(0); opacity: 1 }
}
.chairman-brief-modal-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 22px 26px; border-bottom: 1px solid rgba(212,175,55,.18);
}
.chairman-brief-modal-title {
  display: flex; align-items: center; gap: 10px;
  font-size: 1.1rem; font-weight: 700; color: var(--gold);
  letter-spacing: .02em;
}
.chairman-brief-modal-close {
  background: transparent; border: 1px solid rgba(255,255,255,.12);
  color: #E6E8EC; width: 36px; height: 36px; border-radius: 50%;
  font-size: 1.4rem; line-height: 1; cursor: pointer;
  transition: background .15s, border-color .15s;
}
.chairman-brief-modal-close:hover {
  background: rgba(212,175,55,.1); border-color: var(--gold);
}
.chairman-brief-modal-body {
  flex: 1; overflow-y: auto; padding: 26px;
}
.chairman-brief-content { color: #E6E8EC; font-size: .96rem; line-height: 1.75; }
.chairman-brief-content p { margin: 0 0 1.1rem; }
.chairman-brief-stamp {
  margin-top: 22px; padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.06);
  font-size: .76rem; color: var(--muted); font-style: italic;
}
.chairman-brief-loading { padding: 60px 20px; text-align: center; }
.chairman-brief-pulse {
  width: 64px; height: 64px; margin: 0 auto;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,55,.5) 0%, rgba(212,175,55,0) 70%);
  animation: chBriefPulse 1.6s ease-in-out infinite;
}
@keyframes chBriefPulse {
  0%, 100% { transform: scale(.8); opacity: .4 }
  50% { transform: scale(1.15); opacity: 1 }
}

/* ── RTL adjustments for chairman dashboard ── */
.chairman-rtl .chairman-top-tabs { direction: rtl; }
.chairman-rtl .chairman-hero { flex-direction: row-reverse; }
.chairman-rtl .chairman-greeting,
.chairman-rtl .chairman-role-line,
.chairman-rtl .chairman-date { text-align: right; }
.chairman-rtl .chairman-ai-stamp { text-align: left; }
.chairman-rtl .chairman-stat-strip,
.chairman-rtl .chairman-board-grid,
.chairman-rtl .chairman-meet-stat-strip,
.chairman-rtl .chairman-gov-stat-strip { direction: rtl; }
/* Force LTR rendering for date/time text inside RTL meeting cards so
   "20 May 2026 · 10:00" stays in correct visual order (avoids bidi reorder). */
.chairman-rtl .chairman-meet-date { direction: ltr; unicode-bidi: isolate; display: inline-block; }
.chairman-rtl .chairman-panel-header > div:first-child { flex-direction: row-reverse; }

/* ── Phase 4 Final — Chairman stat-card detail panel (slide-in) ── */
.cdp-overlay {
  position: fixed; inset: 0;
  background: rgba(8,12,20,0.55);
  backdrop-filter: blur(2px);
  z-index: 1500;
  display: flex; justify-content: flex-end;
  animation: cdp-fade .18s ease-out;
}
.cdp-overlay.cdp-rtl { justify-content: flex-start; }
@keyframes cdp-fade { from { opacity: 0; } to { opacity: 1; } }
.cdp-panel {
  width: min(480px, 92vw);
  height: 100vh;
  background: var(--bg-elevated, #11161f);
  border-left: 1px solid rgba(198,169,107,0.25);
  box-shadow: -12px 0 40px rgba(0,0,0,0.55);
  display: flex; flex-direction: column;
  animation: cdp-slide .26s cubic-bezier(.25,.8,.3,1);
}
.cdp-overlay.cdp-rtl .cdp-panel {
  border-left: none;
  border-right: 1px solid rgba(198,169,107,0.25);
  box-shadow: 12px 0 40px rgba(0,0,0,0.55);
  animation: cdp-slide-rtl .26s cubic-bezier(.25,.8,.3,1);
}
@keyframes cdp-slide { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes cdp-slide-rtl { from { transform: translateX(-100%); } to { transform: translateX(0); } }
.cdp-head {
  padding: 1.1rem 1.35rem .95rem;
  border-bottom: 1px solid rgba(198,169,107,0.18);
  background: linear-gradient(135deg, rgba(198,169,107,0.06), transparent);
  display: flex; align-items: flex-start; gap: 1rem; justify-content: space-between;
  flex-shrink: 0;
}
.cdp-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.25rem; font-weight: 600;
  color: var(--text-primary, #e8e6df);
  line-height: 1.2;
}
.cdp-subtitle {
  font-size: .78rem; color: var(--text-muted, #9ca3af);
  margin-top: .3rem; line-height: 1.45;
}
.cdp-close {
  background: transparent; border: 1px solid var(--border-subtle, #2a2f3a);
  color: var(--text-muted, #9ca3af);
  width: 32px; height: 32px; border-radius: 8px;
  font-size: 1.4rem; line-height: 1; cursor: pointer; flex-shrink: 0;
  transition: background .15s, color .15s, border-color .15s;
}
.cdp-close:hover { background: rgba(198,169,107,0.12); color: var(--gold, #C6A96B); border-color: rgba(198,169,107,0.4); }
.cdp-body {
  flex: 1 1 auto; overflow-y: auto;
  padding: .95rem 1.05rem 1.4rem;
}
.cdp-list { display: flex; flex-direction: column; gap: .55rem; }
.cdp-row {
  display: flex; align-items: center; gap: .85rem;
  padding: .8rem .95rem;
  background: rgba(11,15,26,0.55);
  border: 1px solid var(--border-subtle, #2a2f3a);
  border-radius: 10px;
  transition: border-color .15s, background .15s;
}
.cdp-row:hover { border-color: rgba(198,169,107,0.35); background: rgba(11,15,26,0.75); }
.cdp-row-main { flex: 1; min-width: 0; }
.cdp-row-title {
  font-size: .9rem; font-weight: 600;
  color: var(--text-primary, #e8e6df);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cdp-row-sub {
  font-size: .73rem; color: var(--text-muted, #9ca3af);
  margin-top: .2rem; line-height: 1.45;
}
.cdp-pill {
  display: inline-flex; align-items: center;
  font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  padding: .25rem .6rem; border-radius: 100px;
  border: 1px solid;
  flex-shrink: 0; white-space: nowrap;
}
.cdp-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  background: linear-gradient(135deg, rgba(198,169,107,0.28), rgba(198,169,107,0.1));
  color: var(--gold, #C6A96B);
  border: 1px solid rgba(198,169,107,0.4);
  display: flex; align-items: center; justify-content: center;
  font-size: .8rem; font-weight: 700;
  flex-shrink: 0;
}
.cdp-action-btn {
  background: linear-gradient(135deg, #C6A96B, #B89858);
  color: #0B0F1A; font-weight: 700; font-size: .72rem;
  border: none; padding: .45rem .85rem; border-radius: 8px;
  cursor: pointer; flex-shrink: 0; white-space: nowrap;
  transition: transform .15s, box-shadow .2s;
  box-shadow: 0 2px 6px rgba(198,169,107,0.2);
}
.cdp-action-btn:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(198,169,107,0.35); }
.cdp-action-btn:disabled { opacity: .65; cursor: wait; }
.cdp-empty {
  padding: 2.5rem 1rem; text-align: center;
  color: var(--text-muted, #9ca3af); font-size: .9rem;
  font-style: italic;
}
@media (max-width: 600px) {
  .cdp-panel { width: 100vw; }
}

/* Phase 4 Final ROUND — Fix 2: View button in CDP rows */
.cdp-view-btn {
  background: transparent;
  border: 1px solid rgba(198,169,107,0.35);
  color: var(--gold);
  font-size: .72rem;
  font-weight: 600;
  padding: .28rem .65rem;
  border-radius: 100px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .15s, border-color .15s, color .15s;
}
.cdp-view-btn:hover {
  background: rgba(198,169,107,0.12);
  border-color: rgba(198,169,107,0.7);
  color: #E5C97A;
}

/* Phase 4 Final ROUND — Fix 6: gold left border on hover + location line */
.chairman-meet-card { border-left: 3px solid transparent; }
.chairman-meet-card:hover { border-left: 3px solid var(--gold); }
.chairman-meet-location {
  display: flex;
  align-items: center;
  gap: .35rem;
  font-size: .72rem;
  color: var(--text-muted);
  margin-top: .15rem;
}

/* ───────────── Pre-Seal Final Enhancements ───────────── */

/* E1 — Committees panel on Board tab */
.chairman-committees-panel .chairman-board-panel-head { display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.chairman-committees-count { font-size:.78rem; color: var(--text-muted); padding:.18rem .5rem; border:1px solid var(--border-subtle); border-radius:9999px; }
.chairman-committees-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; margin-top: 6px; }
.chairman-committee-card { background: var(--bg-elevated); border:1px solid var(--border-subtle); border-radius:12px; padding:.95rem 1rem; display:flex; flex-direction:column; gap:.55rem; }
.chairman-committee-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:.6rem; }
.chairman-committee-name { font-family:'Playfair Display', serif; font-size:1.02rem; font-weight:600; color: #FFFFFF; line-height:1.25; }
.chairman-committee-meta { display:flex; align-items:center; gap:.5rem; margin-top:.3rem; flex-wrap:wrap; }
.chairman-committee-type-badge { font-size:.68rem; letter-spacing:.06em; font-weight:700; padding:.18rem .5rem; border:1px solid #C9A96E; color:#C9A96E; border-radius:4px; text-transform:uppercase; background:transparent; }
.chairman-committee-membercount { font-size:.78rem; color: var(--text-muted); }
.chairman-committee-chair { font-size:.82rem; margin-top:.25rem; color: var(--text-secondary); }
.chairman-committee-chair-label { color: var(--text-muted); }
.chairman-committee-chair-name { color: var(--text-primary); font-weight:500; }
.chairman-committee-toggle { background:transparent; border:1px solid var(--border-subtle); color: #C9A96E; padding:.28rem .55rem; border-radius:6px; font-size:.74rem; cursor:pointer; white-space:nowrap; }
.chairman-committee-toggle:hover { border-color:#C9A96E; background: rgba(201,169,110,0.06); }
.chairman-committee-members { max-height:0; overflow:hidden; transition: max-height .3s ease; display:flex; flex-direction:column; gap:.35rem; }
.chairman-committee-members.open { max-height: 4000px; overflow-y:auto; padding-top:.5rem; border-top:1px solid var(--border-subtle); margin-top:.35rem; }
.chairman-committee-member-row { display:flex; align-items:center; gap:.65rem; padding:.4rem .15rem; border-radius:6px; }
.chairman-committee-member-row.clickable { cursor:pointer; transition: background .15s; }
.chairman-committee-member-row.clickable:hover { background: rgba(201,169,110,0.06); }
.chairman-committee-member-avatar { width:30px; height:30px; border-radius:50%; background: linear-gradient(135deg, #C9A96E, #8C6E3A); color:#0F1418; font-size:.72rem; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.chairman-committee-member-name { flex:1; min-width:0; font-size:.86rem; color: var(--text-primary); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.chairman-committee-member-role-badge { font-size:.68rem; padding:.12rem .45rem; border-radius:9999px; background: rgba(255,255,255,0.04); border:1px solid var(--border-subtle); color: var(--text-muted); }
.chairman-committee-member-role-badge.chair { background: rgba(201,169,110,0.12); border-color:#C9A96E; color:#C9A96E; font-weight:600; }

/* E2 — Clickable board card + Member profile slide-in */
.chairman-board-card-clickable { cursor: pointer; }
.chairman-board-card-clickable:focus-visible { outline: 2px solid #C9A96E; outline-offset: 2px; }

.cmp-panel { width: min(440px, 100vw); }
.cmp-section { padding: .85rem 0; border-top: 1px solid var(--border-subtle); }
.cmp-section:first-child { border-top: none; padding-top: .25rem; }
.cmp-section-title { font-family:'Playfair Display', serif; font-size:.82rem; letter-spacing:.06em; color:#C9A96E; text-transform: uppercase; margin-bottom:.45rem; font-weight:600; }
.cmp-bio { font-size:.9rem; line-height:1.55; color: var(--text-primary); white-space: pre-wrap; }
.cmp-stat-line { font-size:.92rem; color: var(--text-primary); font-weight:500; }
.cmp-cmte-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.4rem; }
.cmp-cmte-item { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.5rem .65rem; background: rgba(255,255,255,0.02); border:1px solid var(--border-subtle); border-radius:8px; }
.cmp-cmte-name { font-size:.86rem; color: var(--text-primary); }
.cmp-cmte-role { font-size:.7rem; padding:.12rem .45rem; border-radius:9999px; background: rgba(255,255,255,0.04); border:1px solid var(--border-subtle); color: var(--text-muted); }
.cmp-cmte-role.chair { background: rgba(201,169,110,0.12); border-color:#C9A96E; color:#C9A96E; font-weight:600; }
.cmp-attendance { display:flex; align-items:center; gap:.7rem; }
.cmp-attendance-bar { flex:1; height:8px; background: rgba(255,255,255,0.06); border-radius:9999px; overflow:hidden; }
.cmp-attendance-fill { height:100%; background: linear-gradient(90deg, #C9A96E, #E2C285); border-radius:9999px; transition: width .4s ease; }
.cmp-attendance-pct { font-weight:600; color: var(--text-primary); font-size:.95rem; min-width: 42px; text-align: right; }
.cmp-coi { display:flex; align-items:center; gap:.55rem; font-size:.88rem; }
.cmp-coi-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.cmp-coi.green { color:#10B981; }
.cmp-coi.green .cmp-coi-dot { background:#10B981; box-shadow: 0 0 0 3px rgba(16,185,129,0.16); }
.cmp-coi.amber { color:#F59E0B; }
.cmp-coi.amber .cmp-coi-dot { background:#F59E0B; box-shadow: 0 0 0 3px rgba(245,158,11,0.18); }

/* E3 — Collapsible Meeting Minutes panel */
.chairman-minutes-collapsible { background: linear-gradient(180deg, #FCF8F1, #FFFFFF); border:1px solid #C9A96E55; border-left: 3px solid #C9A96E; border-radius: 10px; overflow: hidden; }
.chairman-minutes-collapsible-head { width:100%; display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.85rem 1rem; background: transparent; border: none; cursor: pointer; text-align:start; font: inherit; color: #1F2937; }
.chairman-minutes-collapsible-head:hover { background: rgba(201,169,110,0.06); }
.chairman-minutes-collapsible-title { font-family:'Playfair Display', serif; font-weight:600; font-size:1rem; color:#1F2937; display:inline-flex; align-items:center; }
.chairman-minutes-collapsible-toggle { color:#8C6E3A; font-size:.82rem; font-weight:600; white-space: nowrap; }
.chairman-minutes-collapsible-body { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.chairman-minutes-collapsible-body.open { max-height: 12000px; overflow-y: auto; }
.chairman-minutes-collapsible-inner { padding: 0 1rem 1rem 1rem; border-top: 1px solid #E5D9BD; }

/* ============================================================================
   EXECUTIVE DASHBOARD — Phase 1 (.exec-)
   ============================================================================ */
.exec-dashboard { background: var(--bg-base, #0B0F1A); min-height: 100vh; color: #fff; }
.exec-content { padding: 0; }
.exec-loading { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 60px; color: #9CA3AF; }

/* Tabs */
.exec-tabs {
  display: flex; gap: 0;
  background: var(--bg-surface, #111827);
  border-bottom: 1px solid rgba(198,169,107,0.18);
  padding: 0 32px;
  font-family: 'Inter', sans-serif;
}
.exec-tab {
  padding: 16px 22px;
  font-size: 14px; font-weight: 500;
  color: #9CA3AF;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color .15s ease, border-color .15s ease;
  letter-spacing: 0.2px;
}
.exec-tab:hover { color: #E5E7EB; }
.exec-tab.exec-tab-active {
  color: var(--gold, #C6A96B);
  border-bottom-color: var(--gold, #C6A96B);
}

/* Hero */
.exec-overview, .exec-reports { padding: 28px 32px 60px; max-width: 1400px; margin: 0 auto; }
.exec-hero {
  background: var(--bg-surface, #111827);
  border: 1px solid rgba(198,169,107,0.14);
  border-radius: 16px;
  padding: 32px;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 24px;
  margin-bottom: 24px;
}
.exec-greeting {
  font-family: 'Playfair Display', serif;
  font-size: 32px; line-height: 1.15;
  color: #fff; margin: 0 0 8px 0; font-weight: 600;
}
.exec-role-line { margin: 0 0 6px; font-size: 15px; color: #9CA3AF; }
.exec-role-title { color: var(--gold, #C6A96B); font-weight: 600; }
.exec-date { margin: 0; color: #6B7280; font-size: 13px; }

.exec-submit-btn {
  background: var(--gold, #C6A96B);
  color: #0B0F1A;
  border: none;
  border-radius: 10px;
  padding: 12px 22px;
  font-weight: 600; font-size: 14px;
  cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px;
  transition: background .15s ease, transform .12s ease;
  font-family: 'Inter', sans-serif;
  flex-shrink: 0;
}
.exec-submit-btn:hover { background: #D4B97A; transform: translateY(-1px); }

/* Stat strip */
.exec-stat-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}
.exec-stat-strip-reports { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.exec-stat-card {
  background: var(--bg-elevated, #1F2937);
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 14px;
  padding: 18px 18px 16px;
  cursor: pointer;
  transition: border-color .15s ease, transform .12s ease, box-shadow .15s ease;
  position: relative;
  font-family: 'Inter', sans-serif;
}
.exec-stat-card:hover {
  border-color: rgba(198,169,107,0.55);
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(198,169,107,0.10);
}
.exec-stat-card.exec-stat-active {
  border-color: var(--gold, #C6A96B);
  box-shadow: 0 0 0 1px var(--gold, #C6A96B);
}
.exec-stat-icon { color: rgba(198,169,107,0.7); margin-bottom: 8px; }
.exec-stat-number {
  font-family: 'Playfair Display', serif;
  font-size: 36px; line-height: 1; font-weight: 600;
  color: var(--gold, #C6A96B);
  margin-bottom: 6px;
}
.exec-stat-card.exec-stat-danger .exec-stat-number { color: #EF4444; }
.exec-stat-card.exec-stat-amber .exec-stat-number { color: #F59E0B; }
.exec-stat-card.exec-stat-green .exec-stat-number { color: #10B981; }
.exec-stat-card.exec-stat-muted .exec-stat-number { color: #9CA3AF; }
.exec-stat-card.exec-stat-danger .exec-stat-icon { color: rgba(239,68,68,0.85); }
.exec-stat-card.exec-stat-amber .exec-stat-icon { color: rgba(245,158,11,0.85); }
.exec-stat-card.exec-stat-green .exec-stat-icon { color: rgba(16,185,129,0.85); }
.exec-stat-label {
  font-size: 11px; letter-spacing: 1.1px; font-weight: 600;
  color: #E5E7EB;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.exec-stat-subtitle { font-size: 11.5px; color: #9CA3AF; }

/* Grid */
.exec-grid {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 18px;
  margin-bottom: 18px;
}
.exec-panel-meetings { grid-column: 1 / -1; }

.exec-panel {
  background: var(--bg-surface, #111827);
  border: 1px solid rgba(198,169,107,0.10);
  border-radius: 14px;
  padding: 22px 22px 20px;
}
.exec-panel-header {
  display: flex; align-items: center; gap: 10px;
  padding-bottom: 14px; margin-bottom: 14px;
  border-bottom: 1px solid rgba(198,169,107,0.08);
}
.exec-panel-icon {
  width: 30px; height: 30px;
  border-radius: 8px;
  background: rgba(198,169,107,0.08);
  color: var(--gold, #C6A96B);
  display: inline-flex; align-items: center; justify-content: center;
}
.exec-panel-title {
  font-family: 'Playfair Display', serif;
  font-size: 18px; color: #fff; margin: 0; font-weight: 600;
}
.exec-empty { padding: 18px 4px; }
.exec-rows { display: flex; flex-direction: column; gap: 8px; }

/* Decision rows */
.exec-decision-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 10px;
  padding: 12px 14px;
  transition: border-color .12s ease;
}
.exec-decision-row:hover { border-color: rgba(198,169,107,0.30); }
.exec-decision-main { flex: 1; min-width: 0; }
.exec-decision-title { color: #fff; font-weight: 500; font-size: 14px; line-height: 1.35; margin-bottom: 4px; }
.exec-decision-sub { font-size: 11.5px; }

/* Action rows */
.exec-action-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 10px;
  padding: 12px 14px;
  transition: border-color .12s ease;
}
.exec-action-row:hover { border-color: rgba(198,169,107,0.30); }
.exec-action-main { flex: 1; min-width: 0; }
.exec-action-title { color: #fff; font-weight: 500; font-size: 14px; line-height: 1.35; margin-bottom: 4px; }
.exec-action-meta { font-size: 11.5px; display: flex; gap: 4px; flex-wrap: wrap; }
.exec-action-due { color: #9CA3AF; }
.exec-action-due.overdue { color: #EF4444; font-weight: 500; }
.exec-priority-pill {
  font-size: 10px; font-weight: 700; letter-spacing: 0.8px;
  padding: 4px 10px; border-radius: 999px;
  border: 1px solid;
  flex-shrink: 0;
}
.exec-priority-pill.prio-high { color: #EF4444; border-color: rgba(239,68,68,0.45); background: rgba(239,68,68,0.08); }
.exec-priority-pill.prio-medium { color: #F59E0B; border-color: rgba(245,158,11,0.40); background: rgba(245,158,11,0.07); }
.exec-priority-pill.prio-low { color: #9CA3AF; border-color: rgba(156,163,175,0.30); background: rgba(156,163,175,0.07); }

/* Meeting cards */
.exec-meeting-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}
.exec-meeting-card {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 12px;
  padding: 16px 16px 14px;
  display: flex; flex-direction: column; gap: 8px;
}
.exec-meeting-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.exec-meeting-title { font-family: 'Playfair Display', serif; font-size: 17px; color: #fff; margin: 0; font-weight: 600; }
.exec-meeting-type {
  font-size: 10px; letter-spacing: 0.8px; font-weight: 700;
  padding: 3px 9px; border-radius: 999px;
  color: var(--gold, #C6A96B);
  border: 1px solid rgba(198,169,107,0.45);
  background: rgba(198,169,107,0.06);
  flex-shrink: 0;
}
.exec-meeting-meta { color: #E5E7EB; font-size: 13px; }
.exec-meeting-loc { font-size: 12px; }
.exec-meeting-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; }
.exec-meeting-row {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.04);
  border-radius: 10px; padding: 12px 14px;
}
.exec-days-pill {
  font-size: 11px; font-weight: 600;
  padding: 4px 10px; border-radius: 999px;
  background: rgba(198,169,107,0.10);
  color: var(--gold, #C6A96B);
  border: 1px solid rgba(198,169,107,0.30);
}
.exec-days-pill.urgent {
  background: rgba(239,68,68,0.10);
  color: #EF4444;
  border-color: rgba(239,68,68,0.40);
}
.exec-link {
  color: var(--gold, #C6A96B);
  cursor: pointer; font-size: 13px; font-weight: 500;
  text-decoration: none;
}
.exec-link:hover { color: #D4B97A; text-decoration: underline; }

/* Reports — filter bar */
.exec-filter-bar {
  display: flex; gap: 0;
  border-bottom: 1px solid rgba(198,169,107,0.15);
  margin: 4px 0 18px;
  font-family: 'Inter', sans-serif;
}
.exec-filter-tab {
  padding: 12px 18px;
  cursor: pointer;
  color: #9CA3AF;
  font-size: 13px; font-weight: 500;
  border-bottom: 2px solid transparent;
  display: inline-flex; align-items: center; gap: 8px;
  transition: color .15s ease, border-color .15s ease;
}
.exec-filter-tab:hover { color: #E5E7EB; }
.exec-filter-tab.exec-filter-active {
  color: var(--gold, #C6A96B);
  border-bottom-color: var(--gold, #C6A96B);
}
.exec-filter-count {
  font-size: 11px;
  background: rgba(198,169,107,0.12);
  color: var(--gold, #C6A96B);
  padding: 2px 8px; border-radius: 999px;
  font-weight: 600;
}

/* Reports — cards */
.exec-report-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}
.exec-report-card {
  position: relative;
  background: var(--bg-elevated, #1F2937);
  border: 1px solid rgba(255,255,255,0.05);
  border-left: 3px solid transparent;
  border-radius: 12px;
  padding: 18px 18px 16px;
  transition: border-color .15s ease, transform .12s ease;
  display: flex; flex-direction: column; gap: 10px;
  font-family: 'Inter', sans-serif;
}
.exec-report-card:hover {
  border-left-color: var(--gold, #C6A96B);
  transform: translateY(-2px);
}
.exec-report-score {
  position: absolute; top: 14px; right: 14px;
  width: 38px; height: 38px;
  border-radius: 999px;
  background: rgba(198,169,107,0.12);
  border: 1.5px solid var(--gold, #C6A96B);
  color: var(--gold, #C6A96B);
  font-weight: 700; font-size: 13px;
  display: flex; align-items: center; justify-content: center;
}
.exec-report-badges { display: flex; gap: 6px; flex-wrap: wrap; padding-right: 50px; }
.exec-report-badge {
  font-size: 10px; letter-spacing: 0.8px; font-weight: 700;
  padding: 4px 9px; border-radius: 999px;
  display: inline-flex; align-items: center; gap: 3px;
  text-transform: uppercase;
}
.exec-badge-outline-gold {
  color: var(--gold, #C6A96B);
  border: 1px solid rgba(198,169,107,0.55);
  background: rgba(198,169,107,0.05);
}
.exec-badge-muted { background: rgba(156,163,175,0.10); color: #9CA3AF; border: 1px solid rgba(156,163,175,0.20); }
.exec-badge-gold { background: rgba(198,169,107,0.12); color: var(--gold, #C6A96B); border: 1px solid rgba(198,169,107,0.35); }
.exec-badge-amber { background: rgba(245,158,11,0.10); color: #F59E0B; border: 1px solid rgba(245,158,11,0.35); }
.exec-badge-green { background: rgba(16,185,129,0.10); color: #10B981; border: 1px solid rgba(16,185,129,0.35); }
.exec-badge-blue { background: rgba(59,130,246,0.10); color: #60A5FA; border: 1px solid rgba(59,130,246,0.35); }
.exec-report-title {
  font-family: 'Playfair Display', serif;
  font-size: 17px; line-height: 1.3;
  color: #fff; margin: 4px 0 2px; font-weight: 600;
}
.exec-report-period { font-size: 12px; }
.exec-report-updated { font-size: 11px; }
.exec-report-actions { display: flex; gap: 8px; margin-top: auto; padding-top: 8px; }

.exec-btn {
  font-family: 'Inter', sans-serif;
  font-size: 12.5px; font-weight: 600;
  padding: 7px 14px;
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background .12s ease, color .12s ease, border-color .12s ease;
}
.exec-btn-gold { background: var(--gold, #C6A96B); color: #0B0F1A; }
.exec-btn-gold:hover { background: #D4B97A; }
.exec-btn-outline { background: transparent; color: var(--gold, #C6A96B); border-color: var(--gold, #C6A96B); }
.exec-btn-outline:hover { background: rgba(198,169,107,0.10); }
.exec-btn-amber { background: rgba(245,158,11,0.85); color: #0B0F1A; }
.exec-btn-amber:hover { background: #F59E0B; }
.exec-btn-ghost { background: transparent; color: #E5E7EB; border-color: rgba(255,255,255,0.15); }
.exec-btn-ghost:hover { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.30); }

.exec-empty-card {
  grid-column: 1 / -1;
  background: var(--bg-elevated, #1F2937);
  border: 1px dashed rgba(198,169,107,0.20);
  border-radius: 12px;
  padding: 40px;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  color: rgba(198,169,107,0.55);
}

/* Coming soon panel */
.exec-coming-soon {
  display: flex; flex-direction: column; align-items: center;
  padding: 80px 32px;
  color: rgba(198,169,107,0.55);
}

/* Detail panel close button */
.exec-icon-btn {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  color: #E5E7EB;
  width: 32px; height: 32px;
  border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
}
.exec-icon-btn:hover { background: rgba(255,255,255,0.12); }

/* Responsive */
@media (max-width: 1100px) {
  .exec-stat-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .exec-stat-strip-reports { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .exec-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .exec-overview, .exec-reports { padding: 18px; }
  .exec-hero { flex-direction: column; }
  .exec-stat-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .exec-tabs { padding: 0 14px; overflow-x: auto; }
}

/* ── Phase 2 — Executive New Report Wizard ─────────────────────────────── */

.exec-wizard {
  background: linear-gradient(180deg, #11151F 0%, #0B0F1A 100%);
  border: 1px solid rgba(212,175,55,0.18);
  border-radius: 14px;
  width: min(960px, 96vw);
  max-height: 92vh;
  display: flex; flex-direction: column;
  color: #fff;
  box-shadow: 0 24px 64px rgba(0,0,0,0.55);
}
.exec-wizard-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 24px; border-bottom: 1px solid rgba(255,255,255,0.05);
}
.exec-wizard-title { font-family: 'Playfair Display', serif; font-size: 22px; margin: 0; color: #fff; letter-spacing: 0.2px; }
.exec-wizard-progress {
  display: flex; align-items: center; gap: 0;
  padding: 18px 24px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  background: rgba(255,255,255,0.015);
}
.exec-wizard-step { display: flex; align-items: center; gap: 10px; }
.exec-wizard-step-num {
  width: 30px; height: 30px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.55);
  font-weight: 700; font-size: 13px;
  border: 1px solid rgba(255,255,255,0.08);
  transition: all .18s ease;
}
.exec-wizard-step-label { font-size: 12px; letter-spacing: 0.6px; text-transform: uppercase; color: rgba(255,255,255,0.5); }
.exec-wizard-step-rail { flex: 1; height: 2px; margin: 0 14px; background: rgba(255,255,255,0.08); border-radius: 2px; min-width: 40px; }
.exec-wizard-step-rail.done { background: linear-gradient(90deg, #D4AF37, rgba(212,175,55,0.4)); }
.exec-wizard-step.exec-wizard-step-active .exec-wizard-step-num {
  background: #D4AF37; color: #0B0F1A; border-color: #D4AF37;
  box-shadow: 0 0 0 3px rgba(212,175,55,0.18);
}
.exec-wizard-step.exec-wizard-step-active .exec-wizard-step-label { color: #D4AF37; font-weight: 600; }
.exec-wizard-step.exec-wizard-step-done .exec-wizard-step-num {
  background: rgba(212,175,55,0.18); color: #D4AF37; border-color: rgba(212,175,55,0.5);
}
.exec-wizard-step.exec-wizard-step-done .exec-wizard-step-label { color: rgba(212,175,55,0.85); }

.exec-wizard-body { padding: 18px 24px; overflow-y: auto; flex: 1; }
.exec-wizard-foot {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 24px; border-top: 1px solid rgba(255,255,255,0.05);
  background: rgba(0,0,0,0.18);
}

.exec-form-grid { display: flex; flex-direction: column; gap: 16px; }
.exec-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.exec-form-field { display: flex; flex-direction: column; gap: 6px; }
.exec-form-label { font-size: 12px; letter-spacing: 0.5px; text-transform: uppercase; color: rgba(212,175,55,0.85); }
.exec-form-label .req { color: #E04444; margin-left: 2px; }
.exec-form-input, .exec-form-textarea {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: #fff; border-radius: 8px;
  padding: 10px 12px; font-size: 14px; line-height: 1.45;
  transition: border-color .15s ease, background .15s ease;
  font-family: inherit;
}
.exec-form-input:focus, .exec-form-textarea:focus {
  outline: none;
  border-color: rgba(212,175,55,0.65);
  background: rgba(212,175,55,0.04);
}
.exec-form-textarea { resize: vertical; min-height: 92px; }
.exec-char-count { text-align: right; font-size: 11px; color: rgba(255,255,255,0.45); }
.exec-char-count.low { color: #E0A444; }

.exec-bullet-row { display: flex; gap: 6px; align-items: center; margin-bottom: 6px; }
.exec-bullet-btn {
  width: 30px; height: 30px; border-radius: 6px; border: none; cursor: pointer;
  display: grid; place-items: center; font-size: 16px; font-weight: 600;
  background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.7);
  transition: background .15s ease;
}
.exec-bullet-btn:hover { background: rgba(255,255,255,0.10); }
.exec-bullet-btn.exec-bullet-remove:hover { background: rgba(224,68,68,0.2); color: #E04444; }
.exec-bullet-add {
  background: transparent; border: 1px dashed rgba(212,175,55,0.4);
  color: rgba(212,175,55,0.85); padding: 6px 12px; border-radius: 6px; cursor: pointer;
  font-size: 12px; align-self: flex-start; transition: all .15s ease;
}
.exec-bullet-add:hover { background: rgba(212,175,55,0.08); border-color: rgba(212,175,55,0.7); color: #D4AF37; }

.exec-drop-zone {
  border: 2px dashed rgba(212,175,55,0.35);
  border-radius: 12px;
  padding: 36px 18px; text-align: center;
  background: rgba(212,175,55,0.03); cursor: pointer;
  transition: all .15s ease;
}
.exec-drop-zone:hover, .exec-drop-zone.drag-over {
  border-color: #D4AF37; background: rgba(212,175,55,0.08);
}
.exec-drop-icon { display: flex; justify-content: center; margin-bottom: 12px; }
.exec-drop-title { color: #fff; font-size: 15px; font-weight: 600; margin: 0 0 4px; }
.exec-drop-sub { color: rgba(255,255,255,0.5); font-size: 12px; margin: 0; }
.exec-file-list { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.exec-file-row {
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06);
  padding: 8px 12px; border-radius: 8px;
}
.exec-file-icon { font-size: 16px; }
.exec-file-name { flex: 1; font-size: 13px; color: #fff; word-break: break-all; }
.exec-file-meta { font-size: 11px; color: rgba(255,255,255,0.5); }

.exec-summary-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px; padding: 14px 16px;
  display: flex; flex-direction: column; gap: 8px;
}
.exec-summary-row { display: flex; gap: 14px; align-items: baseline; font-size: 13px; }
.exec-summary-row .lbl {
  flex: 0 0 150px; font-size: 11px; letter-spacing: 0.5px; text-transform: uppercase;
  color: rgba(212,175,55,0.7);
}

.exec-ai-panel {
  background: linear-gradient(180deg, rgba(212,175,55,0.04) 0%, rgba(212,175,55,0.01) 100%);
  border: 1px solid rgba(212,175,55,0.2);
  border-radius: 12px; padding: 18px;
  display: flex; flex-direction: column; gap: 14px;
}
.exec-ai-head { border-bottom: 1px solid rgba(212,175,55,0.15); padding-bottom: 10px; margin-bottom: 4px; }
.exec-ai-title {
  font-family: 'Playfair Display', serif; font-size: 18px; color: #D4AF37; letter-spacing: 0.3px;
}
.exec-ai-sub { font-size: 12px; color: rgba(255,255,255,0.55); margin-top: 2px; }

.exec-spinner {
  display: inline-block; width: 12px; height: 12px;
  border-radius: 50%; border: 2px solid rgba(11,15,26,0.3);
  border-top-color: #0B0F1A; animation: exec-spin .8s linear infinite;
  vertical-align: -2px; margin-right: 6px;
}
@keyframes exec-spin { to { transform: rotate(360deg); } }

.exec-dimension-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px;
}
@media (max-width: 760px) { .exec-dimension-grid { grid-template-columns: repeat(2, 1fr); } }
.exec-dimension-card {
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px; padding: 12px;
  display: flex; flex-direction: column; gap: 6px; min-height: 110px;
}
.exec-dimension-name {
  font-size: 10px; letter-spacing: 0.6px; text-transform: uppercase;
  color: rgba(212,175,55,0.85); font-weight: 600;
}
.exec-dimension-score {
  font-family: 'Playfair Display', serif; font-size: 30px; line-height: 1; font-weight: 700;
}
.exec-dim-good .exec-dimension-score { color: #D4AF37; }
.exec-dim-mid  .exec-dimension-score { color: #E0A444; }
.exec-dim-low  .exec-dimension-score { color: #E04444; }
.exec-dimension-bar { width: 100%; height: 4px; background: rgba(255,255,255,0.06); border-radius: 2px; overflow: hidden; }
.exec-dimension-bar-fill { height: 100%; background: #D4AF37; transition: width .4s ease; }
.exec-dim-mid .exec-dimension-bar-fill { background: #E0A444; }
.exec-dim-low .exec-dimension-bar-fill { background: #E04444; }
.exec-dimension-comment { font-size: 11px; color: rgba(255,255,255,0.65); line-height: 1.4; }

.exec-overall-row {
  display: flex; gap: 18px; align-items: center;
  background: rgba(0,0,0,0.18); border: 1px solid rgba(255,255,255,0.05);
  border-radius: 10px; padding: 14px;
}
.exec-overall-gauge { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.exec-overall-good { color: #D4AF37; }
.exec-overall-mid  { color: #E0A444; }
.exec-overall-low  { color: #E04444; }
.exec-overall-label { font-size: 10px; letter-spacing: 0.7px; color: rgba(255,255,255,0.55); text-transform: uppercase; font-weight: 600; }
.exec-overall-summary { flex: 1; font-size: 13px; color: rgba(255,255,255,0.85); line-height: 1.55; }
.exec-overall-summary-title {
  font-size: 11px; letter-spacing: 0.6px; color: rgba(212,175,55,0.85);
  text-transform: uppercase; font-weight: 600; margin-bottom: 4px;
}

.exec-improvements {
  background: rgba(224,164,68,0.06); border: 1px solid rgba(224,164,68,0.25);
  border-radius: 10px; padding: 12px 14px;
}
.exec-improvements-title { font-size: 12px; letter-spacing: 0.5px; color: #E0A444; text-transform: uppercase; font-weight: 600; margin-bottom: 6px; }
.exec-improvements ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.exec-improvements li { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: rgba(255,255,255,0.85); }
.exec-improve-btn {
  background: rgba(212,175,55,0.12); color: #D4AF37; border: 1px solid rgba(212,175,55,0.4);
  border-radius: 6px; padding: 2px 8px; font-size: 11px; cursor: pointer; white-space: nowrap;
}
.exec-improve-btn:hover { background: rgba(212,175,55,0.22); }

.exec-submit-section {
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px; padding: 14px;
  display: flex; flex-direction: column; gap: 10px; align-items: flex-start;
}
.exec-confirm { display: flex; gap: 8px; align-items: center; cursor: pointer; font-size: 13px; color: rgba(255,255,255,0.85); }
.exec-confirm input { accent-color: #D4AF37; width: 16px; height: 16px; }

.exec-success-state {
  text-align: center; padding: 48px 32px; min-height: 360px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
}
.exec-success-check { animation: exec-pop .6s ease; }
@keyframes exec-pop { 0% { transform: scale(0.6); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
.exec-success-title { font-family: 'Playfair Display', serif; font-size: 26px; color: #fff; margin: 0; }
.exec-success-line { color: rgba(255,255,255,0.7); margin: 0; }
.exec-success-ref { color: rgba(212,175,55,0.85); margin: 0; }

/* ── Phase 2 Gap Fixes ─────────────────────────────────────────────────── */

/* FIX 1: ensure the wizard uses a fixed header + scrollable body + fixed
   footer, overriding the global .modal padding/overflow rules. */
.modal.exec-wizard {
  padding: 0;
  overflow: hidden;
  max-width: min(960px, 96vw);
  width: min(960px, 96vw);
}

/* FIX 3: gold submit button — refined gradient + hover.  Width is left to the
   parent context so the *hero* version stays compact while the *wizard*
   submit-section version (full-width CTA) is overridden below. */
.exec-submit-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: linear-gradient(180deg, #D4AF37 0%, #C6A96B 100%);
  color: #0B0F1A; font-weight: 700;
  border: 1px solid rgba(212,175,55,0.7);
  border-radius: 8px;
  padding: 12px 18px; min-height: 44px;
  font-size: 14px; letter-spacing: 0.3px;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(212,175,55,0.18), inset 0 -1px 0 rgba(0,0,0,0.12);
  transition: filter .12s ease, transform .12s ease, box-shadow .12s ease;
  font-family: inherit;
}
.exec-submit-btn:hover:not(:disabled) {
  filter: brightness(1.06);
  box-shadow: 0 8px 24px rgba(212,175,55,0.28), inset 0 -1px 0 rgba(0,0,0,0.12);
}
.exec-submit-btn:active:not(:disabled) { transform: translateY(1px); }
.exec-submit-btn:disabled { opacity: 0.5; cursor: not-allowed; box-shadow: none; }
/* Full-width CTA only inside the wizard's submit confirmation section. */
.exec-submit-section .exec-submit-btn { width: 100%; }
/* Mirror constraint for the success-screen "Return to Reports" button (fits
   its centred narrow column). */
.exec-success-state .exec-submit-btn { max-width: 260px; }

/* FIX 4: amber override section + button + acknowledgement checkbox */
.exec-override-section {
  background: rgba(224,164,68,0.06);
  border: 1px solid rgba(224,164,68,0.45);
  border-radius: 12px;
  padding: 16px;
  display: flex; flex-direction: column; gap: 12px;
}
.exec-override-warning {
  display: flex; gap: 12px; align-items: flex-start;
}
.exec-override-icon {
  flex: 0 0 auto;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(224,164,68,0.18);
  color: #E0A444;
  display: grid; place-items: center;
  font-size: 18px; font-weight: 700;
}
.exec-override-text { flex: 1; }
.exec-override-title {
  color: #E0A444; font-weight: 700;
  font-size: 13px; letter-spacing: 0.4px;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.exec-override-text p {
  margin: 0;
  color: rgba(255,255,255,0.75);
  font-size: 13px; line-height: 1.5;
}
.exec-confirm-amber input { accent-color: #E0A444; }
.exec-override-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: linear-gradient(180deg, #E0A444 0%, #C68A2E 100%);
  color: #0B0F1A; font-weight: 700;
  border: 1px solid rgba(224,164,68,0.7);
  border-radius: 8px;
  padding: 12px 18px; min-height: 44px;
  font-size: 14px; letter-spacing: 0.3px;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(224,164,68,0.18), inset 0 -1px 0 rgba(0,0,0,0.12);
  transition: filter .12s ease, transform .12s ease;
  font-family: inherit;
  width: 100%;
}
.exec-override-btn:hover:not(:disabled) { filter: brightness(1.06); }
.exec-override-btn:active:not(:disabled) { transform: translateY(1px); }
.exec-override-btn:disabled { opacity: 0.5; cursor: not-allowed; box-shadow: none; }

/* Board-side badge: report submitted below the recommended threshold */
.exec-quality-badge {
  display: inline-flex; align-items: center; gap: 4px;
  background: rgba(224,164,68,0.12);
  color: #E0A444;
  border: 1px solid rgba(224,164,68,0.45);
  border-radius: 999px;
  padding: 2px 10px;
  font-size: 11px;
  letter-spacing: 0.4px;
  font-weight: 600;
  text-transform: uppercase;
}

.exec-success-override {
  color: #E0A444;
  background: rgba(224,164,68,0.08);
  border: 1px solid rgba(224,164,68,0.35);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 13px;
  margin: 0;
  max-width: 460px;
}

/* ── UI/UX Layout Fixes ─────────────────────────────────────────────────── */

/* FIX A — Overview hero: greeting block stays flexible on the left while the
   gold "Submit Report" button stays compact on the right.  Targets the
   unclassed wrapper <div> around the H1/role/date and overrides the
   wizard's full-width .exec-submit-btn for hero contexts. */
.exec-hero { box-sizing: border-box; min-width: 0; }
.exec-hero > div:first-child {
  flex: 1 1 auto;
  min-width: 0;          /* allow the H1 to wrap inside its column */
}
.exec-hero > .exec-submit-btn {
  flex: 0 0 auto;
  width: auto;
  max-width: 220px;
  white-space: nowrap;
  align-self: center;
}

/* FIX B — Wizard footer: keep all 3 buttons inside the modal frame.  The
   global .modal padding has already been zeroed by .modal.exec-wizard, but
   we also need to (a) clamp every footer child to their natural width,
   (b) prevent the gold "Next: AI Review →" button from pushing past the
   right edge, and (c) ensure the footer itself respects the modal's
   border-box. */
.exec-wizard, .exec-wizard * { box-sizing: border-box; }
.exec-wizard-foot {
  width: 100%;
  gap: 12px;
  flex-wrap: wrap;       /* graceful fallback on narrow viewports */
}
.exec-wizard-foot > * { flex: 0 0 auto; min-width: 0; }
.exec-wizard-foot .exec-submit-btn {
  width: auto;
  max-width: 220px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-left: auto;     /* push to the right when neighbours are absent */
}

/* ─────────────────────────────────────────────────────────────────────────
   Phase 3 — KPI Manager
   ───────────────────────────────────────────────────────────────────────── */
.exec-kpi-tab { padding: 24px 28px; max-width: 1400px; margin: 0 auto; }
.exec-kpi-header { display: flex; justify-content: space-between; align-items: flex-start;
  gap: 24px; flex-wrap: wrap; margin-bottom: 20px; }
.exec-kpi-stats { display: flex; gap: 12px; }
.exec-kpi-stat { background: rgba(255,255,255,0.03); border: 1px solid rgba(201,164,65,0.18);
  padding: 12px 18px; border-radius: 10px; min-width: 110px; text-align: center; }
.exec-kpi-stat-num { font-family: 'Playfair Display', serif; font-size: 28px; line-height: 1;
  color: #fff; font-weight: 600; }
.exec-kpi-stat-lbl { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em;
  color: #888; margin-top: 6px; }
.exec-kpi-filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0 14px;
  padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.exec-kpi-chip { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  color: #ccc; padding: 6px 14px; border-radius: 999px; font-size: 13px;
  cursor: pointer; transition: all 0.15s ease; display: inline-flex; align-items: center; gap: 8px; }
.exec-kpi-chip:hover { border-color: rgba(201,164,65,0.4); color: #fff; }
.exec-kpi-chip.active { background: rgba(201,164,65,0.18); border-color: #c9a441; color: #fff; }
.exec-kpi-chip span { background: rgba(0,0,0,0.3); padding: 1px 8px; border-radius: 999px;
  font-size: 11px; color: #c9a441; }

.exec-kpi-table-wrap { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px; overflow: auto; }
.exec-kpi-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.exec-kpi-table thead th { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em;
  color: #888; font-weight: 500; padding: 12px 14px; text-align: left;
  background: rgba(0,0,0,0.2); border-bottom: 1px solid rgba(255,255,255,0.06); }
.exec-kpi-table tbody td { padding: 14px; border-bottom: 1px solid rgba(255,255,255,0.04);
  vertical-align: top; color: #ddd; }
.exec-kpi-table tbody tr:hover { background: rgba(201,164,65,0.04); }
.exec-kpi-table tbody tr:last-child td { border-bottom: none; }
.exec-kpi-row-stale { background: rgba(224,160,32,0.03); }
.exec-kpi-name { color: #fff; font-weight: 500; }
.exec-kpi-cat { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.07em;
  color: #888; margin-top: 3px; }
.exec-kpi-note { font-style: italic; color: #999; font-size: 12px; margin-top: 6px;
  max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.exec-kpi-pill { display: inline-block; padding: 3px 10px; border-radius: 999px;
  font-size: 11.5px; font-weight: 500; }
.exec-kpi-updated { color: #ccc; font-size: 12.5px; }
.exec-kpi-updated-by { color: #888; font-size: 11px; margin-top: 2px; }
.exec-kpi-locked { color: #666; font-size: 12px; font-style: italic;
  display: inline-flex; align-items: center; gap: 4px; }
.exec-kpi-locked::before { content: '🔒'; font-style: normal; }

.exec-btn-primary { background: linear-gradient(180deg, #d4b04e, #b58e2c); color: #1a1a1a;
  border: none; padding: 8px 18px; border-radius: 6px; font-weight: 600;
  cursor: pointer; transition: all 0.15s ease; }
.exec-btn-primary:hover:not(:disabled) { box-shadow: 0 0 12px rgba(201,164,65,0.4); transform: translateY(-1px); }
.exec-btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }
.exec-btn-primary.exec-btn-sm { padding: 5px 12px; font-size: 12.5px; }
.exec-btn-secondary { background: transparent; color: #ccc; border: 1px solid rgba(255,255,255,0.15);
  padding: 8px 18px; border-radius: 6px; cursor: pointer; transition: all 0.15s ease; }
.exec-btn-secondary:hover { border-color: rgba(255,255,255,0.3); color: #fff; }

/* KPI update modal */
.exec-update-modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.7);
  z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 20px;
  backdrop-filter: blur(4px); }
.exec-update-modal { background: #181818; border: 1px solid rgba(201,164,65,0.25);
  border-radius: 12px; max-width: 560px; width: 100%; max-height: 90vh; overflow: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5); }
.exec-update-modal-header { display: flex; justify-content: space-between; align-items: flex-start;
  padding: 20px 24px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.exec-update-modal-cat { font-size: 10.5px; letter-spacing: 0.08em; color: #c9a441;
  text-transform: uppercase; margin-bottom: 4px; }
.exec-update-modal h3 { color: #fff; margin: 0; font-family: 'Playfair Display', serif;
  font-size: 22px; font-weight: 500; }
.exec-update-modal-ar { color: #888; font-size: 13px; margin-top: 4px; direction: rtl; }
.exec-update-modal-close { background: none; border: none; color: #888; font-size: 28px;
  cursor: pointer; line-height: 1; padding: 0 8px; }
.exec-update-modal-close:hover { color: #fff; }
.exec-update-modal-body { padding: 20px 24px 24px; }
.exec-update-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px;
  margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.exec-update-cell { display: flex; flex-direction: column; gap: 6px; }
.exec-update-cell label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em;
  color: #888; font-weight: 500; }
.exec-update-readonly { color: #ccc; font-size: 14px; padding: 6px 0; }
.exec-update-input-cell { margin-bottom: 14px; }
.exec-update-unit { color: #888; text-transform: none; letter-spacing: normal; font-weight: normal; }
.exec-update-input { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12);
  color: #fff; font-size: 18px; padding: 10px 14px; border-radius: 6px; outline: none;
  transition: all 0.15s ease; font-variant-numeric: tabular-nums; }
.exec-update-input:focus { border-color: #c9a441; background: rgba(255,255,255,0.06); }
.exec-update-pct { font-size: 12px; color: #c9a441; }
.exec-update-optional { color: #666; text-transform: none; letter-spacing: normal; font-weight: normal; font-style: italic; }
.exec-update-textarea { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12);
  color: #fff; padding: 10px 14px; border-radius: 6px; outline: none;
  font-family: inherit; font-size: 14px; resize: vertical; }
.exec-update-textarea:focus { border-color: #c9a441; background: rgba(255,255,255,0.06); }
.exec-update-counter { font-size: 11px; color: #666; text-align: right; }
.exec-update-preview { display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin: 14px 0 18px; padding: 12px 14px; background: rgba(255,255,255,0.03);
  border: 1px solid; border-radius: 8px; color: #ccc; font-size: 13px; }
.exec-update-err { background: rgba(221,68,68,0.1); border: 1px solid rgba(221,68,68,0.3);
  color: #f88; padding: 10px 14px; border-radius: 6px; font-size: 13px; margin: 12px 0; }
.exec-update-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }

/* ─────────────────────────────────────────────────────────────────────────
   Phase 3 — Board Inbox
   ───────────────────────────────────────────────────────────────────────── */
.exec-inbox-tab { padding: 24px 28px; max-width: 1100px; margin: 0 auto; }
.exec-inbox-header { margin-bottom: 18px; }
.exec-inbox-subtabs { display: flex; gap: 4px; border-bottom: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 20px; }
.exec-inbox-subtab { background: none; border: none; color: #999; padding: 10px 18px;
  font-size: 14px; cursor: pointer; transition: all 0.15s ease; position: relative;
  display: inline-flex; align-items: center; gap: 8px; border-bottom: 2px solid transparent;
  margin-bottom: -1px; }
.exec-inbox-subtab:hover { color: #fff; }
.exec-inbox-subtab.active { color: #c9a441; border-bottom-color: #c9a441; }
.exec-inbox-count { background: rgba(201,164,65,0.2); color: #c9a441; padding: 1px 8px;
  border-radius: 999px; font-size: 11px; font-weight: 600; }
.exec-inbox-subtab.active .exec-inbox-count { background: #c9a441; color: #1a1a1a; }
.exec-inbox-list { display: flex; flex-direction: column; gap: 12px; }
.exec-inbox-empty { padding: 40px 24px; text-align: center; color: #888;
  background: rgba(255,255,255,0.02); border: 1px dashed rgba(255,255,255,0.08);
  border-radius: 10px; font-style: italic; }

/* Question cards */
.exec-question-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px; padding: 16px 18px; }
.exec-question-card.unanswered { border-left: 3px solid #e0a020; }
.exec-question-card.answered { border-left: 3px solid #2bb673; }
.exec-question-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-size: 12px; margin-bottom: 10px; color: #aaa; }
.exec-question-badge { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.06em;
  padding: 2px 9px; border-radius: 4px; font-weight: 600; }
.badge-answered { background: rgba(43,182,115,0.18); color: #4cd494; }
.badge-unanswered { background: rgba(224,160,32,0.18); color: #e0a020; }
.exec-question-text { color: #ddd; font-size: 14px; margin-bottom: 12px; line-height: 1.5; }
.exec-question-answer { background: rgba(43,182,115,0.05); border-left: 2px solid rgba(43,182,115,0.4);
  padding: 10px 14px; border-radius: 4px; color: #ccc; font-size: 13.5px; line-height: 1.55; }
.exec-question-answer-meta { font-size: 11.5px; color: #888; margin-bottom: 6px; }
.exec-question-form { background: rgba(255,255,255,0.03); border-radius: 6px; padding: 12px;
  margin-top: 8px; }
.exec-question-form textarea { width: 100%; background: rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.12);
  color: #fff; padding: 10px 12px; border-radius: 6px; font-family: inherit;
  font-size: 13.5px; resize: vertical; outline: none; }
.exec-question-form textarea:focus { border-color: #c9a441; }
.exec-question-form-foot { display: flex; justify-content: space-between; align-items: center;
  margin-top: 10px; }
.exec-question-form-foot > div { display: flex; gap: 8px; }

/* Feedback cards */
.exec-feedback-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px; padding: 16px 18px; }
.exec-feedback-card.revision { border-left: 3px solid #d44; }
.exec-feedback-card.approved { border-left: 3px solid #2bb673; }
.exec-feedback-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin-bottom: 6px; }
.exec-feedback-badge { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.06em;
  padding: 2px 9px; border-radius: 4px; font-weight: 600; }
.badge-revision { background: rgba(221,68,68,0.18); color: #f88; }
.badge-approved { background: rgba(43,182,115,0.18); color: #4cd494; }
.exec-feedback-title { color: #fff; font-size: 14.5px; }
.exec-feedback-meta { font-size: 12px; margin-bottom: 10px; }
.exec-feedback-note { color: #ddd; font-size: 13.5px; line-height: 1.55;
  background: rgba(0,0,0,0.2); padding: 12px 14px; border-radius: 6px;
  border-left: 2px solid rgba(201,164,65,0.4); }

/* Directive cards */
.exec-directive-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px; padding: 16px 18px; transition: opacity 0.15s ease; }
.exec-directive-card.closed { opacity: 0.55; }
.exec-directive-card.overdue { border-left: 3px solid #d44; }
.exec-directive-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin-bottom: 6px; }
.exec-directive-priority { font-size: 10px; padding: 2px 8px; border-radius: 4px;
  font-weight: 700; letter-spacing: 0.05em; }
.exec-directive-priority.pr-high { background: rgba(221,68,68,0.18); color: #f88; }
.exec-directive-priority.pr-medium { background: rgba(224,160,32,0.18); color: #e0a020; }
.exec-directive-priority.pr-low { background: rgba(120,120,120,0.18); color: #aaa; }
.exec-directive-title { color: #fff; font-size: 14.5px; }
.exec-directive-pill { font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.06em;
  padding: 2px 9px; border-radius: 4px; font-weight: 600; }
.exec-directive-meta { font-size: 12px; margin-bottom: 8px; }
.exec-directive-desc { color: #ccc; font-size: 13.5px; line-height: 1.55; margin-bottom: 12px; }
.exec-directive-actions { display: flex; justify-content: flex-end; }
.exec-complete-btn { background: rgba(43,182,115,0.15); color: #4cd494;
  border: 1px solid rgba(43,182,115,0.4); padding: 6px 14px; border-radius: 6px;
  font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.15s ease; }
.exec-complete-btn:hover:not(:disabled) { background: rgba(43,182,115,0.25); color: #fff; }
.exec-complete-btn:disabled { opacity: 0.5; cursor: not-allowed; }

@media (max-width: 720px) {
  .exec-kpi-header { flex-direction: column; }
  .exec-kpi-stats { width: 100%; }
  .exec-kpi-stat { flex: 1; min-width: 0; }
  .exec-update-row { grid-template-columns: 1fr; }
}

/* ─── Phase 4: Calendar Tab ─────────────────────────────────────────────── */
.exec-cal-tab { padding: 0; }
.exec-cal-stat-strip { margin-top: 12px; }

.exec-cal-monthnav {
  display: flex; align-items: center; gap: 14px;
  margin: 28px 0 14px; padding: 10px 14px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(212,175,55,0.18);
  border-radius: 10px;
}
.exec-cal-navbtn {
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(212,175,55,0.10); color: #D4AF37;
  border: 1px solid rgba(212,175,55,0.30);
  font-size: 18px; line-height: 1; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.15s ease;
}
.exec-cal-navbtn:hover { background: rgba(212,175,55,0.20); }
.exec-cal-monthlabel {
  font-family: 'Playfair Display', serif;
  font-size: 20px; color: #fff; margin: 0; flex: 1;
  letter-spacing: 0.4px;
}
[dir="rtl"] .exec-cal-monthlabel { text-align: right; }
.exec-cal-todaybtn {
  background: transparent; color: #c9a441;
  border: 1px solid rgba(201,164,65,0.4);
  padding: 5px 12px; border-radius: 6px;
  font-size: 12px; cursor: pointer;
  text-transform: uppercase; letter-spacing: 0.06em;
  transition: all 0.15s ease;
}
.exec-cal-todaybtn:hover { background: rgba(201,164,65,0.15); color: #fff; }

.exec-cal-timeline {
  display: flex; flex-direction: column; gap: 10px;
  margin-bottom: 28px;
}
.exec-cal-empty {
  text-align: center; padding: 36px 16px;
  background: rgba(255,255,255,0.02);
  border: 1px dashed rgba(255,255,255,0.10);
  border-radius: 10px; color: rgba(255,255,255,0.45);
}
.exec-cal-empty svg { color: rgba(212,175,55,0.4); margin-bottom: 8px; }

.exec-cal-event {
  display: flex; gap: 14px; align-items: stretch;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-left: 3px solid rgba(212,175,55,0.55);
  border-radius: 8px; padding: 12px 16px;
  transition: background 0.15s ease, border-color 0.15s ease;
}
[dir="rtl"] .exec-cal-event {
  border-left: 1px solid rgba(255,255,255,0.06);
  border-right: 3px solid rgba(212,175,55,0.55);
}
.exec-cal-event:hover { background: rgba(255,255,255,0.04); }
.exec-cal-event.exec-cal-event-deadline {
  border-left-color: rgba(245,158,11,0.7);
}
[dir="rtl"] .exec-cal-event.exec-cal-event-deadline {
  border-right-color: rgba(245,158,11,0.7);
}
.exec-cal-event.is-today {
  border-left-color: #D4AF37; border-left-width: 4px;
  background: rgba(212,175,55,0.06);
}
[dir="rtl"] .exec-cal-event.is-today {
  border-right-color: #D4AF37; border-right-width: 4px;
}
.exec-cal-event.is-past { opacity: 0.5; }

.exec-cal-datepill {
  flex: 0 0 70px;
  background: rgba(212,175,55,0.10);
  border: 1px solid rgba(212,175,55,0.25);
  border-radius: 8px;
  padding: 8px 6px; text-align: center;
  display: flex; flex-direction: column; justify-content: center;
}
.exec-cal-event-deadline .exec-cal-datepill {
  background: rgba(245,158,11,0.10);
  border-color: rgba(245,158,11,0.30);
}
.exec-cal-datepill-day {
  font-family: 'Playfair Display', serif;
  font-size: 15px; color: #fff; font-weight: 600;
  letter-spacing: 0.3px; line-height: 1.2;
}
.exec-cal-datepill-dow {
  font-size: 10.5px; color: rgba(255,255,255,0.55);
  text-transform: uppercase; letter-spacing: 0.08em;
  margin-top: 4px;
}

.exec-cal-event-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.exec-cal-event-head {
  display: flex; align-items: center; gap: 10px;
  flex-wrap: wrap;
}
.exec-cal-event-type {
  font-size: 10.5px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em;
  padding: 2px 8px; border-radius: 4px;
}
.exec-cal-event-type.t-meeting {
  background: rgba(212,175,55,0.15); color: #D4AF37;
}
.exec-cal-event-type.t-deadline {
  background: rgba(245,158,11,0.15); color: #f59e0b;
}
.exec-cal-event-when {
  font-size: 11.5px; color: rgba(255,255,255,0.45);
  margin-left: auto;
}
[dir="rtl"] .exec-cal-event-when { margin-left: 0; margin-right: auto; }
.exec-cal-event-when.today {
  color: #D4AF37; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em;
}
.exec-cal-event-title {
  font-size: 14.5px; color: #fff; font-weight: 500;
  line-height: 1.4; margin-top: 2px;
}
.exec-cal-event-meta { font-size: 12px; }

.exec-cal-section-title {
  font-family: 'Playfair Display', serif;
  font-size: 18px; color: #fff;
  margin: 24px 0 14px;
  letter-spacing: 0.3px;
}

/* RTL helpers for the broader exec dashboard */
[dir="rtl"] .exec-tabs,
[dir="rtl"] .exec-stat-strip,
[dir="rtl"] .exec-meeting-grid {
  direction: rtl;
}
[dir="rtl"] .exec-hero { text-align: right; }
[dir="rtl"] .exec-cal-event-head { flex-direction: row-reverse; }
[dir="rtl"] .exec-cal-event { text-align: right; }

@media (max-width: 720px) {
  .exec-cal-monthnav { flex-wrap: wrap; }
  .exec-cal-monthlabel { font-size: 17px; }
  .exec-cal-event { padding: 10px 12px; }
  .exec-cal-datepill { flex: 0 0 60px; padding: 6px 4px; }
  .exec-cal-event-when { margin-left: 0; }
}

/* ── Sprint 2 — Member tab bar (Dashboard / Calendar) ── */
.member-tab-bar {
  display: flex;
  gap: .25rem;
  padding: 0 1.5rem;
  margin-top: .5rem;
  border-bottom: 1px solid #2A3040;
  background: var(--bg, #0E1116);
}
.member-tab {
  background: transparent;
  border: none;
  color: #9CA3AF;
  padding: .85rem 1.4rem;
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: .02em;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .15s ease, border-color .15s ease;
}
.member-tab:hover { color: #E5E7EB; }
.member-tab.active {
  color: #D4AF37;
  border-bottom-color: #D4AF37;
}

/* ── Phase 2: Committee Member — slide-in panel animations ─────────── */
@keyframes cmFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes cmSlideIn {
  from { transform: translateX(100%); }
  to   { transform: translateX(0); }
}
@keyframes cmSlideInRtl {
  from { transform: translateX(-100%); }
  to   { transform: translateX(0); }
}
.cm-slide-panel { scrollbar-width: thin; scrollbar-color: var(--gold-dim-border) transparent; }
.cm-slide-panel::-webkit-scrollbar { width: 8px; }
.cm-slide-panel::-webkit-scrollbar-thumb { background: var(--gold-dim-border, rgba(201,164,65,0.25)); border-radius: 4px; }
.cm-slide-panel::-webkit-scrollbar-track { background: transparent; }
