/* Management-page typography overrides. Loaded last to preserve the existing layout. */
:root {
  --admin-body-size: 14px;
  --admin-small-size: 12px;
  --admin-label-size: 11px;
  --admin-body-leading: 1.6;
}

body {
  font-size: var(--admin-body-size);
  font-weight: 400;
  line-height: var(--admin-body-leading);
  letter-spacing: -.012em;
}

button,
input,
select,
textarea {
  line-height: 1.45;
}

input::placeholder,
textarea::placeholder {
  color: #9b928c;
  opacity: 1;
}

.eyebrow,
.panel-label {
  font-size: var(--admin-label-size);
  line-height: 1.5;
  letter-spacing: .14em;
}

.login-mark small,
.admin-wordmark small {
  font-size: 10px;
}

.login-card > p:not(.eyebrow) {
  font-size: 14px;
  line-height: 1.7;
}

.login-card label {
  font-size: 13px;
}

.login-card button,
.save-button {
  min-height: 52px;
  align-items: center;
  font-size: 13px;
}

.error {
  font-size: 12px;
  line-height: 1.5;
}

.admin-header > div,
.text-button {
  font-size: 12px;
}

.side-nav p {
  font-size: 10px;
}

.side-nav a,
.side-nav a span {
  font-size: 13px;
  line-height: 1.5;
}

.welcome > p {
  font-size: 14px;
  line-height: 1.75;
}

.metric-grid span {
  font-size: 13px;
  font-weight: 600;
}

.metric-grid small {
  font-size: 11px;
  line-height: 1.55;
}

.panel h2 {
  font-size: 28px;
  line-height: 1.35;
}

.export-button,
.toolbar nav button {
  font-size: 12px;
  font-weight: 600;
}

.search input,
.qr-search input {
  font-size: 13px;
}

th {
  font-size: 11px;
  line-height: 1.45;
}

td {
  font-size: 13px;
  line-height: 1.55;
}

td strong {
  font-size: 14px;
}

td small {
  font-size: 11px;
  line-height: 1.55;
}

.service-pill,
.status-pill {
  font-size: 11px;
  font-weight: 600;
}

.empty {
  font-size: 13px;
  line-height: 1.6;
}

.upcoming-date small,
.schedule-panel .upcoming-date small {
  font-size: 10px;
}

.upcoming-item h3,
.schedule-panel .upcoming-item h3 {
  font-size: 13px;
  line-height: 1.5;
}

.upcoming-item p,
.schedule-panel .upcoming-item p {
  font-size: 11px;
  line-height: 1.6;
}

.tip-card > span,
.guide-badge,
.guide-grid article > span {
  font-size: 10px;
}

.tip-card p,
.guide-grid li {
  font-size: 12px;
  line-height: 1.7;
}

.detail-summary span,
#detail-form > label,
.member-assignment legend,
.schedule-form-grid label {
  font-size: 12px;
}

.detail-summary b,
#detail-form select,
#detail-form textarea,
.schedule-form-grid input,
.schedule-form-grid select,
.schedule-form-grid textarea {
  font-size: 14px;
  line-height: 1.55;
}

.member-assignment legend span,
.member-assignment > p,
.member-option-visual b,
.delete-schedule,
#detail-status-message,
#schedule-form-status {
  font-size: 11px;
  line-height: 1.5;
}

.new-schedule-button,
.month-controls button,
.calendar-toolbar > #month-today {
  font-size: 12px;
  font-weight: 600;
}

.calendar-head > div > p:last-child,
.manual-head > div > p:last-child {
  font-size: 13px;
  line-height: 1.7;
}

.calendar-weekdays span {
  font-size: 11px;
  font-weight: 600;
}

.day-number {
  font-size: 14px;
}

.calendar-event,
.calendar-more {
  font-size: 10px;
}

.agenda-item > span,
.agenda-item small {
  font-size: 11px;
  line-height: 1.5;
}

.agenda-item strong {
  font-size: 13px;
  line-height: 1.5;
}

.growth-current > span,
.growth-current small,
.growth-foot,
.growth-foot small {
  font-size: 11px;
  line-height: 1.55;
}

.growth-y-label,
.growth-x-label {
  font-size: 11px;
}

.manual-controls > button,
.manual-controls > span {
  font-size: 11px;
}

/* QR event creation and saved-event cards */
.qr-panel-head > div > p:last-child {
  font-size: 13px;
  line-height: 1.7;
}

.prototype-badge,
.qr-form-head span,
.qr-card-identity > div > span {
  font-size: 10px;
  line-height: 1.5;
}

.qr-form-head h3,
.qr-list-head h3 {
  font-size: 24px;
  line-height: 1.35;
}

.qr-form-head button,
.qr-address-row button {
  font-size: 12px;
  font-weight: 600;
}

.qr-event-form label {
  font-size: 12px;
}

.qr-event-form input:not([type]) {
  height: 48px;
  font-size: 14px;
}

.qr-address-row span,
.qr-slug-field small,
.qr-url-preview span,
.qr-url-preview small {
  font-size: 11px;
  line-height: 1.55;
}

.qr-address-row strong {
  font-size: 13px;
  line-height: 1.5;
}

.qr-defaults,
.qr-form-status {
  font-size: 12px !important;
  line-height: 1.6;
}

.qr-url-preview code {
  font-size: 11px;
  line-height: 1.55;
}

.qr-save-draft {
  min-height: 50px;
  font-size: 13px;
}

.qr-card-identity h4 {
  font-size: 20px;
  line-height: 1.4;
}

.qr-card-identity small,
.qr-card-urls span,
.qr-card-urls code {
  font-size: 10px;
  line-height: 1.55;
}

.qr-status-select,
.qr-card-actions button {
  min-height: 34px;
  font-size: 11px;
  font-weight: 600;
}

@media (max-width: 850px) {
  :root {
    --admin-body-size: 15px;
    --admin-small-size: 13px;
  }

  .admin-content {
    line-height: 1.65;
  }

  .panel h2 {
    font-size: 26px;
  }

  .calendar-event {
    font-size: 0;
  }
}

@media (max-width: 520px) {
  .eyebrow,
  .panel-label {
    font-size: 10px;
  }

  .login-card h1,
  .welcome h1 {
    line-height: 1.28;
  }

  .qr-form-head h3,
  .qr-list-head h3 {
    font-size: 22px;
  }

  .qr-event-form input:not([type]),
  .search input,
  .qr-search input,
  #detail-form select,
  #detail-form textarea,
  .schedule-form-grid input,
  .schedule-form-grid select,
  .schedule-form-grid textarea {
    font-size: 16px;
  }
}
