/* Shared authorization sheet. Native dialog supplies modality, focus containment
   and Escape; existing connector controllers still own every network action. */
.ncs-host { padding: 0 !important; overflow: visible !important; }
.ncs-summary { display: flex; align-items: center; gap: 16px; padding: 16px; }
.ncs-copy { flex: 1; min-width: 0; display: grid; gap: 5px; }
.ncs-copy strong { font: 650 15px/1.35 var(--sans); color: var(--text); }
.ncs-detail { font: 400 13px/1.5 var(--sans); color: var(--text-2); overflow-wrap: anywhere; }
.ncs-launch, .ncs-close { font: 600 13px/1.3 var(--sans); min-height: 44px; border-radius: 12px; cursor: pointer; }
.ncs-launch { padding: 10px 16px; border: 1px solid var(--accent-line, var(--line)); background: var(--accent); color: var(--on-accent); flex: none; }
.ncs-connected .ncs-launch { background: var(--ok-dim, var(--surface-2)); border-color: var(--ok, var(--line)); color: var(--ok, var(--text)); }
.ncs-dialog { box-sizing: border-box; width: min(520px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); margin: auto; padding: 0; border: 1px solid var(--line); border-radius: 24px; background: var(--surface-1, var(--bg)); color: var(--text); box-shadow: 0 24px 80px #0005; overflow: auto; overscroll-behavior: contain; text-align: left; }
.ncs-dialog::backdrop { background: #0007; backdrop-filter: blur(5px); }
.ncs-bar { display: flex; align-items: center; gap: 16px; padding: 20px 20px 12px; }
.ncs-bar h2 { flex: 1; margin: 0; font: 650 21px/1.3 var(--sans); color: var(--text); letter-spacing: -.02em; }
.ncs-close { min-width: 44px; border: 1px solid var(--line); background: var(--surface-2); color: var(--text); font-size: 24px; }
.ncs-content { padding: 8px 20px 16px; font: 400 14px/1.6 var(--sans); }
.ncs-content .cn-head, .ncs-content .cn-h, .ncs-content .ipx-h { display: none !important; }
.ncs-connected .ncs-content .cn-keywrap, .ncs-connected .ncs-content .cn-fields, .ncs-connected .cn-continue:disabled { display: none; }
.ncs-connected .ncs-content .cn-sub { display: none; }
.ncs-close.ncs-done { font-size: 14px; padding: 10px 14px; }
.ncs-content .cn-sub, .ncs-content .ipx-sub, .ncs-content .cn-purpose, .ncs-content .ipx-purpose { padding: 0; margin: 0 0 12px; font-size: 14px; line-height: 1.6; color: var(--text-2); }
.ncs-content .cn-keywrap, .ncs-content .cn-fields { padding: 0; }
.ncs-content .cn-input { box-sizing: border-box; width: 100%; min-height: 48px; font: 400 16px/1.4 var(--sans); margin-top: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); color: var(--text); }
.ncs-content .cn-acts { padding: 16px 0 0; gap: 10px; }
.ncs-content .cn-btn, .ncs-content .ipx-btn { min-height: 44px; height: auto; font-size: 14px; padding: 12px 16px; }
.ncs-content .cn-state, .ncs-content .cn-foot, .ncs-content .ipx-foot, .ncs-content .cn-docs { font: 400 12px/1.55 var(--sans); color: var(--text-2); }
.ncs-content .cn-msg { padding: 12px 0 0; font-size: 14px; }
.ncs-privacy { margin: 0; padding: 16px 20px 20px; border-top: 1px solid var(--line); font: 400 12px/1.6 var(--sans); color: var(--text-2); }
.ncs-launch:focus-visible, .ncs-close:focus-visible, .ncs-content button:focus-visible, .ncs-content input:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (max-width: 600px) {
  .ncs-summary { flex-wrap: wrap; gap: 12px; }
  .ncs-launch { width: 100%; }
  .ncs-dialog { width: 100%; max-height: calc(100dvh - 24px); margin: auto 0 0; border-radius: 28px 28px 0 0; padding-bottom: env(safe-area-inset-bottom); }
}
