/*
 * Shoraido UI System 2.7.1
 * Unified Arial typography and responsive architecture for desktop, tablet and mobile.
 */
:root {
  --skm-font: Arial, sans-serif;
  --skm-sidebar-width: 270px;
  --skm-touch-size: 44px;
  --skm-content-pad: clamp(14px, 2.2vw, 34px);
}

/* One font across every plugin surface, public page and generated visual. */
:where(
  .skm-shell,
  .skm-app,
  .skm-auth,
  .skm-lookup,
  .skm-lookup-v2,
  .skm-verify,
  .skm-card-page,
  .skm-certificate-stage,
  .skm-public-honors,
  .skm-team-page,
  .skm-team-page--premium,
  .skm-birthday-poster,
  .skm-id-card,
  .skm-honors-board
),
:where(
  .skm-shell,
  .skm-app,
  .skm-auth,
  .skm-lookup,
  .skm-lookup-v2,
  .skm-verify,
  .skm-card-page,
  .skm-certificate-stage,
  .skm-public-honors,
  .skm-team-page,
  .skm-team-page--premium,
  .skm-birthday-poster,
  .skm-id-card,
  .skm-honors-board
) *,
:where(
  .skm-shell,
  .skm-app,
  .skm-auth,
  .skm-lookup,
  .skm-lookup-v2,
  .skm-verify,
  .skm-card-page,
  .skm-certificate-stage,
  .skm-public-honors,
  .skm-team-page,
  .skm-team-page--premium,
  .skm-birthday-poster,
  .skm-id-card,
  .skm-honors-board
)::before,
:where(
  .skm-shell,
  .skm-app,
  .skm-auth,
  .skm-lookup,
  .skm-lookup-v2,
  .skm-verify,
  .skm-card-page,
  .skm-certificate-stage,
  .skm-public-honors,
  .skm-team-page,
  .skm-team-page--premium,
  .skm-birthday-poster,
  .skm-id-card,
  .skm-honors-board
)::after {
  font-family: var(--skm-font) !important;
}

html:has(body.skm-standalone-page),
body.skm-standalone-page,
body.skm-card-page {
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  overflow-x: clip !important;
  font-family: var(--skm-font) !important;
}

/* Structural reset: remove 100vw/translated containers that create horizontal overflow. */
.skm-system-page,
.skm-shell,
.skm-app,
.skm-main,
.skm-content,
.skm-card,
.skm-filter,
.skm-student-card,
.skm-fee-card,
.skm-attendance-card,
.skm-exam-card,
.skm-birthday-column,
.skm-birthday-item,
.skm-finance-chart-card,
.skm-finance-donut-card,
.skm-honors-board,
.skm-team-page--premium {
  min-width: 0 !important;
  max-width: 100%;
  box-sizing: border-box;
}

.skm-shell {
  position: relative !important;
  left: auto !important;
  width: 100% !important;
  max-width: 1920px !important;
  margin: 0 auto !important;
  padding-inline: clamp(0px, 1vw, 18px) !important;
  transform: none !important;
}

body.skm-standalone-page .skm-system-page {
  width: 100%;
  min-height: 100dvh;
  padding: 0 !important;
}

body.skm-standalone-page .skm-shell {
  max-width: none !important;
  padding: 0 !important;
}

.skm-app {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 100dvh !important;
  overflow: clip !important;
}

.skm-main,
.skm-content {
  width: 100%;
  min-width: 0 !important;
}

.skm-content {
  padding: var(--skm-content-pad) !important;
  overflow: visible !important;
  container: skm-content / inline-size;
}

/* Sidebar is fixed only on large desktop. Tablet and mobile use a drawer. */
.skm-top-tabs {
  display: none !important;
}

.skm-mobile-topbar {
  min-height: 60px;
  padding-top: max(9px, env(safe-area-inset-top));
}

