/* the new look: more area (class-only, .u- prefix). */
/* Portfolio holdings, Universe, Signals, Bot control, Scan log, Admin control, Manage algos. */

/* rows on a phone, a table on a computer: one or the other is shown, never both */
.u-more-desk{ display:none; }
@media (min-width:1024px){
  .u-more-desk{ display:block; }
  .u-more-phone{ display:none !important; }
}

/* small grey count / note beside a section heading */
.u-sec .u-more-count{ font-size:14px; font-weight:600; color:var(--u-t3); letter-spacing:0; }
.u-sec .u-more-date{ margin-left:auto; font-size:14px; font-weight:500; color:var(--u-t3); white-space:nowrap; }
.u-more-p, .u-more-cap{ margin:2px var(--u-pad) 0; font-size:14.5px; line-height:1.5; color:var(--u-t3); }
.u-more-cap{ font-size:13px; }
@media (min-width:1024px){ .u-more-p, .u-more-cap{ margin:2px 0 0; } }

/* colour helpers inside rows, tables and stats */
.u-more-warn{ color:var(--u-gold) !important; }
.u-more-b{ font-weight:700; }
.u-stat .v.u-more-gold{ color:var(--u-gold); }
.u-table td.u-up, .u-table td .u-up{ color:var(--u-green); }
.u-table td.u-down{ color:var(--u-red); }
.u-table td.u-mute{ color:var(--u-t3); }
.u-table td b{ font-weight:700; }
.u-table td.u-more-wide{ white-space:normal; min-width:160px; }

