/* Hunch web: field map + yield check (reuses hunch.css) */
.hn-mapcol { position: sticky; }
.fm-full { position: absolute; top: 10px; right: 10px; z-index: 1000; width: 38px; height: 38px; border-radius: 8px; border: 0; background: #fff; box-shadow: 0 1px 5px rgba(0,0,0,.35); font-size: 1.25rem; cursor: pointer; }
.fm-isfull { position: fixed !important; inset: 0; z-index: 3000; background: #000; top: 0 !important; }
.fm-isfull .hn-map { height: 100vh; border-radius: 0; }
.fm-isfull .hn-maptools, .fm-isfull .hn-legend { position: absolute; left: 10px; right: 60px; bottom: 10px; z-index: 900; background: rgba(255,255,255,.92); padding: 6px 8px; border-radius: 8px; margin: 0; }
.fm-isfull .hn-legend { top: auto; bottom: 22px; left: 10px; right: auto; max-width: min(240px, calc(100% - 20px)); gap: 3px 10px; font-size: .78rem; line-height: 1.3; }
.fm-isfull .hn-maptools { display: none; }
body.fm-noscroll { overflow: hidden; }
.fm-grow { flex: 1; min-width: 0; }
.fm-gap { margin-top: 10px; }
.fm-auto { width: auto; }
.fm-who { margin: 0; justify-content: space-between; }
.fm-sw { display: inline-block; width: 14px; height: 14px; border-radius: 3px; vertical-align: -2px; margin-right: 4px; }
.fm-sw--weak { background: rgba(230,120,20,.55); border: 2px solid #e67814; }
.fm-sw--strong { background: rgba(40,110,220,.45); border: 2px solid #286edc; }
.fm-pro { background: #fbf4e2; border: 1px solid #e7d8a8; border-radius: 8px; padding: 10px 12px; margin: 10px 0; font-size: .92rem; }
.fm-pro .hn-row { margin: 8px 0 0; }
.fm-tier { padding: 6px 0; border-top: 1px solid #e7d8a8; }
.fm-tier:first-child { border-top: 0; }
.fm-tier ul { margin: 4px 0 6px 18px; padding: 0; }
.fm-likely { font-weight: 600; color: #24361f !important; }
.fm-locked { font-size: .82rem !important; color: #6b6f62 !important; }
.fm-summary { font-size: .93rem; line-height: 1.5; margin: 12px 0 8px; }
.fm-card { border: 1px solid #e3e6dc; border-left: 5px solid #e67814; border-radius: 8px; padding: 9px 11px; margin: 8px 0; cursor: pointer; background: #fdfdfb; }
.fm-card--strong { border-left-color: #286edc; }
.fm-card:hover { background: #f6f8f1; }
.fm-card h3 { margin: 0 0 3px; font-size: .98rem; color: #24361f; }
.fm-card p { margin: 0 0 6px; font-size: .88rem; line-height: 1.4; color: #444; }
.fm-years { display: flex; flex-wrap: wrap; gap: 4px; }
.fm-years span { font-size: .75rem; padding: 2px 6px; border-radius: 10px; background: #eee; color: #444; }
.fm-years .neg { background: #fbe3d0; color: #8a4207; }
.fm-years .pos { background: #dbe7fb; color: #1d4f9e; }
.fm-label { background: #fff; border: 0; border-radius: 4px; padding: 1px 5px; font-weight: 700; font-size: 12px; box-shadow: 0 1px 3px rgba(0,0,0,.4); }
.fm-label--weak { color: #b85a06; }
.fm-label--strong { color: #1d4f9e; }
.fm-label::before { display: none; }
.fm-export { margin-top: 12px; padding-top: 10px; border-top: 1px solid #eee; }
.fm-consent { margin: 4px 0 12px; }
.fm-consent .fm-check { flex-direction: row; align-items: center; gap: 8px; font-weight: 600; }
.fm-consent details { margin: 4px 0 0 24px; font-size: .86rem; }
.fm-pre { white-space: pre-line; color: #4a4f45; font-size: .86rem; line-height: 1.45; padding: 6px 0; }
.fm-yfile { border: 1px solid #e3e6dc; border-radius: 8px; padding: 10px 12px; margin: 10px 0; background: #fdfdfb; }
.fm-yfile h3 { margin: 0 0 4px; font-size: .98rem; color: #24361f; }
.fm-yfile .hn-row { margin: 8px 0 0; }
.fm-headline { font-size: .95rem; line-height: 1.45; margin: 6px 0; }
.fm-table { width: 100%; border-collapse: collapse; font-size: .84rem; margin: 8px 0; }
.fm-table th, .fm-table td { padding: 4px 6px; border-bottom: 1px solid #eee; text-align: left; }
.fm-v--held { color: #1d6b35; font-weight: 700; }
.fm-v--leaned { color: #7a5a10; font-weight: 700; }
.fm-v--missed { color: #a02c1e; font-weight: 700; }
.fm-small { font-size: .8rem; color: #7a7f75; line-height: 1.45; }
@media (max-width: 900px) {
  .hn-mapcol { position: relative; top: 0; }
}
/* hn-row / hn-ramp set display, which beats the hidden attribute */
.hn-step [hidden], .hn-mapcol [hidden], .hn-legend[hidden] { display: none !important; }
.fm-full svg { width: 20px; height: 20px; display: block; margin: auto; }
.fm-trade { border-left: 3px solid #6a8f3a; padding-left: 8px; }
.fm-trade-note { font-size: .86rem; margin: 6px 0 0; }
.fm-trade-note--live { color: #3d6b1f; font-weight: 600; }
.fm-yourdata { margin: 4px 0 14px; padding: 8px 12px; border: 1px solid #d7dccd; border-left: 4px solid #3d6b1f; border-radius: 6px; background: #f7f9f2; font-size: .9rem; }
.fm-yourdata summary { font-weight: 700; cursor: pointer; }
.fm-yourdata ul { margin: 6px 0 2px; padding-left: 18px; }
.fm-yourdata li { margin: 4px 0; }
