.business-tools {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  background: #eef3e5;
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
  font-size: 11px;
}
.profile-shortcuts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0; }
.profile-shortcuts button { padding:18px; text-align:start; border:1px solid var(--line); border-radius:12px; background:#f5f7ef; color:var(--ink); cursor:pointer; font:inherit; }
.profile-shortcuts b { display:block; font-size:16px; margin-bottom:6px; }
.profile-shortcuts span { display:block; font-size:12px; line-height:1.6; color:var(--muted); }
.profile-shortcuts button:hover { background:#ecf3df; }
.profile-shortcuts button:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.wallet-balances { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0; }
.wallet-balance { border:1px solid var(--line); padding:20px; border-radius:12px; background:#f5f7ef; min-width:0; }
.wallet-balance span { display:block; font-size:12px; color:var(--muted); margin-bottom:12px; }
.wallet-balance strong { display:block; font-size:24px; overflow-wrap:anywhere; }
.notification-count { position:absolute; inset-block-start:-4px; inset-inline-end:-5px; border-radius:12px; min-width:18px; padding:2px 4px; background:var(--ink); color:white; font-size:10px; line-height:14px; text-align:center; }
.notification-count[hidden] { display:none; }
.notification-unread { border-inline-start:4px solid #81a52d; background:#f9fbf3; }
.notification-new { display:inline-block; font-size:11px; font-weight:600; border-radius:10px; padding:3px 8px; color:var(--ink); background:#e5efc8; }
@media(max-width:420px) {
  .wallet-balances { grid-template-columns:1fr; }
  .profile-shortcuts button { padding:15px 12px; }
}
#business-dialog.security-dialog { width:min(580px,calc(100% - 24px)); }
.security-notice { padding:16px 18px; margin-bottom:22px; border:1px solid #dce7d5; border-radius:12px; background:#f2f6ec; font-size:14px; line-height:1.7; }
.security-notice p { margin:9px 0; }
.security-notice p:last-child { margin-bottom:0; }
.security-help { margin:18px 0; font-size:13px; line-height:1.8; }
.security-help summary,.profile-protection summary { cursor:pointer; font-weight:600; }
.security-help .form-field { margin-top:14px; }
.security-help a { color:var(--ink); text-underline-offset:3px; }
.security-steps { padding-inline-start:24px; font-size:14px; line-height:1.7; }
.security-steps li { margin-bottom:22px; padding-inline-start:4px; }
.security-steps p { margin-block:8px; }
#mfa-secret,#mfa-recovery { padding:14px; border-radius:9px; background:#f5f7f0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.8; }
.profile-protection { margin-top:22px; padding-top:18px; border-top:1px solid #e2e8dd; font-size:13px; line-height:1.8; }
.profile-protection p { margin:12px 0; }
.business-tools span {
  color: var(--muted);
}
#business-dialog {
  width: min(850px, calc(100% - 24px));
  max-height: 88vh;
  overflow: auto;
}
.business-tabs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.business-record {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 18px;
  margin: 15px 0;
}
.business-record p {
  font-size: 12px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.business-record h3 {
  font-size: 15px;
  margin-bottom: 10px;
}
.business-record form {
  margin-top: 14px;
}
#business-dialog textarea {
  width: 100%;
  min-height: 80px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  font: inherit;
}
#business-dialog h3 {
  margin: 15px 0 10px;
}
.business-pre {
  white-space: pre-wrap;
}
#mfa-secret,
#mfa-recovery {
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f3f6ec;
  overflow: auto;
  user-select: all;
}
#business-ticket input[name='bookingId'] {
  font-size: 11px;
}
/* Administrator booking list filters and pager (admin Reservations tab, Bookings dialog). */
.booking-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0 12px;
  align-items: end;
  margin: 12px 0;
}
.booking-filters .booking-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
}
.booking-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 14px 0;
  font-size: 12px;
}
@media (max-width: 600px) {
  .business-tools {
    padding: 8px 12px;
    gap: 6px;
    justify-content: center;
  }
  .business-tools button {
    font-size: 10px;
  }
  #business-dialog {
    padding: 18px;
  }
  .business-record {
    padding: 12px;
  }
}
