/* Historical paper desk only: an operate-first, no-page-scroll workstation. */
body.paper-desk{height:100dvh;overflow:hidden}
body.paper-desk #app-view{height:100dvh;overflow:hidden}
body.paper-desk #app-view[hidden]{display:none!important}
body.paper-desk .desk-main{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body.paper-desk .topbar{height:38px;min-height:38px;padding:0 18px}
body.paper-desk .desk-title{flex:none;margin:6px 12px 4px;padding:0 0 5px;max-width:none}
body.paper-desk .desk-title .eyebrow{display:none}
body.paper-desk .desk-title h1{font-size:18px;margin:0 0 2px}
body.paper-desk .desk-title p:last-child{font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.paper-desk .desk-controls{flex:none;display:flex;flex-wrap:nowrap;gap:5px;margin:0 12px 3px;padding:2px 0 4px;align-items:end;min-height:57px}
body.paper-desk .desk-controls button,body.paper-desk .desk-controls select,body.paper-desk .desk-controls input{min-height:34px;height:34px;padding:5px 7px;font-size:11px}
body.paper-desk .desk-controls label{min-width:0;flex:none;font-size:10px;gap:2px}
body.paper-desk .desk-date-control{width:148px}
body.paper-desk #desk-start{max-width:116px;white-space:normal;line-height:1}
body.paper-desk #desk-next{max-width:92px;white-space:normal;line-height:1}
body.paper-desk .desk-controls label:has(#desk-speed){width:104px}
body.paper-desk .desk-controls label:has(#desk-sessions){flex:1;min-width:100px;max-width:190px}
body.paper-desk .desk-controls label:has(#desk-jump-time){width:102px}
body.paper-desk #desk-jump{max-width:75px;white-space:normal;line-height:1}
body.paper-desk #desk-clock{flex:0 0 100%;min-height:0;height:0;overflow:hidden}
body.paper-desk #desk-date-status{flex:none;margin:0 12px 3px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.paper-desk .desk-status-strip{display:grid;grid-template-columns:1fr 1fr;gap:5px;flex:none;margin:0 12px 5px;min-height:32px}
body.paper-desk .desk-status-strip .desk-live-position{margin:0;padding:6px 9px;min-width:0;font-size:10px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.paper-desk .desk-status-strip .desk-option-moneyness{grid-column:1/-1;border:1px solid var(--line);border-radius:5px;padding:5px 9px;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
body.paper-desk .desk-status-strip .desk-option-moneyness[hidden]{display:none}
body.paper-desk .desk-option-moneyness[data-state=itm]{border-color:var(--green);font-weight:700}
body.paper-desk .desk-layout{flex:1;min-height:0;margin:0 12px 10px;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,350px);grid-template-rows:34px minmax(0,1fr);gap:0 8px;overflow:hidden;align-items:stretch}
body.paper-desk .desk-layout>.chart-panel{grid-column:1;grid-row:1 / span 2;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:10px}
body.paper-desk .desk-layout>.ticket-panel{grid-column:2;grid-row:2;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:9px}
body.paper-desk .desk-layout>.desk-workspace-tabs{grid-column:2;grid-row:1;display:flex;align-items:stretch;gap:3px;min-width:0}
body.paper-desk .desk-workspace-tabs button{flex:1;min-width:0;border:1px solid var(--line);border-bottom:0;border-radius:6px 6px 0 0;background:var(--soft);color:var(--muted);font:600 11px inherit;cursor:pointer}
body.paper-desk .desk-workspace-tabs button[aria-pressed=true]{background:var(--surface);color:var(--green);border-color:var(--green)}
body.paper-desk .desk-workspace-tabs [data-desk-tab=chart]{display:none}
body.paper-desk .chart-panel .desk-section-heading{flex:none;gap:8px;align-items:center}
body.paper-desk .chart-panel .desk-section-heading>div{display:flex;align-items:center;flex-wrap:wrap;gap:3px 10px}
body.paper-desk .chart-panel .desk-section-heading h2{margin:0;white-space:nowrap}
body.paper-desk .chart-panel .desk-chart-selectors{display:flex;gap:6px;margin:0}
body.paper-desk .chart-panel .desk-chart-selectors label{display:flex;align-items:center;gap:4px;font-size:10px}
body.paper-desk .chart-panel .desk-chart-selectors select{min-height:30px;height:30px;max-width:180px;font-size:11px}
body.paper-desk .chart-panel #desk-chart-detail{flex:1 1 100%;margin:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.paper-desk .chart-panel #desk-ohlc{font-size:10px}
body.paper-desk .chart-panel .desk-preview{flex:none;min-height:16px;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.paper-desk .chart-panel .desk-tools{flex:none;margin:3px 0;border:1px solid var(--line);border-radius:5px}
body.paper-desk .chart-panel .desk-tools summary{padding:5px 8px;cursor:pointer;font-size:11px;font-weight:650;color:var(--ink);min-height:28px}
body.paper-desk .chart-panel .desk-tools[open]{position:relative;z-index:2}
body.paper-desk .chart-panel .desk-tools .desk-drawing-controls{margin:0;padding:5px;gap:4px}
body.paper-desk .chart-panel .desk-tools .desk-drawing-controls input,body.paper-desk .chart-panel .desk-tools .desk-drawing-controls select,body.paper-desk .chart-panel .desk-tools .desk-drawing-controls button{min-height:30px;height:30px;padding:3px 5px;font-size:10px}
body.paper-desk .chart-panel .desk-tools .desk-range-toggle input{height:16px;min-height:0}
body.paper-desk .chart-panel #desk-candle-progress{position:relative;flex:none;min-height:21px;margin:2px 0 1px;padding:3px 7px 5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:4px;background:var(--surface)}
body.paper-desk .chart-panel #desk-candle-progress::after{content:'';position:absolute;left:0;bottom:0;width:var(--candle-fraction,0%);height:2px;background:var(--green);transition:width .25s ease-out}
@media(prefers-reduced-motion:reduce){body.paper-desk .chart-panel #desk-candle-progress::after{transition:none}}
body.paper-desk .chart-panel .spy-chart{flex:1;min-height:0;height:auto;max-height:none}
body.paper-desk .chart-panel .desk-chart-footer{flex:none;margin-top:4px;font-size:10px;min-height:34px}
body.paper-desk .chart-panel .desk-chart-footer>span{max-width:185px;line-height:1.2}
body.paper-desk .chart-panel .desk-chart-actions button{min-height:32px;padding:3px 7px;font-size:10px}
body.paper-desk .ticket-panel>.eyebrow{display:none}
body.paper-desk .ticket-panel>h2{flex:none;margin:0 0 4px;font-size:14px}
body.paper-desk .ticket-panel>#desk-contract-info{flex:none;margin:0 0 5px;padding:5px 6px;border:1px solid var(--line);border-radius:4px;font-size:10px;line-height:1.25;max-height:40px;overflow:hidden}
body.paper-desk .desk-rail-pane{flex:1;min-height:0;overflow:hidden}
body.paper-desk .desk-rail-pane[hidden]{display:none!important}
body.paper-desk [data-pane=trade]{display:flex;flex-direction:column;gap:5px}
body.paper-desk [data-pane=trade] .desk-position{margin:0;padding:6px;font-size:10px;line-height:1.3;max-height:64px;overflow:hidden}
body.paper-desk [data-pane=trade] #desk-funds{display:none}
body.paper-desk [data-pane=trade] #desk-evidence{font-size:10px;line-height:1.2;max-height:26px;overflow:hidden;margin:0}
body.paper-desk [data-pane=trade] label{margin:0;gap:2px;font-size:10px}
body.paper-desk [data-pane=trade] label input{min-height:32px;height:32px;padding:4px 8px}
body.paper-desk [data-pane=trade] button{min-height:32px;padding:4px 7px;font-size:11px}
body.paper-desk [data-pane=trade] .desk-add-row{display:flex;align-items:end;gap:5px;flex:none}
body.paper-desk [data-pane=trade] .desk-add-row[hidden]{display:none}
body.paper-desk [data-pane=trade] .desk-add-row label{flex:1;min-width:0}
body.paper-desk [data-pane=trade] .desk-add-row input{width:100%}
body.paper-desk [data-pane=trade] .desk-add-row button{flex:1}
body.paper-desk [data-pane=trade] #desk-exit-all[hidden]{display:none}
body.paper-desk [data-pane=trade] #desk-exit-all{border-color:var(--green);font-weight:700}
body.paper-desk [data-pane=trade] #desk-order-feedback{margin:0;padding:5px;font-size:10px;line-height:1.2;max-height:40px;overflow:hidden}
body.paper-desk [data-pane=trade] #desk-status{min-height:0;font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.paper-desk [data-pane=trade] .desk-warning{margin-top:auto;padding-top:3px;font-size:9px;line-height:1.2;max-height:23px;overflow:hidden}
body.paper-desk .desk-advanced{flex:none;border:1px solid var(--line);border-radius:4px;padding:4px 7px;font-size:10px}
body.paper-desk .desk-advanced summary{cursor:pointer;font-weight:650}
body.paper-desk .desk-advanced[open]{max-height:155px;overflow:hidden}
body.paper-desk [data-pane=contracts]{display:flex;flex-direction:column;gap:7px}
body.paper-desk .desk-rail-filters{display:grid;grid-template-columns:1fr 1fr;gap:5px}
body.paper-desk .desk-rail-filters label{display:grid;margin:0;gap:2px;font-size:10px}
body.paper-desk .desk-rail-filters select{width:100%;min-height:32px;height:32px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font-size:11px}
body.paper-desk [data-pane=contracts] .desk-chain{min-height:0;overflow:hidden;padding:4px}
body.paper-desk [data-pane=contracts] .desk-chain-columns{grid-template-columns:1fr;gap:3px}
body.paper-desk [data-pane=contracts] .desk-chain h2{font-size:12px}
body.paper-desk [data-pane=contracts] .desk-chain h3{font-size:10px;margin:0}
body.paper-desk [data-pane=contracts] .desk-chain .desk-section-heading p,body.paper-desk [data-pane=contracts] #desk-chain-note{display:none}
body.paper-desk [data-pane=contracts] .desk-option-row{padding:4px;font-size:10px;gap:1px}
body.paper-desk [data-pane=contracts] .desk-option-row span:nth-of-type(1){font-size:10px}
body.paper-desk [data-pane=journal]{display:flex;flex-direction:column;gap:6px}
body.paper-desk [data-pane=journal] h3{margin:0;font-size:12px}
body.paper-desk [data-pane=journal] .desk-position{margin:0;font-size:10px;padding:6px;line-height:1.35;white-space:pre-line;overflow:hidden}
body.paper-desk [data-pane=journal] #desk-orders{flex:1;max-height:none}
body.paper-desk [data-pane=journal] #desk-trades{flex:1;min-height:0}
body.paper-desk [data-pane=journal] .desk-journal-account{flex:none;max-height:66px;line-height:1.25;overflow:hidden}
body.paper-desk .desk-ledger-pager{display:flex;justify-content:space-between;align-items:center;gap:6px;flex:none;font-size:10px}
body.paper-desk .desk-ledger-pager[hidden]{display:none}
body.paper-desk .desk-ledger-pager button{border:1px solid var(--line);border-radius:4px;background:var(--surface);padding:3px 9px;min-height:30px;font-size:10px}
@media(max-width:1000px){body.paper-desk .desk-layout{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:800px){
 body.paper-desk #app-view{display:flex;flex-direction:column}
 body.paper-desk .sidebar{flex:none;max-height:90px;overflow:hidden}
 body.paper-desk .desk-main{height:auto;flex:1;min-height:0}
 body.paper-desk .topbar,body.paper-desk .desk-title p:last-child{display:none}
 body.paper-desk .desk-title{margin:2px 8px;padding:0}
 body.paper-desk .desk-title h1{font-size:15px;margin:0}
 body.paper-desk .desk-controls{display:grid;grid-template-columns:1fr auto auto auto;gap:3px;margin:0 8px;padding:2px 0;min-height:0}
 body.paper-desk .desk-date-control{width:100%;grid-column:1}
 body.paper-desk #desk-next,body.paper-desk #desk-play{grid-column:auto;max-width:none}
 body.paper-desk .desk-controls label:has(#desk-speed){width:85px;grid-column:4;grid-row:1}
 body.paper-desk #desk-start{grid-column:1;grid-row:2;max-width:none}
 body.paper-desk .desk-controls label:has(#desk-sessions){grid-column:2 / span 2;grid-row:2;max-width:none;min-width:90px;width:auto}
 body.paper-desk .desk-controls label:has(#desk-jump-time){grid-column:1 / span 2;grid-row:3;width:auto}
 body.paper-desk #desk-jump{grid-column:3 / span 2;grid-row:3;max-width:none}
 body.paper-desk #desk-clock{display:none}
 body.paper-desk #desk-date-status{margin:0 8px 2px}
 body.paper-desk .desk-status-strip{grid-template-columns:1fr;margin:0 8px 3px;min-height:0}
 body.paper-desk .desk-status-strip #desk-live-position{display:none}
 body.paper-desk .desk-layout{margin:0 8px 5px;grid-template-columns:minmax(0,1fr);grid-template-rows:34px minmax(0,1fr);gap:0}
 body.paper-desk .desk-layout>.desk-workspace-tabs{grid-column:1;grid-row:1}
 body.paper-desk .desk-workspace-tabs [data-desk-tab=chart]{display:block}
 body.paper-desk .desk-layout>.chart-panel{grid-column:1;grid-row:2}
 body.paper-desk .desk-layout>.ticket-panel{grid-column:1;grid-row:2}
 body.paper-desk .desk-layout:not([data-view=chart])>.chart-panel{display:none}
 body.paper-desk .desk-layout[data-view=chart]>.ticket-panel{display:none}
 body.paper-desk .chart-panel .desk-section-heading{flex-wrap:wrap}
 body.paper-desk .chart-panel .desk-section-heading>div{display:flex;min-width:0}
 body.paper-desk .chart-panel #desk-ohlc{white-space:nowrap}
 body.paper-desk .chart-panel .desk-chart-footer>span{display:none}
 body.paper-desk .chart-panel .desk-chart-actions{width:100%;justify-content:space-between}
}
@media(max-height:680px){body.paper-desk .desk-title p:last-child{display:none}body.paper-desk [data-pane=trade] #desk-evidence{display:none}body.paper-desk [data-pane=trade] .desk-warning{display:none}}
/* Readable action hierarchy and truly usable narrow viewports. */
body.paper-desk .desk-mobile-menu{display:none}
body.paper-desk .desk-workspace-tabs button{font-size:11px;font-weight:650;font-family:inherit}
body.paper-desk #desk-start{min-width:92px}
body.paper-desk #desk-next{min-width:88px}
body.paper-desk #desk-play{min-width:48px}
body.paper-desk [data-pane=trade] #desk-evidence,body.paper-desk [data-pane=trade] .desk-warning{display:none}
body.paper-desk [data-pane=trade] .desk-position{flex:none}
body.paper-desk [data-pane=trade] #desk-account{max-height:55px;font-size:10px;line-height:1.25;margin:0;padding:6px;overflow:hidden}
body.paper-desk [data-pane=trade] #desk-position{max-height:45px}
body.paper-desk [data-pane=trade] #desk-status{margin:0}
body.paper-desk .desk-advanced{order:8}
body.paper-desk .ticket-panel>#desk-contract-info{max-height:65px}
body.paper-desk [data-pane=trade] #desk-position{max-height:112px;white-space:pre-line}
body.paper-desk:has(#desk-live-position[data-position=open]) [data-pane=trade] label:has(#desk-qty),
body.paper-desk:has(#desk-live-position[data-position=open]) [data-pane=trade] .desk-side-buttons{display:none}
body.paper-desk:has(#desk-live-position[data-position=open]) .ticket-panel>#desk-contract-info{display:none}
@media(max-width:800px){
 body.paper-desk .sidebar{height:46px;max-height:46px;min-height:46px;padding:3px 8px;position:relative;overflow:visible;z-index:20}
 body.paper-desk .sidebar .brand{max-height:40px;min-width:0}
 body.paper-desk .sidebar .brand img{max-height:32px;max-width:72px}
 body.paper-desk .sidebar .brand small{display:none}
 body.paper-desk .desk-mobile-menu{display:block;margin-left:auto;min-height:36px;padding:4px 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:12px}
 body.paper-desk .sidebar nav,body.paper-desk .sidebar .user-row,body.paper-desk .sidebar .nav-label,body.paper-desk .sidebar .side-bottom{display:none!important}
 body.paper-desk .sidebar.desk-nav-open nav{display:grid!important;position:absolute;left:0;right:0;top:45px;margin:0;padding:8px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 18px #0003;z-index:22;grid-template-columns:1fr 1fr}
 body.paper-desk .sidebar.desk-nav-open .user-row{display:flex!important;position:absolute;right:8px;top:309px;background:var(--surface);z-index:23;padding:4px}
 body.paper-desk .sidebar nav .nav{font-size:11px;padding:7px;min-height:36px;white-space:normal}
 body.paper-desk .desk-controls{grid-template-columns:1.1fr 1.1fr 1fr .9fr;grid-template-rows:36px 36px;gap:3px;min-height:75px;max-height:75px;align-items:center}
 body.paper-desk .desk-controls .desk-control-label,body.paper-desk .desk-controls label{font-size:0}
 body.paper-desk .desk-date-control{grid-column:1;grid-row:1;align-self:center}
 body.paper-desk #desk-next{grid-column:2;grid-row:1;min-width:0}
 body.paper-desk #desk-play{grid-column:3;grid-row:1;min-width:0}
 body.paper-desk .desk-controls label:has(#desk-speed){grid-column:4;grid-row:1;width:auto}
 body.paper-desk #desk-start{grid-column:1;grid-row:2;min-width:0}
 body.paper-desk .desk-controls label:has(#desk-sessions){grid-column:2;grid-row:2;width:auto;min-width:0}
 body.paper-desk .desk-controls label:has(#desk-jump-time){grid-column:3;grid-row:2;width:auto}
 body.paper-desk #desk-jump{grid-column:4;grid-row:2;min-width:0}
 body.paper-desk .desk-controls button,body.paper-desk .desk-controls select,body.paper-desk .desk-controls input{min-height:36px;height:36px;width:100%;font-size:10px;line-height:1}
 body.paper-desk #desk-next,body.paper-desk #desk-start,body.paper-desk #desk-jump{font-size:0}
 body.paper-desk #desk-next::after{content:'Step';font-size:11px}
 body.paper-desk #desk-start::after{content:'New';font-size:11px}
 body.paper-desk #desk-jump::after{content:'Go';font-size:11px}
 body.paper-desk #desk-date-trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body.paper-desk #desk-date-status{display:none}
 body.paper-desk .desk-status-strip{margin-top:2px}
 body.paper-desk .chart-panel .desk-section-heading>div{gap:2px 4px}
 body.paper-desk .chart-panel .desk-section-heading h2{font-size:12px}
 body.paper-desk .chart-panel #desk-chart-detail,body.paper-desk .chart-panel #desk-preview{display:none}
 body.paper-desk .chart-panel #desk-ohlc{font-size:9px}
 body.paper-desk .chart-panel .desk-chart-selectors select{min-height:28px;height:28px}
 body.paper-desk .chart-panel .desk-chart-footer{min-height:32px}
 body.paper-desk .chart-panel .desk-chart-actions{flex-wrap:nowrap;gap:3px}
 body.paper-desk .chart-panel .desk-chart-actions button{min-width:0;flex:1;padding:2px;font-size:8px;white-space:normal;line-height:1.1}
 body.paper-desk [data-pane=trade] #desk-account{display:none}
 body.paper-desk [data-pane=trade] #desk-position{max-height:115px}
 body.paper-desk [data-pane=trade] #desk-order-feedback{max-height:30px}
 body.paper-desk [data-pane=trade] .desk-advanced{margin-top:auto}
}
@media(max-width:800px){
 body.paper-desk .desk-controls{grid-template-rows:44px 44px;min-height:91px;max-height:91px}
 body.paper-desk .desk-controls button,body.paper-desk .desk-controls select,body.paper-desk .desk-controls input{min-height:44px;height:44px}
 body.paper-desk .desk-workspace-tabs{min-height:44px}
 body.paper-desk .desk-layout{grid-template-rows:44px minmax(0,1fr)}
 body.paper-desk .desk-workspace-tabs button{font-size:11px}
 body.paper-desk .chart-panel .desk-chart-selectors{flex:1}
 body.paper-desk .chart-panel .desk-chart-selectors{width:100%;flex:0 0 100%;justify-content:flex-start}
 body.paper-desk .chart-panel .desk-chart-selectors label:has(#desk-chart-symbol){min-width:124px}
 body.paper-desk .chart-panel .desk-chart-selectors #desk-chart-symbol{min-width:96px}
 body.paper-desk .chart-panel .desk-chart-selectors label:has(#desk-interval){min-width:82px}
 body.paper-desk .chart-panel .desk-chart-selectors #desk-interval{min-width:66px}
 body.paper-desk .chart-panel .desk-chart-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}
 body.paper-desk .chart-panel .desk-chart-actions button{min-height:44px;font-size:10px}
 body.paper-desk .chart-panel .desk-chart-footer{min-height:91px}
}
