.crumb { margin: 0 0 0.5rem; font-weight: 600; }
.crumb a { text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.crumb { margin-top: -0.6rem; }
.foot a { display: inline-block; padding: 0.6rem 0; }
.field-stack { display: grid; gap: 0.9rem; align-content: start; }
.field-stack h2 { margin: 0; }
.channels { border: 0; padding: 0; margin: 0; min-width: 0; }
.channels legend { font-weight: 600; margin-bottom: 0.4rem; padding: 0; }
.checks { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.check { display: inline-flex; align-items: center; gap: 0.45rem; border: 1px solid var(--line); border-radius: 999px; padding: 0.35rem 0.8rem; min-height: 44px; cursor: pointer; }
.check:has(input:checked) { background: var(--accent-soft); border-color: var(--accent); }
.check input { width: 1.05rem; height: 1.05rem; accent-color: var(--accent); margin: 0; }
.copy-row { display: flex; gap: 0.5rem; min-width: 0; }
.copy-row input { flex: 1; min-width: 0; }
.tiles { display: grid; gap: 0.75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 1rem; }
.tile { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 0.85rem 1rem; display: grid; gap: 0.15rem; min-width: 0; }
.tile-label { color: var(--muted); font-size: 0.85rem; font-weight: 600; }
.tile-value { font-size: 1.8rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.15; overflow-wrap: anywhere; }
.tile-text { font-size: 1.25rem; }
.tile-sub { color: var(--muted); font-size: 0.82rem; }
.bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.bar-row { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) 3rem; gap: 0.6rem; align-items: center; }
.bar-label { font-weight: 600; font-size: 0.95rem; overflow-wrap: anywhere; }
.bar-track { height: 14px; border-radius: 0 4px 4px 0; background: transparent; position: relative; border-left: 1px solid var(--line); }
.bar-fill { height: 100%; background: var(--accent); border-radius: 0 4px 4px 0; min-width: 2px; }
.bar-num { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.bar-sub { grid-column: 2 / 4; color: var(--muted); font-size: 0.8rem; margin-top: -0.4rem; }
.days { position: relative; }
.days svg { width: 100%; height: auto; display: block; overflow: visible; }
.days .col { fill: var(--accent); }
.days .col-hit { fill: transparent; cursor: default; }
.days .col-hit:hover + .col, .days .col-hit:focus + .col { opacity: 0.75; }
.days .axis { stroke: var(--line); stroke-width: 1; }
.days text { fill: var(--muted); font-size: 13px; font-family: inherit; }
.tip { position: absolute; pointer-events: none; background: var(--ink); color: var(--bg); font-size: 0.82rem; padding: 0.3rem 0.5rem; border-radius: 6px; white-space: nowrap; transform: translate(-50%, -110%); }
.links td { vertical-align: middle; }
.links .code { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 0.9rem; overflow-wrap: anywhere; }
.links .actions { justify-content: flex-end; flex-wrap: nowrap; }
.links .btn { min-height: 44px; padding: 0.35rem 0.75rem; }
.qr { background: #fff; border-radius: var(--radius-sm); padding: 0.5rem; width: min(260px, 100%); justify-self: center; }
.qr svg { width: 100%; height: auto; display: block; }
dialog { width: min(24rem, calc(100vw - 2rem)); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--ink); padding: 1.25rem; display: grid; gap: 0.85rem; }
dialog:not([open]) { display: none; }
dialog::backdrop { background: rgb(0 0 0 / 0.45); }
dialog h2 { margin: 0; }
.empty { color: var(--muted); }
@media (max-width: 559px) {
  .links thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .links, .links tbody, .links tr { display: block; }
  .links tr { border-bottom: 1px solid var(--line); padding: 0.6rem 0; }
  .links td { display: block; border: 0; padding: 0.15rem 0; }
  .links .actions { justify-content: flex-start; }
}
@media (min-width: 720px) {
  .tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
