/* Register extends the shared ledger tokens; keep French navigation LTR. */
.registry{font-family:var(--fr);font-size:16px;line-height:1.6;--control-border:#8a8677}
.registry button,.registry input,.registry select{font:inherit;color:inherit}
.registry button,.registry input,.registry select{min-height:44px;border:1px solid var(--control-border);border-radius:2px;background:var(--sheet);padding:8px 12px}
.registry button{cursor:pointer;font-weight:500;line-height:1.4}
.registry button:hover{background:var(--navy-tint);border-color:var(--navy)}
.registry button:active{background:var(--navy-b)}
.registry button:disabled{opacity:.55;cursor:default}
.registry button.primary{background:var(--navy);border-color:var(--navy);color:white}
.registry button.primary:hover{background:var(--navy-d)}
.registry a{color:var(--navy);text-underline-offset:4px}
.registry :focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.registry ::selection{background:var(--navy-b);color:var(--ink)}
.registry input{caret-color:var(--navy);width:100%}
.registry label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:var(--ink-2)}
.registry h1{font-size:32px;line-height:1.25;font-weight:600;margin:0 0 16px}
.registry h2{font-size:24px;line-height:1.3;font-weight:500;margin:0 0 16px}
.registry h3{font-size:18px;font-weight:600;margin:0 0 12px}
.registry p{margin:0 0 16px;max-width:70ch}
.registry .hint,.registry .muted{color:var(--ink-3);font-size:14px}
.registry .hint{margin-top:8px}
.registry .bidi{font-family:var(--ar);font-size:18px;line-height:1.7;letter-spacing:normal;unicode-bidi:isolate;overflow-wrap:anywhere;font-style:normal;text-transform:none}
.registry .bidi[dir=ltr]{font-family:var(--fr);font-size:16px}
.registry .text-button{border-color:transparent;background:transparent;color:var(--navy)}
.registry .form-error{color:var(--red-ink);margin-top:16px}
.registry .form-error:empty{display:none}
.skip-link{position:absolute;inset-block-start:-100px;inset-inline-start:16px;padding:12px;background:var(--sheet);z-index:9}.skip-link:focus{inset-block-start:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.access-wrap{max-width:1080px;margin:auto;min-height:100dvh;display:grid;grid-template-columns:1fr 440px;gap:64px;align-items:center;padding:48px 32px}
.access-intro{align-self:center}.wordmark{font-weight:600;color:var(--navy);margin-bottom:48px!important}.wordmark span{display:block;font-size:14px;font-weight:400;color:var(--ink-3)}
.first-steps{padding-inline-start:24px;line-height:1.7;margin:32px 0}.first-steps li{padding-inline-start:8px;margin-block:12px}
.access-form{background:var(--sheet);border-block:1px solid var(--rule);padding:32px}
.access-form input,.access-form select{margin-bottom:16px;width:100%}.access-form .hint{margin-top:-8px}.access-form button[type=submit]{width:100%}
.registry-header{background:var(--sheet);border-bottom:1px solid var(--rule)}
.header-inner{max-width:1440px;margin:auto;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:16px 32px}.header-inner b{font-size:18px}.header-inner #school{display:block;font-size:14px;color:var(--ink-3);font-family:var(--ar)}
.session-tools{display:flex;gap:16px;align-items:center;font-size:14px}.session-tools button{font-size:14px}
.workspace-shell{max-width:1440px;margin:auto;display:grid;grid-template-columns:232px minmax(0,1fr)}
#navigation{padding:32px 16px;display:flex;flex-direction:column;gap:8px;border-inline-end:1px solid var(--rule)}
#navigation button,#navigation a{font-size:14px;text-align:start;padding:12px;min-height:48px;background:transparent;border-color:transparent;text-decoration:none}
#navigation button[aria-current=page]{background:var(--sheet);color:var(--navy);border:1px solid var(--navy-b);font-weight:600}
#navigation a{margin-top:24px;text-decoration:underline}
#workspace{padding:32px;min-width:0}.heading-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px}.heading-line h1{margin-bottom:8px}.heading-line p{margin:0}
.filter-form{background:var(--sheet);border:1px solid var(--rule);padding:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.filter-form .search-field{grid-column:1/-1}.filter-form select{width:100%}.filter-actions{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.filter-actions p{margin:0}
.results{background:var(--sheet);border:1px solid var(--rule);margin-top:24px}.result-header{padding:16px 24px;border-bottom:1px solid var(--hair);display:flex;justify-content:space-between;gap:16px;align-items:baseline}.result-header h2{font-size:18px;margin:0}.result-header p{font-family:var(--mono);font-size:14px;margin:0}
.registry ul.rows{list-style:none;margin:0;padding:0}.rows>li+li{border-top:1px solid var(--hair)}
.registry .pupil-row{border:0;border-radius:0;width:100%;padding:16px 24px;text-align:start;display:grid;grid-template-columns:minmax(0,1fr) 140px 130px;gap:16px;align-items:center}.pupil-row .name{font-weight:500;display:block;width:fit-content;max-width:100%}.pupil-row small{display:block;font-size:14px;font-weight:400;color:var(--ink-3)}
.badge{display:inline-block;font-size:14px;line-height:1.4;padding:4px 8px;color:var(--gold);background:var(--gold-tint);width:fit-content}.badge.verified,.badge.active{color:#315e2e;background:var(--green-tint)}.badge.archived,.badge.revoked{color:var(--ink-3);background:var(--paper)}
.pagination{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:16px 24px;border-top:1px solid var(--hair);font-size:14px}
.notice{padding:24px;background:var(--sheet-2);border:1px solid var(--rule);margin-block:24px}.notice p:last-child{margin-bottom:0}.error-block{padding:24px;background:var(--red-tint);color:var(--red-ink)}
.loading{padding:24px;color:var(--ink-3)}.skeleton{height:52px;margin-top:16px;border-block:1px solid var(--hair);background:var(--paper)}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--rule);margin:24px 0;background:var(--sheet)}.metric{padding:24px}.metric+.metric{border-inline-start:1px solid var(--hair)}.metric strong{display:block;font-family:var(--mono);font-size:24px;font-weight:500}.metric span{display:block;font-size:14px;color:var(--ink-3)}
.progress-line{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.progress-line progress{width:240px;height:10px;accent-color:var(--navy)}
.section-block{margin-top:32px}.source-batch{padding:24px 0;border-top:1px solid var(--rule)}.document-list{padding-inline-start:24px}.document-list li{overflow-wrap:anywhere}.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.coverage-grid h4{font-size:14px;margin:8px 0}.coverage-grid ul{padding-inline-start:20px;font-size:14px}
.class-row,.account-row{padding:20px 0;display:flex;justify-content:space-between;gap:24px;align-items:start}.account-row .actions{display:flex;gap:8px;flex-wrap:wrap}.account-row small{display:block;color:var(--ink-3)}
.inline-confirm,.invitation-result{padding:24px;background:var(--sheet);border:1px solid var(--navy-b);margin-block:16px}.inline-confirm button,.invitation-result button{margin:8px 8px 0 0}.invitation-result input{font-family:var(--mono);font-size:14px}
.detail-nav{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0;border-bottom:1px solid var(--rule);padding-bottom:12px}.detail-nav button[aria-pressed=true]{color:var(--navy);border-color:var(--navy);background:var(--navy-tint)}
.detail-heading{margin-top:24px}.detail-heading h1{margin-bottom:8px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.detail-section{min-width:0}.detail-section h3{border-bottom:1px solid var(--rule);padding-bottom:12px}.detail-fields{margin:0}.detail-field{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--hair)}.detail-field dt{font-size:14px;color:var(--ink-3)}.detail-field dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.detail-field .missing{color:var(--ink-3);font-size:14px}.detail-wide{grid-column:1/-1}.evidence{margin-top:24px;padding-top:24px;border-top:1px solid var(--rule)}.evidence summary{cursor:pointer;padding:12px 0;min-height:44px;font-weight:500}.history-item{padding:24px 0;border-top:1px solid var(--rule)}.data-tree{border-inline-start:1px solid var(--hair);padding-inline-start:16px;margin-block:8px}.data-tree dt{color:var(--ink-3);font-size:14px}.data-tree dd{margin:0 0 12px;overflow-wrap:anywhere;white-space:pre-wrap}.data-tree pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}
@media(max-width:1000px){.workspace-shell{grid-template-columns:1fr}#navigation{flex-direction:row;flex-wrap:wrap;border-inline-end:0;border-bottom:1px solid var(--rule);padding:12px 24px}#navigation a{margin-top:0}.access-wrap{gap:32px;grid-template-columns:1fr 380px;padding:32px 24px}.header-inner{padding-inline:24px}}
@media(max-width:700px){.access-wrap{display:block;padding:24px 16px}.access-intro h1{font-size:28px}.access-intro .first-steps{display:none}.wordmark{margin-bottom:24px!important}.access-form{padding:24px 16px;margin-top:24px}.header-inner{align-items:start;flex-direction:column;padding:16px;gap:12px}.session-tools{width:100%;justify-content:space-between}#navigation{padding:12px 8px;gap:4px}#navigation button,#navigation a{padding:10px 8px;font-size:14px}#navigation a{width:100%;min-height:44px}#workspace{padding:24px 16px}.registry h1{font-size:28px}.registry h2{font-size:22px}.heading-line{display:block}.filter-form{padding:16px;grid-template-columns:1fr 1fr;gap:16px 12px}.filter-form .state-field{grid-column:1/-1}.filter-actions p{width:100%}.result-header{padding:16px;flex-wrap:wrap;gap:4px}.registry .pupil-row{padding:16px;grid-template-columns:1fr auto;gap:12px}.pupil-row .identity{grid-column:1/-1}.pupil-row .placement{font-size:14px}.pagination{padding:16px;gap:8px;justify-content:space-between}.pagination button{padding:8px}.metrics{grid-template-columns:1fr}.metric{padding:16px}.metric+.metric{border-inline-start:0;border-top:1px solid var(--hair)}.coverage-grid,.detail-grid{grid-template-columns:1fr;gap:24px}.account-row,.class-row{flex-direction:column;gap:12px}.detail-field{grid-template-columns:110px minmax(0,1fr);gap:12px}.detail-wide{grid-column:auto}.notice,.inline-confirm,.invitation-result{padding:16px}}

.registry h1.bidi{font-size:32px;line-height:1.6}.registry .header-inner #school .bidi{font-size:14px}.enrollment{padding-block:16px;border-bottom:1px solid var(--hair)}.enrollment h3{margin:0 0 8px}.enrollment summary{padding-block:12px;min-height:44px;cursor:pointer;color:var(--navy)}
@media(max-width:700px){.registry h1.bidi{font-size:28px}}

/* Review forms use the existing paper sheet and reading hierarchy. */
.review-back { margin-block-end:16px }
.review-record { margin-block:16px 24px }
.review-record > h2 { margin-block-end:8px }
.review-record > .badge { margin-block-end:8px }
.review-page [hidden] { display:none !important }
.review-page form { margin-block:16px 24px }
.review-page fieldset { margin:0; padding:0; border:0; min-inline-size:0 }
.review-page textarea { width:100%; min-height:72px; resize:vertical; padding:8px 12px; border:1px solid var(--control-border); border-radius:2px; background:var(--sheet); color:inherit; font:inherit }
.review-page :is(input, textarea, select)[dir=auto] { font-family:var(--ar); line-height:1.6; letter-spacing:normal; unicode-bidi:isolate }
.review-page select { width:100%; min-width:0; max-width:100%; text-overflow:ellipsis }
.review-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-block:16px }
.review-short-form,.review-placement,.review-reason,.review-action-field,.review-queue-filter { max-width:36rem }
.review-placement { display:grid; gap:16px; margin-block:24px 16px }
.review-short-form { display:grid; gap:16px; margin-block:16px }
.review-short-form button { justify-self:start }
.review-export-format { max-width:15rem }
.review-compare { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.12fr); gap:24px; align-items:start; margin-block:24px }
.review-compare > * { min-width:0 }
.review-original,.review-snapshot,.review-feedback:not(:empty) { border:1px solid var(--rule); background:var(--sheet); padding:16px }
.review-original > p { margin-block-end:8px }
.review-evidence { border-block-start:1px solid var(--hair); padding-block:16px }
.review-evidence:last-child { padding-block-end:0 }
.review-evidence > p,.review-cleanup-row p,.review-rows p,.review-snapshot p { margin-block-end:8px }
.review-evidence .detail-field,.review-snapshot .detail-field { grid-template-columns:minmax(96px, .7fr) minmax(0, 1fr) }
.review-check { display:flex; align-items:center; gap:12px; margin-block:8px }
.registry .review-check input { flex:0 0 auto; width:20px; min-height:20px; margin:0; accent-color:var(--navy) }
.review-check label { display:flex; align-items:center; min-height:44px; margin:0; cursor:pointer }
.review-detail > summary { display:list-item; padding:12px 0; min-height:44px; font-weight:500; color:var(--navy); cursor:pointer; overflow-wrap:anywhere }
.review-profile-fields > details { border-block-end:1px solid var(--rule) }
.review-field-group { display:grid; gap:16px; padding-block:8px 16px }
.review-profile-field { min-width:0 }
.review-profile-field .hint { margin-block:4px 0 }
.review-profile-field.has-conflict .hint { color:var(--gold) }
.review-carry { margin-block:8px 0 }
.review-carry label { margin-block-end:4px }
.review-decision-controls { max-width:42rem }
.review-picker { margin-block:12px 16px }
.review-picker .review-detail > div { padding:12px; background:var(--sheet); border:1px solid var(--rule) }
.review-picker input { margin-block-end:8px }
.review-picker button { margin:4px 4px 0 0 }
.review-saved { background:var(--green-tint); color:#315e2e; padding:12px 16px; max-width:none!important }
.review-saved-decision + .review-saved-decision { border-block-start:1px solid var(--hair); margin-block-start:16px; padding-block-start:16px }
.review-rows > li,.review-cleanup-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0 }
.review-rows li > div,.review-cleanup-row > div { min-width:0 }
.review-rows h3 { margin-block-end:4px }
.review-rows button,.review-cleanup-row button { flex-shrink:0 }
.review-cleanup-row + .review-cleanup-row { border-block-start:1px solid var(--hair) }
.review-feedback .review-compare { margin-block:0 16px }
@media(max-width:850px) { .review-compare { grid-template-columns:1fr; gap:16px } }
@media(max-width:540px) {
  .review-rows > li,.review-cleanup-row { align-items:start; flex-direction:column; gap:4px }
  .review-original,.review-snapshot,.review-feedback:not(:empty) { padding:12px }
}
.review-saved:empty { display:none }
.review-record > h2.bidi { font-size:24px; line-height:1.4 }
.review-page .mixed-options { font-family:var(--ar); line-height:1.6; letter-spacing:normal }
.registry .review-check input { order:-1 }
