*,*::before,*::after{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;max-width:960px;margin:0 auto;padding:0 20px 60px;line-height:1.6;background:#fafbfc;color:#1a1d23}
a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:1.8rem;font-weight:700;margin:0 0 8px;color:#111827}
h2{font-size:1.3rem;font-weight:650;margin:32px 0 12px;color:#111827}
h3{font-size:1.05rem;font-weight:600;margin:20px 0 8px;color:#374151}
p{margin:0 0 12px}
.subtitle{color:#6b7280;font-size:0.92rem}
.muted{color:#9ca3af;font-size:0.85rem}
.container{min-height:100vh}

/* Header */
header{border-bottom:1px solid #e5e7eb;padding:14px 0;margin-bottom:20px}
.header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.brand{font-weight:700;color:#111827;font-size:1rem;text-decoration:none}
nav{display:flex;gap:12px;font-size:0.84rem}
nav a{color:#374151;padding:4px 10px;border-radius:4px}
nav a:hover{background:#f3f4f6;text-decoration:none}

/* Banners */
.receipt-banner{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:10px 14px;border-radius:6px;font-size:0.84rem;margin-bottom:20px;line-height:1.5}
.error-banner{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:10px 14px;border-radius:6px;font-size:0.88rem;margin-bottom:16px}
.status-msg{padding:10px 14px;border-radius:6px;font-size:0.88rem;margin-top:12px}
.status-msg.ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.status-msg.err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}

/* Buttons */
.btn-primary{background:#111827;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;font-size:0.9rem}
.btn-primary:hover{background:#1f2937}
.btn-secondary{background:#fff;color:#111827;border:1px solid #d1d5db;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;font-size:0.9rem;text-decoration:none;display:inline-block}
.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;text-decoration:none}

/* Tabs */
.tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid #e5e7eb;padding-bottom:0}
.tab{background:none;border:none;padding:10px 16px;cursor:pointer;font-size:0.88rem;font-weight:500;color:#6b7280;border-bottom:2px solid transparent;margin-bottom:-1px}
.tab.active{color:#111827;border-bottom-color:#111827;font-weight:600}
.tab:hover{color:#111827}

/* Forms */
label{display:block;margin-bottom:14px;font-size:0.88rem;font-weight:500;color:#374151}
input[type="text"],input[type="email"],input[type="date"],select,textarea{display:block;width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:0.9rem;margin-top:4px}
textarea{font-family:monospace;font-size:0.82rem}
input:focus,select:focus,textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,0.1)}
.filter-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.filter-row label{flex:1;min-width:120px}
.filter-row button{margin-bottom:14px}

/* Dashboard */
.dash-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}

/* Agent list */
.agent-item{padding:10px 14px;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;background:#fff;font-size:0.88rem}
.agent-item strong{color:#111827}

/* Receipts list */
.receipt-item{padding:10px 14px;border:1px solid #f3f4f6;border-radius:6px;margin-bottom:6px;background:#fff;font-size:0.84rem}
.receipt-item code{background:#f3f4f6;padding:1px 5px;border-radius:3px;font-size:0.8rem}

/* Nonce display */
.nonce-display{display:block;word-break:break-all;background:#f3f4f6;padding:10px 14px;border-radius:6px;margin:8px 0 16px;font-size:0.82rem}

/* Link section */
.link-section{margin-top:28px;padding-top:24px;border-top:1px solid #e5e7eb}

/* Plan cards */
.plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.plan-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:18px;text-align:center}
.plan-card h3{margin:0 0 6px;font-size:1rem}
.plan-card p{font-size:0.84rem;color:#6b7280;margin:0 0 12px}
@media(max-width:640px){.plan-cards{grid-template-columns:1fr}.filter-row{flex-direction:column}}

/* Bundle result */
#bundle-result{margin-top:16px}
#bundle-result pre{background:#f3f4f6;padding:14px;border-radius:6px;overflow-x:auto;max-height:300px;font-size:0.78rem}
