/* Approved refinements for secondary pages. Not loaded by landing pages. */
:root {
  --ui-muted:#bcb5aa;
  --ui-line:#51483b
}

:focus-visible {
  outline:2px solid var(--sb-amber,#d4a853)!important;
  outline-offset:4px!important
}

body input::placeholder,body textarea::placeholder {
  color:var(--ui-muted)!important;
  opacity:1!important
}

input,textarea,select {
  caret-color:var(--sb-amber,#d4a853)
}

a {
  text-underline-offset:4px
}

button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent
}

.ui-note {
  font-size:14px;
  line-height:1.65;
  color:var(--sb-ink-soft,#d1c8ba);
  max-width:62ch;
  margin:10px 0 24px
}

.ui-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 20px;
  background:var(--sb-amber,#d4a853);
  color:#17130e!important;
  border-radius:8px;
  font:600 15px/1.4 'DM Sans',sans-serif;
  text-decoration:none
}

.ui-password {
  position:relative
}

.ui-password input {
  padding-right:72px!important;
  width:100%!important;
  box-sizing:border-box
}

.ui-password button {
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  min-height:44px;
  padding:0 10px;
  border:0;
  background:transparent;
  color:var(--sb-ink-soft);
  font:500 13px 'DM Sans',sans-serif;
  cursor:pointer
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
  scroll-behavior:auto!important;
  transition:none!important
}
}

.auth-page .auth-container {
  min-height:100svh
}

.auth-page .auth-panel-left {
  flex:0 0 40%!important;
  padding:64px!important;
  border-right:1px solid var(--sb-line-soft)
}

.auth-page .auth-brand h1 {
  font-size:clamp(42px,4.8vw,66px)!important;
  letter-spacing:-.02em
}

.auth-page .auth-brand p {
  font-size:17px;
  line-height:1.7;
  max-width:30ch!important
}

.auth-page .auth-panel-right {
  max-width:none!important;
  padding:64px clamp(32px,7vw,110px)!important;
  justify-content:center
}

.auth-page .auth-panel-right>* {
  width:100%;
  max-width:450px;
  margin-inline:auto
}

.auth-page .auth-back {
  width:fit-content;
  margin:0 0 36px!important;
  min-height:44px
}

.auth-page .auth-header h2 {
  font-size:36px!important;
  line-height:1.15;
  letter-spacing:-.02em
}

.auth-page .auth-header p {
  font-size:16px;
  line-height:1.6
}

.auth-page input.form-input:not([type=checkbox]):not([type=radio]) {
  background:var(--sb-surface)!important;
  border-color:var(--ui-line)!important;
  font-size:16px!important;
  min-height:52px;
  padding:12px 16px
}

.auth-page .auth-form {
  gap:16px
}

.auth-page .form-group {
  margin-bottom:8px
}

.auth-page .form-label {
  font-size:14px;
  font-weight:500
}

.auth-page .form-hint {
  color:var(--ui-muted)!important;
  font-size:14px!important;
  line-height:1.6
}

.auth-page .auth-testimonial {
  left:64px!important;
  right:48px!important;
  bottom:40px!important
}

.auth-page .btn {
  min-height:50px
}

.auth-page .form-checkbox {
  min-height:44px
}

.auth-page .form-checkbox label {
  line-height:1.65;
  font-size:14px
}

@media(max-width:800px) {
  .auth-page .auth-panel-left {
  display:none!important
}.auth-page .auth-panel-right {
  padding:24px!important;
  justify-content:flex-start
}.auth-page .auth-back {
  margin-bottom:24px!important
}.auth-page .auth-header {
  margin-bottom:26px!important
}.auth-page .auth-header h2 {
  font-size:32px!important
}.auth-page .form-group {
  margin-bottom:6px
}.auth-page .auth-container {
  height:auto!important
}.auth-page .auth-panel-right>* {
  max-width:480px
}
}

@media(max-width:800px) {
  .auth-page .form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}.auth-page .form-row input {
  min-width:0
}.auth-page .form-row>* {
  min-width:0
}.auth-page #registerForm>p {
  margin-bottom:24px!important
}
}

.auth-page #forgotPasswordForm {
  padding-top:8px
}

.auth-page #forgotPasswordForm .btn {
  margin-top:8px
}

.auth-page .auth-header a {
  display:inline-block;
  min-height:30px
}

.verification-page .auth-alert {
  padding:20px!important;
  font-size:15px;
  line-height:1.65;
  border-radius:10px
}

.verification-page .ui-link {
  margin:24px 0 0;
  width:fit-content
}

.verification-page .auth-header {
  margin-bottom:16px!important
}

.dashboard-page .container {
  max-width:1180px!important;
  padding:28px!important
}

.dashboard-page .header {
  padding:0 0 24px!important;
  background:none!important;
  border:0!important;
  border-bottom:1px solid var(--sb-line-soft)!important;
  border-radius:0!important
}

.dashboard-page .welcome-section {
  padding:32px 0 24px
}

