/* Today — flat Patents-style layout (confidence nav) */

/* Theme tokens — light defaults; dark overrides at end of file */
body.today-feed-page {
    --today-bg-page: #ffffff;
    --today-bg-surface: #ffffff;
    --today-bg-muted: #f5f6f8;
    --today-bg-elevated: #ffffff;
    --today-text: #2c3e50;
    --today-text-muted: #6b7280;
    --today-text-subtle: #9ca3af;
    --today-border: #e8e8e8;
    --today-input-bg: #ffffff;
    --today-search-border: rgba(246, 139, 30, 0.45);
    --today-card-shadow: rgba(44, 62, 80, 0.08);
    --today-icon-muted: #6b7280;
    /* Responsive layout tokens */
    --today-space-x: clamp(0.75rem, 4vw, 1.5rem);
    --today-space-top: max(0.5rem, env(safe-area-inset-top, 0px));
    --today-space-bottom: calc(4.85rem + env(safe-area-inset-bottom, 0px));
    --today-content-max: 36rem;
    --today-rail-gap: clamp(0.45rem, 2.2vw, 0.75rem);
    --today-away-card-w: clamp(4.5rem, 21vw, 6rem);
    --today-away-card-h: clamp(5.85rem, 27vw, 7.35rem);
    --today-match-card-w: clamp(6.25rem, 28vw, 8.25rem);
    --today-feed-card-w: clamp(9.5rem, 44vw, 11rem);
    --today-visual-card-w: clamp(9rem, 42vw, 11rem);
    --today-story-title: clamp(0.7rem, 2.9vw, 0.82rem);
    --today-story-sub: clamp(0.64rem, 2.5vw, 0.74rem);
    --today-match-title: clamp(0.74rem, 3vw, 0.86rem);
    --today-match-sub: clamp(0.64rem, 2.6vw, 0.74rem);
    --today-touch-min: 44px;
    overflow-x: clip;
}

body.today-feed-page .home-intel {
    background: var(--today-bg-page);
    padding: calc(0.65rem + var(--today-space-top)) var(--today-space-x) var(--today-space-bottom);
    color: var(--today-text);
    box-sizing: border-box;
}
body.today-feed-page .home-intel--flat .home-intel__wrap {
    max-width: var(--today-content-max);
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
}

