/* Holdings builder (static/hbuilder.js), used by Portfolio X-ray. Mirrors the Portfolio analyzer's rows (planning.css .pl-hold).
   Scoped under .hb; 44 px tap targets; theme variables so dark mode follows. */
.hb{margin:4px 0 10px;min-width:0}
.hb *{box-sizing:border-box}
.hb-ac{position:relative;display:flex;gap:8px}
html[lang][data-theme] body.ct .hb .hb-q:not(#_){flex:1;min-width:0;height:44px!important;padding:0 14px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--card)!important;color:var(--ink)!important;font:400 16px/1.2 var(--f-body)!important;margin:0!important}
html[lang][data-theme] body.ct .hb .hb-addb:not(#_){height:44px!important;min-width:64px;padding:0 16px!important;border:0!important;border-radius:10px!important;background:#15203F!important;color:#fff!important;font:600 15px/1 var(--f-body)!important;cursor:pointer;margin:0!important}
.hb-sg{position:absolute;left:0;right:72px;top:48px;z-index:30;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px rgba(10,17,36,.18);overflow:hidden}
html[lang][data-theme] body.ct .hb-sg button:not(#_){display:flex;gap:10px;align-items:baseline;width:100%;min-height:44px;padding:10px 14px!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;color:var(--ink)!important;text-align:left;font:400 14px/1.3 var(--f-body)!important;cursor:pointer;border-radius:0!important;margin:0!important}
.hb-sg button:last-child{border-bottom:0!important}
html[lang][data-theme] body.ct .hb-sg button.on:not(#_),html[lang][data-theme] body.ct .hb-sg button:hover:not(#_){background:rgba(62,200,201,.12)!important}
.hb-sg b{min-width:52px;font-weight:700}.hb-sg span{opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb-head,.hb-row{display:grid;grid-template-columns:minmax(0,1fr) 104px 44px;gap:8px;align-items:center}
.hb-head{margin-top:12px;padding:0 0 4px;border-bottom:1px solid var(--line);font:600 11px/14px var(--f-body);letter-spacing:.06em;text-transform:uppercase;opacity:.6}
.hb-head span:nth-child(2){text-align:right;padding-right:12px}
.hb-row{padding:6px 0;border-bottom:1px solid var(--line)}
.hb-row .t{min-width:0}.hb-row .t b{display:block;font:700 15px/19px var(--f-body);color:var(--ink)}
.hb-row .t span{display:block;font:400 12px/16px var(--f-body);opacity:.65;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[lang][data-theme] body.ct .hb .hb-w:not(#_){width:100%;height:44px!important;padding:0 12px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--card)!important;color:var(--ink)!important;text-align:right;font:600 16px/1 var(--f-body)!important;font-variant-numeric:tabular-nums;margin:0!important}
html[lang][data-theme] body.ct .hb .hb-x:not(#_){width:44px;height:44px;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--ink)!important;opacity:.55;font:400 24px/1 var(--f-body)!important;cursor:pointer;margin:0!important}
html[lang][data-theme] body.ct .hb .hb-x:hover:not(#_){opacity:1;background:rgba(127,127,127,.12)!important}
.hb-foot{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-top:10px}
.hb-cnt{flex:1 1 100%;font:400 13px/18px var(--f-body);opacity:.7}
html[lang][data-theme] body.ct .hb .hb-btn:not(#_){min-height:44px;padding:0 14px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:transparent!important;color:var(--ink)!important;font:600 14px/1 var(--f-body)!important;cursor:pointer;margin:0!important}
.hb-btn[hidden],.hb-head[hidden]{display:none!important}
textarea.hb-raw[hidden],label.hb-raw-lab[hidden]{display:none!important}
@media (min-width:700px){.hb-cnt{flex:1 1 auto}}
.tform:has(.hb){margin-bottom:16px}
