/* Vantage UI refresh — visual layer only.
 * Loaded after every other stylesheet. It restyles icons, overlays and motion
 * without changing markup contracts used by feature code. Remove this file
 * (and icons.js / motion.js) to return to the previous look. */
:root{
 --v-ink:#1b1a24;--v-ink-2:#4a4857;--v-sub:#86849a;--v-faint:#b3b1c2;
 --v-line:#ecebf2;--v-line-2:#e2e0eb;--v-canvas:#f6f5fa;--v-surface:#fff;
 --v-accent:#6a55d8;--v-accent-ink:#5442c0;--v-accent-soft:#f1eefe;--v-accent-line:#d9d1fa;
 --v-up:#119a6a;--v-down:#e0464f;
 --v-r-lg:22px;--v-r-md:14px;--v-r-sm:10px;
 --v-shadow-pop:0 1px 2px rgba(27,26,36,.05),0 10px 24px -6px rgba(27,26,36,.12),0 32px 72px -16px rgba(27,26,36,.24);
 --v-shadow-menu:0 1px 2px rgba(27,26,36,.06),0 12px 32px -8px rgba(27,26,36,.2);
 --v-scrim:rgba(22,20,38,.34);
 --v-ease-out:cubic-bezier(.22,.9,.28,1);
 --v-ease-sheet:cubic-bezier(.32,.72,0,1);
 --v-ease-in:cubic-bezier(.45,0,.9,.4);
}

/* <legibility-floor> */
/* ---------- Legibility floor (generated by scripts/legibility-floor.py) ----------
 * Legacy rules below 11px are raised; pale grey text is darkened to --v-sub.
 * Each override keeps the media context of the rule it corrects and steps aside
 * where a later rule already sets a readable value. */