/* Minimal header */
.home-intel--flat .home-intel__header {
    margin-bottom: 0.85rem;
    padding-top: 0.15rem;
    position: relative;
}
.home-intel--flat .home-intel__header-row {
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.home-intel--flat .home-intel__header-row > div:first-child {
    width: 100%;
    padding-inline: clamp(2.25rem, 12vw, 3rem);
    box-sizing: border-box;
}
.home-intel--flat .home-intel__greeting {
    font-size: clamp(1.15rem, 3.5vw, 1.45rem);
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    color: var(--today-text);
}
.home-intel--flat .home-intel__campus-name {
    margin: 0.4rem 0 0;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--today-text-muted);
    text-align: center;
}
.home-intel--flat .home-intel__header-actions {
    position: absolute;
    top: 0;
    right: max(0px, env(safe-area-inset-right, 0px));
    display: flex;
    align-items: center;
    gap: 0.15rem;
}
.home-intel--flat .home-intel__theme-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--today-touch-min);
    height: var(--today-touch-min);
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--today-icon-muted);
    cursor: pointer;
    transition: color 0.12s ease, background 0.12s ease;
}
.home-intel--flat .home-intel__theme-toggle:hover,
.home-intel--flat .home-intel__theme-toggle:focus-visible {
    color: var(--unimart-orange, #f68b1e);
    background: var(--today-bg-muted);
    outline: none;
}
.home-intel--flat .home-intel__bell {
    position: static;
    width: var(--today-touch-min);
    height: var(--today-touch-min);
    border: none;
    background: transparent;
    box-shadow: none;
    color: var(--today-icon-muted);
}
.home-intel--flat .home-intel__bell:hover {
    color: var(--unimart-orange, #f68b1e);
}
.home-intel--flat .home-intel__agent-hook {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.65rem auto 0;
    padding: 0;
    max-width: 28rem;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--today-text);
    text-decoration: none;
    transition: color 0.12s ease;
}
.home-intel--flat .home-intel__header-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem 0.65rem;
    margin-top: 0.2rem;
    font-size: 0.78rem;
    color: var(--today-text-muted);
}
.home-intel--flat .home-intel__agent-hook-text {
    flex: 1;
    min-width: 0;
}
.home-intel--flat .home-intel__agent-hook-icon {
    flex-shrink: 0;
    font-size: 0.68rem;
    color: var(--unimart-orange, #f68b1e);
    transition: transform 0.12s ease;
}
.home-intel--flat .home-intel__agent-hook:hover,
.home-intel--flat .home-intel__agent-hook:focus-visible {
    color: var(--unimart-orange, #f68b1e);
}
.home-intel--flat .home-intel__agent-hook:hover .home-intel__agent-hook-icon,
.home-intel--flat .home-intel__agent-hook:focus-visible .home-intel__agent-hook-icon {
    transform: translateX(2px);
}

/* Agent search — compact single row */
.today-flat__search--compact {
    margin-bottom: 0;
}
.today-flat__search--compact .today-flat__form {
    border: 1px solid var(--today-search-border);
    border-radius: 8px;
    box-shadow: none;
    background: var(--today-input-bg);
}
.today-flat__search--compact .today-flat__input-wrap {
    padding: 0 0.5rem 0 0.65rem;
}
.today-flat__search--compact .today-flat__input {
    font-size: 0.88rem;
    padding: 0.6rem 0;
}
.today-flat__search--compact .today-flat__input-icon {
    font-size: 0.85rem;
    margin-right: 0.35rem;
}
.today-flat__search--compact .today-flat__submit {
    min-height: var(--today-touch-min);
    min-width: var(--today-touch-min);
    padding: 0 0.75rem;
    font-size: 0.8rem;
}
.today-flat__search--compact .today-flat__submit-label {
    display: none;
}
.today-flat__search--compact .today-flat__examples {
    margin-top: 0.75rem;
    gap: 0.45rem 0.7rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.15rem;
}
.today-flat__search--compact .today-flat__examples::-webkit-scrollbar {
    display: none;
}
.today-flat__search--compact .today-flat__example {
    flex-shrink: 0;
    white-space: nowrap;
}

/* Legacy agent search box (unused on Today flat) */
.today-flat__search--agent {
    margin-bottom: 1rem;
    padding: 0.85rem;
    background: linear-gradient(180deg, rgba(246, 139, 30, 0.08) 0%, rgba(246, 139, 30, 0.02) 100%);
    border: 2px solid rgba(246, 139, 30, 0.35);
    border-radius: 10px;
}
.today-flat__search-eyebrow {
    margin: 0 0 0.55rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--unimart-orange, #f68b1e);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.today-flat__form {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: var(--today-input-bg);
    border: 2px solid var(--unimart-orange, #f68b1e);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(246, 139, 30, 0.12);
}
.today-flat__input-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 0 0.65rem 0 0.75rem;
}
.today-flat__input {
    flex: 1;
    width: 100%;
    border: none;
    background: transparent;
    font-size: 1rem;
    padding: 0.75rem 0;
    min-width: 0;
    outline: none;
    color: var(--today-text);
}
.today-flat__input::placeholder {
    color: var(--today-text-subtle);
}
.today-flat__input-icon {
    color: var(--unimart-orange, #f68b1e);
    font-size: 1rem;
    flex-shrink: 0;
    margin-right: 0.45rem;
}
.today-flat__submit {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border: none;
    background: var(--unimart-orange, #f68b1e);
    color: #fff;
    font-weight: 600;
    font-size: 0.875rem;
    padding: 0 1.1rem;
    min-width: 4.5rem;
    min-height: 48px;
    cursor: pointer;
    transition: background 0.12s ease;
}
.today-flat__submit:hover {
    background: var(--um-orange-dark, #e07a10);
}
.today-flat__search-hint {
    margin: 0.5rem 0 0;
    font-size: 0.72rem;
    color: var(--um-gray-600, #6b7280);
    line-height: 1.4;
}
.today-flat__search--agent .today-flat__examples {
    margin-bottom: 0;
    margin-top: 0.65rem;
}
.today-flat__examples {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.55rem;
}
.today-flat__example {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--unimart-orange, #f68b1e);
    text-decoration: none;
}
.today-flat__example:hover {
    text-decoration: underline;
}

/* Action rows (seller ops, continue) */
.today-flat__actions {
    margin-top: 0.15rem;
    margin-bottom: 1.1rem;
}
.today-flat__feed--actions {
    border-top: 1px solid var(--today-border);
}
.today-flat__row-icon {
    width: 1.75rem;
    height: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--unimart-orange, #f68b1e);
    flex-shrink: 0;
    font-size: 0.85rem;
}

/* Layer sections — 2×2 agent-personalized grids */
.today-flat__for-you {
    margin-top: 0.5rem;
}
.today-flat__layer-section {
    padding: 1rem 0 0.25rem;
    border-top: 1px solid var(--today-border);
}
.today-flat__layer-section:first-child {
    border-top: none;
    padding-top: 0.25rem;
}
.today-flat__layer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}
.today-flat__layer-title {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--today-text);
}
.today-flat__layer-sub {
    margin: 0.15rem 0 0;
    font-size: 0.72rem;
    color: var(--today-text-muted);
}
.today-flat__layer-more {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--unimart-orange, #f68b1e);
    text-decoration: none;
    white-space: nowrap;
    padding-top: 0.1rem;
}
.today-flat__layer-more:hover {
    text-decoration: underline;
}
.today-flat__layer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

/* For You — TikTok-style horizontal scroll rails per category */
.today-flat__layer-rail {
    display: flex;
    gap: var(--today-rail-gap);
    overflow-x: auto;
    padding: 0.25rem 0 0.85rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin: 0;
    scroll-padding-inline: var(--today-space-x);
}
.today-flat__layer-rail::-webkit-scrollbar {
    display: none;
}
.today-flat__layer-rail .sl-ad-card {
    flex: 0 0 var(--today-feed-card-w, 158px);
    width: var(--today-feed-card-w, 158px);
    scroll-snap-align: start;
    --sl-surface: var(--today-bg-surface);
    --sl-surface-2: var(--today-bg-muted);
    --sl-border: rgba(44, 62, 80, 0.12);
    --sl-slate: var(--today-text);
    --sl-muted: var(--today-text-muted);
    --sl-amber: var(--unimart-orange, #f68b1e);
    --sl-teal: var(--unimart-orange, #f68b1e);
    --sl-violet: var(--today-text);
    color: var(--today-text);
    border-radius: 10px;
    box-shadow: none;
    min-width: 0;
}
.today-flat__layer-rail .sl-ad-card__visual {
    aspect-ratio: 4 / 5;
}
.today-flat__layer-rail .sl-ad-card:hover {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 6px 18px var(--today-card-shadow);
    border-color: rgba(246, 139, 30, 0.35);
}
.today-flat__layer-rail .sl-ad-card__title {
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.3;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.today-flat__layer-rail .sl-ad-card__meta {
    font-size: 0.66rem;
    color: var(--today-text-muted);
}
.today-flat__layer-rail .sl-ad-card__cta {
    font-size: 0.66rem;
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__layer-rail .sl-ad-card__section-label {
    display: inline-block;
    margin-bottom: 0.2rem;
    font-size: 0.58rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--unimart-orange, #f68b1e);
}

.today-flat__layer-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--today-text);
    background: var(--today-bg-muted);
    border: 1px solid var(--today-border);
}
.today-flat__layer-pill i {
    font-size: 0.72rem;
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__layer-section--commerce .today-flat__layer-pill i { color: #f68b1e; }
.today-flat__layer-section--opportunities .today-flat__layer-pill i { color: #8b5cf6; }
.today-flat__layer-section--services .today-flat__layer-pill i { color: #14b8a6; }
.today-flat__layer-section--discover .today-flat__layer-pill i { color: #3b82f6; }

.today-flat__layer-grid .sl-ad-card {
    --sl-surface: var(--today-bg-surface);
    --sl-surface-2: var(--today-bg-muted);
    --sl-border: rgba(44, 62, 80, 0.12);
    --sl-slate: var(--today-text);
    --sl-muted: var(--today-text-muted);
    --sl-amber: var(--unimart-orange, #f68b1e);
    --sl-teal: var(--unimart-orange, #f68b1e);
    --sl-violet: var(--today-text);
    color: var(--today-text);
    border-radius: 8px;
    box-shadow: none;
    min-width: 0;
}
.today-flat__layer-grid .sl-ad-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 12px var(--today-card-shadow);
    border-color: rgba(246, 139, 30, 0.35);
}
.today-flat__layer-grid .sl-ad-card__title {
    font-size: 0.76rem;
    font-weight: 700;
    color: var(--today-text);
}
.today-flat__layer-grid .sl-ad-card__meta {
    font-size: 0.66rem;
    color: var(--today-text-muted);
}
.today-flat__layer-grid .sl-ad-card__sub {
    color: var(--today-text-muted);
    opacity: 1;
}
.today-flat__layer-grid .sl-ad-card__tag {
    color: var(--today-text);
}
.today-flat__layer-grid .sl-ad-card__cta {
    font-size: 0.66rem;
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__layer-grid .sl-ad-card__price {
    color: var(--unimart-orange, #f68b1e);
    font-weight: 700;
}

/* Visual For You rail — fallback horizontal scroll */
.today-flat__visual-rail {
    display: flex;
    gap: var(--today-rail-gap);
    overflow-x: auto;
    padding: 0.35rem 0 0.75rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-padding-inline: var(--today-space-x);
}
.today-flat__visual-rail::-webkit-scrollbar {
    display: none;
}
.today-flat__visual-rail .sl-ad-card {
    flex: 0 0 var(--today-visual-card-w, 148px);
    width: var(--today-visual-card-w, 148px);
    scroll-snap-align: start;
    --sl-surface: var(--today-bg-surface);
    --sl-surface-2: var(--today-bg-muted);
    --sl-border: rgba(44, 62, 80, 0.12);
    --sl-slate: var(--today-text);
    --sl-muted: var(--today-text-muted);
    --sl-amber: var(--unimart-orange, #f68b1e);
    --sl-teal: var(--unimart-orange, #f68b1e);
    --sl-violet: var(--today-text);
    color: var(--today-text);
    border-radius: 8px;
    box-shadow: none;
}
.today-flat__visual-rail .sl-ad-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px var(--today-card-shadow);
    border-color: rgba(246, 139, 30, 0.35);
}
.today-flat__visual-rail .sl-ad-card__title {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--today-text);
}
.today-flat__visual-rail .sl-ad-card__meta {
    font-size: 0.68rem;
    color: var(--today-text-muted);
}
.today-flat__visual-rail .sl-ad-card__sub {
    color: var(--today-text-muted);
    opacity: 1;
}
.today-flat__visual-rail .sl-ad-card__cta {
    font-size: 0.68rem;
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__visual-rail .sl-ad-card__price {
    color: var(--unimart-orange, #f68b1e);
    font-weight: 700;
}

.today-flat__for-you.is-refreshed .today-flat__layer-section {
    animation: todayFeedFade 0.35s ease;
}
@keyframes todayFeedFade {
    from { opacity: 0.55; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

.today-flat__mission {
    margin: 1.1rem 0 1.05rem;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.45;
    color: var(--today-text);
    letter-spacing: 0.01em;
    text-align: center;
}

/* Briefing-first Today layout */
.today-flat__brief-sub {
    margin: 0.45rem 0 0;
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--today-text-muted);
    text-align: center;
}

/* Alive beat — lightweight agent pulse on return visits */
.today-flat__alive {
    margin: 0.35rem 0 0.65rem;
}
.today-flat__alive-inner {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    justify-content: center;
    padding: 0.45rem 0.65rem;
    border-radius: 999px;
    background: var(--today-bg-muted);
}
.today-flat__alive-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--unimart-orange, #f68b1e);
    animation: today-alive-pulse 1.2s ease-in-out infinite;
    flex-shrink: 0;
}
.today-flat__alive.is-ready .today-flat__alive-dot {
    animation: none;
    opacity: 0.85;
}
.today-flat__alive-text {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--today-text-muted);
    line-height: 1.35;
}
@keyframes today-alive-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.35); opacity: 0.55; }
}

/* Personalized jobs & internships strip */
.today-flat__role-updates {
    margin: 0.25rem 0 0.5rem;
}
.today-flat__role-updates-rail {
    display: flex;
    gap: var(--today-rail-gap);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0.05rem 0 0.12rem;
    scroll-snap-type: x proximity;
    scroll-padding-inline: var(--today-space-x);
}
.today-flat__role-updates-rail::-webkit-scrollbar {
    display: none;
}
.today-flat__role-update {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    max-width: min(17rem, 78vw);
    min-height: var(--today-touch-min);
    padding: 0.44rem 0.68rem;
    scroll-snap-align: start;
    border-radius: 999px;
    border: 1px solid var(--today-border);
    background: var(--today-bg-surface);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.12s ease, background 0.12s ease;
}
.today-flat__role-update:hover {
    border-color: rgba(246, 139, 30, 0.32);
    background: var(--today-bg-muted);
}
.today-flat__role-update-type {
    flex-shrink: 0;
    font-size: 0.56rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__role-update--internship .today-flat__role-update-type {
    color: #2563eb;
}
.today-flat__role-update-title {
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--today-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.today-flat__role-update-match {
    flex-shrink: 0;
    font-size: 0.56rem;
    font-weight: 700;
    color: var(--today-text-muted);
}
.today-flat__role-update-match--new {
    color: var(--unimart-orange, #f68b1e);
}

/* Post-login return brief */
.today-flat__return {
    margin: 0.55rem 0 0.75rem;
    padding: 0.7rem 0.75rem;
    border: 1px solid rgba(246, 139, 30, 0.22);
    border-radius: 12px;
    background: linear-gradient(160deg, rgba(246, 139, 30, 0.06) 0%, rgba(246, 139, 30, 0.01) 100%);
}
.today-flat__return-head {
    margin: 0 0 0.5rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--today-text-muted);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem;
}
.today-flat__return-head .fa-wand-magic-sparkles {
    color: var(--unimart-orange, #f68b1e);
    font-size: 0.68rem;
}
.today-flat__return-head-sep {
    opacity: 0.45;
}
.today-flat__return-from {
    margin: 0 0 0.35rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--unimart-orange, #f68b1e);
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.today-flat__return-greeting {
    margin: 0 0 0.25rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--today-text);
}
.today-flat__return-label {
    margin: 0 0 0.55rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--today-text-muted);
}
.today-flat__return-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.today-flat__return-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.6rem;
    border-radius: 10px;
    background: var(--today-bg-surface);
    border: 1px solid var(--today-border);
    text-decoration: none;
    color: var(--today-text);
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.today-flat__return-item:hover {
    border-color: rgba(246, 139, 30, 0.45);
    box-shadow: 0 2px 8px var(--today-card-shadow);
}
.today-flat__return-emoji {
    flex-shrink: 0;
    font-size: 1rem;
}
.today-flat__return-text {
    flex: 1;
    min-width: 0;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.35;
}
.today-flat__return-view {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--unimart-orange, #f68b1e);
}

/* Story rings — Facebook-style visual row */
.today-stories {
    margin: 0.45rem 0 0.7rem;
}
.today-stories__head {
    margin: 0 0 0.55rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--today-text);
    display: flex;
    align-items: center;
    gap: 0.35rem;
}
.today-stories__head .fa-wand-magic-sparkles {
    color: var(--unimart-orange, #f68b1e);
    font-size: 0.68rem;
}
.today-stories__spark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.05rem;
    height: 1.05rem;
}
.today-stories__spark-svg {
    display: block;
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 1px 2px rgba(66, 133, 244, 0.22));
}
.today-stories__head-emoji {
    font-size: 0.95rem;
    line-height: 1;
}
.today-stories__rail {
    display: flex;
    gap: var(--today-rail-gap);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0 0 0.2rem;
    margin: 0;
    scroll-snap-type: x proximity;
    scroll-padding-inline: var(--today-space-x);
}
.today-stories__rail::-webkit-scrollbar {
    display: none;
}
.today-story {
    flex: 0 0 auto;
    width: 4.35rem;
    text-decoration: none;
    color: inherit;
    text-align: center;
}
.today-story__ring {
    display: block;
    padding: 2.5px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f68b1e 0%, #e1306c 48%, #833ab4 100%);
    box-shadow: 0 2px 10px rgba(246, 139, 30, 0.18);
}
.today-story__ring--fresh {
    background: linear-gradient(135deg, #f68b1e 0%, #f77737 35%, #e1306c 68%, #833ab4 100%);
}
.today-story__ring--shop {
    background: linear-gradient(135deg, #3b82f6 0%, #f68b1e 100%);
}
.today-story__ring--role {
    background: linear-gradient(135deg, #f68b1e 0%, #c026d3 100%);
}
.today-story__ring--match {
    background: linear-gradient(135deg, #10b981 0%, #3b82f6 100%);
}
.today-story__ring--agent {
    background: linear-gradient(135deg, #8b5cf6 0%, #f68b1e 100%);
}
.today-story__ring--gig {
    background: linear-gradient(135deg, #06b6d4 0%, #f68b1e 100%);
}
.today-story__ring--update {
    background: linear-gradient(135deg, #f68b1e 0%, #fbbf24 100%);
}
.today-story__disc {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.65rem;
    height: 3.65rem;
    margin: 0 auto;
    border-radius: 50%;
    background: var(--today-bg-surface);
    border: 2px solid var(--today-bg-page);
    overflow: hidden;
}
.today-story__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.today-story__emoji {
    font-size: 1.35rem;
    line-height: 1;
}
.today-story__icon {
    font-size: 1.1rem;
    color: var(--unimart-orange, #f68b1e);
}
.today-story__badge {
    position: absolute;
    right: -1px;
    bottom: -1px;
    min-width: 1.15rem;
    padding: 0.08rem 0.28rem;
    border-radius: 999px;
    background: var(--unimart-orange, #f68b1e);
    color: #fff;
    font-size: 0.52rem;
    font-weight: 800;
    line-height: 1.2;
    border: 1.5px solid var(--today-bg-surface);
}
.today-story__label {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.62rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--today-text);
    max-width: 4.35rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.today-stories--away {
    margin-top: 0.2rem;
}
.today-stories--matched {
    margin-bottom: 0.4rem;
}
.today-stories--campus {
    margin-bottom: 0.5rem;
}
.today-stories--campus .today-stories__head {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--today-text-muted);
    letter-spacing: 0.01em;
}
.today-stories--campus .today-stories__head i {
    color: var(--unimart-orange, #f68b1e);
    font-size: 0.75rem;
}
.today-stories--partners {
    margin-bottom: 0.5rem;
}
.today-stories--partners .today-stories__head {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--today-text-muted);
}
.today-stories--partners .today-stories__head i {
    color: #0f766e;
    font-size: 0.75rem;
}

/* Animated thin comet ring — orange spark chasing grey trail */
@property --today-border-angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}

@keyframes today-border-rotate-angle {
    to { --today-border-angle: 360deg; }
}

@keyframes today-border-comet-glow {
    0%, 100% { opacity: 0.45; }
    40% { opacity: 0.92; }
    60% { opacity: 0.92; }
}

@keyframes today-border-trail-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(-360deg); }
}

.today-story__ring--away,
.today-match-card {
    --today-border-width: 1px;
    --today-border-grey: #c4c9d1;
    --today-border-orange: #f68b1e;
    --today-border-spark: #ffc56e;
}

.today-story__ring--away::before,
.today-match-card::before {
    background: conic-gradient(
        from var(--today-border-angle),
        transparent 0deg 300deg,
        rgba(196, 201, 209, 0.55) 312deg 318deg,
        transparent 324deg 328deg,
        var(--today-border-orange) 336deg,
        var(--today-border-spark) 340deg,
        var(--today-border-orange) 344deg,
        transparent 352deg 360deg
    );
    animation:
        today-border-rotate-angle 2.8s linear infinite,
        today-border-comet-glow 2.8s ease-in-out infinite;
}

.today-story__ring--away::after,
.today-match-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    padding: var(--today-border-width);
    background: conic-gradient(
        from 0deg,
        transparent 0deg 285deg,
        rgba(246, 139, 30, 0.22) 300deg,
        rgba(246, 139, 30, 0.5) 312deg,
        rgba(246, 139, 30, 0.22) 324deg,
        transparent 340deg 360deg
    );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0.7;
    animation: today-border-trail-spin 4.6s linear infinite;
}

.today-match-card::after {
    z-index: 2;
}

.today-match-card::before {
    z-index: 3;
}

/* Away — story rings with caption below for readability */
.today-stories__rail--away {
    gap: var(--today-rail-gap);
    align-items: flex-start;
    padding-bottom: 0.25rem;
}
.today-story--away {
    width: var(--today-away-card-w);
    scroll-snap-align: start;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.42rem;
}
.today-story__ring--away {
    position: relative;
    display: block;
    width: 100%;
    border-radius: 14px;
    padding: var(--today-border-width);
    overflow: hidden;
    border: none;
    background: rgba(196, 201, 209, 0.35);
    box-shadow: 0 1px 8px rgba(44, 62, 80, 0.06);
    isolation: isolate;
}
.today-story__ring--away::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 2) .today-story__ring--away::before,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 2)::before {
    animation-delay: -0.35s, -0.25s;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 2) .today-story__ring--away::after,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 2)::after {
    animation-delay: -0.6s;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 3) .today-story__ring--away::before,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 3)::before {
    animation-delay: -0.7s, -0.5s;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 3) .today-story__ring--away::after,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 3)::after {
    animation-delay: -1.2s;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 4) .today-story__ring--away::before,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 4)::before {
    animation-delay: -1.05s, -0.75s;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 4) .today-story__ring--away::after,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 4)::after {
    animation-delay: -1.8s;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 5) .today-story__ring--away::before,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 5)::before {
    animation-delay: -1.4s, -1s;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 5) .today-story__ring--away::after,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 5)::after {
    animation-delay: -2.4s;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 6) .today-story__ring--away::before,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 6)::before {
    animation-delay: -1.75s, -1.25s;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 6) .today-story__ring--away::after,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 6)::after {
    animation-delay: -3s;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 7) .today-story__ring--away::before,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 7)::before {
    animation-delay: -2.1s, -1.5s;
}
.today-stories__rail--away .today-story--away:nth-child(8n + 7) .today-story__ring--away::after,
.today-stories__rail--portrait .today-match-card:nth-child(8n + 7)::after {
    animation-delay: -3.6s;
}
.today-stories__rail--away .today-story--away:nth-child(8n) .today-story__ring--away::before,
.today-stories__rail--portrait .today-match-card:nth-child(8n)::before {
    animation-delay: -2.45s, -1.75s;
}
.today-stories__rail--away .today-story--away:nth-child(8n) .today-story__ring--away::after,
.today-stories__rail--portrait .today-match-card:nth-child(8n)::after {
    animation-delay: -4.2s;
}
.today-story__disc--away {
    position: relative;
    z-index: 2;
    width: 100%;
    height: var(--today-away-card-h);
    border-radius: 11px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--today-bg-surface);
    overflow: hidden;
}
.today-story__img--away {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.today-story__away-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--today-bg-muted);
}
.today-story__away-visual--emoji {
    background: #f3f4f6;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0.42rem 0.45rem;
}
.today-story__away-emoji {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.65rem;
    height: 1.65rem;
    padding: 0 0.2rem;
    font-size: 0.92rem;
    line-height: 1;
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    font-variant-emoji: text;
}
.today-story__badge--away {
    z-index: 2;
    font-size: 0.58rem;
    font-weight: 800;
    right: 0.35rem;
    bottom: 0.35rem;
    padding: 0.1rem 0.38rem;
    background: var(--unimart-orange, #f68b1e);
    color: #fff;
    border: 1.5px solid var(--today-bg-surface);
    border-radius: 999px;
}
.today-story--away-promoted .today-story__badge--away {
    background: #1a73e8;
}
.today-story__caption {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.12rem;
    width: 100%;
    padding: 0 0.05rem;
}
.today-story__caption-title {
    font-size: var(--today-story-title);
    font-weight: 700;
    line-height: 1.3;
    color: var(--today-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: center;
}
.today-story__caption-sub {
    font-size: var(--today-story-sub);
    font-weight: 500;
    line-height: 1.25;
    color: var(--today-text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: center;
}

/* Matched — portrait opportunity cards */
.today-stories__rail--portrait {
    gap: var(--today-rail-gap);
    align-items: stretch;
    padding-bottom: 0.25rem;
}
.today-match-card {
    flex: 0 0 auto;
    width: var(--today-match-card-w);
    scroll-snap-align: start;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    border: none;
    background: var(--today-bg-surface);
    box-shadow: 0 3px 14px rgba(44, 62, 80, 0.08);
    isolation: isolate;
}
.today-match-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: var(--today-border-width);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask-composite: exclude;
    pointer-events: none;
}
.today-match-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(246, 139, 30, 0.14);
}
.today-match-card__visual,
.today-match-card__body {
    position: relative;
    z-index: 1;
}
.today-match-card__visual {
    position: relative;
    aspect-ratio: 4 / 5;
    background: var(--today-bg-muted);
    overflow: hidden;
}
.today-match-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.today-match-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--today-bg-muted);
    color: var(--unimart-orange, #f68b1e);
    font-size: 1.55rem;
}
.today-match-card__badge {
    position: absolute;
    top: 0.4rem;
    right: 0.4rem;
    padding: 0.14rem 0.42rem;
    border-radius: 999px;
    background: var(--unimart-orange, #f68b1e);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1.2;
    box-shadow: 0 2px 6px rgba(246, 139, 30, 0.35);
}
.today-match-card--promoted .today-match-card__badge {
    background: #1a73e8;
    box-shadow: 0 2px 6px rgba(26, 115, 232, 0.35);
}
.today-match-card__body {
    padding: 0.5rem 0.55rem 0.58rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-height: 0;
}
.today-match-card__title {
    font-size: var(--today-match-title);
    font-weight: 700;
    line-height: 1.32;
    color: var(--today-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.today-match-card__sub {
    font-size: var(--today-match-sub);
    font-weight: 500;
    line-height: 1.28;
    color: var(--today-text-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@supports not (background: conic-gradient(from 0deg, red, blue)) {
    .today-story__ring--away {
        border: 1px solid var(--today-border);
        padding: 0;
        background: transparent;
    }
    .today-story__ring--away::before,
    .today-story__ring--away::after,
    .today-match-card::before,
    .today-match-card::after {
        display: none;
    }
    .today-match-card {
        border: 1px solid var(--today-border);
    }
}

@media (prefers-reduced-motion: reduce) {
    .today-story__ring--away::before,
    .today-story__ring--away::after,
    .today-match-card::before,
    .today-match-card::after {
        animation: none;
        opacity: 0.7;
        --today-border-angle: 40deg;
        transform: none;
    }
    .today-story__ring--away,
    .today-match-card {
        box-shadow: none;
        border: 1px solid rgba(246, 139, 30, 0.28);
    }
    .today-story__ring--away {
        padding: 0;
    }
}

.today-flat__search--below-header {
    margin-top: 0.15rem;
    margin-bottom: 0.75rem;
    padding-top: 0;
    border-top: none;
}

/* Legacy hero card (API refresh fallback) */
.today-flat__hero-block {
    margin: 0.55rem 0 0.75rem;
}
.today-flat__hero-block-label {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--today-text-muted);
    text-align: left;
}
.today-flat__hero-card {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 0.9rem;
    border: 1px solid rgba(246, 139, 30, 0.38);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(246, 139, 30, 0.12) 0%, rgba(246, 139, 30, 0.03) 100%);
    text-decoration: none;
    color: var(--today-text);
    box-shadow: 0 4px 18px rgba(246, 139, 30, 0.1);
    transition: border-color 0.12s ease, transform 0.12s ease, box-shadow 0.12s ease;
}
.today-flat__hero-card:hover {
    border-color: rgba(246, 139, 30, 0.55);
    transform: translateY(-1px);
    box-shadow: 0 6px 22px rgba(246, 139, 30, 0.14);
}
.today-flat__hero-card-icon {
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(246, 139, 30, 0.14);
    color: var(--unimart-orange, #f68b1e);
    font-size: 0.95rem;
}
.today-flat__hero-card-value {
    flex-shrink: 0;
    width: 2.25rem;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__hero-card-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.today-flat__hero-card-title {
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--today-text);
}
.today-flat__hero-card-sub {
    font-size: 0.7rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--today-text-muted);
}
.today-flat__hero-card-match {
    display: inline-block;
    margin-top: 0.1rem;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__hero-card-cta {
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--unimart-orange, #f68b1e);
    white-space: nowrap;
}
.today-flat__hero-more {
    margin-top: 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}
.today-flat__hero-more-row {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.65rem;
    border-radius: 10px;
    border: 1px solid var(--today-border);
    background: var(--today-bg-surface);
    text-decoration: none;
    color: var(--today-text);
    transition: border-color 0.12s ease;
}
.today-flat__hero-more-row:hover {
    border-color: rgba(246, 139, 30, 0.4);
}
.today-flat__hero-more-title {
    flex: 1;
    min-width: 0;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.3;
}
.today-flat__hero-more-sub {
    font-size: 0.65rem;
    font-weight: 500;
    color: var(--today-text-muted);
}
.today-flat__hero-more-arrow {
    flex-shrink: 0;
    font-size: 0.65rem;
    color: var(--unimart-orange, #f68b1e);
}

/* Continue progress */
.today-flat__row-progress {
    display: block;
    margin-top: 0.35rem;
    height: 3px;
    border-radius: 999px;
    background: var(--today-border);
    overflow: hidden;
}
.today-flat__row-progress-bar {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--unimart-orange, #f68b1e), #ffb347);
    transition: width 0.25s ease;
}

.today-flat__hero {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0.75rem auto 0;
    padding: 0.75rem 0.85rem;
    max-width: 100%;
    border: 1px solid rgba(246, 139, 30, 0.35);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(246, 139, 30, 0.1) 0%, rgba(246, 139, 30, 0.03) 100%);
    text-decoration: none;
    color: var(--today-text);
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.today-flat__hero:hover {
    border-color: rgba(246, 139, 30, 0.55);
    box-shadow: 0 2px 12px var(--today-card-shadow);
}
.today-flat__hero-value {
    flex-shrink: 0;
    min-width: 2.25rem;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
    color: var(--unimart-orange, #f68b1e);
    text-align: center;
}
.today-flat__hero-copy {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    text-align: left;
}
.today-flat__hero-text {
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--today-text);
}
.today-flat__hero-label {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--today-text-muted);
}
.today-flat__hero-icon {
    flex-shrink: 0;
    font-size: 0.72rem;
    color: var(--unimart-orange, #f68b1e);
}

.today-flat__since {
    margin-bottom: 1.1rem;
}
.today-flat__since-label {
    margin: 0 0 0.5rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--today-text-muted);
}
.today-flat__since-row {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.today-flat__since-pill {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid rgba(246, 139, 30, 0.28);
    border-radius: 10px;
    background: rgba(246, 139, 30, 0.06);
    text-decoration: none;
    color: var(--today-text);
    transition: border-color 0.12s ease, background 0.12s ease;
}
.today-flat__since-pill:hover {
    border-color: rgba(246, 139, 30, 0.5);
    background: rgba(246, 139, 30, 0.1);
}
.today-flat__since-emoji {
    flex-shrink: 0;
    font-size: 1rem;
    line-height: 1;
}
.today-flat__since-text {
    flex: 1;
    min-width: 0;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.35;
}

.today-flat__attention {
    margin: 0.75rem auto 0;
}
.today-flat__attention-label {
    margin: 0 0 0.5rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--today-text-muted);
}
.today-flat__attention-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.today-flat__attention-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid rgba(246, 139, 30, 0.32);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(246, 139, 30, 0.08) 0%, rgba(246, 139, 30, 0.02) 100%);
    text-decoration: none;
    color: var(--today-text);
    transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}
.today-flat__attention-row:hover {
    border-color: rgba(246, 139, 30, 0.52);
    background: rgba(246, 139, 30, 0.1);
    box-shadow: 0 2px 10px var(--today-card-shadow);
}
.today-flat__attention-icon {
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(246, 139, 30, 0.12);
    color: var(--unimart-orange, #f68b1e);
    font-size: 0.78rem;
}
.today-flat__attention-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}
.today-flat__attention-title {
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--today-text);
}
.today-flat__attention-sub {
    font-size: 0.68rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--today-text-muted);
}
.today-flat__attention-arrow {
    flex-shrink: 0;
    font-size: 0.72rem;
    color: var(--unimart-orange, #f68b1e);
}

.today-flat__career {
    margin-bottom: 1.25rem;
}

/* Persona-first primary visual rail — larger cards for glanceability */
.today-flat__section--primary {
    margin-bottom: 1.15rem;
    padding: 0.65rem 0 0;
    border-top: 2px solid rgba(246, 139, 30, 0.35);
}
.today-flat__section-title--primary {
    font-size: 1rem;
    letter-spacing: -0.01em;
}
.today-flat__visual-rail--primary {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding: 0.25rem 0 0.95rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.today-flat__visual-rail--primary::-webkit-scrollbar {
    display: none;
}
.today-flat__visual-rail--primary .sl-ad-card {
    flex: 0 0 min(78vw, 17.5rem);
    scroll-snap-align: start;
    box-shadow: 0 8px 24px var(--today-card-shadow);
}
.today-flat__visual-rail--primary .sl-ad-card__visual {
    aspect-ratio: 4 / 3;
}
.today-flat__visual-rail--primary .sl-ad-card__title {
    font-size: 0.92rem;
}

.today-flat__rail {
    margin-bottom: 1.15rem;
}

.today-flat__search--top {
    margin: 0 0 1rem;
    padding: 0;
    border-top: none;
}
.today-flat__search--top .today-flat__search-label {
    text-align: center;
}
.today-flat__search--top .today-flat__input-wrap {
    border-color: rgba(246, 139, 30, 0.55);
    box-shadow: 0 0 0 1px rgba(246, 139, 30, 0.12);
}
.today-flat__search--top .today-flat__examples {
    justify-content: center;
    padding-top: 0.45rem;
}

.today-flat__shortcuts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 0.6rem;
}
.today-flat__shortcut {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.32rem 0.65rem;
    border: 1px solid rgba(246, 139, 30, 0.35);
    border-radius: 999px;
    background: transparent;
    text-decoration: none;
    color: var(--unimart-orange, #f68b1e);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
    white-space: nowrap;
    transition: border-color 0.12s ease, background 0.12s ease;
}
.today-flat__shortcut:hover,
.today-flat__shortcut:focus-visible {
    border-color: rgba(246, 139, 30, 0.65);
    background: rgba(246, 139, 30, 0.1);
    color: var(--unimart-orange, #f68b1e);
    outline: none;
}

.today-flat__hero--below-search {
    margin: 0 0 1rem;
}
.home-intel--flat .home-intel__agent-hook--below-search {
    margin: 0 0 1rem;
}

.today-flat__search--prominent {
    margin: 0.35rem 0 1.25rem;
    padding: 0.85rem 0 0;
    border-top: 1px solid var(--today-border);
}

.today-flat__quick-picks {
    margin-bottom: 1.25rem;
}
.today-flat__section-title--compact {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--today-text-muted);
    margin-bottom: 0.55rem;
}
.today-flat__chips--compact {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.today-flat__chips--compact .today-flat__chip {
    padding: 0.5rem 0.65rem;
}

.today-flat__visual-rail--career {
    margin-bottom: 0;
}
.today-flat__visual-rail--career .sl-ad-card {
    scroll-snap-align: start;
}

.today-flat__services {
    margin-bottom: 1.35rem;
}
.today-flat__visual-rail--services {
    margin-bottom: 0;
}
.today-flat__visual-rail--services .sl-ad-card {
    scroll-snap-align: start;
}

.today-flat__visual-rail--lead {
    display: flex;
    gap: 0.65rem;
    overflow-x: auto;
    padding: 0.15rem 0 0.85rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.today-flat__visual-rail--lead::-webkit-scrollbar {
    display: none;
}
.today-flat__visual-rail--lead .sl-ad-card {
    --today-card-w: var(--today-feed-card-w);
    flex: 0 0 var(--today-card-w);
    scroll-snap-align: start;
    min-width: var(--today-card-w);
    max-width: var(--today-card-w);
}

.today-flat__chips {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin-top: 0.15rem;
}
.today-flat__chip {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--today-border);
    border-radius: 999px;
    background: var(--today-bg-surface);
    text-decoration: none;
    color: var(--today-text);
    transition: border-color 0.12s ease, background 0.12s ease;
}
.today-flat__chip:hover {
    border-color: rgba(246, 139, 30, 0.45);
    background: var(--today-bg-muted);
}
.today-flat__chip-type {
    flex-shrink: 0;
    font-size: 0.58rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__chip-title {
    flex: 1;
    min-width: 0;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.today-flat__chip-badge {
    flex-shrink: 0;
    font-size: 0.58rem;
    font-weight: 700;
    padding: 0.15rem 0.4rem;
    border-radius: 999px;
    background: rgba(246, 139, 30, 0.12);
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__chip-icon {
    flex-shrink: 0;
    font-size: 0.62rem;
    color: var(--today-text-muted);
}

.today-flat__section-title {
    margin: 0 0 0.65rem;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--today-text);
    letter-spacing: -0.01em;
}
.today-flat__section-title--browse {
    margin-bottom: 0.75rem;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--today-text-muted);
}
.today-flat__section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}
.today-flat__section-head .today-flat__section-title {
    margin: 0;
}
.today-flat__section-more {
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--unimart-orange, #f68b1e);
    text-decoration: none;
    white-space: nowrap;
}
.today-flat__section-more:hover {
    text-decoration: underline;
}

.today-flat__continue {
    margin-bottom: 1.25rem;
}
.today-flat__feed--continue {
    border-top: 1px solid var(--today-border);
}
.today-flat__row--continue {
    background: rgba(246, 139, 30, 0.04);
}
.today-flat__row--continue .today-flat__row-icon {
    color: var(--unimart-orange, #f68b1e);
}

.today-flat__opportunities {
    margin-bottom: 1.35rem;
}
.today-flat__opportunities-feed {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.today-flat__opportunities-feed.is-refreshed {
    animation: todayFeedFade 0.35s ease;
}
.today-flat__opp-row {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 0.55rem 0.65rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--today-border);
    border-radius: 10px;
    background: var(--today-bg-surface);
    text-decoration: none;
    color: var(--today-text);
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.today-flat__opp-row:hover {
    border-color: rgba(246, 139, 30, 0.4);
    box-shadow: 0 2px 10px var(--today-card-shadow);
}
.today-flat__opp-type {
    flex-shrink: 0;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--unimart-orange, #f68b1e);
    min-width: 4.5rem;
}
.today-flat__opp-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.today-flat__opp-title {
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--today-text);
}
.today-flat__opp-sub {
    font-size: 0.74rem;
    line-height: 1.4;
    color: var(--today-text-muted);
}
.today-flat__opp-badge {
    flex-shrink: 0;
    font-size: 0.62rem;
    font-weight: 700;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: rgba(246, 139, 30, 0.12);
    color: var(--unimart-orange, #f68b1e);
    white-space: nowrap;
}
.today-flat__opp-action {
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--today-text-muted);
    white-space: nowrap;
}
.today-flat__opp-row:hover .today-flat__opp-action {
    color: var(--unimart-orange, #f68b1e);
}

.today-flat__opportunities-feed .sl-ad-card {
    --sl-surface: var(--today-bg-surface);
    --sl-surface-2: var(--today-bg-muted);
    --sl-border: var(--today-border);
    --sl-slate: var(--today-text);
    --sl-muted: var(--today-text-muted);
    --sl-amber: var(--unimart-orange, #f68b1e);
    width: 100%;
    flex-direction: row;
    align-items: stretch;
    min-height: 5.5rem;
}
.today-flat__opportunities-feed .sl-ad-card__visual {
    width: 5.25rem;
    flex-shrink: 0;
    aspect-ratio: 1;
    border-radius: 8px 0 0 8px;
}
.today-flat__opportunities-feed .sl-ad-card__body {
    flex: 1;
    min-width: 0;
    padding: 0.65rem 0.75rem;
    justify-content: center;
}
.today-flat__opportunities-feed .sl-ad-card__title {
    font-size: 0.84rem;
}
.today-flat__opportunities-feed .sl-ad-card__cta {
    display: none;
}

.today-flat__search-label {
    margin: 0 0 0.5rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--today-text-muted);
}
.today-flat__search--compact {
    margin-bottom: 1.35rem;
    padding-top: 0.25rem;
    border-top: 1px solid var(--today-border);
}

.today-flat__browse {
    padding-top: 0.45rem;
    border-top: 1px solid var(--today-border);
}
.today-flat__section-title--browse {
    margin-bottom: 0.45rem;
    font-size: 0.78rem;
}
.today-flat__layers--browse {
    margin-bottom: 0.35rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.35rem;
}
.today-flat__layers--browse .today-flat__layer--visual {
    border-radius: 5px;
}
.today-flat__layers--browse .today-flat__layer-visual {
    min-height: 1.85rem;
    aspect-ratio: 1 / 1;
    background: var(--today-bg-muted);
}
.today-flat__layers--browse .today-flat__layer-icon {
    font-size: 0.88rem;
}
.today-flat__layers--browse .today-flat__layer-img {
    object-fit: contain;
    padding: 0.2rem;
}
.today-flat__layers--browse .today-flat__layer-copy {
    padding: 0.18rem 0.12rem 0.22rem;
}
.today-flat__layers--browse .today-flat__layer-label {
    font-size: 0.56rem;
    font-weight: 700;
    line-height: 1.15;
}
.today-flat__layers--browse .today-flat__layer-tag {
    display: none;
}

@media (max-width: 380px) {
    body.today-feed-page {
        --today-away-card-w: clamp(4.55rem, 22vw, 5rem);
        --today-away-card-h: clamp(5.75rem, 28vw, 6.25rem);
        --today-match-card-w: clamp(6.25rem, 30vw, 6.75rem);
    }
    .today-flat__shortcut {
        font-size: 0.64rem;
        padding: 0.3rem 0.55rem;
    }
    .today-flat__opp-row {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
    }
    .today-flat__opp-type {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
    }
    .today-flat__opp-action {
        grid-column: 2;
        grid-row: 1;
    }
    .today-flat__opp-body {
        grid-column: 1 / -1;
        grid-row: 2;
    }
    .today-flat__opp-badge {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

/* Layer tiles — compact visual chips (small icon + label) */
.today-flat__layers--visual {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    margin-bottom: 1.35rem;
    border: none;
    border-radius: 0;
    overflow: visible;
    background: transparent;
}
.today-flat__layers--visual .today-flat__layer {
    border-right: none;
    border-bottom: none;
    padding: 0;
    min-height: 0;
    gap: 0;
}
.today-flat__layer--visual {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    min-height: 0;
    border: 1px solid var(--today-border);
    border-radius: 6px;
    overflow: hidden;
    background: var(--today-bg-surface);
    text-decoration: none;
    color: var(--today-text);
    transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}
.today-flat__layer--visual:hover {
    border-color: rgba(246, 139, 30, 0.45);
    background: var(--today-bg-muted);
    box-shadow: 0 1px 6px var(--today-card-shadow);
}
.today-flat__layer--visual:focus-visible {
    outline: 2px solid var(--unimart-orange, #f68b1e);
    outline-offset: 2px;
}
.today-flat__layer-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 4 / 3;
    min-height: 4.25rem;
    padding: 0;
    overflow: hidden;
    background: var(--today-bg-muted);
}
.today-flat__layer-icon {
    font-size: 1.65rem;
    line-height: 1;
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__layer-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.today-flat__layer-copy {
    padding: 0.35rem 0.3rem 0.4rem;
    background: transparent;
    text-align: center;
}
.today-flat__layer-label {
    display: block;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--today-text);
    line-height: 1.2;
    letter-spacing: 0.01em;
    -webkit-font-smoothing: antialiased;
}
.today-flat__layer-tag {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.56rem;
    font-weight: 600;
    color: var(--today-text-muted);
    line-height: 1.2;
}

/* Legacy icon-only layer grid */
.today-flat__layers:not(.today-flat__layers--visual) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-bottom: 1.5rem;
    border: 1px solid var(--um-gray-200, #e8e8e8);
    border-radius: 8px;
    overflow: hidden;
}
.today-flat__layers:not(.today-flat__layers--visual) .today-flat__layer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.85rem 0.35rem;
    text-decoration: none;
    color: var(--um-navy, #2c3e50);
    border-right: 1px solid var(--um-gray-200, #e8e8e8);
    border-bottom: 1px solid var(--um-gray-200, #e8e8e8);
    transition: background 0.12s ease;
    min-height: 72px;
}
.today-flat__layers:not(.today-flat__layers--visual) .today-flat__layer:nth-child(3n) {
    border-right: none;
}
.today-flat__layers:not(.today-flat__layers--visual) .today-flat__layer:nth-last-child(-n+3) {
    border-bottom: none;
}
.today-flat__layers:not(.today-flat__layers--visual) .today-flat__layer:hover {
    background: var(--um-gray-50, #f5f6f8);
}
.today-flat__layers:not(.today-flat__layers--visual) .today-flat__layer i {
    font-size: 1.1rem;
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__layers:not(.today-flat__layers--visual) .today-flat__layer span {
    font-size: 0.72rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
}

/* Feed — list rows with dividers, no cards */
.today-flat__feed-section {
    border-top: 1px solid var(--today-border);
    padding-top: 0.85rem;
}
.today-flat__feed-label {
    margin: 0 0 0.25rem;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--today-text-muted);
}
.today-flat__feed {
    list-style: none;
    margin: 0;
    padding: 0;
}
.today-flat__row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.85rem 0;
    min-height: var(--today-touch-min);
    border-bottom: 1px solid var(--today-border);
    text-decoration: none;
    color: inherit;
}
.today-flat__row:last-child {
    border-bottom: none;
}
.today-flat__row:hover .today-flat__row-title {
    color: var(--unimart-orange, #f68b1e);
}
.today-flat__row-body {
    flex: 1;
    min-width: 0;
}
.today-flat__row-title {
    display: block;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--today-text);
    line-height: 1.35;
    transition: color 0.12s ease;
}
.today-flat__row-sub {
    display: block;
    font-size: 0.75rem;
    color: var(--today-text-muted);
    margin-top: 0.1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.today-flat__row-action {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--unimart-orange, #f68b1e);
    white-space: nowrap;
}

.today-flat__empty {
    border-top: 1px solid var(--today-border);
    padding: 1.25rem 0;
    text-align: center;
}
.today-flat__empty p {
    margin: 0;
    font-size: 0.85rem;
    color: var(--today-text-muted);
    line-height: 1.5;
}

/* Hide legacy chrome in flat mode */
.home-intel--flat .home-intel__subtitle,
.home-intel--flat .home-intel__agent-summary,
.home-intel--flat .home-intel__attention,
.home-intel--flat .home-intel__campus,
.home-intel--flat .home-intel__agent-wake,
.home-intel--flat .home-intel__return,
.home-intel--flat .home-intel__persona,
.home-intel--flat .home-intel__continue,
.home-intel--flat .home-intel__inbox,
.home-intel--flat .home-intel__footer {
    display: none !important;
}

@media (max-width: 767px) {
    .today-flat__search--compact .today-flat__input,
    .today-flat__input {
        font-size: 1rem;
    }
}

@media (min-width: 768px) {
    body.today-feed-page {
        --today-content-max: 42rem;
        --today-space-bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
        --today-away-card-w: 6.25rem;
        --today-away-card-h: 7.85rem;
        --today-match-card-w: 8.25rem;
        --today-feed-card-w: 11.25rem;
        --today-visual-card-w: 11.25rem;
    }
    body.today-feed-page .home-intel {
        padding-top: calc(1rem + var(--today-space-top));
        padding-bottom: var(--today-space-bottom);
    }
    .today-flat__form {
        max-width: 100%;
    }
    .today-flat__layers--visual {
        gap: 0.65rem;
    }
    .today-flat__layers--browse {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 0.4rem;
    }
    .today-flat__layer-rail {
        --today-feed-card-w: 11.25rem;
    }
    .today-flat__layer-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.75rem;
    }
}

@media (min-width: 1024px) {
    body.today-feed-page {
        --today-content-max: 72rem;
        --today-space-x: 1.75rem;
        --today-away-card-w: 6.75rem;
        --today-away-card-h: 8.25rem;
        --today-match-card-w: 10.25rem;
        --today-feed-card-w: 12.5rem;
        --today-visual-card-w: 12.5rem;
    }
    body.today-feed-page .home-intel {
        padding-top: calc(1.25rem + var(--today-space-top));
    }
}

@media (min-width: 1200px) {
    body.today-feed-page {
        --today-content-max: 88rem;
        --today-space-x: 2rem;
        --today-match-card-w: 11rem;
        --today-feed-card-w: 13.25rem;
        --today-visual-card-w: 13.25rem;
    }
}

@media (min-width: 1400px) {
    body.today-feed-page {
        --today-content-max: 96rem;
        --today-match-card-w: 11.5rem;
    }
}

@media (max-height: 520px) and (orientation: landscape) {
    body.today-feed-page {
        --today-away-card-h: clamp(4.75rem, 52vh, 5.75rem);
        --today-space-bottom: calc(3.75rem + env(safe-area-inset-bottom, 0px));
    }
    .today-story__away-emoji {
        font-size: 0.85rem;
        min-width: 1.5rem;
        height: 1.5rem;
    }
    .today-story__icon--away {
        font-size: 1.1rem;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .today-stories__rail,
    .today-flat__role-updates-rail,
    .today-flat__visual-rail,
    .today-flat__search--compact .today-flat__examples {
        scroll-behavior: smooth;
    }
}

/* ── Dark mode (Today default — soft slate, not heavy black) ── */
html.today-theme-dark-pending body.today-feed-page,
body.today-feed-page[data-today-theme="dark"] {
    --today-bg-page: #1e2836;
    --today-bg-surface: #263244;
    --today-bg-muted: #2f3a4d;
    --today-bg-elevated: #364357;
    --today-text: #eef1f5;
    --today-text-muted: #a8b4c4;
    --today-text-subtle: #8b97a8;
    --today-border: rgba(255, 255, 255, 0.12);
    --today-input-bg: #263244;
    --today-search-border: rgba(246, 139, 30, 0.5);
    --today-card-shadow: rgba(15, 23, 42, 0.22);
    --today-icon-muted: #a8b4c4;
    color-scheme: dark;
}

html.today-theme-dark-pending body.today-feed-page,
body.today-feed-page[data-today-theme="dark"] {
    background-color: var(--today-bg-page) !important;
    color: var(--today-text);
}

body.today-feed-page[data-today-theme="dark"] .content-wrapper,
html.today-theme-dark-pending body.today-feed-page .content-wrapper {
    background: var(--today-bg-page) !important;
}

body.today-feed-page[data-today-theme="dark"] .today-flat__layer-grid .sl-ad-card,
body.today-feed-page[data-today-theme="dark"] .today-flat__layer-rail .sl-ad-card,
body.today-feed-page[data-today-theme="dark"] .today-flat__visual-rail .sl-ad-card,
body.today-feed-page[data-today-theme="dark"] .today-flat__opportunities-feed .sl-ad-card,
html.today-theme-dark-pending body.today-feed-page .today-flat__layer-grid .sl-ad-card,
html.today-theme-dark-pending body.today-feed-page .today-flat__layer-rail .sl-ad-card,
html.today-theme-dark-pending body.today-feed-page .today-flat__visual-rail .sl-ad-card,
html.today-theme-dark-pending body.today-feed-page .today-flat__opportunities-feed .sl-ad-card {
    --sl-border: rgba(255, 255, 255, 0.1);
    --sl-surface: var(--today-bg-elevated);
    --sl-surface-2: var(--today-bg-muted);
}

body.today-feed-page[data-today-theme="dark"] .today-flat__opp-row,
html.today-theme-dark-pending body.today-feed-page .today-flat__opp-row {
    background: var(--today-bg-elevated);
    border-color: rgba(255, 255, 255, 0.1);
}

body.today-feed-page[data-today-theme="dark"] .today-flat__hero,
html.today-theme-dark-pending body.today-feed-page .today-flat__hero {
    background: linear-gradient(135deg, rgba(246, 139, 30, 0.14) 0%, rgba(255, 255, 255, 0.03) 100%);
    border-color: rgba(246, 139, 30, 0.28);
}

body.today-feed-page[data-today-theme="dark"] .today-flat__attention-row,
html.today-theme-dark-pending body.today-feed-page .today-flat__attention-row {
    background: linear-gradient(135deg, rgba(246, 139, 30, 0.12) 0%, rgba(255, 255, 255, 0.03) 100%);
    border-color: rgba(246, 139, 30, 0.24);
}

body.today-feed-page[data-today-theme="dark"] .today-flat__chip,
html.today-theme-dark-pending body.today-feed-page .today-flat__chip {
    background: var(--today-bg-elevated);
    border-color: rgba(255, 255, 255, 0.1);
}

body.today-feed-page[data-today-theme="dark"] .sl-ad-card__placeholder,
html.today-theme-dark-pending body.today-feed-page .sl-ad-card__placeholder {
    background: linear-gradient(145deg, var(--today-bg-muted), var(--today-bg-page));
}

body.today-feed-page[data-today-theme="dark"] .today-story__ring--away,
html.today-theme-dark-pending body.today-feed-page .today-story__ring--away {
    --today-border-grey: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.1);
}

body.today-feed-page[data-today-theme="dark"] .today-story__disc--away,
html.today-theme-dark-pending body.today-feed-page .today-story__disc--away {
    background: var(--today-bg-elevated);
}

body.today-feed-page[data-today-theme="dark"] .today-story__away-visual,
html.today-theme-dark-pending body.today-feed-page .today-story__away-visual {
    background: var(--today-bg-muted);
}

body.today-feed-page[data-today-theme="dark"] .today-story__away-emoji,
html.today-theme-dark-pending body.today-feed-page .today-story__away-emoji {
    background: rgba(255, 255, 255, 0.1);
    box-shadow: none;
}

body.today-feed-page[data-today-theme="dark"] .today-match-card,
html.today-theme-dark-pending body.today-feed-page .today-match-card {
    --today-border-grey: rgba(255, 255, 255, 0.28);
    background: var(--today-bg-elevated);
}

body.today-feed-page[data-today-theme="dark"] .today-match-card__badge,
html.today-theme-dark-pending body.today-feed-page .today-match-card__badge {
    background: var(--today-bg-muted);
    border-color: rgba(246, 139, 30, 0.35);
}

body.today-feed-page[data-today-theme="dark"] .today-flat__role-update,
html.today-theme-dark-pending body.today-feed-page .today-flat__role-update {
    background: var(--today-bg-elevated);
    border-color: rgba(255, 255, 255, 0.1);
}

body.today-feed-page[data-today-theme="dark"] .home-intel__bell-badge,
html.today-theme-dark-pending body.today-feed-page .home-intel__bell-badge {
    border: 1px solid var(--today-bg-page);
}

/* Today polish — login moment, next action, deadlines, new student */
.home-intel__time-sub {
    font-size: 0.85rem;
    color: var(--today-text-muted);
    margin: 0.15rem 0 0;
}

.today-flat__next-action {
    margin-bottom: 1.25rem;
}
.today-flat__next-action-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 0.5rem;
}
.today-flat__next-action-card {
    background: var(--today-bg-elevated);
    border: 1px solid var(--today-border);
    border-radius: 14px;
    padding: 1rem;
    box-shadow: 0 2px 8px var(--today-card-shadow);
}
.today-flat__next-action-meta {
    display: flex;
    justify-content: space-between;
    font-size: 0.72rem;
    margin-bottom: 0.35rem;
}
.today-flat__badge {
    background: #fff7ed;
    color: #c2410c;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
}
.today-flat__confidence {
    color: var(--today-text-muted);
}
.today-flat__next-action-title {
    font-size: 1rem;
    margin: 0 0 0.25rem;
}
.today-flat__next-action-desc {
    font-size: 0.85rem;
    color: var(--today-text-muted);
    margin: 0 0 0.75rem;
}
.today-flat__btn {
    display: inline-block;
    padding: 0.45rem 0.9rem;
    border-radius: 8px;
    font-size: 0.85rem;
    text-decoration: none;
    font-weight: 600;
}
.today-flat__btn--primary {
    background: #f68b1e;
    color: #fff;
}
.today-flat__btn--ghost {
    border: 1px solid var(--today-border);
    color: var(--today-text);
    background: transparent;
}

.today-flat__deadlines {
    margin-bottom: 1.25rem;
}
.today-flat__deadline-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.today-flat__deadline-item {
    display: flex;
    justify-content: space-between;
    padding: 0.6rem 0;
    border-bottom: 1px solid var(--today-border);
    text-decoration: none;
    color: var(--today-text);
    font-size: 0.9rem;
}
.today-flat__deadline-item--soon .today-flat__deadline-when,
.today-flat__deadline-item--today .today-flat__deadline-when {
    color: #c2410c;
    font-weight: 600;
}

.today-flat__orient {
    margin-bottom: 1.25rem;
}
.today-flat__orient-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.65rem;
    list-style: none;
    padding: 0;
    margin: 0;
}
.today-flat__orient-card {
    display: block;
    padding: 0.85rem;
    border: 1px solid var(--today-border);
    border-radius: 12px;
    text-decoration: none;
    color: var(--today-text);
    background: var(--today-bg-elevated);
}
.today-flat__orient-icon {
    color: #f68b1e;
    font-size: 1.1rem;
    display: block;
    margin-bottom: 0.35rem;
}
.today-flat__orient-label {
    display: block;
    font-weight: 600;
    font-size: 0.9rem;
}
.today-flat__orient-desc {
    display: block;
    font-size: 0.75rem;
    color: var(--today-text-muted);
    margin-top: 0.2rem;
}

.today-flat__empty--guided {
    text-align: center;
    padding: 1.5rem 1rem;
    margin-bottom: 1rem;
}
.today-flat__empty-actions {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 0.75rem;
    flex-wrap: wrap;
}

.today-flat__layer-sections {
    margin-bottom: 1.5rem;
}
.today-flat__layer-section {
    margin-bottom: 1.25rem;
}
.today-flat__layer-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.5rem;
    gap: 0.5rem;
}
.today-flat__layer-pill {
    font-size: 0.85rem;
    font-weight: 600;
}
.today-flat__layer-sub {
    font-size: 0.75rem;
    color: var(--today-text-muted);
    margin: 0.15rem 0 0;
}
.today-flat__layer-more {
    font-size: 0.8rem;
    white-space: nowrap;
    color: #f68b1e;
    text-decoration: none;
}
.today-flat__layer-rail {
    display: flex;
    gap: var(--today-rail-gap);
    overflow-x: auto;
    padding-bottom: 0.25rem;
    scroll-snap-type: x mandatory;
}

