/* Shared conversational layout rhythm. Existing brand colors and artwork stay in their page styles. */
.bc-skip-link {
  position: fixed;
  z-index: 2000;
  top: 8px;
  left: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  color: var(--gray-900);
  background: #fff;
  transform: translateY(-150%);
}
.bc-skip-link:focus { transform: none; }

body:not(.agb-page) {
  letter-spacing: -0.006em;
}
body:not(.agb-page) .app-navbar {
  padding: 8px 0;
}
body:not(.agb-page) .app-navbar .nav-link {
  border-radius: 9px;
  padding: 8px 10px;
}
body:not(.agb-page) .navbar-brand:hover {
  transform: none;
}
body:not(.agb-page) .app-main {
  padding: 24px 0 44px;
}
body.account-page .acc-shell,
body.admin-page .adm-shell {
  padding-top: 16px;
}
body:not(.agb-page) .container {
  max-width: 1280px;
}
body:not(.agb-page) .page-header {
  padding: clamp(20px, 2.5vw, 30px);
  margin-bottom: 20px;
  border-radius: 16px;
  box-shadow: var(--shadow-sm);
}
body:not(.agb-page) .page-header h1 {
  gap: 10px;
  margin-bottom: 6px;
  font-size: clamp(1.55rem, 2vw, 2rem);
  line-height: 1.25;
}
body:not(.agb-page) .page-header h1 i {
  font-size: 1em;
}
body:not(.agb-page) .page-header p {
  font-size: 0.95rem;
  line-height: 1.55;
}
body:not(.agb-page) .page-header-actions {
  gap: 8px;
  margin-top: 14px;
  flex-wrap: wrap;
}
body:not(.agb-page) :is(.card, .control-card, .display-card, .analysis-card):hover {
  transform: none;
  box-shadow: var(--shadow-sm);
}
body:not(.agb-page) :is(.card, .control-card, .display-card, .analysis-card) {
  border-radius: 14px;
}
body:not(.agb-page) .analysis-card {
  padding: clamp(16px, 2vw, 24px);
  margin-bottom: 16px;
}
body:not(.agb-page) .section-title {
  gap: 9px;
  padding-bottom: 10px;
  margin-bottom: 16px;
  font-size: 1.13rem;
}
body:not(.agb-page) :is(.form-control, .form-select) {
  min-height: 40px;
  border-radius: 10px;
  padding: 8px 12px;
}
body:not(.agb-page) textarea.form-control { min-height: 96px; }
body:not(.agb-page) .btn {
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 10px;
  box-shadow: none;
}
body:not(.agb-page) .btn::before { display: none; }
body:not(.agb-page) .btn:hover { transform: none; box-shadow: var(--shadow-sm); }
body:not(.agb-page) .btn-group .btn:first-child { border-radius: 10px 0 0 10px; }
body:not(.agb-page) .btn-group .btn:last-child { border-radius: 0 10px 10px 0; }
body:not(.agb-page) :is(button, a, input, textarea, select):focus-visible {
  outline-offset: 2px;
}

@media (max-width: 767.98px) {
  body:not(.agb-page) .app-main { padding: 16px 0 28px; }
  body:not(.agb-page) .page-header { margin-bottom: 14px; }
  body:not(.agb-page) .analysis-card { padding: 15px; }
}