.dashboard-page .welcome-title {
  font-size:34px!important;
  letter-spacing:-.02em
}

.dashboard-page .main-grid {
  grid-template-columns:minmax(0,1fr) 280px!important;
  align-items:start;
  gap:36px
}

.dashboard-page .go-live-section {
  padding:0!important;
  background:none!important;
  border:0!important;
  min-height:0!important
}

.dashboard-page .events-grid {
  grid-template-columns:1fr!important;
  gap:16px
}

.dashboard-page .event-card {
  padding:24px!important;
  background:var(--sb-surface)!important;
  border:1px solid var(--sb-line-soft)!important;
  border-radius:12px!important
}

.dashboard-page .event-name {
  font-size:21px!important
}

.dashboard-page .event-actions {
  gap:12px!important;
  flex-wrap:wrap
}

.dashboard-page .event-actions button,.dashboard-page .event-actions a {
  min-height:44px;
  min-width:44px
}

.dashboard-page .sidebar {
  background:none!important;
  border:0!important;
  padding:0!important
}

.dashboard-page .workspace-help {
  padding:24px 0!important
}

.dashboard-page .workspace-help h3 {
  font-size:18px
}

.dashboard-page .workspace-help p {
  font-size:15px;
  line-height:1.7
}

.dashboard-page .admin-section {
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--sb-line-soft)!important;
  border-radius:0!important;
  margin-top:40px;
  padding:24px 0!important
}

@media(max-width:760px) {
  .dashboard-page .container {
  padding:20px!important
}.dashboard-page .main-grid {
  grid-template-columns:1fr!important
}.dashboard-page .welcome-title {
  font-size:29px!important
}.dashboard-page .event-card {
  padding:20px!important
}.dashboard-page .header {
  gap:16px!important;
  flex-wrap:wrap
}
}

.setup-page .setup-container {
  max-width:1120px;
  min-height:100svh;
  margin:auto;
  align-items:center;
  gap:56px;
  padding:48px
}

.setup-page .preview-panel {
  flex:0 0 38%;
  padding:36px!important;
  border-radius:12px;
  min-height:0!important
}

.setup-page .form-panel {
  padding:24px 0!important;
  flex:1;
  min-width:0
}

.setup-page .form-header h1 {
  font-size:36px!important;
  letter-spacing:-.02em
}

.setup-page .form-header p {
  font-size:16px;
  line-height:1.7
}

.setup-page input {
  background:var(--sb-surface)!important;
  border-color:var(--ui-line)!important;
  min-height:52px;
  font-size:16px
}

.setup-page .help-text {
  color:var(--ui-muted)!important;
  line-height:1.6;
  font-size:14px
}

.setup-page .preview-qr {
  padding:20px!important
}

.setup-page #preview-qr-code,.setup-page #preview-qr-code canvas {
  width:200px!important;
  height:200px!important
}

.setup-page .preview-url {
  overflow-wrap:anywhere
}

.setup-page .button-group {
  margin-top:32px;
  gap:12px
}

.setup-page .button-group button {
  min-height:48px
}

@media(max-width:800px) {
  .setup-page .setup-container {
  display:flex;
  flex-direction:column;
  gap:36px;
  padding:24px
}.setup-page .form-panel {
  order:0;
  width:100%
}.setup-page .preview-panel {
  order:1;
  width:100%;
  padding:24px!important
}.setup-page .form-header h1 {
  font-size:30px!important
}.setup-page .preview-qr {
  width:190px!important;
  height:190px!important;
  padding:20px!important;
  margin:0 auto 24px
}.setup-page #preview-qr-code,.setup-page #preview-qr-code img,.setup-page #preview-qr-code canvas,.setup-page #preview-qr-code svg {
  width:150px!important;
  height:150px!important
}.setup-page .button-group button {
  padding:12px!important;
  white-space:nowrap;
  font-size:15px
}.setup-page .preview-url {
  padding:16px!important
}.setup-page .preview-url-value {
  font:14px/1.65 var(--font-body)!important;
  overflow-wrap:anywhere
}.setup-page .slug-preview {
  font:13px/1.65 var(--font-body)!important;
  overflow-wrap:anywhere;
  color:var(--ui-muted)!important
}
}

.church-settings-page .container {
  max-width:1160px!important;
  padding:32px!important;
  display:grid;
  grid-template-columns:206px minmax(0,1fr);
  gap:32px 44px;
  align-items:start
}

.church-settings-page .header {
  grid-column:1/-1;
  margin:0!important;
  padding:0 0 28px!important;
  border:0!important;
  border-bottom:1px solid var(--sb-line-soft)!important;
  border-radius:0!important;
  background:none!important;
  gap:20px
}

.church-settings-page .header h1 {
  font-size:32px!important;
  letter-spacing:-.02em
}

.church-settings-page .church-url {
  font-family:var(--font-body)!important;
  color:var(--ui-muted)!important;
  margin-top:8px
}

