/* Easy Government Contracts — Phase 2 features (2026-11-06).
 * Live-bids widget · site chatbot · resources library.
 * Easy identity: emerald / teal + white — deliberately distinct
 * from Gov Anchor's navy + gold. Loaded after assets/styles.css. */
:root{
  --egc-emerald:#047857;
  --egc-emerald-dark:#065f46;
  --egc-teal:#0f766e;
  --egc-mint:#ecfdf5;
  --egc-mint-line:#a7f3d0;
  --egc-ink:#12312a;
}

/* ---------- Floating live-bids widget ---------- */
.egc-live{
  position:fixed; right:18px; top:96px; z-index:60; width:262px;
  background:#fff; border:1px solid var(--egc-mint-line); border-radius:14px;
  box-shadow:0 12px 34px rgba(6,95,70,.18); color:var(--egc-ink);
  font-size:14px; overflow:hidden;
}
.egc-live-head{
  display:flex; align-items:center; gap:8px; width:100%; text-align:left;
  background:linear-gradient(135deg,var(--egc-emerald),var(--egc-teal));
  color:#fff; border:0; padding:10px 12px; cursor:pointer; font:inherit;
}
.egc-live-dot{width:9px;height:9px;border-radius:50%;background:#6ee7b7;flex:none;
  box-shadow:0 0 0 0 rgba(110,231,183,.7); animation:egcPulse 2.2s infinite;}
