:root {
  --accent: #800000;
  --accent-dark: #5a0000;
  --background: #f4f4f6;
  --card: #ffffff;
  --text: #0b0b0b;
  --muted: #4b4b4b;
  --border: #b8b8b8;
  --focus: #005fcc;
  --radius: 8px;
  --gap: 1.25rem;
}

* { box-sizing: border-box; }
html,body{ height:100%; }
html{ font-size:18px; }
body{
  margin:0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:var(--background);
  color:var(--text);
  line-height:1.6;
}
body.login-required{ overflow:hidden; }

.container{ max-width:1100px; margin:0 auto; padding:1.25rem; }

.skip-link{
  position:absolute;
  left:1rem;
  top:-5rem;
  z-index:20;
  padding:0.75rem 1rem;
  background:#fff;
  color:var(--accent-dark);
  border:3px solid var(--focus);
  border-radius:var(--radius);
  font-weight:700;
}
.skip-link:focus{ top:1rem; }

.site-header{ background: #fff; border-bottom:2px solid #d6d6d6; position:sticky; top:0; z-index:10; }
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand-group{ display:flex; flex-direction:column; gap:0.1rem; min-width:0; }
.brand{ color:var(--accent); font-weight:800; text-decoration:none; font-size:1.35rem; }
.header-profile{ color:var(--muted); font-weight:700; line-height:1.25; }
.header-profile-specialty{ font-size:0.95rem; color:var(--text); }
.header-profile-institution{ font-size:0.85rem; }
.main-nav[hidden],
.header-auth-button[hidden]{ display:none !important; }
.main-nav{ display:flex; gap:0.75rem; }
.nav-link{ color:var(--muted); text-decoration:none; padding:0.75rem 0.9rem; border-radius:6px; min-height:44px; display:inline-flex; align-items:center; font-weight:700; }
.nav-link:hover, .nav-link:focus{ background:rgba(128,0,0,0.06); color:var(--accent-dark); outline:none; }
.nav-link.active{ color:var(--accent); font-weight:800; }
.is-disabled{ cursor:not-allowed; opacity:0.55; }
.nav-link.is-disabled:hover,
.nav-link.is-disabled:focus{ background:transparent; color:var(--muted); }
.header-auth-button{ flex:0 0 auto; min-height:44px; padding:0.55rem 0.9rem; }

.page-title{ margin:0 0 0.5rem 0; color:var(--accent); font-size:2rem; line-height:1.2; }
.lead{ margin:0 0 1.25rem 0; color:var(--muted); font-size:1.1rem; max-width:46rem; }

.card{ background:var(--card); padding:1.5rem; border-radius:var(--radius); border:1px solid #dddddd; box-shadow:0 1px 4px rgba(12,12,12,0.04); }
.welcome-card{ display:flex; flex-direction:column; gap:0.75rem; margin:1rem 0; }
.dashboard-actions{ display:flex; gap:0.75rem; flex-wrap:wrap; margin:0; }
.dashboard-card-link{ display:block; color:inherit; text-decoration:none; }
.dashboard-card-link:hover,
.dashboard-card-link:focus{ border-color:var(--accent); outline:none; box-shadow:0 0 0 3px rgba(128,0,0,0.12); }

.cards-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:var(--gap); margin:1rem 0; }
.card h2{ margin:0 0 0.5rem 0; font-size:1.15rem; color:var(--accent); }
.muted{ color:var(--muted); font-size:1rem; }

.btn{ display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0.75rem 1.1rem; border-radius:6px; border:2px solid var(--border); cursor:pointer; text-decoration:none; color:var(--text); background:#fff; font-size:1rem; font-weight:800; }
.btn.primary{ background:var(--accent); color:#fff; }
.btn.primary:hover, .btn.primary:focus{ background:var(--accent-dark); }
.btn:focus,
.btn:focus-visible,
.nav-link:focus-visible,
.brand:focus-visible,
input:focus-visible{
  outline:4px solid var(--focus);
  outline-offset:3px;
}

/* Form styles */
.survey-form{ display:grid; gap:1.25rem; max-width:640px; }
.form-row{ display:flex; flex-direction:column; gap:0.65rem; padding:0; margin:0; border:0; }
.form-row legend{ font-size:1.2rem; font-weight:800; color:var(--text); padding:0; }
.form-row label{ font-weight:700; margin-bottom:0.25rem; }
.form-row input,
.form-row select{ width:100%; min-height:52px; padding:0.65rem 0.75rem; border:2px solid var(--border); border-radius:6px; font-size:1.05rem; background:#fff; color:var(--text); }
.form-error{ padding:0.75rem; border:2px solid #b42318; border-radius:6px; background:#fff2f0; color:#8a160f; font-weight:800; }
.choice{
  display:flex;
  align-items:center;
  gap:0.75rem;
  min-height:56px;
  padding:0.75rem;
  border:2px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  cursor:pointer;
}
.choice:has(input:checked){ border-color:var(--accent); background:rgba(128,0,0,0.05); }
.choice input{ width:1.35rem; height:1.35rem; min-height:0; flex:0 0 auto; }
.choice span{ margin:0; font-size:1.05rem; font-weight:700; }
.height-fields,
.weight-fields{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:1rem; }
.height-fields > div,
.weight-fields > div{ display:flex; flex-direction:column; }
#previous-weight-group,
.follow-up,
.registration-follow-up{
  opacity:1;
  overflow:hidden;
  transform:translateY(0);
  transition:height 320ms ease, opacity 220ms ease, transform 320ms ease, padding-top 320ms ease, padding-bottom 320ms ease;
}
.input-action-row{ display:grid; grid-template-columns: minmax(0, 1fr) auto; gap:0.75rem; align-items:end; }
.date-field-row{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:0.75rem; }
.follow-up{ display:grid; gap:1.25rem; padding:1rem; border-left:6px solid var(--accent); background:#fafafa; border-radius:var(--radius); }
.follow-up[hidden]{ display:none; }
.range-value{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:32px;
  padding:0.15rem 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--accent-dark);
  font-weight:800;
}
.slider-row input[type="range"]{
  appearance:none;
  -webkit-appearance:none;
  padding:0;
  border:0;
  min-height:44px;
  background:transparent;
  accent-color:var(--accent);
}
.slider-row input[type="range"]::-webkit-slider-runnable-track{
  height:14px;
  border-radius:999px;
  border:2px solid var(--border);
  background:#ececec;
}
.slider-row input[type="range"]::-moz-range-track{
  height:14px;
  border-radius:999px;
  border:2px solid var(--border);
  background:#ececec;
}
.slider-row input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:32px;
  height:32px;
  margin-top:-11px;
  border-radius:50%;
  border:4px solid #fff;
  background:var(--accent);
  box-shadow:0 0 0 2px var(--accent-dark);
  cursor:pointer;
}
.slider-row input[type="range"]::-moz-range-thumb{
  width:28px;
  height:28px;
  border-radius:50%;
  border:4px solid #fff;
  background:var(--accent);
  box-shadow:0 0 0 2px var(--accent-dark);
  cursor:pointer;
}
.slider-row input[type="range"]:focus-visible::-webkit-slider-thumb{
  box-shadow:0 0 0 2px var(--accent-dark), 0 0 0 7px var(--focus);
}
.slider-row input[type="range"]:focus-visible::-moz-range-thumb{
  box-shadow:0 0 0 2px var(--accent-dark), 0 0 0 7px var(--focus);
}
.range-limits{ display:flex; justify-content:space-between; gap:1rem; color:var(--muted); font-weight:700; }
.form-actions{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:0.75rem; margin-top:0.5rem; }
.form-actions .btn{ width:100%; }
.success{ margin-top:1rem; padding:0.85rem; background:#e8f5ed; border:2px solid #8cc59d; border-radius:6px; color:#074f22; font-weight:700; }
.export-format-selector{ display:flex; align-items:center; gap:0.75rem; flex-wrap:wrap; margin-top:1rem; }
.export-format-selector legend{ color:var(--accent); font-weight:800; }
.data-export-actions{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:0.75rem; margin-top:1rem; }
.data-export-actions .btn{ width:100%; min-height:56px; }
.data-export-option-panel{ display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:0.75rem; margin-top:0.75rem; }
.data-export-option-panel[hidden]{ display:none; }
.data-export-option-panel .btn{ width:100%; min-height:48px; }

/* Admin */
.admin-title-row{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.admin-title-row .page-title{ margin:0; }
.link-button{
  min-height:44px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--accent);
  font:inherit;
  font-weight:800;
  text-decoration:underline;
  cursor:pointer;
}
.link-button:focus-visible{ outline:4px solid var(--focus); outline-offset:4px; }
.my-info-button{ white-space:nowrap; }
.admin-tool-card{ margin-top:1rem; padding:0; overflow:hidden; }
.collapse-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  width:100%;
  min-height:56px;
  padding:1rem 1.25rem;
  border:0;
  background:#fff;
  color:var(--accent);
  cursor:pointer;
  font:inherit;
  font-weight:800;
  text-align:left;
}
.collapse-toggle:hover,
.collapse-toggle:focus{ background:rgba(128,0,0,0.05); outline:none; }
.collapse-toggle:focus-visible{ outline:4px solid var(--focus); outline-offset:-4px; }
.collapse-indicator{ font-size:1.5rem; line-height:1; transition:transform 220ms ease; }
.collapse-toggle[aria-expanded="true"] .collapse-indicator{ transform:rotate(45deg); }
.collapse-panel{
  overflow:hidden;
  opacity:1;
  transform:translateY(0);
  padding:0 1.25rem 1.25rem;
  transition:height 280ms ease, opacity 220ms ease, transform 280ms ease, padding-bottom 280ms ease;
}
.collapse-panel:not(.is-visible){
  opacity:0;
  transform:translateY(-6px);
  padding-bottom:0;
}
.collapse-panel[hidden]{ display:none; }
.admin-inline-form{ margin-bottom:1rem; }
.admin-scroll-list{
  max-height:360px;
  overflow:auto;
  margin-top:1rem;
  border:1px solid #dddddd;
  border-radius:var(--radius);
  background:#fff;
}
.admin-list-table{ min-width:0; }
.admin-users-table{ min-width:720px; }
.admin-list-table th:last-child,
.admin-list-table td:last-child{ width:90px; text-align:center; }
.delete-icon-button{ color:#b42318; }

/* Registration page */
.registration-page .card{ max-width:640px; }
.registration-page .survey-form{ gap:1rem; max-width:520px; }
.registration-page .form-row{ gap:0.45rem; }
.registration-page .form-row label{ font-size:0.95rem; }
.registration-page .form-row legend{ font-size:0.95rem; font-weight:700; }
.registration-page .form-row input,
.registration-page .form-row select{ min-height:44px; padding:0.5rem 0.65rem; font-size:1rem; }
.registration-page .btn{ min-height:44px; padding:0.55rem 0.85rem; font-size:0.95rem; }
.registration-page .choice{ min-height:40px; padding:0.45rem 0.6rem; gap:0.5rem; }
.registration-page .choice input{ width:1rem; height:1rem; }
.registration-page .choice span{ font-size:0.95rem; }
.registration-page .compact-choice-group{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.registration-page .compact-choice-group legend{ grid-column:1 / -1; }
.registration-follow-up{ display:grid; gap:1rem; padding:0.75rem; border-left:4px solid var(--accent); background:#fafafa; border-radius:var(--radius); }
.registration-follow-up[hidden]{ display:none; }
.registration-follow-up .form-row{ position:relative; }
#previous-weight-group:not(.is-visible),
.follow-up:not(.is-visible),
.registration-follow-up:not(.is-visible){
  opacity:0;
  padding-top:0;
  padding-bottom:0;
  transform:translateY(-6px);
}
.label-action-row{ display:flex; align-items:center; justify-content:space-between; gap:0.75rem; }
.registration-page .help-btn{
  min-height:34px;
  padding:0.35rem 0.65rem;
  border-color:var(--accent);
  color:var(--accent);
  background:#fff;
  font-size:0.9rem;
}
.registration-page .help-btn:hover,
.registration-page .help-btn:focus{ background:rgba(128,0,0,0.06); color:var(--accent-dark); border-color:var(--accent-dark); }
.help-popover{
  display:grid;
  gap:0.65rem;
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  z-index:70;
  max-width:720px;
  max-height:calc(100vh - 2rem);
  overflow:auto;
  width:min(720px, calc(100vw - 2.5rem));
  padding:1rem;
  border:2px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 18px 42px rgba(12,12,12,0.28);
}
.help-popover[hidden]{ display:none; }
.help-popover h2{ margin:0.2rem 0 0; color:var(--accent); font-size:1rem; }
.help-popover ol{ margin:0; padding-left:1.4rem; }
.help-popover li{ margin:0.25rem 0; }
.help-popover p{ margin:0; }
.help-close{ justify-self:end; border:0; background:transparent; color:var(--accent); cursor:pointer; font-weight:800; }
.timer-grid{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:0.75rem; }
.timer-card{ display:grid; gap:0.5rem; padding:0.75rem; border:1px solid var(--border); border-radius:var(--radius); background:#fff; }
.timer-card h3{ margin:0; color:var(--accent); font-size:1rem; }
.timer-label{ color:var(--muted); font-weight:800; font-size:0.9rem; }
.timer-display{ font-variant-numeric:tabular-nums; font-weight:800; font-size:1.35rem; }
.gait-speed{ font-variant-numeric:tabular-nums; color:var(--text); font-weight:800; }
.registration-page .timer-button{ width:max-content; min-width:90px; }
.registration-page .timer-button.timer-start{ border-color:#16803a; color:#16803a; background:#fff; }
.registration-page .timer-button.timer-stop{ border-color:#b42318; color:#b42318; background:#fff; }
.registration-page .timer-button.timer-reset{ border-color:#d4a800; color:#d4a800; background:#fff; }
.three-field-row{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:0.75rem; }
.field-note{ margin:0.25rem 0 0; color:var(--muted); font-size:0.95rem; font-weight:700; }

/* Login */
.login-overlay{
  position:fixed;
  inset:0;
  z-index:50;
  display:grid;
  place-items:center;
  padding:1.25rem;
  background:rgba(11,11,11,0.42);
}
.login-overlay[hidden]{ display:none; }
.login-panel{
  display:grid;
  gap:1rem;
  width:min(420px, 100%);
  padding:1.25rem;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,0.22);
}
.login-panel h2{ margin:0; color:var(--accent); font-size:1.35rem; }
.session-timeout-panel p{ margin:0; color:var(--text); font-weight:700; }
.login-panel .btn{ width:100%; }
.login-actions{ display:grid; gap:0.75rem; }

/* Survey completion */
.survey-completion-overlay{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  padding:1.25rem;
  background:rgba(11,11,11,0.42);
}
.survey-completion-panel{
  display:grid;
  gap:1rem;
  width:min(520px, 100%);
  padding:1.5rem;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,0.22);
  text-align:center;
}
.survey-completion-panel h2{ margin:0; color:var(--accent); font-size:1.45rem; line-height:1.25; }
.survey-completion-panel p{ margin:0; color:var(--text); font-size:1.05rem; }
.survey-completion-panel .btn{ justify-self:center; min-width:120px; }

/* PIN overlays */
.pin-overlay{
  position:fixed;
  inset:0;
  z-index:90;
  display:grid;
  place-items:center;
  padding:1.25rem;
  background:rgba(11,11,11,0.42);
}
.pin-panel{
  display:grid;
  gap:1rem;
  width:min(520px, 100%);
  max-height:calc(100vh - 2.5rem);
  overflow:auto;
  padding:1.5rem;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,0.22);
}
.pin-panel h2{ margin:0; color:var(--accent); font-size:1.45rem; line-height:1.25; }
.pin-panel p{ margin:0; }
.pin-display{
  padding:0.7rem 1rem;
  border:2px solid var(--accent);
  border-radius:var(--radius);
  background:#fff8f8;
  color:var(--accent-dark);
  font-size:2rem;
  font-weight:800;
  letter-spacing:0;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.pin-reminder{ color:var(--text); font-weight:800; }
.my-info-list{ display:grid; gap:0.75rem; margin:0; }
.my-info-list div{ padding:0.75rem; border:1px solid #dddddd; border-radius:var(--radius); background:#fafafa; }
.my-info-list dt{ margin:0 0 0.25rem; color:var(--muted); font-weight:800; font-size:0.9rem; }
.my-info-list dd{ margin:0; word-break:break-word; }
.pin-credential-form{ margin-top:0; }
.pin-form-actions{ grid-template-columns:1fr; }
.pin-result{ display:grid; gap:0.75rem; }
.admin-list-section{ display:grid; gap:0.6rem; margin-top:1rem; }
.admin-list-section h3{ margin:0; color:var(--accent); font-size:1rem; }
.inactive-users-table{ color:var(--muted); background:#f7f7f7; }
.inactive-users-table th{ color:#777777; background:#f1f1f1; }
.inactive-users-table td{ color:#777777; }

/* Tables */
.table-wrap{ overflow-x:auto; margin-top:1rem; border:1px solid #dddddd; border-radius:var(--radius); background:#fff; }
.data-table{ width:100%; border-collapse:collapse; min-width:760px; }
.data-table th,
.data-table td{ padding:0.75rem; border-bottom:1px solid #dddddd; text-align:left; vertical-align:middle; }
.data-table th{ color:var(--accent); font-size:0.95rem; background:#fafafa; }
.data-table tbody tr:last-child td{ border-bottom:0; }
.table-action-button{ min-height:40px; padding:0.45rem 0.7rem; font-size:0.9rem; }
.continue-enrollment-button{ border-color:var(--accent); color:var(--accent); }
.start-survey-button{ border-color:var(--accent); color:var(--accent); }
.icon-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:2px solid var(--border);
  border-radius:6px;
  background:#fff;
  color:var(--accent);
}
.icon-button svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.table-action-button:disabled,
.icon-button:disabled{ cursor:not-allowed; opacity:0.65; }

/* Detail views */
.detail-section{ margin-top:1.25rem; }
.detail-section h2{ margin:0 0 0.75rem; color:var(--accent); font-size:1.15rem; }
.score-placeholder{ margin:0; font-size:1.25rem; font-weight:800; }
.frailty-score-wrap{ max-width:760px; }
.frailty-score-table{ min-width:0; }
.frailty-score-table th,
.frailty-score-table td{ width:50%; }
.frailty-score-table th{ color:var(--text); }
.frailty-total-row th,
.frailty-total-row td{ font-size:1.1rem; font-weight:800; }
.frailty-assessment-row th,
.frailty-assessment-row td{
  background:var(--accent);
  color:#fff;
  font-weight:800;
}
.frailty-key-row th,
.frailty-key-row td{ color:var(--muted); font-size:0.95rem; }
.frailty-separator-row td{
  height:12px;
  padding:0;
  border-bottom:4px solid var(--accent);
  background:#fff;
}
.frailty-detail-toggle{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  min-height:36px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font:inherit;
  font-weight:800;
  text-align:left;
}
.frailty-detail-toggle .collapse-indicator{ color:var(--text); font-size:1.25rem; }
.frailty-detail-toggle[aria-expanded="true"] .collapse-indicator{ transform:rotate(45deg); }
.frailty-detail-toggle:focus-visible{ outline:4px solid var(--focus); outline-offset:4px; }
.frailty-detail-row td{ padding:0; background:#fafafa; border-bottom:0; }
.frailty-detail-panel{
  height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-6px);
  transition:height 280ms ease, opacity 220ms ease, transform 280ms ease;
}
.frailty-detail-row.is-visible .frailty-detail-panel{
  opacity:1;
  transform:translateY(0);
}
.frailty-detail-list{ display:grid; gap:0.75rem; margin:0; }
.frailty-detail-panel .frailty-detail-list{ padding:0.85rem 0.75rem 1rem; border-bottom:1px solid #dddddd; }
.frailty-detail-list div{ display:grid; gap:0.2rem; }
.frailty-detail-list dt{ color:var(--muted); font-weight:800; font-size:0.9rem; }
.frailty-detail-list dd{ margin:0; }
.readonly-grid{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:0.75rem; }
.readonly-field{ padding:0.75rem; border:1px solid #dddddd; border-radius:var(--radius); background:#fafafa; }
.readonly-field dt{ margin:0 0 0.25rem; color:var(--muted); font-weight:800; font-size:0.9rem; }
.readonly-field dd{ margin:0; word-break:break-word; }
.readonly-survey-form{ max-width:640px; }
.survey-metadata{ margin:0 0 0.25rem; }
.readonly-survey-form input:disabled{ color:var(--text); opacity:1; cursor:default; background:#fafafa; }
.readonly-survey-form .choice{ cursor:default; }
.readonly-survey-form .choice input{ accent-color:var(--accent); }
.readonly-survey-form .readonly-follow-up{ height:auto; }
.readonly-survey-form .readonly-slider-row input[type="range"]:disabled{ opacity:1; }

/* Footer */
.site-footer{ margin-top:2rem; padding:1rem 0; color:var(--muted); font-size:1rem; }

/* Responsive */
@media (max-width: 900px){
  .cards-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px){
  html{ font-size:17px; }
  .header-inner{ align-items:flex-start; flex-direction:column; }
  .main-nav{ width:100%; }
  .nav-link{ flex:1; justify-content:center; }
  .cards-grid{ grid-template-columns: 1fr; }
  .height-fields,
  .weight-fields{ grid-template-columns: 1fr; }
  .input-action-row{ grid-template-columns: 1fr; }
  .date-field-row{ grid-template-columns: 1fr; }
  .registration-page .compact-choice-group{ grid-template-columns: 1fr; }
  .form-actions{ grid-template-columns: 1fr; }
  .data-export-actions{ grid-template-columns: 1fr; }
  .data-export-option-panel{ grid-template-columns: 1fr; }
  .readonly-grid{ grid-template-columns: 1fr; }
  .timer-grid{ grid-template-columns: 1fr; }
  .three-field-row{ grid-template-columns: 1fr; }
  .dashboard-actions{ display:grid; grid-template-columns: 1fr; }
  .container{ padding:1rem; }
  .card{ padding:1rem; }
  .page-title{ font-size:1.65rem; }
  .btn{ width:100%; }
}

/* Accessibility helpers */
.sr-only{ position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }

/* Future styles: add classes for tables, charts, forms, error states */
