/* ═══ COMPONENTS — Bloomberg Terminal ═══ */

/* RESIZE HANDLE */
.rh{width:6px;cursor:col-resize;background:var(--b1);flex-shrink:0;z-index:10;position:relative}
.rh:hover,.rh.ac{background:var(--bl)}
.pR{flex:1;display:flex;flex-direction:column;background:var(--bg0);overflow:hidden}
.pR.hidden{display:none}
body.rz{user-select:none;cursor:col-resize}
body.rz iframe{pointer-events:none}

/* ═══ ENTRY POPUP ═══ */
.epop{display:none;position:fixed;inset:0;background:var(--ov);z-index:500;align-items:center;justify-content:center}
.epop.o{display:flex}
.epop-box{background:var(--bg1);border:1px solid var(--b2);border-radius:8px;width:1200px;max-width:95%;max-height:90vh;overflow-y:auto;box-shadow:var(--sh);padding:0}
.epop-head{display:flex;align-items:center;gap:10px;padding:12px 16px 10px;border-bottom:1px solid var(--b1);position:sticky;top:0;background:var(--bg1);z-index:2;border-radius:8px 8px 0 0}
.epop-head .eav{width:36px;height:36px;font-size:15px}
.epop-meta{flex:1}
.epop-meta .en{font-size:var(--font-xl)}
.epop-meta .eha{font-size:var(--font-sm)}
.epop-meta .edt{font-size:var(--font-sm);margin-top:2px;display:inline-block}
.epop-meta .etg{font-size:var(--font-sm);margin-left:6px}
.epop-close{width:28px;height:28px;border-radius:4px;border:none;background:var(--bgH);color:var(--t2);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.epop-close:hover{background:var(--b2);color:var(--t1)}
.epop-body{padding:14px 16px}
.epop-text{font-size:var(--font-xl);line-height:1.6;white-space:pre-wrap;word-break:break-word;margin-bottom:10px}
.epop-imgs{display:grid;gap:4px;margin-bottom:10px}
.epop-imgs.g1{grid-template-columns:1fr}
.epop-imgs.g2{grid-template-columns:1fr 1fr}
.epop-imgs img{width:100%;border-radius:6px;cursor:pointer;object-fit:contain;max-height:65vh;background:var(--bg0)}
.epop-imgs img:hover{filter:brightness(.9)}
.epop-actions{display:flex;gap:4px;padding:10px 16px;border-top:1px solid var(--b1)}
.epop-actions .ab{font-size:var(--font-md);padding:4px 10px;border-radius:4px;border:1px solid var(--b2)}
.epop-actions .ab:hover{background:var(--bgH)}
.epop-replies{padding:0 16px 14px}
.epop-replies h4{font-size:var(--font-lg);color:var(--t2);margin-bottom:10px;padding-top:6px;border-top:1px solid var(--b1)}
.epop-reply{display:flex;gap:8px;margin-bottom:10px;padding:8px 10px;background:var(--bgH);border-radius:6px;border:1px solid var(--b1)}
.epop-reply .rpav{width:24px;height:24px;font-size:10px}
.epop-reply-body{flex:1;min-width:0}
.epop-reply-actions{display:flex;gap:2px;margin-top:4px}
.epop-reply-actions .ab{font-size:var(--font-sm);padding:2px 5px}

/* ═══ MODALS ═══ */
.mo{display:none;position:fixed;inset:0;background:var(--ov);z-index:600;align-items:center;justify-content:center;cursor:zoom-out}
.mo.o{display:flex}
.mo img{max-width:94%;max-height:94%;object-fit:contain;border-radius:4px}
.dlg{display:none;position:fixed;inset:0;background:var(--ov);z-index:700;align-items:center;justify-content:center}
.dlg.o{display:flex}
.dbox{background:var(--bg2);border:1px solid var(--b2);border-radius:8px;padding:16px;max-width:280px;width:90%;box-shadow:var(--sh)}
.dbox h3{font-size:var(--font-xl);margin-bottom:4px}
.dbox p{color:var(--t2);font-size:var(--font-md);margin-bottom:12px}
.dbtn{display:flex;gap:4px;justify-content:flex-end}
.dc{padding:4px 12px;border-radius:4px;border:1px solid var(--b2);background:0 0;color:var(--t1);font-family:var(--f);font-weight:600;font-size:var(--font-md);cursor:pointer}
.dd{padding:4px 12px;border-radius:4px;border:none;background:var(--rd);color:#fff;font-family:var(--f);font-weight:700;font-size:var(--font-md);cursor:pointer}
.emo{display:none;position:fixed;inset:0;background:var(--ov);z-index:650;align-items:center;justify-content:center}
.emo.o{display:flex}
.ebox{background:var(--bg2);border:1px solid var(--b2);border-radius:8px;padding:14px;width:360px;max-width:95%;box-shadow:var(--sh)}
.ebox h3{font-size:var(--font-xl);margin-bottom:8px}
.eta{width:100%;min-height:50px;max-height:120px;padding:6px 8px;background:var(--bgH);border:1px solid var(--b2);border-radius:4px;color:var(--t1);font-family:var(--f);font-size:var(--font-lg);line-height:1.5;resize:vertical;outline:none}
.eta:focus{border-color:var(--bl)}
.etr{display:flex;gap:2px;margin:6px 0}
.eis{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:6px}
.eiw{position:relative;width:58px;height:44px;border-radius:4px;overflow:hidden;border:1px solid var(--b2)}
.eiw img{width:100%;height:100%;object-fit:cover}
.eiw .re{position:absolute;top:1px;right:1px;width:14px;height:14px;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;border:none;font-size:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.eac{display:flex;gap:4px;justify-content:flex-end}
.eap{margin-right:auto;padding:4px 8px;border-radius:4px;border:1px solid var(--b2);background:0 0;color:var(--t2);font-size:var(--font-sm);cursor:pointer}
#efi{display:none}

/* ═══ TOAST ═══ */
.toast{position:fixed;top:44px;right:10px;z-index:800;background:var(--bg2);border:1px solid var(--am);border-radius:4px;padding:8px 12px;max-width:280px;box-shadow:var(--sh);display:none;animation:ti .3s}
.toast.v{display:block}
.toast-t{font-weight:700;font-size:var(--font-md);color:var(--am);margin-bottom:1px}
.toast-b{font-size:var(--font-sm)}
@keyframes ti{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}

/* ═══ SETTINGS MODAL — Terminal Style ═══ */
.smod{display:none;position:fixed;inset:0;background:var(--ov);z-index:800;align-items:center;justify-content:center}
.smod.o{display:flex}
.smod-box{background:var(--bg1);border:1px solid var(--b2);border-radius:8px;width:1600px;max-width:95%;height:85vh;max-height:92vh;display:flex;overflow:hidden;box-shadow:var(--sh)}

/* Settings left sidebar */
.smod-nav{width:200px;border-right:1px solid var(--b1);display:flex;flex-direction:column;flex-shrink:0;background:var(--bg2)}
.smod-nav-h{padding:12px 14px;font-weight:700;font-size:var(--font-xl);border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between}
.smod-nav-h button{background:none;border:none;color:var(--t3);font-size:14px;cursor:pointer;width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center}
.smod-nav-h button:hover{background:var(--bgH);color:var(--t1)}
.smod-nav-list{flex:1;overflow-y:auto;padding:4px 0}
.smod-nav-item{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:var(--font-md);font-weight:500;color:var(--t2);cursor:pointer;transition:all .08s;border-left:2px solid transparent}
.smod-nav-item:hover{background:var(--bgH);color:var(--t1)}
.smod-nav-item.on{background:var(--blB);color:var(--bl);border-left-color:var(--bl);font-weight:600}
.smod-nav-item .sni-icon{width:18px;text-align:center;font-size:13px;flex-shrink:0}
.smod-nav-item .sni-label{flex:1}
.smod-nav-item .sni-badge{font-size:8px;font-weight:700;padding:1px 5px;border-radius:6px;background:var(--amB);color:var(--am)}

/* Settings right content */
.smod-body{flex:1;overflow-y:auto;padding:0;display:flex;flex-direction:column}
.smod-body-h{padding:12px 18px 10px;font-weight:700;font-size:var(--font-xl);border-bottom:1px solid var(--b1);flex-shrink:0;display:flex;align-items:center;gap:6px}
.smod-body-h .sbh-icon{font-size:14px}
.smod-body-content{flex:1;overflow-y:auto;padding:14px 18px}

/* Settings sections & items */
.s-section{margin-bottom:var(--section-gap)}
.s-section + .s-section{margin-top:14px}
.s-section-title{font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--t3);margin-bottom:6px}
.s-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:4px;border:1px solid var(--b1);margin-bottom:4px;transition:all .08s;cursor:default}
.s-row:hover{background:var(--bgH)}
.s-row-icon{font-size:15px;width:24px;text-align:center;flex-shrink:0}
.s-row-info{flex:1;min-width:0}
.s-row-title{font-size:var(--font-lg);font-weight:600;color:var(--t1)}
.s-row-desc{font-size:var(--font-sm);color:var(--t3);margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s-row-action{flex-shrink:0}

/* Upload button */
.s-upload-btn{padding:4px 10px;border-radius:4px;border:1px solid var(--b2);background:var(--bgH);color:var(--t2);font-size:var(--font-sm);font-weight:600;font-family:var(--f);cursor:pointer;transition:all .08s;position:relative;overflow:hidden}
.s-upload-btn:hover{background:var(--bl);color:#fff;border-color:var(--bl)}
.s-upload-btn input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer}

/* Stats grid */
.s-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin-bottom:12px}
.s-stat{background:var(--bgH);border:1px solid var(--b1);border-radius:4px;padding:8px 10px;text-align:center}
.s-stat-val{font-size:16px;font-weight:700;color:var(--bl)}
.s-stat-val.up{color:var(--gn)}
.s-stat-val.dn{color:var(--rd)}
.s-stat-val.am{color:var(--am)}
.s-stat-lbl{font-size:var(--font-xs);color:var(--t3);margin-top:1px;text-transform:uppercase;letter-spacing:.3px}

/* CA table */
.s-ca-tbl{width:100%;border-collapse:collapse;font-size:var(--font-md)}
.s-ca-tbl th{padding:var(--cell-py) var(--cell-px);font-size:var(--font-xs);font-weight:700;color:var(--t3);border-bottom:1px solid var(--b1);text-transform:uppercase;letter-spacing:.3px;text-align:left;white-space:nowrap;position:sticky;top:0;background:var(--bg1)}
.s-ca-tbl td{padding:var(--cell-py) var(--cell-px);border-bottom:1px solid var(--b1);white-space:nowrap}
.s-ca-tbl tr:hover td{background:var(--bgH)}
.s-ca-status{font-size:var(--font-xs);font-weight:600;padding:1px 5px;border-radius:3px;display:inline-block}
.s-ca-status.pending{background:var(--amB);color:var(--am)}
.s-ca-status.confirmed{background:var(--gnB);color:var(--gn)}
.s-ca-status.dismissed{color:var(--t3)}
.s-ca-btn{padding:2px 6px;border-radius:3px;border:1px solid var(--b2);background:none;font-size:var(--font-sm);cursor:pointer;color:var(--t2);font-family:var(--f);transition:all .08s}
.s-ca-btn:hover{background:var(--bgH);color:var(--t1)}
.s-ca-btn.confirm{border-color:var(--gn);color:var(--gn)}
.s-ca-btn.confirm:hover{background:var(--gnB)}
.s-ca-btn.dismiss{border-color:var(--rd);color:var(--rd)}
.s-ca-btn.dismiss:hover{background:var(--rdB)}

/* Export buttons */
.s-export-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:4px;border:1px solid var(--b1);background:none;width:100%;text-align:left;cursor:pointer;transition:all .08s;margin-bottom:4px;font-family:var(--f)}
.s-export-btn:hover{background:var(--bgH);border-color:var(--bl)}
.s-export-btn .se-icon{font-size:15px;width:24px;text-align:center;flex-shrink:0}
.s-export-btn .se-info{flex:1}
.s-export-btn .se-title{font-size:var(--font-lg);font-weight:600;color:var(--t1)}
.s-export-btn .se-desc{font-size:var(--font-sm);color:var(--t3)}

