.invoice-portal-wrap {
    max-width: 960px;
    margin: 20px auto;
    font-family: Arial, sans-serif;
}

.ip-section {
    background: #fff;
    padding: 12px;
    border: 1px solid #eee;
    margin-bottom: 14px;
    border-radius: 6px;
}

.ip-form input, .ip-form select {
    padding: 6px;
    margin: 4px 6px 8px 0;
}

.ip-item {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

.ip-item input {
    padding: 6px;
    min-width: 120px;
}

.ip-remove-row {
    background: #e74c3c;
    color: #fff;
    border: none;
    padding: 6px 10px;
    border-radius: 4px;
}

#ip-add-row {
    background: #2ecc71;
    color: #fff;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
}

.ip-success {
    background: #e6ffed;
    border: 1px solid #b7f0c5;
    padding: 8px;
    margin: 8px 0;
}

.ip-error {
    background: #ffecec;
    border: 1px solid #f5c6c6;
    padding: 8px;
    margin: 8px 0;
}

.ip-login {
    max-width: 400px;
    margin: 40px auto;
    border: 1px solid #eee;
    padding: 20px;
    border-radius: 6px;
}

.ip-login input {
    width: 100%;
    padding: 6px;
    margin: 4px 0 10px;
}
