/* Compact home notices; full notice cards and detail pages keep their own layout. */
.overview-surface .home-grid { align-items: start; }
.overview-surface .home-grid > section { border-radius: 22px; }
.overview-surface .home-update-heading { gap: 16px; padding: 28px 28px 14px; border-bottom: 0; }
.home-update-heading h2 { display: flex; align-items: center; gap: 14px; color: #202936; font-size: 19px; letter-spacing: -.035em; }
.home-update-icon { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; border-radius: 14px; background: #f2f4f8; color: #536175; }
.home-update-icon svg { width: 24px; height: 24px; }
.overview-surface .home-update-heading .more { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; padding: 10px 0 10px 8px; color: #6b7789; font-size: 12px; font-weight: 500; }
.home-update-heading .more svg { width: 14px; height: 14px; }
.home-update-heading .more:hover { text-decoration: underline; text-underline-offset: 4px; }
.home-notice-list { list-style: none; margin: 0; padding: 4px 28px 20px; }
.home-notice-list li + li { border-top: 1px solid #edf0f4; }
.home-notice-row { display: grid; grid-template-columns: 60px minmax(0,1fr) auto; align-items: center; column-gap: 16px; padding: 18px 0; border-radius: 8px; }
.home-notice-thumb { display: grid; place-items: center; width: 60px; height: 60px; border: 1px solid #e8ebf0; border-radius: 11px; overflow: hidden; background: #f5f6f8; }
.home-notice-thumb img { width: 100%; height: 100%; object-fit: contain; }
.home-notice-thumb.is-placeholder { background: #f6f3ed; color: #a56a42; border-color: #eee7dd; }
.home-notice-thumb svg { width: 25px; height: 25px; }
.home-notice-copy { min-width: 0; }
.home-notice-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 5px; }
.home-notice-tag { display: inline-flex; align-items: center; min-height: 23px; padding: 2px 9px; border-radius: 7px; background: #eff4ff; color: #4164b4; font-size: 11px; font-weight: 650; line-height: 1.4; }
.home-notice-tag.is-important { background: #eaf7f1; color: #22745b; }
.home-notice-count { color: #718096; font-size: 11px; line-height: 1.4; }
.home-notice-copy h3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 0; color: #243044; font-size: 16px; font-weight: 550; line-height: 1.55; letter-spacing: -.02em; overflow-wrap: anywhere; }
.home-notice-row time { color: #718096; white-space: nowrap; font-size: 12px; font-variant-numeric: tabular-nums; }
.home-notice-row:hover { background: #f8f9fc; }
.home-notice-row:hover h3 { color: #a64727; }
.home-notice-row:focus-visible, .home-update-heading .more:focus-visible { outline: 2px solid #aa4b2d; outline-offset: 4px; }
.overview-surface .home-notices .empty { margin: 8px 28px 26px; padding: 28px 16px; border: 0; border-radius: 12px; }
@media (min-width: 781px) and (max-width: 1100px) {
  .home-notice-row { grid-template-columns: 56px minmax(0,1fr); row-gap: 5px; column-gap: 12px; }
  .home-notice-thumb { grid-row: 1 / 3; width: 56px; height: 56px; }
  .home-notice-row time { grid-column: 2; }
  .overview-surface .home-update-heading { padding-left: 22px; padding-right: 22px; }
  .home-notice-list { padding-left: 22px; padding-right: 22px; }
}
@media (max-width: 520px) {
  .overview-surface .home-update-heading { padding: 22px 20px 10px; gap: 8px; }
  .home-update-heading h2 { gap: 10px; font-size: 17px; }
  .home-update-icon { width: 40px; height: 40px; flex-basis: 40px; border-radius: 12px; }
  .home-update-icon svg { width: 21px; height: 21px; }
  .home-notice-list { padding: 0 20px 12px; }
  .home-notice-row { grid-template-columns: 54px minmax(0,1fr); column-gap: 12px; row-gap: 4px; padding: 16px 0; }
  .home-notice-thumb { grid-row: 1 / 3; width: 54px; height: 54px; }
  .home-notice-copy h3 { font-size: 15px; }
  .home-notice-row time { grid-column: 2; font-size: 11px; }
  .overview-surface .home-notices .empty { margin: 8px 20px 20px; }
}
