.registry-toolbar { display:grid; grid-template-columns:minmax(240px,1fr) auto auto; gap:12px; align-items:end; }
.registry-toolbar label span { display:block; font-weight:700; margin-bottom:6px; }
.registry-layout { display:grid; grid-template-columns:minmax(320px,.8fr) minmax(380px,1.2fr); gap:20px; margin-top:18px; align-items:start; }
.driver-list { display:grid; gap:10px; }
.driver-row { width:100%; display:flex; justify-content:space-between; gap:14px; align-items:center; text-align:left; background:white; color:var(--ink); border:1px solid var(--line); padding:15px; }
.driver-row:hover,.driver-row.selected { border-color:var(--green); box-shadow:0 3px 14px #176b4a18; }
.driver-row small { display:block; color:var(--muted); margin-top:2px; }
.driver-code { color:var(--green); font-size:12px; font-weight:800; }
.driver-detail h2 { margin-bottom:4px; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; margin-top:18px; }
.detail-item small { display:block; color:var(--muted); }
.documents { margin-top:22px; }
.document-row { border-top:1px solid var(--line); padding:12px 0; }
.document-row strong,.document-row span { display:block; }
.history-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:9px; }
.history-actions button { padding:8px 11px; font-size:13px; }
.history-image { display:block; max-width:100%; max-height:520px; object-fit:contain; margin-top:12px; border:1px solid var(--line); border-radius:8px; background:#f6f7f4; }
.history-ocr { white-space:pre-wrap; overflow:auto; max-height:360px; margin-top:12px; padding:12px; border-radius:8px; background:#f3f5f2; font-size:12px; }
.access-summary { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:18px; padding:14px; background:#f3f7f5; border-radius:10px; }
.access-modal { width:min(920px,calc(100vw - 28px)); max-height:88vh; border:0; border-radius:14px; padding:22px; box-shadow:0 18px 70px #10251c55; }
.access-modal::backdrop { background:#10251c99; }
.modal-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; position:sticky; top:-22px; margin:-22px -22px 10px; padding:20px 22px 14px; background:white; border-bottom:1px solid var(--line); z-index:2; }
.modal-heading h2,.modal-heading p { margin:0; }
.access-list { display:grid; gap:12px; }
.access-entry { padding:14px; border:1px solid var(--line); border-radius:10px; }
.access-entry-header { display:flex; justify-content:space-between; gap:12px; }
.access-entry small { display:block; color:var(--muted); margin-top:4px; }
.badge-valid { color:#0f6844; font-weight:800; }
.badge-expired { color:var(--danger); font-weight:800; }
.registry-empty { padding:26px; text-align:center; color:var(--muted); }
@media(max-width:800px){.registry-toolbar,.registry-layout,.detail-grid{grid-template-columns:1fr}.registry-toolbar button{width:100%}}
