/* Today = the member's inbox (upgrade pack 2026-10-11, PR 4): the inbox and the week lead; the market backdrop, the
   research feed and the stock analyses are folded rows. Phone-first: one column, 44px taps, no horizontal scroll. */
.today-inbox,.today-week{margin:0 0 22px;}
.today-inbox-host[hidden],.today-week-host[hidden]{display:none;}
.today-inbox .today-section-heading,.today-week .today-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.today-inbox .today-section-heading p,.today-week .today-section-heading p{margin:6px 0 12px;}
.today-week .today-section-heading>a{flex-shrink:0;min-height:40px;}
.today-inbox-list{display:grid;gap:8px;}
.today-inbox-row{position:relative;padding:12px 14px 10px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.today-inbox-row::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--border);}
.today-inbox-row.is-buy::before{background:var(--bull);}
.today-inbox-row.is-sell::before{background:var(--bear);}
.today-inbox-row.is-buy .alert-direction{color:var(--bull);}
.today-inbox-row.is-sell .alert-direction{color:var(--bear);}
.today-inbox-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted);}
.today-inbox-top .alert-time{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap;}
.today-inbox-headline{margin:6px 0 8px;font-size:15px;line-height:1.55;font-weight:600;overflow-wrap:anywhere;}
.today-inbox-links{display:flex;gap:8px;flex-wrap:wrap;}
.today-inbox-foot{margin-top:10px;}
.today-inbox-foot p{margin:8px 0 0;}
.today-inbox-empty{display:grid;gap:8px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);font-size:14px;line-height:1.7;}
.today-inbox-empty p{margin:0;}
.today-inbox-status .today-widened{margin:0 0 10px;}
.today-inbox-failed{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
/* The header's one number is a link to the alerts page, where the same rows live. */
a.today-stat{text-decoration:none;color:var(--muted);}
a.today-stat:hover,a.today-stat:focus-visible{border-color:var(--accent-text,var(--accent));color:var(--text);}
a.today-stat strong{color:var(--text);font-size:15px;}
/* 本周日程: date · time · title · tickers, one event per line. */
.today-week-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.today-week-row{display:grid;grid-template-columns:minmax(64px,auto) minmax(0,1fr);gap:2px 12px;align-items:baseline;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:14px;line-height:1.5;}
.today-week-day{grid-row:1/3;font-weight:600;color:var(--accent-text,var(--accent));text-decoration:none;min-height:44px;display:flex;align-items:center;}
.today-week-day:hover,.today-week-day:focus-visible{text-decoration:underline;}
.today-week-title{grid-column:2;overflow-wrap:anywhere;}
.today-week-time{grid-column:2;font-size:12px;}
.today-week-tickers{grid-column:2;display:flex;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--muted);}
.today-week-row[data-why=earnings] .today-week-title{font-weight:600;}
/* Folded rows: market overview (with its one-line summary), research feed, stock analyses. */
.today-macro-fold,.today-research-fold,.today-analyses-fold{margin:0 0 18px;border-top:1px solid var(--border);}
.today-macro-fold>summary,.today-research-fold>summary,.today-analyses-fold>summary{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;min-height:48px;padding:10px 0;cursor:pointer;list-style:none;font-weight:600;font-size:15px;color:var(--text);}
.today-macro-fold>summary::-webkit-details-marker,.today-research-fold>summary::-webkit-details-marker,.today-analyses-fold>summary::-webkit-details-marker{display:none;}
.today-macro-fold>summary::before,.today-research-fold>summary::before,.today-analyses-fold>summary::before{content:'';width:0;height:0;border:5px solid transparent;border-left-color:var(--muted);transition:transform .15s;flex-shrink:0;}
.today-macro-fold[open]>summary::before,.today-research-fold[open]>summary::before,.today-analyses-fold[open]>summary::before{transform:rotate(90deg);}
.today-macro-fold>summary:focus-visible,.today-research-fold>summary:focus-visible,.today-analyses-fold>summary:focus-visible{outline:2px solid var(--accent-text,var(--accent));outline-offset:2px;border-radius:8px;}
.today-research-fold[hidden],.today-macro-fold[hidden]{display:none;}
.today-market-line-slot{display:contents;}
.today-market-line{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap;font-weight:500;font-size:13px;color:var(--muted);}
.today-market-line-item{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap;}
.today-market-line-item strong{font-size:13px;color:var(--text);font-variant-numeric:tabular-nums;}
.today-market-line-item strong.pos{color:var(--pos,var(--green));}
.today-market-line-item strong.neg{color:var(--neg,var(--red));}
.today-market-line-date{flex-basis:100%;font-size:11px;}
.today-macro-fold .today-macro-host{padding-top:4px;}
.today-analyses-fold .today-section-heading h2{font-size:16px;}
.focus-today>.focus-latest{margin-top:0;}
/* Today keeps the heavy market history and charts behind one compact, keyboard-accessible row. */
.today-market-section{margin:0 0 18px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.today-market-section>summary{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;min-height:48px;padding:10px 0;cursor:pointer;list-style:none;font-weight:600;font-size:15px;color:var(--text);}
.today-market-section>summary::-webkit-details-marker{display:none;}
.today-market-section>summary::before{content:'';width:0;height:0;border:5px solid transparent;border-left-color:var(--muted);transition:transform .15s;flex-shrink:0;}
.today-market-section[open]>summary::before{transform:rotate(90deg);}
.today-market-section>summary:focus-visible{outline:2px solid var(--accent-text,var(--accent));outline-offset:2px;border-radius:8px;}
.today-market-section-title{white-space:nowrap;}
.today-market-section .today-macro-host{padding-top:4px;}
@media(max-width:600px){
 .today-inbox,.today-week{margin-bottom:18px;}
 .today-inbox-row{padding:10px 12px 8px 16px;}
 .today-inbox-headline{font-size:14px;}
 .today-inbox-links .btn,.today-inbox-foot .btn,.today-inbox-empty .btn{min-height:44px;}
 .today-inbox .today-section-heading,.today-week .today-section-heading{flex-direction:column;gap:4px;}
 .today-week-row{grid-template-columns:minmax(0,1fr);}
 .today-week-day{grid-row:auto;min-height:32px;}
 .today-week-title,.today-week-time,.today-week-tickers{grid-column:1;}
 .today-market-line{font-size:12px;gap:4px 10px;}
 .today-market-line-date{display:none;}
 .today-macro-fold>summary,.today-research-fold>summary,.today-analyses-fold>summary{font-size:14px;}
 .today-market-section>summary{font-size:14px;gap:4px 10px;}
}