.church-settings-page .tab-nav {
  display:flex!important;
  flex-direction:column;
  gap:4px;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important
}

.church-settings-page .tab-button {
  text-align:left;
  min-height:46px;
  white-space:normal;
  padding:12px 16px!important;
  border-radius:8px!important;
  font-size:15px!important
}

.church-settings-page .tab-button.active {
  background:var(--sb-surface-raised)!important;
  color:var(--sb-ink)!important;
  box-shadow:inset 0 -2px var(--sb-amber)
}

.church-settings-page .tab-content {
  grid-column:2;
  min-width:0;
  padding:0!important
}

.church-settings-page .tab-content.active {
  animation:none!important
}

.church-settings-page .section-title {
  font-size:24px!important
}

.church-settings-page .section-actions {
  margin-bottom:28px;
  gap:16px;
  flex-wrap:wrap
}

.church-settings-page .form-input {
  background:var(--sb-surface)!important;
  border-color:var(--ui-line)!important;
  min-height:50px;
  font-size:16px!important
}

.church-settings-page .form-group {
  margin-bottom:26px
}

.church-settings-page .form-label {
  font-size:14px
}

.church-settings-page .form-group>div[style] {
  color:var(--ui-muted)!important;
  font-size:14px!important;
  line-height:1.6!important
}

.church-settings-page .btn {
  min-height:44px
}

@media(max-width:760px) {
  .church-settings-page .container {
  display:block;
  padding:20px!important
}.church-settings-page .header {
  flex-direction:column;
  align-items:flex-start!important;
  gap:16px
}.church-settings-page .header h1 {
  font-size:28px!important
}.church-settings-page .tab-nav {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin:24px 0 32px!important
}.church-settings-page .tab-button {
  font-size:14px!important;
  padding:12px!important;
  background:var(--sb-surface)!important
}.church-settings-page .tab-content {
  width:100%
}.church-settings-page .section-title {
  font-size:23px!important
}
}

.ui-table-scroll {
  overflow-x:auto;
  max-width:100%;
  border:1px solid var(--sb-line-soft);
  border-radius:10px
}

.members-table {
  min-width:660px!important;
  margin:0!important;
  width:100%
}

.members-table td,.members-table th {
  padding:18px 16px!important
}

.ui-scroll-hint {
  display:none;
  color:var(--ui-muted);
  font-size:13px
}

@media(max-width:760px) {
  .ui-scroll-hint {
  display:block;
  margin:0 0 12px
}.members-table button {
  min-height:44px!important
}
}

.church-settings-page .event-card {
  padding:24px!important;
  border:1px solid var(--sb-line-soft)!important;
  border-radius:12px;
  background:var(--sb-surface)!important;
  margin-bottom:20px
}

.church-settings-page .event-name {
  font-size:22px!important
}

.church-settings-page .event-url {
  padding:12px 0!important;
  background:none!important;
  overflow-wrap:anywhere
}

.church-settings-page .event-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px!important
}

.church-settings-page .event-actions button {
  min-width:44px;
  min-height:44px
}

.church-settings-page .event-description {
  font-size:15px!important;
  line-height:1.7
}

.church-settings-page #context-tab>p {
  font-size:16px!important;
  color:var(--sb-ink-soft)!important;
  line-height:1.75
}

.church-settings-page #context-terms-input {
  min-height:160px;
  padding:16px;
  line-height:1.9
}

.church-settings-page #language-terms-container {
  margin:24px 0
}

.church-settings-page #context-tab .form-group {
  margin-top:28px
}

.church-settings-page #church-danger-zone {
  margin-top:48px!important;
  border-top:1px solid var(--sb-line-soft);
  padding-top:28px
}

.church-settings-page .btn-danger {
  background:transparent!important;
  border:1px solid #a65c50!important;
  color:#f0b6a9!important
}

.church-settings-page #settings-tab input {
  max-width:100%
}

#billing-status-banner {
  padding:24px!important;
  background:var(--sb-surface)!important;
  border-color:var(--sb-line-soft)!important
}

#billing-status-label {
  font-size:21px!important;
  color:var(--sb-ink)!important;
  margin-bottom:10px!important
}

#billing-status-detail {
  font-size:15px!important;
  line-height:1.75;
  color:var(--sb-ink-soft)!important
}

#billing-usage-section {
  margin-top:36px
}

#billing-usage-content {
  padding:24px!important;
  background:transparent!important;
  border:1px solid var(--sb-line-soft)!important
}

#billing-usage-content * {
  font-variant-numeric:tabular-nums
}

.profile-page .container {
  max-width:1160px!important;
  padding:32px!important
}

.profile-page .profile-header {
  padding:0 0 28px!important;
  background:none!important;
  border:0!important;
  border-bottom:1px solid var(--sb-line-soft)!important;
  border-radius:0!important
}

.profile-page .profile-header h1 {
  font-size:34px!important
}

.profile-page .profile-header .subtitle {
  font-size:16px
}

