/* Shared public controls: scoped to avoid overriding product/marketing pages. */
.aure-global-ui { box-sizing:border-box; font:400 1rem/1.5 system-ui,sans-serif; color:#142b3c; }
.aure-global-ui *, .aure-global-ui *::before, .aure-global-ui *::after { box-sizing:border-box; }
.aure-global-ui[hidden], #chatPanel.aure-global-ui[hidden], #cookieConsent.aure-global-ui[hidden] { display:none; }
.aure-global-ui button, .aure-cookie-reopen { min-height:44px; padding:.65rem 1rem; border:1px solid #546c78; border-radius:8px; background:#fff; color:#142b3c; font:600 .9rem/1.3 system-ui,sans-serif; cursor:pointer; }
.aure-global-ui button:disabled { opacity:.6; cursor:wait; }
.aure-global-ui :focus-visible, .aure-cookie-reopen:focus-visible { outline:3px solid #0b6f8e; outline-offset:3px; }
.aure-global-ui a { color:#075774; text-decoration:underline; }
#chatLaunch.aure-global-ui { position:fixed; bottom:18px; right:18px; z-index:70; min-height:48px; padding:12px 20px; border:1px solid #6f949f; border-radius:12px; background:#071a2b; color:#fff; font-weight:600; cursor:pointer; box-shadow:0 8px 28px #071a2b33; }
#chatPanel.aure-global-ui { position:fixed; z-index:71; right:18px; bottom:78px; width:min(430px,40vw); max-height:calc(100dvh - 100px); border:1px solid #c2d1d5; border-radius:16px; padding:16px; background:#fff; box-shadow:0 16px 50px #071a2b44; overflow:auto; }
#chatPanel.aure-global-ui.open { display:flex; flex-direction:column; gap:12px; }
#chatPanel > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#chatPanel #chatMessages { min-height:100px; max-height:40dvh; overflow:auto; display:block; }
#chatPanel p { margin:8px 0; padding:8px; overflow-wrap:anywhere; font-size:1rem; }
#chatPanel .chat-privacy { font-size:.875rem; line-height:1.45; background:#eff5f5; }
#chatPanel .you { background:#0b5874; color:#fff; border-radius:8px; }
#chatPanel #chatForm { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:0; }
#chatPanel #chatForm[hidden], #chatPanel .chat-review[hidden], #chatPanel .chat-lifecycle button[hidden] { display:none; }
#chatPanel .chat-lifecycle { flex:0 0 auto; border-top:1px solid #d5e1e5; padding-top:6px; }
#chatPanel .chat-session-status { padding:0; margin:0 0 6px; font-size:.75rem; color:#45616b; }
#chatPanel .chat-lifecycle > button { min-height:36px; padding:.4rem .75rem; font-size:.8rem; }
#chatPanel .chat-review > p { padding:0; font-size:.9rem; margin:6px 0; }
#chatPanel .chat-stars { display:flex; gap:8px; margin:8px 0; }
#chatPanel .chat-stars button { width:44px; min-width:44px; height:44px; padding:0; font-size:1.55rem; color:#805d0a; border-color:#b9a674; }
#chatPanel .chat-stars button[aria-pressed=true] { background:#075774; color:#fff; border-color:#075774; }
#chatPanel .chat-summary { font-size:.8rem; margin-top:8px; max-height:110px; overflow:auto; }
#chatPanel .chat-summary p { font-size:.8rem; padding:0; }
#chatPanel #chatForm label { grid-column:1/-1; }
#chatPanel #chatForm textarea { grid-column:1; min-height:50px; max-height:140px; width:100%; resize:vertical; border:1px solid #69838e; border-radius:8px; padding:10px; font:inherit; background:#fff; color:#142b3c; caret-color:#142b3c; opacity:1; }
#chatPanel #chatForm textarea::placeholder { color:#526772; opacity:1; }
#chatPanel .chat-privacy-link { align-self:flex-end; font-size:.875rem; }
#chatPanel .chat-shortcuts a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.65rem .9rem; border:1px solid #546c78; border-radius:8px; background:#fff; color:#142b3c; text-decoration:none; font-weight:600; }
#aureChatFrame { position:fixed; z-index:71; right:18px; bottom:78px; width:min(430px,calc(100vw - 32px)); height:min(610px,calc(100dvh - 100px)); overflow:hidden; border:1px solid #c2d1d5; border-radius:16px; background:#fff; box-shadow:0 16px 50px #071a2b44; }
#aureChatFrame[hidden] { display:none; }
#aureChatFrame iframe { display:block; width:100%; height:100%; border:0; }
body[data-chat-widget=true] { margin:0; min-height:0; height:100dvh; overflow:hidden; background:#fff; }
body[data-chat-widget=true] #chatLaunch { display:none; }
body[data-chat-widget=true] #chatPanel { position:static; width:100%; height:100dvh; max-height:none; border:0; border-radius:0; box-shadow:none; overflow:hidden; }
body[data-chat-widget=true] #chatPanel #chatMessages { flex:1 1 0; min-height:0; max-height:none; }
body[data-chat-widget=true] #chatPanel > div:first-child { flex-shrink:0; }
body[data-chat-widget=true] #chatPanel #chatForm, body[data-chat-widget=true] #chatPanel .chat-shortcuts { flex-shrink:0; }
#chatPanel #chatForm button { grid-column:2; align-self:end; height:50px; background:#0b5874; color:#fff; }
#chatPanel .chat-shortcuts { display:flex; flex-wrap:wrap; gap:6px; }
#chatPanel .chat-shortcuts button { flex:1 1 auto; }
#cookieConsent.aure-global-ui { position:fixed; z-index:90; inset:auto 16px 16px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px; background:#071a2b; color:#fff; border-radius:12px; box-shadow:0 8px 40px #0004; }
#cookieConsent p { color:#fff; margin:.4rem 0; font-size:.95rem; }
#cookieConsent a { color:#a6edf3; }
.aure-global-ui .cookie-actions { display:flex; flex-wrap:wrap; gap:8px; }
#cookieConsent .cookie-actions button { background:#fff; color:#142b3c; border:1px solid #fff; font-size:.9rem; min-height:44px; }
#cookieSettings.aure-global-ui { width:min(620px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:24px; border:1px solid #b6c9cf; border-radius:16px; background:#fff; }
#cookieSettings .cookie-choice { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; }
#cookieSettings input[type=checkbox] { width:24px; height:24px; min-height:24px; flex-shrink:0; }
#cookieSettings small { display:block; }
#cookieSettings::backdrop, #aureInlineRequest::backdrop { background:#071a2bb3; }
body:has(#cookieConsent:not([hidden])) #chatLaunch { bottom:240px; }
body:has(#cookieConsent:not([hidden])) #chatPanel { bottom:300px; max-height:calc(100dvh - 320px); }
#aureInlineRequest { width:min(960px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:20px; border:1px solid #b6c9cf; border-radius:12px; background:white; }
#aureInlineRequest iframe { width:100%; height:72dvh; border:0; }
#aureInlineRequest form { display:grid; gap:16px; }
#aureInlineRequest label { display:grid; gap:6px; }
#aureInlineRequest input:not([type=checkbox]), #aureInlineRequest textarea { width:100%; min-height:44px; border:1px solid #69838e; padding:10px; font:inherit; border-radius:6px; }
#aureInlineRequest input[type=checkbox] { width:24px; height:24px; }
body[data-embedded=true] .kairos-header, body[data-embedded=true] .assistant-intro, body[data-embedded=true] footer { display:none; }
body[data-embedded=true] .assistant-shell { display:block; width:100%; padding:8px; }
@media(max-width:700px) {
  #chatPanel.aure-global-ui { width:calc(100% - 16px); right:8px; bottom:max(8px,env(safe-area-inset-bottom)); max-height:calc(100dvh - 16px); }
  #chatPanel #chatMessages { max-height:42dvh; }
  #cookieConsent.aure-global-ui { flex-direction:column; align-items:stretch; max-height:70dvh; overflow:auto; gap:10px; padding:16px; }
  #cookieConsent .cookie-actions button { flex:1 1 120px; }
  #cookieConsent.aure-global-ui { bottom:82px; max-height:60dvh; }
  body:has(#cookieConsent:not([hidden])) #chatLaunch { bottom:18px; }
  body:has(#cookieConsent:not([hidden])) #chatPanel { bottom:8px; max-height:calc(100dvh - 16px); z-index:91; }
}
@media(prefers-reduced-motion:reduce) { .aure-global-ui { scroll-behavior:auto; } }
.legal-shell { overflow-wrap:anywhere; }
/* Account entry remains visible outside the collapsed mobile menu. */
.aure-portal-entry { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; flex:0 0 auto; min-width:44px; min-height:44px; padding:.5rem; margin-inline-start:12px; border:1px solid currentColor; border-radius:50%; color:inherit; text-decoration:none; }
.aure-portal-entry svg { display:block; flex-shrink:0; }
.aure-portal-entry:hover { background:#0b6f8e; color:#fff; }
.aure-portal-entry:focus-visible { outline:3px solid #21c5df; outline-offset:4px; }
.aure-portal-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.site-header > .brand { margin-right:auto; flex-shrink:0; }
.site-header > nav { order:1; }
.site-header > .aure-portal-entry { order:2; }
.site-header > .menu { order:3; margin-left:8px; flex-shrink:0; }
.sub-header > .aure-portal-entry { margin-left:16px; }
@media (max-width:1120px) {
  .site-header > .menu { display:block; width:44px; height:44px; }
  .site-header > .menu span { display:block; width:24px; height:1px; background:currentColor; margin:7px auto; }
  .site-header > nav { display:none; position:absolute; top:100%; left:0; right:0; background:#071a2b; padding:24px 28px; flex-direction:column; align-items:flex-start; }
  .site-header > nav.open { display:flex; }
}
