/* App extra styles */
:root {
  --po-primary: #C2410C;
  --po-primary-hover: #9A3412;
  --po-admin-bg: #F9F8F6;
}
body { -webkit-font-smoothing: antialiased; }
.btn-primary { background: var(--po-primary); color: #fff; padding: 0.5rem 1rem; border-radius: 0.5rem; font-weight: 600; font-size: 0.875rem; box-shadow: 0 1px 2px rgba(194,65,12,0.2); transition: background .15s; display: inline-flex; align-items: center; gap: 0.5rem; }
.btn-primary:hover { background: var(--po-primary-hover); }
.btn-secondary { background: #fff; color: #334155; padding: 0.5rem 1rem; border-radius: 0.5rem; font-weight: 600; font-size: 0.875rem; border: 1px solid #e2e8f0; transition: background .15s; display: inline-flex; align-items: center; gap: 0.5rem; }
.btn-secondary:hover { background: #f8fafc; }
.btn-danger { background: #dc2626; color:#fff; padding: 0.5rem 1rem; border-radius: 0.5rem; font-weight: 600; font-size: 0.875rem; }
.badge { display: inline-flex; align-items:center; padding: 0.15rem 0.65rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; border: 1px solid transparent; }
.badge-Available, .badge-Paid, .badge-Confirmed, .badge-active, .badge-Clean, .badge-Inspected, .badge-success { background:#d1fae5; color:#065f46; border-color:#a7f3d0; }
.badge-Pending, .badge-Partial, .badge-Dirty, .badge-Assigned, .badge-warning, .badge-Waiting-Parts { background:#fef3c7; color:#92400e; border-color:#fde68a; }
.badge-Occupied, .badge-Confirmed, .badge-Checked-In, .badge-Cleaning, .badge-info { background:#dbeafe; color:#1e40af; border-color:#bfdbfe; }
.badge-Cancelled, .badge-Unpaid, .badge-Out-of-Order, .badge-Failed, .badge-danger { background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.badge-Refunded, .badge-Inactive, .badge-Checked-Out, .badge-neutral { background:#f1f5f9; color:#475569; border-color:#e2e8f0; }
.badge-Maintenance { background:#ede9fe; color:#6b21a8; border-color:#ddd6fe; }
.badge-No-Show { background:#ffedd5; color:#9a3412; border-color:#fed7aa; }
.badge-In-Progress { background:#e0f2fe; color:#075985; border-color:#bae6fd; }
.badge-Open { background:#fef3c7; color:#92400e; border-color:#fde68a; }
.badge-Resolved, .badge-Closed { background:#d1fae5; color:#065f46; border-color:#a7f3d0; }
.badge-Rejected, .badge-Out-of-Service { background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.badge-Booked { background:#dbeafe; color:#1e40af; border-color:#bfdbfe; }
.card { background:#fff; border:1px solid #e2e8f0; border-radius: 0.75rem; }
.form-input, .form-select, .form-textarea { display:block; width:100%; border:1px solid #cbd5e1; border-radius: 0.5rem; padding: 0.5rem 0.75rem; font-size: 0.875rem; background:#fff; }
.form-input:focus, .form-select:focus, .form-textarea:focus { outline: none; border-color: var(--po-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--po-primary) 18%, transparent); }
.form-label { display:block; font-size: 0.8rem; font-weight: 600; color: #334155; margin-bottom: 0.35rem; }
.settings-tab-shell { background:transparent; border:0; border-radius:0; padding:0; overflow-x:auto; }
.settings-tab-list { display:flex; min-width:max-content; align-items:flex-end; padding:0 0.25rem; }
.settings-tab { position:relative; top:1px; min-width:10.5rem; min-height:4rem; display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; white-space:nowrap; border:1px solid #d7dce3; border-left-width:0; border-bottom-color:#8a8f98; border-radius:0; padding:0.85rem 1.25rem; background:linear-gradient(180deg,#fbfbfd 0%,#f4f6f9 100%); color:#0f172a; font-size:0.95rem; font-weight:600; transition:background .15s, color .15s, border-color .15s, box-shadow .15s; }
.settings-tab:first-child { border-left-width:1px; }
.settings-tab:hover { background:#fff; color:#0f172a; }
.settings-tab.is-active { min-height:4.25rem; background:#fff; color:#0f172a; border:2px solid #52565f; border-bottom-color:#fff; font-weight:800; box-shadow:none; z-index:3; }
.settings-tab.is-active + .settings-tab { border-left-width:0; }
.settings-tab i { color:#94a3b8; }
.settings-tab.is-active i { color:var(--po-primary); }
.settings-tab-panels { margin-top:0; }
.settings-tab-panels > .card { min-height:28rem; background:#fff; border:2px solid #8a8f98; border-radius:0; padding:3rem 3.5rem; }
@media (max-width: 768px) {
  .settings-tab { min-width:9rem; min-height:3.4rem; padding:0.7rem 1rem; font-size:0.85rem; }
  .settings-tab.is-active { min-height:3.65rem; }
  .settings-tab-panels > .card { padding:1.25rem; }
}
.table-wrap { background:#fff; border:1px solid #e2e8f0; border-radius: 0.75rem; overflow: hidden; }
.table-wrap table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.table-wrap th { background:#f8fafc; text-align:left; padding: 0.75rem 1rem; font-size: 0.7rem; font-weight: 700; color:#64748b; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 1px solid #e2e8f0; }
.table-wrap td { padding: 0.85rem 1rem; border-bottom: 1px solid #f1f5f9; color:#334155; vertical-align: middle; }
.table-wrap tr:hover td { background: #fafafa; }

.public-header-logo,
.public-header-logo:hover,
.cms-public-header-logo,
.cms-public-header-logo:hover,
.public-footer__brand-logo,
.public-footer__brand-logo:hover,
.public-footer-logo,
.public-footer-logo:hover,
.cms-public-footer-logo,
.cms-public-footer-logo:hover {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: none;
  opacity: 1;
  transform: none;
  transition: none;
}

.public-header-logo img,
.cms-public-header-logo img,
.public-footer__brand-logo img,
.public-footer-logo img,
.cms-public-footer-logo img {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: none;
  opacity: 1;
  transform: none;
  transition: none;
}

.public-header-logo:hover img,
.cms-public-header-logo:hover img,
.public-footer__brand-logo:hover img,
.public-footer-logo:hover img,
.cms-public-footer-logo:hover img {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: none;
  opacity: 1;
  transform: none;
  transition: none;
}

.public-header-logo__mark,
.public-header-logo__mark:hover,
.public-footer__brand-initial,
.public-footer__brand-initial:hover {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: none;
  opacity: 1;
  transform: none;
  transition: none;
}

/* Hotel-friendly integration setup */
.integrations-page { max-width: 90rem; margin: 0 auto; color: #0f172a; }
.integration-page-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; margin-bottom:1.5rem; }
.integration-page-header h1 { margin:0; font-family:var(--font-display, inherit); font-size:clamp(1.75rem,3vw,2.25rem); line-height:1.15; font-weight:800; letter-spacing:-.03em; }
.integration-page-header p { margin:.45rem 0 0; color:#64748b; font-size:.95rem; }
.integration-tabs { display:flex; gap:.35rem; overflow-x:auto; scrollbar-width:thin; padding:.3rem; margin-bottom:1.5rem; border:1px solid #e2e8f0; border-radius:.9rem; background:#fff; }
.integration-tabs a { flex:0 0 auto; min-height:2.75rem; display:inline-flex; align-items:center; padding:.65rem 1rem; border-radius:.65rem; color:#475569; font-size:.875rem; font-weight:700; white-space:nowrap; transition:background .15s,color .15s,box-shadow .15s; }
.integration-tabs a:hover { background:#f8fafc; color:#0f172a; }
.integration-tabs a.is-active { background:var(--po-primary); color:#fff; box-shadow:0 2px 8px color-mix(in srgb,var(--po-primary) 22%,transparent); }
.integration-tabs a:focus-visible,
.integrations-page summary:focus-visible,
.integrations-page .integration-link-button:focus-visible { outline:3px solid color-mix(in srgb,var(--po-primary) 35%,transparent); outline-offset:2px; }
.integration-tab-panel { display:grid; min-width:0; gap:1.25rem; }
.integration-card { min-width:0; padding:clamp(1.15rem,2.5vw,1.75rem); }
.integration-card--warning { border-color:#fcd34d; background:#fffbeb; }
.integration-card--attention { border-color:#fdba74; background:#fff7ed; }
.integration-eyebrow { margin:0 0 .35rem !important; color:var(--po-primary) !important; font-size:.7rem !important; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.integration-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.integration-section-heading h2,
.integration-provider-summary h2 { margin:0; font-family:var(--font-display, inherit); font-size:1.35rem; line-height:1.25; font-weight:800; letter-spacing:-.02em; }
.integration-section-heading p { max-width:52rem; margin:.4rem 0 0; color:#64748b; font-size:.875rem; line-height:1.55; }
.integration-section-heading--split { align-items:center; }
.integration-status-badge { display:inline-flex; align-items:center; gap:.4rem; width:max-content; min-height:1.8rem; padding:.25rem .6rem; border:1px solid; border-radius:999px; font-size:.72rem; line-height:1.1; font-weight:750; white-space:nowrap; }
.integration-status-badge--success { color:#047857; background:#ecfdf5; border-color:#a7f3d0; }
.integration-status-badge--warning { color:#a16207; background:#fffbeb; border-color:#fde68a; }
.integration-status-badge--danger { color:#b91c1c; background:#fef2f2; border-color:#fecaca; }
.integration-status-badge--info { color:#1d4ed8; background:#eff6ff; border-color:#bfdbfe; }
.integration-status-badge--neutral { color:#475569; background:#f8fafc; border-color:#e2e8f0; }
.integration-provider-summary { padding:clamp(1.25rem,3vw,2rem); }
.integration-provider-summary__header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-bottom:1.25rem; border-bottom:1px solid #e2e8f0; }
.integration-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:0; }
.integration-summary-grid > div { min-width:0; padding:1rem; border-bottom:1px solid #eef2f7; }
.integration-summary-grid > div:not(:nth-child(3n+1)) { border-left:1px solid #eef2f7; }
.integration-summary-grid dt { color:#64748b; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.integration-summary-grid dd { margin:.35rem 0 0; color:#0f172a; font-size:.92rem; font-weight:750; overflow-wrap:anywhere; }
.integration-status-cluster { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; }
.integration-summary-grid--hotel { grid-template-columns:repeat(4,minmax(0,1fr)); }
.integration-copy-field { margin-top:1rem; }
.integration-copy-field > div { display:flex; align-items:stretch; gap:.5rem; }
.integration-copy-field .form-input { min-width:0; }
.integration-modal { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:1rem; background:rgba(15,23,42,.62); }
.integration-modal.hidden { display:none; }
.integration-modal__panel { position:relative; width:min(100%,34rem); max-height:calc(100vh - 2rem); overflow:auto; padding:1.5rem; border-radius:1rem; background:#fff; box-shadow:0 24px 70px rgba(15,23,42,.28); }
.integration-modal__panel h2 { margin:.25rem 2rem .5rem 0; }
.integration-modal__close { position:absolute; top:.75rem; right:.75rem; display:grid; place-items:center; width:2.5rem; height:2.5rem; border:0; border-radius:50%; color:#334155; background:#f1f5f9; font-size:1.5rem; cursor:pointer; }
.integration-modal__close:focus-visible { outline:3px solid color-mix(in srgb,var(--po-primary) 35%,transparent); outline-offset:2px; }
.integration-next-action { display:flex; align-items:center; gap:.85rem; margin-top:1.15rem; padding:1rem; border:1px solid #bfdbfe; border-radius:.75rem; background:#eff6ff; }
.integration-next-action__icon { display:grid; place-items:center; width:2.35rem; height:2.35rem; border-radius:50%; color:#1d4ed8; background:#dbeafe; flex:none; }
.integration-next-action__label { color:#1e40af; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.integration-next-action__text { margin-top:.15rem; color:#1e3a8a; font-weight:700; }
.integration-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; margin-top:1.15rem; }
.integration-action-note { display:flex; gap:.5rem; align-items:flex-start; margin:.8rem 0 0; color:#64748b; font-size:.78rem; }
.integration-activation-form { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.integration-activation-form label { display:flex; align-items:flex-start; gap:.5rem; max-width:25rem; color:#475569; font-size:.78rem; }
.integration-activation-form input { margin-top:.15rem; }
.integrations-page button:disabled { cursor:not-allowed; opacity:.48; }
.integration-progress-list { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; }
.integration-progress-step { display:grid; grid-template-columns:2.2rem minmax(0,1fr) auto; align-items:center; gap:.8rem; padding:.8rem; border:1px solid #e2e8f0; border-radius:.7rem; }
.integration-progress-step__marker { display:grid; place-items:center; width:2.15rem; height:2.15rem; border:1px solid #cbd5e1; border-radius:50%; color:#64748b; background:#f8fafc; font-size:.8rem; font-weight:800; }
.integration-progress-step--complete .integration-progress-step__marker { color:#fff; background:#059669; border-color:#059669; }
.integration-progress-step--attention .integration-progress-step__marker { color:#92400e; background:#fef3c7; border-color:#f59e0b; }
.integration-progress-step__title { font-size:.9rem; font-weight:750; }
.integration-progress-step__detail { margin-top:.15rem; color:#64748b; font-size:.77rem; line-height:1.4; }
.integration-progress-step__state { color:#64748b; font-size:.72rem; font-weight:750; }
.integration-progress-step--complete .integration-progress-step__state { color:#047857; }
.integration-progress-step--attention .integration-progress-step__state { color:#a16207; }
.integration-readable-list { margin:0; padding-left:1.2rem; color:#9a3412; font-size:.875rem; }
.integration-readable-list li + li { margin-top:.4rem; }
.integration-empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:15rem; padding:2rem 1rem; text-align:center; }
.integration-empty-state__icon { display:grid; place-items:center; width:3rem; height:3rem; margin-bottom:1rem; border-radius:50%; color:#64748b; background:#f1f5f9; font-size:1.15rem; }
.integration-empty-state h3 { margin:0; font-size:1.05rem; font-weight:800; }
.integration-empty-state p { max-width:32rem; margin:.45rem 0 1rem; color:#64748b; font-size:.875rem; }
.integration-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.integration-mode-card { display:block; position:relative; cursor:pointer; }
.integration-mode-card > input { position:absolute; width:1px; height:1px; opacity:0; }
.integration-mode-card__body { display:flex; flex-direction:column; min-height:100%; padding:1rem 1rem 1rem 3.25rem; border:1px solid #cbd5e1; border-radius:.8rem; background:#fff; transition:border-color .15s,background .15s,box-shadow .15s; }
.integration-mode-card__check { position:absolute; left:1rem; top:1rem; display:grid; place-items:center; width:1.45rem; height:1.45rem; border:1px solid #cbd5e1; border-radius:50%; color:transparent; background:#fff; }
.integration-mode-card strong { font-size:.92rem; }
.integration-mode-card span:not(.integration-mode-card__check) { margin-top:.35rem; color:#475569; font-size:.8rem; line-height:1.48; }
.integration-mode-card small { margin-top:auto; padding-top:.75rem; color:#64748b; font-size:.72rem; line-height:1.4; }
.integration-mode-card > input:checked + .integration-mode-card__body { border-color:var(--po-primary); background:color-mix(in srgb,var(--po-primary) 5%,white); box-shadow:0 0 0 2px color-mix(in srgb,var(--po-primary) 14%,transparent); }
.integration-mode-card > input:checked + .integration-mode-card__body .integration-mode-card__check { color:#fff; background:var(--po-primary); border-color:var(--po-primary); }
.integration-mode-card > input:focus-visible + .integration-mode-card__body { outline:3px solid color-mix(in srgb,var(--po-primary) 30%,transparent); outline-offset:2px; }
.integration-provider-questions { margin-top:1.5rem; }
.integration-simple-questions { margin-top:1.5rem; padding-top:1.4rem; border-top:1px solid #e2e8f0; }
.integration-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.integration-form-grid__wide { grid-column:1/-1; }
.integration-help { margin:.35rem 0 0; color:#64748b; font-size:.72rem; line-height:1.4; }
.integration-details { margin-top:1rem; border:1px solid #e2e8f0; border-radius:.75rem; background:#fff; overflow:hidden; }
.integration-details > summary { display:flex; align-items:center; justify-content:space-between; min-height:3rem; padding:.75rem 1rem; cursor:pointer; color:#334155; font-size:.85rem; font-weight:750; list-style:none; }
.integration-details > summary::-webkit-details-marker { display:none; }
.integration-details > summary::after { content:'+'; color:#64748b; font-size:1.15rem; }
.integration-details[open] > summary { border-bottom:1px solid #e2e8f0; }
.integration-details[open] > summary::after { content:'−'; }
.integration-details__body { padding:1rem; }
.integration-details__body > p:first-child { margin-top:0; }
.integration-details--danger { border-color:#fecaca; }
.integration-details--danger > summary { color:#b91c1c; }
.integration-warning { display:flex; align-items:flex-start; gap:.65rem; margin-bottom:1rem; padding:.8rem; border:1px solid #fde68a; border-radius:.65rem; color:#92400e; background:#fffbeb; font-size:.78rem; line-height:1.45; }
.integration-connection-status { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:1rem; border:1px solid #e2e8f0; border-radius:.75rem; overflow:hidden; }
.integration-connection-status > div { min-width:0; padding:.8rem; background:#f8fafc; }
.integration-connection-status > div + div { border-left:1px solid #e2e8f0; }
.integration-connection-status span { display:block; color:#64748b; font-size:.68rem; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.integration-connection-status strong { display:block; margin-top:.25rem; font-size:.82rem; overflow-wrap:anywhere; }
.integration-inline-message { display:flex; align-items:flex-start; gap:.65rem; margin:1rem 0; padding:.8rem; border:1px solid #bfdbfe; border-radius:.65rem; color:#1e40af; background:#eff6ff; font-size:.8rem; line-height:1.45; }
.integration-inline-message--success { color:#065f46; background:#ecfdf5; border-color:#a7f3d0; }
.integration-inline-message--warning { color:#92400e; background:#fffbeb; border-color:#fde68a; }
.integration-connection-form fieldset { margin:1.25rem 0 0; padding:0; border:0; }
.integration-connection-form legend { margin-bottom:.8rem; font-size:1rem; font-weight:800; }
.integration-credential-box { margin-top:1rem; padding:1rem; border:1px solid #e2e8f0; border-radius:.75rem; background:#f8fafc; }
.integration-credential-box > div:first-child { margin-bottom:.8rem; }
.integration-credential-box p,
.integration-credentials-saved p { margin:.15rem 0 0; color:#64748b; font-size:.75rem; }
.integration-credentials-saved { display:flex; align-items:center; gap:.8rem; margin-top:1rem; padding:.9rem; border:1px solid #a7f3d0; border-radius:.7rem; color:#065f46; background:#ecfdf5; }
.integration-credentials-saved i { font-size:1.2rem; }
.integration-checkbox { display:flex; align-items:flex-start; gap:.55rem; color:#334155; font-size:.8rem; line-height:1.45; }
.integration-checkbox input { margin-top:.15rem; flex:none; }
.integration-checkbox-stack { display:grid; gap:.8rem; }
.integration-connection-picker { min-width:min(100%,18rem); }
.integration-mapping-progress-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.integration-mapping-progress { padding:.9rem; border:1px solid #e2e8f0; border-radius:.7rem; background:#f8fafc; }
.integration-mapping-progress__header { display:flex; justify-content:space-between; gap:.75rem; margin-bottom:.55rem; font-size:.78rem; }
.integration-progress-bar { height:.45rem; overflow:hidden; border-radius:999px; background:#e2e8f0; }
.integration-progress-bar span { display:block; height:100%; border-radius:inherit; background:#059669; }
.integration-table-wrap { width:100%; max-width:100%; min-width:0; overflow-x:auto; }
.integration-mapping-table,
.integration-settings-table { width:100%; border-collapse:collapse; font-size:.82rem; }
.integration-mapping-table th,
.integration-settings-table th { padding:.75rem; border-bottom:1px solid #cbd5e1; color:#64748b; text-align:left; font-size:.68rem; text-transform:uppercase; letter-spacing:.04em; }
.integration-mapping-table td,
.integration-settings-table td { padding:.75rem; border-bottom:1px solid #e2e8f0; vertical-align:top; }
.integration-mapping-table td:first-child { min-width:11rem; }
.integration-mapping-table td:nth-child(2),
.integration-mapping-table td:nth-child(3) { min-width:12rem; }
.integration-mapping-table td:last-child { min-width:8rem; }
.integration-mapping-table small,
.integration-settings-table small { display:block; margin-top:.2rem; color:#64748b; font-size:.68rem; }
.integration-row-muted { opacity:.65; }
.integration-row-actions { margin-bottom:.35rem; }
.integration-link-button { padding:.2rem 0; border:0; color:#b91c1c; background:transparent; font-size:.72rem; font-weight:700; cursor:pointer; }
.integration-mobile-label { display:none; }
.integration-filter-nav { display:flex; gap:.35rem; overflow-x:auto; padding-top:.35rem; border-top:1px solid #e2e8f0; }
.integration-filter-nav a { flex:0 0 auto; padding:.5rem .7rem; border-radius:.55rem; color:#64748b; font-size:.78rem; font-weight:700; }
.integration-filter-nav a:hover,
.integration-filter-nav a.is-active { color:#0f172a; background:#f1f5f9; }
.integration-activity-list { display:grid; gap:.15rem; }
.integration-activity-item { display:grid; grid-template-columns:2.55rem minmax(0,1fr); gap:.85rem; padding:1rem 0; border-bottom:1px solid #e2e8f0; }
.integration-activity-item:last-child { border-bottom:0; }
.integration-activity-item__icon { display:grid; place-items:center; width:2.45rem; height:2.45rem; border-radius:.7rem; color:#475569; background:#f1f5f9; }
.integration-activity-item__icon--success { color:#047857; background:#d1fae5; }
.integration-activity-item__icon--warning { color:#a16207; background:#fef3c7; }
.integration-activity-item__icon--danger { color:#b91c1c; background:#fee2e2; }
.integration-activity-item__icon--info { color:#1d4ed8; background:#dbeafe; }
.integration-activity-item__heading { display:flex; justify-content:space-between; gap:1rem; }
.integration-activity-item h3 { margin:0; font-size:.9rem; font-weight:800; }
.integration-activity-item p { margin:.25rem 0 0; color:#475569; font-size:.8rem; line-height:1.45; }
.integration-activity-item time { display:block; margin-top:.4rem; color:#94a3b8; font-size:.7rem; }
.integration-activity-item__actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.65rem; }
.integration-technical-details { margin-top:.65rem; color:#64748b; font-size:.7rem; }
.integration-technical-details summary { cursor:pointer; font-weight:700; }
.integration-technical-details div { margin-top:.35rem; padding:.55rem; border-radius:.4rem; background:#f8fafc; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; overflow-wrap:anywhere; }
.integration-control-panel { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid #e2e8f0; border-radius:.75rem; background:#f8fafc; }
.integration-control-panel > div { flex:1; }
.integration-control-panel p { margin:.2rem 0 .65rem; color:#64748b; font-size:.78rem; }
.integration-control-panel--danger { align-items:center; border-color:#fecaca; color:#991b1b; background:#fef2f2; }
.integration-control-panel .form-label small { margin-left:.35rem; color:#94a3b8; font-weight:500; }
.integration-muted-message { margin:0; padding:.9rem; border-radius:.65rem; color:#64748b; background:#f8fafc; font-size:.82rem; }
.integration-provider-controls,
.integration-worker-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.integration-provider-control,
.integration-worker-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.75rem; padding:1rem; border:1px solid #e2e8f0; border-radius:.75rem; }
.integration-provider-control p { margin:.2rem 0 0; color:#64748b; font-size:.72rem; }
.integration-provider-control > input,
.integration-provider-control > button { grid-column:1/-1; }
.integration-worker-card span { display:block; font-size:.85rem; font-weight:800; }
.integration-worker-card small { display:block; margin-top:.2rem; color:#94a3b8; font-size:.68rem; }
.integration-worker-card dl { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; margin:0; }
.integration-worker-card dl div { padding:.55rem; border-radius:.5rem; background:#f8fafc; }
.integration-worker-card dt { color:#64748b; font-size:.66rem; }
.integration-worker-card dd { margin:.2rem 0 0; font-size:.75rem; font-weight:700; }
.integration-settings-table td:first-child { min-width:18rem; }
.integration-settings-table .form-input { max-width:8rem; }
.integration-compact-row { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid #e2e8f0; }
.integration-compact-row p { margin:.2rem 0 0; color:#64748b; font-size:.72rem; }
.integration-diagnostics-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.integration-diagnostics-grid > div { padding:.85rem; border:1px solid #e2e8f0; border-radius:.65rem; background:#f8fafc; }
.integration-diagnostics-grid span,
.integration-diagnostics-grid small { display:block; color:#64748b; font-size:.68rem; }
.integration-diagnostics-grid strong { display:block; margin:.25rem 0; font-size:1.05rem; }
.integration-technical-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin:0; }
.integration-technical-grid > div { min-width:0; padding:.75rem; border:1px solid #e2e8f0; border-radius:.6rem; }
.integration-technical-grid dt { color:#64748b; font-size:.7rem; }
.integration-technical-grid dd { margin:.25rem 0; font-size:.78rem; font-weight:700; overflow-wrap:anywhere; }
.integration-technical-grid small { color:#94a3b8; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.62rem; }
.integration-endpoint-list { display:grid; gap:.75rem; }
.integration-endpoint-list > div > strong { display:block; margin-bottom:.3rem; font-size:.75rem; }
.integration-endpoint-list > div > div { display:flex; gap:.5rem; }
.integration-endpoint-list .form-input { min-width:0; font-size:.7rem; }

@media (max-width: 900px) {
  .integration-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .integration-summary-grid--hotel { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .integration-summary-grid > div:not(:nth-child(3n+1)) { border-left:0; }
  .integration-summary-grid > div:nth-child(even) { border-left:1px solid #eef2f7; }
  .integration-connection-status { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .integration-connection-status > div + div { border-left:0; }
  .integration-connection-status > div:nth-child(even) { border-left:1px solid #e2e8f0; }
  .integration-connection-status > div:nth-child(n+3) { border-top:1px solid #e2e8f0; }
  .integration-technical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .integration-page-header { align-items:stretch; flex-direction:column; }
  .integration-page-header > .btn-secondary { width:max-content; }
  .integration-tabs { margin-inline:-.25rem; border-radius:.7rem; }
  .integration-tabs a { min-height:2.6rem; padding:.6rem .75rem; font-size:.78rem; }
  .integration-section-heading,
  .integration-section-heading--split,
  .integration-provider-summary__header,
  .integration-activity-item__heading { align-items:flex-start; flex-direction:column; }
  .integration-summary-grid,
  .integration-mode-grid,
  .integration-form-grid,
  .integration-mapping-progress-grid,
  .integration-provider-controls,
  .integration-worker-grid,
  .integration-diagnostics-grid,
  .integration-technical-grid { grid-template-columns:1fr; }
  .integration-status-cluster { justify-content:flex-start; }
  .integration-copy-field > div { flex-direction:column; }
  .integration-summary-grid > div:nth-child(even) { border-left:0; }
  .integration-progress-step { grid-template-columns:2.2rem minmax(0,1fr); }
  .integration-progress-step__state { grid-column:2; }
  .integration-connection-status { grid-template-columns:1fr; }
  .integration-connection-status > div:nth-child(even) { border-left:0; }
  .integration-connection-status > div + div { border-top:1px solid #e2e8f0; }
  .integration-activation-form,
  .integration-control-panel { align-items:stretch; flex-direction:column; }
  .integration-activation-form .btn-primary,
  .integration-control-panel button { width:100%; justify-content:center; }
  .integration-activity-item { grid-template-columns:2.25rem minmax(0,1fr); gap:.65rem; }
  .integration-activity-item__icon { width:2.15rem; height:2.15rem; }
  .integration-endpoint-list > div > div { flex-direction:column; }
  .integration-mapping-table.admin-responsive-table td .integration-mobile-label { display:block; margin-bottom:.3rem; color:#64748b; font-size:.68rem; font-weight:700; }
  .integration-mapping-table.admin-responsive-table td[data-label]::before { display:none; }
  .integration-mapping-table.admin-responsive-table td { display:block; padding:.55rem 0; }
  .integration-mapping-table.admin-responsive-table tr { padding:1rem 0; }
}

@media print { .no-print { display: none !important; } body { background: #fff !important; } }
