.records-section { margin:20px 0; border-top:1px solid var(--line); padding-top:18px; }
.records-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.records-heading h2 { margin:0; color:var(--brand-dark); }
.records-search { width:100%; max-width:420px; margin:16px 0; }
.records-dialog { background:var(--card); color:var(--ink); border:1px solid var(--line); border-radius:8px; width:min(760px,calc(100% - 24px)); max-height:85vh; padding:20px; }
.records-dialog::backdrop { background:var(--brand-dark); opacity:.55; }
.records-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.records-form label { display:flex; flex-direction:column; gap:5px; font-size:12px; min-width:0; }
.records-form input,.records-form select { width:100%; min-width:0; box-sizing:border-box; }
.records-form h3,.records-form .records-wide { grid-column:1/-1; }
.records-form h3 { margin:0; color:var(--brand-dark); }
.records-message { color:var(--brand-dark); font-size:13px; }
.records-hint { color:var(--brand-dark); opacity:.75; font-size:11px; font-weight:400; }
.records-message[role=alert] { color:var(--alert-red); }
.records-table { max-height:480px; overflow:auto; margin-bottom:18px; }
.records-table table { min-width:680px; }
@media(max-width:600px) { .records-form { grid-template-columns:1fr; } }