/* ─────────────────────────────────────────────────────────────
   MRG RCC Web — Daily Summary + Candidate Tracker styles
   Ported verbatim from renderer/index.html so the webapp
   matches the desktop app pixel-for-pixel.
   ───────────────────────────────────────────────────────────── */

:root {
  --navy:        #0D1F3C;
  --navy-mid:    #1A3460;
  --navy-light:  #2A4A7F;
  --navy-pale:   #EEF2F8;
  --gold:        #C9A84C;
  --gold-bright: #E8C96A;
  --gold-pale:   #FDF3E0;
  --white:       #FFFFFF;
  --grey-100:    #F0F2F7;
  --grey-200:    #E2E6EF;
  --grey-400:    #9AA5BE;
  --grey-600:    #5A6882;
  --text:        #1C2B4A;
  --text-muted:  #6B7A99;
  --green:       #1A6B3C;
  --green-bg:    #E6F4ED;
  --red:         #8B1A1A;
  --red-bg:      #FCEAEA;
  --amber:       #C07800;
  --amber-bg:    #FDF3E0;
  --bg:          #F0F2F7;
  --bg-card:     #FFFFFF;
  --bg-card-2:   #F8F9FC;
  --border:      #E2E6EF;
  --shadow:      rgba(13,31,60,0.08);
  --shadow-lg:   rgba(13,31,60,0.16);
  --input-bg:    #FFFFFF;
}
[data-theme="dark"] {
  --border:      #1E3A6A;
  --shadow:      rgba(0,0,0,0.3);
  --shadow-lg:   rgba(0,0,0,0.5);
  --text:        #E8EDF8;
  --text-muted:  #7A95C8;
  --grey-100:    #0F2040;
  --grey-200:    #1A3460;
  --input-bg:    #0F2040;
  --bg:          #0A1428;
  --bg-card:     #0F2040;
  --bg-card-2:   #142848;
  --red:         #ff6b6b;
  --red-bg:      rgba(255, 80, 80, 0.12);
  --green:       #4dc882;
  --green-bg:    rgba(0, 200, 100, 0.12);
}

/* ── Utility buttons ── */
.btn-primary {
  background:var(--gold); color:var(--navy);
  padding:10px 22px; border-radius:10px;
  font-family:'Syne',sans-serif; font-weight:700; font-size:13px;
  border:none; cursor:pointer;
  transition:all 0.2s;
  box-shadow:0 2px 8px rgba(201,168,76,0.2);
}
.btn-primary:hover {
  background:var(--gold-bright);
  box-shadow:0 4px 16px rgba(201,168,76,0.3);
  transform:translateY(-1px);
}
.btn-primary:disabled { opacity:0.6; cursor:not-allowed; transform:none; }
.btn-secondary {
  background:transparent; color:var(--text);
  padding:10px 22px; border-radius:10px;
  font-size:13px; font-weight:600;
  border:1px solid var(--border); cursor:pointer;
  transition:all 0.2s;
}
.btn-secondary:hover { border-color:var(--gold); color:var(--gold); }

.page-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:28px;
}
.page-title {
  font-family:'Syne',sans-serif; font-weight:800; font-size:22px;
  color:var(--text);
}
.page-subtitle { font-size:13px; color:var(--text-muted); margin-top:3px; }
.page-actions { display:flex; gap:10px; }

/* ── Tracker-shared filter controls (used by DS filter bar) ── */
.tracker-select {
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:10px;
  padding:9px 12px;
  font-size:13px; color:var(--text);
  cursor:pointer; min-width:160px;
  transition:border-color 0.2s;
}
.tracker-select:focus { border-color:var(--gold); outline:none; }
.tracker-filter-btn {
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:10px;
  padding:8px 14px;
  font-size:13px; color:var(--text-muted);
  cursor:pointer; white-space:nowrap;
  transition:all 0.2s;
}
.tracker-filter-btn.active {
  background:var(--navy); color:var(--white);
  border-color:var(--navy);
}
.tracker-filter-btn:hover:not(.active) { border-color:var(--gold); color:var(--gold); }
.filter-count {
  display:inline-block;
  background:rgba(255,255,255,0.15);
  border-radius:10px; padding:1px 7px;
  font-size:11px; font-weight:700; margin-left:4px;
}
.tracker-filter-btn:not(.active) .filter-count {
  background:var(--grey-200); color:var(--text-muted);
}

