@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root,[data-theme=dark]{--bg-primary:#151821;--bg-surface:#181c26;--bg-surface-elevated:#1b202c;--bg-surface-sunken:#11141c;--bg-card:#181c26;--bg-sidebar:#141720;--bg-topbar:#141720d9;--bg-input:#12151e;--nm-flat:8px 8px 18px #0d0f15, -8px -8px 18px #232937;--nm-flat-sm:5px 5px 12px #0d0f15, -5px -5px 12px #232937;--nm-flat-lg:12px 12px 28px #0c0e14, -12px -12px 28px #242a38;--nm-inset:inset 4px 4px 8px #0d0f15, inset -4px -4px 8px #232937;--nm-inset-sm:inset 2px 2px 5px #0d0f15, inset -2px -2px 5px #232937;--nm-convex:linear-gradient(145deg, #1c212d, #141720);--nm-concave:linear-gradient(145deg, #141720, #1c212d);--border:1px solid #ffffff0a;--border-active:1px solid #6366f166;--border-subtle:1px solid #ffffff05;--accent:#6366f1;--accent-hover:#4f46e5;--accent-light:#818cf8;--accent-glow:0 0 20px #6366f159;--accent-bg:#6366f126;--cyan:#06b6d4;--cyan-glow:0 0 20px #06b6d459;--success:#10b981;--success-glow:0 0 16px #10b98159;--success-bg:#10b98126;--danger:#ef4444;--danger-glow:0 0 16px #ef444459;--danger-bg:#ef444426;--warning:#f59e0b;--warning-glow:0 0 16px #f59e0b59;--warning-bg:#f59e0b26;--purple:#a855f7;--purple-bg:#a855f726;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0f172a;--scrollbar-thumb:#374156;--scrollbar-thumb-hover:#566585;--scrollbar-track:#0d1017}[data-theme=light]{--bg-primary:#e6ebf2;--bg-surface:#e6ebf2;--bg-surface-elevated:#edf2f9;--bg-surface-sunken:#dae1eb;--bg-card:#e6ebf2;--bg-sidebar:#e3e8ef;--bg-topbar:#e3e8efe0;--bg-input:#dee4ee;--nm-flat:8px 8px 18px #c2c9d6, -8px -8px 18px #fff;--nm-flat-sm:5px 5px 12px #c4cbd8, -5px -5px 12px #fff;--nm-flat-lg:12px 12px 28px #bac2cf, -12px -12px 28px #fff;--nm-inset:inset 4px 4px 8px #c2c9d6, inset -4px -4px 8px #fff;--nm-inset-sm:inset 2px 2px 5px #c2c9d6, inset -2px -2px 5px #fff;--nm-convex:linear-gradient(145deg, #f6fbff, #d0d4da);--nm-concave:linear-gradient(145deg, #d0d4da, #f6fbff);--border:1px solid #fff9;--border-active:1px solid #4f46e566;--border-subtle:1px solid #0000000a;--accent:#4f46e5;--accent-hover:#4338ca;--accent-light:#6366f1;--accent-glow:0 0 20px #4f46e540;--accent-bg:#4f46e51a;--cyan:#0891b2;--cyan-glow:0 0 20px #0891b240;--success:#059669;--success-glow:0 0 16px #05966940;--success-bg:#0596691a;--danger:#dc2626;--danger-glow:0 0 16px #dc262640;--danger-bg:#dc26261a;--warning:#d97706;--warning-glow:0 0 16px #d9770640;--warning-bg:#d977061a;--purple:#9333ea;--purple-bg:#9333ea1a;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#8392a5;--text-inverse:#fff;--scrollbar-thumb:#9baac1;--scrollbar-thumb-hover:#7385a0;--scrollbar-track:#caced6}:root{--radius:18px;--radius-sm:12px;--radius-lg:24px;--radius-xl:30px;--transition:all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;transition:background .3s,color .3s}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:6px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:1px solid #ffffff0d;border-radius:6px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);border:1px solid #ffffff1a}.app-layout{background:var(--bg-primary);min-height:100vh;display:flex}.sidebar{background:var(--bg-sidebar);z-index:100;border-right:var(--border);flex-direction:column;gap:1.25rem;width:270px;padding:1.25rem 1rem;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:4px 0 20px #00000040}.sidebar-brand{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--nm-flat-sm);border:var(--border);align-items:center;gap:.85rem;padding:.85rem 1rem;text-decoration:none;display:flex}.brand-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.brand-icon img{object-fit:contain;filter:drop-shadow(0 2px 8px #0003);width:100%;height:100%}.brand-text h2{background:linear-gradient(135deg, var(--text-primary), var(--accent-light));-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:800;line-height:1.2}.brand-text span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;display:flex;overflow-y:auto}.nav-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.6rem .8rem .2rem;font-size:.7rem;font-weight:700}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition);background:0 0;align-items:center;gap:.85rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.nav-link:hover{color:var(--text-primary);box-shadow:var(--nm-flat-sm);background:var(--bg-surface);transform:translateY(-1px)}.nav-link.active{color:var(--accent-light);background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);font-weight:700}.sidebar-footer{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--nm-flat-sm);border:var(--border);padding:.85rem 1rem}.main-content{background:var(--bg-primary);flex-direction:column;flex:1;min-height:100vh;margin-left:270px;display:flex}.top-bar{background:var(--bg-topbar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:90;border-bottom:var(--border);justify-content:space-between;align-items:center;height:70px;padding:0 2rem;display:flex;position:sticky;top:0}.page-content{flex-direction:column;flex:1;gap:1.75rem;width:100%;max-width:1600px;margin:0 auto;padding:2rem 2.25rem 3.5rem;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header h1{letter-spacing:-.02em;color:var(--text-primary);font-size:1.85rem;font-weight:800}.page-header p{color:var(--text-secondary);margin-top:.25rem;font-size:.92rem}.tab-group{background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);border-radius:var(--radius);border:var(--border);flex-wrap:wrap;gap:.75rem;margin-bottom:2rem;padding:.5rem;display:flex}.tab-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:.65rem;padding:.85rem 1.5rem;font-size:.9rem;font-weight:700;display:inline-flex}.tab-btn:hover{color:var(--text-primary);transform:translateY(-1px)}.tab-btn.active{background:var(--bg-surface);color:var(--accent-light);box-shadow:var(--nm-flat-sm)}.tab-count{background:var(--bg-surface-sunken);color:var(--accent-light);box-shadow:var(--nm-inset-sm);border-radius:10px;margin-left:.35rem;padding:.2rem .65rem;font-size:.75rem;font-weight:800}.param-chips-grid{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.param-chip{background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid var(--border-subtle);align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.76rem;line-height:1.2;display:inline-flex}.param-chip strong{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-weight:800}.param-chip svg{color:var(--accent-light)}.ip-tag{background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);color:var(--text-primary);border:1px solid var(--border-subtle);transition:var(--transition);border-radius:8px;align-items:center;gap:.45rem;padding:.3rem .65rem;font-family:JetBrains Mono,monospace;font-size:.78rem;display:inline-flex}.ip-tag:hover{background:var(--bg-surface-elevated);box-shadow:var(--nm-flat-sm)}.ip-tag .remove{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0 .15rem;display:flex}.ip-tag .remove:hover{color:var(--danger)}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--nm-flat);border:var(--border);transition:var(--transition);padding:2rem 2.25rem}.card:hover{box-shadow:var(--nm-flat-lg)}.card-header{border-bottom:var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:1.75rem;padding-bottom:1.25rem;display:flex}.card-title{color:var(--text-primary);align-items:center;gap:.65rem;margin:0;font-size:1.2rem;font-weight:800;display:flex}.card-body{padding:0}.csf-two-col-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (width<=1100px){.csf-two-col-grid{grid-template-columns:1fr}}.csf-action-card,.csf-info-card{padding:2.25rem 2.5rem!important}.search-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.75rem;display:flex}.search-input-wrap{flex:1;align-items:center;min-width:280px;display:flex;position:relative}.search-input-wrap svg{color:var(--text-muted);pointer-events:none;position:absolute;left:1.15rem}.search-input-wrap input{background:var(--bg-surface-sunken);width:100%;box-shadow:var(--nm-inset-sm);border-radius:var(--radius-sm);color:var(--text-primary);transition:var(--transition);border:1px solid #0000;outline:none;padding:.85rem 1.25rem .85rem 3rem;font-family:inherit;font-size:.92rem}.search-input-wrap input:focus{border-color:var(--accent);box-shadow:var(--nm-inset-sm), 0 0 12px #6366f140}.filter-controls{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.csf-quick-form{flex-direction:column;gap:1.6rem;display:flex}.form-group{flex-direction:column;gap:.65rem;display:flex}.form-label{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}.form-input,.form-select{background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);border-radius:var(--radius-sm);color:var(--text-primary);transition:var(--transition);border:1px solid #0000;outline:none;width:100%;padding:.95rem 1.25rem;font-family:inherit;font-size:.92rem}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:var(--nm-inset-sm), 0 0 12px #6366f140}.csf-radio-group{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.csf-radio-chip{border-radius:var(--radius-sm);background:var(--bg-surface);box-shadow:var(--nm-flat-sm);cursor:pointer;border:var(--border);color:var(--text-secondary);transition:var(--transition);-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-size:.88rem;font-weight:700;display:flex}.csf-radio-chip:hover{color:var(--text-primary);box-shadow:var(--nm-flat);transform:translateY(-1px)}.csf-radio-chip.active{background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);color:var(--accent-light)}.csf-radio-chip.active.danger{color:var(--danger);border-color:#ef444459}.csf-radio-chip.active.success{color:var(--success);border-color:#10b98159}.csf-radio-chip input[type=radio]{accent-color:var(--accent);cursor:pointer}.csf-ports-grid{grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:2rem;width:100%;display:grid}.port-config-card{background:var(--bg-surface);border-radius:var(--radius);box-shadow:var(--nm-flat-sm);border:var(--border);transition:var(--transition);flex-direction:column;gap:1.25rem;padding:1.75rem 2rem;display:flex}.port-config-card:hover{box-shadow:var(--nm-flat)}.port-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.port-card-title{align-items:center;gap:.75rem;display:flex}.port-card-title h4{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:800}.port-textarea{background:var(--bg-surface-sunken);width:100%;box-shadow:var(--nm-inset-sm);border-radius:var(--radius-sm);color:var(--text-primary);resize:vertical;min-height:90px;transition:var(--transition);border:1px solid #0000;outline:none;padding:1rem 1.25rem;font-family:JetBrains Mono,monospace;font-size:.92rem;line-height:1.6}.port-textarea:focus{border-color:var(--accent);box-shadow:var(--nm-inset-sm), 0 0 12px #6366f140}.port-presets-wrap{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.preset-pill-btn{background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);color:var(--accent-light);cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;padding:.4rem .8rem;font-size:.78rem;font-weight:700}.preset-pill-btn:hover{background:var(--bg-surface);box-shadow:var(--nm-flat-sm);transform:translateY(-1px)}.csf-feature-list{flex-direction:column;gap:1.25rem;display:flex}.csf-feature-item{border-radius:var(--radius-sm);background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);border:var(--border);transition:var(--transition);align-items:flex-start;gap:1.35rem;padding:1.35rem 1.6rem;display:flex}.csf-feature-item:hover{box-shadow:var(--nm-flat-sm);background:var(--bg-surface);transform:translateY(-1px)}.csf-feature-icon{flex-shrink:0;margin-top:2px;font-size:1.5rem;line-height:1}.csf-feature-text strong{color:var(--text-primary);margin-bottom:.35rem;font-size:.98rem;font-weight:800;display:block}.csf-feature-text p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.6}.csf-tabs{background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);border-radius:var(--radius);border:var(--border);flex-wrap:wrap;gap:.75rem;margin-bottom:2rem;padding:.5rem;display:flex}.csf-tab-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;align-items:center;gap:.65rem;padding:.85rem 1.5rem;font-size:.9rem;font-weight:700;display:inline-flex}.csf-tab-btn:hover{color:var(--text-primary);transform:translateY(-1px)}.csf-tab-btn.active{background:var(--bg-surface);color:var(--accent-light);box-shadow:var(--nm-flat-sm)}.btn{cursor:pointer;transition:var(--transition);box-shadow:var(--nm-flat-sm);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.65rem;padding:.85rem 1.5rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--nm-flat);transform:translateY(-1px)}.btn:active{box-shadow:var(--nm-inset-sm);transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 14px #6366f166}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:var(--border)}.btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 14px #ef444466}.btn-success{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 14px #10b98166}.btn-ghost{color:var(--text-secondary);box-shadow:none;background:0 0}.btn-ghost:hover{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--nm-flat-sm)}.btn-block{width:100%}.btn-sm{border-radius:10px;padding:.6rem 1.15rem;font-size:.82rem}.badge{text-transform:uppercase;letter-spacing:.04em;background:var(--bg-surface);box-shadow:var(--nm-flat-sm);border:var(--border);border-radius:20px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.75rem;font-weight:800;display:inline-flex}.badge-info{color:var(--accent-light);background:var(--accent-bg)}.badge-success{color:var(--success);background:var(--success-bg)}.badge-danger{color:var(--danger);background:var(--danger-bg)}.badge-warning{color:var(--warning);background:var(--warning-bg)}.mono-badge{background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);border:var(--border);color:var(--text-primary);letter-spacing:.02em;border-radius:7px;align-items:center;padding:.35rem .65rem;font-family:JetBrains Mono,monospace;font-size:.84rem;font-weight:600;display:inline-flex}.mono-badge.red{color:var(--danger);background:#ef444414;border-color:#ef444440}.mono-badge.green{color:var(--success);background:#10b98114;border-color:#10b98140}.icon-action-btn{background:var(--bg-surface);width:28px;height:28px;box-shadow:var(--nm-flat-sm);border:var(--border);color:var(--text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.icon-action-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--accent-glow);transform:translateY(-1px)}.icon-action-btn:active{box-shadow:var(--nm-inset-sm);transform:translateY(0)}.country-chip{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.82rem;font-weight:500;display:inline-flex}.table-comment{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:.84rem;display:inline-block;overflow:hidden}.port-tag{background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);border:var(--border);color:var(--cyan);border-radius:5px;padding:.25rem .55rem;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600}.ttl-countdown{color:var(--warning);background:var(--warning-bg);border-radius:5px;align-items:center;gap:.35rem;padding:.25rem .55rem;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600;display:inline-flex}.btn-unban{align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.82rem;display:inline-flex}.csf-log-filter-group{background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);border-radius:var(--radius-sm);border:var(--border);align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.log-filter-chip{letter-spacing:.05em;color:var(--text-secondary);cursor:pointer;text-transform:uppercase;background:0 0;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.72rem;font-weight:700;transition:all .2s}.log-filter-chip:hover{color:var(--text-primary);background:#ffffff0f}.log-filter-chip.active{background:var(--accent);color:#fff;box-shadow:var(--accent-glow)}.btn-live-active{border-radius:var(--radius-sm);background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);color:var(--text-primary);cursor:pointer;transition:var(--transition);border:1px solid #6366f173;align-items:center;gap:.5rem;padding:.45rem .95rem;font-size:.82rem;font-weight:700;display:inline-flex}.btn-live-active:hover{border-color:var(--accent-light);color:#fff}.icon-btn-round{border-radius:50%!important;justify-content:center!important;align-items:center!important;width:34px!important;min-width:34px!important;height:34px!important;padding:0!important;display:inline-flex!important}.csf-auto-refresh-toggle{background:var(--bg-surface);box-shadow:var(--nm-flat-sm);border:var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.csf-auto-refresh-toggle:hover{color:var(--text-primary);border-color:var(--border-active)}.csf-auto-refresh-toggle input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.live-pulse-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulseLive;display:inline-block;box-shadow:0 0 8px #10b981}@keyframes pulseLive{0%{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.25);box-shadow:0 0 12px #10b981}to{opacity:.7;transform:scale(.95)}}.table-search-box{background:var(--bg-surface-sunken);box-shadow:var(--nm-inset-sm);border-radius:var(--radius-sm);border:var(--border);align-items:center;gap:.65rem;padding:.6rem 1rem;display:flex}.table-search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;width:220px;font-size:.88rem}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{background:var(--bg-surface-sunken);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:var(--border);padding:1rem 1.25rem;font-size:.78rem;font-weight:800}.data-table td{border-bottom:1px solid #ffffff08;padding:1.15rem 1.25rem;font-size:.88rem}.data-table tr:hover td{background:#ffffff05}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.75rem;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--nm-flat);border:var(--border);transition:var(--transition);align-items:center;gap:1.25rem;padding:1.75rem;display:flex}.stat-card:hover{box-shadow:var(--nm-flat-lg);transform:translateY(-3px)}.stat-icon{border-radius:var(--radius-sm);background:var(--bg-surface-sunken);width:54px;height:54px;box-shadow:var(--nm-inset-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-icon.purple{color:var(--purple)}.stat-icon.red{color:var(--danger)}.stat-icon.yellow{color:var(--warning)}.stat-icon.green{color:var(--success)}.stat-icon.blue{color:var(--cyan)}.stat-content{flex:1;min-width:0}.stat-value{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:2.1rem;font-weight:800;line-height:1.1}.stat-label{color:var(--text-secondary);margin-top:.35rem;font-size:.88rem;font-weight:700}.stat-sub{color:var(--text-muted);margin-top:.25rem;font-size:.78rem}.grid-2{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}@media (width<=1024px){.grid-2,.grid-3{grid-template-columns:1fr}}.status-dot{width:10px;height:10px;box-shadow:var(--nm-flat-sm);border-radius:50%;display:inline-block}.status-dot.green{background:#10b981;box-shadow:0 0 10px #10b981}.status-dot.red{background:#ef4444;box-shadow:0 0 10px #ef4444}.status-dot.yellow{background:#f59e0b;box-shadow:0 0 10px #f59e0b}.csf-terminal-viewer,.log-viewer{border-radius:var(--radius-sm);height:520px;max-height:540px;padding:1.25rem;font-family:JetBrains Mono,monospace;font-size:.84rem;overflow-y:auto;color:#e2e8f0!important;background:#090b10!important;border:1px solid #ffffff14!important;box-shadow:inset 4px 4px 12px #040508,inset -4px -4px 12px #121620!important}.csf-log-row,.log-line{word-break:break-all;border-bottom:1px solid #ffffff0a;align-items:center;gap:.85rem;padding:.45rem .6rem;font-family:JetBrains Mono,monospace;font-size:.82rem;line-height:1.5;transition:background .15s;display:flex;color:#cbd5e1!important}.csf-log-row:hover,.log-line:hover{background:#ffffff0f}.csf-log-row .log-time{color:#64748b;flex-shrink:0;font-size:.78rem}.csf-log-row .log-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;flex-shrink:0;padding:.15rem .5rem;font-size:.68rem;font-weight:800}.csf-log-row .log-tag.block{color:#f87171;background:#ef444433;border:1px solid #ef444459}.csf-log-row .log-tag.auth_fail{color:#fb923c;background:#f9731633;border:1px solid #f9731659}.csf-log-row .log-tag.process{color:#c084fc;background:#a855f733;border:1px solid #a855f759}.csf-log-row .log-tag.scan{color:#38bdf8;background:#06b6d433;border:1px solid #06b6d459}.csf-log-row .log-tag.warning{color:#fde047;background:#eab30833;border:1px solid #eab30859}.csf-log-row .log-tag.info{color:#94a3b8;background:#94a3b826;border:1px solid #94a3b840}.csf-log-row .log-text{color:#cbd5e1;flex:1}.csf-log-row .log-ip-btn{color:var(--accent-light);cursor:pointer;white-space:nowrap;background:#6366f126;border:1px solid #6366f14d;border-radius:4px;flex-shrink:0;align-items:center;margin-left:auto;padding:.2rem .55rem;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;transition:all .15s;display:inline-flex}.csf-log-row .log-ip-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--accent-glow)}.log-line.ban{color:#f87171!important;background:#ef444426!important}.log-line.unban{color:#4ade80!important;background:#10b98126!important}.log-line.found{color:#fbbf24!important;background:#f59e0b26!important}.diagnostic-terminal{border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-all;max-height:440px;padding:1.25rem 1.5rem;font-family:JetBrains Mono,monospace;font-size:.86rem;line-height:1.6;overflow-y:auto;color:#38bdf8!important;background:#090b10!important;border:1px solid #ffffff14!important;box-shadow:inset 4px 4px 12px #040508,inset -4px -4px 12px #121620!important}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#000000b8;justify-content:center;align-items:center;padding:1.5rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content,.modal-box{background:var(--bg-surface-elevated);border:var(--border);box-shadow:var(--nm-flat-lg), 0 25px 50px #0009;border-radius:18px;flex-direction:column;width:100%;max-width:620px;animation:.25s cubic-bezier(.16,1,.3,1) modalPop;display:flex;overflow:hidden}@keyframes modalPop{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:var(--border-subtle);background:var(--bg-surface);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{color:var(--text-primary);font-size:1.1rem;font-weight:800}.modal-body{max-height:calc(85vh - 140px);padding:1.5rem;overflow-y:auto}.modal-footer{border-top:var(--border-subtle);background:var(--bg-surface-sunken);justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.icon-btn-ghost,.modal-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;transition:all .15s;display:inline-flex}.icon-btn-ghost:hover,.modal-close-btn:hover{color:var(--text-primary);background:#ffffff14}.csf-code-editor,textarea.config-editor{font-family:JetBrains Mono,monospace;color:#a5f3fc!important;background:#090b10!important;border:1px solid #ffffff14!important;box-shadow:inset 4px 4px 12px #040508,inset -4px -4px 12px #121620!important}.csf-editor-container{border-radius:var(--radius);background:#090b10;border:1px solid #ffffff1a;flex-direction:column;width:100%;display:flex;overflow:hidden;box-shadow:inset 4px 4px 14px #040508,inset -4px -4px 14px #121620,0 12px 35px #00000080}.csf-editor-topbar{background:#11141e;border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.4rem;display:flex}.csf-editor-dots{align-items:center;gap:.5rem;display:flex}.editor-dot{border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #0006}.editor-dot.red{background:#ff5f56}.editor-dot.yellow{background:#ffbd2e}.editor-dot.green{background:#27c93f}.csf-file-pills{flex-wrap:wrap;gap:.5rem;display:flex}.csf-file-pill{color:#94a3b8;cursor:pointer;transition:var(--transition);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;padding:.4rem .85rem;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600}.csf-file-pill:hover{color:#f1f5f9;background:#ffffff14}.csf-file-pill.active{color:#818cf8;background:#6366f133;border-color:#6366f180;font-weight:700;box-shadow:0 0 12px #6366f140}.csf-editor-body{background:#07090e;height:600px;display:flex;position:relative;overflow:hidden}.csf-editor-gutters{-webkit-user-select:none;user-select:none;text-align:right;color:#475569;white-space:pre;background:#0c0f17;border-right:1px solid #ffffff0f;width:64px;padding:1.25rem .65rem;font-family:JetBrains Mono,monospace;font-size:.84rem;line-height:1.65;overflow:hidden}.csf-editor-textarea{flex:1;width:100%;height:100%;color:#e2e8f0!important;resize:none!important;white-space:pre!important;tab-size:4!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:1.25rem 1.5rem!important;font-family:JetBrains Mono,monospace!important;font-size:.88rem!important;line-height:1.65!important;overflow:auto!important}.csf-editor-textarea:focus{box-shadow:none!important;outline:none!important}.csf-editor-statusbar{color:#64748b;background:#0f121b;border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.4rem;font-family:JetBrains Mono,monospace;font-size:.78rem;display:flex}.loading-center{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:4rem 1.5rem;display:flex}.empty-state{text-align:center;background:var(--bg-surface-sunken);border-radius:var(--radius);box-shadow:var(--nm-inset-sm);border:var(--border);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.skeleton{background:linear-gradient(90deg, var(--bg-surface-sunken) 0%, #ffffff0d 50%, var(--bg-surface-sunken) 100%);background-size:200% 100%;border-radius:8px;animation:1.8s cubic-bezier(.4,0,.6,1) infinite skeletonShimmer}[data-theme=light] .skeleton{background:linear-gradient(90deg,#e2e8f0 0%,#cbd5e1 50%,#e2e8f0 100%) 0 0/200% 100%}.skeleton-card{background:var(--bg-card);border:var(--border);border-radius:var(--radius);box-shadow:var(--nm-flat);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.skeleton-card-sunken{background:var(--bg-surface-sunken);border:var(--border);border-radius:var(--radius);box-shadow:var(--nm-inset-sm);padding:1.5rem}.skeleton-text{border-radius:6px;height:14px}.skeleton-title{border-radius:6px;height:24px}.skeleton-pill{border-radius:9999px;height:32px}.skeleton-circle{border-radius:50%}.skeleton-table-row{border-bottom:1px solid #ffffff08;align-items:center;gap:1.25rem;padding:.85rem 1.25rem;display:flex}[data-theme=light] .skeleton-table-row{border-bottom:1px solid #0000000a}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes loaderBounce{0%{transform:translateY(0)}to{transform:translateY(-16px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.sidebar{display:none}.main-content{margin-left:0}.top-bar{padding:0 1.25rem}.page-content{padding:1.25rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}}
