:root { color-scheme:light; --cadmium:#F95E27; --lapis:#30A6DD; --granny:#29AE6E; --barney:#743980; --diesel:#26282F; --anchor:#54595C; --smoke:#8A9499; --puff:#D7DEE0; --salt:#F5F7F7; --radius:10px; --radius-sm:6px; }
* { box-sizing:border-box; }
html, body { margin:0; padding:0; background:#fff; color:var(--diesel); font-family:'Roboto',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; line-height:1.55; font-size:14px; font-weight:400; }
.shell { max-width:1080px; margin:0 auto; padding:32px 24px 80px; }
.header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; flex-wrap:wrap; }
.header-left { flex:1; min-width:240px; }
.header-right { flex-shrink:0; }
.acro-logo { width:140px; height:auto; display:block; }
.gate-logo { width:160px; height:auto; display:block; margin:0 auto 28px; }
.brand-mark { font-family:'Roboto Slab',serif; font-size:11px; font-weight:500; letter-spacing:0.24em; text-transform:uppercase; color:var(--cadmium); margin-bottom:6px; }
h1 { font-family:'Roboto Slab',serif; font-size:34px; font-weight:300; margin:0 0 8px; color:var(--diesel); letter-spacing:-0.015em; line-height:1.1; }
h1 strong { font-weight:500; color:var(--cadmium); }
.subtitle { font-size:14px; color:var(--anchor); margin:0; font-weight:300; }
.meta-line { font-size:12px; color:var(--smoke); margin-top:8px; font-weight:300; letter-spacing:0.02em; }
.brand-bar { height:3px; background:var(--cadmium); border-radius:2px; margin-bottom:24px; }
/* Welcome banner */
.welcome-bar { display:flex; align-items:center; gap:12px; padding:10px 14px; background:var(--salt); border-radius:var(--radius); margin-bottom:16px; font-size:13px; color:var(--anchor); flex-wrap:wrap; }
.welcome-bar .avatar { width:28px; height:28px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:500; font-size:12px; letter-spacing:0.02em; }
.welcome-bar .greet strong { color:var(--diesel); font-weight:500; }
.welcome-bar .spacer { flex:1; }
.welcome-bar .stat { font-size:12px; color:var(--smoke); }
.welcome-bar .stat strong { color:var(--diesel); font-weight:500; font-family:'Roboto Slab',serif; }
.welcome-bar .logout-link { color:var(--smoke); text-decoration:none; font-size:12px; }
.welcome-bar .logout-link:hover { color:var(--cadmium); }
/* Metrics */
.metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; margin-bottom:24px; }
.metric { background:var(--salt); padding:18px 20px; border-radius:var(--radius); border-left:3px solid var(--cadmium); }
.metric:nth-child(2) { border-left-color:var(--lapis); }
.metric:nth-child(3) { border-left-color:var(--granny); }
.metric:nth-child(4) { border-left-color:var(--barney); }
.metric-btn:nth-child(2) { border-left-color:var(--lapis); }
.metric-btn:nth-child(3) { border-left-color:var(--granny); }
.metric-btn:nth-child(4) { border-left-color:var(--barney); }
.metric .lbl { font-size:11px; color:var(--anchor); margin:0 0 6px; text-transform:uppercase; letter-spacing:0.1em; font-weight:500; }
.metric .val { font-family:'Roboto Slab',serif; font-size:30px; font-weight:300; margin:0; color:var(--diesel); line-height:1; letter-spacing:-0.02em; }
/* Claimed RFPs section */
.claimed-section { background:#fff; border:1px solid var(--puff); border-radius:var(--radius); margin-bottom:24px; padding:18px 22px; display:none; }
.claimed-section h2 { font-family:'Roboto Slab',serif; font-size:18px; font-weight:400; margin:0 0 14px; color:var(--diesel); display:flex; align-items:center; gap:10px; }
.claimed-section h2 .count { font-family:'Roboto Slab',serif; font-weight:500; color:var(--cadmium); }
.claimed-row { display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--puff); flex-wrap:wrap; }
.claimed-row:first-of-type { border-top:0; padding-top:6px; }
.claimed-row .avatar { width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:500; font-size:13px; flex-shrink:0; }
.claimed-row .claimed-body { flex:1; min-width:200px; }
.claimed-row .claimed-title { font-family:'Roboto Slab',serif; font-size:15px; font-weight:400; margin:0 0 4px; color:var(--diesel); }
.claimed-row .claimed-meta { font-size:12px; color:var(--smoke); margin:0 0 8px; }
.claimed-row .claimed-pills { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:6px; }
.claimed-row .pill { font-size:11px; padding:3px 9px; border-radius:var(--radius-sm); font-weight:500; }
.status-proposing { background:rgba(48,166,221,0.12); color:var(--lapis); }
.status-submitted { background:rgba(116,57,128,0.12); color:var(--barney); }
.status-shortlisted { background:rgba(249,94,39,0.12); color:var(--cadmium); }
.status-won { background:var(--granny); color:#fff; }
.status-lost { background:var(--smoke); color:#fff; }
.claimed-row a.linklet { font-size:12px; color:var(--lapis); text-decoration:none; margin-right:10px; }
.claimed-row a.linklet:hover { text-decoration:underline; }
.claimed-row .edit-btn { font-size:12px; padding:6px 10px; }
/* Controls */
.controls { display:flex; flex-wrap:wrap; gap:16px; align-items:center; padding:16px 18px; background:var(--salt); border-radius:var(--radius); margin-bottom:24px; }
.controls label { font-size:11px; color:var(--anchor); display:inline-flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:0.08em; font-weight:500; }
.controls select, .controls input { font:inherit; font-size:13px; padding:8px 12px; border-radius:var(--radius-sm); border:1px solid var(--puff); background:#fff; color:var(--diesel); font-family:inherit; font-weight:400; letter-spacing:0; text-transform:none; }
.controls select:focus, .controls input:focus { outline:2px solid var(--cadmium); outline-offset:1px; border-color:var(--cadmium); }
.controls input[type="search"] { width:200px; }
.show-hidden-lbl { font-size:11px; color:var(--anchor); display:inline-flex; align-items:center; gap:6px; text-transform:uppercase; letter-spacing:0.08em; font-weight:500; }
.show-hidden-lbl input[type=checkbox] { margin:0; }
/* Feedback panel */
.fb-panel { display:none; align-items:center; gap:14px; padding:12px 16px; background:#fff; border:1px solid var(--cadmium); border-radius:var(--radius); margin-bottom:16px; flex-wrap:wrap; }
.fb-panel .fb-lbl { font-size:12px; color:var(--diesel); font-weight:500; }
.fb-panel .fb-lbl strong { color:var(--cadmium); font-family:'Roboto Slab',serif; font-size:15px; }
.fb-panel .btn { font-size:12px; padding:6px 12px; }
.fb-spacer { flex:1; min-width:8px; }
/* Card */
.card { background:#fff; border:1px solid var(--puff); border-radius:var(--radius); padding:20px 24px; margin-bottom:12px; transition:border-color 0.15s, box-shadow 0.15s; position:relative; }
.card:hover { border-color:var(--smoke); box-shadow:0 1px 3px rgba(38,40,47,0.06); }
.card.top { border:2px solid var(--cadmium); background:linear-gradient(180deg,rgba(249,94,39,0.04) 0%,#fff 60%); }
.card.var-card { background:var(--salt); border-style:dashed; }
.card.bad-fit { opacity:0.55; }
.card.bad-fit .grade { filter:grayscale(0.7); }
.card.hidden-fit { opacity:0.35; border-style:dashed; }
.card.claimed-card { border-left:4px solid var(--lapis); }
.top-banner { display:inline-block; font-size:10px; padding:4px 10px; border-radius:var(--radius-sm); background:var(--cadmium); color:#fff; font-weight:500; margin-bottom:10px; text-transform:uppercase; letter-spacing:0.12em; }
.var-banner { display:inline-block; font-size:10px; padding:4px 10px; border-radius:var(--radius-sm); background:var(--smoke); color:#fff; font-weight:500; margin-bottom:10px; text-transform:uppercase; letter-spacing:0.12em; }
.bad-banner { display:inline-block; font-size:10px; padding:4px 10px; border-radius:var(--radius-sm); background:var(--diesel); color:#fff; font-weight:500; margin-bottom:10px; text-transform:uppercase; letter-spacing:0.1em; }
.card-head { display:flex; gap:18px; align-items:center; }
.card-head .meta { flex:1; min-width:0; }
.title { font-family:'Roboto Slab',serif; font-size:17px; font-weight:400; margin:0 0 6px; color:var(--diesel); line-height:1.35; letter-spacing:-0.005em; }
.issuer { font-size:13px; color:var(--anchor); margin:0 0 12px; font-weight:300; }
/* Letter-grade: plain bold letters in tier color, no background */
.grade { flex-shrink:0; min-width:64px; text-align:center; font-family:'Roboto Slab',serif; font-size:42px; font-weight:700; letter-spacing:-0.04em; line-height:1; padding:0 4px; }
.grade.g-cadmium { color:var(--cadmium); }
.grade.g-lapis   { color:var(--lapis); }
.grade.g-granny  { color:var(--granny); }
.grade.g-barney  { color:var(--barney); }
.grade.g-smoke   { color:var(--smoke); }
.grade.g-var     { color:var(--barney); font-size:22px; font-weight:500; font-style:italic; }
.grade.g-soft    { opacity:0.78; }
.grade.g-softer  { opacity:0.6; }
/* Pills */
.pill-row { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.pill { display:inline-flex; align-items:center; font-size:11px; font-weight:500; padding:4px 10px; border-radius:var(--radius-sm); background:var(--salt); color:var(--anchor); letter-spacing:0.02em; }
.pill.cadmium { background:var(--cadmium); color:#fff; }
.pill.lapis { background:var(--lapis); color:#fff; }
.pill.granny { background:var(--granny); color:#fff; }
.pill.barney { background:var(--barney); color:#fff; }
.pill.smoke { background:var(--smoke); color:#fff; }
.pill.outline-barney { background:rgba(116,57,128,0.12); color:var(--barney); }
.pill.outline-granny { background:rgba(41,174,110,0.12); color:var(--granny); }
.pill.grade-pill { font-weight:600; letter-spacing:0.04em; }
.pill.grade-pill.g-granny { background:rgba(41,174,110,0.14); color:var(--granny); }
.pill.grade-pill.g-lapis  { background:rgba(48,166,221,0.14); color:var(--lapis); }
.pill.grade-pill.g-smoke  { background:rgba(124,124,124,0.14); color:var(--smoke); }
.pill.grade-pill.g-var    { background:rgba(116,57,128,0.14); color:var(--barney); font-style:italic; }
.pill-note { background:rgba(48,166,221,0.12); color:var(--lapis); max-width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.claim-chip { display:inline-flex; align-items:center; gap:6px; font-size:11px; padding:3px 9px 3px 4px; border-radius:14px; background:var(--salt); color:var(--diesel); font-weight:500; cursor:pointer; }
.claim-chip .mini-avatar { width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:500; font-size:10px; }
.card-right { text-align:right; display:flex; flex-direction:column; gap:6px; align-items:flex-end; flex-shrink:0; }
.days { font-size:11px; font-weight:500; padding:5px 11px; border-radius:var(--radius-sm); white-space:nowrap; text-transform:uppercase; letter-spacing:0.08em; }
.due { font-size:11px; color:var(--smoke); font-weight:300; letter-spacing:0.02em; }
.actions { margin-top:14px; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.btn { font-size:13px; padding:8px 15px; border:1px solid var(--puff); background:#fff; border-radius:var(--radius-sm); cursor:pointer; color:var(--diesel); text-decoration:none; display:inline-flex; align-items:center; gap:5px; font-family:inherit; font-weight:400; transition:all 0.15s; }
.btn:hover { background:var(--salt); border-color:var(--smoke); }
.btn-primary { background:var(--cadmium); color:#fff; border-color:var(--cadmium); font-weight:500; }
.btn-primary:hover { background:#e54e1f; border-color:#e54e1f; }
.btn-ghost { background:transparent; border-color:transparent; color:var(--smoke); font-size:12px; padding:6px 10px; }
.btn-ghost:hover { color:var(--diesel); background:var(--salt); border-color:var(--puff); }
.btn-claim { background:var(--lapis); color:#fff; border-color:var(--lapis); font-weight:500; }
.btn-claim:hover { background:#2895c5; border-color:#2895c5; }
.details { margin-top:16px; padding-top:16px; border-top:1px solid var(--puff); font-size:13px; color:var(--anchor); font-weight:300; }
.details ul { margin:8px 0 0; padding-left:20px; }
.details ul li { margin-bottom:6px; line-height:1.6; }
.details strong { color:var(--diesel); font-weight:500; }
.empty { padding:60px 20px; text-align:center; color:var(--smoke); font-size:14px; font-weight:300; }
.footer { font-size:12px; color:var(--smoke); padding:32px 0 0; border-top:1px solid var(--puff); margin-top:40px; line-height:1.75; font-weight:300; }
.footer strong { color:var(--anchor); font-weight:500; }
/* Gate */
.gate { position:fixed; inset:0; background:#fff; display:flex; align-items:center; justify-content:center; z-index:999; padding:24px; }
.gate-inner { max-width:380px; width:100%; }
.gate-title { font-family:'Roboto Slab',serif; font-size:22px; font-weight:400; color:var(--diesel); text-align:center; margin:0 0 6px; }
.gate-sub { font-size:13px; color:var(--anchor); text-align:center; margin:0 0 24px; font-weight:300; }
.gate input { width:100%; padding:11px 14px; border:1px solid var(--puff); border-radius:var(--radius-sm); font:inherit; font-size:14px; margin-bottom:10px; font-family:inherit; color:var(--diesel); }
.gate input:focus { outline:2px solid var(--cadmium); outline-offset:1px; border-color:var(--cadmium); }
.gate-btn { width:100%; padding:11px 14px; background:var(--cadmium); color:#fff; border:0; border-radius:var(--radius-sm); cursor:pointer; font:inherit; font-weight:500; font-size:14px; font-family:inherit; transition:background 0.15s; }
.gate-btn:hover { background:#e54e1f; }
.gate-err { font-size:12px; color:var(--cadmium); text-align:center; margin-top:10px; font-weight:500; min-height:16px; }
body.locked { overflow:hidden; }
body.locked .shell { display:none; }
/* Modal */
.modal-bg { position:fixed; inset:0; background:rgba(38,40,47,0.5); display:none; align-items:center; justify-content:center; z-index:998; padding:24px; }
.modal { background:#fff; border-radius:var(--radius); padding:24px 28px; max-width:500px; width:100%; max-height:90vh; overflow-y:auto; }
.modal h3 { font-family:'Roboto Slab',serif; font-size:18px; font-weight:400; margin:0 0 4px; color:var(--diesel); }
.modal h3 small { color:var(--smoke); font-size:13px; font-weight:300; display:block; }
.modal label { display:block; font-size:11px; color:var(--anchor); text-transform:uppercase; letter-spacing:0.08em; font-weight:500; margin:14px 0 6px; }
.modal input[type=text], .modal input[type=url], .modal textarea, .modal select { width:100%; padding:9px 12px; border:1px solid var(--puff); border-radius:var(--radius-sm); font:inherit; font-size:13px; font-family:inherit; color:var(--diesel); }
.modal textarea { min-height:80px; resize:vertical; }
.modal-actions { display:flex; gap:8px; justify-content:flex-end; margin-top:20px; }
@media (max-width:700px) {
  .shell { padding:20px 16px 60px; }
  h1 { font-size:26px; }
  .acro-logo { width:110px; }
  .card-head { flex-direction:column; gap:12px; align-items:flex-start; }
  .grade { font-size:36px; min-width:auto; }
  .card-right { flex-direction:row; align-items:center; justify-content:flex-start; }
  .controls input[type="search"] { width:100%; }
}

/* Photo avatars (override the initials styling when img is present) */
.avatar img, .mini-avatar img, .claim-photo { width:100%; height:100%; object-fit:cover; display:block; }
.avatar, .mini-avatar { overflow:hidden; }
/* Avatar variants */
.avatar.lg { width:48px; height:48px; }
/* Inline note editor */
.note-edit { display:inline-flex; align-items:center; gap:6px; }
.note-edit input { font:inherit; font-size:12px; padding:3px 8px; border:1px solid var(--lapis); border-radius:var(--radius-sm); min-width:200px; color:var(--diesel); background:#fff; }
.pill-note { cursor:pointer; }
.pill-note:hover { background:rgba(48,166,221,0.22); }
.add-note-pill { cursor:pointer; background:transparent; color:var(--smoke); border:1px dashed var(--puff); padding:3px 9px; border-radius:var(--radius-sm); font-size:11px; font-weight:500; }
.add-note-pill:hover { color:var(--lapis); border-color:var(--lapis); background:rgba(48,166,221,0.06); }

/* Closed RFPs section */
.claimed-section#closed-section h2 .count { color:var(--smoke); }
.claimed-section#closed-section .claimed-row { opacity:0.92; }
.win-loss-reason { display:block; margin-top:8px; padding:10px 12px; background:var(--salt); border-left:3px solid var(--barney); border-radius:var(--radius-sm); font-size:12px; color:var(--diesel); line-height:1.5; }
.win-loss-reason.win { border-left-color:var(--granny); background:rgba(41,174,110,0.08); }
.price-row { display:flex; gap:14px; margin-top:6px; font-size:12px; }
.price-row .price-cell strong { color:var(--diesel); font-weight:500; font-family:'Roboto Slab',serif; }
.price-row .price-cell .lbl { color:var(--smoke); margin-right:4px; }

/* Comment thread */
.comments { margin-top:16px; padding-top:16px; border-top:1px solid var(--puff); }
.comments-header { font-size:11px; color:var(--smoke); text-transform:uppercase; letter-spacing:0.08em; font-weight:500; margin-bottom:12px; }
.comment { display:flex; gap:10px; align-items:flex-start; margin-bottom:12px; }
.comment .avatar { width:30px; height:30px; flex-shrink:0; font-size:11px; }
.comment .comment-body { flex:1; min-width:0; }
.comment-head { font-size:12px; color:var(--anchor); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.comment-head strong { font-weight:500; }
.comment-when { color:var(--smoke); font-size:11px; }
.comment-text { font-size:13px; color:var(--diesel); line-height:1.55; margin-top:3px; white-space:normal; word-break:break-word; }
.comment-del { background:transparent; border:0; color:var(--smoke); cursor:pointer; font-size:16px; padding:0 6px; line-height:1; }
.comment-del:hover { color:var(--cadmium); }
.vis-badge { font-size:10px; padding:2px 8px; border-radius:var(--radius-sm); font-weight:500; text-transform:uppercase; letter-spacing:0.06em; }
.vis-badge.vis-clared { background:rgba(249,94,39,0.12); color:var(--cadmium); }
/* duplicate comment-composer rule removed */
.comment-input { width:100%; min-height:64px; padding:10px 12px; border:1px solid var(--puff); border-radius:var(--radius-sm); font:inherit; font-size:13px; font-family:inherit; color:var(--diesel); resize:vertical; line-height:1.55; }
.comment-input:focus { outline:2px solid var(--cadmium); outline-offset:1px; border-color:var(--cadmium); }
.composer-row { display:flex; align-items:center; gap:12px; margin-top:8px; flex-wrap:wrap; }
.vis-toggle { font-size:12px; color:var(--anchor); display:inline-flex; align-items:center; gap:6px; cursor:pointer; font-weight:400; letter-spacing:0; text-transform:none; }
.vis-toggle input { margin:0; }
.composer-spacer { flex:1; min-width:8px; }
.comment-post-btn { font-size:12px; padding:6px 14px; }

.comments-empty .comments-empty-nudge { font-size:12px; color:var(--smoke); margin-bottom:10px; padding:8px 12px; background:var(--salt); border-radius:var(--radius-sm); line-height:1.5; }
.comments-empty .comment-input { min-height:54px; }
.comments-empty .comment-input::placeholder { color:var(--smoke); font-style:italic; }

/* ===== Tab navigation ===== */
.tabs { display:flex; gap:2px; margin-bottom:24px; border-bottom:1px solid var(--puff); overflow-x:auto; }
.tab { background:transparent; border:0; padding:12px 18px; font:inherit; font-size:13px; font-weight:500; color:var(--smoke); cursor:pointer; border-bottom:2px solid transparent; transition:all 0.15s; white-space:nowrap; font-family:inherit; letter-spacing:0.02em; display:inline-flex; align-items:center; gap:8px; }
.tab:hover { color:var(--diesel); }
.tab.active { color:var(--cadmium); border-bottom-color:var(--cadmium); }
.tab-count { font-size:11px; padding:2px 7px; border-radius:10px; background:var(--puff); color:var(--anchor); font-weight:500; min-width:18px; text-align:center; }
.tab.active .tab-count { background:var(--cadmium); color:#fff; }
.tab-panel { display:none; }
.tab-panel.active { display:block; }
.panel-h { font-family:'Roboto Slab',serif; font-size:24px; font-weight:300; margin:0 0 4px; color:var(--diesel); display:flex; align-items:center; gap:12px; }
.panel-h .count { font-family:'Roboto Slab',serif; font-weight:500; color:var(--cadmium); font-size:20px; }
.panel-sub { font-size:13px; color:var(--smoke); margin:0 0 24px; font-weight:300; }
.empty-tab { padding:60px 24px; text-align:center; color:var(--smoke); font-size:14px; font-weight:300; background:var(--salt); border-radius:var(--radius); }
.claims-list .claimed-row { padding:18px 0; }

/* ===== Stats / Scoreboard ===== */
.scoreboard { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-bottom:32px; }
.score-card { background:#fff; border:1px solid var(--puff); border-radius:var(--radius); padding:20px 22px; }
.score-card .score-lbl { font-size:11px; color:var(--anchor); text-transform:uppercase; letter-spacing:0.1em; font-weight:500; margin:0 0 8px; }
.score-card .score-val { font-family:'Roboto Slab',serif; font-size:36px; font-weight:300; color:var(--cadmium); margin:0; line-height:1; letter-spacing:-0.02em; }
.score-card .score-sub { font-size:11px; color:var(--smoke); margin:6px 0 0; font-weight:300; }
.section-h { font-family:'Roboto Slab',serif; font-size:18px; font-weight:400; color:var(--diesel); margin:32px 0 14px; }
.leaderboard-controls { margin-bottom:14px; }
.leaderboard-controls label { font-size:11px; color:var(--anchor); text-transform:uppercase; letter-spacing:0.08em; font-weight:500; display:inline-flex; align-items:center; gap:10px; }
.leaderboard-controls select { font:inherit; font-size:13px; padding:7px 11px; border-radius:var(--radius-sm); border:1px solid var(--puff); background:#fff; font-family:inherit; font-weight:400; text-transform:none; letter-spacing:0; }

/* ===== Leaderboard ===== */
.leaderboard { background:#fff; border:1px solid var(--puff); border-radius:var(--radius); overflow:hidden; }
.lb-row { display:grid; grid-template-columns:50px 56px 1fr 70px 70px 70px 90px; gap:14px; align-items:center; padding:14px 20px; border-bottom:1px solid var(--puff); }
.lb-row:last-child { border-bottom:0; }
.lb-row.lb-header { background:var(--salt); font-size:10px; color:var(--anchor); text-transform:uppercase; letter-spacing:0.1em; font-weight:500; padding:10px 20px; }
.lb-rank { font-family:'Roboto Slab',serif; font-size:18px; font-weight:500; color:var(--smoke); text-align:center; }
.lb-rank.medal { font-size:22px; }
.lb-row .avatar { width:44px; height:44px; font-size:14px; }
.lb-name { font-family:'Roboto Slab',serif; font-size:15px; font-weight:400; color:var(--diesel); }
.lb-num { font-family:'Roboto Slab',serif; font-size:18px; font-weight:400; color:var(--diesel); text-align:right; }
.lb-num.muted { color:var(--smoke); }
.lb-winrate { display:flex; align-items:center; gap:8px; }
.lb-winrate .bar { flex:1; height:6px; background:var(--puff); border-radius:3px; overflow:hidden; max-width:60px; }
.lb-winrate .bar .fill { height:100%; background:var(--granny); }
.lb-winrate .pct { font-family:'Roboto Slab',serif; font-size:13px; font-weight:500; color:var(--diesel); min-width:36px; text-align:right; }

/* ===== Trophy wall ===== */
.trophy-wall { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.trophy-card { background:#fff; border:1px solid var(--puff); border-radius:var(--radius); padding:18px 20px; }
.trophy-card .tc-head { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.trophy-card .avatar { width:48px; height:48px; font-size:14px; }
.trophy-card .tc-name { font-family:'Roboto Slab',serif; font-size:15px; font-weight:500; color:var(--diesel); }
.trophy-card .tc-stats { font-size:11px; color:var(--smoke); text-transform:uppercase; letter-spacing:0.06em; }
.trophy-grid { display:flex; flex-wrap:wrap; gap:6px; }
.trophy { display:inline-flex; align-items:center; gap:5px; padding:6px 10px; border-radius:14px; background:var(--salt); font-size:11px; font-weight:500; color:var(--diesel); border:1px solid var(--puff); }
.trophy .emoji { font-size:14px; }
.trophy.gold   { background:rgba(245,158,11,0.12); color:#92400E; border-color:rgba(245,158,11,0.3); }
.trophy.green  { background:rgba(41,174,110,0.12); color:#065F46; border-color:rgba(41,174,110,0.3); }
.trophy.blue   { background:rgba(48,166,221,0.12); color:#075985; border-color:rgba(48,166,221,0.3); }
.trophy.purple { background:rgba(116,57,128,0.12); color:#581C87; border-color:rgba(116,57,128,0.3); }
.trophy.red    { background:rgba(244,63,94,0.12); color:#9F1239; border-color:rgba(244,63,94,0.3); }
.no-trophies { font-size:11px; color:var(--smoke); font-style:italic; }

/* ===== Activity feed ===== */
.activity-list { display:flex; flex-direction:column; gap:0; background:#fff; border:1px solid var(--puff); border-radius:var(--radius); overflow:hidden; }
.activity-row { display:flex; align-items:flex-start; gap:14px; padding:14px 20px; border-bottom:1px solid var(--puff); }
.activity-row:last-child { border-bottom:0; }
.activity-row .avatar { width:34px; height:34px; font-size:12px; flex-shrink:0; }
.activity-body { flex:1; min-width:0; }
.activity-body .act-text { font-size:13px; color:var(--diesel); line-height:1.55; }
.activity-body .act-text strong { font-weight:500; }
.activity-body .act-when { font-size:11px; color:var(--smoke); margin-top:2px; }

@media (max-width:700px) {
  .lb-row { grid-template-columns:40px 44px 1fr 50px 50px 50px; gap:8px; padding:10px 14px; font-size:12px; }
  .lb-row .avatar { width:36px; height:36px; }
  .lb-winrate { display:none; }
  .panel-h { font-size:20px; }
  .score-card .score-val { font-size:28px; }
}

/* Inline status switcher on claim rows */
.inline-status { font:inherit; font-size:11px; padding:3px 22px 3px 9px; border-radius:var(--radius-sm); border:1px solid var(--puff); background:#fff; color:var(--diesel); cursor:pointer; font-weight:500; letter-spacing:0.02em; appearance:none; -webkit-appearance:none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%2354595C' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 6px center; background-size:8px; }
.inline-status.status-proposing  { background-color: rgba(48,166,221,0.12); color:#075985; border-color:rgba(48,166,221,0.3); }
.inline-status.status-submitted  { background-color: rgba(116,57,128,0.12); color:#581C87; border-color:rgba(116,57,128,0.3); }
.inline-status.status-shortlisted { background-color: rgba(249,94,39,0.12); color:#9A3412; border-color:rgba(249,94,39,0.3); }
.inline-status.status-won        { background-color: #29AE6E; color:#fff; border-color:#29AE6E; }
.inline-status.status-lost       { background-color: #8A9499; color:#fff; border-color:#8A9499; }
.inline-status.status-preparing { background-color: rgba(48,166,221,0.10); color:#0c5e85; border-color:rgba(48,166,221,0.28); }
.inline-status.status-presented { background-color: rgba(48,166,221,0.22); color:#0b4a6c; border-color:rgba(48,166,221,0.45); }
.inline-status.status-on-hold    { background-color: var(--salt); color:var(--anchor); border-color:var(--puff); }

/* ===== Acro logo link ===== */
.acro-logo-link { display:inline-block; line-height:0; }
.acro-logo-link:hover .acro-logo { opacity:0.85; }

/* ===== Clickable metric cards (Open tab) ===== */
.metric-btn { font:inherit; cursor:pointer; background:var(--salt); border:none; border-left:3px solid var(--cadmium); padding:18px 20px; text-align:left; transition:background .15s, box-shadow .15s, transform .08s; }
.metric-btn:hover { background:#fff; box-shadow:0 2px 12px rgba(0,0,0,0.06); }
.metric-btn:active { transform:translateY(1px); }
.metric-btn.active { background:#fff; box-shadow:0 0 0 2px rgba(249,94,39,0.25); }

/* ===== Comment composer (avatar left + Facebook style) ===== */
.comment-composer { display:flex; gap:10px; align-items:flex-start; padding:12px 0 0; border-top:1px solid var(--puff); margin-top:12px; }
.comment-composer .avatar, .comment-composer .mini-avatar { flex-shrink:0; }
.composer-wrap { flex:1; }
.comment-input { width:100%; min-height:60px; max-height:240px; resize:vertical; padding:10px 12px; border:1px solid var(--puff); border-radius:18px; font:inherit; font-size:13px; line-height:1.4; background:var(--salt); transition:border-color .15s, background .15s; }
.comment-input:focus { outline:none; border-color:var(--cadmium); background:#fff; }
.composer-row { display:flex; align-items:center; gap:10px; margin-top:8px; }
.composer-spacer { flex:1; }
.vis-toggle { font-size:11px; color:var(--smoke); display:inline-flex; align-items:center; gap:5px; cursor:pointer; }

/* ===== Comment foot (like + edit + delete) ===== */
.comment-foot { display:flex; align-items:center; gap:14px; margin-top:4px; padding-left:2px; }
.comment-like { background:none; border:none; cursor:pointer; font:inherit; font-size:12px; color:var(--smoke); display:inline-flex; align-items:center; gap:4px; padding:2px 0; border-radius:6px; transition:color .15s; }
.comment-like:hover { color:var(--cadmium); }
.comment-like.liked { color:var(--cadmium); font-weight:500; }
.comment-like .thumb { font-size:13px; line-height:1; }
.comment-like .like-count { font-size:11px; font-weight:500; }
.comment-act { background:none; border:none; cursor:pointer; font:inherit; font-size:11px; color:var(--smoke); padding:2px 0; transition:color .15s; }
.comment-act:hover { color:var(--cadmium); text-decoration:underline; }
.comment-edited { font-size:10px; color:var(--smoke); font-style:italic; margin-left:4px; }
.mention { font-weight:500; }

/* ===== Leaderboard rows (new layout: rank | avatar | name+badges | claims | active | sub | won | winrate) ===== */
.leaderboard { display:flex; flex-direction:column; }
.lb-row { display:grid; grid-template-columns:60px 44px minmax(160px, 1.5fr) 60px 60px 60px 60px 130px; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--puff); cursor:pointer; transition:background .12s; }
.lb-row:hover:not(.lb-header) { background:var(--salt); }
.lb-header { background:transparent; cursor:default; color:var(--smoke); font-size:10px; text-transform:uppercase; letter-spacing:0.08em; font-weight:500; padding-top:8px; padding-bottom:8px; }
.lb-header:hover { background:transparent; }
.lb-row.lb-zero { opacity:0.45; }
.lb-row.lb-zero:hover { opacity:0.7; background:var(--salt); }
.lb-row.lb-expanded { background:var(--salt); border-bottom-color:transparent; }
.lb-rank { font-weight:500; font-size:14px; color:var(--smoke); text-align:center; }
.lb-rank .medal { font-size:22px; }
.lb-name { display:flex; flex-direction:column; gap:4px; min-width:0; }
.lb-name-line { font-size:14px; }
.lb-badges { display:flex; flex-wrap:wrap; gap:4px; }
.lb-num { text-align:right; font-family:'Roboto Slab', serif; font-weight:500; font-size:18px; }
.lb-num.muted { color:var(--puff); font-weight:300; }
.lb-winrate { display:flex; align-items:center; gap:8px; }
.lb-winrate .bar { flex:1; height:6px; background:var(--puff); border-radius:3px; overflow:hidden; }
.lb-winrate .fill { height:100%; background:linear-gradient(90deg, var(--granny), var(--lapis)); }
.lb-winrate .pct { font-size:12px; font-weight:500; color:var(--anchor); min-width:36px; text-align:right; }

/* ===== Badges with tooltip ===== */
.badge { position:relative; display:inline-flex; align-items:center; gap:4px; padding:2px 8px 2px 6px; border-radius:11px; background:var(--salt); color:var(--diesel); font-size:10px; line-height:1.4; font-weight:500; cursor:help; letter-spacing:0.01em; }
.badge.badge-more { background:transparent; color:var(--smoke); font-weight:500; padding:2px 4px; }
.badge .badge-emoji { font-size:12px; line-height:1; }
.badge.b-gold   { background:rgba(245,158,11,0.18); color:#a86200; }
.badge.b-silver { background:rgba(138,148,153,0.20); color:#52595c; }
.badge.b-blue   { background:rgba(48,166,221,0.16); color:#1c79a8; }
.badge.b-green  { background:rgba(41,174,110,0.16); color:#18794e; }
.badge.b-red    { background:rgba(244,63,94,0.14); color:#a8253d; }
.badge.b-purple { background:rgba(116,57,128,0.14); color:#5b2c66; }
.badge.b-orange { background:rgba(249,94,39,0.14); color:#bf4719; }
.badge[data-tip]:hover::after,
.badge[data-tip]:focus::after {
  content:attr(data-tip);
  position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%);
  background:var(--anchor); color:#fff; padding:6px 10px; border-radius:6px;
  font-size:11px; font-weight:400; white-space:nowrap; pointer-events:none; z-index:50;
  box-shadow:0 4px 12px rgba(0,0,0,0.15);
}
.badge[data-tip]:hover::before {
  content:''; position:absolute; bottom:calc(100% + 2px); left:50%; transform:translateX(-50%);
  border:6px solid transparent; border-top-color:var(--anchor); z-index:50;
}

/* ===== Profile panel (expands inline in leaderboard) ===== */
.profile-panel { background:var(--salt); padding:16px 18px 18px; border-bottom:1px solid var(--puff); cursor:default; }
.profile-cols { display:grid; grid-template-columns:1fr 1.2fr 1.4fr; gap:24px; }
.profile-col { min-width:0; }
.profile-h { font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--smoke); font-weight:500; margin-bottom:8px; }
.profile-stats .ps-row { display:flex; justify-content:space-between; align-items:baseline; padding:4px 0; font-size:13px; border-bottom:1px dotted var(--puff); }
.profile-stats .ps-row span { color:var(--smoke); }
.profile-stats .ps-row strong { font-family:'Roboto Slab', serif; font-weight:500; }
.profile-badges { display:flex; flex-direction:column; gap:8px; }
.profile-badge { display:flex; align-items:flex-start; gap:10px; padding:6px 8px; border-radius:6px; background:#fff; border:1px solid var(--puff); }
.pb-emoji { font-size:18px; line-height:1; flex-shrink:0; }
.pb-meta { min-width:0; }
.pb-label { font-size:13px; font-weight:500; }
.pb-tip { font-size:11px; color:var(--smoke); margin-top:1px; }
.profile-claims { display:flex; flex-direction:column; gap:6px; max-height:300px; overflow-y:auto; }
.profile-claim { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:8px 10px; background:#fff; border:1px solid var(--puff); border-radius:6px; cursor:pointer; transition:border-color .12s; }
.profile-claim .pc-title { flex:1; min-width:0; }
.profile-claim .pc-status { width:auto; max-width:none; display:inline-block; }
.profile-claim:hover { border-color:var(--cadmium); }
.pc-title { font-size:12px; font-weight:500; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pc-status { font-size:10px; padding:3px 8px; border-radius:10px; font-weight:500; text-transform:uppercase; letter-spacing:0.05em; flex-shrink:0; }
.profile-empty { font-size:12px; color:var(--smoke); font-style:italic; padding:6px 0; }

/* Stacking on narrow screens */
@media (max-width: 900px) {
  .profile-cols { grid-template-columns:1fr; gap:18px; }
  .lb-row { grid-template-columns:50px 36px 1fr 50px 50px 50px 50px 110px; gap:6px; padding:8px 10px; }
  .lb-num { font-size:15px; }
}


/* ===== Face-picker login ===== */
.face-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:14px; margin-bottom:18px; }
.face-tile { background:none; border:2px solid transparent; padding:6px 4px 8px; border-radius:12px; cursor:pointer; font:inherit; display:flex; flex-direction:column; align-items:center; gap:6px; transition:border-color .15s, background .15s, transform .08s; }
.face-tile:hover { border-color:var(--puff); background:var(--salt); }
.face-tile:active { transform:scale(0.97); }
.face-tile.selected { border-color:var(--cadmium); background:rgba(249,94,39,0.08); }
.face-photo { position:relative; width:56px; height:56px; border-radius:50%; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.face-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.face-initials { display:none; color:#fff; font-weight:500; font-size:18px; letter-spacing:0.02em; width:100%; height:100%; align-items:center; justify-content:center; }
.face-name { font-size:11px; font-weight:500; color:var(--diesel); text-align:center; letter-spacing:0.02em; }
.face-tile.selected .face-name { color:var(--cadmium); }
@media (max-width: 520px) {
  .face-grid { grid-template-columns:repeat(4, 1fr); gap:10px; }
  .face-photo { width:48px; height:48px; }
}

.pc-status.status-preparing { background:rgba(48,166,221,0.12); color:#0c5e85; }
.pc-status.status-submitted { background:rgba(116,57,128,0.14); color:#581C87; }
.pc-status.status-presented { background:rgba(48,166,221,0.22); color:#0b4a6c; }
.pc-status.status-won { background:var(--granny); color:#fff; }
.pc-status.status-lost { background:var(--smoke); color:#fff; }
.pc-status.status-on-hold { background:var(--salt); color:var(--anchor); border:1px solid var(--puff); }


/* ===== STATS PAGE v2 — podium + roster + drawer ===== */
.scoreboard { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:12px; margin-bottom:28px; }
.score-card { background:var(--salt); border-radius:var(--radius); padding:18px 20px; border-left:3px solid var(--cadmium); }
.score-card:nth-child(2) { border-left-color:var(--lapis); }
.score-card:nth-child(3) { border-left-color:var(--barney); }
.score-card:nth-child(4) { border-left-color:var(--granny); }
.score-lbl { font-size:11px; color:var(--anchor); margin:0 0 6px; text-transform:uppercase; letter-spacing:0.1em; font-weight:500; }
.score-val { font-family:'Roboto Slab',serif; font-size:32px; font-weight:300; margin:0; color:var(--diesel); line-height:1; letter-spacing:-0.02em; }
.score-sub { font-size:11px; color:var(--smoke); margin:6px 0 0; }

.leaderboard-controls { display:flex; align-items:center; gap:12px; margin:6px 0 18px; }
.leaderboard-controls label { font-size:11px; color:var(--anchor); text-transform:uppercase; letter-spacing:0.08em; font-weight:500; display:inline-flex; align-items:center; gap:10px; }
.leaderboard-controls select { font:inherit; font-size:13px; padding:8px 28px 8px 12px; border-radius:var(--radius-sm); border:1px solid var(--puff); background:#fff; color:var(--diesel); font-weight:400; letter-spacing:0; text-transform:none; }

/* === Podium === */
.podium { display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:14px; align-items:end; margin:8px 0 24px; }
.podium[data-count="1"] { grid-template-columns:1fr; max-width:340px; margin:8px auto 24px; }
.podium[data-count="2"] { grid-template-columns:1fr 1fr; }
.podium-card { position:relative; background:linear-gradient(180deg, #fff 0%, var(--salt) 100%); border:1px solid var(--puff); border-radius:14px; padding:46px 14px 16px; text-align:center; cursor:pointer; transition:transform .15s, box-shadow .15s, border-color .15s; }
.podium-card:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,0.08); border-color:var(--smoke); }
.podium-card.open { border-color:var(--cadmium); box-shadow:0 0 0 2px rgba(249,94,39,0.18); }
.podium-card.rank-1 { padding-top:52px; padding-bottom:22px; background:linear-gradient(180deg, #fff 0%, rgba(245,158,11,0.10) 100%); border-color:rgba(245,158,11,0.5); }
.podium-card.rank-2 { background:linear-gradient(180deg, #fff 0%, rgba(138,148,153,0.08) 100%); border-color:rgba(138,148,153,0.45); }
.podium-card.rank-3 { background:linear-gradient(180deg, #fff 0%, rgba(180,83,9,0.08) 100%); border-color:rgba(180,83,9,0.35); }
.podium-medal { position:absolute; top:-14px; left:50%; transform:translateX(-50%); font-size:34px; line-height:1; background:#fff; border-radius:50%; width:54px; height:54px; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,0.10); }
.podium-photo { position:relative; width:84px; height:84px; margin:0 auto 10px; border-radius:50%; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,0.08); }
.podium-card.rank-1 .podium-photo { width:100px; height:100px; }
.podium-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.podium-initials { display:none; width:100%; height:100%; align-items:center; justify-content:center; color:#fff; font-weight:500; font-size:30px; }
.podium-name { font-family:'Roboto Slab',serif; font-size:16px; font-weight:400; color:var(--diesel); margin-bottom:8px; }
.podium-card.rank-1 .podium-name { font-size:18px; }
.podium-metric { display:flex; flex-direction:column; align-items:center; gap:2px; margin-bottom:10px; }
.podium-metric strong { font-family:'Roboto Slab',serif; font-size:28px; font-weight:500; color:var(--cadmium); line-height:1; }
.podium-card.rank-1 .podium-metric strong { font-size:34px; }
.podium-metric span { font-size:10px; text-transform:uppercase; letter-spacing:0.1em; color:var(--smoke); font-weight:500; }
.podium-badges { display:flex; flex-wrap:wrap; gap:4px; justify-content:center; }
.podium-badges.empty { font-size:11px; color:var(--smoke); font-style:italic; }

/* === Roster grid === */
.roster { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:10px; margin-bottom:16px; }
.roster-card { display:flex; gap:12px; align-items:center; padding:12px 14px; background:#fff; border:1px solid var(--puff); border-radius:12px; cursor:pointer; transition:transform .12s, box-shadow .12s, border-color .12s; }
.roster-card:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,0.06); border-color:var(--smoke); }
.roster-card.open { border-color:var(--cadmium); box-shadow:0 0 0 2px rgba(249,94,39,0.15); }
.roster-card.dim { background:var(--salt); opacity:0.6; }
.roster-card.dim:hover { opacity:0.85; }
.roster-rank { font-family:'Roboto Slab',serif; font-size:13px; font-weight:500; color:var(--smoke); min-width:24px; }
.roster-photo { position:relative; width:42px; height:42px; border-radius:50%; overflow:hidden; flex-shrink:0; }
.roster-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.roster-initials { display:none; width:100%; height:100%; align-items:center; justify-content:center; color:#fff; font-weight:500; font-size:14px; }
.roster-meta { flex:1; min-width:0; }
.roster-name { font-size:14px; font-weight:500; color:var(--diesel); margin-bottom:2px; }
.roster-line { display:flex; flex-wrap:wrap; gap:10px; font-size:11px; color:var(--smoke); margin-bottom:4px; }
.rs-stat strong { color:var(--diesel); font-family:'Roboto Slab',serif; font-weight:500; }
.roster-badges { display:flex; flex-wrap:wrap; gap:3px; }
.roster-badges .badge { padding:2px 4px; font-size:11px; }
.roster-badges .badge-emoji { font-size:13px; }

/* === Profile drawer === */
.profile-drawer { position:relative; background:var(--salt); border:1px solid var(--puff); border-radius:14px; padding:22px 26px 26px; margin:14px 0 4px; }
.drawer-close { position:absolute; top:12px; right:14px; background:none; border:none; cursor:pointer; font-size:16px; color:var(--smoke); padding:6px 10px; border-radius:6px; transition:background .12s, color .12s; }
.drawer-close:hover { background:#fff; color:var(--diesel); }
.drawer-header { display:flex; align-items:center; gap:16px; margin-bottom:20px; padding-right:40px; }
.drawer-photo { position:relative; width:64px; height:64px; border-radius:50%; overflow:hidden; flex-shrink:0; box-shadow:0 2px 6px rgba(0,0,0,0.08); }
.drawer-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.drawer-initials { display:none; width:100%; height:100%; align-items:center; justify-content:center; color:#fff; font-weight:500; font-size:22px; }
.drawer-name-wrap { min-width:0; }
.drawer-name { font-family:'Roboto Slab',serif; font-size:22px; font-weight:400; color:var(--diesel); margin-bottom:2px; }
.drawer-sub { font-size:12px; color:var(--smoke); }
.drawer-cols { display:grid; grid-template-columns:1fr 1.4fr 1.3fr; gap:24px; }
.drawer-col { min-width:0; }
.drawer-h { font-size:11px; text-transform:uppercase; letter-spacing:0.1em; color:var(--smoke); font-weight:500; margin-bottom:10px; }

.drawer-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.dg-cell { background:#fff; border-radius:8px; padding:10px 12px; border:1px solid var(--puff); }
.dg-num { font-family:'Roboto Slab',serif; font-size:20px; font-weight:500; color:var(--diesel); line-height:1; }
.dg-lbl { font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:var(--smoke); margin-top:4px; }

.bg-group { margin-bottom:14px; }
.bg-group:last-child { margin-bottom:0; }
.bg-h { font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:var(--smoke); font-weight:500; margin-bottom:6px; }
.bg-row { display:flex; flex-direction:column; gap:6px; }
.bg-chip { display:flex; align-items:flex-start; gap:10px; padding:8px 10px; border-radius:8px; background:#fff; border:1px solid var(--puff); }
.bg-emoji { font-size:18px; line-height:1; flex-shrink:0; }
.bg-meta { min-width:0; }
.bg-label { font-size:13px; font-weight:500; color:var(--diesel); }
.bg-tip { font-size:11px; color:var(--smoke); margin-top:2px; }

.drawer-claims { display:flex; flex-direction:column; gap:6px; max-height:340px; overflow-y:auto; padding-right:4px; }
.drawer-claim { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:8px 12px; background:#fff; border:1px solid var(--puff); border-radius:8px; cursor:pointer; transition:border-color .12s; }
.drawer-claim:hover { border-color:var(--cadmium); }
.dc-title { flex:1; min-width:0; font-size:12px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dc-status { font-size:10px; padding:3px 8px; border-radius:10px; font-weight:500; text-transform:uppercase; letter-spacing:0.05em; flex-shrink:0; display:inline-block; width:auto; }
.dc-status.status-preparing { background:rgba(48,166,221,0.12); color:#0c5e85; }
.dc-status.status-submitted { background:rgba(116,57,128,0.14); color:#581C87; }
.dc-status.status-presented { background:rgba(48,166,221,0.22); color:#0b4a6c; }
.dc-status.status-won { background:var(--granny); color:#fff; }
.dc-status.status-lost { background:var(--smoke); color:#fff; }
.dc-status.status-on-hold { background:var(--salt); color:var(--anchor); border:1px solid var(--puff); }

.drawer-empty { font-size:12px; color:var(--smoke); font-style:italic; padding:8px 0; }

@media (max-width: 900px) {
  .podium { grid-template-columns:1fr; }
  .drawer-cols { grid-template-columns:1fr; gap:18px; }
  .roster { grid-template-columns:1fr; }
}


/* ===== STATS PAGE v3 — Hunt Board ===== */

/* Avatar guardrails — DEFENSIVE, !important so nothing else can break image sizing */
.avatarWrap { position:relative; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; overflow:hidden !important; flex-shrink:0; }
.avatarWrap img, .avatarWrap .personAvatar, .avatarWrap .podiumAvatar, .avatarWrap .profileAvatar {
  width:100% !important; height:100% !important; max-width:100% !important; max-height:100% !important;
  object-fit:cover !important; display:block !important;
}
.avatarWrap .avatarInitials { width:100%; height:100%; align-items:center; justify-content:center; color:#fff; font-weight:500; font-size:14px; }

/* Momentum strip */
.momentum-strip { display:flex; align-items:center; gap:10px; padding:10px 14px; background:linear-gradient(90deg, rgba(249,94,39,0.08) 0%, rgba(48,166,221,0.06) 100%); border-left:3px solid var(--cadmium); border-radius:8px; margin:14px 0 22px; font-size:13px; color:var(--diesel); }
.momentum-strip .momentum-icon { font-size:16px; flex-shrink:0; }
.momentum-strip .momentum-text strong { color:var(--cadmium); font-weight:500; }

/* Score card variants */
.bounty-headline { font-family:'Roboto Slab', serif; font-size:22px; font-weight:400; color:var(--cadmium); letter-spacing:-0.01em; }

/* Section heading */
.section-h { font-family:'Roboto Slab', serif; font-size:16px; font-weight:400; margin:24px 0 12px; color:var(--diesel); letter-spacing:-0.005em; }

/* === Podium (top 3) === */
.podium { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:14px; align-items:end; margin:0 0 24px; }
.podium[data-count="1"] { grid-template-columns:1fr; max-width:360px; margin-left:auto; margin-right:auto; }
.podium[data-count="2"] { grid-template-columns:1fr 1fr; }
.podiumCard { position:relative; background:#fff; border:1px solid var(--puff); border-radius:14px; text-align:center; cursor:pointer; transition:transform .15s, box-shadow .15s, border-color .15s; }
.podiumCard:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,0.08); border-color:var(--smoke); }
.podiumCard.open { border-color:var(--cadmium); box-shadow:0 0 0 2px rgba(249,94,39,0.18); }
.podiumCard.rank-1 { padding:60px 18px 28px; min-height:340px; background:linear-gradient(180deg, #fff 0%, rgba(245,158,11,0.08) 100%); border-color:rgba(245,158,11,0.45); }
.podiumCard.rank-2 { padding:48px 14px 16px; min-height:280px; background:linear-gradient(180deg, #fff 0%, rgba(138,148,153,0.06) 100%); border-color:rgba(138,148,153,0.35); }
.podiumCard.rank-3 { padding:44px 12px 14px; min-height:230px; background:linear-gradient(180deg, #fff 0%, rgba(180,83,9,0.06) 100%); border-color:rgba(180,83,9,0.30); }
.podiumMedal { position:absolute; top:-12px; left:50%; transform:translateX(-50%); font-size:30px; line-height:1; background:#fff; border-radius:50%; width:48px; height:48px; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,0.10); }
.podiumRank { font-size:10px; text-transform:uppercase; letter-spacing:0.1em; color:var(--smoke); font-weight:500; margin-bottom:10px; }
.podiumCard .avatarWrap { margin:0 auto 10px; }
.podiumName { font-family:'Roboto Slab', serif; font-size:15px; font-weight:400; margin-bottom:8px; }
.podiumCard.rank-1 .podiumName { font-size:17px; }
.podiumScore { display:flex; flex-direction:column; align-items:center; gap:2px; margin-bottom:6px; }
.podiumScore .ps-val { font-family:'Roboto Slab', serif; font-size:26px; font-weight:500; color:var(--cadmium); line-height:1; }
.podiumCard.rank-1 .podiumScore .ps-val { font-size:32px; }
.podiumScore .ps-lbl { font-size:9px; text-transform:uppercase; letter-spacing:0.1em; color:var(--smoke); font-weight:500; }
.podiumStats { font-size:11px; color:var(--smoke); margin-bottom:10px; }
.podiumBadges { display:flex; flex-wrap:wrap; gap:4px; justify-content:center; }
.podiumBadges.empty { font-size:11px; color:var(--smoke); font-style:italic; }

/* === Full standings table === */
.standings { background:#fff; border:1px solid var(--puff); border-radius:12px; overflow:hidden; margin-bottom:8px; }
.personRow {
  display:grid;
  grid-template-columns: 50px minmax(180px, 1.5fr) 70px 70px 70px 80px 60px minmax(140px, 1.4fr);
  align-items:center;
  gap:14px;
  padding:11px 16px;
  border-bottom:1px solid var(--puff);
  transition:background .12s;
}
.personRow:last-child { border-bottom:0; }
.standings-header { background:var(--salt); font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:var(--smoke); font-weight:500; padding-top:9px; padding-bottom:9px; }
.standings-header > div { text-align:right; }
.standings-header > div:nth-child(1), .standings-header > div:nth-child(2), .standings-header > div:nth-child(8) { text-align:left; }
.standings-row { cursor:pointer; }
.standings-row:hover { background:var(--salt); }
.standings-row.open { background:rgba(249,94,39,0.04); border-left:3px solid var(--cadmium); padding-left:13px; }
.s-rank { font-family:'Roboto Slab', serif; font-size:16px; font-weight:500; color:var(--smoke); }
.standings-row:nth-child(2) .s-rank { color:#a86200; }
.standings-row:nth-child(3) .s-rank { color:#52595c; }
.standings-row:nth-child(4) .s-rank { color:#a8530a; }
.s-player { display:flex; align-items:center; gap:10px; min-width:0; }
.s-player strong { font-size:13px; font-weight:500; color:var(--diesel); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.s-num { text-align:right; font-family:'Roboto Slab', serif; font-weight:500; font-size:15px; color:var(--diesel); }
.s-num.s-score { color:var(--cadmium); font-size:17px; }
.s-badges { display:flex; flex-wrap:wrap; gap:3px; align-items:center; min-width:0; }

/* === Badge chips with rarity === */
.badgeChip {
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 12px 5px 9px;
  border-radius:999px;
  font-size:11px; font-weight:500; letter-spacing:0.01em;
  line-height:1.4; cursor:help;
  position:relative; white-space:nowrap;
  border:1px solid transparent;
  transition:transform .08s, box-shadow .12s;
}
.badgeChip:hover { transform:translateY(-1px); box-shadow:0 2px 6px rgba(0,0,0,0.08); }
.badgeChip .badgeIcon { font-size:14px; line-height:1; }
.badgeChip .badgeLabel { white-space:nowrap; }
.badgeChip.badge-more { background:transparent; color:var(--smoke); border:none; padding:5px 6px; }

/* Per-badge tag colors — vibrant but not overpowering */
.badgeChip.tag-pink    { background:#FCE7F3; color:#9D174D; border-color:#FBCFE8; }
.badgeChip.tag-amber   { background:#FEF3C7; color:#92400E; border-color:#FDE68A; }
.badgeChip.tag-teal    { background:#CCFBF1; color:#115E59; border-color:#99F6E4; }
.badgeChip.tag-sky     { background:#DBEAFE; color:#1E40AF; border-color:#BFDBFE; }
.badgeChip.tag-violet  { background:#EDE9FE; color:#5B21B6; border-color:#DDD6FE; }
.badgeChip.tag-gold    { background:#FEF3C7; color:#854D0E; border-color:#FDE68A; font-weight:600; }
.badgeChip.tag-silver  { background:#E5E7EB; color:#374151; border-color:#D1D5DB; }
.badgeChip.tag-leaf    { background:#DCFCE7; color:#166534; border-color:#BBF7D0; }
.badgeChip.tag-emerald { background:#D1FAE5; color:#065F46; border-color:#A7F3D0; }
.badgeChip.tag-mint    { background:#ECFDF5; color:#047857; border-color:#A7F3D0; }
.badgeChip.tag-rose    { background:#FFE4E6; color:#9F1239; border-color:#FECDD3; }
.badgeChip.tag-coral   { background:#FFEDD5; color:#9A3412; border-color:#FED7AA; }
.badgeChip.tag-flame   { background:#FFE4D6; color:#C2410C; border-color:#FECACA; }
.badgeChip.tag-mocha   { background:#F5F1EB; color:#78350F; border-color:#E7E0D2; }
.badgeChip.tag-crown   { background:linear-gradient(135deg, #FDE68A, #FCA5A5); color:#92400E; border-color:#FBBF24; font-weight:700; box-shadow:0 1px 3px rgba(251,191,36,0.25); }

.badgeChip.is-elite     { box-shadow:0 1px 4px rgba(0,0,0,0.08); }
.badgeChip.is-legendary { box-shadow:0 2px 6px rgba(251,191,36,0.30); font-weight:600; }
.badgeChip[data-tip]:hover::after {
  content:attr(data-tip);
  position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%);
  background:var(--diesel); color:#fff; padding:6px 10px; border-radius:6px;
  font-size:11px; font-weight:400; white-space:nowrap; pointer-events:none; z-index:50;
  box-shadow:0 4px 12px rgba(0,0,0,0.15);
}

/* === Ready to jump in (zero-claim folks) === */
.zero-section { margin-top:32px; padding:18px 20px; background:var(--salt); border-radius:12px; }
.zero-section .section-h { margin-top:0; }
.zero-sub { font-size:12px; color:var(--smoke); margin:0 0 12px; }
.zero-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:8px; }
.zero-card { display:flex; align-items:center; gap:10px; padding:10px 12px; background:#fff; border:1px solid var(--puff); border-radius:10px; cursor:pointer; opacity:0.85; transition:opacity .12s, transform .12s, border-color .12s; }
.zero-card:hover { opacity:1; border-color:var(--cadmium); transform:translateY(-1px); }
.zero-meta { min-width:0; }
.zero-name { font-size:13px; font-weight:500; color:var(--diesel); }
.zero-cta { font-size:10px; color:var(--smoke); margin-top:1px; }

/* === Profile drawer (expanded inline in standings) === */
.profile-drawer { background:var(--salt); padding:22px 26px 26px; border-top:1px solid var(--puff); border-bottom:1px solid var(--puff); position:relative; }
.drawer-close { position:absolute; top:12px; right:14px; background:none; border:none; cursor:pointer; font-size:16px; color:var(--smoke); padding:6px 10px; border-radius:6px; transition:background .12s; }
.drawer-close:hover { background:#fff; color:var(--diesel); }
.drawer-header { display:flex; align-items:center; gap:16px; margin-bottom:18px; padding-right:40px; }
.drawer-name-wrap { min-width:0; flex:1; }
.drawer-name { font-family:'Roboto Slab', serif; font-size:22px; font-weight:400; color:var(--diesel); margin-bottom:2px; }
.drawer-sub { font-size:12px; color:var(--smoke); }
.drawer-sub strong { color:var(--cadmium); font-family:'Roboto Slab', serif; font-weight:500; }
.drawer-top-badge { margin-top:8px; }
.drawer-cols { display:grid; grid-template-columns:1fr 1.4fr 1.3fr; gap:24px; }
.drawer-col { min-width:0; }
.drawer-h { font-size:11px; text-transform:uppercase; letter-spacing:0.1em; color:var(--smoke); font-weight:500; margin-bottom:10px; }
.drawer-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.dg-cell { background:#fff; border-radius:8px; padding:10px 12px; border:1px solid var(--puff); }
.dg-num { font-family:'Roboto Slab', serif; font-size:20px; font-weight:500; color:var(--diesel); line-height:1; }
.dg-lbl { font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:var(--smoke); margin-top:4px; }
.bg-group { margin-bottom:14px; }
.bg-group:last-child { margin-bottom:0; }
.bg-h { font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:var(--smoke); font-weight:500; margin-bottom:6px; }
.bg-row { display:flex; flex-wrap:wrap; gap:6px; }
.drawer-claims { display:flex; flex-direction:column; gap:6px; max-height:340px; overflow-y:auto; padding-right:4px; }
.drawer-claim { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; padding:10px 12px; background:#fff; border:1px solid var(--puff); border-radius:8px; cursor:pointer; transition:border-color .12s; }
.drawer-claim:hover { border-color:var(--cadmium); }
.dc-body { flex:1; min-width:0; }
.dc-title { font-size:12px; font-weight:500; color:var(--diesel); margin-bottom:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dc-meta { font-size:11px; color:var(--smoke); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dc-status { font-size:10px; padding:3px 8px; border-radius:10px; font-weight:500; text-transform:uppercase; letter-spacing:0.05em; flex-shrink:0; display:inline-block; }
.drawer-empty { font-size:12px; color:var(--smoke); font-style:italic; padding:8px 0; }

/* Responsive */
@media (max-width: 900px) {
  .podium { grid-template-columns:1fr; }
  .drawer-cols { grid-template-columns:1fr; gap:18px; }
  .personRow { grid-template-columns:40px minmax(140px, 1fr) 56px 56px 56px 56px 50px; padding:10px 12px; gap:8px; }
  .standings-header > div:nth-child(8), .standings-row .s-badges { display:none; }
}

.footer-disclosure { margin-top:40px; font-size:11px; color:var(--smoke); }
.footer-disclosure summary { cursor:pointer; padding:8px 0; color:var(--smoke); font-weight:500; letter-spacing:0.05em; }
.footer-disclosure summary:hover { color:var(--diesel); }
.footer-disclosure .foo

/* ===== Top-right user menu ===== */
.header-right { display:flex; align-items:center; gap:16px; }
.user-menu { display:flex; align-items:center; gap:8px; position:relative; }
.bell-btn { background:none; border:none; cursor:pointer; padding:8px; border-radius:50%; position:relative; transition:background .12s; font-size:18px; line-height:1; }
.bell-btn:hover { background:var(--salt); }
.bell-icon { font-size:18px; line-height:1; filter:grayscale(0.3); }
.bell-badge { position:absolute; top:2px; right:2px; background:var(--cadmium); color:#fff; font-size:10px; font-weight:600; min-width:18px; height:18px; padding:0 5px; border-radius:9px; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px #fff; }
.profile-btn { display:flex; align-items:center; gap:6px; background:none; border:1px solid var(--puff); border-radius:24px; padding:4px 10px 4px 4px; cursor:pointer; transition:border-color .12s, background .12s; }
.profile-btn:hover { border-color:var(--cadmium); background:var(--salt); }
.profile-avatar-wrap { display:inline-flex; width:32px; height:32px; border-radius:50%; overflow:hidden; flex-shrink:0; }
.profile-avatar { display:inline-flex; width:100%; height:100%; align-items:center; justify-content:center; color:#fff; font-size:12px; font-weight:500; }
.profile-avatar img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.profile-caret { font-size:11px; color:var(--smoke); }
.user-dropdown { position:absolute; top:calc(100% + 6px); right:0; min-width:220px; background:#fff; border:1px solid var(--puff); border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,0.10); padding:6px; z-index:200; }
.dd-item { display:flex; align-items:center; gap:10px; width:100%; background:none; border:none; padding:9px 12px; font:inherit; font-size:13px; color:var(--diesel); cursor:pointer; border-radius:6px; text-align:left; }
.dd-item:hover { background:var(--salt); color:var(--cadmium); }
.dd-icon { font-size:14px; line-height:1; }
.dd-count { background:var(--cadmium); color:#fff; font-size:10px; font-weight:600; padding:1px 6px; border-radius:8px; margin-left:auto; }
.dd-divider { height:1px; background:var(--puff); margin:4px 0; }
.dd-signout { color:var(--smoke); }
.dd-signout:hover { background:rgba(244,63,94,0.08); color:#a8253d; }

/* ===== Comment composer avatar fix ===== */
.comment-composer > .avatar {
  width:36px !important; height:36px !important; min-width:36px !important; min-height:36px !important; max-width:36px !important; max-height:36px !important;
  flex:0 0 36px !important;
  border-radius:50% !important; overflow:hidden !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  color:#fff; font-weight:500; font-size:13px; line-height:1;
}
.comment-composer > .avatar img,
.comment-composer > .avatar img.claim-photo {
  width:100% !important; height:100% !important; max-width:100% !important; max-height:100% !important;
  object-fit:cover !important; display:block !important; border-radius:50% !important;
}

/* ===== Profile modal ===== */
.profile-modal-inner { max-width:560px; }
.profile-modal-inner h3 { margin:0 0 18px; font-family:'Roboto Slab',serif; font-weight:400; }
.profile-row { display:grid; grid-template-columns:160px 1fr; gap:24px; }
.profile-photo-block { display:flex; flex-direction:column; align-items:center; gap:10px; }
.profile-photo-current { position:relative; width:120px; height:120px; border-radius:50%; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,0.08); }
.profile-photo-current img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.profile-photo-initials { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:38px; font-weight:500; }
.profile-upload-btn { font-size:12px; padding:6px 12px; cursor:pointer; }
.profile-photo-hint { font-size:11px; color:var(--smoke); text-align:center; }
.profile-fields { display:flex; flex-direction:column; gap:6px; }
.profile-fields label { font-size:11px; color:var(--anchor); text-transform:uppercase; letter-spacing:0.06em; font-weight:500; margin-top:8px; }
.profile-fields label:first-child { margin-top:0; }
.profile-fields .profile-hint { color:var(--smoke); font-weight:400; text-transform:none; letter-spacing:0; font-size:11px; margin-left:6px; }
.profile-fields input { font:inherit; font-size:13px; padding:9px 12px; border:1px solid var(--puff); border-radius:6px; background:#fff; color:var(--diesel); }
.profile-fields input:focus { outline:2px solid var(--cadmium); outline-offset:1px; border-color:var(--cadmium); }
.profile-fields input:disabled { background:var(--salt); color:var(--anchor); cursor:not-allowed; }
.profile-actions { margin-top:14px; display:flex; justify-content:flex-end; }
.profile-err { font-size:12px; color:var(--cadmium); margin:6px 0 0; min-height:16px; }
.modal-close { position:absolute; top:14px; right:14px; background:none; border:none; cursor:pointer; font-size:16px; color:var(--smoke); padding:6px 10px; border-radius:6px; transition:background .12s; }
.modal-close:hover { background:var(--salt); color:var(--diesel); }
.modal { position:relative; }

/* ===== Notifications modal ===== */
.notifs-modal-inner { max-width:520px; max-height:80vh; display:flex; flex-direction:column; }
.notifs-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; gap:12px; padding-right:30px; }
.notifs-head h3 { margin:0; font-family:'Roboto Slab',serif; font-weight:400; }
.btn-tiny { font-size:11px; padding:4px 10px; }
.notifs-list { flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:6px; padding-right:4px; }
.notif-empty { font-size:12px; color:var(--smoke); padding:18px 0; text-align:center; font-style:italic; }
.notif-item { position:relative; display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border-radius:8px; cursor:pointer; transition:background .12s; border:1px solid transparent; }
.notif-item:hover { background:var(--salt); border-color:var(--puff); }
.notif-item.unread { background:rgba(48,166,221,0.06); border-color:rgba(48,166,221,0.18); }
.notif-item .avatar { width:36px !important; height:36px !important; flex:0 0 36px !important; border-radius:50% !important; overflow:hidden !important; display:flex !important; align-items:center; justify-content:center; color:#fff; font-weight:500; font-size:13px; }
.notif-item .avatar img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.notif-body { flex:1; min-width:0; }
.notif-line { font-size:13px; color:var(--diesel); }
.notif-line strong { font-weight:500; }
.notif-line em { color:var(--smoke); font-style:normal; }
.notif-snippet { font-size:12px; color:var(--anchor); margin-top:3px; line-height:1.4; }
.notif-when { font-size:11px; color:var(--smoke); margin-top:4px; }
.notif-dot { position:absolute; top:14px; right:14px; width:8px; height:8px; border-radius:50%; background:var(--cadmium); }

@media (max-width: 640px) {
  .profile-row { grid-template-columns:1fr; gap:16px; }
  .user-dropdown { right:-8px; }
}


/* ===== @mention autocomplete dropdown ===== */
.mention-dropdown { position:absolute; z-index:300; background:#fff; border:1px solid var(--puff); border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,0.12); padding:4px; max-height:280px; overflow-y:auto; }
.mention-item { display:flex; align-items:center; gap:10px; padding:6px 10px; border-radius:6px; cursor:pointer; }
.mention-item:hover, .mention-item.selected { background:rgba(249,94,39,0.10); }
.mention-avatar { display:inline-flex; width:24px !important; height:24px !important; flex:0 0 24px !important; border-radius:50%; overflow:hidden; }
.mention-avatar img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.mention-initials { display:inline-flex; width:100%; height:100%; align-items:center; justify-content:center; color:#fff; font-size:10px; font-weight:500; }
.mention-name { font-size:13px; color:var(--diesel); }
.mention-name strong { font-weight:500; }
.mention-name .mention-last { color:var(--smoke); font-weight:400; margin-left:4px; }


/* ===== Add-RFP button + modal ===== */
.controls-spacer { flex:1 1 auto; }
.add-rfp-btn { font-size:12px; padding:8px 16px; flex-shrink:0; white-space:nowrap; }
.new-rfp-modal-inner { max-width:600px; }
.new-rfp-modal-inner h3 { margin:0 0 4px; font-family:'Roboto Slab',serif; font-weight:400; }
.modal-sub { font-size:12px; color:var(--smoke); margin:0 0 16px; }
.new-rfp-form { display:flex; flex-direction:column; gap:10px; }
.nr-row { display:flex; flex-direction:column; gap:4px; }
.nr-cols { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.nr-row label { font-size:11px; color:var(--anchor); text-transform:uppercase; letter-spacing:0.06em; font-weight:500; }
.nr-row .nr-req { color:var(--cadmium); font-weight:600; }
.nr-row .nr-hint { color:var(--smoke); font-weight:400; text-transform:none; letter-spacing:0; font-size:10px; }
.nr-row input, .nr-row select, .nr-row textarea { font:inherit; font-size:13px; padding:9px 12px; border:1px solid var(--puff); border-radius:6px; background:#fff; color:var(--diesel); font-family:inherit; resize:vertical; }
.nr-row input:focus, .nr-row select:focus, .nr-row textarea:focus { outline:2px solid var(--cadmium); outline-offset:1px; border-color:var(--cadmium); }

/* User-added RFP card accent */
.card.user-added-card { border-left:3px solid var(--lapis); }
.pill.user-added-pill { background:rgba(48,166,221,0.14); color:#1c79a8; border:1px dashed rgba(48,166,221,0.4); padding:3px 9px; }

.nr-claim-row { background:rgba(48,166,221,0.06); padding:10px 12px; border-radius:8px; border:1px solid rgba(48,166,221,0.20); margin-top:4px; }
.nr-checkbox { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--diesel); cursor:pointer; text-transform:none; letter-spacing:0; font-weight:400; }
.nr-checkbox input[type=checkbox] { margin:0; cursor:pointer; }

.comments.comments-empty { padding-top:0 !important; border-top:0 !important; margin-top:0 !important; }
.comments.comments-empty .comment-composer { border-top:0 !important; padding-top:8px !important; margin-top:0 !important; }

body.locked .welcome-bar, body.locked .user-menu { display:none !important; }
.user-menu { display:flex; }

/* Subtle grade tint on Open cards */
.card.tint-g-granny { background:rgba(41,174,110,0.04); }
.card.tint-g-lapis  { background:rgba(48,166,221,0.04); }
.card.tint-g-smoke  { background:rgba(124,124,124,0.04); }
.card.tint-g-var    { background:rgba(116,57,128,0.04); }
.card.top.tint-g-granny, .card.top.tint-g-lapis, .card.top.tint-g-smoke, .card.top.tint-g-var {
  background:linear-gradient(180deg, rgba(249,94,39,0.05) 0%, #fff 60%);
}

.pill.pill-delete { background:rgba(244,63,94,0.10); color:#a8253d; border:1px dashed rgba(244,63,94,0.30); padding:3px 9px; cursor:pointer; font:inherit; font-size:11px; font-weight:500; }
.pill.pill-delete:hover { background:rgba(244,63,94,0.18); color:#7f1d1d; border-color:rgba(244,63,94,0.6); }


/* ===== Mobile polish ===== */
@media (max-width: 720px) {
  /* Tighten the shell */
  .shell { padding:18px 12px 80px; }
  .header { gap:12px; }
  h1 { font-size:24px; }
  .subtitle { font-size:13px; }
  .header-right { gap:8px; }
  .acro-logo { width:96px; }
  .user-dropdown { right:0; min-width:200px; max-width:calc(100vw - 24px); }

  /* Welcome bar wraps cleanly */
  .welcome-bar { padding:8px 10px; font-size:12px; gap:6px; }
  .welcome-bar .stat { font-size:11px; }

  /* Tabs scroll horizontally if they overflow */
  .tabs { overflow-x:auto; flex-wrap:nowrap; gap:2px; padding-bottom:2px; -webkit-overflow-scrolling:touch; }
  .tab { flex-shrink:0; font-size:12px; padding:10px 12px; }

  /* Metric cards on Open: smaller, snug */
  .metric-grid { grid-template-columns:repeat(2, 1fr); gap:8px; }
  .metric, .metric-btn { padding:12px 14px; }
  .metric .val { font-size:22px; }
  .metric .lbl { font-size:10px; }

  /* Controls wrap and the Add-RFP button drops to its own row */
  .controls { padding:10px 12px; gap:10px; }
  .controls label, .show-hidden-lbl { font-size:10px; gap:6px; }
  .controls input[type="search"] { width:100%; min-width:0; }
  .add-rfp-btn { width:100%; }
  .controls-spacer { flex-basis:100%; height:0; }

  /* Card padding shrink */
  .card { padding:14px 16px; margin-bottom:10px; }
  .grade { font-size:34px; min-width:48px; }
  .card-head { gap:12px; }
  .card-right { gap:4px; }
  .days { font-size:10px; padding:4px 8px; }

  /* Claim modal + new RFP modal full-screen on mobile */
  .modal-bg { padding:0; align-items:flex-start; }
  .modal { width:100%; max-width:100%; min-height:100vh; border-radius:0; padding:18px 16px 30px; }
  .new-rfp-modal-inner, .profile-modal-inner, .notifs-modal-inner { max-width:100%; }
  .modal-close { top:10px; right:10px; }
  .profile-row { grid-template-columns:1fr; gap:14px; }
  .profile-photo-block { flex-direction:row; gap:14px; align-items:center; }
  .profile-photo-current { width:80px; height:80px; }
  .nr-cols { grid-template-columns:1fr; gap:8px; }

  /* Comment composer */
  .comment-composer { gap:8px; padding-top:10px; }
  .comment-composer > .avatar { width:32px !important; height:32px !important; min-width:32px !important; min-height:32px !important; max-width:32px !important; max-height:32px !important; flex:0 0 32px !important; }
  .comment-input { font-size:14px; }
  .composer-row { flex-wrap:wrap; gap:8px; }

  /* Mention dropdown stays inside viewport */
  .mention-dropdown { width:calc(100vw - 24px) !important; max-width:320px; left:12px !important; }

  /* Scoreboard on Stats: 2 columns on mobile */
  .scoreboard { grid-template-columns:repeat(2, 1fr); gap:8px; }
  .score-card { padding:14px 16px; }
  .score-val { font-size:26px; }

  /* PODIUM: re-stack 1st > 2nd > 3rd on mobile (visual order matches rank) */
  .podium { grid-template-columns:1fr !important; align-items:stretch !important; gap:10px; }
  .podiumCard { min-height:0 !important; padding:30px 14px 16px !important; }
  .podiumCard.rank-1 { order:1; padding:36px 16px 20px !important; }
  .podiumCard.rank-2 { order:2; padding:30px 14px 16px !important; }
  .podiumCard.rank-3 { order:3; padding:28px 14px 14px !important; }

  /* Standings table: hide low-priority columns + simpler grid */
  .standings { overflow-x:auto; }
  .personRow { grid-template-columns:36px minmax(140px, 1fr) 56px 50px 50px 50px !important; gap:8px; padding:10px 12px; }
  .standings-header > div:nth-child(7), .standings-header > div:nth-child(8) { display:none; }
  .personRow .s-num:nth-child(7), .personRow .s-badges { display:none; }
  .s-player strong { font-size:12px; }

  /* Profile drawer collapses to single column */
  .drawer-cols { grid-template-columns:1fr; gap:14px; }
  .drawer-header { gap:12px; }
  .drawer-name { font-size:18px; }
  .drawer-grid { grid-template-columns:repeat(3, 1fr); }
  .dg-num { font-size:16px; }

  /* Ready to jump in: 2 cols */
  .zero-grid { grid-template-columns:repeat(2, 1fr); }

  /* Notifications panel */
  .notifs-modal-inner { max-height:none; }

  /* User-menu dropdown anchored under bell on small screens */
  .user-dropdown { top:calc(100% + 8px); }
}

@media (max-width: 440px) {
  .metric-grid { grid-template-columns:1fr 1fr; }
  .scoreboard { grid-template-columns:1fr 1fr; }
  .face-grid { grid-template-columns:repeat(4, 1fr); }
  .zero-grid { grid-template-columns:1fr; }
  .drawer-grid { grid-template-columns:repeat(2, 1fr); }
  .personRow { grid-template-columns:32px 1fr 46px 44px 44px !important; }
  .personRow .s-num:nth-child(5), .personRow .s-num:nth-child(6) { display:none; }
  .standings-header > div:nth-child(5), .standings-header > div:nth-child(6) { display:none; }
}


/* ===== Button hierarchy (v2 — site-wide consistent) ===== */
.btn {
  font:inherit; font-size:13px; font-weight:500;
  padding:9px 16px; border-radius:6px;
  cursor:pointer; transition:background .15s, border-color .15s, color .15s, box-shadow .15s;
  display:inline-flex; align-items:center; gap:6px; line-height:1.2;
  text-decoration:none;
  border:1px solid var(--puff);
  background:transparent;
  color:var(--diesel);
  white-space:nowrap;
}
.btn:hover { background:var(--salt); border-color:var(--smoke); color:var(--diesel); }

/* PRIMARY — solid cadmium, ONE per context (use sparingly) */
.btn-primary { background:var(--cadmium) !important; color:#fff !important; border-color:var(--cadmium) !important; }
.btn-primary:hover { background:#e0541f !important; border-color:#e0541f !important; color:#fff !important; }

/* SECONDARY — outlined cadmium */
.btn-secondary { background:transparent !important; color:var(--cadmium) !important; border:1px solid var(--cadmium) !important; }
.btn-secondary:hover { background:rgba(249,94,39,0.08) !important; color:var(--cadmium) !important; border-color:var(--cadmium) !important; }

/* CLAIM — solid lapis, the dedicated "make this yours" action */
.btn-claim { background:var(--lapis) !important; color:#fff !important; border-color:var(--lapis) !important; }
.btn-claim:hover { background:#1e8cc4 !important; border-color:#1e8cc4 !important; color:#fff !important; }

/* GHOST — neutral, low-emphasis */
.btn-ghost { background:transparent !important; color:var(--anchor) !important; border:1px solid var(--puff) !important; }
.btn-ghost:hover { background:var(--salt) !important; border-color:var(--smoke) !important; color:var(--diesel) !important; }

/* LINK — text-only minor actions (Bad fit / Hide / etc) */
.btn-link { background:transparent !important; color:var(--smoke) !important; border:none !important; padding:6px 10px !important; font-size:12px !important; }
.btn-link:hover { color:var(--cadmium) !important; background:var(--salt) !important; }

/* Tiny variant for inline-row helpers */
.btn-tiny { font-size:11px !important; padding:5px 10px !important; }


/* ===== Mobile viewport guardrails ===== */
html, body { max-width:100vw; overflow-x:hidden; }
.shell { width:100%; box-sizing:border-box; }
.tabs { max-width:100%; }
.standings, .leaderboard, .scoreboard, .metric-grid, .roster, .zero-grid, .drawer-cols, .drawer-grid, .podium { max-width:100%; }
/* modal max-width now scoped to mobile breakpoint only */
input, select, textarea, button { max-width:100%; box-sizing:border-box; }
.card { word-wrap:break-word; overflow-wrap:anywhere; }
.card-head .meta { min-width:0; overflow-wrap:anywhere; }
.notif-line, .notif-snippet, .dc-title, .dc-meta, .drawer-name, .drawer-sub, .roster-name { overflow-wrap:anywhere; }
.user-dropdown { max-width:calc(100vw - 24px); }
.mention-dropdown { max-width:calc(100vw - 24px); }

/* ===== Mobile header tightening ===== */
@media (max-width: 720px) {
  .header { gap:8px; flex-wrap:nowrap; align-items:center; }
  .header-left { flex:1 1 auto; min-width:0 !important; }
  .header-right { gap:8px; flex-shrink:1; min-width:0; }
  .acro-logo { width:80px; }
  h1 { font-size:22px; word-break:break-word; }
  .meta-line { font-size:11px; }
  .user-menu { gap:4px; }
  .bell-btn { padding:6px; }
  .profile-btn { padding:3px 8px 3px 3px; gap:4px; }
  .profile-avatar-wrap { width:28px; height:28px; }
}
@media (max-width: 440px) {
  .acro-logo { width:64px; }
  h1 { font-size:18px; }
  .meta-line { font-size:10px; }
  .profile-caret { display:none; }
  .header-left { min-width:0 !important; flex:1 1 100px; }
}


/* ===== Today's sign-ins modal ===== */
.stat-btn { background:none; border:none; cursor:pointer; font:inherit; font-size:12px; color:var(--smoke); padding:4px 8px; border-radius:6px; transition:background .12s, color .12s; }
.stat-btn:hover { background:var(--salt); color:var(--diesel); }
.stat-btn strong { color:var(--diesel); font-weight:500; font-family:'Roboto Slab',serif; margin-right:3px; }
.today-logins-modal-inner { max-width:480px; max-height:80vh; display:flex; flex-direction:column; }
.today-logins-modal-inner h3 { margin:0 0 16px; font-family:'Roboto Slab',serif; font-weight:400; }
.today-logins-body { flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:18px; }
.tl-section .tl-h { font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--smoke); font-weight:500; margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.tl-section .tl-count { background:var(--cadmium); color:#fff; font-size:10px; font-weight:600; padding:2px 7px; border-radius:8px; }
.tl-list { display:flex; flex-direction:column; gap:4px; }
.tl-row { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px; background:var(--salt); }
.tl-row .avatar { width:32px !important; height:32px !important; flex:0 0 32px !important; border-radius:50% !important; overflow:hidden !important; display:inline-flex !important; align-items:center; justify-content:center; color:#fff; font-weight:500; font-size:12px; }
.tl-row .avatar img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.tl-name { flex:1; min-width:0; font-size:13px; color:var(--diesel); font-weight:500; }
.tl-when { font-size:11px; color:var(--smoke); }
.tl-count-chip { background:var(--granny); color:#fff; font-size:11px; font-weight:500; padding:2px 8px; border-radius:10px; white-space:nowrap; }
.tl-empty { font-size:12px; color:var(--smoke); font-style:italic; padding:6px 10px; }


/* ===== Feedback overview modal ===== */
.feedback-modal-inner { max-width:560px; max-height:80vh; display:flex; flex-direction:column; }
.feedback-modal-inner h3 { margin:0 0 4px; font-family:'Roboto Slab',serif; font-weight:400; }
.fb-overview { flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:18px; }
.fb-section .fb-h { font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--smoke); font-weight:500; margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.fb-section .fb-count { background:var(--cadmium); color:#fff; font-size:10px; font-weight:600; padding:2px 7px; border-radius:8px; }
.fb-section .fb-count-zero { background:var(--puff); color:var(--smoke); }
.fb-items { display:flex; flex-direction:column; gap:6px; }
.fb-item { padding:10px 12px; border-radius:8px; background:var(--salt); border:1px solid var(--puff); }
.fb-item-bad { border-left:3px solid var(--cadmium); }
.fb-title { font-size:13px; font-weight:500; color:var(--diesel); display:flex; align-items:center; gap:8px; margin-bottom:2px; }
.fb-fit { font-family:'Roboto Slab',serif; font-size:11px; color:var(--smoke); }
.fb-meta { font-size:11px; color:var(--smoke); margin-bottom:4px; }
.fb-reason { font-size:12px; color:var(--anchor); font-style:italic; line-height:1.4; }
.fb-reason-none { color:var(--smoke); }
.fb-empty { font-size:12px; color:var(--smoke); font-style:italic; padding:6px 0; }
.fb-footer { margin-top:6px; display:flex; justify-content:flex-end; }

/* ===== Hard viewport clamp (no horizontal scroll) ===== */
html, body { width:100%; overflow-x:hidden; }
@media (max-width: 720px) {
  .shell { max-width:100vw !important; width:100%; }
  .modal-bg { width:100vw; max-width:100vw; }
  /* Anything with position:fixed/absolute can't overflow viewport */
  .user-dropdown, .mention-dropdown, .modal { max-width:calc(100vw - 16px); }
}

.fb-item-comment { cursor:pointer; transition:border-color .12s, background .12s; }
.fb-item-comment:hover { border-color:var(--cadmium); background:#fff; }
.fb-comment-head { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.fb-comment-head .avatar { width:28px !important; height:28px !important; flex:0 0 28px !important; border-radius:50% !important; overflow:hidden !important; display:inline-flex !important; align-items:center; justify-content:center; color:#fff; font-weight:500; font-size:11px; }
.fb-comment-head .avatar img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.fb-comment-meta { font-size:12px; color:var(--diesel); min-width:0; }
.fb-comment-meta strong { font-weight:500; }
.fb-comment-meta em { color:var(--smoke); font-style:normal; }
.fb-comment-meta .fb-when { color:var(--smoke); font-size:11px; }
.fb-comment-body { font-size:12px; color:var(--anchor); line-height:1.5; overflow-wrap:anywhere; }

.profile-prefs { display:flex; flex-direction:column; gap:8px; padding:10px 12px; background:var(--salt); border-radius:8px; }
.profile-pref { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--diesel); text-transform:none; letter-spacing:0; font-weight:400; cursor:pointer; }
.profile-pref input[type=checkbox] { margin:0; cursor:pointer; }
.profile-pref strong { font-weight:500; }
.win-loss-reason.inflight { background:rgba(48,166,221,0.08); border-left:3px solid var(--lapis); color:var(--diesel); }

/* Claim card wrapper (Active / Won / Lost) — shares the same card visual as Open cards */
.claim-card { background:#fff; border:1px solid var(--puff); border-radius:var(--radius); padding:18px 22px; margin-bottom:10px; transition:border-color .15s, box-shadow .15s; }
.claim-card:hover { border-color:var(--smoke); box-shadow:0 1px 3px rgba(38,40,47,0.06); }
.claim-card .claimed-row { padding:0; border-top:0; }
.claim-card .comments { margin-top:14px; padding-top:12px; border-top:1px solid var(--puff); }
.claim-card .comments.comments-empty { padding-top:8px; border-top:0; }

/* Desktop modal widths (override mobile fallbacks at >=721px) */
@media (min-width: 721px) {
  .profile-modal-inner { max-width:600px !important; }
  .notifs-modal-inner { max-width:520px !important; }
  .new-rfp-modal-inner { max-width:600px !important; }
  .today-logins-modal-inner { max-width:480px !important; }
  .feedback-modal-inner { max-width:560px !important; }
  .modal { max-width:600px !important; }
}
