
/* Progressive enhancement of the existing assistant; shared with its inert demo. */
@media screen {
  .ai-chat.ncc-assistant {
    width:min(430px,calc(100vw - 24px));max-height:min(740px,calc(100dvh - 110px));
    background:#fff;border:1px solid #c4cfda;border-radius:14px;overflow-y:auto;
    box-shadow:0 12px 38px #132a4226;overscroll-behavior:contain;
  }
  .ncc-assistant .ai-head { background:#132a42;padding:16px;position:sticky;top:0;z-index:2;flex-shrink:0; }
  .ncc-assistant .ai-head strong { font-size:18px;font-weight:800;line-height:1.4; }
  .ncc-assistant .ai-head small { font-size:14px;line-height:1.5;font-weight:500;color:#d4e0eb; }
  .ncc-assistant .ai-close { min-width:44px;width:44px;height:44px;border-radius:8px;background:#ffffff14; }
  .ncc-guide { padding:18px 16px 12px;flex-shrink:0; }
  .ncc-guide h2 { font-size:18px;line-height:1.4;letter-spacing:-.015em;color:#182b40;margin:0 0 12px; }
  .ncc-guide p { font-size:16px;line-height:1.6;color:#334457;margin:0 0 12px;font-weight:400; }
  .ncc-guide-choices { display:grid;grid-template-columns:minmax(0,1fr);gap:8px; }
  .ncc-guide button,.ncc-guide a,.ncc-assistant-contact button,
  .ncc-assistant .ai-quick button { font-family:inherit;font-size:14px;font-weight:700;line-height:1.5;min-height:44px;padding:10px 12px;border-radius:8px;border:1px solid #c4cfda;background:#fff;color:#1d4e82;text-decoration:none;cursor:pointer;white-space:normal; }
  .ncc-guide-choices button { text-align:left;background:#f5f7f9; }
  .ncc-guide button:hover,.ncc-assistant-contact button:hover { background:#edf3f8;border-color:#8caac7; }
  .ncc-guide .ncc-guide-primary { display:block;background:#245f9e;border-color:#245f9e;color:#fff;text-align:center; }
  .ncc-guide .ncc-guide-primary:hover { background:#1d4e82; }
  .ncc-guide .ncc-guide-back { padding-left:0;border:0;background:none;min-height:44px;font-weight:600;margin-top:4px;text-decoration:underline;text-underline-offset:3px; }
  .ncc-assistant-more { margin:0 16px 10px;flex-shrink:0; }
  .ncc-assistant-more>summary { min-height:44px;cursor:pointer;font-size:14px;line-height:1.5;color:#596878;padding:10px 0; }
  .ncc-assistant-more .ai-quick { padding:8px 0 0;background:#fff;border:0;gap:8px; }
  .ncc-assistant-contact { display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 12px;flex-shrink:0;border-bottom:1px solid #dbe1e7; }
  .ncc-assistant-contact button { flex:1 1 auto; }
  .ncc-assistant.ncc-chat-start .ai-messages { display:none; }
  .ncc-assistant .ai-messages { min-height:100px;max-height:280px;flex:1 0 auto;padding:16px;background:#fff; }
  .ncc-assistant .ai-msg { font-size:16px;line-height:1.6;font-weight:400;padding:12px;border-radius:10px;overflow-wrap:anywhere; }
  .ncc-assistant .ai-msg.bot { background:#f0f4f7;color:#182b40; }
  .ncc-assistant .ai-msg.user { background:#245f9e;color:#fff; }
  .ncc-assistant .ai-form { padding:12px 16px;margin:0;flex-shrink:0; }
  .ncc-assistant .ai-input { min-width:0;min-height:48px;border-radius:8px;border-color:#899bad;font-size:16px;line-height:1.5;font-weight:400;font-family:inherit; }
  .ncc-assistant .ai-send { min-width:48px;min-height:48px;background:#245f9e;border-radius:8px; }
  .ncc-assistant .ai-send:disabled { opacity:.55;cursor:default; }
  .ncc-assistant .ai-note { font-size:13px;line-height:1.5;font-weight:400;color:#596878;padding:0 16px 16px;flex-shrink:0; }
  .ncc-assistant .ai-lead { margin:12px 16px;background:#f5f7f9;border-radius:10px;flex-shrink:0; }
  .ncc-assistant .ai-lead strong { font-size:16px;line-height:1.5; }
  .ncc-assistant .ai-lead input,.ncc-assistant .ai-lead textarea { font-size:16px;font-weight:400;line-height:1.5;min-height:48px;border-radius:8px;border-color:#899bad; }
  .ncc-assistant .ai-lead-actions button { min-height:48px;border-radius:8px;font-size:14px; }
  .ncc-assistant .ai-lead-submit { background:#245f9e; }
  .ncc-assistant [hidden] { display:none!important; }
  .ncc-assistant :is(button,input,textarea,summary,a):focus-visible { outline:3px solid #245f9e;outline-offset:3px; }
  .ncc-assistant .ai-close:focus-visible { outline-color:#c3d9ed; }
  @media(max-width:700px) {
    .ai-chat.ncc-assistant { right:12px;bottom:calc(74px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 92px - env(safe-area-inset-bottom,0px)); }
  }
}