/* three statistics across from a tablet up (signals, bot control, admin) */
@media (min-width:700px){ .u-stats.u-more-3{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:1024px){ .u-stats.u-more-3{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* sortable table headers (Universe) */
.u-table th.u-more-sort{ cursor:pointer; user-select:none; }
.u-table th.u-more-sort:hover, .u-table th.u-more-sort.on{ color:var(--u-t1); }

/* Universe: search and, on a phone, the sort picker */
.u-more-tools{ display:flex; flex-direction:column; gap:10px; margin:18px var(--u-pad) 0; }
@media (min-width:1024px){ .u-more-tools{ margin:20px 0 0; max-width:520px; } }
.u-more-sortbar{ display:flex; gap:10px; }
.u-more-sortbar .u-select{ flex:1; min-width:0; }
.u-more-sortbar .u-btn{ flex:none; min-height:48px; }

/* the symbols of a practice run (Universe, waiting state) */
.u-more-chips{ display:flex; flex-wrap:wrap; gap:8px; padding:4px var(--u-pad) 0; }
@media (min-width:1024px){ .u-more-chips{ padding:4px 0 0; } }
.u-more-chips span{ display:inline-flex; align-items:center; min-height:34px; padding:0 14px; border-radius:999px;
                    background:var(--u-raise); color:var(--u-t1); font-size:14.5px; font-weight:600; }

/* Scan log: time, kind, message, in the one font */
.u-more-logs{ padding:0 var(--u-pad); }
@media (min-width:1024px){ .u-more-logs{ padding:0; } }
.u-more-log{ display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-areas:"w lv" "m m"; column-gap:12px; row-gap:3px;
             align-items:baseline; min-height:56px; padding:11px 0; border-bottom:1px solid var(--u-line); }
.u-more-log:last-child{ border-bottom:0; }
.u-more-log .w{ grid-area:w; font-size:13px; color:var(--u-t3); white-space:nowrap; }
.u-more-log .lv{ grid-area:lv; font-size:13px; font-weight:700; letter-spacing:.02em; }
.u-more-log .m{ grid-area:m; font-size:15px; color:var(--u-t1); line-height:1.45; overflow-wrap:anywhere; min-width:0; }
@media (min-width:1024px){
  .u-more-log{ grid-template-columns:170px 64px minmax(0,1fr); grid-template-areas:"w lv m"; column-gap:16px; min-height:48px; }
}
.u-more-log .lv.info{ color:var(--u-t3); }
.u-more-log .lv.scan{ color:var(--u-blue); }
.u-more-log .lv.order{ color:var(--u-green); }
.u-more-log .lv.error{ color:var(--u-red); }
.u-more-log .lv.signal{ color:var(--u-pink); }

/* Bot control */
.u-more-slots{ display:flex; gap:6px; margin:14px var(--u-pad) 0; }
@media (min-width:1024px){ .u-more-slots{ margin:14px 0 0; } }
.u-more-slots i{ flex:1; height:10px; border-radius:5px; background:var(--u-raise2); }
.u-more-slots i.on{ background:var(--u-green); }
.u-row .v .u-status{ font-size:13.5px; }
.u-more-btrow{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:14px var(--u-pad) 0; }
@media (min-width:1024px){ .u-more-btrow{ margin:14px 0 0; } }
.u-more-btstat{ min-width:0; font-size:14.5px; }
.u-more-bts{ display:inline-flex; align-items:center; gap:8px; color:var(--u-t3); }
.u-more-bts.warn{ color:var(--u-gold); } .u-more-bts.ok{ color:var(--u-green); } .u-more-bts.bad{ color:var(--u-red); }
.u-more-spin{ width:13px; height:13px; border:2px solid currentColor; border-top-color:transparent; border-radius:50%; flex:none;
              animation:u-more-spin .7s linear infinite; }
@keyframes u-more-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .u-more-spin{ animation:none; } }
.u-more-out{ margin:12px var(--u-pad) 0; padding:12px 14px; border-radius:12px; background:var(--u-raise); color:var(--u-t2);
             font-size:13.5px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; max-height:280px; overflow:auto; }
@media (min-width:1024px){ .u-more-out{ margin:12px 0 0; } }

/* rows that carry their own buttons (Admin control, Manage algos) */
.u-row.u-more-act{ grid-template-columns:minmax(0,1fr) auto; }
.u-more-btns{ display:flex; gap:8px; flex:none; }
.u-row .s.u-more-wrap{ white-space:normal; line-height:1.45; }
.u-more-inv{ color:var(--u-blue); font-weight:600; }

/* forms: grant access, change password */
.u-more-form{ padding:0 var(--u-pad); }
@media (min-width:1024px){ .u-more-form{ padding:0; } }
.u-more-form .u-btn{ margin-top:16px; }
.u-more-p0{ margin:0; font-size:14.5px; line-height:1.5; color:var(--u-t3); }
.u-more-msg{ margin-top:10px; font-size:14.5px; font-weight:600; min-height:0; }
.u-more-msg:empty{ display:none; }
.u-more-small{ margin:10px 0 0; font-size:13px; color:var(--u-t3); line-height:1.5; }

/* the two columns of Bot control / Admin control: the aside a little narrower */
@media (min-width:1100px){ .u-cols.u-more-cols{ grid-template-columns:minmax(0,1fr) 360px; } .u-cols.u-more-cols > .u-aside{ position:static; } }

/* ── Manage algos (a sheet) ── */
.u-more-mgr .u-sheet{ padding-bottom:0; }
.u-more-mgr-top{ display:flex; align-items:center; gap:12px; }
.u-more-mgr-top h2{ flex:1; min-width:0; }
.u-more-mgr-intro{ margin:4px 0 0; font-size:14.5px; line-height:1.5; color:var(--u-t3); }
.u-more-mgr-new{ display:flex; gap:10px; margin:14px 0 4px; }
.u-more-mgr-algo{ margin-top:14px; padding-top:6px; border-top:1px solid var(--u-line2); }
.u-more-mgr-head{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; min-height:60px; padding:6px 0; }
.u-more-mgr-head .t{ font-size:17px; font-weight:700; white-space:normal; overflow-wrap:anywhere; line-height:1.25; }
.u-more-mgr-head .s, .u-more-mgr-bt .s{ font-size:13.5px; color:var(--u-t3); margin-top:2px; }
.u-more-mgr-bt{ margin-left:16px; padding:4px 0 12px; border-top:1px solid var(--u-line); }
.u-more-mgr-bt .u-more-mgr-head{ min-height:56px; }
.u-more-mgr-bt .t{ font-size:15.5px; font-weight:600; white-space:normal; overflow-wrap:anywhere; line-height:1.3; }
.u-more-mgr-move{ display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; margin-top:4px;
                  font-size:13.5px; font-weight:600; color:var(--u-t3); }
.u-more-mgr-move .u-select{ min-width:0; min-height:44px; padding:0 10px; font-size:15px; }
.u-more-btns .u-btn{ padding:0 14px; }
.u-more-mgr-none{ padding:4px 0 12px 16px; font-size:14px; color:var(--u-t3); line-height:1.5; }
.u-more-mgr-msg{ position:sticky; bottom:0; padding:0 0 16px; background:var(--u-bg); }
.u-more-mgr-msg:empty{ padding:0 0 22px; }
.u-more-mgr-msg .u-note{ margin:12px 0 0; }
@media (max-width:380px){ .u-more-mgr .u-more-btns .u-btn{ padding:0 12px; } }
.u-more-mgr-name{ min-width:0; }

/* an empty state on a computer: a readable line length, not the whole width */
@media (min-width:1024px){ .u-more-page .u-empty{ max-width:720px; } }
/* a statistic whose value is words (a date, a level): smaller and allowed to wrap */
.u-stat .v.u-more-txt{ font-size:17px; line-height:1.3; white-space:normal; overflow:visible; margin-top:5px; }
.u-row .s.u-up{ color:var(--u-green); } .u-row .s.u-down{ color:var(--u-red); }

/* a little air between a page's heading and what follows it */
.u-more-page > .u-head{ margin-bottom:10px; }
/* the aside's sections sit in wrappers (for the phone order): only the very first heading loses its top margin */
@media (min-width:1024px){ .u-more-cols .u-aside > div:not(:first-child) > .u-sec:first-child{ margin-top:32px; } }
/* the chart's end dot sits 1.2% from the right edge; on a 360px phone its halo would touch the screen edge */
@media (max-width:1023px){ .u-more-page .u-chart{ margin-right:8px; } }
/* an email is the point of the row: let it wrap rather than cut it short */
.u-row .t.u-more-email{ white-space:normal; overflow-wrap:anywhere; line-height:1.3; }
/* a request with two buttons: on a phone the buttons go under the words */
@media (max-width:699px){
  .u-row.u-more-act.u-more-stack{ grid-template-columns:minmax(0,1fr); row-gap:10px; padding:14px 0; }
  .u-row.u-more-act.u-more-stack .u-more-btns .u-btn{ flex:1; }
}
/* Signals: air between the Days and Sector columns */
.u-table th.u-more-sec, .u-table td.u-more-sec{ padding-left:24px; }
/* Portfolio on a computer: the big number and chart left, its numbers right */
@media (min-width:1100px){ .u-more-port > .u-aside{ padding-top:14px; } }
