:root{--bg:#f8fafc;--surface:#ffffff;--border:#e2e8f0;--accent:#2563eb;--accent-hover:#1d4ed8;--accent2:#ef4444;--text:#0f172a;--muted:#64748b;--green:#22c55e;--warning:#f59e0b;--teal:#14b8a6;--radius:10px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,sans-serif;min-height:100vh}h1{font-size:22px;font-weight:700;margin-bottom:24px}h2{font-size:16px;font-weight:600;margin-bottom:16px}input,select{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:10px 14px;font-size:14px;margin-bottom:16px;outline:none}input:focus,select:focus{border-color:var(--accent)}label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:var(--radius);border:none;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .15s}.btn:hover{opacity:.85}.btn-primary{background:var(--accent);color:#fff}.btn-ghost{background:var(--border);color:var(--text)}.btn-success{background:var(--green);color:#fff}.btn-full{width:100%;justify-content:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.slabel{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.svalue{font-size:28px;font-weight:800}.svalue.gold{color:var(--accent)}.svalue.green{color:var(--green)}.svalue.red{color:var(--accent2)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:24px}table{width:100%;border-collapse:collapse}th{padding:12px 20px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--border)}td{padding:13px 20px;font-size:14px;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}tr:hover td{background:#0f172a08}.badge{display:inline-flex;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:600}.badge-active{background:#22c55e26;color:var(--green)}.badge-exhausted{background:#f59e0b26;color:var(--warning)}.badge-inactive{background:#64748b26;color:var(--muted)}.badge-expired{background:#ef444426;color:var(--accent2)}.badge-paid{background:#22c55e26;color:var(--green)}.badge-pending{background:#f59e0b26;color:var(--warning)}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;align-items:center;justify-content:center;z-index:100}.modal-overlay.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:32px;width:480px;max-width:95vw;max-height:90vh;overflow-y:auto}.modal-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:20px;display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;min-width:140px}.filter-group label{margin-bottom:6px}.filter-group input,.filter-group select{margin-bottom:0;padding:8px 12px;font-size:13px}.summary-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 20px;margin-bottom:16px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}.pagination{display:flex;align-items:center;gap:8px;padding:16px 20px;justify-content:flex-end;flex-wrap:wrap}.page-btn{background:var(--border);border:none;color:var(--text);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px}.page-btn:hover,.page-btn.active-pg{background:var(--accent);color:#fff}.page-btn:disabled{opacity:.3;cursor:not-allowed}.page-info{font-size:13px;color:var(--muted)}.info-box{background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:var(--radius);padding:14px 18px;margin-bottom:20px;font-size:13px;color:var(--muted);line-height:1.6}.invoice-amount{color:var(--accent);font-weight:700}.empty{padding:48px;text-align:center;color:var(--muted)}.row{display:flex;gap:12px;align-items:center;margin-bottom:24px;flex-wrap:wrap}