.brand small{font-size:11.5px!important;color:var(--v-sub)!important}
.provider{color:var(--v-sub)!important}
.tag{font-size:11px!important}
.headBtns button{font-size:11.5px!important}
.notice{font-size:11.5px!important}
.notice span{font-size:11px!important}
.person small{font-size:11px!important}
.balance>span{font-size:11.5px!important}
.balance small{font-size:11.5px!important}
.metrics span{font-size:11px!important}
.accountAsk{font-size:11.5px!important}
.quote small{font-size:11.5px!important}
.quote .quotePrice small{font-size:11.5px!important}
.position small{font-size:11.5px!important}
.buy{font-size:11px!important}
.sell{font-size:11px!important}
.sidefoot{font-size:11px!important;color:var(--v-sub)!important}
.breadcrumb{font-size:11.5px!important}
.suggestions button span{font-size:11.5px!important;color:var(--v-sub)!important}
.activity{color:var(--v-sub)!important}
.cardGrid small{font-size:11.5px!important}
.cardSource{font-size:11px!important;color:var(--v-sub)!important}
.newsItem small{font-size:11.5px!important;color:var(--v-sub)!important}
.miniPosition small{font-size:11.5px!important;color:var(--v-sub)!important}
.composerFoot{font-size:11.5px!important;color:var(--v-sub)!important}
.traceHeading small{font-size:11.5px!important;color:var(--v-sub)!important}
.traceSummary{font-size:11.5px!important}
.traceRow time{font-size:11px!important;color:var(--v-sub)!important}
.traceRow b{font-size:11.5px!important}
.traceRow small{font-size:11.5px!important;color:var(--v-sub)!important}
.traceDetail>span{font-size:11.5px!important;color:var(--v-sub)!important}
.traceDetail pre{font-size:11.5px!important}
.traceTabs button{font-size:11px!important}
.accountPanel .person small{font-size:11.5px!important}
.accountPanel .balance>span{font-size:11.5px!important}
.accountPanel .metrics span{font-size:11.5px!important}
.assistantLabel small{font-size:11.5px!important}
.cardTag{font-size:11.5px!important}
.heroLabel{color:var(--v-sub)!important}
.suggestions .demoSuggestion span{color:var(--v-sub)!important}
.candleHeading{font-size:11.5px!important;color:var(--v-sub)!important}
.candleFoot{font-size:11px!important;color:var(--v-sub)!important}
.quoteConnection{font-size:11.5px!important;color:var(--v-sub)!important}
.quote .quotePrice em{font-size:11px!important;color:var(--v-sub)!important}
.marketPager{font-size:11.5px!important;color:var(--v-sub)!important}
.emptyPositions{color:var(--v-sub)!important}
.profileHeading small{font-size:11.5px!important;color:var(--v-sub)!important}
.profileFields dt{color:var(--v-sub)!important}
.profileRecord>small{font-size:11.5px!important;color:var(--v-sub)!important}
.emptyField{color:var(--v-sub)!important}
.instrumentItem small{color:var(--v-sub)!important}
.instrumentItem em{font-size:11.5px!important}
.ticketAccount{color:var(--v-sub)!important}
.ticketEstimate>span{font-size:11.5px!important;color:var(--v-sub)!important}
.ticketQuote{font-size:11.5px!important;color:var(--v-sub)!important}
.historyAccount{font-size:11.5px!important;color:var(--v-sub)!important}
.historyTitle small{font-size:11.5px!important;color:var(--v-sub)!important}
.historyTitle>span{font-size:11.5px!important}
.historyPrices{font-size:11.5px!important;color:var(--v-sub)!important}
.historyPrices small{font-size:11px!important}
.orderDetailLink{font-size:11px!important}
.historyPager button{font-size:11.5px!important}
.instrumentAbout small{font-size:11.5px!important;color:var(--v-sub)!important}
.closePositionInfo>small{font-size:11.5px!important;color:var(--v-sub)!important}
.closeAll>small{font-size:11.5px!important;color:var(--v-sub)!important}
.prepareClose{font-size:11.5px!important}
.historyItem>small{font-size:11.5px!important;color:var(--v-sub)!important}
.historyEmpty{color:var(--v-sub)!important}
.tpslFields label>small{font-size:11.5px!important;color:var(--v-sub)!important}
.pendingStops{color:var(--v-sub)!important}
.cancelReason{color:var(--v-sub)!important}
.pnlCurveSummary span{color:var(--v-sub)!important}
.pnlCurveSummary small{color:var(--v-sub)!important}
.toolCallItem code{font-size:11.5px!important;color:var(--v-sub)!important}
.toolCallsEmpty{color:var(--v-sub)!important}
.toolStep{color:var(--v-sub)!important}
.toolStepIcon{font-size:11.5px!important}
.messageTime{font-size:11.5px!important;color:var(--v-sub)!important}
.toolGroupChevron{color:var(--v-sub)!important}
.indicatorControls>span{font-size:11.5px!important;color:var(--v-sub)!important}
.indicatorControls .indicatorChip{font-size:11.5px!important}
.sidebarNav button i{color:var(--v-sub)!important}
.toolboxEyebrow{font-size:11px!important;color:var(--v-sub)!important}
.toolboxHeader p{color:var(--v-sub)!important}
.toolboxSection h3{color:var(--v-sub)!important}
.toolboxTile small{font-size:11.5px!important;color:var(--v-sub)!important}
.toolboxTile i{color:var(--v-sub)!important}
.detailHead p{color:var(--v-sub)!important}
.instrumentSearch{color:var(--v-sub)!important}
.instrumentChip small{font-size:11px!important;color:var(--v-sub)!important}
.instrumentIcon{font-size:11.5px!important;color:var(--v-sub)!important}
.toolboxEmpty{color:var(--v-sub)!important}
.detailFooter{font-size:11.5px!important;color:var(--v-sub)!important}
.welcomeToolboxHeader p{color:var(--v-sub)!important}
.welcomeTool small{font-size:11.5px!important;color:var(--v-sub)!important}
.welcomeTool i{color:var(--v-sub)!important}
.welcomeToolSection h3{color:var(--v-sub)!important}
.guideCancel{color:var(--v-sub)!important}
.pendingGuideTurn .userTime{color:var(--v-sub)!important}
.attachmentUploading{color:var(--v-sub)!important}
.messageFile small{font-size:11.5px!important;color:var(--v-sub)!important}
.citationList a small{color:var(--v-sub)!important}
.labNew{font-size:11px!important}
.labExample small{color:var(--v-sub)!important}
.labExample i{color:var(--v-sub)!important}
.labHint{color:var(--v-sub)!important}
.labCardRow span{color:var(--v-sub)!important}
.labFlow small{font-size:11.5px!important;color:var(--v-sub)!important}
.labStats small{font-size:11.5px!important;color:var(--v-sub)!important}
.labChartTitle small{font-size:11.5px!important;color:var(--v-sub)!important}
.labJourney span{color:var(--v-sub)!important}
.labJourney i{font-size:11px!important;color:var(--v-sub)!important}
.taskEyebrow{font-size:11.5px!important}
.taskSubtabs button{color:var(--v-sub)!important}
.taskSummary{color:var(--v-sub)!important}
.taskState{font-size:11.5px!important}
.taskState.paused{color:var(--v-sub)!important}
.taskMeta{font-size:11.5px!important;color:var(--v-sub)!important}
.taskArrow{color:var(--v-sub)!important}
.taskFoot{font-size:11.5px!important;color:var(--v-sub)!important}
.taskActivity{color:var(--v-sub)!important}
.superHead p{color:var(--v-sub)!important}
.superEyebrow{font-size:11px!important;color:var(--v-sub)!important}
.superPresets button small{font-size:11.5px!important;color:var(--v-sub)!important}
.superFeatured span{font-size:11px!important}
.superFeatured small{font-size:11.5px!important}
.strategyText i{font-size:11px!important}
.strategyText small{font-size:11.5px!important;color:var(--v-sub)!important}
.strategyText em{font-size:11px!important;color:var(--v-sub)!important}
.strategyArrow{color:var(--v-sub)!important}
.consoleMore{font-size:11.5px!important}
.consoleHero small{font-size:11.5px!important}
.consoleTabs button{color:var(--v-sub)!important}
.consoleMetrics small{font-size:11.5px!important;color:var(--v-sub)!important}
.consoleMetrics span{font-size:11.5px!important;color:var(--v-sub)!important}
.consoleCardHead span{font-size:11.5px!important;color:var(--v-sub)!important}
.consoleChartDates{font-size:11px!important;color:var(--v-sub)!important}
.consoleRow{color:var(--v-sub)!important}
.logTime{font-size:11.5px!important;color:var(--v-sub)!important}
.orderItem small{font-size:11.5px!important;color:var(--v-sub)!important}
.consoleNote{font-size:11px!important;color:var(--v-sub)!important}
.taskRules>span{font-size:11.5px!important}
.taskRules i{color:var(--v-sub)!important}
.taskRules b{font-size:11.5px!important}
.taskNumbers small{font-size:11.5px!important;color:var(--v-sub)!important}
.strategyRulesTitle span{font-size:11.5px!important;color:var(--v-sub)!important}
.strategyRules>div>span{color:var(--v-sub)!important}
.unifiedGrid small{font-size:11.5px!important;color:var(--v-sub)!important}
.strategyGroupHead small{font-size:11.5px!important;color:var(--v-sub)!important}
.watchDraftHead small{font-size:11.5px!important;color:var(--v-sub)!important}
.watchDraftRow span{color:var(--v-sub)!important}
.watchDraftRow label{color:var(--v-sub)!important}
.welcome .welcomeSubtitle{color:var(--v-sub)!important}
.freqToggle i{color:var(--v-sub)!important}
.vipHead{font-size:11px!important}
.vipDialog>p{color:var(--v-sub)!important}
.vipCurrent span{font-size:11.5px!important}
.vipCurrent small{font-size:11.5px!important}
.vipPlans i{font-size:11px!important}
.vipPlans small{font-size:11.5px!important;color:var(--v-sub)!important}
.vipFoot{font-size:11.5px!important;color:var(--v-sub)!important}
.modelToggle i{color:var(--v-sub)!important}
.modelMenuLabel{font-size:11.5px!important;color:var(--v-sub)!important}
.strategyMeta{color:var(--v-sub)!important}
.strategyUsers{font-size:11.5px!important;color:var(--v-sub)!important}
.panoramaIntro section small{font-size:11.5px!important;color:var(--v-sub)!important}
.panoramaHeroTop{color:var(--v-sub)!important}
.panoramaHeading>span{font-size:11.5px!important;color:var(--v-sub)!important}
.panoramaWatch:not(.moduleRow) small{font-size:11.5px!important;color:var(--v-sub)!important}
.panoramaStatus{font-size:11.5px!important}
.panoramaLogs small{color:var(--v-sub)!important}
.panoramaNoticeRow>span small{font-size:11.5px!important;color:var(--v-sub)!important}
.noticeToggle i{color:var(--v-sub)!important}
.panoramaChartDates{font-size:11px!important;color:var(--v-sub)!important}
.panoramaChartTip small{font-size:11.5px!important}
.panoramaChip .instrumentIcon.silver{color:var(--v-sub)!important}
.panoramaChip small{font-size:11px!important;color:var(--v-sub)!important}
.panoramaOutputHead small{font-size:11.5px!important;color:var(--v-sub)!important}
.outputTabLabel{font-size:11.5px!important}
.exampleTop small{font-size:11px!important;color:var(--v-sub)!important}
.exampleTop em{font-size:11px!important}
.exampleCopy p{font-size:11.5px!important;color:var(--v-sub)!important}
.pushMock p{font-size:11.5px!important;color:var(--v-sub)!important}
.exampleChart span{font-size:11px!important;color:var(--v-sub)!important}
.pushTop b{font-size:11px!important}
.pushTop small{font-size:11px!important;color:var(--v-sub)!important}
.panoramaDelivery span{color:var(--v-sub)!important}
.overviewTitle small{font-size:11.5px!important;color:var(--v-sub)!important}
.overviewSectionHead small{font-size:11.5px!important;color:var(--v-sub)!important}
.overviewTitle>span{font-size:11px!important}
.overviewMetrics span{font-size:11.5px!important;color:var(--v-sub)!important}
.overviewMetrics small{font-size:11.5px!important;color:var(--v-sub)!important}
.overviewModuleBody>small{font-size:11.5px!important;color:var(--v-sub)!important}
.overviewBadges em{font-size:11px!important}
.overviewBadges i{font-size:11.5px!important;color:var(--v-sub)!important}
.overviewArrow{color:var(--v-sub)!important}
.overviewActivity small{font-size:11.5px!important;color:var(--v-sub)!important}
.overviewActivity time{font-size:11px!important;color:var(--v-sub)!important}
@media(max-width:650px){
 .brand small{font-size:11px!important}
 .headBtns button{font-size:11px!important}
 .notice{font-size:11px!important}
 .suggestions button span{font-size:11.5px!important}
 .assistantLabel{font-size:11.5px!important}
 .cardGrid small{font-size:11.5px!important}
 .miniPosition small{font-size:11.5px!important}
 .composerFoot{font-size:11.5px!important}
 .assistantLabel small{font-size:11.5px!important}
 .cardTag{font-size:11px!important}
 .openingBadge{font-size:11.5px!important}
 .viewBtns button{color:var(--v-sub)!important}
 .toolboxTile small{font-size:11.5px!important}
 .welcomeToolboxHeader p{font-size:11.5px!important}
 .welcomeTool small{font-size:11px!important}
 .welcomeToolSection h3{font-size:11.5px!important}
}
@media(max-width:1200px){
 .cardTag{font-size:11px!important}
}
@media(max-width:359px){
 .cardTag{font-size:11px!important}
}
@media not all and (max-width:520px){
 .labJourney span{font-size:11.5px!important}
}
/* </legibility-floor> */

