:root {
  --erph-ink: #102b35;
  --erph-muted: #6c7e82;
  --erph-green: #0b6b61;
  --erph-green-dark: #08453f;
  --erph-mint: #dff4ed;
  --erph-yellow: #e7b843;
  --erph-paper: #f4f7f4;
  --erph-line: #dce6e2;
  --erph-white: #fff;
}
.erph-body,
.erph-login-page,
.erph-print-page {
  margin: 0;
  color: var(--erph-ink);
  background: var(--erph-paper);
  font-family: Poppins, sans-serif;
}
.erph-body {
  overflow-x: hidden;
}
.erph-body *,
.erph-body *::before,
.erph-body *::after { box-sizing: border-box; }
.erph-topbar {
  position: sticky;
  z-index: 1000;
  top: 0;
  border-bottom: 1px solid #d7e3df;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(16px);
}
.erph-topbar-inner {
  width: min(100% - 34px, 1240px);
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 34px;
  margin: auto;
  position: relative;
  overflow: visible;
}
.erph-brand {
  display: flex;
  align-items: center;
  min-width: 0;
  flex: 0 1 auto;
  gap: 11px;
  color: inherit;
  text-decoration: none;
}
.erph-brand img { width: 44px; height: 44px; object-fit: contain; }
.erph-brand > span { display: grid; line-height: 1.05; }
.erph-brand small { color: var(--erph-green); font-size: .56rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.erph-brand strong { margin-top: 4px; font-size: 1.2rem; letter-spacing: -.04em; }
.erph-nav {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-left: auto;
}
.erph-nav a {
  padding: 10px 13px;
  border-radius: 9px;
  color: #52676c;
  font-size: .75rem;
  font-weight: 700;
  text-decoration: none;
}
.erph-nav a:hover,
.erph-nav a.active { color: var(--erph-green); background: var(--erph-mint); }
.erph-user {
  position: relative;
  flex: 0 0 auto;
  padding-left: 18px;
  border-left: 1px solid var(--erph-line);
}
.erph-user > summary {
  list-style: none;
}
.erph-user > summary::-webkit-details-marker {
  display: none;
}
.erph-user-trigger {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 4px;
  border: 0;
  border-radius: 11px;
  color: var(--erph-ink);
  background: transparent;
  cursor: pointer;
  font-family: Poppins, sans-serif;
  text-align: left;
}
.erph-user-trigger:hover,
.erph-user-trigger.active,
.erph-user[open] .erph-user-trigger {
  background: #edf6f2;
}
.erph-avatar {
  width: 37px;
  height: 37px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #fff;
  background: var(--erph-green);
  font-size: .8rem;
  font-weight: 800;
}
.erph-avatar img,
.erph-menu-identity > span img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.erph-user-name { display: grid; max-width: 145px; }
.erph-user small { color: #91a09f; font-size: .54rem; font-weight: 800; text-transform: uppercase; }
.erph-user strong { overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.erph-user-trigger > svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: #78908d;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .2s ease;
}
.erph-user-trigger.active > svg,
.erph-user[open] .erph-user-trigger > svg {
  transform: rotate(180deg);
}
.erph-user-links {
  position: absolute;
  z-index: 1100;
  top: calc(100% + 12px);
  right: 0;
  min-width: 235px;
  display: none;
  padding: 8px;
  border: 1px solid var(--erph-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 15px 35px rgba(20,54,52,.12);
}
.erph-user-links.open,
.erph-user[open] .erph-user-links { display: grid; animation: erphAccountIn .18s ease both; }
.erph-menu-identity {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 7px 12px;
  margin-bottom: 5px;
  border-bottom: 1px solid var(--erph-line);
}
.erph-menu-identity > span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  border-radius: 10px;
  color: #fff;
  background: var(--erph-green);
  font-size: .78rem;
  font-weight: 800;
}
.erph-menu-identity > div {
  min-width: 0;
  display: grid;
  gap: 1px;
}
.erph-menu-identity strong {
  color: #2c474b;
  font-size: .75rem;
}
.erph-menu-identity small {
  overflow: hidden;
  color: #849496;
  font-size: .6rem;
  font-weight: 500;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}
.erph-user-links a { padding: 10px 11px; border-radius: 8px; color: #43575c; font-size: .72rem; font-weight: 650; text-decoration: none; }
.erph-user-links a:hover { background: var(--erph-mint); }
@keyframes erphAccountIn {
  from { opacity: 0; transform: translateY(-5px) scale(.98); }
  to { opacity: 1; transform: none; }
}
.erph-menu-button { display: none; }
.erph-main { width: min(100% - 34px, 1240px); min-height: calc(100vh - 150px); margin: auto; padding: 36px 0 60px; }
.erph-footer {
  width: min(100% - 34px, 1240px);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0 28px;
  margin: auto;
  border-top: 1px solid var(--erph-line);
  color: #81908f;
  font-size: .62rem;
}
.erph-flash { padding: 12px 15px; margin-bottom: 14px; border: 1px solid; border-radius: 11px; font-size: .75rem; }
.erph-flash.success { color: #0a6a4f; border-color: #aee1cf; background: #ebfaf4; }
.erph-flash.error { color: #a52631; border-color: #f0bcc1; background: #fff0f1; }
.erph-flash.warning { color: #815d00; border-color: #efd38b; background: #fff9e9; }
.erph-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.erph-page-heading > div:first-child > span { color: var(--erph-green); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.erph-page-heading h1 { margin: 7px 0 4px; font-size: clamp(2rem,4vw,3rem); line-height: 1.05; letter-spacing: -.055em; }
.erph-page-heading p { margin: 0; color: var(--erph-muted); font-size: .82rem; }
.compact-heading h1 { font-size: 2.25rem; }
.erph-primary-button,
.erph-secondary-button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 0 17px;
  border-radius: 11px;
  color: #fff;
  background: var(--erph-green);
  box-shadow: 0 10px 22px rgba(11,107,97,.18);
  font-size: .75rem;
  font-weight: 750;
  text-decoration: none;
}
.erph-secondary-button { color: #34515a; border: 1px solid #cbdad5; background: #fff; box-shadow: none; }
.erph-card { border: 1px solid var(--erph-line); border-radius: 18px; padding: 22px; background: #fff; box-shadow: 0 10px 30px rgba(21,53,49,.045); }
.erph-dashboard-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 17px; }
.erph-stat-card { position: relative; min-height: 145px; display: flex; flex-direction: column; justify-content: space-between; padding: 19px; overflow: hidden; border: 1px solid var(--erph-line); border-radius: 16px; background: #fff; }
.erph-stat-card::after { content:""; position:absolute; width:75px; height:75px; right:-30px; top:-30px; border:17px solid rgba(11,107,97,.07); border-radius:50%; }
.erph-stat-card span { color: #748588; font-size: .66rem; font-weight: 750; text-transform: uppercase; }
.erph-stat-card strong { font-size: 2.2rem; letter-spacing: -.06em; }
.erph-stat-card small { color: #899799; font-size: .64rem; }
.stat-draft { border-top: 3px solid var(--erph-yellow); }
.stat-complete { border-top: 3px solid #1a9a73; }
.stat-month { border-top: 3px solid #2e84a5; }
.stat-total { border-top: 3px solid var(--erph-green); }
.erph-dashboard-content { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(270px,.6fr); gap: 17px; margin-bottom: 17px; }
.erph-card-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid #e6ece9; }
.erph-card-heading > div { display:grid; gap:2px; }
.erph-card-heading span { color:var(--erph-green); font-size:.58rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.erph-card-heading h2 { margin:0; font-size:1.12rem; letter-spacing:-.035em; }
.erph-card-heading a { color:var(--erph-green); font-size:.68rem; font-weight:700; text-decoration:none; }
.week-chip { padding:7px 10px; border-radius:999px; color:#765600; background:#fff6d9; font-size:.62rem; }
.today-planner { min-height:330px; }
.today-list { display:grid; }
.today-list a { display:grid; grid-template-columns:55px minmax(0,1fr) auto; align-items:center; gap:14px; padding:13px 0; border-bottom:1px solid #edf1ef; color:inherit; text-decoration:none; }
.today-list a:last-child { border-bottom:0; }
.today-list time { color:var(--erph-green); font-size:.72rem; font-weight:800; }
.today-list span { display:grid; gap:2px; }
.today-list strong { font-size:.78rem; }
.today-list small { color:#7d8c8e; font-size:.66rem; }
.today-list i { color:var(--erph-green); font-style:normal; }
.erph-empty { min-height:230px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#7a898a; text-align:center; }
.erph-empty > span { width:42px; height:42px; display:grid; place-items:center; margin-bottom:10px; border-radius:12px; color:var(--erph-green); background:var(--erph-mint); font-size:1.3rem; }
.erph-empty strong { color:#344e51; font-size:.85rem; }
.erph-empty p { margin:5px 0 12px; font-size:.7rem; }
.erph-empty a { color:var(--erph-green); font-size:.7rem; font-weight:750; }
.erph-empty.compact { min-height:150px; }
.progress-card { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.progress-ring { --progress:0; width:128px; height:128px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--erph-green) calc(var(--progress) * 3.6),#e7eeeb 0); }
.progress-ring::before { content:""; position:absolute; width:99px; height:99px; border-radius:50%; background:#fff; }
.progress-ring > div { position:relative; z-index:1; display:grid; }
.progress-ring strong { font-size:1.55rem; }
.progress-ring span { color:#809091; font-size:.6rem; }
.progress-card h2 { margin:17px 0 5px; font-size:1rem; }
.progress-card p { margin:0; color:#768688; font-size:.68rem; line-height:1.55; }
.progress-card > a { margin-top:13px; color:var(--erph-green); font-size:.68rem; font-weight:700; text-decoration:none; }
.erph-record-list { display:grid; }
.erph-record-list article { display:grid; grid-template-columns:48px minmax(0,1fr) auto 32px; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid #edf1ef; }
.erph-record-list article:last-child { border-bottom:0; }
.record-date { width:44px; height:48px; display:grid; place-content:center; border-radius:11px; color:var(--erph-green); background:var(--erph-mint); text-align:center; }
.record-date strong { line-height:1; }
.record-date span { margin-top:3px; font-size:.48rem; font-weight:800; }
.record-main { display:grid; gap:2px; }
.record-main > span { color:var(--erph-green); font-size:.58rem; font-weight:700; text-transform:uppercase; }
.record-main h3 { margin:0; font-size:.78rem; }
.record-main small { color:#849294; font-size:.6rem; }
.erph-record-list article > a { width:30px; height:30px; display:grid; place-items:center; border:1px solid #d2dfda; border-radius:9px; color:var(--erph-green); text-decoration:none; }
.erph-status { display:inline-flex; width:fit-content; padding:5px 8px; border-radius:999px; font-size:.58rem; font-style:normal; font-weight:750; }
.erph-status.complete { color:#087151; background:#dff5eb; }
.erph-status.draft { color:#805b00; background:#fff3cf; }
.erph-review-status { display:inline-flex; width:fit-content; padding:6px 9px; border:1px solid transparent; border-radius:999px; font-size:.66rem; font-weight:750; white-space:nowrap; }
.erph-review-status.pending { color:#73530d; border-color:#e2ce99; background:#fff9e9; }
.erph-review-status.reviewed { color:#087151; border-color:#a9d8cb; background:#e8f7f1; }
.erph-review-status.revision { color:#a42c36; border-color:#e7b2b7; background:#fff0f1; }
.record-browser { padding:0; overflow:hidden; }
.erph-filterbar { display:grid; grid-template-columns:minmax(250px,1fr) 180px 160px auto auto; align-items:end; gap:10px; padding:17px; border-bottom:1px solid var(--erph-line); background:#f8faf9; }
.erph-filterbar label { display:grid; gap:6px; color:#5d7275; font-size:.62rem; font-weight:700; }
.erph-filterbar input,.erph-filterbar select { min-height:43px; padding:0 12px; border:1px solid #cddbd6; border-radius:10px; color:var(--erph-ink); background:#fff; font:500 .72rem Poppins,sans-serif; }
.erph-filterbar button { min-height:43px; padding:0 18px; border:0; border-radius:10px; color:#fff; background:var(--erph-green); font:700 .7rem Poppins,sans-serif; }
.erph-filterbar > a { min-height:43px; display:grid; place-items:center; color:#64777a; font-size:.66rem; }
.result-count { padding:12px 18px; color:#7b8a8c; font-size:.65rem; }
.record-table-wrap { overflow-x:auto; }
.erph-table { width:100%; border-collapse:collapse; }
.erph-table th { padding:12px 16px; color:#748588; background:#f2f6f4; font-size:.58rem; letter-spacing:.06em; text-align:left; text-transform:uppercase; }
.erph-table td { padding:14px 16px; border-bottom:1px solid #edf1ef; color:#394f53; font-size:.7rem; vertical-align:middle; }
.erph-table td strong,.erph-table td small { display:block; }
.erph-table td small { margin-top:2px; color:#8a989a; font-size:.58rem; }
.record-actions { display:flex; align-items:center; gap:5px; }
.record-actions a,.record-actions button { min-height:31px; display:inline-flex; align-items:center; padding:0 9px; border:1px solid #cfddd8; border-radius:8px; color:#3e575b; background:#fff; cursor:pointer; font:650 .58rem Poppins,sans-serif; text-decoration:none; }
.record-actions .edit { color:#815f00; border-color:#ead696; background:#fffaf0; }
.record-actions .print { color:#0b6b61; border-color:#a9d8cb; background:#eefaf6; }
.record-actions button { color:#b32c37; border-color:#edb9bd; background:#fff4f5; }
.record-actions form { margin:0; }
.rph-editor-form { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:17px; }
.rph-editor-main { display:grid; gap:15px; }
.rph-form-section { padding:20px; }
.rph-section-title { display:flex; align-items:center; gap:12px; padding-bottom:14px; margin-bottom:16px; border-bottom:1px solid #e5ece9; }
.rph-section-title > span { width:36px; height:36px; display:grid; place-items:center; flex:0 0 36px; border-radius:10px; color:#fff; background:var(--erph-green-dark); font-size:.66rem; font-weight:800; }
.rph-section-title h2 { margin:0; font-size:1rem; }
.rph-section-title p { margin:2px 0 0; color:#7e8d8e; font-size:.64rem; }
.rph-grid { display:grid; gap:13px; }
.rph-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rph-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.rph-grid .span-2 { grid-column:span 2; }
.rph-grid label { display:grid; gap:6px; color:#40585c; font-size:.67rem; font-weight:700; }
.rph-grid input,.rph-grid textarea,.rph-grid select { width:100%; min-height:44px; padding:10px 12px; border:1px solid #cbdad5; border-radius:10px; outline:0; color:#243f43; background:#fff; font:500 .72rem/1.55 Poppins,sans-serif; resize:vertical; }
.rph-grid input:focus,.rph-grid textarea:focus { border-color:var(--erph-green); box-shadow:0 0 0 3px rgba(11,107,97,.1); }
.attendance-grid { grid-template-columns:150px 150px minmax(0,1fr); }
.reflection-field { grid-column:auto; }
.rph-editor-sidebar { position:sticky; top:94px; }
.editor-summary { border-top:4px solid var(--erph-green); }
.editor-kicker { color:var(--erph-green); font-size:.6rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.editor-summary h2 { margin:6px 0; font-size:1.15rem; }
.editor-summary > p { margin:0; color:#768789; font-size:.66rem; line-height:1.55; }
.editor-checklist { display:grid; gap:8px; padding:16px 0; margin:16px 0; border-top:1px solid #e6ece9; border-bottom:1px solid #e6ece9; }
.editor-checklist span { display:flex; align-items:center; gap:8px; color:#536a6e; font-size:.65rem; }
.editor-checklist i { width:8px; height:8px; border-radius:50%; background:#30a77e; }
.editor-summary button { width:100%; min-height:43px; margin-top:8px; border:0; border-radius:10px; cursor:pointer; font:700 .68rem Poppins,sans-serif; }
.save-draft { color:#385256; background:#eef3f1; }
.save-complete { display:flex; align-items:center; justify-content:space-between; padding:0 14px; color:#fff; background:var(--erph-green); }
.editor-summary > a { display:block; margin-top:13px; color:#697c7f; font-size:.63rem; text-align:center; }
.editor-summary > small { display:block; margin-top:15px; color:#9aa6a6; font-size:.56rem; text-align:center; }
.view-actions { display:flex; gap:8px; }
.view-actions a { min-height:42px; display:inline-flex; align-items:center; padding:0 14px; border:1px solid #cbdad5; border-radius:10px; color:#375156; background:#fff; font-size:.68rem; font-weight:700; text-decoration:none; }
.view-actions .print-action { color:#fff; border-color:var(--erph-green); background:var(--erph-green); }
.rph-document { padding:0; overflow:hidden; }
.rph-document > header { display:flex; align-items:center; justify-content:space-between; padding:22px 24px; color:#fff; background:var(--erph-green-dark); }
.rph-document > header span:first-child { color:#83d5c2; font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.rph-document > header h2 { margin:5px 0 0; font-size:1.4rem; }
.document-facts { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--erph-line); }
.document-facts > div { display:grid; gap:5px; padding:17px 20px; border-right:1px solid var(--erph-line); }
.document-facts > div:last-child { border-right:0; }
.document-facts span,.document-support span,.document-reflection span { color:#7e8e90; font-size:.58rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.document-facts strong { font-size:.75rem; }
.document-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.document-sections section { padding:20px 24px; border-right:1px solid var(--erph-line); border-bottom:1px solid var(--erph-line); }
.document-sections section:nth-child(even) { border-right:0; }
.document-sections h3 { margin:0 0 8px; color:var(--erph-green); font-size:.66rem; text-transform:uppercase; }
.document-sections p,.document-support p,.document-reflection p { margin:0; color:#465d61; font-size:.72rem; line-height:1.7; }
.document-support { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--erph-line); }
.document-support > div { padding:18px; border-right:1px solid var(--erph-line); }
.document-support > div:last-child { border-right:0; }
.document-support p { margin-top:7px; font-size:.66rem; }
.document-reflection { display:grid; grid-template-columns:180px 1fr; }
.document-reflection > div { padding:20px 24px; border-right:1px solid var(--erph-line); }
.document-reflection > div:last-child { border-right:0; }
.document-reflection strong,.document-reflection p { display:block; margin-top:7px; }
.document-review { display:grid; grid-template-columns:220px 1fr; border-top:1px solid var(--erph-line); background:#f8faf9; }
.document-review > div { padding:18px 24px; border-right:1px solid var(--erph-line); }
.document-review > div:last-child { border-right:0; }
.document-review span { display:block; color:#7e8e90; font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.document-review strong,.document-review p { display:block; margin:7px 0 0; color:#40575b; font-size:.8rem; line-height:1.65; }
.document-review.reviewed { background:#eff9f5; }
.document-review.revision { background:#fff5f5; }

/* Admin e-RPH review workflow */
.erph-review-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.erph-review-summary article { min-height:115px; display:grid; align-content:center; gap:7px; border-left:4px solid #d6a72f; }
.erph-review-summary article.reviewed { border-left-color:#16846a; }
.erph-review-summary article.revision { border-left-color:#c84b55; }
.erph-review-summary span { color:#6e7e8d; font-size:.72rem; font-weight:700; }
.erph-review-summary strong { color:#17324d; font-size:1.8rem; }
.erph-review-browser { padding:0 !important; overflow:hidden; }
.erph-review-filters { display:grid; grid-template-columns:minmax(160px,1.35fr) repeat(3,minmax(120px,1fr)) auto; align-items:end; gap:14px; padding:22px; border-bottom:1px solid #dfe7ee; background:linear-gradient(180deg,#fbfcfe 0%,#f5f8fb 100%); }
.erph-review-filters label { display:grid; min-width:0; gap:7px; color:#53687b; font-size:.68rem; font-weight:700; }
.erph-review-filters label > span { padding-left:2px; }
.erph-review-filters input,.erph-review-filters select { width:100%; min-width:0; min-height:46px; padding:0 13px; border:1px solid #c8d5e1; border-radius:11px; outline:0; color:#20384d; background:#fff; box-shadow:0 1px 2px rgba(25,52,76,.03); font:500 .73rem Poppins,sans-serif; transition:border-color .18s ease,box-shadow .18s ease; }
.erph-review-filters input:focus,.erph-review-filters select:focus { border-color:#2c73e8; box-shadow:0 0 0 3px rgba(44,115,232,.12); }
.erph-review-filter-actions { display:flex; align-items:center; gap:8px; }
.erph-review-filter-actions .btn,.erph-review-filter-actions > a { min-height:46px; display:inline-flex; align-items:center; justify-content:center; border-radius:11px; font-size:.72rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.erph-review-filter-actions .btn { min-width:78px; padding:0 18px; }
.erph-review-filter-actions > a { min-width:68px; padding:0 14px; border:1px solid #c8d5e1; color:#526a7e; background:#fff; }
.erph-review-filter-actions > a:hover { border-color:#91a8bb; color:#1d425f; background:#f8fafc; }
.erph-review-browser td strong,.erph-review-browser td small { display:block; }
.erph-review-browser td small { margin-top:4px; color:#84919d; font-size:.65rem; }
.erph-review-detail-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.erph-review-detail-heading h2 { margin:4px 0; color:#17324d; }
.erph-review-detail-heading p { margin:0; color:#6d7f8f; }
.erph-review-detail-heading > div:last-child { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.erph-review-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:start; gap:16px; margin-top:16px; }
.admin-rph-document .document-sections section { min-height:120px; }
.erph-review-decision { position:sticky; top:18px; }
.erph-review-decision > span { color:#17806f; font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.erph-review-decision h2 { margin:5px 0 14px; color:#18324b; }
.erph-review-decision form,.erph-review-decision label { display:grid; gap:9px; }
.erph-review-decision label { color:#657789; font-size:.72rem; font-weight:700; }
.erph-review-decision textarea { width:100%; padding:11px; resize:vertical; border:1px solid #cbd6df; border-radius:7px; font:500 .74rem/1.65 Poppins,sans-serif; }
.erph-review-decision .btn { width:100%; justify-content:center; margin-top:4px; }
.erph-review-approve { background:#11735f !important; }
.review-history { padding:11px; border:1px solid #dce4ea; border-radius:7px; color:#607384; background:#f7f9fb; font-size:.7rem; line-height:1.6; }
.profile-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:17px; }
.profile-identity { display:flex; align-items:center; gap:13px; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--erph-line); }
.profile-identity > span { width:52px; height:52px; display:grid; place-items:center; border-radius:14px; color:#fff; background:var(--erph-green); font-weight:800; }
.teacher-profile-avatar {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  flex: 0 0 76px;
  overflow: hidden;
  border: 4px solid #fff;
  border-radius: 21px;
  color: #fff;
  background: var(--erph-green);
  box-shadow: 0 8px 22px rgba(11,107,97,.16);
  font-size: 1.4rem;
  font-weight: 800;
}
.teacher-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.teacher-avatar-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px;
  margin-bottom: 17px;
  border: 1px solid var(--erph-line);
  border-radius: 12px;
  background: #f7faf8;
}
.teacher-avatar-controls > div {
  flex: 1;
}
.teacher-avatar-controls strong {
  font-size: .78rem;
}
.teacher-avatar-controls p {
  margin: 2px 0 0;
  color: #7c8d8e;
  font-size: .66rem;
}
.teacher-avatar-controls > label:not(.teacher-remove-avatar) {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border-radius: 9px;
  color: #fff;
  background: var(--erph-green);
  cursor: pointer;
  font-size: .7rem;
  font-weight: 700;
  white-space: nowrap;
}
.teacher-avatar-controls > label:not(.teacher-remove-avatar) input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.teacher-remove-avatar {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #b13540;
  font-size: .68rem;
  font-weight: 650;
  white-space: nowrap;
}
.teacher-remove-avatar input {
  width: 15px;
  min-height: 15px;
  height: 15px;
}
.profile-identity h2 { margin:0; font-size:1.1rem; }
.profile-identity p { margin:2px 0 0; color:#859294; font-size:.65rem; }
.password-card .rph-section-title > span { background:#d49a1d; }
.password-required-note { padding:11px; margin-bottom:13px; border-radius:9px; color:#745300; background:#fff4d4; font-size:.64rem; }
.password-inline { display:flex; }
.password-inline input { border-radius:10px 0 0 10px; }
.password-inline button { min-width:62px; border:0; border-radius:0 10px 10px 0; color:#fff; background:var(--erph-green); font:700 .62rem Poppins,sans-serif; }
.profile-submit { grid-column:1/-1; display:flex; justify-content:flex-end; }
.profile-submit button { min-height:45px; display:flex; align-items:center; gap:24px; padding:0 17px; border:0; border-radius:11px; color:#fff; background:var(--erph-green); font:700 .7rem Poppins,sans-serif; }

/* Teacher login */
.erph-login-page { min-height:100vh; display:grid; place-items:center; padding:28px; background:radial-gradient(circle at 10% 20%,rgba(25,157,130,.13),transparent 24rem),#eef3f0; }
.erph-login-shell { width:min(100%,1030px); min-height:620px; display:grid; grid-template-columns:1fr .9fr; overflow:hidden; border:1px solid #d7e3df; border-radius:26px; background:#fff; box-shadow:0 35px 90px rgba(20,54,52,.15); }
.erph-login-story { position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:45px; overflow:hidden; color:#fff; background:linear-gradient(145deg,#073a36,#0b6259); }
.erph-login-story::after { content:""; position:absolute; width:430px; height:430px; right:-250px; bottom:-230px; border:70px solid rgba(104,219,190,.1); border-radius:50%; }
.story-brand { display:flex; align-items:center; gap:11px; font-size:.62rem; line-height:1.35; text-transform:uppercase; letter-spacing:.08em; }
.story-brand img { width:76px; height:76px; border-radius:9px; object-fit:cover; }
.story-copy { position:relative; z-index:2; }
.story-kicker { color:#7ee0c8; font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.story-copy h1 { margin:14px 0; font-size:clamp(2.5rem,4vw,3.65rem); line-height:1.05; letter-spacing:-.065em; }
.story-copy p { max-width:390px; margin:0; color:#c3ded8; font-size:.78rem; line-height:1.7; }
.story-week { width:145px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:2px 10px; padding:13px; border:1px solid rgba(255,255,255,.18); border-radius:13px; background:rgba(255,255,255,.08); }
.story-week span { font-size:.58rem; text-transform:uppercase; }
.story-week strong { grid-row:span 2; font-size:1.9rem; }
.story-week small { font-size:.5rem; opacity:.7; }
.erph-login-panel { display:grid; place-items:center; padding:45px; }
.erph-login-card { width:min(100%,360px); }
.login-title > span { color:var(--erph-green); font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.login-title h2 { margin:7px 0 4px; font-size:1.8rem; letter-spacing:-.055em; }
.login-title p { margin:0 0 22px; color:#79898b; font-size:.7rem; }
.erph-login-card form { display:grid; gap:14px; }
.erph-login-card form > label { display:grid; gap:7px; color:#3a5256; font-size:.67rem; font-weight:700; }
.erph-login-card input { width:100%; min-height:47px; padding:0 13px; border:1px solid #cbdad5; border-radius:10px; outline:0; font:500 .72rem Poppins,sans-serif; }
.erph-login-card input:focus { border-color:var(--erph-green); box-shadow:0 0 0 3px rgba(11,107,97,.1); }
.erph-captcha > span { display:block; margin-bottom:7px; color:#3a5256; font-size:.67rem; font-weight:700; }
.erph-captcha > div { display:grid; grid-template-columns:1fr 120px; align-items:center; gap:9px; padding:8px 8px 8px 13px; border:1px solid #d4e0dc; border-radius:10px; background:#f7faf8; }
.erph-captcha strong { font-size:.76rem; }
.erph-captcha input { min-height:39px; background:#fff; }
.erph-login-card form > button { min-height:48px; display:flex; align-items:center; justify-content:space-between; padding:0 15px; border:0; border-radius:11px; color:#fff; background:var(--erph-green); box-shadow:0 11px 22px rgba(11,107,97,.2); font:700 .72rem Poppins,sans-serif; cursor:pointer; }
.teacher-account-note { padding:10px; margin:13px 0; border-radius:9px; color:#718285; background:#f1f5f3; font-size:.58rem; text-align:center; }
.erph-back-link { display:block; color:#718285; font-size:.62rem; text-align:center; text-decoration:none; }

/* Print */
.erph-print-page { padding:30px; background:#e8ecea; }
.print-toolbar { width:210mm; display:flex; justify-content:flex-end; gap:8px; margin:0 auto 12px; }
.print-toolbar button,.print-toolbar a { min-height:38px; display:inline-flex; align-items:center; padding:0 13px; border:0; border-radius:8px; color:#fff; background:var(--erph-green); font:700 11px Poppins,sans-serif; text-decoration:none; cursor:pointer; }
.print-toolbar a { color:#365055; background:#fff; }
.print-sheet { width:210mm; min-height:297mm; padding:15mm; margin:auto; background:#fff; box-shadow:0 15px 45px rgba(0,0,0,.12); }
.print-sheet > header { display:flex; align-items:center; gap:12px; padding-bottom:12px; border-bottom:3px solid var(--erph-green); }
.print-sheet > header img { width:52px; height:52px; }
.print-sheet > header div { flex:1; }
.print-sheet > header span { color:#607174; font-size:9px; text-transform:uppercase; }
.print-sheet > header h1 { margin:2px 0 0; font-size:19px; }
.print-sheet > header > strong { color:var(--erph-green); font-size:15px; }
.print-facts,.print-content { width:100%; margin-top:12px; border-collapse:collapse; font-size:9px; }
.print-facts th,.print-facts td,.print-content th,.print-content td { padding:7px 8px; border:1px solid #aebbb7; text-align:left; vertical-align:top; }
.print-facts th,.print-content th { width:22%; color:#183c39; background:#eef6f3; }
.print-content td { line-height:1.55; }
.print-sheet > footer { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:30px; }
.print-sheet > footer div { display:grid; gap:8px; font-size:9px; }
.print-sheet > footer i { height:50px; border-bottom:1px solid #52615f; }
@media print {
  @page { size:A4; margin:10mm; }
  .erph-print-page { padding:0; background:#fff; }
  .print-toolbar { display:none; }
  .print-sheet { width:auto; min-height:0; padding:0; box-shadow:none; }
}

/* e-RPH admin */
.erph-admin-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px !important; }
.erph-admin-intro > div > span,.erph-admin-list-heading span { color:#0b6b61; font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.erph-admin-intro h2 { margin:5px 0 3px; }
.erph-admin-intro p { margin:0; color:#738487; font-size:.72rem; }
.erph-admin-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:16px; margin-bottom:16px !important; }
.erph-teacher-create { margin:0 !important; }
.erph-teacher-create form > .btn { margin-top:14px; }
.teacher-create-note { padding:10px; margin-top:12px; border-radius:9px; color:#725500; background:#fff7dd; font-size:.66rem; }
.erph-admin-summary { margin:0 !important; color:#fff; background:linear-gradient(145deg,#08453f,#0b6b61) !important; }
.erph-admin-summary > span { color:#94ded0; font-size:.62rem; font-weight:800; text-transform:uppercase; }
.erph-admin-summary > strong { display:block; margin:15px 0 0; font-size:2.7rem; }
.erph-admin-summary > p { margin:0 0 20px; color:#c1dfda; font-size:.66rem; }
.erph-admin-summary > div { display:flex; justify-content:space-between; padding:10px 0; border-top:1px solid rgba(255,255,255,.12); font-size:.66rem; }
.erph-teacher-list { margin-bottom:20px !important; }
.erph-admin-list-heading { display:flex; align-items:center; justify-content:space-between; padding-bottom:15px; margin-bottom:15px; border-bottom:1px solid #e1e9e6; }
.erph-admin-list-heading h2 { margin:3px 0 0; }
.erph-admin-list-heading > strong { color:#6e8083; font-size:.7rem; }
.teacher-account-grid { display:grid; gap:11px; }
.teacher-account-card { padding:15px; border:1px solid #dce6e2; border-radius:13px; background:#fff; }
.teacher-account-head { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; }
.teacher-account-head > span { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; color:#fff; background:#0b6b61; font-size:.8rem; font-weight:800; }
.teacher-account-head h3 { margin:0; font-size:.85rem; }
.teacher-account-head p { margin:2px 0 0; color:#7c8c8e; font-size:.62rem; }
.teacher-account-head i { padding:5px 8px; border-radius:999px; font-size:.57rem; font-style:normal; font-weight:750; }
.teacher-account-head i.active { color:#087151; background:#e1f5ed; }
.teacher-account-head i.inactive { color:#9a3139; background:#fff0f1; }
.teacher-account-meta { display:grid; grid-template-columns:1fr 130px 170px; gap:13px; padding:12px 0; margin-top:12px; border-top:1px solid #edf1ef; border-bottom:1px solid #edf1ef; color:#40575b; font-size:.66rem; }
.teacher-account-meta span { display:grid; gap:2px; }
.teacher-account-meta small { color:#8b989a; font-size:.55rem; font-weight:750; text-transform:uppercase; }
.teacher-account-actions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; padding-top:12px; }
.teacher-account-actions form { margin:0; }
.teacher-reset-form { display:flex; flex:1; gap:6px; }
.teacher-reset-form input { min-width:180px; flex:1; min-height:39px; border:1px solid #cad8d4; border-radius:9px; padding:0 10px; font:500 .65rem Poppins,sans-serif; }

@media (max-width:900px) {
  .erph-nav { position:absolute; z-index:1050; top:calc(100% + 8px); left:0; right:0; display:none; padding:8px; border:1px solid var(--erph-line); border-radius:12px; background:#fff; box-shadow:0 15px 35px rgba(20,54,52,.12); }
  .erph-nav.open { display:grid; }
  .erph-menu-button { width:38px; height:38px; display:grid; place-content:center; gap:4px; margin-left:auto; border:1px solid var(--erph-line); border-radius:9px; background:#fff; }
  .erph-menu-button span { width:17px; height:2px; background:var(--erph-green); }
  .erph-user { border-left:0; padding-left:0; }
  .erph-user-name,
  .erph-user-trigger > svg { display:none; }
  .erph-user-trigger { padding: 0; }
  .erph-user-trigger:hover,
  .erph-user-trigger.active { background: transparent; }
  .erph-user-links {
    top: calc(100% + 14px);
    right: 0;
    min-width: 245px;
  }
  .erph-dashboard-grid { grid-template-columns:repeat(2,1fr); }
  .erph-dashboard-content,.rph-editor-form,.profile-layout { grid-template-columns:1fr; }
  .rph-editor-sidebar { position:static; }
  .rph-grid.four { grid-template-columns:repeat(2,1fr); }
  .attendance-grid { grid-template-columns:1fr 1fr; }
  .reflection-field { grid-column:1/-1; }
  .erph-filterbar { grid-template-columns:1fr 1fr; }
  .filter-search { grid-column:1/-1; }
  .erph-admin-layout { grid-template-columns:1fr; }
  .teacher-account-meta { grid-template-columns:1fr 1fr; }
  .erph-login-shell { grid-template-columns:1fr; }
  .erph-login-story { min-height:300px; }
  .erph-review-layout { grid-template-columns:1fr; }
  .erph-review-decision { position:static; }
  .erph-review-filters { grid-template-columns:1fr 1fr; }
  .erph-review-filter-actions { grid-column:1 / -1; justify-content:flex-end; }
}
@media (max-width:620px) {
  .erph-main { width:min(100% - 22px,1240px); padding-top:24px; }
  .erph-topbar-inner {
    width: calc(100% - 22px);
    min-height: 72px;
    gap: 8px;
  }
  .erph-brand {
    flex: 1 1 auto;
    overflow: hidden;
  }
  .erph-brand > span {
    min-width: 0;
  }
  .erph-brand small { display:none; }
  .erph-brand strong { font-size: 1.2rem; }
  .erph-avatar { width: 39px; height: 39px; }
  .erph-user-links {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    left: auto;
    width: min(280px, calc(100vw - 22px));
    min-width: 230px;
    padding: 10px;
    border-radius: 15px;
    box-shadow: 0 18px 45px rgba(20,54,52,.18);
  }
  .erph-menu-identity {
    padding: 8px 8px 13px;
  }
  .erph-user-links a {
    padding: 12px;
    font-size: .8rem;
  }
  .erph-nav {
    left: 0;
    right: 0;
    width: 100%;
  }
  .erph-page-heading { align-items:flex-start; flex-direction:column; }
  .erph-dashboard-grid { grid-template-columns:1fr 1fr; }
  .erph-stat-card { min-height:125px; }
  .status-overview { grid-template-columns:1fr; }
  .erph-record-list article { grid-template-columns:44px minmax(0,1fr) auto; }
  .erph-record-list .erph-status { display:none; }
  .erph-filterbar,.rph-grid.two,.rph-grid.four,.attendance-grid { grid-template-columns:1fr; }
  .rph-grid .span-2,.reflection-field { grid-column:auto; }
  .document-facts,.document-sections,.document-support,.document-reflection,.document-review { grid-template-columns:1fr; }
  .document-facts > div,.document-sections section,.document-support > div,.document-reflection > div,.document-review > div { border-right:0; border-bottom:1px solid var(--erph-line); }
  .erph-review-summary,.erph-review-filters { grid-template-columns:1fr; }
  .erph-review-filter-actions { grid-column:auto; }
  .erph-review-filter-actions .btn,.erph-review-filter-actions > a { flex:1 1 0; }
  .erph-review-detail-heading { align-items:flex-start; flex-direction:column; }
  .record-actions { min-width:250px; }
  .erph-footer { flex-direction:column; }
  .erph-login-page { padding:12px; }
  .erph-login-story { min-height:250px; padding:28px; }
  .story-week { display:none; }
  .erph-login-panel { padding:30px 22px; }
  .teacher-account-meta { grid-template-columns:1fr; }
  .teacher-account-actions { align-items:stretch; flex-direction:column; }
  .teacher-reset-form { flex-wrap:wrap; }
  .teacher-avatar-controls {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* e-RPH typography v2 - clearer sizing for daily school use */
.erph-body,
.erph-login-page {
  font-size: 16px;
}
.erph-topbar-inner {
  min-height: 82px;
}
.erph-brand img {
  width: 48px;
  height: 48px;
}
.erph-brand small {
  font-size: .65rem;
}
.erph-brand strong {
  font-size: 1.35rem;
}
.erph-nav a {
  padding: 11px 15px;
  font-size: .86rem;
}
.erph-avatar {
  width: 41px;
  height: 41px;
  font-size: .9rem;
}
.erph-user small {
  font-size: .62rem;
}
.erph-user strong {
  font-size: .78rem;
}
.erph-user-links {
  min-width: 150px;
}
.erph-user-links a {
  padding: 10px 12px;
  font-size: .78rem;
}
.erph-main {
  padding-top: 40px;
}
.erph-page-heading > div:first-child > span {
  font-size: .75rem;
}
.erph-page-heading h1 {
  font-size: clamp(2.25rem, 4vw, 3.35rem);
}
.compact-heading h1 {
  font-size: 2.55rem;
}
.erph-page-heading p {
  font-size: .95rem;
  line-height: 1.6;
}
.erph-primary-button,
.erph-secondary-button {
  min-height: 50px;
  padding: 0 20px;
  font-size: .85rem;
}
.erph-card {
  padding: 26px;
}
.erph-flash {
  padding: 14px 17px;
  font-size: .85rem;
}
.erph-stat-card {
  min-height: 158px;
  padding: 22px;
}
.erph-stat-card span {
  font-size: .74rem;
}
.erph-stat-card strong {
  font-size: 2.55rem;
}
.erph-stat-card small {
  font-size: .74rem;
}
.erph-card-heading span {
  font-size: .68rem;
}
.erph-card-heading h2 {
  font-size: 1.3rem;
}
.erph-card-heading a {
  font-size: .78rem;
}
.week-chip {
  padding: 8px 12px;
  font-size: .72rem;
}
.today-list time {
  font-size: .82rem;
}
.today-list strong {
  font-size: .9rem;
}
.today-list small {
  font-size: .76rem;
}
.erph-empty strong {
  font-size: 1rem;
}
.erph-empty p {
  font-size: .8rem;
}
.erph-empty a {
  font-size: .8rem;
}
.progress-card h2 {
  font-size: 1.15rem;
}
.progress-card p,
.progress-card > a {
  font-size: .78rem;
}
.record-date {
  width: 48px;
  height: 52px;
}
.record-date strong {
  font-size: 1rem;
}
.record-date span {
  font-size: .57rem;
}
.record-main > span {
  font-size: .67rem;
}
.record-main h3 {
  font-size: .9rem;
}
.record-main small {
  font-size: .7rem;
}
.erph-status {
  padding: 6px 10px;
  font-size: .68rem;
}
.erph-filterbar label {
  font-size: .72rem;
}
.erph-filterbar input,
.erph-filterbar select {
  min-height: 47px;
  font-size: .82rem;
}
.erph-filterbar button {
  min-height: 47px;
  font-size: .8rem;
}
.erph-filterbar > a {
  font-size: .76rem;
}
.result-count {
  padding: 14px 20px;
  font-size: .76rem;
}
.erph-table th {
  padding: 14px 17px;
  font-size: .67rem;
}
.erph-table td {
  padding: 16px 17px;
  font-size: .8rem;
}
.erph-table td small {
  font-size: .68rem;
}
.record-actions a,
.record-actions button {
  min-height: 35px;
  padding: 0 11px;
  font-size: .68rem;
}
.rph-form-section {
  padding: 24px;
}
.rph-section-title > span {
  width: 41px;
  height: 41px;
  flex-basis: 41px;
  font-size: .75rem;
}
.rph-section-title h2 {
  font-size: 1.18rem;
}
.rph-section-title p {
  font-size: .74rem;
}
.rph-grid label {
  gap: 8px;
  font-size: .78rem;
}
.rph-grid input,
.rph-grid textarea,
.rph-grid select {
  min-height: 49px;
  padding: 12px 14px;
  border-radius: 11px;
  font-size: .84rem;
}
.editor-kicker {
  font-size: .7rem;
}
.editor-summary h2 {
  font-size: 1.4rem;
}
.editor-summary > p {
  font-size: .77rem;
}
.editor-checklist span {
  font-size: .75rem;
}
.editor-summary button {
  min-height: 48px;
  font-size: .78rem;
}
.editor-summary > a {
  font-size: .73rem;
}
.editor-summary > small {
  font-size: .65rem;
}
.view-actions a {
  min-height: 47px;
  padding: 0 17px;
  font-size: .78rem;
}
.rph-document > header span:first-child {
  font-size: .68rem;
}
.rph-document > header h2 {
  font-size: 1.65rem;
}
.document-facts span,
.document-support span,
.document-reflection span {
  font-size: .68rem;
}
.document-facts strong {
  font-size: .86rem;
}
.document-sections h3 {
  font-size: .76rem;
}
.document-sections p,
.document-support p,
.document-reflection p {
  font-size: .82rem;
}
.profile-identity h2 {
  font-size: 1.3rem;
}
.profile-identity p {
  font-size: .75rem;
}
.password-required-note {
  font-size: .74rem;
}
.profile-submit button {
  min-height: 49px;
  padding: 0 20px;
  font-size: .8rem;
}
.story-brand {
  font-size: .72rem;
}
.story-kicker {
  font-size: .72rem;
}
.story-copy p {
  font-size: .9rem;
}
.login-title > span {
  font-size: .72rem;
}
.login-title h2 {
  font-size: 2.1rem;
}
.login-title p {
  font-size: .82rem;
}
.erph-login-card form > label,
.erph-captcha > span {
  font-size: .78rem;
}
.erph-login-card input {
  min-height: 51px;
  font-size: .84rem;
}
.erph-captcha strong {
  font-size: .88rem;
}
.erph-login-card form > button {
  min-height: 52px;
  font-size: .84rem;
}
.teacher-account-note,
.erph-back-link {
  font-size: .7rem;
}
.erph-admin-intro > div > span,
.erph-admin-list-heading span {
  font-size: .72rem;
}
.erph-admin-intro p {
  font-size: .82rem;
}
.teacher-create-note {
  font-size: .76rem;
}
.erph-admin-summary > span {
  font-size: .72rem;
}
.erph-admin-summary > p,
.erph-admin-summary > div {
  font-size: .76rem;
}
.teacher-account-head h3 {
  font-size: .98rem;
}
.teacher-account-head p {
  font-size: .72rem;
}
.teacher-account-head i {
  font-size: .67rem;
}
.teacher-account-meta {
  font-size: .76rem;
}
.teacher-account-meta small {
  font-size: .65rem;
}
.teacher-reset-form input {
  min-height: 43px;
  font-size: .75rem;
}

@media (max-width: 620px) {
  .erph-page-heading h1,
  .compact-heading h1 {
    font-size: 2rem;
  }
  .erph-page-heading p {
    font-size: .85rem;
  }
  .erph-card {
    padding: 19px;
  }
  .erph-stat-card {
    min-height: 135px;
    padding: 17px;
  }
  .erph-stat-card strong {
    font-size: 2.1rem;
  }
  .rph-form-section {
    padding: 18px;
  }
}
