/* ZenX Trade — Components: Cards, Forms, Modals, Badges */
.acct-section-label{font-size:10px;font-weight:600;color:var(--text3);
  text-transform:uppercase;letter-spacing:0.5px;padding:4px 8px 6px}
.acct-item{display:flex;align-items:center;gap:8px;padding:9px 8px;
  border-radius:var(--rs);cursor:pointer;margin-bottom:2px}
.acct-item:hover{background:rgba(255,255,255,0.05)}
.acct-item.active{background:var(--amber-l)}
.acct-tag{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;
  min-width:52px;text-align:center;letter-spacing:0.3px}
.acct-info{flex:1;min-width:0}
.acct-name{font-size:12px;font-weight:600;color:var(--text)}
.acct-balance{font-size:11px;color:var(--text2);margin-top:1px}
.acct-check{color:var(--amber);font-size:14px}
.dropdown-divider{border:none;border-top:0.5px solid var(--border);margin:6px 0}
.dropdown-action{display:flex;align-items:center;gap:8px;padding:8px 8px;
  border-radius:var(--rs);cursor:pointer;font-size:11px;color:var(--text2)}
.dropdown-action:hover{background:rgba(255,255,255,0.05);color:var(--text)}

/* USER AVATAR */
#user-info{display:none;align-items:center;cursor:pointer;position:relative}
#user-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;
  border:2px solid var(--amber)}
#user-menu{display:none;position:absolute;top:40px;right:0;background:#1a2340;
  border:0.5px solid rgba(212,160,23,0.3);border-radius:var(--r);
  padding:12px;min-width:200px;z-index:500;box-shadow:0 8px 32px rgba(0,0,0,0.4)}
#user-menu-name{font-size:13px;font-weight:600;margin-bottom:2px}
#user-menu-email{font-size:11px;color:var(--text2);margin-bottom:10px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-action{display:flex;align-items:center;gap:8px;padding:7px 4px;
  border-radius:var(--rs);cursor:pointer;font-size:13px;font-weight:500}
.menu-action:hover{background:rgba(255,255,255,0.05)}
.menu-action.danger{color:var(--red)}

/* CONTENT + BOTTOM NAV */
.card{background:var(--card);border:0.5px solid var(--border);
  border-radius:var(--r);padding:14px;margin-bottom:12px}
.card-title{font-size:11px;font-weight:600;color:var(--text2);margin-bottom:10px;
  text-transform:uppercase;letter-spacing:0.5px}
.cw{position:relative;width:100%}

/* METRICS */
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.metric{background:var(--card);border:0.5px solid var(--border);
  border-radius:var(--rs);padding:12px}
.ml{font-size:11px;color:var(--text2);margin-bottom:4px}
.mv{font-size:20px;font-weight:700;letter-spacing:-0.5px}
.ms{font-size:11px;color:var(--text3);margin-top:2px}
.g{color:var(--green)}.a{color:var(--amber)}.r{color:var(--red)}.b{color:var(--blue)}

/* PROGRESS */
.pb-bg{background:var(--bg3);border-radius:99px;height:6px;overflow:hidden;margin:5px 0 3px}
.pb-fill{height:6px;border-radius:99px;background:var(--green);transition:width 0.6s ease}
.rf{display:flex;justify-content:space-between;align-items:center;
  margin-bottom:3px;font-size:12px}

/* TABLES */
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -14px;padding:0 14px}
table{width:100%;border-collapse:collapse;font-size:12px;min-width:380px}
th{font-size:10px;font-weight:500;color:var(--text3);text-align:left;
  padding:5px 6px;border-bottom:0.5px solid var(--border);white-space:nowrap}
td{padding:7px 6px;border-bottom:0.5px solid var(--border);white-space:nowrap}
tr:last-child td{border-bottom:none}

/* BADGES */
.badge{display:inline-block;font-size:10px;padding:2px 7px;
  border-radius:20px;font-weight:500}