.profile-page .profile-grid {
  grid-template-columns:240px minmax(0,1fr)!important;
  gap:40px;
  margin-top:32px
}

.profile-page .profile-sidebar {
  background:transparent!important;
  border:0!important;
  padding:0!important
}

.profile-page .profile-content {
  background:none!important;
  border:0!important;
  padding:0!important;
  min-width:0
}

.profile-page .section-card {
  padding:28px!important;
  margin-bottom:24px;
  border:1px solid var(--sb-line-soft)!important;
  background:var(--sb-surface)!important;
  box-shadow:none!important
}

.profile-page .section-title {
  color:var(--sb-ink)!important;
  font-size:22px!important
}

.profile-page input {
  min-height:50px;
  font-size:16px;
  background:var(--sb-night)!important;
  border-color:var(--ui-line)!important
}

.profile-page .input-hint,.profile-page .section-description {
  color:var(--ui-muted)!important;
  font-size:14px!important;
  line-height:1.65
}

.profile-page .btn {
  min-height:44px
}

@media(max-width:760px) {
  .profile-page .container {
  padding:20px!important
}.profile-page .profile-grid {
  display:block!important
}.profile-page .profile-sidebar {
  margin-bottom:28px
}.profile-page .avatar-section {
  text-align:left;
  padding:0!important;
  display:grid;
  grid-template-columns:64px 1fr;
  gap:4px 16px;
  align-items:center
}.profile-page .avatar-wrapper {
  grid-row:1/4;
  width:64px;
  height:64px;
  margin:0!important
}.profile-page .avatar {
  width:64px;
  height:64px;
  font-size:22px
}.profile-page .user-name,.profile-page .user-email {
  margin:0!important
}.profile-page .profile-meta {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:20px
}.profile-page .meta-item {
  border:0!important;
  padding:0!important
}.profile-page .section-card {
  padding:22px!important
}.profile-page .form-row {
  grid-template-columns:1fr!important;
  gap:0
}
}

.host-page .setup-container {
  max-width:540px!important;
  padding:36px!important
}

.host-page .setup-header h1 {
  font-size:32px!important;
  letter-spacing:-.02em;
  line-height:1.15
}

.host-page .setup-header .subtitle {
  font-size:16px;
  line-height:1.6;
  margin-top:12px
}

.host-page .readiness-row {
  padding-block:20px!important
}

.host-page .readiness-heading strong {
  font-size:17px
}

.host-page .setup-mic-select {
  min-height:46px;
  font-size:15px!important;
  border-color:var(--ui-line)!important
}

.host-page .setup-audio-help {
  font-size:14px!important;
  line-height:1.65;
  color:var(--ui-muted)!important
}

.host-page .setup-setting-label {
  font-size:14px!important
}

.host-page .setup-setting-value {
  font-size:17px!important
}

.host-page .setup-btn-golive {
  min-height:54px!important;
  margin-top:24px
}

.host-page .setup-footer-note {
  font-size:13px!important;
  line-height:1.65
}

@media(max-width:600px) {
  .host-page .setup-screen {
  padding:20px!important
}.host-page .setup-container {
  padding:24px!important;
  width:100%
}.host-page .setup-header h1 {
  font-size:28px!important
}
}

.host-page .caption-preview-header h2 {
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:20px!important
}

.host-page .caption-preview-panel {
  border-color:var(--sb-line-soft)!important
}

.host-page .service-status-rail {
  padding:24px!important
}

.host-page .service-status-item {
  padding-block:18px!important
}

.host-page .service-status-item>span {
  font-size:13px!important;
  text-transform:none!important;
  letter-spacing:0!important
}

.host-page .service-status-item strong {
  font-size:16px!important
}

.host-page .header-right button {
  min-height:44px
}

.host-page .caption-tab {
  min-height:44px!important
}

.host-page .operator-feedback-hint {
  font-size:13px!important;
  line-height:1.6;
  max-width:100%
}

.host-page .host-service-context strong {
  font-size:21px!important
}

.host-page .control-bar {
  border-top-color:var(--sb-line)!important
}

.host-page .btn-end-call {
  background:transparent!important;
  border:1px solid #92574e!important;
  color:#f0b6a9!important
}

@media(max-width:600px) {
  .host-page .header-content {
  gap:18px
}.host-page .header-right {
  gap:8px;
  flex-wrap:wrap
}.host-page .caption-preview-header {
  padding:18px!important
}
}

.presentation-page .join-container {
  max-width:480px!important;
  padding:36px!important
}

.presentation-page .join-header h1 {
  font-size:32px!important;
  line-height:1.2
}

.presentation-page .join-header p {
  font-size:16px!important;
  line-height:1.7;
  color:var(--sb-ink-soft)!important
}

.presentation-page .join-header-icon {
  display:none
}

.presentation-page #session-code {
  min-height:62px;
  font-size:28px!important;
  letter-spacing:.12em;
  background:var(--sb-surface-raised)!important;
  border-color:var(--ui-line)!important
}

