/* PCC Ops — round 9 (R9-C7): board views part 2 — Chart, Dashboard, Form, Files, Cards (js/boardviews2.js, mockup MB-02). App CSS variables only. */
.bv2{--bv2-bar:#6F6B66;display:flex;flex-direction:column;gap:10px;min-width:0;padding:4px 0 12px}
[data-theme=dark] .bv2{--bv2-bar:#9a96a6}
.bv2 .bv2-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-height:30px}
.bv2 .bv2-f{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink2);white-space:nowrap}
.bv2 select,.bv2 input[type=text],.bv2 input[type=date],.bv2 input[type=url],.bv2 input[type=email],.bv2 textarea{font:inherit;font-size:12.5px;color:var(--ink);background:var(--field,var(--paper));border:1px solid var(--rule);border-radius:6px;height:30px;padding:0 8px;min-width:0;max-width:100%}
.bv2 select{max-width:260px}
.bv2 textarea{height:auto;padding:6px 8px;resize:vertical;width:100%}
.bv2 .bv2-sp{flex:1}
.bv2 .bv2-note{font:500 12px var(--font);font-variant-numeric:tabular-nums;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bv2 .bv2-sub{font-size:11.5px;color:var(--ink2);line-height:1.4}
.bv2 .bv2-seg{display:inline-flex;border:1px solid var(--rule);border-radius:6px;overflow:hidden;background:var(--paper)}
.bv2 .bv2-seg button{border:0;background:transparent;color:var(--ink2);font:600 12px var(--font);padding:0 12px;height:28px;cursor:pointer}
.bv2 .bv2-seg button+button{border-left:1px solid var(--rule)}
.bv2 .bv2-seg button.on{background:var(--ink);color:var(--paper)}
.bv2 .bv2-card{background:var(--paper);border:1px solid var(--rule);border-radius:10px;box-shadow:var(--sh);padding:12px 14px;min-width:0}
.bv2 .bv2-card h4{font-size:13.5px;font-weight:800;color:var(--ink);margin:0 0 10px;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.bv2 .bv2-card h4 span{font-size:11px;font-weight:500;color:var(--ink2)}
.bv2 .bv2-cnote{margin-top:10px;font-size:11px;color:var(--ink3)}
.bv2 .bv2-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:48px 16px;color:var(--ink2);font-size:13px;background:var(--paper);border:1px dashed var(--rule);border-radius:10px}
.bv2 .bv2-empty b{font-size:15px;color:var(--ink)}.bv2 .bv2-empty.sm{padding:24px 12px}
/* bars (MB-02 chart) */
.bv2 .bv2-bars{display:flex;flex-direction:column}
.bv2 .bv2-br{display:grid;grid-template-columns:minmax(90px,190px) minmax(0,1fr) 64px;align-items:center;gap:8px;min-height:30px}
.bv2 .bv2-bn{font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bv2 .bv2-br:hover .bv2-bn{font-weight:700}
.bv2 .bv2-bt{height:14px;position:relative;background:var(--bg2);border-radius:0 4px 4px 0}
.bv2 .bv2-bt i{position:absolute;left:0;top:0;bottom:0;border-radius:0 4px 4px 0;min-width:3px}
.bv2 .bv2-br b{font:700 12px var(--font);color:var(--ink);text-align:right}
.bv2 .bv2-axis{margin:4px 72px 0 calc(min(190px,30%) + 8px);border-top:1px solid var(--rule);display:flex;justify-content:space-between;font:500 11px var(--font);color:var(--ink3);padding-top:3px}
/* pie */
.bv2 .bv2-pie{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.bv2 .bv2-pie svg{width:220px;height:220px;flex:none}
.bv2 .bv2-pie path,.bv2 .bv2-pie circle{stroke:var(--paper);stroke-width:1.5}
.bv2 .bv2-pie circle{stroke-width:36}
.bv2 .bv2-pt{font:800 24px var(--font);fill:var(--ink)}.bv2 .bv2-ps{font:500 11px var(--font);fill:var(--ink2)}
.bv2 .bv2-lgs{flex:1;min-width:220px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px}
.bv2 .bv2-lg{display:grid;grid-template-columns:12px minmax(0,1fr) auto 40px;align-items:center;gap:7px;font-size:12px;min-height:22px}
.bv2 .bv2-lg i{width:12px;height:12px;border-radius:3px}.bv2 .bv2-lg span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bv2 .bv2-lg b{font:700 12px var(--font)}.bv2 .bv2-lg em{font:500 11px var(--font);color:var(--ink3);font-style:normal;text-align:right}
/* line */
.bv2 .bv2-line svg{width:100%;height:auto;max-height:340px;display:block}
.bv2 .bv2-gl{stroke:var(--rule);stroke-width:1}
.bv2 .bv2-ax{font:500 11px var(--font);fill:var(--ink3)}
.bv2 .bv2-pl{fill:none;stroke:var(--indigo);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.bv2 .bv2-dot{fill:var(--paper);stroke:var(--indigo);stroke-width:2}
/* dashboard */
.bv2 .bv2-dash{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bv2 .bv2-w.wide{grid-column:1/-1}
.bv2 .bv2-wh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.bv2 .bv2-wh h4{margin:0;flex:1;min-width:0}
.bv2 .bv2-wh select{height:26px;font-size:12px;max-width:200px}
.bv2 .bv2-big{font:800 30px/1.1 var(--font);color:var(--ink)}
.bv2 .bv2-bat{display:flex;height:22px;border-radius:6px;overflow:hidden;background:var(--bg2)}
.bv2 .bv2-bat i{display:block;height:100%;min-width:2px}
.bv2 .bv2-batl{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:12px;color:var(--ink)}
.bv2 .bv2-batl span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.bv2 .bv2-batl i{width:10px;height:10px;border-radius:3px;display:inline-block}
.bv2 .bv2-batl b{font:700 11.5px var(--font)}.bv2 .bv2-batl em{font:500 11px var(--font);color:var(--ink3);font-style:normal}
/* form */
.bv2 .bv2-formw{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;align-items:start}
.bv2 .bv2-banner{border:1px solid var(--rule);background:var(--paper2);border-radius:8px;padding:8px 11px;font-size:12px;color:var(--ink2);line-height:1.45;margin-bottom:10px}
.bv2 .bv2-banner b{color:var(--ink)}
.bv2 .bv2-banner.dry{background:var(--amber-l);border-color:var(--amber)}
.bv2 .bv2-banner.ok{background:var(--green-l);border-color:var(--green)}
.bv2 .bv2-banner.bad{background:var(--red-l);border-color:var(--red)}
.bv2 .bv2-fg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.bv2 .bv2-fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.bv2 .bv2-fld.wide{grid-column:1/-1}
.bv2 .bv2-fld label{font-size:11.5px;font-weight:700;color:var(--ink2)}
.bv2 .bv2-fld label em{color:var(--red);font-style:normal}
.bv2 .bv2-fld input,.bv2 .bv2-fld select{width:100%;max-width:none}
.bv2 .bv2-tl{display:flex;align-items:center;gap:6px}.bv2 .bv2-tl input{flex:1}.bv2 .bv2-tl span{font-size:11.5px;color:var(--ink3)}
.bv2 .bv2-fld label.bv2-cbx{display:inline-flex;align-items:center;gap:6px;height:30px;font-weight:600;color:var(--ink)}
.bv2 .bv2-fb{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}
.bv2 .bv2-res{margin-top:10px;border-radius:8px;padding:9px 12px;font-size:12.5px;line-height:1.45;display:flex;flex-direction:column;gap:3px;border:1px solid var(--rule)}
.bv2 .bv2-res b{font-size:13px;color:var(--ink)}
.bv2 .bv2-res.ok{background:var(--green-l);border-color:var(--green)}
.bv2 .bv2-res.dry{background:var(--amber-l);border-color:var(--amber)}
.bv2 .bv2-res.bad{background:var(--red-l);border-color:var(--red)}
.bv2 .bv2-res.wait{background:var(--paper2)}
.bv2 .bv2-sent{font:500 11.5px var(--font);color:var(--ink2);word-break:break-word}
.bv2 .bv2-fpick h4{margin-bottom:6px}
.bv2 .bv2-fl{display:flex;flex-direction:column;max-height:420px;overflow:auto;margin:0 -4px 8px}
.bv2 .bv2-fl label,.bv2 .bv2-ddp label{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px;border-radius:5px;font-size:12px;cursor:pointer}
.bv2 .bv2-fl label:hover,.bv2 .bv2-ddp label:hover{background:var(--hover)}
.bv2 .bv2-fl span,.bv2 .bv2-ddp span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.bv2 .bv2-fl em{font:500 11px var(--font);color:var(--ink3);font-style:normal}
/* files */
.bv2 .bv2-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.bv2 .bv2-file{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--paper);border:1px solid var(--rule);border-radius:9px;padding:8px;color:var(--ink);text-decoration:none;font:inherit;cursor:pointer;min-width:0}
.bv2 .bv2-file:hover{border-color:var(--ink3)}
.bv2 .bv2-fth{height:96px;border-radius:6px;background:var(--bg2);display:grid;place-items:center;overflow:hidden;border-top:4px solid var(--fc)}
.bv2 .bv2-fth b{font:800 16px var(--mono);color:var(--fc)}.bv2 .bv2-fth img{width:100%;height:100%;object-fit:cover}
.bv2 .bv2-fn{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bv2 .bv2-fm{font-size:11px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bv2 .bv2-more{display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 0}
/* cards */
.bv2 .bv2-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.bv2 .bv2-cd{background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--gc);border-radius:9px;padding:9px 11px;box-shadow:var(--sh);cursor:pointer;min-width:0;display:flex;flex-direction:column;gap:6px}
.bv2 .bv2-cd:hover,.bv2 .bv2-cd:focus-visible{border-color:var(--ink3);outline:none}
.bv2 .bv2-cd:focus-visible{box-shadow:0 0 0 2px var(--indigo)}
.bv2 .bv2-cdh{display:flex;align-items:center;gap:6px;min-width:0}
.bv2 .bv2-cdn{flex:1;min-width:0;font:700 12.5px var(--mono);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bv2 .bv2-cdm{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.bv2 .bv2-cdm .bd-st{font-size:11px;padding:3px 8px;border-radius:11px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.bv2 .bv2-cdg{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.bv2 .bv2-cdg i{width:8px;height:8px;border-radius:50%;background:var(--gc);flex:none}
.bv2 .bv2-cd dl{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:3px 8px;margin:0;font-size:11.5px}
.bv2 .bv2-cd dt{color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bv2 .bv2-cd dd{margin:0;color:var(--ink);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bv2 .bv2-cd dd>*{max-width:100%}
.bv2 .bv2-dash0{color:var(--ink3)}
.bv2 .bv2-dd{position:relative}
.bv2 .bv2-dd summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center}
.bv2 .bv2-dd summary::-webkit-details-marker{display:none}
.bv2 .bv2-ddp{position:absolute;z-index:30;top:calc(100% + 4px);left:0;width:260px;max-height:340px;overflow:auto;background:var(--paper);border:1px solid var(--rule);border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.18);padding:6px}
/* tablet */
@media (max-width:1100px){.bv2 .bv2-formw{grid-template-columns:minmax(0,1fr)}.bv2 .bv2-fl{max-height:220px}}
@media (max-width:900px){.bv2 .bv2-dash{grid-template-columns:repeat(2,minmax(0,1fr))}.bv2 .bv2-fg{grid-template-columns:minmax(0,1fr)}.bv2 .bv2-br{grid-template-columns:minmax(80px,130px) minmax(0,1fr) 56px}.bv2 .bv2-axis{margin-left:calc(min(130px,30%) + 8px);margin-right:64px}.bv2 .bv2-pie svg{width:180px;height:180px}}
@media (max-width:640px){.bv2 .bv2-dash{grid-template-columns:minmax(0,1fr)}.bv2 .bv2-cards{grid-template-columns:minmax(0,1fr)}}
/* round 10 (U11): open-orders switch, form field list without type tags */
.bv2-chk{display:inline-flex;align-items:center;gap:6px;font-weight:600;white-space:nowrap}
.bv2 .bv2-fl label{gap:8px}

/* round 10 fix: numbers in the body font, lined up */
.bv2 .bv2-br b,.bv2 .bv2-lg b,.bv2 .bv2-batl b,.bv2 .bv2-axis{font-variant-numeric:tabular-nums}
.bv2 .bv2-cdn{font-family:var(--font)}   /* round 10 fix: item names in the body font (WO # stays mono elsewhere) */
.bv2 .bv2-cd dd .bd-st{display:inline-block;margin:0;height:auto;line-height:1.5;padding:1px 8px;border-radius:4px;max-width:100%}
.bv2 .bv2-cd dl{grid-template-columns:minmax(0,46%) minmax(0,1fr)}
.bv2 .bv2-card h4{text-transform:none;letter-spacing:0;font-size:var(--fs-16,16px)}   /* round 10 fix: card titles in sentence case */
