/* Approved dog-first passport: one page scroll, including on phones. */
:root[data-theme] #dogShowPage[data-show-view="registration"] .dog-show-event-toolbar { display:none; }
.reg-workspace { color:#173651; min-width:0; }
.reg-workspace h3 { margin:0; font-size:23px; }
.reg-workspace h4 { margin:4px 0; font-size:18px; }
.reg-workspace p { color:#526d85; margin:7px 0; line-height:1.5; }
.reg-heading,.reg-passport>header,.reg-passport>footer,.reg-show-card>header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.reg-heading { margin:16px 0; }
.reg-heading small,.reg-rail>small { font-size:11px; font-weight:700; letter-spacing:1px; }
.reg-toggle { display:flex; gap:6px; }
.reg-workspace button[aria-pressed="true"] { background:#e6f3ff!important; color:#096da8!important; border-color:#096da8!important; }
.reg-layout { display:grid; grid-template-columns:190px minmax(0,1fr); border:1px solid #d5e2ec; border-radius:10px; background:#f4f8fb; }
.reg-rail { background:white; border-right:1px solid #d5e2ec; padding:18px 12px; border-radius:10px 0 0 10px; min-width:0; }
.reg-rail>label { margin:14px 0; display:grid; gap:5px; font-size:12px; }
.reg-dog-list { display:grid; gap:8px; }
.reg-dog-list button { display:block; width:100%; text-align:left; padding:12px 10px; white-space:normal; }
.reg-dog-list strong,.reg-dog-list small { display:block; }
.reg-dog-list small { margin-top:6px; font-size:12px; font-weight:400; }
.reg-rail>p { border-top:1px solid #d5e2ec; margin-top:18px; padding-top:18px; font-size:12px; }
.reg-main { padding:4px 20px 20px; min-width:0; }
.reg-passport,.reg-show-card { padding:18px; background:white; border:1px solid #d5e2ec; border-radius:9px; }
.reg-workspace details.reg-passport { margin:0 0 25px; padding:18px; }
.reg-workspace .reg-passport>summary { display:flex; align-items:center; flex-wrap:wrap; gap:10px; min-height:32px; font-size:15px; list-style:none; }
.reg-passport>summary::-webkit-details-marker { display:none; }
.reg-passport>summary::before { content:"▸"; color:#173651; }
.reg-passport[open]>summary::before { content:"▾"; }
.reg-passport>summary>.reg-pill { margin-left:auto; }
.reg-passport>summary:focus-visible { outline:2px solid #096da8; outline-offset:5px; border-radius:3px; }
.reg-passport-edit { display:flex; justify-content:flex-end; margin-top:18px; }
.reg-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin:15px 0; }
.reg-field { display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid #e2eaf1; padding:13px 0; min-width:0; }
.reg-field small { display:block; color:#526d85; margin-bottom:5px; font-size:12px; }
.reg-field strong { display:block; overflow-wrap:anywhere; font-size:14px; }
.reg-field button { flex:none; min-width:36px; padding:5px 9px; }
.reg-workspace details { border-top:1px solid #d5e2ec; padding-top:12px; margin:12px 0; }
.reg-workspace summary { cursor:pointer; font-size:13px; font-weight:600; }
.reg-passport>footer { border-top:1px solid #d5e2ec; padding-top:14px; margin-top:14px; }
.reg-passport>footer small { color:#526d85; }
.reg-pill { display:inline-block; background:#e7f5ec; color:#176044; padding:5px 8px; border-radius:5px; font-size:12px; font-weight:700; }
.reg-pill.is-warning { background:#fff4d8; color:#80520b; }
.reg-workspace .reg-warning { color:#80520b; }
.reg-show-card { margin-bottom:12px; }
.reg-show-card { container:registration-card / inline-size; padding:22px; }
.reg-show-card>header { align-items:flex-start; gap:16px; padding-bottom:20px; border-bottom:1px solid #e2eaf1; }
.reg-show-card>header>div { flex:1; min-width:0; }
.reg-show-card>header small { display:block; color:#526d85; margin-bottom:7px; }
.reg-show-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.9fr); gap:24px; padding:22px 0; }
.reg-show-details { min-width:0; }
.reg-show-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; margin:0; }
.reg-show-facts dt,.reg-eligibility>span,.reg-provider>span { display:block; font-size:12px; font-weight:600; color:#526d85; margin-bottom:7px; }
.reg-show-facts dd { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.reg-show-facts .reg-deadline { grid-column:1/-1; }
.reg-deadline small { display:block; color:#526d85; font-size:12px; line-height:1.5; margin-top:6px; }
.reg-deadline-badge { background:#fff4d8; color:#80520b; font-size:11px; padding:3px 7px; border-radius:4px; }
.reg-eligibility { margin-top:22px; padding-top:18px; border-top:1px solid #e2eaf1; }
.reg-workspace .reg-eligibility p { font-size:13px; margin:0; }
.reg-workspace .reg-eligibility.reg-warning p { color:#80520b; }
.reg-show-controls { min-width:0; align-self:start; padding:18px; background:#f4f8fb; border:1px solid #e2eaf1; border-radius:8px; }
.reg-provider { display:grid; gap:8px; margin-top:20px; padding-top:18px; border-top:1px solid #d5e2ec; }
.reg-provider>span { margin:0; }
.reg-provider small { font-size:12px; line-height:1.5; color:#526d85; }
.reg-provider .reg-primary-link { justify-content:center; text-align:center; white-space:normal; overflow-wrap:anywhere; }
.reg-workspace .reg-show-controls .reg-status-feedback { font-size:12px; color:#176044; margin:8px 0 0; overflow-wrap:anywhere; }
.reg-workspace .reg-show-controls .reg-status-feedback.is-error { color:#aa2525; }
.reg-show-card>.reg-more { margin-top:0; }
@container registration-card (max-width:620px) {
  .reg-show-card>header { flex-direction:column; align-items:flex-start; }
  .reg-show-card>header>div { width:100%; }
  .reg-show-body { grid-template-columns:1fr; gap:20px; }
  .reg-show-controls { padding:12px; }
}
.reg-card-actions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:8px; margin:16px 0 0; }
.reg-card-actions>div { display:grid; gap:6px; }
.reg-primary-link { display:inline-flex; align-items:center; min-height:40px; padding:9px 12px; border-radius:6px; background:#096da8; color:white!important; font-weight:700; text-decoration:none; font-size:13px; }
.reg-card-actions small { max-width:250px; }
.reg-quick-status { display:grid; gap:6px; flex:1 1 260px; min-width:0; max-width:100%; font-size:13px; font-weight:600; text-transform:none!important; letter-spacing:normal!important; }
.reg-quick-status .reg-progress-button { width:100%; min-width:0; min-height:44px; white-space:normal; font-size:14px; margin-top:6px; }
.reg-current-status { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:6px; }
.reg-current-status>span { font-size:14px; font-weight:700; color:#173651; }
.reg-current-status-badge { display:block; max-width:100%; padding:10px 14px; border:1px solid #d5e2ec; border-radius:6px; background:#e9eef4; color:#29445e; font-size:17px; font-weight:800; line-height:1.4; overflow-wrap:anywhere; }
.reg-current-status-badge[data-status="Not registered yet"] { background:#fff3d4; border-color:#e6c573; color:#754900; }
.reg-current-status-badge[data-status="Submitted — awaiting confirmation"] { background:#e4f1ff; border-color:#96bfdf; color:#155483; }
.reg-current-status-badge[data-status="Registered"] { background:#e1f3e9; border-color:#98cbb1; color:#145a3c; }
.reg-quick-status .reg-progress-button:disabled { cursor:default; }
.reg-quick-status small { font-weight:400; color:#526d85; }
.reg-status-feedback:empty { display:none; }
.reg-workspace .reg-status-feedback.is-error { color:#aa2525; }
.reg-check { display:flex!important; align-items:center; gap:8px; font-size:13px; text-transform:none!important; letter-spacing:normal!important; }
.reg-check input { width:auto; min-height:0; margin:0; }
.reg-workspace .reg-notice:empty { display:none; }
.reg-notice:not(:empty) { padding:12px; border:1px solid #b6d5e8; border-radius:6px; background:#e6f3ff; }
.reg-show-select { display:grid; gap:7px; margin:16px 0; }
.reg-footnote { font-size:12px; padding:12px 0; }
.reg-empty { padding:24px; background:white; border:1px dashed #bdcdd9; border-radius:8px; }
.reg-history { margin:12px 0; border-bottom:1px solid #d5e2ec; padding:12px 0; overflow-wrap:anywhere; }
.reg-history dl { display:grid; grid-template-columns:1fr 2fr; gap:5px 10px; font-size:12px; }
.reg-history dd { margin:0; }
.reg-form [data-reg-error] { color:#aa2525; }
.reg-form .field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.reg-form label { min-width:0; }
.reg-form .reg-advisory { padding:14px; border:1px solid #e6c573; border-radius:8px; background:#fff8e7; color:#634609; }
.reg-form .reg-advisory ul { margin:8px 0; padding-left:22px; }
.reg-form .reg-advisory li { margin:5px 0; overflow-wrap:anywhere; }
.reg-form .reg-advisory p { margin:8px 0 0; color:inherit; }
@media(max-width:700px) {
  .reg-layout { display:block; }
  .reg-rail { border-right:0; border-bottom:1px solid #d5e2ec; border-radius:10px 10px 0 0; }
  .reg-dog-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reg-main { padding:4px 12px 15px; }
  .reg-fields,.reg-form .field-grid { grid-template-columns:1fr; }
  .reg-passport,.reg-show-card { padding:14px; }
  .reg-workspace details.reg-passport { padding:14px; }
  .reg-workspace h3 { font-size:21px; }
  .reg-card-actions { display:grid; grid-template-columns:1fr; }
  .reg-card-actions>button,.reg-primary-link { width:100%; justify-content:center; }
  .reg-history dl { grid-template-columns:1fr; }
  .reg-history dd { margin:0 0 8px; }
}
