# DRE Portal Pages

Last updated: Jul 8, 2026

## File locations

### Public portal — portal.debtrecoveryexperts.com
Root: `/var/www/capabilities/`

| File | Purpose | Auth |
|------|---------|------|
| `debt-recovery.html` | Claim intake form (split-screen) | Turnstile only |
| `login.html` | Login page with SSO button | None (points to internal) |
| `dre-fee-calculator.html` | Fee calculator | None |
| `dre-pay.html` | Payment page | None |

### Internal portal — internal.debtrecoveryexperts.com
Root: `/var/www/internal/`
Auth: Cloudflare Access SSO (`@germainebrown.com` and `@yahoo.com` domains)

| File | Purpose |
|------|---------|
| `index.html` | Landing page with 4 card links |
| `dre-dashboard.html` | Claims dashboard with AI analysis |
| `dre-case-aging.html` | Days-in-stage tracking, overdue alerts |
| `letter-queue.html` | Demand letters pending review/approval |
| `dre-client-dashboard.html` | LIGHT theme — what clients see |

## Persistent nav (all internal pages)
5 links: Home, Claims, Aging, Letters, Clients. Active link gets `class="nav-link active"`. CSS:

```css
.nav-link { font-size:13px; color:#94a3b8; text-decoration:none; transition:color 0.15s; }
.nav-link:hover { color:#f59e0b; }
.nav-link.active { color:#f59e0b; font-weight:500; }
```

Dark theme (most pages): `bg-[#0f172a] border-b border-[#1e293b]`
Light theme (client view): `bg-white border-b border-gray-200`

## DRE Logo (Concept C)
```
D (amber-500) | (gray-400) R (slate-400) | (gray-400) E (amber-500)
```
Inside `w-8 h-8 rounded-lg` badge with `bg-[#1e293b]` (dark) or `bg-white` (light).
Wordmark: "DEBT Recovery Experts" (uppercase DEBT, rest normal case).

## Caddy config pattern
```
portal.debtrecoveryexperts.com {
    root * /var/www/capabilities
    try_files {path} /debt-recovery.html
    file_server
}
internal.debtrecoveryexperts.com {
    header Access-Control-Allow-Origin "*"
    root * /var/www/internal
    try_files {path} {path}.html /index.html
    file_server
}
```

## File permission gotcha
`write_file` creates files at 600. Caddy (non-root) can't read → 403. Always chmod to 644 after creating HTML files.

## Agent DRE chatbot pattern
Frontend-only JS with keyword matching in `getAnswer()`. Responses should be short elevator pitches (2 sentences + follow-up question), not detailed process dumps. Matches on: fee, document, process/work, time, texas/lien, what is DRE, hello, login.
