/* E-101 crew hours by exception, the block crew-hours.js draws on the
   crew-day page. tokens.css rule 1: NO PER-SCREEN COLOUR — tokens only.
   Rule 2: colour never carries meaning alone — a chosen reason is inverted
   fill AND heavier weight AND aria-pressed; a man with different times says
   so in words on his row. Targets: --tap floor, --tap-primary for CONFIRM
   and File hours. Wet gloves, one thumb. Scoped to this file's two blocks. */
.ch-block [hidden], .ch-block[hidden] { display: none !important; }

.ch-block {
  margin: var(--sp-3) 0;
  padding: var(--sp-2) 0;
  border-top: var(--bw-rule) solid var(--c-rule);
}
.ch-block h2 {
  font-size: var(--fs-head);
  font-weight: var(--fw-head);
  margin: 0 0 var(--sp-1) 0;
}
.ch-block p { margin: 0 0 var(--sp-1) 0; font-size: var(--fs-body); }
.ch-block .muted { color: var(--c-text-2); }
.ch-block .big { font-size: var(--fs-head); font-weight: var(--fw-label); }
.ch-block label {
  display: block;
  margin-top: var(--sp-2);
  font-size: var(--fs-label);
  font-weight: var(--fw-label);
}
.ch-block input.ch-time {
  display: block;
  width: 100%;
  min-height: var(--tap);
  font-size: var(--fs-number);
  font-family: var(--font-ui);
  padding: 4px 12px;
  margin-bottom: var(--tap-gap);
  border: var(--bw) solid var(--c-border);
  border-radius: var(--radius);
  background: var(--c-bg);
  color: var(--c-text);
}
.ch-block textarea {
  display: block;
  width: 100%;
  min-height: calc(var(--tap) * 2);
  font-size: var(--fs-body);
  font-family: var(--font-ui);
  padding: 8px 12px;
  border: var(--bw) solid var(--c-border);
  border-radius: var(--radius);
  background: var(--c-bg);
  color: var(--c-text);
}
.ch-block button {
  display: block;
  width: 100%;
  min-height: var(--tap);
  margin: 0 0 var(--tap-gap) 0;
  padding: 12px;
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  font-weight: var(--fw-label);
  text-align: left;
  border: var(--bw) solid var(--c-border);
  border-radius: var(--radius);
  background: var(--c-bg);
  color: var(--c-text);
}
.ch-block button.primary {
  min-height: var(--tap-primary);
  text-align: center;
  background: var(--c-accent);
  color: var(--c-on-accent);
  border-color: var(--c-accent);
}
.ch-block button:disabled { opacity: 0.55; }
.ch-block button.choice { text-align: center; }
.ch-block button.chosen,
.ch-block button[aria-pressed="true"] {
  background: var(--c-chosen-bg);
  color: var(--c-chosen-text);
  font-weight: var(--fw-head);
}
.ch-block .ch-menlist { margin: var(--sp-2) 0; }
.ch-block .ch-manline { margin: 0; padding: 4px 0; }
.ch-block .ch-editor {
  margin: 0 0 var(--sp-2) var(--sp-1);
  padding-left: var(--sp-2);
  border-left: var(--bw-rule) solid var(--c-rule);
}
.ch-block .alert {
  background: var(--c-alert-bg);
  color: var(--c-alert-text);
  padding: var(--sp-1) 12px;
  border-radius: var(--radius);
}
.ch-block a.ch-week {
  display: flex;
  align-items: center;
  min-height: var(--tap);
  font-size: var(--fs-label);
  color: var(--c-accent);
}
/* fl-1002 S-19: the "This week so far" link is drawn on the crew-day LIST,
   outside .ch-block, so the rule above never reached it (22 px tall). Size
   only - its colour is left as it is today. */
#screen-list a.ch-week {
  display: flex;
  align-items: center;
  min-height: var(--tap);
}
.ch-block button:focus-visible,
.ch-block input:focus-visible,
.ch-block textarea:focus-visible,
.ch-block a:focus-visible {
  outline: var(--bw-focus) solid var(--c-accent);
  outline-offset: 2px;
}
