:root{
    --bg:#0a0e14; --panel:#10161f; --panel-2:#161e2a; --line:#1e2835; --line-2:#28374a;
    --text:#e8eef5; --muted:#7d8b9c;
    --accent:#3d8bfd; --accent-dim:rgba(61,139,253,.12);
    --buy:#22c07a; --buy-dim:rgba(34,192,122,.12);
    --sell:#f4516c; --sell-dim:rgba(244,81,108,.12);
    --warn:#f2b84b; --warn-dim:rgba(242,184,75,.12);
    --radius:12px;
  }
  body[data-theme="light"]{
    --bg:#f4f7fa; --panel:#ffffff; --panel-2:#eef2f7; --line:#dde5ee; --line-2:#c8d4e2;
    --text:#101b28; --muted:#5d6d7f;
    --accent:#1f6fe0; --accent-dim:rgba(31,111,224,.10);
    --buy:#0d9a5f; --buy-dim:rgba(13,154,95,.10);
    --sell:#d93755; --sell-dim:rgba(217,55,85,.10);
    --warn:#b97708; --warn-dim:rgba(185,119,8,.10);
  }
  *{box-sizing:border-box;margin:0;}
  html{height:100%;scroll-behavior:smooth;}
  body{
    font-family:Inter,"Segoe UI",system-ui,Arial,sans-serif;
    background:var(--bg);color:var(--text);
    font-variant-numeric:tabular-nums;
    -webkit-font-smoothing:antialiased;
    transition:background-color .25s ease,color .25s ease;
    min-height:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;
  }
  button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;}
  .wrap{max-width:none;margin:0;padding:0;flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;}

  /* ---------- smoothness layer ---------- */
  button,.pill,.panel,.ladder-row,select,input,table.book tbody tr,
  .tstat .v,.hstat .v,.chips button,.tabset button,.rangebar button{
    transition:background-color .15s ease,border-color .15s ease,color .15s ease,
      box-shadow .15s ease,transform .1s ease,opacity .2s ease;
  }
  button:active{transform:scale(.96);}
  .chips button:active,.tabset button:active,.rangebar button:active,.hbtn:active{transform:scale(.94);}
  .sideswitch button.active{transition:background-color .18s ease,color .18s ease;}
  .panel{box-shadow:none;}
  body[data-theme="light"] .panel{box-shadow:none;}
  ::-webkit-scrollbar{width:9px;height:9px;}
  ::-webkit-scrollbar-track{background:transparent;}
  ::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px;border:2px solid var(--panel);}
  ::-webkit-scrollbar-thumb:hover{background:var(--muted);}
  *{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;}
  @keyframes flashUp{0%{background-color:var(--buy-dim);}100%{background-color:transparent;}}
  @keyframes flashDown{0%{background-color:var(--sell-dim);}100%{background-color:transparent;}}
  .flash-up{animation:flashUp .7s ease-out;border-radius:6px;}
  .flash-down{animation:flashDown .7s ease-out;border-radius:6px;}
  @keyframes fadeIn{from{opacity:0;transform:translateY(2px);}to{opacity:1;transform:translateY(0);}}
  .ladder-row,table.book tbody tr{animation:fadeIn .25s ease both;}

  /* ---------- header ---------- */
  header{
    position:sticky;top:0;z-index:10;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .topbar{display:flex;align-items:center;gap:22px;height:52px;padding:0 20px;border-bottom:1px solid var(--line);}
  .marketbar{display:flex;align-items:center;gap:22px;height:46px;padding:0 20px;overflow-x:auto;background:var(--panel);}
  .brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;letter-spacing:-.01em;white-space:nowrap;}
  .brand-logo{
    width:34px;height:34px;display:block;border-radius:9px;object-fit:cover;
    border:1px solid var(--line-2);
    box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 10%, transparent);
  }
  .brand-name{
    font-size:21px;font-weight:900;font-style:italic;line-height:1;
    letter-spacing:.01em;color:var(--text);
  }
  .pill{
    display:inline-flex;align-items:center;gap:6px;
    font-size:11.5px;font-weight:600;color:var(--muted);
    padding:4px 10px;border:1px solid var(--line);border-radius:999px;
  }
  .pill .dot{width:6px;height:6px;border-radius:50%;background:var(--muted);}
  .pill.ok{color:var(--buy);border-color:color-mix(in srgb, var(--buy) 35%, transparent);}
  .pill.ok .dot{background:var(--buy);}
  .pill.warn{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 42%, transparent);}
  .pill.warn .dot{background:var(--accent);}
  .pill.bad{color:var(--sell);border-color:color-mix(in srgb, var(--sell) 35%, transparent);}
  .pill.bad .dot{background:var(--sell);}
  .hspacer{flex:1;}
  .hmeta{font-size:11.5px;color:var(--muted);}
  .hbtn{
    font-size:12px;font-weight:600;padding:6px 12px;
    border:1px solid var(--line);border-radius:8px;color:var(--text);
  }
  .hbtn:hover{border-color:var(--line-2);background:var(--panel);}
  .hbtn:disabled{opacity:.55;cursor:wait;}
  #accountSecurityBtn[data-state="setup"]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 42%, var(--line));}
  #accountSecurityBtn[data-state="ready"]{color:var(--buy);border-color:color-mix(in srgb, var(--buy) 35%, var(--line));}

  /* ---------- ticker ---------- */
  .tstat{display:flex;flex-direction:column;gap:1px;flex:0 0 auto;padding-right:20px;}
  .tstat .l{font-size:10px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;}
  .tstat .v{font-size:14px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;}
  .tstat.hero .v{font-size:19px;}
  .tstat.buy .v{color:var(--buy);} .tstat.sell .v{color:var(--sell);}
  .delta{font-size:11.5px;font-weight:700;}
  .delta.up{color:var(--buy);} .delta.down{color:var(--sell);} .delta.flat{color:var(--muted);}

  /* ---------- terminal grid ---------- */
  .workspace-tabs{
    align-self:stretch;display:flex;align-items:stretch;gap:22px;margin:0;padding:0;
    max-width:100%;overflow-x:auto;background:transparent;border:0;border-radius:0;
  }
  .workspace-tabs button{
    position:relative;flex:0 0 auto;display:flex;align-items:center;color:var(--text);
    opacity:.82;font-size:12.5px;font-weight:700;padding:0 2px;border-radius:0;
  }
  .workspace-tabs button:hover{opacity:1;color:var(--text);}
  .workspace-tabs button.active{opacity:1;color:var(--accent);background:transparent;}
  .workspace-tabs button.active::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--accent);
  }
  .workspace-view{display:none;}
  .workspace-view.active{display:block;flex:1 1 auto;height:100%;min-height:0;overflow:hidden;}
  .terminal{
    display:grid;grid-template-columns:minmax(0,1fr) 340px 340px 310px;
    grid-template-areas:
      "chart ladder order chat"
      "account account order chat";
    grid-template-rows:minmax(420px,1fr) 180px;
    height:100%;min-height:0;
    gap:0;align-items:stretch;padding:0;background:var(--panel);border-top:1px solid var(--line);
  }
  .terminal.chat-collapsed{grid-template-columns:minmax(0,1fr) 340px 340px 48px;}
  .area-chart{grid-area:chart;min-width:0;display:flex;flex-direction:column;min-height:0;container-type:inline-size;}
  .area-ladder{grid-area:ladder;min-width:0;display:flex;flex-direction:column;min-height:0;}
  .area-order{grid-area:order;min-width:0;display:flex;flex-direction:column;min-height:0;}
  .area-account{grid-area:account;min-width:0;display:flex;flex-direction:column;min-height:0;}
  .area-exec{min-width:0;display:flex;flex-direction:column;min-height:0;}
  .area-chat{grid-area:chat;min-width:0;display:flex;flex-direction:column;min-height:0;}
  .terminal > .area-chart,.terminal > .area-ladder,.terminal > .area-order,
  .terminal > .area-account,.terminal > .area-exec,.terminal > .area-chat{
    background:var(--panel);border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .terminal > .area-chat{border-right:0;}
  .chart-panel,.order-panel{display:flex;flex-direction:column;flex:1;min-height:0;}
  .panel{background:var(--panel);border:0;border-radius:0;}
  .terminal .panel{background:transparent;border:0;border-radius:0;box-shadow:none;}
  .panel-pad{padding:16px 18px;}
  .panel-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
  .panel-title{font-size:13.5px;font-weight:700;}
  .panel-head .meta{font-size:11.5px;color:var(--muted);}

  .tabset{display:inline-flex;background:var(--panel-2);border-radius:8px;padding:2px;gap:2px;}
  .tabset button{font-size:12px;font-weight:600;color:var(--muted);padding:5px 12px;border-radius:6px;}
  .tabset button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.18);}
  .rangebar{display:inline-flex;gap:2px;}
  .rangebar button{font-size:11.5px;font-weight:600;color:var(--muted);padding:4px 9px;border-radius:6px;}
  .rangebar button:hover{color:var(--text);}
  .rangebar button.active{background:var(--accent-dim);color:var(--accent);}
  .timeframe-bar{display:flex;flex-wrap:wrap;padding:8px 18px 0;border-top:1px solid var(--line);}

  .chart-zone{position:relative;flex:1;min-height:0;padding:8px 6px 4px;}
  .chart-zone.hline-mode,.chart-zone.draw-mode{cursor:crosshair;}
  .chart-zone canvas{width:100%;height:100%;display:block;cursor:crosshair;}
  .lw-stack{width:100%;height:100%;display:none;flex-direction:column;min-height:0;}
  .lw-chart{width:100%;height:100%;display:block;min-height:0;position:relative;}
  #mainChartLW{flex:1 1 auto;height:auto;}
  .chart-annotation-layer{position:absolute;inset:0;z-index:6;pointer-events:none;}
  .chart-annotation-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
  .chart-ann-hit{pointer-events:auto;cursor:pointer;}
  .chart-ann-line{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 4;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));}
  .chart-ann-line.selected{stroke-width:2.5;stroke:var(--warn);}
  .chart-ann-vline{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed var(--accent);pointer-events:auto;cursor:pointer;}
  .chart-ann-vline.selected{border-left-color:var(--warn);border-left-width:2px;}
  .chart-ann-note{
    position:absolute;max-width:170px;transform:translate(6px,-50%);padding:4px 7px;border-radius:6px;
    border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--panel) 92%, transparent);
    color:var(--text);font-size:11px;font-weight:700;line-height:1.25;pointer-events:auto;cursor:pointer;
    box-shadow:0 6px 14px rgba(0,0,0,.22);overflow:hidden;text-overflow:ellipsis;
  }
  .chart-ann-note.selected{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn),0 6px 14px rgba(0,0,0,.22);}
  .chart-ann-handle{fill:var(--accent);stroke:var(--panel);stroke-width:2;}
  .chart-ann-pending{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--warn);z-index:7;pointer-events:none;}
  #chartOscLW{height:100%;}
  .chart-osc-pane{
    position:relative;display:none;flex:0 0 124px;min-height:0;border-top:1px solid var(--line);
  }
  .chart-osc-pane.active{display:block;}
  .chart-osc-title{
    position:absolute;top:7px;left:44px;z-index:3;color:var(--muted);
    font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;
  }
  .lw-legend{position:absolute;top:14px;left:50px;z-index:2;display:none;flex-wrap:wrap;
    align-items:baseline;gap:2px 12px;font-size:11.5px;font-weight:600;pointer-events:none;
    color:var(--muted);text-shadow:0 1px 3px color-mix(in srgb, var(--bg) 70%, transparent);}
  .lw-legend b{font-weight:800;}
  .lw-legend .lw-o,.lw-legend .lw-h,.lw-legend .lw-l,.lw-legend .lw-c{color:var(--text);}
  .lw-legend.up .lw-c{color:var(--buy);}
  .lw-legend.down .lw-c{color:var(--sell);}
  .lw-legend .lw-pct.up{color:var(--buy);}
  .lw-legend .lw-pct.down{color:var(--sell);}
  .depth-tip{
    position:absolute;top:16px;display:none;flex-direction:column;gap:3px;
    background:color-mix(in srgb, var(--panel-2) 92%, transparent);border:1px solid var(--line-2);
    border-radius:8px;padding:8px 10px;font-size:11.5px;pointer-events:none;min-width:132px;
    box-shadow:0 6px 18px rgba(0,0,0,.28);
  }
  .depth-tip.buy{border-color:color-mix(in srgb, var(--buy) 45%, var(--line-2));}
  .depth-tip.sell{border-color:color-mix(in srgb, var(--sell) 45%, var(--line-2));}
  .depth-tip.neutral{border-color:color-mix(in srgb, var(--accent) 45%, var(--line-2));}
  .depth-tip .dtrow{display:flex;justify-content:space-between;gap:14px;}
  .depth-tip .dtrow .l{color:var(--muted);}
  .depth-tip .dtrow .v{font-weight:700;}
  .legend{display:flex;gap:16px;padding:0 18px 13px;font-size:11.5px;color:var(--muted);flex-wrap:wrap;}
  .legend i{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:5px;}
  .chart-pro{position:relative;display:flex;align-items:center;gap:6px;}
  .chart-pro .hbtn{padding:5px 9px;font-size:11.5px;}
  .chart-pro .hbtn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);}
  .chart-menu{
    position:absolute;right:0;top:calc(100% + 8px);z-index:20;display:none;min-width:224px;
    background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 28px rgba(0,0,0,.35);
    padding:8px;border-radius:8px;
  }
  .chart-menu.open{display:block;}
  .chart-menu label{
    display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;
    color:var(--text);font-size:12px;font-weight:650;
  }
  .chart-menu label:hover{background:var(--panel-2);}
  .chart-menu input{accent-color:var(--accent);}
  .chart-menu .menu-action{
    width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:7px 8px;border-radius:6px;color:var(--text);font-size:12px;font-weight:650;
  }
  .chart-menu .menu-action:hover{background:var(--panel-2);}
  .chart-menu .menu-action .hint{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
  .chart-menu .menu-section{
    margin:7px 8px 4px;padding-top:8px;border-top:1px solid var(--line);
    color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  }
  .chart-menu .menu-note{padding:7px 8px;color:var(--muted);font-size:11.5px;line-height:1.35;}
  .chart-menu .menu-log{margin:6px 4px 2px;border-top:1px solid var(--line);padding-top:6px;max-height:138px;overflow:auto;}
  .chart-menu .menu-log-row{padding:6px 4px;border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);font-size:11px;line-height:1.25;color:var(--text);}
  .chart-menu .menu-log-row:last-child{border-bottom:0;}
  .chart-menu .menu-log-row .t{display:block;color:var(--muted);font-size:10px;margin-bottom:2px;}
  .chart-menu .menu-log-empty{padding:8px 4px;color:var(--muted);font-size:11px;}
  .chart-menu .menu-field{display:grid;grid-template-columns:1fr 82px;gap:8px;align-items:center;padding:6px 8px;}
  .chart-menu .menu-field span{font-size:12px;font-weight:650;color:var(--text);}
  .chart-menu .menu-field input{
    width:100%;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);
    color:var(--text);font-size:11.5px;font-weight:700;padding:0 7px;text-align:right;
  }
  .chart-menu .menu-field select{
    width:100%;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);
    color:var(--text);font-size:11.5px;font-weight:800;padding:0 7px;
  }
  .chart-bottom-tools{margin-left:auto;display:inline-flex;gap:2px;}
  .chart-toolrail{
    position:absolute;left:8px;top:48px;z-index:4;display:flex;flex-direction:column;gap:5px;
  }
  .chart-toolrail button{
    width:28px;height:28px;display:flex;align-items:center;justify-content:center;
    border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);
    color:var(--muted);border-radius:7px;font-size:11px;font-weight:900;
  }
  .chart-toolrail button:hover,.chart-toolrail button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);}
  .chart-insight-strip{
    display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.9fr);gap:0;
    border-top:1px solid var(--line);font-size:11.5px;min-height:38px;background:color-mix(in srgb, var(--panel) 92%, var(--panel-2));
  }
  .chart-signal-panel,.chart-annotation-panel{
    min-width:0;display:flex;align-items:center;gap:9px;padding:8px 18px;color:var(--muted);overflow:hidden;
  }
  .chart-annotation-panel{border-left:1px solid var(--line);}
  .chart-signal-panel b,.chart-annotation-panel b{color:var(--text);font-size:11.5px;white-space:nowrap;}
  .chart-signal-panel .signal-pill{
    display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;
    padding:3px 8px;color:var(--text);background:var(--panel-2);white-space:nowrap;
  }
  .chart-signal-panel .signal-pill.warn{border-color:color-mix(in srgb, var(--sell) 45%, var(--line));color:var(--sell);}
  .chart-signal-panel .signal-pill.ok{border-color:color-mix(in srgb, var(--buy) 45%, var(--line));color:var(--buy);}
  .chart-signal-panel .signal-text,.chart-annotation-panel .annotation-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
  .chart-annotation-panel .annotation-actions{display:inline-flex;gap:5px;margin-left:auto;white-space:nowrap;}
  .chart-annotation-panel button{
    border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);
    height:24px;padding:0 8px;font-size:11px;font-weight:800;
  }
  .chart-annotation-panel button:hover{border-color:var(--accent);color:var(--accent);}
  @container (max-width:620px){
    .chart-insight-strip{grid-template-columns:1fr;}
    .chart-annotation-panel{border-left:0;border-top:1px solid var(--line);}
  }
  @media (max-width:1500px){
    .chart-toolrail{
      flex-direction:row;max-width:calc(100% - 16px);overflow-x:auto;scrollbar-width:none;
    }
    .chart-toolrail::-webkit-scrollbar{display:none;}
    .chart-toolrail button{flex:0 0 28px;}
  }

  /* ---------- calculator ---------- */
  .calc{display:flex;flex-direction:column;}
  .calc .area-exec{flex:1 1 auto;}
  .calc-body{padding:16px 18px;display:flex;flex-direction:column;gap:14px;}
  .sideswitch{display:grid;grid-template-columns:1fr 1fr;background:var(--panel-2);border-radius:9px;padding:3px;gap:3px;}
  .sideswitch button{font-size:13px;font-weight:700;padding:9px 0;border-radius:7px;color:var(--muted);}
  .sideswitch button.buy.active{background:var(--buy);color:#04160d;}
  .sideswitch button.sell.active{background:var(--sell);color:#2b060d;}
  .flabel{font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:6px;display:block;}
  .amt-wrap{position:relative;}
  .amt-wrap input{
    width:100%;height:44px;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;
    color:var(--text);font:inherit;font-size:17px;font-weight:700;padding:0 64px 0 14px;outline:none;
  }
  .amt-wrap input:focus{border-color:var(--accent);}
  .amt-wrap .suffix{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:700;color:var(--muted);}
  .chips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px;}
  .chips button{font-size:11.5px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:7px;padding:6px 0;}
  .chips button:hover{color:var(--text);border-color:var(--line-2);}
  .chips button.active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim);}
  .selrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  select{
    width:100%;height:38px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
    color:var(--text);font:inherit;font-size:12.5px;font-weight:600;padding:0 10px;outline:none;
  }
  .quote{border-top:1px solid var(--line);padding:14px 18px;display:flex;flex-direction:column;gap:10px;}
  .quote-rate{display:flex;align-items:baseline;justify-content:space-between;}
  .quote-rate .l{font-size:12px;font-weight:600;color:var(--muted);}
  .quote-rate .v{font-size:26px;font-weight:700;letter-spacing:-.01em;}
  .qrow{display:flex;justify-content:space-between;font-size:12.5px;}
  .qrow .l{color:var(--muted);}
  .qrow .v{font-weight:600;}
  .qrow .v.warn{color:var(--sell);}
  .covbar{height:5px;background:var(--panel-2);border-radius:99px;overflow:hidden;}
  .covbar i{display:block;height:100%;border-radius:99px;background:var(--accent);transition:width .3s;}
  .plan{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;border-top:1px solid var(--line);}
  .plan-body{padding:8px 18px 14px;overflow:auto;flex:1;min-height:0;}
  .plan-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;}
  .panel-head.plan-head{margin-bottom:0;}
  .plan h5{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
  .plan-detail-btn{
    border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:6px;
    font-size:11px;font-weight:700;padding:5px 8px;
  }
  .plan-detail-btn:hover{border-color:var(--accent);color:var(--accent);}
  .plan-detail-btn:disabled{opacity:.45;cursor:not-allowed;border-color:var(--line);color:var(--muted);}
  .plan-row{display:flex;align-items:center;gap:8px;font-size:12px;padding:5px 0;}
  .plan-row .m{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .plan-row .take{color:var(--muted);}
  .plan-row .p{font-weight:700;}
  .plan-more{
    display:block;width:100%;text-align:left;font-size:11.5px;color:var(--muted);padding:5px 0 0;
    background:transparent;border:0;cursor:pointer;
  }
  .plan-more:hover{color:var(--accent);}
  .vbadge{
    font-size:9.5px;font-weight:700;letter-spacing:.03em;padding:2px 5px;border-radius:4px;
    background:var(--panel-2);color:var(--muted);flex:0 0 auto;
  }
  .vbadge.binance{color:#e6b31e;background:rgba(230,179,30,.12);}
  .vbadge.bybit{color:#6ea8f7;background:rgba(110,168,247,.12);}

  /* ---------- lower trade workspace ---------- */
  .account-panel{height:100%;display:flex;flex-direction:column;min-height:0;overflow:hidden;}
  .account-tabs{
    display:flex;align-items:center;gap:18px;min-height:42px;padding:0 16px;border-bottom:1px solid var(--line);
    overflow-x:auto;
  }
  .account-tabs button{
    position:relative;height:42px;display:flex;align-items:center;color:var(--muted);
    font-size:12px;font-weight:800;white-space:nowrap;
  }
  .account-tabs button:hover{color:var(--text);}
  .account-tabs button.active{color:var(--text);}
  .account-tabs button.active::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--accent);
  }
  .account-content{flex:1;min-height:0;overflow:auto;}
  .account-view{display:none;height:100%;}
  .account-view.active{display:block;}
  .account-table{width:100%;border-collapse:collapse;font-size:12px;}
  .account-table th{
    text-align:left;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    padding:9px 16px;border-bottom:1px solid var(--line);
  }
  .account-table td{padding:7px 16px;border-bottom:0;white-space:nowrap;}
  .account-table th:not(:first-child),.account-table td:not(:first-child){text-align:right;}
  .account-table tr:last-child td{border-bottom:0;}
  .account-empty{height:136px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;}
  .plan-body .account-empty{height:100%;min-height:90px;text-align:center;padding:0 12px;}

  /* ---------- chat rail ---------- */
  .chat-panel{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;}
  .chat-panel.premium-mode{border-color:color-mix(in srgb, var(--buy) 38%, var(--line));}
  .chat-panel.premium-mode .chat-head{background:color-mix(in srgb, var(--buy) 5%, var(--panel));}
  .chat-head{display:flex;align-items:center;gap:8px;padding:12px 12px;border-bottom:1px solid var(--line);}
  .chat-title{font-size:13px;font-weight:800;}
  .chat-collapse{
    display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--line);
    border-radius:7px;color:var(--muted);font-size:14px;font-weight:900;
  }
  .chat-collapse:hover{color:var(--accent);border-color:var(--accent);}
  .chat-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;margin:10px 12px 0;background:var(--panel-2);border-radius:8px;}
  .chat-tabs button{height:28px;border-radius:6px;color:var(--muted);font-size:11.5px;font-weight:800;}
  .chat-tabs button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.18);}
  .chat-pins{display:flex;flex-direction:column;gap:6px;padding:10px 12px 0;}
  .chat-pin{
    padding:8px 9px;border:1px solid color-mix(in srgb, var(--accent) 32%, var(--line));
    border-radius:8px;background:var(--accent-dim);font-size:11px;line-height:1.35;color:var(--text);
  }
  .chat-pin b{display:block;color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;}
  .chat-list{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;}
  .chat-msg{padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb, var(--panel) 84%, var(--panel-2));}
  .chat-msg.premium{border-color:color-mix(in srgb, var(--buy) 30%, var(--line));}
  .chat-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:10.5px;color:var(--muted);}
  .chat-author{font-weight:800;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .chat-body{font-size:12px;line-height:1.45;word-break:break-word;}
  .chat-status{min-height:17px;padding:0 12px 6px;color:var(--muted);font-size:11px;}
  .chat-status.err{color:var(--sell);}
  .chat-status.ok{color:var(--buy);}
  .chat-compose{border-top:1px solid var(--line);padding:10px 12px 12px;display:flex;flex-direction:column;gap:7px;}
  .chat-compose input,.chat-compose textarea{
    width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;color:var(--text);
    font:inherit;font-size:12px;outline:none;
  }
  .chat-compose input{height:34px;padding:0 10px;}
  .chat-compose textarea{height:62px;resize:none;padding:9px 10px;line-height:1.35;}
  .chat-compose input:focus,.chat-compose textarea:focus{border-color:var(--accent);}
  .chat-compose-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
  .chat-compose-row .meta{font-size:10.5px;color:var(--muted);}
  .chat-send{height:30px;padding:0 12px;border-radius:7px;background:var(--accent);border:1px solid var(--accent);color:#fff;font-size:11.5px;font-weight:850;}
  .chat-send:disabled{opacity:.55;cursor:not-allowed;}
  .chat-closed{
    height:100%;display:none;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);
    background:var(--panel);color:var(--accent);font-weight:900;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.04em;
  }
  .terminal.chat-collapsed .chat-panel{display:none;}
  .terminal.chat-collapsed .chat-closed{display:flex;}

  /* ---------- ladder (compact BOOK) ---------- */
  .book-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
  .book-tools{display:flex;align-items:center;gap:6px;}
  .book-view-tabs{display:flex;gap:2px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:2px;}
  .book-view-tabs button{display:flex;align-items:center;justify-content:center;width:24px;height:22px;border-radius:4px;color:var(--muted);}
  .book-view-tabs button.active{background:var(--line-2);color:var(--text);}
  .book-lock{display:flex;align-items:center;justify-content:center;width:24px;height:22px;border:1px solid var(--line);border-radius:6px;color:var(--muted);}
  .book-lock.on{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);}
  .book-tick{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:6px;padding:1px 4px;}
  .book-tick button{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:700;border-radius:4px;}
  .book-tick button:hover{background:var(--panel-2);color:var(--text);}
  .book-tick span{font-size:11px;font-weight:700;min-width:20px;text-align:center;}
  #ladderWrap{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden;}
  .ladder-head{flex:0 0 auto;display:grid;grid-template-columns:minmax(58px,.65fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1fr);
    column-gap:6px;width:100%;min-width:0;box-sizing:border-box;padding:8px 10px;font-size:10px;font-weight:600;
    color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);}
  .ladder-head span{min-width:0;overflow:hidden;white-space:nowrap;}
  .ladder-head span:not(:first-child){text-align:right;}
  .ladder-scroll{display:flex;flex-direction:column;flex:1 1 0;min-width:0;min-height:80px;overflow-x:hidden;overflow-y:auto;}
  .ladder-center-pad{flex:0 0 auto;height:0;pointer-events:none;}
  .ladder-row{position:relative;display:grid;grid-template-columns:minmax(58px,.65fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1fr);
    column-gap:6px;width:100%;min-width:0;box-sizing:border-box;padding:3px 10px;font-size:12px;font-weight:600;flex:0 0 auto;}
  .ladder-row .bar{position:absolute;top:0;bottom:0;right:0;z-index:0;}
  .ladder-row.ask .bar{background:var(--sell-dim);}
  .ladder-row.bid .bar{background:var(--buy-dim);}
  .ladder-row span{position:relative;z-index:1;min-width:0;}
  .ladder-row .venue{display:flex;align-items:center;gap:2px;overflow:hidden;white-space:nowrap;cursor:help;}
  .ladder-row .p,.ladder-row .q,.ladder-row .t{font-size:12px;line-height:16px;font-weight:600;text-align:right;white-space:nowrap;}
  .ladder-row .p.ask{color:var(--sell);} .ladder-row .p.bid{color:var(--buy);}
  .ladder-row .q, .ladder-row .t{color:var(--text);cursor:help;}
  .ladder-mid{position:relative;flex:0 0 auto;display:flex;
    align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:4px 10px;
    background:var(--panel-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .ladder-mid-price{display:flex;align-items:baseline;justify-content:flex-start;gap:5px;min-width:0;cursor:help;white-space:nowrap;}
  .ladder-mid .index-label{font-size:10px;font-weight:700;color:var(--muted);}
  .ladder-mid .index-dot{font-size:11px;font-weight:700;color:var(--muted);}
  .ladder-mid .v{font-size:15px;line-height:17px;font-weight:800;color:var(--text);}
  .ladder-mid.up .v{color:var(--buy);} .ladder-mid.down .v{color:var(--sell);}
  .ladder-mid .sp{font-size:11px;font-weight:600;color:var(--muted);}
  .ladder-mid .sp.crossed{color:var(--sell);}
  .ladder-recenter{justify-self:end;align-self:center;color:var(--accent);font-size:11px;font-weight:700;}
  .ladder-recenter:hover{text-decoration:underline;}
  .ladder-recenter:active{transform:scale(.96);}
  .ladder-depth{flex:0 0 auto;display:flex;height:20px;font-size:10px;font-weight:700;}
  .ladder-depth-bid{background:var(--buy-dim);color:var(--buy);display:flex;align-items:center;justify-content:center;}
  .ladder-depth-ask{background:var(--sell-dim);color:var(--sell);display:flex;align-items:center;justify-content:center;}
  .ladder-foot{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;padding:7px 14px 8px;
    border-top:1px solid var(--line);font-size:11px;font-weight:600;color:var(--muted);}
  .ladder-foot-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
  .ladder-foot-row span:last-child{font-weight:800;color:var(--text);text-align:right;}
  .ladder-foot-row span:last-child .bid{color:var(--buy);}
  .ladder-foot-row span:last-child .ask{color:var(--sell);}
  .ladder-empty{padding:18px 14px;text-align:center;color:var(--muted);font-size:12px;}

  /* ---------- order book (dual side-by-side) ---------- */
  .side-books{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .side-book-panel{min-width:0;}
  .side-head{padding:14px 18px;border-bottom:1px solid var(--line);}
  .side-head-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
  .side-title{font-size:13.5px;font-weight:700;}
  .side-sub{font-size:11px;color:var(--muted);margin-top:2px;}
  .side-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .side-controls select{width:auto;height:30px;font-size:11.5px;padding:0 8px;}
  .fbtn{font-size:11px;font-weight:600;padding:5px 12px;border:1px solid var(--line);border-radius:8px;color:var(--text);}
  .fbtn:hover{border-color:var(--line-2);}
  .fbtn.active{border-color:var(--accent);color:var(--accent);}
  .side-filters-extra{display:none;gap:10px;padding-top:10px;flex-wrap:wrap;}
  .side-filters-extra.open{display:flex;}
  .side-filters-extra > div{min-width:130px;}
  .side-filters-extra select{width:100%;}
  .side-filters-extra input[type="text"]{
    width:170px;height:38px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
    color:var(--text);font:inherit;font-size:12.5px;font-weight:600;padding:0 10px;outline:none;
  }
  .side-filters-extra input[type="text"]:focus{border-color:var(--accent);}
  .side-filters-extra input[type="text"]::placeholder{color:var(--muted);font-weight:500;}
  .side-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-bottom:1px solid var(--line);}
  .side-stat{padding:9px 14px;border-right:1px solid var(--line);min-width:0;}
  .side-stat:last-child{border-right:0;}
  .side-stat .l{font-size:9.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .side-stat .v{font-size:13px;font-weight:700;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  table.book{width:100%;border-collapse:collapse;font-size:12px;}
  table.book th{
    text-align:right;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
    color:var(--muted);padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap;
  }
  table.book th:first-child,table.book th:nth-child(2){text-align:left;}
  table.book td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;}
  table.book td:first-child,table.book td:nth-child(2){text-align:left;}
  table.book tr:last-child td{border-bottom:0;}
  table.book tbody tr:hover{background:var(--panel-2);}
  table.book tr.best-row td{position:relative;}
  table.book tr.best-row td:first-child{border-left:2px solid var(--buy);}
  .rank{color:var(--muted);font-weight:600;}
  .best-badge{
    display:inline-block;font-size:9px;font-weight:800;letter-spacing:.03em;color:#04160d;
    background:var(--buy);padding:2px 6px;border-radius:4px;margin-right:6px;vertical-align:middle;
  }
  .mname{font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle;}
  .pr.buy{color:var(--buy);font-weight:700;} .pr.sell{color:var(--sell);font-weight:700;}
  .paycell{max-width:170px;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:11px;}
  .cmpl{font-weight:700;}
  .cmpl.good{color:var(--buy);} .cmpl.warn{color:var(--accent);} .cmpl.bad{color:var(--sell);}
  .empty-note{padding:26px;text-align:center;color:var(--muted);font-size:12.5px;}
  @media (max-width:1180px){.side-books{grid-template-columns:1fr;}}

  /* ---------- footer ---------- */
  footer{flex:0 0 auto;padding:0;margin-top:0;background:var(--panel);}
  .footer-bar{
    min-height:34px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;
    padding:0 20px;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--panel);
    color:var(--muted);font-size:11px;
  }
  .footer-left,.footer-center,.footer-right{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap;}
  .footer-center{justify-content:center;}
  .footer-right{justify-content:flex-end;}
  .footer-dot{color:var(--line-2);}
  .footer-status{display:inline-flex;align-items:center;gap:5px;font-weight:700;}
  .footer-status .dot{width:6px;height:6px;border-radius:50%;background:var(--muted);}
  .footer-status.ok{color:var(--buy);}
  .footer-status.ok .dot{background:var(--buy);}
  .footer-status.warn{color:var(--accent);}
  .footer-status.warn .dot{background:var(--accent);}
  .footer-status.bad{color:var(--sell);}
  .footer-status.bad .dot{background:var(--sell);}
  .footer-status[data-tooltip]{position:relative;cursor:help;outline:none;}
  .footer-status[data-tooltip]::after{
    content:attr(data-tooltip);position:absolute;left:0;bottom:calc(100% + 9px);z-index:160;
    width:max-content;max-width:min(380px,calc(100vw - 32px));padding:8px 10px;
    border:1px solid var(--line-2);border-radius:4px;background:var(--panel-2);color:var(--text);
    box-shadow:0 8px 24px rgba(0,0,0,.32);font-size:11px;font-weight:600;line-height:1.4;
    white-space:normal;overflow-wrap:anywhere;opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(4px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;
  }
  .footer-status[data-tooltip]:hover::after,
  .footer-status[data-tooltip]:focus-visible::after{
    opacity:1;visibility:visible;transform:translateY(0);
  }
  .footer-link,.footer-tip{
    color:var(--muted);text-decoration:none;font-weight:700;font-size:11px;white-space:nowrap;
    display:inline-flex;align-items:center;line-height:1;
  }
  button.footer-link{border:0;background:transparent;padding:0;cursor:pointer;font-family:inherit;}
  .footer-link:hover,.footer-tip:hover{color:var(--accent);}
  .footer-tip{cursor:pointer;max-width:260px;overflow:hidden;text-overflow:ellipsis;}
  .banner{
    display:none;margin:14px 0 0;padding:10px 14px;border-radius:9px;font-size:12px;font-weight:600;
    background:var(--sell-dim);color:var(--sell);border:1px solid color-mix(in srgb, var(--sell) 30%, transparent);
  }
  .banner.warn{background:var(--accent-dim);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent);}

  /* ---------- on-chain escrow ---------- */
  .escrow-panel{margin-top:12px;}
  .escrow-settings{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;padding:14px 18px;border-bottom:1px solid var(--line);}
  .escrow-settings .field{min-width:260px;flex:1;}
  .escrow-settings input{width:100%;}
  .escrow-body{padding:16px 18px;}
  .escrow-toprow{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
  .escrow-stat{display:flex;flex-direction:column;gap:1px;}
  .escrow-stat .l{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
  .escrow-stat .v{font-size:14px;font-weight:700;}
  .trade-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;}
  .trade-card .trade-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
  .trade-card .trade-meta{font-size:11.5px;color:var(--muted);margin-bottom:8px;}
  .trade-card .trade-actions{display:flex;gap:8px;flex-wrap:wrap;}
  .tbadge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:6px;}
  .tbadge.created,.tbadge.resolved{background:var(--sell-dim);color:var(--sell);}
  .tbadge.locked,.tbadge.paymentsent{background:var(--accent-dim);color:var(--accent);}
  .tbadge.released{background:var(--buy-dim);color:var(--buy);}
  .tbadge.cancelled{background:var(--panel-2);color:var(--muted);}
  .tbadge.disputed,.tbadge.arbitration{background:var(--sell-dim);color:var(--sell);}
  .trade-btn{font-size:10.5px;padding:3px 9px;}
  .fbtn.primary{background:var(--accent);color:#fff;border-color:var(--accent);}
  .fbtn:disabled{opacity:.5;cursor:not-allowed;}
  #viewNative.active{overflow:auto;background:var(--panel);}
  .phase3a-legacy-escrow{display:none!important;}
  .native-panel{min-height:100%;background:var(--panel);}
  .native-topbar{
    min-height:52px;display:flex;align-items:center;gap:18px;padding:0 18px;border-bottom:1px solid var(--line);
  }
  .native-title-group,.native-wallet-strip{display:flex;align-items:center;gap:10px;min-width:0;}
  .native-title-group strong{font-size:14px;white-space:nowrap;}
  .native-beta{font-size:9.5px;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;}
  .native-wallet-strip{margin-left:auto;}
  .native-wallet-strip > span{display:flex;align-items:baseline;gap:6px;padding-right:12px;border-right:1px solid var(--line);}
  .native-wallet-strip small{font-size:9.5px;font-weight:700;color:var(--muted);text-transform:uppercase;}
  .native-wallet-strip b{font-size:12px;}
  .native-locked{
    min-height:160px;display:flex;align-items:center;justify-content:center;padding:24px 18px;
    text-align:center;color:var(--muted);font-size:12.5px;border-bottom:1px solid var(--line);
  }
  .native-body{min-width:980px;}
  .native-mode-notice{
    min-height:42px;display:flex;align-items:center;gap:16px;padding:6px 18px;border-bottom:1px solid var(--line);
    background:var(--accent-dim);font-size:11px;color:var(--muted);
  }
  .native-mode-copy{display:flex;align-items:center;gap:10px;min-width:0;}
  .native-mode-copy b{color:var(--accent);white-space:nowrap;}
  .native-mode-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .native-data-health{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;}
  .native-data-health small{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);}
  .native-data-state{font-size:10px;font-weight:800;white-space:nowrap;color:var(--buy);}
  .native-data-state.loading{color:var(--accent);}
  .native-data-state.stale,.native-data-state.reorg,.native-data-state.lagging{color:var(--warn);}
  .native-data-state.unavailable,.native-data-state.incompatible{color:var(--sell);}
  .native-data-health button{
    width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px;border:1px solid var(--line);border-radius:5px;
    color:var(--text);font-size:15px;line-height:1;
  }
  .native-data-health button:hover{border-color:var(--accent);color:var(--accent);}
  .native-data-health button:disabled{opacity:.45;cursor:wait;}
  .native-terminal{display:grid;grid-template-columns:minmax(0,1fr) 340px;border-bottom:1px solid var(--line);}
  .native-market-pane{min-width:0;border-right:1px solid var(--line);}
  .native-market-stats{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));border-bottom:1px solid var(--line);}
  .native-market-stats > div{display:flex;flex-direction:column;gap:2px;padding:9px 14px;min-width:0;}
  .native-market-stats small,.native-balance-grid small{
    color:var(--muted);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  }
  .native-market-stats b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .native-market-stats .buy,.native-section-head .buy{color:var(--buy);}
  .native-market-stats .sell,.native-section-head .sell{color:var(--sell);}
  .native-books{display:grid;grid-template-columns:1fr 1fr;min-height:322px;}
  .native-book-side{min-width:0;overflow:hidden;}
  .native-book-side + .native-book-side{border-left:1px solid var(--line);}
  .native-section-head{
    height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-bottom:1px solid var(--line);
  }
  .native-section-head > span:first-child{display:flex;align-items:baseline;gap:8px;min-width:0;}
  .native-section-head b{font-size:12.5px;}
  .native-section-head small,.native-column-note{font-size:10.5px;color:var(--muted);white-space:nowrap;}
  .native-table-scroll{overflow:auto;}
  .native-table{width:100%;border-collapse:collapse;font-size:11.5px;}
  .native-table th{
    font-size:9.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:650;
    text-align:right;padding:7px 10px;border-bottom:1px solid var(--line);white-space:nowrap;
  }
  .native-table td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;}
  .native-table th:first-child,.native-table td:first-child{text-align:left;}
  .native-table tbody tr:last-child td{border-bottom:0;}
  .native-table tbody tr:hover{background:color-mix(in srgb,var(--panel-2) 72%,transparent);}
  .native-data-empty{text-align:center!important;padding:24px 10px!important;color:var(--muted);}
  .native-table .native-payments{max-width:110px;overflow:hidden;text-overflow:ellipsis;color:var(--muted);}
  .native-table .native-order-id{color:var(--muted);font-size:10.5px;}
  .native-row-select{padding:3px 7px;border:1px solid var(--line);border-radius:5px;color:var(--accent);font-size:10px;font-weight:800;}
  .native-row-select:hover{border-color:var(--accent);background:var(--accent-dim);}
  .native-ticket{min-width:0;}
  .native-ticket-head{
    height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line);
    font-size:12.5px;font-weight:800;
  }
  .native-ticket-head small{font-size:10.5px;color:var(--muted);font-weight:600;}
  .native-side-switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:12px 14px 8px;padding:3px;background:var(--panel-2);border-radius:7px;}
  .native-side-switch button{height:34px;border-radius:5px;color:var(--muted);font-size:11.5px;font-weight:800;}
  .native-side-switch button.active.buy{background:var(--buy);color:#03160d;}
  .native-side-switch button.active.sell{background:var(--sell);color:#fff;}
  .native-type-tabs{display:flex;gap:14px;height:34px;padding:0 16px;border-bottom:1px solid var(--line);}
  .native-type-tabs button{position:relative;color:var(--muted);font-size:11px;font-weight:750;}
  .native-type-tabs button.active{color:var(--text);}
  .native-type-tabs button.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);}
  .native-selected-order{
    min-height:26px;display:flex;align-items:center;padding:5px 16px;background:var(--accent-dim);
    color:var(--accent);font-size:10.5px;font-weight:700;
  }
  .native-ticket-fields{padding:10px 14px 2px;}
  .native-ticket-fields label{display:block;margin-bottom:9px;}
  .native-ticket-fields label > span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:650;}
  .native-ticket-fields label > div{
    height:38px;display:flex;align-items:center;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;overflow:hidden;
  }
  .native-ticket-fields input{
    flex:1;min-width:0;height:100%;padding:0 10px;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:750;outline:0;
  }
  .native-ticket-fields label > div b{padding:0 10px;color:var(--muted);font-size:10px;}
  .native-ticket-fields input:focus{box-shadow:inset 0 0 0 1px var(--accent);}
  .native-ticket-fields input:disabled{color:var(--muted);cursor:not-allowed;}
  .native-ticket-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .native-ticket-row select{
    width:100%;height:36px;padding:0 8px;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;
    color:var(--text);font:inherit;font-size:11px;font-weight:700;outline:0;
  }
  .native-quote{display:flex;flex-direction:column;gap:7px;margin:0 14px;padding:10px 0;border-top:1px solid var(--line);}
  .native-quote > div{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10.5px;}
  .native-quote span{color:var(--muted);}
  .native-quote b{text-align:right;}
  .native-submit{
    width:calc(100% - 28px);height:36px;margin:0 14px;border-radius:7px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:850;
  }
  .native-submit:disabled{opacity:.55;cursor:not-allowed;}
  .native-risk-copy{min-height:42px;margin:9px 14px 12px;color:var(--muted);font-size:10px;line-height:1.4;}
  .native-account{min-height:194px;}
  .native-account-tabs{height:42px;display:flex;align-items:stretch;gap:18px;padding:0 16px;border-bottom:1px solid var(--line);overflow-x:auto;}
  .native-account-tabs button{position:relative;color:var(--muted);font-size:11.5px;font-weight:800;white-space:nowrap;}
  .native-account-tabs button.active{color:var(--text);}
  .native-account-tabs button.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);}
  .native-account-view{display:none;min-height:150px;overflow:auto;}
  .native-account-view.active{display:block;}
  .native-trade-state{display:inline-flex;padding:2px 6px;border-radius:4px;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:750;}
  .native-trade-state.released,.native-trade-state.resolved{background:var(--buy-dim);color:var(--buy);}
  .native-trade-state.disputed{background:var(--sell-dim);color:var(--sell);}
  .native-timeline-layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:166px;}
  .native-trade-list{border-right:1px solid var(--line);padding:6px 0;}
  .native-trade-list button{width:100%;display:flex;justify-content:space-between;gap:10px;padding:8px 14px;color:var(--muted);font-size:11px;text-align:left;}
  .native-trade-list button.active{background:var(--accent-dim);color:var(--text);}
  .native-timeline{padding:13px 18px;}
  .native-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px;}
  .native-timeline-head strong{font-size:12px;}
  .native-approval{font-size:10.5px;font-weight:750;color:var(--accent);}
  .native-timeline-step{position:relative;padding:0 0 11px 17px;font-size:11px;}
  .native-timeline-step::before{content:"";position:absolute;left:2px;top:4px;width:6px;height:6px;border-radius:50%;background:var(--accent);}
  .native-timeline-step::after{content:"";position:absolute;left:4.5px;top:12px;bottom:0;width:1px;background:var(--line-2);}
  .native-timeline-step:last-child::after{display:none;}
  .native-timeline-step b{display:block;margin-bottom:2px;}
  .native-timeline-step span{color:var(--muted);}
  .native-timeline-step time{float:right;color:var(--muted);font-size:10px;}
  .native-balance-grid{display:grid;grid-template-columns:repeat(4,1fr);min-height:150px;}
  .native-balance-grid > div{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:16px;border-right:1px solid var(--line);}
  .native-balance-grid > div:last-child{border-right:0;}
  .native-balance-grid b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

  /* ---------- Phase 5 merchant intelligence ---------- */
  .mi-shell{
    width:100%;height:100%;min-width:0;min-height:0;display:grid;
    grid-template-columns:minmax(0,1fr);grid-template-rows:auto 66px minmax(0,1fr) minmax(30px,auto);
    background:var(--panel);border-top:1px solid var(--line);
  }
  .mi-toolbar{
    min-width:0;min-height:64px;display:flex;align-items:center;gap:24px;padding:9px 16px;border-bottom:1px solid var(--line);
  }
  .mi-title{display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 9px;min-width:260px;}
  .mi-title strong{font-size:14px;}
  .mi-title small{grid-column:1 / -1;color:var(--muted);font-size:10.5px;white-space:nowrap;}
  .status-pill{
    display:inline-flex;align-items:center;width:max-content;padding:2px 7px;border:1px solid var(--line-2);
    border-radius:999px;color:var(--muted);font-size:9.5px;font-weight:800;text-transform:uppercase;
  }
  .status-pill.ok{color:var(--buy);border-color:color-mix(in srgb, var(--buy) 38%, var(--line));}
  .status-pill.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 38%, var(--line));}
  .mi-filters{display:flex;align-items:flex-end;gap:8px;min-width:0;overflow-x:auto;margin-left:auto;padding-bottom:1px;}
  .mi-filters label{display:flex;flex-direction:column;gap:4px;flex:0 0 auto;}
  .mi-filters label > span{color:var(--muted);font-size:9.5px;font-weight:700;}
  .mi-filters select,.mi-filters input{
    height:31px;min-width:116px;padding:0 9px;border:1px solid var(--line);border-radius:6px;
    background:var(--panel-2);color:var(--text);font-size:11px;outline:none;
  }
  .mi-filters select:focus,.mi-filters input:focus{border-color:var(--accent);}
  .mi-search-field input{width:170px;}
  .mi-kpis{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) minmax(270px,1.5fr);border-bottom:1px solid var(--line);}
  .mi-kpis > div{
    min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 16px;border-right:1px solid var(--line);
  }
  .mi-kpis > div:last-child{border-right:0;}
  .mi-kpis small{color:var(--muted);font-size:9.5px;font-weight:700;text-transform:uppercase;}
  .mi-kpis strong{font-size:17px;}
  .mi-kpis .mi-definition span{font-size:11px;color:var(--muted);line-height:1.35;}
  .mi-main{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(660px,1.25fr) minmax(430px,.75fr);}
  .mi-ranking,.mi-detail{min-width:0;min-height:0;display:flex;flex-direction:column;}
  .mi-ranking{border-right:1px solid var(--line);}
  .mi-pane-head,.mi-detail-head{
    min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--line);
  }
  .mi-pane-head > div,.mi-detail-head > div{display:flex;align-items:center;gap:9px;min-width:0;}
  .mi-pane-head strong,.mi-detail-head strong{font-size:12.5px;}
  .mi-pane-head small,.mi-detail-head small{color:var(--muted);font-size:10.5px;white-space:nowrap;}
  .mi-table-scroll{min-height:0;overflow:auto;flex:1;}
  .mi-table{width:100%;min-width:940px;border-collapse:collapse;font-size:11px;}
  .mi-table th{
    position:sticky;top:0;z-index:1;height:32px;padding:0 10px;background:var(--panel);
    color:var(--muted);font-size:9px;font-weight:750;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);
  }
  .mi-table th:first-child,.mi-table td:first-child{text-align:left;position:sticky;left:0;}
  .mi-table th:first-child{z-index:3;background:var(--panel);}
  .mi-table td:first-child{z-index:1;background:var(--panel);}
  .mi-table td{height:38px;padding:0 10px;text-align:right;white-space:nowrap;}
  .mi-table tbody tr{border-bottom:1px solid color-mix(in srgb, var(--line) 65%, transparent);cursor:pointer;}
  .mi-table tbody tr:hover,.mi-table tbody tr.selected{background:var(--accent-dim);}
  .mi-table tbody tr:hover td:first-child,.mi-table tbody tr.selected td:first-child{background:var(--accent-dim);}
  .mi-table tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
  .mi-merchant-open{
    width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;
    font:inherit;cursor:pointer;
  }
  .mi-merchant-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
  .mi-merchant-cell{display:flex;flex-direction:column;gap:1px;max-width:220px;}
  .mi-merchant-cell b{overflow:hidden;text-overflow:ellipsis;font-size:11.5px;}
  .mi-merchant-cell small{color:var(--muted);font-size:9.5px;}
  .mi-sides{display:inline-flex;gap:5px;font-weight:750;}
  .mi-sides .buy{color:var(--buy);}.mi-sides .sell{color:var(--sell);}
  .mi-change-pair{font-variant-numeric:tabular-nums;color:var(--muted);}
  .mi-confidence{
    display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:2px 6px;
    border:1px solid var(--line-2);border-radius:999px;color:var(--muted);
    font-size:8.5px;font-weight:800;text-transform:uppercase;
  }
  .mi-confidence.high{color:var(--buy);border-color:color-mix(in srgb,var(--buy) 44%,var(--line));}
  .mi-confidence.medium{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 44%,var(--line));}
  .mi-confidence.low{color:var(--sell);border-color:color-mix(in srgb,var(--sell) 44%,var(--line));}
  .mi-detail{overflow:hidden;}
  .mi-detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:30px;text-align:center;}
  .mi-detail-empty strong{font-size:13px;}
  .mi-detail-empty span{max-width:380px;color:var(--muted);font-size:11px;line-height:1.5;}
  .mi-detail-content{min-height:0;overflow:auto;}
  .mi-detail-content[hidden]{display:none;}
  .mi-detail-head > div{flex-wrap:wrap;}
  .mi-detail-head small{width:100%;padding-left:0;}
  .mi-detail-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:nowrap!important;}
  .mi-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);}
  .mi-detail-stats > div{padding:9px 11px;border-right:1px solid var(--line);}
  .mi-detail-stats > div:nth-child(3n){border-right:0;}
  .mi-detail-stats > div:nth-child(-n+3){border-bottom:1px solid var(--line);}
  .mi-detail-stats small{display:block;color:var(--muted);font-size:8.5px;text-transform:uppercase;margin-bottom:3px;}
  .mi-detail-stats b{font-size:11.5px;}
  .mi-detail-section{padding:11px 13px;border-bottom:1px solid var(--line);}
  .mi-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px;}
  .mi-section-title strong{font-size:11px;}
  .mi-section-title small{font-size:9.5px;color:var(--muted);}
  .mi-analytics-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);}
  .mi-analytics-grid > div{
    min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;
    min-height:32px;padding:5px 8px;border-bottom:1px solid var(--line);
  }
  .mi-analytics-grid > div:nth-child(odd){border-right:1px solid var(--line);}
  .mi-analytics-grid small{color:var(--muted);font-size:8.8px;}
  .mi-analytics-grid b{font-size:10px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .mi-cohort-list{border-top:1px solid var(--line);}
  .mi-cohort-row{
    min-height:29px;display:grid;grid-template-columns:minmax(115px,1fr) minmax(80px,1.5fr) 34px 36px;
    align-items:center;gap:7px;border-bottom:1px solid var(--line);font-size:9px;
  }
  .mi-cohort-row > span{color:var(--muted);}
  .mi-cohort-row > div{height:4px;background:var(--panel-2);overflow:hidden;}
  .mi-cohort-row i{display:block;height:100%;background:var(--accent);}
  .mi-cohort-row b{text-align:right;font-size:9.5px;}
  .mi-cohort-row small{color:var(--muted);text-align:right;font-size:8.5px;}
  .mi-confidence-list{border-top:1px solid var(--line);}
  .mi-confidence-head,.mi-confidence-list > div:not(.mi-confidence-head){
    min-height:29px;display:grid;grid-template-columns:minmax(120px,1fr) auto auto 42px;
    align-items:center;gap:8px;border-bottom:1px solid var(--line);font-size:9px;
  }
  .mi-confidence-head{grid-template-columns:1fr auto;}
  .mi-confidence-list span{color:var(--muted);}
  .mi-confidence-list b{font-size:9.5px;text-align:right;}
  .mi-confidence-list small{color:var(--muted);text-align:right;}
  .mi-confidence-list em{font-style:normal;font-weight:800;text-align:right;color:var(--sell);}
  .mi-confidence-list .pass em{color:var(--buy);}
  #miInventoryChart{display:block;width:100%;height:150px;}
  .mi-heatmap-hours{display:flex;justify-content:space-between;margin:0 2px 4px 38px;color:var(--muted);font-size:8px;}
  .mi-heatmap{display:grid;grid-template-columns:34px repeat(24,minmax(5px,1fr));gap:2px;align-items:center;}
  .mi-heatmap-label{color:var(--muted);font-size:8.5px;text-transform:uppercase;}
  .mi-heatmap-cell{
    aspect-ratio:1;border:1px solid color-mix(in srgb, var(--line) 75%, transparent);
    background:color-mix(in srgb, var(--accent) var(--heat-pct,0%), var(--panel-2));
  }
  .mi-heatmap-key{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:6px;color:var(--muted);font-size:8.5px;}
  .mi-heatmap-key i{width:10px;height:7px;background:var(--accent-dim);}
  .mi-heatmap-key i:nth-of-type(2){background:color-mix(in srgb,var(--accent) 30%,var(--panel-2));}
  .mi-heatmap-key i:nth-of-type(3){background:color-mix(in srgb,var(--accent) 55%,var(--panel-2));}
  .mi-heatmap-key i:nth-of-type(4){background:color-mix(in srgb,var(--accent) 82%,var(--panel-2));}
  .mi-side-summary{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .mi-side-summary > div{padding:9px 10px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;}
  .mi-side-summary > div + div{border-left:1px solid var(--line);}
  .mi-side-summary strong{font-size:11px;}
  .mi-side-summary small{font-size:9px;color:var(--muted);}
  .mi-side-summary b{font-size:10.5px;text-align:right;}
  .mi-timeline-section{padding-bottom:0;}
  .mi-timeline-scroll{max-height:230px;overflow:auto;margin:0 -13px;}
  .mi-timeline th:first-child,.mi-timeline td:first-child{padding-left:13px;}
  .mi-timeline th:last-child,.mi-timeline td:last-child{padding-right:13px;}
  .mi-timeline tbody tr{cursor:default;}
  .mi-provenance{
    min-width:0;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:5px 18px;
    padding:6px 14px;color:var(--muted);font-size:9.5px;line-height:1.35;
    border-top:1px solid var(--line);flex-wrap:wrap;
  }
  .mi-provenance b{color:var(--text);font-weight:650;}
  .toast{
    position:fixed;right:18px;bottom:18px;z-index:70;display:none;max-width:360px;padding:10px 12px;
    border:1px solid var(--line-2);border-radius:8px;background:var(--panel-2);color:var(--text);
    font-size:12px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.35);
  }
  .toast.ok{border-color:color-mix(in srgb, var(--buy) 45%, transparent);color:var(--buy);}
  .toast.warn{border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent);}
  .modal-overlay{
    position:fixed;inset:0;background:rgba(4,8,14,.55);display:flex;align-items:center;justify-content:center;
    z-index:50;padding:20px;
  }
  .modal-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);max-width:440px;width:100%;padding:18px 20px;}
  .modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
  .modal-note{font-size:11.5px;color:var(--muted);line-height:1.5;margin-bottom:14px;}
  .modal-status{font-size:12px;color:var(--muted);min-height:16px;margin:8px 0;}
  .modal-status.err{color:var(--sell);}
  .modal-status.ok{color:var(--buy);}
  .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px;}
  .modal-actions-spacer{flex:1;}
  .modal-box .field{margin-bottom:10px;}
  .modal-box input,.modal-box select{width:100%;}
  .modal-box .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .account-security-box{max-width:680px;max-height:calc(100vh - 40px);overflow:auto;padding:18px 20px 16px;}
  .account-security-summary{
    min-height:32px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    padding:0 0 12px;color:var(--muted);font-size:11.5px;
  }
  .account-security-summary b{color:var(--text);font-size:12px;overflow-wrap:anywhere;}
  .account-security-summary .security-state{color:var(--accent);font-weight:750;}
  .account-security-summary .security-state.ready{color:var(--buy);}
  .account-security-entry-actions{margin-top:0;}
  .account-security-section{border-top:1px solid var(--line);padding:13px 0 4px;}
  .account-security-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
  .account-security-section-head > div{display:flex;align-items:baseline;gap:9px;min-width:0;}
  .account-security-section-head span{font-size:12px;font-weight:800;color:var(--text);}
  .account-security-section-head small{font-size:10.5px;color:var(--muted);}
  .account-passkey-enroll{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-bottom:8px;}
  .account-passkey-enroll input{min-width:0;height:34px;}
  .account-security-list{min-width:0;}
  .account-security-row{
    min-height:46px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;
    padding:8px 0;border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);
  }
  .account-security-row:first-child{border-top:0;}
  .account-security-row-main{min-width:0;display:flex;flex-direction:column;gap:3px;}
  .account-security-row-main strong{font-size:11.5px;color:var(--text);font-weight:750;overflow-wrap:anywhere;}
  .account-security-row-main small{font-size:10.5px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere;}
  .account-security-row-action{display:flex;align-items:center;gap:8px;white-space:nowrap;}
  .account-security-current{font-size:10.5px;color:var(--buy);font-weight:750;}
  .account-security-empty{padding:10px 0;color:var(--muted);font-size:11px;}
  #accountAdminState[data-ready="true"]{color:var(--buy);}
  #accountAdminVerify:disabled{opacity:.5;cursor:not-allowed;}
  .about-box{max-width:600px;}
  .about-intro{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:16px;}
  .about-sections{display:grid;gap:10px;}
  .about-section{padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb, var(--panel) 86%, var(--panel-2));}
  .about-section h4{font-size:12.5px;font-weight:800;margin:0 0 5px;color:var(--text);}
  .about-section p{font-size:11.5px;line-height:1.45;color:var(--muted);margin:0;}
  .about-actions{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap;}
  .about-actions .fbtn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:112px;height:32px;}
  .about-version{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap;}
  .plan-details-box{width:min(96vw,1320px);max-width:none;max-height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden;}
  .plan-details-summary{margin:0;color:var(--muted);}
  .plan-detail-table-wrap{border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:70vh;}
  .plan-detail-table{width:100%;min-width:1080px;table-layout:fixed;}
  .plan-detail-table th,.plan-detail-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .plan-detail-table td.merchant-cell,.plan-detail-table td.payments-cell{overflow:hidden;text-overflow:ellipsis;}
  .plan-detail-table td.num-cell{font-variant-numeric:tabular-nums;}
  @media (min-width:1120px){
    .plan-detail-table{min-width:0;}
  }

  @media (max-width:1180px){
    body{height:auto;min-height:100%;overflow:auto;display:block;}
    .wrap{display:block;overflow:visible;}
    .workspace-view.active{height:auto;overflow:visible;}
    .terminal{
      grid-template-columns:minmax(0,1fr) 340px;
      grid-template-areas:
        "chart order"
        "ladder order"
        "account order"
        "chat chat";
      grid-template-rows:560px 560px 240px 380px;
      height:auto;
    }
    .terminal.chat-collapsed{grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:560px 560px 240px 48px;}
    .native-body{min-width:0;}
    .native-terminal{grid-template-columns:minmax(0,1fr) 320px;}
    .mi-shell{height:auto;min-height:900px;grid-template-rows:auto auto auto minmax(30px,auto);}
    .mi-toolbar{align-items:flex-start;flex-direction:column;gap:10px;}
    .mi-filters{width:100%;margin-left:0;}
    .mi-kpis{grid-template-columns:repeat(4,1fr);}
    .mi-kpis .mi-definition{grid-column:1 / -1;border-top:1px solid var(--line);}
    .mi-main{grid-template-columns:1fr;grid-template-rows:520px auto;}
    .mi-ranking{border-right:0;border-bottom:1px solid var(--line);}
    .mi-detail{min-height:650px;}
  }
  @media (max-width:820px){
    .workspace-tabs{width:100%;}
    .workspace-tabs button{flex:1;padding-left:10px;padding-right:10px;}
    .account-security-box{max-height:calc(100vh - 20px);padding:15px 14px;}
    .account-passkey-enroll{grid-template-columns:1fr;}
    .account-security-row{align-items:start;}
    .terminal{
      grid-template-columns:1fr;
      grid-template-areas:"chart" "ladder" "order" "account" "chat";
      grid-template-rows:520px 520px auto 240px 380px;
    }
    .terminal.chat-collapsed{grid-template-columns:1fr;grid-template-rows:520px 520px auto 240px 48px;}
    .calc{position:static;}
    .footer-bar{grid-template-columns:1fr;gap:6px;padding:8px 12px;}
    .footer-left,.footer-center,.footer-right{justify-content:center;flex-wrap:wrap;}
    .native-topbar{align-items:flex-start;flex-direction:column;padding:10px 14px;}
    .native-wallet-strip{width:100%;margin-left:0;flex-wrap:wrap;}
    .native-mode-notice{align-items:flex-start;flex-direction:column;gap:6px;padding:9px 14px;}
    .native-mode-copy{align-items:flex-start;flex-direction:column;gap:3px;}
    .native-mode-copy span{white-space:normal;}
    .native-data-health{width:100%;margin-left:0;justify-content:flex-start;}
    .native-data-health small{max-width:none;flex:1;}
    .native-terminal{grid-template-columns:1fr;}
    .native-market-pane{border-right:0;border-bottom:1px solid var(--line);}
    .native-market-stats{grid-template-columns:repeat(2,1fr);}
    .native-books{grid-template-columns:1fr;}
    .native-book-side + .native-book-side{border-left:0;border-top:1px solid var(--line);}
    .native-timeline-layout{grid-template-columns:1fr;}
    .native-trade-list{border-right:0;border-bottom:1px solid var(--line);}
    .native-balance-grid{grid-template-columns:1fr 1fr;}
    .native-balance-grid > div:nth-child(2){border-right:0;}
    .native-balance-grid > div{border-bottom:1px solid var(--line);}
    .mi-kpis{grid-template-columns:1fr 1fr;}
    .mi-kpis > div:nth-child(2n){border-right:0;}
    .mi-kpis .mi-definition{grid-column:1 / -1;}
    .mi-main{grid-template-rows:480px auto;}
    .mi-detail-stats{grid-template-columns:1fr 1fr;}
    .mi-detail-stats > div{border-bottom:1px solid var(--line);}
    .mi-detail-stats > div:nth-child(2n){border-right:0;}
    .mi-detail-stats > div:nth-last-child(-n+2){border-bottom:0;}
    .mi-analytics-grid{grid-template-columns:1fr;}
    .mi-analytics-grid > div:nth-child(odd){border-right:0;}
    .mi-side-summary{grid-template-columns:1fr;}
    .mi-side-summary > div + div{border-left:0;border-top:1px solid var(--line);}
  }
  @media (max-width:1400px){
    .topbar{gap:14px;}
    .workspace-tabs{gap:16px;}
    .marketbar{gap:18px;}
  }
  @media (max-width:720px){
    .topbar{height:auto;min-height:52px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;row-gap:8px;}
    .brand{width:100%;}
    .workspace-tabs{
      order:3;width:100%;min-width:0;gap:0;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;
    }
    .workspace-tabs button{height:34px;justify-content:center;flex:0 0 auto;padding-left:12px;padding-right:12px;}
    .marketbar{height:auto;min-height:46px;padding-top:8px;padding-bottom:8px;gap:16px;}
    .tstat.hero .v{font-size:16px;}
    .hmeta{display:none;}
    .bookfilters{margin-left:0;}
    .paycell{display:none;}
    table.book th:last-child{display:none;}
    .selrow{gap:6px;}
    .selrow select{font-size:11.5px;padding:0 7px;}
  }

  /* ---------- BW3 interface design system contract ---------- */
  :root{
    --font-brand:22px;
    --font-primary-metric:24px;
    --font-headline:18px;
    --font-page-title:16px;
    --font-panel-title:14px;
    --font-body:12px;
    --font-meta:11px;
    --font-badge:10px;
    --control-height:32px;
    --input-height:36px;
    --row-orderbook:24px;
    --row-dense:30px;
    --row-standard:34px;
    --radius-control:6px;
    --radius-overlay:8px;
    --space-1:4px;
    --space-2:8px;
    --space-3:12px;
    --space-4:16px;
    --space-5:20px;
    --space-6:24px;
    --space-8:32px;
    --radius:var(--radius-overlay);
  }
  body{
    font-family:Inter,"Segoe UI Variable","Segoe UI",system-ui,sans-serif;
    font-size:var(--font-body);
    font-weight:500;
    font-variant-numeric:tabular-nums slashed-zero;
  }
  body *{letter-spacing:0!important;}
  button,input,select,textarea{font-family:inherit;font-size:var(--font-body);}
  button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
  [role="button"]:focus-visible,[tabindex="0"]:focus-visible{
    outline:2px solid var(--accent);outline-offset:1px;
  }
  .brand{font-size:var(--font-panel-title);letter-spacing:0;}
  .brand-name{font-size:var(--font-brand);font-weight:800;letter-spacing:0;}
  .brand-logo{border-radius:var(--radius-control);}
  .workspace-tabs button,.hbtn,.tabset button,.rangebar button,.tool-link,.fbtn{
    font-size:var(--font-body);font-weight:600;
  }
  .hbtn,.fbtn,.side-controls select,.mi-filters select,.mi-filters input{
    min-height:var(--control-height);border-radius:var(--radius-control);
  }
  .hbtn,.fbtn{padding-left:var(--space-3);padding-right:var(--space-3);}
  .pill{font-size:var(--font-meta);border-radius:var(--radius-control);}
  .tstat .l{font-size:var(--font-meta);font-weight:500;text-transform:none;}
  .tstat .v{font-size:var(--font-page-title);font-weight:700;}
  .tstat.hero .v{font-size:var(--font-headline);}
  .delta{font-size:var(--font-body);}
  .panel,.terminal .panel,.side-book-panel,.native-panel,.mi-shell{border-radius:0;box-shadow:none;}
  .panel-head h2,.panel-head h3,.side-title,.native-title-group strong,.mi-title strong{
    font-size:var(--font-panel-title);font-weight:700;line-height:20px;
  }
  .side-sub,.flabel,.hmeta,.legend,.chart-status,.ladder-foot,.native-panel label{
    font-size:var(--font-meta);
  }
  .tabset,.sideswitch,.chat-tabs,.native-side-switch{border-radius:var(--radius-control);}
  .tabset button,.sideswitch button,.chat-tabs button,.native-side-switch button{border-radius:4px;}
  input,select,.amtbox,.native-input,.account-passkey-enroll input{border-radius:var(--radius-control)!important;}
  .modal-box,.account-security-box,.plan-detail-table-wrap,.chart-menu{
    border-radius:var(--radius-overlay);
  }
  .side-books{
    height:100%;min-height:0;gap:0;padding:0!important;border-top:1px solid var(--line);
  }
  .side-book-panel{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);}
  .side-book-panel:last-child{border-right:0;}
  .side-head{padding:var(--space-3) var(--space-4);}
  .side-controls{gap:var(--space-2);}
  .side-controls select{height:var(--control-height);font-size:var(--font-body);}
  .side-filters-extra{gap:var(--space-2);padding-top:var(--space-2);}
  .side-filters-extra input[type="text"]{
    height:var(--input-height);border-radius:var(--radius-control);
    font-size:var(--font-body);font-weight:500;
  }
  .side-stat{padding:var(--space-2) var(--space-3);}
  .side-stat .l{
    font-size:var(--font-meta);font-weight:500;text-transform:none;
  }
  .side-stat .v{font-size:var(--font-panel-title);font-weight:700;margin-top:2px;}
  .side-book-scroll{min-height:0;flex:1;overflow:auto;}
  table.book{font-size:var(--font-body);table-layout:fixed;}
  table.book th{
    position:sticky;top:0;z-index:3;height:var(--row-dense);padding:0 var(--space-2);
    background:var(--panel);font-size:var(--font-meta);font-weight:600;
    text-transform:none;text-align:left;
  }
  table.book td{
    height:var(--row-dense);padding:0 var(--space-2);font-size:var(--font-body);
    font-weight:500;text-align:left;
  }
  table.book th:nth-child(3),table.book th:nth-child(4),
  table.book th:nth-child(7),table.book th:nth-child(8),
  table.book td:nth-child(3),table.book td:nth-child(4),
  table.book td:nth-child(7),table.book td:nth-child(8){text-align:right;}
  table.grouped-side-book{min-width:760px;}
  table.grouped-side-book col:nth-child(1){width:58px;}
  table.grouped-side-book col:nth-child(2){width:92px;}
  table.grouped-side-book col:nth-child(3){width:112px;}
  table.grouped-side-book col:nth-child(4){width:122px;}
  table.grouped-side-book col:nth-child(5){width:auto;}
  table.grouped-side-book col:nth-child(6){width:150px;}
  table.grouped-side-book col:nth-child(7){width:92px;}
  table.grouped-side-book col:nth-child(8){width:78px;}
  .price-level-row{cursor:pointer;background:color-mix(in srgb,var(--panel) 94%,var(--panel-2));}
  .price-level-row td{height:var(--row-standard)!important;border-bottom:1px solid var(--line)!important;font-weight:700!important;}
  .price-level-row:hover,.price-level-row:focus{background:var(--panel-2);}
  .price-level-row .level-toggle span{
    display:inline-block;color:var(--muted);font-size:var(--font-page-title);
    line-height:1;transition:transform .15s ease;
  }
  .price-level-row.expanded .level-toggle span{transform:rotate(90deg);}
  .price-level-row td small,.price-level-child td small{
    display:block;margin-top:1px;color:var(--muted);font-size:var(--font-meta);
    font-weight:500;line-height:15px;
  }
  .price-level-child{display:none;}
  .price-level-child.open{display:table-row;}
  .price-level-child td{
    height:var(--row-dense)!important;color:var(--muted);
    border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)!important;
  }
  .price-level-child .mname{color:var(--text);font-size:var(--font-body);font-weight:600;}
  .venue-summary{white-space:normal!important;}
  .venue-summary .vbadge{margin-right:var(--space-1);}
  .group-venue-count{margin-right:var(--space-2);color:var(--text);font-size:var(--font-meta);}
  .level-detail-count{color:var(--accent);font-size:var(--font-meta);font-weight:600;}
  .best-badge,.vbadge,.native-beta,.status-pill,.mi-confidence{
    font-size:var(--font-badge)!important;font-weight:700;border-radius:4px;text-transform:none;
  }
  .best-badge{letter-spacing:0;}
  .paycell{font-size:var(--font-meta);}
  .empty-note{font-size:var(--font-body);}
  .native-panel{font-size:var(--font-body);}
  .native-panel small,.native-panel label,.native-panel time,.native-approval{
    font-size:var(--font-meta)!important;text-transform:none;
  }
  .native-balance-grid b,.native-timeline-head strong{font-size:var(--font-body);}
  .mi-shell{font-size:var(--font-body);}
  .mi-title small,.mi-filters label > span,.mi-kpis small,.mi-pane-head small,
  .mi-detail-head small,.mi-merchant-cell small,.mi-detail-stats small,
  .mi-section-title small,.mi-analytics-grid small,.mi-cohort-row,
  .mi-cohort-row b,.mi-cohort-row small,.mi-confidence-head,
  .mi-confidence-list > div,.mi-confidence-list b,.mi-heatmap-hours,
  .mi-heatmap-label,.mi-heatmap-key,.mi-side-summary small,.mi-provenance{
    font-size:var(--font-meta)!important;text-transform:none;
  }
  .mi-kpis strong{font-size:var(--font-headline);}
  .mi-pane-head strong,.mi-detail-head strong,.mi-merchant-cell b,
  .mi-detail-stats b,.mi-section-title strong,.mi-side-summary strong{
    font-size:var(--font-body);
  }
  .mi-table{font-size:var(--font-body);}
  .mi-table th{height:var(--row-dense);font-size:var(--font-meta);font-weight:600;text-transform:none;}
  .mi-table td{height:var(--row-standard);font-size:var(--font-body);}
  .mi-analytics-grid b,.mi-side-summary b{font-size:var(--font-body);}
  .mi-heatmap-cell{min-width:6px;}
  .footer-bar{min-height:30px;font-size:var(--font-meta);}

  @media (max-width:1500px){
    .side-books{
      grid-template-columns:1fr;height:100%;min-height:0;overflow-y:auto;
    }
    .side-book-panel{min-height:520px;border-right:0;border-bottom:1px solid var(--line);}
  }