@keyframes egcPulse{0%{box-shadow:0 0 0 0 rgba(110,231,183,.55)}70%{box-shadow:0 0 0 8px rgba(110,231,183,0)}100%{box-shadow:0 0 0 0 rgba(110,231,183,0)}}
.egc-live-title{font-weight:700; line-height:1.25; flex:1;}
.egc-live-caret{font-weight:700;}
.egc-live-body{padding:12px 14px 13px;}
.egc-live-total{font-size:15px; margin:0 0 8px;}
.egc-live-total strong{font-size:22px; color:var(--egc-emerald-dark);}
.egc-live h4{margin:10px 0 5px; font-size:12px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--egc-teal);}
.egc-live ul{list-style:none; margin:0; padding:0;}
.egc-live li{display:flex; justify-content:space-between; gap:10px;
  padding:2.5px 0; border-bottom:1px dashed #e2e8f0;}
.egc-live li:last-child{border-bottom:0;}
.egc-live li b{color:var(--egc-emerald-dark);}
.egc-live-line{min-height:40px; margin:4px 0 2px; font-style:italic; color:#334155;
  transition:opacity .35s ease;}
.egc-live-line.is-fading{opacity:0;}
.egc-live-status{display:flex; flex-wrap:wrap; gap:5px;}
.egc-live-status span{background:var(--egc-mint); border:1px solid var(--egc-mint-line);
  border-radius:999px; padding:2px 8px; font-size:12px;}
.egc-live-meta{margin:10px 0 0; font-size:12px; color:#64748b;}
.egc-live-board{display:inline-block; margin-top:8px; font-weight:600;
  color:var(--egc-emerald-dark);}
.egc-live.is-collapsed .egc-live-body{display:none;}
@media (max-width:900px){
  .egc-live{top:auto; bottom:86px; right:12px; width:232px;}
}
@media (prefers-reduced-motion:reduce){ .egc-live-dot{animation:none;} }

/* ---------- Chatbot ---------- */
.egc-bot-launch{
  position:fixed; right:18px; bottom:18px; z-index:70; display:flex; align-items:center; gap:8px;
  background:var(--egc-emerald); color:#fff; border:0; border-radius:999px;
  padding:12px 18px; font:inherit; font-weight:700; cursor:pointer;
  box-shadow:0 10px 26px rgba(6,95,70,.35);
}
.egc-bot-launch:hover{background:var(--egc-emerald-dark);}
.egc-bot{
  position:fixed; right:18px; bottom:18px; z-index:71; width:372px; max-width:calc(100vw - 24px);
  height:560px; max-height:calc(100vh - 36px); display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--egc-mint-line); border-radius:16px;
  box-shadow:0 18px 48px rgba(6,95,70,.28); overflow:hidden; color:var(--egc-ink);
}
.egc-bot[hidden]{display:none;}
.egc-bot-head{background:linear-gradient(135deg,var(--egc-emerald),var(--egc-teal));
  color:#fff; padding:12px 14px; display:flex; gap:10px; align-items:flex-start;}
.egc-bot-head h3{margin:0; font-size:16px; line-height:1.3;}
.egc-bot-head p{margin:2px 0 0; font-size:12.5px; opacity:.92;}
.egc-bot-close{margin-left:auto; background:rgba(255,255,255,.16); color:#fff; border:0;
  border-radius:8px; width:30px; height:30px; cursor:pointer; font-size:16px; flex:none;}
.egc-bot-log{flex:1; overflow-y:auto; padding:12px; background:#f8fafc;}
.egc-msg{max-width:88%; padding:9px 12px; border-radius:12px; margin:0 0 9px;
  font-size:14px; line-height:1.5; white-space:normal; overflow-wrap:anywhere;}
.egc-msg p{margin:0 0 7px;} .egc-msg p:last-child{margin-bottom:0;}
.egc-msg ul,.egc-msg ol{margin:4px 0 8px; padding-left:19px;}
.egc-msg--bot{background:#fff; border:1px solid #e2e8f0; border-bottom-left-radius:4px;}
.egc-msg--user{background:var(--egc-emerald); color:#fff; margin-left:auto;
  border-bottom-right-radius:4px;}
.egc-msg a{color:var(--egc-emerald-dark); font-weight:600;}
.egc-msg--user a{color:#d1fae5;}
.egc-chips{display:flex; flex-wrap:wrap; gap:6px; padding:0 12px 9px; background:#f8fafc;}
.egc-chip{background:#fff; border:1px solid var(--egc-emerald); color:var(--egc-emerald-dark);
  border-radius:999px; padding:5px 11px; font-size:13px; cursor:pointer; font:inherit;}
.egc-chip:hover{background:var(--egc-mint);}
.egc-chip--human{border-color:var(--egc-teal); background:var(--egc-mint); font-weight:700;}
.egc-bot-form{display:flex; gap:8px; padding:10px; border-top:1px solid #e2e8f0; background:#fff;}
.egc-bot-form input{flex:1; border:1px solid #cbd5e1; border-radius:10px;
  padding:10px 12px; font:inherit; font-size:14px; min-width:0;}
.egc-bot-form button{background:var(--egc-emerald); color:#fff; border:0; border-radius:10px;
  padding:10px 15px; font:inherit; font-weight:700; cursor:pointer;}
.egc-bot-note{margin:0; padding:0 12px 9px; font-size:11.5px; color:#64748b; background:#fff;}
@media (max-width:640px){ .egc-bot{right:12px; bottom:12px;} .egc-bot-launch{right:12px; bottom:12px;} }

/* ---------- Resources library ---------- */
.res-hero{background:linear-gradient(135deg,var(--egc-emerald-dark),var(--egc-teal)); color:#fff;}
.res-hero h1,.res-hero p{color:#fff;}
.res-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; margin:18px 0;}
.res-card{background:#fff; border:1px solid var(--egc-mint-line); border-top:4px solid var(--egc-emerald);
  border-radius:12px; padding:18px; box-shadow:0 2px 12px rgba(6,95,70,.07);}
.res-card h3{margin:0 0 7px;} .res-card h3 a{color:var(--egc-emerald-dark); text-decoration:none;}
.res-card h3 a:hover{text-decoration:underline;}
.res-card p{margin:0 0 10px; color:#3f5468;}
.res-tag{display:inline-block; background:var(--egc-mint); color:var(--egc-emerald-dark);
  border-radius:999px; padding:2px 9px; font-size:12px; font-weight:700; margin-bottom:9px;}
.res-body h2{color:var(--egc-emerald-dark); margin-top:30px;}
.res-body h3{color:var(--egc-teal);}
.res-callout{background:var(--egc-mint); border:1px solid var(--egc-mint-line);
  border-radius:12px; padding:14px 17px; margin:18px 0;}
.res-next{border-top:2px solid var(--egc-mint-line); margin-top:34px; padding-top:16px;}
.res-check li{margin-bottom:7px;}
