/* Records groups current work, progress and portable-data tools. */
.records-dashboard { display:grid; gap:32px;  }
.records-dashboard>* { min-width:0; }
.records-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.records-heading h1 { margin:4px 0 0; font-size:32px; line-height:1.4; }
.records-heading .eyebrow { margin:0; color:var(--muted); font-size:14px; font-weight:400; }
.records-tool-links { display:flex; align-items:center; flex-wrap:wrap; gap:0 20px; }
.records-tool-links a,.records-section-heading>a,.records-secondary-actions a,.records-empty a {
  display:inline-flex; align-items:center; gap:6px; min-height:44px; color:var(--accent-strong); font-size:14px; text-decoration:none;
}
.records-dashboard a:hover { text-decoration:underline; text-underline-offset:4px; }
.records-dashboard .button:hover,.records-saved-card:hover { text-decoration:none; }
#records-summary { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:start; gap:24px; min-width:0; }
#records-summary>* { min-width:0; margin:0; }
.records-context,.records-checks { grid-column:1/-1; }
.records-context { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.records-context p { margin:0; color:var(--muted); font-size:14px; }
.records-section-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0 12px; min-height:44px; margin-bottom:12px; }
.records-section-heading h2 { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0; color:var(--ink); font-size:20px; line-height:1.5; }
.records-section-heading h2>.ui-icon { color:var(--accent-strong); }
.records-count { display:inline-grid; place-items:center; min-width:26px; padding:2px 8px; border-radius:4px; color:var(--accent-strong); background:var(--soft); font-size:13px; font-weight:600; }
.records-optional { color:var(--muted); font-size:14px; }
.records-exam-list { list-style:none; padding:0; margin:0; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.records-exam-list>li { display:grid; grid-template-columns:minmax(0,1fr) 80px var(--button-width); align-items:center; gap:12px; padding:16px; }
.records-exam-list>li+li { border-top:1px solid var(--line); }
.records-exam-list strong,.records-exam-list time { display:block; }
.records-exam-list time,.records-exam-date { display:block; margin-top:4px; color:var(--muted); font-size:13px; }
.records-exam-list .button { width:100%; min-width:0; min-height:var(--control-height); padding:10px 12px; font-size:14px; }
.records-exam-score { text-align:right; max-width:10em; color:var(--muted); font-size:14px; }
.records-exam-score.is-graded { color:var(--ink); font-size:26px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.records-next .next-task { grid-template-columns:36px minmax(0,1fr); gap:12px; padding:20px; border-radius:var(--radius); box-shadow:none; }
.records-next .next-task-icon { width:36px; height:36px; border-radius:8px; }
.records-next .next-task-icon .ui-icon { width:20px; height:20px; }
.records-next .next-task h2 { margin:4px 0 8px; font-size:20px; }
.records-next .next-task p { font-size:14px; }
.records-next .next-task .task-eyebrow { font-size:13px; }
.records-next .next-task>.button { grid-column:2; justify-self:start; }
.records-practice-details>summary,.records-optional-checks>summary,.records-older-exams>summary,.records-tool-panel>details>summary { min-height:44px; padding:10px 0; font-size:14px; font-weight:600; cursor:pointer; }
.records-older-exams { margin-top:8px; }
.records-optional-checks[open]>summary { margin-bottom:12px; }
.records-practice>.muted,.records-management>.muted { font-size:15px; }
.records-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:16px 0 12px; padding:16px; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface); }
.records-stats>div { min-width:0; }
.records-stats>div+div { padding-left:16px; border-left:1px solid var(--line); }
.records-stats dt { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:13px; }
.records-stats dt .ui-icon { width:16px; height:16px; }
.records-stats dd { margin:8px 0 0; color:var(--ink); font-size:30px; font-weight:700; line-height:1.3; font-variant-numeric:tabular-nums; }
.records-stats dd small { margin-left:4px; color:var(--muted); font-size:13px; font-weight:400; }
.records-progress-note { color:var(--muted); font-size:14px; }
.records-secondary-actions { display:flex; align-items:center; flex-wrap:wrap; gap:4px 20px; }
.records-saved-list { display:grid; gap:0 20px; list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.records-saved-list li { min-width:0; border-bottom:1px solid var(--line); }
.records-saved-card { display:flex; align-items:center; gap:12px; min-height:80px; padding:12px 4px; color:var(--text); text-decoration:none; }
.records-saved-card:hover { background:var(--soft); }
.records-saved-picture { display:grid; place-items:center; width:52px; height:52px; flex-shrink:0; padding:6px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--accent-strong); }
.records-saved-picture img { display:block; width:100%; height:100%; object-fit:contain; }
.records-saved-label { flex:1; min-width:0; }
.records-saved-label strong { display:block; font-size:16px; font-weight:650; }
.records-saved-label small { display:block; margin-top:4px; color:var(--muted); font-size:14px; }
.records-saved-card>.ui-icon { width:18px; height:18px; color:var(--muted); }
.records-empty { display:flex; align-items:start; gap:12px; padding:16px 0; border-top:1px solid var(--line); }
.records-empty>.ui-icon { width:24px; height:24px; margin-top:2px; color:var(--muted); }
.records-empty p { margin-bottom:4px; font-size:16px; }
.records-empty p.muted { font-size:14px; }
.records-checks { padding:8px 0; border-block:1px solid var(--line); }
.records-quiz { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:16px; padding:12px 0 20px; border-bottom:1px solid var(--line); }
.records-check-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:8px; color:var(--accent-strong); background:var(--soft); }
.records-quiz h3 { margin-bottom:4px; font-size:18px; }
.records-quiz p,.diagnostic-records>p { margin:0; color:var(--muted); font-size:14px; }
.records-quiz>.button { font-size:14px; }
.records-checks .diagnostic-records { margin:0; }
.records-checks .diagnostic-records>summary { min-height:48px; padding:12px 0; font-size:15px; font-weight:600; cursor:pointer; }
.records-checks summary .ui-icon,.records-install summary .ui-icon,.records-about summary .ui-icon { margin-right:8px; vertical-align:middle; }
.records-diagnostic { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; border-bottom:1px solid var(--line); }
.records-diagnostic:last-child { border-bottom:0; }
.records-diagnostic h3 { margin-bottom:4px; font-size:17px; }
.records-diagnostic p { margin-bottom:4px; color:var(--muted); font-size:14px; }
.records-diagnostic .records-check-count { color:var(--ink); }
.records-diagnostic .actions a { font-size:14px; }
.records-diagnostic .actions>a:not(.button) { display:inline-flex; align-items:center; min-height:44px; }
.records-management { padding-top:24px; border-top:1px solid var(--line); }
.records-management-grid { display:grid; grid-auto-rows:1fr; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:24px; margin-top:20px; }
.records-tool-panel { min-width:0; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.records-tool-panel h3 { display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:20px; }
.records-tool-panel h3 .ui-icon { color:var(--accent-strong); }
.records-tool-panel p { max-width:var(--measure); font-size:15px; line-height:1.8; }
.records-tool-panel>p:first-of-type { min-height:5.4em; }
.records-tool-panel .actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:332px; align-items:stretch; gap:12px; }
.records-tool-panel .actions>:is(button,.button) { width:100%; min-width:0; }
.records-tool-panel button,.records-tool-panel .button { font-size:14px; }
.records-tool-panel .paste-backup { margin:16px 0; }
.records-tool-panel .paste-backup summary,.records-tool-panel .records-tool-note { font-size:14px; }
.records-tool-panel #offline-status { margin-top:16px; }
.records-install { margin-top:16px; padding-top:8px; border-top:1px solid var(--line); }
.records-install summary,.records-about summary { min-height:44px; padding:10px 0; font-size:14px; cursor:pointer; }
.records-install p { margin-top:8px; }
.records-about { margin-top:20px; }
.records-about p { max-width:var(--measure); margin-top:12px; color:var(--muted); font-size:14px; }
.records-about>a,.records-restore-all { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
.records-tool-panel #import-preview { margin:16px 0; padding:16px; }
.records-tool-panel #import-preview h3 { font-size:18px; }
.records-tool-panel #import-preview .actions { align-items:stretch; }
.records-tool-panel #import-preview .actions>details { grid-column:1/-1; }
.records-tool-panel #import-preview summary { min-height:44px; padding:10px 0; font-size:14px; cursor:pointer; }
.records-tool-panel #import-preview .records-exam-list>li { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.records-tool-panel #import-preview .records-exam-list .button { grid-column:1/-1; justify-self:start; }
@media(max-width:1000px) {
  #records-summary { grid-template-columns:minmax(0,1fr); }
  .records-context,.records-checks { grid-column:auto; }
  .records-heading { align-items:start; }
  .records-heading .records-tool-links { flex-direction:column; align-items:start; gap:0; }
  .records-next .next-task>.button { grid-column:1/-1; }
}
@media(max-width:700px) {
  .records-dashboard { gap:24px; }
  .records-heading { display:block; }
  .records-heading h1 { font-size:26px; }
  .records-heading .records-tool-links { flex-direction:row; gap:0 20px; margin-top:8px; }
  .records-management-grid { grid-template-columns:1fr; gap:16px; }
  .records-section-heading h2 { font-size:20px; }
  .records-section-heading>a { font-size:13px; }
  .records-exam-list>li { grid-template-columns:minmax(0,1fr) 56px 112px; padding:12px; gap:8px; }
  .records-exam-score.is-graded { font-size:24px; }
  .records-exam-list .button { padding-inline:10px; }
  .records-stats { gap:12px; padding:16px 12px; }
  .records-stats>div+div { padding-left:12px; }
  .records-stats dt { flex-wrap:wrap; font-size:12px; }
  .records-stats dd { font-size:26px; }
  .records-quiz { grid-template-columns:40px minmax(0,1fr); gap:12px; }
  .records-quiz>.button { grid-column:1/-1; justify-self:start; }
  .records-diagnostic { align-items:start; flex-direction:column; gap:12px; }
  .records-tool-panel { padding:20px; }
  .records-tool-panel>p:first-of-type { min-height:9em; }
}
@media print {
  .records-tool-links,.records-context .vehicle-switch,.records-management { display:none; }
  #records-summary { display:block; }
  #records-summary>* { margin-bottom:24px; }
}

