.page{max-width:1200px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header h2{font-size:1.5rem;font-weight:700}.btn-refresh{background:var(--bg-card);color:var(--text);border:1px solid var(--border);padding:8px 16px;border-radius:var(--radius);font-size:.85rem;font-weight:500;transition:all .15s ease}.btn-refresh:hover{background:var(--bg-input)}.filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filters input,.filters select{background:var(--bg-card);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:var(--radius);font-size:.85rem;outline:none;transition:border-color .15s ease}.filters input:focus,.filters select:focus{border-color:var(--accent)}.filters input{flex:1;min-width:160px}.btn-primary{background:var(--accent);color:#fff;border:none;padding:8px 20px;border-radius:var(--radius);font-size:.85rem;font-weight:600;transition:background .15s ease}.btn-primary:hover{background:var(--accent-hover)}.error-banner{background:#fef2f2;border:1px solid var(--danger);color:var(--danger);padding:12px 16px;border-radius:var(--radius);margin-bottom:16px;font-size:.85rem}.loading,.empty-state{text-align:center;padding:48px;color:var(--text-muted);font-size:.95rem}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card)}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th{background:var(--bg-input);color:var(--text-muted);font-weight:600;text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.data-table td{padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.data-table tbody tr:hover{background:var(--bg-input)}.data-table tbody tr:last-child td{border-bottom:none}.cell-date{color:var(--text-muted);font-size:.8rem}.cell-context{color:var(--text-muted);font-size:.8rem;font-family:monospace}.badge{display:inline-block;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-success{background:#f0fdf4;color:var(--success)}.badge-warning{background:#fffbeb;color:var(--warning)}.badge-danger{background:#fef2f2;color:var(--danger)}.btn-monkey-sm{background:var(--monkey);color:#fff;border:none;padding:4px 12px;border-radius:var(--radius);font-size:.75rem;font-weight:600;white-space:nowrap;transition:background .15s ease}.btn-monkey-sm:hover{background:#c2410c}.monkey-badge{font-size:.75rem;color:var(--monkey);font-weight:600;white-space:nowrap}.page-subtitle{color:var(--text-muted);font-size:.85rem;margin-top:4px}.page-subtitle code{background:var(--bg-input);padding:2px 6px;border-radius:4px;font-size:.8rem;color:var(--monkey)}.add-form{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.add-form input{background:var(--bg-card);border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:var(--radius);font-size:.9rem;outline:none;transition:border-color .15s ease;flex:1;min-width:180px}.add-form input:focus{border-color:var(--monkey)}.btn-monkey{background:var(--monkey);color:#fff;border:none;padding:10px 24px;border-radius:var(--radius);font-size:.9rem;font-weight:600;white-space:nowrap;transition:all .15s ease}.btn-monkey:hover:not(:disabled){background:#c2410c}.btn-monkey:disabled{opacity:.6}.blacklist-grid{display:flex;flex-direction:column;gap:8px}.blacklist-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;transition:border-color .15s ease}.blacklist-card:hover{border-color:var(--monkey)}.card-info{display:flex;flex-direction:column;gap:2px}.card-number{font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums}.card-reason{font-size:.8rem;color:var(--text-muted)}.btn-release{background:none;border:1px solid var(--border);color:var(--text-muted);padding:6px 14px;border-radius:var(--radius);font-size:.8rem;font-weight:500;transition:all .15s ease}.btn-release:hover{border-color:var(--success);color:var(--success)}.empty-monkey{font-size:3rem;margin-bottom:12px}.text-muted{color:var(--text-muted);font-size:.85rem}.how-it-works{margin-top:40px;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.how-it-works h3{font-size:.9rem;font-weight:600;margin-bottom:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.how-it-works p{font-size:.85rem;color:var(--text-muted);line-height:1.6}.how-it-works code{background:var(--bg-input);padding:2px 6px;border-radius:4px;font-size:.8rem;color:var(--monkey)}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:24px 16px;flex-shrink:0}.sidebar-header{margin-bottom:32px}.logo{font-size:1.25rem;font-weight:700;color:var(--text);letter-spacing:-.5px}.nav-links{display:flex;flex-direction:column;gap:4px;flex:1}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);color:var(--text-muted);font-size:.9rem;font-weight:500;transition:all .15s ease}.nav-link:hover{background:var(--bg-input);color:var(--text)}.nav-link.active{background:var(--accent);color:#fff}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.user-info{font-size:.8rem;color:var(--text-muted);margin-bottom:8px}.btn-logout{background:none;border:1px solid var(--border);color:var(--text-muted);padding:6px 12px;border-radius:var(--radius);font-size:.8rem;width:100%;transition:all .15s ease}.btn-logout:hover{border-color:var(--danger);color:var(--danger)}.content{flex:1;padding:32px;overflow-y:auto}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f8f9fa;--bg-card: #ffffff;--bg-input: #f1f3f5;--border: #dee2e6;--text: #212529;--text-muted: #868e96;--accent: #2563eb;--accent-hover: #1d4ed8;--danger: #dc2626;--danger-hover: #b91c1c;--success: #16a34a;--warning: #d97706;--monkey: #ea580c;--radius: 8px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}a{color:var(--accent);text-decoration:none}
