.registration-group-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin-bottom:24px; }
.registration-workspace .registration-group-card { display:flex; flex-direction:column; gap:7px; padding:18px; min-width:0; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--ink); text-decoration:none; }
.registration-group-card span { font-size:12px; overflow-wrap:anywhere; }
.registration-group-card strong { font-size:23px; font-variant-numeric:tabular-nums; }
.registration-group-card strong small { font-size:12px; font-weight:500; }
.registration-group-card small { font-size:11px; color:var(--muted); }
.registration-workspace .registration-group-card.is-selected { border-color:var(--accent); background:var(--accent-pale); box-shadow:inset 0 0 0 1px var(--accent); }
.registration-group-workspace { padding:24px; margin-bottom:26px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.registration-group-heading>span { color:var(--accent-dark); font-size:11px; font-weight:700; }
.registration-group-heading h2 { margin:5px 0 9px; font-size:19px; overflow-wrap:anywhere; }
.registration-group-heading p,.registration-group-help,.registration-retention-notice,.registration-download-actions p { font-size:12px; line-height:1.75; color:var(--muted); }
.registration-group-upload { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; margin:20px 0 12px; }
.registration-group-upload>div { flex:1 1 240px; min-width:0; }
.registration-group-upload label { display:block; margin-bottom:7px; font-size:12px; font-weight:650; }
.registration-group-upload select { width:100%; min-height:44px; padding:10px 12px; }
.registration-workspace .primary-action,.registration-workspace .search-secondary-link { min-height:44px; white-space:normal; text-align:center; cursor:pointer; }
.registration-workspace input[type=submit]:disabled,.registration-group-upload select:disabled { opacity:.55; cursor:not-allowed; }
.registration-group-warning { padding:12px; border-radius:8px; background:#fff5e8; color:#88511f; font-size:12px; }
.registration-download-actions { display:flex; flex-wrap:wrap; gap:20px; padding-top:20px; margin-top:20px; border-top:1px solid var(--line); }
.registration-download-actions>div { flex:1 1 230px; }
.registration-download-actions p { margin:8px 0 0; }
.registration-retention-notice { margin:20px 0 0; }
.registration-products-heading { font-size:17px; margin:0 0 12px; }
.registration-products-scroll { overflow-x:auto; }
.registration-products-scroll table { min-width:650px; }
.registration-date-note { margin:0 0 20px; color:var(--muted); font-size:12px; }
.registration-date-section { margin:0 0 24px; }
.registration-date-section > h2 { display:flex; align-items:center; gap:10px; margin:0 0 12px; color:var(--ink); font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; }
.registration-date-section > h2 small { color:var(--muted); font-size:11px; font-weight:500; }
.registration-workspace .registration-group-select { display:flex; flex-direction:column; gap:9px; color:inherit; text-decoration:none; }
.registration-group-select-label { color:var(--accent-dark); font-size:11px!important; font-weight:650; }
.registration-group-counts { display:flex; flex-wrap:wrap; gap:7px 12px; padding-block:8px; color:var(--muted); }
.registration-group-counts span { font-size:11px; }
.registration-group-counts b { color:var(--ink); font-variant-numeric:tabular-nums; }
.registration-workspace .registration-group-download { display:flex; align-items:center; justify-content:center; min-height:38px; margin-top:auto; font-size:11px; }
.registration-group-download.is-unavailable { color:var(--muted); background:#f4f6f5; border:1px solid var(--line); border-radius:7px; }
.registration-group-card .registration-group-warning { margin:0 0 8px; padding:9px; font-size:11px; }
.registration-group-empty { padding:35px; border:1px solid var(--line); border-radius:14px; background:white; text-align:center; }
.registration-group-empty h2 { margin-bottom:12px; font-size:18px; font-weight:700; }
.registration-group-empty p { margin-bottom:20px; color:var(--muted); font-size:13px; }
@media(max-width:600px) {
  .registration-group-cards { grid-template-columns:1fr; }
  .registration-group-workspace { padding:18px; }
  .registration-group-upload>div,.registration-group-upload .primary-action,.registration-group-upload .search-secondary-link { flex-basis:100%; width:100%; }
  .registration-download-actions .search-secondary-link { width:100%; }
}