.skm-mobile-menu,
.skm-mobile-menu-head button,
.skm-btn,
.skm-segmented span,
.skm-check input,
.skm-permission-toggle,
.skm-row-actions > summary {
  min-height: var(--skm-touch-size);
}

@media (max-width: 1199px) {
  .skm-app {
    display: block !important;
    grid-template-columns: none !important;
    border-radius: 0 !important;
    border-inline: 0 !important;
  }

  .skm-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 1002 !important;
    display: flex !important;
    width: min(86vw, 320px) !important;
    max-width: 320px !important;
    height: 100dvh !important;
    transform: translateX(-105%) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  .skm-app.is-menu-open .skm-sidebar {
    transform: translateX(0) !important;
  }

  .skm-mobile-backdrop {
    display: block !important;
  }

  .skm-mobile-topbar {
    display: grid !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
  }
}

@media (min-width: 1200px) {
  .skm-app {
    display: grid !important;
    grid-template-columns: var(--skm-sidebar-width) minmax(0, 1fr) !important;
    min-height: 100dvh !important;
    border-radius: 20px !important;
  }

  .skm-sidebar {
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 100dvh;
    transform: none !important;
  }

  .skm-mobile-backdrop,
  .skm-mobile-topbar,
  .skm-mobile-menu-head {
    display: none !important;
  }
}

/* Flexible page heads and controls. */
.skm-section-head,
.skm-finance-overview__head,
.skm-exam-toolbar,
.skm-transfer-card__head {
  align-items: flex-start !important;
  gap: 14px !important;
}

.skm-section-head h1,
.skm-section-head h2 {
  max-width: 100%;
  font-size: clamp(28px, 3.1vw, 44px) !important;
  line-height: 1.08 !important;
  overflow-wrap: anywhere;
}

.skm-toolbar-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  max-width: 100%;
}

.skm-toolbar-actions .skm-btn {
  white-space: normal !important;
  text-align: center;
}

.skm-filter {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 185px), 1fr)) !important;
  gap: 12px !important;
  align-items: end !important;
}

.skm-filter label,
.skm-filter__search,
.skm-filter .skm-inline-search {
  width: 100% !important;
  min-width: 0 !important;
  grid-column: auto !important;
}

.skm-filter input,
.skm-filter select,
.skm-filter textarea,
.skm-form input,
.skm-form select,
.skm-form textarea,
.skm-inline-form input,
.skm-inline-form select,
.skm-inline-form textarea {
  max-width: 100% !important;
  min-width: 0 !important;
  font-family: var(--skm-font) !important;
}

/* Content grids respond to their available width, not the viewport width. */
.skm-card-grid,
.skm-student-grid,
.skm-fee-grid,
.skm-attendance-grid,
.skm-exam-grid,
.skm-certificate-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)) !important;
  gap: 14px !important;
}

.skm-grid-2,
.skm-split {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)) !important;
  gap: 16px !important;
}

.skm-staff-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}

.skm-metrics,
.skm-finance-kpis,
.skm-fee-status-summary {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 165px), 1fr)) !important;
  gap: 10px !important;
}

.skm-metric--branches {
  grid-column: auto !important;
}

/* Keep tables scrollable inside their own card, never at page level. */
.skm-table-wrap,
.skm-permissions-table-wrap,
.skm-honors-table-wrap,
.skm-finance-branch-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.skm-table,
.skm-permissions-table {
  width: 100%;
}

.skm-staff-layout .skm-table {
  min-width: 840px;
}

/* Finance: do not split the chart and donut until a genuinely wide desktop. */
.skm-finance-dashboard-grid,
.skm-finance-dashboard-grid--details {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
}

.skm-finance-donut-layout {
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr) !important;
}

.skm-finance-ratio-list,
.skm-finance-ratio-list > div,
.skm-finance-branch-table > div {
  min-width: 0 !important;
}

.skm-finance-ratio-list dd,
.skm-finance-bars article > b {
  overflow-wrap: anywhere;
}

