/* Portal Pendidikan v168 — readable typography, one pixel larger */

:root {
  --readable-font:
    "Manrope", "Inter", ui-sans-serif, system-ui, -apple-system,
    BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html {
  font-size: 17px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
button,
input,
select,
textarea {
  font-family: var(--readable-font) !important;
  font-kerning: normal;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.24;
  letter-spacing: -0.032em;
  text-wrap: balance;
}

p {
  font-size: 16px !important;
  line-height: 1.72 !important;
  letter-spacing: 0;
  text-wrap: pretty;
}

small {
  font-size: 13px !important;
  line-height: 1.5;
  letter-spacing: 0;
}

button,
[role="button"],
input,
select,
textarea {
  font-size: 15px !important;
  line-height: 1.4;
  letter-spacing: 0;
}

label {
  font-size: 14px !important;
  line-height: 1.5;
  letter-spacing: 0;
}

table th {
  font-size: 13px !important;
  line-height: 1.45;
  letter-spacing: 0.025em;
}

table td {
  font-size: 15px !important;
  line-height: 1.55;
  letter-spacing: 0;
}

nav a,
nav button,
.nav-button,
.unified-group button,
.unified-bottom button {
  font-size: 14px !important;
  line-height: 1.35;
  letter-spacing: 0;
}

.eyebrow,
[class*="eyebrow"],
[class*="kicker"],
.unified-group em {
  font-size: 13px !important;
  line-height: 1.4;
}

.badge,
[class*="-badge"],
[class*="-status"] {
  font-size: 12px !important;
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.muted,
[class*="-subtitle"],
[class*="-description"],
[class*="-caption"],
[class*="-helper"],
[class*="-hint"],
[class*="-note"] {
  font-size: 14px !important;
  line-height: 1.6;
  letter-spacing: 0;
}

.panel-head p,
.page-head p,
.record-card p,
.modal-card p,
.login-card p {
  font-size: 16px !important;
  line-height: 1.68;
}

.notice,
.toast,
.form-error,
.empty {
  font-size: 15px !important;
  line-height: 1.65;
}

.actions button,
.table-actions button,
.modal-close,
.close {
  font-size: 14px !important;
}

/* Landing: main reading hierarchy */
.landing-readable-v168 .nav-menu a {
  font-size: 15px !important;
}

.landing-readable-v168 .nav-cta,
.landing-readable-v168 .button {
  font-size: 15px !important;
}

.landing-readable-v168 .hero-copy > p,
.landing-readable-v168 .hero > p {
  font-size: 18px !important;
  line-height: 1.75 !important;
}

.landing-readable-v168 .section-heading > p,
.landing-readable-v168 .section-head p,
.landing-readable-v168 .partner-copy p,
.landing-readable-v168 .partners-pane > p,
.landing-readable-v168 .contact-pane > p,
.landing-readable-v168 .contact-card p {
  font-size: 16px !important;
  line-height: 1.72 !important;
}

.landing-readable-v168 .feature-card p,
.landing-readable-v168 .portal-card-copy p,
.landing-readable-v168 .portal-compact-copy p,
.landing-readable-v168 .network-copy p {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.landing-readable-v168 .feature-card small,
.landing-readable-v168 .portal-card-copy > small,
.landing-readable-v168 .portal-compact-copy small,
.landing-readable-v168 .modal-portal-copy small,
.landing-readable-v168 .partner-logos figcaption {
  font-size: 12px !important;
  line-height: 1.5;
}

.landing-readable-v168 .portal-status,
.landing-readable-v168 .portal-compact-status,
.landing-readable-v168 .network-dot {
  font-size: 11px !important;
}

.landing-readable-v168 .portal-enter,
.landing-readable-v168 .network-button {
  font-size: 13px !important;
}

.landing-readable-v168 .portal-modal-heading p {
  font-size: 15px !important;
}

.landing-readable-v168 .modal-portal-copy em,
.landing-readable-v168 .portal-modal-footer > span,
.landing-readable-v168 .portal-modal-footer > a {
  font-size: 13px !important;
  line-height: 1.5;
}

.landing-readable-v168 .contact-buttons small,
.landing-readable-v168 .contact-action small {
  font-size: 12px !important;
}

.landing-readable-v168 .contact-buttons strong,
.landing-readable-v168 .contact-action b {
  font-size: 14px !important;
}

.landing-readable-v168 .site-footer p,
.landing-readable-v168 .footer-links a {
  font-size: 14px !important;
  line-height: 1.65;
}

/* Landing illustration: readable without overpowering the real content */
.landing-readable-v168 .window-brand,
.landing-readable-v168 .window-actions b,
.landing-readable-v168 .dash-heading small,
.landing-readable-v168 .chart-title small,
.landing-readable-v168 .ring-card small,
.landing-readable-v168 .metric-row small,
.landing-readable-v168 .ring-card > span,
.landing-readable-v168 .mini-panel small,
.landing-readable-v168 .insight-note small,
.landing-readable-v168 .mini-ui-top b,
.landing-readable-v168 .mini-ui-row > span small {
  font-size: 11px !important;
}

.landing-readable-v168 .dash-rail span,
.landing-readable-v168 .metric-row i,
.landing-readable-v168 .metric-row strong,
.landing-readable-v168 .chart-title strong,
.landing-readable-v168 .chart-title em,
.landing-readable-v168 .mini-panel strong,
.landing-readable-v168 .mini-panel em,
.landing-readable-v168 .trust-row span,
.landing-readable-v168 .trust-row i,
.landing-readable-v168 .insight-top span,
.landing-readable-v168 .insight-top b,
.landing-readable-v168 .insight-stat span,
.landing-readable-v168 .insight-note > span,
.landing-readable-v168 .insight-note b,
.landing-readable-v168 .avatar-stack i,
.landing-readable-v168 .avatar-stack span,
.landing-readable-v168 .growth-line span,
.landing-readable-v168 .mini-ui-top,
.landing-readable-v168 .mini-ui-row > i,
.landing-readable-v168 .mini-ui-row > span b,
.landing-readable-v168 .mini-ui-row > em {
  font-size: 12px !important;
  line-height: 1.4;
}

/* Download section */
.landing-readable-v168 .download-copy > p {
  font-size: 16px !important;
  line-height: 1.72 !important;
}

.landing-readable-v168 .download-platform small,
.landing-readable-v168 .download-main-button small,
.landing-readable-v168 .download-choice small,
.landing-readable-v168 .download-modal-status small {
  font-size: 12px !important;
}

.landing-readable-v168 .download-platform strong,
.landing-readable-v168 .download-main-button strong,
.landing-readable-v168 .download-modal-status strong {
  font-size: 14px !important;
}

.landing-readable-v168 .download-note,
.landing-readable-v168 .download-choice em {
  font-size: 13px !important;
  line-height: 1.5;
}

.landing-readable-v168 .device-float {
  font-size: 12px !important;
}

.landing-readable-v168 .download-modal-heading p {
  font-size: 15px !important;
}

/* Portal dashboards */
.topbar small,
.owner-profile small,
.summary-card small,
.panel-head p,
.record-meta small,
.record-meta b,
.data-table td small,
.document-name small,
.admin small,
header small {
  font-size: 13px !important;
  line-height: 1.5;
}

.record-card h3,
.panel-head h3,
.toolbar h3 {
  font-size: 18px !important;
  line-height: 1.35;
}

.record-meta b,
.owner-profile b {
  font-size: 14px !important;
}

.text-xs {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.text-sm {
  font-size: 15px !important;
  line-height: 1.55 !important;
}

@media (max-width: 760px) {
  body {
    font-size: 16px;
  }

  p {
    font-size: 15px !important;
    line-height: 1.68 !important;
  }

  nav a,
  nav button,
  .nav-button,
  .unified-bottom button {
    font-size: 12px !important;
    line-height: 1.25;
  }

  .landing-readable-v168 .hero-copy > p,
  .landing-readable-v168 .hero > p {
    font-size: 16px !important;
    line-height: 1.68 !important;
  }

  .landing-readable-v168 .section-heading > p,
  .landing-readable-v168 .section-head p,
  .landing-readable-v168 .feature-card p,
  .landing-readable-v168 .portal-card-copy p,
  .landing-readable-v168 .portal-compact-copy p,
  .landing-readable-v168 .network-copy p,
  .landing-readable-v168 .download-copy > p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  table th {
    font-size: 12px !important;
  }

  table td {
    font-size: 14px !important;
  }
}
