/* Small additions on top of the designer's tokens.css and ui.css. */
[hidden] { display: none !important; }
.consent > label.check { display: grid; font-weight: 400; }
.js .save-status { display: none; }
.youclick-cta { margin-top: var(--s5); }
.ask { margin-top: var(--s6); }
.state-grid { display: grid; gap: var(--s6); grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.tbl-scroll { max-width: 100%; overflow-x: auto; }
.app-main, .app-main .wrap, .form, .panel { min-width: 0; max-width: 100%; }
@media (max-width: 640px) {
  .admin-board { overflow: visible; }
  .admin-board .admin-table,
  .admin-board .admin-table tbody,
  .admin-board .admin-table tr,
  .admin-board .admin-table td { display: block; width: auto; min-width: 0; }
  .admin-board .admin-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .admin-board .admin-table tr { border-bottom: 2px solid var(--line-strong); padding: 12px 0; }
  .admin-board .admin-table td { border: 0; padding: 4px 16px; }
  .admin-board .admin-table td::before {
    content: attr(data-label);
    display: block;
    font: 500 0.8rem/1.3 var(--font-mono);
    color: var(--text-2);
  }
}
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.preview-banner {
  background: var(--ink-2);
  color: var(--text);
  border-bottom: 3px solid var(--flare);
  padding: 16px var(--gutter);
  font-size: 1.125rem;
  font-weight: 600;
}
.legal { max-width: 72ch; display: grid; gap: 16px; }
.legal h1 { font-size: clamp(2rem, 1.4rem + 2vw, 3.25rem); margin-bottom: 8px; }
.legal h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin-top: 24px; }
.legal p, .legal li { font-size: var(--fs-body); line-height: 1.6; }
.legal ul, .legal ol { display: grid; gap: 8px; padding-left: 1.2em; }
.cover-text { white-space: pre-wrap; }
.narrow { max-width: 760px; }
.foot-endorse p { margin-top: 16px; max-width: 34ch; }
.reset-link { word-break: break-all; font-family: var(--font-mono); }
