/* ============================================================
   CUSTOMER CONSOLE · DASH module css
   ============================================================ */

/* ============ DASHBOARD — TELEGRAM-STYLE INBOX ============ */
.cu-chat{display:grid;grid-template-columns:262px minmax(0,1fr);gap:14px;height:calc(100vh - 60px - 44px);min-height:470px}
.cu-chans{background:var(--panel);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}
.cu-chans-head{padding:13px 14px 9px;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--border)}
.cu-chan-list{overflow-y:auto;padding:7px}
.cu-chan{
  display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:11px;cursor:pointer;transition:.13s;position:relative;
}
.cu-chan:hover{background:var(--hover)}
.cu-chan.on{background:rgba(240,180,41,.11);box-shadow:inset 2px 0 0 var(--gold)}
.cu-chan-ico{
  width:38px;height:38px;border-radius:12px;flex:none;display:grid;place-items:center;font-size:16px;
  background:var(--bg-2);border:1px solid var(--border);
}
.cu-chan.on .cu-chan-ico{background:linear-gradient(135deg,rgba(240,180,41,.25),rgba(240,180,41,.08));border-color:rgba(240,180,41,.4)}
.cu-chan-txt{min-width:0;flex:1}
.cu-chan-txt b{display:block;font-size:13px}
.cu-chan-txt span{display:block;font-size:10.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cu-chan-b{font-size:10px;font-weight:800;min-width:19px;height:18px;border-radius:10px;background:var(--gold);color:#1a1200;display:none;place-items:center;padding:0 5px;flex:none}
.cu-chan-b.on{display:grid}
.cu-sep{height:1px;background:var(--border);margin:7px 10px}
.cu-room{padding:8px 10px 8px 16px;display:flex;gap:9px;align-items:center;border-radius:11px;cursor:pointer;transition:.13s}
.cu-room:hover{background:var(--hover)}
.cu-room.on{background:rgba(240,180,41,.1)}
.cu-room .ava{width:30px;height:30px;font-size:10.5px;flex:none}
.cu-room b{font-size:12.5px;display:block}
.cu-room span{font-size:10px;color:var(--dim);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cu-room .vip-tag{font-size:9px;font-weight:900;background:rgba(240,180,41,.16);color:var(--gold);border:1px solid rgba(240,180,41,.4);padding:1px 6px;border-radius:5px;flex:none}

.cu-stream{background:var(--panel);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.cu-stream-head{display:flex;align-items:center;gap:11px;padding:12px 15px;border-bottom:1px solid var(--border);background:var(--bg-2)}
.cu-stream-head .cu-chan-ico{width:36px;height:36px}
.cu-stream-head b{font-size:14px;display:block}
.cu-stream-head span{font-size:10.5px;color:var(--dim)}
.cu-search{
  margin-left:auto;width:190px;padding:7px 11px;font-size:12px;border-radius:20px;
  background:var(--panel);border:1px solid var(--border);color:var(--text);
}
.cu-search:focus{outline:none;border-color:rgba(240,180,41,.5)}
.cu-msgs{flex:1;overflow-y:auto;padding:16px 15px;display:flex;flex-direction:column;gap:12px;background:
  radial-gradient(60% 50% at 80% 0,rgba(240,180,41,.035),transparent 60%),var(--panel)}
.cu-day{align-self:center;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--dim);background:var(--bg-2);border:1px solid var(--border);padding:3px 12px;border-radius:20px}

.bub{max-width:min(74%,600px);background:var(--bg-2);border:1px solid var(--border);border-radius:15px 15px 15px 5px;padding:9px 12px;align-self:flex-start;animation:cuPop .2s ease}
.bub.mine{align-self:flex-end;background:linear-gradient(135deg,rgba(240,180,41,.15),rgba(240,180,41,.07));border-color:rgba(240,180,41,.3);border-radius:15px 15px 5px 15px}
@keyframes cuPop{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}
.bub-head{display:flex;gap:7px;align-items:center;font-size:11.5px;font-weight:700;margin-bottom:3px}
.bub-head .ava{width:22px;height:22px;font-size:9px}
.bub-head time{margin-left:auto;font-size:10px;color:var(--dim);font-weight:500}
.bub-txt{font-size:13.5px;line-height:1.5;color:var(--text-2);word-break:break-word}
.bub-txt .tick{color:var(--gold);font-size:11px;letter-spacing:-2px}
.bub-reacts{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.rx{
  font-size:11.5px;padding:3px 9px;border-radius:20px;background:var(--panel);border:1px solid var(--border);
  cursor:pointer;transition:.13s;user-select:none;display:inline-flex;gap:4px;align-items:center;
}
.rx:hover{border-color:var(--gold);transform:translateY(-1px)}
.rx.mine{background:rgba(240,180,41,.14);border-color:rgba(240,180,41,.5)}
.rx i{font-style:normal;font-size:9.5px;color:var(--muted);font-weight:800}
.rx-add{color:var(--dim);border-style:dashed}

/* ---- signal card ---- */
.sig{
  width:min(580px,100%);background:linear-gradient(165deg,var(--panel),var(--panel-2));
  border:1px solid var(--border-2);border-radius:16px 16px 16px 5px;padding:13px 15px;align-self:flex-start;
  box-shadow:0 10px 30px rgba(0,0,0,.18);animation:cuPop .22s ease;position:relative;overflow:hidden;
}
.sig::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--gold),#de911d)}
.sig-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.sig-pair{font-weight:800;font-size:15px;letter-spacing:-.2px}
.sig-dir{font-size:9.5px;font-weight:900;letter-spacing:.1em;padding:3px 9px;border-radius:6px}
.sig-dir.buy{background:rgba(16,185,129,.15);color:var(--green-2);border:1px solid rgba(16,185,129,.35)}
.sig-dir.sell{background:rgba(239,68,68,.15);color:var(--red-2);border:1px solid rgba(239,68,68,.35)}
.sig-st{font-size:9.5px;font-weight:800;padding:3px 8px;border-radius:6px;background:rgba(240,180,41,.12);color:var(--gold);border:1px solid rgba(240,180,41,.3)}
.sig-st.win{background:rgba(16,185,129,.13);color:var(--green-2);border-color:rgba(16,185,129,.4)}
.sig-st.loss{background:rgba(239,68,68,.13);color:var(--red-2);border-color:rgba(239,68,68,.4)}
.sig-no{margin-left:auto;font-size:10.5px;color:var(--dim);font-weight:700}
.sig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:11px 0 9px;background:var(--bg-2);border:1px solid var(--border);border-radius:11px;padding:9px 10px}
.sig-cell span{font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.07em;display:block}
.sig-cell b{display:block;font-size:13px;margin-top:2px;font-family:ui-monospace,Consolas,monospace}
.sig-cell b.g{color:var(--green-2)} .sig-cell b.r{color:var(--red-2)}
.sig-tps{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tp{font-size:10px;font-weight:800;padding:3px 8px;border-radius:6px;background:rgba(240,180,41,.09);border:1px solid rgba(240,180,41,.26);color:var(--gold);font-family:ui-monospace,Consolas,monospace}
.tp.hit{background:rgba(16,185,129,.13);border-color:rgba(16,185,129,.4);color:var(--green-2)}
.sig-note{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.5;font-style:italic}
.sig-foot{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px dashed var(--border)}
.sig-meta{font-size:10.5px;color:var(--dim);display:flex;gap:9px}

/* ---- community post ---- */
.post{
  width:min(620px,100%);background:var(--panel);border:1px solid var(--border-2);
  border-radius:16px 16px 16px 5px;padding:14px 15px;align-self:flex-start;animation:cuPop .22s ease;
}
.post-head{display:flex;gap:10px;align-items:center}
.post-head .ava{width:40px;height:40px;font-size:13px}
.post-name{font-weight:750;font-size:13.5px;display:flex;gap:6px;align-items:center}
.role{font-size:8.5px;font-weight:900;letter-spacing:.08em;padding:2px 6px;border-radius:5px}
.role.vip{background:rgba(240,180,41,.16);color:var(--gold);border:1px solid rgba(240,180,41,.4)}
.role.free{background:rgba(139,151,173,.12);color:var(--muted);border:1px solid var(--border-2)}
.post-sub{font-size:10.5px;color:var(--dim)}
.post-status{margin-left:auto;font-size:9.5px;font-weight:800;letter-spacing:.06em;padding:3px 9px;border-radius:20px}
.post-status.pending{background:rgba(245,158,11,.13);color:#fbbf24;border:1px solid rgba(245,158,11,.35)}
.post-status.approved{background:rgba(16,185,129,.13);color:var(--green-2);border:1px solid rgba(16,185,129,.3)}
.post-status.rejected{background:rgba(239,68,68,.13);color:var(--red-2);border:1px solid rgba(239,68,68,.3)}
.post-text{font-size:13.5px;line-height:1.58;margin-top:10px;color:var(--text-2)}
.post-card{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px;background:var(--bg-2);border:1px solid var(--border);border-radius:11px;padding:10px}
.post-card span{font-size:9.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;display:block}
.post-card b{font-size:12.5px;display:block;margin-top:2px}
.post-card b.g{color:var(--green-2)} .post-card b.r{color:var(--red-2)}
.post-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px dashed var(--border)}
.post-acts .spacer{margin-left:auto}
.post-cmts{margin-top:11px;border-top:1px dashed var(--border);padding-top:11px;display:flex;flex-direction:column;gap:9px}
.cmt{display:flex;gap:8px;align-items:flex-start}
.cmt .ava{width:26px;height:26px;font-size:9.5px;flex:none}
.cmt-b{background:var(--bg-2);border:1px solid var(--border);border-radius:11px;padding:7px 10px;flex:1;min-width:0}
.cmt-b b{font-size:11.5px} .cmt-b time{font-size:9.5px;color:var(--dim);margin-left:6px}
.cmt-b p{font-size:12.5px;color:var(--text-2);margin-top:2px;line-height:1.45}
.cmt-in{display:flex;gap:8px;margin-top:3px}
.cmt-in .input{flex:1;font-size:12.5px;padding:7px 11px}

/* ---- news ---- */
.news-i{display:flex;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:11px 13px;transition:.14s}
.news-i:hover{border-color:var(--border-2);transform:translateY(-1px)}
.news-t{font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:800;width:52px;flex:none;color:var(--text)}
.news-cur{font-size:10px;font-weight:900;padding:3px 8px;border-radius:6px;background:var(--bg-2);border:1px solid var(--border);flex:none}
.news-i .ttl{flex:1;min-width:0;font-size:13px}
.news-i .ttl span{display:block;font-size:10.5px;color:var(--dim);margin-top:1px}
.news-imp{font-size:9px;font-weight:900;letter-spacing:.08em;padding:3px 8px;border-radius:20px;flex:none}
.news-imp.HIGH{background:rgba(239,68,68,.14);color:#f87171;border:1px solid rgba(239,68,68,.35)}
.news-imp.MED{background:rgba(245,158,11,.14);color:#fbbf24;border:1px solid rgba(245,158,11,.35)}
.news-imp.LOW{background:rgba(59,130,246,.14);color:#60a5fa;border:1px solid rgba(59,130,246,.3)}
.news-nums{display:flex;gap:12px;font-family:ui-monospace,Consolas,monospace;font-size:11.5px;flex:none}
.news-nums span{color:var(--dim)} .news-nums b{color:var(--text)}
.news-nums b.g{color:var(--green-2)} .news-nums b.r{color:var(--red-2)}

/* ---- composer / lock ---- */
.cu-composer{display:flex;gap:9px;align-items:center;padding:11px 13px;border-top:1px solid var(--border);background:var(--bg-2)}
.cu-composer .input{flex:1;min-width:0}
.cu-composer .ava{width:32px;height:32px;background:linear-gradient(135deg,#38bdf8,#2563eb)!important}
.cu-locked{
  display:flex;gap:11px;align-items:center;padding:11px 13px;border-top:1px solid var(--border);
  background:linear-gradient(90deg,rgba(240,180,41,.1),var(--bg-2));font-size:12.5px;color:var(--muted);
}
.cu-locked .ico{font-size:17px}
.cu-locked b{color:var(--gold)}
.cu-locked .btn{margin-left:auto;flex:none}
.cu-ro{
  padding:11px 13px;border-top:1px solid var(--border);background:var(--bg-2);
  font-size:11.5px;color:var(--dim);text-align:center;
}
