/* ACSR Knowledge Agent — Concierge widget type and embed chrome (served with ui-assistant). */

:root {
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --apple-text: #1d1d1f;
  --apple-secondary: #6e6e73;
  --apple-elevated: #f5f5f7;
  --apple-blue: #0071e3;
  --apple-link: #0066cc;
  --nec-blue: #0033a0;
  --nec-blue-bright: #1a4bb8;
  --nc-steel: #4e7394;
  --csg-ink: #111111;
}

html, body {
  font-family: var(--font) !important;
  font-size: 13px !important;
  color: var(--apple-text) !important;
  min-height: 100%;
  background: #d7e2ec !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.topbar__title, .drawer__title, .card__title {
  font-family: var(--font-display) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

.btn { border-radius: 980px !important; font-size: 12px !important; }

.xpi-chat-widget {
  --ca-fontFamily: var(--font);
  --ca-text-scale-aiMessage-size: 13px;
  --ca-text-scale-aiMessage-lineHeight: 1.38462;
  --ca-text-scale-aiMessage-fontWeight: 400;
  --ca-text-scale-aiMessage-headings-h1-size: 1.1em;
  --ca-text-scale-aiMessage-headings-h1-fontWeight: 600;
  --ca-text-scale-chatBubble-size: 13px;
  --ca-text-scale-chatBubble-lineHeight: 1.38462;
  --ca-text-scale-chatInput-size: 13px;
  --ca-text-scale-chatInput-lineHeight: 1.38462;
  --ca-text-scale-chatButton-size: 13px;
  font-family: var(--font) !important;
  font-size: 13px !important;
  color: var(--apple-text) !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-font-smoothing: antialiased;
}

.xpi-chat-widget,
.xpi-chat-widget p,
.xpi-chat-widget li,
.xpi-chat-widget span,
.xpi-chat-widget div,
.xpi-chat-widget button,
.xpi-chat-widget textarea,
.xpi-chat-widget input {
  font-family: var(--font) !important;
}

.chat-messages-container p:first-of-type {
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.25 !important;
  color: var(--apple-text) !important;
}

.chat-messages-container p:nth-of-type(2),
.xpi-chat-widget [class*="disclaimer"] {
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: var(--apple-secondary) !important;
}

.chat-messages-container p,
.chat-messages-container li {
  font-size: 13px !important;
  line-height: 1.38462 !important;
  font-weight: 400 !important;
  color: var(--apple-text) !important;
  letter-spacing: -0.01em !important;
}

.chat-messages-container a { color: var(--nec-blue-bright) !important; }

.xpi-chat-widget textarea,
.xpi-chat-widget [placeholder] {
  font-size: 13px !important;
}

#nec-csg-scene {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: linear-gradient(180deg, #f4f7fa 0%, #e4edf4 45%, #c9d8e6 100%);
}

.nec-towers {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.5) 50%, rgba(255,255,255,0) 100%),
    repeating-linear-gradient(78deg, transparent 0 26px, rgba(255,255,255,.35) 26px 28px, transparent 28px 52px, rgba(78,115,148,.14) 52px 54px, transparent 54px 90px),
    repeating-linear-gradient(102deg, transparent 0 40px, rgba(255,255,255,.28) 40px 42px, transparent 42px 78px, rgba(0,51,160,.08) 78px 80px, transparent 80px 120px);
}

.nec-towers::before,
.nec-towers::after {
  content: "";
  position: absolute;
  top: -18%;
  height: 140%;
  width: 42%;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(90,120,145,.22)),
    repeating-linear-gradient(90deg, transparent 0 18px, rgba(255,255,255,.2) 18px 19px);
  clip-path: polygon(12% 0, 78% 0, 100% 100%, 0 100%);
}
.nec-towers::before { left: -10%; transform: skewX(-11deg); opacity: .7; }
.nec-towers::after { right: -12%; transform: skewX(12deg); opacity: .65; }

.nec-glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 62% 40% at 50% 42%, rgba(255,255,255,.55) 0%, rgba(255,255,255,.12) 48%, transparent 72%);
}

.nec-logos {
  position: absolute;
  left: 5%;
  right: 5%;
  top: 38%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3%;
  filter: drop-shadow(0 10px 28px rgba(0,51,160,.12));
}

.brand { display: flex; align-items: center; gap: 10px; flex: 1; }
.brand-nc { justify-content: flex-start; }
.brand-nec {
  justify-content: center;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-weight: 800;
  font-size: clamp(42px, 6vw, 72px);
  letter-spacing: .06em;
  color: var(--nec-blue);
  line-height: 1;
}
.brand-csg { justify-content: flex-end; color: var(--csg-ink); }
.nc-mark { width: 52px; height: 40px; flex: none; }
.nc-word { display: flex; flex-direction: column; gap: 2px; }
.nc-name {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  font-size: clamp(18px, 2.4vw, 28px);
  color: #5a7a96;
  letter-spacing: .01em;
  line-height: 1;
}
.nc-tag {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-size: 9px;
  letter-spacing: .04em;
  color: #7d96ab;
}
.csg-hash { width: 34px; height: 34px; }
.csg-name {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(32px, 4.5vw, 52px);
  letter-spacing: -.05em;
  line-height: 1;
}

.nec-stripe {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 5px;
  background: linear-gradient(90deg, #4e7394 0 33%, #0033a0 33% 66%, #111 66% 100%);
}

.app-main,
.widget-host,
#chat-widget-container {
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.topbar {
  position: relative;
  z-index: 3;
  background: rgba(255,255,255,.72) !important;
  backdrop-filter: blur(20px) saturate(1.25);
  -webkit-backdrop-filter: blur(20px) saturate(1.25);
  border-bottom: 2px solid var(--nec-blue) !important;
  box-shadow: 0 10px 32px rgba(0,51,160,.08);
}

.drawer {
  z-index: 4;
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(22px) saturate(1.2);
  -webkit-backdrop-filter: blur(22px) saturate(1.2);
  border: 1px solid rgba(0,51,160,.1) !important;
}

.btn:not(.btn--outline):not(.btn--icon):not(.btn--ghost) {
  background: var(--nec-blue) !important;
  border-color: var(--nec-blue) !important;
  color: #fff !important;
}

.chat-messages-container {
  background: rgba(255,255,255,.48) !important;
  backdrop-filter: blur(18px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.2) !important;
}

.chat-input {
  background: rgba(255,255,255,.62) !important;
}

.concierge-csg-widget {
  background: transparent !important;
}

/* Embedded host — align Concierge header with page (hide close; launcher hidden in host) */
.widget-host .chat-header,
#chat-widget-container .chat-header,
.widget-host [class*="chat-header"]:not(.chat-header-right),
#chat-widget-container [class*="chat-header"]:not(.chat-header-right) {
  background: transparent !important;
  border-bottom: 1px solid var(--color-border, #d8dee8) !important;
  box-shadow: none !important;
}

.widget-host .chat-header button,
#chat-widget-container .chat-header button,
.widget-host [class*="chat-header"] button,
#chat-widget-container [class*="chat-header"] button {
  color: var(--apple-secondary) !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.widget-host .chat-header button:hover,
#chat-widget-container .chat-header button:hover,
.widget-host [class*="chat-header"] button:hover,
#chat-widget-container [class*="chat-header"] button:hover {
  color: var(--apple-text) !important;
}

.widget-host .chat-header-right,
#chat-widget-container .chat-header-right,
.widget-host [class*="chat-header-right"],
#chat-widget-container [class*="chat-header-right"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
