/* Responsive refinement: preserve Markets' existing tokens, density and information. */
:root { --header-height:84px; }
[hidden] { display:none !important; }
html { scroll-padding-top:calc(var(--header-height) + 16px); }
main, .top-in, .foot { width:100%; min-width:0; }
.top-in > *, .page-h > *, .toolbar > *, .card-h > *, .card-b > *, .kpi, .stat { min-width:0; }
input, select, textarea { max-width:100%; min-width:0; }
img { max-width:100%; }
#view svg[aria-hidden=true][width] { max-width:100%; height:auto; }
#view .ins-root, #ins-body, #view .pm-root, #view .pm-root > *, #view .ins-split > * { min-width:0; }
#view .pm-filter .chip { max-width:100%; white-space:normal; text-align:left; }
.utility-menu, .utility-panel { display:contents; }
.utility-toggle { display:none; }
.search { min-width:72px; }
.user > span:not(.avatar) { max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.page-h, .card-h { flex-wrap:wrap; }
.page-h p, .card-h h3, .kpi .l, .kpi .s, .stat .l, .notice, .fine, .foot { overflow-wrap:anywhere; }
.kpi .v, .stat .v { overflow-wrap:anywhere; }
.tbl-wrap, .lab-scroll, .subnav, .nav { max-width:100%; min-width:0; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.tbl-wrap:focus-visible { outline-offset:-2px; }
.subnav button, .subnav a, .nav a { flex-shrink:0; }
.subnav a { display:inline-flex; align-items:center; }
.side-sticky { top:calc(var(--header-height) + 12px); }
.onpage { top:var(--header-height); }
.sec { scroll-margin-top:calc(var(--header-height) + 64px); }
.kv { grid-template-columns:minmax(0,1fr) minmax(0,auto); column-gap:14px; }
.kv > div { min-width:0; overflow-wrap:anywhere; }
.sum .r { gap:12px; }
.sum .r > * { min-width:0; overflow-wrap:anywhere; }
.modal-bg { padding:clamp(12px,8vh,72px) 12px; overflow-y:auto; overscroll-behavior:contain; }
.modal { max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; }
.modal-bg .modal { max-height:calc(100dvh - clamp(24px,16vh,144px)); }
.toast { max-width:calc(100vw - 24px); width:max-content; overflow-wrap:anywhere; bottom:max(20px,env(safe-area-inset-bottom)); }
.tip { min-width:0; max-width:min(290px,calc(100% - 8px)); overflow-wrap:anywhere; }
.tip .r { flex-wrap:wrap; }
.login { min-height:100svh; }
.login-stats { flex-wrap:wrap; gap:16px 28px; }
.login-l h2 { text-wrap:balance; }
@media screen and (max-width:1479px) {
  .top-in { height:auto; min-height:54px; flex-wrap:wrap; gap:8px 14px; padding:10px 16px 0; }
  .top-in .nav { order:5; width:100%; height:42px; }
  .top-in .nav a { padding:0 13px; }
  .top-in .search { order:0; flex:1 1 160px; max-width:none; }
  .top-in .search button span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .top-in .tools { margin-left:auto; }
}
@media screen and (max-width:1100px) {
  .side-sticky { position:static; }
}
@media screen and (max-width:1023px) {
  .top-in .utility-menu { display:block; position:relative; }
  .top-in .utility-toggle { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; }
  .top-in .utility-panel { display:none; position:absolute; top:calc(100% + 8px); right:0; width:min(320px,calc(100vw - 32px)); max-height:calc(100dvh - 80px); overflow-y:auto; padding:16px; background:var(--hdr); border:1px solid var(--line-dark); border-radius:var(--radius); box-shadow:0 10px 30px rgba(0,0,0,.25); z-index:90; gap:12px; flex-wrap:wrap; }
  .top-in .utility-menu[data-open=true] .utility-panel { display:flex; }
  .top-in .utility-panel #clk { flex-basis:100%; }
  .top-in .utility-panel .ibtn { min-height:44px; min-width:44px; }
  .top-in .utility-panel .user { flex-basis:100%; flex-wrap:wrap; border-left:0; border-top:1px solid var(--line-dark); padding:12px 0 0; }
  .top-in .utility-panel .user span { display:flex; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
  .top-in .utility-panel .user #out { margin-left:auto; }
  .top-in .bellwrap > .ibtn { min-height:44px; min-width:44px; }
  .top-in .search { min-width:0; }
  .top-in .search kbd { display:none; }
  .top-in .search button { min-height:44px; }
  .top-in .nav { height:44px; }
  .top-in .nav a { min-height:44px; }
  .onpage { position:static; }
  .bellpanel { position:fixed; top:70px; right:16px; width:min(360px,calc(100vw - 32px)); max-height:calc(100dvh - 100px); }
}
@media screen and (max-width:767px) {
  .top-in { padding:8px max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left)); gap:6px 8px; }
  .top-in .brand { flex:1; min-width:0; gap:6px; }
  .top-in .brand img { height:13px; max-width:130px; }
  .top-in .brand small { font-size:8px; letter-spacing:.18em; }
  .top-in .search { order:4; flex:1 1 100%; }
  .top-in .tools { gap:6px; flex-shrink:0; }
  .top-in .live { font-size:9px; gap:4px; }
  main { padding:16px max(12px,env(safe-area-inset-right)) 16px max(12px,env(safe-area-inset-left)); }
  .foot { padding:12px max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
  .page-h { align-items:flex-start; gap:10px; }
  .page-h > .spacer { display:none; }
  .toolbar { gap:8px; }
  .toolbar > input:not([type=checkbox]), .toolbar > select { flex:1 1 160px; }
  .card-h { gap:8px; }
  .card-h .seg { flex-wrap:wrap; max-width:100%; }
  .card-h .spacer { flex-basis:0; }
  #view .kpis { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #view .kpi { padding:12px; }
  #view .kpi .v { font-size:20px; }
  #view .stat-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .stat { padding:12px; }
  .stat .v { font-size:22px; }
  .inv-hero { padding:18px; gap:12px; }
  .inv-hero h1 { overflow-wrap:anywhere; font-size:24px; }
  .co-hero.hx .hx-id h1 { overflow-wrap:anywhere; }
  .co-hero.hx .hx-tools { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px auto; gap:6px; }
  .co-hero.hx .hx-tools .btn, .co-hero.hx .hx-tools .star { min-height:44px; }
  .co-hero.hx .hx-tools .btn { font-size:13px; padding:0 10px; }
  .menu { min-width:min(250px,calc(100vw - 48px)); max-width:calc(100vw - 48px); }
  .login-l { min-height:0; padding:24px; }
  .login-l h2 { margin-top:20px; font-size:28px; }
  .login-l .login-art { height:100px; margin-top:20px; }
  .login-stats { margin-top:16px; gap:12px 20px; }
  .login-stats b { font-size:18px; }
  .login-r { padding:28px 20px; }
  .modal-bg { padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
  .modal-bg .modal { width:100%; max-height:calc(100dvh - 24px); }
  .palette .res { max-height:calc(100dvh - 100px); }
  .palette .it { min-height:44px; flex-wrap:wrap; }
  .palette .it small { margin-left:0; }
  .rp-paper { padding:20px 16px; }
}
@media screen and (max-width:480px) {
  #view .responsive-grid { grid-template-columns:minmax(0,1fr) !important; }
  #view .responsive-grid.kv { grid-template-columns:minmax(0,1fr) minmax(0,auto) !important; }
  #view .ticket .row.two { grid-template-columns:minmax(0,1fr); }
  .co-hero.hx .hx-tools { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px; }
  .co-hero.hx .hx-tools > .menuwrap { grid-column:1/-1; }
  .co-hero.hx .hx-tools > .star { grid-column:3; grid-row:1; }
  .co-hero.hx .hx-tools > .menuwrap > .btn { width:100%; }
  #view .pm-root [data-cat] .pm-row { grid-template-columns:minmax(0,1fr) 56px 14px; gap:6px; }
  #view .pm-root [data-cat] .pm-row .x { grid-column:1/-1; }
  #view .pm-h2h { grid-template-columns:minmax(0,1fr); }
  #view .pm-row .bar { min-width:0; }
  #view .cmp-add { min-width:0; flex-basis:100%; }
  #view .cmp-chip { max-width:100%; flex-wrap:wrap; }
  .rp-parts .p { grid-template-columns:minmax(0,1fr) 46px; }
  .rp-parts .p > :first-child { grid-column:1/-1; }
  #view .ins-bars .row { grid-template-columns:minmax(0,1fr) 40px; }
  #view .ins-bars .row > :first-child { grid-column:1/-1; }
}
@media (pointer:coarse), screen and (max-width:767px) {
  .btn, button.chip, a.chip, .ibtn, .subnav button, .subnav a, .onpage a, .seg button { min-height:44px; }
  .star { min-width:44px; min-height:44px; }
  .cmp-chip button { min-width:44px; min-height:44px; }
  .ticket .sidebtn button { min-height:44px; }
  input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea { min-height:44px; font-size:16px; }
  input[type=checkbox], input[type=radio] { width:22px; height:22px; flex-shrink:0; }
  input[type=range] { min-height:44px; }
}
@media screen and (max-height:500px) and (max-width:1023px) {
  .top { position:relative; }
  html { scroll-padding-top:12px; }
  .sec { scroll-margin-top:16px; }
  .bellpanel { top:12px; max-height:calc(100dvh - 24px); }
}
@media print {
  .utility-menu { display:none; }
  .modal-bg { display:none; }
  html { scroll-padding-top:0; }
}
