/* v78: compact four-by-three control room with the title and news in one top rail. */
@media (min-width: 901px) {
  .page-hub {
    min-height: 100svh;
    overflow: hidden;
    background: #07111f;
  }

  .page-hub .shell {
    display: flex;
    width: min(1540px, calc(100% - 28px));
    height: 100svh;
    min-height: 680px;
    flex-direction: column;
    gap: 7px;
    padding: 7px 0 8px;
    overflow: hidden;
  }

  .page-hub .topbar {
    min-height: 42px;
    flex: 0 0 42px;
    padding: 5px 8px;
    border-color: #233a58;
    background: rgba(9, 23, 42, .94);
  }

  .page-hub .brand strong,
  .page-hub .topbar .ghost { color: #f7fbff; }
  .page-hub .brand small,
  .page-hub .secure { color: #91a4bd; }
  .page-hub .topbar .ghost { border-color: #314865; background: #10213a; }

  .page-hub .hub-top-strip {
    display: grid;
    min-height: 96px;
    flex: 0 0 96px;
    grid-template-columns: minmax(285px, .72fr) minmax(0, 2.28fr);
    gap: 8px;
  }

  .page-hub .hub-top-strip .hero {
    display: flex;
    min-width: 0;
    height: 96px;
    margin: 0;
    flex-direction: column;
    justify-content: center;
    padding: 12px 17px;
    border: 1px solid #2a4363;
    border-radius: 15px;
    background: linear-gradient(135deg, #102a4d, #0b1b34 68%);
    box-shadow: none;
  }

  .page-hub .hub-top-strip .hero::after {
    right: 16px;
    bottom: -20px;
    font-size: 74px;
    opacity: .055;
  }

  .page-hub .hub-top-strip .hero .eyebrow {
    margin-bottom: 2px;
    color: #f3c642;
    font-size: 8px;
  }

  .page-hub .hub-top-strip .hero h1 {
    color: #fff;
    font-size: clamp(21px, 1.55vw, 27px);
    line-height: .98;
  }

  .page-hub .hub-top-strip .hero h1 br { display: block; }
  .page-hub .hub-top-strip .hero h1 span { margin-left: 0; color: #f3c642; }
  .page-hub .hub-top-strip .hero > p:last-child {
    overflow: hidden;
    max-width: 100%;
    margin: 4px 0 0;
    color: #9fb0c6;
    font-size: 9px;
    line-height: 1.25;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .page-hub .hub-top-strip .news-board {
    display: grid;
    min-width: 0;
    height: 96px;
    margin: 0;
    grid-template-columns: minmax(215px, .62fr) minmax(0, 2.38fr);
    gap: 7px;
    padding: 6px;
    border: 1px solid #345071;
    border-radius: 15px;
    background: #0b1a30;
    box-shadow: none;
  }

  .page-hub .hub-top-strip .news-board-head {
    min-width: 0;
    height: 82px;
    padding: 8px 10px;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg, #18365e, #102641);
  }

  .page-hub .hub-top-strip .news-heading-wrap { grid-template-columns: 34px minmax(0, 1fr); gap: 8px; }
  .page-hub .hub-top-strip .news-signal { width: 34px; height: 34px; border-radius: 10px; font-size: 17px; }
  .page-hub .hub-top-strip .news-board-head .eyebrow { display: none; }
  .page-hub .hub-top-strip .news-board-head h2 { font-size: 15px; line-height: 1.15; }
  .page-hub .hub-top-strip .news-board-head > .news-heading-wrap > div > p:last-child {
    display: -webkit-box;
    margin: 2px 0 0;
    overflow: hidden;
    color: #9fb0c6;
    font-size: 8px;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .page-hub .hub-top-strip .news-manage { min-height: 23px; margin-top: 4px; padding: 3px 7px; font-size: 7px; }
  .page-hub .hub-top-strip .news-list {
    display: flex;
    min-width: 0;
    height: 82px;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
  }
  .page-hub .hub-top-strip .news-card,
  .page-hub .hub-top-strip .news-empty {
    min-width: min(265px, 48%);
    min-height: 82px;
    flex: 1 0 min(265px, 48%);
    padding: 8px 10px 7px 13px;
    border-color: #2d4564;
    background: #11233d;
    color: #f7fbff;
    scroll-snap-align: start;
  }
  .page-hub .hub-top-strip .news-card h3 { margin: 2px 0; color: #fff; font-size: 12px; }
  .page-hub .hub-top-strip .news-card p {
    display: -webkit-box;
    overflow: hidden;
    color: #a9b8cb;
    font-size: 9px;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .page-hub .hub-top-strip .news-card time { margin-top: 3px; color: #7f93ad; font-size: 7px; }

  .page-hub .section-heading {
    min-height: 28px;
    flex: 0 0 28px;
    align-items: center;
    margin: 0;
    padding: 0 3px;
  }
  .page-hub .section-heading h2 { color: #fff; font-size: 16px; }
  .page-hub .section-heading > span { color: #8da0b8; font-size: 9px; }

  .page-hub .app-grid {
    display: grid;
    min-height: 0;
    flex: 1 1 auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .page-hub .app-grid > .app-card,
  .page-hub .app-grid > .graphic-featured {
    grid-column: span 1 !important;
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: 11px 13px;
    overflow: hidden;
    border: 1px solid #29415f;
    border-radius: 14px;
    color: #f7fbff;
    background: linear-gradient(145deg, #11243e, #0c1b31 72%);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .2);
  }

  .page-hub .app-grid > .app-card::before,
  .page-hub .app-grid > .graphic-featured::before {
    inset: 0 0 auto;
    width: auto;
    height: 2px;
    background: linear-gradient(90deg, #f0bd2f, rgba(240, 189, 47, .08));
  }

  .page-hub .app-grid > .app-card::after,
  .page-hub .app-grid > .graphic-featured::after {
    display: block;
    right: -25px;
    bottom: -36px;
    width: 105px;
    height: 105px;
    border: 16px solid rgba(240, 189, 47, .07);
    background: transparent;
  }

  .page-hub .app-grid > .app-card:hover,
  .page-hub .app-grid > .graphic-featured:hover {
    transform: translateY(-2px);
    border-color: #d9ad35;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .28);
  }

  .page-hub .app-card .icon,
  .page-hub .graphic-featured .icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    color: #ffd34f;
    background: rgba(240, 189, 47, .1);
    box-shadow: 0 6px 15px rgba(240, 189, 47, .09);
    font-size: 10px;
  }
  .page-hub .app-card .number,
  .page-hub .graphic-featured .number { top: 11px; right: 12px; color: #91a4bd; font-size: 8px; }
  .page-hub .app-card small,
  .page-hub .graphic-featured small { margin-top: 6px; color: #e9bb37; font-size: 7px; letter-spacing: .12em; }
  .page-hub .app-card h3,
  .page-hub .graphic-featured h3 {
    margin: 3px 0 2px;
    overflow: hidden;
    color: #fff;
    font-size: clamp(13px, 1.05vw, 17px);
    line-height: 1.22;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .page-hub .app-card p,
  .page-hub .graphic-featured p {
    display: -webkit-box;
    margin: 1px 0 0;
    overflow: hidden;
    color: #9eafc4;
    font-size: clamp(8px, .7vw, 10px);
    line-height: 1.32;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .page-hub .app-card b,
  .page-hub .graphic-featured b {
    z-index: 2;
    margin-top: auto;
    padding-top: 4px;
    overflow: hidden;
    color: #f0bd2f;
    font-size: 8px;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .page-hub .feature-badge { display: none; }
  .page-hub .app-card[data-attention] { overflow: visible; }

  .page-hub .owner-panel {
    min-height: 42px;
    flex: 0 0 42px;
    gap: 7px;
    margin: 0;
    padding: 5px 7px;
    border-color: #29415f;
    color: #f7fbff;
    background: #10213a;
    box-shadow: none;
  }
  .page-hub .owner-panel > div { border-color: #324a68; }
  .page-hub .owner-panel h2 { color: #fff; }
  .page-hub .owner-panel nav a { border-color: #2c4563; color: #f4f7fb; background: #132641; }
  .page-hub .owner-panel nav a:hover { border-color: #d9ad35; background: #1a3150; }
  .page-hub .owner-panel nav span,
  .page-hub .owner-panel .eyebrow { color: #f0bd2f; }
  .page-hub footer { min-height: 10px; flex: 0 0 10px; margin: 0; color: #627892; font-size: 7px; }
  .page-hub footer i { background: #223a57; }

  .page-hub .attention-panel {
    position: fixed;
    z-index: 50;
    top: 58px;
    right: 14px;
    width: min(720px, calc(100% - 28px));
    max-height: calc(100svh - 72px);
    overflow: auto;
  }
}

@media (min-width: 901px) and (max-height: 760px) {
  .page-hub .shell { min-height: 620px; gap: 5px; padding-block: 5px; }
  .page-hub .topbar { min-height: 38px; flex-basis: 38px; }
  .page-hub .hub-top-strip { min-height: 80px; flex-basis: 80px; }
  .page-hub .hub-top-strip .hero,
  .page-hub .hub-top-strip .news-board { height: 80px; }
  .page-hub .hub-top-strip .news-board-head,
  .page-hub .hub-top-strip .news-list { height: 66px; }
  .page-hub .hub-top-strip .news-card,
  .page-hub .hub-top-strip .news-empty { min-height: 66px; padding-block: 6px; }
  .page-hub .hub-top-strip .hero > p:last-child,
  .page-hub .hub-top-strip .news-board-head > .news-heading-wrap > div > p:last-child,
  .page-hub .hub-top-strip .news-card p,
  .page-hub .app-card p,
  .page-hub .graphic-featured p { display: none; }
  .page-hub .section-heading { min-height: 24px; flex-basis: 24px; }
  .page-hub .app-card small,
  .page-hub .graphic-featured small { margin-top: 3px; }
  .page-hub .owner-panel { min-height: 38px; flex-basis: 38px; }
}

/* Light mode must be visually distinct; the dark palette above remains unchanged. */
@media (min-width: 901px) {
  html:not([data-dark="true"]) .page-hub {
    color: #12203b;
    background:
      linear-gradient(rgba(18, 32, 59, .025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(18, 32, 59, .025) 1px, transparent 1px),
      #edf3f9;
    background-size: 32px 32px;
  }

  html:not([data-dark="true"]) .page-hub .topbar {
    border-color: #d4dfec;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 5px 16px rgba(18, 40, 73, .06);
  }
  html:not([data-dark="true"]) .page-hub .brand strong { color: #0b1730; }
  html:not([data-dark="true"]) .page-hub .brand small,
  html:not([data-dark="true"]) .page-hub .secure { color: #66758d; }
  html:not([data-dark="true"]) .page-hub .topbar .ghost {
    border-color: #d4dfec;
    color: #12203b;
    background: #f8fafc;
  }
  html:not([data-dark="true"]) .page-hub .topbar .ghost:hover { border-color: #c39a21; background: #fff8dc; }

  html:not([data-dark="true"]) .page-hub .hub-top-strip .hero {
    border-color: #d4dfec;
    background: linear-gradient(135deg, #ffffff, #f6f9fd 68%);
    box-shadow: 0 7px 20px rgba(18, 40, 73, .07);
  }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .hero h1 { color: #0b1730; }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .hero h1 span { color: #b17e00; }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .hero .eyebrow { color: #9a7106; }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .hero > p:last-child { color: #64748b; }

  html:not([data-dark="true"]) .page-hub .hub-top-strip .news-board {
    border-color: #e4cf80;
    background: linear-gradient(120deg, #fff8d5, #fffef8 48%);
    box-shadow: 0 7px 20px rgba(113, 77, 0, .08);
  }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .news-board-head {
    color: #0b1730;
    background: linear-gradient(135deg, #ffd84d, #eeb91b);
  }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .news-board-head h2 { color: #0b1730; }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .news-board-head > .news-heading-wrap > div > p:last-child { color: #594b1d; }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .news-signal { background: #0b1730; }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .news-manage {
    border-color: rgba(11, 23, 48, .25);
    color: #0b1730;
    background: rgba(255, 255, 255, .45);
  }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .news-card,
  html:not([data-dark="true"]) .page-hub .hub-top-strip .news-empty {
    border-color: #e6dcae;
    background: rgba(255, 255, 255, .92);
    color: #12203b;
  }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .news-card h3 { color: #12203b; }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .news-card p { color: #64748b; }
  html:not([data-dark="true"]) .page-hub .hub-top-strip .news-card time { color: #8290a5; }

  html:not([data-dark="true"]) .page-hub .section-heading h2 { color: #0b1730; }
  html:not([data-dark="true"]) .page-hub .section-heading > span { color: #66758d; }

  html:not([data-dark="true"]) .page-hub .app-grid > .app-card,
  html:not([data-dark="true"]) .page-hub .app-grid > .graphic-featured {
    border-color: #d7e1ed;
    color: #12203b;
    background: linear-gradient(145deg, #ffffff, #f7f9fc 76%);
    box-shadow: 0 7px 19px rgba(18, 40, 73, .08);
  }
  html:not([data-dark="true"]) .page-hub .app-grid > .app-card:hover,
  html:not([data-dark="true"]) .page-hub .app-grid > .graphic-featured:hover {
    border-color: #c49a1d;
    box-shadow: 0 11px 25px rgba(18, 40, 73, .13);
  }
  html:not([data-dark="true"]) .page-hub .app-grid > .app-card::after,
  html:not([data-dark="true"]) .page-hub .app-grid > .graphic-featured::after { border-color: rgba(193, 150, 27, .09); }
  html:not([data-dark="true"]) .page-hub .app-card .icon,
  html:not([data-dark="true"]) .page-hub .graphic-featured .icon {
    color: #9a7106;
    background: #fff5c8;
  }
  html:not([data-dark="true"]) .page-hub .app-card .number,
  html:not([data-dark="true"]) .page-hub .graphic-featured .number { color: #8290a5; }
  html:not([data-dark="true"]) .page-hub .app-card small,
  html:not([data-dark="true"]) .page-hub .graphic-featured small,
  html:not([data-dark="true"]) .page-hub .app-card b,
  html:not([data-dark="true"]) .page-hub .graphic-featured b { color: #9a7106; }
  html:not([data-dark="true"]) .page-hub .app-card h3,
  html:not([data-dark="true"]) .page-hub .graphic-featured h3 { color: #0b1730; }
  html:not([data-dark="true"]) .page-hub .app-card p,
  html:not([data-dark="true"]) .page-hub .graphic-featured p { color: #66758d; }

  html:not([data-dark="true"]) .page-hub .owner-panel {
    border-color: #d4dfec;
    color: #12203b;
    background: #fff;
    box-shadow: 0 6px 18px rgba(18, 40, 73, .06);
  }
  html:not([data-dark="true"]) .page-hub .owner-panel > div { border-color: #d4dfec; }
  html:not([data-dark="true"]) .page-hub .owner-panel h2 { color: #0b1730; }
  html:not([data-dark="true"]) .page-hub .owner-panel nav a {
    border-color: #dbe3ee;
    color: #12203b;
    background: #f4f7fb;
  }
  html:not([data-dark="true"]) .page-hub .owner-panel nav a:hover { border-color: #c49a1d; background: #fff8dc; }
  html:not([data-dark="true"]) .page-hub .owner-panel nav span,
  html:not([data-dark="true"]) .page-hub .owner-panel .eyebrow { color: #9a7106; }
  html:not([data-dark="true"]) .page-hub footer { color: #8290a5; }
  html:not([data-dark="true"]) .page-hub footer i { background: #d4dfec; }
}

@media (max-width: 900px) {
  .page-hub .hub-top-strip { display: grid; gap: 8px; }
}