.presentation-page .setup-setting-row {
  min-height:76px;
  padding:16px!important;
  margin-top:22px!important
}

.presentation-page .setup-setting-value {
  font-size:17px!important
}

.presentation-page .btn-join {
  min-height:54px;
  margin-top:24px
}

.presentation-page .setup-setting-action {
  font-size:14px!important;
  text-decoration:underline;
  text-underline-offset:4px
}

@media(max-width:600px) {
  .presentation-page .join-screen {
  padding:20px!important
}.presentation-page .join-container {
  padding:28px!important;
  width:100%
}.presentation-page .join-header h1 {
  font-size:28px!important
}
}

.presentation-page .top-bar {
  padding:16px 24px!important;
  gap:16px;
  background:var(--sb-night,#13100c)!important;
  border-bottom:1px solid var(--sb-line-soft)
}

.presentation-page .control-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  min-width:44px;
  padding:10px 14px!important;
  font-size:14px;
  border:1px solid var(--sb-line)!important;
  border-radius:8px!important
}

.presentation-page .session-info {
  font-size:15px!important
}

.presentation-page .status-indicator {
  font-size:13px!important
}

@media(max-width:700px) {
  .presentation-page .top-bar {
  padding:12px 16px!important;
  flex-wrap:wrap
}.presentation-page .controls {
  gap:8px;
  flex-wrap:wrap
}.presentation-page .control-btn {
  padding:10px!important
}.presentation-page .session-info {
  font-size:14px!important
}
}

.presentation-page .settings-panel {
  width:min(390px,100vw)!important;
  padding:28px!important
}

.presentation-page .settings-panel h2 {
  font-family:var(--font-body)!important;
  font-size:24px!important
}

.presentation-page .setting-group {
  margin-block:30px!important
}

.presentation-page .setting-group label {
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:15px!important;
  color:var(--sb-ink-soft)!important
}

.presentation-page .setting-group select {
  min-height:50px;
  font-size:16px;
  background:var(--sb-surface-raised)!important;
  border-color:var(--ui-line)!important
}

.presentation-page .font-size-preview {
  font-size:14px;
  color:var(--ui-muted)!important;
  margin-top:14px
}

.presentation-page .reset-defaults-btn {
  min-height:48px!important
}

.presentation-page #font-size {
  min-height:44px;
  accent-color:var(--sb-amber)
}

.presentation-page .live-waiting {
  max-width:620px;
  margin:auto;
  text-align:center;
  padding:40px!important
}

.presentation-page .live-waiting-name {
  font-size:clamp(36px,5vw,58px)!important;
  line-height:1.15!important;
  letter-spacing:-.02em;
  margin-bottom:24px!important
}

.presentation-page .live-waiting-status {
  font:500 18px/1.6 var(--font-body)!important;
  color:var(--sb-amber)!important;
  margin-bottom:12px!important
}

.presentation-page .live-waiting-message {
  font:400 17px/1.8 var(--font-body)!important;
  color:var(--sb-ink-soft)!important;
  max-width:42ch;
  margin:0 auto!important
}

.demo-live-page .demo-topbar {
  min-height:76px;
  padding:18px 28px!important;
  gap:16px
}

.demo-live-page .demo-title {
  font-size:16px!important;
  color:var(--sb-ink-soft)!important
}

.demo-live-page .demo-workspace {
  gap:24px!important;
  padding:24px!important
}

.demo-live-page .host-service-context strong,.demo-live-page .session-info strong {
  font-size:22px!important
}

.demo-live-page .caption-preview-header h2 {
  font-size:20px!important;
  text-transform:none!important;
  letter-spacing:0!important
}

.demo-live-page .waiting,.demo-live-page .waiting-message {
  font-size:18px!important;
  line-height:1.7;
  color:var(--sb-ink-soft)!important
}

.demo-live-page .service-status-rail {
  padding:24px!important
}

.demo-live-page .demo-language-pill {
  min-height:44px
}

.demo-live-page .mic-label {
  font-size:16px!important
}

.demo-live-page .demo-wordmark {
  font-size:24px!important
}

@media(max-width:800px) {
  .demo-live-page .demo-topbar {
  padding:18px!important;
  flex-wrap:wrap
}.demo-live-page .demo-title {
  order:3;
  width:100%
}.demo-live-page .demo-workspace {
  padding:16px!important;
  gap:20px!important
}
}

.pricing-page .pricing-hero {
  max-width:1020px!important;
  text-align:left!important;
  margin:0 auto!important;
  padding:88px 32px 100px!important
}

.pricing-page .pricing-title {
  font-size:clamp(44px,6vw,76px)!important;
  line-height:1.05;
  letter-spacing:-.02em;
  margin-bottom:24px
}

.pricing-page .pricing-subtitle {
  max-width:58ch!important;
  margin:0 0 24px!important;
  font-size:19px!important;
  line-height:1.7!important
}

.pricing-page #pilot-notice {
  font-size:17px!important;
  color:var(--sb-ink-soft)!important;
  max-width:60ch!important
}