@media (min-width: 1600px) {
  .skm-finance-dashboard-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(340px, .75fr) !important;
  }

  .skm-finance-dashboard-grid--details {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Attendance: compact three-state control and safer bulk tools. */
.skm-attendance-summary {
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)) !important;
}

.skm-attendance-summary .skm-inline-search {
  grid-column: auto !important;
}

.skm-segmented {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

.skm-segmented span {
  padding: 8px 5px !important;
  white-space: normal;
  text-align: center;
  line-height: 1.25;
}

.skm-attendance-smartbar,
.skm-makeup-attendance {
  min-width: 0 !important;
}

/* Birthday list and poster preview. */
.skm-birthday-columns {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 18px !important;
}

.skm-birthday-list,
.skm-birthday-item,
.skm-birthday-item__meta,
.skm-birthday-item__actions {
  min-width: 0 !important;
  max-width: 100%;
}

.skm-birthday-item {
  overflow: hidden !important;
}

.skm-birthday-item__actions {
  justify-content: stretch !important;
}

.skm-birthday-item__actions .skm-btn {
  width: 100%;
  max-width: 320px;
  margin-left: auto;
}

.skm-birthday-poster--square,
.skm-birthday-poster--shoraido {
  width: 100% !important;
  max-width: 720px !important;
  height: auto !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

@media (min-width: 1500px) {
  .skm-birthday-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Student card preview and export: never truncate official data. */
.skm-student-card-print {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  padding: clamp(14px, 3vw, 28px) !important;
}

.skm-id-card--shoraido {
  flex: 0 0 auto;
  transform: none !important;
}

.skm-id-card--shoraido .skm-id-card__modern-info,
.skm-id-card--shoraido .skm-id-card__modern-info dl,
.skm-id-card--shoraido .skm-id-card__modern-info dl > div,
.skm-id-card--shoraido .skm-id-card__modern-sign {
  min-width: 0 !important;
}

.skm-id-card--shoraido .skm-id-card__modern-info h1 {
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

.skm-id-card--shoraido .skm-id-card__modern-info dd,
.skm-id-card--shoraido .skm-id-card__modern-title strong,
.skm-id-card--shoraido .skm-id-card__modern-sign strong,
.skm-id-card__certificate-fields dd,
.skm-id-card__signature strong,
.skm-id-card__signature span {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

.skm-card-download-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
  gap: 10px !important;
  max-width: 100%;
}

/* Public team page. */
.skm-team-page--premium,
.skm-public-honors {
  width: min(100% - 24px, 1240px) !important;
  margin: 24px auto 44px !important;
}

.skm-team-premium-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
  gap: 16px !important;
}

.skm-team-premium-card h3,
.skm-team-premium-card__bio,
.skm-team-premium-card__branches {
  overflow-wrap: anywhere;
}

.skm-team-premium-card__photo {
  aspect-ratio: 4 / 4.8 !important;
}

.skm-team-premium-toolbar {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)) !important;
}

.skm-team-search,
.skm-team-result-count {
  grid-column: auto !important;
}

/* Public honors pages. */
.skm-honors-board {
  width: 100%;
}

.skm-honors-premium-hero,
.skm-team-premium-hero {
  grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr) !important;
}

.skm-honors-premium-copy h1,
.skm-team-premium-copy h1,
.skm-exam-honor-card h2,
.skm-attendance-honor-card h2 {
  overflow-wrap: anywhere;
}

.skm-honors-table-wrap table {
  width: 100%;
  min-width: 760px;
}

