.flush { margin-top: 0; margin-bottom: 0; }
.card { margin-bottom: 20px; overflow-wrap: anywhere; }
.sec-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-bottom: 12px; }
.fgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 12px; }
.field { min-width: 0; }
.field label { display: block; margin-bottom: 4px; overflow-wrap: anywhere; }
.top-gap { margin-top: 12px; }

label.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
}

.meter-svg {
  width: 100%;
  max-width: 100%;
  height: 10px;
  display: block;
  border-radius: 5px;
  overflow: hidden;
}
.meter-track { fill: var(--line); }
.meter-fill { fill: var(--accent); }

.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.chip-row .pill {
  margin: 0;
  overflow-wrap: anywhere;
}

.err-msg {
  color: var(--warn);
  font-weight: 600;
  margin: 10px 0 2px;
  padding: 8px 10px;
  border: 1px solid var(--warn);
  border-radius: 8px;
  background: var(--chip);
  overflow-wrap: anywhere;
}
.warn-box {
  background: var(--chip);
  border: 1px solid var(--warn);
  color: var(--warn);
  padding: 10px 12px;
  border-radius: 8px;
  overflow-wrap: anywhere;
}

.list { list-style: none; padding: 0; margin: 12px 0 0; }
.list li {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: center;
}
.list .title { font-weight: 600; overflow-wrap: anywhere; flex: 1 1 160px; min-width: 0; }
.list .meta { flex: 1 1 100%; font-size: 13px; color: var(--muted); overflow-wrap: anywhere; }
.list .age-pill { font-family: var(--mono); font-weight: 700; margin: 0; }

.bnd-notice {
  font-size: 13px;
  color: var(--muted);
  margin: 6px 0 14px;
  overflow-wrap: anywhere;
}
.bnd-sec {
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.bnd-sec:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.bnd-sec h3 {
  margin: 0 0 8px;
  font-size: 16px;
  overflow-wrap: anywhere;
}
.bnd-kv {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  margin: 0;
}
.bnd-kv div {
  font-size: 14px;
  overflow-wrap: anywhere;
}
.bnd-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.bnd-list li {
  padding: 6px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
  overflow-wrap: anywhere;
}
.bnd-list li:last-child { border-bottom: none; }
.mono { font-family: var(--mono); }

code { font-family: var(--mono); font-size: 13px; overflow-wrap: anywhere; }

@media (min-width: 560px) {
  .field-wide { grid-column: 1 / -1; }
  .bnd-kv { grid-template-columns: 1fr 1fr; }
}

@media print {
  .no-print, header.top, footer { display: none !important; }
  body { background: #fff; color: #000; }
  .wrap { max-width: 100%; padding: 0; }
  .card.binder-sheet { display: block !important; border: none; padding: 0; }
}
