/* NHIP V2.9 — Trade workspace layout refinement.
   Presentation-only overrides; do not alter quote/order/account business logic. */
:root{--v29-gap:8px}
.tp{gap:8px;min-width:0}
.tp-head{grid-template-columns:minmax(125px,175px) minmax(105px,145px) minmax(0,1fr) auto;gap:8px 14px;padding:9px 11px;border-radius:9px}
.tp-pick select{min-height:32px;padding:4px 8px;border-radius:7px;font-size:13px}
.tp-id small{font-size:10.5px}
.tp-px b{font-size:24px}
.tp-px span{font-size:11.5px}
.tp-stats{gap:5px 9px;padding-left:12px}
.tp-stats dt{font-size:9px;letter-spacing:.025em}
.tp-stats dd{font-size:12px}
.tp-act{gap:5px}
.tp-star{min-height:31px;padding:4px 8px;border-radius:7px;font-size:11px}
.tp-b,.tp-s{min-width:60px;min-height:32px;border-radius:7px;font-size:12px}
.tp-body{grid-template-columns:minmax(165px,195px) minmax(0,1fr) minmax(265px,305px);gap:8px}
.tp-wl{padding:7px;top:8px;max-height:calc(100dvh - 16px)}
.tp-wt{margin-bottom:5px}
.tp-wt button{min-height:26px;font-size:11px}
.tp-wr{min-height:29px;padding:3px 5px;gap:5px;font-size:11px;border-radius:6px}
.tp-wr span:last-child{min-width:48px}
.tp-mid{gap:8px}
.tp-chart,.tp-info,.tp-ticket{padding:9px 10px;border-radius:9px}
.tp-tools{gap:6px;margin-bottom:4px}
.tp-rng,.tp-tabs{gap:1px;padding:2px;border-radius:7px}
.tp-rng button,.tp-tabs button{min-width:29px;min-height:25px;padding:0 7px;border-radius:5px;font-size:10.5px}
.tp-ref{width:28px;height:28px;border-radius:7px}
.tp-chart .trade-chart{height:clamp(285px,42vh,390px);min-height:260px}
.tp-foot{font-size:10px;line-height:1.35}
.tp-th{margin-bottom:7px;font-size:12.5px}
.tp-ticket{top:8px;max-height:calc(100dvh - 16px)}
.tp-ticket .tr-side button{min-height:36px;font-size:13px}
.tp-ticket .tr-go{min-height:39px;font-size:13px}
.tp-acct{gap:4px;margin-bottom:7px}
.tp-acct div{padding:5px 6px;border-radius:7px}
.tp-acct span{font-size:9px}
.tp-acct b{font-size:11px}
.tp-ig{gap:4px 12px}
.tp-ig div{padding:5px 0;font-size:11px}
.tp-t{font-size:11px}
.tp-t th{padding:5px 6px;font-size:10px}
.tp-t td{padding:6px}
/* Keep the chart as the primary workspace while giving the order ticket enough room. */
@media(min-width:1500px){.tp-body{grid-template-columns:205px minmax(0,1fr) 315px}.tp-chart .trade-chart{height:clamp(320px,44vh,430px)}}
@media(max-width:1280px) and (min-width:1101px){.tp-body{grid-template-columns:155px minmax(0,1fr) 270px}.tp-head{grid-template-columns:145px 115px minmax(0,1fr);gap:8px}.tp-stats{grid-column:1/-1;grid-row:2;padding:7px 0 0;border-left:0;border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr))}.tp-act{grid-column:1/-1;justify-self:end}}
@media(max-width:1100px){.tp-body{grid-template-columns:minmax(0,1fr) 300px;gap:8px}.tp-wl{grid-column:1/-1;max-height:none;padding:6px}.tp-wlist{gap:4px}.tp-wr{min-width:112px}.tp-chart .trade-chart{height:340px}}
@media(max-width:900px){.tp-head{gap:8px;padding:9px}.tp-stats{gap:5px}.tp-stats dt{font-size:9px}.tp-stats dd{font-size:11.5px}.tp-body{grid-template-columns:minmax(0,1fr)}.tp-chart .trade-chart{height:clamp(250px,42vh,330px);min-height:230px}.tp-ticket{max-height:none}.tp-seg button{min-height:36px;font-size:12px}}
@media(max-width:540px){.tp-head{padding:8px;grid-template-columns:minmax(0,1fr) auto}.tp-px b{font-size:23px}.tp-stats{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:7px}.tp-stats dt{font-size:8px}.tp-stats dd{font-size:10.5px}.tp-act{gap:5px}.tp-star{min-height:32px}.tp-b,.tp-s{min-height:34px}.tp-chart,.tp-info,.tp-ticket{padding:8px}.tp-chart .trade-chart{height:280px;min-height:230px}.tp-rng button{min-width:0;padding-inline:5px;font-size:10px}.tp-ticket .tr-go{min-height:42px}}
@media(max-width:360px){.tp-stats dt{letter-spacing:-.02em}.tp-stats dd{font-size:9.5px}.tp-px b{font-size:21px}.tp-chart .trade-chart{height:245px}}
