/* Left panel only: approved mockup palette and chart chrome. */
.movement{--trajectory-bg:#001624;--trajectory-row:#001b29;--trajectory-grid:#103747;--trajectory-zero:#38536c;--trajectory-ticks:#c3c2ed;--trajectory-cyan:#00dcf6;--trajectory-green:#22e7b1;--trajectory-red:#ff536c;--trajectory-purple:#b39af6;--trajectory-label-ink:#001b27;display:flex;flex-direction:column;background:linear-gradient(105deg,#001724,#00111e);border-color:#124157}
body[data-theme=light] .movement{--trajectory-bg:#f5fbfe;--trajectory-row:#f1f9fc;--trajectory-grid:#d7e9f0;--trajectory-zero:#98b1c5;--trajectory-ticks:#4f5a78;--trajectory-cyan:#007d9b;--trajectory-green:#07865c;--trajectory-red:#c23658;--trajectory-purple:#7859c0;--trajectory-label-ink:#fff;background:#f5fbfe;border-color:#bad4df}
.movement>.panel-heading{position:absolute;width:1px;height:1px;min-height:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.movement .lanes{display:block;height:580px;min-height:0;flex:none;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#1b4355 transparent;overscroll-behavior:contain;scroll-behavior:smooth}
.movement .lane{display:flex;flex-direction:column;position:relative;height:var(--sector-row-height,112px);min-height:var(--sector-row-height,112px);padding:9px 8px 3px;margin:0 7px;border-top:0;border-bottom:1px solid var(--trajectory-grid);background:linear-gradient(90deg,color-mix(in srgb,var(--trajectory-row) 50%,transparent),transparent 75%)}
.movement .lane-label{font-size:13px;letter-spacing:.25px;line-height:1.15;padding:0 0 4px;color:var(--trajectory-purple);display:flex;align-items:center;gap:8px;min-height:24px;overflow-wrap:anywhere;font-weight:650}
.movement .lane[data-sector-chart="Auto"] .lane-label{color:var(--trajectory-cyan)}
.movement .sector-mark{display:inline-flex;width:19px;height:19px;align-items:center;justify-content:center;flex:none}
.movement .sector-mark svg{display:block;width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.movement .lane-label>span:nth-child(2){min-width:0}
.movement .lane-label small{margin:0 0 0 auto;font-size:8px;font-weight:400;letter-spacing:0;color:var(--muted);white-space:nowrap;flex:none;opacity:.7}
.movement .lane canvas{height:84px;flex:1;width:100%;min-height:0;display:block}
.movement .lane.no-data{background:transparent}
.movement .lane-empty{color:var(--muted);font-size:10px;display:flex;align-items:center;justify-content:center;flex:1;line-height:1.8;text-align:center;padding:5px 20px}
.movement .panel-foot{display:flex;justify-content:space-between;gap:6px;min-height:29px;flex:none;border-top:0;font-size:8px;padding:4px 9px}
.movement .panel-foot #reset-focus{margin-left:auto;font-size:8px}
.movement .lane.lane-selected{box-shadow:none}
@media(min-width:1650px){.movement .lanes{height:660px}.movement .lane-label{font-size:15px}.movement .sector-mark,.movement .sector-mark svg{width:21px;height:21px}.movement .lane-label small{font-size:9px}}
@media(max-width:1180px){.movement .lane{padding-left:4px;padding-right:3px;margin:0 5px}.movement .lane-label{font-size:12px;gap:6px}.movement .lane-label small{font-size:7px}.movement .sector-mark,.movement .sector-mark svg{width:17px;height:17px}}
@media(max-width:900px){.movement .lanes{height:594px}}
@media(max-width:560px){.movement .lanes{height:550px}.movement .lane-label{font-size:13px}.movement .lane-label small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.movement .lanes{scroll-behavior:auto}}


/* Approved single-column Sector Pulse: every sector fits in the panel. */
.workspace>.movement{height:611px;align-self:start;min-height:0}
.pulse-heading{padding:9px 10px 6px;flex:none}
.pulse-title{display:flex;align-items:center;gap:8px;white-space:nowrap}
.pulse-title h1{font-size:17px;font-weight:650;letter-spacing:.15px;color:var(--trajectory-cyan)}
#sector-total{border:1px solid #145273;border-radius:4px;color:var(--trajectory-cyan);font-size:8px;padding:2px 5px}
#sector-asof{margin-left:auto;font-size:9px;color:var(--trajectory-ticks)}
.pulse-summary{display:flex;gap:6px;align-items:center;margin:6px 0 4px;font-size:9px;white-space:nowrap}
.pulse-summary>span{padding:2px 6px;border:1px solid currentColor;border-radius:12px}
#sector-positive{color:var(--trajectory-green);background:color-mix(in srgb,var(--trajectory-green) 8%,transparent)}
#sector-negative{color:var(--trajectory-red);background:color-mix(in srgb,var(--trajectory-red) 8%,transparent)}
#sector-flat,#sector-missing{color:var(--muted)}
.pulse-heading>p{font-size:8px;line-height:1.5;color:var(--muted)}
.pulse-columns,.sector-row{display:grid;grid-template-columns:12px minmax(0,1fr) 23% 61px;align-items:center;column-gap:5px}
.pulse-columns{padding:3px 10px;font-size:8px;line-height:12px;color:#78a6c1;border-top:1px solid var(--trajectory-grid);border-bottom:1px solid var(--trajectory-grid);flex:none}
.pulse-columns>span:first-child{grid-column:1/3}.pulse-columns>span:last-child{text-align:right}
.movement .sector-overview{display:grid;grid-template-rows:repeat(var(--sector-count,34),minmax(0,1fr));flex:1;min-height:0;overflow:visible;margin:0 7px;padding:0}
.movement .sector-row{min-height:0;min-width:0;width:100%;height:auto;padding:0 3px;margin:0;border:0;border-bottom:1px solid var(--trajectory-grid);border-radius:0;white-space:nowrap;overflow:hidden;text-align:left;line-height:1;color:var(--trajectory-ticks);background:transparent;font-size:10px;transition:none;cursor:pointer}
.sector-row[data-condition=positive]{background:linear-gradient(90deg,color-mix(in srgb,var(--trajectory-green) 6%,transparent),transparent);color:var(--trajectory-green)}
.sector-row[data-condition=negative]{background:linear-gradient(90deg,color-mix(in srgb,var(--trajectory-red) 6%,transparent),transparent);color:var(--trajectory-red)}
.sector-row[data-condition=last-close]{border-top-color:#355363;color:var(--muted);background:linear-gradient(90deg,color-mix(in srgb,var(--trajectory-ticks) 5%,transparent),transparent)}
.sector-row[data-condition=last-close] .sector-name{color:var(--muted)}
.sector-row .sector-name{color:var(--text);font-size:10px;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.15px;line-height:1.15}
.sector-direction{font-size:7px;line-height:1;text-align:center}
.sector-return{font-size:10px;font-weight:650;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.15px}
.sector-row[data-condition=missing] .sector-return{font-size:8px;font-weight:500;color:var(--muted)}
.sector-spark{width:100%;height:100%;max-height:19px;min-height:0;display:block}
.sector-trend{display:flex;align-items:center;height:100%;min-width:0;gap:3px}
.sector-trend .sector-spark{flex:1;width:calc(100% - 10px);min-width:0}
.sector-trend-kind{font-size:6px;line-height:1;color:var(--muted);flex:none;width:7px}
.movement .sector-row:hover,.movement .sector-row:focus-visible,.movement .sector-row.sector-active{background:color-mix(in srgb,var(--trajectory-cyan) 10%,transparent);box-shadow:inset 2px 0 var(--trajectory-cyan);color:var(--trajectory-cyan)}
.movement .sector-row:focus-visible{outline:1px solid var(--trajectory-cyan);outline-offset:-1px}
.pulse-footer{flex:none;padding:5px 10px;font-size:7px;color:var(--muted);line-height:1.5}
.pulse-footer>div{display:flex;justify-content:space-between;gap:5px}.pulse-footer>p{font-size:7px}
#sector-dialog{width:min(900px,95vw)}
#sector-dialog>p{font-size:10px;margin-bottom:12px}
#sector-dialog .sector-detail{height:auto;margin:0 0 12px;border:1px solid var(--line);border-radius:5px}
#sector-dialog .lanes{height:300px;overflow:hidden}
#sector-dialog .lane{height:300px;min-height:300px}
#sector-dialog .lane canvas{height:250px}
#sector-detail-filter{margin-left:8px;color:var(--cyan)}
@media(min-width:1650px){.workspace>.movement{height:693px}.pulse-title h1{font-size:20px}.pulse-heading{padding:10px 12px 7px}.pulse-summary{font-size:10px}.pulse-heading>p{font-size:9px}.sector-row .sector-name,.sector-return{font-size:11px}.pulse-columns{font-size:9px}.pulse-footer,.pulse-footer>p{font-size:8px}}
@media(max-width:1180px) and (min-width:901px){.pulse-title h1{font-size:14px}.pulse-title{gap:5px}#sector-asof{font-size:7px}.pulse-summary{font-size:8px;gap:4px}.pulse-summary>span{padding:2px 4px}.pulse-columns,.sector-row{grid-template-columns:9px minmax(0,1fr) 18% 49px;column-gap:3px}.sector-row .sector-name,.sector-return{font-size:8px}.pulse-footer,.pulse-footer>p{font-size:6px}}
@media(max-width:900px){.workspace>.movement{height:625px}.pulse-title h1{font-size:15px}#sector-asof{font-size:8px}.pulse-summary{font-size:8px;gap:4px}.pulse-summary>span{padding:2px 4px}.pulse-columns,.sector-row{grid-template-columns:9px minmax(0,1fr) 18% 51px;column-gap:3px}.sector-row .sector-name,.sector-return{font-size:9px}}
@media(max-width:560px){.workspace>.movement{height:625px}.pulse-title h1{font-size:17px}.pulse-columns,.sector-row{grid-template-columns:10px minmax(0,1fr) 21% 52px}.sector-row .sector-name,.sector-return{font-size:9px}.pulse-footer,.pulse-footer>p{font-size:7px}}
@media(max-width:360px){.pulse-title h1{font-size:15px}.pulse-title{gap:5px}#sector-asof{font-size:7px}.sector-row .sector-name{font-size:8px}.pulse-columns,.sector-row{grid-template-columns:8px minmax(0,1fr) 17% 47px}}

/* Compact sector change column: one third of the previous desktop width. */
@media(min-width:1181px){.workspace{grid-template-columns:minmax(150px,.373333fr) minmax(0,1.966667fr) minmax(0,.82fr)}}
@media(min-width:901px) and (max-width:1180px){.workspace{grid-template-columns:150px minmax(0,1.95fr) minmax(0,.74fr)}}
@media(min-width:561px) and (max-width:900px){.workspace{grid-template-columns:170px minmax(0,1fr)}}
.workspace>.movement .pulse-columns,.workspace>.movement .sector-row{grid-template-columns:8px minmax(0,1fr) 45px;column-gap:3px}
.workspace>.movement .pulse-columns{padding:3px 6px;font-size:7px}
.workspace>.movement .sector-overview{margin:0 3px}
.workspace>.movement .sector-name{font-size:9px}
.workspace>.movement .sector-return{font-size:9px}
.workspace>.movement .sector-row[data-condition=missing] .sector-return{font-size:7px}
.workspace>.movement .pulse-heading{padding:8px 6px 5px}
.workspace>.movement .pulse-title{flex-wrap:wrap;gap:4px}
.workspace>.movement .pulse-title h1{font-size:12px}
.workspace>.movement #sector-total{font-size:7px;padding:1px 3px}
.workspace>.movement #sector-asof{font-size:8px;margin-left:0;flex-basis:100%}
.workspace>.movement .pulse-summary{flex-wrap:wrap;white-space:normal;font-size:8px;gap:3px}
.workspace>.movement .pulse-summary>span{padding:2px 4px}
.workspace>.movement .pulse-heading>p{font-size:7px}
.workspace>.movement .pulse-footer{padding:5px 6px;font-size:7px}
.workspace>.movement .pulse-footer>div{flex-wrap:wrap}
@media(max-width:560px){.workspace>.movement .pulse-title h1{font-size:16px}.workspace>.movement #sector-asof{flex-basis:auto;margin-left:auto}.workspace>.movement .sector-name,.workspace>.movement .sector-return{font-size:10px}.workspace>.movement .pulse-columns,.workspace>.movement .sector-row{grid-template-columns:10px minmax(0,1fr) 58px}}
/* Midnight Teal Glass override for Sector Pulse. */
body[data-theme=dark] .movement{--trajectory-bg:rgba(6,31,41,.74);--trajectory-row:rgba(12,53,63,.38);--trajectory-grid:rgba(111,205,207,.20);--trajectory-zero:rgba(154,213,216,.38);--trajectory-ticks:#d5eeee;--trajectory-cyan:#63e1e7;--trajectory-green:#37e29b;--trajectory-red:#ff6679;--trajectory-purple:#b5d9df;--trajectory-label-ink:#06212b;background:linear-gradient(135deg,rgba(58,182,177,.13),transparent 52%),rgba(5,29,39,.70);border-color:rgba(107,212,210,.30);box-shadow:inset 0 1px rgba(231,255,255,.075),0 16px 44px rgba(0,9,16,.22);backdrop-filter:blur(12px)}
body[data-theme=dark] .movement .lane,body[data-theme=dark] .movement .sector-row{border-color:rgba(111,205,207,.18)}
body[data-theme=dark] .movement .sector-row:hover,body[data-theme=dark] .movement .sector-row:focus-visible,body[data-theme=dark] .movement .sector-row.sector-active{background:rgba(87,220,220,.11);box-shadow:inset 2px 0 #70e9e8;color:#99ffff}
