body {
    background: #f5f7fa;
}


.ip-textarea {
    font-family: monospace;
    font-size: 15px;
}


.summary-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}


.summary-label {
    color: #6b7280;
    font-size: 14px;
    margin-bottom: 8px;
}


.summary-number {
    font-size: 30px;
    font-weight: 700;
}


.clean-card {
    border-left: 5px solid #198754;
}


.listed-card {
    border-left: 5px solid #dc3545;
}


.error-card {
    border-left: 5px solid #ffc107;
}


.status-badge {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}


.status-clean {
    background: #d1e7dd;
    color: #0f5132;
}


.status-listed {
    background: #f8d7da;
    color: #842029;
}


.status-error {
    background: #fff3cd;
    color: #664d03;
}


.status-unavailable {
    background: #e2e3e5;
    color: #41464b;
}


.table th {
    white-space: nowrap;
    font-size: 13px;
}


.table td {
    font-size: 14px;
}


.filter-btn.active {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.15);
}