/* ── DS View toggle (Pipeline / Weekly) ── */
.ds-view-toggle {
  display:flex; background:var(--grey-100);
  border:1px solid var(--border); border-radius:10px; padding:3px; gap:2px;
}
[data-theme="dark"] .ds-view-toggle { background:rgba(255,255,255,0.05); }
.ds-toggle-btn {
  padding:7px 16px; border-radius:8px; font-size:13px;
  font-weight:600; color:var(--text-muted); background:transparent;
  border:none; cursor:pointer; transition:all 0.2s; white-space:nowrap;
}
.ds-toggle-btn.active {
  background:var(--bg-card); color:var(--navy);
  box-shadow:0 1px 4px var(--shadow);
}
[data-theme="dark"] .ds-toggle-btn.active { color:var(--gold); }

/* ── Stats bar ── */
.ds-stats-bar {
  display:grid; grid-template-columns:repeat(5,1fr); gap:12px;
  margin-bottom:20px;
}
.ds-stat {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:12px; padding:14px 16px;
  display:flex; flex-direction:column; gap:4px;
  transition:transform 0.2s, box-shadow 0.2s;
}
.ds-stat:hover { transform:translateY(-2px); box-shadow:0 6px 16px var(--shadow); }
.ds-stat-label {
  font-size:10px; font-weight:700; letter-spacing:0.07em;
  text-transform:uppercase; color:var(--text-muted);
}
.ds-stat-val {
  font-family:"DM Mono",monospace; font-size:26px; font-weight:700;
  color:var(--text); line-height:1;
}
.ds-stat-sub { font-size:11px; color:var(--text-muted); }
.ds-stat.gold  { border-top:3px solid var(--gold); }
.ds-stat.green { border-top:3px solid var(--green); }
.ds-stat.red   { border-top:3px solid var(--red); }
.ds-stat.blue  { border-top:3px solid var(--navy-light); }
.ds-stat.teal  { border-top:3px solid #0D9488; }

/* ── DS Filter bar ── */
.ds-filter-bar {
  display:flex; gap:10px; align-items:center;
  flex-wrap:wrap; margin-bottom:18px;
}

/* ── Role card ── */
.ds-role-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:16px; margin-bottom:14px;
  overflow:hidden; transition:box-shadow 0.2s;
}
.ds-role-card:hover { box-shadow:0 4px 16px var(--shadow); }
.ds-role-header {
  display:flex; align-items:center; gap:14px;
  padding:16px 20px; cursor:pointer;
  user-select:none;
}
.ds-role-header:hover { background:var(--grey-100); }
[data-theme="dark"] .ds-role-header:hover { background:rgba(255,255,255,0.03); }
.ds-role-id {
  font-family:"DM Mono",monospace; font-size:11px; font-weight:600;
  color:var(--text-muted); background:var(--grey-100);
  padding:3px 8px; border-radius:6px; flex-shrink:0;
}
[data-theme="dark"] .ds-role-id { background:rgba(255,255,255,0.07); }
.ds-role-title {
  font-family:"Syne",sans-serif; font-weight:700; font-size:15px;
  color:var(--text); flex:1;
}
.ds-role-badges { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.ds-submitted-badge {
  background:var(--navy-pale); color:var(--navy-light);
  font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px;
  border:1px solid rgba(42,74,127,0.2);
}
[data-theme="dark"] .ds-submitted-badge { background:rgba(42,74,127,0.3); color:#7AABFF; }
.ds-hired-badge {
  background:var(--green-bg); color:var(--green);
  font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px;
  border:1px solid rgba(26,107,60,0.2);
  display:flex; align-items:center; gap:4px;
}
.ds-attention-badge {
  background:var(--red-bg); color:var(--red);
  font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px;
  animation:attentionPulse 2s infinite;
}
@keyframes attentionPulse { 0%,100%{opacity:1} 50%{opacity:0.6} }
.ds-role-chevron {
  font-size:12px; color:var(--text-muted);
  transition:transform 0.25s; flex-shrink:0;
}

/* ── Weekly view grid ── */
.ds-weekly-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
}
@media(max-width:900px) { .ds-weekly-grid { grid-template-columns:1fr; } }
.ds-weekly-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:16px; padding:24px;
}
.ds-weekly-title {
  font-family:"Syne",sans-serif; font-weight:700; font-size:15px;
  color:var(--text); margin-bottom:18px;
  display:flex; align-items:center; gap:10px;
}
.admin-only-badge {
  font-size:10px; font-weight:700; padding:2px 8px;
  background:rgba(201,168,76,0.12); color:var(--gold);
  border-radius:10px; letter-spacing:0.04em;
}