.pricing-page #pilot-content {
  margin-top:36px;
  padding-top:32px;
  border-top:1px solid var(--sb-line-soft);
  max-width:760px
}

.pricing-page .pilot-cta {
  min-height:52px;
  padding:15px 26px!important;
  margin-block:12px!important
}

.pricing-page .pilot-support {
  font-size:15px!important;
  line-height:1.7
}

.pricing-page .nav-links a {
  min-height:44px;
  display:inline-flex;
  align-items:center
}

.pricing-page main.pricing-page {
  min-height:70vh
}

@media(max-width:650px) {
  .pricing-page .pricing-hero {
  padding:48px 24px 64px!important
}.pricing-page .pricing-title {
  font-size:46px!important
}.pricing-page nav {
  gap:16px!important;
  flex-wrap:wrap
}.pricing-page .nav-links {
  flex-wrap:wrap;
  gap:16px!important
}.pricing-page .pricing-subtitle {
  font-size:18px!important
}
}

.legal-page .doc-layout {
  max-width:1200px!important;
  grid-template-columns:240px minmax(0,740px)!important;
  gap:64px!important;
  padding:48px 32px!important;
  margin:auto
}

.legal-page .doc-toc {
  min-width:0;
  max-height:calc(100vh - 140px);
  overflow-y:auto;
  padding-right:16px
}

.legal-page .doc-toc a {
  font-size:14px!important;
  line-height:1.5!important;
  padding:9px 0!important;
  display:block;
  color:var(--sb-ink-soft)!important
}

.legal-page .doc-toc a:hover {
  color:var(--sb-amber)!important
}

.legal-page .doc-title {
  font-size:clamp(40px,5vw,62px)!important;
  line-height:1.05;
  letter-spacing:-.02em
}

.legal-page .doc-label {
  display:none
}

.legal-page .doc-meta {
  font-size:15px!important;
  line-height:1.7
}

.legal-page .doc-section {
  margin-bottom:44px!important;
  scroll-margin-top:110px
}

.legal-page .doc-section h2 {
  font-size:28px!important;
  line-height:1.25;
  margin:40px 0 18px!important
}

.legal-page .doc-section p,.legal-page .doc-section li {
  font-size:17px!important;
  line-height:1.85!important;
  color:var(--sb-ink-soft)!important
}

.legal-page .doc-section li {
  padding-left:5px;
  margin-bottom:10px
}

.legal-page .doc-body {
  min-width:0
}

.legal-page .doc-section a {
  overflow-wrap:anywhere
}

.ui-toc-mobile {
  display:none
}

.ui-table-scroll {
  overflow-x:auto;
  max-width:100%;
  border:1px solid var(--sb-line-soft);
  border-radius:8px
}

@media(max-width:850px) {
  .legal-page .doc-layout {
  display:block!important;
  padding:32px 24px!important
}.legal-page .doc-toc {
  display:none!important
}.ui-toc-mobile {
  display:block;
  margin-bottom:32px;
  border-block:1px solid var(--sb-line);
  padding:14px 0
}.ui-toc-mobile summary {
  min-height:32px;
  cursor:pointer;
  font-size:16px;
  color:var(--sb-ink)
}.ui-toc-mobile ul {
  list-style:none;
  padding:12px 0 0
}.ui-toc-mobile a {
  display:block;
  padding:10px 0;
  color:var(--sb-ink-soft);
  font-size:15px;
  line-height:1.5
}.legal-page .doc-title {
  font-size:42px!important
}.legal-page .doc-section p,.legal-page .doc-section li {
  font-size:16px!important
}.legal-page .doc-nav {
  padding:16px 20px!important;
  gap:20px
}.legal-page .doc-nav-back {
  font-size:13px;
  min-height:44px
}
}

.sp-table {
  min-width:640px;
  table-layout:auto!important
}

.sp-table th,.sp-table td {
  padding:16px!important;
  line-height:1.65
}

.info-box,.callout-art9 {
  border-left-width:1px!important;
  background:var(--sb-surface)!important;
  padding:24px!important
}

.contact-card {
  overflow-wrap:anywhere
}

.legal-page main.legal-page {
  max-width:800px!important;
  margin:auto!important;
  padding:52px 32px!important
}

.legal-page .legal-badge,.legal-page .section-number {
  display:none
}

.legal-page .legal-title {
  font-size:clamp(44px,6vw,66px)!important;
  line-height:1.05;
  letter-spacing:-.02em
}

.legal-page .legal-header {
  margin-bottom:36px!important
}

.legal-page .legal-section {
  margin:44px 0!important;
  padding-top:0!important;
  scroll-margin-top:110px
}

.legal-page .legal-section h2 {
  font-size:28px!important;
  margin-bottom:18px!important
}

.legal-page .legal-section p,.legal-page .legal-section li {
  font-size:17px!important;
  line-height:1.85!important;
  color:var(--sb-ink-soft)!important
}

