:root{--color-bg:#f7f8fa;--color-surface:#fff;--color-border:#e2e5ea;--color-text:#1a1d24;--color-muted:#6b7280;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:16px 24px}.app-title{font-size:18px;font-weight:700}.app-main{max-width:1000px;margin:0 auto;padding:24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.page-header h1{align-items:center;gap:12px;margin:0;font-size:22px;display:flex}.back-link{color:var(--color-primary);margin-bottom:16px;font-size:14px;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.muted{color:var(--color-muted);font-size:14px}.toolbar{margin-bottom:16px}.jump-form{gap:8px;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:20px;padding:20px}.card h2{margin-top:0;font-size:16px}.card h3{color:var(--color-muted);margin-top:24px;font-size:14px}.field-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px;display:grid}.field-grid label,.grant-form label{color:var(--color-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.input{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;padding:8px 10px;font-size:14px}.input-narrow{max-width:140px}.button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500}.button:hover:not(:disabled){background:var(--color-primary-hover)}.button:disabled{opacity:.5;cursor:not-allowed}.button-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.button-secondary:hover:not(:disabled){background:var(--color-bg)}.button-danger{background:var(--color-danger)}.button-danger:hover:not(:disabled){background:var(--color-danger-hover)}.table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;width:100%;font-size:14px;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 12px}.table th{background:var(--color-bg);text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted);font-size:12px}.row-link{cursor:pointer}.row-link:hover{background:var(--color-bg)}.empty-row{text-align:center;color:var(--color-muted);padding:24px}.pagination{color:var(--color-muted);align-items:center;gap:12px;margin-top:12px;font-size:13px;display:flex}.badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-green{color:#166534;background:#dcfce7}.badge-amber{color:#92400e;background:#fef3c7}.badge-red{color:#991b1b;background:#fee2e2}.badge-gray{color:#374151;background:#e5e7eb}.error-text{color:var(--color-danger);font-size:14px}.warning-text{color:#92400e;background:#fef3c7;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:13px}.grant-form{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:8px;display:flex}.positive{color:#166534;font-weight:600}.negative{color:var(--color-muted)}.program-item{border:1px solid var(--color-border);border-radius:6px;margin-bottom:8px}.program-item-header{cursor:pointer;justify-content:space-between;align-items:center;padding:12px;display:flex}.program-item-header:hover{background:var(--color-bg)}.program-edit-form{border-top:1px solid var(--color-border);padding:12px}.form-actions{gap:8px;display:flex}.sign-in-required{text-align:center;max-width:520px;margin:60px auto}.sign-in-actions{justify-content:center;gap:12px;margin:16px 0;display:flex}.sign-in-note{color:var(--color-muted);font-size:12px}a.button{text-decoration:none;display:inline-block}
