.scanner-grants { padding:clamp(18px,3vw,30px); margin-bottom:24px; border:1px solid #dfe7f2; border-radius:24px; background:#fff; color:#172033; min-width:0; max-width:100%; scroll-margin-top:24px; }
.scanner-grants [hidden] { display:none !important; }
.scanner-grants h2 { margin:4px 0 10px; color:#061e45; font-size:clamp(23px,3vw,30px); }
.scanner-grants h3 { margin:0 0 10px; color:#061e45; font-size:20px; }
.scanner-grants p { line-height:1.6; }
.scanner-grants-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.scanner-grants-heading > div { min-width:0; max-width:800px; }
.scanner-grants-heading p { margin:0; color:#667085; }
.scanner-grants-kicker { font-size:12px; color:#8e6617; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.scanner-grants-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:24px 0; padding:20px; border:1px solid #dfe7f2; border-radius:16px; background:#f8fafc; align-items:end; }
.scanner-grants-field { display:grid; gap:8px; min-width:0; font-size:14px; font-weight:750; }
.scanner-grants-field input, .scanner-grants-field select { width:100%; min-width:0; max-width:100%; border:1px solid #cbd5e1; border-radius:12px; background:#fff; padding:12px; color:#172033; font:inherit; font-weight:450; }
.scanner-grants-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; max-width:100%; padding:12px 18px; border:1px solid #0b3d91; border-radius:12px; background:#0b3d91; color:#fff; font:inherit; font-size:14px; font-weight:750; text-align:center; cursor:pointer; }
.scanner-grants-secondary { color:#0b3d91; background:#eef4ff; border-color:#d4e2f8; }
.scanner-grants button:disabled { opacity:.55; cursor:wait; }
.scanner-grants button:focus-visible, .scanner-grants input:focus-visible, .scanner-grants select:focus-visible { outline:3px solid #8db4f0; outline-offset:3px; }
.scanner-grants-full { grid-column:1/-1; }
.scanner-grants-help { margin:0; color:#667085; font-size:13px; }
.scanner-grants-schedule { margin:0; color:#344054; font-size:13px; }
.scanner-grants-message { padding:14px 16px; margin:18px 0; border-radius:12px; background:#eef4ff; color:#164477; overflow-wrap:anywhere; }
.scanner-grants-message[data-kind="error"] { background:#fef2f2; color:#991b1b; }
.scanner-grants-message[data-kind="success"] { background:#ecfdf3; color:#166534; }
.scanner-grants-invite { padding:20px; margin:22px 0; border:1px solid #b7dfc7; border-radius:16px; background:#f0fdf4; min-width:0; }
.scanner-grants-invite p { font-size:14px; color:#28523a; margin:8px 0 14px; }
.scanner-grants-invite input { font-family:monospace; }
.scanner-grants-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.scanner-grants-invite .scanner-grants-actions { margin-top:14px; }
.scanner-grants-list-heading { margin-top:28px; }
.scanner-grants-list-heading p { margin:0 0 10px; color:#667085; font-size:14px; }
.scanner-grants-table-wrap { overflow-x:auto; width:100%; max-width:100%; margin-top:16px; border:1px solid #dfe7f2; border-radius:14px; }
.scanner-grants-table { width:100%; min-width:760px; border-collapse:collapse; font-size:14px; text-align:left; }
.scanner-grants-table th,.scanner-grants-table td { padding:15px 13px; border-bottom:1px solid #e7edf5; max-width:250px; overflow-wrap:anywhere; vertical-align:top; }
.scanner-grants-table th { background:#f3f6fb; color:#475569; font-size:12px; text-transform:uppercase; letter-spacing:.03em; }
.scanner-grants-table tr:last-child td { border-bottom:0; }
.scanner-grants-table small { display:block; color:#667085; font-size:12px; line-height:1.5; margin-top:7px; }
.scanner-grants-state { display:inline-block; padding:5px 9px; border-radius:99px; background:#eef4ff; color:#164477; font-size:12px; font-weight:750; }
.scanner-grants-state[data-state="active"] { background:#dcfce7; color:#166534; }
.scanner-grants-state[data-state="revoked"], .scanner-grants-state[data-state="expired"], .scanner-grants-state[data-state="inactive"] { background:#f1f5f9; color:#475569; }
.scanner-grants-state[data-state="pending"] { background:#fff5d6; color:#805400; }
.scanner-grants-small { border:1px solid #d4e2f8; background:#eef4ff; border-radius:9px; padding:9px 10px; color:#0b3d91; font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.scanner-grants-danger { color:#991b1b; background:#fff4f4; border-color:#fed7d7; }
.scanner-grants-empty { text-align:center; color:#667085; padding:28px !important; }
.scanner-grants-detail { padding-top:24px; margin-top:24px; border-top:1px solid #dfe7f2; }
.scanner-grants-detail > p { color:#667085; font-size:14px; overflow-wrap:anywhere; }
.scanner-grants-detail .scanner-grants-table { min-width:500px; }
@media(max-width:720px) {
    .scanner-grants-heading { flex-direction:column; }
    .scanner-grants-form { grid-template-columns:minmax(0,1fr); padding:14px; }
    .scanner-grants-invite { padding:14px; }
    .scanner-grants-invite .scanner-grants-button { flex:1 1 150px; }
}
