:root{--nl-indigo: #2110c8;--nl-indigo-hover: #1f0eb8;--nl-indigo-accent: #311aff;--nl-cyan: #1babe3;--nl-cyan-hover: #169ed2;--nl-cyan-tint: #e6f8ff;--nl-bg: #f5f5f5;--nl-surface: #ffffff;--nl-text: #1d1d1b;--nl-text-strong: #0c0c0c;--nl-text-muted: #515151;--nl-border: #e4e4e4;--nl-border-light: #eaeaea}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--nl-bg);color:var(--nl-text);font-family:Open Sans,Segoe UI,Arial,sans-serif;font-size:14px}h1,h2,h3{font-family:Spartan,Open Sans,sans-serif;color:var(--nl-text-strong)}h1{font-size:22px;font-weight:600;margin:0 0 4px}h2{font-size:16px;font-weight:600;margin:0 0 12px}a{color:var(--nl-indigo)}.page-intro{color:var(--nl-text-muted);margin:0 0 20px}.card{background:var(--nl-surface);border:1px solid var(--nl-border);border-radius:10px;padding:20px;box-shadow:0 1px 4px #0000000f}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--nl-surface);border:1px solid var(--nl-border);border-radius:10px;padding:18px 20px}.stat-card .stat-label{color:var(--nl-text-muted);font-size:13px;margin-bottom:6px}.stat-card .stat-value{font-family:Spartan,Open Sans,sans-serif;font-size:28px;font-weight:700;line-height:1.1;color:var(--nl-indigo)}.stat-card .stat-detail{color:var(--nl-text-muted);font-size:12px;margin-top:6px}.stat-card.stat-danger .stat-value{color:#c62828}.stat-card.stat-ok .stat-value{color:#2e7d32}table.data-table{width:100%;border-collapse:collapse;background:var(--nl-surface)}table.data-table th,table.data-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--nl-border-light);vertical-align:top}table.data-table th{font-family:Spartan,Open Sans,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--nl-text-muted);background:var(--nl-bg);white-space:nowrap}table.data-table tr:hover td{background:var(--nl-cyan-tint)}table.data-table th.num,table.data-table td.num{text-align:right}table.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.data-table th.sortable:hover{color:var(--nl-indigo)}table.data-table .sort-indicator{font-size:9px;color:var(--nl-indigo)}table.data-table td.wrap{white-space:pre-wrap;word-break:break-word;max-width:480px}.pagination{display:flex;align-items:center;gap:12px;padding:12px}.pagination button{font-family:Spartan,Open Sans,sans-serif;background:transparent;color:var(--nl-indigo);border:1px solid var(--nl-indigo);padding:7px 16px 5px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer}.pagination button:disabled{opacity:.4;cursor:default}.pagination button:not(:disabled):hover{background:var(--nl-indigo);color:#fff}.pagination .pagination-info{font-size:13px;color:var(--nl-text-muted)}.pagination select{margin-left:auto;border:1px solid var(--nl-border);border-radius:8px;padding:6px 10px;font-size:13px;color:var(--nl-text);background:var(--nl-surface)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge-ok{background:#e3f3e5;color:#2e7d32}.badge-pending{background:#fff3e0;color:#b26a00}.badge-error{background:#fdecea;color:#c62828}.badge-neutral{background:var(--nl-cyan-tint);color:var(--nl-cyan-hover)}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar input[type=text]{padding:8px 14px;border:1px solid #cecece;border-radius:999px;min-width:240px;font-size:14px;font-family:inherit}.toolbar input[type=text]:focus{outline:2px solid var(--nl-cyan);outline-offset:-1px}.toolbar .toolbar-spacer{flex:1}.toolbar .toolbar-count{color:var(--nl-text-muted);font-size:13px}.filter-group{display:inline-flex;border:1px solid #cecece;border-radius:999px;overflow:hidden;background:var(--nl-surface)}.filter-group button{background:transparent;border:none;padding:8px 16px;cursor:pointer;font-size:13px;font-family:inherit;color:var(--nl-text-muted)}.filter-group button:not(:last-child){border-right:1px solid var(--nl-border-light)}.filter-group button.active{background:var(--nl-cyan);color:#fff}.empty-state,.loading{padding:32px;text-align:center;color:var(--nl-text-muted)}
