.ticker-home-trigger {
  min-width: 0;
  margin: 0;
  padding: .25rem;
  border: 0;
  background: transparent;
  color: inherit;
  font: 1.1rem Georgia, serif;
  text-align: center;
  cursor: pointer;
}

.page-shell > footer[data-fixed-page-footer] > :is(p, button),
.page-shell > footer[data-fixed-page-footer] > button > span,
.page-shell > footer[data-fixed-page-footer] > .ticker__outgoing > :is(p, button),
.page-shell > footer[data-fixed-page-footer] > .ticker__outgoing > button > span {
  font-family: var(--body);
  font-weight: 400;
}

.page-shell > footer[data-fixed-page-footer] {
  --ticker-min-height: 59px;
  min-height: var(--ticker-min-height);
  border-top: 1px solid transparent;
}

.page-shell > footer.page-footer--ticker[data-fixed-page-footer] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: var(--ticker-min-height);
  padding: 0 0 env(safe-area-inset-bottom, 0px);
  border-top: 1px solid #d59a18;
  background: #050505;
  color: #fbfaf5;
  overflow: hidden;
}

.page-footer--ticker > :not(.ticker, .ticker__outgoing) { display: none; }
.page-footer--ticker > :is(.ticker, .ticker__outgoing) { grid-area: 1 / 1; min-width: 0; }
.ticker__outgoing { pointer-events: none; }
.page-footer--entering > .ticker { transform: translateX(100%); }
.page-footer--entered > .ticker__outgoing { visibility: hidden; }
.ticker { display: flex; align-items: center; width: 100%; min-height: 58px; gap: .5rem; padding: 0 .75rem; box-sizing: border-box; }
.ticker__icon {
  display: flex;
  flex: 0 0 auto;
  align-self: stretch;
  align-items: center;
  gap: .65rem;
  min-height: 44px;
  margin-left: -.75rem;
  padding: 0 1.25rem 0 .75rem;
  border: 0;
  border-right: 5px solid #d59a18;
  border-radius: 0;
  background: #fbfaf5;
  color: #050505;
  cursor: pointer;
}
.ticker__image { display: block; flex: 0 0 52px; width: 52px; height: 52px; object-fit: contain; }
.ticker .ticker__label { flex: 0 0 auto; height: auto; background: none; color: #050505; font: 700 1.25rem/1.1 var(--display); white-space: nowrap; }
.ticker__viewport { flex: 1 1 auto; min-width: 0; overflow: hidden; scrollbar-width: none; }
.ticker__viewport::-webkit-scrollbar { display: none; width: 0; height: 0; }
.ticker__track { display: flex; width: max-content; }
.ticker__group { display: flex; flex: 0 0 auto; align-items: center; box-sizing: border-box; }
.ticker .ticker__message { display: flex; flex: 0 0 auto; align-items: center; height: auto; padding: .65rem 0; background: none; color: #fbfaf5; font: 700 1.35rem/1.3 var(--display); white-space: nowrap; text-decoration: none; }
.ticker__message::after { content: ""; display: block; flex: 0 0 7px; width: 7px; height: 7px; margin: 0 2rem; background: #d59a18; }
.ticker .ticker__link-arrow { display: none; flex: 0 0 auto; width: .62em; height: .82em; margin-left: .35em; background: transparent; color: #d59a18; }
.ticker .ticker__link-arrow svg { display: block; width: 100%; height: 100%; background: transparent; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 4.5; }
@media (pointer: coarse) {
  .ticker .ticker__link-arrow { display: grid; place-items: center; }
}
.ticker a:hover { text-decoration: underline; text-underline-offset: .2em; }
.ticker :is(a, button, .ticker__viewport):focus-visible { outline: 2px solid #f0b62a; outline-offset: -3px; box-shadow: none; }
.ticker .ticker__manage:focus-visible { outline: 2px solid #050505; outline-offset: -4px; box-shadow: none; }
.ticker--reduced .ticker__viewport { overflow-x: auto; }
.ticker--reduced .ticker__track { transform: none; }
.ticker--reduced .ticker__message { padding-block: .35rem; }

.admin-mfa-dialog { width: min(34rem, calc(100vw - 2rem)); }
.admin-mfa-dialog > form > header { padding: 1rem 1.25rem; }
.admin-mfa-dialog > form > header h2 { font-size: clamp(1.75rem, 4vw, 2.2rem); }
.admin-mfa-dialog [hidden] { display: none !important; }
.admin-mfa__body { display: grid; gap: .9rem; padding: 1.15rem 1.5rem 1.4rem; }
.admin-mfa__body > :is(.history-auth__status, .admin-mfa__intro, .admin-mfa__hint) { margin: 0; }
.admin-mfa__intro { color: #4b463d; font: 400 1rem/1.45 var(--body); }
.admin-mfa__setup { display: grid; justify-items: center; gap: .75rem; padding: 1rem; border: 1px solid #d59a18; background: #fffdf7; color: #27241f; text-align: center; }
.admin-mfa__setup > p { margin: 0; font: 400 .95rem/1.45 var(--body); }
.admin-mfa__print-card { display: grid; justify-items: center; gap: .5rem; padding: .75rem; border-left: 4px solid #d59a18; background: #fbfaf5; }
.admin-mfa__print-card h3 { margin: 0; font: 700 1.1rem/1.2 var(--display); text-transform: uppercase; }
.admin-mfa__print-card img { display: block; width: min(12rem, 55vw); height: auto; aspect-ratio: 1; padding: .4rem; border: 1px solid #d9d2c2; background: #fff; }
.admin-mfa__print-card p { max-width: 22rem; margin: 0; color: #625b4f; font: 400 .84rem/1.4 var(--body); }
.admin-mfa__body label { margin: 0; }
.admin-mfa__body input,
.admin-mfa__body select { box-sizing: border-box; min-height: 48px; }
.admin-mfa__body input[name="code"] { font: 700 1.65rem/1 var(--display); letter-spacing: .28em; text-align: center; }
.admin-mfa__hint { color: #655f53; font: 400 .85rem/1.35 var(--body); }
.admin-mfa__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; padding-top: .85rem; border-top: 1px solid #d8c58f; }
.admin-mfa__actions button,
.admin-mfa__print { min-height: 44px; padding: .6rem .85rem; border: 1px solid #050505; border-radius: 0; background: transparent; color: #050505; font: 700 1rem/1.1 var(--display); cursor: pointer; }
.admin-mfa__actions .admin-mfa__submit,
.admin-mfa__print { background: #d59a18; color: #050505; }
.admin-mfa__actions .admin-mfa__submit:hover,
.admin-mfa__print:hover { background: #f0b62a; }
.admin-mfa__actions .admin-mfa__skip { border-style: dashed; color: #67520e; }
.admin-mfa__actions button:disabled { opacity: .55; cursor: wait; }
.admin-mfa-dialog :is(button, input, select):focus-visible { outline: 3px solid #050505; outline-offset: 2px; box-shadow: 0 0 0 1px #d59a18; }
.ticker-admin { min-height: 100vh; background: #fbfaf5; color: #050505; }
.ticker-admin__header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: 1.25rem clamp(1rem, 4vw, 4rem); background: #050505; color: #fbfaf5; border-bottom: 2px solid #d59a18; }
.ticker-admin__header h1 { margin: 0; font: 700 clamp(1.8rem, 4vw, 2.8rem)/1 var(--display); text-transform: uppercase; }
.ticker-admin__header a { color: #f0b62a; }
.ticker-admin__main { max-width: 1100px; margin: auto; padding: 1.5rem clamp(1rem, 4vw, 3rem) 3rem; }
.ticker-admin__main h2 { font: 700 1.8rem/1.1 var(--display); }
.ticker-admin button, .ticker-auth .history-auth__actions button { min-height: 44px; padding: .55rem .85rem; border: 1px solid #050505; border-radius: 0; background: #050505; color: #fbfaf5; font: 700 1.05rem/1.2 var(--display); cursor: pointer; }
.ticker-admin button:disabled { opacity: .45; cursor: default; }
.ticker-admin button:hover:not(:disabled) { background: #d59a18; color: #050505; }
.ticker-admin [hidden] { display: none !important; }
.ticker-admin__form { display: grid; gap: 1rem; padding: 1.25rem; border: 1px solid #d59a18; }
.ticker-admin__form label { display: grid; gap: .4rem; font-weight: 700; }
.ticker-admin__form input:not([type="checkbox"]), .ticker-admin__form textarea { width: 100%; min-width: 0; box-sizing: border-box; padding: .65rem; border: 1px solid #050505; border-radius: 0; background: #fff; color: #050505; font: 1rem/1.5 var(--body); }
.ticker-admin__form textarea { min-height: 6rem; resize: vertical; }
.ticker-admin__form .ticker-admin__active { display: flex; align-items: center; gap: .5rem; }
.ticker-admin__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.ticker-admin__list { display: grid; gap: .75rem; padding: 0; list-style: none; }
.ticker-admin__list li { border-top: 1px solid #d59a18; padding: 1rem 0; overflow-wrap: anywhere; }
.ticker-admin__list p { margin: .3rem 0 .75rem; }
.ticker-admin__status { min-height: 1.5em; }
.ticker-admin__status.is-error { font-weight: 700; }
.ticker-admin__meta { font-size: .9rem; }
.ticker-admin__delete { width: min(30rem, calc(100vw - 2rem)); padding: 1.5rem; border: 1px solid #d59a18; background: #fbfaf5; color: #050505; }
.ticker-admin__delete::backdrop { background: rgb(5 5 5 / 75%); }

@media (min-width: 768px) {
  .page-shell > footer[data-fixed-page-footer] {
    --ticker-min-height: 45px;
    height: var(--ticker-min-height);
    padding: 0 1rem;
  }
  .page-shell > footer.page-footer--ticker[data-fixed-page-footer] { padding: 0; }
  .page-footer--ticker > .ticker__outgoing { min-height: 44px; height: 44px; padding: 0 1rem; box-sizing: border-box; }
  .page-shell > footer[data-fixed-page-footer] > :is(p, button),
  .ticker__outgoing > :is(p, button),
  .page-shell > footer[data-fixed-page-footer] > button > span,
  .ticker__outgoing > button > span { font-size: 1.25rem; line-height: 1.2; }
  .ticker { min-height: 44px; }
  .ticker__image { flex-basis: 40px; width: 40px; height: 40px; }
  .ticker .ticker__message { padding-block: .25rem; }
  .page-shell > footer[data-fixed-page-footer] > button,
  .ticker__outgoing > button { min-height: 44px; }
}

@media (max-width: 767px) {
  .page-shell > footer[data-fixed-page-footer] {
    --ticker-min-height: 36px;
    height: var(--ticker-min-height);
    padding: 0 .5rem;
  }
  .page-shell > footer.page-footer--ticker[data-fixed-page-footer] { padding: 0; }
  .page-footer--ticker > .ticker__outgoing { min-height: 35px; height: 35px; padding: 0 .5rem; box-sizing: border-box; }
  .page-shell > footer[data-fixed-page-footer] > button,
  .ticker__outgoing > button { min-height: 35px; padding-block: 0; line-height: 1.2; }
  .ticker-home-trigger { font: clamp(.7rem, 3.1vw, .95rem)/1.3 var(--body); }
  .ticker { min-height: 35px; padding: 0 .25rem; gap: .25rem; }
  .ticker__icon { min-height: 35px; gap: .25rem; margin-left: -.25rem; padding-right: 0; padding-left: .25rem; }
  .ticker__image { flex-basis: 32px; width: 32px; height: 32px; }
  .ticker .ticker__message { padding-block: .25rem; }
  .ticker .ticker__label { max-width: 68px; font-size: .95rem; white-space: normal; text-align: left; }
  .ticker .ticker__message { font-size: 1.1rem; }
  .ticker__message::after { margin: 0 1.25rem; }
}

@media (max-width: 520px) {
  .admin-mfa__body { padding: 1rem; gap: .75rem; }
  .admin-mfa__actions { justify-content: stretch; }
  .admin-mfa__actions button { flex: 1 1 auto; }
}

@media print {
  body.admin-mfa-printing * { visibility: hidden !important; }
  body.admin-mfa-printing > dialog.admin-mfa-dialog,
  body.admin-mfa-printing > dialog.admin-mfa-dialog [data-mfa-print-card],
  body.admin-mfa-printing > dialog.admin-mfa-dialog [data-mfa-print-card] * { visibility: visible !important; }
  body.admin-mfa-printing > dialog.admin-mfa-dialog { position: absolute; inset: 0; display: block; width: 100%; max-width: none; max-height: none; margin: 0; overflow: visible; border: 0; box-shadow: none; background: #fff; }
  body.admin-mfa-printing > dialog.admin-mfa-dialog > form { padding: 0; }
  body.admin-mfa-printing > dialog.admin-mfa-dialog > form > header,
  body.admin-mfa-printing .admin-mfa__body > :not([data-mfa-setup]),
  body.admin-mfa-printing .admin-mfa__setup > :not([data-mfa-print-card]) { display: none !important; }
  body.admin-mfa-printing .admin-mfa__body,
  body.admin-mfa-printing .admin-mfa__setup { display: block; padding: 0; border: 0; background: #fff; }
  body.admin-mfa-printing .admin-mfa__print-card { width: 100%; min-height: 90vh; align-content: center; border: 0; background: #fff; }
  body.admin-mfa-printing .admin-mfa__print-card img { width: 3.5in; max-width: 75vw; }
  body.admin-mfa-printing .admin-mfa__print-card p { margin-top: .5in; }
}
