/* Bugün (js/today.js): ana alanın üstüne, üst çubuğun altına gelir. Telefonda tam genişlik, masaüstünde ortada. */
.main-stage { position: relative; }
.today-view { position: absolute; top: var(--header-h1); left: 0; right: 0; bottom: 0; z-index: 60; overflow-y: auto;
    background: var(--bg-canvas, #f1f5f9); -webkit-overflow-scrolling: touch; }
.today-view[hidden] { display: none; }
/* Arkadaki zaman çizelgesinin yapışkan sütunları ve alt çubuk Bugün'ün üstüne taşmasın. */
body.today-open .main-stage > :not(.stage-topbar):not(#today-view) { visibility: hidden; }
.today-inner { max-width: 720px; margin: 0 auto; padding: 16px 14px 90px; display: flex; flex-direction: column; gap: 12px; }
.today-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.today-head h2 { margin: 0; font-size: 22px; font-weight: 800; color: var(--text-primary, #0f172a); letter-spacing: -0.02em; }
.today-muted { font-size: 12.5px; color: var(--text-muted, #94a3b8); line-height: 1.45; }
.today-card { background: var(--bg-shell, #fff); border: 1px solid var(--border-light, #e2e8f0); border-radius: 14px; padding: 12px; display: flex; flex-direction: column; gap: 6px; }
.today-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13.5px; font-weight: 800; color: var(--text-primary, #0f172a); }
.today-sub { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-secondary, #475569); margin-top: 4px; }
.today-sub.is-over { color: #b91c1c; }
.today-row { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; border: 1px solid var(--border-light, #e2e8f0); border-left: 4px solid #0ea5e9;
    border-radius: 10px; background: var(--bg-shell, #fff); padding: 9px 10px; cursor: pointer; font-family: inherit; color: inherit; min-height: 44px; }
.today-row.is-over { border-left-color: #ef4444; }
.today-row.is-near { border-left-color: #f59e0b; }
.today-row:active { background: var(--sidebar-item-hover, #f1f4f8); }
.today-row-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.today-row-main b { font-size: 13px; font-weight: 700; color: var(--text-primary, #0f172a); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.today-row-main small { font-size: 11.5px; color: var(--text-muted, #94a3b8); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.today-when { flex-shrink: 0; font-size: 11.5px; font-weight: 700; color: var(--text-secondary, #475569); }
.today-row.is-over .today-when { color: #b91c1c; }
.today-chip { font-size: 11px; font-weight: 800; padding: 2px 9px; border-radius: 9999px; background: #e0f2fe; color: #0369a1; border: none; font-family: inherit; }
.today-chip.is-q, .today-chip.is-over { background: #fee2e2; color: #b91c1c; cursor: pointer; }
.today-card-head > :not(:first-child) { margin-left: auto; }
.today-link { align-self: flex-start; background: none; border: none; color: var(--accent-blue, #2563eb); font-size: 12.5px; font-weight: 600; padding: 4px 0; cursor: pointer; font-family: inherit; text-align: left; }
.today-addr { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 0; border-top: 1px solid var(--border-light, #e2e8f0); }
.today-addr:first-of-type { border-top: none; }
.today-addr span { display: flex; flex-direction: column; min-width: 0; font-size: 12.5px; }
.today-addr code { font-size: 12px; color: #0369a1; overflow: hidden; text-overflow: ellipsis; }
body.dark-mode .today-chip { background: rgba(14, 165, 233, 0.18); color: #7dd3fc; }
body.dark-mode .today-chip.is-q, body.dark-mode .today-chip.is-over { background: rgba(239, 68, 68, 0.18); color: #fca5a5; }
body.dark-mode .today-addr code { color: #7dd3fc; }
@media (max-width: 768px) {
    .today-inner { padding: 12px 10px 90px; }
}
