/* Cash-office schedule update effective 2026-10-01. All rules are scoped to .co26. */
.co26 {
  --co26-ink: #24282d;
  --co26-muted: #66717c;
  --co26-line: #dfe4e8;
  --co26-paper: #ffffff;
  --co26-soft: #f5f7f8;
  --co26-accent: #b51f2b;
  color: var(--co26-ink);
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: clamp(18px, 3vw, 32px) clamp(12px, 2.5vw, 24px) 42px;
  box-sizing: border-box;
  line-height: 1.5;
  font: inherit;
}
.co26 * { box-sizing: border-box; }
.co26__eyebrow {
  color: var(--co26-accent);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 8px;
}
.co26__title {
  color: var(--co26-ink);
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  line-height: 1.2;
  margin: 0 0 12px;
  font-weight: 750;
}
.co26__intro { color: var(--co26-muted); max-width: 800px; margin: 0 0 18px; }
.co26__effective {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--co26-line);
  border-radius: 8px;
  background: var(--co26-soft);
  font-size: .94rem;
  font-weight: 650;
}
.co26__effective::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--co26-accent);
  flex: 0 0 8px;
}
.co26__controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin: 24px 0 16px;
  padding: 16px;
  background: var(--co26-soft);
  border: 1px solid var(--co26-line);
  border-radius: 12px;
}
.co26__field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.co26__label { font-size: .88rem; font-weight: 700; }
.co26__input, .co26__select {
  appearance: auto;
  width: 100%;
  min-height: 46px;
  border: 1px solid #c7cfd6;
  border-radius: 8px;
  background: #fff;
  color: var(--co26-ink);
  padding: 10px 12px;
  font: inherit;
}
.co26__input:focus, .co26__select:focus { outline: 3px solid rgba(181,31,43,.16); border-color: var(--co26-accent); }
.co26__status { color: var(--co26-muted); font-size: .92rem; margin: 0 0 12px; }
.co26__empty {
  border: 1px dashed #c7cfd6;
  border-radius: 12px;
  padding: 22px;
  text-align: center;
  color: var(--co26-muted);
  background: #fff;
}
.co26__station-title { font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.3; margin: 22px 0 14px; font-weight: 750; }
.co26__office-list { display: grid; grid-template-columns: 1fr; gap: 14px; }
.co26__office {
  min-width: 0;
  padding: clamp(14px, 2vw, 20px);
  border: 1px solid var(--co26-line);
  border-radius: 12px;
  background: var(--co26-paper);
  box-shadow: 0 2px 8px rgba(20,32,44,.035);
}
.co26__office-label { color: var(--co26-muted); text-transform: uppercase; letter-spacing: .045em; font-size: .76rem; font-weight: 750; margin: 0 0 6px; }
.co26__specialization { font-size: 1rem; font-weight: 650; line-height: 1.5; margin: 0 0 14px; overflow-wrap: anywhere; }
.co26__schedule-list { display: grid; grid-template-columns: 1fr; gap: 10px; }
.co26__schedule {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
  padding: 12px;
  border-radius: 8px;
  background: var(--co26-soft);
}
.co26__datum { min-width: 0; }
.co26__datum-label { display: block; font-size: .76rem; color: var(--co26-muted); margin: 0 0 3px; }
.co26__datum-value { display: block; font-size: .94rem; font-weight: 600; overflow-wrap: anywhere; white-space: pre-line; }
.co26__note { color: var(--co26-muted); font-size: .88rem; margin: 20px 0 0; }
.co26__source { margin: 22px 0 0; color: var(--co26-muted); font-size: .82rem; }
@media (max-width: 700px) {
  .co26__controls { grid-template-columns: 1fr; padding: 12px; }
  .co26__schedule { grid-template-columns: 1fr; gap: 9px; }
  .co26__office { padding: 14px; }
}

.co26__field { position:relative; }
.co26__options { position:absolute; top:100%; left:0; right:0; z-index:30; margin-top:4px; max-height:260px; overflow-y:auto; background:#fff; border:1px solid #c7cfd6; border-radius:12px; box-shadow:0 8px 24px #0002; padding:4px; }
.co26__options[hidden] { display:none; }
.co26__option { padding:10px 12px; border-radius:8px; cursor:pointer; }
.co26__option:hover, .co26__option[aria-selected="true"] { background:#fff0f2; color:#b51f2b; }
.co26__no-match { padding:10px 12px; color:#66717c; }
