/* Market terminal, based on the supplied September 26 design reference. */
:root{--cyan:#20d9fa;--terminal-border:#124054}
.terminal-shell{background:#03121c;color:#d5eaf5;padding-left:84px}.terminal-shell .topbar{height:62px;background:#04141de8;border-bottom:1px solid #103548;padding:0 26px}.terminal-shell .main-nav{display:none}.terminal-shell .brand{font-size:19px}.terminal-shell .header-actions{margin-left:auto}.terminal-shell .hero{min-height:150px;background-position:center 44%;border:0}.terminal-shell .hero-content{padding:22px 28px;max-width:none}.terminal-shell .hero h1{font-size:38px;margin:9px 0}.terminal-shell .hero p{font-size:14px}.terminal-shell .hero-coordinate{display:none}.terminal-shell .hero-status{margin-top:12px}.terminal-rail{position:fixed;inset:0 auto 0 0;width:84px;background:#04151f;border-right:1px solid #135065;z-index:25;display:flex;flex-direction:column;align-items:stretch;gap:5px}.terminal-rail a,.terminal-rail button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:77px;color:#a5cfdf;font-size:11px;text-decoration:none}.terminal-rail a:hover,.terminal-rail button:hover{background:#0b2d3c;color:var(--cyan)}.terminal-rail svg{width:23px;height:23px}.terminal-rail .rail-brand{font-size:42px;color:var(--cyan);height:74px}.terminal-rail [aria-current="page"]{border-left:3px solid var(--cyan);background:linear-gradient(90deg,#0a3447,transparent);color:#ecfbff}.terminal-metrics{display:flex;align-items:center;gap:28px;margin-left:40px;align-self:center}.terminal-metrics div{padding-left:24px;border-left:1px solid #144257;display:grid;gap:8px}.terminal-metrics strong{font-size:24px;color:#fff}.terminal-metrics span{font-size:12px;color:#91bed3}.terminal-shell .data-status-bar{padding:10px 28px;gap:30px;background:#041720;border-color:#103443}.terminal-shell .workspace{padding:18px 24px 32px;max-width:2000px;margin:auto}.terminal-shell .section-heading{display:none}.terminal-shell .market-layout{grid-template-columns:minmax(0,1.45fr) minmax(360px,1fr);gap:18px;align-items:start}.terminal-shell .market-sidebar{display:none}.terminal-shell .filters{position:static;background:linear-gradient(135deg,#061e2b,#03141e);border:1px solid var(--terminal-border);border-radius:12px;padding:16px;gap:10px}.terminal-shell .search-field{flex:1 1 230px}.terminal-shell .select-field{flex:1 1 140px;max-width:none}.terminal-shell .select-field select{max-width:100%}.terminal-shell .location-filter{display:flex}.terminal-shell .search-field,.terminal-shell .select-field,.terminal-shell .quantity-field{background:#041925;border-color:#123a4e}.terminal-shell .capability-filters{gap:8px;padding-top:10px}.terminal-shell .capability-filters legend{font-size:12px;color:#9ccce0}.terminal-shell .capability-filters label{border:1px solid #166781;border-radius:8px;padding:8px 10px;background:#062332;font-size:11px;flex:1 0 auto;justify-content:center}.terminal-shell .capability-filters input{width:14px;height:14px}.terminal-shell .capability-filters small{font-size:10px;line-height:1.6;color:#83a6b8}.terminal-shell .table-toolbar{margin-top:18px;border-bottom:1px solid #164252;flex-wrap:wrap;gap:10px}.terminal-shell .market-tabs button{padding:15px 12px}.terminal-shell .market-tabs .active{background:linear-gradient(0deg,#073449,transparent);border-bottom:3px solid #66eaff}.terminal-hint{font-size:12px;color:#6fd9ef;margin:16px 3px}.terminal-shell .table-container{border-color:#164252;border-radius:10px;background:#031620;min-height:200px;overflow-x:auto}.terminal-shell .market-table th{font-size:9px;color:#a3cfe4;letter-spacing:.8px;background:#052030}.terminal-shell .market-table td{border-color:#103243;padding:14px 10px;height:80px}.terminal-shell .market-table tr:hover{background:#073046}.terminal-shell .place-name a{color:#24d9fa}.terminal-shell .sell-place .place-name a{color:#ffb765}.terminal-shell .place-name,.terminal-shell .place-sub{max-width:160px;white-space:normal}.terminal-shell .place-sub a{color:#99bed1}.terminal-shell .row-actions{display:flex;align-items:center;gap:7px}.row-watch{display:inline-flex;align-items:center;justify-content:center;width:30px;height:32px;flex:none;color:#85a7b8;border:1px solid #244653;border-radius:6px}.row-watch svg{width:17px;height:17px}.row-watch.saved{color:#ffd175;background:#352d18;border-color:#7b6431}.row-watch.saved svg{fill:#ffd17544}.view-markets{font-size:10px;color:#63e8ff;border:1px solid #1588aa;border-radius:6px;padding:8px;white-space:nowrap}.view-markets svg{width:12px;height:12px}.terminal-shell .market-table th:nth-child(3),.terminal-shell .market-table td:nth-child(3),.terminal-shell .market-table th:nth-child(5),.terminal-shell .market-table td:nth-child(5){display:none}.terminal-shell .place-name~.mobile-price{display:block;font-size:13px;color:#e7f5ff;margin-top:6px}.terminal-shell .market-table td:nth-child(6){color:#22edcd;font-size:15px}.terminal-shell .explore{display:none}.market-dock{border:1px solid #1689ac;border-radius:12px;background:linear-gradient(140deg,#062332,#03151f 55%);padding:15px;box-shadow:inset 0 0 24px #006d8c13,0 0 16px #00c9ff0a;position:sticky;top:15px;min-width:0}.dock-empty{padding:80px 22px;text-align:center;color:#90bace}.dock-empty svg{width:45px;height:45px;color:#2bdaef}.dock-empty h2{font-size:23px;line-height:1.4;margin:20px 0 12px;color:#e0f5ff}.dock-empty p{font-size:14px;line-height:1.8}.dock-header{display:flex;justify-content:space-between;align-items:start;gap:10px;padding:3px 0 17px}.dock-header>div{display:flex;align-items:center;gap:12px}.dock-header h2{font-size:21px}.dock-header small{color:#8eb5c8;font-size:11px}.dock-header button svg{width:23px;height:23px}.dock-header .mineral{width:35px;height:40px;flex:none}.dock-summary{border:1px solid #155674;border-radius:9px;overflow:hidden}.dock-commodity{display:flex;align-items:center;gap:13px;padding:18px;background:#062535}.dock-commodity>div{flex:1}.dock-commodity h3{font-size:19px;margin-bottom:7px}.dock-commodity small{display:block;color:#8cb9cf;margin-bottom:8px}.dock-numbers{display:grid;grid-template-columns:1fr 1fr 1fr;padding:16px 10px;gap:12px}.dock-numbers>div{display:flex;flex-direction:column;gap:8px;min-width:0}.dock-numbers small{font-size:10px;color:#8fb4c8}.dock-numbers a{font-size:12px;color:var(--cyan);overflow-wrap:anywhere}.dock-numbers strong{font-size:16px}.dock-tabs{display:flex;margin-top:14px;border:1px solid #174d66;border-radius:6px;overflow:hidden}.dock-tabs button{flex:1;padding:15px 4px;font-size:12px}.dock-tabs [aria-pressed=true]{background:#06334a;box-shadow:inset 0 -3px #68ecff;color:#ddfaff}.dock-context{font-size:10px;color:#8bb5c7;margin:12px 0}.dock-table-wrap{max-height:440px;overflow:auto}.dock-table{width:100%;border-collapse:collapse;font-size:11px}.dock-table th{text-align:left;font-size:9px;padding:12px 5px;color:#96c9df}.dock-table td{padding:12px 5px;border-top:1px solid #12364b}.dock-table td:first-child{max-width:160px}.dock-table a{color:#a9e6ff}.dock-table small,.location-table small{display:block;color:#789eaf;font-size:9px;line-height:1.6;margin-top:5px}.dock-table .freshness-indicator{font-size:10px}.dock-full{display:flex;justify-content:space-between;align-items:center;border:1px solid #116180;border-radius:7px;padding:16px;margin-top:15px;color:var(--cyan);font-size:12px}.dock-full svg{width:20px;height:20px}.dock-empty-note{padding:35px 12px;color:#98bdcd;font-size:13px}.terminal-shell .footer{padding:20px 26px}.terminal-shell .skip-link:not(:focus){transform:translateY(-200%)}.location-market{padding:30px;max-width:1600px;margin:auto}.location-market>h1{margin:14px 0 24px;font-size:36px}.location-market>.eyebrow{margin-top:30px}.location-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:var(--cyan);font-size:13px;margin-bottom:18px}.location-controls{display:flex;gap:25px;align-items:end;padding:25px 0;flex-wrap:wrap}.location-controls label{display:grid;gap:8px;font-size:12px}.location-controls input[type=search]{min-width:260px}.location-controls .location-watch{display:flex;align-items:center;padding-bottom:10px}.location-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.location-columns>section{background:#051d29;border:1px solid #16465d;border-radius:12px;padding:20px;min-width:0}.location-columns h2{font-size:21px}.location-columns h2 span{color:#49dcef;font-size:14px;margin-left:8px}.location-columns p{font-size:12px;color:#8cb1c4;line-height:1.8;margin:12px 0}.location-table-wrap{overflow:auto}.location-table{width:100%;border-collapse:collapse;font-size:12px}.location-table td,.location-table th{padding:14px 7px;text-align:left;border-bottom:1px solid #153b4d}.location-table a{color:#85d8f1}.location-item{display:flex;align-items:center;gap:8px}.browse-locations{max-height:55vh;overflow:auto;display:grid;gap:5px;margin-top:15px}.browse-locations a{display:grid;gap:5px;padding:12px;border-bottom:1px solid #244552}.browse-locations small{color:#8db4c4}.terminal-shell .assistant-launch{bottom:18px}
@media(min-width:1500px){.terminal-shell .hero{display:flex;justify-content:flex-start}.terminal-shell .hero-content{max-width:420px}.terminal-shell .market-table td{padding:16px 11px}}
@media(max-width:1499px){.terminal-metrics{position:absolute;right:25px;top:45px}.terminal-shell .hero{position:relative}.terminal-shell .market-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr)}.terminal-shell .commodity-cell{min-width:100px}.terminal-shell .commodity-name{font-size:12px}.terminal-shell .market-table td{padding:12px 7px}.terminal-shell .row-actions{flex-direction:column}.terminal-shell .market-table th:nth-child(7),.terminal-shell .market-table td:nth-child(7){display:none}.terminal-shell .market-table .mineral{width:25px}}
@media(max-width:1100px){.terminal-shell .market-layout{grid-template-columns:1fr}.market-dock{position:static}.dock-empty{padding:30px}.terminal-shell .row-actions{flex-direction:row}.location-columns{grid-template-columns:1fr}}
@media(max-width:760px){.terminal-shell{padding-left:0}.terminal-rail{display:none}.terminal-shell .topbar{height:60px;padding:0 16px}.terminal-shell .hero{min-height:155px}.terminal-shell .hero-content{padding:20px 18px}.terminal-shell .hero h1{font-size:30px}.terminal-metrics{position:static;margin:0;padding:12px 18px;background:#061c29;gap:20px;justify-content:space-between}.terminal-metrics div{padding-left:12px;gap:4px}.terminal-metrics strong{font-size:20px}.terminal-metrics span{font-size:10px}.terminal-shell .hero{display:block}.terminal-shell .data-status-bar{padding:12px 18px;gap:16px;flex-wrap:wrap}.terminal-shell .workspace{padding:15px 12px}.terminal-shell .filters{padding:12px}.terminal-shell .select-field{flex-basis:130px}.terminal-shell .capability-filters label{font-size:10px;padding:8px}.terminal-shell .market-table td{height:auto}.terminal-shell .market-table td:last-child{display:table-cell}.terminal-shell .view-markets{font-size:9px;padding:7px}.terminal-shell .row-actions{flex-direction:column}.terminal-shell .market-table th:nth-child(6),.terminal-shell .market-table td:nth-child(6){display:none}.terminal-shell .market-table th:nth-child(2),.terminal-shell .market-table td:nth-child(2),.terminal-shell .market-table th:nth-child(4),.terminal-shell .market-table td:nth-child(4){display:table-cell}.terminal-shell .market-table .place-name{font-size:10px;max-width:80px}.terminal-shell .market-table .place-sub{display:none}.terminal-shell .market-table .mobile-price{font-size:10px}.terminal-shell .market-table .commodity-cell{min-width:80px;gap:5px}.terminal-shell .market-table .commodity-name{font-size:11px}.terminal-shell .market-table .commodity-category{font-size:8px}.terminal-shell .market-table .mineral{display:none}.terminal-shell .market-table th{font-size:7px;padding:10px 6px}.terminal-shell .market-table td{padding:12px 6px}.terminal-shell .capability-strip{flex-wrap:wrap}.terminal-shell .sort-field{margin-left:auto}.dock-numbers{gap:8px}.dock-numbers strong{font-size:13px}.dock-header h2{font-size:19px}.location-market{padding:24px 14px}.location-market>h1{font-size:28px}.location-columns>section{padding:14px}.location-table{font-size:11px}.terminal-shell .footer{padding-bottom:100px}.terminal-hint{line-height:1.7}.terminal-shell .table-footer{gap:10px;flex-wrap:wrap}}
.terminal-shell .table-container{max-height:620px;overflow:auto}.terminal-shell .market-table thead{position:sticky;top:0;z-index:2}.location-controls input[type=search],#browse-location-search{border:1px solid #225a70;background:#062333;color:#d5f1ff;border-radius:7px;padding:12px;font:inherit}.location-controls input[type=checkbox]{accent-color:var(--cyan)}.terminal-shell .market-table tbody tr:has(.view-markets:focus){background:#07384b;box-shadow:inset 3px 0 var(--cyan)}
@media(max-width:760px){.terminal-shell .table-container{max-height:520px}.market-dock{scroll-margin-top:12px}.dock-table-wrap{max-height:340px}.location-controls input[type=search]{min-width:0;width:100%}.location-controls label:first-child{width:100%}.terminal-shell .hero p{max-width:none}}
/* Compact reference-style market rows and four market views. */
.terminal-shell .market-tabs{display:flex;gap:8px;width:100%;overflow-x:auto;flex-wrap:nowrap}.terminal-shell .market-tabs button{white-space:nowrap;flex:1 0 auto;padding:12px 10px;font-size:12px;display:inline-flex;justify-content:center;align-items:center;gap:7px}.terminal-shell .market-tabs svg{width:17px;height:17px}.terminal-shell .market-tabs .active{border-radius:7px 7px 0 0}.terminal-shell .table-toolbar{gap:8px}.terminal-shell .sort-field{margin-left:auto}.terminal-shell .market-table td{height:64px;padding:7px 9px;line-height:1.25}.terminal-shell .market-table .commodity-cell{gap:9px}.terminal-shell .market-table .mineral{width:29px;height:32px}.terminal-shell .market-table .place-name,.terminal-shell .market-table .place-sub{display:block;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.terminal-shell .market-table .place-sub{margin-top:3px;font-size:9px}.terminal-shell .market-table .mobile-price{margin-top:4px;font-size:12px}.terminal-shell .market-table .commodity-category{margin-top:3px}.terminal-shell .market-table .row-actions{flex-direction:row;gap:5px}.terminal-shell .market-table .row-watch{width:26px;height:28px}.terminal-shell .market-table .view-markets{padding:6px;font-size:9px}.terminal-shell .market-table .capability-strip{gap:4px}.terminal-shell .market-table .commodity-name-line{gap:4px}.terminal-shell .market-table .commodity-name{font-size:12px}#market-routes{padding:20px;background:#051d29;border:1px solid #16465d;border-radius:9px;margin-top:14px}#market-routes[hidden]{display:none}#market-routes .module-form{margin:14px 0}#market-routes>div>p{font-size:12px;line-height:1.7}.terminal-shell .table-container[hidden]{display:none}
@media(max-width:1499px) and (min-width:761px){.terminal-shell .market-table .place-name,.terminal-shell .market-table .place-sub{max-width:110px}.terminal-shell .market-table .row-actions{flex-direction:column;gap:3px}.terminal-shell .market-table td{padding:5px 7px;height:64px}.terminal-shell .market-table .row-watch{height:23px}.terminal-shell .market-table .view-markets{padding:4px}}
@media(max-width:760px){.terminal-shell .market-tabs{gap:4px}.terminal-shell .market-tabs button{font-size:10px;padding:10px 7px;gap:4px}.terminal-shell .market-tabs svg{width:13px;height:13px}.terminal-shell .market-table tr{padding:8px;margin-bottom:6px;min-height:0}.terminal-shell .market-table td{height:auto;padding:3px 4px}.terminal-shell .market-table .row-actions{flex-direction:row}.terminal-shell .market-table .commodity-name{font-size:11px}.terminal-shell .market-table .place-sub{display:none}.terminal-shell .market-table .mobile-price{font-size:10px}.terminal-shell .market-table .place-name{max-width:105px;font-size:10px}#market-routes{padding:12px}}

/* Always-visible, compact filter controls. Labels remain available to screen readers. */
.terminal-shell .filters{padding:10px;gap:7px;align-items:center;border-radius:9px}
.terminal-shell .filters .search-field{height:34px;flex:1 1 180px;min-width:145px;padding:0 10px}
.terminal-shell .filters .search-field input{font-size:12px}
.terminal-shell .filters .select-field{height:34px;flex:1 1 125px;min-width:110px;padding:0 8px;justify-content:center}
.terminal-shell .filters .select-field select{font-size:11px;margin:0;padding:0;width:100%;max-width:100%}
.terminal-shell .filters .location-filter{flex-basis:165px}
.terminal-shell .filters .quantity-field{height:34px;flex:0 0 104px;padding:0 8px;gap:8px}
.terminal-shell .filters .quantity-field>span{display:flex;align-items:center;gap:4px;font-size:10px}
.terminal-shell .filters .quantity-field small{display:inline;font-size:9px}
.terminal-shell .filters .quantity-field input{width:38px;font-size:12px}
.terminal-shell .filters .extra-filters{display:contents}
.terminal-shell .filters .extra-filters>label{order:1;display:flex;flex:1 1 115px;min-width:100px;margin:0}
.terminal-shell .filters .extra-filters select{height:32px;width:100%;font-size:11px;padding:0 8px;border:1px solid #123a4e;border-radius:5px;background:#041925;color:#cbe5f2}
.terminal-shell .filters #reset-filters{order:1;font-size:10px;padding:6px 8px;margin:0;white-space:nowrap}
.terminal-shell .filters .capability-filters{order:2;flex:1 0 100%;margin:0;padding:0;gap:6px;border:0}
.terminal-shell .filters .capability-filters label{flex:0 1 auto;min-height:28px;padding:4px 9px;font-size:10px;border-radius:5px;gap:5px}
.terminal-shell .filters .capability-filters input{width:12px;height:12px;margin:0}
.terminal-shell .filters .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.terminal-shell .filters{padding:9px;gap:6px}.terminal-shell .filters .search-field{flex-basis:100%}.terminal-shell .filters .select-field{flex-basis:125px}.terminal-shell .filters .location-filter{flex-basis:165px}.terminal-shell .filters .capability-filters{gap:5px}.terminal-shell .filters .capability-filters label{flex:1 0 auto;padding:4px 7px;font-size:10px}}
.terminal-shell .market-table .commodity-cell>.mineral{display:none}
/* Compact location market rows, keeping price and currency on one line. */
.location-columns>section{padding:16px 18px}.location-columns>section>h2{margin:0 0 6px;font-size:20px}.location-columns>section>p{margin:0 0 12px;font-size:12px}.location-table th{padding:8px 7px;font-size:11px}.location-table td{padding:7px;line-height:1.25;height:auto;font-size:12px}.location-table small{margin-top:3px;font-size:10px;line-height:1.2}.location-table .currency{display:inline;margin:0 0 0 3px;font-size:9px}.location-table .row-watch{width:26px;height:28px}.location-table .row-watch svg{width:16px;height:16px}.location-table .location-item{gap:7px}.location-table td:nth-child(3){white-space:nowrap}.location-table td:nth-child(2)>a{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-table td:nth-child(2)>small{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.location-columns>section{padding:12px}.location-table td{padding:6px 5px;font-size:11px}.location-table .row-watch{width:28px;height:30px}.location-table td:nth-child(2)>a,.location-table td:nth-child(2)>small{max-width:130px}}
.terminal-shell .browse-locations{gap:0;margin-top:10px}.terminal-shell .browse-locations a{padding:6px 9px;gap:2px;line-height:1.3;min-width:0}.terminal-shell .browse-locations strong{font-size:12px;font-weight:600}.terminal-shell .browse-locations small{font-size:10px;line-height:1.3}

/* Subtle highlighting for compact market and location rows. */
.terminal-shell .location-table tbody tr,.terminal-shell .browse-locations a{transition:background-color 120ms ease}
.terminal-shell .location-table tbody tr:hover,.terminal-shell .location-table tbody tr:focus-within,.terminal-shell .browse-locations a:hover,.terminal-shell .browse-locations a:focus-visible{background-color:#073046}
@media(prefers-reduced-motion:reduce){.terminal-shell .location-table tbody tr,.terminal-shell .browse-locations a{transition:none}}