.legal-page .disclaimer-callout {
  padding:24px!important;
  background:var(--sb-surface)!important;
  border:1px solid var(--sb-line)!important;
  box-shadow:none!important
}

.legal-page .ui-terms-toc {
  margin:28px 0;
  padding:18px 0;
  border-block:1px solid var(--sb-line)
}

.ui-terms-toc summary {
  font-size:17px;
  min-height:30px;
  cursor:pointer
}

.ui-terms-toc a {
  display:block;
  padding:8px 0;
  color:var(--sb-ink-soft);
  font-size:15px
}

.ui-terms-toc ol {
  padding-left:22px
}

@media(max-width:650px) {
  .legal-page main.legal-page {
  padding:32px 24px!important
}.legal-page .legal-title {
  font-size:44px!important
}.legal-page .legal-section p,.legal-page .legal-section li {
  font-size:16px!important
}
}

.auth-page .not-found {
  max-width:520px!important;
  text-align:left!important;
  padding:32px!important
}

.auth-page .not-found-logo {
  justify-content:flex-start!important;
  margin-bottom:48px!important
}

.auth-page .not-found-code {
  font-family:var(--font-body)!important;
  font-size:18px!important;
  letter-spacing:.02em;
  color:var(--ui-muted)!important;
  margin-bottom:18px!important
}

.auth-page .not-found h1 {
  font-size:54px!important;
  line-height:1.05;
  letter-spacing:-.02em
}

.auth-page .not-found p {
  font-size:17px!important;
  line-height:1.75;
  max-width:37ch;
  color:var(--sb-ink-soft)!important
}

.auth-page .not-found-links {
  justify-content:flex-start!important;
  gap:12px!important;
  margin-top:28px!important
}

.auth-page .not-found-links a {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  padding:12px 20px!important
}

@media(max-width:600px) {
  .auth-page .not-found h1 {
  font-size:44px!important
}
}

.admin-page .container {
  max-width:1280px!important;
  padding:32px!important;
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  gap:32px;
  align-items:start
}

.admin-page .header {
  grid-column:1/-1;
  margin:0!important;
  padding:0 0 24px!important;
  border:0!important;
  border-bottom:1px solid var(--sb-line-soft)!important;
  border-radius:0!important;
  background:none!important;
  gap:16px
}

.admin-page .header h1 {
  font-size:32px!important;
  letter-spacing:-.02em
}

.admin-page .tab-nav {
  display:flex!important;
  flex-direction:column;
  overflow:visible!important;
  padding:0!important;
  gap:5px;
  margin:0!important;
  background:none!important;
  border:0!important;
  border-radius:0!important
}

.admin-page .tab-button {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px!important;
  text-align:left!important;
  white-space:normal!important;
  border-radius:8px!important;
  font-size:14px!important;
  padding:12px 14px!important
}

.admin-page .tab-button.active {
  background:var(--sb-surface-raised)!important;
  color:var(--sb-ink)!important;
  box-shadow:inset 0 -2px var(--sb-amber)
}

.admin-page .tab-content {
  grid-column:2;
  min-width:0;
  padding:0!important
}

.admin-page .stats-grid {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
  gap:0!important;
  background:var(--sb-surface);
  border:1px solid var(--sb-line-soft);
  border-radius:10px;
  margin-bottom:32px!important
}

.admin-page .stat-card {
  border:0!important;
  border-radius:0!important;
  background:none!important;
  padding:20px!important
}

.admin-page .stat-value {
  font-size:28px!important;
  font-variant-numeric:tabular-nums
}

.admin-page .stat-label {
  font-size:13px!important;
  color:var(--ui-muted)!important
}

.admin-page .empty-state {
  padding:40px 24px!important;
  border:1px solid var(--sb-line-soft)!important;
  background:var(--sb-surface)!important;
  border-radius:12px!important
}

.admin-page .empty-state-icon {
  margin-bottom:18px!important;
  line-height:1;
  color:var(--ui-muted)
}

.admin-page .empty-state-icon svg {
  width:36px;
  height:36px
}

.admin-page .empty-state h3 {
  font-size:21px!important
}

.admin-page .empty-state p {
  font-size:15px!important;
  color:var(--ui-muted)!important;
  line-height:1.65
}

.admin-page .section-header {
  gap:16px;
  flex-wrap:wrap
}

.admin-page input,.admin-page select {
  min-height:46px!important;
  font-size:15px!important;
  border-color:var(--ui-line)!important
}

.admin-page button,.admin-page .btn {
  min-height:44px
}

@media(max-width:760px) {
  .admin-page .container {
  display:block;
  padding:20px!important
}.admin-page .header {
  align-items:flex-start!important
}.admin-page .header h1 {
  font-size:28px!important
}.admin-page .tab-nav {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:24px 0 32px!important;
  gap:6px
}.admin-page .tab-button {
  font-size:13px!important;
  background:var(--sb-surface)!important;
  padding:10px!important
}.admin-page .tab-button svg {
  display:none
}.admin-page .stats-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))!important
}.admin-page .tab-content {
  width:100%
}
}