/* Toggle switch */
.s-toggle{width:36px;height:18px;border-radius:9px;background:var(--b2);position:relative;cursor:pointer;transition:background .15s;flex-shrink:0}
.s-toggle.on{background:var(--bl)}
.s-toggle::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.s-toggle.on::after{transform:translateX(18px)}

/* Info text */
.s-info{font-size:var(--font-sm);color:var(--gn);padding:4px 0;min-height:16px}
.s-info.error{color:var(--rd)}

/* Gap list */
.s-gap-list{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}
.s-gap-item{font-size:var(--font-xs);padding:1px 5px;border-radius:3px;background:var(--rdB);color:var(--rd)}

@media(max-width:640px){
  .smod-box{flex-direction:column;height:95vh}
  .smod-nav{width:100%;border-right:none;border-bottom:1px solid var(--b1);max-height:160px}
  .smod-nav-list{display:flex;flex-wrap:wrap;padding:4px}
  .smod-nav-item{padding:5px 10px;border-left:none;border-bottom:2px solid transparent;font-size:var(--font-sm)}
  .smod-nav-item.on{border-bottom-color:var(--bl);border-left-color:transparent}
}

/* ═══ SCREENER FORMULA MODAL ═══ */
.scr-modal-overlay{display:flex;position:fixed;inset:0;background:var(--ov);z-index:700;align-items:center;justify-content:center;animation:scrFadeIn .15s ease-out}
@keyframes scrFadeIn{from{opacity:0}to{opacity:1}}
.scr-modal-box{background:var(--bg1);border:1px solid var(--b2);border-radius:8px;width:1100px;max-width:95%;max-height:88vh;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,0.5);display:flex;flex-direction:column}
.scr-modal-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--b1);flex-shrink:0;background:var(--bg2);border-radius:8px 8px 0 0}
.scr-modal-vars{border-top:1px solid var(--b1);overflow-y:auto;flex:1;display:flex;flex-direction:column}
.scr-var-row{display:flex;border-bottom:1px solid var(--b1);min-height:0}
.scr-var-row:last-child{border-bottom:none}
.scr-var-cat{width:140px;min-width:140px;padding:6px 10px;font-size:9px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;background:var(--bg2);border-right:1px solid var(--b1);display:flex;align-items:flex-start;padding-top:8px}
.scr-var-list{flex:1;display:flex;flex-wrap:wrap;gap:2px 4px;padding:6px 10px;align-content:flex-start}
.scr-var-btn{padding:2px 8px;font-size:11px;font-weight:600;color:var(--bl);cursor:pointer;border-radius:3px;transition:background .08s;font-family:var(--fm);white-space:nowrap}
.scr-var-btn:hover{background:var(--blB)}
.scr-var-btn.str{color:var(--am)}
.scr-var-desc{font-weight:400;color:var(--t3);font-size:10px}
.scr-formula-btn{padding:6px 14px;border-radius:4px;border:none;background:var(--am);color:#000;font-size:11px;font-weight:700;font-family:var(--f);cursor:pointer;transition:all .1s;flex-shrink:0;letter-spacing:.3px}
.scr-formula-btn:hover{background:#f59e0b;box-shadow:0 0 8px rgba(245,158,11,0.3)}

@media(max-width:700px){
  .scr-var-cat{width:80px;min-width:80px;font-size:8px}
  .scr-var-btn{font-size:10px;padding:1px 5px}
}

/* ═══ MARKET NEWS PANEL ═══ */
.mr-news-tab{padding:6px 12px;border:none;background:none;color:var(--t3);font-size:10px;font-weight:600;font-family:var(--f);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;transition:all .1s}
.mr-news-tab:hover{color:var(--t1);background:var(--bgH)}
.mr-news-tab.on{color:var(--bl);border-bottom-color:var(--bl)}
.mr-news-item{display:block;padding:8px 12px;border-bottom:1px solid var(--b1);text-decoration:none;transition:background .08s;cursor:pointer}
.mr-news-item:hover{background:var(--bgH)}
.mr-news-item:last-child{border-bottom:none}
.mr-news-headline{font-size:11px;font-weight:500;color:var(--t1);line-height:1.4;margin-bottom:2px}
.mr-news-item:hover .mr-news-headline{color:var(--bl)}
.mr-news-meta{display:flex;gap:8px;font-size:9px;color:var(--t3)}