/* ---------- Icons ---------- */
.vi{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.vi-host{line-height:0}
.vi-trail{margin-left:.35em;width:1em;height:1em;opacity:.7}
button>.vi:first-child:not(:only-child){margin-right:.4em}
.vi-sparkle,.vi-diamond{stroke-width:1.6}
.vi-stop{stroke:none}

/* Tinted badges (tool tiles, task cards, strategy rows) */
.toolboxIcon,.welcomeToolIcon,.taskIcon,.overviewIcon,.overviewActivityIcon,.strategyIcon,.labExampleIcon{font-size:0!important;line-height:0}
.toolboxIcon .vi,.welcomeToolIcon .vi,.labExampleIcon .vi{width:18px;height:18px}
.taskIcon .vi,.overviewIcon .vi,.overviewActivityIcon .vi,.strategyIcon .vi{width:19px;height:19px}
.tint-purple,.taskIcon,.overviewIcon,.strategyIcon.tone2{background:#f0edfe;color:#6a55d8}
.tint-orange,.taskIcon.gold,.strategyIcon{background:#fff3e6;color:#d0802c}
.tint-blue,.taskIcon.blue,.strategyIcon.tone1{background:#eaf2ff;color:#3f73cf}
.tint-green,.taskIcon.green,.overviewIcon.trade,.strategyIcon.tone3{background:#e6f6ef;color:#1f936b}
.tint-rose{background:#ffefee;color:#d2555a}
.labExampleIcon{background:#f3f0fd;color:#6a55d8}
.labExample:nth-child(2) .labExampleIcon{background:#eaf2ff;color:#3f73cf}
.labExample:nth-child(3) .labExampleIcon{background:#fff3e6;color:#d0802c}
.labExample:nth-child(4) .labExampleIcon{background:#f4f4f7;color:#55536a}

/* Row affordance arrows: quieter, and nudge on hover */
.toolboxTile>i,.welcomeTool>i,.labExample>i{display:grid;place-items:center;align-self:center!important;color:var(--v-faint)!important;transition:transform .2s var(--v-ease-out),color .2s}
.toolboxTile>i .vi,.welcomeTool>i .vi,.labExample>i .vi{width:15px;height:15px}
.toolboxTile:hover>i,.welcomeTool:hover>i,.labExample:hover>i{color:var(--v-accent)!important;transform:translate(2px,-2px)}

/* ---------- Tiles ---------- */
.toolboxTile,.welcomeTool,.labExample{background:var(--v-surface)!important;border:1px solid var(--v-line)!important;transition:border-color .18s,background-color .18s,box-shadow .2s,transform .2s var(--v-ease-out)!important}
.toolboxTile:hover,.welcomeTool:hover,.labExample:hover{border-color:var(--v-accent-line)!important;background:#fcfbff!important;box-shadow:0 6px 18px -10px rgba(74,58,170,.35);transform:translateY(-1px)}
.toolboxTile:active,.welcomeTool:active,.labExample:active{transform:scale(.985);transition-duration:.08s!important}
.toolboxTile.selected,.labExample.selected{border-color:var(--v-accent)!important;background:var(--v-accent-soft)!important;box-shadow:0 0 0 3px rgba(106,85,216,.12)}
.toolboxTile b,.welcomeTool b,.labExample b{color:var(--v-ink)}
.toolboxTile small,.welcomeTool small,.labExample small{color:var(--v-sub)!important}
.welcomeToolbox{border-color:var(--v-line)!important;box-shadow:0 1px 2px rgba(27,26,36,.03),0 16px 40px -24px rgba(27,26,36,.18)!important}
.welcomeToolSection h3,.toolboxSection h3{color:var(--v-sub)!important;font-weight:600!important;letter-spacing:0}
.labNew{background:var(--v-accent-soft)!important;color:var(--v-accent-ink)!important;font-weight:650;letter-spacing:.2px;border-radius:6px!important}

/* ---------- Overlays: shared shell ---------- */
dialog::backdrop{background:var(--v-scrim)!important;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%)}
.imageViewer::backdrop{background:rgba(12,11,18,.9)!important}
#toolboxDialog,#strategyLabDialog,#loginDialog,#profileDialog,#toolCallsDialog,.superModal,.vipDialog{border:0!important;box-shadow:var(--v-shadow-pop)!important;background:var(--v-surface);color:var(--v-ink)!important}
#loginDialog,#profileDialog,#toolCallsDialog,.vipDialog{border-radius:var(--v-r-lg)!important}

/* Header: title, one line of help, round close */
.toolboxHeader,.superHead,.profileHeading{border-bottom:1px solid var(--v-line)!important;background:var(--v-surface)!important}
.toolboxHeader h2,.superHead h2,.profileHeading h2,.vipDialog h2{color:var(--v-ink);font-weight:700;letter-spacing:-.3px}
.toolboxHeader h2{font-size:20px}
.toolboxHeader p,.superHead p{color:var(--v-sub)!important;font-size:12.5px!important;line-height:1.55!important}
.profileHeading small{color:var(--v-sub)!important;font-size:12px!important;letter-spacing:0!important}
.toolboxEyebrow,.superEyebrow,.taskEyebrow,.superFeatured>span:first-child{display:none!important}
.toolboxHeader h2{margin-top:0}
.superHead h2{margin-top:2px!important}
.toolboxHandle,.superHandle{width:36px!important;height:5px!important;border-radius:5px!important;background:#dedce8!important}

/* All close buttons look and behave the same */
#toolboxClose,#strategyLabClose,#toolCallsClose,#profileClose,#loginClose,.superClose,.vipHead button,#historyClose,.guideCancel{display:grid!important;place-items:center;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#f3f2f7!important;color:#6d6b7e!important;line-height:0!important;flex:none;transition:background-color .15s,color .15s,transform .2s var(--v-ease-out)}
#toolboxClose:hover,#strategyLabClose:hover,#toolCallsClose:hover,#profileClose:hover,#loginClose:hover,.superClose:hover,.vipHead button:hover,#historyClose:hover{background:#e9e7f1!important;color:var(--v-ink)!important}
#toolboxClose:active,#strategyLabClose:active,#toolCallsClose:active,#profileClose:active,#loginClose:active,.superClose:active,.vipHead button:active{transform:scale(.9)}
#toolboxClose .vi,#strategyLabClose .vi,#toolCallsClose .vi,#profileClose .vi,#loginClose .vi,.superClose .vi,.vipHead button .vi,#historyClose .vi{width:16px;height:16px;stroke-width:2}
.guideCancel{width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important}
.guideCancel .vi{width:13px;height:13px;stroke-width:2}
.vipHead{justify-content:flex-end!important;margin-bottom:-30px;position:relative;z-index:1}
.vipHead>span{display:none}
.vipDialog h2{padding-right:46px;margin-top:2px!important}

/* Primary actions inside overlays */
.superPrimary,.labPrimary,#loginSubmit,.toolboxConfirm{background:var(--v-ink)!important;color:#fff!important;border:0!important;border-radius:var(--v-r-md)!important;font-weight:650!important;transition:transform .15s var(--v-ease-out),background-color .15s,opacity .15s}
.superPrimary:hover,.labPrimary:hover,#loginSubmit:hover,.toolboxConfirm:hover{background:#2c2a3a!important}
.superPrimary:active,.labPrimary:active,#loginSubmit:active,.toolboxConfirm:active{transform:scale(.985)}
.superPrimary:disabled,.labPrimary:disabled,#loginSubmit:disabled{background:#ecebf2!important;color:#a3a1b4!important}
.superPrimary span,.superFooter button span,.labPrimary span{display:inline-grid;place-items:center}
.superPrimary .vi,.labPrimary .vi,.superFooter .vi{width:15px;height:15px}

/* Login: bring the old teal form into the Vantage palette */
#loginDialog{padding:0!important;width:min(440px,calc(100vw - 28px))!important;overflow:hidden auto}
#loginDialog .profileHeading{padding:22px 24px 16px!important;border-bottom:0!important}
#loginForm{padding:0 24px 24px!important;display:grid;gap:14px}
#loginForm label:not(.rememberLogin){display:grid;gap:7px;color:var(--v-ink-2)!important;font-size:13px!important;font-weight:600}
#loginForm input[type=email],#loginForm input[type=password]{height:46px;padding:0 14px!important;border:1px solid var(--v-line-2)!important;border-radius:12px!important;background:var(--v-canvas)!important;color:var(--v-ink)!important;font-size:15px!important;transition:border-color .15s,box-shadow .15s,background-color .15s}
#loginForm input[type=email]:focus,#loginForm input[type=password]:focus{outline:0;border-color:var(--v-accent)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(106,85,216,.14)}
#loginForm .rememberLogin{display:flex;align-items:center;gap:9px;color:var(--v-ink-2)!important;font-size:13px!important}
#loginForm .rememberLogin input{width:18px;height:18px;accent-color:var(--v-accent);margin:0}
#loginForm .loginHint{color:var(--v-sub)!important;font-size:12.5px!important;line-height:1.6!important;margin:0!important}
#loginSubmit{height:48px;font-size:15px!important;margin-top:4px}
#loginGuest{height:46px;border:1px solid var(--v-line-2)!important;border-radius:var(--v-r-md)!important;background:#fff!important;color:var(--v-ink-2)!important;font-size:14px!important;font-weight:600}
#loginGuest:hover{background:var(--v-canvas)!important}
#loginError:empty{display:none}
#loginError{color:var(--v-down)!important;font-size:13px}

/* Profile / tool-call dialogs */
#profileDialog .profileHeading,#toolCallsDialog .profileHeading{padding:18px 22px!important}
.profileConnection{color:var(--v-sub)!important;font-size:12px!important}
.profileSection{border-color:var(--v-line)!important;border-radius:14px!important}
.profileSection>summary{background:var(--v-canvas)!important;color:var(--v-ink);font-size:13px!important}
.profileSection[open]>summary{border-bottom-color:var(--v-line)!important}
.profileSection[open]>.profileFields{animation:vInReveal .2s var(--v-ease-out) both}
.profileFields>div{border-bottom-color:var(--v-line)!important;font-size:12.5px!important}
.profileFields dt{color:var(--v-sub)!important}
.profileFields dd{color:var(--v-ink)!important}
.toolCallItem{border-bottom-color:var(--v-line)!important}
.toolCallNumber{background:var(--v-accent-soft)!important;color:var(--v-accent-ink)!important;border-radius:9px!important;font-variant-numeric:tabular-nums}
.toolCallItem b{color:var(--v-ink)!important}
.toolCallItem code{color:var(--v-sub)!important;font-size:11px!important}
.toolCallItem p{color:var(--v-ink-2)!important}
.toolCallFailed{color:var(--v-down)!important}

/* Menus */
.modelMenu,.noticeMenu,.attachmentMenu,.freqMenu{border:1px solid var(--v-line)!important;border-radius:14px!important;box-shadow:var(--v-shadow-menu)!important;transform-origin:bottom right}
.attachmentMenu{transform-origin:bottom left}
.attachmentMenu button span{background:var(--v-accent-soft)!important;color:var(--v-accent)!important;font-size:0!important}
.attachmentMenu button span .vi{width:20px;height:20px}
.modelMenu button span .vi,.noticeMenu button span .vi{width:14px;height:14px;stroke-width:2.2}
.noticeToggle i,.freqToggle i{display:inline-grid;place-items:center;transition:transform .2s var(--v-ease-out)}
.noticeToggle[aria-expanded="true"] i,.freqToggle[aria-expanded="true"] i{transform:rotate(180deg)}

/* ---------- Composer & top bar ---------- */
#send{transition:transform .15s var(--v-ease-out),background-color .15s,opacity .15s}
#send:active:not(:disabled){transform:scale(.92)}
#send .vi{width:20px;height:20px;stroke-width:2.1}
#pauseRun .vi{width:16px;height:16px}
.attachmentAdd .vi{width:18px;height:18px}
.inputBox{transition:border-color .18s,box-shadow .2s}
.inputBox:focus-within{border-color:var(--v-accent-line)!important;box-shadow:0 0 0 4px rgba(106,85,216,.08),0 8px 28px -14px rgba(27,26,36,.22)!important}
.agentTabs button{transition:color .18s,background-color .2s,box-shadow .2s}
.quotaPlus .vi{width:13px;height:13px;stroke-width:2.2}
#historyNew .vi{width:17px;height:17px}

/* Sidebar navigation rows */
.sidebarNav button span{display:inline-grid;place-items:center;width:22px}
.sidebarNav button span .vi{width:18px;height:18px}
.sidebarNav button i{display:inline-grid;place-items:center;color:var(--v-faint)}
.sidebarNav button i .vi{width:15px;height:15px}
.panelBack .vi{width:20px;height:20px}


/* History list */
.historyHeading b{color:var(--v-ink)!important;font-size:14px!important;font-weight:700!important}
#historyNew{display:grid!important;place-items:center;width:32px!important;height:32px!important;padding:0!important;border:0!important;border-radius:10px!important;background:var(--v-canvas)!important;color:var(--v-ink-2)!important;transition:background-color .15s,transform .15s var(--v-ease-out)}
#historyNew:hover{background:var(--v-accent-soft)!important;color:var(--v-accent)!important}
#historyNew:active{transform:scale(.92)}
#historySearch{height:40px!important;min-height:40px!important;padding:0 12px 0 36px!important;border:1px solid var(--v-line)!important;border-radius:12px!important;background:var(--v-canvas) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2386849a' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m20 20-4.4-4.4'/%3E%3C/svg%3E") no-repeat 12px center/16px!important;color:var(--v-ink)!important;font-size:14px!important;transition:border-color .15s,box-shadow .15s,background-color .15s}
#historySearch:focus{outline:0;border-color:var(--v-accent)!important;background-color:#fff!important;box-shadow:0 0 0 4px rgba(106,85,216,.12)}
#historySearch::-webkit-search-cancel-button{opacity:.5}
.historyItem{border-radius:12px!important;transition:background-color .15s}
.historyItem:hover{background:var(--v-canvas)!important}
.historyItem.selected{background:var(--v-accent-soft)!important}
.historyItem.selected b{color:var(--v-accent-ink)!important}
.historyItem small{color:var(--v-sub)!important}
.historyEmpty{color:var(--v-sub)!important;font-size:13px!important;padding:6px 10px!important}


/* Market panel */
.portfolio .overlayHeading b{font-size:17px;font-weight:700;color:var(--v-ink)}
.portfolio .overlayHeading+.sectionlabel{font-size:0!important;margin-bottom:8px!important;justify-content:flex-end!important}
.portfolio .overlayHeading+.sectionlabel span{font-size:12px!important}
.sectionlabel{color:var(--v-ink-2)!important;font-size:13px!important;font-weight:650!important;letter-spacing:0!important}
.sectionlabel span{color:var(--v-sub)!important;font-weight:400!important;font-size:12px!important}
.marketFilters input,.marketFilters select{height:42px;min-height:42px;padding:0 12px!important;border:1px solid var(--v-line)!important;border-radius:12px!important;background-color:var(--v-canvas)!important;color:var(--v-ink)!important;font-size:14px!important;transition:border-color .15s,box-shadow .15s,background-color .15s}
.marketFilters input{padding-left:36px!important;background:var(--v-canvas) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2386849a' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m20 20-4.4-4.4'/%3E%3C/svg%3E") no-repeat 12px center/16px!important}
.marketFilters input:focus,.marketFilters select:focus{outline:0!important;border-color:var(--v-accent)!important;background-color:#fff!important;box-shadow:0 0 0 4px rgba(106,85,216,.12)}
.marketPager{color:var(--v-sub)!important;font-size:12px!important;font-variant-numeric:tabular-nums}
.marketPager button{display:grid!important;place-items:center;width:30px!important;height:30px!important;border:1px solid var(--v-line)!important;border-radius:9px!important;background:#fff!important;color:var(--v-ink-2)!important}
.marketPager button:disabled{opacity:.4}
.marketPager button .vi{width:15px;height:15px}
.quoteConnection{font-size:12px!important;color:var(--v-sub)!important}
.quoteConnection.live{color:var(--v-up)!important}
.quote{padding:12px 10px!important;margin:0!important;border-radius:12px!important;border:0!important;border-bottom:1px solid var(--v-line)!important;border-radius:0!important}
.quote:last-child{border-bottom:0!important}
.quote b{font-size:14px!important;color:var(--v-ink)}
.quote small{font-size:12px!important;color:var(--v-sub)!important}
.quote .quotePrice,.quote .quotePrice span{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif!important;font-variant-numeric:tabular-nums;font-size:13px!important;color:var(--v-ink)}
.quote .quotePrice em{font-size:11px!important;color:var(--v-sub)!important}
.quote .quotePrice small{font-size:12px!important;font-weight:600}
.quote .quotePrice small.positive,.positive{color:var(--v-up)}
.quote .quotePrice small.negative,.negative{color:var(--v-down)}
#refreshQuotes{display:inline-flex!important;align-items:center;justify-content:center;gap:6px}
.position{border:1px solid var(--v-line)!important;border-radius:12px!important;background:var(--v-canvas)!important}
.emptyPositions{color:var(--v-sub)!important;font-size:13px!important}

/* Trace panel */
.traceHeading{background:#fff!important;border-bottom:1px solid var(--v-line)!important}
.traceHeading b{font-size:16px!important;color:var(--v-ink)!important;font-weight:700!important}
.traceHeading small{font-size:12px!important;color:var(--v-sub)!important}
.traceHeading>span{font:600 12px/1 -apple-system,BlinkMacSystemFont,sans-serif!important;background:var(--v-accent-soft)!important;color:var(--v-accent-ink)!important;border:0!important;border-radius:20px!important;padding:5px 9px!important}
.traceSummary{background:var(--v-canvas)!important;color:var(--v-ink-2)!important;border-color:var(--v-line)!important;font-size:12px!important}
.traceRow{border-radius:10px!important}
.traceRow:hover,.traceRow.selected{background:var(--v-accent-soft)!important;border-color:transparent!important}
.traceRow b{color:var(--v-ink)!important;font-size:12px!important}
.traceRow time,.traceRow small{color:var(--v-sub)!important;font-size:11px!important}
.traceDetail{background:var(--v-canvas)!important;border-color:var(--v-line)!important}
.traceDetail pre{color:var(--v-ink-2)!important;font-size:11.5px!important}
.traceDetail>span{color:var(--v-sub)!important;font-size:12px!important}

/* ---------- Conversation ---------- */
.userMessage{background:#f2f1f7!important;border-color:transparent!important;color:var(--v-ink)!important}
.dataCard{--accent:var(--v-accent);--tint:var(--v-accent-soft);border:1px solid var(--v-line)!important;border-top:1px solid var(--v-line)!important;border-radius:16px!important;box-shadow:0 1px 2px rgba(27,26,36,.04),0 12px 32px -20px rgba(27,26,36,.2)!important}
.dataCard .bigPrice{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,sans-serif!important;font-variant-numeric:tabular-nums;letter-spacing:-.6px!important;color:var(--v-ink)!important}
.dataCard .cardGrid>div,.dataCard .metric{border-color:transparent!important;background:var(--v-canvas)!important;border-radius:10px!important}
.dataCard .cardGrid small{color:var(--v-sub)!important;font-size:11px!important}
.dataCard .cardGrid b{color:var(--v-ink)!important;font-variant-numeric:tabular-nums}
.cardTop{background:var(--v-surface)!important;border-bottom-color:var(--v-line)!important}
.cardTop b{color:var(--v-ink)!important}
.cardTag{font-size:11px!important;border-radius:6px!important;font-weight:600!important}
.cardIcon{font-size:0!important;line-height:0}
.cardIcon .vi{width:15px;height:15px}
.activity{color:var(--v-sub)!important}
.activity.active:before{border-color:#e3def9!important;border-top-color:var(--v-accent)!important}
.toolStep{color:var(--v-sub)!important}
.messageTime{color:var(--v-faint)!important}
.assistantLabel small{color:var(--v-sub)!important}
.overviewTitle>span{color:#127a55!important}
.taskState,.overviewBadges em,.taskSummary .dot~strong{color:var(--v-up)!important}
.positive,strong.positive,.consoleMetrics .positive{color:var(--v-up)!important}
.negative,strong.negative{color:var(--v-down)!important}
#refreshQuotes{height:40px;border:1px solid var(--v-line)!important;border-radius:12px!important;background:#fff!important;color:var(--v-ink-2)!important;font-size:13px!important;font-weight:600}
#refreshQuotes:hover{background:var(--v-canvas)!important}
.turn .error{background:#fff5f5!important;border:1px solid #f6d5d7!important;color:#b3363e!important;border-radius:12px!important}
.trace{border-color:var(--v-line)!important}
.toolStepIcon{background:var(--v-accent-soft)!important;color:var(--v-accent)!important}
.toolStepIcon .vi{width:10px;height:10px;stroke-width:2.6}
.toolStep.running .toolStepIcon{background:transparent!important;border-color:#e3def9!important;border-top-color:var(--v-accent)!important}
.toolStep.failed .toolStepIcon,.toolStep.interrupted .toolStepIcon{background:#fdecec!important;color:var(--v-down)!important}


/* Trade tickets (order / close / cancel / TPSL cards) */
.tone-trade{border-color:var(--v-line)!important;border-top:1px solid var(--v-line)!important}
.tone-trade .cardTop{background:var(--v-surface)!important}
.tone-trade .cardTag{background:#e8f6f0!important;color:#167a57!important}
.ticketAccount{color:var(--v-sub)!important;font-size:12px!important}
.ticketAccount b{color:var(--v-ink)!important;font-weight:650}
.ticketFields label{color:var(--v-sub)!important;font-size:12px!important}
.ticketFields input,.ticketFields select{border:1px solid var(--v-line-2)!important;border-radius:12px!important;background:var(--v-canvas)!important;color:var(--v-ink)!important;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s,background-color .15s}
.ticketFields input:focus,.ticketFields select:focus{outline:0!important;border-color:var(--v-accent)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(106,85,216,.12)}
.ticketFields input::placeholder{color:var(--v-faint)}
.ticketEstimate{background:var(--v-canvas)!important;border-radius:14px!important}
.ticketEstimate small{color:var(--v-sub)!important;font-size:12px!important}
.ticketMargin{color:var(--v-ink)!important;font-variant-numeric:tabular-nums;letter-spacing:-.4px}
.ticketMargin em{color:var(--v-sub)}
.ticketEstimate>span{color:var(--v-sub)!important;font-size:12px!important}
.ticketQuote{color:var(--v-sub)!important;font-size:12px!important}
.orderConfirm{background:var(--v-ink)!important;border-radius:var(--v-r-md)!important;font-weight:650!important;transition:transform .15s var(--v-ease-out),background-color .15s}
.orderConfirm:hover{background:#2c2a3a!important}
.orderConfirm:active:not(:disabled){transform:scale(.985)}
.orderConfirm:disabled{background:#ecebf2!important;color:#a3a1b4!important}
.orderFeedback{color:var(--v-sub)!important;font-size:12px!important}
.orderFeedback.success{color:var(--v-up)!important}

/* Tool call summary, citations */
.toolCallsLink{color:var(--v-accent)!important;font-weight:600}
.toolGroupChevron{display:inline-grid;place-items:center;transition:transform .2s var(--v-ease-out)}
.toolGroupChevron .vi,.citationChevron .vi{width:14px;height:14px}
.citationChevron{display:inline-grid;place-items:center;transition:transform .2s var(--v-ease-out)}
.citationList summary{color:var(--v-accent-ink)!important}
.citationList a{border-color:var(--v-line)!important;background:var(--v-canvas)!important;color:var(--v-ink)!important;border-radius:12px!important;transition:background-color .15s,border-color .15s}
.citationList a:hover{background:#fff!important;border-color:var(--v-accent-line)!important}
.citationList a>span:first-child,.sourceCitation{color:var(--v-accent)!important}
.citationList a small{color:var(--v-sub)!important}

/* ---------- Focus ---------- */
:where(button,a,summary,[role=button],select,input[type=checkbox]):focus-visible{outline:2px solid var(--v-accent);outline-offset:2px}

/* =========================================================
 * Motion
 * One shared language: things that open rise in with a soft
 * deceleration; things that close fall away faster.
 * ========================================================= */
@keyframes vInPop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes vOutPop{to{opacity:0;transform:translateY(6px) scale(.98)}}
@keyframes vInSheet{from{transform:translateY(100%)}to{transform:none}}
@keyframes vOutSheet{to{transform:translateY(100%)}}
@keyframes vInFade{from{opacity:0}to{opacity:1}}
@keyframes vOutFade{to{opacity:0}}
@keyframes vInLeft{from{transform:translateX(-102%)}to{transform:none}}
@keyframes vInRight{from{transform:translateX(102%)}to{transform:none}}
@keyframes vInMenu{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
@keyframes vInReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes vInTurn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Dialogs: centred cards pop, bottom sheets slide */
dialog[open]{animation:vInPop .28s var(--v-ease-out) both}
dialog[open]::backdrop{animation:vInFade .24s ease-out both}
dialog[data-closing]{animation:vOutPop .17s var(--v-ease-in) both!important;pointer-events:none}
dialog[data-closing]::backdrop{animation:vOutFade .2s ease-in both!important}
.superModal.strategySheet[open],.superModal.panoramaSheet[open],.superModal.moduleSheet[open]{animation:vInSheet .42s var(--v-ease-sheet) both}
.superModal.strategySheet[data-closing],.superModal.panoramaSheet[data-closing],.superModal.moduleSheet[data-closing]{animation:vOutSheet .26s var(--v-ease-in) both!important}
.imageViewer[open]{animation:vInFade .2s ease-out both}
.imageViewer[data-closing]{animation:vOutFade .16s ease-in both!important}
@media(max-width:650px){
 #toolboxDialog[open],#strategyLabDialog[open]{animation:vInSheet .42s var(--v-ease-sheet) both}
 #toolboxDialog[data-closing],#strategyLabDialog[data-closing]{animation:vOutSheet .26s var(--v-ease-in) both!important}
}

/* Side panels slide in from their edge; the scrim fades */
.historyPanel:not(.hide),.portfolio:not(.hide),.trace:not(.hide){animation:vInLeft .34s var(--v-ease-sheet) both}
.mobileBackdrop:not(.hide),.historyPanel:not(.hide)~.assistantBackdrop{animation:vInFade .24s ease-out both}

/* Switching to the task console */
.agentTaskView:not([hidden]){animation:vInTurn .26s var(--v-ease-out) both}

/* Popovers and in-place reveals */
.modelMenu:not([hidden]),.noticeMenu:not([hidden]),.attachmentMenu:not([hidden]),.freqMenu:not([hidden]){animation:vInMenu .18s var(--v-ease-out) both}
.toolboxDetail:not([hidden]),.labCustom:not([hidden]),.labCard:not([hidden]),.labExampleDetail,.guideDraft:not([hidden]){animation:vInReveal .24s var(--v-ease-out) both}
.toolGroupDetails[open] .toolGroupList,.citationList[open]>div{animation:vInReveal .2s var(--v-ease-out) both}
.conversation>.turn:last-child>.blocks>*:last-child:not(.textBlock){animation:vInTurn .3s var(--v-ease-out) both}
.conversation>.turn:last-child>.userMessage{animation:vInTurn .26s var(--v-ease-out) both}

@media(prefers-reduced-motion:reduce){
 dialog,dialog::backdrop,.agentTaskView,.historyPanel,.portfolio,.trace,.mobileBackdrop,.assistantBackdrop,.modelMenu,.noticeMenu,.attachmentMenu,.freqMenu,.toolboxDetail,.labCustom,.labCard,.labExampleDetail,.guideDraft,.toolGroupList,.citationList>div,.profileFields,.turn>*,.blocks>*{animation:none!important}
 .toolboxTile,.welcomeTool,.labExample,.toolboxTile>i,.welcomeTool>i,.labExample>i{transition:none!important;transform:none!important}
}

/* Desktop: the brand/menu button in the top bar should not read as a stray grey box */
@media(min-width:901px){
 .menuTrigger{background:transparent!important;border-right:0!important;cursor:pointer!important;border-radius:12px!important;transition:background-color .15s}
 .menuTrigger:hover{background:var(--v-canvas)!important}
}

/* Phones: the whole tile is the tap target, so the corner arrow gives its space to the subtitle */
@media(max-width:650px){
 .welcomeTool>i,.toolboxTile>i{display:none!important}
 .welcomeTool,.toolboxTile{gap:9px!important}
}
/* Narrow phones (≤400px): tiles switch to one column so names and descriptions never wrap or truncate */
@media(max-width:400px){
 .welcomeToolbox{padding:12px!important}
 .welcomeTool,.toolboxTile{padding:10px 9px!important;gap:8px!important}
 .welcomeToolIcon,.toolboxIcon{width:30px!important;height:30px!important;border-radius:9px!important}
 .welcomeTool b,.toolboxTile b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .toolboxGrid,.welcomeTools{grid-template-columns:minmax(0,1fr)!important}
 .toolboxTile>i,.welcomeTool>i{display:grid!important}
 #question::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
