/* Connection forms need document scrolling, including when Turbo navigates
   here from the fixed-height Plan board without replacing the html element. */
html:has(.connections-page),
html:has(.connections-page) body {
  height: auto;
  min-height: 100%;
  overflow: auto;
  overscroll-behavior: auto;
}

body:has(.connections-page) {
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
}

.app-content:has(> .app-content-body > .connections-page) {
  height: auto;
  min-height: calc(100vh - 57px);
  display: block;
  overflow: visible;
}

.app-content-body:has(> .connections-page) {
  overflow: visible;
}

.connections-page { max-width: 1220px; margin: 0 auto; padding: 32px 28px 64px; color: var(--color-text, #172b3a); }
.connections-narrow { max-width: 740px; }
.connections-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; flex-wrap:wrap; }
.connections-header h1 { margin:4px 0 8px; font-size:32px; letter-spacing:-.8px; }
.connections-header p, .connection-card p { line-height:1.55; }
.connections-section { margin-top: 32px; scroll-margin-top: 80px; }
.connections-section + .connections-section { border-top: 1px solid #dce3df; padding-top: 32px; }
.connections-section-header h2 { margin: 0 0 8px; font-size: 23px; letter-spacing: -.4px; }
.connections-section-header p { margin: 0; color: #66766c; }
.connections-page .mcp-preset-grid { margin-bottom: 24px; }
.connections-eyebrow { font-size:12px; text-transform:uppercase; letter-spacing:1.2px; font-weight:650; color:#517469; margin:0; }
.connection-back { display:inline-block; color:inherit; margin-bottom:22px; text-decoration:none; }
.connection-card { border:1px solid #dce3df; background:#fff; border-radius:10px; padding:26px; margin-bottom:22px; min-width:0; }
.connection-card h2 { font-size:20px; margin:0 0 12px; letter-spacing:-.3px; }
.connection-card h3 { font-size:16px; }
.connection-primary, .connection-secondary, .connection-danger { display:inline-flex; align-items:center; justify-content:center; border-radius:6px; padding:10px 16px; border:1px solid #c9d5ce; font:inherit; font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; min-height:40px; box-sizing:border-box; }
.connection-primary { background:#215c46; color:#fff; border-color:#215c46; }
.connection-primary:hover { background:#194b38; }
.connection-secondary { background:#fff; color:#244637; }
.connection-danger { color:#96372d; background:#fff; border-color:#e8c6c1; }
.connections-page button:disabled, .connections-page input[type=submit]:disabled { opacity:.5; cursor:not-allowed; }
.connection-muted { color:#66766c; font-size:13px; }
.connection-error { color:#a33627; }
.connection-notice { background:#f3f7f4; padding:14px 16px; border-left:3px solid #94b39e; font-size:13px; line-height:1.6; }
.connections-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:22px; }
.connection-card-heading { display:flex; align-items:center; gap:14px; }
.connection-card-heading h2, .connection-card-heading p { margin:0 0 4px; }
.connection-provider-mark { width:44px; height:44px; border-radius:8px; background:#173b2d; color:#fff; display:grid; place-items:center; font-size:28px; font-weight:700; }
.connections-empty { padding:50px; text-align:center; }
.connections-empty .connection-provider-mark { margin:0 auto 20px; }
.connections-empty p { max-width:540px; margin:16px auto; }
.connection-form { display:grid; gap:18px; margin:20px 0 0; }
.connection-form label { display:grid; gap:7px; font-size:13px; font-weight:600; }
.connection-form input:not([type=submit]), .connection-form select, .connection-form textarea { width:100%; border:1px solid #c9d5ce; border-radius:5px; padding:10px; box-sizing:border-box; background:#fff; color:#172b3a; font:inherit; font-weight:400; }
.connection-form input[type=submit] { justify-self:start; }
.connected-form-grid { grid-template-columns:1fr 1fr; }
.connection-table-wrap, .connected-preview { overflow-x:auto; margin:18px 0; }
.connection-table { width:100%; border-collapse:collapse; text-align:left; font-size:13px; }
.connection-table th { color:#627166; font-size:11px; text-transform:uppercase; letter-spacing:.6px; padding:11px 8px; border-bottom:1px solid #cfdad2; }
.connection-table td { padding:12px 8px; border-bottom:1px solid #edf0ee; vertical-align:top; }
.connection-table td label { display:flex; align-items:center; gap:9px; }
.connection-table td small { display:block; margin:3px 0; font-weight:400; }
.connection-table input[type=checkbox], .connected-link-option input, .connected-entity-title input { accent-color:#215c46; width:16px; height:16px; flex-shrink:0; }
.connection-actions { display:flex; gap:8px; flex-wrap:wrap; }
.connected-setup-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; align-items:start; }
.connected-entity { border:1px solid #dce3df; padding:18px; margin-top:16px; border-radius:7px; }
.connected-entity-title { display:flex; gap:10px; align-items:center; cursor:pointer; flex-wrap:wrap; }
.connected-entity-title strong { font-size:17px; }
.connected-field-table { margin:10px 0; }
.connected-specific-records { margin:18px 0; }
.connections-page details summary { cursor:pointer; font-weight:600; font-size:14px; }
.connections-page hr { border:0; border-top:1px solid #e1e7e3; margin:24px 0; }
.connected-link-option { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:16px 0; border-bottom:1px solid #edf0ee; font-size:14px; }
.connected-link-option.is-disabled { opacity:.45; }
.connected-review { position:sticky; top:24px; background:#f8faf8; }
.connected-review h2 { margin-top:10px; }
.connected-review .connection-primary { width:100%; }
.connected-review p { font-size:13px; }
.connected-setup-page { padding-bottom: 130px; }
.connected-setup-actions {
  position: fixed;
  inset: auto 0 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px max(28px, calc((100vw - 1164px) / 2));
  padding-bottom: max(16px, env(safe-area-inset-bottom));
  border-top: 1px solid #dce3df;
  background: #fff;
  box-shadow: 0 -4px 18px rgb(23 43 58 / 6%);
}
.connected-setup-actions p { margin: 0; font-size: 13px; line-height: 1.5; }
.connected-setup-actions .connection-primary { flex-shrink: 0; }
.connected-setup-actions input.connection-primary[type="submit"] { background: #215c46; color: #fff; border-color: #215c46; }
.connected-setup-actions input.connection-primary[type="submit"]:hover { background: #194b38; }
.connected-conflict { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.connected-conflict>div { background:#f7f9f7; padding:16px; border-radius:6px; overflow-wrap:anywhere; }
.connected-name-conflict { grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); }
.connected-name-conflict dd { margin:2px 0 12px; }
.connected-issue { border-top:1px solid #dce3df; padding:16px 0; }
.connected-issue small { font-weight:400; color:#66766c; }
.connected-sheet-status { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:9px 14px; border-bottom:1px solid #dce3df; color:#52665a; background:#f3f7f4; font-size:12px; }
.connected-sheet-status a { color:#215c46; text-decoration:underline; }
.connected-sheet-status .connected-status-actions { margin-left:auto; }
.connected-sheet-page { max-width:1160px; }
.connected-sheet-header { align-items:flex-end; margin-bottom:30px; }
.connected-sheet-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; color:#66766c; font-size:12px; margin-top:14px; }
.connected-sync-status { display:inline-flex; align-items:center; gap:7px; color:#244637; font-weight:600; }
.connected-sync-status::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.connected-sync-status.is-warning { color:#a33627; }
.connected-settings-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:24px; align-items:start; }
.connected-settings-main { min-width:0; }
.connected-sheet-page .connection-card { padding:26px; }
.connected-section-description { color:#66766c; font-size:13px; margin:0 0 22px; }
.connected-editing-card { border-top:3px solid #215c46; }
.connected-editing-toggle { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px; border:1px solid #dce3df; border-radius:6px; background:#f7faf8; cursor:pointer; }
.connected-editing-toggle strong { display:block; font-size:14px; margin-bottom:5px; font-weight:600; }
.connected-editing-toggle span span { display:block; color:#66766c; font-size:12px; line-height:1.5; }
.connected-editing-toggle input[type=checkbox] { appearance:none; -webkit-appearance:none; position:relative; flex:0 0 40px; width:40px; height:24px; margin:0; border:1px solid #b7c5bd; border-radius:14px; background:#d6dfd9; cursor:pointer; transition:background .15s; }
.connected-editing-toggle input[type=checkbox]::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 2px #0002; transition:transform .15s; }
.connected-editing-toggle input[type=checkbox]:checked { background:#215c46; border-color:#215c46; }
.connected-editing-toggle input[type=checkbox]:checked::after { transform:translateX(16px); }
.connected-editing-toggle input[type=checkbox]:focus-visible { outline:3px solid #9dc1b0; outline-offset:3px; }
.connected-sync-fields { padding:0; margin:14px 0 0; list-style:none; }
.connected-sync-fields li { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid #edf0ee; }
.connected-sync-fields li:last-child { border-bottom:0; }
.connected-sync-fields strong { display:block; font-size:13px; font-weight:550; line-height:1.5; }
.connected-sync-fields small { display:block; color:#66766c; font-size:12px; line-height:1.5; margin-top:3px; }
.connected-field-direction { color:#66766c; font-size:12px; white-space:nowrap; }
.connected-field-direction.is-two-way { color:#215c46; font-weight:600; }
.connected-field-note { margin:12px 0 0; padding:12px 0 0; border-top:1px solid #edf0ee; color:#66766c; font-size:12px; }
.connected-editing-footer { display:flex; align-items:center; gap:14px; margin-top:22px; padding-top:20px; border-top:1px solid #e5ebe7; }
.connected-sheet-page input.connection-primary[type=submit] { background:#215c46; color:#fff; }
.connected-section-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:10px; }
.connected-section-heading h2 { margin:0; }
.connected-fixed-label { color:#66766c; font-size:11px; padding:4px 7px; border:1px solid #dce3df; border-radius:3px; }
.connected-fixed-flow { color:#7a8780; font-size:11px; margin:14px 0 0; }
.connected-fixed-card .connected-section-description { margin-bottom:6px; }
.connected-settings-aside .connection-card { padding:22px; }
.connected-settings-aside .connected-section-heading { align-items:flex-start; }
.connected-settings-aside .connection-card h2 { font-size:17px; }
.connected-settings-aside .connected-fixed-label { flex-shrink:0; }
.connected-settings-aside .connected-sync-fields { margin-top:4px; }
.connected-settings-aside .connected-sync-fields li { padding:10px 0; }
.connected-detail-section { padding:4px 0 24px; margin-bottom:22px; border-bottom:1px solid #dce3df; }
.connected-detail-section h2 { font-size:13px; font-weight:650; margin:0 0 12px; }
.connected-detail-section p { font-size:13px; line-height:1.55; margin:0 0 8px; }
.connected-detail-section .connection-muted { font-size:12px; }
.connected-related-sheets { list-style:none; margin:0 0 14px; padding:0; }
.connected-related-sheets li { margin:0 0 14px; }
.connected-related-sheets a { color:#244637; font-size:13px; text-decoration:none; line-height:1.5; }
.connected-related-sheets a:hover { text-decoration:underline; }
.connected-related-sheets small { display:block; color:#7a8780; font-size:11px; margin-top:2px; }
.connected-unlink-section { border-bottom:0; color:#66766c; }
.connected-unlink-section p { margin:12px 0; }
.connected-sync-panel { min-width:0; font-size:.84rem; }
.connected-sync-panel-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.connected-sync-panel-toolbar a { color:#60717a; font-size:.76rem; }
.connected-sync-panel-summary { margin-bottom:14px; }
.connected-sync-panel-summary strong { color:#384f5a; font-size:.84rem; }
.connected-sync-panel .connection-card { border:0; border-radius:0; border-top:1px solid #d7e2e8; background:transparent; padding:16px 0 0; margin:16px 0 0; }
.connected-sync-panel .connection-card h2, .connected-sync-panel .connected-detail-section h2 { font-size:.84rem; color:#384f5a; margin:0 0 8px; }
.connected-sync-panel .connected-section-description { font-size:.76rem; line-height:1.5; margin-bottom:12px; }
.connected-sync-panel .connected-editing-toggle { padding:12px; gap:12px; background:#f7fafb; border-color:#d7e2e8; }
.connected-sync-panel .connected-editing-toggle strong { font-size:.8rem; }
.connected-sync-panel .connected-editing-toggle span span { font-size:.73rem; }
.connected-sync-panel .connected-sync-fields { margin-top:8px; }
.connected-sync-panel .connected-sync-fields li { padding:10px 0; gap:12px; }
.connected-sync-panel .connected-sync-fields strong { font-size:.79rem; }
.connected-sync-panel .connected-sync-fields small, .connected-sync-panel .connected-field-note { font-size:.73rem; }
.connected-sync-panel .connected-field-direction { font-size:.73rem; }
.connected-sync-panel .connected-editing-footer { margin-top:12px; padding-top:12px; flex-wrap:wrap; }
.connected-sync-panel .connected-detail-section { margin:16px 0 0; padding:0 0 16px; }
.connected-sync-panel .connected-detail-section p { font-size:.76rem; }
.connected-sync-panel .connected-section-heading { margin-bottom:8px; }
.connected-sync-panel .connected-section-heading h2 { margin:0; }
.connected-sync-panel .connected-sync-panel-actions { display:flex; gap:8px; margin:14px 0 0; }
.connected-sync-panel button:disabled, .connected-sync-panel input[type=submit]:disabled { opacity:.5; cursor:not-allowed; }
.connected-sync-panel .connected-conflict { grid-template-columns:1fr; }
.connected-sync-panel .connected-conflict>div { padding:12px; }
.connected-sync-panel .connection-secondary, .connected-sync-panel .connection-danger { padding:6px 10px; min-height:32px; font-size:.76rem; }
.connected-sync-panel-message { padding:8px 10px; background:#f3f7f9; border:1px solid #d7e2e8; border-radius:5px; font-size:.76rem; }
.connected-sync-panel .connection-notice { font-size:.76rem; padding:10px 12px; }
.connected-sheet-page .connected-unlink-section summary { font-size:12px; font-weight:500; }
@media(max-width:1000px) { .connected-settings-layout { grid-template-columns:minmax(0,1fr) 290px; } .connected-sheet-header .connection-actions { width:100%; } }
@media(max-width:760px) { .connected-settings-layout { grid-template-columns:1fr; } .connected-sheet-page .connection-card { padding:20px; } }
@media(max-width:440px) { .connected-editing-toggle { padding:13px; gap:12px; } .connected-sync-fields li { gap:12px; } .connected-editing-footer { flex-wrap:wrap; } }
@media(max-width:900px) { .connected-setup-layout { grid-template-columns:1fr; } .connected-review { position:static; } }
@media(max-width:600px) { .connections-page { padding:20px 14px; } .connection-card { padding:18px; } .connected-form-grid, .connected-conflict { grid-template-columns:1fr; } }
@media(max-width:600px) {
  .connected-setup-page { padding-bottom: 150px; }
  .connected-setup-actions { flex-direction: column; align-items: stretch; gap: 8px; padding: 12px 14px max(12px, env(safe-area-inset-bottom)); }
}

/* Connected sheet creation stays over Plan; account settings live on their own page. */
.connected-sheet-dialog { width:min(960px,calc(100vw - 48px)); max-width:none; max-height:calc(100dvh - 64px); padding:0; border:1px solid #d7e2e8; border-radius:14px; box-shadow:0 24px 90px #071c3540; color:#263e49; overflow:auto; background:#fff; }
.connected-sheet-dialog::backdrop { background:#071c3566; backdrop-filter:blur(2px); }
.connected-dialog-header { position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between; padding:22px 30px; border-bottom:1px solid #e1e7ec; background:#fff; }
.connected-dialog-header h1 { font-size:22px; letter-spacing:-.5px; margin:5px 0 0; }
.connected-dialog-header .connections-eyebrow { color:#75858c; font-size:10px; }
.connected-dialog-close { display:grid; place-items:center; width:34px; height:34px; border:1px solid #d7e2e8; background:#f8fafb; border-radius:8px; color:#526a76; cursor:pointer; font:24px/1 inherit; font-size:24px; }
.connected-flow-content { padding:24px 30px 0; }
.connected-flow-content h2 { font-size:21px; letter-spacing:-.4px; margin:0 0 8px; outline:none; }
.connected-flow-description { font-size:13px; line-height:1.6; color:#697b83; margin:0 0 24px; }
.connected-flow-steps { display:flex; list-style:none; padding:0; margin:0 0 24px; gap:28px; }
.connected-flow-steps li { display:flex; align-items:center; gap:7px; font-size:12px; color:#839198; }
.connected-flow-steps li span { display:grid; place-items:center; width:23px; height:23px; border:1px solid #dce4e8; border-radius:50%; font-size:11px; }
.connected-flow-steps li[aria-current=step] { color:#235b48; font-weight:650; }
.connected-flow-steps li[aria-current=step] span { color:#fff; background:#235b48; border-color:#235b48; }
.connected-flow-account { display:flex; align-items:center; gap:12px; padding:12px 16px; border:1px solid #dce5e9; background:#f8fafb; border-radius:8px; margin-bottom:26px; }
.connected-flow-account strong { display:block; font-size:13px; }
.connected-flow-account small { display:block; font-size:11px; color:#75858c; margin-top:4px; }
.connected-flow-account .connection-provider-mark { width:32px; height:32px; font-size:20px; border-radius:6px; }
.connected-flow-account a { margin-left:auto; font-size:12px; color:#3b6577; }
.connected-record-choices { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:24px; }
.connected-record-choice { display:flex; align-items:flex-start; gap:12px; padding:22px 18px; border:1px solid #d9e3e8; border-radius:9px; cursor:pointer; background:#fff; }
.connected-record-choice:has(input:checked) { border-color:#47806b; box-shadow:0 0 0 1px #47806b; background:#f5faf7; }
.connected-record-choice input, .connected-flow-extra input { width:17px; height:17px; accent-color:#215c46; margin-top:2px; flex-shrink:0; }
.connected-record-choice strong { display:block; font-size:15px; margin-bottom:6px; }
.connected-record-choice small { display:block; color:#72828a; font-size:12px; line-height:1.5; }
.connected-existing-sheets { padding:12px 0; border-top:1px solid #edf0f2; font-size:12px; }
.connected-flow-entity { padding:0 0 24px; margin:24px 0; border-bottom:1px solid #e1e7ec; }
.connected-flow-entity h3 { font-size:16px; margin:0; }
.connected-flow-entity .connected-editing-toggle { margin:18px 0; }
.connected-flow-options { border-top:1px solid #edf0f2; padding:16px 0; }
.connected-flow-options summary { font-size:13px; font-weight:600; cursor:pointer; }
.connected-flow-extra { display:flex; gap:10px; align-items:flex-start; padding:14px 0; }
.connected-flow-extra strong, .connected-flow-extra small { display:block; font-size:12px; }
.connected-flow-extra small { font-weight:400; color:#72828a; margin-top:5px; }
.connected-preview-button { margin-top:10px; font-size:12px; }
.connected-flow-review article { padding:18px 20px; margin:12px 0; border:1px solid #dce5e9; border-radius:8px; }
.connected-flow-review strong { font-size:15px; }
.connected-flow-review p { font-size:12px; color:#697b83; line-height:1.6; margin:7px 0 0; }
.connected-flow-review .connected-review-child { padding-left:12px; color:#406654; }
.connected-flow-review .connected-review-link { margin:10px 0; }
.connected-flow-footer { position:sticky; bottom:0; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 30px; margin:26px -30px 0; border-top:1px solid #dce5e9; background:#fff; z-index:2; }
.connected-flow-footer p { font-size:12px; color:#697b83; margin:0; line-height:1.5; }
.connected-flow-footer > div { display:flex; gap:10px; flex-shrink:0; }
.connected-flow-content button:disabled, .connected-flow-content input[type=submit]:disabled { opacity:.5; cursor:not-allowed; }
.connected-flow-content [hidden] { display:none !important; }
.connected-flow-loading { padding:36px 30px; font-size:13px; }
.connected-account-choice { display:flex; align-items:center; gap:16px; padding:20px; border:1px solid #dce5e9; border-radius:8px; margin:14px 0; }
.connected-account-choice strong { font-size:15px; }
.connected-account-choice p, .connected-account-choice small { font-size:12px; color:#72828a; margin:5px 0; }
.connected-account-choice > a { margin-left:auto; }
.connected-account-choices { margin-bottom:22px; }
.connected-sign-in { padding:22px; }
/* Use the same full-width tabs and canvas as Workforce. */
.connections-page.project-settings-page {
  max-width: none;
  margin: 0;
  padding: 1rem;
  gap: 0;
}

.project-settings-page .project-settings-panel > .connections-section {
  margin-top: 0;
}

.project-settings-page .project-settings-panel > .connections-section + .connections-section {
  padding-top: 1rem;
}

.project-settings-page .connection-card {
  margin-bottom: 0;
}

.project-settings-page .connections-section-header {
  margin-bottom: 1rem;
}

.project-settings-page .connections-section-header h2 {
  font-size: 1.1rem;
}

.project-settings-page .connections-section-header p {
  font-size: .88rem;
}

.project-settings-page .connected-sign-in {
  width: 100%;
  max-width: 740px;
}

.project-settings-page .connection-back {
  margin-bottom: 0;
}

.data-connections-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 340px));
  align-items: stretch;
  gap: 1rem;
}

.data-connection-card .connection-provider-mark {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  font-size: 18px;
}

.data-connection-card .data-connection-account {
  overflow-wrap: anywhere;
}

.data-connection-card .data-connection-usage,
.data-connection-card .data-connection-error {
  margin: 0;
  font-size: .8rem;
  line-height: 1.5;
}

.data-connection-card > .team-secondary-button {
  margin-top: auto;
}

.available-ai-tools-heading {
  margin: 0 0 1rem;
  font-size: 1.1rem;
}

@media(max-width:640px) {
  .connected-sheet-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:10px; }
  .connected-dialog-header { padding:18px; }
  .connected-flow-content { padding:20px 18px 0; }
  .connected-flow-steps { gap:10px; justify-content:space-between; }
  .connected-flow-steps li { gap:4px; font-size:10px; }
  .connected-flow-steps li span { width:20px; height:20px; }
  .connected-record-choices, .connected-flow-content .connected-form-grid { grid-template-columns:1fr; }
  .connected-flow-footer { padding:14px 18px; margin-left:-18px; margin-right:-18px; align-items:flex-start; flex-direction:column; }
  .connected-flow-footer > div { align-self:flex-end; }
  .connected-flow-account { flex-wrap:wrap; }
  .connected-account-choice { align-items:flex-start; flex-wrap:wrap; }
}

.connection-remove-link { display:inline-flex; align-items:center; padding:8px 4px; margin-left:auto; color:#96372d; font-size:13px; text-decoration:none; }
.connection-remove-link:hover { text-decoration:underline; }
.connection-remove-section { margin-top:22px; }
.connection-removal-dialog { width:min(560px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 48px); padding:0; border:1px solid #dce3df; border-radius:12px; color:#263e49; background:#fff; box-shadow:0 24px 90px #071c3540; overflow:auto; }
.connection-removal-dialog::backdrop { background:#071c3566; backdrop-filter:blur(2px); }
/* Shared confirmation panel, displayed both as a page and in a dialog. */
.connection-removal-page .project-settings-panel { padding:24px; }
.connection-removal-page #connection-removal-confirmation { display:block; width:min(100%,680px); margin:12px auto 32px; border:1px solid #dce4e8; border-radius:12px; background:#fff; box-shadow:0 4px 18px #243b4a08; }
.connection-removal-content { padding:28px; color:#263e49; }
.connection-removal-header { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.connection-removal-icon { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:1px solid #f0d7d2; border-radius:10px; background:#fff3f0; color:#a43f33; }
.connection-removal-icon svg { width:22px; height:22px; }
.connection-removal-header .connections-eyebrow { color:#7b858b; font-size:10px; letter-spacing:1px; }
.connection-removal-content h1 { font-size:24px; font-weight:650; line-height:1.25; letter-spacing:-.6px; margin:5px 0 0; outline:none; overflow-wrap:anywhere; }
.connection-removal-content p { font-size:13px; line-height:1.65; }
.connection-removal-warning { margin:0 0 24px; padding:14px 16px; border:1px solid #efd5ce; border-radius:7px; background:#fff7f4; color:#874237; }
.connection-removal-list-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.connection-removal-list-heading h2 { margin:0; font-size:13px; font-weight:650; }
.connection-removal-list-heading > span { font-size:12px; color:#75828a; }
.connection-removal-content .connection-removal-list-description { margin:5px 0 12px; color:#71818a; font-size:12px; }
.connection-removal-sheets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:270px; overflow:auto; overscroll-behavior:contain; list-style:none; margin:0; padding:5px; border:1px solid #e1e7eb; border-radius:7px; background:#f9fbfc; }
.connection-removal-sheets li { display:flex; align-items:center; gap:9px; min-width:0; padding:10px; font-size:12px; line-height:1.45; }
.connection-removal-sheets li svg { width:17px; height:17px; flex:0 0 17px; color:#7b939f; }
.connection-removal-sheets li span { overflow-wrap:anywhere; }
.connection-removal-content .connection-removal-provider-note { display:flex; align-items:center; gap:8px; margin:16px 0 0; color:#547165; font-size:12px; }
.connection-removal-provider-note svg { width:17px; height:17px; flex:0 0 17px; }
.connection-removal-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; padding-top:20px; margin-top:24px; border-top:1px solid #e6ebee; }
.connection-removal-actions form { margin:0; }
.connection-removal-actions .team-secondary-button, .connection-remove-submit { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:9px 14px; border:1px solid #d6dfe3; border-radius:6px; font:inherit; font-size:12px; font-weight:600; line-height:1.4; text-decoration:none; cursor:pointer; }
.connection-removal-actions .team-secondary-button { background:#fff; color:#526671; }
.connection-removal-actions .team-secondary-button:hover { background:#f5f8fa; }
.connection-remove-submit { border-color:#a43f33; color:#fff; background:#a43f33; }
.connection-remove-submit:hover { background:#8d3028; }
.connection-removal-actions :is(a,button):focus-visible { outline:2px solid #547d9d; outline-offset:3px; }
.connection-remove-submit:disabled { opacity:.55; cursor:wait; }
@media(max-width:600px) {
  .connection-removal-page .project-settings-panel { padding:12px; }
  .connection-removal-page #connection-removal-confirmation { margin:0 auto 20px; }
  .connection-removal-content { padding:20px; }
  .connection-removal-content h1 { font-size:21px; }
  .connection-removal-sheets { grid-template-columns:1fr; }
  .connection-removal-actions { flex-direction:column-reverse; align-items:stretch; }
  .connection-removal-actions form, .connection-removal-actions button { width:100%; }
}
.connection-removal-loading { padding:28px; font-size:13px; }

.salesforce-object-search { display:grid; gap:6px; margin:18px 0 12px; font-size:13px; font-weight:600; }
.salesforce-object-search input { width:100%; padding:11px 13px; border:1px solid #cedbe1; border-radius:6px; font:inherit; background:#fff; color:#263e49; }
.salesforce-object-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:46vh; overflow:auto; padding:3px; margin:14px 0; }
.salesforce-object-choice { align-items:flex-start; padding:12px; }
.salesforce-object-choice > span { min-width:0; }
.salesforce-object-choice strong, .salesforce-object-choice small { display:block; overflow-wrap:anywhere; }
.salesforce-object-choice small { margin-top:4px; }
.salesforce-object-choice:has(input:disabled) { opacity:.55; }
.salesforce-object-choice[hidden] { display:none; }
.salesforce-record-filter { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
@media(max-width:600px) { .salesforce-object-catalog, .salesforce-record-filter { grid-template-columns:1fr; } }
