/* NEON OPERATIONS CENTER // PHASE 9B.0
   UI reconciliation for Phase 9A features.
   This file REPLACES css/phase9a.css. Existing css/app.css remains authoritative. */

:root{
  --p9-surface:color-mix(in srgb,var(--panel2,#171820) 82%,transparent);
  --p9-surface-2:color-mix(in srgb,var(--panel,#111217) 94%,transparent);
  --p9-hairline:var(--line-soft,var(--line,#292a33));
  --p9-copy:var(--text,#f0eef5);
  --p9-muted:var(--muted,#8f8d99);
}

/* ---------- universal containment ---------- */
#phase9aWhen *,#allowanceFuturesDeck *,#phase9aSpeechBubble *,#phase9aNexusSettings *,#phase9aIntelSources *,#phase9aBrokerStrip *,#phase9aProviderControl *{box-sizing:border-box;min-width:0}
#allowanceFuturesDeck,#phase9aIntelSources,#phase9aBrokerStrip{overflow:hidden}
.p9-label{font:700 calc(7px * var(--telemetry-scale,1))/1.25 var(--telemetry,ui-monospace,monospace);letter-spacing:.1em;color:var(--p9-muted)}
.p9-value{font-variant-numeric:tabular-nums}

/* ---------- Calendar / WHEN ---------- */
.p9-when{margin:11px 0 12px;padding:0;border:1px solid var(--p9-hairline);border-radius:11px;background:#0d0e13;overflow:hidden}
.p9-when>legend{margin-left:10px;padding:0 7px;font:700 8px var(--telemetry);letter-spacing:.11em;color:#a2a3ad;text-transform:uppercase}
.p9-when-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border-bottom:1px solid var(--p9-hairline);background:linear-gradient(90deg,color-mix(in srgb,var(--accent-primary) 3%,transparent),transparent 55%)}
.p9-when-mode{display:inline-grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--line);border-radius:9px;background:#090a0e;min-width:190px}
.p9-when-mode button{height:30px;padding:0 11px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:700 8px var(--telemetry);letter-spacing:.08em}
.p9-when-mode button.active{background:color-mix(in srgb,var(--accent-primary) 9%,#121319);color:var(--accent-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 25%,transparent)}
.p9-when-hint{max-width:310px;text-align:right;font:600 7px/1.4 var(--telemetry);letter-spacing:.06em;color:var(--faint,#64636d);overflow-wrap:anywhere}
.p9-when-body{padding:4px 11px 8px}.p9-when-body>.two{margin:0}
.p9-when-body label{margin:7px 0!important}
.p9-when-note{padding:0 11px 10px;font:600 7px/1.45 var(--telemetry);letter-spacing:.04em;color:var(--faint)}
.p9-boundary-start .p9-when-note{color:color-mix(in srgb,var(--accent-primary) 75%,var(--muted))}
.p9-boundary-end .p9-when-note{color:color-mix(in srgb,var(--accent-secondary) 75%,var(--muted))}

/* Event avatar is part of the event form, not a new panel. */
.phase9a-avatar-attach{border:1px solid var(--p9-hairline);border-radius:10px;padding:10px 11px;margin:12px 0;background:#0d0e13;overflow:hidden}
.phase9a-avatar-attach legend{padding:0 7px;font:700 8px var(--telemetry);letter-spacing:.1em;color:#9b9ca6;text-transform:uppercase}
.phase9a-avatar-row{display:grid;grid-template-columns:minmax(130px,.72fr) minmax(0,1.25fr) auto;gap:8px;align-items:center}
.phase9a-avatar-attach small{display:block;margin-top:8px;color:var(--faint);font:600 7px/1.5 var(--telemetry);letter-spacing:.035em;overflow-wrap:anywhere}
.phase9a-file-button{display:flex!important;align-items:center;justify-content:center;min-height:36px!important;margin:0!important;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#0b0c10;color:#c3c4cc!important;font:700 8px/1 var(--telemetry)!important;letter-spacing:.07em;cursor:pointer}
.phase9a-file-button input{display:none}#eventAvatarStatus{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 7px/1.35 var(--telemetry);letter-spacing:.05em;color:var(--muted)}

/* Month cells remain bounded; pager occupies a fixed footer. */
.month-cell{position:relative!important;overflow:hidden!important;min-height:122px!important;max-height:148px!important;display:flex!important;flex-direction:column!important;padding:7px!important}
.month-cell>.month-date{flex:0 0 auto;margin-bottom:4px!important}
.phase9a-month-events{display:grid;grid-auto-rows:minmax(0,1fr);gap:2px;min-height:0;overflow:hidden;flex:1 1 auto;align-content:start}
.phase9a-month-event{display:block;width:100%;height:22px;min-height:22px;max-height:22px;margin:0!important;padding:4px 6px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phase9a-month-pager{flex:0 0 25px;display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:3px;margin:4px -7px -7px;border-top:1px solid var(--p9-hairline);background:#0a0b0f}
.phase9a-month-pager button{width:28px;height:25px;padding:0;border:0;background:transparent;color:var(--accent-primary);font:700 15px/1 var(--telemetry)}
.phase9a-month-pager button:disabled{opacity:.25}.phase9a-month-pager span{text-align:center;white-space:nowrap;font:700 6.5px/1 var(--telemetry);letter-spacing:.07em;color:var(--muted)}

/* ---------- Personal Allowance integrated SPOT / FUTURES ---------- */
.p9-cash-modebar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--p9-hairline);background:linear-gradient(90deg,color-mix(in srgb,var(--accent-secondary) 3%,transparent),#0c0d12 42%,#0c0d12)}
.p9-cash-segments{display:inline-grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--line);border-radius:9px;background:#090a0e;min-width:190px}
.p9-cash-segments button{height:30px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:700 8px var(--telemetry);letter-spacing:.09em}.p9-cash-segments button.active{background:color-mix(in srgb,var(--accent-selected) 8%,#14151a);color:var(--accent-selected);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-selected) 26%,transparent)}
.p9-cash-mode-readout{display:flex;justify-content:flex-end;gap:15px;min-width:0;overflow:hidden}.p9-cash-mode-readout span{display:grid;gap:2px;min-width:0}.p9-cash-mode-readout small{font:600 6px var(--telemetry);letter-spacing:.08em;color:var(--faint)}.p9-cash-mode-readout b{font:500 10px var(--calendar-time-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p9-cash-mode-readout b:last-child{color:var(--accent-primary)}
.p9-future-add{white-space:nowrap}.p9-mode-hidden{display:none!important}
.p9-futures-deck{background:#0b0c10}.p9-futures-deck.hidden{display:none!important}
.p9-futures-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line-soft)}
.p9-futures-metrics>div{min-width:0;padding:11px 12px;border-right:1px solid var(--line-soft);background:rgba(255,255,255,.008)}.p9-futures-metrics>div:last-child{border-right:0}.p9-futures-metrics span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 6.5px var(--telemetry);letter-spacing:.08em;color:var(--muted)}.p9-futures-metrics b{display:block;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 clamp(17px,1.7vw,23px) var(--calendar-time-font);font-variant-numeric:tabular-nums}.p9-futures-metrics b[data-band="bad"]{color:var(--accent-danger)}.p9-futures-metrics b[data-band="watch"]{color:var(--accent-warning)}.p9-futures-metrics b[data-band="good"]{color:var(--accent-success)}
.p9-overlap-strip{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;align-items:start;padding:11px 13px;border-bottom:1px solid var(--line-soft);background:linear-gradient(90deg,color-mix(in srgb,var(--accent-selected) 4%,transparent),transparent 55%)}.p9-overlap-strip>span{padding-top:2px;font:700 7px var(--telemetry);letter-spacing:.1em;color:var(--accent-selected)}.p9-overlap-strip p{margin:0;max-width:100%;font-size:11px;line-height:1.48;color:#c4c4cc;overflow-wrap:anywhere}
.p9-futures-workspace{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:1px;background:var(--line-soft)}.p9-futures-chart-card,.p9-futures-ledger-card{min-width:0;background:#0d0e13}.p9-futures-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:9px 12px;border-bottom:1px solid var(--line-soft)}.p9-futures-card-head>div{display:grid;gap:2px;min-width:0}.p9-futures-card-head strong{font:400 17px var(--editorial);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p9-futures-card-head small{font:600 6px var(--telemetry);letter-spacing:.08em;color:var(--faint)}
.p9-futures-curve{height:180px;padding:8px 10px 10px;overflow:hidden;background:radial-gradient(circle at 22% 10%,color-mix(in srgb,var(--accent-primary) 3%,transparent),transparent 38%),#0a0b0f}.p9-futures-curve svg{display:block;width:100%;height:100%;overflow:visible}.futures-zero{stroke:color-mix(in srgb,var(--accent-danger) 42%,transparent);stroke-width:1;stroke-dasharray:7 8}.futures-line{fill:none;stroke:var(--accent-primary);stroke-width:3;vector-effect:non-scaling-stroke}.futures-dot{fill:#0a0b0f;stroke:var(--accent-selected);stroke-width:2.2;vector-effect:non-scaling-stroke}
.p9-future-table-head,.future-record{display:grid;grid-template-columns:minmax(150px,1.45fr) minmax(92px,.72fr) minmax(100px,.8fr) minmax(72px,.55fr);gap:8px;align-items:center}.p9-future-table-head{padding:7px 10px;border-bottom:1px solid var(--line-soft);background:#0a0b0f;color:var(--faint);font:600 6px var(--telemetry);letter-spacing:.08em}.p9-future-table-head span:not(:first-child){text-align:right}
.future-record{width:100%;min-height:48px;padding:8px 10px;border:0;border-bottom:1px solid #24252d;background:#0d0e13;color:var(--text);text-align:left;overflow:hidden}.future-record:hover,.future-record:focus-visible{background:#111218}.future-record>span{display:grid;gap:3px;min-width:0;overflow:hidden}.future-record>span:not(:first-child){text-align:right}.future-record b,.future-record strong{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 10px var(--body-font)}.future-record>span:nth-child(n+2) b{font:500 9px var(--calendar-time-font);font-variant-numeric:tabular-nums}.future-record small{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 6px var(--telemetry);letter-spacing:.045em;color:var(--muted)}.future-empty{padding:28px 14px;text-align:center;color:var(--faint);font:600 7px/1.5 var(--telemetry);letter-spacing:.08em}
.p9-futures-pager{display:flex;align-items:center;justify-content:flex-end;gap:7px}.p9-futures-pager button{height:28px;min-width:31px;border:1px solid var(--line);border-radius:7px;background:#0b0c10;color:var(--accent-primary)}.p9-futures-pager button:disabled{opacity:.28}.p9-futures-pager span{white-space:nowrap;font:600 6.5px var(--telemetry);letter-spacing:.07em;color:var(--muted)}
.p9-sync-badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font:600 6px var(--telemetry);letter-spacing:.07em;color:var(--faint)}.p9-sync-badge[data-state="live"]{color:var(--accent-success)}.p9-sync-badge[data-state="local"]{color:var(--accent-warning)}

/* ---------- NEXUS context: inline, bounded ---------- */
.nexus-core>div:last-child{min-width:0;flex:1}.phase9a-speech-bubble{--p9-bubble-opacity:.88;--p9-bubble-scale:1;position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;margin:10px 0 0;padding:9px 10px;border:1px solid color-mix(in srgb,var(--accent-selected) 20%,var(--line-soft));border-left:2px solid color-mix(in srgb,var(--accent-selected) 65%,transparent);border-radius:8px;background:color-mix(in srgb,#0b0c10 calc(var(--p9-bubble-opacity) * 100%),transparent);box-shadow:none;backdrop-filter:none;transform:none!important;overflow:hidden}.phase9a-speech-bubble>span{display:flex;align-items:center;gap:6px;font:700 6px var(--telemetry);letter-spacing:.1em;color:var(--accent-selected)}.phase9a-speech-bubble>span::after{content:"";height:1px;flex:1;background:var(--line-soft)}.phase9a-speech-bubble p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin:6px 0 0;max-height:4.45em;overflow:hidden;font-size:10px;line-height:1.48;color:#b9bac3;overflow-wrap:anywhere;transform:scale(var(--p9-bubble-scale));transform-origin:left top}
.phase9a-avatar-media{position:absolute;inset:0;z-index:9;overflow:hidden;border-radius:inherit;background:#090a0e}.phase9a-avatar-override{display:block;width:100%;height:100%;object-fit:cover}.phase9a-avatar-pager{position:absolute;z-index:12;left:50%;bottom:6px;transform:translateX(-50%);display:grid;grid-template-columns:25px auto 25px;align-items:center;gap:2px;padding:2px;border:1px solid var(--line-soft);border-radius:999px;background:rgba(7,8,11,.88);backdrop-filter:blur(8px)}.phase9a-avatar-pager button{width:25px;height:25px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--accent-primary)}.phase9a-avatar-pager span{min-width:34px;text-align:center;font:700 6px var(--telemetry);letter-spacing:.06em;color:#c2c3ca}
.p9-context-settings{margin-top:13px;border:1px solid var(--line-soft);border-radius:9px;background:#0c0d12;overflow:hidden}.p9-context-settings summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;cursor:pointer;list-style:none}.p9-context-settings summary::-webkit-details-marker{display:none}.p9-context-settings summary>div{display:grid;gap:2px}.p9-context-settings summary b{font:600 10px var(--body-font)}.p9-context-settings summary span{font:600 6px var(--telemetry);letter-spacing:.09em;color:var(--accent-selected)}.p9-context-settings summary::after{content:"+";color:var(--muted);font:16px var(--telemetry)}.p9-context-settings[open] summary::after{content:"−"}.phase9a-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:11px;border-top:1px solid var(--line-soft)}.phase9a-settings-grid label{display:grid;gap:6px;margin:0!important;color:#8d8f98;font-size:10px}.phase9a-settings-grid label>span{justify-self:end;font:600 7px var(--telemetry);color:var(--muted)}.phase9a-settings-grid input[type="range"]{width:100%}.phase9a-settings-grid .modal-actions{grid-column:1/-1;margin:0}

/* ---------- NEXUS provider: tiny header control, not a toolbar ---------- */
.p9-provider-control{display:flex;align-items:center;gap:6px;padding:0;border:0}.p9-provider-control span{font:600 6px var(--telemetry);letter-spacing:.08em;color:var(--faint)}.p9-provider-control select{height:29px;max-width:135px;padding:0 24px 0 8px;border:1px solid var(--line-soft);border-radius:999px;background:#0b0c10;color:#c8c9d0;font:700 7px var(--telemetry);letter-spacing:.06em}.p9-provider-control select:focus{outline:1px solid var(--accent-selected);outline-offset:1px}.p9-provider-control small{display:none}.p9-provider-control[data-state="fallback"] select{color:var(--accent-warning);border-color:color-mix(in srgb,var(--accent-warning) 28%,var(--line))}

/* ---------- Broker source lives inside Portfolio Intelligence ---------- */
.p9-broker-source{display:flex;align-items:center;gap:5px}.p9-broker-source select{height:34px;padding:0 25px 0 9px;border:1px solid var(--line);border-radius:8px;background:#0d0e13;color:var(--text);font:700 7px var(--telemetry);letter-spacing:.07em}.p9-broker-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;padding:8px 13px;border-bottom:1px solid var(--line-soft);background:#0c0d12}.p9-broker-strip>div{display:flex;align-items:center;gap:8px;min-width:0}.p9-broker-strip span,.p9-broker-strip b{white-space:nowrap;font:600 6.5px var(--telemetry);letter-spacing:.07em}.p9-broker-strip span{color:var(--muted)}.p9-broker-strip b{color:var(--accent-success)}.p9-broker-strip b[data-state="offline"]{color:var(--accent-warning)}.p9-broker-strip small{grid-column:1/-1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 6px var(--telemetry);letter-spacing:.04em;color:var(--faint)}.p9-moomoo-list.hidden{display:none!important}
.p9-moomoo-list .position-row{cursor:default}.p9-moomoo-list .position-row i{font:600 6px var(--telemetry);letter-spacing:.06em;color:var(--accent-secondary)}

/* ---------- Intelligence source belongs in OPS right rail ---------- */
.phase9a-intel-panel{min-width:0}.p9-intel-head{align-items:center}.p9-intel-head .actions{gap:5px}.p9-intel-source-tabs{display:grid;grid-template-columns:1fr 1fr;padding:3px;margin:9px 10px 0;border:1px solid var(--line-soft);border-radius:8px;background:#090a0e}.p9-intel-source-tabs button{height:30px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:700 6.5px var(--telemetry);letter-spacing:.07em}.p9-intel-source-tabs button.active{background:color-mix(in srgb,var(--accent-primary) 7%,#121319);color:var(--accent-primary)}.p9-intel-status{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;border-bottom:1px solid var(--line-soft);font:600 6px var(--telemetry);letter-spacing:.06em;color:var(--faint)}.p9-intel-status b{color:var(--accent-warning);font-weight:600}.p9-intel-status b[data-state="live"]{color:var(--accent-success)}.p9-intel-feed{display:grid;max-height:280px;overflow:auto;overscroll-behavior:contain}.p9-intel-item{display:grid;gap:4px;padding:9px 11px;border-bottom:1px solid var(--line-soft);background:#0d0e13;color:var(--text);text-decoration:none}.p9-intel-item:hover{background:#111218}.p9-intel-item>span{display:flex;justify-content:space-between;gap:8px;min-width:0;font:600 6px var(--telemetry);letter-spacing:.06em;color:var(--faint)}.p9-intel-item>span b{color:var(--accent-primary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p9-intel-item>span time{white-space:nowrap}.p9-intel-item strong{font:600 10px/1.35 var(--body-font);overflow-wrap:anywhere}.p9-intel-item p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--muted);font-size:9px;line-height:1.45;overflow-wrap:anywhere}.p9-intel-empty{padding:18px 11px;text-align:center;color:var(--faint);font:600 6.5px/1.5 var(--telemetry);letter-spacing:.07em}.p9-intel-pair-note{margin:0 10px 10px;padding:8px 9px;border-left:2px solid var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 3%,transparent);font:600 6.5px/1.45 var(--telemetry);letter-spacing:.04em;color:var(--muted);overflow-wrap:anywhere}

/* ---------- responsive ---------- */
@media(max-width:1250px){.p9-futures-workspace{grid-template-columns:1fr}.p9-futures-chart-card{border-bottom:1px solid var(--line-soft)}.p9-futures-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.p9-futures-metrics>div:nth-child(3){border-right:0}.phase9a-settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.p9-cash-modebar{grid-template-columns:1fr auto}.p9-cash-mode-readout{grid-column:1/-1;grid-row:2;justify-content:flex-start}.p9-cash-segments{min-width:0}.p9-overlap-strip{grid-template-columns:1fr;gap:5px}.p9-futures-metrics{grid-template-columns:1fr 1fr}.p9-futures-metrics>div:nth-child(2n){border-right:0}.p9-futures-metrics>div:nth-child(3){border-right:1px solid var(--line-soft)}.p9-future-table-head{display:none}.future-record{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:10px}.future-record>span:nth-child(3),.future-record>span:nth-child(4){grid-column:auto}.future-record>span:nth-child(3){text-align:left}.future-record>span:nth-child(4){text-align:right}.phase9a-settings-grid{grid-template-columns:1fr}.p9-provider-control span{display:none}}
@media(max-width:640px){.p9-when-head{align-items:stretch;flex-direction:column}.p9-when-mode{width:100%}.p9-when-hint{text-align:left;max-width:none}.phase9a-avatar-row{grid-template-columns:1fr auto}.phase9a-file-button{grid-column:1/-1;min-height:44px!important}#eventAvatarRemove{min-height:40px}.month-cell{min-height:108px!important;max-height:126px!important}.phase9a-month-event{height:20px;min-height:20px;max-height:20px;font-size:9px!important}.p9-cash-modebar{padding:8px}.p9-future-add{min-height:38px;padding-inline:9px}.p9-futures-metrics b{font-size:17px}.p9-futures-curve{height:150px}.p9-futures-card-head{padding:8px 10px}.p9-cash-mode-readout{gap:10px}.nexus-core{overflow:hidden}.phase9a-speech-bubble p{-webkit-line-clamp:2;max-height:3em}.p9-broker-strip{grid-template-columns:1fr}.p9-broker-strip .p9-broker-source{justify-self:stretch}.p9-broker-strip small{grid-column:1}.p9-broker-source select{width:100%;min-height:40px}.p9-provider-control select{min-height:34px;max-width:118px}.p9-intel-feed{max-height:240px}}
@media(max-width:430px){.p9-cash-modebar{grid-template-columns:1fr}.p9-future-add{width:100%}.p9-cash-mode-readout{grid-row:auto}.p9-futures-metrics{grid-template-columns:1fr 1fr}.p9-futures-metrics span{font-size:6px}.future-record{grid-template-columns:1fr}.future-record>span,.future-record>span:not(:first-child){text-align:left!important}.p9-futures-pager{justify-content:space-between;width:100%}.phase9a-avatar-row{grid-template-columns:1fr}.p9-provider-control{max-width:120px}}
@media(prefers-reduced-motion:reduce){.phase9a-speech-bubble,.phase9a-avatar-media,.phase9a-avatar-override,.p9-when-mode button,.p9-cash-segments button{transition:none!important;animation:none!important}}