/* Weekly comparison rows */
.weekly-compare-row {
  display:flex; align-items:center; gap:12px;
  padding:10px 0; border-bottom:1px solid var(--border);
}
.weekly-compare-row:last-child { border-bottom:none; }
.weekly-metric { flex:1; font-size:13px; font-weight:500; color:var(--text); }
.weekly-this { font-family:"DM Mono",monospace; font-size:16px; font-weight:700; color:var(--text); min-width:36px; text-align:center; }
.weekly-last { font-family:"DM Mono",monospace; font-size:13px; color:var(--text-muted); min-width:36px; text-align:center; }
.weekly-delta {
  font-size:12px; font-weight:700; padding:2px 8px; border-radius:10px;
  min-width:48px; text-align:center;
}
.delta-up   { background:var(--green-bg); color:var(--green); }
.delta-down { background:var(--red-bg); color:var(--red); }
.delta-same { background:var(--grey-100); color:var(--text-muted); }

/* Consultant table */
.consultant-row {
  display:flex; align-items:center; gap:10px;
  padding:10px 0; border-bottom:1px solid var(--border);
}
.consultant-row:last-child { border-bottom:none; }
.consultant-avatar {
  width:32px; height:32px; border-radius:50%;
  background:var(--navy); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:800; flex-shrink:0;
}
.consultant-name { font-size:13px; font-weight:600; color:var(--text); flex:1; }
.consultant-stats { display:flex; gap:8px; }
.consultant-stat { text-align:center; min-width:40px; }
.consultant-stat-val {
  font-family:"DM Mono",monospace; font-size:14px; font-weight:700;
  color:var(--text); display:block;
}
.consultant-stat-lbl {
  font-size:9px; text-transform:uppercase; letter-spacing:0.05em;
  color:var(--text-muted);
}

/* ── Export dropdown ── */
.ds-export-wrap { position:relative; }
.ds-export-menu {
  position:absolute; top:calc(100% + 6px); right:0;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 8px 24px var(--shadow-lg);
  z-index:50; min-width:200px;
  overflow:hidden;
  animation:dropDown 0.15s ease;
}
@keyframes dropDown { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
.ds-export-item {
  width:100%; padding:11px 16px;
  text-align:left; font-size:13px;
  color:var(--text); background:transparent;
  border:none; cursor:pointer;
  display:flex; align-items:center; gap:10px;
  transition:background 0.15s;
}
.ds-export-item:hover { background:var(--grey-100); }
[data-theme="dark"] .ds-export-item:hover { background:rgba(255,255,255,0.05); }

/* ═══════════════════════════════════════════
   RESUME BRANDING / SHARED FORM STYLES
═══════════════════════════════════════════ */

.rs-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:16px; padding:24px; margin-bottom:20px;
}
.rs-card-title { font-family:'Syne',sans-serif; font-weight:700; font-size:16px; color:var(--text); margin-bottom:4px; }
.rs-card-sub   { font-size:13px; color:var(--text-muted); }

