/**
 * DWU PDMIS type system — distinct faces for headings, body, labels, and dates.
 */

:root {
    --font-heading: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
    --font-body: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
    --font-label: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
    --font-date: "Source Serif 4", "Source Sans 3", Georgia, serif;
}

html,
body,
body.app-shell,
body.login-page,
body.partner-view-body {
    font-family: var(--font-body);
    font-optical-sizing: auto;
    -webkit-font-smoothing: antialiased;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.app-page-heading h1,
.app-nav-page-title,
.director-panel-header h1,
.director-panel-header h2,
.director-entry-form-title,
.director-audit-lock-title,
.registry-detail-partner,
.registry-detail-title h2,
.review-panel-header h2,
.login-hero-sub,
.login-card h2,
.partner-view-header h1,
.partner-view-card h2,
.site-footer h3,
.registry-print-university,
.registry-print-doc-title {
    font-family: var(--font-heading);
    font-optical-sizing: auto;
    font-weight: 600;
    letter-spacing: -0.018em;
    line-height: 1.22;
}

.app-nav-page-title {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

/* Labels, section titles, table headers */
label,
.form-label,
.director-entry-section,
.director-entry-renew-meta dt,
.director-audit-table th,
.registry-detail-table th,
.registry-listing-table thead th,
.registry-print-label,
.partner-view-kicker,
.login-hero-kicker,
.partnership-stepper-label,
.app-subnav .nav-link {
    font-family: var(--font-label);
    font-weight: 700;
    letter-spacing: 0.06em;
}

.director-entry-section,
.registry-print-label,
.partner-view-kicker,
.login-hero-kicker,
.partnership-stepper-label,
.director-audit-table th,
.registry-listing-table thead th,
.director-entry-renew-meta dt {
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.1em;
    font-weight: 700;
}

.app-subnav .nav-link {
    letter-spacing: 0.02em;
    text-transform: none;
    font-weight: 600;
    font-size: 0.92rem;
}

/* Dates and times recede: heading/detail faces, smaller than body copy */
time,
.is-datetime,
.director-audit-when,
.lifespan-hover-dates,
.director-entry-renew-meta dd {
    font-family: var(--font-date);
    font-size: 12px;
    font-variant-numeric: tabular-nums lining-nums;
    letter-spacing: 0.01em;
    font-weight: 400;
    line-height: 1.4;
}

input[type="date"] {
    font-family: var(--font-date);
    font-size: 15px;
    font-variant-numeric: tabular-nums lining-nums;
}

/* Supporting details */
.director-audit-details,
.director-audit-title,
.director-audit-actor,
.director-entry-hint,
.registry-detail-subtitle,
.registry-detail-renewal,
.app-page-heading p,
.app-brand-division,
.text-secondary,
.text-muted,
.director-panel-header p,
.review-panel-header p {
    font-family: var(--font-body);
    font-weight: 400;
    letter-spacing: 0.01em;
}

.director-audit-title,
.director-entry-hint,
.registry-detail-subtitle,
.app-page-heading p,
.director-panel-header p,
.review-panel-header p {
    font-size: 0.9rem;
    line-height: 1.45;
}

.director-entry-hint {
    font-style: italic;
    font-weight: 400;
}

/* Body copy and controls stay in the workhorse sans */
p, td, dd, li, .btn, .form-control, .form-select, .director-entry-input,
textarea, .nav-link, .app-brand-text, .app-brand-division {
    font-family: var(--font-body);
}

.btn,
.director-entry-submit,
.director-entry-secondary,
.director-entry-secondary-btn {
    font-family: var(--font-label);
    font-weight: 700;
    letter-spacing: 0.03em;
}

.app-brand-slogan {
    font-family: "Dancing Script", cursive;
}
