:root { --fc-green: #123d32; --fc-cream: #f4f0e6; --fc-lime: #c8e84a; }
button, input, select, textarea { min-height: 44px; }
input, select, textarea { box-sizing: border-box; max-width: 100%; min-width: 0; }
.pin-field::placeholder { letter-spacing: normal; font-size: clamp(.88rem, 4vw, 1rem); }
.fc-polish-controls { position: fixed; z-index: 1000; right: 12px; bottom: 12px; display: flex; gap: 6px; pointer-events: none; }
.fc-polish-controls button { pointer-events: auto; }
.fc-polish-controls button { min-width: 44px; border: 1px solid rgba(244,240,230,.55); border-radius: 10px; background: rgba(18,61,50,.96); color: var(--fc-cream); font-weight: 800; cursor: pointer; }
.fc-polish-controls button:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--fc-lime); outline-offset: 2px; }
.fc-high-contrast body, body.fc-high-contrast { background: #000; color: #fff; }
.fc-high-contrast .fc-polish-controls button { background: #000; color: #fff; border-color: #fff; }
.fc-high-contrast .btn, .fc-high-contrast button { border-color: #fff; }
@media (max-width: 560px) { .fc-polish-controls { right: 6px; bottom: 76px; } body.admin .fc-polish-controls { bottom: 6px; } }

/* Keep the sign-in title readable when contrast mode makes the page black. */
.fc-high-contrast .auth-brand h1 { color: #fff; }

/* The signed-in lead owns the first card on Home and Clock. */
.lead-card { background: var(--surface, #121212); color: #fff; border: 1px solid var(--line, #333); border-radius: 12px; padding: 16px; margin: 0 0 12px; }
.lead-card h2, .lead-card strong, .lead-card-status { color: #fff; }
.lead-card-label { color: #fff; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
body.field-app .fc-polish-controls,
body.field-sun .fc-polish-controls,
body.admin .fc-polish-controls { display: none; }
.lead-card .today-job { background: #000; border-color: #444; margin: 12px 0; }
.lead-card .today-job-label { color: #fff; }
.lead-card .btn.primary { background: #C5E017; color: #000; }
.lead-crew-list { margin: 16px 0; display: grid; gap: 10px; }
.lead-crew-list h2 { margin: 0; }
.lead-badge { background: var(--surface-2, #1c1c1c); color: #fff; font-weight: 800; }
#sheet-panel > .lead-card-label { color: #fff; }

/* Keep the signed-in Field title readable without shrinking its controls. */
@media (max-width: 560px) {
  body.field-sun .masthead { flex-wrap: wrap; }
  body.field-sun .masthead .screen-title { min-width: 124px; overflow: visible; }
  body.field-sun .masthead .screen-title #screen-title {
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    text-overflow: clip;
    font-size: clamp(17px, 5.2vw, 22px);
    line-height: 1.15;
  }
}
