/* Pro theme system: every panel inherits the active workspace palette. */
.tvt-backdrop[data-terminal-theme] { background: radial-gradient(ellipse at 4% 0%,color-mix(in srgb,var(--tvt-accent) 17%,var(--tvt-bg)),transparent 65%),var(--tvt-bg); }
.tvt-backdrop[data-terminal-theme] .tvt { background: transparent; }
.tvt-backdrop[data-terminal-theme] :is(.tvt-kpi,.tvt-kpi-balance) { background: linear-gradient(125deg,color-mix(in srgb,var(--tvt-accent) 7%,var(--tvt-panel)),var(--tvt-panel)); border-color: var(--tvt-line); }
.tvt-backdrop[data-terminal-theme] :is(.tvt-top,.tvt-tools,.tvt-watch,.tvt-ticket,.tvt-chart-wrap,.tvt-bottom,.tvt-menu,.tvt-pop,.tvt-account-chip,.tvt-side,.tvt-kpi-ring b) { background: var(--tvt-panel); border-color: var(--tvt-line); }
.tvt-backdrop[data-terminal-theme] :is(.tvt-search,.tvt-field input,.tvt-stepper button,.tvt-presets button,.tvt-quick-sltp button,.tvt-empty-cta,.tvt-empty-icon,.tvt-seg,.tvt-version) { background: var(--tvt-panel-2); border-color: var(--tvt-line); color: var(--tvt-text); }
.tvt-backdrop[data-terminal-theme] :is(.tvt-watch-list button.is-active,.tvt-tfs button.is-active,.tvt-seg button.is-active) { background: var(--tvt-accent-soft); color: var(--tvt-text); box-shadow: inset 0 0 0 1px var(--tvt-line); }
.tvt-backdrop[data-terminal-theme] :is(.tvt-brand small,.tvt-page-heading>span,.tvt-kpi em,.tvt-order-symbol span,.tvt-w-name small,.tvt-section-title>span,.tvt-field>span,.tvt-field>label,.tvt-statusline,.tvt-empty p,.tvt-order-note,.tvt-account-chip small,.tvt-market-note span) { color: var(--tvt-muted); }
.tvt-backdrop[data-terminal-theme] :is(.tvt-empty strong,.tvt-statusline b,.tvt-market-note b) { color: var(--tvt-text); }
.tvt-backdrop[data-terminal-theme] :is(.tvt-market-note,.tvt-calc,.tvt-bottom-tabs,.tvt-statusline) { border-color: var(--tvt-line); }
.tvt-backdrop[data-terminal-theme] .tvt-ticket-sides [data-side="buy"].is-active { background: color-mix(in srgb,var(--tvt-buy) 13%,var(--tvt-panel)); border-color: color-mix(in srgb,var(--tvt-buy) 55%,var(--tvt-panel)); color: var(--tvt-buy); }
.tvt-backdrop[data-terminal-theme] .tvt-ticket-sides [data-side="sell"].is-active { background: color-mix(in srgb,var(--tvt-sell) 13%,var(--tvt-panel)); border-color: color-mix(in srgb,var(--tvt-sell) 55%,var(--tvt-panel)); color: var(--tvt-sell); }
.tvt-backdrop[data-terminal-theme] .tvt-submit.is-buy { background: var(--tvt-buy); border-color: var(--tvt-buy); color: #081b13 !important; }
.tvt-backdrop[data-terminal-theme] .tvt-submit.is-sell { background: var(--tvt-sell); border-color: var(--tvt-sell); color: #291016 !important; }
.tvt-backdrop[data-terminal-theme="light"] .tvt-submit { color: #fff !important; }
.tvt-backdrop[data-terminal-theme] .tvt-ticket-sides button { background: var(--tvt-panel-2); }
.tvt-backdrop[data-terminal-theme] .tvt-bottom-tabs button.is-active { border-bottom-color: var(--tvt-accent); }
.tvt-backdrop[data-terminal-theme] .tvt-watermark { color: color-mix(in srgb,var(--tvt-accent) 5%,transparent); }
.tvt-backdrop[data-terminal-theme] .tvt-goal { background: var(--tvt-panel-2); }
.tvt-backdrop[data-terminal-theme] .tvt-kpi-ring i { background: conic-gradient(var(--tvt-accent) calc(var(--p)*1%),var(--tvt-line) 0); }
.tvt-backdrop[data-terminal-theme] .tvt-kpi-ring b { color: var(--tvt-accent); }
.tvt-brand-mark { overflow: hidden; border-color: color-mix(in srgb,var(--tvt-accent) 35%,transparent); padding: 0; box-shadow: 0 0 24px color-mix(in srgb,var(--tvt-accent) 10%,transparent); }
.tvt-brand-mark img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; transform: scale(1.018); }
.tvt-brand-mark { width: 44px; height: 44px; }
.tvt-pro-actions { display: flex; gap: 4px; margin-left: auto; border: 1px solid var(--tvt-line); border-radius: 10px; padding: 3px; background: var(--tvt-panel); }
.tvt-pro-actions .tvt-icon-btn { width: 33px; padding: 0; color: var(--tvt-muted); }
.tvt-account-chip { margin-left: 0; }
.tvt-tools { overflow-y: auto; gap: 3px; scrollbar-width: none; }
.tvt-tools button { flex: 0 0 29px; }
.tvt-tools .tvt-tools-sep { flex-shrink: 0; }
.tvt-tools button.is-active { color: var(--tvt-accent); }
.tvt-pro-order-fields { display: grid; gap: 10px; }
.tvt select, .tvt-pro-dialog select { width: 100%; min-height: 36px; border: 1px solid var(--tvt-line); border-radius: 7px; padding: 6px 10px; background: var(--tvt-panel-2); color: var(--tvt-text); font: inherit; font-size: 11px; }
.tvt-pro-clock { position: absolute; z-index: 5; bottom: 39px; right: 83px; display: flex; align-items: center; gap: 8px; background: color-mix(in srgb,var(--tvt-panel) 93%,transparent); border: 1px solid var(--tvt-line); border-radius: 8px; padding: 8px 10px; font-size: 10px; pointer-events: none; box-shadow: 0 3px 20px #00000012; }
.tvt-pro-clock b { font-size: 12px; color: var(--tvt-text); font-weight: 550; font-variant-numeric: tabular-nums; }
.tvt-pro-clock span { color: var(--tvt-muted); }
.tvt-pro-clock i { font-style: normal; margin-left: 3px; }
.tvt-pro-clock small { font-size: 8px; color: var(--tvt-muted); }
.tvt-clock-dot { height: 5px; width: 5px; background: var(--tvt-accent); border-radius: 50%; }
.tvt-session-strip { display: flex; gap: 5px; position: absolute; top: 55px; left: 16px; z-index: 4; pointer-events: none; }
.tvt-session-strip span { color: var(--session-color,var(--tvt-muted)); border: 1px solid color-mix(in srgb,var(--session-color,var(--tvt-muted)) 30%,transparent); padding: 4px 6px; background: var(--tvt-panel); font-size: 8px; border-radius: 5px; }
.tvt-news-banner { max-width: calc(100% - 100px); position: absolute; z-index: 5; bottom: 81px; left: 14px; border: 1px solid var(--tvt-line); border-radius: 7px; padding: 7px 10px; background: var(--tvt-panel); color: var(--tvt-muted) !important; font-size: 9px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.tvt-position-chips { position: absolute; inset: 0 84px 0 0; z-index: 5; pointer-events: none; overflow: hidden; }
.tvt-position-chip { position: absolute; right: 5px; display: flex; align-items: center; gap: 0; height: 25px; border: 1px solid var(--tvt-buy); background: var(--tvt-panel); color: var(--tvt-buy); border-radius: 5px; box-shadow: 0 2px 8px #0002; pointer-events: auto; font-size: 9px; }
.tvt-position-chip.sell { border-color: var(--tvt-sell); color: var(--tvt-sell); }
.tvt-position-chip span { padding: 0 8px; font-weight: 550; }
.tvt-position-chip button { padding: 0 6px; height: 23px; background: transparent; border: 0; border-right: 1px solid var(--tvt-line); color: inherit; cursor: pointer; font-size: 9px; }
.tvt-position-chip button:last-child { border-right: 0; border-left: 1px solid var(--tvt-line); }
.tvt-position-chip button:hover { background: var(--tvt-accent-soft); }
.tvt-fill-flash .tvt-position-chip { animation: tvtTradeFill 1s ease; }
@keyframes tvtTradeFill { 0% { transform: translateY(6px); box-shadow: 0 0 0 0 #78c8ab70; } 50% { box-shadow: 0 0 0 7px #78c8ab20; } 100% { transform: none; box-shadow: 0 0 0 13px #78c8ab00; } }
.tvt-toasts { position: absolute; top: 78px; left: 50%; bottom: auto; right: auto; width: min(420px, calc(100% - 48px)); transform: translateX(-50%); display: grid; gap: 9px; z-index: 30; pointer-events: none; }
.tvt-toast { display: flex; gap: 11px; align-items: flex-start; padding: 16px; background: var(--tvt-panel); border: 1px solid var(--tvt-line); border-radius: 12px; box-shadow: 0 10px 40px #0004; pointer-events: none; animation: tvtToast .25s ease; }
.tvt-toast strong { font-size: 12px; font-weight: 550; }.tvt-toast p { margin: 5px 0 0; font-size: 11px; color: var(--tvt-muted); line-height: 1.6; }
.tvt-toast-icon { color: var(--tvt-accent); font-size: 19px; }.tvt-toast.trade .tvt-toast-icon { color: var(--tvt-buy); }.tvt-toast.error .tvt-toast-icon { color: var(--tvt-sell); }
.tvt-toast button { margin-left: auto; border: 0; color: var(--tvt-muted); background: transparent; font-size: 16px; cursor: pointer; pointer-events: auto; }
@keyframes tvtToast { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.tvt-pro-dialog { width: min(850px,calc(100vw - 28px)); max-height: min(820px,90dvh); padding: 0; border: 1px solid var(--tvt-line); border-radius: 18px; background: var(--tvt-panel); color: var(--tvt-text); font: inherit; box-shadow: 0 30px 120px #0008; overflow: auto; }
.tvt-pro-dialog::backdrop { background: #03030a99; backdrop-filter: blur(7px); }
.tvt-pro-dialog > header { display: flex; justify-content: space-between; align-items: center; padding: 24px 26px 20px; border-bottom: 1px solid var(--tvt-line); position: sticky; top: 0; background: var(--tvt-panel); z-index: 2; }
.tvt-pro-dialog > header span { font-size: 8px; letter-spacing: .22em; color: var(--tvt-accent); }
.tvt-pro-dialog h2 { font-size: 21px; font-weight: 550; margin: 8px 0 0; letter-spacing: -.5px; }
.tvt-pro-dialog button { cursor: pointer; font-family: inherit; }
.tvt-settings-layout { display: grid; grid-template-columns: 164px 1fr; min-height: 480px; }
.tvt-settings-layout > nav { padding: 19px 12px; border-right: 1px solid var(--tvt-line); display: flex; flex-direction: column; gap: 4px; }
.tvt-settings-layout > nav button { text-align: left; background: transparent; border: 0; border-radius: 7px; padding: 12px 11px; font-size: 11px; color: var(--tvt-muted); }
.tvt-settings-layout > nav button.is-active { background: var(--tvt-accent-soft); color: var(--tvt-accent); }
#tvtSettingsContent { padding: 22px; min-width: 0; }
.tvt-settings-eyebrow { font-size: 9px; letter-spacing: .1em; color: var(--tvt-muted); margin: 0 0 20px; }
.tvt-theme-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.tvt-theme-grid button { display: flex; align-items: center; gap: 10px; padding: 11px 9px; background: var(--tvt-panel-2); border: 1px solid var(--tvt-line); border-radius: 10px; text-align: left; color: var(--tvt-text); }
.tvt-theme-grid button.is-active { border-color: var(--tvt-accent); box-shadow: 0 0 0 1px color-mix(in srgb,var(--tvt-accent) 20%,transparent); }
.tvt-theme-grid i { width: 32px; height: 36px; border-radius: 7px; flex-shrink: 0; box-shadow: inset 0 0 0 1px #ffffff12; }
.tvt-theme-grid b { font-size: 10px; font-weight: 550; display: block; }.tvt-theme-grid small { display: block; font-size: 8px; color: var(--tvt-muted); margin-top: 5px; line-height: 1.4; }.tvt-theme-grid em { margin-left: auto; font-style: normal; color: var(--tvt-accent); }
.tvt-setting-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--tvt-line); }
.tvt-setting-row b { display: block; font-size: 11px; font-weight: 500; }.tvt-setting-row small { display: block; font-size: 10px; line-height: 1.65; color: var(--tvt-muted); margin-top: 5px; max-width: 350px; }
.tvt-setting-row input[type="checkbox"], .tvt-session-settings input { accent-color: var(--tvt-accent); height: 17px; width: 17px; flex-shrink: 0; cursor: pointer; }
.tvt-setting-row input[type="color"] { width: 35px; height: 30px; padding: 2px; border: 1px solid var(--tvt-line); border-radius: 6px; background: var(--tvt-panel-2); }
.tvt-pro-secondary,.tvt-pro-primary { border: 1px solid var(--tvt-line); border-radius: 8px; background: var(--tvt-panel-2); padding: 10px 13px; font-size: 11px !important; color: var(--tvt-text); }
.tvt-pro-primary { color: var(--tvt-bg) !important; background: var(--tvt-accent); border-color: var(--tvt-accent); font-weight: 600; }
.tvt-pro-secondary:hover { border-color: var(--tvt-accent); }
.tvt-setting-zone { margin: 20px 0; }
.tvt-help { font-size: 11px; color: var(--tvt-muted); line-height: 1.8; margin: 12px 0; }
.tvt-session-settings { display: grid; gap: 4px; margin-top: 13px; }
.tvt-session-settings label { display: flex; align-items: center; gap: 10px; padding: 12px 0; }.tvt-session-settings i { height: 7px; width: 7px; border-radius: 50%; }.tvt-session-settings b { display: block; font-size: 11px; font-weight: 500; }.tvt-session-settings small { display: block; color: var(--tvt-muted); font-size: 9px; margin-top: 4px; }.tvt-session-settings span:last-child { margin-left: auto; font-size: 10px; color: var(--tvt-muted); }
.tvt-pro-form { padding: 22px 26px; display: grid; gap: 15px; }.tvt-pro-form .tvt-help { margin: 0; }.tvt-pro-form .tvt-field input { font-size: 12px; }.tvt-pro-form .tvt-field>span { font-size: 11px; }
.tvt-form-error { color: var(--tvt-sell); font-size: 11px; margin: 0; }
.tvt-alert-list { padding: 0 26px 22px; }.tvt-alert-list article { display: flex; gap: 8px; align-items: center; padding: 15px 0; border-top: 1px solid var(--tvt-line); }.tvt-alert-list article>div { flex: 1; }.tvt-alert-list b { display: block; font-size: 12px; font-weight: 500; }.tvt-alert-list small { display: block; font-size: 10px; color: var(--tvt-muted); margin-top: 6px; }
.tvt-calendar-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.tvt-news-item { display: flex; align-items: center; gap: 16px; padding: 19px 0; border-bottom: 1px solid var(--tvt-line); }.tvt-news-item time { font-size: 11px; color: var(--tvt-muted); min-width: 100px; }.tvt-news-item b { font-size: 12px; font-weight: 500; }.tvt-news-item small { display: block; font-size: 10px; color: var(--tvt-muted); margin-top: 6px; }.tvt-impact { font-size: 7px; color: var(--tvt-accent); }.tvt-impact.high { color: #e19a78; }
.tvt-pop { width: 244px; }.tvt-pop button { font-size: 11px; }.tvt-pop strong { font-size: 12px; }
.tvt-bottom-tabs { gap: 13px; }.tvt-bottom-tabs button { white-space: nowrap; }
@media (min-width:901px) {
 .tvt { grid-template-columns: 226px 42px minmax(0,1fr) 290px; }
 .tvt-ticket { gap: 11px; }
 .tvt-top { gap: 3px; }
 .tvt-tfs button { min-width: 24px; padding: 0 5px; font-size: 10px; }
 .tvt-brand { width: 215px; }
 .tvt-masthead { gap: 20px; }
}
@media (min-width:901px) and (max-width:1300px) {
 .tvt { grid-template-columns: 195px 38px minmax(0,1fr) 249px; }
 .tvt-brand { width: 183px; }
 .tvt-account-chip { padding: 8px; gap: 7px; }.tvt-account-chip>svg,.tvt-account-dot { display: none; }
 .tvt-page-heading h1 { font-size: 17px; }.tvt-pro-actions { gap: 0; }.tvt-pro-actions .tvt-icon-btn { width: 29px; }
 .tvt-top .tvt-sep,.tvt-text-btn span { display: none; }
 .tvt-pro-clock small { display: none; }
}
@media (max-width:900px) {
 .tvt-masthead { flex-wrap: wrap; gap: 12px; }.tvt-pro-actions { order: 2; width: 100%; justify-content: flex-end; padding: 4px; border: 0; background: transparent; margin-top: -5px; }.tvt-pro-actions::before { content:'ВАШЕ ТОРГОВОЕ ПРОСТРАНСТВО'; font-size: 7px; letter-spacing: .1em; color: var(--tvt-muted); margin-right: auto; align-self: center; }
 .tvt-pro-clock { right: 76px; padding: 6px 8px; }.tvt-pro-clock small { display: none; }.tvt-pro-clock i { display: none; }
 .tvt-session-strip { top: 103px; left: 12px; flex-wrap: wrap; max-width: calc(100% - 85px); }
 .tvt-tools { overflow-x: auto; overflow-y: hidden; gap: 5px; }.tvt-tools button { flex: 0 0 32px; }
 .tvt-settings-layout { grid-template-columns: 1fr; }.tvt-settings-layout>nav { flex-direction: row; padding: 10px 12px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--tvt-line); }.tvt-settings-layout>nav button { flex-shrink: 0; padding: 9px; font-size: 10px; }
 #tvtSettingsContent { padding: 17px; }.tvt-theme-grid { gap: 6px; }.tvt-theme-grid button { gap: 6px; padding: 9px 7px; }.tvt-theme-grid i { width: 25px; height: 31px; }.tvt-theme-grid small { font-size: 7px; }
 .tvt-pro-dialog>header { padding: 18px; }.tvt-pro-dialog h2 { font-size: 19px; }.tvt-pro-form { padding: 18px; }.tvt-toasts { bottom: 18px; right: 16px; }
 .tvt-position-chip { font-size: 8px; }.tvt-position-chip span { padding: 0 5px; }.tvt-position-chip button { padding: 0 5px; }
 .tvt-news-banner { bottom: 77px; font-size: 8px !important; }.tvt-news-item { gap: 9px; }.tvt-news-item time { min-width: 75px; font-size: 9px; }.tvt-news-item b { font-size: 10px; }
 .tvt-bottom-tabs { gap: 12px; padding: 0 12px; overflow-x: auto; }.tvt-bottom-tabs button { font-size: 10px; }
}

@media (min-width:901px) and (max-width:1150px) {
 .tvt-top .tvt-logo { display:none; }
 .tvt-top .tvt-symbol-btn b { font-size:10px; }
 .tvt-tfs button { min-width:22px; padding:0 4px; }
 .tvt-tools { width:38px; }
 .tvt-top .tvt-status { font-size:8px; padding:4px 5px; }
}
