/* Chart workspace (K screens, web/js/chartws.js). Layout and colours follow the design canvas: cream frame,
   white panels with hairline borders, 44px top bar, 48px drawing rail, 300px side rail. */
.cw{height:100vh;display:flex;font-family:Geist,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:#141414;background:#efeadb;overflow:hidden}
.cw-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px;padding:4px;box-sizing:border-box}
.cw-top{height:44px;flex:0 0 44px;box-sizing:border-box;display:flex;align-items:center;gap:2px;padding:0 6px;background:#fff;border-radius:8px;box-shadow:inset 0 0 0 1px #e7e3d3;overflow-x:auto;overflow-y:hidden}
.cw .tb{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 9px;border-radius:6px;border:0;background:transparent;color:#141414;font:inherit;font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;white-space:nowrap;flex:0 0 auto}
.cw .tb[aria-pressed="true"]{background:#ebe7da;color:#2a2a2a}
@media (hover:hover) and (pointer:fine){.cw .tb:hover{background:#f3efe0}}
.cw .tb.sym{background:#f3efe0;border-radius:999px;padding:0 12px;min-width:100px}
.cw .vr{width:1px;height:20px;background:#e7e3d3;margin:0 4px;flex:0 0 1px}
.cw .num{font-variant-numeric:tabular-nums}
.cw .up{color:#087a68}.cw .dn{color:#c4001a}
.cw-ask{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;background:#141414;color:#fefcf2!important;text-decoration:none;font-size:13px;font-weight:500;margin-left:6px;white-space:nowrap}
.cw-body{flex:1 1 auto;min-height:0;display:flex;gap:4px}
.cw-rail{width:48px;flex:0 0 48px;box-sizing:border-box;padding:8px 0;display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff;border-radius:8px;box-shadow:inset 0 0 0 1px #e7e3d3;overflow-y:auto}
.cw .ri{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:0;background:transparent;color:#3f3e3a;cursor:pointer;flex:0 0 36px}
.cw .ri[aria-current="true"]{background:#141414;color:#fefcf2}
@media (hover:hover) and (pointer:fine){.cw .ri:not([aria-current]):hover{background:#f3efe0;color:#141414}}
.cw-rail .sep{width:24px;height:1px;background:#e7e3d3;margin:6px 0;flex:0 0 1px}
.cw-pane{position:relative;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:8px;box-shadow:inset 0 0 0 1px #e7e3d3}
.cw-chartwrap{position:relative;flex:1 1 auto;min-height:0;background:#fff}
.cw-leg{position:absolute;top:8px;left:12px;right:80px;z-index:2;display:flex;flex-direction:column;gap:2px;pointer-events:none}
.cw .leg{display:flex;align-items:center;gap:6px;font-size:12px;line-height:18px}
.cw .leg .m{color:#6b6862}
.cw-bottom{height:36px;flex:0 0 36px;box-sizing:border-box;display:flex;align-items:center;gap:2px;padding:0 8px;border-top:1px solid #e7e3d3;background:#fff;overflow-x:auto}
.cw-bottom .tb{height:28px;padding:0 8px}
.cw-side{width:300px;flex:0 0 300px;box-sizing:border-box;display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:inset 0 0 0 1px #e7e3d3;overflow:hidden}
.cw-ph{display:flex;align-items:center;justify-content:space-between;height:44px;flex:0 0 44px;padding:0 6px 0 14px;border-bottom:1px solid #e7e3d3;font-size:14px;font-weight:600}
.cw-pb{padding:12px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;min-height:0}
.cw-pb:first-of-type{flex:1 1 auto}
.cw-opt{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:10px 12px;border-radius:10px;border:0;background:transparent;font:inherit;color:#141414;cursor:pointer}
.cw-opt b{font-size:14px;font-weight:500}.cw-opt span{font-size:12px;line-height:17px;color:#6b6862}
.cw-opt[aria-current="true"]{background:#ebe7da}
@media (hover:hover) and (pointer:fine){.cw-opt:not([aria-current]):hover{background:#faf7ea}}
.cw-link{font-size:13px;color:#141414;padding:8px 12px}
.cw-sec{padding:12px 4px 4px;font-size:11px;line-height:16px;font-weight:500;color:#6b5a2e;letter-spacing:.02em}
.cw-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 4px;border-top:1px solid #f0ecdd;font-size:13px;color:#141414;text-decoration:none}
.cw .wl{display:grid;align-items:center;gap:0 6px;width:100%;padding:7px 12px;border:0;background:transparent;font:inherit;font-size:13px;color:#141414;text-align:right;cursor:pointer;box-sizing:border-box}
.cw .wl>span:first-child{text-align:left}
.cw .wl2{grid-template-columns:96px 1fr 70px}
.cw .wl3{grid-template-columns:1fr 76px 64px}
.cw .wl[aria-current="true"]{background:#ebe7da}
@media (hover:hover) and (pointer:fine){.cw .wl:not([aria-current]):hover{background:#faf7ea}}
.cw-wlh{display:grid;grid-template-columns:1fr 76px 64px;gap:0 6px;padding:8px 12px 4px;font-size:12px;color:#6b6862;text-align:right}
.cw-wlh span:first-child{text-align:left}
.cw-wl{overflow-y:auto;flex:1 1 auto;min-height:60px}
.cw-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px;border-top:1px solid #e7e3d3}
.cw-mono{width:28px;height:28px;border-radius:8px;background:#141414;color:#fefcf2;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}
.cw-perf{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cw-perf>span{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 0;border-radius:8px;background:#f3efe0;font-size:13px;font-weight:500}
.cw-perf>span>span:first-child{font-size:11px;color:#6b6862;font-weight:400}
.cw-filing{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;box-shadow:inset 0 0 0 1px #e7e3d3;text-decoration:none;color:#141414}
.cw-check{display:flex;gap:8px;align-items:center;padding:8px 4px;font-size:14px;cursor:pointer}
.cw-check input{accent-color:#141414}
.cw-guide{display:flex;gap:12px;align-items:flex-start;padding:10px 4px;border-top:1px solid #f0ecdd}
.cw-guide b{font-size:14px}
.cw-gallery,.cw-grid{position:absolute;inset:0;display:grid;gap:4px;padding:4px;background:#efeadb}
.cw-gallery{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}
.cw-g2{grid-template-columns:1fr 1fr}.cw-g4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.cw-cell{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:6px;border:0;padding:24px 4px 4px;cursor:pointer;font:inherit;min-height:0;min-width:0;text-align:left}
.cw-cell-h{position:absolute;top:5px;left:10px;font-size:12px;font-weight:600;color:#141414;z-index:1}
@media (max-width:1100px){.cw-side{display:none}}
/* v2: menus, swatches, status, modal, layouts */
.cw-sel{height:32px;border:0;border-radius:6px;background:transparent;font:inherit;font-size:13px;font-weight:500;color:#141414;padding:0 6px;cursor:pointer}
@media (hover:hover) and (pointer:fine){.cw-sel:hover{background:#f3efe0}}
.cw-menuwrap{position:relative;flex:0 0 auto}
.cw-menu{position:absolute;top:38px;left:0;z-index:30;width:280px;background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(20,20,20,.18),inset 0 0 0 1px #e7e3d3;padding:6px;display:flex;flex-direction:column}
.cw-top{overflow:visible}
.cw-swatches{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:2px 0}
.cw-sw{width:16px;height:16px;border-radius:50%;border:0;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.cw-sw[aria-current="true"]{outline:2px solid #141414;outline-offset:2px}
.cw-swc{position:relative;overflow:hidden;background:conic-gradient(red,yellow,lime,cyan,blue,magenta,red)}
.cw-swc input{position:absolute;inset:-4px;opacity:0;cursor:pointer}
.cw-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b8b4a6;margin-right:6px;vertical-align:1px}
.cw-dot.on{background:#089981;box-shadow:0 0 0 3px rgba(8,153,129,.18);animation:cwpulse 2s infinite}
@keyframes cwpulse{50%{box-shadow:0 0 0 5px rgba(8,153,129,.06)}}
.cw-status{font-size:12px;color:#3f3e3a;padding:0 8px;white-space:nowrap}
.cw-livepill{font-size:11px;color:#6b6862;padding-right:8px}
.cw-modal-bg{position:fixed;inset:0;background:rgba(20,20,20,.28);z-index:60}
.cw-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:61;width:min(860px,94vw);max-height:86vh;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(20,20,20,.25);overflow:hidden}
.cw-modal-body{display:flex;gap:28px;padding:16px 22px 22px;overflow-y:auto;flex-wrap:wrap}
.cw-modal-col{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:4px}
.cw-indrow{display:grid;grid-template-columns:1fr 64px 34px;gap:8px;align-items:center}
.cw-indrow input[type=color],.cw-check input[type=color]{width:30px;height:24px;border:0;padding:0;background:none;cursor:pointer}
.cw-num{height:28px;border-radius:6px;border:0;box-shadow:inset 0 0 0 1px #d9d3bd;padding:0 6px;font:inherit;font-size:13px;width:100%;box-sizing:border-box}
.cw-shapes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cw-shape{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border-radius:10px;border:0;background:#faf7ea;font:inherit;font-size:12px;cursor:pointer;color:#141414}
.cw-shape.on{box-shadow:inset 0 0 0 2px #141414;background:#fff}
.cw-shape-ic{display:grid;gap:2px;width:44px;height:30px}
.cw-shape-ic i{background:#cfc8b0;border-radius:2px}
.cw-g1{grid-template-columns:1fr}
.cw-g3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.cw-g3>:first-child{grid-row:1/3}
.cw-g6{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr}
.cw-grid.editing .cw-cell{cursor:grab;outline:1px dashed #b8b4a6;outline-offset:-4px}
.cw-cell.dragging{opacity:.4}.cw-cell.drop-on{outline:2px solid #141414!important}
.cw-grip{cursor:grab;margin-right:6px;color:#6b6862}
.cw-cell-h .cw-sel{height:24px;font-size:12px;background:#fff;box-shadow:inset 0 0 0 1px #e7e3d3}
.cw-rail{overflow:visible}
.cw-leg .num,.cw-leg .leg{color:inherit}.cw-grid.editing .cw-cell{touch-action:none;user-select:none}
/* ---- paper trading in the studio ---- */
.cw-bs{display:inline-flex;align-items:stretch;gap:0;margin-top:6px;pointer-events:auto;align-self:flex-start;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px rgba(20,20,20,.12)}
.cw-bs button{border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:76px;padding:4px 10px;font:inherit;line-height:1.15}
.cw-bs button b{font-size:13px;font-variant-numeric:tabular-nums}.cw-bs button span{font-size:10px;letter-spacing:.06em}
.cw-bs-s{background:#fff;color:#c4001a;box-shadow:inset 0 0 0 1.5px #f23645;border-radius:8px 0 0 8px}.cw-bs-s:hover{background:#f23645;color:#fff}
.cw-bs-b{background:#fff;color:#067a66;box-shadow:inset 0 0 0 1.5px #089981;border-radius:0 8px 8px 0}.cw-bs-b:hover{background:#089981;color:#fff}
.cw-bs-q{display:flex;align-items:center;padding:0 8px;background:#fefcf2;color:#6b6862;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.cw-acct{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border-radius:10px;background:#f7f3e3}
.cw-acct>div{display:flex;flex-direction:column;gap:2px}.cw-acct b{font-size:15px}
.cw-ticket{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.cw-side2{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:10px;overflow:hidden;box-shadow:inset 0 0 0 1px #e7e3d3}
.cw-sb{border:0;background:#fff;padding:9px 0;font:inherit;font-weight:600;cursor:pointer;color:#3f3e3a}
.cw-sb.on.b{background:#089981;color:#fff}.cw-sb.on.s{background:#f23645;color:#fff}
.cw-go{width:100%;justify-content:center}.cw-go.buy{background:#089981;border-color:#089981}.cw-go.sell{background:#f23645;border-color:#f23645}
.cw-pane .cw-drawer{flex:0 0 230px;height:230px;border-top:1px solid #e7e3d3;display:flex;flex-direction:column;background:#fff;min-height:0}
.cw-dh{display:flex;align-items:center;gap:2px;padding:4px 8px;border-bottom:1px solid #efeadb}
.cw-dh .tb{height:28px;padding:0 10px}
.cw-db{flex:1 1 auto;overflow:auto;min-height:0}
.cw-tt{width:100%;border-collapse:collapse;font-size:12.5px}
.cw-tt th{position:sticky;top:0;background:#fefcf2;text-align:left;font-weight:500;color:#6b6862;padding:6px 10px;border-bottom:1px solid #e7e3d3;white-space:nowrap}
.cw-tt td{padding:6px 10px;border-bottom:1px solid #f3efe0;white-space:nowrap}.cw-tt .n{text-align:right;font-variant-numeric:tabular-nums}
.cw-lnk{border:0;background:none;padding:0;color:#141414;text-decoration:underline;cursor:pointer;font:inherit;font-size:12.5px}
.cw-replay{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:12px;background:#fff;box-shadow:0 4px 16px rgba(20,20,20,.14),inset 0 0 0 1px #e7e3d3;white-space:nowrap}
.cw-replay .ax-in{height:30px;padding:0 8px;width:auto}.cw-replay .tb{height:30px;min-width:30px;justify-content:center}

.cw-add{display:flex;flex-direction:column;gap:6px;padding:10px;margin:4px 0 8px;border-radius:10px;background:#f7f3e3}
.cw-picks{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;max-height:180px;overflow:auto;padding:6px;border-radius:8px;box-shadow:inset 0 0 0 1px #e7e3d3}

.cw-ks{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding-top:8px;border-top:1px solid #efeadb}
.cw-ksr{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:#3f3e3a}.cw-ksr b{font-weight:500;color:#141414}
.cw-krange{position:relative;height:4px;border-radius:2px;background:linear-gradient(90deg,#f23645,#d9d4c2,#089981);margin:2px 0 4px}.cw-krange i{position:absolute;top:-3px;width:2px;height:10px;background:#141414;transform:translateX(-1px)}

/* Watchlist, TradingView-style (16 Oct): list picker, add box, four columns, logo dot */
.cw-wlsel{border:0;background:transparent;font:inherit;font-size:14px;font-weight:600;color:#141414;padding:2px 4px;max-width:190px;cursor:pointer}
.cw-wlsel:focus-visible{outline:2px solid #2962ff;outline-offset:2px}
.cw-wlfind{padding:6px 12px 4px;position:relative}
.cw-wlfind .ax-in{height:30px;font-size:13px;width:100%;box-sizing:border-box}
#cw-wladd{display:flex;flex-direction:column}
#cw-wladd:not(:empty){border:1px solid #e7e3d3;border-radius:8px;margin-top:4px;background:#fffdf6;max-height:260px;overflow:auto}
.cw-sr{display:flex;align-items:center;gap:6px;padding:2px 4px 2px 0;border-bottom:1px solid #f0ecdf}
.cw-sr-go{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;border:0;background:none;text-align:left;padding:6px 8px;cursor:pointer;font:inherit}
.cw-sr-go b{font-size:13px}.cw-sr-go span{font-size:11px;color:#6b6862;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.cw-sr-go:hover{background:#f4f1e6}
.cw-wl4,.wl.wl4{display:grid;grid-template-columns:minmax(0,1.5fr) 1fr .8fr .8fr;gap:6px;align-items:center}
.wl.wl4{padding:5px 12px;font-size:13px}
.wl.wl4 .num{text-align:right;font-variant-numeric:tabular-nums}
.cw-wlh.cw-wl4 span:not(:first-child){text-align:right}
.cw-wsym{display:flex;align-items:center;gap:7px;min-width:0;font-weight:500}
.cw-logo{flex:none;width:20px;height:20px;border-radius:50%;background:#ece8da;color:#141414;font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
.cw-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.cw-atl{flex:none;font-size:9px;font-weight:700;border:1px solid #141414;border-radius:3px;padding:0 3px;line-height:12px}
/* chart colour themes (16 Oct) */
.cw-looks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.cw-look{display:flex;align-items:center;gap:8px;border:1px solid #e7e3d3;background:#fff;border-radius:8px;padding:6px 8px;font:inherit;font-size:12px;cursor:pointer;text-align:left}
.cw-look.on{border-color:#141414;box-shadow:0 0 0 1px #141414}
.cw-look-sw{display:flex;align-items:flex-end;gap:3px;width:34px;height:22px;padding:3px 4px;border:1px solid;border-radius:4px;box-sizing:border-box;flex:none}
.cw-look-sw i{display:block;width:5px;height:100%;border-radius:1px}
