/* Compact Windows 90s workspace. Sizes respond to the viewport, not browser zoom. */
body.theme-31 #desktop #win-stocks {
  width: min(1240px, calc(100vw - 180px)) !important;
  height: min(720px, calc(100dvh - 66px)) !important;
}
body.theme-31 #desktop #win-stocks .market-body {
  display: grid !important; grid-template-rows: auto minmax(0, 1fr) auto auto;
  gap: 6px; padding: 8px !important; overflow: auto !important; font-size: 11px;
}
.stock-workspace { display: grid; grid-template-columns: minmax(245px, 30%) minmax(0, 1fr); gap: 10px; min-height: 0; }
.stock-sidebar { display: grid; grid-template-rows: auto auto minmax(0, 1fr); min-width: 0; min-height: 0; }
.stock-sidebar .market-toolbar { gap: 5px; padding: 3px 0; }
.stock-sidebar .market-toolbar label:first-child { flex: 1 0 100%; }
.stock-sidebar input { flex: 1; width: 0; }
.stock-sidebar .market-toolbar .ui-btn { padding: 3px 6px; min-height: 25px; font-size: 10px; }
.stock-sidebar select { padding: 3px; max-width: 98px; }
.stock-sidebar .stock-table-wrap { height: 100%; max-height: none; }
.stock-sidebar .finance-table { min-width: 0; width: 100%; table-layout: fixed; font-size: 11px; }
.stock-sidebar .finance-table th:first-child { width: 49%; }
.stock-sidebar .finance-table th:nth-child(2) { width: 28%; }
.stock-sidebar .finance-table th:last-child { width: 23%; }
.stock-sidebar .finance-table td, .stock-sidebar .finance-table th { min-width: 0; padding: 5px; white-space: normal; overflow-wrap: anywhere; }
.stock-sidebar .finance-table td:nth-child(2) { font-variant-numeric: tabular-nums; }
.stock-sidebar tr { cursor: pointer; }
.stock-name { display: block; font-size: 10px; white-space: normal; line-height: 1.25; margin-top: 2px; }
.stock-select { font-size: 11px; }
.stock-chart-panel { min-width: 0; min-height: 0; overflow: auto; background: #f2f4e6; border: 2px solid; border-color: #808080 #fff #fff #808080; padding: 8px; }
.stock-chart-panel .stock-chart-tools { margin: 0; padding: 0 0 6px; gap: 4px; font: 10px 'Courier New', monospace; color: #000080; }
.stock-chart-panel #stockDetail h2 { font: bold 14px 'Courier New', monospace; margin: 10px 0 4px; }
.stock-chart-panel .stock-price { font: bold 25px 'Courier New', monospace; color: #182914; margin: 4px 0; }
.stock-chart-panel .stock-chart { background: #f5f7e9; border: 0; margin: 8px 0 0; }
.stock-chart-panel .stock-chart svg { min-height: 225px; max-height: 355px; font-family: 'Courier New', monospace; }
.stock-chart-panel .stock-caption { font-size: 10px; line-height: 1.3; }
.stock-chart-panel .stock-chart .stock-caption { padding-left: 0; }
.stock-chart-panel .stock-change { color: #365a18; font: bold 12px 'Courier New', monospace; }
.stock-details { margin: 8px 0; }
.stock-details summary, .stock-source-details summary { cursor: pointer; }
.stock-details .finance-facts { margin: 6px 0; font-size: 10px; }
.stock-bottom-bar { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 3px; padding: 4px 6px; border: 1px solid; border-color: #888 #fff #fff #888; }
.stock-source-details { margin: 0; border: 0; font-size: 10px; }
body.theme-31 #desktop #win-main { width: min(620px, calc(100vw - 16px)) !important; height: min(530px, calc(100dvh - 72px)) !important; }
body.theme-31 #win-main .companion-left { grid-template-rows: 74px 58px 28px minmax(90px, 1fr) auto 33px auto !important; gap: 5px !important; }
body.theme-31 #win-main .chat-welcome { padding: 6px 115px 6px 8px !important; }
body.theme-31 #win-main .chat-welcome strong { font-size: 14px !important; }
body.theme-31 #win-main .chat-welcome span { font-size: 11px !important; }
body.theme-31 #win-main .agent-select-btn { padding: 2px 4px !important; }
body.theme-31 #win-main .agent-select-btn b { font-size: 11px !important; }
body.theme-31 #win-main .speech-option-row { font-size: 11px !important; gap: 6px 12px !important; }
body.theme-31 #win-main .chat-statusbar { font-size: 10px !important; }
body.theme-31 #win-main .chat-statusbar #chatStatus { flex: 1 !important; }
body.theme-31 #win-main .chat-history { font-size: 12px !important; }
body.theme-31 #desktop #win-portfolio { width: min(360px, calc(100vw - 16px)) !important; height: min(270px, calc(100dvh - 66px)) !important; }
body.theme-31 #win-portfolio .finance-body { height: calc(100% - 26px) !important; padding: 10px !important; font-size: 11px; }
#win-portfolio .finance-toolbar { gap: 4px; }
#win-portfolio .finance-toolbar .ui-btn { font: 11px Tahoma, sans-serif; padding: 4px 7px; }
#walletFeedback { flex-basis: 100%; font-size: 10px; }
.portfolio-network { color: #000080; font-weight: bold; }
.portfolio-balance-label { font-size: 11px; margin-bottom: 2px !important; }
.portfolio-balance { font: bold 23px 'Courier New', monospace; margin: 2px 0 8px !important; overflow-wrap: anywhere; }
.portfolio-note { font-size: 10px; color: #444; }
body.theme-31 #desktop #win-contract { width: min(360px, calc(100vw - 16px)) !important; height: min(220px, calc(100dvh - 66px)) !important; }
body.theme-31 #win-contract .contract-body { display: block !important; padding: 8px !important; }
body.theme-31 #win-contract .contract-icon { display: none !important; }
body.theme-31 #win-contract .contract-copy { width: 100% !important; }
body.theme-31 #win-contract .contract-copy p { font-size: 11px; margin: 4px 0; }
body.theme-31 #win-contract #contractCopied { font-size: 10px !important; }
body.theme-31 #win-contract #contractInput, body.theme-31 #win-contract #copyContract { height: 24px !important; min-height: 24px !important; padding: 3px 6px !important; margin: 3px 0 !important; }
body.theme-31 #taskWallet { flex: 0 0 auto; font: bold 11px Tahoma, sans-serif; padding: 3px 10px; height: 26px; white-space: nowrap; }
body.theme-31 #taskList { min-width: 0; overflow-x: auto; }
@media (max-width: 980px) {
  body.theme-31 #desktop #win-stocks { width: calc(100vw - 16px) !important; }
}
@media (max-width: 700px) {
  body.theme-31 #desktop #win-stocks .market-body { grid-template-rows: auto minmax(430px, 1fr) auto auto; }
  .stock-workspace { grid-template-columns: minmax(0, 1fr); grid-template-rows: 195px minmax(230px, auto); }
  .stock-sidebar .market-toolbar { flex-wrap: nowrap; }
  .stock-sidebar .market-toolbar label:first-child { flex: 1; }
  .stock-sidebar .market-toolbar label:nth-child(2) { display: none; }
  .stock-chart-panel { overflow: auto; }
  .stock-chart-panel .stock-chart svg { min-height: 155px; }
  body.theme-31 #win-main .companion-left { grid-template-rows: 86px 85px auto minmax(100px, 1fr) auto 33px auto !important; }
  body.theme-31 #desktop #win-main { height: min(650px, calc(100dvh - 66px)) !important; }
  body.theme-31 #taskWallet { font-size: 10px; padding: 3px 5px; }
  body.theme-31 #taskClock { min-width: 48px !important; width: 48px !important; font-size: 10px !important; }
}
@media (max-height: 560px) { body.theme-31 #win-main .companion-left { min-height: 440px !important; } }