.rs-tab {
  padding:10px 20px; background:transparent; border:none;
  border-bottom:3px solid transparent; cursor:pointer;
  font-size:13px; font-weight:600; color:var(--text-muted);
  transition:all 0.2s; margin-bottom:-2px;
}
.rs-tab:hover { color:var(--text); }
.rs-tab.active { color:var(--navy); border-bottom-color:var(--gold); }
[data-theme="dark"] .rs-tab.active { color:var(--gold); }

.form-label {
  display:block; font-size:12px; font-weight:700;
  color:var(--text-muted); text-transform:uppercase;
  letter-spacing:0.06em; margin-bottom:6px;
}
.form-input {
  width:100%; box-sizing:border-box;
  background:var(--bg-card); border:1.5px solid var(--border);
  border-radius:10px; padding:9px 12px;
  font-size:13px; color:var(--text);
  transition:border-color 0.2s;
}
.form-input:focus { border-color:var(--gold); outline:none; }

.rb-upload-zone {
  border:2px dashed var(--border); border-radius:12px;
  padding:20px; text-align:center;
  background:var(--bg-card-2); cursor:pointer;
  transition:all 0.15s;
}
.rb-upload-zone:hover { border-color:var(--gold); background:var(--grey-100); }
.rb-upload-icon { font-size:32px; margin-bottom:6px; }
.rb-upload-text { font-size:13px; font-weight:600; color:var(--text); margin-bottom:3px; }
.rb-upload-sub  { font-size:11px; color:var(--text-muted); }

.rb-jd-chip {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:10px;
  background:var(--gold-pale); color:var(--navy);
  border:1px solid var(--gold);
  font-size:13px; font-weight:600;
  margin-top:8px;
}

/* Resume history table */
.rb-history-table {
  width:100%; border-collapse:collapse; font-size:13px;
}
.rb-history-table th, .rb-history-table td {
  padding:10px 12px; text-align:left; border-bottom:1px solid var(--border);
}
.rb-history-table th {
  font-size:11px; font-weight:700; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--text-muted);
  background:var(--bg-card-2);
}
.rb-history-table tr:hover td { background:var(--grey-100); }
.rb-history-table a { color:var(--gold); text-decoration:none; font-weight:600; }
.rb-history-table a:hover { text-decoration:underline; }