.bg{background:rgba(29,158,117,0.2);color:#4ade80}
.ba{background:rgba(212,160,23,0.2);color:#fbbf24}
.br{background:rgba(176,58,46,0.2);color:#f87171}
.bb{background:rgba(59,130,246,0.15);color:#60a5fa}

/* FORMS */
.form-section{background:var(--card);border:0.5px solid var(--border);
  border-radius:var(--r);padding:14px;margin-bottom:12px}
.hl-input{background:var(--bg3);border:1.5px solid var(--amber);
  border-radius:var(--r);padding:14px;margin-bottom:12px}
.field{margin-bottom:10px}
.field label{font-size:11px;color:var(--text2);display:block;margin-bottom:5px;
  font-weight:500;text-transform:uppercase;letter-spacing:0.4px}
.field input,.field select,.field textarea{width:100%;background:var(--bg3);
  border:0.5px solid var(--border2);border-radius:var(--rs);color:var(--text);
  font-size:14px;padding:10px 12px;outline:none;-webkit-appearance:none}
.field input:focus,.field select:focus{border-color:var(--amber)}
.field textarea{height:56px;resize:none;font-family:inherit}
.field .big-input{font-size:22px;font-weight:700;letter-spacing:-0.5px;color:var(--amber)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.preview-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.pi{background:var(--bg2);border-radius:var(--rs);padding:9px 10px}
.pl{font-size:10px;color:var(--text3);margin-bottom:3px;text-transform:uppercase}
.pv{font-size:16px;font-weight:700}
.info-bar{font-size:11px;color:var(--text2);background:var(--bg3);
  border-radius:var(--rs);padding:8px 10px;margin-bottom:10px;line-height:1.5}
.info-bar strong{color:var(--amber)}

/* BUTTONS */
.btn{padding:11px 20px;border-radius:var(--rs);border:none;cursor:pointer;
  font-size:14px;font-weight:600;width:100%;margin-top:4px}
.btn-p{background:var(--amber);color:#000}
.btn-s{background:var(--bg3);color:var(--text2);border:0.5px solid var(--border2);
  margin-top:6px}
.btn-d{background:var(--red-l);color:var(--red);border:0.5px solid var(--red);
  margin-top:6px}
.btn:active{transform:scale(0.98)}

/* INSIGHTS */
.ins{border-left:2px solid var(--green);padding:7px 10px;background:var(--green-l);
  border-radius:0 var(--rs) var(--rs) 0;margin-bottom:8px;font-size:12px;
  color:#86efac;line-height:1.5}
.ins.w{border-color:var(--amber);background:var(--amber-l);color:#fcd34d}
.ins.r{border-color:var(--red);background:var(--red-l);color:#fca5a5}
.ins.i{border-color:var(--blue);background:var(--blue-l);color:#93c5fd}

/* NOTIFY */
#notify{position:fixed;top:calc(var(--safe-top) + 70px);left:50%;
  transform:translateX(-50%);background:var(--amber);color:#000;
  padding:9px 20px;border-radius:20px;font-size:13px;font-weight:700;
  z-index:300;opacity:0;transition:opacity 0.3s;pointer-events:none;white-space:nowrap}
#notify.show{opacity:1}

/* AUTH OVERLAY */
#auth-overlay{display:none;position:fixed;inset:0;background:var(--bg);
  z-index:1000;flex-direction:column;align-items:center;
  justify-content:center;padding:32px}

/* SECTION TITLES */
.sec-title{font-size:13px;font-weight:600;margin-bottom:10px;margin-top:4px}
.divider{border:none;border-top:0.5px solid var(--border);margin:10px 0}

/* ANALYSIS SUB-TABS */
.stabs{display:flex;gap:5px;overflow-x:auto;padding-bottom:8px;
  margin-bottom:12px;scrollbar-width:none}
.stabs::-webkit-scrollbar{display:none}
.stab{padding:4px 8px;border-radius:20px;border:0.5px solid var(--border2);
  background:transparent;cursor:pointer;font-size:12px;
  color:var(--text2);white-space:nowrap;flex-shrink:0}
.stab.active{background:var(--amber-l);border-color:var(--amber);
  color:var(--amber);font-weight:600}
.sub-page{display:none}.sub-page.active{display:block}

/* ANALYSIS GRID */
.analytics-grid{
display:grid;
grid-template-columns:
minmax(0,1fr)
minmax(0,1fr);
row-gap:8px;
column-gap:8px;
margin-top:10px;
}

.analytics-grid .card{
display:flex;
flex-direction:column;
justify-content:flex-start;
padding:8px 8px;
border-radius:10px;
}

.card > div[id$="-exp"]{
margin-top:0px;
}


/* EDGE ROWS */
.edge-row{
display:grid;
grid-template-columns:
minmax(0,1fr)
64px
26px;
align-items:center;
gap: 4px;
padding:4px 6px;
margin-bottom:4px;
background:rgba(255,255,255,0.02);
border-radius:8px;
font-size:12px;
}

.edge-row span:first-child{
white-space:normal;
overflow:visible;
line-height:1.25;
padding-left:2px;
}

.edge-value{
text-align:right;
justify-self:end;
font-weight:600;
font-variant-numeric:tabular-nums;
}

.edge-n{
justify-self:end;
font-size:10px;
opacity:.45;
letter-spacing:.05em;
}

.analytics-grid .edge-row span:first-child{
white-space:normal !important;
word-break:normal !important;
overflow-wrap:normal !important;
}

.edge-n.low{opacity:.4}
.edge-n.mid{opacity:.7}
.edge-n.high{opacity:1}

.edge-value.pos{
color:#33d17a;
}

.edge-value.neg{
color:#ff5c5c;
}

/* EDGE HIGHLIGHT */
.edge-highlight{
padding:8px 12px;
border-left:3px solid #f6c344;
margin-bottom:8px;
background:rgba(246,195,68,0.05);
border-radius:6px;
}

/* EDGE EMPTY */
.edge-empty{
opacity:.45;
font-size:12px;
padding:6px 4px;
}

/* BROKER MANAGEMENT */
.broker-card{background:var(--bg3);border:0.5px solid var(--border2);
  border-radius:var(--r);padding:12px;margin-bottom:8px}
.broker-header{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:8px}
.broker-name{font-size:14px;font-weight:600}
.broker-actions{display:flex;gap:6px}
.icon-btn{background:transparent;border:none;cursor:pointer;color:var(--text2);
  padding:4px;border-radius:6px;font-size:12px}
.icon-btn:hover{color:var(--text);background:rgba(255,255,255,0.06)}
.account-row{display:flex;align-items:center;gap:8px;padding:7px 0;
  border-bottom:0.5px solid var(--border)}
.account-row:last-child{border-bottom:none}
.acct-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}

/* CONSOLIDATED TAB */
.acct-checkbox-row{display:flex;align-items:center;gap:8px;padding:8px;
  border-radius:var(--rs);cursor:pointer;margin-bottom:4px}
.acct-checkbox-row:hover{background:rgba(255,255,255,0.04)}
.acct-checkbox-row input[type=checkbox]{width:16px;height:16px;
  accent-color:var(--amber);flex-shrink:0;cursor:pointer}

/* MODAL FIX */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.6);
  z-index:600;display:none;align-items:center;justify-content:center}
.modal-backdrop.open{display:flex}
.modal-sheet{background:#1a2340;border-radius:var(--r);
  padding:20px 16px;width:92%;max-width:440px;max-height:85vh;overflow-y:auto;
  box-shadow:0 12px 32px rgba(0,0,0,0.5)}
.modal-title{font-size:16px;font-weight:700;margin-bottom:16px}
.modal-handle{width:36px;height:4px;background:var(--border2);
  border-radius:2px;margin:0 auto 16px}

/* COLOR SWATCHES */
.color-swatches{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;
  border:2px solid transparent;transition:border-color 0.15s}
.swatch.selected{border-color:var(--text)}

/* SCROLLBAR */
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}

/* INSTALL BANNER */
#install-banner{display:none;background:linear-gradient(135deg,#A07810,var(--amber));
  padding:12px 14px;margin:10px 14px;border-radius:var(--r)}
#install-banner p{font-size:13px;font-weight:500;margin-bottom:8px}
#install-banner .btns{display:flex;gap:8px}
#install-banner button{padding:7px 14px;border-radius:var(--rs);
  font-size:12px;font-weight:600;border:none;cursor:pointer}
#btn-install{background:#fff;color:#A07810}
#btn-dismiss{background:rgba(255,255,255,0.2);color:#fff}

/* THEME GOLD OVERRIDES */
.theme-gold .pb-fill{background:var(--amber)}

/* Log history rows */
.log-row{transition:background .15s;cursor:pointer}
.log-row:hover{background:rgba(255,255,255,0.04)}
.log-row--txn{background:rgba(212,160,23,0.07)}
.log-row--txn:hover{background:rgba(212,160,23,0.14)}
.txn-dot{display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--amber);margin-left:3px;vertical-align:middle}
/* Log table compact */
#log-body td{padding:8px 6px;font-size:12px;vertical-align:middle}
#log-body td:first-child{font-size:11px;color:var(--text2)}
/* Entry detail modal */
#entry-detail-modal .modal-sheet{border-radius:16px 16px 0 0}
.edm-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}
.edm-cell{background:var(--bg2);border-radius:8px;padding:9px 11px}
.edm-label{font-size:10px;color:var(--text3);margin-bottom:2px;font-weight:500;text-transform:uppercase;letter-spacing:.4px}
.edm-value{font-size:13px;font-weight:500;color:var(--text)}
.edm-wide{grid-column:1/-1}

/* ── D1: Trade Log ────────────────────────────────────────────── */
.trade-row{transition:background .12s;cursor:pointer}
.trade-row:hover{background:rgba(255,255,255,0.04)}
#trade-body td{padding:7px 5px;font-size:12px;vertical-align:middle}
#trade-table th{font-size:10px;white-space:nowrap}
.trade-dir-long{color:var(--green);font-weight:700;font-size:11px}
.trade-dir-short{color:var(--red);font-weight:700;font-size:11px}
#log-trades{padding-top:4px}

/* ── D3: Data Sufficiency ─────────────────────────────────────── */
.d3-lock-overlay{position:absolute;inset:0;background:rgba(10,15,30,0.82);
  border-radius:var(--r);display:flex;align-items:center;justify-content:center;
  z-index:10;backdrop-filter:blur(2px)}
.d3-lock-content{text-align:center;padding:16px}
#d3-sufficiency-bar{transition:opacity .3s}
