.central-ai-launch{margin:18px 0 4px;border:1px solid rgba(148,163,184,.26);background:rgba(255,255,255,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:24px;box-shadow:0 18px 46px rgba(15,23,42,.08);padding:10px;display:flex;align-items:center;gap:10px}
.central-ai-launch button{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;text-align:left;color:#0f172a;font:inherit}
.central-ai-launch .central-ai-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#0f172a,#315d8a);color:#fff;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 10px 24px rgba(15,23,42,.18)}
.central-ai-launch .central-ai-mark svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.central-ai-launch .central-ai-copy{min-width:0;display:grid;gap:2px;flex:1}.central-ai-launch strong{font-size:15px}.central-ai-launch span{font-size:11px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.central-ai-launch .central-ai-arrow{font-size:21px;color:#94a3b8}
.central-ai-overlay{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.36);display:none;align-items:center;justify-content:center;padding:16px}.central-ai-overlay.show{display:flex}
.central-ai-dialog{width:min(760px,100%);height:min(78dvh,760px);background:#f8fafc;border:1px solid rgba(255,255,255,.7);border-radius:28px;box-shadow:0 30px 90px rgba(15,23,42,.28);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}
.central-ai-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;background:rgba(255,255,255,.94);border-bottom:1px solid #e2e8f0}.central-ai-head strong{display:block;font-size:16px}.central-ai-head span{display:block;font-size:10px;color:#64748b;margin-top:2px}.central-ai-close{width:38px;height:38px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#334155;font-size:24px;cursor:pointer}
.central-ai-messages{overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.central-ai-msg{max-width:88%;padding:11px 13px;border-radius:17px;font-size:13.5px;line-height:1.8;unicode-bidi:plaintext;text-align:start;overflow-wrap:anywhere}.central-ai-msg bdi{unicode-bidi:isolate}.central-ai-msg .md-p{margin:0;unicode-bidi:plaintext;text-align:start}.central-ai-msg .md-p+.md-p{margin-top:6px}.central-ai-msg .md-gap{height:8px}.central-ai-msg .md-h{font-weight:800;margin:9px 0 5px;font-size:13.5px;unicode-bidi:plaintext;text-align:start}.central-ai-msg .md-h:first-child{margin-top:0}.central-ai-msg .md-list{margin:6px 0;padding-inline-start:22px;display:grid;gap:5px}.central-ai-msg .md-list li{unicode-bidi:plaintext}.central-ai-msg b{font-weight:800}.central-ai-msg code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:rgba(120,140,170,.14);padding:1px 5px;border-radius:5px;unicode-bidi:isolate}.central-ai-msg.user{align-self:flex-end;background:#0f172a;color:#fff;border-bottom-right-radius:5px}.central-ai-msg.ai{align-self:flex-start;background:#fff;border:1px solid #dbe4ee;color:#172033;border-bottom-left-radius:5px}.central-ai-msg.system{align-self:center;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:11px}
.central-ai-composer{padding:12px;background:#fff;border-top:1px solid #e2e8f0;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;align-items:end}.central-ai-input{width:100%;min-height:52px;max-height:150px;resize:none;border:1px solid #dbe4ee;border-radius:17px;padding:14px 15px;font:700 15px/1.55 Cairo,system-ui,sans-serif;outline:none;overflow-y:auto}.central-ai-input:focus{border-color:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.14)}.central-ai-btn{width:48px;height:48px;border:0;border-radius:16px;display:grid;place-items:center;cursor:pointer;font-size:20px}.central-ai-send{background:#0f172a;color:#fff}.central-ai-voice{background:#eef2f7;color:#334155;border:1px solid #dbe4ee}.central-ai-voice.listening{background:#fff1f2;color:#be123c;border-color:#fecdd3}.central-ai-btn:disabled{opacity:.45;cursor:not-allowed}.central-ai-status{grid-column:1/-1;font-size:9px;color:#64748b;text-align:center;min-height:14px}
@media(max-width:620px){.central-ai-overlay{padding:0;align-items:flex-end}.central-ai-dialog{height:91dvh;border-radius:24px 24px 0 0}.central-ai-head{padding:14px 15px}.central-ai-messages{padding:12px}.central-ai-composer{grid-template-columns:46px minmax(0,1fr) 46px;padding:10px}.central-ai-btn{width:46px;height:46px}.central-ai-input{font-size:16px;min-height:50px}.central-ai-launch{border-radius:20px}}
.central-ai-input{-webkit-user-select:text;user-select:text;touch-action:manipulation;overscroll-behavior:contain}
.central-ai-voice.listening{animation:centralAiPulse 1.15s ease-in-out infinite}
@keyframes centralAiPulse{50%{transform:scale(.92);box-shadow:0 0 0 8px rgba(190,18,60,.10)}}
@media(max-width:620px){.central-ai-dialog{height:min(91dvh,calc(100dvh - env(safe-area-inset-top)));padding-bottom:env(safe-area-inset-bottom)}.central-ai-composer{position:relative}.central-ai-input{max-height:176px;line-height:1.55}}
.central-ai-head-actions{display:flex;align-items:center;gap:8px}.central-ai-settings-btn{width:38px;height:38px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#334155;font-size:18px;cursor:pointer;display:grid;place-items:center}.central-ai-settings{position:absolute;inset:0;z-index:8;background:rgba(7,14,28,.98);display:none;grid-template-rows:auto auto 1fr auto;min-width:0}.central-ai-settings.show{display:grid}.central-ai-settings-top{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.central-ai-settings-top strong{display:block;color:#fff}.central-ai-settings-top span{display:block;color:rgba(255,255,255,.58);font-size:11px;margin-top:3px}.central-ai-settings-top button{border:0;background:transparent;color:#fff;font-size:26px}.central-ai-settings-tabs{display:flex;gap:6px;padding:10px;overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.08)}.central-ai-settings-tabs button{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.05);color:rgba(255,255,255,.72);padding:8px 11px;border-radius:10px;white-space:nowrap}.central-ai-settings-tabs button.active{background:#fff;color:#07101f}.central-ai-settings-body{overflow:auto;padding:14px 16px 24px}.brain-panel{display:none;gap:12px}.brain-panel.active{display:grid}.brain-panel label{display:grid;gap:6px;color:rgba(255,255,255,.78);font-size:12px}.brain-panel textarea,.brain-panel select{width:100%;box-sizing:border-box;background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:11px;font:inherit}.brain-panel select option{color:#111}.brain-primary,.brain-secondary{border:0;border-radius:12px;padding:11px 14px;font-weight:700;cursor:pointer}.brain-primary{background:#fff;color:#07101f}.brain-secondary{background:rgba(255,255,255,.1);color:#fff}.brain-switch{display:flex!important;grid-template-columns:20px 1fr!important;align-items:center;gap:9px!important;padding:10px 0}.brain-switch input{width:18px;height:18px}.brain-help{color:rgba(255,255,255,.56);font-size:11px;line-height:1.6;margin:0}.brain-list{display:grid;gap:8px;margin-top:4px}.brain-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 11px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.045)}.brain-item b{display:block;color:#fff;font-size:11px;text-transform:capitalize}.brain-item p{margin:4px 0 0;color:rgba(255,255,255,.72);font-size:12px;line-height:1.45}.brain-item button{border:0;background:rgba(248,113,113,.15);color:#fecaca;border-radius:9px;padding:6px 8px}.brain-save-status{min-height:18px;padding:0 16px 12px;color:#a7f3d0;font-size:11px}.central-ai-dialog{position:relative;overflow:hidden}@media(max-width:620px){.central-ai-settings-top{padding-top:calc(14px + env(safe-area-inset-top))}.central-ai-settings-tabs{padding-left:12px;padding-right:12px}.central-ai-settings-body{padding-bottom:calc(26px + env(safe-area-inset-bottom))}}

/* V65 — cleaner composer, clear microphone feedback and 24-hour chat UX */
.central-ai-composer{grid-template-columns:52px minmax(0,1fr) 48px;gap:10px;padding:14px}
.central-ai-input{min-height:60px;max-height:190px;padding:17px 16px;font-size:16px;background:#fff}
.central-ai-voice{width:52px;height:52px;border-radius:17px;position:relative;overflow:hidden}
.central-ai-mic{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.central-ai-wave{display:none;align-items:center;justify-content:center;gap:3px;height:25px}
.central-ai-wave i{display:block;width:3px;height:8px;border-radius:3px;background:currentColor;animation:centralAiWave .8s ease-in-out infinite}
.central-ai-wave i:nth-child(2){height:18px;animation-delay:.12s}.central-ai-wave i:nth-child(3){height:11px;animation-delay:.24s}
.central-ai-voice.listening .central-ai-mic{display:none}.central-ai-voice.listening .central-ai-wave{display:flex}
.central-ai-voice.transcribing{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.central-ai-voice.transcribing .central-ai-mic{animation:centralAiMicSoft 1s ease-in-out infinite}
.central-ai-status{font-size:11px;min-height:17px;font-weight:700;letter-spacing:.01em}
.central-ai-status.listening{color:#be123c}.central-ai-status.transcribing{color:#4338ca}.central-ai-status.thinking{color:#334155}.central-ai-status.error{color:#b91c1c}.central-ai-status.done{color:#047857}
.central-ai-status.thinking::before,.central-ai-status.transcribing::before{content:'';display:inline-block;width:7px;height:7px;margin-inline-end:6px;border-radius:50%;background:currentColor;animation:centralAiDot 1s ease-in-out infinite}
@keyframes centralAiWave{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
@keyframes centralAiMicSoft{50%{opacity:.45;transform:scale(.92)}}
@keyframes centralAiDot{50%{opacity:.25;transform:scale(.65)}}
@media(max-width:620px){.central-ai-composer{grid-template-columns:50px minmax(0,1fr) 46px;padding:12px}.central-ai-voice{width:50px;height:50px}.central-ai-input{min-height:60px;padding:16px 15px}}

/* V73 voice choice: mic stops for review; arrow stops and sends. */
.central-ai-voice.listening + .central-ai-input{border-color:#fda4af;box-shadow:0 0 0 3px rgba(244,63,94,.08)}


/* V74 — ChatGPT-style one-hand composer and explicit voice states */
.central-ai-composer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"input actions" "status status"!important;
  align-items:end!important;
  gap:8px 10px!important;
  padding:12px!important;
}
.central-ai-input-shell{grid-area:input;position:relative;min-width:0}
.central-ai-input{padding-inline-end:42px!important;min-height:54px!important;max-height:180px!important;border-radius:22px!important}
.central-ai-clear{position:absolute;inset-inline-end:9px;bottom:9px;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#94a3b8;font-size:24px;line-height:1;display:none;place-items:center;cursor:pointer}
.central-ai-clear.show{display:grid}.central-ai-clear:hover{background:#eef2f7;color:#334155}
.central-ai-action-group{grid-area:actions;display:flex;align-items:center;gap:6px;direction:ltr}
.central-ai-action-group .central-ai-btn{width:46px;height:46px;border-radius:50%}
.central-ai-send{font-size:24px;font-weight:900}
.central-ai-stop{display:none;width:14px;height:14px;border-radius:3px;background:currentColor}
.central-ai-voice.listening .central-ai-mic,.central-ai-voice.listening .central-ai-wave{display:none!important}
.central-ai-voice.listening .central-ai-stop{display:block}
.central-ai-voice.transcribing .central-ai-stop,.central-ai-voice.transcribing .central-ai-wave{display:none!important}
.central-ai-status{grid-area:status!important;grid-column:auto!important;margin-top:0!important}
@media(max-width:620px){
 .central-ai-composer{grid-template-columns:minmax(0,1fr) auto!important;padding:10px!important;gap:7px!important}
 .central-ai-input{font-size:16px!important;min-height:52px!important;padding:13px 42px 13px 14px!important}
 .central-ai-action-group{gap:5px}
 .central-ai-action-group .central-ai-btn{width:43px;height:43px}
}


/* V110 — mobile chat viewport isolation: no dashboard swipe, no sideways canvas, no iOS focus zoom. */
html.central-ai-page-open,body.central-ai-page-open{overflow:hidden!important;max-width:100%!important;overscroll-behavior:none!important}
.central-ai-overlay{overflow:hidden!important;overscroll-behavior:none;touch-action:none}
.central-ai-dialog{max-width:100vw;min-width:0;overscroll-behavior:contain;touch-action:pan-y}
.central-ai-messages{min-width:0;max-width:100%;overscroll-behavior:contain;touch-action:pan-y}
.central-ai-composer,.central-ai-input-shell{min-width:0;max-width:100%}
.central-ai-input{box-sizing:border-box;min-width:0;max-width:100%;font-size:16px}
@media(max-width:620px){
 .central-ai-overlay{width:100vw;max-width:100vw;padding:0!important}
 .central-ai-dialog{width:100vw!important;max-width:100vw!important;height:calc(100dvh - env(safe-area-inset-top))!important;border-radius:22px 22px 0 0!important}
 .central-ai-messages{overflow-x:hidden!important}
}

/* V142 — iPhone keyboard stability without moving the top chrome.
   The old V141 offsetTop translation could expose Safari's blurred backdrop and
   desynchronise visual buttons from their hit targets. Keep the overlay pinned
   to top:0 and resize only its height to the visible viewport. */
@media(max-width:620px){
 .central-ai-overlay{top:0!important;bottom:auto!important;height:var(--tw-ai-vvh,100dvh)!important;min-height:0!important;background:#f8fafc!important;align-items:stretch!important;pointer-events:auto!important;transform:none!important}
 .central-ai-dialog{height:100%!important;max-height:100%!important;border-radius:0!important;border:0!important;box-shadow:none!important;padding-bottom:0!important}
 .central-ai-head{position:relative!important;z-index:20!important;flex:0 0 auto!important;background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding-top:max(14px,env(safe-area-inset-top))!important;pointer-events:auto!important}
 .central-ai-head-actions,.central-ai-head button{position:relative;z-index:21;pointer-events:auto!important}
 .central-ai-messages{min-height:0!important}
 .central-ai-composer{position:relative!important;z-index:20!important;padding-bottom:max(8px,env(safe-area-inset-bottom))!important;background:#fff!important}
}
\n\n/* V146 — iOS 27 top chrome clearance and deterministic bilingual chat direction. */\n@media(max-width:620px){\n .central-ai-head{padding-top:calc(env(safe-area-inset-top,0px) + 24px)!important}\n}\n.central-ai-input[dir="ltr"],.central-ai-msg[dir="ltr"],.central-ai-msg [dir="ltr"]{direction:ltr!important;text-align:left!important}\n.central-ai-input[dir="rtl"],.central-ai-msg[dir="rtl"],.central-ai-msg [dir="rtl"]{direction:rtl!important;text-align:right!important}\n.central-ai-msg [dir="auto"]{unicode-bidi:plaintext}\n

/* V154 FINAL — Central AI top controls must remain tappable on iOS/PWA.
   Do not move the overlay: only reserve a deterministic safe top inside the
   header, using whichever is larger: CSS safe-area, VisualViewport offset,
   or a conservative fallback. */
@media(max-width:620px){
  .central-ai-head{
    padding-top:max(34px,calc(env(safe-area-inset-top,0px) + 18px),calc(var(--tw-ai-vv-top,0px) + 18px))!important;
    padding-left:15px!important;padding-right:15px!important;
  }
  .central-ai-head-actions{align-self:flex-start!important;padding-top:0!important}
  .central-ai-close,.central-ai-settings-btn{min-width:44px!important;min-height:44px!important}
  .central-ai-settings-top{padding-top:max(34px,calc(env(safe-area-inset-top,0px) + 18px),calc(var(--tw-ai-vv-top,0px) + 18px))!important}
}

/* V155 FINAL — iOS touch recovery for Central AI top controls.
   The header stays inside a deterministic tappable zone and top controls never
   inherit gesture-only touch handling from the full-screen overlay. */
.central-ai-overlay{touch-action:manipulation!important}
.central-ai-head-actions,.central-ai-head-actions button,.central-ai-settings-top button{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(0,0,0,0)!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
@media(max-width:760px){
  .central-ai-head{
    padding-top:max(76px,calc(env(safe-area-inset-top,0px) + 22px),calc(var(--tw-ai-vv-top,0px) + 22px))!important;
    position:relative!important;
    z-index:1000002!important;
  }
  .central-ai-head-actions{position:relative!important;z-index:1000003!important;align-self:flex-start!important}
  .central-ai-close,.central-ai-settings-btn{
    position:relative!important;
    z-index:1000004!important;
    min-width:46px!important;
    min-height:46px!important;
  }
  .central-ai-settings{z-index:1000010!important}
  .central-ai-settings-top{
    padding-top:max(76px,calc(env(safe-area-inset-top,0px) + 22px),calc(var(--tw-ai-vv-top,0px) + 22px))!important;
  }
  .central-ai-settings-top button{position:relative!important;z-index:1000011!important;min-width:46px!important;min-height:46px!important}
}

/* V188 — Executive Intelligence command layer. Desktop-first; reports remain untouched. */
.executive-launch span{display:block;margin-top:8px;font-size:12px;font-weight:700;opacity:.72}.executive-center{margin-top:18px}.executive-center[hidden]{display:none}.exec-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.14em;color:#537875;margin-bottom:6px}.exec-sub{margin:6px 0 0;color:#69777c;font-size:13px;line-height:1.45}.exec-status{margin:12px 0 14px;color:#69777c;font-size:12px;font-weight:800}.exec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.exec-card{background:#fff;border:1px solid #dfe8e7;border-radius:20px;padding:18px;min-height:150px;box-shadow:0 10px 28px rgba(31,67,68,.05)}.exec-card small{display:block;font-size:10px;letter-spacing:.12em;font-weight:900;color:#69777c;text-transform:uppercase}.exec-card h3{font-size:17px;line-height:1.25;margin:9px 0 7px;color:#172126}.exec-card p{font-size:13px;line-height:1.5;margin:0;color:#526166;white-space:pre-wrap}.exec-card.action{border-color:#acd9d1;background:#f7fffd}.exec-card.risk{border-color:#ead7d3;background:#fffafa}.exec-card.watch{border-color:#e8dfbf;background:#fffdf7}.exec-card.opportunity{border-color:#c8dfd8}.exec-deep{margin-top:16px}.exec-deep[hidden]{display:none}.exec-deep-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}.exec-deep-head strong{font-size:15px}.exec-deep-head span{font-size:11px;color:#69777c;font-weight:800}
@media(max-width:980px){.exec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.exec-grid{grid-template-columns:1fr}.executive-center .specialist-head{gap:10px}.executive-launch span{font-size:10px}}