/* ── Modal (resume picker) ── */
.rb-modal-overlay {
  position:fixed; inset:0; z-index:400;
  background:rgba(13,31,60,0.55); backdrop-filter:blur(2px);
  animation:modalFade 0.15s ease;
}
@keyframes modalFade { from { opacity:0; } to { opacity:1; } }
.rb-modal {
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
  z-index:401; width:680px; max-width:96vw; max-height:80vh;
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:16px; box-shadow:0 30px 80px rgba(0,0,0,0.35);
  display:flex; flex-direction:column;
  animation:modalPop 0.18s ease;
}
@keyframes modalPop { from { transform:translate(-50%,-50%) scale(0.96); opacity:0; } to { transform:translate(-50%,-50%) scale(1); opacity:1; } }
.rb-modal-header {
  display:flex; justify-content:space-between; align-items:flex-start;
  padding:18px 22px; border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.rb-modal-body {
  padding:12px 22px 22px; overflow-y:auto; flex:1;
}

/* Picker rows */
.rb-att-row {
  display:flex; align-items:center; gap:12px;
  padding:12px 14px; border:1px solid var(--border);
  border-radius:10px; margin-top:10px;
  cursor:pointer; transition:all 0.15s;
  background:var(--bg-card);
}
.rb-att-row:hover { border-color:var(--gold); background:var(--grey-100); }
.rb-att-row.selected { border-color:var(--gold); background:var(--gold-pale); }
.rb-att-icon {
  width:38px; height:38px; border-radius:8px;
  background:var(--navy); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-size:16px; font-weight:700; flex-shrink:0;
}
.rb-att-icon.pdf  { background:#B91C1C; color:#fff; }
.rb-att-icon.docx { background:#1E40AF; color:#fff; }
.rb-att-icon.other{ background:var(--grey-100); color:var(--text-muted); }
.rb-att-meta      { flex:1; min-width:0; }
.rb-att-name      { font-size:13px; font-weight:600; color:var(--text); word-break:break-all; }
.rb-att-detail    { font-size:11px; color:var(--text-muted); margin-top:2px; }
.rb-att-badge {
  font-size:10px; font-weight:700; padding:2px 8px; border-radius:10px;
  background:var(--green-bg); color:var(--green);
}
.rb-att-badge.source-app  { background:rgba(46,181,229,0.15); color:var(--navy-light); }
.rb-att-badge.source-cand { background:rgba(201,168,76,0.15); color:var(--gold); }
.rb-att-choose {
  padding:6px 12px; border-radius:8px; border:1px solid var(--gold);
  background:var(--gold); color:var(--navy);
  font-size:12px; font-weight:700; cursor:pointer;
  flex-shrink:0;
}
.rb-att-choose:hover { background:var(--gold-bright); }
.rb-att-empty {
  padding:32px 16px; text-align:center; color:var(--text-muted);
  font-size:13px;
}

/* ═══════════════════════════════════════════
   RESUME SCREENER
═══════════════════════════════════════════ */

.rss-results-table th, .rss-results-table td {
  padding:12px 14px; text-align:left; vertical-align:middle;
  border-bottom:1px solid var(--border);
}
.rss-results-table th {
  font-size:11px; font-weight:700; letter-spacing:0.05em;
  text-transform:uppercase; color:var(--text-muted);
  background:var(--bg-card-2); position:sticky; top:0;
}
.rss-results-table th.sortable { cursor:pointer; user-select:none; }
.rss-results-table th.sortable:hover { color:var(--gold); }
.rss-results-table tr { transition:background 0.12s; }
.rss-results-table tbody tr:hover { background:var(--grey-100); cursor:pointer; }
.rss-results-table tbody tr:last-child td { border-bottom:none; }

.rss-score-big {
  font-size:20px; font-weight:800;
  font-family:"DM Mono",monospace;
}
.rss-score-bar-wrap {
  display:flex; align-items:center; gap:8px;
}
.rss-score-bar {
  width:64px; height:6px; background:var(--border);
  border-radius:3px; overflow:hidden;
}
.rss-score-fill { height:100%; border-radius:3px; }
.rss-score-num  { font-family:"DM Mono",monospace; font-size:12px; font-weight:700; }

.rss-cand-name  { font-weight:600; color:var(--text); font-size:13px; }
.rss-cand-meta  { font-size:11px; color:var(--text-muted); margin-top:2px; }

.rss-drawer-section {
  margin-bottom:18px;
}
.rss-drawer-section h4 {
  font-size:11px; font-weight:700; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--text-muted);
  margin:0 0 8px 0;
}
.rss-drawer-chip {
  display:inline-block; padding:3px 10px; border-radius:12px;
  background:var(--grey-100); color:var(--text);
  font-size:11px; margin:0 4px 4px 0;
}
.rss-drawer-chip.good { background:var(--green-bg); color:var(--green); border:1px solid rgba(26,107,60,0.2); }
.rss-drawer-chip.bad  { background:var(--red-bg);   color:var(--red);   border:1px solid rgba(139,26,26,0.2); }
.rss-drawer-chip.warn { background:var(--amber-bg); color:var(--amber); border:1px solid rgba(192,120,0,0.3); }

.rss-drawer-bars { display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; }
.rss-drawer-bar-label {
  font-size:11px; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.05em;
  margin-bottom:4px;
}
.rss-drawer-bar { display:flex; align-items:center; gap:8px; }
.rss-drawer-bar .track { flex:1; height:8px; background:var(--border); border-radius:4px; overflow:hidden; }
.rss-drawer-bar .fill  { height:100%; border-radius:4px; }
.rss-drawer-bar .num   { font-family:"DM Mono",monospace; font-size:13px; font-weight:700; min-width:32px; text-align:right; }
