/* Shared base styles + a small set of utility/component classes reused
   across the render-to-innerHTML JS panels (see docs/arch/web.md for the
   panel-ownership rule). Linked from both index.html and spots.html.

   Most per-element styling still lives inline in the JS — computed colors
   (tier/status/confidence), per-item pixel geometry (chart paths, marker
   sizes, bar heights), and one-off layout are data-driven and don't belong
   in a stylesheet. Only genuinely identical, repeated box-model patterns
   are pulled out here; page-specific rules (hover states, #map sizing)
   stay in each page's own <style> block. */

body { margin:0; background:#fbf9f3; color:#1f1c15; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
a { color:#1d8a4e; }
a:hover { color:#14663a; }
button, input, textarea, select { font-family: inherit; }
input, textarea, select { box-sizing:border-box; }

.flex-1 { flex:1; }

/* Reserves horizontal room on the right of each page's header row for the
   fixed "who's logged in" chip (web/auth.js), so the chip shares the same
   line as the page's own nav buttons (which wrap earlier to make space)
   instead of sitting on a separate, mostly-empty strip above them. Only
   applied when the chip is actually rendered — auth.js adds this class to
   <body> when login is configured and a session exists. */
body.fs-has-auth-chip .fs-header-row { padding-right:180px; }

.muted { color:#8a8272; }
.muted-link { color:#5c564a; }

/* Detail-panel section headers ("Nearest ramp", "Linked buoys", ...). */
.section-label { font-size:11.5px; color:#8a8272; margin-bottom:3px; }

/* Small rounded status label — structure icons, "forecast +Nd", confidence
   badges. Background/foreground stay inline: they carry the actual meaning
   (which tier/confidence) and vary per item. */
.pill { font-size:10.5px; font-weight:600; padding:2px 7px; border-radius:9px; }

/* Slightly more rounded chip — the spot-catalog "mine" tag. */
.chip { font-size:10.5px; border-radius:10px; padding:1px 7px; }