.admin-page .signups-filter {
  padding-block:20px;
  gap:12px!important
}

.admin-page #tab-signups h2 {
  font-size:24px!important
}

.admin-page .feedback-tools {
  gap:20px!important;
  margin-block:24px!important
}

.admin-page .feedback-heading h2 {
  font-size:24px!important
}

.admin-page .feedback-heading p {
  font-size:15px!important;
  line-height:1.7
}

.admin-page .feedback-workspace {
  border-color:var(--sb-line-soft)!important
}

.admin-page .feedback-status-filter button {
  min-height:44px!important
}

.admin-page #tab-account-features {
  max-width:700px
}

.admin-page #tab-account-features p {
  font-size:16px!important;
  line-height:1.75;
  max-width:58ch
}

.admin-page #tab-account-features input {
  background:var(--sb-surface)!important
}

.admin-page #account-feature-form {
  margin-top:28px
}

.admin-page #tab-analytics .stats-grid {
  grid-template-columns:repeat(4,minmax(0,1fr))!important
}

.admin-page #tab-analytics h2 {
  font-size:24px!important
}

@media(max-width:760px) {
  .admin-page #tab-analytics .stats-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))!important
}
}

/* Revisions from the approval notes. */
.ui-password input { padding-right: 58px !important; }
.ui-password button { display: inline-flex; align-items: center; justify-content: center; width: 44px; }
.verification-page .ui-link { display: flex; width: 100%; max-width: 450px; margin: 24px auto 0; }
.verification-page .ui-link[hidden] { display: none; }
.viewer-brand { justify-content: center; margin-bottom: 32px; text-decoration: none; }
.viewer-brand .sb-wordmark { font-size: 27px; }
.presentation-page .caption-size-sample { font: 400 var(--caption-font-size, 32px)/1.2 var(--font-body); color: var(--text-color, white); background: var(--caption-preview-background, black); overflow: auto; padding: 16px; border: 1px solid var(--sb-line); border-radius: 8px; margin-top: 16px; max-height: 280px; }
.presentation-page .settings-panel { overflow-y: auto; max-height: 100dvh; }
.church-delete-dialog { margin: auto; width: min(520px, calc(100vw - 40px)); padding: 32px; color: var(--sb-ink); background: var(--sb-surface); border: 1px solid var(--sb-line); border-radius: 12px; }
.church-delete-dialog::backdrop { background: #000a; }
.church-delete-dialog h2 { margin: 0 0 20px; font-size: 30px; }
.church-delete-dialog p { line-height: 1.7; }
.church-delete-dialog input { width: 100%; margin: 12px 0 24px; }
.church-delete-dialog .dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.church-delete-dialog [role=alert] { color: #f0b6a9; }
#service-delete-dialog p { margin: 0 0 14px; }
#service-delete-dialog [role=alert]:empty { display: none; }
#service-delete-dialog .dialog-actions { margin-top: 28px; }
.church-settings-page .services-intro { margin: 0 0 28px; max-width: 62ch; color: var(--sb-ink-soft); font-size: 16px; line-height: 1.75; }
.church-settings-page .services-list { list-style: none; margin: 0 0 24px; padding: 0; border-top: 1px solid var(--sb-line-soft); }
.church-settings-page .service-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; row-gap: 6px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--sb-line-soft); }
.church-settings-page .service-title { grid-column: 1; margin: 0; font-size: 17px; font-weight: 600; color: var(--sb-ink); }
.church-settings-page .service-meta { grid-column: 1; margin: 0; font-size: 14px; line-height: 1.6; color: var(--sb-ink-soft); }
.church-settings-page .service-actions { grid-column: 2; grid-row: 1 / span 2; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.church-settings-page .service-status { margin: 0; font-size: 14px; color: var(--sb-ink-soft); }
.church-settings-page .service-downloads { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; padding-top: 10px; }
.church-settings-page .service-downloads[hidden] { display: none; }
.church-settings-page .service-error, .church-settings-page .services-error { grid-column: 1 / -1; margin: 0; color: #f0b6a9; font-size: 14px; }
.church-settings-page .service-error:empty { display: none; }
.church-settings-page .services-error { margin-bottom: 16px; }
@media (max-width: 760px) {
  .church-settings-page .service-row { grid-template-columns: minmax(0, 1fr); }
  .church-settings-page .service-actions { grid-column: 1; grid-row: auto; justify-content: flex-start; padding-top: 8px; }
}
@media (max-width: 760px) {
  .dashboard-page .event-card { display: flex !important; flex-direction: column; align-items: stretch !important; gap: 20px; }
  .dashboard-page .event-info { width: 100%; min-width: 0; }
  .dashboard-page .event-name { line-height: 1.35; }
  .dashboard-page .event-actions { width: 100%; gap: 12px !important; }
  .dashboard-page .event-description { font-size: 15px; line-height: 1.7; }
  .presentation-page .live-waiting { padding: 28px 20px !important; }
}
