/* ═══════════════════════════════════════════════════════
   TradeForge Pilot Operations — Role Guidance, Kickoff,
   Compliance, Cost Anchoring
   ═══════════════════════════════════════════════════════ */

/* ── Role Guidance Cards ── */
.tf-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}
.tf-role-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;display:flex;flex-direction:column;gap:14px}
.tf-role-card-head{display:flex;align-items:center;gap:12px}
.tf-role-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tf-role-icon svg{width:22px;height:22px}
.tf-role-icon.foreman{background:rgba(140,106,62,.15);color:var(--bronze)}
.tf-role-icon.pm{background:rgba(59,130,246,.12);color:#3b82f6}
.tf-role-icon.office{background:rgba(16,185,129,.12);color:#10b981}
.tf-role-card-head h3{font-size:17px;color:#fff;margin:0;font-weight:700}
.tf-role-card-head .tf-role-sub{font-size:12px;color:var(--muted);margin:0}
.tf-role-actions{display:flex;flex-direction:column;gap:8px;flex:1}
.tf-role-action{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:rgba(15,17,20,.3);border:1px solid rgba(181,183,185,.08);border-radius:10px;font-size:13px;color:var(--ash);line-height:1.45}
.tf-role-action svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:var(--bronze)}
.tf-role-action strong{color:#fff;font-weight:650}
.tf-role-cta{margin-top:auto;padding-top:6px}

/* ── Cost Anchoring ── */
.tf-cost-anchor{margin-top:10px;padding:12px 14px;background:rgba(140,106,62,.06);border:1px solid rgba(140,106,62,.2);border-radius:10px}
.tf-cost-label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.tf-cost-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0}
.tf-cost-row+.tf-cost-row{border-top:1px solid rgba(181,183,185,.06)}
.tf-cost-desc{font-size:13px;color:var(--ash)}
.tf-cost-range{font-size:13px;color:var(--muted);white-space:nowrap}
.tf-cost-tf{font-size:13px;font-weight:700;color:var(--bronze);white-space:nowrap}
.tf-cost-note{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.5}

/* ── Project Kickoff — Readiness Banner ── */
.tf-kickoff-readiness{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:linear-gradient(135deg,rgba(46,49,54,.55),rgba(30,32,35,.65));border:1px solid rgba(140,106,62,.18);border-radius:12px;margin-bottom:4px}
.tf-kickoff-readiness-left{display:flex;align-items:center;gap:12px}
.tf-kickoff-readiness-title{font-size:15px;font-weight:700;color:#fff}
.tf-kickoff-readiness-sub{font-size:12px;color:var(--muted);margin-top:2px}
.tf-kickoff-readiness-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.tf-kickoff-readiness-pct{font-size:22px;font-weight:800;letter-spacing:-.02em}
.tf-kickoff-readiness-label{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid;letter-spacing:.03em}

/* ── Progress Track ── */
.tf-kickoff-progress-track{height:4px;background:rgba(181,183,185,.1);border-radius:4px;margin-bottom:16px;overflow:hidden}
.tf-kickoff-progress-fill{height:100%;border-radius:4px;transition:width .4s ease}

/* ── Project Start Checklist ── */
.tf-start-checklist-count{font-size:12px;font-weight:650;color:var(--muted)}
.tf-start-checklist-list{display:grid;gap:8px}
.tf-start-check-btn{display:flex;align-items:center;gap:10px;width:100%;border:1px solid rgba(181,183,185,.08);background:rgba(15,17,20,.3);padding:10px 12px;border-radius:10px;color:var(--ash);text-align:left;cursor:pointer;transition:border-color .15s ease, background .15s ease}
.tf-start-check-btn:hover{border-color:rgba(140,106,62,.4);background:rgba(140,106,62,.08)}
.tf-start-check-btn.done{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.08);color:#fff}
.tf-start-check-btn svg{width:16px;height:16px;display:block}
.tf-start-check-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.tf-start-check-label{font-size:13px;font-weight:600;text-transform:capitalize}

/* ── Scope Summary ── */
.tf-kickoff-scope{padding:4px 0}
.tf-kickoff-scope-text{font-size:14px;color:var(--ash);line-height:1.65;margin-bottom:14px}
.tf-kickoff-scope-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.tf-kickoff-detail{display:flex;flex-direction:column;gap:3px;padding:10px 12px;background:rgba(15,17,20,.3);border:1px solid rgba(181,183,185,.06);border-radius:8px}
.tf-kickoff-detail-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.tf-kickoff-detail-value{font-size:13px;font-weight:600;color:#fff}

/* ── Trades Involved ── */
.tf-kickoff-trades-list{display:grid;gap:8px;padding:4px 0}
.tf-kickoff-trade-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(15,17,20,.3);border:1px solid rgba(181,183,185,.06);border-radius:10px}
.tf-kickoff-trade-info{flex:1;min-width:0}
.tf-kickoff-trade-info strong{font-size:13px;color:#fff;font-weight:700}
.tf-kickoff-trade-role{font-size:12px;color:var(--muted);margin-left:6px}
.tf-kickoff-trade-meta{display:flex;gap:12px;font-size:11px;color:var(--muted)}
.tf-kickoff-trade-phase{white-space:nowrap}
.tf-kickoff-trade-contact{white-space:nowrap}
.tf-kickoff-trade-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px;letter-spacing:.03em;flex-shrink:0;text-transform:uppercase}
.tf-kickoff-trade-active{background:rgba(16,185,129,.12);color:#10b981;border:1px solid rgba(16,185,129,.25)}
.tf-kickoff-trade-assigned{background:rgba(59,130,246,.1);color:#3b82f6;border:1px solid rgba(59,130,246,.2)}
.tf-kickoff-trade-pending{background:rgba(181,183,185,.08);color:var(--muted);border:1px solid rgba(181,183,185,.12)}

/* ── Timeline ── */
.tf-kickoff-timeline-dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding:4px 0}
.tf-kickoff-date-block{display:flex;flex-direction:column;gap:3px;padding:12px 14px;background:rgba(15,17,20,.3);border:1px solid rgba(181,183,185,.06);border-radius:10px}
.tf-kickoff-date-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.tf-kickoff-date-value{font-size:14px;font-weight:700;color:#fff}
.tf-kickoff-date-divider{display:none}
.tf-kickoff-phases-section{margin-top:16px;padding-top:14px;border-top:1px solid rgba(181,183,185,.06)}
.tf-kickoff-phases-section h4{font-size:13px;font-weight:700;color:#fff;margin:0 0 10px;display:flex;align-items:center;gap:6px}
.tf-kickoff-phase-summary{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.tf-kickoff-phase-chip{font-size:11px;font-weight:650;padding:3px 10px;border-radius:999px}
.tf-kickoff-phase-chip.completed{background:rgba(16,185,129,.1);color:#10b981;border:1px solid rgba(16,185,129,.2)}
.tf-kickoff-phase-chip.active{background:rgba(245,158,11,.1);color:#f59e0b;border:1px solid rgba(245,158,11,.2)}
.tf-kickoff-phase-chip.upcoming{background:rgba(181,183,185,.06);color:var(--muted);border:1px solid rgba(181,183,185,.1)}
.tf-kickoff-phase-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--ash)}
.tf-kickoff-phase-row+.tf-kickoff-phase-row{border-top:1px solid rgba(181,183,185,.04)}
.tf-kickoff-phase-name{font-weight:600;color:#fff;flex:1;min-width:0}
.tf-kickoff-phase-dates{font-size:11px;color:var(--muted);white-space:nowrap}

/* ── Access Notes ── */
.tf-kickoff-access-list{display:grid;gap:6px;padding:4px 0}
.tf-kickoff-access-row{display:flex;align-items:baseline;gap:10px;padding:8px 12px;background:rgba(15,17,20,.3);border:1px solid rgba(181,183,185,.06);border-radius:8px;font-size:13px}
.tf-kickoff-access-label{font-weight:700;color:var(--muted);min-width:110px;flex-shrink:0;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.tf-kickoff-access-value{color:var(--ash);line-height:1.5}

/* ── Risk Register ── */
.tf-kickoff-risk-list{display:grid;gap:6px;padding:4px 0}
.tf-kickoff-risk-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(15,17,20,.3);border:1px solid rgba(181,183,185,.06);border-radius:8px;font-size:13px;color:var(--ash)}
.tf-kickoff-risk-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px;flex-shrink:0;letter-spacing:.03em;text-transform:uppercase}
.tf-risk-high{background:rgba(239,68,68,.12);color:#ef4444;border:1px solid rgba(239,68,68,.25)}
.tf-risk-medium{background:rgba(245,158,11,.1);color:#f59e0b;border:1px solid rgba(245,158,11,.2)}
.tf-risk-low{background:rgba(59,130,246,.1);color:#3b82f6;border:1px solid rgba(59,130,246,.2)}
.tf-risk-noted{background:rgba(181,183,185,.08);color:var(--muted);border:1px solid rgba(181,183,185,.12)}
.tf-kickoff-risk-count{font-size:12px;font-weight:650;color:var(--muted);margin-left:auto}

/* ── Kickoff Checklist ── */
.tf-kickoff-check-group{margin-bottom:14px}
.tf-kickoff-check-group:last-child{margin-bottom:0}
.tf-kickoff-check-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;padding:0 4px}
.tf-kickoff-check-group-head span{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.tf-kickoff-check-group-count{font-size:11px;font-weight:700;color:var(--bronze)}
.tf-kickoff-check-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgba(15,17,20,.3);border-radius:8px;font-size:13px;color:var(--ash)}
.tf-kickoff-check-item+.tf-kickoff-check-item{margin-top:4px}
.tf-kickoff-check-item.done{color:#fff}

/* ── Legacy (kept for back-compat) ── */
.tf-kickoff-empty{font-size:13px;color:var(--muted);font-style:italic;padding:8px 0}
.tf-kickoff-edit-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:var(--bronze);cursor:pointer;background:none;border:1px solid rgba(140,106,62,.3);border-radius:8px;padding:6px 12px;margin-top:10px}
.tf-kickoff-edit-btn:hover{background:rgba(140,106,62,.1);border-color:rgba(140,106,62,.5)}

/* ── Compliance Tracker ── */
.tf-compliance-company{background:rgba(15,17,20,.3);border:1px solid rgba(181,183,185,.08);border-radius:12px;padding:18px 16px;margin-bottom:14px}
.tf-compliance-company-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.tf-compliance-company-head h4{font-size:15px;font-weight:700;color:#fff;margin:0;display:flex;align-items:center;gap:8px}
.tf-compliance-company-head h4 svg{width:16px;height:16px;color:var(--bronze)}
.tf-compliance-badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.03em}
.tf-compliance-badge.complete{background:rgba(16,185,129,.12);color:#10b981;border:1px solid rgba(16,185,129,.25)}
.tf-compliance-badge.partial{background:rgba(251,191,36,.1);color:#fbbf24;border:1px solid rgba(251,191,36,.2)}
.tf-compliance-badge.missing{background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.2)}
.tf-compliance-docs{display:grid;gap:8px}
.tf-compliance-doc{display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(46,49,54,.5);border:1px solid rgba(181,183,185,.06);border-radius:8px}
.tf-compliance-doc-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tf-compliance-doc-icon svg{width:14px;height:14px}
.tf-compliance-doc-icon.approved{background:rgba(16,185,129,.12);color:#10b981}
.tf-compliance-doc-icon.missing{background:rgba(239,68,68,.1);color:#ef4444}
.tf-compliance-doc-icon.pending{background:rgba(251,191,36,.1);color:#fbbf24}
.tf-compliance-doc-info{flex:1;min-width:0}
.tf-compliance-doc-name{font-size:13px;font-weight:650;color:#fff}
.tf-compliance-doc-status{font-size:11px;color:var(--muted)}
.tf-compliance-upload-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:var(--bronze);cursor:pointer;background:rgba(140,106,62,.08);border:1px solid rgba(140,106,62,.25);border-radius:8px;padding:6px 14px;margin-top:10px}
.tf-compliance-upload-btn:hover{background:rgba(140,106,62,.15);border-color:rgba(140,106,62,.4)}
.tf-compliance-upload-btn svg{width:14px;height:14px}

/* ── Responsive ── */
@media(max-width:900px){
  .tf-role-grid{grid-template-columns:1fr}
  .tf-kickoff-scope-details{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .tf-kickoff-timeline-dates{grid-template-columns:1fr 1fr}
  .tf-kickoff-readiness{flex-direction:column;align-items:flex-start;gap:10px}
  .tf-kickoff-readiness-right{align-self:flex-end}
  .tf-kickoff-trade-row{flex-wrap:wrap}
  .tf-kickoff-trade-meta{width:100%}
}
@media(max-width:520px){
  .tf-role-card{padding:18px 16px}
  .tf-cost-row{flex-direction:column;align-items:flex-start;gap:2px}
  .tf-kickoff-timeline-dates{grid-template-columns:1fr}
  .tf-kickoff-scope-details{grid-template-columns:1fr}
  .tf-kickoff-access-row{flex-direction:column;gap:2px}
  .tf-kickoff-access-label{min-width:0}
}