/* Export mode restores stable desktop geometry independent of the device viewport. */
.skm-birthday-poster--shoraido.is-skm-exporting {
  width: 720px !important;
  height: 720px !important;
  max-width: none !important;
  padding: 30px !important;
  border-radius: 22px !important;
  grid-template-columns: 38% 62% !important;
}
.skm-birthday-poster--shoraido.is-skm-exporting:after { inset: 14px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__brand img { width: 68px !important; height: 68px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__brand strong { font-size: 31px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__brand small { display: block !important; font-size: 10px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__headline { padding: 18px 18px 8px 4px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__headline em { font-size: 35px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__headline > strong { font-size: 56px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__headline > span { margin-top: 18px !important; padding: 9px 17px !important; font-size: 13px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__portrait > div { width: 250px !important; height: 250px !important; padding: 8px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__identity { margin-top: 12px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__identity h4 { padding: 10px 26px !important; font-size: 30px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__identity > div { gap: 22px !important; margin-top: 13px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__identity span { font-size: 10px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__identity strong { font-size: 14px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__message { margin: 14px 24px 0 !important; padding: 14px 19px !important; font-size: 14px !important; }
.skm-birthday-poster--shoraido.is-skm-exporting .skm-birthday-poster__values { gap: 16px !important; margin-top: 15px !important; font-size: 10px !important; }

.skm-honors-board.is-skm-exporting {
  width: 1240px !important;
  max-width: none !important;
  border-radius: 28px !important;
}
.skm-honors-board.is-skm-exporting .skm-honors-premium-hero {
  grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr) !important;
  padding: 34px !important;
}
.skm-honors-board.is-skm-exporting .skm-exam-podium {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: -22px 26px 0 !important;
}
.skm-honors-board.is-skm-exporting .skm-attendance-podium {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: -22px 26px 0 !important;
}
.skm-honors-board.is-skm-exporting .skm-honors-board-footer {
  grid-template-columns: 1fr auto 1fr !important;
}
.skm-honors-board.is-skm-exporting .skm-honors-board-footer nav {
  justify-content: flex-end !important;
}
.skm-honors-board.is-skm-exporting .skm-honors-table-wrap table {
  min-width: 0 !important;
}

.skm-exam-honor-card.is-skm-exporting,
.skm-attendance-honor-card.is-skm-exporting {
  width: 620px !important;
  max-width: none !important;
}
.skm-attendance-honor-card.is-skm-exporting {
  grid-template-columns: 170px minmax(0, 1fr) !important;
}
.skm-exam-honor-card.is-skm-exporting .skm-exam-honor-card__main {
  grid-template-columns: 155px minmax(0, 1fr) !important;
}

/* Mobile refinements. */
@media (max-width: 767px) {
  :root {
    --skm-content-pad: 12px;
  }

  .skm-shell {
    padding-inline: 0 !important;
  }

  .skm-section-head,
  .skm-finance-overview__head,
  .skm-exam-toolbar,
  .skm-transfer-card__head {
    flex-direction: column !important;
  }

  .skm-toolbar-actions,
  .skm-toolbar-actions .skm-btn,
  .skm-filter > .skm-btn,
  .skm-birthday-item__actions .skm-btn {
    width: 100% !important;
    max-width: none !important;
  }

  .skm-filter {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .skm-card-grid,
  .skm-student-grid,
  .skm-fee-grid,
  .skm-attendance-grid,
  .skm-exam-grid,
  .skm-certificate-list,
  .skm-grid-2,
  .skm-split,
  .skm-finance-kpis,
  .skm-metrics {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .skm-student-card__head {
    grid-template-columns: 72px minmax(0, 1fr) !important;
  }

  .skm-student-card h2,
  .skm-birthday-item__meta h3 {
    overflow-wrap: anywhere;
  }

  .skm-card-actions,
  .skm-student-bulk-actions,
  .skm-attendance-smartbar__actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .skm-card-actions .skm-btn,
  .skm-student-bulk-actions .skm-btn,
  .skm-attendance-smartbar__actions .skm-btn {
    width: 100% !important;
    white-space: normal !important;
  }

  .skm-finance-donut-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .skm-cashflow-chart {
    grid-template-columns: repeat(6, minmax(64px, 1fr)) !important;
    overflow-x: auto !important;
  }

  .skm-birthday-item {
    padding: 12px !important;
  }

  .skm-birthday-item__meta {
    grid-template-columns: 60px minmax(0, 1fr) !important;
  }

  .skm-birthday-poster--shoraido {
    max-width: 100% !important;
  }

  .skm-student-card-print {
    justify-content: flex-start !important;
    padding-inline: 10px !important;
  }

  .skm-card-download-actions {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .skm-team-page--premium,
  .skm-public-honors {
    width: min(100% - 16px, 1240px) !important;
    margin-top: 8px !important;
  }

  .skm-honors-premium-hero,
  .skm-team-premium-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 22px !important;
  }

  .skm-honors-premium-copy h1,
  .skm-team-premium-copy h1 {
    font-size: clamp(32px, 11vw, 46px) !important;
    line-height: 1.02 !important;
  }

  .skm-team-premium-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .skm-team-premium-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .skm-team-premium-card {
    width: 100%;
    max-width: 390px;
    margin-inline: auto;
  }

  .skm-exam-podium,
  .skm-attendance-podium {
    grid-template-columns: minmax(0, 1fr) !important;
    margin: 16px 10px !important;
  }

  .skm-honors-board-footer,
  .skm-team-premium-footer {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .skm-honors-board-footer nav {
    justify-content: flex-start !important;
  }

  .skm-honors-table-wrap table {
    min-width: 600px;
  }

  .skm-sticky-actions {
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 430px) {
  .skm-card-actions,
  .skm-student-bulk-actions,
  .skm-attendance-smartbar__actions,
  .skm-card-download-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .skm-segmented span {
    font-size: 11px !important;
  }

  .skm-team-premium-summary {
    gap: 9px !important;
  }
}

@media print {
  * {
    font-family: var(--skm-font) !important;
  }
}

/* Final precision rules for admin screens, certificates and long official names. */
.skm-admin,
.skm-admin *,
.skm-admin-panel,
.skm-admin-panel *,
.cert-wrapper,
.cert-wrapper * {
  font-family: var(--skm-font) !important;
}

.skm-id-card--shoraido .skm-id-card__modern-info h1 {
  align-self: center !important;
  max-height: 7.2mm;
  font-size: 3.3mm !important;
  line-height: 1 !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.skm-id-card--shoraido .skm-id-card__modern-info dd {
  font-size: 1.65mm !important;
  line-height: 1.05 !important;
}

.skm-id-card--shoraido .skm-id-card__modern-title strong {
  white-space: nowrap !important;
  overflow: visible !important;
}

/* Text-based icon labels avoid platform-dependent emoji/CJK font fallback. */
.skm-nav__icon,
.skm-team-role-icon {
  font-family: var(--skm-font) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .02em;
}

/* Remove decorative CJK glyphs so every visible character stays in Arial. */
.skm-id-card--shoraido::after,
.skm-birthday-poster--square::before,
.skm-birthday-poster--shoraido::before,
.skm-honors-premium-hero::before,
.skm-team-premium-hero::after {
  content: "" !important;
}

/* Tablet drawer header must remain visible despite legacy desktop media rules. */
@media (max-width: 1199px) {
  .skm-mobile-menu-head {
    display: flex !important;
  }
}

/* Mobile public directory uses compact horizontal cards instead of full-screen portraits. */
@media (max-width: 767px) {
  .skm-team-premium-card {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    align-items: stretch;
  }

  .skm-team-premium-card__photo {
    width: 112px !important;
    min-height: 156px;
    aspect-ratio: auto !important;
  }

  .skm-team-premium-card__body {
    min-width: 0;
    padding: 13px !important;
  }

  .skm-team-premium-card h3 {
    font-size: 18px !important;
  }

  .skm-student-card-print {
    min-height: 100dvh !important;
    place-content: start center !important;
    padding-top: max(24px, env(safe-area-inset-top)) !important;
  }
}

@media (max-width: 360px) {
  .skm-team-premium-card {
    grid-template-columns: 92px minmax(0, 1fr) !important;
  }

  .skm-team-premium-card__photo {
    width: 92px !important;
  }
}

/* Shoraido 2.7.2 — Correct Vietnamese wrapping on public artwork. */
.skm-honors-premium-copy h1,
.skm-honors-list-panel__head h2,
.skm-attendance-honor-card h2,
.skm-exam-honor-card h2,
.skm-team-premium-copy h1,
.skm-team-premium-card h3,
.skm-birthday-poster__identity h4 {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  text-wrap: balance;
}

.skm-honors-premium-copy h1 {
  max-width: 780px !important;
  letter-spacing: -0.025em !important;
}

.skm-attendance-honor-card__content,
.skm-exam-honor-card__identity,
.skm-team-premium-card__body {
  min-width: 0 !important;
}

.skm-attendance-honor-card h2,
.skm-exam-honor-card h2 {
  font-size: clamp(19px, 1.55vw, 25px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.018em !important;
  white-space: normal !important;
}

.skm-team-premium-card h3 {
  white-space: normal !important;
  letter-spacing: -0.012em !important;
}

/* v2.8.1: trạng thái kiểm tra duy trì chưa đến hạn. */
.skm-exam-card.is-not-due{
  background:#f8fafc!important;
  border-style:dashed!important;
  opacity:.78;
}
.skm-exam-card.is-not-due .skm-exam-card__select{
  color:#64748b!important;
}
.skm-exam-card.is-not-due input:disabled{
  cursor:not-allowed!important;
}
.skm-maintenance-milestones{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:6px!important;
}
.skm-maintenance-milestones span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  padding:4px 8px!important;
  border:1px solid #dbe3ee!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:700!important;
}
.skm-maintenance-milestones .is-pass{
  border-color:#bbf7d0!important;
  background:#f0fdf4!important;
  color:#15803d!important;
}

/* v2.8.2: chỉnh sửa và đồng bộ lịch sử cấp đai. */
.skm-belt-history-sync{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #d9e3ef;
  border-radius:12px;
  background:#f7faff;
}
.skm-belt-history-sync>div{display:grid;gap:3px;min-width:0}
.skm-belt-history-sync strong{color:#0a2342}
.skm-belt-history-sync small{color:#65758a;line-height:1.45}
.skm-profile-history-list--editable article{
  position:relative;
  grid-template-columns:minmax(72px,auto) minmax(0,1fr) auto;
  align-items:start;
}
.skm-belt-history-editor{min-width:64px}
.skm-belt-history-editor>summary{
  cursor:pointer;
  list-style:none;
  padding:7px 10px;
  border:1px solid #d9e3ef;
  border-radius:8px;
  color:#0a2342;
  font-weight:700;
  text-align:center;
  background:#fff;
}
.skm-belt-history-editor>summary::-webkit-details-marker{display:none}
.skm-belt-history-editor[open]{grid-column:1/-1;width:100%;margin-top:10px}
.skm-belt-history-editor[open]>summary{width:max-content;margin-left:auto}
.skm-belt-history-editor form{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:10px;
  padding:14px;
  border:1px solid #d9e3ef;
  border-radius:12px;
  background:#f8fafc;
}
.skm-belt-history-editor label{display:grid;gap:6px;color:#334155;font-weight:700}
.skm-belt-history-editor input,
.skm-belt-history-editor select{width:100%}
@media(max-width:760px){
  .skm-belt-history-sync{align-items:stretch;flex-direction:column}
  .skm-profile-history-list--editable article{grid-template-columns:70px minmax(0,1fr)}
  .skm-belt-history-editor{grid-column:1/-1;width:100%}
  .skm-belt-history-editor>summary{width:100%}
  .skm-belt-history-editor form{grid-template-columns:1fr}
}
