/* Free Arc-inspired completion pass for approved purple/Inter product UI.
   Native CSS only. No external assets, packages, tracking, or business logic.
   Excludes the already-approved public homepage and all legal/SEO pages. */
body.bba-ui {
  --arc2-stroke: #e8e1f1;
  --arc2-tint: #f8f5fe;
  --arc2-violet: #6f3bf5;
  --arc2-ink: #281348;
  --arc2-shadow: 0 12px 32px rgba(40, 19, 72, .055);
}
body.bba-ui :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #a98cff;
  outline-offset: 3px;
}
/* Consistent owner navigation across setup, storefront, team and billing. */
body.bba-owner .arc-owner-sections {
  display: flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  padding: 6px;
  margin: 0 0 26px;
  overflow-x: auto;
  scrollbar-width: thin;
  border-radius: 15px;
  border: 1px solid var(--arc2-stroke);
  background: #fff;
  box-shadow: var(--arc2-shadow);
}
body.bba-owner .arc-owner-section-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 10px;
  color: #62596f;
  text-decoration: none;
  font: 600 13px/1.4 BbaInter, Arial, sans-serif;
  white-space: nowrap;
  transition: background-color .18s ease, color .18s ease;
}
body.bba-owner .arc-owner-section-link:hover {
  background: var(--arc2-tint);
  color: #5926d6;
}
body.bba-owner .arc-owner-section-link.is-active {
  color: #fff;
  background: var(--arc2-violet);
  box-shadow: 0 4px 12px rgba(111, 59, 245, .17);
}
body.bba-owner .arc-owner-section-divider {
  width: 1px;
  height: 24px;
  flex: 0 0 1px;
  margin-inline: 6px;
  background: var(--arc2-stroke);
}
body.bba-owner .setup-page { min-width: 0; }
body.bba-owner :is(.setup-card, .team-member-card, .team-invitation-card,
  .storefront-service-settings-card, .billing-action-card) {
  border-color: var(--arc2-stroke);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--arc2-shadow);
}
body.bba-owner :is(.setup-overview, .team-overview-card,
  .storefront-publish-card, .billing-summary-card) {
  border-color: var(--arc2-stroke);
  border-radius: 15px;
  background: #faf8ff;
}
body.bba-owner :is(.setup-card, .team-member-card,
  .storefront-photo-row, .billing-action-card) {
  scroll-margin-top: 24px;
}
/* Compact forms; preserve labels, validation and browser controls. */
body.bba-owner :is(.setup-page, .storefront-settings-page, .team-workspace-page, .billing-workspace-page)
  :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  max-width: 100%;
  min-height: 44px;
  border-radius: 10px;
  border-color: #d9d0e7;
  background: #fff;
  font-family: BbaInter, Arial, sans-serif;
}
body.bba-owner :is(input, select, textarea):focus-visible { border-color: var(--arc2-violet); }
body.bba-owner :is(.storefront-photo-row, .team-member-card, .team-invitation-card) { min-width: 0; }
body.bba-owner :is(.storefront-photo-copy, .team-member-identity, .team-invitation-copy) {
  min-width: 0;
  overflow-wrap: anywhere;
}
body.bba-owner .storefront-upload-form {
  padding: 16px;
  border-radius: 13px;
  border: 1px dashed #c9b7eb;
  background: var(--arc2-tint);
}
body.bba-owner .billing-workspace-page .billing-plan-card,
body.bba-owner .team-invite-card {
  border-color: var(--arc2-stroke);
  box-shadow: var(--arc2-shadow);
}
/* Appointment operations: compact KPI cards, clear search and status filters. */
body.bba-appointments .arc-workspace-switcher {
  display: flex;
  gap: 5px;
  width: fit-content;
  max-width: 100%;
  padding: 5px;
  margin: 0 0 20px;
  overflow-x: auto;
  border: 1px solid var(--arc2-stroke);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--arc2-shadow);
}
body.bba-appointments .arc-switch-item {
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  min-width: 104px;
  padding: 10px 16px;
  border-radius: 10px;
  color: #62596f;
  font: 600 14px/1.4 BbaInter, Arial, sans-serif;
  text-decoration: none;
}
body.bba-appointments .arc-switch-item:hover { color: #5926d6; background: var(--arc2-tint); }
body.bba-appointments .arc-switch-item.is-current {
  color: #fff;
  background: var(--arc2-violet);
}
body.bba-appointments .owner-management-kpis > article {
  border: 1px solid var(--arc2-stroke);
  border-radius: 14px;
  box-shadow: var(--arc2-shadow);
}
body.bba-appointments .owner-management-toolbar,
body.bba-appointments .owner-management-booking,
body.bba-appointments .owner-management-side-card,
body.bba-appointments .owner-waitlist-management-card {
  border-color: var(--arc2-stroke);
  border-radius: 15px;
  background: #fff;
  box-shadow: var(--arc2-shadow);
}
body.bba-appointments .owner-management-search input {
  min-height: 44px;
  border-radius: 10px;
}
body.bba-appointments .owner-management-status-filters a {
  min-height: 44px;
  border-radius: 10px;
  transition: background-color .18s ease, border-color .18s ease;
}
body.bba-appointments .owner-management-status-filters a:hover {
  background: #f4eeff;
  border-color: #d0bafa;
}
body.bba-appointments .owner-management-booking-body,
body.bba-appointments .owner-management-details { min-width: 0; }
body.bba-appointments .owner-management-booking:hover { border-color: #cbb6f4; }
/* Internal platform admin: dense, consistent metrics and tables on desktop/mobile. */
body.bba-admin :is(.platform-admin-hero, .platform-filter-bar, .platform-business-card,
  .platform-reminder-monitor, .platform-attention-strip, .platform-detail-grid > section,
  .platform-management-card) {
  border-color: var(--arc2-stroke);
  border-radius: 16px;
  box-shadow: var(--arc2-shadow);
}
body.bba-admin .platform-admin-hero { background: linear-gradient(115deg, #fff 0%, #f6f0ff 100%); }
body.bba-admin :is(.platform-filter-bar, .platform-business-list) { min-width: 0; }
body.bba-admin .platform-filter-bar :is(input, select) {
  min-height: 44px;
  border-radius: 10px;
}
body.bba-admin .platform-business-card { transition: border-color .18s ease, box-shadow .18s ease; }
body.bba-admin .platform-business-card:hover {
  border-color: #cbb6f4;
  box-shadow: 0 16px 34px rgba(40, 19, 72, .10);
}
body.bba-admin :is(.platform-card-badges, .platform-hero-badges, .platform-admin-actions) {
  flex-wrap: wrap;
}
body.bba-admin .platform-admin-nav :is(a, button) { min-height: 44px; }
/* Customer booking: calm step hierarchy without altering progressive steps. */
body.bba-booking .booking-card,
body.bba-booking .customer-appointment-summary,
body.bba-booking .customer-manage-card {
  border-color: var(--arc2-stroke);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--arc2-shadow);
}
body.bba-booking .booking-step { scroll-margin-top: 24px; }
body.bba-booking .booking-step.is-active { border-color: #d0bafa; }
body.bba-booking .booking-service-grid > :is(a, label, button),
body.bba-booking .slot-grid > :is(a, label, button) {
  border-radius: 12px;
  transition: border-color .18s ease, background-color .18s ease;
}
body.bba-booking .booking-service-grid > :is(a, label, button):hover,
body.bba-booking .slot-grid > :is(a, label, button):hover {
  border-color: #c1a6ff;
  background: #faf7ff;
}
body.bba-booking .booking-calendar-panel { border-color: var(--arc2-stroke); border-radius: 14px; }
body.bba-booking :is(.booking-confirm-form, .customer-manage-card) input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]) {
  min-height: 44px;
  border-radius: 10px;
}
/* Customer storefront: preserve each braider's content and image crop. */
body.bba-storefront .storefront-hero,
body.bba-storefront .storefront-booking-panel,
body.bba-storefront .storefront-service-card {
  border-color: var(--arc2-stroke);
  border-radius: 17px;
  box-shadow: var(--arc2-shadow);
}
body.bba-storefront .storefront-service-card {
  min-width: 0;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.bba-storefront .storefront-service-card:hover {
  border-color: #cbb6f4;
  box-shadow: 0 16px 38px rgba(40, 19, 72, .11);
  transform: translateY(-2px);
}
body.bba-storefront .storefront-service-content { min-width: 0; }
body.bba-storefront .storefront-service-content :is(h3, p) { overflow-wrap: anywhere; }
/* Access screens and support: polish within existing layout, no copy changes. */
body.bba-auth .auth-form-card {
  border-color: var(--arc2-stroke);
  border-radius: 18px;
  box-shadow: var(--arc2-shadow);
}
body.bba-auth .auth-form-card :is(input, select) { min-height: 44px; border-radius: 10px; }
body.bba-support .support-card,
body.bba-support .support-hours {
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(40, 19, 72, .045);
}
@media (max-width: 900px) {
  body.bba-owner .arc-owner-sections { margin-bottom: 20px; }
  body.bba-owner .arc-owner-section-link { padding-inline: 12px; }
  body.bba-admin .platform-admin-hero { gap: 14px; }
}
@media (max-width: 600px) {
  body.bba-owner .arc-owner-sections { border-radius: 12px; }
  body.bba-owner .arc-owner-section-link { font-size: 12px; }
  body.bba-appointments .arc-workspace-switcher { width: 100%; }
  body.bba-appointments .arc-switch-item { min-width: 0; flex: 1 0 auto; padding-inline: 10px; }
  body.bba-appointments .owner-management-header-actions .button { min-height: 44px; }
  body.bba-appointments .owner-management-toolbar { min-width: 0; }
  body.bba-admin .platform-filter-bar { gap: 12px; }
  body.bba-booking .booking-card { border-radius: 14px; }
  body.bba-storefront .storefront-service-card { border-radius: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  body.bba-ui .arc-owner-section-link,
  body.bba-ui .arc-switch-item,
  body.bba-ui .owner-management-status-filters a,
  body.bba-ui .platform-business-card,
  body.bba-ui .booking-service-grid > :is(a, label, button),
  body.bba-ui .slot-grid > :is(a, label, button),
  body.bba-ui .storefront-service-card {
    transition: none !important;
    transform: none !important;
  }
}
