/* ============================================================
   DFXSignals — main.css  |  Red · Black · White
============================================================ */
:root {
  --red:#C8102E; --rd:rgba(200,16,46,0.10); --rb:rgba(200,16,46,0.25);
  --bg:#0D0D0D; --bg2:#111; --bg3:#171717;
  --bdr:#1E1E1E; --bdr2:#2A2A2A;
  --w:#fff; --m:#666;
  --grn:#15803d; --gd:rgba(21,128,61,0.10); --gb:rgba(21,128,61,0.25);
  --font:'Georgia',serif; --mono:monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;}
body{font-family:var(--font);background:var(--bg);color:var(--w);min-height:100vh;}
a{color:var(--red);text-decoration:none;}
a:hover{opacity:.85;}
img{max-width:100%;height:auto;}
input,select,textarea{font-family:var(--font);}

/* NAVBAR */
.navbar{background:var(--bg);border-bottom:0.5px solid var(--bdr);height:54px;position:sticky;top:0;z-index:100;}
.nav-inner{max-width:1200px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;}
.nav-logo{font-size:18px;font-weight:700;color:var(--w);}
.nav-logo span{color:var(--red);}
.nav-right{display:flex;align-items:center;gap:12px;}
.nav-bell{position:relative;color:#555;display:flex;align-items:center;}
.nav-bell.has-notif svg{stroke:var(--red);}
.nav-bell.has-notif{color:var(--red);}
.notif-badge{position:absolute;top:-5px;right:-7px;background:var(--red);color:#fff;font-size:9px;font-family:var(--mono);border-radius:10px;padding:1px 5px;min-width:16px;text-align:center;}
.nav-avatar{width:30px;height:30px;border-radius:50%;background:var(--bg3);border:0.5px solid var(--red);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--red);font-family:var(--mono);font-weight:700;}

/* MOBILE HAMBURGER */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;}
.hamburger span{display:block;width:22px;height:2px;background:var(--w);border-radius:2px;transition:all .25s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* BUTTONS */
.btn{display:inline-block;padding:10px 22px;border-radius:4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-family:var(--mono);cursor:pointer;border:none;transition:opacity .15s;}
.btn:hover{opacity:.85;}
.btn-red{background:var(--red);color:#fff;}
.btn-outline{background:transparent;color:var(--w);border:0.5px solid #444;}
.btn-sm{padding:7px 14px;font-size:10px;}
.btn-block{width:100%;display:block;text-align:center;padding:12px;}
.btn-danger{background:transparent;color:var(--red);border:0.5px solid var(--rb);}
.btn-green{background:var(--grn);color:#fff;border:none;}

/* LAYOUT */
.sidebar-layout{display:grid;grid-template-columns:200px 1fr;min-height:calc(100vh - 54px);}
.sidebar{background:var(--bg2);border-right:0.5px solid var(--bdr);padding:1.25rem 0;position:sticky;top:54px;height:calc(100vh - 54px);overflow-y:auto;transition:transform .25s;}
.main-content{padding:1.5rem;overflow-y:auto;}
.sb-section{margin-bottom:1.5rem;}
.sb-label{font-size:9px;color:#3A3A3A;letter-spacing:.18em;text-transform:uppercase;font-family:var(--mono);padding:0 1rem;margin-bottom:.5rem;}
.sb-item{display:flex;align-items:center;gap:9px;padding:9px 1rem;font-size:12px;color:#555;border-left:2px solid transparent;transition:all .15s;}
.sb-item:hover{color:#999;background:rgba(255,255,255,.01);}
.sb-item.active{color:var(--w);border-left-color:var(--red);background:rgba(200,16,46,.05);}
.sb-badge{margin-left:auto;background:var(--red);color:#fff;font-size:9px;padding:2px 6px;border-radius:10px;font-family:var(--mono);}
.page-header{margin-bottom:1.25rem;}
.page-title{font-size:16px;color:var(--w);font-weight:700;}
.page-sub{font-size:11px;color:var(--m);font-family:var(--mono);margin-top:3px;}
.public-body{display:flex;flex-direction:column;}
.public-wrap{max-width:480px;margin:0 auto;width:100%;padding:2rem 1.5rem;}
.public-wide{max-width:800px;margin:0 auto;width:100%;padding:2rem 1.5rem;}

/* MOBILE OVERLAY */
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:89;}

/* CARDS & FORMS */
.card{background:var(--bg2);border:0.5px solid var(--bdr2);border-radius:12px;padding:1.5rem;margin-bottom:1rem;}
.card-sm{padding:1.1rem;}
.form-group{margin-bottom:.9rem;}
.form-label{font-size:9px;color:#555;letter-spacing:.12em;text-transform:uppercase;font-family:var(--mono);margin-bottom:5px;display:block;}
.form-input{width:100%;background:var(--bg3);border:0.5px solid var(--bdr2);border-radius:5px;padding:10px 12px;color:var(--w);font-size:13px;font-family:var(--font);}
.form-input:focus{outline:none;border-color:var(--rb);}
.form-input::placeholder{color:#3A3A3A;}
.form-select{width:100%;background:var(--bg3);border:0.5px solid var(--bdr2);border-radius:5px;padding:10px 12px;color:var(--w);font-size:13px;font-family:var(--mono);}
.form-textarea{width:100%;background:var(--bg3);border:0.5px solid var(--bdr2);border-radius:5px;padding:10px 12px;color:var(--w);font-size:13px;font-family:var(--font);resize:vertical;min-height:80px;}
.form-hint{font-size:10px;color:#444;font-family:var(--mono);margin-top:4px;line-height:1.5;}
.form-divider{display:flex;align-items:center;gap:10px;margin:.9rem 0;}
.form-divider::before,.form-divider::after{content:'';flex:1;height:.5px;background:var(--bdr2);}
.form-divider span{font-size:10px;color:#444;font-family:var(--mono);}
.alert{border-radius:6px;padding:10px 14px;font-size:12px;font-family:var(--mono);margin-bottom:1rem;}
.alert-error{background:var(--rd);border:0.5px solid var(--rb);color:var(--red);}
.alert-success{background:var(--gd);border:0.5px solid var(--gb);color:var(--grn);}
.auth-logo{font-size:20px;font-weight:700;color:var(--w);margin-bottom:4px;}
.auth-logo span{color:var(--red);}
.auth-sub{font-size:11px;color:var(--m);font-family:var(--mono);margin-bottom:1.5rem;}
.switch-text{text-align:center;margin-top:.9rem;font-size:11px;color:var(--m);font-family:var(--mono);}

/* STATS GRID */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1.25rem;}
.stat-card{background:var(--bg2);border:0.5px solid var(--bdr);border-radius:8px;padding:1rem;}
.stat-label{font-size:10px;color:var(--m);letter-spacing:.08em;text-transform:uppercase;font-family:var(--mono);margin-bottom:6px;}
.stat-value{font-size:22px;color:var(--w);font-weight:700;}
.stat-value.red{color:var(--red);}

/* SIGNAL CARDS */
.signals-list{display:flex;flex-direction:column;gap:10px;}
.signal-card{background:var(--bg2);border:0.5px solid var(--bdr2);border-radius:8px;padding:1rem;display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden;}
.signal-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;}
.signal-card.sell::before{background:var(--red);}
.signal-card.buy::before{background:var(--grn);}
.signal-card.close::before{background:#555;}
.signal-thumb{width:90px;height:60px;background:var(--bg3);border:0.5px solid var(--bdr2);border-radius:5px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.signal-thumb img{width:100%;height:100%;object-fit:cover;}
.signal-thumb span{font-size:9px;color:#333;font-family:var(--mono);}
.signal-info{flex:1;min-width:0;}
.signal-asset{font-size:14px;color:var(--w);font-weight:700;margin-bottom:3px;}
.signal-time{font-size:10px;color:#444;font-family:var(--mono);}
.signal-price{font-size:11px;color:#888;font-family:var(--mono);margin-top:2px;}
.signal-note{font-size:11px;color:#666;margin-top:5px;line-height:1.5;font-style:italic;}
.signal-right{text-align:right;flex-shrink:0;}
.signal-status{font-size:10px;color:#444;font-family:var(--mono);margin-top:5px;display:flex;align-items:center;gap:4px;justify-content:flex-end;}
.status-dot{width:5px;height:5px;border-radius:50%;}
.status-dot.active-sell{background:var(--red);}
.status-dot.active-buy{background:var(--grn);}

/* BADGES */
.badge{display:inline-block;padding:4px 12px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.1em;font-family:var(--mono);}
.badge-buy{background:var(--gd);color:var(--grn);border:0.5px solid var(--gb);}
.badge-sell{background:var(--rd);color:var(--red);border:0.5px solid var(--rb);}
.badge-close{background:rgba(100,100,100,.12);color:#aaa;border:0.5px solid #333;}
.badge-active{background:var(--gd);color:var(--grn);border:0.5px solid var(--gb);font-size:9px;padding:2px 8px;}

/* CHAT */
.chat-layout{display:grid;grid-template-columns:180px 1fr;height:calc(100vh - 108px);}
.chat-sidebar{background:var(--bg2);border-right:0.5px solid var(--bdr);padding:.9rem;overflow-y:auto;}
.chat-online-title{font-size:9px;color:#3A3A3A;letter-spacing:.16em;text-transform:uppercase;font-family:var(--mono);margin-bottom:.5rem;}
.chat-online-count{font-size:9px;color:var(--grn);font-family:var(--mono);margin-bottom:.75rem;display:flex;align-items:center;gap:5px;}
.chat-online-dot{width:5px;height:5px;border-radius:50%;background:var(--grn);}
.online-member{display:flex;align-items:center;gap:7px;margin-bottom:6px;}
.online-av{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-family:var(--mono);font-weight:700;flex-shrink:0;}
.online-av.admin-av{background:var(--red);color:#fff;}
.online-av.user-av{background:var(--bg3);color:#666;border:0.5px solid var(--bdr2);}
.online-name{font-size:10px;color:#aaa;font-family:var(--mono);}
.online-name.is-admin{color:var(--red);}
.chat-main{display:flex;flex-direction:column;}
.chat-header{padding:.8rem 1.25rem;border-bottom:0.5px solid var(--bdr);display:flex;align-items:center;justify-content:space-between;}
.chat-title{font-size:13px;color:var(--w);font-weight:700;}
.chat-online-info{font-size:10px;color:var(--grn);font-family:var(--mono);}
.chat-messages{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:14px;}
.sys-notif{background:rgba(200,16,46,.06);border:0.5px solid var(--rb);border-radius:6px;padding:8px 12px;display:flex;align-items:center;gap:8px;}
.sys-notif-text{font-size:11px;color:#ccc;font-family:var(--mono);flex:1;line-height:1.5;}
.sys-notif-text strong{color:var(--red);}
.sys-notif-time{font-size:9px;color:#444;font-family:var(--mono);}
.chat-msg{display:flex;gap:9px;position:relative;}
.chat-msg:hover .msg-actions{display:flex;}
.msg-av{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-family:var(--mono);font-weight:700;flex-shrink:0;margin-top:2px;}
.msg-av.admin-msg{background:var(--red);color:#fff;}
.msg-av.user-msg{background:var(--bg3);color:#666;border:0.5px solid var(--bdr2);}
.msg-body{flex:1;min-width:0;}
.msg-name{font-size:10px;color:#666;font-family:var(--mono);margin-bottom:3px;}
.admin-tag{background:var(--red);color:#fff;font-size:8px;padding:1px 5px;border-radius:2px;margin-left:4px;vertical-align:middle;}
.msg-time-sm{font-size:9px;color:#333;margin-left:5px;}
.msg-text{font-size:13px;color:#bbb;line-height:1.6;word-break:break-word;}
.msg-everyone{background:rgba(200,16,46,.06);border:0.5px solid var(--rb);border-radius:6px;padding:8px 12px;font-size:13px;color:var(--w);line-height:1.6;}
.everyone-tag{color:var(--red);font-weight:700;}
.msg-reply-quote{background:var(--bg3);border-left:2px solid var(--red);border-radius:0 4px 4px 0;padding:5px 9px;margin-bottom:5px;}
.rq-author{font-size:9px;color:var(--red);font-family:var(--mono);font-weight:700;margin-bottom:2px;}
.rq-text{font-size:11px;color:#555;font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px;}
.msg-reactions{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px;}
.reaction-pill{display:inline-flex;align-items:center;gap:3px;background:var(--bg3);border:0.5px solid var(--bdr2);border-radius:12px;padding:2px 8px;font-size:12px;cursor:pointer;transition:all .15s;}
.reaction-pill:hover,.reaction-pill.mine{border-color:var(--rb);background:var(--rd);}
.reaction-pill.mine .reaction-count{color:var(--red);}
.reaction-count{font-size:10px;color:#888;font-family:var(--mono);}
.add-react{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;background:transparent;border:0.5px solid var(--bdr2);border-radius:12px;font-size:12px;cursor:pointer;color:#444;}
.add-react:hover{border-color:var(--rb);color:var(--red);}
.emoji-picker-popup{display:none;position:absolute;bottom:100%;left:0;background:var(--bg2);border:0.5px solid var(--bdr2);border-radius:8px;padding:8px;z-index:200;flex-wrap:wrap;gap:4px;width:190px;box-shadow:0 4px 20px rgba(0,0,0,.5);}
.emoji-picker-popup.open{display:flex;}
.ep-btn{font-size:16px;cursor:pointer;padding:3px 5px;border-radius:4px;background:none;border:none;}
.ep-btn:hover{background:var(--bg3);}
.msg-actions{display:none;position:absolute;right:0;top:0;background:var(--bg2);border:0.5px solid var(--bdr2);border-radius:5px;padding:3px 7px;gap:2px;z-index:10;}
.action-btn{background:none;border:none;color:#555;cursor:pointer;font-size:11px;font-family:var(--mono);padding:2px 5px;border-radius:3px;white-space:nowrap;}
.action-btn:hover{background:var(--bg3);color:var(--w);}
.reply-bar{background:var(--bg3);border-top:0.5px solid var(--bdr2);padding:6px 1.25rem;display:none;align-items:center;justify-content:space-between;}
.reply-bar.visible{display:flex;}
.reply-bar-text{font-size:10px;color:var(--m);font-family:var(--mono);}
.reply-bar-close{background:none;border:none;color:#555;cursor:pointer;font-size:16px;line-height:1;}
.chat-input-area{padding:.8rem 1.25rem;border-top:0.5px solid var(--bdr);display:flex;gap:8px;align-items:center;}
.chat-input{flex:1;background:var(--bg3);border:0.5px solid var(--bdr2);border-radius:6px;padding:10px 13px;color:var(--w);font-size:13px;font-family:var(--font);resize:none;min-height:40px;max-height:120px;}
.chat-input:focus{outline:none;border-color:var(--rb);}
.chat-send{background:var(--red);border:none;border-radius:5px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}

/* NOTIFICATIONS */
.notif-list{display:flex;flex-direction:column;}
.notif-item{display:flex;align-items:flex-start;gap:12px;padding:1rem 1.25rem;border-bottom:0.5px solid var(--bdr);cursor:pointer;}
.notif-item.unread{background:rgba(200,16,46,.03);}
.notif-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.notif-icon.signal{background:var(--rd);border:0.5px solid var(--rb);}
.notif-icon.chat{background:var(--bg3);border:0.5px solid var(--bdr2);}
.notif-icon.webinar{background:var(--gd);border:0.5px solid var(--gb);}
.notif-body{flex:1;}
.notif-title{font-size:12px;color:var(--w);font-weight:700;margin-bottom:3px;}
.notif-desc{font-size:11px;color:var(--m);line-height:1.5;}
.notif-time{font-size:10px;color:#444;font-family:var(--mono);margin-top:4px;}
.unread-dot{width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0;margin-top:5px;}

/* WEBINARS */
.webinar-list{display:flex;flex-direction:column;gap:10px;}
.webinar-card{background:var(--bg2);border:0.5px solid var(--bdr2);border-radius:10px;padding:1.25rem;display:flex;gap:1rem;align-items:center;}
.webinar-card.live{border-color:var(--red);}
.webinar-date{text-align:center;background:var(--bg3);border:0.5px solid var(--bdr2);border-radius:6px;padding:10px;min-width:52px;flex-shrink:0;}
.webinar-day{font-size:22px;color:var(--red);font-weight:700;line-height:1;}
.webinar-month{font-size:10px;color:#555;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;}
.webinar-info{flex:1;min-width:0;}
.webinar-title{font-size:13px;color:var(--w);font-weight:700;margin-bottom:4px;}
.webinar-time{font-size:10px;color:#555;font-family:var(--mono);margin-bottom:4px;}
.webinar-desc{font-size:11px;color:var(--m);line-height:1.5;}
.tag-live{background:var(--red);color:#fff;font-size:9px;padding:3px 8px;border-radius:3px;font-family:var(--mono);letter-spacing:.1em;white-space:nowrap;}
.tag-upcoming{background:var(--bg3);color:#555;font-size:9px;padding:3px 8px;border-radius:3px;font-family:var(--mono);border:0.5px solid var(--bdr2);white-space:nowrap;}
.tag-replay{background:var(--bg3);color:#555;font-size:9px;padding:3px 8px;border-radius:3px;font-family:var(--mono);border:0.5px solid var(--bdr2);white-space:nowrap;cursor:pointer;}
.join-modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:300;align-items:center;justify-content:center;}
.join-modal-bg.open{display:flex;}
.join-modal{background:var(--bg2);border:0.5px solid var(--red);border-radius:12px;padding:2rem;max-width:380px;width:90%;text-align:center;}
.join-modal-emoji{font-size:32px;margin-bottom:.75rem;}
.join-modal-title{font-size:16px;color:var(--w);font-weight:700;margin-bottom:5px;}
.join-modal-sub{font-size:11px;color:var(--m);font-family:var(--mono);margin-bottom:1.25rem;}
.join-modal-btn{display:block;width:100%;background:var(--red);color:#fff;border:none;border-radius:5px;padding:13px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-family:var(--mono);cursor:pointer;margin-bottom:.75rem;text-decoration:none;}
.join-modal-close{width:100%;background:transparent;border:0.5px solid var(--bdr2);color:#555;border-radius:4px;padding:10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-family:var(--mono);cursor:pointer;}

/* COURSES */
.courses-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.course-card{background:var(--bg2);border:0.5px solid var(--bdr2);border-radius:10px;overflow:hidden;}
.course-thumb{height:110px;background:var(--bg3);border-bottom:0.5px solid var(--bdr);display:flex;align-items:center;justify-content:center;}
.course-icon{width:40px;height:40px;background:var(--rd);border:0.5px solid var(--rb);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.course-body{padding:1rem;}
.course-title{font-size:13px;color:var(--w);font-weight:700;margin-bottom:4px;}
.course-desc{font-size:11px;color:var(--m);line-height:1.5;margin-bottom:.75rem;}
.course-footer{display:flex;justify-content:space-between;align-items:center;}
.course-lessons{font-size:10px;color:#555;font-family:var(--mono);}
.progress-bar{height:3px;background:var(--bdr2);border-radius:2px;margin-top:8px;}
.progress-fill{height:100%;border-radius:2px;background:var(--red);}

/* PROFILE */
.profile-top{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.25rem;}
.profile-avatar{width:64px;height:64px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;font-weight:700;flex-shrink:0;}
.profile-name{font-size:18px;color:var(--w);font-weight:700;margin-bottom:4px;}
.profile-email{font-size:12px;color:var(--m);font-family:var(--mono);margin-bottom:6px;}
.active-badge{display:inline-flex;align-items:center;gap:5px;background:var(--rd);border:0.5px solid var(--rb);border-radius:4px;padding:3px 10px;font-size:10px;color:var(--red);font-family:var(--mono);}
.active-dot{width:6px;height:6px;border-radius:50%;background:var(--grn);}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.sub-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:0.5px solid var(--bdr);}
.sub-row:last-child{border-bottom:none;}
.sub-key{font-size:11px;color:var(--m);font-family:var(--mono);}
.sub-val{font-size:11px;color:var(--w);font-family:var(--mono);}
.cancel-section{background:var(--bg2);border:0.5px solid #2A1010;border-radius:12px;padding:1.25rem;margin-bottom:1rem;}
.cancel-preview{background:#0A0A0A;border:0.5px solid #2A1010;border-radius:6px;padding:.9rem;margin-bottom:.9rem;}
.cancel-preview-label{font-size:9px;color:#555;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;}
.cancel-preview-body{font-size:11px;color:#888;font-family:var(--mono);line-height:1.8;}
.cancel-preview-body strong{color:var(--red);}
.cancel-sent-box{background:var(--rd);border:0.5px solid var(--rb);border-radius:8px;padding:1rem;text-align:center;}
.cancel-sent-title{font-size:12px;color:var(--red);font-weight:700;margin-bottom:4px;}
.cancel-sent-desc{font-size:11px;color:var(--m);font-family:var(--mono);line-height:1.6;}

/* ADMIN */
.admin-layout{display:grid;grid-template-columns:200px 1fr;min-height:calc(100vh - 54px);}
.admin-sidebar{background:#0A0A0A;border-right:0.5px solid var(--bdr);padding:1rem 0;position:sticky;top:54px;height:calc(100vh - 54px);overflow-y:auto;}
.admin-main{padding:1.5rem;overflow-y:auto;}
.admin-nav-item{display:flex;align-items:center;gap:8px;padding:8px 1rem;font-size:11px;color:#555;cursor:pointer;border-left:2px solid transparent;transition:all .15s;}
.admin-nav-item:hover{color:#999;}
.admin-nav-item.active{color:var(--w);border-left-color:var(--red);}
.admin-badge{margin-left:auto;background:var(--red);color:#fff;font-size:8px;padding:2px 5px;border-radius:10px;font-family:var(--mono);}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:1.5rem;}
.admin-stat{background:var(--bg2);border:0.5px solid var(--bdr2);border-radius:8px;padding:1rem;}
.admin-stat-label{font-size:9px;color:var(--m);font-family:var(--mono);letter-spacing:.08em;margin-bottom:6px;}
.admin-stat-value{font-size:22px;color:var(--w);font-weight:700;}
.admin-stat-sub{font-size:10px;color:var(--grn);font-family:var(--mono);margin-top:3px;}
.section-title{font-size:13px;color:var(--w);font-weight:700;margin-bottom:.9rem;padding-bottom:7px;border-bottom:0.5px solid var(--bdr);}
.upload-box{border:0.5px dashed var(--bdr2);border-radius:6px;padding:1.5rem;text-align:center;background:var(--bg3);cursor:pointer;}
.upload-icon{width:36px;height:36px;background:var(--rd);border-radius:6px;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;}
.upload-text{font-size:11px;color:var(--m);font-family:var(--mono);}
.upload-text span{color:var(--red);}
.members-table{width:100%;border-collapse:collapse;}
.members-table th{font-size:9px;color:#444;letter-spacing:.1em;text-transform:uppercase;font-family:var(--mono);text-align:left;padding:8px 10px;border-bottom:0.5px solid var(--bdr);}
.members-table td{font-size:11px;color:#999;padding:9px 10px;border-bottom:0.5px solid var(--bdr);font-family:var(--mono);}
.members-table td:first-child{color:var(--w);}
.status-active{color:var(--grn);}
.status-pending{color:#f59e0b;}
.status-inactive{color:#555;}
.tbl-btn{background:transparent;border:0.5px solid var(--bdr2);border-radius:3px;padding:3px 8px;font-size:9px;color:#555;font-family:var(--mono);cursor:pointer;margin-right:3px;}
.tbl-btn.danger{color:var(--red);border-color:var(--rb);}
.cancel-req{background:var(--bg2);border:0.5px solid #2A1010;border-radius:10px;padding:1rem;margin-bottom:.75rem;position:relative;overflow:hidden;}
.cancel-req::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red);}
.cancel-req-user{font-size:13px;color:var(--w);font-weight:700;}
.cancel-req-time{font-size:9px;color:#444;font-family:var(--mono);margin-bottom:.5rem;}
.cancel-req-row{display:flex;gap:8px;font-size:10px;font-family:var(--mono);margin-bottom:3px;}
.cancel-req-key{color:#444;min-width:100px;}
.cancel-req-val{color:#aaa;}
.pp-badge{display:inline-flex;align-items:center;gap:4px;background:#FFC439;border-radius:3px;padding:2px 7px;font-size:9px;font-weight:900;font-family:Arial,sans-serif;margin-right:5px;}
.pp-badge .pp-pay{color:#003087;}
.pp-badge .pp-pal{color:#009CDE;}
.toggle-switch{width:36px;height:19px;background:var(--bdr2);border-radius:10px;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;}
.toggle-switch.on{background:var(--red);}
.toggle-switch::after{content:'';position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .2s;}
.toggle-switch.on::after{left:19px;}
.wb-admin-card{background:var(--bg2);border:0.5px solid var(--bdr2);border-radius:10px;padding:1rem;margin-bottom:.75rem;}
.wb-admin-card.live{border-color:var(--red);}
.wb-link-show{font-size:10px;color:var(--grn);font-family:var(--mono);display:flex;align-items:center;gap:4px;margin-top:4px;}

/* DRAG HANDLE */
.drag-handle{cursor:grab;color:#444;padding:0 6px;font-size:16px;user-select:none;}
.drag-handle:active{cursor:grabbing;}
.course-row{display:flex;align-items:center;gap:10px;background:var(--bg2);border:0.5px solid var(--bdr2);border-radius:8px;padding:.85rem;margin-bottom:8px;transition:opacity .15s;}
.course-row.dragging{opacity:.4;}

/* LANDING PAGE */
.hero{padding:3.5rem 2rem;text-align:center;border-bottom:0.5px solid var(--bdr);position:relative;}
.hero::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--red);}
.hero-tag{font-size:10px;color:var(--red);letter-spacing:.25em;text-transform:uppercase;font-family:var(--mono);margin-bottom:.9rem;}
.hero-h1{font-size:36px;color:var(--w);font-weight:700;line-height:1.15;margin-bottom:.9rem;}
.hero-h1 em{color:var(--red);font-style:normal;}
.hero-sub{font-size:15px;color:var(--m);line-height:1.7;max-width:520px;margin:0 auto 2rem;}
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.hero-seats{margin-top:1.25rem;font-size:11px;color:#444;font-family:var(--mono);}
.hero-seats strong{color:var(--red);}
.features{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:0.5px solid var(--bdr);}
.feat{padding:1.75rem;border-right:0.5px solid var(--bdr);}
.feat:last-child{border-right:none;}
.feat-icon-wrap{width:36px;height:36px;background:var(--rd);border-radius:7px;display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;}
.feat-title{font-size:14px;color:var(--w);font-weight:700;margin-bottom:5px;}
.feat-desc{font-size:12px;color:var(--m);line-height:1.6;}
.markets-strip{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:1.5rem 2rem;border-bottom:0.5px solid var(--bdr);}
.mkt-tag{background:var(--bg2);border:0.5px solid var(--bdr2);border-radius:4px;padding:5px 13px;font-size:11px;color:#888;font-family:var(--mono);}
.pricing-section{padding:3rem 2rem;text-align:center;}
.pricing-label{font-size:10px;color:var(--red);letter-spacing:.2em;text-transform:uppercase;font-family:var(--mono);margin-bottom:1rem;}
.pricing-card{background:var(--bg2);border:0.5px solid var(--red);border-radius:12px;padding:2rem;max-width:360px;margin:0 auto;}
.price-name{font-size:11px;color:var(--m);letter-spacing:.1em;text-transform:uppercase;font-family:var(--mono);margin-bottom:8px;}
.price-amount{font-size:42px;color:var(--w);font-weight:700;}
.price-amount sup{font-size:20px;vertical-align:top;margin-top:8px;display:inline-block;}
.price-period{font-size:12px;color:var(--m);}
.price-features{margin-top:1.1rem;display:flex;flex-direction:column;gap:7px;text-align:left;}
.price-feat{font-size:12px;color:#888;display:flex;align-items:center;gap:7px;}
.price-feat::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--red);flex-shrink:0;}
.paypal-btn{width:100%;background:#FFC439;border:none;border-radius:6px;padding:14px;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;margin-bottom:10px;font-size:14px;}
.pp-logo{font-size:18px;font-weight:900;font-family:Arial,sans-serif;}
.pp-logo .pay{color:#003087;}
.pp-logo .pal{color:#009CDE;}
.pp-btn-text{font-size:13px;color:#003087;font-weight:700;font-family:Arial,sans-serif;}
.pay-secure{text-align:center;font-size:10px;color:#444;font-family:var(--mono);margin-top:8px;}
.redir-note{background:var(--bg3);border:0.5px solid var(--bdr2);border-radius:6px;padding:10px 13px;margin-bottom:1rem;}
.redir-label{font-size:9px;color:#555;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;}
.redir-url{font-size:12px;color:var(--red);font-family:var(--mono);}

/* ════════════════════════════════
   MOBILE RESPONSIVE
════════════════════════════════ */
@media(max-width:768px){
  /* show hamburger */
  .hamburger{display:flex;}

  /* sidebar hidden off-screen by default */
  .sidebar{
    position:fixed;
    top:54px;left:0;bottom:0;
    width:220px;
    z-index:90;
    transform:translateX(-100%);
    height:calc(100vh - 54px);
  }
  .sidebar.open{transform:translateX(0);}
  .sidebar-overlay.open{display:block;}

  /* main takes full width */
  .sidebar-layout{grid-template-columns:1fr;}
  .main-content{padding:1rem;}

  /* chat takes full width, hide online sidebar */
  .chat-layout{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 108px);}
  .chat-sidebar{display:none;}

  /* signals responsive */
  .signal-card{flex-wrap:wrap;gap:.6rem;}
  .signal-thumb{width:100%;height:160px;}
  .signal-info{flex:1;min-width:0;}

  /* stats */
  .stats-grid{grid-template-columns:1fr 1fr;}
  .admin-stats{grid-template-columns:1fr 1fr;}

  /* courses */
  .courses-grid{grid-template-columns:1fr;}

  /* features */
  .features{grid-template-columns:1fr;}
  .feat{border-right:none;border-bottom:0.5px solid var(--bdr);}

  /* hero */
  .hero-h1{font-size:26px;}
  .hero-sub{font-size:13px;}

  /* profile grid */
  .profile-grid{grid-template-columns:1fr;}

  /* admin layout */
  .admin-layout{grid-template-columns:1fr;}
  .admin-sidebar{display:none;}

  /* hide msg reply quote truncation */
  .rq-text{max-width:220px;}

  /* paypal button */
  .pp-btn-text{font-size:11px;}
}

@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr;}
  .admin-stats{grid-template-columns:1fr 1fr;}
  .hero-h1{font-size:22px;}
  .nav-inner{padding:0 1rem;}
}
